LogoLogo
  • Introduction
  • The Aera Approach
  • How Aera V2 Works
  • Contact Us
  • Guides
    • 🏦Treasury
      • Using the Factory
      • Operating your Vault
        • Vault operation via Gnosis Safe
      • Managing the asset registry
      • Managing hooks
    • 🤖Vault Guardians
    • 💹Fee Recipient
    • 💻Developers
  • Concepts
    • Vault Assets
    • Objective Function
    • Vault Guardian
    • Vault Operation
  • Use Cases
    • For Treasuries
    • FAQ
  • Contracts
    • Security
    • AeraV2Factory
    • AeraVaultModulesFactory
    • AeraVaultV2
    • AeraVaultAssetRegistry
    • AeraVaultHooks
    • GitHub
  • V1 (Archive)
    • Aera Introduction
    • Guides
      • 🏦Treasuries
        • Operating the Vault
      • 💹Arbitrageurs
      • 🤖Vault Guardians
      • 💻Developers
    • Concepts
      • Vault Assets
      • Lifecycle Model
      • Objective Function
      • Withdrawal Validator
      • Aera Vault
        • Balancer Managed Pool
      • Vault Guardian
        • Weight Update
      • Balancer Weights
    • Contracts
      • Contracts Overview
      • Security
      • AeraVaultV1
      • PermissiveWithdrawalValidator
  • Website
  • UI
  • GitHub
  • Whitepaper (2022)
Powered by GitBook
On this page
  • Vault States
  • Vault Functions
  1. V1 (Archive)
  2. Concepts

Lifecycle Model

PreviousVault AssetsNextObjective Function

Last updated 1 year ago

Vault States

The vault goes through several main states in its operation:

  • Uninitialized – The vault is deployed but the underlying Balancer Managed Vault has not been funded yet. We distinguish the vault in this state because an unfunded Balancer fund needs to be funded with all assets (once it is live then, liquidity can be added per token)

  • Live – The vault has been funded with initial capital and is actively controlled by the Vault Guardian. We further distinguish the vault with trading enabled, which means that the underlying Balancer pool is accepting swap trades and not-trading which means that the underlying Balancer pool is not accepting trades

  • Finalizing – The notice period for finalization has been initiated. Final funds are held until finalizaiton. Note: initial deployments will have a negligible or 0 notice period

  • Finalized – The vault has returned all capital to the treasury owner and no further actions are available

Vault Functions

The above chart describes what functions are available during the vault's operation. The functions are as follows:

  • initialDeposit, needs to be called by the owner to provide initial funding for the Aera vault,

  • deposit, allows owner to make additional deposits at any time while preserving existing pool spot price. Should generally not be called if trading is enabled,

  • depositIfBalanceUnchanged, a deposit operation that checks if the underlying Balancer pool balance hasn’t changed in the current block as a form of simple MEV protection,

  • withdraw, request by the owner to return a given amount of each token back to the protocol treasury (owner) while preserving existing pool spot price. Should generally not be called if trading is enabled,

  • withdrawIfBalanceUnchanged, similar to depositIfBalanceUnchanged,

  • enableTradingRiskingArbitrage, enable trading with current spot prices between pool assets. Vulnerable to arbitrage if spot prices do not agree with current market prices,

  • enableTradingWithWeights, enable trading with a specific set of weights to control spot prices and limit arbitrage,

  • initiateFinalization, request by the owner or Guardian to initiate notice period for vault termination,

  • finalize, confirms vault finalization after notice period has expired,

  • setGuardian, allows owner to change Guardian,

  • sweep, allows owner to recover tokens sent in error,

  • claimRewards, claim underlying Balancer pool rewards,

  • disableTrading, disable trading in an emergency or prior to a deposit/withdraw action,

  • updateWeightsGradually, controls the target Balancer weight by specifying the target weights of tokens, start and end time of weight transition schedule,

  • cancelWeightUpdates, cancels active weight update,

  • setSwapFee, allows Guardian to change current swap fee,

  • claimGuardianFees, allows Guardian to claim pool fees if enabled and earned.

See Operating the Vault for further guidance on when to use each function as a vault owner.

State transition model for a single vault
Lifecycle model for a single vault