permissionless 0.2.9 → 0.2.11

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.
Files changed (51) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/_cjs/actions/pimlico/getTokenQuotes.js +6 -0
  3. package/_cjs/actions/pimlico/getTokenQuotes.js.map +1 -1
  4. package/_cjs/actions/public/getSenderAddress.js +9 -0
  5. package/_cjs/actions/public/getSenderAddress.js.map +1 -1
  6. package/_cjs/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js +42 -1
  7. package/_cjs/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js.map +1 -1
  8. package/_cjs/utils/erc20AllowanceOverride.js +36 -0
  9. package/_cjs/utils/erc20AllowanceOverride.js.map +1 -0
  10. package/_cjs/utils/erc20BalanceOverride.js +26 -0
  11. package/_cjs/utils/erc20BalanceOverride.js.map +1 -0
  12. package/_cjs/utils/index.js +5 -1
  13. package/_cjs/utils/index.js.map +1 -1
  14. package/_esm/actions/pimlico/getTokenQuotes.js +6 -0
  15. package/_esm/actions/pimlico/getTokenQuotes.js.map +1 -1
  16. package/_esm/actions/public/getSenderAddress.js +9 -0
  17. package/_esm/actions/public/getSenderAddress.js.map +1 -1
  18. package/_esm/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js +43 -2
  19. package/_esm/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js.map +1 -1
  20. package/_esm/utils/erc20AllowanceOverride.js +33 -0
  21. package/_esm/utils/erc20AllowanceOverride.js.map +1 -0
  22. package/_esm/utils/erc20BalanceOverride.js +23 -0
  23. package/_esm/utils/erc20BalanceOverride.js.map +1 -0
  24. package/_esm/utils/index.js +3 -1
  25. package/_esm/utils/index.js.map +1 -1
  26. package/_types/actions/pimlico/getTokenQuotes.d.ts +2 -0
  27. package/_types/actions/pimlico/getTokenQuotes.d.ts.map +1 -1
  28. package/_types/actions/public/getSenderAddress.d.ts.map +1 -1
  29. package/_types/clients/decorators/smartAccount.d.ts +5 -0
  30. package/_types/clients/decorators/smartAccount.d.ts.map +1 -1
  31. package/_types/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.d.ts +5 -1
  32. package/_types/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.d.ts.map +1 -1
  33. package/_types/types/pimlico.d.ts +2 -0
  34. package/_types/types/pimlico.d.ts.map +1 -1
  35. package/_types/utils/erc20AllowanceOverride.d.ts +10 -0
  36. package/_types/utils/erc20AllowanceOverride.d.ts.map +1 -0
  37. package/_types/utils/erc20BalanceOverride.d.ts +9 -0
  38. package/_types/utils/erc20BalanceOverride.d.ts.map +1 -0
  39. package/_types/utils/index.d.ts +3 -1
  40. package/_types/utils/index.d.ts.map +1 -1
  41. package/actions/pimlico/getTokenQuotes.ts +8 -0
  42. package/actions/public/getSenderAddress.ts +12 -0
  43. package/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.test.ts +88 -0
  44. package/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts +67 -1
  45. package/package.json +9 -3
  46. package/types/pimlico.ts +2 -0
  47. package/utils/erc20AllowanceOverride.test.ts +59 -0
  48. package/utils/erc20AllowanceOverride.ts +66 -0
  49. package/utils/erc20BalanceOverride.test.ts +57 -0
  50. package/utils/erc20BalanceOverride.ts +49 -0
  51. package/utils/index.ts +13 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # permissionless
2
2
 
3
+ ## 0.2.11
4
+
5
+ ### Patch Changes
6
+
7
+ - bfc278b5cc3d8e6536d84005cc94e55e3c99eb9d: Added utils to create erc20 state overrides
8
+ - bfc278b5cc3d8e6536d84005cc94e55e3c99eb9d: Added balanceOverride to prepareUserOperationForErc20Paymaster
9
+
10
+ ## 0.2.10
11
+
12
+ ### Patch Changes
13
+
14
+ - 31cedea722382daa12f1d2c6dd70ab54b38deca1: Added getSenderAddress to support for more RPCs.
15
+
3
16
  ## 0.2.9
4
17
 
5
18
  ### Patch Changes
@@ -17,6 +17,12 @@ const getTokenQuotes = async (client, args) => {
17
17
  });
