The RWA Ecosystem is a collection of smart contracts mentioned in this README that encapsulate a collection of products built by the Tangible-REAL team to bring a yield generating and governance protocol to active investors. All contracts in this repo make up this ecosystem and interact with one another to bring the ecosystem to life.
The RWA ERC-20 token is meant to replace the TNGBL token from Polygon. However, the RWA token does include a few different mechanisms that didn't exist before. Primarily, it consists of a taxing system that taxes buys & sells. By default the fee is 5% and is not applied on pier-to-pier transfers. Any holders of TNGBL tokens can migrate their tokens to RWA via our migration page.
Holders of RWA can lock their tokens in exchange for a veRWA NFT. This NFT grants you voting rights and revenue share.
This is meant to replace the 3,3+ Passive Income NFTs. Holders will be eligible to receive a portion of revenue share from the various streams through which the protocol generates revenue. All revenue will be sent to the RevenueDistributor contract where it is then distributed to the necessary RevenueStream contract where it can be claimed by eligible stakeholders. They can either claim it from the RevenueStream contract one by one as the revenue’s raw token, or claim all revenue through the RevStreamSingleAsset contract as a single asset.
You can read more about veRWA NFTs. You can also migrate from the 3,3+ NFTs on our migration page as well.
This ecosystem takes advantage of LayerZero v1 to facilitate cross-chain messaging. The CrossChainMigrator contract will spark the migration by taking the current state of the migrated asset and transferring that state over to the new contracts on Real Chain.
Users who migrate their 3,3+ NFT will receive a veRWA NFT with an identical locked balance. Users who migrate TNGBL tokens will receive 1-to-1 minted RWA tokens.
The CrossChainMigrator will send a message to the LayerZero endpoint on Polygon to then be passed by their Relayer over to Real Chain where the message will be passed to the RealReceiver smart contract.
ILayerZeroReceiver
and facilitates the migration message from the source on Polygon to the migration method on the destination contract. This contract specifically handles the migration messages for 3,3+ NFTs and TNGBL tokens. Once this contract receives the message from the REAL LZ endpoint, it’ll facilitate the completion of migration and mint the migrator the necessary NFT(s) on veRWA or $RWA on RWAToken.This testing and development framework uses foundry, a smart contract development toolchain that manages your dependencies, compiles your project, runs tests, deploys, and lets you interact with the chain from the command-line and via Solidity scripts.
To build project using forge:
forge b
To run tests using forge:
forge test
Note: Ensure you have the proper environment variables set.