Last updated
Was this helpful?
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 Shares
redeem handlers withdraw tokens from Shares to fulfill redemptions
fee handler withdraws tokens from Shares to 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 Shares has a balance of 5 ETH
there are 3,000 USDC in fees owed
there are 3 ETH of redeem requests to fulfill
the shortfall in Shares is 3,000 USDC for fees and 2 ETH for redemptions
a 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.
Last updated
Was this helpful?
Was this helpful?