─── scenario: single-block-cascade ──────────────────────────────────── HEADLINE ✓: Same accounts as `cascade`, but the entire setup + crash fires on block 1. DESCRIPTION: The same five-trader cascade as `cascade`, but every event lands in block 1 — deposits, resting sells, market buys all at once. The liquidation engine then runs once and clears everyone the oracle drop made vulnerable, in a single tick. Useful for comparing 'one-shot stress test' vs the staggered multi-block version: both produce the same final state, but the multi-block path lets you see the position-building phase that precedes the cascade. TIMELINE (per-block): height mark src trades fills deposits liqs adl fund ------ ------ --------------- ------ ----- -------- ---- --- ---- 1 96 clob 8 4 5 2 yes — 2 96 clob 0 0 0 0 — — 3 96 clob 0 0 0 0 — — ACCOUNT DELTA (final − initial): account collateral position avg_entry ------- ---------- -------- --------- 10 200 10 110 20 0 0 110 30 0 0 110 40 300 0 110 50 444 0 110 (initial account count: 0, final account count: 5) OUTCOMES: ✓ Five trading accounts exist after the single-block setup ✓ Four fills (the four market buys crossing the resting sells) ✓ The liquidation scanner flags accounts after the mark-book settles ✓ No more than 2 liquidations fire — write-back prevents re-flagging 4 of 4 outcome(s) verified. NOTE: v1 runs the scenario in-process against a unit-provider `LiveRethEvmBridge<()>` (no Reth boot). For the production-shape run (real Reth + Malachite + JSON-RPC), use: openhl reth-devnet --chain-history scenarios/single-block-cascade.json --rounds 3 NEXT: • Adopt this engine : https://github.com/psyto/rdk • Custom build : https://fabrknt.com/waitlist.html?product=evm-perp&intent=build • Hosted access : https://fabrknt.com/waitlist.html?product=evm-perp&intent=hosted