Expose send_payment_for_bolt12_invoice
[rust-lightning] / lightning / src / util / message_signing.rs
index 79572f31246a7ae53fa1885b13ee3cc282c68d50..0a45af26f8633e27fa97ad783f2a7e32079bd94f 100644 (file)
@@ -54,12 +54,12 @@ fn sigrec_decode(sig_rec: Vec<u8>) -> Result<RecoverableSignature, Error> {
 /// Creates a digital signature of a message given a SecretKey, like the node's secret.
 /// A receiver knowing the PublicKey (e.g. the node's id) and the message can be sure that the signature was generated by the caller.
 /// Signatures are EC recoverable, meaning that given the message and the signature the PublicKey of the signer can be extracted.
-pub fn sign(msg: &[u8], sk: &SecretKey) -> Result<String, Error> {
+pub fn sign(msg: &[u8], sk: &SecretKey) -> String {
        let secp_ctx = Secp256k1::signing_only();
        let msg_hash = sha256d::Hash::hash(&[LN_MESSAGE_PREFIX, msg].concat());
 
-       let sig = secp_ctx.sign_ecdsa_recoverable(&Message::from_slice(msg_hash.as_byte_array())?, sk);
-       Ok(base32::Alphabet::ZBase32.encode(&sigrec_encode(sig)))
+       let sig = secp_ctx.sign_ecdsa_recoverable(&Message::from_digest(msg_hash.to_byte_array()), sk);
+       base32::Alphabet::ZBase32.encode(&sigrec_encode(sig))
 }
 
 /// Recovers the PublicKey of the signer of the message given the message and the signature.
@@ -70,7 +70,7 @@ pub fn recover_pk(msg: &[u8], sig: &str) ->  Result<PublicKey, Error> {
        match base32::Alphabet::ZBase32.decode(&sig) {
                Ok(sig_rec) => {
                        match sigrec_decode(sig_rec) {
-                               Ok(sig) => secp_ctx.recover_ecdsa(&Message::from_slice(msg_hash.as_byte_array())?, &sig),
+                               Ok(sig) => secp_ctx.recover_ecdsa(&Message::from_digest(msg_hash.to_byte_array()), &sig),
                                Err(e) => Err(e)
                        }
                },
@@ -100,7 +100,7 @@ mod test {
                let one_key = SecretKey::from_slice(&ONE).unwrap();
                let zbase32_sig = sign(message.as_bytes(), &one_key);
 
-               assert_eq!(zbase32_sig.unwrap(), "d9tibmnic9t5y41hg7hkakdcra94akas9ku3rmmj4ag9mritc8ok4p5qzefs78c9pqfhpuftqqzhydbdwfg7u6w6wdxcqpqn4sj4e73e")
+               assert_eq!(zbase32_sig, "d9tibmnic9t5y41hg7hkakdcra94akas9ku3rmmj4ag9mritc8ok4p5qzefs78c9pqfhpuftqqzhydbdwfg7u6w6wdxcqpqn4sj4e73e")
        }
 
        #[test]
@@ -117,7 +117,7 @@ mod test {
        fn test_verify() {
                let message = "another message";
                let one_key = SecretKey::from_slice(&ONE).unwrap();
-               let sig = sign(message.as_bytes(), &one_key).unwrap();
+               let sig = sign(message.as_bytes(), &one_key);
                let pk = PublicKey::from_secret_key(&Secp256k1::signing_only(), &one_key);
 
                assert!(verify(message.as_bytes(), &sig, &pk))