SHOWING: First 60
"index_path": ".*\.redb",
"leaf_pages": \d+,
"metadata_bytes": \d+,
"outputs_traversed": 0,
"page_size": \d+,
"sat_ranges": 0,
"stored_bytes": \d+,
"tables": .*,
"transactions": \[
\{
"starting_block_count": 0,
"starting_timestamp": \d+
\}
\],
"tree_height": \d+,
"utxos_indexed": 0
\}
"#,
)
.run_and_extract_stdout();
}
#[test]
fn transactions() {
let rpc_server = test_bitcoincore_rpc::spawn();
let tempdir = TempDir::new().unwrap();
let index_path = tempdir.path().join("index.redb");
assert!(CommandBuilder::new(format!(
"--index {} index info --transactions",
index_path.display()
))
.rpc_server(&rpc_server)
.run_and_deserialize_output::<Vec<TransactionsOutput>>()
.is_empty());
rpc_server.mine_blocks(10);
let output = CommandBuilder::new(format!(
"--index {} index info --transactions",
index_path.display()
))
.rpc_server(&rpc_server)
.run_and_deserialize_output::<Vec<TransactionsOutput>>();
assert_eq!(output[0].start, 0);
#44,990,728text 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,380text
server.assert_response_regex(
format!("/preview/{inscription_id}"),
StatusCode::OK,
format!(r".*<audio .*>\s*<source src=/content/{inscription_id}>.*"),
);
}
#[test]
fn font_preview() {
let server = TestServer::new_with_regtest();
server.mine_blocks(1);
let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
inputs: &[(1, 0, 0, inscription("font/ttf", "hello").to_witness())],
..Default::default()
});
let inscription_id = InscriptionId { txid, index: 0 };
server.mine_blocks(1);
server.assert_response_regex(
format!("/preview/{inscription_id}"),
StatusCode::OK,
format!(r".*src: url\(/content/{inscription_id}\).*"),
);
}
#[test]
fn pdf_preview() {
let server = TestServer::new_with_regtest();
server.mine_blocks(1);
let txid = server.bitcoin_rpc_server.broadcast_tx(TransactionTemplate {
inputs: &[(
1,
0,
0,
inscription("application/pdf", "hello").to_witness(),#44,990,116textmint1,000.mice#44,919,142brc-20mint1,000.mice#44,919,141brc-20mint1,000.mice#44,919,140brc-20mint1,000.mice#44,919,139brc-20mint1,000.mice#44,919,135brc-20mint1,000.mice#44,919,133brc-20mint1,000.mice#44,919,131brc-20mint1,000.mice#44,919,130brc-20mint1,000.mice#44,919,129brc-20mint1,000.mice#44,919,128brc-20mint1,000,000.ucat#44,860,478brc-20mint1,000,000.ucat#44,860,477brc-20mint1,000,000.ucat#44,860,476brc-20mint1,000,000.ucat#44,860,474brc-20mint1,000,000.ucat#44,860,473brc-20mint1,000,000.ucat#44,860,470brc-20mint1,000,000.ucat#44,860,469brc-20mint1,000,000.ucat#44,860,468brc-20mint1,000,000.ucat#44,860,467brc-20mint1,000,000.ucat#44,860,466brc-20transfer4,286.xtai#43,349,383brc-20mint14,000,000,000.3518#40,141,677brc-20mint14,000,000,000.3518#40,141,675brc-20mint14,000,000,000.3518#40,141,638brc-20mint14,000,000,000.3518#40,141,634brc-20mint14,000,000,000.3518#40,141,629brc-20mint14,000,000,000.3518#40,141,622brc-20mint14,000,000,000.3518#40,141,597brc-20mint14,000,000,000.3518#40,141,584brc-20mint14,000,000,000.3518#40,141,582brc-20mint14,000,000,000.3518#40,141,581brc-20