permissionless 0.0.28 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/_cjs/actions/bundler/estimateUserOperationGas.js +10 -5
- package/_cjs/actions/bundler/estimateUserOperationGas.js.map +1 -1
- package/_cjs/actions/pimlico/getUserOperationStatus.js.map +1 -1
- package/_cjs/actions/pimlico/sendCompressedUserOperation.js +16 -0
- package/_cjs/actions/pimlico/sendCompressedUserOperation.js.map +1 -0
- package/_cjs/actions/pimlico.js +3 -1
- package/_cjs/actions/pimlico.js.map +1 -1
- package/_cjs/actions/smartAccount/prepareUserOperationRequest.js +2 -2
- package/_cjs/actions/smartAccount/prepareUserOperationRequest.js.map +1 -1
- package/_cjs/clients/decorators/bundler.js +1 -1
- package/_cjs/clients/decorators/bundler.js.map +1 -1
- package/_cjs/clients/decorators/pimlico.js +2 -1
- package/_cjs/clients/decorators/pimlico.js.map +1 -1
- package/_cjs/clients/decorators/smartAccount.js +2 -2
- package/_cjs/clients/decorators/smartAccount.js.map +1 -1
- package/_cjs/utils/getAction.js +1 -1
- package/_cjs/utils/getAction.js.map +1 -1
- package/_esm/actions/bundler/estimateUserOperationGas.js +10 -5
- package/_esm/actions/bundler/estimateUserOperationGas.js.map +1 -1
- package/_esm/actions/pimlico/getUserOperationStatus.js +2 -1
- package/_esm/actions/pimlico/getUserOperationStatus.js.map +1 -1
- package/_esm/actions/pimlico/sendCompressedUserOperation.js +38 -0
- package/_esm/actions/pimlico/sendCompressedUserOperation.js.map +1 -0
- package/_esm/actions/pimlico.js +2 -1
- package/_esm/actions/pimlico.js.map +1 -1
- package/_esm/actions/smartAccount/prepareUserOperationRequest.js +2 -2
- package/_esm/actions/smartAccount/prepareUserOperationRequest.js.map +1 -1
- package/_esm/clients/decorators/bundler.js +1 -1
- package/_esm/clients/decorators/bundler.js.map +1 -1
- package/_esm/clients/decorators/pimlico.js +3 -2
- package/_esm/clients/decorators/pimlico.js.map +1 -1
- package/_esm/clients/decorators/smartAccount.js +2 -2
- package/_esm/clients/decorators/smartAccount.js.map +1 -1
- package/_esm/utils/getAction.js +1 -1
- package/_esm/utils/getAction.js.map +1 -1
- package/_types/actions/bundler/estimateUserOperationGas.d.ts +2 -2
- package/_types/actions/bundler/estimateUserOperationGas.d.ts.map +1 -1
- package/_types/actions/pimlico/getUserOperationStatus.d.ts +2 -1
- package/_types/actions/pimlico/getUserOperationStatus.d.ts.map +1 -1
- package/_types/actions/pimlico/sendCompressedUserOperation.d.ts +35 -0
- package/_types/actions/pimlico/sendCompressedUserOperation.d.ts.map +1 -0
- package/_types/actions/pimlico.d.ts +3 -2
- package/_types/actions/pimlico.d.ts.map +1 -1
- package/_types/actions/smartAccount/prepareUserOperationRequest.d.ts +2 -1
- package/_types/actions/smartAccount/prepareUserOperationRequest.d.ts.map +1 -1
- package/_types/clients/decorators/bundler.d.ts +2 -1
- package/_types/clients/decorators/bundler.d.ts.map +1 -1
- package/_types/clients/decorators/pimlico.d.ts +27 -2
- package/_types/clients/decorators/pimlico.d.ts.map +1 -1
- package/_types/clients/decorators/smartAccount.d.ts +2 -1
- package/_types/clients/decorators/smartAccount.d.ts.map +1 -1
- package/_types/types/bundler.d.ts +27 -1
- package/_types/types/bundler.d.ts.map +1 -1
- package/_types/types/pimlico.d.ts +9 -0
- package/_types/types/pimlico.d.ts.map +1 -1
- package/_types/utils/getAction.d.ts +1 -1
- package/_types/utils/getAction.d.ts.map +1 -1
- package/actions/bundler/estimateUserOperationGas.ts +13 -7
- package/actions/pimlico/getUserOperationStatus.ts +2 -1
- package/actions/pimlico/sendCompressedUserOperation.ts +62 -0
- package/actions/pimlico.ts +11 -5
- package/actions/smartAccount/prepareUserOperationRequest.ts +11 -9
- package/clients/decorators/bundler.ts +8 -3
- package/clients/decorators/pimlico.ts +33 -1
- package/clients/decorators/smartAccount.ts +12 -6
- package/package.json +1 -1
- package/types/bundler.ts +28 -1
- package/types/pimlico.ts +9 -0
- package/utils/getAction.ts +5 -5
|
@@ -5,6 +5,7 @@ import { type GetUserOperationByHashParameters, type GetUserOperationByHashRetur
|
|
|
5
5
|
import { type GetUserOperationReceiptParameters, type GetUserOperationReceiptReturnType } from "../../actions/bundler/getUserOperationReceipt.js";
|
|
6
6
|
import { type SendUserOperationParameters } from "../../actions/bundler/sendUserOperation.js";
|
|
7
7
|
import { type WaitForUserOperationReceiptParameters } from "../../actions/bundler/waitForUserOperationReceipt.js";
|
|
8
|
+
import type { StateOverrides } from "../../types/bundler.js";
|
|
8
9
|
import type { Prettify } from "../../types/index.js";
|
|
9
10
|
export type BundlerActions = {
|
|
10
11
|
/**
|
|
@@ -58,7 +59,7 @@ export type BundlerActions = {
|
|
|
58
59
|
*
|
|
59
60
|
* // Return {preVerificationGas: 43492n, verificationGasLimit: 59436n, callGasLimit: 9000n}
|
|
60
61
|
*/
|
|
61
|
-
estimateUserOperationGas: (args: Prettify<EstimateUserOperationGasParameters
|
|
62
|
+
estimateUserOperationGas: (args: Prettify<EstimateUserOperationGasParameters>, stateOverrides?: StateOverrides) => Promise<Prettify<EstimateUserOperationGasReturnType>>;
|
|
62
63
|
/**
|
|
63
64
|
*
|
|
64
65
|
* Returns the supported entrypoints by the bundler service
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../clients/decorators/bundler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,EACH,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EAE1C,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EAExC,MAAM,iDAAiD,CAAA;AACxD,OAAO,EACH,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EAEzC,MAAM,kDAAkD,CAAA;AACzD,OAAO,EACH,KAAK,2BAA2B,EAEnC,MAAM,4CAA4C,CAAA;AAEnD,OAAO,EACH,KAAK,qCAAqC,EAE7C,MAAM,sDAAsD,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGpD,MAAM,MAAM,cAAc,GAAG;IACzB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,iBAAiB,EAAE,CACf,IAAI,EAAE,QAAQ,CAAC,2BAA2B,CAAC,KAC1C,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,wBAAwB,EAAE,CACtB,IAAI,EAAE,QAAQ,CAAC,kCAAkC,CAAC,
|
|
1
|
+
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../clients/decorators/bundler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,EACH,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EAE1C,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EAExC,MAAM,iDAAiD,CAAA;AACxD,OAAO,EACH,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EAEzC,MAAM,kDAAkD,CAAA;AACzD,OAAO,EACH,KAAK,2BAA2B,EAEnC,MAAM,4CAA4C,CAAA;AAEnD,OAAO,EACH,KAAK,qCAAqC,EAE7C,MAAM,sDAAsD,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGpD,MAAM,MAAM,cAAc,GAAG;IACzB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,iBAAiB,EAAE,CACf,IAAI,EAAE,QAAQ,CAAC,2BAA2B,CAAC,KAC1C,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,wBAAwB,EAAE,CACtB,IAAI,EAAE,QAAQ,CAAC,kCAAkC,CAAC,EAClD,cAAc,CAAC,EAAE,cAAc,KAC9B,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAA;IAC1D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,oBAAoB,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAC9C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,sBAAsB,EAAE,CACpB,IAAI,EAAE,QAAQ,CAAC,gCAAgC,CAAC,KAC/C,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,GAAG,IAAI,CAAC,CAAA;IAC/D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,uBAAuB,EAAE,CACrB,IAAI,EAAE,QAAQ,CAAC,iCAAiC,CAAC,KAChD,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,GAAG,IAAI,CAAC,CAAA;IAEhE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,2BAA2B,EAAE,CACzB,IAAI,EAAE,QAAQ,CAAC,qCAAqC,CAAC,KACpD,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,CAAA;CAC5D,CAAA;AAED,QAAA,MAAM,cAAc,WAAY,MAAM,KAAG,cAmBvC,CAAA;AAEF,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Client } from "viem";
|
|
2
|
-
import { type ValidateSponsorshipPolicies, type ValidateSponsorshipPoliciesParameters } from "../../actions/pimlico.js";
|
|
1
|
+
import type { Client, Hash } from "viem";
|
|
2
|
+
import { type SendCompressedUserOperationParameters, type ValidateSponsorshipPolicies, type ValidateSponsorshipPoliciesParameters } from "../../actions/pimlico.js";
|
|
3
3
|
import { type GetUserOperationGasPriceReturnType } from "../../actions/pimlico/getUserOperationGasPrice.js";
|
|
4
4
|
import { type GetUserOperationStatusParameters, type GetUserOperationStatusReturnType } from "../../actions/pimlico/getUserOperationStatus.js";
|
|
5
5
|
import { type PimlicoSponsorUserOperationParameters, type SponsorUserOperationReturnType } from "../../actions/pimlico/sponsorUserOperation.js";
|
|
@@ -45,6 +45,31 @@ export type PimlicoBundlerActions = {
|
|
|
45
45
|
* await bundlerClient.getUserOperationStatus({ hash: userOpHash })
|
|
46
46
|
*/
|
|
47
47
|
getUserOperationStatus: (args: Prettify<GetUserOperationStatusParameters>) => Promise<Prettify<GetUserOperationStatusReturnType>>;
|
|
48
|
+
/**
|
|
49
|
+
* Sends a compressed user operation to the bundler
|
|
50
|
+
*
|
|
51
|
+
* - Docs: https://docs.pimlico.io/permissionless/reference/pimlico-bundler-actions/sendCompressedUserOperation
|
|
52
|
+
*
|
|
53
|
+
* @param args {@link SendCompressedUserOperationParameters}.
|
|
54
|
+
* @returns UserOpHash that you can use to track user operation as {@link Hash}.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* import { createClient } from "viem"
|
|
58
|
+
* import { pimlicoBundlerActions } from "permissionless/actions/pimlico"
|
|
59
|
+
*
|
|
60
|
+
* const bundlerClient = createClient({
|
|
61
|
+
* chain: goerli,
|
|
62
|
+
* transport: http("https://api.pimlico.io/v1/goerli/rpc?apikey=YOUR_API_KEY_HERE")
|
|
63
|
+
* }).extend(pimlicoBundlerActions)
|
|
64
|
+
*
|
|
65
|
+
* const userOpHash = await bundlerClient.sendCompressedUserOperation({
|
|
66
|
+
* compressedUserOperation,
|
|
67
|
+
* inflatorAddress,
|
|
68
|
+
* entryPoint
|
|
69
|
+
* })
|
|
70
|
+
* // Return '0xe9fad2cd67f9ca1d0b7a6513b2a42066784c8df938518da2b51bb8cc9a89ea34'
|
|
71
|
+
*/
|
|
72
|
+
sendCompressedUserOperation: (args: Prettify<SendCompressedUserOperationParameters>) => Promise<Hash>;
|
|
48
73
|
};
|
|
49
74
|
export declare const pimlicoBundlerActions: (client: Client) => PimlicoBundlerActions;
|
|
50
75
|
export type PimlicoPaymasterClientActions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pimlico.d.ts","sourceRoot":"","sources":["../../../clients/decorators/pimlico.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"pimlico.d.ts","sourceRoot":"","sources":["../../../clients/decorators/pimlico.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,EACH,KAAK,qCAAqC,EAC1C,KAAK,2BAA2B,EAChC,KAAK,qCAAqC,EAG7C,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACH,KAAK,kCAAkC,EAE1C,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EAExC,MAAM,iDAAiD,CAAA;AACxD,OAAO,EACH,KAAK,qCAAqC,EAC1C,KAAK,8BAA8B,EAEtC,MAAM,+CAA+C,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAMpD,MAAM,MAAM,qBAAqB,GAAG;IAChC;;;;;;;;;;;;;;;;;;OAkBG;IACH,wBAAwB,EAAE,MAAM,OAAO,CACnC,QAAQ,CAAC,kCAAkC,CAAC,CAC/C,CAAA;IACD;;;;;;;;;;;;;;;;;;OAkBG;IACH,sBAAsB,EAAE,CACpB,IAAI,EAAE,QAAQ,CAAC,gCAAgC,CAAC,KAC/C,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAA;IACxD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,2BAA2B,EAAE,CACzB,IAAI,EAAE,QAAQ,CAAC,qCAAqC,CAAC,KACpD,OAAO,CAAC,IAAI,CAAC,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,qBAAqB,WACtB,MAAM,KACf,qBAQD,CAAA;AAEF,MAAM,MAAM,6BAA6B,GAAG;IACxC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,oBAAoB,EAAE,CAClB,IAAI,EAAE,QAAQ,CAAC,qCAAqC,CAAC,KACpD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAA;IAEtD,2BAA2B,EAAE,CACzB,IAAI,EAAE,QAAQ,CAAC,qCAAqC,CAAC,KACpD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAA;CACxD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,uBAAuB,WACxB,MAAM,KACf,6BAMD,CAAA;AAEF;;GAEG"}
|
|
@@ -8,6 +8,7 @@ import { sendUserOperation } from "../../actions/smartAccount/sendUserOperation.
|
|
|
8
8
|
import { signMessage } from "../../actions/smartAccount/signMessage.js";
|
|
9
9
|
import { signTypedData } from "../../actions/smartAccount/signTypedData.js";
|
|
10
10
|
import { writeContract } from "../../actions/smartAccount/writeContract.js";
|
|
11
|
+
import type { StateOverrides } from "../../types/bundler.js";
|
|
11
12
|
import type { Prettify } from "../../types/index.js";
|
|
12
13
|
export type SmartAccountActions<TChain extends Chain | undefined = Chain | undefined, TSmartAccount extends SmartAccount | undefined = SmartAccount | undefined> = {
|
|
13
14
|
/**
|
|
@@ -273,7 +274,7 @@ export type SmartAccountActions<TChain extends Chain | undefined = Chain | undef
|
|
|
273
274
|
* const hash = await client.writeContract(request)
|
|
274
275
|
*/
|
|
275
276
|
writeContract: <const TAbi extends Abi | readonly unknown[], TFunctionName extends ContractFunctionName<TAbi, "nonpayable" | "payable"> = ContractFunctionName<TAbi, "nonpayable" | "payable">, TArgs extends ContractFunctionArgs<TAbi, "nonpayable" | "payable", TFunctionName> = ContractFunctionArgs<TAbi, "nonpayable" | "payable", TFunctionName>, TChainOverride extends Chain | undefined = undefined>(args: WriteContractParameters<TAbi, TFunctionName, TArgs, TChain, TSmartAccount, TChainOverride>) => ReturnType<typeof writeContract<TChain, TSmartAccount, TAbi, TFunctionName, TArgs, TChainOverride>>;
|
|
276
|
-
prepareUserOperationRequest: <TTransport extends Transport>(args: Prettify<Parameters<typeof prepareUserOperationRequest<TTransport, TChain, TSmartAccount>>[1]
|
|
277
|
+
prepareUserOperationRequest: <TTransport extends Transport>(args: Prettify<Parameters<typeof prepareUserOperationRequest<TTransport, TChain, TSmartAccount>>[1]>, stateOverrides?: StateOverrides) => Promise<Prettify<PrepareUserOperationRequestReturnType>>;
|
|
277
278
|
sendUserOperation: <TTransport extends Transport>(args: Prettify<Parameters<typeof sendUserOperation<TTransport, TChain, TSmartAccount>>[1]>) => Promise<Hash>;
|
|
278
279
|
/**
|
|
279
280
|
* Creates, signs, and sends a new transaction to the network.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartAccount.d.ts","sourceRoot":"","sources":["../../../clients/decorators/smartAccount.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"smartAccount.d.ts","sourceRoot":"","sources":["../../../clients/decorators/smartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,GAAG,EACH,KAAK,EACL,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,IAAI,EACJ,yBAAyB,EACzB,SAAS,EACT,SAAS,EACT,uBAAuB,EAC1B,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EACH,KAAK,uCAAuC,EAC5C,gBAAgB,EACnB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAEH,cAAc,EACjB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EACH,KAAK,qCAAqC,EAC1C,KAAK,8BAA8B,EACnC,2BAA2B,EAC9B,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAEH,eAAe,EAClB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAEH,iBAAiB,EACpB,MAAM,iDAAiD,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAC3E,OAAO,EAEH,aAAa,EAChB,MAAM,6CAA6C,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD,MAAM,MAAM,mBAAmB,CAC3B,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,aAAa,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IACzE;IACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,eAAe,EAAE,CAAC,cAAc,SAAS,KAAK,GAAG,SAAS,EACtD,IAAI,EAAE,yBAAyB,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,KACrE,UAAU,CACX,OAAO,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAChE,CAAA;IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,WAAW,EAAE,CACT,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAC7D,UAAU,CAAC,OAAO,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;IAC1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+FG;IACH,aAAa,EAAE,CACX,KAAK,CAAC,UAAU,SAAS,SAAS,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAC/D,YAAY,SAAS,MAAM,EAE3B,IAAI,EAAE,UAAU,CACZ,OAAO,aAAa,CAChB,UAAU,EACV,YAAY,EACZ,MAAM,EACN,aAAa,CAChB,CACJ,CAAC,CAAC,CAAC,KACH,UAAU,CACX,OAAO,aAAa,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,CACxE,CAAA;IACD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,cAAc,EAAE,CACZ,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEpD,IAAI,EAAE,QAAQ,CACV,wBAAwB,CACpB,IAAI,EACJ,MAAM,EACN,aAAa,EACb,cAAc,CACjB,CACJ,KACA,UAAU,CAAC,OAAO,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;IAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,aAAa,EAAE,CACX,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,aAAa,SAAS,oBAAoB,CACtC,IAAI,EACJ,YAAY,GAAG,SAAS,CAC3B,GAAG,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EACxD,KAAK,SAAS,oBAAoB,CAC9B,IAAI,EACJ,YAAY,GAAG,SAAS,EACxB,aAAa,CAChB,GAAG,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,aAAa,CAAC,EACvE,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEpD,IAAI,EAAE,uBAAuB,CACzB,IAAI,EACJ,aAAa,EACb,KAAK,EACL,MAAM,EACN,aAAa,EACb,cAAc,CACjB,KACA,UAAU,CACX,OAAO,aAAa,CAChB,MAAM,EACN,aAAa,EACb,IAAI,EACJ,aAAa,EACb,KAAK,EACL,cAAc,CACjB,CACJ,CAAA;IACD,2BAA2B,EAAE,CAAC,UAAU,SAAS,SAAS,EACtD,IAAI,EAAE,QAAQ,CACV,UAAU,CACN,OAAO,2BAA2B,CAC9B,UAAU,EACV,MAAM,EACN,aAAa,CAChB,CACJ,CAAC,CAAC,CAAC,CACP,EACD,cAAc,CAAC,EAAE,cAAc,KAC9B,OAAO,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC,CAAA;IAC7D,iBAAiB,EAAE,CAAC,UAAU,SAAS,SAAS,EAC5C,IAAI,EAAE,QAAQ,CACV,UAAU,CACN,OAAO,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAC9D,CAAC,CAAC,CAAC,CACP,KACA,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACH,gBAAgB,EAAE,CACd,IAAI,EAAE,QAAQ,CAAC,uCAAuC,CAAC,aAAa,CAAC,CAAC,KACrE,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;CAClE,CAAA;AAED,wBAAgB,mBAAmB,CAAC,EAChC,oBAAoB,EACvB,EAAE,8BAA8B,oQA+ChC"}
|
|
@@ -14,7 +14,20 @@ export type BundlerRpcSchema = [
|
|
|
14
14
|
Method: "eth_estimateUserOperationGas";
|
|
15
15
|
Parameters: [
|
|
16
16
|
userOperation: PartialBy<UserOperationWithBigIntAsHex, "callGasLimit" | "preVerificationGas" | "verificationGasLimit">,
|
|
17
|
-
entryPoint: Address
|
|
17
|
+
entryPoint: Address,
|
|
18
|
+
stateOverrides?: {
|
|
19
|
+
[x: string]: {
|
|
20
|
+
balance?: Hex;
|
|
21
|
+
nonce?: Hex;
|
|
22
|
+
code?: Hex;
|
|
23
|
+
state?: {
|
|
24
|
+
[x: Hex]: Hex;
|
|
25
|
+
};
|
|
26
|
+
stateDiff?: {
|
|
27
|
+
[x: Hex]: Hex;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
}
|
|
18
31
|
];
|
|
19
32
|
ReturnType: {
|
|
20
33
|
preVerificationGas: Hex;
|
|
@@ -81,5 +94,18 @@ type UserOperationReceiptWithBigIntAsHex = {
|
|
|
81
94
|
topics: Hex[];
|
|
82
95
|
}[];
|
|
83
96
|
};
|
|
97
|
+
export type StateOverrides = {
|
|
98
|
+
[x: string]: {
|
|
99
|
+
balance?: bigint | undefined;
|
|
100
|
+
nonce?: bigint | number | undefined;
|
|
101
|
+
code?: Hex | undefined;
|
|
102
|
+
state?: {
|
|
103
|
+
[x: Hex]: Hex;
|
|
104
|
+
};
|
|
105
|
+
stateDiff?: {
|
|
106
|
+
[x: Hex]: Hex;
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
};
|
|
84
110
|
export {};
|
|
85
111
|
//# sourceMappingURL=bundler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../types/bundler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAA;AAEtE,MAAM,MAAM,gBAAgB,GAAG;IAC3B;QACI,MAAM,EAAE,uBAAuB,CAAA;QAC/B,UAAU,EAAE;YACR,aAAa,EAAE,4BAA4B;YAC3C,UAAU,EAAE,OAAO;SACtB,CAAA;QACD,UAAU,EAAE,IAAI,CAAA;KACnB;IACD;QACI,MAAM,EAAE,8BAA8B,CAAA;QACtC,UAAU,EAAE;YACR,aAAa,EAAE,SAAS,CACpB,4BAA4B,EAC5B,cAAc,GAAG,oBAAoB,GAAG,sBAAsB,CACjE;YACD,UAAU,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../types/bundler.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,15 @@ export type PimlicoBundlerRpcSchema = [
|
|
|
29
29
|
Method: "pimlico_getUserOperationStatus";
|
|
30
30
|
Parameters: [hash: Hash];
|
|
31
31
|
ReturnType: PimlicoUserOperationStatus;
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
Method: "pimlico_sendCompressedUserOperation";
|
|
35
|
+
Parameters: [
|
|
36
|
+
compressedUserOperation: Hex,
|
|
37
|
+
inflatorAddress: Address,
|
|
38
|
+
entryPoint: Address
|
|
39
|
+
];
|
|
40
|
+
ReturnType: Hash;
|
|
32
41
|
}
|
|
33
42
|
];
|
|
34
43
|
export type PimlicoPaymasterRpcSchema = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pimlico.d.ts","sourceRoot":"","sources":["../../types/pimlico.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAA;AAEtE,KAAK,2CAA2C,GAAG;IAC/C,IAAI,EAAE;QACF,YAAY,EAAE,GAAG,CAAA;QACjB,oBAAoB,EAAE,GAAG,CAAA;KAC5B,CAAA;IACD,QAAQ,EAAE;QACN,YAAY,EAAE,GAAG,CAAA;QACjB,oBAAoB,EAAE,GAAG,CAAA;KAC5B,CAAA;IACD,IAAI,EAAE;QACF,YAAY,EAAE,GAAG,CAAA;QACjB,oBAAoB,EAAE,GAAG,CAAA;KAC5B,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,MAAM,EACA,WAAW,GACX,eAAe,GACf,WAAW,GACX,UAAU,GACV,UAAU,GACV,UAAU,GACV,QAAQ,CAAA;IACd,eAAe,EAAE,IAAI,GAAG,IAAI,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC;QACI,MAAM,EAAE,kCAAkC,CAAA;QAC1C,UAAU,EAAE,EAAE,CAAA;QACd,UAAU,EAAE,2CAA2C,CAAA;KAC1D;IACD;QACI,MAAM,EAAE,gCAAgC,CAAA;QACxC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACxB,UAAU,EAAE,0BAA0B,CAAA;KACzC;CACJ,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC;QACI,MAAM,EAAE,yBAAyB,CAAA;QACjC,UAAU,EAAE;YACR,aAAa,EAAE,SAAS,CACpB,4BAA4B,EAC1B,cAAc,GACd,oBAAoB,GACpB,sBAAsB,GACtB,kBAAkB,CACvB;YACD,UAAU,EAAE,OAAO;YACnB,QAAQ,CAAC,EAAE;gBACP,mBAAmB,CAAC,EAAE,MAAM,CAAA;aAC/B;SACJ,CAAA;QACD,UAAU,EAAE;YACR,gBAAgB,EAAE,GAAG,CAAA;YACrB,kBAAkB,EAAE,GAAG,CAAA;YACvB,oBAAoB,EAAE,GAAG,CAAA;YACzB,YAAY,EAAE,GAAG,CAAA;SACpB,CAAA;KACJ;IACD;QACI,MAAM,EAAE,gCAAgC,CAAA;QACxC,UAAU,EAAE;YACR,aAAa,EAAE,4BAA4B;YAC3C,UAAU,EAAE,OAAO;YACnB,oBAAoB,EAAE,MAAM,EAAE;SACjC,CAAA;QACD,UAAU,EAAE;YACR,mBAAmB,EAAE,MAAM,CAAA;YAC3B,IAAI,EAAE;gBACF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;gBACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;gBACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;gBACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;aAC7B,CAAA;SACJ,EAAE,CAAA;KACN;CACJ,CAAA"}
|
|
1
|
+
{"version":3,"file":"pimlico.d.ts","sourceRoot":"","sources":["../../types/pimlico.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAA;AAEtE,KAAK,2CAA2C,GAAG;IAC/C,IAAI,EAAE;QACF,YAAY,EAAE,GAAG,CAAA;QACjB,oBAAoB,EAAE,GAAG,CAAA;KAC5B,CAAA;IACD,QAAQ,EAAE;QACN,YAAY,EAAE,GAAG,CAAA;QACjB,oBAAoB,EAAE,GAAG,CAAA;KAC5B,CAAA;IACD,IAAI,EAAE;QACF,YAAY,EAAE,GAAG,CAAA;QACjB,oBAAoB,EAAE,GAAG,CAAA;KAC5B,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,MAAM,EACA,WAAW,GACX,eAAe,GACf,WAAW,GACX,UAAU,GACV,UAAU,GACV,UAAU,GACV,QAAQ,CAAA;IACd,eAAe,EAAE,IAAI,GAAG,IAAI,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC;QACI,MAAM,EAAE,kCAAkC,CAAA;QAC1C,UAAU,EAAE,EAAE,CAAA;QACd,UAAU,EAAE,2CAA2C,CAAA;KAC1D;IACD;QACI,MAAM,EAAE,gCAAgC,CAAA;QACxC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACxB,UAAU,EAAE,0BAA0B,CAAA;KACzC;IACD;QACI,MAAM,EAAE,qCAAqC,CAAA;QAC7C,UAAU,EAAE;YACR,uBAAuB,EAAE,GAAG;YAC5B,eAAe,EAAE,OAAO;YACxB,UAAU,EAAE,OAAO;SACtB,CAAA;QACD,UAAU,EAAE,IAAI,CAAA;KACnB;CACJ,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC;QACI,MAAM,EAAE,yBAAyB,CAAA;QACjC,UAAU,EAAE;YACR,aAAa,EAAE,SAAS,CACpB,4BAA4B,EAC1B,cAAc,GACd,oBAAoB,GACpB,sBAAsB,GACtB,kBAAkB,CACvB;YACD,UAAU,EAAE,OAAO;YACnB,QAAQ,CAAC,EAAE;gBACP,mBAAmB,CAAC,EAAE,MAAM,CAAA;aAC/B;SACJ,CAAA;QACD,UAAU,EAAE;YACR,gBAAgB,EAAE,GAAG,CAAA;YACrB,kBAAkB,EAAE,GAAG,CAAA;YACvB,oBAAoB,EAAE,GAAG,CAAA;YACzB,YAAY,EAAE,GAAG,CAAA;SACpB,CAAA;KACJ;IACD;QACI,MAAM,EAAE,gCAAgC,CAAA;QACxC,UAAU,EAAE;YACR,aAAa,EAAE,4BAA4B;YAC3C,UAAU,EAAE,OAAO;YACnB,oBAAoB,EAAE,MAAM,EAAE;SACjC,CAAA;QACD,UAAU,EAAE;YACR,mBAAmB,EAAE,MAAM,CAAA;YAC3B,IAAI,EAAE;gBACF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;gBACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;gBACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;gBACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;aAC7B,CAAA;SACJ,EAAE,CAAA;KACN;CACJ,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Client } from "viem";
|
|
2
|
-
export declare function getAction<params extends
|
|
2
|
+
export declare function getAction<params extends any[], returnType extends {}>(client: Client, action: (_: any, ...params: params) => returnType, actionName?: string): (...params: params) => returnType;
|
|
3
3
|
//# sourceMappingURL=getAction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAction.d.ts","sourceRoot":"","sources":["../../utils/getAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,wBAAgB,SAAS,CAAC,MAAM,SAAS,EAAE,EAAE,UAAU,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"getAction.d.ts","sourceRoot":"","sources":["../../utils/getAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,wBAAgB,SAAS,CAAC,MAAM,SAAS,GAAG,EAAE,EAAE,UAAU,SAAS,EAAE,EACjE,MAAM,EAAE,MAAM,EAEd,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,KAAK,UAAU,EACjD,UAAU,GAAE,MAAoB,0BAEJ,UAAU,CAMzC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { Account, Address, Chain, Client, Transport } from "viem"
|
|
2
2
|
import type { PartialBy } from "viem/types/utils"
|
|
3
3
|
import type { BundlerClient } from "../../clients/createBundlerClient.js"
|
|
4
|
-
import type { BundlerRpcSchema } from "../../types/bundler.js"
|
|
4
|
+
import type { BundlerRpcSchema, StateOverrides } from "../../types/bundler.js"
|
|
5
5
|
import type { Prettify } from "../../types/index.js"
|
|
6
6
|
import type { UserOperation } from "../../types/userOperation.js"
|
|
7
|
-
import type { UserOperationWithBigIntAsHex } from "../../types/userOperation.js"
|
|
8
7
|
import { deepHexlify } from "../../utils/deepHexlify.js"
|
|
9
8
|
|
|
10
9
|
export type EstimateUserOperationGasParameters = {
|
|
@@ -54,16 +53,23 @@ export const estimateUserOperationGas = async <
|
|
|
54
53
|
TAccount extends Account | undefined = Account | undefined
|
|
55
54
|
>(
|
|
56
55
|
client: Client<TTransport, TChain, TAccount, BundlerRpcSchema>,
|
|
57
|
-
args: Prettify<EstimateUserOperationGasParameters
|
|
56
|
+
args: Prettify<EstimateUserOperationGasParameters>,
|
|
57
|
+
stateOverrides?: StateOverrides
|
|
58
58
|
): Promise<Prettify<EstimateUserOperationGasReturnType>> => {
|
|
59
59
|
const { userOperation, entryPoint } = args
|
|
60
60
|
|
|
61
|
+
const userOperationWithBigIntAsHex = deepHexlify(userOperation)
|
|
62
|
+
const stateOverridesWithBigIntAsHex = deepHexlify(stateOverrides)
|
|
63
|
+
|
|
61
64
|
const response = await client.request({
|
|
62
65
|
method: "eth_estimateUserOperationGas",
|
|
63
|
-
params:
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
66
|
+
params: stateOverrides
|
|
67
|
+
? [
|
|
68
|
+
userOperationWithBigIntAsHex,
|
|
69
|
+
entryPoint,
|
|
70
|
+
stateOverridesWithBigIntAsHex
|
|
71
|
+
]
|
|
72
|
+
: [userOperationWithBigIntAsHex, entryPoint]
|
|
67
73
|
})
|
|
68
74
|
|
|
69
75
|
return {
|
|
@@ -25,11 +25,12 @@ export type GetUserOperationStatusReturnType = PimlicoUserOperationStatus
|
|
|
25
25
|
* @example
|
|
26
26
|
* import { createClient } from "viem"
|
|
27
27
|
* import { getUserOperationStatus } from "permissionless/actions/pimlico"
|
|
28
|
+
* import { pimlicoBundlerActions } from 'permissionless/actions/pimlico'
|
|
28
29
|
*
|
|
29
30
|
* const bundlerClient = createClient({
|
|
30
31
|
* chain: goerli,
|
|
31
32
|
* transport: http("https://api.pimlico.io/v2/goerli/rpc?apikey=YOUR_API_KEY_HERE")
|
|
32
|
-
* })
|
|
33
|
+
* }).extend(pimlicoBundlerActions)
|
|
33
34
|
*
|
|
34
35
|
* await getUserOperationStatus(bundlerClient, { hash: userOpHash })
|
|
35
36
|
*
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
Account,
|
|
3
|
+
Address,
|
|
4
|
+
Chain,
|
|
5
|
+
Client,
|
|
6
|
+
Hash,
|
|
7
|
+
Hex,
|
|
8
|
+
Transport
|
|
9
|
+
} from "viem"
|
|
10
|
+
import type { Prettify } from "../../types/index.js"
|
|
11
|
+
import { type PimlicoBundlerRpcSchema } from "../../types/pimlico.js"
|
|
12
|
+
|
|
13
|
+
export type SendCompressedUserOperationParameters = {
|
|
14
|
+
compressedUserOperation: Hex
|
|
15
|
+
inflatorAddress: Address
|
|
16
|
+
entryPoint: Address
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Sends a compressed user operation to the bundler
|
|
21
|
+
*
|
|
22
|
+
* - Docs: https://docs.pimlico.io/permissionless/reference/pimlico-bundler-actions/sendCompressedUserOperation
|
|
23
|
+
*
|
|
24
|
+
* @param client {@link PimlicoBundlerClient} that you created using viem's createClient whose transport url is pointing to the Pimlico's bundler.
|
|
25
|
+
* @param args {@link SendCompressedUserOperationParameters}.
|
|
26
|
+
* @returns UserOpHash that you can use to track user operation as {@link Hash}.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* import { pimlicoBundlerActions, sendCompressedUserOperation } from 'permissionless/actions/pimlico'
|
|
30
|
+
* import { createClient } from "viem"
|
|
31
|
+
*
|
|
32
|
+
* const bundlerClient = createClient({
|
|
33
|
+
* chain: goerli,
|
|
34
|
+
* transport: http("https://api.pimlico.io/v2/goerli/rpc?apikey=YOUR_API_KEY_HERE")
|
|
35
|
+
* }).extend(pimlicoBundlerActions)
|
|
36
|
+
*
|
|
37
|
+
* const userOpHash = await sendCompressedUserOperation(bundlerClient, {
|
|
38
|
+
* compressedUserOperation,
|
|
39
|
+
* inflatorAddress,
|
|
40
|
+
* entryPoint
|
|
41
|
+
* })
|
|
42
|
+
* // Return '0xe9fad2cd67f9ca1d0b7a6513b2a42066784c8df938518da2b51bb8cc9a89ea34'
|
|
43
|
+
*/
|
|
44
|
+
export const sendCompressedUserOperation = async <
|
|
45
|
+
TTransport extends Transport = Transport,
|
|
46
|
+
TChain extends Chain | undefined = Chain | undefined,
|
|
47
|
+
TAccount extends Account | undefined = Account | undefined
|
|
48
|
+
>(
|
|
49
|
+
client: Client<TTransport, TChain, TAccount, PimlicoBundlerRpcSchema>,
|
|
50
|
+
args: Prettify<SendCompressedUserOperationParameters>
|
|
51
|
+
): Promise<Hash> => {
|
|
52
|
+
const { compressedUserOperation, inflatorAddress, entryPoint } = args
|
|
53
|
+
|
|
54
|
+
return client.request({
|
|
55
|
+
method: "pimlico_sendCompressedUserOperation",
|
|
56
|
+
params: [
|
|
57
|
+
compressedUserOperation as Hex,
|
|
58
|
+
inflatorAddress as Address,
|
|
59
|
+
entryPoint as Address
|
|
60
|
+
]
|
|
61
|
+
})
|
|
62
|
+
}
|
package/actions/pimlico.ts
CHANGED
|
@@ -7,6 +7,10 @@ import {
|
|
|
7
7
|
type GetUserOperationStatusReturnType,
|
|
8
8
|
getUserOperationStatus
|
|
9
9
|
} from "./pimlico/getUserOperationStatus.js"
|
|
10
|
+
import {
|
|
11
|
+
type SendCompressedUserOperationParameters,
|
|
12
|
+
sendCompressedUserOperation
|
|
13
|
+
} from "./pimlico/sendCompressedUserOperation.js"
|
|
10
14
|
import {
|
|
11
15
|
type PimlicoSponsorUserOperationParameters,
|
|
12
16
|
type SponsorUserOperationReturnType,
|
|
@@ -32,19 +36,21 @@ export type {
|
|
|
32
36
|
GetUserOperationGasPriceReturnType,
|
|
33
37
|
GetUserOperationStatusParameters,
|
|
34
38
|
GetUserOperationStatusReturnType,
|
|
35
|
-
PimlicoSponsorUserOperationParameters,
|
|
36
|
-
SponsorUserOperationReturnType,
|
|
37
39
|
PimlicoBundlerActions,
|
|
38
40
|
PimlicoPaymasterClientActions,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
PimlicoSponsorUserOperationParameters,
|
|
42
|
+
SendCompressedUserOperationParameters,
|
|
43
|
+
SponsorUserOperationReturnType,
|
|
44
|
+
ValidateSponsorshipPolicies,
|
|
45
|
+
ValidateSponsorshipPoliciesParameters
|
|
41
46
|
}
|
|
42
47
|
|
|
43
48
|
export {
|
|
44
49
|
getUserOperationGasPrice,
|
|
45
50
|
getUserOperationStatus,
|
|
46
|
-
sponsorUserOperation,
|
|
47
51
|
pimlicoBundlerActions,
|
|
48
52
|
pimlicoPaymasterActions,
|
|
53
|
+
sendCompressedUserOperation,
|
|
54
|
+
sponsorUserOperation,
|
|
49
55
|
validateSponsorshipPolicies
|
|
50
56
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Address, Chain, Client, Transport } from "viem"
|
|
2
2
|
import { estimateFeesPerGas } from "viem/actions"
|
|
3
3
|
import type { SmartAccount } from "../../accounts/types.js"
|
|
4
|
+
import type { StateOverrides } from "../../types/bundler.js"
|
|
4
5
|
import type {
|
|
5
6
|
GetAccountParameter,
|
|
6
7
|
PartialBy,
|
|
@@ -48,7 +49,8 @@ export async function prepareUserOperationRequest<
|
|
|
48
49
|
TAccount extends SmartAccount | undefined = SmartAccount | undefined
|
|
49
50
|
>(
|
|
50
51
|
client: Client<TTransport, TChain, TAccount>,
|
|
51
|
-
args: Prettify<PrepareUserOperationRequestParameters<TAccount
|
|
52
|
+
args: Prettify<PrepareUserOperationRequestParameters<TAccount>>,
|
|
53
|
+
stateOverrides?: StateOverrides
|
|
52
54
|
): Promise<Prettify<PrepareUserOperationRequestReturnType>> {
|
|
53
55
|
const {
|
|
54
56
|
account: account_ = client.account,
|
|
@@ -105,15 +107,15 @@ export async function prepareUserOperationRequest<
|
|
|
105
107
|
!userOperation.verificationGasLimit ||
|
|
106
108
|
!userOperation.preVerificationGas
|
|
107
109
|
) {
|
|
108
|
-
const gasParameters = await getAction(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
const gasParameters = await getAction(client, estimateUserOperationGas)(
|
|
111
|
+
{
|
|
112
|
+
userOperation: {
|
|
113
|
+
...userOperation
|
|
114
|
+
},
|
|
115
|
+
entryPoint: account.entryPoint
|
|
114
116
|
},
|
|
115
|
-
|
|
116
|
-
|
|
117
|
+
stateOverrides
|
|
118
|
+
)
|
|
117
119
|
|
|
118
120
|
userOperation.callGasLimit =
|
|
119
121
|
userOperation.callGasLimit || gasParameters.callGasLimit
|
|
@@ -25,6 +25,7 @@ import {
|
|
|
25
25
|
type WaitForUserOperationReceiptParameters,
|
|
26
26
|
waitForUserOperationReceipt
|
|
27
27
|
} from "../../actions/bundler/waitForUserOperationReceipt.js"
|
|
28
|
+
import type { StateOverrides } from "../../types/bundler.js"
|
|
28
29
|
import type { Prettify } from "../../types/index.js"
|
|
29
30
|
import type { BundlerClient } from "../createBundlerClient.js"
|
|
30
31
|
|
|
@@ -83,7 +84,8 @@ export type BundlerActions = {
|
|
|
83
84
|
* // Return {preVerificationGas: 43492n, verificationGasLimit: 59436n, callGasLimit: 9000n}
|
|
84
85
|
*/
|
|
85
86
|
estimateUserOperationGas: (
|
|
86
|
-
args: Prettify<EstimateUserOperationGasParameters
|
|
87
|
+
args: Prettify<EstimateUserOperationGasParameters>,
|
|
88
|
+
stateOverrides?: StateOverrides
|
|
87
89
|
) => Promise<Prettify<EstimateUserOperationGasReturnType>>
|
|
88
90
|
/**
|
|
89
91
|
*
|
|
@@ -207,8 +209,11 @@ const bundlerActions = (client: Client): BundlerActions => ({
|
|
|
207
209
|
sendUserOperation: async (
|
|
208
210
|
args: SendUserOperationParameters
|
|
209
211
|
): Promise<Hash> => sendUserOperation(client as BundlerClient, args),
|
|
210
|
-
estimateUserOperationGas: (
|
|
211
|
-
|
|
212
|
+
estimateUserOperationGas: (
|
|
213
|
+
args: EstimateUserOperationGasParameters,
|
|
214
|
+
stateOverrides
|
|
215
|
+
) =>
|
|
216
|
+
estimateUserOperationGas(client as BundlerClient, args, stateOverrides),
|
|
212
217
|
supportedEntryPoints: (): Promise<Address[]> =>
|
|
213
218
|
supportedEntryPoints(client as BundlerClient),
|
|
214
219
|
chainId: () => chainId(client as BundlerClient),
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { Client, Hash } from "viem"
|
|
2
2
|
import {
|
|
3
|
+
type SendCompressedUserOperationParameters,
|
|
3
4
|
type ValidateSponsorshipPolicies,
|
|
4
5
|
type ValidateSponsorshipPoliciesParameters,
|
|
6
|
+
sendCompressedUserOperation,
|
|
5
7
|
validateSponsorshipPolicies
|
|
6
8
|
} from "../../actions/pimlico.js"
|
|
7
9
|
import {
|
|
@@ -69,6 +71,33 @@ export type PimlicoBundlerActions = {
|
|
|
69
71
|
getUserOperationStatus: (
|
|
70
72
|
args: Prettify<GetUserOperationStatusParameters>
|
|
71
73
|
) => Promise<Prettify<GetUserOperationStatusReturnType>>
|
|
74
|
+
/**
|
|
75
|
+
* Sends a compressed user operation to the bundler
|
|
76
|
+
*
|
|
77
|
+
* - Docs: https://docs.pimlico.io/permissionless/reference/pimlico-bundler-actions/sendCompressedUserOperation
|
|
78
|
+
*
|
|
79
|
+
* @param args {@link SendCompressedUserOperationParameters}.
|
|
80
|
+
* @returns UserOpHash that you can use to track user operation as {@link Hash}.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* import { createClient } from "viem"
|
|
84
|
+
* import { pimlicoBundlerActions } from "permissionless/actions/pimlico"
|
|
85
|
+
*
|
|
86
|
+
* const bundlerClient = createClient({
|
|
87
|
+
* chain: goerli,
|
|
88
|
+
* transport: http("https://api.pimlico.io/v1/goerli/rpc?apikey=YOUR_API_KEY_HERE")
|
|
89
|
+
* }).extend(pimlicoBundlerActions)
|
|
90
|
+
*
|
|
91
|
+
* const userOpHash = await bundlerClient.sendCompressedUserOperation({
|
|
92
|
+
* compressedUserOperation,
|
|
93
|
+
* inflatorAddress,
|
|
94
|
+
* entryPoint
|
|
95
|
+
* })
|
|
96
|
+
* // Return '0xe9fad2cd67f9ca1d0b7a6513b2a42066784c8df938518da2b51bb8cc9a89ea34'
|
|
97
|
+
*/
|
|
98
|
+
sendCompressedUserOperation: (
|
|
99
|
+
args: Prettify<SendCompressedUserOperationParameters>
|
|
100
|
+
) => Promise<Hash>
|
|
72
101
|
}
|
|
73
102
|
|
|
74
103
|
export const pimlicoBundlerActions = (
|
|
@@ -77,7 +106,10 @@ export const pimlicoBundlerActions = (
|
|
|
77
106
|
getUserOperationGasPrice: async () =>
|
|
78
107
|
getUserOperationGasPrice(client as PimlicoBundlerClient),
|
|
79
108
|
getUserOperationStatus: async (args: GetUserOperationStatusParameters) =>
|
|
80
|
-
getUserOperationStatus(client as PimlicoBundlerClient, args)
|
|
109
|
+
getUserOperationStatus(client as PimlicoBundlerClient, args),
|
|
110
|
+
sendCompressedUserOperation: async (
|
|
111
|
+
args: SendCompressedUserOperationParameters
|
|
112
|
+
) => sendCompressedUserOperation(client as PimlicoBundlerClient, args)
|
|
81
113
|
})
|
|
82
114
|
|
|
83
115
|
export type PimlicoPaymasterClientActions = {
|
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
type WriteContractWithPaymasterParameters,
|
|
40
40
|
writeContract
|
|
41
41
|
} from "../../actions/smartAccount/writeContract.js"
|
|
42
|
+
import type { StateOverrides } from "../../types/bundler.js"
|
|
42
43
|
import type { Prettify } from "../../types/index.js"
|
|
43
44
|
|
|
44
45
|
export type SmartAccountActions<
|
|
@@ -377,7 +378,8 @@ export type SmartAccountActions<
|
|
|
377
378
|
TSmartAccount
|
|
378
379
|
>
|
|
379
380
|
>[1]
|
|
380
|
-
|
|
381
|
+
>,
|
|
382
|
+
stateOverrides?: StateOverrides
|
|
381
383
|
) => Promise<Prettify<PrepareUserOperationRequestReturnType>>
|
|
382
384
|
sendUserOperation: <TTransport extends Transport>(
|
|
383
385
|
args: Prettify<
|
|
@@ -452,11 +454,15 @@ export function smartAccountActions({
|
|
|
452
454
|
>(
|
|
453
455
|
client: Client<TTransport, TChain, TSmartAccount>
|
|
454
456
|
): SmartAccountActions<TChain, TSmartAccount> => ({
|
|
455
|
-
prepareUserOperationRequest: (args) =>
|
|
456
|
-
prepareUserOperationRequest(
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
457
|
+
prepareUserOperationRequest: (args, stateOverrides) =>
|
|
458
|
+
prepareUserOperationRequest(
|
|
459
|
+
client,
|
|
460
|
+
{
|
|
461
|
+
...args,
|
|
462
|
+
sponsorUserOperation
|
|
463
|
+
},
|
|
464
|
+
stateOverrides
|
|
465
|
+
),
|
|
460
466
|
deployContract: (args) =>
|
|
461
467
|
deployContract(client, {
|
|
462
468
|
...args,
|
package/package.json
CHANGED
package/types/bundler.ts
CHANGED
|
@@ -18,7 +18,20 @@ export type BundlerRpcSchema = [
|
|
|
18
18
|
UserOperationWithBigIntAsHex,
|
|
19
19
|
"callGasLimit" | "preVerificationGas" | "verificationGasLimit"
|
|
20
20
|
>,
|
|
21
|
-
entryPoint: Address
|
|
21
|
+
entryPoint: Address,
|
|
22
|
+
stateOverrides?: {
|
|
23
|
+
[x: string]: {
|
|
24
|
+
balance?: Hex
|
|
25
|
+
nonce?: Hex
|
|
26
|
+
code?: Hex
|
|
27
|
+
state?: {
|
|
28
|
+
[x: Hex]: Hex
|
|
29
|
+
}
|
|
30
|
+
stateDiff?: {
|
|
31
|
+
[x: Hex]: Hex
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
22
35
|
]
|
|
23
36
|
ReturnType: {
|
|
24
37
|
preVerificationGas: Hex
|
|
@@ -86,3 +99,17 @@ type UserOperationReceiptWithBigIntAsHex = {
|
|
|
86
99
|
topics: Hex[]
|
|
87
100
|
}[]
|
|
88
101
|
}
|
|
102
|
+
|
|
103
|
+
export type StateOverrides = {
|
|
104
|
+
[x: string]: {
|
|
105
|
+
balance?: bigint | undefined
|
|
106
|
+
nonce?: bigint | number | undefined
|
|
107
|
+
code?: Hex | undefined
|
|
108
|
+
state?: {
|
|
109
|
+
[x: Hex]: Hex
|
|
110
|
+
}
|
|
111
|
+
stateDiff?: {
|
|
112
|
+
[x: Hex]: Hex
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
package/types/pimlico.ts
CHANGED
|
@@ -39,6 +39,15 @@ export type PimlicoBundlerRpcSchema = [
|
|
|
39
39
|
Method: "pimlico_getUserOperationStatus"
|
|
40
40
|
Parameters: [hash: Hash]
|
|
41
41
|
ReturnType: PimlicoUserOperationStatus
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
Method: "pimlico_sendCompressedUserOperation"
|
|
45
|
+
Parameters: [
|
|
46
|
+
compressedUserOperation: Hex,
|
|
47
|
+
inflatorAddress: Address,
|
|
48
|
+
entryPoint: Address
|
|
49
|
+
]
|
|
50
|
+
ReturnType: Hash
|
|
42
51
|
}
|
|
43
52
|
]
|
|
44
53
|
|
package/utils/getAction.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { Client } from "viem"
|
|
2
2
|
|
|
3
|
-
export function getAction<params extends
|
|
3
|
+
export function getAction<params extends any[], returnType extends {}>(
|
|
4
4
|
client: Client,
|
|
5
5
|
// biome-ignore lint/suspicious/noExplicitAny: it's a recursive function, so it's hard to type
|
|
6
|
-
action: (_: any, params: params) => returnType,
|
|
6
|
+
action: (_: any, ...params: params) => returnType,
|
|
7
7
|
actionName: string = action.name
|
|
8
8
|
) {
|
|
9
|
-
return (params: params): returnType =>
|
|
9
|
+
return (...params: params): returnType =>
|
|
10
10
|
(
|
|
11
11
|
client as Client & {
|
|
12
|
-
[key: string]: (params: params) => returnType
|
|
12
|
+
[key: string]: (...params: params) => returnType
|
|
13
13
|
}
|
|
14
|
-
)[actionName]?.(params) ?? action(client, params)
|
|
14
|
+
)[actionName]?.(...params) ?? action(client, ...params)
|
|
15
15
|
}
|