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'
})import { } from 'viem'
import { } from 'viem/erc4337'
export const = .({
: ('https://public.pimlico.io/v2/11155111/rpc'),
})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,
})