use crate::utils;
use crate::hdi_extensions::{
guest_error,
};
use crate::hdk_extensions::{
must_get,
};
use deepkey::*;
use hdk::prelude::*;
#[hdk_extern]
pub fn query_keyset_authority_action_hash(_: ()) -> ExternResult<ActionHash> {
query_keyset_root_action_hash(())
}
#[hdk_extern]
pub fn query_keyset_root_action_hash(_: ()) -> ExternResult<ActionHash> {
match utils::query_entry_type_latest( EntryTypesUnit::KeysetRoot )? {
Some(keyset_root) => Ok(keyset_root.action_address().to_owned()),
None => Err(guest_error!("No KeysetFound on chain".to_string()))
}
}
pub fn query_keyset_root_addr() -> ExternResult<ActionHash> {
query_keyset_root_action_hash(())
}
pub fn query_keyset_root() -> ExternResult<KeysetRoot> {
must_get( &query_keyset_root_addr()? )?.try_into()
}