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

fn zero() -> Self[src]

Implementors

impl BigUintApi for BigUintUncallable[src]

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]