Verification Actions
sha256:c9c35cc927527b81661b41954c974ea0a5d21b5c5f8a7a7608784a33dbe73ce1
e5abac4ada5d2ced
Generated report detail
Fixture xchain-multi-evm-bridge-v0 generated pass at 2026-06-10T22:58:55.223Z.
sha256:c9c35cc927527b81661b41954c974ea0a5d21b5c5f8a7a7608784a33dbe73ce1
e5abac4ada5d2ced
mock-fakenet
n/a
model
Generalized cross-chain tester over the EVM chain registry (src/data/evm-chains.json): a correct Nockchain<->Arbitrum withdrawal with an Optimism endpoint.
Exercises chain-id-bound attestations, per-chain finality adequacy (Arbitrum L1-batch floor 64), per-(destChainId,id) replay namespacing, distinct EIP-712 domain separators, optimistic challenge-window respect, and registry-driven HTLC hashlock (Nockchain tip5 + Arbitrum keccak256).
Honest limit: a single-process MODEL of multiple chains (model-attested). See docs/xchain-security-model.md.
No invariant packs referenced.
Observe terminal joint multi-EVM state
bridge
true
Attestations bind their target chain id (no cross-EVM replay)
critical
Observed all 1 message(s) bind their target chain id; expected every cross-chain message's signed payload binds its targetChainId (raw txs use EIP-155), under xchain.crosschain.
Each settle meets its chain's finality floor + basis
critical
Observed all 1 settle(s) meet their chain's finality floor + basis; expected each settle has confirmations >= max(app, registry floor[chain]) on the chain's required basis, under xchain.finality.
Replay keyed per (destChainId, id)
critical
Observed all 1 message(s) unique per (destChainId,id), source-scoped, correctly routed; expected each message unique per (destChainId,id), carries a sourceChainId, routed to its expected chain, under xchain.routing.
Distinct EIP-712 domain per endpoint; authorizations bound
critical
Observed 2 endpoint(s) have distinct, chain-bound, re-derived domains; authorizations match; expected each endpoint has a distinct (chainId,verifyingContract) domain re-derived at verify; authorizations valid only at their bound endpoint, under xchain.domain.
No optimistic withdrawal credited before finalization
critical
Observed optimistic-rollup withdrawal(s) credited only after L1-finalization / challenge window / LP-bond; expected no optimistic-rollup withdrawal credited before L1-finalization or its challenge window closes, under xchain.exits.
Each HTLC leg uses a hash its chain can compute (registry-driven)
critical
Observed all 2 leg(s) lock the shared preimage under a chain-computable hash; commitments distinct; expected each HTLC leg locks the shared preimage under a hash its own chain can compute, with distinct per-chain commitments, under xchain.htlc.
No alert policies configured.
No adapter observations captured.
| Path | Before | After |
|---|---|---|
| xchain.observed | undefined | true |
Initial state
initiale5abf48bfe46f5bc
After observe
observee5abac4ada5d2ced
lab_xchain-multi-evm-bridge-v0_20260610225855223
sha256:c9c35cc927527b81661b41954c974ea0a5d21b5c5f8a7a7608784a33dbe73ce1
e5abac4ada5d2ced
/bundle/server-functions/default/.nocklab/xchain-multi-evm-bridge.report.json
/bundle/server-functions/default/.nocklab/xchain-multi-evm-bridge.report.md
2239
xchain.observed
# ✅ Nockchain<->multi-EVM Bridge (Arbitrum/Optimism) Lab Report
0 triggered, 0 clear
Nockchain<->multi-EVM Bridge (Arbitrum/Optimism) Verification Candidate
ready
unsigned
none
sha256:c9c35cc927527b81661b41954c974ea0a5d21b5c5f8a7a7608784a33dbe73ce1
e5abac4ada5d2ced