You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(events): stop enforcing the submission deadline on-chain (#99)
The submission deadline was enforced by the contract (reject apply/submit/
withdraw_submission after it, require+future-check at create), but it gates
nothing the contract is responsible for:
- no money path reads it (since #61 the payout/refund liveness is anchored
to select-time via PRIZE_CLAIM_WINDOW_SECS, not the deadline);
- winners are the manager's discretion — select_winners never consults
submissions, so a late submission row is inert;
- permissionless-submit storage abuse is bounded by the #86 count cap, not
the deadline.
Meanwhile the deadline is immutable on-chain (no set/extend entrypoint), so
the contract could not support the extensions organizers do routinely. A
submission window — with its extensions, grace periods, and cutoffs — is a
backend/product concern; the chain keeps only custody, the count cap, and
discretionary winner selection.
Remove the enforcement:
- delete the deadline checks in submit / withdraw_submission / bounty apply
and the create-time DeadlineMustBeFuture check;
- drop the required-deadline check from hackathon/crowdfunding validate_create.
Keep EventRecord.deadline as advisory metadata (still stored, emitted at
create, backend-owned) — no storage-layout change, no ABI break. The
now-dead DeadlineRequired/DeadlinePassed/DeadlineMustBeFuture variants are
retired, freeing 3 slots against the 50-case error-enum cap.
Removed the 5 tests that asserted the deleted behavior. 220 events + 66
profile green; make build OK (events 55,742 B); fmt clean.
0 commit comments