The problem Multi Sig Delegation Wallet solves
This is a multisig wallet with the added functionality of delegation where signers of a wallet can assign their voting rights to another signer.
- Multi-Sig: Create a new wallet with multiple signers(members) with equal voting rights at the start.
- Delegation: Signers can temporarily grant their voting rights to another signer, increasing the receivers voting weight.
- Wallet Balance: Anyone (signer or not) can add balance to the wallet by sending crypto to its address.
- Create Transaction: Any signer who has not delegated their rights can create a transaction (transfer tokens to some other wallet) but it will only execute once at least 51% of signers approve the transaction.
- Any ERC20 Token: This wallet supports all ERC20 tokens and not just the native ones.
- NFTs: This wallet can not only just store ERC20 tokens but ERC721 and ERC1155 as well.🤩
Challenges we ran into
Some of the challenges we ran into:
- Contract from Scratch: We have written the Smart Contracts from scratch and this took a lot of time.
- Integrating TheGraph and Covalent API: We are fetching on-chain data using both the graph and covalent APIs. Integrating them both in the backend to merge the data was a real-time consumer.
- Unstopabble Domains: We integrated the UD's Reverse Resolution in our dapp and realized that users have to update their records multiple times even though it has already been updated.
- EPNS: We faced issues while writing code for Channel Opt-in/Opt-out as the SDK by EPNS was not written in TS and the frontend framework was throwing a lot of errors.
Tech Stack
- Unstopabble Domains: Integrated Login with Unstopabble Domains, Domain Resolution & Reverse Resolution in our dapp.
- IPFS/Filecoin: Used NFT.Storage to store Signer's metadata, Wallet metadata & NFT metadata.
- Covalent: Used Covalent APIs to fetch token metadata from the blockchain.