Skip to content
LogoLogo

paymaster.getStubData

Retrieves paymaster-related User Operation properties to be used for User Operation gas estimation.

Internally uses ERC-7677's pm_getPaymasterStubData method.

Usage

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

Returns

type ReturnType = (
  | { paymasterAndData: Hex }
  | {
      paymaster: Address
      paymasterData: Hex
      paymasterPostOpGasLimit: bigint
      paymasterSignature?: Hex
      paymasterVerificationGasLimit?: bigint
    }
) & {
  isFinal?: boolean
  sponsor?: { name: string; icon?: string }
}

Paymaster-related User Operation properties, plus optional isFinal and sponsor metadata. EntryPoint 0.6 returns paymasterAndData; EntryPoint 0.7, 0.8, and 0.9 return split Paymaster fields.

Parameters

callData

  • Type: Hex

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

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

callGasLimit

  • Type: bigint

The amount of gas to allocate the main execution call.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

chainId

  • Type: number

Chain ID to target.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

context

  • Type: unknown

Paymaster specific fields.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : {
    : 'abc123',
  },
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

entryPointAddress

  • Type: Address

EntryPoint address to target.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

factory

  • Type: Address

Account Factory address.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

factoryData

  • Type: Hex

Call data to execute on the Account Factory to deploy a Smart Account.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

maxFeePerGas

  • Type: bigint

Maximum fee per gas for User Operation execution.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

maxPriorityFeePerGas

  • Type: bigint

Maximum priority fee per gas for User Operation execution.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

nonce

  • Type: bigint

Nonce for the User Operation.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

preVerificationGas

  • Type: bigint

Extra gas to pay the Bundler.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : 69420n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

sender

  • Type: Address

Sender for the User Operation.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : 69420n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

signature

  • Type: Hex

Signature for the User Operation.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : 69420n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'
})

verificationGasLimit

  • Type: bigint

The amount of gas to allocate for the verification step.

import {  } from './config'
 
const  = await ..({
  : '0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
  : 11155111,
  : '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  : 69420n,
  : '0xfb6dab6200b8958c2655c3747708f82243d3f32e',
  : '0xf14ddffc000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb922660000000000000000000000000000000000000000000000000000000000000000',
  : 14510554812n,
  : 2000000000n,
  : 0n,
  : '0xE911628bF8428C23f179a07b081325cAe376DE1f',
  : '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c',
  : 69420n,
})