Contracts overview
The Avocado platfrom consists of the smart contract wallet and several contracts around it.
Most notably, the AvocadoMultisig
contract implements the smart wallet (Multisig) logic itself. This logic contract is targeted by the Avocado
contract, which is the actually deployed proxy for the user (making the smart wallet logic contract upgradeable).
The most important core contracts around the smart wallet contract are:
AvoFactory
: deploys (and initializes) new wallets (Avocado
)AvoForwarder
: targeted by allow-listed broadcasters to execute signed actions (and deploy if necessary)AvoRegistry
: maintains allowed versions that can be used as wallet logic contracts and configures the Avocado up-charge forcastAuthorized()
calls
The AvoDepositManager
handles USDC gas deposits and the referral system.
Furthermore there are administrative contracts such as the AvoAdmin
which is a simple ProxyAdmin, AvoMultisigAdmin
(static multisig used as owner during deployment), and several helper contracts:
AvoSignersList
: track signers to wallet mappings on-chainAvoGasEstimationsHelper
DEPRECATED: Simulation on AvocadoMultisig itself can be used now. (Previously helped in estimating gas fees for arbitrary executed actions through the smart wallet)
For further details, see the specific contract docs in Core Contracts and Helper Contracts or look directly at the source code.
The diagram below shows the core functions for each Avocado contract and how it interacts with other contracts.