let rtx = self.database.begin_read()?;
let sat_to_satpoint = rtx.open_table(SAT_TO_SATPOINT)?;
let mut result = Vec::with_capacity(sat_to_satpoint.len()?.try_into().unwrap());
for range in sat_to_satpoint.range(0..)? {
let (sat, satpoint) = range?;
result.push((Sat(sat.value()), Entry::load(*satpoint.value())));
}
Ok(result)
}
pub(crate) fn rare_sat_satpoint(&self, sat: Sat) -> Result<Option<SatPoint>> {
Ok(
self
.database
.begin_read()?
.open_table(SAT_TO_SATPOINT)?
.get(&sat.n())?
.map(|satpoint| Entry::load(*satpoint.value())),
)
}
pub(crate) fn get_rune_by_id(&self, id: RuneId) -> Result<Option<Rune>> {
Ok(
self
.database
.begin_read()?
.open_table(RUNE_ID_TO_RUNE_ENTRY)?
.get(&id.store())?
.map(|entry| RuneEntry::load(entry.value()).rune),
)
}
pub(crate) fn rune(&self, rune: Rune) -> Result<Option<(RuneId, RuneEntry)>> {
let rtx = self.database.begin_read()?;