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.
Stacked on top of #67
This PR makes
EntryPoint
types stateful - that is, this removes the need forEntryPoint::Inputs
because theEntryPoint
-implementing type becomes the inputs itself. Fixes #64.Benefits:
Round
types, only theEntryPoint
impl can be publicsynedrion
inconstructors.rs
) with additional consistency checks or convenience methodsTODO:
Session
level (because it's given aSigner
), but we also may have an implicit ID in the inputs (e.g. a key share). How do we ensure these two are the same? Should we? Option 1: passid
toEntryPoint::make_round()
, and return an error if it's not the one expected based on other inputs. Option 2: add anEntryPoint::my_id()
method, and check inSession::new()
that the returned ID is the same as inSigner
. Option 3: keep them entirely disconnected.