Summary
We have a rate_limiter module (soroban/src/rate_limiter.rs), but it doesn't appear to be enforced on the submission entry points. Wiring it in would protect against spam and abuse (e.g. a single operator flooding submissions) and make resource usage more predictable.
What we'd like
- Apply rate limiting to the submission / report entry points
- Make limits configurable (per-caller window and max count) by an admin role
- Reject over-limit calls with a clear, specific error
Where to look
soroban/src/rate_limiter.rs — the limiter primitive
soroban/src/submission_pause.rs, submission_replay.rs, report_hash.rs — submission-related flows to guard
soroban/src/acl.rs — who can configure the limits
Acceptance criteria
Notes
Be mindful of ledger storage costs per caller — document the storage footprint of the limiter state.
Summary
We have a
rate_limitermodule (soroban/src/rate_limiter.rs), but it doesn't appear to be enforced on the submission entry points. Wiring it in would protect against spam and abuse (e.g. a single operator flooding submissions) and make resource usage more predictable.What we'd like
Where to look
soroban/src/rate_limiter.rs— the limiter primitivesoroban/src/submission_pause.rs,submission_replay.rs,report_hash.rs— submission-related flows to guardsoroban/src/acl.rs— who can configure the limitsAcceptance criteria
Notes
Be mindful of ledger storage costs per caller — document the storage footprint of the limiter state.