IntersectMBO / IntersectMBO/mithril

Enhance aggregator support for signatures when not ready

Open
#3,409 0 comments 0 reactions 0 assignees View on GitHub
optimization :hammer_and_wrench:
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.