attack 1
Settle the wrong match
What a cheater would gain. Bring a genuine Merkle proof from a DIFFERENT finished match (Vietnam v Myanmar, 18143850) and cash it against the final's policy — claim the pot off an unrelated result.
Program ComputeBudget111111111111111111111111111111 invoke [1]Program ComputeBudget111111111111111111111111111111 successProgram Go7jpiE1kHksssFBNsq1vWroh4ViuqS1F2ctpmXMhoNv invoke [1]Program log: Instruction: SettlePolicyProgram log: AnchorError thrown in programs/covergoal/src/instructions/policy.rs:196. Error Code: FinalityWindowOpen. Error Number: 6004. Error Message: Finality window has not elapsed yet.Program Go7jpiE1kHksssFBNsq1vWroh4ViuqS1F2ctpmXMhoNv consumed 20831 of 1399850 compute unitsProgram Go7jpiE1kHksssFBNsq1vWroh4ViuqS1F2ctpmXMhoNv failed: custom program error: 0x1774
guard · A real settle_policy transaction whose proof carries fixture_id 18143850, submitted against the final's policy (fixture 18257739). The program never trusts the fixture the proof claims — it compares proof.fixture_summary.fixture_id to the Policy's OWN stored fixture_id (policy.rs line 200-203), a value no cranker can set. Right now, pre-kickoff, the foreign proof does not even get that far: the finality gate (line 196) refuses to read ANY proof until the match is final, so this is the line the runtime returns. Two independent walls, one foreign proof, zero ways through.