AeraVaultV1
API Documentation for `AeraVaultV1.sol` contract
AeraVaultV1
Risk-managed treasury vault.
Managed n-asset vault that supports withdrawals in line with a pre-defined validator contract.
Vault owner is the asset owner.
Methods
acceptOwnership
Accept ownership
bVault
Balancer Vault.
Returns
_0
contract IBVault
undefined
cancelOwnershipTransfer
Cancel current pending ownership transfer
cancelWeightUpdates
Cancel the active weight update schedule.
Keep calculated weights from the schedule at the time.
claimGuardianFees
Claim guardian fee.
This function shouldn't be called too frequently.
claimRewards
Claim Balancer rewards.
It calls claimDistributions() function of Balancer MerkleOrchard. Once this function is called, the tokens will be transferred to the Vault and it can be distributed via sweep function.
Parameters
claims
IBMerkleOrchard.Claim[]
An array of claims provided as a claim struct. See https://docs.balancer.fi/products/merkle-orchard/claiming-tokens#claiming-from-the-contract-directly.
tokens
contract IERC20[]
An array consisting of tokens to be claimed.
deposit
Deposit tokens into vault.
It calls updateWeights() function which cancels current active weights change schedule.
Parameters
tokenWithAmount
IProtocolAPI.TokenValue[]
Deposit tokens with amount.
depositIfBalanceUnchanged
Deposit tokens into vault.
It calls updateWeights() function which cancels current active weights change schedule. It reverts if balances were updated in the current block.
Parameters
tokenWithAmount
IProtocolAPI.TokenValue[]
Deposit token with amount.
description
Describes vault purpose and modelling assumptions for differentiating between vaults
string cannot be immutable bytecode but only set in constructor
Returns
_0
string
undefined
disableTrading
Disable swap.
enableTradingRiskingArbitrage
Enable swap with current weights.
enableTradingWithWeights
Enable swap with updating weights.
These are checked by Balancer in internal transactions: If weight length and token length match. If total sum of weights is one. If weight is greater than minimum.
Parameters
tokenWithWeight
IProtocolAPI.TokenValue[]
Tokens with new weights.
finalize
Destroy vault and returns all funds to treasury owner.
finalized
Indicates that the Vault has been finalized
Returns
_0
bool
undefined
getHoldings
Underlying token balances.
Returns
amounts
uint256[]
Token balances in underlying pool
getNormalizedWeights
Get token weights.
Returns
_0
uint256[]
Normalized weights of tokens on Balancer pool.
getSwapFee
Get swap fee.
Divide by 10**18 for decimal representation
Returns
_0
uint256
Swap fee from underlying Balancer pool.
getTokens
Get IERC20 Tokens Balancer Pool.
Returns
tokens
contract IERC20[]
IERC20 tokens of Balancer pool.
getTokensData
Get Token Data of Balancer Pool.
Returns
_0
contract IERC20[]
IERC20 tokens of Balancer pool.
_1
uint256[]
Balances of tokens of Balancer pool.
_2
uint256
Last updated Blocknumber.
holding
Balance of token with given index.
Parameters
index
uint256
undefined
Returns
_0
uint256
Token balance in underlying pool.
initialDeposit
Initialize Vault with first deposit.
Initial deposit must be performed before calling withdraw() or deposit() functions. It enables trading, so weights and balances should be in line with market spot prices, otherwise there is a significant risk of arbitrage. This is checked by Balancer in internal transactions: If token amount is not zero when join pool.
Parameters
tokenWithAmount
IProtocolAPI.TokenValue[]
Deposit tokens with amount.
initialized
Indicates that the Vault has been initialized
Returns
_0
bool
undefined
initiateFinalization
Initiate vault destruction and return all funds to treasury owner.
isSwapEnabled
Check if vault trading is enabled.
Returns
_0
bool
If public swap is turned on, returns true, otherwise false.
lastFeeCheckpoint
Last timestamp where guardian fee index was locked.
Returns
_0
uint256
undefined
lastSwapFeeCheckpoint
Last timestamp where swap fee was updated.
Returns
_0
uint256
undefined
managementFee
Management fee earned proportion per second.
10**18 is 100%
Returns
_0
uint256
undefined
guardian
Controls vault parameters.
Returns
_0
address
undefined
guardianFee
Fee earned amount by current guardian and previous guardians.
Parameters
_0
address
undefined
_1
uint256
undefined
Returns
_0
uint256
undefined
guardiansFeeTotal
Total guardian fee earned amount
Parameters
_0
uint256
undefined
Returns
_0
uint256
undefined
merkleOrchard
Balancer Merkle Orchard.
Returns
_0
contract IBMerkleOrchard
undefined
noticePeriod
Notice period for vault termination (in seconds).
Returns
_0
uint256
undefined
noticeTimeoutAt
Timestamp when notice elapses or 0 if not yet set
Returns
_0
uint256
undefined
owner
Returns the address of the current owner.
Returns
_0
address
undefined
pendingOwner
Pending account to accept ownership of vault.
Returns
_0
address
undefined
pool
Balancer Managed Pool.
Returns
_0
contract IBManagedPool
undefined
poolController
Balancer Managed Pool Controller.
Returns
_0
contract IBManagedPoolController
undefined
poolId
Pool ID of Balancer pool on Vault.
Returns
_0
bytes32
undefined
renounceOwnership
Disable ownership renounceable
setGuardian
Change guardian.
Parameters
newGuardian
address
undefined
setSwapFee
Change swap fee.
These are checked by Balancer in internal transactions: If new swap fee is less than maximum. If new swap fee is greater than minimum.
Parameters
newSwapFee
uint256
undefined
sweep
Withdraw any tokens accidentally sent to vault.
Parameters
token
address
undefined
amount
uint256
undefined
transferOwnership
Offer ownership to another address
It disables immediate transfer of ownership
Parameters
newOwner
address
undefined
updateWeightsGradually
Initiate weight move to target in given update window.
These are checked by Balancer in internal transactions: If target weight length and token length match. If total sum of target weights is one. If target weight is greater than minimum.
Parameters
tokenWithWeight
IProtocolAPI.TokenValue[]
Tokens with target weights.
startTime
uint256
Timestamp at which weight movement should start.
endTime
uint256
Timestamp at which the weights should reach target values.
validator
Verifies withdraw limits.
Returns
_0
contract IWithdrawalValidator
undefined
withdraw
Withdraw tokens up to requested amounts.
It calls updateWeights() function which cancels current active weights change schedule.
Parameters
tokenWithAmount
IProtocolAPI.TokenValue[]
Requested tokens with amount.
withdrawIfBalanceUnchanged
Withdraw tokens up to requested amounts.
It calls updateWeights() function which cancels current active weights change schedule. It reverts if balances were updated in the current block.
Parameters
tokenWithAmount
IProtocolAPI.TokenValue[]
Requested tokens with amount.
Events
CancelWeightUpdates
Emitted when cancelWeightUpdates is called.
Parameters
weights
uint256[]
Current weights of tokens.
Created
Emitted when the vault is created.
Parameters
factory indexed
address
Balancer Managed Pool factory address.
name
string
Name of Pool Token.
symbol
string
Symbol of Pool Token.
tokens
contract IERC20[]
Token addresses.
weights
uint256[]
Token weights.
swapFeePercentage
uint256
Pool swap fee.
guardian indexed
address
Vault guardian address.
validator indexed
address
Withdrawal validator contract address.
noticePeriod
uint256
Notice period (in seconds).
managementFee
uint256
Management fee earned proportion per second.
merkleOrchard
address
Merkle Orchard address.
description
string
Vault description.
Deposit
Emitted when tokens are deposited.
Parameters
requestedAmounts
uint256[]
Requested amounts to deposit.
amounts
uint256[]
Deposited amounts.
weights
uint256[]
Token weights following deposit.
DistributeGuardianFees
Emitted when management fees are withdrawn.
Parameters
guardian indexed
address
Guardian address.
amounts
uint256[]
Withdrawn amounts.
EnabledTradingWithWeights
Emitted when enableTradingWithWeights is called.
Parameters
time
uint256
timestamp of updates.
weights
uint256[]
Target weights of tokens.
FinalizationInitiated
Emitted when initiateFinalization is called.
Parameters
noticeTimeoutAt
uint256
Timestamp for notice timeout.
Finalized
Emitted when vault is finalized.
Parameters
caller indexed
address
Address of finalizer.
amounts
uint256[]
Returned token amounts.
GuardianChanged
Emitted when guardian is changed.
Parameters
previousGuardianindexed
address
Previous guardian address.
guardian indexed
address
New guardian address.
OwnershipTransferCanceled
Emitted when cancelOwnershipTransfer is called.
Parameters
currentOwner indexed
address
Address of current owner.
canceledOwner indexed
address
Address of canceled owner.
OwnershipTransferOffered
Emitted when transferOwnership is called.
Parameters
currentOwner indexed
address
Address of current owner.
pendingOwner indexed
address
Address of pending owner.
OwnershipTransferred
Parameters
previousOwner indexed
address
undefined
newOwner indexed
address
undefined
SetSwapEnabled
Emitted when swap is enabled/disabled.
Parameters
swapEnabled
bool
New state of swap.
SetSwapFee
Emitted when swap fee is updated.
Parameters
swapFee
uint256
New swap fee.
UpdateWeightsGradually
Emitted when updateWeightsGradually is called.
Parameters
startTime
uint256
Start timestamp of updates.
endTime
uint256
End timestamp of updates.
weights
uint256[]
Target weights of tokens.
Withdraw
Emitted when tokens are withdrawn.
Parameters
requestedAmounts
uint256[]
Requested amounts to withdraw.
amounts
uint256[]
Withdrawn amounts.
allowances
uint256[]
Token withdrawal allowances.
weights
uint256[]
Token weights following withdrawal.
Errors
Aera__AmountExceedAvailable
Parameters
token
address
undefined
amount
uint256
undefined
available
uint256
undefined
Aera__AmountIsBelowMin
Parameters
actual
uint256
undefined
min
uint256
undefined
Aera__BalanceChangedInCurrentBlock
Aera__CallerIsNotGuardian
Aera__CallerIsNotOwnerOrGuardian
Aera__CannotSetSwapFeeBeforeCooldown
Aera__CannotSweepPoolToken
Aera__DescriptionIsEmpty
Aera__DifferentTokensInPosition
Parameters
actual
address
undefined
sortedToken
address
undefined
index
uint256
undefined
Aera__FinalizationNotInitiated
Aera__ManagementFeeIsAboveMax
Parameters
actual
uint256
undefined
max
uint256
undefined
Aera__GuardianIsOwner
Parameters
newGuardian
address
undefined
Aera__GuardianIsZeroAddress
Aera__NoAvailableFeeForCaller
Parameters
caller
address
undefined
Aera__NoPendingOwnershipTransfer
Aera__NotPendingOwner
Aera__NoticePeriodIsAboveMax
Parameters
actual
uint256
undefined
max
uint256
undefined
Aera__NoticeTimeoutNotElapsed
Parameters
noticeTimeoutAt
uint256
undefined
Aera__OwnerIsZeroAddress
Aera__PoolSwapIsAlreadyEnabled
Aera__SwapFeePercentageChangeIsAboveMax
Parameters
actual
uint256
undefined
max
uint256
undefined
Aera__ValidatorIsNotMatched
Parameters
numTokens
uint256
undefined
numAllowances
uint256
undefined
Aera__ValidatorIsNotValid
Parameters
validator
address
undefined
Aera__ValueLengthIsNotSame
ERRORS ///
Parameters
numTokens
uint256
undefined
numValues
uint256
undefined
Aera__VaultIsAlreadyFinalized
Aera__VaultIsAlreadyInitialized
Aera__VaultIsFinalizing
Aera__VaultIsNotRenounceable
Aera__VaultNotInitialized
Aera__WeightChangeDurationIsBelowMin
Parameters
actual
uint256
undefined
min
uint256
undefined
Aera__WeightChangeEndBeforeStart
Aera__WeightChangeEndTimeIsAboveMax
Parameters
actual
uint256
undefined
max
uint256
undefined
Aera__WeightChangeRatioIsAboveMax
Parameters
token
address
undefined
actual
uint256
undefined
max
uint256
undefined
Aera__WeightChangeStartTimeIsAboveMax
Parameters
actual
uint256
undefined
max
uint256
undefined
Aera__WeightIsAboveMax
Parameters
actual
uint256
undefined
max
uint256
undefined
Aera__WeightIsBelowMin
Parameters
actual
uint256
undefined
min
uint256
undefined
Last updated