.output
.into_iter()
.nth(satpoint.outpoint.vout.try_into().unwrap())
.ok_or_not_found(|| format!("inscription {inscription_id} current transaction output"))?,
)
};
let previous = if let Some(n) = entry.sequence_number.checked_sub(1) {
index.get_inscription_id_by_sequence_number(n)?
} else {
None
};
let next = index.get_inscription_id_by_sequence_number(entry.sequence_number + 1)?;
let (children, _more_children) =
index.get_children_by_sequence_number_paginated(entry.sequence_number, 4, 0)?;
let rune = index.get_rune_by_sequence_number(entry.sequence_number)?;
let parent = match entry.parent {
Some(parent) => index.get_inscription_id_by_sequence_number(parent)?,
None => None,
};
let mut charms = entry.charms;
if satpoint.outpoint == OutPoint::null() {
Charm::Lost.set(&mut charms);
}
Ok(if accept_json.0 {
Json(InscriptionJson {
inscription_id,
children,