Token Transfer Process
In the following sequence, Chain A refers to the origin chain, and Chain B refers to the destination chain.
BridgeOut Function:
To initiate a token transfer from Chain A to Chain B, an end user calls the bridgeOut function of the Chain-Agnostic Token (CAT) contract on Chain A and provides necessary gas to complete the cross-chain transfer on Chain B.
This function burns the tokens and forwards the call to the Message Router contract on Chain A.
Bridge Protocol Selection:
The Message Router contract on Chain A selects a message passing protocol based on a predefined criteria and priority order (such as Wormhole, LayerZero, Axelar, CCIP).
The choice is made dynamically, ensuring flexibility and resilience.
Message Construction:
The Message Router contract constructs a message containing crucial metadata, including the address of the burned token, the amount, and the user wallet initiating the request.
Message Relay:
The message is auto-relayed to the Message Router contract on Chain B.
Message Validation:
Upon arrival on Chain B, the message is decoded, parsed, and rigorously validated.
The validation process ensures the tokens were genuinely burned on Chain A and that the message remains untampered with.
Token Minting:
After successfully passing validation, the Message Router contract on Chain B forwards the message to bridgeIn function on the Chain-Agnostic Token contract.
The CAT contract uses the decoded data to mint an equivalent amount of tokens as those burned on the source chain.
Token Distribution:
The newly minted Chain-Agnostic Tokens are sent to the end user's wallet, as specified in the original message, completing the cross-chain token transfer.
Last updated