LawsSign.Sign.correct: law of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/secp256k1/laws_sign.bend as LawsSign Lines 20-26 of bend-collections-laws-crypto@1.0.0.0/proofs/crypto/secp256k1/laws_sign.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/proofs/crypto/secp256k1/laws_sign.bend&start_line=20&end_line=26 import Base import bend-collections-laws-crypto@1.0.0.0/src/crypto/secp256k1.bend as K import bend-collections-laws-crypto@1.0.0.0/spec/crypto/secp256k1/ecdsa.bend as ES # ECDSA signing: RFC 6979 nonce, low s, recovery id; r || s || v law Sign.correct: for +one: Nat for +h1: {one == 1n : Nat} for +sk: List<&2, U32> for +h: List<&2, U32> {K.sign_compact(sk, h) == ES.sign(one, sk, h) : Maybe<&2, List<&2, U32>>} Uses (7): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/proofs/crypto/secp256k1/proof_sign.bend&name=sign_c https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/secp256k1/ecdsa.bend&name=sign https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/secp256k1.bend&name=sign_compact