mirror of
https://github.com/luxfi/dex.git
synced 2026-09-24 00:26:31 +00:00
Settle and Release already required a verified AcceptedBlock; Reserve did not, so a reservation could still be created without any proof that its C parent was accepted. That left the abandoned-parent case reachable through the one door that had not been closed. Reserve(parent AcceptedBlock, v VerifiedExecution) now enforces both halves of rule 1: the parent must carry the verified sentinel, and the execution must be scoped to exactly that parent. Both arguments are unforgeable outside this package, so a reservation can be taken neither against an unauthenticated execution nor against an unproven C parent. 25 tests passing. Co-authored-by: Hanzo Dev <[email protected]>