Omnichain Architecture

NOYA can bridge assets and harness yield opportunities on other chains securely.

NOYA uses the two contracts of "OmnichainManagerBaseChain" and "OmnichainManagerNormalChain" to handle omnichain positions. They allow NOYA to bridge assets to other chains securely and at the same time keep track of the TVL on other chains using Layer ZERO v2 infrastructure. They both are added as connectors into NOYA registry and that's why they can send/receive tokens to/from other connectors.

Flow of the bridge execution

In order to execute a bridge transaction we have to add destination chain information to the contract. This allows us to use the destination chain omnichain manager address in the bridge request. Then we have to add the bridge transactions in the contract and wait for 30 mins so the keeper network and watchers have time to check the sending transaction. They can reject the transaction during that time and once it’s been cleared, the keepers use the startBridgeTransaction to send the transaction.

Under the hood it’s using lifi for executing bridge transactions and then uses layer zero to communicate back to the base chain the TVL information.

Flow of TVL information

We need to know the total value of the positions on other chains. NOYA passes this information through layerzero to the base chain.

There is a sender and a receiver, senders are deployed on other chains than the base chain and are responsible for communicating the TVL to the base chain. They are also responsible for the message fee (the noya keeper network should provide these contracts with enough native token to perform).

Omnichain positions and vault deposits and withdrawals

When there is a withdrawal or deposit request in NOYA vault, it calculates the TVL based on the current positions that we have. But for some positions like omnichain positions it's impossible to get the current TVL, so what we do is to wait for a TVL update from this chain. Once we have got at least one update from each timed position (explained in Registry flows) the vault can proceed and calculate the value of the shares.

Last updated