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.
- package/CHANGELOG.md +13 -0
- package/_cjs/actions/pimlico/getTokenQuotes.js +6 -0
- package/_cjs/actions/pimlico/getTokenQuotes.js.map +1 -1
- package/_cjs/actions/public/getSenderAddress.js +9 -0
- package/_cjs/actions/public/getSenderAddress.js.map +1 -1
- package/_cjs/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js +42 -1
- package/_cjs/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js.map +1 -1
- package/_cjs/utils/erc20AllowanceOverride.js +36 -0
- package/_cjs/utils/erc20AllowanceOverride.js.map +1 -0
- package/_cjs/utils/erc20BalanceOverride.js +26 -0
- package/_cjs/utils/erc20BalanceOverride.js.map +1 -0
- package/_cjs/utils/index.js +5 -1
- package/_cjs/utils/index.js.map +1 -1
- package/_esm/actions/pimlico/getTokenQuotes.js +6 -0
- package/_esm/actions/pimlico/getTokenQuotes.js.map +1 -1
- package/_esm/actions/public/getSenderAddress.js +9 -0
- package/_esm/actions/public/getSenderAddress.js.map +1 -1
- package/_esm/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js +43 -2
- package/_esm/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js.map +1 -1
- package/_esm/utils/erc20AllowanceOverride.js +33 -0
- package/_esm/utils/erc20AllowanceOverride.js.map +1 -0
- package/_esm/utils/erc20BalanceOverride.js +23 -0
- package/_esm/utils/erc20BalanceOverride.js.map +1 -0
- package/_esm/utils/index.js +3 -1
- package/_esm/utils/index.js.map +1 -1
- package/_types/actions/pimlico/getTokenQuotes.d.ts +2 -0
- package/_types/actions/pimlico/getTokenQuotes.d.ts.map +1 -1
- package/_types/actions/public/getSenderAddress.d.ts.map +1 -1
- package/_types/clients/decorators/smartAccount.d.ts +5 -0
- package/_types/clients/decorators/smartAccount.d.ts.map +1 -1
- package/_types/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.d.ts +5 -1
- package/_types/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.d.ts.map +1 -1
- package/_types/types/pimlico.d.ts +2 -0
- package/_types/types/pimlico.d.ts.map +1 -1
- package/_types/utils/erc20AllowanceOverride.d.ts +10 -0
- package/_types/utils/erc20AllowanceOverride.d.ts.map +1 -0
- package/_types/utils/erc20BalanceOverride.d.ts +9 -0
- package/_types/utils/erc20BalanceOverride.d.ts.map +1 -0
- package/_types/utils/index.d.ts +3 -1
- package/_types/utils/index.d.ts.map +1 -1
- package/actions/pimlico/getTokenQuotes.ts +8 -0
- package/actions/public/getSenderAddress.ts +12 -0
- package/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.test.ts +88 -0
- package/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts +67 -1
- package/package.json +9 -3
- package/types/pimlico.ts +2 -0
- package/utils/erc20AllowanceOverride.test.ts +59 -0
- package/utils/erc20AllowanceOverride.ts +66 -0
- package/utils/erc20BalanceOverride.test.ts +57 -0
- package/utils/erc20BalanceOverride.ts +49 -0
- 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;
|
|
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
|
|
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":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"prepareUserOperationForErc20Paymaster.js","sourceRoot":"","sources":["../../../../experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts"],"names":[],"mappings":";;;AAAA,+BAWa;AACb,kEAUiC;AACjC,0CAAwD;AACxD,0CAA2C;AAC3C,sCAAoD;AACpD,sDAAyD;AACzD,0CAA6E;AAEtE,MAAM,qCAAqC,GAC9C,CACI,aAAqB,EACrB,EACI,eAAe,GAAG,KAAK,EACvB,WAAW,EAAE,YAAY,EACzB,aAAa,EAAE,cAAc,KAK7B,EAAE,EACR,EAAE,CACJ,KAAK,EAUD,MAAqD,EACrD,WAKC,EAGH,EAAE;IACA,MAAM,UAAU,GAAG,WAA6C,CAAA;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAA;IAE/B,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAA;IAEtC,MAAM,aAAa,GAAG,MAAkC,CAAA;IAExD,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB;QAChD,CAAC,CAAC,UAAU,CAAC,gBAAgB;QAC7B,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAA;IAErC,IACI,OAAO,gBAAgB,KAAK,QAAQ;QACpC,gBAAgB,KAAK,IAAI;QACzB,OAAO,IAAI,gBAAgB;QAC3B,OAAO,gBAAgB,CAAC,KAAK,KAAK,QAAQ,EAC5C,CAAC;QAKC,MAAM,KAAK,GAAG,IAAA,iBAAU,EAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAEhD,IAAI,OAA2B,CAAA;QAC/B,KAAK,UAAU,UAAU;YACrB,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAA;YAC3B,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;YACxC,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAS,EAC5B,MAAM,EACN,oBAAW,EACX,YAAY,CACf,CAAC,EAAE,CAAC,CAAA;YACL,OAAO,GAAG,QAAQ,CAAA;YAClB,OAAO,OAAO,CAAA;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAS,EAC1B,aAAa,EACb,wBAAc,EACd,gBAAgB,CACnB,CAAC;YACE,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,KAAK,EACD,aAAa,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK;YAC/D,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;SAChD,CAAC,CAAA;QAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,eAAQ,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE;gBAC9C,YAAY,EACR,oEAAoE;aAC3E,CAAC,CAAA;QACN,CAAC;QAED,MAAM,EACF,SAAS,EACT,YAAY,EACZ,SAAS,EAAE,qBAAqB,EACnC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEb,MAAM,sBAAsB,GAAG;YAC3B;gBACI,GAAG,EAAE,eAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,qBAAqB,EAAE,iBAAU,CAAC;gBACzC,EAAE,EAAE,gBAAgB,CAAC,KAAK;aAC7B;YACD,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAA;QAED,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACX,gFAAgF,CACnF,CAAA;QACL,CAAC;QAOD,MAAM,aAAa,GAAG,cAAc,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAA;QAC/D,MAAM,WAAW,GAAG,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;QAEzD,MAAM,OAAO,GAAG,aAAa,IAAI,WAAW,CAAA;QAE5C,IAAI,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACX,8CAA8C,KAAK,yDAAyD,CAC/G,CAAA;QACL,CAAC;QAED,MAAM,oBAAoB,GACtB,eAAe,IAAI,WAAW;YAC1B,CAAC,CAAC,IAAA,4BAAoB,EAAC;gBACjB,KAAK;gBACL,KAAK,EAAE,OAAO,CAAC,OAAO;gBACtB,IAAI,EAAE,WAAW;aACpB,CAAC,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,SAAS,CAAA;QAEnB,MAAM,sBAAsB,GACxB,eAAe,IAAI,aAAa;YAC5B,CAAC,CAAC,IAAA,8BAAsB,EAAC;gBACnB,KAAK;gBACL,KAAK,EAAE,OAAO,CAAC,OAAO;gBACtB,OAAO,EAAE,qBAAqB;gBAC9B,IAAI,EAAE,aAAa;aACtB,CAAC,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,SAAS,CAAA;QAEnB,UAAU,CAAC,aAAa;YACpB,eAAe;gBACf,oBAAoB;gBACpB,sBAAsB;gBAClB,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;oBACpC;wBACI,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE;4BACP,GAAG,CAAC,sBAAsB,CAAC,SAAS,IAAI,EAAE,CAAC;4BAC3C,GAAG,CAAC,oBAAoB,CAAC,SAAS,IAAI,EAAE,CAAC;yBAC5C;qBACJ;iBACJ,CAAC;gBACJ,CAAC,CAAC,UAAU,CAAC,aAAa,CAAA;QAElC,MAAM,aAAa,GAAG,MAAM,IAAA,iBAAS,EACjC,MAAM,EACN,0CAAoB,EACpB,sBAAsB,CACzB,CAAC;YACE,GAAG,UAAU;YACb,KAAK,EAAE,sBAAsB;SACa,CAAC,CAAA;QAM/C,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,CAAA;QAE/C,MAAM,mBAAmB,GACrB,aAAa,CAAC,kBAAkB;YAChC,aAAa,CAAC,YAAY;YAC1B,aAAa,CAAC,oBAAoB;YAClC,CAAC,aAAa,CAAC,uBAAuB,IAAI,EAAE,CAAC;YAC7C,CAAC,aAAa,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAA;QAEvD,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,YAAY,CAAA;QAG/D,MAAM,cAAc,GAChB,CAAC,CAAC,oBAAoB,GAAG,SAAS,GAAG,YAAY,CAAC;YAC9C,YAAY,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,CAAA;QAOhB,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;QAEnC,MAAM,SAAS,GAAG,MAAM,IAAA,iBAAS,EAC7B,YAAY,EACZ,sBAAY,EACZ,cAAc,CACjB,CAAC;YACE,GAAG,EAAE,eAAQ;YACb,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC;YAC9C,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QAEF,MAAM,qBAAqB,GAAG,SAAS,IAAI,cAAc,CAAA;QAEzD,MAAM,UAAU,GAAG,qBAAqB;YACpC,CAAC,CAAC,UAAU,CAAC,KAAK;YAClB,CAAC,CAAC;gBACI;oBACI,GAAG,EAAE,eAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,qBAAqB,EAAE,cAAc,CAAC;oBAC7C,EAAE,EAAE,gBAAgB,CAAC,KAAK;iBAC7B;gBACD,GAAG,UAAU,CAAC,KAAK;aACtB,CAAA;QAEP,aAAa,CAAC,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAC9C,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,IAAI,GAAG,KAKL,CAAA;YACR,IAAI,KAAK,IAAI,IAAI;gBACb,OAAO;oBACH,IAAI,EAAE,IAAA,yBAAkB,EAAC,IAAI,CAAC;oBAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,KAAK,EAAE,IAAI,CAAC,KAAK;iBACC,CAAA;YAC1B,OAAO,IAAyB,CAAA;QACpC,CAAC,CAAC,CACL,CAAA;QACD,UAAU,CAAC,KAAK,GAAG,UAAU,CAAA;QAM7B,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,aAAa,EAAE,SAAS,CAAA;QAClE,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,GAAG,EAAE;YAE/B,IAAI,SAAS,KAAK,IAAI;gBAClB,OAAO;oBACH,gBAAgB,EAAE,CAAC,UAAe,EAAE,EAAE,CAClC,IAAA,iBAAS,EACL,aAAa,EACb,sCAAiB,EACjB,kBAAkB,CACrB,CAAC,UAAU,CAAC;iBACpB,CAAA;YAGL,IACI,OAAO,SAAS,KAAK,QAAQ;gBAC7B,SAAS,CAAC,gBAAgB,EAC5B,CAAC;gBACC,MAAM,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAA;gBACtC,OAAO;oBACH,gBAAgB;iBACnB,CAAA;YACL,CAAC;YAED,MAAM,IAAI,KAAK,CACX,6DAA6D,CAChE,CAAA;QACL,CAAC,CAAC,EAAE,CAAA;QAMJ,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,OAAO,EAAE,MAAM,UAAU,EAAE;YAC3B,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;YAC7C,OAAO,EAAE,gBAAgB;YACzB,GAAI,aAA+B;SACtC,CAAC,CAAA;QAEF,OAAO;YACH,GAAG,aAAa;YAChB,GAAG,aAAa;SAMnB,CAAA;IACL,CAAC;IAED,OAAO,CAAC,MAAM,IAAA,iBAAS,EACnB,MAAM,EACN,0CAAoB,EACpB,sBAAsB,CACzB,CAAC,UAAU,CAAC,CAKZ,CAAA;AACL,CAAC,CAAA;AAlTQ,QAAA,qCAAqC,yCAkT7C"}
|
|
@@ -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"}
|
package/_cjs/utils/index.js
CHANGED
|
@@ -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
|
package/_cjs/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqE;
|
|
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;
|
|
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":"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"}
|
|
@@ -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
|
-
|
|
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":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"prepareUserOperationForErc20Paymaster.js","sourceRoot":"","sources":["../../../../experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,QAAQ,EAER,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,UAAU,EACb,MAAM,MAAM,CAAA;AACb,OAAO,EAQH,gBAAgB,IAAI,iBAAiB,EACrC,oBAAoB,EACvB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAE7E,MAAM,CAAC,MAAM,qCAAqC,GAC9C,CACI,aAAqB,EACrB,EACI,eAAe,GAAG,KAAK,EACvB,WAAW,EAAE,YAAY,EACzB,aAAa,EAAE,cAAc,KAK7B,EAAE,EACR,EAAE,CACJ,KAAK,EAUD,MAAqD,EACrD,WAKC,EAGH,EAAE;IACA,MAAM,UAAU,GAAG,WAA6C,CAAA;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAA;IAE/B,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAEtC,MAAM,aAAa,GAAG,MAAkC,CAAA;IAExD,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB;QAChD,CAAC,CAAC,UAAU,CAAC,gBAAgB;QAC7B,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAA;IAErC,IACI,OAAO,gBAAgB,KAAK,QAAQ;QACpC,gBAAgB,KAAK,IAAI;QACzB,OAAO,IAAI,gBAAgB;QAC3B,OAAO,gBAAgB,CAAC,KAAK,KAAK,QAAQ,EAC5C,CAAC;QACC,gFAAgF;QAChF,6DAA6D;QAC7D,gFAAgF;QAEhF,MAAM,KAAK,GAAG,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAEhD,IAAI,OAA2B,CAAA;QAC/B,KAAK,UAAU,UAAU;YACrB,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAA;YAC3B,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;YACxC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC5B,MAAM,EACN,WAAW,EACX,YAAY,CACf,CAAC,EAAE,CAAC,CAAA;YACL,OAAO,GAAG,QAAQ,CAAA;YAClB,OAAO,OAAO,CAAA;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAC1B,aAAa,EACb,cAAc,EACd,gBAAgB,CACnB,CAAC;YACE,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,KAAK,EACD,aAAa,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK;YAC/D,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;SAChD,CAAC,CAAA;QAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE;gBAC9C,YAAY,EACR,oEAAoE;aAC3E,CAAC,CAAA;QACN,CAAC;QAED,MAAM,EACF,SAAS,EACT,YAAY,EACZ,SAAS,EAAE,qBAAqB,EACnC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEb,MAAM,sBAAsB,GAAG;YAC3B;gBACI,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,qBAAqB,EAAE,UAAU,CAAC,EAAE,6CAA6C;gBACxF,EAAE,EAAE,gBAAgB,CAAC,KAAK;aAC7B;YACD,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAA;QAED,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACX,gFAAgF,CACnF,CAAA;QACL,CAAC;QAED,gFAAgF;QAEhF,4BAA4B;QAC5B,gFAAgF;QAEhF,MAAM,aAAa,GAAG,cAAc,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAA;QAC/D,MAAM,WAAW,GAAG,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;QAEzD,MAAM,OAAO,GAAG,aAAa,IAAI,WAAW,CAAA;QAE5C,IAAI,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACX,8CAA8C,KAAK,yDAAyD,CAC/G,CAAA;QACL,CAAC;QAED,MAAM,oBAAoB,GACtB,eAAe,IAAI,WAAW;YAC1B,CAAC,CAAC,oBAAoB,CAAC;gBACjB,KAAK;gBACL,KAAK,EAAE,OAAO,CAAC,OAAO;gBACtB,IAAI,EAAE,WAAW;aACpB,CAAC,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,SAAS,CAAA;QAEnB,MAAM,sBAAsB,GACxB,eAAe,IAAI,aAAa;YAC5B,CAAC,CAAC,sBAAsB,CAAC;gBACnB,KAAK;gBACL,KAAK,EAAE,OAAO,CAAC,OAAO;gBACtB,OAAO,EAAE,qBAAqB;gBAC9B,IAAI,EAAE,aAAa;aACtB,CAAC,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,SAAS,CAAA;QAEnB,UAAU,CAAC,aAAa;YACpB,eAAe;gBACf,oBAAoB;gBACpB,sBAAsB,CAAC,uDAAuD;gBAC1E,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;oBACpC;wBACI,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE;4BACP,GAAG,CAAC,sBAAsB,CAAC,SAAS,IAAI,EAAE,CAAC;4BAC3C,GAAG,CAAC,oBAAoB,CAAC,SAAS,IAAI,EAAE,CAAC;yBAC5C;qBACJ;iBACJ,CAAC;gBACJ,CAAC,CAAC,UAAU,CAAC,aAAa,CAAA;QAElC,MAAM,aAAa,GAAG,MAAM,SAAS,CACjC,MAAM,EACN,oBAAoB,EACpB,sBAAsB,CACzB,CAAC;YACE,GAAG,UAAU;YACb,KAAK,EAAE,sBAAsB;SACa,CAAC,CAAA;QAE/C,gFAAgF;QAChF,8EAA8E;QAC9E,gFAAgF;QAEhF,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,CAAA;QAE/C,MAAM,mBAAmB,GACrB,aAAa,CAAC,kBAAkB;YAChC,aAAa,CAAC,YAAY;YAC1B,aAAa,CAAC,oBAAoB;YAClC,CAAC,aAAa,CAAC,uBAAuB,IAAI,EAAE,CAAC;YAC7C,CAAC,aAAa,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAA;QAEvD,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,YAAY,CAAA;QAE/D,gIAAgI;QAChI,MAAM,cAAc,GAChB,CAAC,CAAC,oBAAoB,GAAG,SAAS,GAAG,YAAY,CAAC;YAC9C,YAAY,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,CAAA;QAEhB,gFAAgF;QAChF,wCAAwC;QACxC,gFAAgF;QAChF,gFAAgF;QAEhF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;QAEnC,MAAM,SAAS,GAAG,MAAM,SAAS,CAC7B,YAAY,EACZ,YAAY,EACZ,cAAc,CACjB,CAAC;YACE,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC;YAC9C,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QAEF,MAAM,qBAAqB,GAAG,SAAS,IAAI,cAAc,CAAA;QAEzD,MAAM,UAAU,GAAG,qBAAqB;YACpC,CAAC,CAAC,UAAU,CAAC,KAAK;YAClB,CAAC,CAAC;gBACI;oBACI,GAAG,EAAE,QAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,qBAAqB,EAAE,cAAc,CAAC;oBAC7C,EAAE,EAAE,gBAAgB,CAAC,KAAK;iBAC7B;gBACD,GAAG,UAAU,CAAC,KAAK;aACtB,CAAA;QAEP,aAAa,CAAC,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAC9C,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,IAAI,GAAG,KAKL,CAAA;YACR,IAAI,KAAK,IAAI,IAAI;gBACb,OAAO;oBACH,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;oBAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,KAAK,EAAE,IAAI,CAAC,KAAK;iBACC,CAAA;YAC1B,OAAO,IAAyB,CAAA;QACpC,CAAC,CAAC,CACL,CAAA;QACD,UAAU,CAAC,KAAK,GAAG,UAAU,CAAA;QAE7B,gFAAgF;QAChF,kDAAkD;QAClD,gFAAgF;QAEhF,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,aAAa,EAAE,SAAS,CAAA;QAClE,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,GAAG,EAAE;YAC/B,sFAAsF;YACtF,IAAI,SAAS,KAAK,IAAI;gBAClB,OAAO;oBACH,gBAAgB,EAAE,CAAC,UAAe,EAAE,EAAE,CAClC,SAAS,CACL,aAAa,EACb,iBAAiB,EACjB,kBAAkB,CACrB,CAAC,UAAU,CAAC;iBACpB,CAAA;YAEL,6FAA6F;YAC7F,IACI,OAAO,SAAS,KAAK,QAAQ;gBAC7B,SAAS,CAAC,gBAAgB,EAC5B,CAAC;gBACC,MAAM,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAA;gBACtC,OAAO;oBACH,gBAAgB;iBACnB,CAAA;YACL,CAAC;YAED,MAAM,IAAI,KAAK,CACX,6DAA6D,CAChE,CAAA;QACL,CAAC,CAAC,EAAE,CAAA;QAEJ,gFAAgF;QAChF,sCAAsC;QACtC,gFAAgF;QAEhF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YACzC,OAAO,EAAE,MAAM,UAAU,EAAE;YAC3B,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;YAC7C,OAAO,EAAE,gBAAgB;YACzB,GAAI,aAA+B;SACtC,CAAC,CAAA;QAEF,OAAO;YACH,GAAG,aAAa;YAChB,GAAG,aAAa;SAMnB,CAAA;IACL,CAAC;IAED,OAAO,CAAC,MAAM,SAAS,CACnB,MAAM,EACN,oBAAoB,EACpB,sBAAsB,CACzB,CAAC,UAAU,CAAC,CAKZ,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -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"}
|
package/_esm/utils/index.js
CHANGED
|
@@ -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
|
-
|
|
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
|
package/_esm/utils/index.js.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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,
|
|
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
|
|
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,
|
|
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"> = [
|