IntersectMBO / IntersectMBO/mithril
Enhance aggregator support for signatures when not ready
- Dominant language
- Rust
- Stars
- 154
- Forks
- 51
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 38
Description
## Why
The aggregator is not properly handling the reception of single signatures when it is not ready to sign (in particular when it is blocked). In that case, a long error message is logged which prevents their readability and exploitation during debugging.
## What
Enhanced handling of incoming signatures when the aggregator is not ready.
## How
- [ ] Add a new service `SingleSignatureRegistrationGate` in the aggregator
- [ ] Add a new `get_status(&self)->SingleSignatureRegistrationStatus` method and a `SingleSignatureRegistrationStatus` enum
- [ ] The gate is closed when the state machine is in the `Blocked` state
- [ ] The gate is opened during the `Idle` state
- [ ] The `/register-signature` route returns a `503` error if the gate is closed, and is not modified otherwise
Contributor guide
Research direction
Start by locating the aggregator state machine and the existing /register-signature route, then trace how blocked and idle states are represented. Define the requested registration gate, status method, and enum, and verify that the route returns 503 only while the gate is closed and remains unchanged otherwise.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100