TransactionEnvelopeEip4844.from
Converts an arbitrary transaction object into an EIP-4844 Transaction Envelope.
Imports
Named
import { TransactionEnvelopeEip4844 } from 'ox'
Examples
import { Blobs, TransactionEnvelopeEip4844, Value } from 'ox'
import { kzg } from './kzg'
const blobs = Blobs.from('0xdeadbeef')
const blobVersionedHashes = Blobs.toVersionedHashes(blobs, { kzg })
const envelope = TransactionEnvelopeEip4844.from({
chainId: 1,
blobVersionedHashes,
maxFeePerBlobGas: Value.fromGwei('3'),
maxFeePerGas: Value.fromGwei('10'),
maxPriorityFeePerGas: Value.fromGwei('1'),
to: '0x0000000000000000000000000000000000000000',
value: Value.fromEther('1'),
})
Attaching Signatures
It is possible to attach a signature
to the transaction envelope.
import { Blobs, Secp256k1, TransactionEnvelopeEip4844, Value } from 'ox'
import { kzg } from './kzg'
const blobs = Blobs.from('0xdeadbeef')
const sidecars = Blobs.toSidecars(blobs, { kzg })
const blobVersionedHashes = Blobs.sidecarsToVersionedHashes(sidecars)
const envelope = TransactionEnvelopeEip4844.from({
blobVersionedHashes,
chainId: 1,
maxFeePerBlobGas: Value.fromGwei('3'),
maxFeePerGas: Value.fromGwei('10'),
maxPriorityFeePerGas: Value.fromGwei('1'),
to: '0x0000000000000000000000000000000000000000',
value: Value.fromEther('1'),
})
const signature = Secp256k1.sign({
payload: TransactionEnvelopeEip4844.getSignPayload(envelope),
privateKey: '0x...',
})
const envelope_signed = TransactionEnvelopeEip4844.from(envelope, {
sidecars,
signature,
})
{ blobVersionedHashes: [...], chainId: 1, maxFeePerBlobGas: 3000000000n, maxFeePerGas: 10000000000n, maxPriorityFeePerGas: 1000000000n, to: '0x0000000000000000000000000000000000000000', type: 'eip4844', value: 1000000000000000000n, r: 125...n, s: 642...n, yParity: 0, }
From Serialized
It is possible to instantiate an EIP-4844 Transaction Envelope from a TransactionEnvelopeEip4844.Serialized
value.
import { TransactionEnvelopeEip4844 } from 'ox'
const envelope = TransactionEnvelopeEip4844.from('0x03f858018203118502540be4008504a817c800809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080c08477359400e1a001627c687261b0e7f8638af1112efa8a77e23656f6e7945275b19e9deed80261')
{ blobVersionedHashes: [...], chainId: 1, maxFeePerGas: 10000000000n, to: '0x0000000000000000000000000000000000000000', type: 'eip4844', value: 1000000000000000000n, }
Definition
function from<envelope, signature>(
envelope: envelope | UnionPartialBy<TransactionEnvelopeEip4844, 'type'> | Serialized,
options?: from.Options<signature>,
): from.ReturnType<envelope, signature>
Source: src/core/TransactionEnvelopeEip4844.ts
Parameters
envelope
- Type:
envelope | UnionPartialBy<TransactionEnvelopeEip4844, 'type'> | Serialized
The transaction object to convert.
options
- Type:
from.Options<signature>
- Optional
Options.
options.signature
- Type:
{ r: bigint; s: bigint; yParity: number; } | signature
- Optional
Return Type
An EIP-4844 Transaction Envelope.
from.ReturnType<envelope, signature>