Skip to content

Commit

Permalink
Expose new access rule functions in Uniffi
Browse files Browse the repository at this point in the history
  • Loading branch information
0xOmarA committed Jan 27, 2025
1 parent e14d0c0 commit 9dae85b
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
16 changes: 16 additions & 0 deletions crates/radix-engine-toolkit-uniffi/src/common/access_rules.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,14 @@ pub struct AccessRule(pub NativeAccessRule);

#[uniffi::export]
impl AccessRule {
#[uniffi::constructor]
pub fn from_scrypto_sbor_payloda(payload: Vec<u8>) -> Result<Arc<Self>> {
native_scrypto_decode(&payload)
.map_err(RadixEngineToolkitError::from)
.map(Self)
.map(Arc::new)
}

#[uniffi::constructor]
pub fn require(
resource_or_non_fungible: ResourceOrNonFungible,
Expand Down Expand Up @@ -158,6 +166,14 @@ impl AccessRule {
};
Arc::new(AccessRule(access_rule))
}

pub fn extract_entities(&self, network_id: u8) -> Vec<ResourceOrNonFungible> {
let extraced_entities = core_extract_entities(&self.0);
extraced_entities
.into_iter()
.map(|item| ResourceOrNonFungible::from_native(item, network_id))
.collect()
}
}

#[derive(Clone, Debug, Enum, Hash, PartialEq, Eq)]
Expand Down
3 changes: 3 additions & 0 deletions crates/radix-engine-toolkit-uniffi/src/internal_prelude.rs
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ mod core {
pub use radix_engine_toolkit::functions::utils::{
decode_transaction_id as core_decode_transaction_id
};
pub use radix_engine_toolkit::functions::access_rule::{
extract_entities as core_extract_entities
};
pub use radix_engine_toolkit::functions::transaction_v1::manifest::{
to_payload_bytes as core_transaction_v1_manifest_to_payload_bytes,
from_payload_bytes as core_transaction_v1_manifest_from_payload_bytes,
Expand Down

0 comments on commit 9dae85b

Please sign in to comment.