From 21b735f841ac0f181c88b0987159c99d88dcd741 Mon Sep 17 00:00:00 2001 From: Cassandra Heart Date: Wed, 19 Nov 2025 02:07:56 -0600 Subject: [PATCH] fix: cutoff frames should use constants --- node/consensus/global/event_distributor.go | 3 ++- .../intrinsics/global/global_prover_confirm.go | 12 +++++++----- .../intrinsics/global/global_prover_reject.go | 3 ++- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/node/consensus/global/event_distributor.go b/node/consensus/global/event_distributor.go index 5cd01b0..8f29251 100644 --- a/node/consensus/global/event_distributor.go +++ b/node/consensus/global/event_distributor.go @@ -24,6 +24,7 @@ import ( consensustime "source.quilibrium.com/quilibrium/monorepo/node/consensus/time" globalintrinsics "source.quilibrium.com/quilibrium/monorepo/node/execution/intrinsics/global" "source.quilibrium.com/quilibrium/monorepo/node/execution/intrinsics/global/compat" + "source.quilibrium.com/quilibrium/monorepo/node/execution/intrinsics/token" "source.quilibrium.com/quilibrium/monorepo/node/p2p" "source.quilibrium.com/quilibrium/monorepo/protobufs" "source.quilibrium.com/quilibrium/monorepo/types/channel" @@ -544,7 +545,7 @@ func (e *GlobalConsensusEngine) evaluateForProposals( if bytes.Equal(allocation.ConfirmationFilter, bp) { allocated = allocation.Status != 4 if e.config.P2P.Network != 0 || - data.Frame.Header.FrameNumber > 255840 { + data.Frame.Header.FrameNumber > token.FRAME_2_1_EXTENDED_ENROLL_END { e.logger.Info( "checking pending status of allocation", zap.Int("status", int(allocation.Status)), diff --git a/node/execution/intrinsics/global/global_prover_confirm.go b/node/execution/intrinsics/global/global_prover_confirm.go index fd2abe4..64adb65 100644 --- a/node/execution/intrinsics/global/global_prover_confirm.go +++ b/node/execution/intrinsics/global/global_prover_confirm.go @@ -9,6 +9,7 @@ import ( "github.com/iden3/go-iden3-crypto/poseidon" "github.com/pkg/errors" + "source.quilibrium.com/quilibrium/monorepo/node/execution/intrinsics/token" hgstate "source.quilibrium.com/quilibrium/monorepo/node/execution/state/hypergraph" "source.quilibrium.com/quilibrium/monorepo/types/crypto" "source.quilibrium.com/quilibrium/monorepo/types/execution/intrinsics" @@ -498,8 +499,8 @@ func (p *ProverConfirm) Verify(frameNumber uint64) (bool, error) { joinFrame := binary.BigEndian.Uint64(joinFrameBytes) // Check timing constraints - if joinFrame < 255840 && joinFrame >= 244100 { - if frameNumber < 255840 { + if joinFrame < token.FRAME_2_1_EXTENDED_ENROLL_END && joinFrame >= 244100 { + if frameNumber < token.FRAME_2_1_EXTENDED_ENROLL_END { // If joined before frame 255840, cannot confirm until frame 255840 return false, errors.Wrap( errors.New("cannot confirm before frame 255840"), @@ -510,8 +511,8 @@ func (p *ProverConfirm) Verify(frameNumber uint64) (bool, error) { // Set this to either 255840 - 360 or the raw join frame if higher than it // so the provers before can immeidately join after the wait, those after // still have the full 360. - if joinFrame < 252480 { - joinFrame = 252480 + if joinFrame < (token.FRAME_2_1_EXTENDED_ENROLL_END - 360) { + joinFrame = (token.FRAME_2_1_EXTENDED_ENROLL_END - 360) } } @@ -519,7 +520,8 @@ func (p *ProverConfirm) Verify(frameNumber uint64) (bool, error) { // immediately, for joins after 255840, normal 360 frame wait applies. // If the join frame precedes the genesis frame (e.g. not mainnet), we // ignore the topic altogether - if joinFrame >= 252480 || joinFrame <= 244100 { + if joinFrame >= (token.FRAME_2_1_EXTENDED_ENROLL_END-360) || + joinFrame <= 244100 { framesSinceJoin := frameNumber - joinFrame if framesSinceJoin < 360 { return false, errors.Wrap( diff --git a/node/execution/intrinsics/global/global_prover_reject.go b/node/execution/intrinsics/global/global_prover_reject.go index 94ba17c..ab90af8 100644 --- a/node/execution/intrinsics/global/global_prover_reject.go +++ b/node/execution/intrinsics/global/global_prover_reject.go @@ -8,6 +8,7 @@ import ( "github.com/iden3/go-iden3-crypto/poseidon" "github.com/pkg/errors" + "source.quilibrium.com/quilibrium/monorepo/node/execution/intrinsics/token" hgstate "source.quilibrium.com/quilibrium/monorepo/node/execution/state/hypergraph" "source.quilibrium.com/quilibrium/monorepo/types/crypto" "source.quilibrium.com/quilibrium/monorepo/types/execution/intrinsics" @@ -476,7 +477,7 @@ func (p *ProverReject) Verify(frameNumber uint64) (bool, error) { joinFrame := binary.BigEndian.Uint64(joinFrameBytes) // Special case: if join was before frame 255840, can reject any time - if joinFrame >= 255840 { + if joinFrame >= token.FRAME_2_1_EXTENDED_ENROLL_END { // Otherwise same timing constraints as confirm framesSinceJoin := frameNumber - joinFrame if framesSinceJoin > 720 {