sponsorUserOperation
Estimates the gas values for the User Operation and sponsors the operation with the new gas values.
Usage
example.ts
import { pimlicoPaymasterClient } from "./client"
const sponsorResult = await pimlicoPaymasterClient.sponsorUserOperation({
userOperation: {
sender: "0x0C123D90Da0a640fFE54a2359D159629065775C5",
nonce: 3n,
callData: "0x18dfb3c7000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000d2f598c826429eee7c071c02735549acd88f2c09000000000000000000000000d2f598c826429eee7c071c02735549acd88f2c090000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044a9059cbb00000000000000000000000043a4eacb7839f202d9cab465dbdd77d4fabe0a1800000000000000000000000000000000000000000000000003782dace9d90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000982e148216e3aa6b38f9d901ef578b5c06dd750200000000000000000000000000000000000000000000000005d423c655aa000000000000000000000000000000000000000000000000000000000000",
maxFeePerGas: 113000000n,
maxPriorityFeePerGas: 113000100n,
signature: "0xf1513a8537a079a4d728bb87099b2c901e2c9034e60c95a4d41ac1ed75d6ee90270d52b48af30aa036e9a205ea008e1c62b317e7b3f88b3f302d45fb1ba76a191b"
},
sponsorshipPolicyId: "sp_crazy_kangaroo" // optional, only if using Pimlico sponsorship policies
})
/**
* {
"paymaster": "0xe3dc822D77f8cA7ac74c30B0dfFEA9FcDCAAA321",
"paymasterVerificationGasLimit": 93823n,
"paymasterPostOpGasLimit": 134849n,
"paymasterData": "000000000000000000000000000000000000000000000000000000006514ac7d000000000000000000000000000000000000000000000000000000000000000071eee8c38559ef6872351c16a312cefbc545344a3f7cc1b910d059a0d5c613012763e6b1ce31080a975ddcba12817305a62a322e3ec8f106bd2181b0fd1391cf1c",
"preVerificationGas": 61230n,
"verificationGasLimit": 93823n,
"callGasLimit": 134849n
}
*/
Returns
- Type:
SponsorUserOperationReturnType
The estimated gas values for the User Operation and the paymaster related data that includes the Pimlico paymaster address and Pimlico's paymaster signature.
Parameters
userOperation
- Type:
UserOperation
The User Operation object.
sponsorshipPolicyId (optional)
- Type:
string
The ID of the sponsorship policy to use. If used, this call will error if the policy is not willing to sponsor this user operation. It is recommended to use pm_validateSponsorshipPolicies before calling this method.