EtherBinder
Table of Contents
Interfaces
- BinarySerializableInterface
- HashSerializable
- Hash serializable is interface to mark classes that can serialize themselves into blob of max size of hash (ie. fit
abi single slot that's 32 bytes)
Classes
- AccessListTransaction
- LegacyTransaction is a class for handling Ethereum legacy transactions (pre EIP1559), with pre EIP155 or post EIP155
support
- Address
- Address is a class for representing and manipulating Ethereum addresses.
- Block
- Block is a container for Ethereum block and contains various attributes related to it.
- BlockNonce
- BlockNonce represents Ethereum block nonces.
- Bloom
- Bloom is a class for storing Ethereum block log bloom.
- CancunTransaction
- DencunTransaction is transaction type 3, enabled in Proto-DankSharding ethereum upgrade, defined by EIP 4844
- Hash
- Hash is a class for representing Ethereum hashes and sets structure and method for another single value data types
such as Ethereum Address.
- LegacyTransaction
- LegacyTransaction is a class for handling Ethereum legacy transactions (pre EIP1559), with pre EIP155 or post EIP155
support
- Log
- Log represents an Ethereum log entry, emitted by smart contracts.
- LondonTransaction
- LondonTransaction handles Ethereum transactions post EIP-1559.
- Receipt
- Receipt represents the outcome of a transaction, including logs, hash, deployed contract address, gas information,
and other information.
- SolidityFunction
- SolidityFunction represents a Solidity function type, consisting with its address and 4-byte signature, uniquely
pointing to address and selector.
- SolidityFunction4BytesSignature
- SolidityFunction4BytesSignature is container class for a 4-byte function signature in Solidity.
- Transaction
- Transaction serves as an abstract base class for Ethereum transactions. It represents any transaction, can be signed
or unsigned.
- ValidatorWithdrawal
- ValidatorWithdrawal represents a withdrawal event from a validator, including the amount and related indexes.
- ABIEncoder
- ABIEncoder handles the encoding and decoding of ABI data in Ethereum smart contracts.
- ABIGen
- Core class for generating ABI bindings.
- AbiAddress
- Base class for encoding and decoding ABI (Application Binary Interface) types for Ethereum contracts.
- AbiArrayKnownLength
- Base class for encoding and decoding ABI (Application Binary Interface) types for Ethereum contracts.
- AbiArrayUnknownLength
- Base class for encoding and decoding ABI (Application Binary Interface) types for Ethereum contracts.
- AbiBool
- Base class for encoding and decoding ABI (Application Binary Interface) types for Ethereum contracts.
- AbiBytes
- Base class for encoding and decoding ABI (Application Binary Interface) types for Ethereum contracts.
- AbiFunction
- Base class for encoding and decoding ABI (Application Binary Interface) types for Ethereum contracts.
- AbiInt
- Base class for encoding and decoding ABI (Application Binary Interface) types for Ethereum contracts.
- AbiString
- Base class for encoding and decoding ABI (Application Binary Interface) types for Ethereum contracts.
- AbiTuple
- Base class for encoding and decoding ABI (Application Binary Interface) types for Ethereum contracts.
- AbiUint
- Base class for encoding and decoding ABI (Application Binary Interface) types for Ethereum contracts.
- AbstractABIValue
- Base class for encoding and decoding ABI (Application Binary Interface) types for Ethereum contracts.
- AbstractArrayAccess
- Abstract class defining simple ArrayAccess implementation for general purpose binding or ABI-related array, tuples or
events classes.
- AbstractContract
- AbstractContract serves as the base class for all Ethereum smart contract bindings.
- AbstractEvent
- AbstractEvent is an abstract class that represents an Ethereum contract event.
- AbstractEventFilter
- AbstractTuple
- Class that is catch-all for all abi generated bindings. On its own it has only ArrayAccess store for tuple data,
but its main purpose is typing.
- EC
- EC is a wrapper class for Elliptic Curve operations, specifically secp256k1 which is one specifically used for
Ethereum. Internally it statically caches EC object, as it's instantiation has high runtime cost.
- Key
- Key is a representation for raw Ethereum private key. It contains essential utilities for its usage and is used in
EthBinder as raw private key.
- Signature
- Signature is a class for handling and representing Ethereum signatures.
- BadAddressChecksumException
- EthBinderArgumentException
- EthBinderException
- EthBinderLogicException
- EthBinderRuntimeException
- HexBlobNotEvenException
- InvalidHexException
- InvalidHexLengthException
- InvalidLengthException
- InvalidURLException
- MnemonicWalletInternalException
- NotSupportedException
- RpcException
- RPCGeneralException
- RPCInvalidResponseParamException
- RPCNotFoundException
- UnexpectedUnsignedException
- WrongMnemonicPathException
- AbstractSigningMessage
- AbstractSigningMessage is class for handling Ethereum signed messages, regardless of specific formatting which is
offloaded to class extending AbstractSigningMessage. This allows for easy implementation of multiple signing formats
offered by different wallets, usually small variations of "\x19Ethereum Signed Message:\n(len)(message)"
- GethLikeMessage
- GethLikeMessage is a subclass of AbstractSigningMessage that pre-processes messages in a way that Geth does.
- InnerHashedMessage
- InnerHashedMessage is a subclass of AbstractSigningMessage designed to handle messages where the content is hashed internally.
- UnFormattedSigningMessage
- UnFormattedSigningMessage is a subclass of AbstractSigningMessage that doesn't add any formatting or 'magic bytes' to the message.
- Decoder
- Decoder class for handling the RLP decoding process. Operates on binary data internally. Expects the RLP data to
be well-formed or will throw EthBinderLogicException
- Encoder
- Encoder of RLP format capable of working with both binary and hex outputs. Internally works on binary.
- AbstractRPC
- AbstractRPC provides the base functionality for communicating with Ethereum's JSON-RPC API.
- Compound
- Compound adds elements for useful queries done to RPC with some processing - for example getting avarage of fee tip
in blocks range
- HttpRPC
- HttpRPC provides functionality to make JSON-RPC calls over HTTP / HTTPS via curl. Curl handle persist across calls.
- AbstractModule
- AbstractModule serves as the base class for specific modules, enabling them to access the runRpc() method.
- Debug
- AbstractModule serves as the base class for specific modules, enabling them to access the runRpc() method.
- Eth
- AbstractModule serves as the base class for specific modules, enabling them to access the runRpc() method.
- Net
- AbstractModule serves as the base class for specific modules, enabling them to access the runRpc() method.
- Web3
- AbstractModule serves as the base class for specific modules, enabling them to access the runRpc() method.
- RPCFilter
- RPCFilter is class that represents installed filter on RPC. It's meant for filtering logs.
- Functions
- Functions is an abstract utility class that holds static utility methods.
- OOGmp
- OOGmp is a utility class that wraps PHP's GMP library for working with arbitrary-size integers.
- WeiFormatter
- WeiFormatter class for parsing back and forth human-readable format with specific denominations of ether,
most commonly used for WEI.
- AbstractWallet
- AbstractWallet serves as the base class for wallet implementations.
- MnemonicWallet
- MnemonicWallet extends the AbstractWallet to create a wallet from a mnemonic phrase.
- RawKeyWallet
- RawKeyWallet extends the AbstractWallet to allow wallet creation using raw keys.
Enums
- TransactionType
- TransactionType defines various types of Ethereum transactions.
- BlockParam
- BlockParam defines constants to represent types of Ethereum blocks.
- EtherFormats
- EtherFormats enum represents different formats of Ether for conversions.
- MnemonicLanguage
- MnemonicLanguage defines supported languages for mnemonic phrases. It is used for instantiating mnemonic wallet
if language is different from default english.