Example EIP-3074 (account abstraction) invoker contract.
Transaction Invoker uses AUTH
and AUTHCALL
opcodes introduced in EIP-3074 to delegate control of the externally owned account (EOA) to itself (smart contract). This adds more functionality to EOAs, such as batching capabilities, allowing for gas sponsoring, expirations, scripting, and beyond.
Use cases are showcased in the tests.
- Network with EIP-3074
git clone https://github.com/ZeroEkkusu/transaction-invoker
cd transaction-invoker
yarn
-
Set RPC URL in
.env
cp .env.example .env
Hardhat accounts
0
and1
are included in.env
for your convinience. Do not send real funds to those accounts. -
Set chain ID in
hardhat.config.ts
Hardhat does not support EIP-3074 at the moment. All testing is done on a live network.
yarn hardhat test
To redeploy contracts, set REDEPLOY=true
.
This example was based on Maarten Zuidhoorn's EIP-3074 (Batch) Transaction Invoker.