18
18
  return res.quotes.map((quote) => ({
19
19
  ...quote,
20
+ balanceSlot: quote.balanceSlot
21
+ ? (0, viem_1.hexToBigInt)(quote.balanceSlot)
22
+ : undefined,
23
+ allowanceSlot: quote.allowanceSlot
24
+ ? (0, viem_1.hexToBigInt)(quote.allowanceSlot)
25
+ : undefined,
20
26
  postOpGas: (0, viem_1.hexToBigInt)(quote.postOpGas),
21
27
  exchangeRate: (0, viem_1.hexToBigInt)(quote.exchangeRate),
22
28
  exchangeRateNativeToUsd: (0, viem_1.hexToBigInt)(quote.exchangeRateNativeToUsd)
@@ -1 +1 @@
1
- {"version":3,"file":"getTokenQuotes.js","sourceRoot":"","sources":["../../../actions/pimlico/getTokenQuotes.ts"],"names":[],"mappings":";;;AAAA,+BAUa;AA6BN,MAAM,cAAc,GAAG,KAAK,EAK/B,MAAyE,EACzE,IAAsD,EACrB,EAAE;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;IAElD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,yBAAkB,EAAE,CAAA;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC7B,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE;YACJ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,iBAAiB;YACtB,IAAA,kBAAW,EAAC,OAAO,CAAC;SACvB;KACJ,CAAC,CAAA;IAEF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,KAAK;QACR,SAAS,EAAE,IAAA,kBAAW,EAAC,KAAK,CAAC,SAAS,CAAC;QACvC,YAAY,EAAE,IAAA,kBAAW,EAAC,KAAK,CAAC,YAAY,CAAC;QAC7C,uBAAuB,EAAE,IAAA,kBAAW,EAAC,KAAK,CAAC,uBAAuB,CAAC;KACtE,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AA7BY,QAAA,cAAc,kBA6B1B"}
1
+ {"version":3,"file":"getTokenQuotes.js","sourceRoot":"","sources":["../../../actions/pimlico/getTokenQuotes.ts"],"names":[],"mappings":";;;AAAA,+BAUa;AA+BN,MAAM,cAAc,GAAG,KAAK,EAK/B,MAAyE,EACzE,IAAsD,EACrB,EAAE;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;IAElD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,yBAAkB,EAAE,CAAA;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC7B,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE;YACJ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,iBAAiB;YACtB,IAAA,kBAAW,EAAC,OAAO,CAAC;SACvB;KACJ,CAAC,CAAA;IAEF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,KAAK;QACR,WAAW,EAAE,KAAK,CAAC,WAAW;YAC1B,CAAC,CAAC,IAAA,kBAAW,EAAC,KAAK,CAAC,WAAW,CAAC;YAChC,CAAC,CAAC,SAAS;QACf,aAAa,EAAE,KAAK,CAAC,aAAa;YAC9B,CAAC,CAAC,IAAA,kBAAW,EAAC,KAAK,CAAC,aAAa,CAAC;YAClC,CAAC,CAAC,SAAS;QACf,SAAS,EAAE,IAAA,kBAAW,EAAC,KAAK,CAAC,SAAS,CAAC;QACvC,YAAY,EAAE,IAAA,kBAAW,EAAC,KAAK,CAAC,YAAY,CAAC;QAC7C,uBAAuB,EAAE,IAAA,kBAAW,EAAC,KAAK,CAAC,uBAAuB,CAAC;KACtE,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AAnCY,QAAA,cAAc,kBAmC1B"}
@@ -61,6 +61,15 @@ const getSenderAddress = async (client, args) => {
61
61
  err instanceof viem_1.RpcRequestError ||
62
62
  err instanceof viem_1.InvalidInputRpcError ||
63
63
  err instanceof viem_1.UnknownRpcError);
64
+ if (!revertError) {
65
+ const cause = e.cause;
66
+ const errorName = cause?.data?.errorName ?? "";
67
+ if (errorName === "SenderAddressResult" &&
68
+ cause?.data?.args &&
69
+ cause?.data?.args[0]) {
70
+ return cause.data?.args[0];
71
+ }
72
+ }
64
73
  if (revertError instanceof viem_1.ContractFunctionRevertedError) {
65
74
  const errorName = revertError.data?.errorName ?? "";
66
75
  if (errorName === "SenderAddressResult" &&
@@ -1 +1 @@
1
- {"version":3,"file":"getSenderAddress.js","sourceRoot":"","sources":["../../../actions/public/getSenderAddress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getSenderAddress.js","sourceRoot":"","sources":["../../../actions/public/getSenderAddress.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,8 @@ const actions_1 = require("viem/actions");
7
7
  const actions_2 = require("viem/actions");
8
8
  const utils_1 = require("viem/utils");
9
9
  const pimlico_1 = require("../../../actions/pimlico.js");
10
- const prepareUserOperationForErc20Paymaster = (pimlicoClient) => async (client, parameters_) => {
10
+ const utils_2 = require("../../../utils/index.js");
11
+ const prepareUserOperationForErc20Paymaster = (pimlicoClient, { balanceOverride = false, balanceSlot: _balanceSlot, allowanceSlot: _allowanceSlot } = {}) => async (client, parameters_) => {
11
12
  const parameters = parameters_;
12
13
  const account_ = client.account;
13
14
  if (!account_)
@@ -37,6 +38,11 @@ const prepareUserOperationForErc20Paymaster = (pimlicoClient) => async (client,
37
38
  chain: pimlicoClient.chain ?? client.chain ?? account.client.chain,
38
39
  entryPointAddress: account.entryPoint.address
39
40
  });
41
+ if (quotes.length === 0) {
42
+ throw new viem_1.RpcError(new Error("Quotes not found"), {
43
+ shortMessage: "client didn't return token quotes, check if the token is supported"
44
+ });
45
+ }
40
46
  const { postOpGas, exchangeRate, paymaster: paymasterERC20Address } = quotes[0];
41
47
  const callsWithDummyApproval = [
42
48
  {
@@ -50,6 +56,41 @@ const prepareUserOperationForErc20Paymaster = (pimlicoClient) => async (client,
50
56
  if (parameters.callData) {
51
57
  throw new Error("parameter callData is not supported with prepareUserOperationForErc20Paymaster");
52
58
  }
59
+ const allowanceSlot = _allowanceSlot ?? quotes[0].allowanceSlot;
60
+ const balanceSlot = _balanceSlot ?? quotes[0].balanceSlot;
61
+ const hasSlot = allowanceSlot && balanceSlot;
62
+ if (!hasSlot && balanceOverride) {
63
+ throw new Error(`balanceOverride is not supported for token ${token}, provide custom slot for balance & allowance overrides`);
64
+ }
65
+ const balanceStateOverride = balanceOverride && balanceSlot
66
+ ? (0, utils_2.erc20BalanceOverride)({
67
+ token,
68
+ owner: account.address,
69
+ slot: balanceSlot
70
+ })[0]
71
+ : undefined;
72
+ const allowanceStateOverride = balanceOverride && allowanceSlot
73
+ ? (0, utils_2.erc20AllowanceOverride)({
74
+ token,
75
+ owner: account.address,
76
+ spender: paymasterERC20Address,
77
+ slot: allowanceSlot
78
+ })[0]
79
+ : undefined;
80
+ parameters.stateOverride =
81
+ balanceOverride &&
82
+ balanceStateOverride &&
83
+ allowanceStateOverride
84
+ ? (parameters.stateOverride ?? []).concat([
85
+ {
86
+ address: token,
87
+ stateDiff: [
88
+ ...(allowanceStateOverride.stateDiff ?? []),
89
+ ...(balanceStateOverride.stateDiff ?? [])
90
+ ]
91
+ }
92
+ ])
93
+ : parameters.stateOverride;
53
94
  const userOperation = await (0, utils_1.getAction)(client, account_abstraction_1.prepareUserOperation, "prepareUserOperation")({
54
95
  ...parameters,
55
96
  calls: callsWithDummyApproval
@@ -1 +1 @@
1
- {"version":3,"file":"prepareUserOperationForErc20Paymaster.js","sourceRoot":"","sources":["../../../../experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareUserOperationForErc20Paymaster.js","sourceRoot":"","sources":["../../../../experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.erc20AllowanceOverride = erc20AllowanceOverride;
4
+ const viem_1 = require("viem");
5
+ function erc20AllowanceOverride({ token, owner, spender, slot, amount = BigInt("0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF") }) {
6
+ const smartAccountErc20AllowanceSlot = (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([
7
+ {
8
+ type: "address"
9
+ },
10
+ {
11
+ type: "bytes32"
12
+ }
13
+ ], [
14
+ spender,
15
+ (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([
16
+ {
17
+ type: "address"
18
+ },
19
+ {
20
+ type: "uint256"
21
+ }
22
+ ], [owner, BigInt(slot)]))
23
+ ]));
24
+ return [
25
+ {
26
+ address: token,
27
+ stateDiff: [
28
+ {
29
+ slot: smartAccountErc20AllowanceSlot,
30
+ value: (0, viem_1.toHex)(amount)
31
+ }
32
+ ]
33
+ }
34
+ ];
35
+ }
36
+ //# sourceMappingURL=erc20AllowanceOverride.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20AllowanceOverride.js","sourceRoot":"","sources":["../../utils/erc20AllowanceOverride.ts"],"names":[],"mappings":";;AAgBA,wDAiDC;AAjED,+BAMa;AAUb,SAAgB,sBAAsB,CAAC,EACnC,KAAK,EACL,KAAK,EACL,OAAO,EACP,IAAI,EACJ,MAAM,GAAG,MAAM,CACX,oEAAoE,CACvE,EAC8B;IAC/B,MAAM,8BAA8B,GAAG,IAAA,gBAAS,EAC5C,IAAA,0BAAmB,EACf;QACI;YACI,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,SAAS;SAClB;KACJ,EACD;QACI,OAAO;QACP,IAAA,gBAAS,EACL,IAAA,0BAAmB,EACf;YACI;gBACI,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,IAAI,EAAE,SAAS;aAClB;SACJ,EACD,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CACxB,CACJ;KACJ,CACJ,CACJ,CAAA;IAED,OAAO;QACH;YACI,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACP;oBACI,IAAI,EAAE,8BAA8B;oBACpC,KAAK,EAAE,IAAA,YAAK,EAAC,MAAM,CAAC;iBACvB;aACJ;SACJ;KACJ,CAAA;AACL,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.erc20BalanceOverride = erc20BalanceOverride;
4
+ const viem_1 = require("viem");
5
+ function erc20BalanceOverride({ token, owner, slot, balance = BigInt("0x100000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF") }) {
6
+ const smartAccountErc20BalanceSlot = (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([
7
+ {
8
+ type: "address"
9
+ },
10
+ {
11
+ type: "uint256"
12
+ }
13
+ ], [owner, slot]));
14
+ return [
15
+ {
16
+ address: token,
17
+ stateDiff: [
18
+ {
19
+ slot: smartAccountErc20BalanceSlot,
20
+ value: (0, viem_1.toHex)(balance)
21
+ }
22
+ ]
23
+ }
24
+ ];
25
+ }
26
+ //# sourceMappingURL=erc20BalanceOverride.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20BalanceOverride.js","sourceRoot":"","sources":["../../utils/erc20BalanceOverride.ts"],"names":[],"mappings":";;AAeA,oDAiCC;AAhDD,+BAMa;AASb,SAAgB,oBAAoB,CAAC,EACjC,KAAK,EACL,KAAK,EACL,IAAI,EACJ,OAAO,GAAG,MAAM,CACZ,oEAAoE,CACvE,EAC4B;IAC7B,MAAM,4BAA4B,GAAG,IAAA,gBAAS,EAC1C,IAAA,0BAAmB,EACf;QACI;YACI,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,SAAS;SAClB;KACJ,EACD,CAAC,KAAK,EAAE,IAAI,CAAC,CAChB,CACJ,CAAA;IAED,OAAO;QACH;YACI,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACP;oBACI,IAAI,EAAE,4BAA4B;oBAClC,KAAK,EAAE,IAAA,YAAK,EAAC,OAAO,CAAC;iBACxB;aACJ;SACJ;KACJ,CAAA;AACL,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.encode7579Calls = exports.encodeInstallModule = exports.decodeNonce = exports.encodeNonce = exports.getPackedUserOperation = exports.getAddressFromInitCodeOrPaymasterAndData = exports.isSmartAccountDeployed = exports.toOwner = exports.getRequiredPrefund = exports.deepHexlify = exports.transactionReceiptStatus = void 0;
3
+ exports.erc20BalanceOverride = exports.erc20AllowanceOverride = exports.encode7579Calls = exports.encodeInstallModule = exports.decodeNonce = exports.encodeNonce = exports.getPackedUserOperation = exports.getAddressFromInitCodeOrPaymasterAndData = exports.isSmartAccountDeployed = exports.toOwner = exports.getRequiredPrefund = exports.deepHexlify = exports.transactionReceiptStatus = void 0;
4
4
  const deepHexlify_1 = require("./deepHexlify.js");
5
5
  Object.defineProperty(exports, "deepHexlify", { enumerable: true, get: function () { return deepHexlify_1.deepHexlify; } });
6
6
  Object.defineProperty(exports, "transactionReceiptStatus", { enumerable: true, get: function () { return deepHexlify_1.transactionReceiptStatus; } });
@@ -22,4 +22,8 @@ const getPackedUserOperation_1 = require("./getPackedUserOperation.js");
22
22
  Object.defineProperty(exports, "getPackedUserOperation", { enumerable: true, get: function () { return getPackedUserOperation_1.getPackedUserOperation; } });
23
23
  const encode7579Calls_1 = require("./encode7579Calls.js");
24
24
  Object.defineProperty(exports, "encode7579Calls", { enumerable: true, get: function () { return encode7579Calls_1.encode7579Calls; } });
25
+ const erc20AllowanceOverride_1 = require("./erc20AllowanceOverride.js");
26
+ Object.defineProperty(exports, "erc20AllowanceOverride", { enumerable: true, get: function () { return erc20AllowanceOverride_1.erc20AllowanceOverride; } });
27
+ const erc20BalanceOverride_1 = require("./erc20BalanceOverride.js");
28
+ Object.defineProperty(exports, "erc20BalanceOverride", { enumerable: true, get: function () { return erc20BalanceOverride_1.erc20BalanceOverride; } });
25
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqE;AAsBjE,4FAtBK,yBAAW,OAsBL;AADX,yGArBkB,sCAAwB,OAqBlB;AApB5B,yGAAqG;AA0BjG,yHA1BK,mFAAwC,OA0BL;AAzB5C,6DAG6B;AAkBzB,mGAnBA,uCAAkB,OAmBA;AAjBtB,qEAAiE;AAoB7D,uGApBK,+CAAsB,OAoBL;AAnB1B,uCAAmC;AAiB/B,wFAjBK,iBAAO,OAiBL;AAfX,+CAA2C;AAqBvC,4FArBK,yBAAW,OAqBL;AApBf,+CAA2C;AAmBvC,4FAnBK,yBAAW,OAmBL;AAjBf,+DAG8B;AAiB1B,oGAlBA,yCAAmB,OAkBA;AAhBvB,qEAAiE;AAY7D,uGAZK,+CAAsB,OAYL;AAV1B,uDAA8E;AAgB1E,gGAhBgC,iCAAe,OAgBhC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqE;AA8BjE,4FA9BK,yBAAW,OA8BL;AADX,yGA7BkB,sCAAwB,OA6BlB;AA5B5B,yGAAqG;AAkCjG,yHAlCK,mFAAwC,OAkCL;AAjC5C,6DAG6B;AA0BzB,mGA3BA,uCAAkB,OA2BA;AAzBtB,qEAAiE;AA4B7D,uGA5BK,+CAAsB,OA4BL;AA3B1B,uCAAmC;AAyB/B,wFAzBK,iBAAO,OAyBL;AAvBX,+CAA2C;AA6BvC,4FA7BK,yBAAW,OA6BL;AA5Bf,+CAA2C;AA2BvC,4FA3BK,yBAAW,OA2BL;AAzBf,+DAG8B;AAyB1B,oGA1BA,yCAAmB,OA0BA;AAxBvB,qEAAiE;AAoB7D,uGApBK,+CAAsB,OAoBL;AAlB1B,uDAA8E;AAwB1E,gGAxBgC,iCAAe,OAwBhC;AAvBnB,qEAGiC;AAqB7B,uGAtBA,+CAAsB,OAsBA;AApB1B,iEAG+B;AAkB3B,qGAnBA,2CAAoB,OAmBA"}
@@ -24,6 +24,12 @@ export const getTokenQuotes = async (client, args) => {
24
24
  });
25
25
  return res.quotes.map((quote) => ({
26
26
  ...quote,
27
+ balanceSlot: quote.balanceSlot
28
+ ? hexToBigInt(quote.balanceSlot)
29
+ : undefined,
30
+ allowanceSlot: quote.allowanceSlot
31
+ ? hexToBigInt(quote.allowanceSlot)
32
+ : undefined,
27
33
  postOpGas: hexToBigInt(quote.postOpGas),
28
34
  exchangeRate: hexToBigInt(quote.exchangeRate),
29
35
  exchangeRateNativeToUsd: hexToBigInt(quote.exchangeRateNativeToUsd)
@@ -1 +1 @@
1
- {"version":3,"file":"getTokenQuotes.js","sourceRoot":"","sources":["../../../actions/pimlico/getTokenQuotes.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,kBAAkB,EAIlB,WAAW,EACX,WAAW,EACd,MAAM,MAAM,CAAA;AAmBb;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAK/B,MAAyE,EACzE,IAAsD,EACrB,EAAE;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;IAElD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,kBAAkB,EAAE,CAAA;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC7B,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE;YACJ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,iBAAiB;YACtB,WAAW,CAAC,OAAO,CAAC;SACvB;KACJ,CAAC,CAAA;IAEF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,KAAK;QACR,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC;QAC7C,uBAAuB,EAAE,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC;KACtE,CAAC,CAAC,CAAA;AACP,CAAC,CAAA"}
1
+ {"version":3,"file":"getTokenQuotes.js","sourceRoot":"","sources":["../../../actions/pimlico/getTokenQuotes.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,kBAAkB,EAIlB,WAAW,EACX,WAAW,EACd,MAAM,MAAM,CAAA;AAqBb;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAK/B,MAAyE,EACzE,IAAsD,EACrB,EAAE;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;IAElD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,kBAAkB,EAAE,CAAA;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC7B,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE;YACJ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,iBAAiB;YACtB,WAAW,CAAC,OAAO,CAAC;SACvB;KACJ,CAAC,CAAA;IAEF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,KAAK;QACR,WAAW,EAAE,KAAK,CAAC,WAAW;YAC1B,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC;YAChC,CAAC,CAAC,SAAS;QACf,aAAa,EAAE,KAAK,CAAC,aAAa;YAC9B,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC;YAClC,CAAC,CAAC,SAAS;QACf,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC;QAC7C,uBAAuB,EAAE,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC;KACtE,CAAC,CAAC,CAAA;AACP,CAAC,CAAA"}
@@ -82,6 +82,15 @@ export const getSenderAddress = async (client, args) => {
82
82
  err instanceof RpcRequestError ||
83
83
  err instanceof InvalidInputRpcError ||
84
84
  err instanceof UnknownRpcError);
85
+ if (!revertError) {
86
+ const cause = e.cause;
87
+ const errorName = cause?.data?.errorName ?? "";
88
+ if (errorName === "SenderAddressResult" &&
89
+ cause?.data?.args &&
90
+ cause?.data?.args[0]) {
91
+ return cause.data?.args[0];
92
+ }
93
+ }
85
94
  if (revertError instanceof ContractFunctionRevertedError) {
86
95
  const errorName = revertError.data?.errorName ?? "";
87
96
  if (errorName === "SenderAddressResult" &&
@@ -1 +1 @@
1
- {"version":3,"file":"getSenderAddress.js","sourceRoot":"","sources":["../../../actions/public/getSenderAddress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getSenderAddress.js","sourceRoot":"","sources":["../../../actions/public/getSenderAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EAGT,6BAA6B,EAE7B,oBAAoB,EAGpB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,MAAM,EACN,iBAAiB,EACpB,MAAM,MAAM,CAAA;AAEb,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAiBtC,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IAGjD,YAAY,EACR,KAAK,EACL,iBAAiB,KACmC,EAAE;QACtD,KAAK,CACD,0CACI,iBAAiB,CAAC,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC,CAAC,EACpD,iGAAiG,EACjG;YACI,KAAK;SACR,CACJ,CAAA;QAbI;;;;mBAAO,wBAAwB;WAAA;IAcxC,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACjC,MAAc,EACd,IAAsC,EACtB,EAAE;IAClB,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IAElE,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACX,mEAAmE,CACtE,CAAA;IACL,CAAC;IAED,IAAI,CAAC;QACD,MAAM,SAAS,CACX,MAAM,EACN,gBAAgB,EAChB,kBAAkB,CACrB,CAAC;YACE,OAAO,EAAE,iBAAiB;YAC1B,GAAG,EAAE;gBACD;oBACI,MAAM,EAAE;wBACJ;4BACI,YAAY,EAAE,SAAS;4BACvB,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,SAAS;yBAClB;qBACJ;oBACD,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,OAAO;iBAChB;gBACD;oBACI,MAAM,EAAE;wBACJ;4BACI,YAAY,EAAE,OAAO;4BACrB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,OAAO;yBAChB;qBACJ;oBACD,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,EAAE;oBACX,eAAe,EAAE,YAAY;oBAC7B,IAAI,EAAE,UAAU;iBACnB;aACJ;YACD,YAAY,EAAE,kBAAkB;YAChC,IAAI,EAAE,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,OAAc,EAAE,WAAkB,CAAC,CAAC,CAAC;SACnE,CAAC,CAAA;IACN,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,WAAW,GAAI,CAAwC,CAAC,IAAI,CAC9D,CAAC,GAAG,EAAE,EAAE,CACJ,GAAG,YAAY,6BAA6B;YAC5C,GAAG,YAAY,eAAe;YAC9B,GAAG,YAAY,oBAAoB;YACnC,GAAG,YAAY,eAAe,CACrC,CAAA;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,KAAK,GAAI,CAAwC,CAAC,KAAY,CAAA;YACpE,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE,CAAA;YAC9C,IACI,SAAS,KAAK,qBAAqB;gBACnC,KAAK,EAAE,IAAI,EAAE,IAAI;gBACjB,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EACtB,CAAC;gBACC,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAY,CAAA;YACzC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,YAAY,6BAA6B,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAA;YACnD,IACI,SAAS,KAAK,qBAAqB;gBACnC,WAAW,CAAC,IAAI,EAAE,IAAI;gBACtB,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAC3B,CAAC;gBACC,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAY,CAAA;YAC/C,CAAC;QACL,CAAC;QAED,IAAI,WAAW,YAAY,eAAe,EAAE,CAAC;YACzC,MAAM,cAAc,GAAG,gBAAgB,CAAA;YACvC,8CAA8C;YAC9C,MAAM,KAAK,GAAI,WAA8B,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAC1D,cAAc,CACjB,CAAA;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CACX,gDAAgD,CACnD,CAAA;YACL,CAAC;YAED,MAAM,IAAI,GAAQ,KAAK,CAAC,CAAC,CAAC,CAAA;YAE1B,MAAM,KAAK,GAAG,iBAAiB,CAAC;gBAC5B,GAAG,EAAE;oBACD;wBACI,MAAM,EAAE;4BACJ;gCACI,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;6BAClB;yBACJ;wBACD,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,IAAI;aACP,CAAC,CAAA;YAEF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAY,CAAA;QACnC,CAAC;QAED,IAAI,WAAW,YAAY,oBAAoB,EAAE,CAAC;YAC9C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CACpB,CAAC,YAAY,gBAAgB;gBACzB,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,CAAC,YAAY,SAAS;oBACtB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,IAAK,GAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;oBACvD,CAAC,CAAC,EAAE,CACO,CAAA;YAErB,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAA;YAE5D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACX,gDAAgD,CACnD,CAAA;YACL,CAAC;YAED,MAAM,KAAK,GAAG,iBAAiB,CAAC;gBAC5B,GAAG,EAAE;oBACD;wBACI,MAAM,EAAE;4BACJ;gCACI,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;6BAClB;yBACJ;wBACD,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,IAAI;aACP,CAAC,CAAA;YAEF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAY,CAAA;QACnC,CAAC;QAED,IAAI,WAAW,YAAY,eAAe,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK;YACzB,8CAA8C;YAC7C,WAA8B,CAAC,KAAK,CAAC,IAAI,CAC7C,CAAA;YACD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAA;YAExC,MAAM,cAAc,GAAG,gBAAgB,CAAA;YACvC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;YAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CACX,gDAAgD,CACnD,CAAA;YACL,CAAC;YAED,MAAM,IAAI,GAAQ,KAAK,CAAC,CAAC,CAAC,CAAA;YAE1B,MAAM,KAAK,GAAG,iBAAiB,CAAC;gBAC5B,GAAG,EAAE;oBACD;wBACI,MAAM,EAAE;4BACJ;gCACI,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;6BAClB;yBACJ;wBACD,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,IAAI;aACP,CAAC,CAAA;YAEF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAY,CAAA;QACnC,CAAC;QAED,MAAM,CAAC,CAAA;IACX,CAAC;IAED,MAAM,IAAI,sBAAsB,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAA;AAC3D,CAAC,CAAA"}
@@ -1,10 +1,11 @@
1
- import { encodeFunctionData, erc20Abi, getAddress, maxUint256 } from "viem";
1
+ import { RpcError, encodeFunctionData, erc20Abi, getAddress, maxUint256 } from "viem";
2
2
  import { getPaymasterData as getPaymasterData_, prepareUserOperation } from "viem/account-abstraction";
3
3
  import { getChainId as getChainId_ } from "viem/actions";
4
4
  import { readContract } from "viem/actions";
5
5
  import { getAction, parseAccount } from "viem/utils";
6
6
  import { getTokenQuotes } from "../../../actions/pimlico.js";
7
- export const prepareUserOperationForErc20Paymaster = (pimlicoClient) => async (client, parameters_) => {
7
+ import { erc20AllowanceOverride, erc20BalanceOverride } from "../../../utils/index.js";
8
+ export const prepareUserOperationForErc20Paymaster = (pimlicoClient, { balanceOverride = false, balanceSlot: _balanceSlot, allowanceSlot: _allowanceSlot } = {}) => async (client, parameters_) => {
8
9
  const parameters = parameters_;
9
10
  const account_ = client.account;
10
11
  if (!account_)
@@ -37,6 +38,11 @@ export const prepareUserOperationForErc20Paymaster = (pimlicoClient) => async (c
37
38
  chain: pimlicoClient.chain ?? client.chain ?? account.client.chain,
38
39
  entryPointAddress: account.entryPoint.address
39
40
  });
41
+ if (quotes.length === 0) {
42
+ throw new RpcError(new Error("Quotes not found"), {
43
+ shortMessage: "client didn't return token quotes, check if the token is supported"
44
+ });
45
+ }
40
46
  const { postOpGas, exchangeRate, paymaster: paymasterERC20Address } = quotes[0];
41
47
  const callsWithDummyApproval = [
42
48
  {
@@ -53,6 +59,41 @@ export const prepareUserOperationForErc20Paymaster = (pimlicoClient) => async (c
53
59
  ////////////////////////////////////////////////////////////////////////////////
54
60
  // Call prepareUserOperation
55
61
  ////////////////////////////////////////////////////////////////////////////////
62
+ const allowanceSlot = _allowanceSlot ?? quotes[0].allowanceSlot;
63
+ const balanceSlot = _balanceSlot ?? quotes[0].balanceSlot;
64
+ const hasSlot = allowanceSlot && balanceSlot;
65
+ if (!hasSlot && balanceOverride) {
66
+ throw new Error(`balanceOverride is not supported for token ${token}, provide custom slot for balance & allowance overrides`);
67
+ }
68
+ const balanceStateOverride = balanceOverride && balanceSlot
69
+ ? erc20BalanceOverride({
70
+ token,
71
+ owner: account.address,
72
+ slot: balanceSlot
73
+ })[0]
74
+ : undefined;
75
+ const allowanceStateOverride = balanceOverride && allowanceSlot
76
+ ? erc20AllowanceOverride({
77
+ token,
78
+ owner: account.address,
79
+ spender: paymasterERC20Address,
80
+ slot: allowanceSlot
81
+ })[0]
82
+ : undefined;
83
+ parameters.stateOverride =
84
+ balanceOverride &&
85
+ balanceStateOverride &&
86
+ allowanceStateOverride // allowanceSlot && balanceSlot is cuz of TypeScript :/
87
+ ? (parameters.stateOverride ?? []).concat([
88
+ {
89
+ address: token,
90
+ stateDiff: [
91
+ ...(allowanceStateOverride.stateDiff ?? []),
92
+ ...(balanceStateOverride.stateDiff ?? [])
93
+ ]
94
+ }
95
+ ])
96
+ : parameters.stateOverride;
56
97
  const userOperation = await getAction(client, prepareUserOperation, "prepareUserOperation")({
57
98
  ...parameters,
58
99
  calls: callsWithDummyApproval
@@ -1 +1 @@
1
- {"version":3,"file":"prepareUserOperationForErc20Paymaster.js","sourceRoot":"","sources":["../../../../experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareUserOperationForErc20Paymaster.js","sourceRoot":"","sources":["../../../../experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { encodeAbiParameters, keccak256, toHex } from "viem";
2
+ export function erc20AllowanceOverride({ token, owner, spender, slot, amount = BigInt("0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF") }) {
3
+ const smartAccountErc20AllowanceSlot = keccak256(encodeAbiParameters([
4
+ {
5
+ type: "address"
6
+ },
7
+ {
8
+ type: "bytes32"
9
+ }
10
+ ], [
11
+ spender,
12
+ keccak256(encodeAbiParameters([
13
+ {
14
+ type: "address"
15
+ },
16
+ {
17
+ type: "uint256"
18
+ }
19
+ ], [owner, BigInt(slot)]))
20
+ ]));
21
+ return [
22
+ {
23
+ address: token,
24
+ stateDiff: [
25
+ {
26
+ slot: smartAccountErc20AllowanceSlot,
27
+ value: toHex(amount)
28
+ }
29
+ ]
30
+ }
31
+ ];
32
+ }
33
+ //# sourceMappingURL=erc20AllowanceOverride.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20AllowanceOverride.js","sourceRoot":"","sources":["../../utils/erc20AllowanceOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,mBAAmB,EACnB,SAAS,EACT,KAAK,EACR,MAAM,MAAM,CAAA;AAUb,MAAM,UAAU,sBAAsB,CAAC,EACnC,KAAK,EACL,KAAK,EACL,OAAO,EACP,IAAI,EACJ,MAAM,GAAG,MAAM,CACX,oEAAoE,CACvE,EAC8B;IAC/B,MAAM,8BAA8B,GAAG,SAAS,CAC5C,mBAAmB,CACf;QACI;YACI,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,SAAS;SAClB;KACJ,EACD;QACI,OAAO;QACP,SAAS,CACL,mBAAmB,CACf;YACI;gBACI,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,IAAI,EAAE,SAAS;aAClB;SACJ,EACD,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CACxB,CACJ;KACJ,CACJ,CACJ,CAAA;IAED,OAAO;QACH;YACI,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACP;oBACI,IAAI,EAAE,8BAA8B;oBACpC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;iBACvB;aACJ;SACJ;KACJ,CAAA;AACL,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { encodeAbiParameters, keccak256, toHex } from "viem";
2
+ export function erc20BalanceOverride({ token, owner, slot, balance = BigInt("0x100000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF") }) {
3
+ const smartAccountErc20BalanceSlot = keccak256(encodeAbiParameters([
4
+ {
5
+ type: "address"
6
+ },
7
+ {
8
+ type: "uint256"
9
+ }
10
+ ], [owner, slot]));
11
+ return [
12
+ {
13
+ address: token,
14
+ stateDiff: [
15
+ {
16
+ slot: smartAccountErc20BalanceSlot,
17
+ value: toHex(balance)
18
+ }
19
+ ]
20
+ }
21
+ ];
22
+ }
23
+ //# sourceMappingURL=erc20BalanceOverride.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20BalanceOverride.js","sourceRoot":"","sources":["../../utils/erc20BalanceOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,mBAAmB,EACnB,SAAS,EACT,KAAK,EACR,MAAM,MAAM,CAAA;AASb,MAAM,UAAU,oBAAoB,CAAC,EACjC,KAAK,EACL,KAAK,EACL,IAAI,EACJ,OAAO,GAAG,MAAM,CACZ,oEAAoE,CACvE,EAC4B;IAC7B,MAAM,4BAA4B,GAAG,SAAS,CAC1C,mBAAmB,CACf;QACI;YACI,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,SAAS;SAClB;KACJ,EACD,CAAC,KAAK,EAAE,IAAI,CAAC,CAChB,CACJ,CAAA;IAED,OAAO;QACH;YACI,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACP;oBACI,IAAI,EAAE,4BAA4B;oBAClC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;iBACxB;aACJ;SACJ;KACJ,CAAA;AACL,CAAC"}
@@ -8,5 +8,7 @@ import { encodeNonce } from "./encodeNonce.js";
8
8
  import { encodeInstallModule } from "./encodeInstallModule.js";
9
9
  import { getPackedUserOperation } from "./getPackedUserOperation.js";
10
10
  import { encode7579Calls } from "./encode7579Calls.js";
11
- export { transactionReceiptStatus, deepHexlify, getRequiredPrefund, toOwner, isSmartAccountDeployed, getAddressFromInitCodeOrPaymasterAndData, getPackedUserOperation, encodeNonce, decodeNonce, encodeInstallModule, encode7579Calls };
11
+ import { erc20AllowanceOverride } from "./erc20AllowanceOverride.js";
12
+ import { erc20BalanceOverride } from "./erc20BalanceOverride.js";
13
+ export { transactionReceiptStatus, deepHexlify, getRequiredPrefund, toOwner, isSmartAccountDeployed, getAddressFromInitCodeOrPaymasterAndData, getPackedUserOperation, encodeNonce, decodeNonce, encodeInstallModule, encode7579Calls, erc20AllowanceOverride, erc20BalanceOverride };
12
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,wCAAwC,EAAE,MAAM,4CAA4C,CAAA;AACrG,OAAO,EAEH,kBAAkB,EACrB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAEH,mBAAmB,EACtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAA6B,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE9E,OAAO,EACH,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EAClB,OAAO,EAEP,sBAAsB,EACtB,wCAAwC,EACxC,sBAAsB,EACtB,WAAW,EACX,WAAW,EAEX,mBAAmB,EAEnB,eAAe,EAClB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,wCAAwC,EAAE,MAAM,4CAA4C,CAAA;AACrG,OAAO,EAEH,kBAAkB,EACrB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAEH,mBAAmB,EACtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAA6B,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAEH,sBAAsB,EACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAEH,oBAAoB,EACvB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACH,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EAClB,OAAO,EAEP,sBAAsB,EACtB,wCAAwC,EACxC,sBAAsB,EACtB,WAAW,EACX,WAAW,EAEX,mBAAmB,EAEnB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EAGvB,CAAA"}
@@ -10,6 +10,8 @@ export type GetTokenQuotesReturnType = {
10
10
  postOpGas: bigint;
11
11
  exchangeRate: bigint;
12
12
  exchangeRateNativeToUsd: bigint;
13
+ balanceSlot?: bigint;
14
+ allowanceSlot?: bigint;
13
15
  }[];
14
16
  /**
15
17
  * Returns all related fields to calculate the potential cost of a userOperation in ERC-20 tokens.
@@ -1 +1 @@
1
- {"version":3,"file":"getTokenQuotes.d.ts","sourceRoot":"","sources":["../../../actions/pimlico/getTokenQuotes.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EAEV,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAGjB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAE3D,MAAM,MAAM,wBAAwB,CAChC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAC5D;IACA,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,iBAAiB,EAAE,OAAO,CAAA;CAC7B,GAAG,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAE7C,MAAM,MAAM,wBAAwB,GAAG;IACnC,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,uBAAuB,EAAE,MAAM,CAAA;CAClC,EAAE,CAAA;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GACvB,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,UAAU,SAAS,SAAS,cAC5B,cAAc,SAAS,KAAK,GAAG,SAAS,8BAEhC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,gBAAgB,CAAC,QACnE,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,KACvD,OAAO,CAAC,wBAAwB,CAsBlC,CAAA"}
1
+ {"version":3,"file":"getTokenQuotes.d.ts","sourceRoot":"","sources":["../../../actions/pimlico/getTokenQuotes.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EAEV,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAGjB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAE3D,MAAM,MAAM,wBAAwB,CAChC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAC5D;IACA,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,iBAAiB,EAAE,OAAO,CAAA;CAC7B,GAAG,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAE7C,MAAM,MAAM,wBAAwB,GAAG;IACnC,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB,EAAE,CAAA;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GACvB,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,UAAU,SAAS,SAAS,cAC5B,cAAc,SAAS,KAAK,GAAG,SAAS,8BAEhC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,gBAAgB,CAAC,QACnE,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,KACvD,OAAO,CAAC,wBAAwB,CA4BlC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSenderAddress.d.ts","sourceRoot":"","sources":["../../../actions/public/getSenderAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,SAAS,EACT,KAAK,MAAM,EAGX,KAAK,GAAG,EAER,KAAK,KAAK,EACV,KAAK,QAAQ,EAMhB,MAAM,MAAM,CAAA;AAKb,MAAM,MAAM,sBAAsB,GAAG,KAAK,CACpC;IACI,QAAQ,EAAE,GAAG,CAAA;IACb,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,WAAW,CAAC,EAAE,KAAK,CAAA;CACtB,GACD;IACI,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,GAAG,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAA;CACnB,CACN,CAAA;AAED,qBAAa,sBAAuB,SAAQ,SAAS;IACxC,IAAI,SAA2B;gBAE5B,EACR,KAAK,EACL,iBAAiB,EACpB,GAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAO;CAU7D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,gBAAgB,WACjB,MAAM,QACR,QAAQ,CAAC,sBAAsB,CAAC,KACvC,OAAO,CAAC,OAAO,CAmLjB,CAAA"}
1
+ {"version":3,"file":"getSenderAddress.d.ts","sourceRoot":"","sources":["../../../actions/public/getSenderAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,SAAS,EACT,KAAK,MAAM,EAGX,KAAK,GAAG,EAER,KAAK,KAAK,EACV,KAAK,QAAQ,EAMhB,MAAM,MAAM,CAAA;AAKb,MAAM,MAAM,sBAAsB,GAAG,KAAK,CACpC;IACI,QAAQ,EAAE,GAAG,CAAA;IACb,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,WAAW,CAAC,EAAE,KAAK,CAAA;CACtB,GACD;IACI,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,GAAG,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAA;CACnB,CACN,CAAA;AAED,qBAAa,sBAAuB,SAAQ,SAAS;IACxC,IAAI,SAA2B;gBAE5B,EACR,KAAK,EACL,iBAAiB,EACpB,GAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAO;CAU7D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,gBAAgB,WACjB,MAAM,QACR,QAAQ,CAAC,sBAAsB,CAAC,KACvC,OAAO,CAAC,OAAO,CA+LjB,CAAA"}
@@ -251,6 +251,11 @@ export declare function smartAccountActions(): <TChain extends Chain | undefined
251
251
  };
252
252
  extend?: object | undefined;
253
253
  getAddress: () => Promise<import("viem").Address>;
254
+ decodeCalls?: ((data: import("viem").Hex) => Promise<readonly {
255
+ to: import("viem").Hex;
256
+ data?: import("viem").Hex | undefined;
257
+ value?: bigint | undefined;
258
+ }[]>) | undefined;
254
259
  encodeCalls: (calls: readonly {
255
260
  to: import("viem").Hex;
256
261
  data?: import("viem").Hex | undefined;
@@ -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":"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"}
@@ -1,4 +1,8 @@
1
1
  import { type Chain, type Client, type Transport } from "viem";
2
2
  import { type PrepareUserOperationParameters, type PrepareUserOperationRequest, type PrepareUserOperationReturnType, type SmartAccount } from "viem/account-abstraction";
3
- export declare const prepareUserOperationForErc20Paymaster: (pimlicoClient: Client) => <account extends SmartAccount | undefined, const calls extends readonly unknown[], const request extends PrepareUserOperationRequest<account, accountOverride, calls>, accountOverride extends SmartAccount | undefined = undefined>(client: Client<Transport, Chain | undefined, account>, parameters_: PrepareUserOperationParameters<account, accountOverride, calls, request>) => Promise<PrepareUserOperationReturnType<account, accountOverride, calls, request>>;
3
+ export declare const prepareUserOperationForErc20Paymaster: (pimlicoClient: Client, { balanceOverride, balanceSlot: _balanceSlot, allowanceSlot: _allowanceSlot }?: {
4
+ balanceOverride?: boolean;
5
+ balanceSlot?: bigint;
6
+ allowanceSlot?: bigint;
7
+ }) => <account extends SmartAccount | undefined, const calls extends readonly unknown[], const request extends PrepareUserOperationRequest<account, accountOverride, calls>, accountOverride extends SmartAccount | undefined = undefined>(client: Client<Transport, Chain | undefined, account>, parameters_: PrepareUserOperationParameters<account, accountOverride, calls, request>) => Promise<PrepareUserOperationReturnType<account, accountOverride, calls, request>>;
4
8
  //# sourceMappingURL=prepareUserOperationForErc20Paymaster.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepareUserOperationForErc20Paymaster.d.ts","sourceRoot":"","sources":["../../../../experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,MAAM,EAEX,KAAK,SAAS,EAKjB,MAAM,MAAM,CAAA;AACb,OAAO,EAEH,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,YAAY,EAKpB,MAAM,0BAA0B,CAAA;AAMjC,eAAO,MAAM,qCAAqC,kBAC9B,MAAM,MAElB,OAAO,SAAS,YAAY,GAAG,SAAS,QAClC,KAAK,SAAS,SAAS,OAAO,EAAE,QAChC,OAAO,SAAS,2BAA2B,CAC7C,OAAO,EACP,eAAe,EACf,KAAK,CACR,EACD,eAAe,SAAS,YAAY,GAAG,SAAS,sBAExC,MAAM,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,eACxC,8BAA8B,CACvC,OAAO,EACP,eAAe,EACf,KAAK,EACL,OAAO,CACV,KACF,OAAO,CACN,8BAA8B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CA8N3E,CAAA"}
1
+ {"version":3,"file":"prepareUserOperationForErc20Paymaster.d.ts","sourceRoot":"","sources":["../../../../experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,MAAM,EAGX,KAAK,SAAS,EAKjB,MAAM,MAAM,CAAA;AACb,OAAO,EAEH,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,YAAY,EAKpB,MAAM,0BAA0B,CAAA;AAOjC,eAAO,MAAM,qCAAqC,kBAE3B,MAAM,kFAKlB;IACC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB,MAGD,OAAO,SAAS,YAAY,GAAG,SAAS,QAClC,KAAK,SAAS,SAAS,OAAO,EAAE,QAChC,OAAO,SAAS,2BAA2B,CAC7C,OAAO,EACP,eAAe,EACf,KAAK,CACR,EACD,eAAe,SAAS,YAAY,GAAG,SAAS,sBAExC,MAAM,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,eACxC,8BAA8B,CACvC,OAAO,EACP,eAAe,EACf,KAAK,EACL,OAAO,CACV,KACF,OAAO,CACN,8BAA8B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CAmR3E,CAAA"}
@@ -25,6 +25,8 @@ type GetTokenQuotesWithBigIntAsHex = {
25
25
  postOpGas: Hex;
26
26
  exchangeRate: Hex;
27
27
  exchangeRateNativeToUsd: Hex;
28
+ balanceSlot?: Hex;
29
+ allowanceSlot?: Hex;
28
30
  }[];
29
31
  };
30
32
  export type PimlicoRpcSchema<entryPointVersion extends "0.6" | "0.7" = "0.6" | "0.7"> = [