Two lanes feed the registry: Level 3 (RPC-quorum fast lane, provisional) and Level 4 (Wormhole-verified proof lane). Settlement requires both to derive the same attestation id.
| contract | address | role |
|---|---|---|
| FinalityRegistry | 0xac0b2f8250f16e076e2cfcf5e79243be0198c64f ↗ deploy tx 0xd54a5f4a…9e7584 ↗ | single source of truth: Unknown → CREAttested / WormholeVerified → DualFinalized; freezes on conflict |
| CRELevel3Receiver | 0xa2166ea27f2ce4029e3426f2d3c84fd7151cb05f ↗ deploy tx 0x20c4d24f…e160ec ↗ | fast-lane (Level 3) attestation intake — provisional |
| WormholeOutcomeReceiver | 0x58512d54b8fc32bc6f03800416c93ab08a336f60 ↗ deploy tx 0x11fb2d30…0fb057 ↗ | proof-lane (Level 4) VAA intake — permissionless submitVaa |
| WormholeCore (dev guardian set) | 0xaac43563eca9a2a5ca989935f909588b08655ab4 ↗ deploy tx 0x352915ae…a7d85e ↗ | VAA v1 parse + ecrecover 13-of-19 quorum verification |
| DemoPredictionMarket | 0x84edaa2144931606db5240993771738f3ad97bba ↗ deploy tx 0x89145ec8…f25bf0 ↗ | consumer: settles only on DualFinalized |
(bool finalized, uint8 result) =
proofline.finalOutcome(fixtureId);
require(finalized, "Outcome not finalized");
// result: 1 = HOME, 2 = DRAW, 3 = AWAYProofline is a reusable cross-chain sports-finality primitive; the demo market is one consumer, not the product. Demo fixture: 982341 synthetic fixture