If this proposal passes, we will launch the contract to mainnet and award Jake Homanics a membership NFT. (He wrote these contracts and during the process his NFT was stolen)
—————
Overview
Rep Tokens are a way for you to track your contributions and involvement within the DAO entirely on-chain. It also provides a mechanism for token holders to redeem a limitless number of rewards.
Rep 2.0 Tokens are an ERC1155 smart contract with two tokens. One that is Semi-Transferable and another that is Non-Transferable. Soulbound Tokens (Token Type: 0) Non-Transferable Tokens which represent your long standing reputation with the DAO. These cannot be traded, bought, sold, transferred, burned, etc EXCEPT under VERY SPECIAL CIRCUMSTANCES. Redeemable Tokens (Token Type: 1) Semi-Transferable Tokens which represent your spendable balance that can be used on rewards, discounts, etc. These cannot be traded, bought, sold, transferred, or burned EXCEPT in the case of sending them to a designated Burner Wallet.
Roles
Summary Roles are an important concept of Rep 2.0. They provide a semi-centralized approach to the distribution, management, and handling of tokens. Certain actors (a singular person or multi-sig or ledger) will be granted these roles, usually with extreme consideration made beforehand. The smart contract implements OpenZeppelin’s Role-Based Access Control standard.
An Admin can pause smart contract interaction, grant/revoke other roles, and set max possible amount of tokens that can be minted within a single transaction. The likely actor(s) are a multi-sig/ledger explicitly with selected members of the DAO.
A Minter can mint pairs of tokens and can transfer them to an address which has been granted the Distributor Role. The likely actor(s) are a multi-sig/ledger explicitly with selected members of the DAO.
A Distributor can freely distribute pairs of tokens to any address. The likely actor(s) can be any trusted entity of the DAO. Can be expanded to include partnered organizations or other trusted entities.
A Burner can receive Redeemable Tokens from any address. The likely actor(s) can be any trusted entity of the DAO. Can be expanded to include partnered organizations or other trusted entities.
An Every-Day User is not actually a role and by default, every address is considered an everyday user. This means that an Every-day User can be distributed pairs of tokens and send redeemable tokens to qualified burners.
A Soulbound Transferer can send Soulbound tokens on behalf of an address to another address.
Example Scenario
Ryan has been hosting events for awhile and has decided that he wants to start rewarding the attendees for showing up to the event. Ryan reaches out to Jesse (Admin) and asks to become a Distributor. After deep contemplation, Jesse grants him this role. Ryan (Distributor) is hosting an event next week so he will need to get a set of tokens before the big day. He reaches out to Jacob (Minter) and asks to receive a set of tokens that he can hand out. After deep contemplation, Jacob mints and transfers a set of tokens to Ryan. The big day has arrived! Megan and Mason attend the event and scan a QR code and connect their Metamask Wallet on an iPad that Ryan has provided. Megan and Mason both immediately receive 20 Soulbound Tokens and 20 Redeemable Tokens (transferred from Ryan’s wallet). The next day Megan decides that she wants to buy a Consensys ticket at a discount through ATX DAO using her Redeemable Tokens. She interacts with the website and transfers 12 Redeemable Tokens to ATX DAO (Burner). The tokens she sent now lay dormant in the DAO’s burner wallet, impossible to be moved and she receives her Consensys Ticket at the discounted price. She now has 20 Soulbound Tokens and 8 Redeemable Tokens. Mason, unfortunately, uploaded his private key to GitHub and his wallet got cleaned out except for both his Soulbound and Redeemable Tokens (As these are impossible to transfer by standard means). He gets a new wallet, but does not want to continue to use his compromised wallet. He reaches out to Tyler (Soulbound Transferer) and asks him if he can transfer his Soulbound Tokens to the new wallet. After deep contemplation, Tyler allows this to happen and initiates the transaction to move the tokens to the new wallet. Mason is now set up with his new wallet and has received his tokens and can continue to show off his contributions to the DAO.
Live Examples (Testnet)
Mumbai PolygonScan Link
OpenSea Links: Every-Day User Wallet Distributor Wallet Burner Wallet
Current Actors: Admin - 0xf1dd420F930a5CbC5363D24dC1a8cdC560b786E6 Minter - 0xE4D3081957cc1126e97B71FbDc0044edb2A1387A Distributor - 0xCe1716BA43A9926A772c5d701bcF5DB4d5B717B6 Burner - 0x9486038cc385997a62FB8f1f8a22a55186e241E8 Soulbound Transferer - N/A