Teleport Flow
Teleport works by locking DAI in a bridge contract and then minting this amount of DAI on another network, by using an attestation set signed by Maker Oracles. The Maker Oracle system works as the signaling service for Teleport to free funds to the user once the locking has been confirmed on the source domain.
See a complete overview of the smart contract system here.
All teleportation actions are marked by a TeleportGUID which is generated by the SDK.
When a user burns DAI on the source domain, a TeleportGUID event is generated with the locking transaction. The Maker Oracles then pick this event up and sign the struct data, attesting that the lock has ocurred and that the user's intentions have been stated. Once the oracles publish this signature set, the SDK can retrieve these signatures and post them to the destination domain. This, in turn, mints DAI on the destination domain and sends them to the destination wallet.
The DAI minted by teleportation is actually minted against debt backed by the DAI burned in the initial initTeleport transaction. After the rollup challenge period is over, Teleport can withdraw the DAI from the bridge and use it to settle the incurred debt by the minting process.