Skip to content

TransactionEnvelopeEip4844.getSignPayload

Returns the payload to sign for a TransactionEnvelopeEip4844.TransactionEnvelopeEip4844.

Imports

Named
import { TransactionEnvelopeEip4844 } from 'ox'

Examples

The example below demonstrates how to compute the sign payload which can be used with ECDSA signing utilities like Secp256k1.sign.

import { Blobs, Secp256k1, TransactionEnvelopeEip4844 } from 'ox'
import { kzg } from './kzg'
 
const blobs = Blobs.from('0xdeadbeef')
const blobVersionedHashes = Blobs.toVersionedHashes(blobs, { kzg })
 
const envelope = TransactionEnvelopeEip4844.from({
  blobVersionedHashes,
  chainId: 1,
  nonce: 0n,
  maxFeePerGas: 1000000000n,
  gas: 21000n,
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: 1000000000000000000n,
})
 
const payload = TransactionEnvelopeEip4844.getSignPayload(envelope)
'0x...'
const signature = Secp256k1.sign({ payload, privateKey: '0x...' })

Definition

function getSignPayload(
  envelope: TransactionEnvelopeEip4844.TransactionEnvelopeEip4844,
): getSignPayload.ReturnType

Source: src/core/TransactionEnvelopeEip4844.ts

Parameters

envelope

The transaction envelope to get the sign payload for.

envelope.accessList

  • Type: readonly { address: abitype_Address; storageKeys: readonly 0x${string}[]; }[]
  • Optional

EIP-2930 Access List.

envelope.blobVersionedHashes

  • Type: readonly 0x${string}[]

Versioned hashes of blobs to be included in the transaction.

envelope.chainId

  • Type: numberType

EIP-155 Chain ID.

envelope.data

  • Type: 0x${string}
  • Optional

Contract code or a hashed method call with encoded args

envelope.from

  • Type: Address.Address | undefined
  • Optional

Sender of the transaction.

envelope.gas

  • Type: bigintType
  • Optional

Gas provided for transaction execution

envelope.input

  • Type: 0x${string}
  • Optional

envelope.maxFeePerBlobGas

  • Type: bigintType
  • Optional

Maximum total fee per gas sender is willing to pay for blob gas (in wei).

envelope.maxFeePerGas

  • Type: bigintType
  • Optional

Total fee per gas in wei (gasPrice/baseFeePerGas + maxPriorityFeePerGas).

envelope.maxPriorityFeePerGas

  • Type: bigintType
  • Optional

Max priority fee per gas (in wei).

envelope.nonce

  • Type: bigintType
  • Optional

Unique number identifying this transaction

envelope.r

  • Type: bigintType

envelope.s

  • Type: bigintType

envelope.sidecars

  • Type: readonly { blob: 0x${string}; commitment: 0x${string}; proof: 0x${string}; }[]
  • Optional

The sidecars associated with this transaction. When defined, the envelope is in the "network wrapper" format.

envelope.to

  • Type: Address.Address | null | undefined
  • Optional

Transaction recipient

envelope.type

  • Type: type

Transaction type

envelope.v

  • Type: numberType
  • Optional

envelope.value

  • Type: bigintType
  • Optional

Value in wei sent with this transaction

envelope.yParity

  • Type: numberType
  • Optional

ECDSA signature yParity.

Return Type

The sign payload.

getSignPayload.ReturnType