def recover_sig

bend-collections-laws-crypto@1.0.0.0 · src/crypto/secp256k1/ecdsa.bend:260

import bend-collections-laws-crypto@1.0.0.0/src/crypto/secp256k1/ecdsa.bend as Ecdsa
import Base
import bend-collections-laws-crypto@1.0.0.0/src/crypto/secp256k1/bytes.bend as B

260def recover_sig(+h: List<&2, U32>, +sig: List<&2, U32>) -> Maybe<&2, List<&2, U32>>:
261  +r = B.of_be(B.prefix(32n, sig))
262  +s = B.of_be(B.prefix(32n, B.suffix(32n, sig)))
263  +id = U32.to_nat(B.head(B.suffix(64n, sig)))
264  recover_ok(hash_scalar(h), r, s, id, Bool.and(Bool.and(scalar_ok(r), scalar_ok(s)), Nat.is_lt(id, 4n)))

Uses (13)

Used by (2)