Trait elrond_wasm::api::BigUintApi [−][src]
pub trait BigUintApi: Sized + From<u64> + From<u32> + From<usize> + Clone + Default + Add<Output = Self> + AddAssign + Sub<Output = Self> + SubAssign + Mul<Output = Self> + MulAssign + Div<Output = Self> + DivAssign + Rem<Output = Self> + RemAssign + BitAnd<Output = Self> + BitAndAssign + BitOr<Output = Self> + BitOrAssign + BitXor<Output = Self> + BitXorAssign + Shr<usize, Output = Self> + ShrAssign<usize> + Shl<usize, Output = Self> + ShlAssign<usize> + PartialEq<Self> + Eq + PartialOrd<Self> + Ord + PartialEq<u64> + PartialOrd<u64> + NestedEncode + TopEncode + NestedDecode + TopDecode + TypeAbi { fn byte_length(&self) -> i32; fn copy_to_slice_big_endian(&self, slice: &mut [u8]) -> i32; fn copy_to_array_big_endian_pad_right(&self, target: &mut [u8; 32]); fn to_bytes_be(&self) -> Vec<u8>; fn to_bytes_be_pad_right(&self, nr_bytes: usize) -> Option<Vec<u8>>; fn from_bytes_be(bytes: &[u8]) -> Self; fn zero() -> Self { ... } }
Expand description
Definition of the BigUint type required by the API. The API doesn’t care about the actual BigInt implementation. The Arwen VM provides an implementation directly in the protocol. For debugging we use a different implementation, based on Rust’s BigInt.
Since most values in smart contracts will not be signed, as well as for safety, most of the functionality if provided for unsigned integers.
Required methods
fn byte_length(&self) -> i32
[src]
fn copy_to_slice_big_endian(&self, slice: &mut [u8]) -> i32
[src]
fn copy_to_array_big_endian_pad_right(&self, target: &mut [u8; 32])
[src]
fn to_bytes_be(&self) -> Vec<u8>
[src]
fn to_bytes_be_pad_right(&self, nr_bytes: usize) -> Option<Vec<u8>>
[src]
fn from_bytes_be(bytes: &[u8]) -> Self
[src]
Provided methods
Implementors
impl BigUintApi for BigUintUncallable
[src]
impl BigUintApi for BigUintUncallable
[src]