v1.3.0 β Bank Heist Vault V2
Bank Heist has been rebuilt around an ETH performance bond and a competitive, scalable leaderboard. V2 is deployed paused on Abstract mainnet while the legacy season finishes; this release publishes the exact source tree used for that deployment.
π¦ Bank Heist Vault V2
- ETH performance bond β entering costs the exact configured ETH fee. The launch configuration uses 0.0005 ETH.
- Minimum qualified payout β every qualified dealer can claim at least the full entry fee. Cancelled, below-minimum, zero-qualifier, and abandoned seasons refund entries.
- Competitive cumulative rewards β qualified dealers share a score-weighted base pool, while stronger ranks also stack contender, elite, and podium rewards.
- Launch allocation β podium 8% / 4.5% / 2.5%, top 5% elite pool 20%, top 20% contender pool 25%, and all-qualified base pool 40%.
- Small-season protection β a percentile pool requires at least four recipients. If it does not activate, its allocation rolls into the all-qualified base pool.
- Deterministic final rankings β higher frozen score wins; ties use reputation snapshotted during finalization, then lower dealer token ID.
- Scalable settlement β score freezing and heap-based ranking are permissionless and paginated for up to 10,000 entrants.
- Explicit solvency accounting β live entries, refunds, and settled claims remain reserved. Gross and available vault balances are exposed separately.
- Activity starts at entry β only qualifying activity performed after a dealer enters the season contributes.
π¦ Multicall v1.3
DealersMulticall now exposes the V2 season, entry, score, rank, qualification, reward, reserve, and vault data needed by the app and indexer.
π Abstract mainnet
- Bank Heist V2: 0x987779Fd28E24D9cBeB7c22Eb1AFE1B7771ED5e1
- Multicall v1.3: 0x01C186418FE87F53E1A95dE49CCf13D501868669
- PaymentHandler.bankVault remains unchanged by design.
- V2 remains paused until the legacy season is settled, its claim reserves are preserved, only genuinely available ETH is migrated, and the app/API bundle is switched.
β Validation
- Full Foundry suite: 665 passing, 0 failing
- Native zkSync build: passed
- Bank Heist V2 mainnet source: verified
- Mainnet V2 deployment: paused and authorized on Core
- Multicall V2 references: verified on-chain
Deployment note
The merged GitHub CI run stopped at repository-wide forge fmt --check before build/tests because the installed formatter expects broad formatting changes, including files predating this release. The tag intentionally preserves the exact deployed and locally validated source tree instead of creating a post-deployment formatter-only source mismatch.
Full changelog: v1.2.0...v1.3.0