Skip to content

v2.22.0

Latest

Choose a tag to compare

@lars0x lars0x released this 22 Jul 00:08

Breaking Changes

  • aave_v3 on plasma no longer passes the runtime chain gate
    (config-level). The chain was never proven and is no longer advertised; a
    config pairing aave_v3 with plasma now fails at boot with a
    ConfigurationError instead of failing on-chain later. Re-enabling requires
    a manifest + proof run (see the VIB-5916 pattern).

Features

  • Aave V3 on Linea — the aave_v3 connector declares linea, backed by
    four-layer intent tests on a Linea fork, Safe permission regression,
    managed-Anvil + separate-signal teardown E2E, and a chain-confirmed mainnet
    round trip. Linea gains the canonical Safe v1.4.1 + Zodiac Roles stack,
    enabling Safe-wallet execution framework-wide. Plus
    lifecycle_stop_after="borrowed" on the chain-generic aave_v3_lending
    strategy. (#3338)
  • Robinhood Chain (id 4663) — chain descriptor, token layer, managed-Anvil
    funding, and the full Safe/Zodiac stack (#3234); Uniswap V3 + Morpho Blue
    on Robinhood
    with config.robinhood.json for the uniswap_rsi,
    uniswap_lp, and morpho_looping demos (#3238).
  • Backtesting engine re-cut (ALM-2943) — typed money/identity primitives,
    operational gas tank, single-owner sizing resolution with typed rejections,
    per-intent capability routing, data-lane collapse, IL tick-plane on the
    shared concentrated-liquidity kernel, pool-pinned candles, connector-declared
    APY tables, cost-exact swap recording. (#3314, #3318–#3322, #3325)
  • Backtests serve the decision-input surface from engine-owned state
    lending health, LP value, pool price, vol, slippage, calculators (#3346);
    full indicator set, engine-modeled gas, real 24h price_data, hollow-run
    self-reporting (#3303); market.ohlcv from the run price series (#3312);
    measured volume/liquidity ladder via gateway pool history (#3283).
  • Capital-flow accounting (VIB-5866) — deposits/withdrawals read from
    ERC-20 Transfer provenance and populated on PortfolioMetrics, so an
    operator wiring $500 into the wallet stops showing up as $500 of profit.
    (#3334, #3335, #3337)
  • Teardown measured-lane taxonomy (VIB-5865) — the swap-back clamp's
    visibility is an explicit WalletDeltaLane taxonomy: blind primitives fail
    closed and visible, the LP family is measured via event-replay, and
    transfer/bridge/prediction verbs are pinned UNMEASURED with regression
    guards. (#3349, #3350, #3351)
  • Vault-safe teardown (VIB-5667) — teardown transitions a Lagoon ERC-7540
    vault Open → Closing → Closed so all depositors, including deposit-only
    users, can synchronously redeem their capital. (#3226)
  • Lending post-close chain verification for euler_v2 / silo_v2 / benqi +
    BENQI withdraw_all (#3336); resume-terminal guard +
    is_lifecycle_complete hook so a relaunch with fresh capital never silently
    no-ops (#3324); strategy-configurable token-consolidation floor for
    small-capital teardowns (#3297).

Changed

  • Aave V3 support claims are derived, not assertedFLASH_LOAN removed
    from aave_v3 strategy intents, the hand-typed support-matrix override
    deleted, the unproven sonic claim dropped. (#3338)
  • 0G local development documented — dRPC archive-RPC env vars in
    .env.example and docs/environment-variables.md. (#3332)

Fixes

  • Safe-wallet Across bridges no longer revert — the connector's Zodiac
    Roles manifest was empty; SpokePool depositV3 is now declared per chain
    via static_permissions. (#3344)
  • The config network key is no longer decorativestrat run /
    teardown execute honour config.json's "network"; a bare
    almanak strat run -c config-anvil.json no longer silently boots mainnet.
    Precedence: --network > --anvil-port > config > mainnet. A config file
    can also no longer disarm gateway authentication. (#3341)
  • CLI: strat run flag drift fixed — --debug, --list,
    --dashboard-mode, --simulate-tx restored via one shared decorator.
    (#3305)
  • Valuation/accounting: true V3 concentrated-liquidity IL math (#3306);
    N-coin LP accounting (#3329); wallet PnL anchor token-universe symmetry
    (#3328); lifetime PnL suppressed when capital flows unmeasured (#3348);
    borrowed-and-held inventory priced (#3323); perp payloads carry intent-known
    is_long + size and write position_events (#3357).
  • Teardown: consolidation swap-back through the strategy's own DEX
    (#3330); Benqi TD-08/TD-15 reconciliation (#3345); phase-aware TD-08
    severity (#3343).
  • Curve: CryptoSwap gas floors raised — rebalance-gate liquidity ops no
    longer OOG. (#3347)
  • Backtesting: phantom lending/vault fees, perp collateral-all fill,
    symbol canonicalization, candle jitter (#3333); fee-exact pool resolution
    (#3308); hourly granularity kept on >90d ranges (#3311); funding-identity
    credits (#3310); gas never gates a fill (#3309); data-lane hardening
    (#3271).

Security

  • Scrubbed a sample Alchemy API key and PII from public-synced paths. (#3307)

Full details in CHANGELOG.md.