AirAccount v0.17.2-beta.3
Pre-release
Pre-release
AirAccount v0.17.2-beta.3 — Code Quality + Observability
Status: Beta · Sepolia Testnet · No behavioral changes · Existing accounts unaffected
What's New
- VERSION constants on all contracts:
ACCOUNT_VERSION,FACTORY_VERSION,MODULE_VERSION = "0.17.2"— SDK can detect contract version on-chain - AlgTierLib (
src/utils/AlgTierLib.sol) — single source of truth for algId→tier mapping (PR #73) - Factory custom errors — 15+
require(string)replaced with typed custom errors inAAStarAirAccountFactoryV7andAAStarGlobalGuard - ForceExit
onInstallguard — rejects incompatible accounts (IncompatibleAccounterror) at install time - Assembly popcount —
_popcount()and_countBits()use parallel bit-manipulation (~5-8x fewer opcodes) - ABI updated: 64 functions (was 63) — new
ACCOUNT_VERSION()getter - 8 new test paths — 723 Forge unit tests
Architecture
Diamond-lite: AAStarAirAccountV7 (core account) + AirAccountExtension (agent/governance facet via fallback+delegatecall). ERC-4337 v0.7, ERC-7579 modular validators/executors/hooks, session keys, social recovery (3-of-3 guardians, 2-of-3 threshold, 72h timelock), BLS aggregation, EIP-7702 EOA upgrade.
Testing
- 723 Forge unit tests (pass/fail/skip: 723/0/0)
- E2E on Sepolia — all core flows verified on-chain
Deployed Addresses (Sepolia)
| Contract | Address |
|---|---|
| Factory | 0xfc6234bbd6283610659211347c6309904be86b0a |
| Implementation | 0xe33EeCF21AAC2B776b49A4dd52BA8b7e683dE9C3 |
| Extension | 0xB3c7312bA52dF306DE1cBa781B91f3AfA7e86F99 |
| ValidatorRouter | 0x3c2b06f50300912794f29de031b33dd37bb8d6c6 |
| BLSAlgorithm | 0xB82127182A855B82eED05e47536FcE568b626457 |
| SessionKeyValidator | 0x655ca2e9a2d1178f7fbcea1856560d1e0c657ebf |
| ForceExitModule | 0xdb396ca2dc279f9bcb95fa3d8275f77c9f0c8702 |
| AgentRegistry | 0x9e8f576cad8a8f949181fd10d9ad1c49a7b0bc17 |
| BLSAggregator | 0xBAc3f24946d0eb15189E1c01e38182e5B078Bbc1 |
| EntryPoint v0.7 | 0x0000000071727De22E5E9d8BAf0edAc6f37da032 |
ABI
abi/AAStarAirAccountV7.full.json (attached) — merged full ABI (64 functions) covering both AAStarAirAccountV7 and AirAccountExtension (diamond-lite). SDK consumers must use this file; the raw out/AAStarAirAccountV7.sol ABI omits the extension selectors. Synced to @aastar/core@0.18.x.
SDK Impact
abi/AAStarAirAccountV7.full.jsonmust be updated (64 functions, attached above)- Factory error handling: switch from string-match to selector-match
- Tracking issue: AAStarCommunity/aastar-sdk#48