Skip to content

v2.19.0

Choose a tag to compare

@lars0x lars0x released this 22 Jun 03:29
· 90 commits to main since this release

Features

  • Pendle PT/YT vertical (#2945, #2949, #2950, #2951, #2940): gateway PT/USD price provider (composes the on-chain PT rate with the underlying price), MarketSnapshot.pt_price over a new GetPtPrice gateway contract, and PT/LP USD valuation with buy-time cost basis.
  • Fluid connectors (#2802, #2765, #2806): fluid_dex_lp (Fluid SmartLending fungible DEX LP) and fluid_vault (NFT-CDP borrow/repay).
  • Accounting valuation hardening (#2904, #2906, #2907, #2908, #2910, #2911, #2913, #2914, #2857, #2830): typed MeasuredMoney (Empty≠Zero by construction) and PrimitiveMoneyLeg extraction across the ledger / payload / valuation boundaries, a canonical PortfolioValuer, and a shared lending Track-C seam (Compound V3 + Morpho Blue).
  • Backtesting v1 (VIB-5079): PnL engine + parameter sweep/optimize + Anvil-fork paper trading with value conservation enforced end-to-end, certified by a network-free Trust Matrix (21 PASS / 0 xfail). Remains gated behind ALMANAK_ENABLE_BACKTESTING (off by default); adds a platform runner image via the new almanak[platform-runner] extra.
  • Uniswap V4 native-ETH pools (#2795, #2790): native-ETH pool support and V4 wired into the synthetic-intents permission matrix.
  • Curve multi-coin LP (#2840): LP_OPEN now supports non-leading coins in multi-coin pools.
  • Dashboard quant surfaces (#2791, #2818, #2739, #2824): windowed/time-travel charts with server-side decimation, an incremental lifetime-drawdown fold, and a baseline dashboard backfilled across strategies.

Fixes

  • Accounting correctness across the Pendle PT vertical, perp NAV net-equity, leveraged-loop cost basis / drawdown, and native-ETH LP legs (Empty≠Zero).
  • Uniswap V4 / concentrated liquidity: all-ERC20 V4 swaps fixed (ABI struct-offset), sqrt_price_x96_to_tick off-by-one corrected, and unspent native msg.value swept on LP mint.
  • Teardown: fail-closed consolidation on failed eviction, universal fresh-state guard for lending unwind, on-chain LP discovery fallback when state is lost, and swap-back clamped to tracked quantity.
  • Backtesting conservation and fidelity: value-(de)minting defects eliminated, chain-aware gas defaults, subgraph pagination past ~1000 points, and per-trade realized PnL attribution.
  • Dashboard: HF/LTV gauges never fabricate placeholders, trade tape reflects on-chain landed status, and lifetime drawdown spans full history.
  • CLI: single validated config parse with typo-warnings, strat pnl scoped to the cwd strategy folder, and status commands honor canonical ALMANAK_GATEWAY_* env vars.

Breaking Changes

  • None.

Deprecations

  • None.

Full changelog: https://github.com/almanak-co/almanak-sdk-private/blob/v2.19.0/CHANGELOG.md · compare v2.18.0...v2.19.0