Assets
All tokens flow through the Shares contract, which acts as a safe for tokens that are collected or provisioned for use within the system:
deposit handlers send fulfilled token deposits to
Sharesredeem handlers withdraw tokens from
Sharesto fulfill redemptionsfee handler withdraws tokens from
Sharesto pay fees
To access tokens stored in Shares, admins must call Shares.withdrawAssetTo().
To provide tokens to Shares for Onyx use, tokens must be transferred from external wallets to Shares. e.g.:
after fulfilling a new batch of deposits
Shareshas a balance of 5 ETHthere are 3,000 USDC in fees owed
there are 3 ETH of redeem requests to fulfill
the shortfall in
Sharesis 3,000 USDC for fees and 2 ETH for redemptionsa manager would transfer these amounts from an asset management wallet to
Shares
This creates a hard division between asset management holdings (external to Onyx) and shares holdings, where stealing the former via Onyx is impossible.
Asset Flows Diagram
Last updated
Was this helpful?