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
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
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
Using the RPC of the chain that you would like to initate the update from, run Start to mint or StartTransfer to trasnfer
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.