Skip to content

AirAccount v0.17.2-beta.3

Pre-release
Pre-release

Choose a tag to compare

@jhfnetboy jhfnetboy released this 12 Jun 04:54
· 83 commits to main since this release
df5df4d

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 in AAStarAirAccountFactoryV7 and AAStarGlobalGuard
  • ForceExit onInstall guard — rejects incompatible accounts (IncompatibleAccount error) 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.json must be updated (64 functions, attached above)
  • Factory error handling: switch from string-match to selector-match
  • Tracking issue: AAStarCommunity/aastar-sdk#48

PRs

  • #73: AlgTierLib extraction + 5 test paths
  • #85: VERSION constants + custom errors + assembly popcount + ForceExit hardening + 3 test paths