Vault operation via Gnosis Safe

Use this when the Owner of the Vault is a Gnosis Safe

This guide is specifically for Vaults where the owner of the vault is a Gnosis Safe. All other owners i.e. Metamask wallets, hardware wallets, or governance, will look very similar to this guide but will have differences in composing the transactions to execute.

Overview

There are 4 main actions you can take now that your Aera vault is live.

  • Withdrawal

  • Pause the vault

  • Deposit more funds

  • Finalization

Almost all steps below will rely on you constructing transactions from your Gnosis Safe, and then submitting a tx batch from your gnosis safe to the Aera vault.

Full documentation for the Aera protocol can be found at docs.aera.finance

For all the below actions use the transaction builder in Gnosis Safe.

First in Gnosis Safe, click this link:

Then use the transaction builder given the guidance in each section below:

The high-level flow will be:

  1. Fetch the address of your vault

  2. Construct the transaction from the Gnosis Safe that is the owner of the Aera vault using your vault address and the Transaction builder based on the action you want to take

    1. Repeat the above step till you have added all relevant contract methods for the action you are taking

  3. Click Create Batch in Transaction builder

  4. Click Simulate to validate that everything works as intended

  5. Send Batch then coordinate signers

Withdrawal

This will allow you to withdraw funds from the vault and allow the vault to keep operating.

Steps

  1. Add pause to the transaction batch

    1. This is not strictly required but adds safety in the case that you wish to change the vault objectives

  2. Figure out addresses and max amounts by querying holdings in the Read Contract on Etherscan (example holdings call, please do this on your own vault)

    • This will give you a tuple with the max amount of each token you can withdraw. It will look similar to this:

    Note that the withdrawal amount must be less than the full holdings of the vault

  3. Add withdraw to the transaction batch using the tuple from above but editing the values to be the amounts you wish to withdraw.

    • Note that the amounts are all decimal based and you need to add the amounts with the correct amount of decimals for each asset. As an example wstETH on mainnet has 18 decimals, so an amount in the tuple of 43757964133048721408 is actually 43.757... wstETH, USDC on mainnet has only 6 decimals. Please ensure you input the correct amount for a given assets decimals

    • You will need to put each element in quotes and delimit inner tuples with commas, as an example building on the above screenshot:

Pause the vault

This action prevents trading from occurring in the vault. This has the following effects:

  1. Guardian will no longer be able to send operations on the vault for execution, vault will now have the exact token amount as per when the vault was paused

Pausing the vault is used as part of the withdraw flow, and also can be used in emergency scenarios (i.e. a USDC depeg scenario).

Steps

  1. Call and execute pause in the transaction builder

Deposit more funds

This allows you to increase your allocation to the vault. Please reach out to your Guardian if you need assistance.

Please do not directly send funds to the vault and instead use the instructions here to deposit more funds into the vault

Please reach out to your guardian to make sure they are aware of the incoming deposit and can adjust strategies as necessary to accommodate

Steps

  1. Call and execute deposit on the vault with the right amounts tuple

    1. This is very similar to setting up the withdrawal tuple. In particular you will need to structure a tuple like the withdrawal tuple: [["token_address1", "decimal_amount1"], ["token_address2", "decimal_amount2"]...]

    2. The assets and amounts you choose must be available in the Owner Gnosis Safe that this transaction will be executed from

    3. Only assets already in the Asset registry can be allowed into the vault (see Managing the asset registry )

Finalization

This will permanently shut down the vault and fully return funds back to the Owner multisig.

🔌 Note that doing this will terminate the vault, subsequent deposits will need another vault to be spun up. If you wish to keep using this vault see the steps for Withdrawal.

Steps

  1. Call and execute finalize by selecting it from the Contract Method Selector

Last updated