block_height,
index.block_height()?.unwrap_or(Height(0)).n(),
inscriptions,
page_index,
)?
.page(page_config)
.into_response()
})
}
async fn sat_inscriptions(
Extension(index): Extension<Arc<Index>>,
Path(sat): Path<u64>,
) -> ServerResult<Json<SatInscriptionsJson>> {
Self::sat_inscriptions_paginated(Extension(index), Path((sat, 0))).await
}
async fn sat_inscriptions_paginated(
Extension(index): Extension<Arc<Index>>,
Path((sat, page)): Path<(u64, u64)>,
) -> ServerResult<Json<SatInscriptionsJson>> {
if !index.has_sat_index() {
return Err(ServerError::NotFound(
"this server has no sat index".to_string(),
));
}
let (ids, more) = index.get_inscription_ids_by_sat_paginated(Sat(sat), 100, page)?;
Ok(Json(SatInscriptionsJson { ids, more, page }))
}
async fn sat_inscription_at_index(
Extension(index): Extension<Arc<Index>>,
Path((DeserializeFromStr(sat), inscription_index)): Path<(DeserializeFromStr<Sat>, isize)>,