#73,917,686text#73,917,685text#73,917,684text#73,917,683texttransfer100.pizza#71,205,776brc-20Inscription #67944291#67,944,291htmlInscription #67944288#67,944,288html#66,867,813textminting-claim#66,031,396orc-20#64,422,415Inscription #56547837#56,547,837pngInscription #56547836#56,547,836pngmint1,000,000.ligo#55,043,438brc-20mint1,000,000.ligo#55,043,433brc-20mint1,000,000.ligo#55,043,420brc-20mint1,000,000.ligo#55,043,418brc-20mint1,000,000.ligo#55,043,416brc-20mint1,000,000.ligo#55,001,291brc-20mint1,000,000.ligo#55,001,286brc-20mint1,000,000.ligo#55,001,284brc-20mint1,000,000.ligo#55,001,283brc-20mint1,000,000.ligo#55,001,282brc-20mint1,000,000.ligo#54,954,353brc-20mint1,000,000.ligo#54,954,349brc-20mint1,000,000.ligo#54,954,342brc-20mint1,000,000.ligo#54,954,339brc-20mint1,000,000.ligo#54,954,327brc-20mint1,000,000.ligo#54,954,316brc-20mint1,000,000.ligo#54,954,308brc-20mint1,000,000.ligo#54,954,306brc-20mint1,000,000.ligo#54,954,230brc-20mint1,000,000.ligo#54,954,229brc-20mint1,000,000.ligo#54,653,494brc-20mint1,000,000.ligo#54,653,489brc-20mint1,000,000.ligo#54,649,985brc-20mint1,000,000.ligo#54,649,984brc-20transfer150.aadx#52,760,417brc-20transfer125,000.saix#52,239,713brc-20transfer125,000.saix#52,236,513brc-20mint.charactor:goddess#52,196,264brc-1024mint.charactor:goddess#52,190,860brc-1024mint.charactor:cultivator#51,511,518brc-1024mint.charactor:mage#51,500,935brc-1024mint.charactor:mage#51,499,154brc-1024mint.charactor:winged#51,492,911brc-1024mint.charactor:cultivator#51,491,446brc-1024mint.charactor:winged#51,481,791brc-1024mint.charactor:mage#51,326,386brc-1024 let reveal_address = recipient(); let (_commit_tx, reveal_tx, _private_key, _) = Batch { satpoint, parent_info: None, inscriptions: vec![inscription], destinations: vec![reveal_address], commit_fee_rate: FeeRate::try_from(1.0).unwrap(), reveal_fee_rate: FeeRate::try_from(1.0).unwrap(), no_limit: true, reinscribe: false, postage: TransactionBuilder::TARGET_POSTAGE, mode: Mode::SharedOutput, ..Default::default() } .create_batch_inscription_transactions( BTreeMap::new(), Chain::Mainnet, BTreeSet::new(), utxos.into_iter().collect(), [commit_address, change(1)], ) .unwrap(); assert!(reveal_tx.size() >= MAX_STANDARD_TX_WEIGHT as usize); } #[test] fn cbor_and_json_metadata_flags_conflict() { assert_regex_match!( Arguments::try_parse_from([ "ord", "wallet", "inscribe", "--cbor-metadata", "foo", "--json-metadata", "bar", "--file",#45,160,313text thread::spawn(|| server.run(options, index, ord_server_handle).unwrap()); } while index.statistic(crate::index::Statistic::Commits) == 0 { thread::sleep(Duration::from_millis(25)); } let client = reqwest::blocking::Client::builder() .redirect(reqwest::redirect::Policy::none()) .build() .unwrap(); for i in 0.. { match client.get(format!("http://127.0.0.1:{port}/status")).send() { Ok(_) => break, Err(err) => { if i == 400 { panic!("server failed to start: {err}"); } } } thread::sleep(Duration::from_millis(25)); } Self { bitcoin_rpc_server, index, ord_server_handle, tempdir, url, } } fn get(&self, path: impl AsRef<str>) -> reqwest::blocking::Response { if let Err(error) = self.index.update() { log::error!("{error}"); } reqwest::blocking::get(self.join_url(path.as_ref())).unwrap() #44,990,735text let port = TcpListener::bind("127.0.0.1:0") .unwrap() .local_addr() .unwrap() .port(); let url = Url::parse(&format!("http://127.0.0.1:{port}")).unwrap(); let config_args = match config { Some(config) => { let config_path = tempdir.path().join("ord.yaml"); fs::write(&config_path, config).unwrap(); format!("--config {}", config_path.display()) } None => "".to_string(), }; let (options, server) = parse_server_args(&format!( "ord --rpc-url {} --cookie-file {} --data-dir {} {config_args} {} server --http-port {} --address 127.0.0.1 {}", bitcoin_rpc_server.url(), cookiefile.to_str().unwrap(), tempdir.path().to_str().unwrap(), ord_args.join(" "), port, server_args.join(" "), )); let index = Arc::new(Index::open(&options).unwrap()); let ord_server_handle = Handle::new(); { let index = index.clone(); let ord_server_handle = ord_server_handle.clone(); #44,990,152text let acme_cache = if let Some(acme_cache) = acme_cache { acme_cache.clone() } else { options.data_dir()?.join("acme-cache") }; Ok(acme_cache) } fn acme_domains(&self) -> Result<Vec<String>> { if !self.acme_domain.is_empty() { Ok(self.acme_domain.clone()) } else { Ok(vec![System::new() .host_name() .ok_or(anyhow!("no hostname found"))?]) } } fn http_port(&self) -> Option<u16> { if self.http || self.http_port.is_some() || (self.https_port.is_none() && !self.https) { Some(self.http_port.unwrap_or(80)) } else { None } } fn https_port(&self) -> Option<u16> { if self.https || self.https_port.is_some() { Some(self.https_port.unwrap_or(443)) } else { None } } fn acceptor(&self, options: &Options) -> Result<AxumAcceptor> { let config = AcmeConfig::new(self.acme_domains()?) .contact(&self.acme_contact) .cache_option(Some(DirCache::new(Self::acme_cache( self.acme_cache.as_ref(),#44,990,148text timestamp: Timestamp::Now, active: Some(false), range: None, next_index: None, internal: Some(false), label: Some("commit tx recovery key".to_string()), })?; for result in response { if !result.success { return Err(anyhow!("commit tx recovery key import failed")); } } Ok(()) } fn build_reveal_transaction( control_block: &ControlBlock, fee_rate: FeeRate, inputs: Vec<OutPoint>, commit_input_index: usize, outputs: Vec<TxOut>, script: &Script, ) -> (Transaction, Amount) { let reveal_tx = Transaction { input: inputs .iter() .map(|outpoint| TxIn { previous_output: *outpoint, script_sig: script::Builder::new().into_script(), witness: Witness::new(), sequence: Sequence::ENABLE_RBF_NO_LOCKTIME, }) .collect(), output: outputs, lock_time: LockTime::ZERO, version: 1, }; let fee = { let mut reveal_tx = reveal_tx.clone(); #44,988,810textdmt-mint.nat#44,254,794tapdmt-mint.nat#44,254,792tapInscription #41677824#41,677,824pngmint2,000.reko#41,249,222brc-20mint2,000.reko#41,249,221brc-20mint2,000.reko#41,249,220brc-20mint2,000.reko#41,249,219brc-20