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
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# permissionless
|
|
2
2
|
|
|
3
|
+
## 0.0.30
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 1069679230b07113a993927dd453d5eca4d94bc5: Added support for sendCompressedUserOperation Pimlico bundler action
|
|
8
|
+
|
|
9
|
+
## 0.0.29
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 4de179a0d49f23b5961b84b6ccba56f0f7cde345: Enable state overrides during estimation
|
|
14
|
+
|
|
3
15
|
## 0.0.28
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -2,14 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.estimateUserOperationGas = void 0;
|
|
4
4
|
const deepHexlify_js_1 = require("../../utils/deepHexlify.js");
|
|
5
|
-
const estimateUserOperationGas = async (client, args) => {
|
|
5
|
+
const estimateUserOperationGas = async (client, args, stateOverrides) => {
|
|
6
6
|
const { userOperation, entryPoint } = args;
|
|
7
|
+
const userOperationWithBigIntAsHex = (0, deepHexlify_js_1.deepHexlify)(userOperation);
|
|
8
|
+
const stateOverridesWithBigIntAsHex = (0, deepHexlify_js_1.deepHexlify)(stateOverrides);
|
|
7
9
|
const response = await client.request({
|
|
8
10
|
method: "eth_estimateUserOperationGas",
|
|
9
|
-
params:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
params: stateOverrides
|
|
12
|
+
? [
|
|
13
|
+
userOperationWithBigIntAsHex,
|
|
14
|
+
entryPoint,
|
|
15
|
+
stateOverridesWithBigIntAsHex
|
|
16
|
+
]
|
|
17
|
+
: [userOperationWithBigIntAsHex, entryPoint]
|
|
13
18
|
});
|
|
14
19
|
return {
|
|
15
20
|
preVerificationGas: BigInt(response.preVerificationGas || 0),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateUserOperationGas.js","sourceRoot":"","sources":["../../../actions/bundler/estimateUserOperationGas.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"estimateUserOperationGas.js","sourceRoot":"","sources":["../../../actions/bundler/estimateUserOperationGas.ts"],"names":[],"mappings":";;;AAMA,+DAAwD;AA2CjD,MAAM,wBAAwB,GAAG,KAAK,EAKzC,MAA8D,EAC9D,IAAkD,EAClD,cAA+B,EACsB,EAAE;IACvD,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IAE1C,MAAM,4BAA4B,GAAG,IAAA,4BAAW,EAAC,aAAa,CAAC,CAAA;IAC/D,MAAM,6BAA6B,GAAG,IAAA,4BAAW,EAAC,cAAc,CAAC,CAAA;IAEjE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,8BAA8B;QACtC,MAAM,EAAE,cAAc;YAClB,CAAC,CAAC;gBACI,4BAA4B;gBAC5B,UAAU;gBACV,6BAA6B;aAChC;YACH,CAAC,CAAC,CAAC,4BAA4B,EAAE,UAAU,CAAC;KACnD,CAAC,CAAA;IAEF,OAAO;QACH,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,IAAI,CAAC,CAAC;QAC5D,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAChE,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;KACnD,CAAA;AACL,CAAC,CAAA;AA9BY,QAAA,wBAAwB,4BA8BpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserOperationStatus.js","sourceRoot":"","sources":["../../../actions/pimlico/getUserOperationStatus.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getUserOperationStatus.js","sourceRoot":"","sources":["../../../actions/pimlico/getUserOperationStatus.ts"],"names":[],"mappings":";;;AAqCO,MAAM,sBAAsB,GAAG,KAAK,EAKvC,MAAqE,EACrE,EAAE,IAAI,EAA8C,EACD,EAAE;IACrD,OAAO,MAAM,CAAC,OAAO,CAAC;QAClB,MAAM,EAAE,gCAAgC;QACxC,MAAM,EAAE,CAAC,IAAI,CAAC;KACjB,CAAC,CAAA;AACN,CAAC,CAAA;AAZY,QAAA,sBAAsB,0BAYlC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendCompressedUserOperation = void 0;
|
|
4
|
+
const sendCompressedUserOperation = async (client, args) => {
|
|
5
|
+
const { compressedUserOperation, inflatorAddress, entryPoint } = args;
|
|
6
|
+
return client.request({
|
|
7
|
+
method: "pimlico_sendCompressedUserOperation",
|
|
8
|
+
params: [
|
|
9
|
+
compressedUserOperation,
|
|
10
|
+
inflatorAddress,
|
|
11
|
+
entryPoint
|
|
12
|
+
]
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
exports.sendCompressedUserOperation = sendCompressedUserOperation;
|
|
16
|
+
//# sourceMappingURL=sendCompressedUserOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendCompressedUserOperation.js","sourceRoot":"","sources":["../../../actions/pimlico/sendCompressedUserOperation.ts"],"names":[],"mappings":";;;AA2CO,MAAM,2BAA2B,GAAG,KAAK,EAK5C,MAAqE,EACrE,IAAqD,EACxC,EAAE;IACf,MAAM,EAAE,uBAAuB,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IAErE,OAAO,MAAM,CAAC,OAAO,CAAC;QAClB,MAAM,EAAE,qCAAqC;QAC7C,MAAM,EAAE;YACJ,uBAA8B;YAC9B,eAA0B;YAC1B,UAAqB;SACxB;KACJ,CAAC,CAAA;AACN,CAAC,CAAA;AAlBY,QAAA,2BAA2B,+BAkBvC"}
|
package/_cjs/actions/pimlico.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateSponsorshipPolicies = exports.
|
|
3
|
+
exports.validateSponsorshipPolicies = exports.sponsorUserOperation = exports.sendCompressedUserOperation = exports.pimlicoPaymasterActions = exports.pimlicoBundlerActions = exports.getUserOperationStatus = exports.getUserOperationGasPrice = void 0;
|
|
4
4
|
const getUserOperationGasPrice_js_1 = require("./pimlico/getUserOperationGasPrice.js");
|
|
5
5
|
Object.defineProperty(exports, "getUserOperationGasPrice", { enumerable: true, get: function () { return getUserOperationGasPrice_js_1.getUserOperationGasPrice; } });
|
|
6
6
|
const getUserOperationStatus_js_1 = require("./pimlico/getUserOperationStatus.js");
|
|
7
7
|
Object.defineProperty(exports, "getUserOperationStatus", { enumerable: true, get: function () { return getUserOperationStatus_js_1.getUserOperationStatus; } });
|
|
8
|
+
const sendCompressedUserOperation_js_1 = require("./pimlico/sendCompressedUserOperation.js");
|
|
9
|
+
Object.defineProperty(exports, "sendCompressedUserOperation", { enumerable: true, get: function () { return sendCompressedUserOperation_js_1.sendCompressedUserOperation; } });
|
|
8
10
|
const sponsorUserOperation_js_1 = require("./pimlico/sponsorUserOperation.js");
|
|
9
11
|
Object.defineProperty(exports, "sponsorUserOperation", { enumerable: true, get: function () { return sponsorUserOperation_js_1.sponsorUserOperation; } });
|
|
10
12
|
const pimlico_js_1 = require("../clients/decorators/pimlico.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pimlico.js","sourceRoot":"","sources":["../../actions/pimlico.ts"],"names":[],"mappings":";;;AAAA,uFAG8C;
|
|
1
|
+
{"version":3,"file":"pimlico.js","sourceRoot":"","sources":["../../actions/pimlico.ts"],"names":[],"mappings":";;;AAAA,uFAG8C;AA6C1C,yGA9CA,sDAAwB,OA8CA;AA5C5B,mFAI4C;AAyCxC,uGA1CA,kDAAsB,OA0CA;AAxC1B,6FAGiD;AAwC7C,4GAzCA,4DAA2B,OAyCA;AAvC/B,+EAI0C;AAoCtC,qGArCA,8CAAoB,OAqCA;AA9BxB,iEAGyC;AAwBrC,sGA1BA,kCAAqB,OA0BA;AACrB,wGA1BA,oCAAuB,OA0BA;AAvB3B,6FAIiD;AAsB7C,4GAvBA,4DAA2B,OAuBA"}
|
|
@@ -5,7 +5,7 @@ const actions_1 = require("viem/actions");
|
|
|
5
5
|
const getAction_js_1 = require("../../utils/getAction.js");
|
|
6
6
|
const index_js_1 = require("../../utils/index.js");
|
|
7
7
|
const estimateUserOperationGas_js_1 = require("../bundler/estimateUserOperationGas.js");
|
|
8
|
-
async function prepareUserOperationRequest(client, args) {
|
|
8
|
+
async function prepareUserOperationRequest(client, args, stateOverrides) {
|
|
9
9
|
const { account: account_ = client.account, userOperation: partialUserOperation, sponsorUserOperation } = args;
|
|
10
10
|
if (!account_)
|
|
11
11
|
throw new index_js_1.AccountOrClientNotFoundError();
|
|
@@ -54,7 +54,7 @@ async function prepareUserOperationRequest(client, args) {
|
|
|
54
54
|
...userOperation
|
|
55
55
|
},
|
|
56
56
|
entryPoint: account.entryPoint
|
|
57
|
-
});
|
|
57
|
+
}, stateOverrides);
|
|
58
58
|
userOperation.callGasLimit =
|
|
59
59
|
userOperation.callGasLimit || gasParameters.callGasLimit;
|
|
60
60
|
userOperation.verificationGasLimit =
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareUserOperationRequest.js","sourceRoot":"","sources":["../../../actions/smartAccount/prepareUserOperationRequest.ts"],"names":[],"mappings":";;;AACA,0CAAiD;
|
|
1
|
+
{"version":3,"file":"prepareUserOperationRequest.js","sourceRoot":"","sources":["../../../actions/smartAccount/prepareUserOperationRequest.ts"],"names":[],"mappings":";;;AACA,0CAAiD;AASjD,2DAAoD;AACpD,mDAG6B;AAC7B,wFAAiF;AA8B1E,KAAK,UAAU,2BAA2B,CAK7C,MAA4C,EAC5C,IAA+D,EAC/D,cAA+B;IAE/B,MAAM,EACF,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,aAAa,EAAE,oBAAoB,EACnC,oBAAoB,EACvB,GAAG,IAAI,CAAA;IACR,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,uCAA4B,EAAE,CAAA;IAEvD,MAAM,OAAO,GAAG,IAAA,uBAAY,EAAC,QAAQ,CAAiB,CAAA;IAEtD,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,GACpD,MAAM,OAAO,CAAC,GAAG,CAAC;QACd,oBAAoB,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO;QAC9C,oBAAoB,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE;QAChD,oBAAoB,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE;QACtD,oBAAoB,CAAC,QAAQ;QAC7B,CAAC,oBAAoB,CAAC,YAAY;YAClC,CAAC,oBAAoB,CAAC,oBAAoB;YACtC,CAAC,CAAC,IAAA,4BAAkB,EAAC,OAAO,CAAC,MAAM,CAAC;YACpC,CAAC,CAAC,SAAS;KAClB,CAAC,CAAA;IAEN,IAAI,aAAa,GAAkB;QAC/B,MAAM;QACN,KAAK;QACL,QAAQ;QACR,QAAQ;QACR,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,oBAAoB,CAAC,SAAS,IAAI,IAAI;QACjD,YAAY,EACR,oBAAoB,CAAC,YAAY;YACjC,aAAa,EAAE,YAAY;YAC3B,EAAE;QACN,oBAAoB,EAChB,oBAAoB,CAAC,oBAAoB;YACzC,aAAa,EAAE,oBAAoB;YACnC,EAAE;QACN,YAAY,EAAE,oBAAoB,CAAC,YAAY,IAAI,EAAE;QACrD,oBAAoB,EAAE,oBAAoB,CAAC,oBAAoB,IAAI,EAAE;QACrE,kBAAkB,EAAE,oBAAoB,CAAC,kBAAkB,IAAI,EAAE;KACpE,CAAA;IAED,IAAI,aAAa,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QACnC,aAAa,CAAC,SAAS,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC5E,CAAC;IAED,IAAI,oBAAoB,EAAE,CAAC;QACvB,aAAa,GAAG,MAAM,oBAAoB,CAAC;YACvC,aAAa;YACb,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,CAAC,CAAA;IACN,CAAC;SAAM,IACH,CAAC,aAAa,CAAC,YAAY;QAC3B,CAAC,aAAa,CAAC,oBAAoB;QACnC,CAAC,aAAa,CAAC,kBAAkB,EACnC,CAAC;QACC,MAAM,aAAa,GAAG,MAAM,IAAA,wBAAS,EAAC,MAAM,EAAE,sDAAwB,CAAC,CACnE;YACI,aAAa,EAAE;gBACX,GAAG,aAAa;aACnB;YACD,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,EACD,cAAc,CACjB,CAAA;QAED,aAAa,CAAC,YAAY;YACtB,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY,CAAA;QAC5D,aAAa,CAAC,oBAAoB;YAC9B,aAAa,CAAC,oBAAoB;gBAClC,aAAa,CAAC,oBAAoB,CAAA;QACtC,aAAa,CAAC,kBAAkB;YAC5B,aAAa,CAAC,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,CAAA;IAC5E,CAAC;IAED,OAAO,aAAa,CAAA;AACxB,CAAC;AApFD,kEAoFC"}
|
|
@@ -10,7 +10,7 @@ const supportedEntryPoints_js_1 = require("../../actions/bundler/supportedEntryP
|
|
|
10
10
|
const waitForUserOperationReceipt_js_1 = require("../../actions/bundler/waitForUserOperationReceipt.js");
|
|
11
11
|
const bundlerActions = (client) => ({
|
|
12
12
|
sendUserOperation: async (args) => (0, sendUserOperation_js_1.sendUserOperation)(client, args),
|
|
13
|
-
estimateUserOperationGas: (args) => (0, estimateUserOperationGas_js_1.estimateUserOperationGas)(client, args),
|
|
13
|
+
estimateUserOperationGas: (args, stateOverrides) => (0, estimateUserOperationGas_js_1.estimateUserOperationGas)(client, args, stateOverrides),
|
|
14
14
|
supportedEntryPoints: () => (0, supportedEntryPoints_js_1.supportedEntryPoints)(client),
|
|
15
15
|
chainId: () => (0, chainId_js_1.chainId)(client),
|
|
16
16
|
getUserOperationByHash: (args) => (0, getUserOperationByHash_js_1.getUserOperationByHash)(client, args),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../clients/decorators/bundler.ts"],"names":[],"mappings":";;;AAEA,iEAA0D;AAC1D,mGAI0D;AAC1D,+FAIwD;AACxD,iGAIyD;AACzD,qFAGmD;AACnD,2FAAoF;AACpF,yGAG6D;
|
|
1
|
+
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../clients/decorators/bundler.ts"],"names":[],"mappings":";;;AAEA,iEAA0D;AAC1D,mGAI0D;AAC1D,+FAIwD;AACxD,iGAIyD;AACzD,qFAGmD;AACnD,2FAAoF;AACpF,yGAG6D;AAqL7D,MAAM,cAAc,GAAG,CAAC,MAAc,EAAkB,EAAE,CAAC,CAAC;IACxD,iBAAiB,EAAE,KAAK,EACpB,IAAiC,EACpB,EAAE,CAAC,IAAA,wCAAiB,EAAC,MAAuB,EAAE,IAAI,CAAC;IACpE,wBAAwB,EAAE,CACtB,IAAwC,EACxC,cAAc,EAChB,EAAE,CACA,IAAA,sDAAwB,EAAC,MAAuB,EAAE,IAAI,EAAE,cAAc,CAAC;IAC3E,oBAAoB,EAAE,GAAuB,EAAE,CAC3C,IAAA,8CAAoB,EAAC,MAAuB,CAAC;IACjD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,oBAAO,EAAC,MAAuB,CAAC;IAC/C,sBAAsB,EAAE,CAAC,IAAsC,EAAE,EAAE,CAC/D,IAAA,kDAAsB,EAAC,MAAuB,EAAE,IAAI,CAAC;IACzD,uBAAuB,EAAE,CAAC,IAAuC,EAAE,EAAE,CACjE,IAAA,oDAAuB,EAAC,MAAuB,EAAE,IAAI,CAAC;IAC1D,2BAA2B,EAAE,CACzB,IAA2C,EAC7C,EAAE,CAAC,IAAA,4DAA2B,EAAC,MAAuB,EAAE,IAAI,CAAC;CAClE,CAAC,CAAA;AAEO,wCAAc"}
|
|
@@ -7,7 +7,8 @@ const getUserOperationStatus_js_1 = require("../../actions/pimlico/getUserOperat
|
|
|
7
7
|
const sponsorUserOperation_js_1 = require("../../actions/pimlico/sponsorUserOperation.js");
|
|
8
8
|
const pimlicoBundlerActions = (client) => ({
|
|
9
9
|
getUserOperationGasPrice: async () => (0, getUserOperationGasPrice_js_1.getUserOperationGasPrice)(client),
|
|
10
|
-
getUserOperationStatus: async (args) => (0, getUserOperationStatus_js_1.getUserOperationStatus)(client, args)
|
|
10
|
+
getUserOperationStatus: async (args) => (0, getUserOperationStatus_js_1.getUserOperationStatus)(client, args),
|
|
11
|
+
sendCompressedUserOperation: async (args) => (0, pimlico_js_1.sendCompressedUserOperation)(client, args)
|
|
11
12
|
});
|
|
12
13
|
exports.pimlicoBundlerActions = pimlicoBundlerActions;
|
|
13
14
|
const pimlicoPaymasterActions = (client) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pimlico.js","sourceRoot":"","sources":["../../../clients/decorators/pimlico.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"pimlico.js","sourceRoot":"","sources":["../../../clients/decorators/pimlico.ts"],"names":[],"mappings":";;;AACA,yDAMiC;AACjC,mGAG0D;AAC1D,+FAIwD;AACxD,2FAIsD;AAiF/C,MAAM,qBAAqB,GAAG,CACjC,MAAc,EACO,EAAE,CAAC,CAAC;IACzB,wBAAwB,EAAE,KAAK,IAAI,EAAE,CACjC,IAAA,sDAAwB,EAAC,MAA8B,CAAC;IAC5D,sBAAsB,EAAE,KAAK,EAAE,IAAsC,EAAE,EAAE,CACrE,IAAA,kDAAsB,EAAC,MAA8B,EAAE,IAAI,CAAC;IAChE,2BAA2B,EAAE,KAAK,EAC9B,IAA2C,EAC7C,EAAE,CAAC,IAAA,wCAA2B,EAAC,MAA8B,EAAE,IAAI,CAAC;CACzE,CAAC,CAAA;AAVW,QAAA,qBAAqB,yBAUhC;AAsEK,MAAM,uBAAuB,GAAG,CACnC,MAAc,EACe,EAAE,CAAC,CAAC;IACjC,oBAAoB,EAAE,KAAK,EAAE,IAA2C,EAAE,EAAE,CACxE,IAAA,8CAAoB,EAAC,MAAgC,EAAE,IAAI,CAAC;IAChE,2BAA2B,EAAE,KAAK,EAC9B,IAA2C,EAC7C,EAAE,CAAC,IAAA,wCAA2B,EAAC,MAAgC,EAAE,IAAI,CAAC;CAC3E,CAAC,CAAA;AARW,QAAA,uBAAuB,2BAQlC"}
|
|
@@ -11,10 +11,10 @@ const signTypedData_js_1 = require("../../actions/smartAccount/signTypedData.js"
|
|
|
11
11
|
const writeContract_js_1 = require("../../actions/smartAccount/writeContract.js");
|
|
12
12
|
function smartAccountActions({ sponsorUserOperation }) {
|
|
13
13
|
return (client) => ({
|
|
14
|
-
prepareUserOperationRequest: (args) => (0, prepareUserOperationRequest_js_1.prepareUserOperationRequest)(client, {
|
|
14
|
+
prepareUserOperationRequest: (args, stateOverrides) => (0, prepareUserOperationRequest_js_1.prepareUserOperationRequest)(client, {
|
|
15
15
|
...args,
|
|
16
16
|
sponsorUserOperation
|
|
17
|
-
}),
|
|
17
|
+
}, stateOverrides),
|
|
18
18
|
deployContract: (args) => (0, deployContract_js_1.deployContract)(client, {
|
|
19
19
|
...args,
|
|
20
20
|
sponsorUserOperation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartAccount.js","sourceRoot":"","sources":["../../../clients/decorators/smartAccount.ts"],"names":[],"mappings":";;;AAcA,mEAGsC;AACtC,oFAGqD;AACrD,8GAIkE;AAClE,sFAGsD;AACtD,0FAGwD;AACxD,8EAAuE;AACvE,kFAA2E;AAC3E,kFAGoD;
|
|
1
|
+
{"version":3,"file":"smartAccount.js","sourceRoot":"","sources":["../../../clients/decorators/smartAccount.ts"],"names":[],"mappings":";;;AAcA,mEAGsC;AACtC,oFAGqD;AACrD,8GAIkE;AAClE,sFAGsD;AACtD,0FAGwD;AACxD,8EAAuE;AACvE,kFAA2E;AAC3E,kFAGoD;AAoZpD,SAAgB,mBAAmB,CAAC,EAChC,oBAAoB,EACS;IAC7B,OAAO,CAOH,MAAiD,EACP,EAAE,CAAC,CAAC;QAC9C,2BAA2B,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,CAClD,IAAA,4DAA2B,EACvB,MAAM,EACN;YACI,GAAG,IAAI;YACP,oBAAoB;SACvB,EACD,cAAc,CACjB;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CACrB,IAAA,kCAAc,EAAC,MAAM,EAAE;YACnB,GAAG,IAAI;YACP,oBAAoB;SACkB,CAAC;QAC/C,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CACtB,IAAA,oCAAe,EAAC,MAAM,EAAE;YACpB,GAAG,IAAI;YACP,oBAAoB;SAC0C,CAAC;QACvE,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CACvB,IAAA,kCAAgB,EAAC,MAAM,EAAE;YACrB,GAAG,IAAI;YACP,oBAAoB;SACmC,CAAC;QAChE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACxB,IAAA,wCAAiB,EAAC,MAAM,EAAE;YACtB,GAAG,IAAI;YACP,oBAAoB;SACuB,CAAC;QACpD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,MAAM,EAAE,IAAI,CAAC;QAChD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,CAAC;QACpD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CACpB,IAAA,gCAAa,EAAC,MAAM,EAAE;YAClB,GAAG,IAAI;YACP,oBAAoB;SACwC,CAAC;KACxE,CAAC,CAAA;AACN,CAAC;AAjDD,kDAiDC"}
|
package/_cjs/utils/getAction.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAction = void 0;
|
|
4
4
|
function getAction(client, action, actionName = action.name) {
|
|
5
|
-
return (params) => client[actionName]?.(params) ?? action(client, params);
|
|
5
|
+
return (...params) => client[actionName]?.(...params) ?? action(client, ...params);
|
|
6
6
|
}
|
|
7
7
|
exports.getAction = getAction;
|
|
8
8
|
//# sourceMappingURL=getAction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAction.js","sourceRoot":"","sources":["../../utils/getAction.ts"],"names":[],"mappings":";;;AAEA,SAAgB,SAAS,CACrB,MAAc,EAEd,
|
|
1
|
+
{"version":3,"file":"getAction.js","sourceRoot":"","sources":["../../utils/getAction.ts"],"names":[],"mappings":";;;AAEA,SAAgB,SAAS,CACrB,MAAc,EAEd,MAAiD,EACjD,aAAqB,MAAM,CAAC,IAAI;IAEhC,OAAO,CAAC,GAAG,MAAc,EAAc,EAAE,CAEjC,MAGH,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAA;AAC/D,CAAC;AAZD,8BAYC"}
|
|
@@ -26,14 +26,19 @@ import { deepHexlify } from "../../utils/deepHexlify.js";
|
|
|
26
26
|
* // Return {preVerificationGas: 43492n, verificationGasLimit: 59436n, callGasLimit: 9000n}
|
|
27
27
|
*
|
|
28
28
|
*/
|
|
29
|
-
export const estimateUserOperationGas = async (client, args) => {
|
|
29
|
+
export const estimateUserOperationGas = async (client, args, stateOverrides) => {
|
|
30
30
|
const { userOperation, entryPoint } = args;
|
|
31
|
+
const userOperationWithBigIntAsHex = deepHexlify(userOperation);
|
|
32
|
+
const stateOverridesWithBigIntAsHex = deepHexlify(stateOverrides);
|
|
31
33
|
const response = await client.request({
|
|
32
34
|
method: "eth_estimateUserOperationGas",
|
|
33
|
-
params:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
params: stateOverrides
|
|
36
|
+
? [
|
|
37
|
+
userOperationWithBigIntAsHex,
|
|
38
|
+
entryPoint,
|
|
39
|
+
stateOverridesWithBigIntAsHex
|
|
40
|
+
]
|
|
41
|
+
: [userOperationWithBigIntAsHex, entryPoint]
|
|
37
42
|
});
|
|
38
43
|
return {
|
|
39
44
|
preVerificationGas: BigInt(response.preVerificationGas || 0),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateUserOperationGas.js","sourceRoot":"","sources":["../../../actions/bundler/estimateUserOperationGas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"estimateUserOperationGas.js","sourceRoot":"","sources":["../../../actions/bundler/estimateUserOperationGas.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAgBxD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAKzC,MAA8D,EAC9D,IAAkD,EAClD,cAA+B,EACsB,EAAE;IACvD,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IAE1C,MAAM,4BAA4B,GAAG,WAAW,CAAC,aAAa,CAAC,CAAA;IAC/D,MAAM,6BAA6B,GAAG,WAAW,CAAC,cAAc,CAAC,CAAA;IAEjE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,8BAA8B;QACtC,MAAM,EAAE,cAAc;YAClB,CAAC,CAAC;gBACI,4BAA4B;gBAC5B,UAAU;gBACV,6BAA6B;aAChC;YACH,CAAC,CAAC,CAAC,4BAA4B,EAAE,UAAU,CAAC;KACnD,CAAC,CAAA;IAEF,OAAO;QACH,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,IAAI,CAAC,CAAC;QAC5D,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAChE,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;KACnD,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -11,11 +11,12 @@
|
|
|
11
11
|
* @example
|
|
12
12
|
* import { createClient } from "viem"
|
|
13
13
|
* import { getUserOperationStatus } from "permissionless/actions/pimlico"
|
|
14
|
+
* import { pimlicoBundlerActions } from 'permissionless/actions/pimlico'
|
|
14
15
|
*
|
|
15
16
|
* const bundlerClient = createClient({
|
|
16
17
|
* chain: goerli,
|
|
17
18
|
* transport: http("https://api.pimlico.io/v2/goerli/rpc?apikey=YOUR_API_KEY_HERE")
|
|
18
|
-
* })
|
|
19
|
+
* }).extend(pimlicoBundlerActions)
|
|
19
20
|
*
|
|
20
21
|
* await getUserOperationStatus(bundlerClient, { hash: userOpHash })
|
|
21
22
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserOperationStatus.js","sourceRoot":"","sources":["../../../actions/pimlico/getUserOperationStatus.ts"],"names":[],"mappings":"AAcA
|
|
1
|
+
{"version":3,"file":"getUserOperationStatus.js","sourceRoot":"","sources":["../../../actions/pimlico/getUserOperationStatus.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAKvC,MAAqE,EACrE,EAAE,IAAI,EAA8C,EACD,EAAE;IACrD,OAAO,MAAM,CAAC,OAAO,CAAC;QAClB,MAAM,EAAE,gCAAgC;QACxC,MAAM,EAAE,CAAC,IAAI,CAAC;KACjB,CAAC,CAAA;AACN,CAAC,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {} from "../../types/pimlico.js";
|
|
2
|
+
/**
|
|
3
|
+
* Sends a compressed user operation to the bundler
|
|
4
|
+
*
|
|
5
|
+
* - Docs: https://docs.pimlico.io/permissionless/reference/pimlico-bundler-actions/sendCompressedUserOperation
|
|
6
|
+
*
|
|
7
|
+
* @param client {@link PimlicoBundlerClient} that you created using viem's createClient whose transport url is pointing to the Pimlico's bundler.
|
|
8
|
+
* @param args {@link SendCompressedUserOperationParameters}.
|
|
9
|
+
* @returns UserOpHash that you can use to track user operation as {@link Hash}.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* import { pimlicoBundlerActions, sendCompressedUserOperation } from 'permissionless/actions/pimlico'
|
|
13
|
+
* import { createClient } from "viem"
|
|
14
|
+
*
|
|
15
|
+
* const bundlerClient = createClient({
|
|
16
|
+
* chain: goerli,
|
|
17
|
+
* transport: http("https://api.pimlico.io/v2/goerli/rpc?apikey=YOUR_API_KEY_HERE")
|
|
18
|
+
* }).extend(pimlicoBundlerActions)
|
|
19
|
+
*
|
|
20
|
+
* const userOpHash = await sendCompressedUserOperation(bundlerClient, {
|
|
21
|
+
* compressedUserOperation,
|
|
22
|
+
* inflatorAddress,
|
|
23
|
+
* entryPoint
|
|
24
|
+
* })
|
|
25
|
+
* // Return '0xe9fad2cd67f9ca1d0b7a6513b2a42066784c8df938518da2b51bb8cc9a89ea34'
|
|
26
|
+
*/
|
|
27
|
+
export const sendCompressedUserOperation = async (client, args) => {
|
|
28
|
+
const { compressedUserOperation, inflatorAddress, entryPoint } = args;
|
|
29
|
+
return client.request({
|
|
30
|
+
method: "pimlico_sendCompressedUserOperation",
|
|
31
|
+
params: [
|
|
32
|
+
compressedUserOperation,
|
|
33
|
+
inflatorAddress,
|
|
34
|
+
entryPoint
|
|
35
|
+
]
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=sendCompressedUserOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendCompressedUserOperation.js","sourceRoot":"","sources":["../../../actions/pimlico/sendCompressedUserOperation.ts"],"names":[],"mappings":"AAUA,OAAO,EAAgC,MAAM,wBAAwB,CAAA;AAQrE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAK5C,MAAqE,EACrE,IAAqD,EACxC,EAAE;IACf,MAAM,EAAE,uBAAuB,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IAErE,OAAO,MAAM,CAAC,OAAO,CAAC;QAClB,MAAM,EAAE,qCAAqC;QAC7C,MAAM,EAAE;YACJ,uBAA8B;YAC9B,eAA0B;YAC1B,UAAqB;SACxB;KACJ,CAAC,CAAA;AACN,CAAC,CAAA"}
|
package/_esm/actions/pimlico.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { getUserOperationGasPrice } from "./pimlico/getUserOperationGasPrice.js";
|
|
2
2
|
import { getUserOperationStatus } from "./pimlico/getUserOperationStatus.js";
|
|
3
|
+
import { sendCompressedUserOperation } from "./pimlico/sendCompressedUserOperation.js";
|
|
3
4
|
import { sponsorUserOperation } from "./pimlico/sponsorUserOperation.js";
|
|
4
5
|
import { pimlicoBundlerActions, pimlicoPaymasterActions } from "../clients/decorators/pimlico.js";
|
|
5
6
|
import { validateSponsorshipPolicies } from "./pimlico/validateSponsorshipPolicies.js";
|
|
6
|
-
export { getUserOperationGasPrice, getUserOperationStatus,
|
|
7
|
+
export { getUserOperationGasPrice, getUserOperationStatus, pimlicoBundlerActions, pimlicoPaymasterActions, sendCompressedUserOperation, sponsorUserOperation, validateSponsorshipPolicies };
|
|
7
8
|
//# sourceMappingURL=pimlico.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pimlico.js","sourceRoot":"","sources":["../../actions/pimlico.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,wBAAwB,EAC3B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAGH,sBAAsB,EACzB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAGH,oBAAoB,EACvB,MAAM,mCAAmC,CAAA;AAM1C,OAAO,EACH,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAGH,2BAA2B,EAC9B,MAAM,0CAA0C,CAAA;
|
|
1
|
+
{"version":3,"file":"pimlico.js","sourceRoot":"","sources":["../../actions/pimlico.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,wBAAwB,EAC3B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAGH,sBAAsB,EACzB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAEH,2BAA2B,EAC9B,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAGH,oBAAoB,EACvB,MAAM,mCAAmC,CAAA;AAM1C,OAAO,EACH,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAGH,2BAA2B,EAC9B,MAAM,0CAA0C,CAAA;AAejD,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC9B,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { estimateFeesPerGas } from "viem/actions";
|
|
|
2
2
|
import { getAction } from "../../utils/getAction.js";
|
|
3
3
|
import { AccountOrClientNotFoundError, parseAccount } from "../../utils/index.js";
|
|
4
4
|
import { estimateUserOperationGas } from "../bundler/estimateUserOperationGas.js";
|
|
5
|
-
export async function prepareUserOperationRequest(client, args) {
|
|
5
|
+
export async function prepareUserOperationRequest(client, args, stateOverrides) {
|
|
6
6
|
const { account: account_ = client.account, userOperation: partialUserOperation, sponsorUserOperation } = args;
|
|
7
7
|
if (!account_)
|
|
8
8
|
throw new AccountOrClientNotFoundError();
|
|
@@ -51,7 +51,7 @@ export async function prepareUserOperationRequest(client, args) {
|
|
|
51
51
|
...userOperation
|
|
52
52
|
},
|
|
53
53
|
entryPoint: account.entryPoint
|
|
54
|
-
});
|
|
54
|
+
}, stateOverrides);
|
|
55
55
|
userOperation.callGasLimit =
|
|
56
56
|
userOperation.callGasLimit || gasParameters.callGasLimit;
|
|
57
57
|
userOperation.verificationGasLimit =
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareUserOperationRequest.js","sourceRoot":"","sources":["../../../actions/smartAccount/prepareUserOperationRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"prepareUserOperationRequest.js","sourceRoot":"","sources":["../../../actions/smartAccount/prepareUserOperationRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AASjD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EACH,4BAA4B,EAC5B,YAAY,EACf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AA8BjF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAK7C,MAA4C,EAC5C,IAA+D,EAC/D,cAA+B;IAE/B,MAAM,EACF,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,aAAa,EAAE,oBAAoB,EACnC,oBAAoB,EACvB,GAAG,IAAI,CAAA;IACR,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,4BAA4B,EAAE,CAAA;IAEvD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAiB,CAAA;IAEtD,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,GACpD,MAAM,OAAO,CAAC,GAAG,CAAC;QACd,oBAAoB,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO;QAC9C,oBAAoB,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE;QAChD,oBAAoB,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE;QACtD,oBAAoB,CAAC,QAAQ;QAC7B,CAAC,oBAAoB,CAAC,YAAY;YAClC,CAAC,oBAAoB,CAAC,oBAAoB;YACtC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,CAAC,CAAC,SAAS;KAClB,CAAC,CAAA;IAEN,IAAI,aAAa,GAAkB;QAC/B,MAAM;QACN,KAAK;QACL,QAAQ;QACR,QAAQ;QACR,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,oBAAoB,CAAC,SAAS,IAAI,IAAI;QACjD,YAAY,EACR,oBAAoB,CAAC,YAAY;YACjC,aAAa,EAAE,YAAY;YAC3B,EAAE;QACN,oBAAoB,EAChB,oBAAoB,CAAC,oBAAoB;YACzC,aAAa,EAAE,oBAAoB;YACnC,EAAE;QACN,YAAY,EAAE,oBAAoB,CAAC,YAAY,IAAI,EAAE;QACrD,oBAAoB,EAAE,oBAAoB,CAAC,oBAAoB,IAAI,EAAE;QACrE,kBAAkB,EAAE,oBAAoB,CAAC,kBAAkB,IAAI,EAAE;KACpE,CAAA;IAED,IAAI,aAAa,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QACnC,aAAa,CAAC,SAAS,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC5E,CAAC;IAED,IAAI,oBAAoB,EAAE,CAAC;QACvB,aAAa,GAAG,MAAM,oBAAoB,CAAC;YACvC,aAAa;YACb,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,CAAC,CAAA;IACN,CAAC;SAAM,IACH,CAAC,aAAa,CAAC,YAAY;QAC3B,CAAC,aAAa,CAAC,oBAAoB;QACnC,CAAC,aAAa,CAAC,kBAAkB,EACnC,CAAC;QACC,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,wBAAwB,CAAC,CACnE;YACI,aAAa,EAAE;gBACX,GAAG,aAAa;aACnB;YACD,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,EACD,cAAc,CACjB,CAAA;QAED,aAAa,CAAC,YAAY;YACtB,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY,CAAA;QAC5D,aAAa,CAAC,oBAAoB;YAC9B,aAAa,CAAC,oBAAoB;gBAClC,aAAa,CAAC,oBAAoB,CAAA;QACtC,aAAa,CAAC,kBAAkB;YAC5B,aAAa,CAAC,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,CAAA;IAC5E,CAAC;IAED,OAAO,aAAa,CAAA;AACxB,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { supportedEntryPoints } from "../../actions/bundler/supportedEntryPoints
|
|
|
7
7
|
import { waitForUserOperationReceipt } from "../../actions/bundler/waitForUserOperationReceipt.js";
|
|
8
8
|
const bundlerActions = (client) => ({
|
|
9
9
|
sendUserOperation: async (args) => sendUserOperation(client, args),
|
|
10
|
-
estimateUserOperationGas: (args) => estimateUserOperationGas(client, args),
|
|
10
|
+
estimateUserOperationGas: (args, stateOverrides) => estimateUserOperationGas(client, args, stateOverrides),
|
|
11
11
|
supportedEntryPoints: () => supportedEntryPoints(client),
|
|
12
12
|
chainId: () => chainId(client),
|
|
13
13
|
getUserOperationByHash: (args) => getUserOperationByHash(client, args),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../clients/decorators/bundler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAA;AAC1D,OAAO,EAGH,wBAAwB,EAC3B,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAGH,sBAAsB,EACzB,MAAM,iDAAiD,CAAA;AACxD,OAAO,EAGH,uBAAuB,EAC1B,MAAM,kDAAkD,CAAA;AACzD,OAAO,EAEH,iBAAiB,EACpB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,EAEH,2BAA2B,EAC9B,MAAM,sDAAsD,CAAA;
|
|
1
|
+
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../clients/decorators/bundler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAA;AAC1D,OAAO,EAGH,wBAAwB,EAC3B,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAGH,sBAAsB,EACzB,MAAM,iDAAiD,CAAA;AACxD,OAAO,EAGH,uBAAuB,EAC1B,MAAM,kDAAkD,CAAA;AACzD,OAAO,EAEH,iBAAiB,EACpB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,EAEH,2BAA2B,EAC9B,MAAM,sDAAsD,CAAA;AAqL7D,MAAM,cAAc,GAAG,CAAC,MAAc,EAAkB,EAAE,CAAC,CAAC;IACxD,iBAAiB,EAAE,KAAK,EACpB,IAAiC,EACpB,EAAE,CAAC,iBAAiB,CAAC,MAAuB,EAAE,IAAI,CAAC;IACpE,wBAAwB,EAAE,CACtB,IAAwC,EACxC,cAAc,EAChB,EAAE,CACA,wBAAwB,CAAC,MAAuB,EAAE,IAAI,EAAE,cAAc,CAAC;IAC3E,oBAAoB,EAAE,GAAuB,EAAE,CAC3C,oBAAoB,CAAC,MAAuB,CAAC;IACjD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAuB,CAAC;IAC/C,sBAAsB,EAAE,CAAC,IAAsC,EAAE,EAAE,CAC/D,sBAAsB,CAAC,MAAuB,EAAE,IAAI,CAAC;IACzD,uBAAuB,EAAE,CAAC,IAAuC,EAAE,EAAE,CACjE,uBAAuB,CAAC,MAAuB,EAAE,IAAI,CAAC;IAC1D,2BAA2B,EAAE,CACzB,IAA2C,EAC7C,EAAE,CAAC,2BAA2B,CAAC,MAAuB,EAAE,IAAI,CAAC;CAClE,CAAC,CAAA;AAEF,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { validateSponsorshipPolicies } from "../../actions/pimlico.js";
|
|
1
|
+
import { sendCompressedUserOperation, validateSponsorshipPolicies } from "../../actions/pimlico.js";
|
|
2
2
|
import { getUserOperationGasPrice } from "../../actions/pimlico/getUserOperationGasPrice.js";
|
|
3
3
|
import { getUserOperationStatus } from "../../actions/pimlico/getUserOperationStatus.js";
|
|
4
4
|
import { sponsorUserOperation } from "../../actions/pimlico/sponsorUserOperation.js";
|
|
5
5
|
export const pimlicoBundlerActions = (client) => ({
|
|
6
6
|
getUserOperationGasPrice: async () => getUserOperationGasPrice(client),
|
|
7
|
-
getUserOperationStatus: async (args) => getUserOperationStatus(client, args)
|
|
7
|
+
getUserOperationStatus: async (args) => getUserOperationStatus(client, args),
|
|
8
|
+
sendCompressedUserOperation: async (args) => sendCompressedUserOperation(client, args)
|
|
8
9
|
});
|
|
9
10
|
/**
|
|
10
11
|
* Returns valid sponsorship policies for a userOperation from the list of ids passed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pimlico.js","sourceRoot":"","sources":["../../../clients/decorators/pimlico.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"pimlico.js","sourceRoot":"","sources":["../../../clients/decorators/pimlico.ts"],"names":[],"mappings":"AACA,OAAO,EAIH,2BAA2B,EAC3B,2BAA2B,EAC9B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAEH,wBAAwB,EAC3B,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAGH,sBAAsB,EACzB,MAAM,iDAAiD,CAAA;AACxD,OAAO,EAGH,oBAAoB,EACvB,MAAM,+CAA+C,CAAA;AAiFtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,MAAc,EACO,EAAE,CAAC,CAAC;IACzB,wBAAwB,EAAE,KAAK,IAAI,EAAE,CACjC,wBAAwB,CAAC,MAA8B,CAAC;IAC5D,sBAAsB,EAAE,KAAK,EAAE,IAAsC,EAAE,EAAE,CACrE,sBAAsB,CAAC,MAA8B,EAAE,IAAI,CAAC;IAChE,2BAA2B,EAAE,KAAK,EAC9B,IAA2C,EAC7C,EAAE,CAAC,2BAA2B,CAAC,MAA8B,EAAE,IAAI,CAAC;CACzE,CAAC,CAAA;AAmCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,MAAc,EACe,EAAE,CAAC,CAAC;IACjC,oBAAoB,EAAE,KAAK,EAAE,IAA2C,EAAE,EAAE,CACxE,oBAAoB,CAAC,MAAgC,EAAE,IAAI,CAAC;IAChE,2BAA2B,EAAE,KAAK,EAC9B,IAA2C,EAC7C,EAAE,CAAC,2BAA2B,CAAC,MAAgC,EAAE,IAAI,CAAC;CAC3E,CAAC,CAAA;AAEF;;GAEG;AACH,sDAAsD;AACtD,eAAe;AACf,4CAA4C;AAC5C,6CAA6C;AAC7C,QAAQ;AACR,IAAI"}
|
|
@@ -8,10 +8,10 @@ import { signTypedData } from "../../actions/smartAccount/signTypedData.js";
|
|
|
8
8
|
import { writeContract } from "../../actions/smartAccount/writeContract.js";
|
|
9
9
|
export function smartAccountActions({ sponsorUserOperation }) {
|
|
10
10
|
return (client) => ({
|
|
11
|
-
prepareUserOperationRequest: (args) => prepareUserOperationRequest(client, {
|
|
11
|
+
prepareUserOperationRequest: (args, stateOverrides) => prepareUserOperationRequest(client, {
|
|
12
12
|
...args,
|
|
13
13
|
sponsorUserOperation
|
|
14
|
-
}),
|
|
14
|
+
}, stateOverrides),
|
|
15
15
|
deployContract: (args) => deployContract(client, {
|
|
16
16
|
...args,
|
|
17
17
|
sponsorUserOperation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartAccount.js","sourceRoot":"","sources":["../../../clients/decorators/smartAccount.ts"],"names":[],"mappings":"AAcA,OAAO,EAEH,gBAAgB,EACnB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAEH,cAAc,EACjB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAGH,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;
|
|
1
|
+
{"version":3,"file":"smartAccount.js","sourceRoot":"","sources":["../../../clients/decorators/smartAccount.ts"],"names":[],"mappings":"AAcA,OAAO,EAEH,gBAAgB,EACnB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAEH,cAAc,EACjB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAGH,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;AAoZpD,MAAM,UAAU,mBAAmB,CAAC,EAChC,oBAAoB,EACS;IAC7B,OAAO,CAOH,MAAiD,EACP,EAAE,CAAC,CAAC;QAC9C,2BAA2B,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,CAClD,2BAA2B,CACvB,MAAM,EACN;YACI,GAAG,IAAI;YACP,oBAAoB;SACvB,EACD,cAAc,CACjB;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CACrB,cAAc,CAAC,MAAM,EAAE;YACnB,GAAG,IAAI;YACP,oBAAoB;SACkB,CAAC;QAC/C,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CACtB,eAAe,CAAC,MAAM,EAAE;YACpB,GAAG,IAAI;YACP,oBAAoB;SAC0C,CAAC;QACvE,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CACvB,gBAAgB,CAAC,MAAM,EAAE;YACrB,GAAG,IAAI;YACP,oBAAoB;SACmC,CAAC;QAChE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACxB,iBAAiB,CAAC,MAAM,EAAE;YACtB,GAAG,IAAI;YACP,oBAAoB;SACuB,CAAC;QACpD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;QAChD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;QACpD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CACpB,aAAa,CAAC,MAAM,EAAE;YAClB,GAAG,IAAI;YACP,oBAAoB;SACwC,CAAC;KACxE,CAAC,CAAA;AACN,CAAC"}
|
package/_esm/utils/getAction.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export function getAction(client,
|
|
2
2
|
// biome-ignore lint/suspicious/noExplicitAny: it's a recursive function, so it's hard to type
|
|
3
3
|
action, actionName = action.name) {
|
|
4
|
-
return (params) => client[actionName]?.(params) ?? action(client, params);
|
|
4
|
+
return (...params) => client[actionName]?.(...params) ?? action(client, ...params);
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=getAction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAction.js","sourceRoot":"","sources":["../../utils/getAction.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CACrB,MAAc;AACd,8FAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"getAction.js","sourceRoot":"","sources":["../../utils/getAction.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CACrB,MAAc;AACd,8FAA8F;AAC9F,MAAiD,EACjD,aAAqB,MAAM,CAAC,IAAI;IAEhC,OAAO,CAAC,GAAG,MAAc,EAAc,EAAE,CAEjC,MAGH,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAA;AAC/D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Account, Address, Chain, Client, Transport } from "viem";
|
|
2
2
|
import type { PartialBy } from "viem/types/utils";
|
|
3
|
-
import type { BundlerRpcSchema } from "../../types/bundler.js";
|
|
3
|
+
import type { BundlerRpcSchema, StateOverrides } from "../../types/bundler.js";
|
|
4
4
|
import type { Prettify } from "../../types/index.js";
|
|
5
5
|
import type { UserOperation } from "../../types/userOperation.js";
|
|
6
6
|
export type EstimateUserOperationGasParameters = {
|
|
@@ -39,5 +39,5 @@ export type EstimateUserOperationGasReturnType = {
|
|
|
39
39
|
* // Return {preVerificationGas: 43492n, verificationGasLimit: 59436n, callGasLimit: 9000n}
|
|
40
40
|
*
|
|
41
41
|
*/
|
|
42
|
-
export declare const estimateUserOperationGas: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends Account | undefined = Account | undefined>(client: Client<TTransport, TChain, TAccount, BundlerRpcSchema>, args: Prettify<EstimateUserOperationGasParameters
|
|
42
|
+
export declare const estimateUserOperationGas: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends Account | undefined = Account | undefined>(client: Client<TTransport, TChain, TAccount, BundlerRpcSchema>, args: Prettify<EstimateUserOperationGasParameters>, stateOverrides?: StateOverrides) => Promise<Prettify<EstimateUserOperationGasReturnType>>;
|
|
43
43
|
//# sourceMappingURL=estimateUserOperationGas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateUserOperationGas.d.ts","sourceRoot":"","sources":["../../../actions/bundler/estimateUserOperationGas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"estimateUserOperationGas.d.ts","sourceRoot":"","sources":["../../../actions/bundler/estimateUserOperationGas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAGjE,MAAM,MAAM,kCAAkC,GAAG;IAC7C,aAAa,EAAE,SAAS,CACpB,aAAa,EACb,cAAc,GAAG,oBAAoB,GAAG,sBAAsB,CACjE,CAAA;IACD,UAAU,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,kCAAkC,GAAG;IAC7C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,wBAAwB,qOAM3B,SAAS,kCAAkC,CAAC,mBACjC,cAAc,KAChC,QAAQ,SAAS,kCAAkC,CAAC,CAsBtD,CAAA"}
|
|
@@ -18,11 +18,12 @@ export type GetUserOperationStatusReturnType = PimlicoUserOperationStatus;
|
|
|
18
18
|
* @example
|
|
19
19
|
* import { createClient } from "viem"
|
|
20
20
|
* import { getUserOperationStatus } from "permissionless/actions/pimlico"
|
|
21
|
+
* import { pimlicoBundlerActions } from 'permissionless/actions/pimlico'
|
|
21
22
|
*
|
|
22
23
|
* const bundlerClient = createClient({
|
|
23
24
|
* chain: goerli,
|
|
24
25
|
* transport: http("https://api.pimlico.io/v2/goerli/rpc?apikey=YOUR_API_KEY_HERE")
|
|
25
|
-
* })
|
|
26
|
+
* }).extend(pimlicoBundlerActions)
|
|
26
27
|
*
|
|
27
28
|
* await getUserOperationStatus(bundlerClient, { hash: userOpHash })
|
|
28
29
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserOperationStatus.d.ts","sourceRoot":"","sources":["../../../actions/pimlico/getUserOperationStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EACR,uBAAuB,EACvB,0BAA0B,EAC7B,MAAM,wBAAwB,CAAA;AAE/B,MAAM,MAAM,gCAAgC,GAAG;IAC3C,IAAI,EAAE,IAAI,CAAA;CACb,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG,0BAA0B,CAAA;AAEzE
|
|
1
|
+
{"version":3,"file":"getUserOperationStatus.d.ts","sourceRoot":"","sources":["../../../actions/pimlico/getUserOperationStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EACR,uBAAuB,EACvB,0BAA0B,EAC7B,MAAM,wBAAwB,CAAA;AAE/B,MAAM,MAAM,gCAAgC,GAAG;IAC3C,IAAI,EAAE,IAAI,CAAA;CACb,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG,0BAA0B,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,sBAAsB,gPAMrB,SAAS,gCAAgC,CAAC,KACrD,QAAQ,SAAS,gCAAgC,CAAC,CAKpD,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Account, Address, Chain, Client, Hash, Hex, Transport } from "viem";
|
|
2
|
+
import type { Prettify } from "../../types/index.js";
|
|
3
|
+
import { type PimlicoBundlerRpcSchema } from "../../types/pimlico.js";
|
|
4
|
+
export type SendCompressedUserOperationParameters = {
|
|
5
|
+
compressedUserOperation: Hex;
|
|
6
|
+
inflatorAddress: Address;
|
|
7
|
+
entryPoint: Address;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Sends a compressed user operation to the bundler
|
|
11
|
+
*
|
|
12
|
+
* - Docs: https://docs.pimlico.io/permissionless/reference/pimlico-bundler-actions/sendCompressedUserOperation
|
|
13
|
+
*
|
|
14
|
+
* @param client {@link PimlicoBundlerClient} that you created using viem's createClient whose transport url is pointing to the Pimlico's bundler.
|
|
15
|
+
* @param args {@link SendCompressedUserOperationParameters}.
|
|
16
|
+
* @returns UserOpHash that you can use to track user operation as {@link Hash}.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* import { pimlicoBundlerActions, sendCompressedUserOperation } from 'permissionless/actions/pimlico'
|
|
20
|
+
* import { createClient } from "viem"
|
|
21
|
+
*
|
|
22
|
+
* const bundlerClient = createClient({
|
|
23
|
+
* chain: goerli,
|
|
24
|
+
* transport: http("https://api.pimlico.io/v2/goerli/rpc?apikey=YOUR_API_KEY_HERE")
|
|
25
|
+
* }).extend(pimlicoBundlerActions)
|
|
26
|
+
*
|
|
27
|
+
* const userOpHash = await sendCompressedUserOperation(bundlerClient, {
|
|
28
|
+
* compressedUserOperation,
|
|
29
|
+
* inflatorAddress,
|
|
30
|
+
* entryPoint
|
|
31
|
+
* })
|
|
32
|
+
* // Return '0xe9fad2cd67f9ca1d0b7a6513b2a42066784c8df938518da2b51bb8cc9a89ea34'
|
|
33
|
+
*/
|
|
34
|
+
export declare const sendCompressedUserOperation: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends Account | undefined = Account | undefined>(client: Client<TTransport, TChain, TAccount, PimlicoBundlerRpcSchema>, args: Prettify<SendCompressedUserOperationParameters>) => Promise<Hash>;
|
|
35
|
+
//# sourceMappingURL=sendCompressedUserOperation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendCompressedUserOperation.d.ts","sourceRoot":"","sources":["../../../actions/pimlico/sendCompressedUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,EACJ,GAAG,EACH,SAAS,EACZ,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAErE,MAAM,MAAM,qCAAqC,GAAG;IAChD,uBAAuB,EAAE,GAAG,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,2BAA2B,4OAM9B,SAAS,qCAAqC,CAAC,KACtD,QAAQ,IAAI,CAWd,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { type GetUserOperationGasPriceReturnType, getUserOperationGasPrice } from "./pimlico/getUserOperationGasPrice.js";
|
|
2
2
|
import { type GetUserOperationStatusParameters, type GetUserOperationStatusReturnType, getUserOperationStatus } from "./pimlico/getUserOperationStatus.js";
|
|
3
|
+
import { type SendCompressedUserOperationParameters, sendCompressedUserOperation } from "./pimlico/sendCompressedUserOperation.js";
|
|
3
4
|
import { type PimlicoSponsorUserOperationParameters, type SponsorUserOperationReturnType, sponsorUserOperation } from "./pimlico/sponsorUserOperation.js";
|
|
4
5
|
import type { PimlicoBundlerActions, PimlicoPaymasterClientActions } from "../clients/decorators/pimlico.js";
|
|
5
6
|
import { pimlicoBundlerActions, pimlicoPaymasterActions } from "../clients/decorators/pimlico.js";
|
|
6
7
|
import { type ValidateSponsorshipPolicies, type ValidateSponsorshipPoliciesParameters, validateSponsorshipPolicies } from "./pimlico/validateSponsorshipPolicies.js";
|
|
7
|
-
export type { GetUserOperationGasPriceReturnType, GetUserOperationStatusParameters, GetUserOperationStatusReturnType,
|
|
8
|
-
export { getUserOperationGasPrice, getUserOperationStatus,
|
|
8
|
+
export type { GetUserOperationGasPriceReturnType, GetUserOperationStatusParameters, GetUserOperationStatusReturnType, PimlicoBundlerActions, PimlicoPaymasterClientActions, PimlicoSponsorUserOperationParameters, SendCompressedUserOperationParameters, SponsorUserOperationReturnType, ValidateSponsorshipPolicies, ValidateSponsorshipPoliciesParameters };
|
|
9
|
+
export { getUserOperationGasPrice, getUserOperationStatus, pimlicoBundlerActions, pimlicoPaymasterActions, sendCompressedUserOperation, sponsorUserOperation, validateSponsorshipPolicies };
|
|
9
10
|
//# sourceMappingURL=pimlico.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pimlico.d.ts","sourceRoot":"","sources":["../../actions/pimlico.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,kCAAkC,EACvC,wBAAwB,EAC3B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,sBAAsB,EACzB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACH,KAAK,qCAAqC,EAC1C,KAAK,8BAA8B,EACnC,oBAAoB,EACvB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,KAAK,EACR,qBAAqB,EACrB,6BAA6B,EAChC,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACH,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,qCAAqC,EAC1C,2BAA2B,EAC9B,MAAM,0CAA0C,CAAA;AAEjD,YAAY,EACR,kCAAkC,EAClC,gCAAgC,EAChC,gCAAgC,EAChC,
|
|
1
|
+
{"version":3,"file":"pimlico.d.ts","sourceRoot":"","sources":["../../actions/pimlico.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,kCAAkC,EACvC,wBAAwB,EAC3B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,sBAAsB,EACzB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACH,KAAK,qCAAqC,EAC1C,2BAA2B,EAC9B,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACH,KAAK,qCAAqC,EAC1C,KAAK,8BAA8B,EACnC,oBAAoB,EACvB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,KAAK,EACR,qBAAqB,EACrB,6BAA6B,EAChC,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACH,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,qCAAqC,EAC1C,2BAA2B,EAC9B,MAAM,0CAA0C,CAAA;AAEjD,YAAY,EACR,kCAAkC,EAClC,gCAAgC,EAChC,gCAAgC,EAChC,qBAAqB,EACrB,6BAA6B,EAC7B,qCAAqC,EACrC,qCAAqC,EACrC,8BAA8B,EAC9B,2BAA2B,EAC3B,qCAAqC,EACxC,CAAA;AAED,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC9B,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Address, Chain, Client, Transport } from "viem";
|
|
2
2
|
import type { SmartAccount } from "../../accounts/types.js";
|
|
3
|
+
import type { StateOverrides } from "../../types/bundler.js";
|
|
3
4
|
import type { GetAccountParameter, PartialBy, Prettify, UserOperation } from "../../types/index.js";
|
|
4
5
|
export type SponsorUserOperationMiddleware = {
|
|
5
6
|
sponsorUserOperation?: (args: {
|
|
@@ -11,5 +12,5 @@ export type PrepareUserOperationRequestParameters<TAccount extends SmartAccount
|
|
|
11
12
|
userOperation: PartialBy<UserOperation, "nonce" | "sender" | "initCode" | "callGasLimit" | "verificationGasLimit" | "preVerificationGas" | "maxFeePerGas" | "maxPriorityFeePerGas" | "paymasterAndData" | "signature">;
|
|
12
13
|
} & GetAccountParameter<TAccount> & SponsorUserOperationMiddleware;
|
|
13
14
|
export type PrepareUserOperationRequestReturnType = UserOperation;
|
|
14
|
-
export declare function prepareUserOperationRequest<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartAccount | undefined = SmartAccount | undefined>(client: Client<TTransport, TChain, TAccount>, args: Prettify<PrepareUserOperationRequestParameters<TAccount
|
|
15
|
+
export declare function prepareUserOperationRequest<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartAccount | undefined = SmartAccount | undefined>(client: Client<TTransport, TChain, TAccount>, args: Prettify<PrepareUserOperationRequestParameters<TAccount>>, stateOverrides?: StateOverrides): Promise<Prettify<PrepareUserOperationRequestReturnType>>;
|
|
15
16
|
//# sourceMappingURL=prepareUserOperationRequest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareUserOperationRequest.d.ts","sourceRoot":"","sources":["../../../actions/smartAccount/prepareUserOperationRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EACR,mBAAmB,EACnB,SAAS,EACT,QAAQ,EACR,aAAa,EAChB,MAAM,sBAAsB,CAAA;AAQ7B,MAAM,MAAM,8BAA8B,GAAG;IACzC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE;QAC1B,aAAa,EAAE,aAAa,CAAA;QAC5B,UAAU,EAAE,OAAO,CAAA;KACtB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,qCAAqC,CAC7C,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IACpE;IACA,aAAa,EAAE,SAAS,CACpB,aAAa,EACX,OAAO,GACP,QAAQ,GACR,UAAU,GACV,cAAc,GACd,sBAAsB,GACtB,oBAAoB,GACpB,cAAc,GACd,sBAAsB,GACtB,kBAAkB,GAClB,WAAW,CAChB,CAAA;CACJ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAC7B,8BAA8B,CAAA;AAElC,MAAM,MAAM,qCAAqC,GAAG,aAAa,CAAA;AAEjE,wBAAsB,2BAA2B,CAC7C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,EAEpE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAC5C,IAAI,EAAE,QAAQ,CAAC,qCAAqC,CAAC,QAAQ,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"prepareUserOperationRequest.d.ts","sourceRoot":"","sources":["../../../actions/smartAccount/prepareUserOperationRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EACR,mBAAmB,EACnB,SAAS,EACT,QAAQ,EACR,aAAa,EAChB,MAAM,sBAAsB,CAAA;AAQ7B,MAAM,MAAM,8BAA8B,GAAG;IACzC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE;QAC1B,aAAa,EAAE,aAAa,CAAA;QAC5B,UAAU,EAAE,OAAO,CAAA;KACtB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,qCAAqC,CAC7C,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IACpE;IACA,aAAa,EAAE,SAAS,CACpB,aAAa,EACX,OAAO,GACP,QAAQ,GACR,UAAU,GACV,cAAc,GACd,sBAAsB,GACtB,oBAAoB,GACpB,cAAc,GACd,sBAAsB,GACtB,kBAAkB,GAClB,WAAW,CAChB,CAAA;CACJ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAC7B,8BAA8B,CAAA;AAElC,MAAM,MAAM,qCAAqC,GAAG,aAAa,CAAA;AAEjE,wBAAsB,2BAA2B,CAC7C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,EAEpE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAC5C,IAAI,EAAE,QAAQ,CAAC,qCAAqC,CAAC,QAAQ,CAAC,CAAC,EAC/D,cAAc,CAAC,EAAE,cAAc,GAChC,OAAO,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC,CA4E1D"}
|