From 1ad7c99283b08fd64f826217663092ecc8705c43 Mon Sep 17 00:00:00 2001 From: Dave Hrycyszyn Date: Tue, 18 Jun 2024 17:43:32 +0100 Subject: [PATCH] wip btc --- side-node/src/utils.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/side-node/src/utils.rs b/side-node/src/utils.rs index dda9264..14599e3 100644 --- a/side-node/src/utils.rs +++ b/side-node/src/utils.rs @@ -1,6 +1,7 @@ use std::path::PathBuf; use bft_json_crdt::json_crdt::SignedOp; +use bitcoin::{absolute, key::Keypair, transaction::Version, TxIn, TxOut}; use serde_json::{json, Value}; pub(crate) const BITCOIN_KEY_FILE: &str = "bitcoin_keys.pem"; @@ -37,6 +38,31 @@ pub fn fake_generic_transaction_json(from: String) -> Value { }) } +/// Generate a Bitcoin transaction from this node's bitcoin_keys +pub fn fake_bitcoin_transaction(key_pair: Keypair) -> bitcoin::Transaction { + let from = key_pair.public_key().to_string(); + let to = "Bob"; + let amount = 1; + let lock_time = absolute::LockTime::from_height(0).expect("couldn't format btc lock time"); + let input = TxIn { + previous_output: todo!(), + script_sig: todo!(), + sequence: todo!(), + witness: todo!(), + }; + let output = TxOut { + value: todo!(), + script_pubkey: todo!(), + }; + let tx = bitcoin::Transaction { + version: Version(1), + lock_time, + input, + output, + }; + tx +} + pub fn shappy(op: SignedOp) -> String { let b = serde_json::to_string(&op).unwrap().into_bytes(); sha256::digest(b).to_string()