Currently, the library implements both interactive and non-interactive signing, but non-interactive is not possible to call from the public API. There are methods to sort of "fake" non-interactive signing by manually generating and combining signature shares, but they don't actually implement the protocol as specified.
Note that this issue includes adding the public functionality and fixing internal tests and infra but does not include deleting the old functionality. That will be handled in #427.
[x] Add Sign to the list of ProtocolTypes and implement the protocol_type method on SignParticipant
[x] Add a conditional in process_single_message to correctly validate signing messages
[x] Update the end-to-end test (full_protocol_execution_works) to call the signing participant instead of assembling signatures itself
[x] Fix all the public documentation ("Usage" section in lib.rs) to correctly describe signing options
Currently, the library implements both interactive and non-interactive signing, but non-interactive is not possible to call from the public API. There are methods to sort of "fake" non-interactive signing by manually generating and combining signature shares, but they don't actually implement the protocol as specified.
Note that this issue includes adding the public functionality and fixing internal tests and infra but does not include deleting the old functionality. That will be handled in #427.
Sign
to the list ofProtocolType
s and implement theprotocol_type
method onSignParticipant
process_single_message
to correctly validate signing messagesfull_protocol_execution_works
) to call the signing participant instead of assembling signatures itselflib.rs
) to correctly describe signing options