Skip to content

UserOperation.toPacked

Transforms a User Operation into "packed" format.

Imports

Named
import { UserOperation } from 'ox/erc4337'

Examples

import { Value } from 'ox'
import { UserOperation } from 'ox/erc4337'
 
const packed = UserOperation.toPacked({
  callData: '0xdeadbeef',
  callGasLimit: 300_000n,
  maxFeePerGas: Value.fromGwei('20'),
  maxPriorityFeePerGas: Value.fromGwei('2'),
  nonce: 69n,
  preVerificationGas: 100_000n,
  sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
  signature: '0x...',
  verificationGasLimit: 100_000n,
})

Definition

function toPacked(
  userOperation: UserOperation<'0.7', true>,
): Packed

Source: src/erc4337/UserOperation.ts

Parameters

userOperation

  • Type: UserOperation<'0.7', true>

The user operation to transform.

userOperation.callData

  • Type: 0x${string}

The data to pass to the sender during the main execution call.

userOperation.callGasLimit

  • Type: bigintType

The amount of gas to allocate the main execution call

userOperation.initCode

  • Type: 0x${string}
  • Optional

Account init code. Only for new accounts.

userOperation.maxFeePerGas

  • Type: bigintType

Maximum fee per gas.

userOperation.maxPriorityFeePerGas

  • Type: bigintType

Maximum priority fee per gas.

userOperation.nonce

  • Type: bigintType

Anti-replay parameter.

userOperation.paymasterAndData

  • Type: 0x${string}
  • Optional

Paymaster address with calldata.

userOperation.preVerificationGas

  • Type: bigintType

Extra gas to pay the Bundler.

userOperation.sender

  • Type: abitype_Address

The account making the operation.

userOperation.signature

  • Type: 0x${string}

userOperation.verificationGasLimit

  • Type: bigintType

The amount of gas to allocate for the verification step.

Return Type

The packed user operation.

Packed