Identity preserved multisig wallet management & airdrops for GitHub orgs. Empower moderators & contributors with Sismo Connect & Safe. Decentralized rewards, privacy-first! 🥭🔐 #DeFi #blockchain
Mango is a decentralized, privacy-focused platform designed to streamline financial management for GitHub organizations, enabling moderators to securely manage funds and distribute rewards & contributors to claim their reward. Built on Goerli for now, Mango leverages Sismo Connect for anonymous authentication and Safe for account abstraction and multisig wallet functionality.
Moderators of the repo/organization can manage a Multisig Account Abstraction (AA) Wallet, initiating and approving internal transfers within the organization. Sismo Connect ensures their identities remain private while facilitating secure wallet interactions. The multisig feature provides an additional layer of security, requiring multiple approvals for transactions to be executed.
In order to gate we use Sismo Verifier and use it in addOwner function. addOwner function is basically become a authorized contract for changing proxy and call addOwnerWithThreshold function in OwnerManager.sol. Then verified(thanks to Sismo) user becomes a multisignature signer. Also threshold can be changed optionally.
Next Steps
Mango also introduces a seamless airdrop system for rewarding contributors. Moderators can create token airdrops and Contributors can then claim their rewards using Sismo Connect, ensuring their privacy is maintained throughout the process. The platform integrates with an ERC-20 token smart contract for efficient token distribution.
By combining privacy, security, and convenience, Mango aims to revolutionize financial management and rewards distribution in the GitHub ecosystem, fostering a more collaborative and engaging environment for open-source projects.
My stack is Next.js and Solidity. I used Safe Protocol Kit to create Multisignature Wallet, Safe Modules to add functionality to created Safe and used Sismo Connect for onchain zk Github verification. Basically I have Safe Account which is main account, SismoConnect Safe Module which benefits from Sismo onchain verifier to gate access to the account and add external functionality. Also I used Sismo Connect React package in order to provide front end functionality to use Sismo Connect. My hacky thing is adding addOwner functionality to the Sismo Connect Safe Module. It provides the main functionality of the app. It provides zk verification for becoming Multisig Wallet Signer while procuring privacy.