/Mirror721

Primary LanguageSolidityMIT LicenseMIT

Mirror721

Mirror721 is a token standard derived from ERC721 that uses Wormhole as a messaging layer to reflect state across EVM chains. Updates to state such as mints and transfer brodcast messages to the Wormhole network that can be replayed across chains. No one chain has authority over others and updates can be initiated from any chain in the loop. For more details please see the Presentation

Setup

To run the scripts provided you will need to install Foundry and set up am .env file with a private key and derived public key

Deployment

Mirror721 utilizes CREATE3Factory to deploy contracts at the same address across chains. Once Factories are deployed on relevant chains you can retrieve the unique token contract bytecodes with a dry run of Implementation and then deploy that bytecode using CREATE3

Initiate Update

Using the RPC of the chain that you would like to initate the update from, run Start to mint or StartTransfer to trasnfer

Reflect Update

After initating an update you will need to retrive the signed VAA from Wormhole using VAA and then pass that VAA to the next contract using either Validate or ValidateTransfer as relevant.