Deposit

Deposit process step-by-step:
- External user deposits supported assets into the Vault via enjoyoors.xyz. 
- The Vault emits corresponding event. 
- The Relayer reaches consensus. 
- The gigaCDP adds deposited assets to the queue. 
- The gigaCDP processes the queue in the next epoch and updates collateral amount in the deposited assets. 
- The gigaCDP aggregates CDPs to calculate actual and target circulating supply of gigaAssets. 
- The gigaCDP emits a corresponding event. 
- The PMS decides on gigaAssets liquidity rebalancing based on new portfolio allocation details. 
- The PMS emits a corresponding event. 
- The Relayer reaches consensus. 
- The Relayer signs and transmits a message containing rebalancing details to the gigaAsset Manager. 
- The gigaAsset Manager mints gigaAssets in accordance with new portfolio allocation details. 
- The gigaAsset Manager supplies liquidity to the Target Protocols through the Target Protocol Adapters. 
- The gigaAsset Manager supplies liquidity to the AMM Pools through the Intelligent Peg Adapters. 
@startuml
autonumber
actor "External user"
participant Vault
participant Relayer
participant "gigaCDP"
participant PMS
participant "gigaAsset Manager"
participant "Target Protocol"
participant "AMM Pool"
== Epoch 1 ==
"External user" -> Vault: Deposit assets
Vault -> Vault: Emit event
Relayer -> Vault: Listen to events
Relayer -> Relayer: Reach consensus
Relayer -> "gigaCDP": Broadcast signed transaction
"gigaCDP" -> "gigaCDP": Add the deposited assets to the queue
== Epoch 2 ==
"gigaCDP" -> "gigaCDP": Open / update CDP
"gigaCDP" -> "gigaCDP": Calculate actual and target level of gigaAssets
"gigaCDP" -> "gigaCDP": Emit event
PMS -> "gigaCDP": Get actual and target level of gigaAssets
PMS -> PMS: Recalculate portfolio weights
PMS -> PMS: Decide on gigaAssets liquidity rebalancing
PMS -> PMS: Emit event
Relayer -> PMS: Listen to events
Relayer -> Relayer: Reach consensus
Relayer -> "gigaAsset Manager": Broadcast signed transaction
"gigaAsset Manager" -> "gigaAsset Manager": Mint gigaAssets
"gigaAsset Manager" -> "Target Protocol": Supply liquidity
"gigaAsset Manager" -> "AMM Pool": Supply liquidity
@endumlLast updated