diff --git a/src/experimental.rs b/src/experimental.rs new file mode 100644 index 0000000..66b4178 --- /dev/null +++ b/src/experimental.rs @@ -0,0 +1,18 @@ +//! Experimental methods. + +use super::*; + +mod native { + extern "C" { + pub fn experimental_isAccountEmpty(addressOffset: *const u32) -> u32; + } +} + +pub fn is_account_empty(address: &Address) -> bool { + let ret = unsafe { native::experimental_isAccountEmpty(address.bytes.as_ptr() as *const u32) }; + if ret != 0 && ret != 1 { + panic!(); + } + + ret == 1 +} diff --git a/src/lib.rs b/src/lib.rs index 145c623..e46d3ed 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -33,6 +33,7 @@ pub mod debug; #[cfg(feature = "experimental")] pub mod bignum; +pub mod experimental; #[cfg(not(feature = "std"))] pub mod convert;