Bitcoin address: 3KBwNyqXVJt6qz8WU1zPYRDee7rj2Mts3E

SHOWING: First 60

.write("tulip.png", [0; 555]) .write("meow.wav", [0; 2048]) .write( "batch.yaml", format!("parent: {parent_id}\nmode: shared-output\ninscriptions:\n- file: inscription.txt\n- file: tulip.png\n- file: meow.wav\n") ) .rpc_server(&rpc_server) .run_and_deserialize_output::<Inscribe>(); rpc_server.mine_blocks(1); let ord_server = TestServer::spawn_with_args(&rpc_server, &[]); ord_server.assert_response_regex( format!("/inscription/{}", output.inscriptions[0].id), r".*<dt>parent</dt>\s*<dd>.*</dd>.*", ); ord_server.assert_response_regex( format!("/inscription/{}", output.inscriptions[1].id), r".*<dt>parent</dt>\s*<dd>.*</dd>.*", ); let request = TestServer::spawn_with_args(&rpc_server, &[]) .request(format!("/content/{}", output.inscriptions[2].id)); assert_eq!(request.status(), 200); assert_eq!(request.headers().get("content-type").unwrap(), "audio/wav"); } #[test] fn batch_inscribe_respects_dry_run_flag() { let rpc_server = test_bitcoincore_rpc::spawn(); #45,161,326textuse {super::*, ord::subcommand::wallet::outputs::Output}; #[test] fn outputs() { let rpc_server = test_bitcoincore_rpc::spawn(); create_wallet(&rpc_server); let coinbase_tx = &rpc_server.mine_blocks_with_subsidy(1, 1_000_000)[0].txdata[0]; let outpoint = OutPoint::new(coinbase_tx.txid(), 0); let amount = coinbase_tx.output[0].value; let output = CommandBuilder::new("wallet outputs") .rpc_server(&rpc_server) .run_and_deserialize_output::<Vec<Output>>(); assert_eq!(output[0].output, outpoint); assert_eq!(output[0].amount, amount); } #[test] fn outputs_includes_locked_outputs() { let rpc_server = test_bitcoincore_rpc::spawn(); create_wallet(&rpc_server); let coinbase_tx = &rpc_server.mine_blocks_with_subsidy(1, 1_000_000)[0].txdata[0]; let outpoint = OutPoint::new(coinbase_tx.txid(), 0); let amount = coinbase_tx.output[0].value; rpc_server.lock(outpoint); let output = CommandBuilder::new("wallet outputs") .rpc_server(&rpc_server) .run_and_deserialize_output::<Vec<Output>>();#45,159,675text &rpc_server.descriptors()[1], r"tr\(\[[[:xdigit:]]{8}/86'/0'/0'\]xprv[[:alnum:]]*/1/\*\)#[[:alnum:]]{8}" ); } #[test] fn wallet_creates_correct_test_network_taproot_descriptor() { let rpc_server = test_bitcoincore_rpc::builder() .network(Network::Signet) .build(); CommandBuilder::new("--chain signet wallet create") .rpc_server(&rpc_server) .run_and_deserialize_output::<Output>(); assert_eq!(rpc_server.descriptors().len(), 2); assert_regex_match!( &rpc_server.descriptors()[0], r"tr\(\[[[:xdigit:]]{8}/86'/1'/0'\]tprv[[:alnum:]]*/0/\*\)#[[:alnum:]]{8}" ); assert_regex_match!( &rpc_server.descriptors()[1], r"tr\(\[[[:xdigit:]]{8}/86'/1'/0'\]tprv[[:alnum:]]*/1/\*\)#[[:alnum:]]{8}" ); } #[test] fn detect_wrong_descriptors() { let rpc_server = test_bitcoincore_rpc::spawn(); CommandBuilder::new("wallet create") .rpc_server(&rpc_server) .run_and_deserialize_output::<Output>(); rpc_server.import_descriptor("wpkh([aslfjk])#a23ad2l".to_string()); #45,054,503text ) .rpc_server(&rpc_server) .run_and_deserialize_output::<Output>(); let tx = &rpc_server.mempool()[0]; let mut fee = 0; for input in &tx.input { fee += rpc_server .get_utxo_amount(&input.previous_output) .unwrap() .to_sat(); } for output in &tx.output { fee -= output.value; } let fee_rate = fee as f64 / tx.vsize() as f64; assert!(f64::abs(fee_rate - 13.3) < 0.1); assert_eq!( output.transaction, "0000000000000000000000000000000000000000000000000000000000000000" .parse() .unwrap() ); assert_eq!( rpc_server.sent(), &[Sent { amount: 1.0, address: "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4" .parse::<Address<NetworkUnchecked>>() .unwrap() .assume_checked(), locked: Vec::new(), }] ); } #[test] fn send_btc_locks_inscriptions() { let rpc_server = test_bitcoincore_rpc::spawn(); create_wallet(&rpc_server); rpc_server.mine_blocks(1); let (_, reveal) = inscribe(&rpc_server); let output = #45,022,468text