-
Notifications
You must be signed in to change notification settings - Fork 27
Description
Context and scope
ava-labs/avalanchego#3394 adds a signature aggregation utility to Avalanchego that, when integrated, would allow us to remove a significant amount of duplicate functionality. The new utility uses p2p.Client, which encapsulated much of the p2p request handling that we currently implement ourselves.
Discussion and alternatives
We can replace much of the logic in SignatureAggregator.CreateSignedMessage
with a call to this utility. We'll have to refactor the retry logic somewhat, but the utility does support this by accepting a partial aggregate signature as an argument.
We should also be able to replace much of the external handler logic (or remove it altogether), since the utility manages response handling.
Open questions
The Avalanchego aggregator does not support our use case of reconstructing an aggregate signature from cached individual signatures in the event of a validator set change. To do so, we would need a mapping of BLS public key to signature for a particular Warp message ID.