pub struct BigUint<M: ManagedTypeApi> { /* private fields */ }Expand description
A big, unsigned number.
Guaranteed to never be negative by construction and guarded operations.
Implementations§
Source§impl<M: ManagedTypeApi> BigUint<M>
impl<M: ManagedTypeApi> BigUint<M>
Sourcepub unsafe fn new_unchecked(bi: BigInt<M>) -> Self
pub unsafe fn new_unchecked(bi: BigInt<M>) -> Self
Creates a new BigUint from a BigInt without checking invariants.
§Safety
The value needs to be >= 0, otherwise the invariant is broken and subtle bugs can appear.
Sourcepub unsafe fn new_uninit() -> Self
pub unsafe fn new_uninit() -> Self
Creates a new object, without initializing it.
§Safety
The value needs to be initialized after creation, otherwise the VM will halt the first time the value is attempted to be read.
pub fn as_big_int(&self) -> &BigInt<M>
pub fn into_big_int(self) -> BigInt<M>
Sourcepub fn into_non_zero(self) -> Option<NonZeroBigUint<M>>
pub fn into_non_zero(self) -> Option<NonZeroBigUint<M>>
Sourcepub fn into_non_zero_or_panic(self) -> NonZeroBigUint<M>
pub fn into_non_zero_or_panic(self) -> NonZeroBigUint<M>
Source§impl<M: ManagedTypeApi> BigUint<M>
More conversions here.
impl<M: ManagedTypeApi> BigUint<M>
More conversions here.
pub fn zero() -> Self
pub fn zero_ref() -> ManagedRef<'static, M, BigUint<M>>
pub fn to_u64(&self) -> Option<u64>
pub fn overwrite_u64(&mut self, value: u64)
pub fn from_bytes_be(bytes: &[u8]) -> Self
pub fn to_bytes_be(&self) -> BoxedBytes
pub fn from_bytes_be_buffer(managed_buffer: &ManagedBuffer<M>) -> Self
pub fn to_bytes_be_buffer(&self) -> ManagedBuffer<M>
Source§impl<M: ManagedTypeApi> BigUint<M>
impl<M: ManagedTypeApi> BigUint<M>
pub fn sqrt(&self) -> Self
pub fn pow(&self, exp: u32) -> Self
Sourcepub fn log2_floor(&self) -> Option<u32>
pub fn log2_floor(&self) -> Option<u32>
The whole part of the base-2 logarithm.
Obtained by counting the significant bits. More specifically, the log2 floor is the position of the most significant bit minus one.
Will return None for the number zero (the logarithm in this case would approach -inf).
Sourcepub fn into_proportion(self, part: u64, total: u64) -> Self
pub fn into_proportion(self, part: u64, total: u64) -> Self
Calculates proportion of this value, consuming self.
§Arguments
part- The numerator value (e.g., 1000 for 1% when total is 100000)total- The denominator value for the ratio calculation (e.g., 100 for percentage, 100000 for basis points)
§Returns
The proportional amount as BigUint (self * part / total)
§Notes
Both part and total must be at most i64::MAX. Values exceeding this limit will cause an error.
§Example
let amount = BigUint::from(1000u32);
let result = amount.into_proportion(5u32, 100u32); // 5/100 of 1000 = 50Sourcepub fn proportion(&self, part: u64, total: u64) -> Self
pub fn proportion(&self, part: u64, total: u64) -> Self
Calculates proportion of this value.
§Arguments
part- The numerator value (e.g., 1000 for 1% when total is 100000)total- The denominator value for the ratio calculation (e.g., 100 for percentage, 100000 for basis points)
§Returns
The proportional amount as BigUint (self * part / total)
§Notes
Both part and total must be at most i64::MAX. Values exceeding this limit will cause an error.
§Example
let amount = BigUint::from(1000u32);
let result = amount.proportion(5u32, 100u32); // 5/100 of 1000 = 50Sourcepub fn ln(&self) -> Option<ManagedDecimal<M, LnDecimals>>
pub fn ln(&self) -> Option<ManagedDecimal<M, LnDecimals>>
Natural logarithm of a number.
Returns None for 0.
Source§impl<M: ManagedTypeApi> BigUint<M>
impl<M: ManagedTypeApi> BigUint<M>
Sourcepub fn to_display(&self) -> ManagedBuffer<M>
pub fn to_display(&self) -> ManagedBuffer<M>
Creates to a managed buffer containing the textual representation of the number.
Trait Implementations§
Source§impl<M: ManagedTypeApi> Add for BigUint<M>
impl<M: ManagedTypeApi> Add for BigUint<M>
Source§impl<M: ManagedTypeApi> AddAssign<&BigUint<M>> for BigUint<M>
impl<M: ManagedTypeApi> AddAssign<&BigUint<M>> for BigUint<M>
Source§fn add_assign(&mut self, other: &BigUint<M>)
fn add_assign(&mut self, other: &BigUint<M>)
+= operation. Read moreSource§impl<M: ManagedTypeApi> AddAssign<&BigUint<M>> for NonZeroBigUint<M>
impl<M: ManagedTypeApi> AddAssign<&BigUint<M>> for NonZeroBigUint<M>
Source§fn add_assign(&mut self, other: &BigUint<M>)
fn add_assign(&mut self, other: &BigUint<M>)
+= operation. Read moreSource§impl<M: ManagedTypeApi> AddAssign<BigUint<M>> for NonZeroBigUint<M>
impl<M: ManagedTypeApi> AddAssign<BigUint<M>> for NonZeroBigUint<M>
Source§fn add_assign(&mut self, other: BigUint<M>)
fn add_assign(&mut self, other: BigUint<M>)
+= operation. Read moreSource§impl<M: ManagedTypeApi> AddAssign<u32> for BigUint<M>
impl<M: ManagedTypeApi> AddAssign<u32> for BigUint<M>
Source§fn add_assign(&mut self, other: u32)
fn add_assign(&mut self, other: u32)
+= operation. Read moreSource§impl<M: ManagedTypeApi> AddAssign<u64> for BigUint<M>
impl<M: ManagedTypeApi> AddAssign<u64> for BigUint<M>
Source§fn add_assign(&mut self, other: u64)
fn add_assign(&mut self, other: u64)
+= operation. Read moreSource§impl<M: ManagedTypeApi> AddAssign for BigUint<M>
impl<M: ManagedTypeApi> AddAssign for BigUint<M>
Source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
+= operation. Read moreSource§impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for &BigUint<Env::Api>where
Env: TxEnv,
impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for &BigUint<Env::Api>where
Env: TxEnv,
fn annotation(&self, _env: &Env) -> ManagedBuffer<Env::Api>
Source§fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
.clone() in some cases.Source§impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for ()where
Env: TxEnv,
impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for ()where
Env: TxEnv,
fn annotation(&self, _env: &Env) -> ManagedBuffer<Env::Api>
Source§fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
.clone() in some cases.Source§fn into_value(self, env: &Env) -> T
fn into_value(self, env: &Env) -> T
Source§impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for BigUint<Env::Api>where
Env: TxEnv,
impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for BigUint<Env::Api>where
Env: TxEnv,
fn annotation(&self, _env: &Env) -> ManagedBuffer<Env::Api>
Source§fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
.clone() in some cases.Source§impl<Env, EgldValue> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for Egld<EgldValue>where
Env: TxEnv,
EgldValue: TxEgldValue<Env>,
impl<Env, EgldValue> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for Egld<EgldValue>where
Env: TxEnv,
EgldValue: TxEgldValue<Env>,
fn annotation(&self, env: &Env) -> ManagedBuffer<Env::Api>
Source§fn to_value(&self, env: &Env) -> BigUint<Env::Api>
fn to_value(&self, env: &Env) -> BigUint<Env::Api>
.clone() in some cases.Source§impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for ManagedRef<'_, Env::Api, BigUint<Env::Api>>where
Env: TxEnv,
impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for ManagedRef<'_, Env::Api, BigUint<Env::Api>>where
Env: TxEnv,
fn annotation(&self, _env: &Env) -> ManagedBuffer<Env::Api>
Source§fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
.clone() in some cases.Source§impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for NotPayablewhere
Env: TxEnv,
impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for NotPayablewhere
Env: TxEnv,
fn annotation(&self, _env: &Env) -> ManagedBuffer<Env::Api>
Source§fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
.clone() in some cases.Source§fn into_value(self, env: &Env) -> T
fn into_value(self, env: &Env) -> T
Source§impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for i32where
Env: TxEnv,
impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for i32where
Env: TxEnv,
fn annotation(&self, _env: &Env) -> ManagedBuffer<Env::Api>
Source§fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
.clone() in some cases.Source§fn into_value(self, env: &Env) -> T
fn into_value(self, env: &Env) -> T
Source§impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for u128where
Env: TxEnv,
impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for u128where
Env: TxEnv,
fn annotation(&self, _env: &Env) -> ManagedBuffer<Env::Api>
Source§fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
.clone() in some cases.Source§fn into_value(self, env: &Env) -> T
fn into_value(self, env: &Env) -> T
Source§impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for u64where
Env: TxEnv,
impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for u64where
Env: TxEnv,
fn annotation(&self, _env: &Env) -> ManagedBuffer<Env::Api>
Source§fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
fn to_value(&self, _env: &Env) -> BigUint<Env::Api>
.clone() in some cases.Source§fn into_value(self, env: &Env) -> T
fn into_value(self, env: &Env) -> T
Source§impl<M: ManagedTypeApi> BitAnd for BigUint<M>
impl<M: ManagedTypeApi> BitAnd for BigUint<M>
Source§impl<M: ManagedTypeApi> BitAndAssign<&BigUint<M>> for BigUint<M>
impl<M: ManagedTypeApi> BitAndAssign<&BigUint<M>> for BigUint<M>
Source§fn bitand_assign(&mut self, other: &BigUint<M>)
fn bitand_assign(&mut self, other: &BigUint<M>)
&= operation. Read moreSource§impl<M: ManagedTypeApi> BitAndAssign<u32> for BigUint<M>
impl<M: ManagedTypeApi> BitAndAssign<u32> for BigUint<M>
Source§fn bitand_assign(&mut self, other: u32)
fn bitand_assign(&mut self, other: u32)
&= operation. Read moreSource§impl<M: ManagedTypeApi> BitAndAssign<u64> for BigUint<M>
impl<M: ManagedTypeApi> BitAndAssign<u64> for BigUint<M>
Source§fn bitand_assign(&mut self, other: u64)
fn bitand_assign(&mut self, other: u64)
&= operation. Read moreSource§impl<M: ManagedTypeApi> BitAndAssign for BigUint<M>
impl<M: ManagedTypeApi> BitAndAssign for BigUint<M>
Source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
&= operation. Read moreSource§impl<M: ManagedTypeApi> BitOr for BigUint<M>
impl<M: ManagedTypeApi> BitOr for BigUint<M>
Source§impl<M: ManagedTypeApi> BitOrAssign<&BigUint<M>> for BigUint<M>
impl<M: ManagedTypeApi> BitOrAssign<&BigUint<M>> for BigUint<M>
Source§fn bitor_assign(&mut self, other: &BigUint<M>)
fn bitor_assign(&mut self, other: &BigUint<M>)
|= operation. Read moreSource§impl<M: ManagedTypeApi> BitOrAssign<u32> for BigUint<M>
impl<M: ManagedTypeApi> BitOrAssign<u32> for BigUint<M>
Source§fn bitor_assign(&mut self, other: u32)
fn bitor_assign(&mut self, other: u32)
|= operation. Read moreSource§impl<M: ManagedTypeApi> BitOrAssign<u64> for BigUint<M>
impl<M: ManagedTypeApi> BitOrAssign<u64> for BigUint<M>
Source§fn bitor_assign(&mut self, other: u64)
fn bitor_assign(&mut self, other: u64)
|= operation. Read moreSource§impl<M: ManagedTypeApi> BitOrAssign for BigUint<M>
impl<M: ManagedTypeApi> BitOrAssign for BigUint<M>
Source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
|= operation. Read moreSource§impl<M: ManagedTypeApi> BitXor for BigUint<M>
impl<M: ManagedTypeApi> BitXor for BigUint<M>
Source§impl<M: ManagedTypeApi> BitXorAssign<&BigUint<M>> for BigUint<M>
impl<M: ManagedTypeApi> BitXorAssign<&BigUint<M>> for BigUint<M>
Source§fn bitxor_assign(&mut self, other: &BigUint<M>)
fn bitxor_assign(&mut self, other: &BigUint<M>)
^= operation. Read moreSource§impl<M: ManagedTypeApi> BitXorAssign<u32> for BigUint<M>
impl<M: ManagedTypeApi> BitXorAssign<u32> for BigUint<M>
Source§fn bitxor_assign(&mut self, other: u32)
fn bitxor_assign(&mut self, other: u32)
^= operation. Read moreSource§impl<M: ManagedTypeApi> BitXorAssign<u64> for BigUint<M>
impl<M: ManagedTypeApi> BitXorAssign<u64> for BigUint<M>
Source§fn bitxor_assign(&mut self, other: u64)
fn bitxor_assign(&mut self, other: u64)
^= operation. Read moreSource§impl<M: ManagedTypeApi> BitXorAssign for BigUint<M>
impl<M: ManagedTypeApi> BitXorAssign for BigUint<M>
Source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
^= operation. Read moreSource§impl<M: ManagedTypeApi> Clone for BigUint<M>
impl<M: ManagedTypeApi> Clone for BigUint<M>
Source§impl<M: ManagedTypeApi> Debug for BigUint<M>
impl<M: ManagedTypeApi> Debug for BigUint<M>
Source§impl<M: ManagedTypeApi> Default for BigUint<M>
impl<M: ManagedTypeApi> Default for BigUint<M>
Source§impl<M: ManagedTypeApi> Div for BigUint<M>
impl<M: ManagedTypeApi> Div for BigUint<M>
Source§impl<M: ManagedTypeApi> DivAssign<&BigUint<M>> for BigUint<M>
impl<M: ManagedTypeApi> DivAssign<&BigUint<M>> for BigUint<M>
Source§fn div_assign(&mut self, other: &BigUint<M>)
fn div_assign(&mut self, other: &BigUint<M>)
/= operation. Read moreSource§impl<M: ManagedTypeApi> DivAssign<&BigUint<M>> for NonZeroBigUint<M>
impl<M: ManagedTypeApi> DivAssign<&BigUint<M>> for NonZeroBigUint<M>
Source§fn div_assign(&mut self, other: &BigUint<M>)
fn div_assign(&mut self, other: &BigUint<M>)
/= operation. Read moreSource§impl<M: ManagedTypeApi> DivAssign<BigUint<M>> for NonZeroBigUint<M>
impl<M: ManagedTypeApi> DivAssign<BigUint<M>> for NonZeroBigUint<M>
Source§fn div_assign(&mut self, other: BigUint<M>)
fn div_assign(&mut self, other: BigUint<M>)
/= operation. Read moreSource§impl<M: ManagedTypeApi> DivAssign<u32> for BigUint<M>
impl<M: ManagedTypeApi> DivAssign<u32> for BigUint<M>
Source§fn div_assign(&mut self, other: u32)
fn div_assign(&mut self, other: u32)
/= operation. Read moreSource§impl<M: ManagedTypeApi> DivAssign<u64> for BigUint<M>
impl<M: ManagedTypeApi> DivAssign<u64> for BigUint<M>
Source§fn div_assign(&mut self, other: u64)
fn div_assign(&mut self, other: u64)
/= operation. Read moreSource§impl<M: ManagedTypeApi> DivAssign for BigUint<M>
impl<M: ManagedTypeApi> DivAssign for BigUint<M>
Source§fn div_assign(&mut self, other: Self)
fn div_assign(&mut self, other: Self)
/= operation. Read moreSource§impl<M: ManagedTypeApi> From<&BigUint> for BigUint<M>
Available on crate feature num-bigint only.
impl<M: ManagedTypeApi> From<&BigUint> for BigUint<M>
num-bigint only.Source§impl<M: ManagedTypeApi> From<&ManagedBuffer<M>> for BigUint<M>
impl<M: ManagedTypeApi> From<&ManagedBuffer<M>> for BigUint<M>
Source§fn from(item: &ManagedBuffer<M>) -> Self
fn from(item: &ManagedBuffer<M>) -> Self
Source§impl<M: ManagedTypeApi, DECIMALS: Unsigned> From<BigUint<M>> for ManagedDecimal<M, ConstDecimals<DECIMALS>>
impl<M: ManagedTypeApi, DECIMALS: Unsigned> From<BigUint<M>> for ManagedDecimal<M, ConstDecimals<DECIMALS>>
Source§impl<M: ManagedTypeApi> From<BigUint> for BigUint<M>
Available on crate feature num-bigint only.
impl<M: ManagedTypeApi> From<BigUint> for BigUint<M>
num-bigint only.Source§impl<M: ManagedTypeApi> From<ManagedBuffer<M>> for BigUint<M>
impl<M: ManagedTypeApi> From<ManagedBuffer<M>> for BigUint<M>
Source§fn from(item: ManagedBuffer<M>) -> Self
fn from(item: ManagedBuffer<M>) -> Self
Source§impl<M: ManagedTypeApi> ManagedType<M> for BigUint<M>
impl<M: ManagedTypeApi> ManagedType<M> for BigUint<M>
type OwnHandle = <M as HandleTypeInfo>::BigIntHandle
fn get_handle(&self) -> M::BigIntHandle
Source§unsafe fn forget_into_handle(self) -> Self::OwnHandle
unsafe fn forget_into_handle(self) -> Self::OwnHandle
Source§fn transmute_from_handle_ref(handle_ref: &M::BigIntHandle) -> &Self
fn transmute_from_handle_ref(handle_ref: &M::BigIntHandle) -> &Self
fn transmute_from_handle_ref_mut(handle_ref: &mut M::BigIntHandle) -> &mut Self
fn get_raw_handle(&self) -> RawHandle
fn get_raw_handle_unchecked(&self) -> RawHandle
fn as_ref(&self) -> ManagedRef<'_, M, Self>
Source§impl<M: ManagedTypeApi> ManagedVecItem for BigUint<M>
impl<M: ManagedTypeApi> ManagedVecItem for BigUint<M>
Source§const SKIPS_RESERIALIZATION: bool = false
const SKIPS_RESERIALIZATION: bool = false
u32).Source§type PAYLOAD = ManagedVecItemPayloadBuffer<UInt<UInt<UInt<UTerm, B1>, B0>, B0>>
type PAYLOAD = ManagedVecItemPayloadBuffer<UInt<UInt<UInt<UTerm, B1>, B0>, B0>>
Source§type Ref<'a> = ManagedRef<'a, M, BigUint<M>>
type Ref<'a> = ManagedRef<'a, M, BigUint<M>>
Source§fn read_from_payload(payload: &Self::PAYLOAD) -> Self
fn read_from_payload(payload: &Self::PAYLOAD) -> Self
Source§unsafe fn borrow_from_payload<'a>(payload: &Self::PAYLOAD) -> Self::Ref<'a>
unsafe fn borrow_from_payload<'a>(payload: &Self::PAYLOAD) -> Self::Ref<'a>
Source§fn save_to_payload(self, payload: &mut Self::PAYLOAD)
fn save_to_payload(self, payload: &mut Self::PAYLOAD)
fn payload_size() -> usize
Source§impl<M: ManagedTypeApi> Mul for BigUint<M>
impl<M: ManagedTypeApi> Mul for BigUint<M>
Source§impl<M: ManagedTypeApi> MulAssign<&BigUint<M>> for BigUint<M>
impl<M: ManagedTypeApi> MulAssign<&BigUint<M>> for BigUint<M>
Source§fn mul_assign(&mut self, other: &BigUint<M>)
fn mul_assign(&mut self, other: &BigUint<M>)
*= operation. Read moreSource§impl<M: ManagedTypeApi> MulAssign<&BigUint<M>> for NonZeroBigUint<M>
impl<M: ManagedTypeApi> MulAssign<&BigUint<M>> for NonZeroBigUint<M>
Source§fn mul_assign(&mut self, other: &BigUint<M>)
fn mul_assign(&mut self, other: &BigUint<M>)
*= operation. Read moreSource§impl<M: ManagedTypeApi> MulAssign<BigUint<M>> for NonZeroBigUint<M>
impl<M: ManagedTypeApi> MulAssign<BigUint<M>> for NonZeroBigUint<M>
Source§fn mul_assign(&mut self, other: BigUint<M>)
fn mul_assign(&mut self, other: BigUint<M>)
*= operation. Read moreSource§impl<M: ManagedTypeApi> MulAssign<u32> for BigUint<M>
impl<M: ManagedTypeApi> MulAssign<u32> for BigUint<M>
Source§fn mul_assign(&mut self, other: u32)
fn mul_assign(&mut self, other: u32)
*= operation. Read moreSource§impl<M: ManagedTypeApi> MulAssign<u64> for BigUint<M>
impl<M: ManagedTypeApi> MulAssign<u64> for BigUint<M>
Source§fn mul_assign(&mut self, other: u64)
fn mul_assign(&mut self, other: u64)
*= operation. Read moreSource§impl<M: ManagedTypeApi> MulAssign for BigUint<M>
impl<M: ManagedTypeApi> MulAssign for BigUint<M>
Source§fn mul_assign(&mut self, other: Self)
fn mul_assign(&mut self, other: Self)
*= operation. Read moreSource§impl<M: ManagedTypeApi> NestedDecode for BigUint<M>
impl<M: ManagedTypeApi> NestedDecode for BigUint<M>
Source§fn dep_decode_or_handle_err<I, H>(
input: &mut I,
h: H,
) -> Result<Self, H::HandledErr>where
I: NestedDecodeInput,
H: DecodeErrorHandler,
fn dep_decode_or_handle_err<I, H>(
input: &mut I,
h: H,
) -> Result<Self, H::HandledErr>where
I: NestedDecodeInput,
H: DecodeErrorHandler,
dep_decode that can handle errors as soon as they occur.
For instance in can exit immediately and make sure that if it returns, it is a success.
By not deferring error handling, this can lead to somewhat smaller bytecode.Source§fn dep_decode<I>(input: &mut I) -> Result<Self, DecodeError>where
I: NestedDecodeInput,
fn dep_decode<I>(input: &mut I) -> Result<Self, DecodeError>where
I: NestedDecodeInput,
Source§impl<M: ManagedTypeApi> NestedEncode for BigUint<M>
impl<M: ManagedTypeApi> NestedEncode for BigUint<M>
Source§fn dep_encode_or_handle_err<O, H>(
&self,
dest: &mut O,
h: H,
) -> Result<(), H::HandledErr>where
O: NestedEncodeOutput,
H: EncodeErrorHandler,
fn dep_encode_or_handle_err<O, H>(
&self,
dest: &mut O,
h: H,
) -> Result<(), H::HandledErr>where
O: NestedEncodeOutput,
H: EncodeErrorHandler,
dep_encode that can handle errors as soon as they occur.
For instance in can exit immediately and make sure that if it returns, it is a success.
By not deferring error handling, this can lead to somewhat smaller bytecode.Source§fn dep_encode<O>(&self, dest: &mut O) -> Result<(), EncodeError>where
O: NestedEncodeOutput,
fn dep_encode<O>(&self, dest: &mut O) -> Result<(), EncodeError>where
O: NestedEncodeOutput,
Source§impl<M: ManagedTypeApi> Ord for BigUint<M>
impl<M: ManagedTypeApi> Ord for BigUint<M>
Source§impl<M: ManagedTypeApi> PartialEq for BigUint<M>
impl<M: ManagedTypeApi> PartialEq for BigUint<M>
Source§impl<M: ManagedTypeApi> PartialOrd<i32> for BigUint<M>
impl<M: ManagedTypeApi> PartialOrd<i32> for BigUint<M>
Source§impl<M: ManagedTypeApi> PartialOrd<i64> for BigUint<M>
impl<M: ManagedTypeApi> PartialOrd<i64> for BigUint<M>
Source§impl<M: ManagedTypeApi> PartialOrd<u32> for BigUint<M>
impl<M: ManagedTypeApi> PartialOrd<u32> for BigUint<M>
Source§impl<M: ManagedTypeApi> PartialOrd<u64> for BigUint<M>
impl<M: ManagedTypeApi> PartialOrd<u64> for BigUint<M>
Source§impl<M: ManagedTypeApi> PartialOrd for BigUint<M>
impl<M: ManagedTypeApi> PartialOrd for BigUint<M>
Source§impl<M: ManagedTypeApi> Rem for BigUint<M>
impl<M: ManagedTypeApi> Rem for BigUint<M>
Source§impl<M: ManagedTypeApi> RemAssign<&BigUint<M>> for BigUint<M>
impl<M: ManagedTypeApi> RemAssign<&BigUint<M>> for BigUint<M>
Source§fn rem_assign(&mut self, other: &BigUint<M>)
fn rem_assign(&mut self, other: &BigUint<M>)
%= operation. Read moreSource§impl<M: ManagedTypeApi> RemAssign<&BigUint<M>> for NonZeroBigUint<M>
impl<M: ManagedTypeApi> RemAssign<&BigUint<M>> for NonZeroBigUint<M>
Source§fn rem_assign(&mut self, other: &BigUint<M>)
fn rem_assign(&mut self, other: &BigUint<M>)
%= operation. Read moreSource§impl<M: ManagedTypeApi> RemAssign<BigUint<M>> for NonZeroBigUint<M>
impl<M: ManagedTypeApi> RemAssign<BigUint<M>> for NonZeroBigUint<M>
Source§fn rem_assign(&mut self, other: BigUint<M>)
fn rem_assign(&mut self, other: BigUint<M>)
%= operation. Read moreSource§impl<M: ManagedTypeApi> RemAssign<u32> for BigUint<M>
impl<M: ManagedTypeApi> RemAssign<u32> for BigUint<M>
Source§fn rem_assign(&mut self, other: u32)
fn rem_assign(&mut self, other: u32)
%= operation. Read moreSource§impl<M: ManagedTypeApi> RemAssign<u64> for BigUint<M>
impl<M: ManagedTypeApi> RemAssign<u64> for BigUint<M>
Source§fn rem_assign(&mut self, other: u64)
fn rem_assign(&mut self, other: u64)
%= operation. Read moreSource§impl<M: ManagedTypeApi> RemAssign for BigUint<M>
impl<M: ManagedTypeApi> RemAssign for BigUint<M>
Source§fn rem_assign(&mut self, other: Self)
fn rem_assign(&mut self, other: Self)
%= operation. Read moreSource§impl<M: ManagedTypeApi> SCDisplay for BigUint<M>
impl<M: ManagedTypeApi> SCDisplay for BigUint<M>
fn fmt<F: FormatByteReceiver>(&self, f: &mut F)
Source§impl<M: ManagedTypeApi> ShlAssign<usize> for BigUint<M>
impl<M: ManagedTypeApi> ShlAssign<usize> for BigUint<M>
Source§fn shl_assign(&mut self, rhs: usize)
fn shl_assign(&mut self, rhs: usize)
<<= operation. Read moreSource§impl<M: ManagedTypeApi> ShrAssign<usize> for BigUint<M>
impl<M: ManagedTypeApi> ShrAssign<usize> for BigUint<M>
Source§fn shr_assign(&mut self, rhs: usize)
fn shr_assign(&mut self, rhs: usize)
>>= operation. Read moreSource§impl<M: ManagedTypeApi> Sub for BigUint<M>
impl<M: ManagedTypeApi> Sub for BigUint<M>
Source§impl<M: ManagedTypeApi> SubAssign<&BigUint<M>> for BigUint<M>
impl<M: ManagedTypeApi> SubAssign<&BigUint<M>> for BigUint<M>
Source§fn sub_assign(&mut self, other: &BigUint<M>)
fn sub_assign(&mut self, other: &BigUint<M>)
-= operation. Read moreSource§impl<M: ManagedTypeApi> SubAssign<&BigUint<M>> for NonZeroBigUint<M>
impl<M: ManagedTypeApi> SubAssign<&BigUint<M>> for NonZeroBigUint<M>
Source§fn sub_assign(&mut self, other: &BigUint<M>)
fn sub_assign(&mut self, other: &BigUint<M>)
-= operation. Read moreSource§impl<M: ManagedTypeApi> SubAssign<BigUint<M>> for NonZeroBigUint<M>
impl<M: ManagedTypeApi> SubAssign<BigUint<M>> for NonZeroBigUint<M>
Source§fn sub_assign(&mut self, other: BigUint<M>)
fn sub_assign(&mut self, other: BigUint<M>)
-= operation. Read moreSource§impl<M: ManagedTypeApi> SubAssign<u32> for BigUint<M>
impl<M: ManagedTypeApi> SubAssign<u32> for BigUint<M>
Source§fn sub_assign(&mut self, other: u32)
fn sub_assign(&mut self, other: u32)
-= operation. Read moreSource§impl<M: ManagedTypeApi> SubAssign<u64> for BigUint<M>
impl<M: ManagedTypeApi> SubAssign<u64> for BigUint<M>
Source§fn sub_assign(&mut self, other: u64)
fn sub_assign(&mut self, other: u64)
-= operation. Read moreSource§impl<M: ManagedTypeApi> SubAssign for BigUint<M>
impl<M: ManagedTypeApi> SubAssign for BigUint<M>
Source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
-= operation. Read moreSource§impl<M: ManagedTypeApi> TopDecode for BigUint<M>
impl<M: ManagedTypeApi> TopDecode for BigUint<M>
Source§fn top_decode_or_handle_err<I, H>(input: I, h: H) -> Result<Self, H::HandledErr>where
I: TopDecodeInput,
H: DecodeErrorHandler,
fn top_decode_or_handle_err<I, H>(input: I, h: H) -> Result<Self, H::HandledErr>where
I: TopDecodeInput,
H: DecodeErrorHandler,
top_decode that can handle errors as soon as they occur.
For instance it can exit immediately and make sure that if it returns, it is a success.
By not deferring error handling, this can lead to somewhat smaller bytecode.Source§fn top_decode<I>(input: I) -> Result<Self, DecodeError>where
I: TopDecodeInput,
fn top_decode<I>(input: I) -> Result<Self, DecodeError>where
I: TopDecodeInput,
Source§impl<M: ManagedTypeApi> TopEncode for BigUint<M>
impl<M: ManagedTypeApi> TopEncode for BigUint<M>
Source§fn top_encode_or_handle_err<O, H>(
&self,
output: O,
h: H,
) -> Result<(), H::HandledErr>where
O: TopEncodeOutput,
H: EncodeErrorHandler,
fn top_encode_or_handle_err<O, H>(
&self,
output: O,
h: H,
) -> Result<(), H::HandledErr>where
O: TopEncodeOutput,
H: EncodeErrorHandler,
top_encode that can handle errors as soon as they occur.
For instance in can exit immediately and make sure that if it returns, it is a success.
By not deferring error handling, this can lead to somewhat smaller bytecode.Source§fn top_encode<O>(&self, output: O) -> Result<(), EncodeError>where
O: TopEncodeOutput,
fn top_encode<O>(&self, output: O) -> Result<(), EncodeError>where
O: TopEncodeOutput,
Source§impl<M: ManagedTypeApi> TryFrom<BigUint<M>> for NonZeroBigUint<M>
impl<M: ManagedTypeApi> TryFrom<BigUint<M>> for NonZeroBigUint<M>
Source§impl<M: ManagedTypeApi> TryStaticCast for BigUint<M>
impl<M: ManagedTypeApi> TryStaticCast for BigUint<M>
fn type_eq<U>() -> boolwhere
U: TryStaticCast,
fn try_cast<U>(self) -> Option<U>where
U: TryStaticCast,
fn try_cast_ref<U>(&self) -> Option<&U>where
U: TryStaticCast,
Source§impl<M: ManagedTypeApi> TypeAbi for BigUint<M>
impl<M: ManagedTypeApi> TypeAbi for BigUint<M>
type Unmanaged = BigUint
fn type_name() -> TypeName
fn type_name_rust() -> TypeName
fn type_names() -> TypeNames
Source§fn provide_type_descriptions<TDC: TypeDescriptionContainer>(
accumulator: &mut TDC,
)
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC, )
impl<M: ManagedTypeApi> Eq for BigUint<M>
impl<Env> TxEgldValue<Env> for &BigUint<Env::Api>where
Env: TxEnv,
impl<Env> TxEgldValue<Env> for BigUint<Env::Api>where
Env: TxEnv,
impl<M> TypeAbiFrom<&BigUint<M>> for BigUint<M>where
M: ManagedTypeApi,
impl<M: ManagedTypeApi> TypeAbiFrom<BigUint<M>> for BigUint
num-bigint only.impl<M> TypeAbiFrom<BigUint<M>> for BigUint<M>where
M: ManagedTypeApi,
impl<M: ManagedTypeApi> TypeAbiFrom<BigUint> for BigUint<M>
num-bigint only.impl<M: ManagedTypeApi> TypeAbiFrom<u128> for BigUint<M>
impl<M: ManagedTypeApi> TypeAbiFrom<u16> for BigUint<M>
impl<M: ManagedTypeApi> TypeAbiFrom<u32> for BigUint<M>
impl<M: ManagedTypeApi> TypeAbiFrom<u64> for BigUint<M>
impl<M: ManagedTypeApi> TypeAbiFrom<u8> for BigUint<M>
impl<M: ManagedTypeApi> TypeAbiFrom<usize> for BigUint<M>
Auto Trait Implementations§
impl<M> Freeze for BigUint<M>
impl<M> RefUnwindSafe for BigUint<M>
impl<M> Send for BigUint<M>
impl<M> Sync for BigUint<M>
impl<M> Unpin for BigUint<M>
impl<M> UnsafeUnpin for BigUint<M>
impl<M> UnwindSafe for BigUint<M>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> MultiValueConstLength for T
impl<T> MultiValueConstLength for T
Source§const MULTI_VALUE_CONST_LEN: usize = 1
const MULTI_VALUE_CONST_LEN: usize = 1
Source§impl<T> MultiValueLength for T
impl<T> MultiValueLength for T
Source§fn multi_value_len(&self) -> usize
fn multi_value_len(&self) -> usize
Source§impl<T> SCCodec for Twhere
T: TopEncode,
impl<T> SCCodec for Twhere
T: TopEncode,
fn fmt<F>(&self, f: &mut F)where
F: FormatByteReceiver,
Source§impl<T> TopDecodeMulti for Twhere
T: TopDecode,
impl<T> TopDecodeMulti for Twhere
T: TopDecode,
Source§const IS_SINGLE_VALUE: bool = true
const IS_SINGLE_VALUE: bool = true
fn multi_decode_or_handle_err<I, H>(
input: &mut I,
h: H,
) -> Result<T, <H as DecodeErrorHandler>::HandledErr>where
I: TopDecodeMultiInput,
H: DecodeErrorHandler,
fn multi_decode<I>(input: &mut I) -> Result<Self, DecodeError>where
I: TopDecodeMultiInput,
Source§impl<T> TopEncodeMulti for Twhere
T: TopEncode,
impl<T> TopEncodeMulti for Twhere
T: TopEncode,
Source§fn multi_encode_or_handle_err<O, H>(
&self,
output: &mut O,
h: H,
) -> Result<(), <H as EncodeErrorHandler>::HandledErr>where
O: TopEncodeMultiOutput,
H: EncodeErrorHandler,
fn multi_encode_or_handle_err<O, H>(
&self,
output: &mut O,
h: H,
) -> Result<(), <H as EncodeErrorHandler>::HandledErr>where
O: TopEncodeMultiOutput,
H: EncodeErrorHandler,
top_encode that can handle errors as soon as they occur.
For instance in can exit immediately and make sure that if it returns, it is a success.
By not deferring error handling, this can lead to somewhat smaller bytecode.