BerlinEnvelope
Tuple representing an encoded envelope for the Berlin hardfork.
StructToTupleType(BerlinTransactionEnvelope)
BerlinEnvelopeSigned
Tuple representing an encoded envelope for the Berlin hardfork with the signature.
StructToTupleType(BerlinTransactionEnvelopeSigned)
CancunEnvelope
Tuple representing an encoded envelope for the London hardfork.
StructToTupleType(CancunTransactionEnvelope)
CancunEnvelopeSigned
Tuple representing an encoded envelope for the London hardfork with the signature.
StructToTupleType(CancunTransactionEnvelopeSigned)
CancunSignedWrapper
Signed cancun transaction converted to wrapper with blobs, commitments and proofs.
Merge(StructToTupleType(CancunTransactionEnvelopeSigned), struct { []const Blob, []const KZGCommitment, []const KZGProof })
CancunWrapper
Cancun transaction converted to wrapper with blobs, commitments and proofs.
Merge(StructToTupleType(CancunTransactionEnvelope), struct { []const Blob, []const KZGCommitment, []const KZGProof })
Eip7702Envelope
Tuple representing EIP 7702 authorization envelope tuple.
StructToTupleType(Eip7702TransactionEnvelope)
Eip7702EnvelopeSigned
Tuple representing EIP 7702 authorization envelope tuple with the signature.
StructToTupleType(Eip7702TransactionEnvelopeSigned)
LegacyEnvelope
Tuple representing an encoded envelope for a legacy transaction.
StructToTupleType(Omit(LegacyTransactionEnvelope, &.{"chainId"}))
LegacyEnvelopeSigned
Tuple representing an encoded envelope for a legacy transaction with the signature.
StructToTupleType(Omit(LegacyTransactionEnvelopeSigned, &.{"chainId"}))
LondonEnvelope
Tuple representing an encoded envelope for the London hardfork.
StructToTupleType(LondonTransactionEnvelope)
LondonEnvelopeSigned
Tuple representing an encoded envelope for the London hardfork with the signature.
StructToTupleType(LondonTransactionEnvelopeSigned)
TransactionTypes
All of the transaction types.
Properties
enum {
legacy = 0x00
berlin = 0x01
london = 0x02
cancun = 0x03
eip7702 = 0x04
deposit = 0x7e
_
}
TransactionEnvelope
The transaction envelope that will be serialized before getting sent to the network.
Properties
union(enum) {
berlin: BerlinTransactionEnvelope
cancun: CancunTransactionEnvelope
eip7702: Eip7702TransactionEnvelope
legacy: LegacyTransactionEnvelope
london: LondonTransactionEnvelope
}
Eip7702TransactionEnvelope
The transaction envelope from eip7702.
Properties
struct {
chainId: u64
nonce: u64
maxPriorityFeePerGas: u64
maxFeePerGas: u64
gas: u64
to: ?Address = null
value: Wei
data: ?Hex = null
accessList: []const AccessList
authorizationList: []const AuthorizationPayload
}
CancunTransactionEnvelope
The transaction envelope from the Cancun hardfork
Properties
struct {
chainId: usize
nonce: u64
maxPriorityFeePerGas: Gwei
maxFeePerGas: Gwei
gas: Gwei
to: ?Address = null
value: Wei
data: ?Hex = null
accessList: []const AccessList
maxFeePerBlobGas: Gwei
blobVersionedHashes: ?[]const Hash = null
}
LondonTransactionEnvelope
The transaction envelope from the London hardfork
Properties
struct {
chainId: usize
nonce: u64
maxPriorityFeePerGas: Gwei
maxFeePerGas: Gwei
gas: Gwei
to: ?Address = null
value: Wei
data: ?Hex = null
accessList: []const AccessList
}
BerlinTransactionEnvelope
The transaction envelope from the Berlin hardfork
Properties
struct {
chainId: usize
nonce: u64
gas: Gwei
gasPrice: Gwei
to: ?Address = null
value: Wei
data: ?Hex = null
accessList: []const AccessList
}
LegacyTransactionEnvelope
The transaction envelope from a legacy transaction
Properties
struct {
chainId: usize = 0
nonce: u64
gas: Gwei
gasPrice: Gwei
to: ?Address = null
value: Wei
data: ?Hex = null
}
AccessList
Struct representing the accessList field.
Properties
struct {
address: Address
storageKeys: []const Hash
}
AuthorizationPayload
EIP7702 authorization payload.
Properties
struct {
chain_id: u64
address: Address
nonce: u64
y_parity: u8
r: u256
s: u256
}
AccessListResult
Struct representing the result of create accessList
Properties
struct {
accessList: []const AccessList
gasUsed: Gwei
}
TransactionEnvelopeSigned
Signed transaction envelope with the signature fields
Properties
union(enum) {
berlin: BerlinTransactionEnvelopeSigned
cancun: CancunTransactionEnvelopeSigned
eip7702: Eip7702TransactionEnvelopeSigned
legacy: LegacyTransactionEnvelopeSigned
london: LondonTransactionEnvelopeSigned
}
Eip7702TransactionEnvelopeSigned
The transaction envelope from eip7702.
Properties
struct {
chainId: u64
nonce: u64
maxPriorityFeePerGas: u64
maxFeePerGas: u64
gas: u64
to: ?Address = null
value: Wei
data: ?Hex = null
accessList: []const AccessList
authorizationList: []const AuthorizationPayload
v: u2
r: u256
s: u256
}
CancunTransactionEnvelopeSigned
The transaction envelope from the London hardfork with the signature fields
Properties
struct {
chainId: usize
nonce: u64
maxPriorityFeePerGas: Gwei
maxFeePerGas: Gwei
gas: Gwei
to: ?Address = null
value: Wei
data: ?Hex = null
accessList: []const AccessList
maxFeePerBlobGas: Gwei
blobVersionedHashes: ?[]const Hash = null
v: u2
r: u256
s: u256
}
LondonTransactionEnvelopeSigned
The transaction envelope from the London hardfork with the signature fields
Properties
struct {
chainId: usize
nonce: u64
maxPriorityFeePerGas: Gwei
maxFeePerGas: Gwei
gas: Gwei
to: ?Address = null
value: Wei
data: ?Hex = null
accessList: []const AccessList
v: u2
r: u256
s: u256
}
BerlinTransactionEnvelopeSigned
The transaction envelope from the Berlin hardfork with the signature fields
Properties
struct {
chainId: usize
nonce: u64
gas: Gwei
gasPrice: Gwei
to: ?Address = null
value: Wei
data: ?Hex = null
accessList: []const AccessList
v: u2
r: u256
s: u256
}
LegacyTransactionEnvelopeSigned
The transaction envelope from a legacy transaction with the signature fields
Properties
struct {
chainId: usize = 0
nonce: u64
gas: Gwei
gasPrice: Gwei
to: ?Address = null
value: Wei
data: ?Hex = null
v: usize
r: ?u256
s: ?u256
}
UnpreparedTransactionEnvelope
Same as Envelope
but were all fields are optionals.
Properties
struct {
type: TransactionTypes
chainId: ?usize = null
nonce: ?u64 = null
maxFeePerBlobGas: ?Gwei = null
maxPriorityFeePerGas: ?Gwei = null
maxFeePerGas: ?Gwei = null
gas: ?Gwei = null
gasPrice: ?Gwei = null
to: ?Address = null
value: ?Wei = null
data: ?Hex = null
accessList: ?[]const AccessList = null
blobVersionedHashes: ?[]const Hash = null
authList: ?[]const AuthorizationPayload = null
}
LondonPendingTransaction
The representation of a London hardfork pending transaction.
Properties
struct {
hash: Hash
nonce: u64
blockHash: ?Hash
blockNumber: ?u64
transactionIndex: ?u64
from: Address
to: ?Address
value: Wei
gasPrice: Gwei
gas: Gwei
input: Hex
v: u4
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
r: u256
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
s: u256
type: TransactionTypes
accessList: []const AccessList
maxPriorityFeePerGas: Gwei
maxFeePerGas: Gwei
chainId: usize
yParity: u1
}
LegacyPendingTransaction
The legacy representation of a pending transaction.
Properties
struct {
hash: Hash
nonce: u64
blockHash: ?Hash
blockNumber: ?u64
transactionIndex: ?u64
from: Address
to: ?Address
value: Wei
gasPrice: Gwei
gas: Gwei
input: Hex
v: usize
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
r: u256
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
s: u256
type: TransactionTypes
chainId: ?usize = null
}
L2Transaction
The Cancun hardfork representation of a transaction.
Properties
struct {
hash: Hash
nonce: u64
blockHash: ?Hash
blockNumber: ?u64
transactionIndex: ?u64
from: Address
to: ?Address
value: Wei
gasPrice: Gwei
gas: Gwei
input: Hex
v: usize
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
r: u256
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
s: u256
sourceHash: ?Hash = null
isSystemTx: ?bool = null
index: u64
l1BlockNumber: u64
l1Timestamp: u64
l1TxOrigin: ?Hash
queueIndex: ?u64
queueOrigin: []const u8
rawTransaction: Hex
}
CancunTransaction
The Cancun hardfork representation of a transaction.
Properties
struct {
hash: Hash
nonce: u64
blockHash: ?Hash
blockNumber: ?u64
transactionIndex: ?u64
from: Address
to: ?Address
value: Wei
gasPrice: Gwei
gas: Gwei
input: Hex
v: u4
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
r: u256
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
s: u256
sourceHash: ?Hash = null
isSystemTx: ?bool = null
type: TransactionTypes
accessList: []const AccessList
blobVersionedHashes: []const Hash
maxFeePerBlobGas: Gwei
maxPriorityFeePerGas: Gwei
maxFeePerGas: Gwei
chainId: usize
yParity: ?u1 = null
}
LondonTransaction
The London hardfork representation of a transaction.
Properties
struct {
hash: Hash
nonce: u64
blockHash: ?Hash
blockNumber: ?u64
transactionIndex: ?u64
from: Address
to: ?Address
value: Wei
gasPrice: Gwei
gas: Gwei
input: Hex
v: u4
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
r: u256
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
s: u256
sourceHash: ?Hash = null
isSystemTx: ?bool = null
type: TransactionTypes
accessList: []const AccessList
maxPriorityFeePerGas: Gwei
maxFeePerGas: Gwei
chainId: usize
yParity: ?u1 = null
}
BerlinTransaction
The Berlin hardfork representation of a transaction.
Properties
struct {
hash: Hash
nonce: u64
blockHash: ?Hash
blockNumber: ?u64
transactionIndex: ?u64
from: Address
to: ?Address
value: Wei
gasPrice: Gwei
gas: Gwei
input: Hex
v: u8
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
r: u256
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
s: u256
sourceHash: ?Hash = null
isSystemTx: ?bool = null
type: TransactionTypes
accessList: []const AccessList
chainId: usize
yParity: ?u1 = null
}
LegacyTransaction
The legacy representation of a transaction.
Properties
struct {
hash: Hash
nonce: u64
blockHash: ?Hash
blockNumber: ?u64
transactionIndex: ?u64
from: Address
to: ?Address
value: Wei
gasPrice: Gwei
gas: Gwei
input: Hex
v: usize
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
r: u256
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
s: u256
sourceHash: ?Hash = null
isSystemTx: ?bool = null
type: ?TransactionTypes = null
chainId: ?usize = null
}
Transaction
All transactions objects that one might find whilest interaction with the JSON RPC server.
Properties
union(enum) {
/// Legacy type transactions.
legacy: LegacyTransaction
/// Berlin hardfork transactions that might have the accessList.
berlin: BerlinTransaction
/// London hardfork transaction objects.
london: LondonTransaction
/// Cancun hardfork transactions.
cancun: CancunTransaction
/// L2 transaction objects
l2_transaction: L2Transaction
/// L2 Deposit transaction
deposit: DepositTransactionSigned
}
LegacyReceipt
The london and other hardforks transaction receipt representation
Properties
struct {
transactionHash: Hash
transactionIndex: u64
blockHash: Hash
blockNumber: ?u64
from: Address
to: ?Address
cumulativeGasUsed: Gwei
effectiveGasPrice: Gwei
gasUsed: Gwei
contractAddress: ?Address
logs: Logs
logsBloom: Hex
blobGasPrice: ?u64 = null
type: ?TransactionTypes = null
root: ?Hex = null
status: ?bool = null
deposit_nonce: ?usize = null
}
CancunReceipt
Cancun transaction receipt representation
Properties
struct {
transactionHash: Hash
transactionIndex: u64
blockHash: Hash
blockNumber: ?u64
from: Address
to: ?Address
cumulativeGasUsed: Gwei
effectiveGasPrice: Gwei
blobGasPrice: Gwei
blobGasUsed: Gwei
gasUsed: Gwei
contractAddress: ?Address
logs: Logs
logsBloom: Hex
type: ?TransactionTypes = null
root: ?Hex = null
status: ?bool = null
deposit_nonce: ?usize = null
}
OpstackReceipt
L2 transaction receipt representation
Properties
struct {
transactionHash: Hash
transactionIndex: u64
blockHash: Hash
blockNumber: ?u64
from: Address
to: ?Address
gasUsed: Gwei
cumulativeGasUsed: Gwei
contractAddress: ?Address
logs: Logs
status: ?bool = null
logsBloom: Hex
type: ?TransactionTypes = null
effectiveGasPrice: ?Gwei = null
deposit_nonce: ?usize = null
l1Fee: Wei
l1GasPrice: Gwei
l1GasUsed: Gwei
l1FeeScalar: ?f64 = null
root: ?Hex = null
}
DepositReceipt
L2 Deposit transaction receipt representation
Properties
struct {
transactionHash: Hash
transactionIndex: u64
blockHash: Hash
blockNumber: ?u64
from: Address
to: ?Address
cumulativeGasUsed: Gwei
gasUsed: Gwei
contractAddress: ?Address
logs: Logs
status: ?bool = null
logsBloom: Hex
type: ?TransactionTypes = null
effectiveGasPrice: ?Gwei = null
deposit_nonce: ?usize = null
depositNonce: ?u64
depositNonceVersion: ?u64 = null
root: ?Hex = null
}
ArbitrumReceipt
Arbitrum transaction receipt representation
Properties
struct {
transactionHash: Hash
blockHash: Hash
blockNumber: ?u64
logsBloom: Hex
l1BlockNumber: Wei
contractAddress: ?Address
transactionIndex: u64
gasUsedForL1: Gwei
type: ?TransactionTypes = null
gasUsed: Gwei
cumulativeGasUsed: Gwei
from: Address
to: ?Address
effectiveGasPrice: ?Gwei = null
logs: Logs
root: ?Hex = null
status: ?bool = null
deposit_nonce: ?usize = null
}
TransactionReceipt
All possible transaction receipts
Properties
union(enum) {
legacy: LegacyReceipt
cancun: CancunReceipt
op_receipt: OpstackReceipt
arbitrum_receipt: ArbitrumReceipt
deposit_receipt: DepositReceipt
}
EthCall
The representation of an eth_call
struct.
Properties
union(enum) {
legacy: LegacyEthCall
london: LondonEthCall
}
LondonEthCall
The representation of an London hardfork eth_call
struct where all fields are optional
These are optionals so that when we stringify we can
use the option ignore_null_fields
Properties
struct {
from: ?Address = null
maxPriorityFeePerGas: ?Gwei = null
maxFeePerGas: ?Gwei = null
gas: ?Gwei = null
to: ?Address = null
value: ?Wei = null
data: ?Hex = null
}
LegacyEthCall
The representation of an eth_call
struct where all fields are optional
These are optionals so that when we stringify we can
use the option ignore_null_fields
Properties
struct {
from: ?Address = null
gasPrice: ?Gwei = null
gas: ?Gwei = null
to: ?Address = null
value: ?Wei = null
data: ?Hex = null
}
EstimateFeeReturn
Return struct for fee estimation calculation.
Properties
union(enum) {
london: struct {
max_priority_fee: Gwei,
max_fee_gas: Gwei,
}
legacy: struct {
gas_price: Gwei,
}
cancun: struct {
max_priority_fee: Gwei,
max_fee_gas: Gwei,
max_fee_per_blob: Gwei,
}
}
FeeHistory
Provides recent fee market data that consumers can use to determine
Properties
struct {
/// List of each block's base fee
baseFeePerGas: []const u256
/// List of each block's base blob fee
baseFeePerBlobGas: ?[]const u256 = null
/// Ratio of gas used out of the total available limit
gasUsedRatio: []const f64
/// Ratio of blob gas used out of the total available limit
blobGasUsedRatio: ?[]const f64 = null
/// Block corresponding to first response value
oldestBlock: u64
/// List every txs priority fee per block
/// Depending on the blockCount or the newestBlock this can be null
reward: ?[]const []const u256 = null
}
DepositTransaction
Op stack deposit transaction representation.
Properties
struct {
sourceHash: Hash
from: Address
to: ?Address
mint: u256
value: Wei
gas: Gwei
isSystemTx: bool
data: ?Hex
}
DepositTransactionSigned
Op stack deposit transaction representation with the signed parameters.
Properties
struct {
hash: Hash
nonce: u64
blockHash: ?Hash
blockNumber: ?u64
transactionIndex: ?u64
from: Address
to: ?Address
value: Wei
gasPrice: Gwei
gas: Gwei
input: Hex
v: usize
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
r: u256
/// Represented as values instead of the hash because
/// a valid signature is not guaranteed to be 32 bits
s: u256
type: TransactionTypes
sourceHash: Hex
mint: ?u256 = null
isSystemTx: ?bool = null
depositReceiptVersion: ?u64 = null
}
DepositData
Op stack deposit data.
Properties
struct {
mint: u256
value: Wei
gas: Gwei
creation: bool
data: ?Hex
}
TransactionDeposited
Op stack return type when decoding a deposit transaction from the contract.
Properties
struct {
from: Address
to: Address
version: u256
opaqueData: Hex
logIndex: usize
blockHash: Hash
}
DepositTransactionEnvelope
Op stack deposit envelope to be serialized.
Properties
struct {
gas: ?Gwei = null
mint: ?Wei = null
value: ?Wei = null
creation: bool = false
data: ?Hex = null
to: ?Address = null
}