API Reference Ethers v#0.7.0

Copy Markdown View Source

Modules

high-level module providing a convenient and efficient interface for interacting with the Ethereum blockchain using Elixir.

CCIP Read (EIP-3668) implementation

A filter matching any of multiple events (OR semantics) in a single eth_getLogs request.

Dynamically creates modules for ABIs at compile time.

CCIP Read (EIP-3668) contract

Error struct for error OffchainLookup

Ethereum Name Service (ENS) Contract

Extended ENS resolver as per ENSIP-10

Ethereum Name Service (ENS) Resolver Contract

ERC1155 token interface

Error struct for error ERC1155InsufficientBalance

Error struct for error ERC1155InvalidApprover

Error struct for error ERC1155InvalidArrayLength

Error struct for error ERC1155InvalidOperator

Error struct for error ERC1155InvalidReceiver

Error struct for error ERC1155InvalidSender

Error struct for error ERC1155MissingApprovalForAll

ERC-165 Standard Interface Detection

ERC20 token interface

Error struct for error ERC20InsufficientAllowance

Error struct for error ERC20InsufficientBalance

Error struct for error ERC20InvalidApprover

Error struct for error ERC20InvalidReceiver

Error struct for error ERC20InvalidSender

Error struct for error ERC20InvalidSpender

ERC721 token interface

Error struct for error ERC721IncorrectOwner

Error struct for error ERC721InsufficientApproval

Error struct for error ERC721InvalidApprover

Error struct for error ERC721InvalidOperator

Error struct for error ERC721InvalidOwner

Error struct for error ERC721InvalidReceiver

Error struct for error ERC721InvalidSender

Error struct for error ERC721NonexistentToken

ERC777 token interface

Multicall3 token interface

ERC-6492 universal signature validator (the ValidateSigOffchain helper contract).

EVM Event struct and helpers

Event Filter struct and helper functions to work with the event filters

Execution Error Exception.

This module offers convenient utilities and a user-friendly API for interacting with Multicall3 (for more information, visit https://www.multicall3.com).

Name Service resolution implementation for ENS (Ethereum Name Service). Supports both forward and reverse resolution plus reverse lookups.

EIP-191 personal message utilities (the personal_sign scheme, version byte 0x45).

Universal signature verification: EOA (ecrecover), smart-contract wallets (ERC-1271) and counterfactual — not-yet-deployed — wallets (ERC-6492).

Signer behaviour.

Signer capable of signing transactions with a JSON RPC server capable of eth_signTransaction, eth_signTypedData_v4, personal_sign and eth_accounts RPC functions.

Local signer works with a private key.

Sign-In with Ethereum (EIP-4361) messages.

A Sign-In with Ethereum (EIP-4361) message.

Transaction struct and helper functions for handling EVM transactions.

Transaction struct and protocol implementation for Ethereum Improvement Proposal (EIP) 1559 transactions. EIP-1559 introduced a new fee market mechanism with base fee and priority fee.

Transaction struct and protocol implementation for Ethereum Improvement Proposal (EIP) 2930 transactions. EIP-2930 introduced a new transaction type that includes an access list, allowing transactions to pre-specify and pre-pay for account and storage access to mitigate gas cost changes from EIP-2929 and prevent contract breakage. The access list format also enables future use cases like block-wide witnesses and static state access patterns.

Transaction struct and protocol implementation for Ethereum Improvement Proposal (EIP) 4844 transactions. EIP-4844 introduced "blob-carrying transactions" which contain a large amount of data that cannot be accessed by EVM execution, but whose commitment can be accessed.

Legacy transaction struct and implementation of Transaction.Protocol.

Metadata for a transaction like block hash, block number, and transaction index.

Protocol for handling Ethereum Virtual Machine (EVM) transactions.

A struct that wraps a transaction and its signature values.

Transaction struct to hold information about the ABI selector, encoded data and the target to address.

Models an EIP-712 typed structured data payload.

The EIP-712 domain separator data (EIP712Domain).

A single member of an EIP-712 struct type.

Compile-time DSL for declaring EIP-712 typed-data struct types as native Elixir modules.

EVM types and compound type definitions

Utilities for interacting with ethereum blockchain