Inscription #65846510#65,846,510png#64,429,250#64,422,703#64,410,097#64,384,056use super::*; fn target_as_block_hash(target: bitcoin::Target) -> BlockHash { BlockHash::from_raw_hash(Hash::from_byte_array(target.to_le_bytes())) } #[derive(Boilerplate)] pub(crate) struct BlockHtml { hash: BlockHash, target: BlockHash, best_height: Height, block: Block, height: Height, inscription_count: usize, featured_inscriptions: Vec<InscriptionId>, } impl BlockHtml { pub(crate) fn new( block: Block, height: Height, best_height: Height, inscription_count: usize, featured_inscriptions: Vec<InscriptionId>, ) -> Self { Self { hash: block.header.block_hash(), target: target_as_block_hash(block.header.target()), block, height, best_height, inscription_count, featured_inscriptions, } } } #[derive(Debug, PartialEq, Serialize, Deserialize)] pub struct BlockJson { pub hash: BlockHash, pub target: BlockHash, pub best_height: u32, pub height: u32, pub inscriptions: Vec<InscriptionId>, } impl BlockJson { pub(crate) fn new(#60,346,131textuse {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>>();#60,345,927texttransfer10,000.bica#52,992,868brc-20mint1,000.bos#50,028,779brc-100mint1,000.bos#50,028,778brc-100mint1,000.bos#50,028,777brc-100mint1,000.bos#50,028,776brc-100mint1,000.bos#50,028,775brc-100mint1,000.bos#50,028,774brc-100mint1,000.bos#50,028,773brc-100mint1,000.bos#50,028,772brc-100mint1,000.bos#50,028,771brc-100mint1,000.bos#50,028,770brc-100mint1,000.bos#50,028,769brc-100mint1,000.bos#50,028,768brc-100mint1,000.bos#50,028,767brc-100mint1,000.bos#50,028,765brc-100mint1,000.bos#50,028,764brc-100mint1,000.bos#50,028,762brc-100mint1,000.bos#50,028,761brc-100mint1,000.bos#50,028,760brc-100mint1,000.bos#50,028,759brc-100mint1,000.bos#50,028,758brc-100mint1,000.bos#50,028,757brc-100mint1,000.bos#50,028,756brc-100mint1,000.bos#50,028,755brc-100mint1,000.bos#50,028,754brc-100Inscription #49525366#49,525,366pngInscription #49510665#49,510,665pngInscription #49501753#49,501,753pngInscription #49498094#49,498,094pngInscription #49490814#49,490,814pngInscription #49487870#49,487,870pngInscription #49487301#49,487,301pngInscription #49459822#49,459,822pngtransfer400,000.ethi#49,340,127brc-20transfer40,000.drag#49,339,979brc-20transfer13,000.newu#49,334,489brc-20transfer13,000.newu#49,295,084brc-20transfer40,000.drag#49,193,902brc-20transfer10,000.reon#49,102,293brc-20transfer45,000.biis#49,102,129brc-20transfer10,000.reon#49,067,765brc-20transfer45,000.biis#48,923,871brc-20mint10,000.ethi#48,641,191brc-20mint10,000.ethi#48,641,190brc-20mint10,000.ethi#48,641,189brc-20mint10,000.ethi#48,641,188brc-20mint10,000.ethi#48,641,187brc-20mint10,000.ethi#48,641,186brc-20mint10,000.ethi#48,641,185brc-20mint10,000.ethi#48,641,184brc-20mint10,000.ethi#48,641,183brc-20mint10,000.ethi#48,641,182brc-20mint10,000.ethi#48,641,181brc-20