Ava Protocol AVS Overview
Explains the roles and interaction among EigenLayer AVS and Operators
Overview
The purpose of Ava Protocol AVS is to enable one to setup automation that run based on a condition. The actual action to be performed can be a simple action such as transfering ETH or ERC20 token, or executing any contract method. These actions can be formed and chain together to provide condition logic. Besides on-chain transaction, we can also execute off-chain transaction such as making graphql call, or HTTP request.
Smart Wallet
Naturally, to run a transaction, we need a way to generate a signature for that transaction. For security reason, we obviously don't want to keep or manage your private key. Therefore, we leverage the ERC-4337 and ERC-6900 to allow us deploy an account abstraction wallet for you. From now on, we will call it smart wallet. Your automation will run from this wallet. Therefore, when you send fund or perform smart contract call, the msg.sender
is this smart wallet address.
You can transfer assets into this smart wallet to pay for fee and necessary assets that relevant to your transaction. Example, if you're running a swap, you want to keep enough amount of asset in this wallet.
Optionally, we can also withdrawal asset from your EOA too, eliminate the need of depositing assets ahead of time.
You're in full control of this smart wallet, as in you can transfer assets in and withdrawl assets out anytime.
Operators
Operators are stateless node, that perform the task of checking the triggering continously and notify Ava Protocol aggregators when a condition is met.
Aggregator gRPC
Aggregator are the stateful node, that stored your task data. To schedule a new task or perform any task management action on an existing task, an user will talk to this aggregator gRPC endpoint.
Head to api reference to know how to perform these action programmatically.
Currently, there is no UI to manage tasks yet. However, one can use our telegram bot to perform this task. We will soon release this bot to public for use.
Local developemt
Follow https://github.com/AvaProtocol/EigenLayer-AVS/blob/main/docs/development.md to spin up a locally node and run the aggregator locally.
Next steps
Head to api reference Learn how to schedule task with our aggregator gRPC.