txoo 0.10.0

A Bitcoin transaction-output oracle
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::{Attestation, SignedAttestation};
use bitcoin::hashes::Hash;
use bitcoin::secp256k1::{All, Message, Secp256k1};
use bitcoin::key::Keypair;

/// Sign an attestation
pub fn sign_attestation(
    attestation: Attestation,
    keypair: &Keypair,
    secp: &Secp256k1<All>,
) -> SignedAttestation {
    let message = Message::from_digest(attestation.hash().to_byte_array());
    let signature = secp.sign_schnorr_no_aux_rand(&message, &keypair);
    SignedAttestation {
        attestation,
        signature,
    }
}