Library written in solidity to quickly spin up stealth-addresses for secured transmissions between 2 parties.
StealthAddressV1 :: Generating Addresses using CREATE2 and enabling anonymity through verifying signatures [On-going
]
StealthAddressV2 :: Generating Addresses using a Shared Secret Key [ YET TO BE DONE
]
- Hide
frequent transactiveness
of A and B - Minimize
interaction/linkage
between A and B - Want a
trusted intermediary code
between two addresses to achieve common goal
TransferFundsERC20.sol
andTransferFundsERC721.sol
(QuiteBasicButAGoodStartStill)
(GoalOfThisContractCanBeAchievedByJustSendingTheAmountToAnAddressControlledByB)
Address A deploys a Contract C preloading it with hashOfAddressB
and messageToSign
Address A then sends some ERC20 assets to this Contract C
Address B accesses the public
variable messageToSign
Address B then generates an EthereumSignedMessage
and calls withdraw
function of Contract C.
This function recovers
address from the signature, hashes
it and checks it against the variable hashOfAddressB
If this returns true, it then transfers
the required amount.
- Write testssssssssssss
- Write the CREATE2 function with the focus on visibility and zero constructor args.
- Write the CREATE2 function with the focus on visibility and two constructor args.
- Write a modified Ownable.sol to provide admin access to address B, not to the msg.sender(address A)
- Write the bytecode loader function
- Write a template for withdrawing funds [TransferFunds.sol]
- Write a template for airdropping NFTs ( ownership to the other address )
- Write a template for airdropping NFTs ( shared ownership between A and B. Multisignature transfer )
- Implement StealthAddressV2 aka deploying/sending funds to address calculated through EllipticCurveOperations/SharedSecretKey
- Implement Transferring Funds ERC20 through StealthAddressV2
- Implement Transferring Funds ERC721 through StealthAddressV2