ava-labs / teleporter

EVM cross-chain messaging protocol built on top of Avalanche Warp Messaging
Other
48 stars 23 forks source link

Implement strict ordering example app #42

Open minghinmatthewlam opened 1 year ago

minghinmatthewlam commented 1 year ago

Context and scope Teleporter by default does not enforce strict ordering, and messages can be delivered in any order. Some dapps may like the strict ordering functionality, and can be done so on chain, this ticket tackles one as an example.

Discussion and alternatives Likely on chain through the dapp's receiveTeleporterMessage or similar to enforce strict ordering. Alternative would be offchain where the dapp can specify its own allowedRelayerAddresses and the relayer can enforce ordering of delivering messages. This ticket is tackling an example of the former.

Open questions What happens if the receiving Teleporter receives a message out of order, does it simply reject, and require a retry later? What is the best UX to make it easier for the dapp?

vikinatora commented 10 months ago

Hey, I created a discussion with possible solutions to this issue - https://github.com/ava-labs/teleporter/discussions/195.