let blockhash = index.get_transaction_blockhash(txid)?;
Ok(
TransactionHtml::new(
index
.get_transaction(txid)?
.ok_or_not_found(|| format!("transaction {txid}"))?,
blockhash,
inscription.map(|_| InscriptionId { txid, index: 0 }),
page_config.chain,
index.get_etching(txid)?,
)
.page(page_config),
)
}
async fn metadata(
Extension(index): Extension<Arc<Index>>,
Path(inscription_id): Path<InscriptionId>,
) -> ServerResult<Json<String>> {
let metadata = index
.get_inscription_by_id(inscription_id)?
.ok_or_not_found(|| format!("inscription {inscription_id}"))?
.metadata
.ok_or_not_found(|| format!("inscription {inscription_id} metadata"))?;
Ok(Json(hex::encode(metadata)))
}
async fn status(Extension(index): Extension<Arc<Index>>) -> (StatusCode, &'static str) {
if index.is_unrecoverably_reorged() {
(
StatusCode::OK,
"unrecoverable reorg detected, please rebuild the database.",