) -> ServerResult { let inscription_id = match query { InscriptionQuery::Id(id) => id, InscriptionQuery::Number(inscription_number) => index .get_inscription_id_by_inscription_number(inscription_number)? .ok_or_not_found(|| format!("{inscription_number}"))?, }; let entry = index .get_inscription_entry(inscription_id)? .ok_or_not_found(|| format!("inscription {inscription_id}"))?; let inscription = index .get_inscription_by_id(inscription_id)? .ok_or_not_found(|| format!("inscription {inscription_id}"))?; let satpoint = index .get_inscription_satpoint_by_id(inscription_id)? .ok_or_not_found(|| format!("inscription {inscription_id}"))?; let output = if satpoint.outpoint == unbound_outpoint() || satpoint.outpoint == OutPoint::null() { None } else { Some( index .get_transaction(satpoint.outpoint.txid)? .ok_or_not_found(|| format!("inscription {inscription_id} current transaction"))?