solidity/abi/abi library
A Dart library for working with Ethereum ABI (Application Binary Interface), EIP-712 (Ethereum Improvement Proposal 712), and related utilities.
This library provides various components, including ABIs for different data types like addresses, arrays, booleans, bytes, numbers, strings, tuples, and functions. It also includes utilities for Ethereum EIP-712, and common blockchain-related functionality.
The library is structured into different parts, each corresponding to a
specific category or type. The utils
part contains general utility
functions, and other parts contain implementations for specific types and
standards.
Parts:
utils
: General utility functions used across the library.address
: Implements ABIs for Ethereum and Tron addresses.array
: Implements ABIs for arrays.boolean
: Implements ABIs for boolean values.bytes
: Implements ABIs for byte arrays.numbers
: Implements ABIs for numeric types.string
: Implements ABIs for string values.tuple
: Implements ABIs for tuples.function
: Implements ABIs for function calls.core
: Contains the core ABIs and utility functions.eip712
: Implements support for Ethereum EIP-712 standard.eip712/utils
: Utilities specific to Ethereum EIP-712.
Classes
-
ABICoder<
T> - Solidity contract for encoding and decoding data according to Ethereum ABI specifications.
- ABIConst
- Constants used in the Ethereum ABI (Application Binary Interface).
- AbiParameter
- AddressCoder
- ABICoder implementation for encoding and decoding Ethereum and Tron addresses.
- ArrayCoder
- ABICoder implementation for encoding and decoding arrays of arbitrary types.
- BooleanCoder
- ABICoder implementation for encoding and decoding boolean values.
- BytesCoder
- ABICoder implementation for encoding and decoding byte arrays.
-
DecoderResult<
T> - Represents the result of decoding data using ABI decoding.
- EIP712Base
- Abstract base class for encoding data according to the Ethereum Improvement Proposal (EIP) 712 specification.
- EIP712Legacy
- Represents a typed data structure for EIP-712 version 1. This class implements the EIP712Base interface for encoding data according to EIP-712 specifications.
- Eip712TypedData
- Represents typed data for EIP-712, implementing the EIP712Base interface.
- Eip712TypedDataV1
- Represents a typed data field for EIP-712 version 1. This class is used to create instances of typed data fields with specified type, name, and value.
- Eip712TypeDetails
- Represents details about a type used in EIP-712 encoding.
- EIP712Version
- Represents different versions of the Ethereum Improvement Proposal (EIP) 712 specification.
- EncoderResult
- Represents the result of encoding data using ABI encoding.
- FunctionCoder
- ABICoder implementation for encoding and decoding function signatures (bytes).
- NumbersCoder
- ABICoder implementation for encoding and decoding numeric types represented by BigInt.
- StringCoder
- ABICoder implementation for encoding and decoding string types.
- TupleCoder
- ABICoder implementation for encoding and decoding tuple types.