Skip to content

UserOperation.hash

Hashes a UserOperation.UserOperation. This is the "user operation hash".

Imports

Named
import { UserOperation } from 'ox/erc4337'

Examples

import { Value } from 'ox'
import { UserOperation } from 'ox/erc4337'
 
const userOperation = UserOperation.hash({
  callData: '0xdeadbeef',
  callGasLimit: 300_000n,
  maxFeePerGas: Value.fromGwei('20'),
  maxPriorityFeePerGas: Value.fromGwei('2'),
  nonce: 69n,
  preVerificationGas: 100_000n,
  sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
  verificationGasLimit: 100_000n,
}, {
  chainId: 1,
  entryPointAddress: '0x1234567890123456789012345678901234567890',
  entryPointVersion: '0.6',
})

Definition

function hash<entrypointVersion>(
  userOperation: UserOperation<entrypointVersion>,
  options: hash.Options<entrypointVersion>,
): Hex.Hex

Source: src/erc4337/UserOperation.ts

Parameters

userOperation

  • Type: UserOperation<entrypointVersion>

The user operation to hash.

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.

options

  • Type: hash.Options<entrypointVersion>

options.chainId

  • Type: number

options.entryPointAddress

  • Type: abitype_Address

options.entryPointVersion

  • Type: entrypointVersion | Version

Return Type

The hash of the user operation.

Hex.Hex