Enum ethabi::Token [−][src]
pub enum Token { Address(Address), FixedBytes(FixedBytes), Bytes(Bytes), Int(Uint), Uint(Uint), Bool(bool), String(String), FixedArray(Vec<Token>), Array(Vec<Token>), Tuple(Vec<Token>), }
Ethereum ABI params.
Variants
Address(Address)
Address.
solidity name: address Encoded to left padded [0u8; 32].
FixedBytes(FixedBytes)
Vector of bytes with known size.
solidity name eg.: bytes8, bytes32, bytes64, bytes1024 Encoded to right padded [0u8; ((N + 31) / 32) * 32].
Bytes(Bytes)
Vector of bytes of unknown size.
solidity name: bytes Encoded in two parts. Init part: offset of ’closing part`. Closing part: encoded length followed by encoded right padded bytes.
Int(Uint)
Signed integer.
solidity name: int
Uint(Uint)
Unisnged integer.
solidity name: uint
Bool(bool)
Boolean value.
solidity name: bool Encoded as left padded [0u8; 32], where last bit represents boolean value.
String(String)
String.
solidity name: string Encoded in the same way as bytes. Must be utf8 compliant.
Array with known size.
solidity name eg.: int[3], bool[3], address[][8] Encoding of array is equal to encoding of consecutive elements of array.
Array of params with unknown size.
solidity name eg. int[], bool[], address[5][]
Tuple of params of variable types.
solidity name: tuple
Implementations
impl Token
[src][−]
pub fn type_check(&self, param_type: &ParamType) -> bool
[src][−]
Check whether the type of the token matches the given parameter type.
Numeric types (Int
and Uint
) type check if the size of the token
type is of greater or equal size than the provided parameter type.
pub fn into_address(self) -> Option<Address>
[src][−]
Converts token to…
pub fn into_fixed_bytes(self) -> Option<Vec<u8>>
[src][−]
Converts token to…
pub fn into_bytes(self) -> Option<Vec<u8>>
[src][−]
Converts token to…
pub fn into_int(self) -> Option<Uint>
[src][−]
Converts token to…
pub fn into_uint(self) -> Option<Uint>
[src][−]
Converts token to…
pub fn into_bool(self) -> Option<bool>
[src][−]
Converts token to…
pub fn into_string(self) -> Option<String>
[src][−]
Converts token to…
pub fn into_fixed_array(self) -> Option<Vec<Token>>
[src][−]
Converts token to…
pub fn into_array(self) -> Option<Vec<Token>>
[src][−]
Converts token to…
pub fn types_check(tokens: &[Token], param_types: &[ParamType]) -> bool
[src][−]
Check if all the types of the tokens match the given parameter types.
pub fn is_dynamic(&self) -> bool
[src][−]
Check if the token is a dynamic type resulting in prefixed encoding
Trait Implementations
impl Clone for Token
[src][+]
impl Debug for Token
[src][+]
impl Display for Token
[src][+]
impl PartialEq<Token> for Token
[src][+]
impl StructuralPartialEq for Token
[src]
Auto Trait Implementations
impl RefUnwindSafe for Token
impl Send for Token
impl Sync for Token
impl Unpin for Token
impl UnwindSafe for Token
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T> ToString for T where
T: Display + ?Sized,
[src][+]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,