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?
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 ownallowedRelayerAddresses
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?