adds multisig server to broker dkg messages #5459
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
copies stratum module from sdk into cli to serve as foundation for multisig network module
replaces stratum mining messages with dkg messages:
reuses single message for submitting an identity to the server and broadcasting it from the server. likewise for round1 public packages and round2 public packages
adds a cli command, 'wallet:multisig:server', to start a server for a dkg session. requires maxSigners and minSigners on start to set the parameters for DKG
updates 'wallet:multisig:dkg:create' with a '--server' flag to connect to a server. at each step, submits the participant's information to the server and then waits for server to broadcast packages from other participants. uses 'dkg.get_status' to get the status at the beginning of each step to account for the possibility of having missed broadcasts
Testing Plan
manual testing:
Documentation
Does this change require any updates to the Iron Fish Docs (ex. the RPC API
Reference)? If yes, link a
related documentation pull request for the website.
Breaking Change
Is this a breaking change? If yes, add notes below on why this is breaking and label it with
breaking-change-rpc
orbreaking-change-sdk
.