public (RecoveryId, byte[]) Serialize_compact(Secp256K1 secp) { var ret = new byte[64]; var recid = 0; var err = Proxy.secp256k1_ecdsa_recoverable_signature_serialize_compact(secp.Ctx, ret, ref recid, Value); if (err == 1) { return(RecoveryId.from_i32(recid), ret); } throw new Exception("This should never happen!"); }
public static RecoverableSigniture From_compact(Secp256K1 secp, byte[] data, RecoveryId recid) { if (data.Length != 64) { throw new Exception("InvalidSignature"); } var ret = new byte[65]; if (Proxy.secp256k1_ecdsa_recoverable_signature_parse_compact(secp.Ctx, ret, data, recid.Value) == 1) { return(new RecoverableSigniture(ret)); } throw new Exception("InvalidSignature"); }
public RecoveryId Clone() { var rcid = new RecoveryId(Value); return(rcid); }