SHOWING: First 60
use {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,022,293text
rpc_server.mine_blocks(1);
assert_eq!(rpc_server.descriptors().len(), 3);
let parent_id = parent_output.inscriptions[0].id;
let output = CommandBuilder::new("wallet inscribe --fee-rate 1 --batch batch.yaml")
.write("inscription.txt", "Hello World")
.write("tulip.png", [0; 555])
.write("meow.wav", [0; 2048])
.write(
"batch.yaml",
format!("parent: {parent_id}\nmode: separate-outputs\npostage: 777\ninscriptions:\n- file: inscription.txt\n- file: tulip.png\n- file: meow.wav\n")
)
.rpc_server(&rpc_server)
.run_and_deserialize_output::<Inscribe>();
for inscription in &output.inscriptions {
assert_eq!(inscription.location.offset, 0);
}
let mut outpoints = output
.inscriptions
.iter()
.map(|inscription| inscription.location.outpoint)
.collect::<Vec<OutPoint>>();
outpoints.sort();
outpoints.dedup();
assert_eq!(outpoints.len(), output.inscriptions.len());
rpc_server.mine_blocks(1);
let ord_server = TestServer::spawn_with_args(&rpc_server, &[]);#45,022,253text output_1
),
);
ord_server.assert_response_regex(
format!("/inscription/{}", output.inscriptions[1].id),
format!(
r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>location</dt>.*<dd class=monospace>{}:0</dd>.*",
output_2
),
);
ord_server.assert_response_regex(
format!("/inscription/{}", output.inscriptions[2].id),
format!(
r".*<dt>parent</dt>\s*<dd>.*{parent_id}.*</dd>.*<dt>output value</dt>.*<dd>10000</dd>.*.*<dt>location</dt>.*<dd class=monospace>{}:0</dd>.*",
output_3
),
);
}
#[test]
fn batch_in_separate_outputs_with_parent_and_non_default_postage() {
let rpc_server = test_bitcoincore_rpc::spawn();
rpc_server.mine_blocks(1);
assert_eq!(rpc_server.descriptors().len(), 0);
create_wallet(&rpc_server);
let parent_output = CommandBuilder::new("wallet inscribe --fee-rate 5.0 --file parent.png")
.write("parent.png", [1; 520])
.rpc_server(&rpc_server)
.run_and_deserialize_output::<Inscribe>();#45,019,689textmint1,000.mice#44,342,466brc-20mint1,000.mice#44,342,451brc-20mint1,000.mice#44,342,360brc-20mint1,000.mice#44,338,898brc-20mint1,000.mice#44,338,872brc-20mint1,000.mice#44,338,859brc-20mint1,000.mice#44,338,759brc-20mint1,000.mice#44,338,745brc-20mint1,000.mice#44,338,720brc-20mint1,000.mice#44,336,151brc-20