Skip to content

v2.3.0

Choose a tag to compare

@gummy789j gummy789j released this 21 Mar 06:17
· 22 commits to main since this release
09b697d

agent-wallet v2.3.0

Breaking Changes

  • Provider architecture rewriteWalletProviderFactory / createWalletProvider has been replaced by a new two-provider system:

    • ConfigWalletProvider — file-backed encrypted wallets from wallets_config.json
    • EnvWalletProvider — fallback to AGENT_WALLET_* environment variables
    • resolveWalletProvider() / resolveWallet() — new resolver that selects the right provider automatically
    • Removed: factory.ts/py, local.ts/py, static.ts/py, base.ts/py
  • Signer hierarchy restructured — Adapters split into clear responsibilities:

    • LocalSigner — base class holding private key + network delegation
    • LocalSecureSigner — decrypts from Keystore V3 via secretLoader
    • RawSecretSigner — resolves from plaintext private key or mnemonic
  • Config module extractedlocal/config.ts/py replaced by core/config.ts/py with WalletsTopology, WalletConfig types and loadConfig / saveConfig helpers

  • ~/.agent-wallet/ config format not backward-compatible — The wallet configuration files under ~/.agent-wallet/ are not compatible with previous versions. If upgrading from an older version, run agent-wallet reset to reset your wallet directory, then re-initialize with agent-wallet start.

New Features

  • Multi-wallet managementConfigWalletProvider supports multiple wallets with addWallet, removeWallet, setActive, listWallets
  • CLI double-check flowstart command now prompts for confirmation when wallets already exist, preventing accidental overwrites
  • CLI UX improvements — Better interactive flows, password retry with 3 attempts, wallet type/ID prompts with defaults
  • Secret loader — New loadLocalSecret / load_local_secret module for Keystore V3 decryption
  • Wallet builder — New createAdapter / create_adapter factory for constructing the correct signer from wallet config
  • PR audit workflow — Added audit-pr.yml GitHub Actions workflow

Fixes

  • Reset command bug — Fixed wallet reset not cleaning up properly
  • Import cycle — Resolved circular dependency between modules
  • Prettier config — Unified formatting: single quotes, no semicolons (TypeScript)