Skip to main content

Axir Wallet
Modular Smart Contract Wallet

Welcome to the documentation for Axir Wallet, a modular smart contract wallet built on the Ethereum blockchain. This project leverages ERC 7579 to implement account abstraction ERC 4337, providing users with a flexible, secure, and user-friendly wallet solution.

What's Account Abstraction?

Introduction

Axir Wallet is designed to provide enhanced security and usability for Ethereum users by abstracting account management into smart contracts. This allows for features such as social recovery, multi-signature wallets, and modular extensions, making it a versatile choice for various use cases.

INFO

Take a reference of EIP 7579 in here.

Features

  • Modular Design: Easily extendable with additional modules to cater to specific needs.
  • Account Abstraction: Implements ERC 7579, allowing smart contract-based account management.
  • Enhanced Security: Supports multi-signature wallets and social recovery mechanisms.
  • User-Friendly: Designed with the end-user in mind, providing an intuitive interface and seamless experience.

Architecture Overview

ERC-7579 defines a modular architecture for smart accounts, where the core account contract can be extended with different types of modules. The standard defines four main types of modules:

Validators

Responsible for validating transactions and ensuring they are authorized. Validators play a crucial role in the security of smart accounts by preventing unauthorized access and ensuring the integrity of transactions.

Executors

Responsible for executing transactions on behalf of the smart account. Executors allow for complex transaction execution flows, such as batching multiple transactions together or implementing custom error handling logic.

Fallback Handlers

Handle any transactions that don't match the account's other functions. Fallback handlers provide a catch-all mechanism for dealing with unexpected transactions, ensuring the account can handle any incoming calls gracefully.

Hooks

Allow for custom logic to be executed before or after transactions. Hooks enable developers to add custom functionality to smart accounts without modifying the core contract code, such as logging, notifications, or integrating with external systems.

Each module type has a unique identifier (e.g., 1 for validators, 2 for executors) and must implement the IModule interface. This interface defines common functions for all modules, such as onInstall and onUninstall, which are called when a module is added or removed from the account.

Core Contract

The core contract is responsible for managing the user's account and facilitating interactions with various modules. It implements ERC 7579 to allow for flexible account abstraction.

Axir Wallet is licensed under the MIT License.


We hope you find Axir Wallet useful and look forward to your feedback and contributions!