Technical Explainer
Ante V1 is currently deployed on the following chains:
Ethereum Mainnet
1
Base Mainnet
8453
The setup for deploying an Ante Vault is as follows:
The Ante V1 Vault is a multisig Safe deployed using Safe's Safe Proxy Factory (v1.4.1) and owned by the user.
The Vault deploys the Main Guardian contract (also a Safe multisig), which is owned by Guardian Proxies.
The Guardian Proxies are 1 of 1 Safe multisigs, each of which is owned by an address set by the Holder.
The following modules are employed to give the Ante Vault the functionalities that we're currently using:
Scope Guard https://github.com/gnosisguild/zodiac-guard-scope/blob/main/contracts/ScopeGuard.sol Scope Guard sets a permission structure on the Guardians of the Guardian Proxies and restricts the Guardian from removing themselves, or executing arbitrary transactions on the Main Guardian contract. They can only call the Guardian Role module with a specific transaction that initiates the handoff.
Delay https://github.com/gnosisguild/zodiac-modifier-delay/blob/main/contracts/Delay.sol Delay is a Safe module that adds a time delay for transactions that are sent. This is used in an Ante Vault for the grace period when a handoff has started, queueing the transaction for the contract. Once the delay is over, it enables the Recovery Role.
Roles https://github.com/gnosisguild/zodiac-modifier-roles/blob/main/packages/evm/contracts/Roles.sol
Recovery Role Set on the vault once the delay module has completed, this holds the permissions for token transfers from the Vault. The permissions are given to the Recipient and Guardian proxies. The transaction can only have funds sent to the Recipient by limiting it to a specific signature.
Guardian Manager Role Set on the Main Guardian contract, this allows for the Holder to be able to manage the Main Guardian owners and threshold for voting.
Guardian Role This allows only the Main Guardian contract to submit a transaction to the Delay module, but only after the Dead Man Switch (DMS) contract has allowed it to by passing the check-in period.
Dead Man's Switch (DMS) https://etherscan.io/address/0xb3EEC2e74F6bEF3Fd7362459eB39BD75C5aBCC52#code basescan.org/address/0x89E583A67B5FA1B39b8CE7E77654071c3a34cc48 (Coming soon: link to GitHub) The Dead Man Switch module, written by Ante Labs (
DMS.sol), handles the check-in intervals for the holder of the Vault. The holder has to execute a transaction every X timeframe in order to signal liveliness. If there is no check in before the check in interval passes, then the holder is considered unable to access their wallet, and Guardian is allowed to submit a transaction to start the handoff.
Last updated