Struct Uint
pub struct Uint<const BITS: usize, const LIMBS: usize> { /* private fields */ }Expand description
The ring of numbers modulo $2^{\mathtt{BITS}}$.
Uint implements nearly all traits and methods from the std unsigned
integer types, including most nightly only ones.
§Notable differences from std uint types.
- The operators
+,-,*, etc. using wrapping math by default. The std operators panic on overflow in debug, and are undefined in release, see reference. - The
Uint::checked_shl,Uint::overflowing_shl, etc return overflow when non-zero bits are shifted out. In std they return overflow when the shift amount is greater than the bit size. - Some methods like
u64::div_euclidandu64::rem_euclidare left out because they are meaningless or redundant for unsigned integers. Std has them for compatibility with their signed integers. - Many functions that are
constin std are not inUint. Uint::to_le_bytesandUint::to_be_bytesrequire the output size to be provided as a const-generic argument. They will runtime panic if the provided size is incorrect.Uint::widening_multakes as argument anUintof arbitrary size and returns a result that is sized to fit the product without overflow (i.e. the sum of the bit sizes of self and the argument). The std version requires same-sized arguments and returns a pair of lower and higher bits.
Implementations§
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn abs_diff(self, other: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn abs_diff(self, other: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes the absolute difference between self and other.
Returns $\left\vert \mathtt{self} - \mathtt{other} \right\vert$.
pub const fn checked_add(
self,
rhs: Uint<BITS, LIMBS>,
) -> Option<Uint<BITS, LIMBS>>
pub const fn checked_add( self, rhs: Uint<BITS, LIMBS>, ) -> Option<Uint<BITS, LIMBS>>
Computes self + rhs, returning None if overflow occurred.
pub const fn checked_neg(self) -> Option<Uint<BITS, LIMBS>>
pub const fn checked_neg(self) -> Option<Uint<BITS, LIMBS>>
Computes -self, returning None unless self == 0.
pub const fn checked_sub(
self,
rhs: Uint<BITS, LIMBS>,
) -> Option<Uint<BITS, LIMBS>>
pub const fn checked_sub( self, rhs: Uint<BITS, LIMBS>, ) -> Option<Uint<BITS, LIMBS>>
Computes self - rhs, returning None if overflow occurred.
pub const fn overflowing_add(
self,
rhs: Uint<BITS, LIMBS>,
) -> (Uint<BITS, LIMBS>, bool)
pub const fn overflowing_add( self, rhs: Uint<BITS, LIMBS>, ) -> (Uint<BITS, LIMBS>, bool)
Calculates $\mod{\mathtt{self} + \mathtt{rhs}}_{2^{BITS}}$.
Returns a tuple of the addition along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.
pub const fn overflowing_neg(self) -> (Uint<BITS, LIMBS>, bool)
pub const fn overflowing_neg(self) -> (Uint<BITS, LIMBS>, bool)
Calculates $\mod{-\mathtt{self}}_{2^{BITS}}$.
Returns !self + 1 using wrapping operations to return the value that
represents the negation of this unsigned value. Note that for positive
unsigned values overflow always occurs, but negating 0 does not
overflow.
pub const fn overflowing_sub(
self,
rhs: Uint<BITS, LIMBS>,
) -> (Uint<BITS, LIMBS>, bool)
pub const fn overflowing_sub( self, rhs: Uint<BITS, LIMBS>, ) -> (Uint<BITS, LIMBS>, bool)
Calculates $\mod{\mathtt{self} - \mathtt{rhs}}_{2^{BITS}}$.
Returns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.
pub const fn saturating_add(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub const fn saturating_add(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes self + rhs, saturating at the numeric bounds instead of
overflowing.
pub const fn saturating_sub(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub const fn saturating_sub(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes self - rhs, saturating at the numeric bounds instead of
overflowing
pub const fn wrapping_add(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub const fn wrapping_add(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes self + rhs, wrapping around at the boundary of the type.
pub const fn wrapping_neg(self) -> Uint<BITS, LIMBS>
pub const fn wrapping_neg(self) -> Uint<BITS, LIMBS>
Computes -self, wrapping around at the boundary of the type.
pub const fn wrapping_sub(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub const fn wrapping_sub(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes self - rhs, wrapping around at the boundary of the type.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn to_base_le(&self, base: u64) -> impl Iterator<Item = u64>
pub fn to_base_le(&self, base: u64) -> impl Iterator<Item = u64>
Returns an iterator over the base base digits of the number in
little-endian order.
Pro tip: instead of setting base = 10, set it to the highest
power of 10 that still fits u64. This way much fewer iterations
are required to extract all the digits.
§Panics
Panics if the base is less than 2.
pub fn to_base_be(&self, base: u64) -> impl Iterator<Item = u64>
pub fn to_base_be(&self, base: u64) -> impl Iterator<Item = u64>
Returns an iterator over the base base digits of the number in
big-endian order.
Pro tip: instead of setting base = 10, set it to the highest
power of 10 that still fits u64. This way much fewer iterations
are required to extract all the digits.
§Panics
Panics if the base is less than 2.
pub fn from_base_le<I>(
base: u64,
digits: I,
) -> Result<Uint<BITS, LIMBS>, BaseConvertError>where
I: IntoIterator<Item = u64>,
pub fn from_base_le<I>(
base: u64,
digits: I,
) -> Result<Uint<BITS, LIMBS>, BaseConvertError>where
I: IntoIterator<Item = u64>,
Constructs the Uint from digits in the base base in little-endian.
§Errors
BaseConvertError::InvalidBaseif the base is less than 2.BaseConvertError::InvalidDigitif a digit is out of range.BaseConvertError::Overflowif the number is too large to fit.
pub fn from_base_be<I>(
base: u64,
digits: I,
) -> Result<Uint<BITS, LIMBS>, BaseConvertError>where
I: IntoIterator<Item = u64>,
pub fn from_base_be<I>(
base: u64,
digits: I,
) -> Result<Uint<BITS, LIMBS>, BaseConvertError>where
I: IntoIterator<Item = u64>,
Constructs the Uint from digits in the base base in big-endian.
§Errors
BaseConvertError::InvalidBaseif the base is less than 2.BaseConvertError::InvalidDigitif a digit is out of range.BaseConvertError::Overflowif the number is too large to fit.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub const fn bit(&self, index: usize) -> bool
pub const fn bit(&self, index: usize) -> bool
Returns whether a specific bit is set.
Returns false if index exceeds the bit width of the number.
pub const fn byte(&self, index: usize) -> u8
pub const fn byte(&self, index: usize) -> u8
Returns a specific byte. The byte at index 0 is the least significant
byte (little endian).
§Panics
Panics if index is greater than or equal to the byte width of the
number.
§Examples
let x = uint!(0x1234567890_U64);
let bytes = [
x.byte(0), // 0x90
x.byte(1), // 0x78
x.byte(2), // 0x56
x.byte(3), // 0x34
x.byte(4), // 0x12
x.byte(5), // 0x00
x.byte(6), // 0x00
x.byte(7), // 0x00
];
assert_eq!(bytes, x.to_le_bytes());Panics if out of range.
let x = uint!(0x1234567890_U64);
let _ = x.byte(8);pub const fn checked_byte(&self, index: usize) -> Option<u8>
pub const fn checked_byte(&self, index: usize) -> Option<u8>
Returns a specific byte, or None if index is out of range. The byte
at index 0 is the least significant byte (little endian).
§Examples
let x = uint!(0x1234567890_U64);
assert_eq!(x.checked_byte(0), Some(0x90));
assert_eq!(x.checked_byte(7), Some(0x00));
// Out of range
assert_eq!(x.checked_byte(8), None);pub fn reverse_bits(self) -> Uint<BITS, LIMBS>
pub fn reverse_bits(self) -> Uint<BITS, LIMBS>
Reverses the order of bits in the integer. The least significant bit becomes the most significant bit, second least-significant bit becomes second most-significant bit, etc.
pub const fn leading_zeros(&self) -> usize
pub const fn leading_zeros(&self) -> usize
Returns the number of leading zeros in the binary representation of
self.
pub const fn leading_ones(&self) -> usize
pub const fn leading_ones(&self) -> usize
Returns the number of leading ones in the binary representation of
self.
pub fn trailing_zeros(&self) -> usize
pub fn trailing_zeros(&self) -> usize
Returns the number of trailing zeros in the binary representation of
self.
pub fn trailing_ones(&self) -> usize
pub fn trailing_ones(&self) -> usize
Returns the number of trailing ones in the binary representation of
self.
pub const fn count_ones(&self) -> usize
pub const fn count_ones(&self) -> usize
Returns the number of ones in the binary representation of self.
pub const fn count_zeros(&self) -> usize
pub const fn count_zeros(&self) -> usize
Returns the number of zeros in the binary representation of self.
pub const fn bit_len(&self) -> usize
pub const fn bit_len(&self) -> usize
Returns the dynamic length of this number in bits, ignoring leading zeros.
For the maximum length of the type, use Uint::BITS.
pub const fn byte_len(&self) -> usize
pub const fn byte_len(&self) -> usize
Returns the dynamic length of this number in bytes, ignoring leading zeros.
For the maximum length of the type, use Uint::BYTES.
pub fn most_significant_bits(&self) -> (u64, usize)
pub fn most_significant_bits(&self) -> (u64, usize)
Returns the most significant 64 bits of the number and the exponent.
Given return value $(\mathtt{bits}, \mathtt{exponent})$, the self can
be approximated as
$$ \mathtt{self} ≈ \mathtt{bits} ⋅ 2^\mathtt{exponent} $$
If self is $<≥> 2^{63}$, then exponent will be zero and bits will
have leading zeros.
pub const fn checked_shl(self, rhs: usize) -> Option<Uint<BITS, LIMBS>>
pub const fn checked_shl(self, rhs: usize) -> Option<Uint<BITS, LIMBS>>
Checked left shift by rhs bits.
Returns $\mathtt{self} ⋅ 2^{\mathtt{rhs}}$ or None if the result
would $≥ 2^{\mathtt{BITS}}$. That is, it returns None if the bits
shifted out would be non-zero.
Note: This differs from u64::checked_shl which returns None if the
shift is larger than BITS (which is IMHO not very useful).
pub const fn saturating_shl(self, rhs: usize) -> Uint<BITS, LIMBS>
pub const fn saturating_shl(self, rhs: usize) -> Uint<BITS, LIMBS>
pub const fn overflowing_shl(self, rhs: usize) -> (Uint<BITS, LIMBS>, bool)
pub const fn overflowing_shl(self, rhs: usize) -> (Uint<BITS, LIMBS>, bool)
Left shift by rhs bits with overflow detection.
Returns $\mod{\mathtt{value} ⋅ 2^{\mathtt{rhs}}}_{2^{\mathtt{BITS}}}$.
If the product is $≥ 2^{\mathtt{BITS}}$ it returns true. That is, it
returns true if the bits shifted out are non-zero.
Note: This differs from u64::overflowing_shl which returns true if
the shift is larger than BITS (which is IMHO not very useful).
pub const fn wrapping_shl(self, rhs: usize) -> Uint<BITS, LIMBS>
pub const fn wrapping_shl(self, rhs: usize) -> Uint<BITS, LIMBS>
Left shift by rhs bits.
Returns $\mod{\mathtt{value} ⋅ 2^{\mathtt{rhs}}}_{2^{\mathtt{BITS}}}$.
Note: This differs from u64::wrapping_shl which first reduces rhs
by BITS (which is IMHO not very useful).
pub const fn checked_shr(self, rhs: usize) -> Option<Uint<BITS, LIMBS>>
pub const fn checked_shr(self, rhs: usize) -> Option<Uint<BITS, LIMBS>>
Checked right shift by rhs bits.
$$ \frac{\mathtt{self}}{2^{\mathtt{rhs}}} $$
Returns the above or None if the division is not exact. This is the
same as
Note: This differs from u64::checked_shr which returns None if the
shift is larger than BITS (which is IMHO not very useful).
pub const fn overflowing_shr(self, rhs: usize) -> (Uint<BITS, LIMBS>, bool)
pub const fn overflowing_shr(self, rhs: usize) -> (Uint<BITS, LIMBS>, bool)
Right shift by rhs bits with underflow detection.
$$ \floor{\frac{\mathtt{self}}{2^{\mathtt{rhs}}}} $$
Returns the above and false if the division was exact, and true if
it was rounded down. This is the same as non-zero bits being shifted
out.
Note: This differs from u64::overflowing_shr which returns true if
the shift is larger than BITS (which is IMHO not very useful).
pub const fn wrapping_shr(self, rhs: usize) -> Uint<BITS, LIMBS>
pub const fn wrapping_shr(self, rhs: usize) -> Uint<BITS, LIMBS>
Right shift by rhs bits.
$$ \mathtt{wrapping\_shr}(\mathtt{self}, \mathtt{rhs}) = \floor{\frac{\mathtt{self}}{2^{\mathtt{rhs}}}} $$
Note: This differs from u64::wrapping_shr which first reduces rhs
by BITS (which is IMHO not very useful).
pub const fn arithmetic_shr(self, rhs: usize) -> Uint<BITS, LIMBS>
pub const fn arithmetic_shr(self, rhs: usize) -> Uint<BITS, LIMBS>
Arithmetic shift right by rhs bits.
pub const fn rotate_left(self, rhs: usize) -> Uint<BITS, LIMBS>
pub const fn rotate_left(self, rhs: usize) -> Uint<BITS, LIMBS>
Shifts the bits to the left by a specified amount, rhs, wrapping the
truncated bits to the end of the resulting integer.
pub const fn rotate_right(self, rhs: usize) -> Uint<BITS, LIMBS>
pub const fn rotate_right(self, rhs: usize) -> Uint<BITS, LIMBS>
Shifts the bits to the right by a specified amount, rhs, wrapping the
truncated bits to the beginning of the resulting integer.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub const BYTES: usize
pub const BYTES: usize
The size of this integer type in bytes. Note that some bits may be forced zero if BITS is not cleanly divisible by eight.
pub const fn as_le_slice(&self) -> &[u8] ⓘ
pub const fn as_le_slice(&self) -> &[u8] ⓘ
Access the underlying store as a little-endian slice of bytes.
Only available on little-endian targets.
If BITS does not evenly divide 8, it is padded with zero bits in the
most significant position.
pub unsafe fn as_le_slice_mut(&mut self) -> &mut [u8] ⓘ
pub unsafe fn as_le_slice_mut(&mut self) -> &mut [u8] ⓘ
pub fn as_le_bytes(&self) -> Cow<'_, [u8]>
pub fn as_le_bytes(&self) -> Cow<'_, [u8]>
Access the underlying store as a little-endian bytes.
Uses an optimized implementation on little-endian targets.
pub fn as_le_bytes_trimmed(&self) -> Cow<'_, [u8]>
pub fn as_le_bytes_trimmed(&self) -> Cow<'_, [u8]>
Access the underlying store as a little-endian bytes with trailing zeros removed.
Uses an optimized implementation on little-endian targets.
pub const fn to_le_bytes<const BYTES: usize>(&self) -> [u8; BYTES]
pub const fn to_le_bytes<const BYTES: usize>(&self) -> [u8; BYTES]
Converts the Uint to a little-endian byte array of size exactly
Self::BYTES.
§Panics
Panics if the generic parameter BYTES is not exactly Self::BYTES.
Ideally this would be a compile time error, but this is blocked by
Rust issue #60551.
pub fn to_le_bytes_vec(&self) -> Vec<u8> ⓘ
pub fn to_le_bytes_vec(&self) -> Vec<u8> ⓘ
Converts the Uint to a little-endian byte vector of size exactly
Self::BYTES.
This method is useful when Self::to_le_bytes can not be used because
byte size is not known compile time.
pub fn to_le_bytes_trimmed_vec(&self) -> Vec<u8> ⓘ
pub fn to_le_bytes_trimmed_vec(&self) -> Vec<u8> ⓘ
Converts the Uint to a little-endian byte vector with trailing zeros
bytes removed.
pub const fn to_be_bytes<const BYTES: usize>(&self) -> [u8; BYTES]
pub const fn to_be_bytes<const BYTES: usize>(&self) -> [u8; BYTES]
Converts the Uint to a big-endian byte array of size exactly
Self::BYTES.
§Panics
Panics if the generic parameter BYTES is not exactly Self::BYTES.
Ideally this would be a compile time error, but this is blocked by
Rust issue #60551.
pub fn to_be_bytes_vec(&self) -> Vec<u8> ⓘ
pub fn to_be_bytes_vec(&self) -> Vec<u8> ⓘ
Converts the Uint to a big-endian byte vector of size exactly
Self::BYTES.
This method is useful when Self::to_be_bytes can not be used because
byte size is not known compile time.
pub fn to_be_bytes_trimmed_vec(&self) -> Vec<u8> ⓘ
pub fn to_be_bytes_trimmed_vec(&self) -> Vec<u8> ⓘ
Converts the Uint to a big-endian byte vector with leading zeros
bytes removed.
pub const fn from_be_bytes<const BYTES: usize>(
bytes: [u8; BYTES],
) -> Uint<BITS, LIMBS>
pub const fn from_be_bytes<const BYTES: usize>( bytes: [u8; BYTES], ) -> Uint<BITS, LIMBS>
Converts a big-endian byte array of size exactly
Self::BYTES to Uint.
§Panics
Panics if the generic parameter BYTES is not exactly Self::BYTES.
Ideally this would be a compile time error, but this is blocked by
Rust issue #60551.
Panics if the value is too large for the bit-size of the Uint.
pub const fn from_be_slice(bytes: &[u8]) -> Uint<BITS, LIMBS>
pub const fn from_be_slice(bytes: &[u8]) -> Uint<BITS, LIMBS>
Creates a new integer from a big endian slice of bytes.
The slice is interpreted as a big endian number, and must be at most
Self::BYTES long.
§Panics
Panics if the value is larger than fits the Uint.
pub const fn try_from_be_slice(bytes: &[u8]) -> Option<Uint<BITS, LIMBS>>
pub const fn try_from_be_slice(bytes: &[u8]) -> Option<Uint<BITS, LIMBS>>
Creates a new integer from a big endian slice of bytes.
The slice is interpreted as a big endian number, and must be at most
Self::BYTES long.
pub const fn from_le_bytes<const BYTES: usize>(
bytes: [u8; BYTES],
) -> Uint<BITS, LIMBS>
pub const fn from_le_bytes<const BYTES: usize>( bytes: [u8; BYTES], ) -> Uint<BITS, LIMBS>
Converts a little-endian byte array of size exactly
Self::BYTES to Uint.
§Panics
Panics if the generic parameter BYTES is not exactly Self::BYTES.
Ideally this would be a compile time error, but this is blocked by
Rust issue #60551.
Panics if the value is too large for the bit-size of the Uint.
pub const fn from_le_slice(bytes: &[u8]) -> Uint<BITS, LIMBS>
pub const fn from_le_slice(bytes: &[u8]) -> Uint<BITS, LIMBS>
Creates a new integer from a little endian slice of bytes.
The slice is interpreted as a little endian number, and must be at most
Self::BYTES long.
§Panics
Panics if the value is larger than fits the Uint.
pub const fn try_from_le_slice(bytes: &[u8]) -> Option<Uint<BITS, LIMBS>>
pub const fn try_from_le_slice(bytes: &[u8]) -> Option<Uint<BITS, LIMBS>>
Creates a new integer from a little endian slice of bytes.
The slice is interpreted as a little endian number, and must be at most
Self::BYTES long.
pub fn copy_le_bytes_to(&self, buf: &mut [u8]) -> usize
pub fn copy_le_bytes_to(&self, buf: &mut [u8]) -> usize
Writes the little-endian representation of the Uint to the given
buffer. The buffer must be large enough to hold Self::BYTES bytes.
§Panics
Panics if the buffer is not large enough to hold Self::BYTES bytes.
§Returns
The number of bytes written to the buffer (always equal to
Self::BYTES, but often useful to make explicit for encoders).
pub fn checked_copy_le_bytes_to(&self, buf: &mut [u8]) -> Option<usize>
pub fn checked_copy_le_bytes_to(&self, buf: &mut [u8]) -> Option<usize>
Writes the little-endian representation of the Uint to the given
buffer. The buffer must be large enough to hold Self::BYTES bytes.
§Returns
None, if the buffer is not large enough to hold Self::BYTES
bytes, and does not modify the buffer.
Some with the number of bytes written to the buffer (always
equal to Self::BYTES, but often useful to make explicit for
encoders).
pub fn copy_be_bytes_to(&self, buf: &mut [u8]) -> usize
pub fn copy_be_bytes_to(&self, buf: &mut [u8]) -> usize
Writes the big-endian representation of the Uint to the given
buffer. The buffer must be large enough to hold Self::BYTES bytes.
§Panics
Panics if the buffer is not large enough to hold Self::BYTES bytes.
§Returns
The number of bytes written to the buffer (always equal to
Self::BYTES, but often useful to make explicit for encoders).
pub fn checked_copy_be_bytes_to(&self, buf: &mut [u8]) -> Option<usize>
pub fn checked_copy_be_bytes_to(&self, buf: &mut [u8]) -> Option<usize>
Writes the big-endian representation of the Uint to the given
buffer. The buffer must be large enough to hold Self::BYTES bytes.
§Returns
None, if the buffer is not large enough to hold Self::BYTES
bytes, and does not modify the buffer.
Some with the number of bytes written to the buffer (always
equal to Self::BYTES, but often useful to make explicit for
encoders).
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub const fn const_is_zero(&self) -> bool
pub const fn const_is_zero(&self) -> bool
Returns true if the value is zero.
Note that this currently might perform worse than
is_zero.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn checked_div(self, rhs: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
pub fn checked_div(self, rhs: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
Computes self / rhs, returning None if rhs == 0.
pub fn checked_rem(self, rhs: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
pub fn checked_rem(self, rhs: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
Computes self % rhs, returning None if rhs == 0.
pub fn wrapping_div(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn wrapping_div(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn wrapping_rem(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn wrapping_rem(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn from<T>(value: T) -> Uint<BITS, LIMBS>where
Uint<BITS, LIMBS>: UintTryFrom<T>,
pub fn from<T>(value: T) -> Uint<BITS, LIMBS>where
Uint<BITS, LIMBS>: UintTryFrom<T>,
Construct a new Uint from the value.
§Panics
Panics if the conversion fails, for example if the value is too large
for the bit-size of the Uint. The panic will be attributed to the
call site.
§Examples
assert_eq!(U8::from(142_u16), 142_U8);
assert_eq!(U64::from(0x7014b4c2d1f2_U256), 0x7014b4c2d1f2_U64);
assert_eq!(U64::from(3.145), 3_U64);pub fn saturating_from<T>(value: T) -> Uint<BITS, LIMBS>where
Uint<BITS, LIMBS>: UintTryFrom<T>,
pub fn saturating_from<T>(value: T) -> Uint<BITS, LIMBS>where
Uint<BITS, LIMBS>: UintTryFrom<T>,
Construct a new Uint from the value saturating the value to the
minimum or maximum value of the Uint.
If the value is not a number (like f64::NAN), then the result is
set zero.
§Examples
assert_eq!(U8::saturating_from(300_u16), 255_U8);
assert_eq!(U8::saturating_from(-10_i16), 0_U8);
assert_eq!(U32::saturating_from(0x7014b4c2d1f2_U256), U32::MAX);pub fn wrapping_from<T>(value: T) -> Uint<BITS, LIMBS>where
Uint<BITS, LIMBS>: UintTryFrom<T>,
pub fn wrapping_from<T>(value: T) -> Uint<BITS, LIMBS>where
Uint<BITS, LIMBS>: UintTryFrom<T>,
Construct a new Uint from the value saturating the value to the
minimum or maximum value of the Uint.
If the value is not a number (like f64::NAN), then the result is
set zero.
§Examples
assert_eq!(U8::wrapping_from(300_u16), 44_U8);
assert_eq!(U8::wrapping_from(-10_i16), 246_U8);
assert_eq!(U32::wrapping_from(0x7014b4c2d1f2_U256), 0xb4c2d1f2_U32);pub fn to<T>(&self) -> T
pub fn to<T>(&self) -> T
pub fn wrapping_to<T>(&self) -> T
pub fn wrapping_to<T>(&self) -> T
§Examples
assert_eq!(300_U12.wrapping_to::<i8>(), 44_i8);
assert_eq!(255_U32.wrapping_to::<i8>(), -1_i8);
assert_eq!(0x1337cafec0d3_U256.wrapping_to::<U32>(), 0xcafec0d3_U32);pub fn saturating_to<T>(&self) -> T
pub fn saturating_to<T>(&self) -> T
§Examples
assert_eq!(300_U12.saturating_to::<i16>(), 300_i16);
assert_eq!(255_U32.saturating_to::<i8>(), 127);
assert_eq!(0x1337cafec0d3_U256.saturating_to::<U32>(), U32::MAX);§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn gcd_extended(
self,
other: Uint<BITS, LIMBS>,
) -> (Uint<BITS, LIMBS>, Uint<BITS, LIMBS>, Uint<BITS, LIMBS>, bool)
pub fn gcd_extended( self, other: Uint<BITS, LIMBS>, ) -> (Uint<BITS, LIMBS>, Uint<BITS, LIMBS>, Uint<BITS, LIMBS>, bool)
⚠️ Compute the greatest common divisor and the Bézout coefficients.
Warning. This is API is unstable and may change in a minor release.
Returns $(\mathtt{gcd}, \mathtt{x}, \mathtt{y}, \mathtt{sign})$ such that
$$ \gcd(\mathtt{self}, \mathtt{other}) = \mathtt{gcd} = \begin{cases} \mathtt{self} · \mathtt{x} - \mathtt{other} . \mathtt{y} & \mathtt{sign} \\ \mathtt{other} · \mathtt{y} - \mathtt{self} · \mathtt{x} & ¬\mathtt{sign} \end{cases} $$
Note that the intermediate products may overflow, even though the result
after subtraction will fit in the bit size of the Uint.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn checked_log(self, base: Uint<BITS, LIMBS>) -> Option<usize>
pub fn checked_log(self, base: Uint<BITS, LIMBS>) -> Option<usize>
Returns the logarithm of the number, rounded down.
Returns None if the base is less than two, or this number is zero.
pub fn checked_log10(self) -> Option<usize>
pub fn checked_log10(self) -> Option<usize>
Returns the base 10 logarithm of the number, rounded down.
Returns None if the number is zero.
pub fn checked_log2(self) -> Option<usize>
pub fn checked_log2(self) -> Option<usize>
Returns the base 2 logarithm of the number, rounded down.
This is equivalent to the index of the highest set bit.
Returns None if the number is zero.
pub fn log(self, base: Uint<BITS, LIMBS>) -> usize
pub fn log(self, base: Uint<BITS, LIMBS>) -> usize
Returns the logarithm of the number, rounded down.
§Panics
Panics if the base is less than 2 or if the number is zero.
pub fn log10(self) -> usize
pub fn log10(self) -> usize
Returns the base 10 logarithm of the number, rounded down.
§Panics
Panics if the base if the number is zero.
pub fn log2(self) -> usize
pub fn log2(self) -> usize
Returns the base 2 logarithm of the number, rounded down.
§Panics
Panics if the base if the number is zero.
pub fn approx_log(self, base: f64) -> f64
pub fn approx_log(self, base: f64) -> f64
Double precision logarithm.
pub fn approx_log2(self) -> f64
pub fn approx_log2(self) -> f64
Double precision binary logarithm.
§Examples
assert_eq!(0_U64.approx_log2(), f64::NEG_INFINITY);
assert_eq!(1_U64.approx_log2(), 0.0);
assert_eq!(2_U64.approx_log2(), 1.0);
assert_eq!(U64::MAX.approx_log2(), 64.0);pub fn approx_log10(self) -> f64
pub fn approx_log10(self) -> f64
Double precision decimal logarithm.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn reduce_mod(self, modulus: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn reduce_mod(self, modulus: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
⚠️ Compute $\mod{\mathtt{self}}_{\mathtt{modulus}}$.
Warning. This function is not part of the stable API.
Returns zero if the modulus is zero.
pub fn add_mod(
self,
rhs: Uint<BITS, LIMBS>,
modulus: Uint<BITS, LIMBS>,
) -> Uint<BITS, LIMBS>
pub fn add_mod( self, rhs: Uint<BITS, LIMBS>, modulus: Uint<BITS, LIMBS>, ) -> Uint<BITS, LIMBS>
Compute $\mod{\mathtt{self} + \mathtt{rhs}}_{\mathtt{modulus}}$.
Returns zero if the modulus is zero.
pub fn mul_mod(
self,
rhs: Uint<BITS, LIMBS>,
modulus: Uint<BITS, LIMBS>,
) -> Uint<BITS, LIMBS>
pub fn mul_mod( self, rhs: Uint<BITS, LIMBS>, modulus: Uint<BITS, LIMBS>, ) -> Uint<BITS, LIMBS>
Compute $\mod{\mathtt{self} ⋅ \mathtt{rhs}}_{\mathtt{modulus}}$.
Returns zero if the modulus is zero.
See mul_redc for a faster variant at the cost of
some pre-computation.
pub fn pow_mod(
self,
exp: Uint<BITS, LIMBS>,
modulus: Uint<BITS, LIMBS>,
) -> Uint<BITS, LIMBS>
pub fn pow_mod( self, exp: Uint<BITS, LIMBS>, modulus: Uint<BITS, LIMBS>, ) -> Uint<BITS, LIMBS>
Compute $\mod{\mathtt{self}^{\mathtt{rhs}}}_{\mathtt{modulus}}$.
Returns zero if the modulus is zero.
pub fn inv_mod(self, modulus: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
pub fn inv_mod(self, modulus: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
Compute $\mod{\mathtt{self}^{-1}}_{\mathtt{modulus}}$.
Returns None if the inverse does not exist.
pub fn mul_redc(
self,
other: Uint<BITS, LIMBS>,
modulus: Uint<BITS, LIMBS>,
inv: u64,
) -> Uint<BITS, LIMBS>
pub fn mul_redc( self, other: Uint<BITS, LIMBS>, modulus: Uint<BITS, LIMBS>, inv: u64, ) -> Uint<BITS, LIMBS>
Montgomery multiplication.
Requires self and other to be less than modulus.
Computes
$$ \mod{\frac{\mathtt{self} ⋅ \mathtt{other}}{ 2^{64 · \mathtt{LIMBS}}}}_{\mathtt{modulus}} $$
This is useful because it can be computed notably faster than
mul_mod. Many computations can be done by
pre-multiplying values with $R = 2^{64 · \mathtt{LIMBS}}$
and then using mul_redc instead of
mul_mod.
For this algorithm to work, it needs an extra parameter inv which must
be set to
$$ \mathtt{inv} = \mod{\frac{-1}{\mathtt{modulus}} }_{2^{64}} $$
The inv value only exists for odd values of modulus. It can be
computed using inv_ring from U64.
let inv = U64::wrapping_from(modulus).inv_ring().unwrap().wrapping_neg().to();
let prod = 5_U256.mul_redc(6_U256, modulus, inv);§Panics
Panics if inv is not correct in debug mode.
pub fn square_redc(
self,
modulus: Uint<BITS, LIMBS>,
inv: u64,
) -> Uint<BITS, LIMBS>
pub fn square_redc( self, modulus: Uint<BITS, LIMBS>, inv: u64, ) -> Uint<BITS, LIMBS>
Montgomery squaring.
See Self::mul_redc.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn checked_mul(self, rhs: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
pub fn checked_mul(self, rhs: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
Computes self * rhs, returning None if overflow occurred.
pub fn overflowing_mul(
self,
rhs: Uint<BITS, LIMBS>,
) -> (Uint<BITS, LIMBS>, bool)
pub fn overflowing_mul( self, rhs: Uint<BITS, LIMBS>, ) -> (Uint<BITS, LIMBS>, bool)
Calculates the multiplication of self and rhs.
Returns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.
§Examples
assert_eq!(1_U1.overflowing_mul(1_U1), (1_U1, false));
assert_eq!(
0x010000000000000000_U65.overflowing_mul(0x010000000000000000_U65),
(0x000000000000000000_U65, true)
);pub fn saturating_mul(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn saturating_mul(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes self * rhs, saturating at the numeric bounds instead of
overflowing.
pub fn wrapping_mul(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn wrapping_mul(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes self * rhs, wrapping around at the boundary of the type.
pub fn inv_ring(self) -> Option<Uint<BITS, LIMBS>>
pub fn inv_ring(self) -> Option<Uint<BITS, LIMBS>>
Computes the inverse modulo $2^{\mathtt{BITS}}$ of self, returning
None if the inverse does not exist.
pub fn widening_mul<const BITS_RHS: usize, const LIMBS_RHS: usize, const BITS_RES: usize, const LIMBS_RES: usize>(
self,
rhs: Uint<BITS_RHS, LIMBS_RHS>,
) -> Uint<BITS_RES, LIMBS_RES>
pub fn widening_mul<const BITS_RHS: usize, const LIMBS_RHS: usize, const BITS_RES: usize, const LIMBS_RES: usize>( self, rhs: Uint<BITS_RHS, LIMBS_RHS>, ) -> Uint<BITS_RES, LIMBS_RES>
Calculates the complete product self * rhs without the possibility to
overflow.
The argument rhs can be any size Uint, the result size is the sum
of the bit-sizes of self and rhs.
§Panics
This function will runtime panic of the const generic arguments are incorrect.
§Examples
assert_eq!(0_U0.widening_mul(0_U0), 0_U0);
assert_eq!(1_U1.widening_mul(1_U1), 1_U2);
assert_eq!(3_U2.widening_mul(7_U3), 21_U5);§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn checked_pow(self, exp: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
pub fn checked_pow(self, exp: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
Raises self to the power of exp.
Returns None if the result would overflow.
pub fn overflowing_pow(
self,
exp: Uint<BITS, LIMBS>,
) -> (Uint<BITS, LIMBS>, bool)
pub fn overflowing_pow( self, exp: Uint<BITS, LIMBS>, ) -> (Uint<BITS, LIMBS>, bool)
Raises self to the power of exp and if the result would overflow.
§Examples
assert_eq!(
36_U64.overflowing_pow(12_U64),
(0x41c21cb8e1000000_U64, false)
);
assert_eq!(
36_U64.overflowing_pow(13_U64),
(0x3f4c09ffa4000000_U64, true)
);
assert_eq!(
36_U68.overflowing_pow(13_U68),
(0x093f4c09ffa4000000_U68, false)
);
assert_eq!(16_U65.overflowing_pow(32_U65), (0_U65, true));Small cases:
assert_eq!(0_U0.overflowing_pow(0_U0), (0_U0, false));
assert_eq!(0_U1.overflowing_pow(0_U1), (1_U1, false));
assert_eq!(0_U1.overflowing_pow(1_U1), (0_U1, false));
assert_eq!(1_U1.overflowing_pow(0_U1), (1_U1, false));
assert_eq!(1_U1.overflowing_pow(1_U1), (1_U1, false));pub fn pow(self, exp: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn pow(self, exp: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Raises self to the power of exp, wrapping around on overflow.
pub fn saturating_pow(self, exp: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn saturating_pow(self, exp: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Raises self to the power of exp, saturating on overflow.
pub fn wrapping_pow(self, exp: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn wrapping_pow(self, exp: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Raises self to the power of exp, wrapping around on overflow.
pub fn approx_pow2(exp: f64) -> Option<Uint<BITS, LIMBS>>
pub fn approx_pow2(exp: f64) -> Option<Uint<BITS, LIMBS>>
Construct from double precision binary logarithm.
§Examples
assert_eq!(U64::approx_pow2(-2.0), Some(0_U64));
assert_eq!(U64::approx_pow2(-1.0), Some(1_U64));
assert_eq!(U64::approx_pow2(0.0), Some(1_U64));
assert_eq!(U64::approx_pow2(1.0), Some(2_U64));
assert_eq!(U64::approx_pow2(1.6), Some(3_U64));
assert_eq!(U64::approx_pow2(2.0), Some(4_U64));
assert_eq!(U64::approx_pow2(64.0), None);
assert_eq!(U64::approx_pow2(10.385), Some(1337_U64));§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn root(self, degree: usize) -> Uint<BITS, LIMBS>
pub fn root(self, degree: usize) -> Uint<BITS, LIMBS>
Computes the floor of the degree-th root of the number.
$$ \floor{\sqrt[\mathtt{degree}]{\mathtt{self}}} $$
§Panics
Panics if degree is zero.
§Examples
assert_eq!(0_U64.root(2), 0_U64);
assert_eq!(1_U64.root(63), 1_U64);
assert_eq!(0x0032da8b0f88575d_U63.root(64), 1_U63);
assert_eq!(0x1756800000000000_U63.root(34), 3_U63);§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub const fn is_power_of_two(self) -> bool
pub const fn is_power_of_two(self) -> bool
Returns true if and only if self == 2^k for some k.
pub fn next_power_of_two(self) -> Uint<BITS, LIMBS>
pub fn next_power_of_two(self) -> Uint<BITS, LIMBS>
Returns the smallest power of two greater than or equal to self.
§Panics
Panics if the value overlfows.
pub fn checked_next_power_of_two(self) -> Option<Uint<BITS, LIMBS>>
pub fn checked_next_power_of_two(self) -> Option<Uint<BITS, LIMBS>>
Returns the smallest power of two greater than or equal to self. If
the next power of two is greater than the type’s maximum value,
None is returned, otherwise the power of two is wrapped in
Some.
§Examples
assert_eq!(0_U64.checked_next_power_of_two(), Some(1_U64));
assert_eq!(1_U64.checked_next_power_of_two(), Some(1_U64));
assert_eq!(2_U64.checked_next_power_of_two(), Some(2_U64));
assert_eq!(3_U64.checked_next_power_of_two(), Some(4_U64));
assert_eq!(U64::MAX.checked_next_power_of_two(), None);§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn next_multiple_of(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn next_multiple_of(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Calculates the smallest value greater than or equal to self that is a multiple of rhs.
§Panics
This function will panic if rhs is 0 or the operation results in
overflow.
pub fn checked_next_multiple_of(
self,
rhs: Uint<BITS, LIMBS>,
) -> Option<Uint<BITS, LIMBS>>
pub fn checked_next_multiple_of( self, rhs: Uint<BITS, LIMBS>, ) -> Option<Uint<BITS, LIMBS>>
Calculates the smallest value greater than or equal to self that is a
multiple of rhs. Returns None is rhs is zero or the
operation would result in overflow.
§Examples
assert_eq!(16_U64.checked_next_multiple_of(8_U64), Some(16_U64));
assert_eq!(23_U64.checked_next_multiple_of(8_U64), Some(24_U64));
assert_eq!(1_U64.checked_next_multiple_of(0_U64), None);
assert_eq!(U64::MAX.checked_next_multiple_of(2_U64), None);
}assert_eq!(0_U0.checked_next_multiple_of(0_U0), None);
assert_eq!(0_U1.checked_next_multiple_of(0_U1), None);
assert_eq!(0_U1.checked_next_multiple_of(1_U1), Some(0_U1));
assert_eq!(1_U1.checked_next_multiple_of(0_U1), None);
assert_eq!(1_U1.checked_next_multiple_of(1_U1), Some(1_U1));
}§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn from_str_radix(
src: &str,
radix: u64,
) -> Result<Uint<BITS, LIMBS>, ParseError>
pub fn from_str_radix( src: &str, radix: u64, ) -> Result<Uint<BITS, LIMBS>, ParseError>
Parse a string into a Uint.
For bases 2 to 36, the case-agnostic alphabet 0—1, a—b is used and _
are ignored. For bases 37 to 64, the case-sensitive alphabet a—z, A—Z,
0—9, {+-}, {/,_} is used. That is, for base 64 it is compatible with
all the common base64 variants.
§Errors
ParseError::InvalidDigitif the string contains a non-digit.ParseError::InvalidRadixif the radix is larger than 64.ParseError::BaseConvertErrorifUint::from_base_befails.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn random() -> Uint<BITS, LIMBS>
pub fn random() -> Uint<BITS, LIMBS>
Creates a new Uint with the default cryptographic random number
generator.
This is currently rand::rng().
pub fn random_with<R>(rng: &mut R) -> Uint<BITS, LIMBS>
pub fn random_with<R>(rng: &mut R) -> Uint<BITS, LIMBS>
Creates a new Uint with the given random number generator.
pub fn randomize(&mut self)
pub fn randomize(&mut self)
pub fn randomize_with<R>(&mut self, rng: &mut R)
pub fn randomize_with<R>(&mut self, rng: &mut R)
Fills this Uint with the given random number generator.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub const ZERO: Uint<BITS, LIMBS>
pub const ZERO: Uint<BITS, LIMBS>
The value zero. This is the only value that exists in all Uint
types.
pub const ONE: Uint<BITS, LIMBS>
pub const ONE: Uint<BITS, LIMBS>
The value one. This is useful to have as a constant for use in const fn.
Zero if BITS is zero.
pub const MIN: Uint<BITS, LIMBS> = Self::ZERO
pub const MIN: Uint<BITS, LIMBS> = Self::ZERO
The smallest value that can be represented by this integer type.
Synonym for Self::ZERO.
pub const MAX: Uint<BITS, LIMBS>
pub const MAX: Uint<BITS, LIMBS>
The largest value that can be represented by this integer type, $2^{\mathtt{BITS}} − 1$.
pub unsafe fn as_limbs_mut(&mut self) -> &mut [u64; LIMBS]
pub unsafe fn as_limbs_mut(&mut self) -> &mut [u64; LIMBS]
Access the array of limbs.
§Safety
This function is unsafe because it allows setting a bit outside the bit size if the bit-size is not limb-aligned.
pub const fn into_limbs(self) -> [u64; LIMBS]
pub const fn into_limbs(self) -> [u64; LIMBS]
Convert to a array of limbs.
Limbs are least significant first.
pub const fn from_limbs(limbs: [u64; LIMBS]) -> Uint<BITS, LIMBS>
pub const fn from_limbs(limbs: [u64; LIMBS]) -> Uint<BITS, LIMBS>
Construct a new integer from little-endian a array of limbs.
§Panics
Panics it LIMBS is not equal to nlimbs(BITS).
Panics if the value is too large for the bit-size of the Uint.
pub fn from_limbs_slice(slice: &[u64]) -> Uint<BITS, LIMBS>
pub fn from_limbs_slice(slice: &[u64]) -> Uint<BITS, LIMBS>
Construct a new integer from little-endian a slice of limbs.
§Panics
Panics if the value is too large for the bit-size of the Uint.
pub fn checked_from_limbs_slice(slice: &[u64]) -> Option<Uint<BITS, LIMBS>>
pub fn checked_from_limbs_slice(slice: &[u64]) -> Option<Uint<BITS, LIMBS>>
Construct a new integer from little-endian a slice of limbs, or None
if the value is too large for the Uint.
pub fn wrapping_from_limbs_slice(slice: &[u64]) -> Uint<BITS, LIMBS>
pub fn wrapping_from_limbs_slice(slice: &[u64]) -> Uint<BITS, LIMBS>
Construct a new Uint from a little-endian slice of limbs. Returns
a potentially truncated value.
pub fn overflowing_from_limbs_slice(slice: &[u64]) -> (Uint<BITS, LIMBS>, bool)
pub fn overflowing_from_limbs_slice(slice: &[u64]) -> (Uint<BITS, LIMBS>, bool)
Construct a new Uint from a little-endian slice of limbs. Returns
a potentially truncated value and a boolean indicating whether the value
was truncated.
pub fn saturating_from_limbs_slice(slice: &[u64]) -> Uint<BITS, LIMBS>
pub fn saturating_from_limbs_slice(slice: &[u64]) -> Uint<BITS, LIMBS>
Trait Implementations§
§impl<const BITS: usize, const LIMBS: usize> AddAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> AddAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn add_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn add_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
+= operation. Read more§impl<const BITS: usize, const LIMBS: usize> AddAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> AddAssign for Uint<BITS, LIMBS>
§fn add_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn add_assign(&mut self, rhs: Uint<BITS, LIMBS>)
+= operation. Read more§impl<'a, const BITS: usize, const LIMBS: usize> Arbitrary<'a> for Uint<BITS, LIMBS>
impl<'a, const BITS: usize, const LIMBS: usize> Arbitrary<'a> for Uint<BITS, LIMBS>
§fn arbitrary(u: &mut Unstructured<'a>) -> Result<Uint<BITS, LIMBS>, Error>
fn arbitrary(u: &mut Unstructured<'a>) -> Result<Uint<BITS, LIMBS>, Error>
Self from the given unstructured data. Read more§fn size_hint(_depth: usize) -> (usize, Option<usize>)
fn size_hint(_depth: usize) -> (usize, Option<usize>)
Unstructured this type
needs to construct itself. Read more§fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
Self from the entirety of the given
unstructured data. Read more§impl<const BITS: usize, const LIMBS: usize> Arbitrary for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Arbitrary for Uint<BITS, LIMBS>
§type Parameters = ()
type Parameters = ()
arbitrary_with accepts for configuration
of the generated Strategy. Parameters must implement Default.§type Strategy = Map<<[u64; LIMBS] as Arbitrary>::Strategy, fn([u64; LIMBS]) -> Uint<BITS, LIMBS>>
type Strategy = Map<<[u64; LIMBS] as Arbitrary>::Strategy, fn([u64; LIMBS]) -> Uint<BITS, LIMBS>>
Strategy used to generate values of type Self.§impl<const BITS: usize, const LIMBS: usize> BitAndAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> BitAndAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn bitand_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn bitand_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
&= operation. Read more§impl<const BITS: usize, const LIMBS: usize> BitAndAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> BitAndAssign for Uint<BITS, LIMBS>
§fn bitand_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn bitand_assign(&mut self, rhs: Uint<BITS, LIMBS>)
&= operation. Read more§impl<const BITS: usize, const LIMBS: usize> BitOrAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> BitOrAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn bitor_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn bitor_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
|= operation. Read more§impl<const BITS: usize, const LIMBS: usize> BitOrAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> BitOrAssign for Uint<BITS, LIMBS>
§fn bitor_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn bitor_assign(&mut self, rhs: Uint<BITS, LIMBS>)
|= operation. Read more§impl<const BITS: usize, const LIMBS: usize> BitXorAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> BitXorAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn bitxor_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn bitxor_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
^= operation. Read more§impl<const BITS: usize, const LIMBS: usize> BitXorAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> BitXorAssign for Uint<BITS, LIMBS>
§fn bitxor_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn bitxor_assign(&mut self, rhs: Uint<BITS, LIMBS>)
^= operation. Read more§impl Compact for Uint<256, 4>
impl Compact for Uint<256, 4>
§fn to_compact<B>(&self, buf: &mut B) -> usize
fn to_compact<B>(&self, buf: &mut B) -> usize
§fn from_compact(buf: &[u8], len: usize) -> (Uint<256, 4>, &[u8])
fn from_compact(buf: &[u8], len: usize) -> (Uint<256, 4>, &[u8])
buf with its internal cursor
advanced (eg..advance(len)). Read more§fn specialized_to_compact<B>(&self, buf: &mut B) -> usize
fn specialized_to_compact<B>(&self, buf: &mut B) -> usize
§fn specialized_from_compact(buf: &[u8], len: usize) -> (Self, &[u8])
fn specialized_from_compact(buf: &[u8], len: usize) -> (Self, &[u8])
§impl Compact for Uint<96, 2>
impl Compact for Uint<96, 2>
§fn to_compact<B>(&self, buf: &mut B) -> usize
fn to_compact<B>(&self, buf: &mut B) -> usize
§fn from_compact(buf: &[u8], len: usize) -> (Uint<96, 2>, &[u8])
fn from_compact(buf: &[u8], len: usize) -> (Uint<96, 2>, &[u8])
buf with its internal cursor
advanced (eg..advance(len)). Read more§fn specialized_to_compact<B>(&self, buf: &mut B) -> usize
fn specialized_to_compact<B>(&self, buf: &mut B) -> usize
§fn specialized_from_compact(buf: &[u8], len: usize) -> (Self, &[u8])
fn specialized_from_compact(buf: &[u8], len: usize) -> (Self, &[u8])
§impl<const BITS: usize, const LIMBS: usize> Decodable for Uint<BITS, LIMBS>
Allows a Uint to be deserialized from RLP.
impl<const BITS: usize, const LIMBS: usize> Decodable for Uint<BITS, LIMBS>
Allows a Uint to be deserialized from RLP.
§impl Decode for Uint<128, 2>
impl Decode for Uint<128, 2>
§fn is_ssz_fixed_len() -> bool
fn is_ssz_fixed_len() -> bool
true if this object has a fixed-length. Read more§fn ssz_fixed_len() -> usize
fn ssz_fixed_len() -> usize
§impl Decode for Uint<256, 4>
impl Decode for Uint<256, 4>
§fn is_ssz_fixed_len() -> bool
fn is_ssz_fixed_len() -> bool
true if this object has a fixed-length. Read more§fn ssz_fixed_len() -> usize
fn ssz_fixed_len() -> usize
§impl<'de, const BITS: usize, const LIMBS: usize> Deserialize<'de> for Uint<BITS, LIMBS>
Deserialize human readable hex strings or byte arrays into Uint.
impl<'de, const BITS: usize, const LIMBS: usize> Deserialize<'de> for Uint<BITS, LIMBS>
Deserialize human readable hex strings or byte arrays into Uint.
Hex strings can be upper/lower/mixed case, have an optional 0x prefix, and
can be any length. They are interpreted big-endian.
§fn deserialize<D>(
deserializer: D,
) -> Result<Uint<BITS, LIMBS>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<Uint<BITS, LIMBS>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
§impl<const BITS: usize, const LIMBS: usize> Distribution<Uint<BITS, LIMBS>> for StandardUniform
impl<const BITS: usize, const LIMBS: usize> Distribution<Uint<BITS, LIMBS>> for StandardUniform
§impl<const BITS: usize, const LIMBS: usize> DivAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> DivAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn div_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn div_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
/= operation. Read more§impl<const BITS: usize, const LIMBS: usize> DivAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> DivAssign for Uint<BITS, LIMBS>
§fn div_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn div_assign(&mut self, rhs: Uint<BITS, LIMBS>)
/= operation. Read more§impl<const BITS: usize, const LIMBS: usize> Encodable for Uint<BITS, LIMBS>
Allows a Uint to be serialized as RLP.
impl<const BITS: usize, const LIMBS: usize> Encodable for Uint<BITS, LIMBS>
Allows a Uint to be serialized as RLP.
§impl Encode for Uint<128, 2>
impl Encode for Uint<128, 2>
§fn is_ssz_fixed_len() -> bool
fn is_ssz_fixed_len() -> bool
true if this object has a fixed-length. Read more§fn ssz_fixed_len() -> usize
fn ssz_fixed_len() -> usize
§fn ssz_bytes_len(&self) -> usize
fn ssz_bytes_len(&self) -> usize
self is serialized. Read more§fn ssz_append(&self, buf: &mut Vec<u8>)
fn ssz_append(&self, buf: &mut Vec<u8>)
§impl Encode for Uint<256, 4>
impl Encode for Uint<256, 4>
§fn is_ssz_fixed_len() -> bool
fn is_ssz_fixed_len() -> bool
true if this object has a fixed-length. Read more§fn ssz_fixed_len() -> usize
fn ssz_fixed_len() -> usize
§fn ssz_bytes_len(&self) -> usize
fn ssz_bytes_len(&self) -> usize
self is serialized. Read more§fn ssz_append(&self, buf: &mut Vec<u8>)
fn ssz_append(&self, buf: &mut Vec<u8>)
§impl From<&FlaggedStorage> for Uint<256, 4>
impl From<&FlaggedStorage> for Uint<256, 4>
§fn from(storage: &FlaggedStorage) -> Uint<256, 4>
fn from(storage: &FlaggedStorage) -> Uint<256, 4>
§impl From<FixedBytes<1>> for Uint<8, 1>
impl From<FixedBytes<1>> for Uint<8, 1>
§fn from(value: FixedBytes<1>) -> Uint<8, 1>
fn from(value: FixedBytes<1>) -> Uint<8, 1>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<16>> for Uint<128, 2>
impl From<FixedBytes<16>> for Uint<128, 2>
§fn from(value: FixedBytes<16>) -> Uint<128, 2>
fn from(value: FixedBytes<16>) -> Uint<128, 2>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<2>> for Uint<16, 1>
impl From<FixedBytes<2>> for Uint<16, 1>
§fn from(value: FixedBytes<2>) -> Uint<16, 1>
fn from(value: FixedBytes<2>) -> Uint<16, 1>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<20>> for Uint<160, 3>
impl From<FixedBytes<20>> for Uint<160, 3>
§fn from(value: FixedBytes<20>) -> Uint<160, 3>
fn from(value: FixedBytes<20>) -> Uint<160, 3>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<32>> for Uint<256, 4>
impl From<FixedBytes<32>> for Uint<256, 4>
§fn from(value: FixedBytes<32>) -> Uint<256, 4>
fn from(value: FixedBytes<32>) -> Uint<256, 4>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<4>> for Uint<32, 1>
impl From<FixedBytes<4>> for Uint<32, 1>
§fn from(value: FixedBytes<4>) -> Uint<32, 1>
fn from(value: FixedBytes<4>) -> Uint<32, 1>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<64>> for Uint<512, 8>
impl From<FixedBytes<64>> for Uint<512, 8>
§fn from(value: FixedBytes<64>) -> Uint<512, 8>
fn from(value: FixedBytes<64>) -> Uint<512, 8>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<8>> for Uint<64, 1>
impl From<FixedBytes<8>> for Uint<64, 1>
§fn from(value: FixedBytes<8>) -> Uint<64, 1>
fn from(value: FixedBytes<8>) -> Uint<64, 1>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FlaggedStorage> for Uint<256, 4>
impl From<FlaggedStorage> for Uint<256, 4>
§fn from(storage: FlaggedStorage) -> Uint<256, 4>
fn from(storage: FlaggedStorage) -> Uint<256, 4>
§impl From<ParseUnits> for Uint<256, 4>
impl From<ParseUnits> for Uint<256, 4>
§fn from(value: ParseUnits) -> Uint<256, 4>
fn from(value: ParseUnits) -> Uint<256, 4>
§impl From<Uint<128, 2>> for FixedBytes<16>
impl From<Uint<128, 2>> for FixedBytes<16>
§fn from(value: Uint<128, 2>) -> FixedBytes<16>
fn from(value: Uint<128, 2>) -> FixedBytes<16>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<16, 1>> for FixedBytes<2>
impl From<Uint<16, 1>> for FixedBytes<2>
§fn from(value: Uint<16, 1>) -> FixedBytes<2>
fn from(value: Uint<16, 1>) -> FixedBytes<2>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<160, 3>> for FixedBytes<20>
impl From<Uint<160, 3>> for FixedBytes<20>
§fn from(value: Uint<160, 3>) -> FixedBytes<20>
fn from(value: Uint<160, 3>) -> FixedBytes<20>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<256, 4>> for FilterSet<FixedBytes<32>>
impl From<Uint<256, 4>> for FilterSet<FixedBytes<32>>
§fn from(src: Uint<256, 4>) -> FilterSet<FixedBytes<32>>
fn from(src: Uint<256, 4>) -> FilterSet<FixedBytes<32>>
§impl From<Uint<256, 4>> for FixedBytes<32>
impl From<Uint<256, 4>> for FixedBytes<32>
§fn from(value: Uint<256, 4>) -> FixedBytes<32>
fn from(value: Uint<256, 4>) -> FixedBytes<32>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<256, 4>> for ParseUnits
impl From<Uint<256, 4>> for ParseUnits
§fn from(value: Uint<256, 4>) -> ParseUnits
fn from(value: Uint<256, 4>) -> ParseUnits
§impl From<Uint<32, 1>> for FixedBytes<4>
impl From<Uint<32, 1>> for FixedBytes<4>
§fn from(value: Uint<32, 1>) -> FixedBytes<4>
fn from(value: Uint<32, 1>) -> FixedBytes<4>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<512, 8>> for FixedBytes<64>
impl From<Uint<512, 8>> for FixedBytes<64>
§fn from(value: Uint<512, 8>) -> FixedBytes<64>
fn from(value: Uint<512, 8>) -> FixedBytes<64>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<64, 1>> for FixedBytes<8>
impl From<Uint<64, 1>> for FixedBytes<8>
§fn from(value: Uint<64, 1>) -> FixedBytes<8>
fn from(value: Uint<64, 1>) -> FixedBytes<8>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<8, 1>> for FixedBytes<1>
impl From<Uint<8, 1>> for FixedBytes<1>
§fn from(value: Uint<8, 1>) -> FixedBytes<1>
fn from(value: Uint<8, 1>) -> FixedBytes<1>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl IntoAddress for Uint<256, 4>
impl IntoAddress for Uint<256, 4>
fn into_address(self) -> Address
§impl<const BITS: usize, const LIMBS: usize> MulAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> MulAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn mul_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn mul_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
*= operation. Read more§impl<const BITS: usize, const LIMBS: usize> MulAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> MulAssign for Uint<BITS, LIMBS>
§fn mul_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn mul_assign(&mut self, rhs: Uint<BITS, LIMBS>)
*= operation. Read more§impl<const BITS: usize, const LIMBS: usize> Ord for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Ord for Uint<BITS, LIMBS>
§impl<const BITS: usize, const LIMBS: usize> PartialOrd for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> PartialOrd for Uint<BITS, LIMBS>
§impl<'a, const BITS: usize, const LIMBS: usize> Product<&'a Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<'a, const BITS: usize, const LIMBS: usize> Product<&'a Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§impl<const BITS: usize, const LIMBS: usize> RemAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> RemAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn rem_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn rem_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
%= operation. Read more§impl<const BITS: usize, const LIMBS: usize> RemAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> RemAssign for Uint<BITS, LIMBS>
§fn rem_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn rem_assign(&mut self, rhs: Uint<BITS, LIMBS>)
%= operation. Read more§impl<const BITS: usize, const LIMBS: usize> Serialize for Uint<BITS, LIMBS>
Serialize a Uint value.
impl<const BITS: usize, const LIMBS: usize> Serialize for Uint<BITS, LIMBS>
Serialize a Uint value.
For human readable formats a 0x prefixed lower case hex string is used.
For binary formats a byte array is used. Leading zeros are included.
§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn shl_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i16> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &i16)
fn shl_assign(&mut self, rhs: &i16)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i32> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &i32)
fn shl_assign(&mut self, rhs: &i32)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i64> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &i64)
fn shl_assign(&mut self, rhs: &i64)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i8> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &i8)
fn shl_assign(&mut self, rhs: &i8)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&isize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&isize> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &isize)
fn shl_assign(&mut self, rhs: &isize)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u16> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &u16)
fn shl_assign(&mut self, rhs: &u16)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u32> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &u32)
fn shl_assign(&mut self, rhs: &u32)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u64> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &u64)
fn shl_assign(&mut self, rhs: &u64)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u8> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &u8)
fn shl_assign(&mut self, rhs: &u8)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&usize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&usize> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &usize)
fn shl_assign(&mut self, rhs: &usize)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<i16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<i16> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: i16)
fn shl_assign(&mut self, rhs: i16)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<i32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<i32> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: i32)
fn shl_assign(&mut self, rhs: i32)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<i64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<i64> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: i64)
fn shl_assign(&mut self, rhs: i64)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<i8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<i8> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: i8)
fn shl_assign(&mut self, rhs: i8)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<isize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<isize> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: isize)
fn shl_assign(&mut self, rhs: isize)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<u16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<u16> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: u16)
fn shl_assign(&mut self, rhs: u16)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<u32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<u32> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: u32)
fn shl_assign(&mut self, rhs: u32)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<u64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<u64> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: u64)
fn shl_assign(&mut self, rhs: u64)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<u8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<u8> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: u8)
fn shl_assign(&mut self, rhs: u8)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<usize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<usize> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: usize)
fn shl_assign(&mut self, rhs: usize)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn shl_assign(&mut self, rhs: Uint<BITS, LIMBS>)
<<= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn shr_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i16> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &i16)
fn shr_assign(&mut self, rhs: &i16)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i32> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &i32)
fn shr_assign(&mut self, rhs: &i32)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i64> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &i64)
fn shr_assign(&mut self, rhs: &i64)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i8> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &i8)
fn shr_assign(&mut self, rhs: &i8)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&isize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&isize> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &isize)
fn shr_assign(&mut self, rhs: &isize)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u16> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &u16)
fn shr_assign(&mut self, rhs: &u16)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u32> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &u32)
fn shr_assign(&mut self, rhs: &u32)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u64> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &u64)
fn shr_assign(&mut self, rhs: &u64)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u8> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &u8)
fn shr_assign(&mut self, rhs: &u8)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&usize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&usize> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &usize)
fn shr_assign(&mut self, rhs: &usize)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<i16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<i16> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: i16)
fn shr_assign(&mut self, rhs: i16)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<i32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<i32> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: i32)
fn shr_assign(&mut self, rhs: i32)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<i64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<i64> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: i64)
fn shr_assign(&mut self, rhs: i64)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<i8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<i8> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: i8)
fn shr_assign(&mut self, rhs: i8)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<isize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<isize> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: isize)
fn shr_assign(&mut self, rhs: isize)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<u16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<u16> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: u16)
fn shr_assign(&mut self, rhs: u16)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<u32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<u32> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: u32)
fn shr_assign(&mut self, rhs: u32)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<u64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<u64> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: u64)
fn shr_assign(&mut self, rhs: u64)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<u8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<u8> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: u8)
fn shr_assign(&mut self, rhs: u8)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<usize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<usize> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: usize)
fn shr_assign(&mut self, rhs: usize)
>>= operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn shr_assign(&mut self, rhs: Uint<BITS, LIMBS>)
>>= operation. Read more§impl SolValue for Uint<104, 2>
impl SolValue for Uint<104, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<112, 2>
impl SolValue for Uint<112, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<120, 2>
impl SolValue for Uint<120, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<136, 3>
impl SolValue for Uint<136, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<144, 3>
impl SolValue for Uint<144, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<152, 3>
impl SolValue for Uint<152, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<160, 3>
impl SolValue for Uint<160, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<168, 3>
impl SolValue for Uint<168, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<176, 3>
impl SolValue for Uint<176, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<184, 3>
impl SolValue for Uint<184, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<192, 3>
impl SolValue for Uint<192, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<200, 4>
impl SolValue for Uint<200, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<208, 4>
impl SolValue for Uint<208, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<216, 4>
impl SolValue for Uint<216, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<224, 4>
impl SolValue for Uint<224, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<232, 4>
impl SolValue for Uint<232, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<24, 1>
impl SolValue for Uint<24, 1>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<240, 4>
impl SolValue for Uint<240, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<248, 4>
impl SolValue for Uint<248, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<256, 4>
impl SolValue for Uint<256, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<40, 1>
impl SolValue for Uint<40, 1>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<48, 1>
impl SolValue for Uint<48, 1>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<56, 1>
impl SolValue for Uint<56, 1>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<72, 2>
impl SolValue for Uint<72, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<80, 2>
impl SolValue for Uint<80, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<88, 2>
impl SolValue for Uint<88, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl SolValue for Uint<96, 2>
impl SolValue for Uint<96, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
<Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,
§impl StorageSlot for Uint<256, 4>
impl StorageSlot for Uint<256, 4>
§impl<const BITS: usize, const LIMBS: usize> SubAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> SubAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn sub_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn sub_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
-= operation. Read more§impl<const BITS: usize, const LIMBS: usize> SubAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> SubAssign for Uint<BITS, LIMBS>
§fn sub_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn sub_assign(&mut self, rhs: Uint<BITS, LIMBS>)
-= operation. Read moreimpl<const BITS: usize, const LIMBS: usize> Copy for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Eq for Uint<BITS, LIMBS>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#0}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#0}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#0}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#1}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#1}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#1}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#10}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#10}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#10}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#11}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#11}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#11}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#12}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#12}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#12}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#13}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#13}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#13}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#2}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#2}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#2}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#3}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#3}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#3}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#4}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#4}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#4}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#5}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#5}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#5}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#6}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#6}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#6}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#7}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#7}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#7}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#8}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#8}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#8}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#9}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#9}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#9}::{constant#2}>
impl<const BITS: usize, const LIMBS: usize> StructuralPartialEq for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize, const BITS_SRC: usize, const LIMBS_SRC: usize> UintTryFrom<Signed<BITS_SRC, LIMBS_SRC>> for Uint<BITS, LIMBS>
Conversion from positive Signed to Uint of different BITS or LIMBS length.
impl<const BITS: usize, const LIMBS: usize, T> UintTryFrom<T> for Uint<BITS, LIMBS>
Blanket implementation for any type that implements TryFrom<Uint>.
impl<const BITS: usize, const LIMBS: usize, const BITS_SRC: usize, const LIMBS_SRC: usize> UintTryFrom<Uint<BITS_SRC, LIMBS_SRC>> for Signed<BITS, LIMBS>
Conversion from Uint to positive Signed of different BITS or LIMBS length.
impl<const BITS: usize, const LIMBS: usize, const BITS_SRC: usize, const LIMBS_SRC: usize> UintTryFrom<Uint<BITS_SRC, LIMBS_SRC>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize, T> UintTryTo<T> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize, const BITS_DST: usize, const LIMBS_DST: usize> UintTryTo<Uint<BITS_DST, LIMBS_DST>> for Uint<BITS, LIMBS>
Auto Trait Implementations§
impl<const BITS: usize, const LIMBS: usize> Freeze for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> RefUnwindSafe for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Send for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Sync for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Unpin for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> UnwindSafe for Uint<BITS, LIMBS>
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,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> Conv for T
impl<T> Conv for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
§fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
TxEnv from a transaction and a sender address.§impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
§fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
TxEnv from a transaction, its sender, and encoded transaction bytes.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
impl<A> ArbInterop for A
impl<'de, T> BorrowedRpcObject<'de> for Twhere
T: RpcBorrow<'de> + RpcSend,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T, Rhs, Output> GroupOps<Rhs, Output> for T
impl<T, Rhs, Output> GroupOpsOwned<Rhs, Output> for Twhere
T: for<'r> GroupOps<&'r Rhs, Output>,
impl<T> MaybeCompact for Twhere
T: Compact,
impl<T> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSend for Twhere
T: Send,
impl<T> MaybeSerde for Twhere
T: Serialize + for<'de> Deserialize<'de>,
impl<T, Rhs> NumAssignOps<Rhs> for T
impl<T, Rhs, Output> NumOps<Rhs, Output> for T
impl<T, Base> RefNum<Base> for T
impl<'de, T> RpcBorrow<'de> for T
impl<T> RpcObject for Twhere
T: RpcSend + RpcRecv,
impl<T> RpcRecv for T
impl<T> RpcSend for T
impl<T, Rhs, Output> ScalarMul<Rhs, Output> for T
impl<T, Rhs, Output> ScalarMulOwned<Rhs, Output> for Twhere
T: for<'r> ScalarMul<&'r Rhs, Output>,
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.