Skip to content

Transaction

Utilities for converting between RPC and structured transaction formats.

Tempo Transactions (type 0x76) are a new EIP-2718 transaction type with native support for passkeys, call batching, fee sponsorship, parallelizable nonces, and scheduled execution.

Tempo Transactions

Examples

import { Transaction } from 'ox/tempo'
 
const transaction = Transaction.fromRpc({
  hash: '0x353fdfc38a2f26115daadee9f5b8392ce62b84f410957967e2ed56b35338cdd0',
  nonce: '0x357',
  blockHash:
    '0xc350d807505fb835650f0013632c5515592987ba169bbc6626d9fc54d91f0f0b',
  blockNumber: '0x12f296f',
  calls: [
    {
      input: '0xdeadbeef',
      to: '0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad',
      value: '0x9b6e64a8ec60000',
    },
  ],
  feeToken: '0x20c0000000000000000000000000000000000000',
  transactionIndex: '0x2',
  from: '0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6',
  value: '0x9b6e64a8ec60000',
  gas: '0x43f5d',
  maxFeePerGas: '0x2ca6ae494',
  maxPriorityFeePerGas: '0x41cc3c0',
  input:
    '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006643504700000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000009b6e64a8ec600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000009b6e64a8ec60000000000000000000000000000000000000000000000000000019124bb5ae978c000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b8000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000190240001b9872b',
  signature: {
    r: '0x635dc2033e60185bb36709c29c75d64ea51dfbd91c32ef4be198e4ceb169fb4d',
    s: '0x50c2667ac4c771072746acfdcf1f1483336dcca8bd2df47cd83175dbe60f0540',
    type: 'secp256k1',
    yParity: '0x0',
  },
  chainId: '0x1',
  accessList: [],
  type: '0x76',
})

Functions

NameDescription
Transaction.fromRpcConverts an Transaction.Rpc to an Transaction.Transaction.
Transaction.toRpcConverts an Transaction.Transaction to an Transaction.Rpc.

Types

NameDescription
Transaction.BaseBase properties of a Transaction as defined in the Execution API specification.
Transaction.BaseRpcBase properties of an RPC Transaction as defined in the Execution API specification.
Transaction.Eip1559An EIP-1559 Transaction as defined in the Execution API specification.
Transaction.Eip1559RpcAn EIP-1559 RPC Transaction as defined in the Execution API specification.
Transaction.Eip2930An EIP-2930 Transaction as defined in the Execution API specification.
Transaction.Eip2930RpcAn RPC EIP-2930 Transaction as defined in the Execution API specification.
Transaction.Eip4844An EIP-4844 Transaction as defined in the Execution API specification.
Transaction.Eip4844RpcAn RPC EIP-4844 Transaction as defined in the Execution API specification.
Transaction.Eip7702An EIP-7702 Transaction as defined in the Execution API specification.
Transaction.Eip7702RpcAn RPC EIP-7702 Transaction as defined in the Execution API specification.
Transaction.FromRpcTypeRPC Type to Type mapping.
Transaction.LegacyAn legacy Transaction as defined in the Execution API specification.
Transaction.LegacyRpcA legacy RPC Transaction as defined in the Execution API specification.
Transaction.RpcAn RPC Transaction as defined in the Execution API specification.
Transaction.ToRpcTypeType to RPC Type mapping.
Transaction.TransactionA Transaction as defined in the Execution API specification.