permissionless 0.2.12 → 0.2.13
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 +6 -0
- package/_cjs/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js +5 -3
- package/_cjs/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js.map +1 -1
- package/_esm/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js +5 -3
- package/_esm/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.js.map +1 -1
- package/_types/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.d.ts.map +1 -1
- package/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts +6 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -58,18 +58,20 @@ const prepareUserOperationForErc20Paymaster = (pimlicoClient, { balanceOverride
|
|
|
58
58
|
}
|
|
59
59
|
const allowanceSlot = _allowanceSlot ?? quotes[0].allowanceSlot;
|
|
60
60
|
const balanceSlot = _balanceSlot ?? quotes[0].balanceSlot;
|
|
61
|
-
const
|
|
61
|
+
const hasAllowanceSlot = allowanceSlot !== undefined;
|
|
62
|
+
const hasBalanceSlot = balanceSlot !== undefined;
|
|
63
|
+
const hasSlot = hasAllowanceSlot && hasBalanceSlot;
|
|
62
64
|
if (!hasSlot && balanceOverride) {
|
|
63
65
|
throw new Error(`balanceOverride is not supported for token ${token}, provide custom slot for balance & allowance overrides`);
|
|
64
66
|
}
|
|
65
|
-
const balanceStateOverride = balanceOverride &&
|
|
67
|
+
const balanceStateOverride = balanceOverride && hasBalanceSlot
|
|
66
68
|
? (0, utils_2.erc20BalanceOverride)({
|
|
67
69
|
token,
|
|
68
70
|
owner: account.address,
|
|
69
71
|
slot: balanceSlot
|
|
70
72
|
})[0]
|
|
71
73
|
: undefined;
|
|
72
|
-
const allowanceStateOverride = balanceOverride &&
|
|
74
|
+
const allowanceStateOverride = balanceOverride && hasAllowanceSlot
|
|
73
75
|
? (0, utils_2.erc20AllowanceOverride)({
|
|
74
76
|
token,
|
|
75
77
|
owner: account.address,
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"prepareUserOperationForErc20Paymaster.js","sourceRoot":"","sources":["../../../../experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,18 +61,20 @@ export const prepareUserOperationForErc20Paymaster = (pimlicoClient, { balanceOv
|
|
|
61
61
|
////////////////////////////////////////////////////////////////////////////////
|
|
62
62
|
const allowanceSlot = _allowanceSlot ?? quotes[0].allowanceSlot;
|
|
63
63
|
const balanceSlot = _balanceSlot ?? quotes[0].balanceSlot;
|
|
64
|
-
const
|
|
64
|
+
const hasAllowanceSlot = allowanceSlot !== undefined;
|
|
65
|
+
const hasBalanceSlot = balanceSlot !== undefined;
|
|
66
|
+
const hasSlot = hasAllowanceSlot && hasBalanceSlot;
|
|
65
67
|
if (!hasSlot && balanceOverride) {
|
|
66
68
|
throw new Error(`balanceOverride is not supported for token ${token}, provide custom slot for balance & allowance overrides`);
|
|
67
69
|
}
|
|
68
|
-
const balanceStateOverride = balanceOverride &&
|
|
70
|
+
const balanceStateOverride = balanceOverride && hasBalanceSlot
|
|
69
71
|
? erc20BalanceOverride({
|
|
70
72
|
token,
|
|
71
73
|
owner: account.address,
|
|
72
74
|
slot: balanceSlot
|
|
73
75
|
})[0]
|
|
74
76
|
: undefined;
|
|
75
|
-
const allowanceStateOverride = balanceOverride &&
|
|
77
|
+
const allowanceStateOverride = balanceOverride && hasAllowanceSlot
|
|
76
78
|
? erc20AllowanceOverride({
|
|
77
79
|
token,
|
|
78
80
|
owner: account.address,
|
|
@@ -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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"}
|
|
@@ -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,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,
|
|
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,CAqR3E,CAAA"}
|
|
@@ -138,15 +138,16 @@ export const prepareUserOperationForErc20Paymaster =
|
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
////////////////////////////////////////////////////////////////////////////////
|
|
141
|
-
|
|
142
141
|
// Call prepareUserOperation
|
|
143
142
|
////////////////////////////////////////////////////////////////////////////////
|
|
144
143
|
|
|
145
144
|
const allowanceSlot = _allowanceSlot ?? quotes[0].allowanceSlot
|
|
146
145
|
const balanceSlot = _balanceSlot ?? quotes[0].balanceSlot
|
|
147
146
|
|
|
148
|
-
const
|
|
149
|
-
|
|
147
|
+
const hasAllowanceSlot = allowanceSlot !== undefined
|
|
148
|
+
const hasBalanceSlot = balanceSlot !== undefined
|
|
149
|
+
|
|
150
|
+
const hasSlot = hasAllowanceSlot && hasBalanceSlot
|
|
150
151
|
|
|
151
152
|
if (!hasSlot && balanceOverride) {
|
|
152
153
|
throw new Error(
|
|
@@ -155,7 +156,7 @@ export const prepareUserOperationForErc20Paymaster =
|
|
|
155
156
|
}
|
|
156
157
|
|
|
157
158
|
const balanceStateOverride =
|
|
158
|
-
balanceOverride &&
|
|
159
|
+
balanceOverride && hasBalanceSlot
|
|
159
160
|
? erc20BalanceOverride({
|
|
160
161
|
token,
|
|
161
162
|
owner: account.address,
|
|
@@ -164,7 +165,7 @@ export const prepareUserOperationForErc20Paymaster =
|
|
|
164
165
|
: undefined
|
|
165
166
|
|
|
166
167
|
const allowanceStateOverride =
|
|
167
|
-
balanceOverride &&
|
|
168
|
+
balanceOverride && hasAllowanceSlot
|
|
168
169
|
? erc20AllowanceOverride({
|
|
169
170
|
token,
|
|
170
171
|
owner: account.address,
|