For Client : AutoPilot Client
For Bot : AutoPilot Bot
This project builds upon the concept of account abstraction, enabling users to seamlessly automate future actions for their wallets. Each account consists of two distinct actors: the owner, who is the user themselves, and a bot. The owner grants the bot permission to perform a specified range of actions, which are executed according to a predetermined schedule and interval. By automating these tasks, the bot efficiently carries out the owner's desired actions without necessitating the owner's intervention moving forward. The system is non-custodial, as funds remain solely in your wallet. Furthermore, it is permissionless, as the bot can only perform actions explicitly permitted by the user.
We use ERC4337 contracts and extends them. We override the validateSignature method to accommodate signatures from both the owner and the bot, ensuring the signer's identity is recorded. Later, during the execution process, we permit only the authorized actions for each party according to their respective schedules, while allowing the owner to perform all actions. Our client incorporates the Account Abstraction SDK, and we use StackUp as our bundler. The contracts have been deployed on both Görli and Polygon Mumbai networks.
In your project’s README, explain the UX optimization strategies you chose and link to relevant sections of code with your account abstraction implementation
UX:
Automating and scheduling transactions for your wallet significantly enhances the user experience by providing peace of mind after setting up a sequence. Users no longer need to be constantly aware of executing specific transactions at particular times, nor do they need to be actively engaged around the clock since the crypto market operates 24/7. Additionally, there is no need to carry a hardware wallet everywhere.
Please watch our demo video, which demonstrates how we have made the process of configuring, scheduling, and automating transactions seamless, even for users who may not be highly technical.
Implementation: https://github.com/abhishekvispute/autopilot/blob/main/contracts/src/AutoPilot.sol
Why Polygon:
The rationale behind deploying on Polygon is the reduced gas costs associated with highly active bots. We believe that for intricate bot strategies, affordable gas prices are crucial
- Add MNEMONIC in env
yarn deploy:network
npx hardhat verify --network "network" contractAddress "0x0576a174D229E3cFA37253523E645A78A0C91B57"
Factory Deployed Address:
Goerli: 0x7c7FBb99431050bbbe532712cD331105D461C5B7
Polygon Mumbai: 0xEd069d7fD0BAf7Ab8F9c43cE809B1E3a2B271F8d
Example Accounts:
Goerli: 0xe670d4245f776ef9a0f3278a57ad11da5f8cbe67
Polygon Mumbai: 0x26f15e27214e59bbc1269086644f76ea461cac35
Proxy:
Implementation
npx hardhat verify --network "network" contractAddress "0x0576a174D229E3cFA37253523E645A78A0C91B57" "FactoryAddress