Closed gatoWololo closed 6 months ago
Update on this ticket:
We believe using the trial_recovery_from_msg
function is the right approach.
We have a few choices about how to expose this signature to the end user:
For example, we could change the Output
type of the ProtocolParticipant
implementation on SignParticipant
:
impl ProtocolParticipant for SignParticipant {
type Input = Input;
type Output = Signature;
To return a RecoverableSignature
. I think this would be the wrong approach.
Instead, we should extend the API of our Signature
type to support a recovery_id
function:
fn recovery_id(&self, message: &[u8], public_key: &VerifyingKey) -> RecoveryId
Using k256 RecoveryId. This would allow a user to "opt-in" to a recoverable signature.
Closed by #512
We will need to support Ethereum recoverable signatures. Notes:
Output
associated type of theProtocolParticipant
trait is still set totss_ecdsa::sign::Signature
. It would be easier to just modify the existingSignParticipant::compute_output
method to return the recoverable signature, at the cost of no longer having the "regular" signature...We should be able to compute this signature as follows:
I personally don't know how "trial recovery" works.