Symbiosis Core Smart Contracts
The Symbiosis smart contracts overview.
Symbiosis core smart contracts implement on-chain logic of cross-chain operations (cross-chain swaps, cross-chain zaps, interchain communicating, bridging). The smart contracts are deployed and tuned by Symbiosis administrators while adding a blockchain to the Symbiosis protocol.
Symbiosis protocol V1 has an identical set of smart contracts on every supported blockchain. Symbiosis protocol V2 has two sets of smart contracts: one for an ordinal (non-servicing chain), and another for the servicing chain (S-chain).
Scheme 1. Smart contracts of Symbiosis protocol V2.
All smart contracts shown in Scheme 1, except MulticallRouter and Octopool, were inherited from Symbiosis protocol V1 without modifications. Let's see what every contract does:
- 1.The MetaRauterGateway contract secures interactions of the MetaRouter contract with users’ ERC20 tokens. The use of users’ ERC20 tokens should be approved only for this contract.
- 2.The MetaRouter contract manages calls to different contracts on one blockchain within one cross-chain operation.
- 3.The Portal contract locks and unlocks users' stablecoins during cross-chain operations.
- 4.The BridgeV2 contract issues events (Oracle requests) when called by Portal, Synthesis, and MetaRouter contracts. Every Oracle request contains the complete information needed to complete the cross-chain operation that triggered this Oracle request.
- 5.Symbiosis Octopool is a Symbiosis AMM with multiple stablecoins. The AMM contains one sToken type (a representation of stablecoin from another blockchain) for every supported blockchain and one stablecoin type existed on S-chain.
- 6.The MulticallRouter contract manages calls to different contracts on S-chain within one cross-chain operation, when S-chain isn't the source or destination blockchain of the cross-chain operation.