@lit-protocol/vincent-ability-uniswap-swap 5.0.0 → 7.0.0

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 (67) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/CHANGELOG.md +45 -0
  3. package/dist/package.json +1 -1
  4. package/dist/src/generated/lit-action.js +2 -2
  5. package/dist/src/generated/vincent-ability-metadata.json +1 -1
  6. package/dist/src/generated/vincent-bundled-ability.d.ts +67 -10
  7. package/dist/src/generated/vincent-bundled-ability.d.ts.map +1 -1
  8. package/dist/src/generated/vincent-prepare-metadata.json +3 -3
  9. package/dist/src/index.d.ts +2 -0
  10. package/dist/src/index.d.ts.map +1 -1
  11. package/dist/src/index.js +3 -1
  12. package/dist/src/index.js.map +1 -1
  13. package/dist/src/lib/ability-checks/check-erc20-allowance.d.ts +4 -3
  14. package/dist/src/lib/ability-checks/check-erc20-allowance.d.ts.map +1 -1
  15. package/dist/src/lib/ability-checks/check-erc20-allowance.js +24 -10
  16. package/dist/src/lib/ability-checks/check-erc20-allowance.js.map +1 -1
  17. package/dist/src/lib/ability-checks/check-erc20-balance.d.ts +9 -0
  18. package/dist/src/lib/ability-checks/check-erc20-balance.d.ts.map +1 -0
  19. package/dist/src/lib/ability-checks/check-erc20-balance.js +25 -0
  20. package/dist/src/lib/ability-checks/check-erc20-balance.js.map +1 -0
  21. package/dist/src/lib/ability-checks/check-native-token-balance.d.ts +2 -1
  22. package/dist/src/lib/ability-checks/check-native-token-balance.d.ts.map +1 -1
  23. package/dist/src/lib/ability-checks/check-native-token-balance.js +8 -2
  24. package/dist/src/lib/ability-checks/check-native-token-balance.js.map +1 -1
  25. package/dist/src/lib/ability-checks/index.d.ts +1 -1
  26. package/dist/src/lib/ability-checks/index.d.ts.map +1 -1
  27. package/dist/src/lib/ability-checks/index.js +1 -1
  28. package/dist/src/lib/ability-checks/index.js.map +1 -1
  29. package/dist/src/lib/ability-helpers/get-erc20-allowance.d.ts +8 -0
  30. package/dist/src/lib/ability-helpers/get-erc20-allowance.d.ts.map +1 -0
  31. package/dist/src/lib/ability-helpers/get-erc20-allowance.js +10 -0
  32. package/dist/src/lib/ability-helpers/get-erc20-allowance.js.map +1 -0
  33. package/dist/src/lib/{ability-checks/getErc20Contract.d.ts → ability-helpers/get-erc20-contract.d.ts} +2 -2
  34. package/dist/src/lib/ability-helpers/get-erc20-contract.d.ts.map +1 -0
  35. package/dist/src/lib/{ability-checks/getErc20Contract.js → ability-helpers/get-erc20-contract.js} +1 -1
  36. package/dist/src/lib/ability-helpers/get-erc20-contract.js.map +1 -0
  37. package/dist/src/lib/ability-helpers/index.d.ts +2 -0
  38. package/dist/src/lib/ability-helpers/index.d.ts.map +1 -1
  39. package/dist/src/lib/ability-helpers/index.js +2 -0
  40. package/dist/src/lib/ability-helpers/index.js.map +1 -1
  41. package/dist/src/lib/ability-helpers/send-erc20-approval-tx.d.ts +15 -0
  42. package/dist/src/lib/ability-helpers/send-erc20-approval-tx.d.ts.map +1 -0
  43. package/dist/src/lib/ability-helpers/send-erc20-approval-tx.js +86 -0
  44. package/dist/src/lib/ability-helpers/send-erc20-approval-tx.js.map +1 -0
  45. package/dist/src/lib/ability-helpers/send-uniswap-tx.d.ts +4 -1
  46. package/dist/src/lib/ability-helpers/send-uniswap-tx.d.ts.map +1 -1
  47. package/dist/src/lib/ability-helpers/send-uniswap-tx.js +16 -1
  48. package/dist/src/lib/ability-helpers/send-uniswap-tx.js.map +1 -1
  49. package/dist/src/lib/schemas.d.ts +67 -9
  50. package/dist/src/lib/schemas.d.ts.map +1 -1
  51. package/dist/src/lib/schemas.js +70 -12
  52. package/dist/src/lib/schemas.js.map +1 -1
  53. package/dist/src/lib/types.d.ts +44 -0
  54. package/dist/src/lib/types.d.ts.map +1 -0
  55. package/dist/src/lib/types.js +10 -0
  56. package/dist/src/lib/types.js.map +1 -0
  57. package/dist/src/lib/vincent-ability.d.ts +67 -10
  58. package/dist/src/lib/vincent-ability.d.ts.map +1 -1
  59. package/dist/src/lib/vincent-ability.js +178 -46
  60. package/dist/src/lib/vincent-ability.js.map +1 -1
  61. package/package.json +4 -4
  62. package/dist/src/lib/ability-checks/check-token-in-balance.d.ts +0 -8
  63. package/dist/src/lib/ability-checks/check-token-in-balance.d.ts.map +0 -1
  64. package/dist/src/lib/ability-checks/check-token-in-balance.js +0 -17
  65. package/dist/src/lib/ability-checks/check-token-in-balance.js.map +0 -1
  66. package/dist/src/lib/ability-checks/getErc20Contract.d.ts.map +0 -1
  67. package/dist/src/lib/ability-checks/getErc20Contract.js.map +0 -1
@@ -7,9 +7,10 @@ const ethers_1 = require("ethers");
7
7
  const ability_helpers_1 = require("./ability-helpers");
8
8
  const ability_checks_1 = require("./ability-checks");
9
9
  const schemas_1 = require("./schemas");
10
- const check_erc20_allowance_1 = require("./ability-checks/check-erc20-allowance");
11
10
  const validate_signed_uniswap_quote_1 = require("./prepare/validate-signed-uniswap-quote");
12
11
  const vincent_prepare_metadata_json_1 = tslib_1.__importDefault(require("../generated/vincent-prepare-metadata.json"));
12
+ const types_1 = require("./types");
13
+ const send_erc20_approval_tx_1 = require("./ability-helpers/send-erc20-approval-tx");
13
14
  const bigintReplacer = (key, value) => {
14
15
  return typeof value === 'bigint' ? value.toString() : value;
15
16
  };
@@ -21,12 +22,23 @@ exports.vincentAbility = (0, vincent_ability_sdk_1.createVincentAbility)({
21
22
  supportedPolicies: (0, vincent_ability_sdk_1.supportedPoliciesForAbility)([]),
22
23
  executeSuccessSchema: schemas_1.executeSuccessSchema,
23
24
  executeFailSchema: schemas_1.executeFailSchema,
25
+ precheckSuccessSchema: schemas_1.precheckSuccessSchema,
24
26
  precheckFailSchema: schemas_1.precheckFailSchema,
25
27
  precheck: async ({ abilityParams }, { succeed, fail, delegation: { delegatorPkpInfo } }) => {
26
28
  console.log('Prechecking UniswapSwapAbility', JSON.stringify(abilityParams, exports.bigintReplacer, 2));
27
29
  // TODO: Rewrite checks to use `createAllowResult` and `createDenyResult` so we always know when we get a runtime err
28
- const { rpcUrlForUniswap, signedUniswapQuote } = abilityParams;
30
+ const { action, alchemyGasSponsor, rpcUrlForUniswap, signedUniswapQuote } = abilityParams;
29
31
  const { quote } = signedUniswapQuote;
32
+ if (!action) {
33
+ return fail({
34
+ reason: `The action parameter is required. Please use one of the following: ${Object.values(types_1.AbilityAction).join(', ')}`,
35
+ });
36
+ }
37
+ if (!Object.values(types_1.AbilityAction).includes(action)) {
38
+ return fail({
39
+ reason: `The provided action: ${action} is not supported. Please use one of the following: ${Object.values(types_1.AbilityAction).join(', ')}`,
40
+ });
41
+ }
30
42
  try {
31
43
  (0, validate_signed_uniswap_quote_1.validateSignedUniswapQuote)({
32
44
  prepareSuccessResult: signedUniswapQuote,
@@ -41,55 +53,95 @@ exports.vincentAbility = (0, vincent_ability_sdk_1.createVincentAbility)({
41
53
  }
42
54
  const delegatorPkpAddress = delegatorPkpInfo.ethAddress;
43
55
  const provider = new ethers_1.ethers.providers.StaticJsonRpcProvider(rpcUrlForUniswap);
44
- try {
45
- await (0, ability_checks_1.checkNativeTokenBalance)({
56
+ // 1. If alchemyGasSponsor is not enabled, we need to check if the delegator has enough native token balance to pay for gas fees
57
+ let checkNativeTokenBalanceResultSuccess;
58
+ if (!alchemyGasSponsor) {
59
+ const checkNativeTokenBalanceResult = await (0, ability_checks_1.checkNativeTokenBalance)({
46
60
  provider,
47
61
  pkpEthAddress: delegatorPkpAddress,
48
62
  });
63
+ if (!checkNativeTokenBalanceResult.success) {
64
+ return fail({
65
+ reason: checkNativeTokenBalanceResult.reason,
66
+ });
67
+ }
68
+ checkNativeTokenBalanceResultSuccess = checkNativeTokenBalanceResult;
49
69
  }
50
- catch (err) {
51
- return fail({
52
- reason: `Native token balance error: ${err instanceof Error ? err.message : String(err)}`,
53
- });
54
- }
55
- const requiredAmount = ethers_1.ethers.utils
56
- .parseUnits(quote.amountIn, quote.tokenInDecimals)
57
- .toBigInt();
58
- try {
59
- await (0, ability_checks_1.checkTokenInBalance)({
60
- provider,
61
- pkpEthAddress: delegatorPkpAddress,
62
- tokenInAddress: quote.tokenIn,
63
- tokenInAmount: requiredAmount,
70
+ const requiredTokenInAmount = ethers_1.ethers.utils.parseUnits(quote.amountIn, quote.tokenInDecimals);
71
+ // 2. We retrieve the current allowance of the input token for the spender from the delegator
72
+ const checkErc20AllowanceResult = await (0, ability_checks_1.checkErc20Allowance)({
73
+ provider,
74
+ tokenAddress: quote.tokenIn,
75
+ owner: delegatorPkpInfo.ethAddress,
76
+ spender: quote.to,
77
+ requiredAllowance: requiredTokenInAmount,
78
+ });
79
+ // 3. If the ability action is approve, we return the current allowance since all
80
+ // precheck is concerned with is whether the delegatee can call approve which just needs to know if
81
+ // the gas for the approval transaction can be paid for (whether by gas sponsorship, or by the delegator).
82
+ // We return the current allowance out of convenience, so the delegatee can know if
83
+ // the current allowance is sufficient without having to call execute.
84
+ if (action === types_1.AbilityAction.Approve) {
85
+ return succeed({
86
+ nativeTokenBalance: checkNativeTokenBalanceResultSuccess?.ethBalance.toString(),
87
+ currentTokenInAllowanceForSpender: checkErc20AllowanceResult.currentAllowance.toString(),
88
+ spenderAddress: checkErc20AllowanceResult.spenderAddress,
64
89
  });
65
90
  }
66
- catch (err) {
91
+ // 4. If the ability action is swap, and the current allowance is insufficient, we return a failure
92
+ // because the swap cannot currently be performed.
93
+ if (action === types_1.AbilityAction.Swap && !checkErc20AllowanceResult.success) {
67
94
  return fail({
68
- reason: `tokenIn balance check error: ${err instanceof Error ? err.message : String(err)}`,
95
+ reason: checkErc20AllowanceResult.reason,
96
+ spenderAddress: checkErc20AllowanceResult.spenderAddress,
97
+ tokenAddress: checkErc20AllowanceResult.tokenAddress,
98
+ requiredAllowance: checkErc20AllowanceResult.requiredAllowance.toString(),
99
+ currentAllowance: checkErc20AllowanceResult.currentAllowance.toString(),
69
100
  });
70
101
  }
71
- // Check ERC20 allowance for the router specified in the route
72
- try {
73
- await (0, check_erc20_allowance_1.checkErc20Allowance)({
74
- provider,
75
- tokenAddress: quote.tokenIn,
76
- owner: delegatorPkpAddress,
77
- spender: quote.to,
78
- tokenAmount: requiredAmount,
79
- });
80
- }
81
- catch (err) {
102
+ // 5. At this point, the ability action is either:
103
+ // - Swap and the current allowance is sufficient
104
+ // - ApproveAndSwap and the gas for the approval transaction can be paid for if the current allowance is insufficient.
105
+ // We now need to check if the current delegator balance of tokenIn is sufficient to perform the swap.
106
+ const checkErc20BalanceResult = await (0, ability_checks_1.checkErc20Balance)({
107
+ provider,
108
+ pkpEthAddress: delegatorPkpAddress,
109
+ tokenAddress: quote.tokenIn,
110
+ requiredTokenAmount: requiredTokenInAmount,
111
+ });
112
+ if (!checkErc20BalanceResult.success) {
82
113
  return fail({
83
- reason: `ERC20 allowance check error: ${err instanceof Error ? err.message : String(err)}`,
84
- erc20SpenderAddress: quote.to,
114
+ reason: checkErc20BalanceResult.reason,
115
+ tokenAddress: checkErc20BalanceResult.tokenAddress,
116
+ requiredTokenAmount: checkErc20BalanceResult.requiredTokenAmount.toString(),
117
+ tokenBalance: checkErc20BalanceResult.tokenBalance.toString(),
85
118
  });
86
119
  }
87
- return succeed();
120
+ // 6. At this point, we know that:
121
+ // - The current allowance is either sufficient, or the gas for a new approval transaction can be paid for
122
+ // - The current delegator balance of tokenIn is sufficient to perform the swap
123
+ return succeed({
124
+ nativeTokenBalance: checkNativeTokenBalanceResultSuccess?.ethBalance.toString(),
125
+ tokenInAddress: checkErc20BalanceResult.tokenAddress,
126
+ tokenInBalance: checkErc20BalanceResult.tokenBalance.toString(),
127
+ currentTokenInAllowanceForSpender: checkErc20AllowanceResult.currentAllowance.toString(),
128
+ spenderAddress: checkErc20AllowanceResult.spenderAddress,
129
+ });
88
130
  },
89
131
  execute: async ({ abilityParams }, { succeed, fail, delegation: { delegatorPkpInfo } }) => {
90
132
  console.log('Executing UniswapSwapAbility', JSON.stringify(abilityParams, exports.bigintReplacer, 2));
91
- const { rpcUrlForUniswap, signedUniswapQuote, gasBufferPercentage, baseFeePerGasBufferPercentage, } = abilityParams;
133
+ const { action, rpcUrlForUniswap, signedUniswapQuote, gasBufferPercentage, baseFeePerGasBufferPercentage, alchemyGasSponsor, alchemyGasSponsorApiKey, alchemyGasSponsorPolicyId, } = abilityParams;
92
134
  const { quote } = signedUniswapQuote;
135
+ if (!action) {
136
+ return fail({
137
+ reason: `The action parameter is required. Please use one of the following: ${Object.values(types_1.AbilityAction).join(', ')}`,
138
+ });
139
+ }
140
+ if (!Object.values(types_1.AbilityAction).includes(action)) {
141
+ return fail({
142
+ reason: `The provided action: ${action} is not supported. Please use one of the following: ${Object.values(types_1.AbilityAction).join(', ')}`,
143
+ });
144
+ }
93
145
  try {
94
146
  (0, validate_signed_uniswap_quote_1.validateSignedUniswapQuote)({
95
147
  prepareSuccessResult: signedUniswapQuote,
@@ -102,18 +154,98 @@ exports.vincentAbility = (0, vincent_ability_sdk_1.createVincentAbility)({
102
154
  reason: `Uniswap quote validation failed: ${error instanceof Error ? error.message : String(error)}`,
103
155
  });
104
156
  }
105
- const swapTxHash = await (0, ability_helpers_1.sendUniswapTx)({
106
- rpcUrl: rpcUrlForUniswap,
107
- chainId: quote.chainId,
108
- pkpEthAddress: delegatorPkpInfo.ethAddress,
109
- pkpPublicKey: delegatorPkpInfo.publicKey,
110
- to: quote.to,
111
- value: quote.value,
112
- calldata: quote.calldata,
113
- gasBufferPercentage,
114
- baseFeePerGasBufferPercentage,
157
+ // 1. If the ability action is approve or approveAndSwap, we need to check if the current allowance is sufficient.
158
+ // If the ability action is:
159
+ // - Approve, we return success if allowance is sufficient, otherwise we send a new approval transaction
160
+ // - ApproveAndSwap, and the current allowance is sufficient, we continue to create the swap transaction. Otherwise,
161
+ // we send a new approval transaction and then continue to create the swap transaction
162
+ let approvalTxHash;
163
+ let approvalTxUserOperationHash;
164
+ if (action === types_1.AbilityAction.Approve || action === types_1.AbilityAction.ApproveAndSwap) {
165
+ const provider = new ethers_1.ethers.providers.StaticJsonRpcProvider(rpcUrlForUniswap);
166
+ const requiredTokenInAmount = ethers_1.ethers.utils.parseUnits(quote.amountIn, quote.tokenInDecimals);
167
+ const checkErc20AllowanceResult = await (0, ability_checks_1.checkErc20Allowance)({
168
+ provider,
169
+ tokenAddress: quote.tokenIn,
170
+ owner: delegatorPkpInfo.ethAddress,
171
+ spender: quote.to,
172
+ requiredAllowance: requiredTokenInAmount,
173
+ });
174
+ if (checkErc20AllowanceResult.success) {
175
+ console.log(`Sufficient allowance already exists for spender ${quote.to}, skipping approval transaction. Current allowance: ${checkErc20AllowanceResult.currentAllowance.toString()}`);
176
+ if (action === types_1.AbilityAction.Approve) {
177
+ // 1.1 If the ability action is approve, we return success since the current allowance is sufficient,
178
+ // and a new approval transaction is not needed.
179
+ return succeed({
180
+ currentAllowance: checkErc20AllowanceResult.currentAllowance.toString(),
181
+ });
182
+ }
183
+ }
184
+ else {
185
+ if (checkErc20AllowanceResult.reason.includes('insufficient ERC20 allowance for spender')) {
186
+ // 1.2 The current allowance is insufficient, so we need to send a new approval transaction
187
+ const txHash = await (0, send_erc20_approval_tx_1.sendErc20ApprovalTx)({
188
+ rpcUrl: rpcUrlForUniswap,
189
+ chainId: quote.chainId,
190
+ pkpEthAddress: delegatorPkpInfo.ethAddress,
191
+ pkpPublicKey: delegatorPkpInfo.publicKey,
192
+ spenderAddress: quote.to,
193
+ allowanceAmount: requiredTokenInAmount.toString(),
194
+ erc20TokenAddress: quote.tokenIn,
195
+ alchemyGasSponsor,
196
+ alchemyGasSponsorApiKey,
197
+ alchemyGasSponsorPolicyId,
198
+ });
199
+ if (alchemyGasSponsor) {
200
+ approvalTxUserOperationHash = txHash;
201
+ }
202
+ else {
203
+ approvalTxHash = txHash;
204
+ }
205
+ }
206
+ else {
207
+ // 1.3 Some error other than insufficient allowance occurred, bail out
208
+ return fail({
209
+ reason: checkErc20AllowanceResult.reason,
210
+ });
211
+ }
212
+ }
213
+ }
214
+ let swapTxHash;
215
+ let swapTxUserOperationHash;
216
+ if (action === types_1.AbilityAction.Swap || action === types_1.AbilityAction.ApproveAndSwap) {
217
+ // 2. The ability action is swap or approveAndSwap, so we send the swap transaction
218
+ const txHash = await (0, ability_helpers_1.sendUniswapTx)({
219
+ rpcUrl: rpcUrlForUniswap,
220
+ chainId: quote.chainId,
221
+ pkpEthAddress: delegatorPkpInfo.ethAddress,
222
+ pkpPublicKey: delegatorPkpInfo.publicKey,
223
+ to: quote.to,
224
+ value: quote.value,
225
+ calldata: quote.calldata,
226
+ gasBufferPercentage,
227
+ baseFeePerGasBufferPercentage,
228
+ alchemyGasSponsor,
229
+ alchemyGasSponsorApiKey,
230
+ alchemyGasSponsorPolicyId,
231
+ });
232
+ if (alchemyGasSponsor) {
233
+ swapTxUserOperationHash = txHash;
234
+ }
235
+ else {
236
+ swapTxHash = txHash;
237
+ }
238
+ }
239
+ // 3. If the ability action is:
240
+ // - Approve, we return the approval transaction hash.
241
+ // - Swap, we return the swap transaction hash.
242
+ // - ApproveAndSwap, we return the approval and swap transaction hashes.
243
+ return succeed({
244
+ approvalTxHash,
245
+ approvalTxUserOperationHash,
246
+ swapTxHash,
247
+ swapTxUserOperationHash,
115
248
  });
116
- return succeed({ swapTxHash });
117
249
  },
118
250
  });
119
251
  //# sourceMappingURL=vincent-ability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vincent-ability.js","sourceRoot":"","sources":["../../../src/lib/vincent-ability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vincent-ability.js","sourceRoot":"","sources":["../../../src/lib/vincent-ability.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lit-protocol/vincent-ability-uniswap-swap",
3
- "version": "5.0.0",
3
+ "version": "7.0.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -12,11 +12,11 @@
12
12
  "json-stable-stringify": "^1.3.0",
13
13
  "tslib": "2.8.1",
14
14
  "zod": "^3.25.64",
15
- "@lit-protocol/vincent-ability-sdk": "2.2.0",
16
- "@lit-protocol/vincent-app-sdk": "2.2.1"
15
+ "@lit-protocol/vincent-ability-sdk": "2.3.1",
16
+ "@lit-protocol/vincent-app-sdk": "2.2.3"
17
17
  },
18
18
  "peerDependencies": {
19
- "@lit-protocol/vincent-app-sdk": "^2.2.1"
19
+ "@lit-protocol/vincent-app-sdk": "^2.2.3"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@dotenvx/dotenvx": "^1.44.2",
@@ -1,8 +0,0 @@
1
- import { ethers } from 'ethers';
2
- export declare const checkTokenInBalance: ({ provider, pkpEthAddress, tokenInAddress, tokenInAmount, }: {
3
- provider: ethers.providers.StaticJsonRpcProvider;
4
- pkpEthAddress: string;
5
- tokenInAddress: string;
6
- tokenInAmount: bigint;
7
- }) => Promise<ethers.BigNumber>;
8
- //# sourceMappingURL=check-token-in-balance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check-token-in-balance.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-checks/check-token-in-balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,eAAO,MAAM,mBAAmB,GAAU,6DAKvC;IACD,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,8BAeA,CAAC"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkTokenInBalance = void 0;
4
- const ethers_1 = require("ethers");
5
- const getErc20Contract_1 = require("./getErc20Contract");
6
- const checkTokenInBalance = async ({ provider, pkpEthAddress, tokenInAddress, tokenInAmount, }) => {
7
- const contract = (0, getErc20Contract_1.getErc20Contract)(tokenInAddress, provider);
8
- const tokenInBalance = await contract.balanceOf(pkpEthAddress);
9
- // Convert bigint to BigNumber for comparison
10
- const tokenInAmountBN = ethers_1.ethers.BigNumber.from(tokenInAmount.toString());
11
- if (tokenInBalance.lt(tokenInAmountBN)) {
12
- throw new Error(`pkpEthAddress (${pkpEthAddress}) has insufficient balance of tokenIn (${tokenInAddress}). Wanted ${tokenInAmount}, but only have ${tokenInBalance} (checkTokenInBalance)`);
13
- }
14
- return tokenInBalance;
15
- };
16
- exports.checkTokenInBalance = checkTokenInBalance;
17
- //# sourceMappingURL=check-token-in-balance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check-token-in-balance.js","sourceRoot":"","sources":["../../../../src/lib/ability-checks/check-token-in-balance.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,yDAAsD;AAE/C,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,QAAQ,EACR,aAAa,EACb,cAAc,EACd,aAAa,GAMd,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,IAAA,mCAAgB,EAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAqB,MAAM,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAEjF,6CAA6C;IAC7C,MAAM,eAAe,GAAG,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IAExE,IAAI,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,kBAAkB,aAAa,0CAA0C,cAAc,aAAa,aAAa,mBAAmB,cAAc,wBAAwB,CAC3K,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAzBW,QAAA,mBAAmB,uBAyB9B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getErc20Contract.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-checks/getErc20Contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,SAAS,UAUrB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,mBAGjD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getErc20Contract.js","sourceRoot":"","sources":["../../../../src/lib/ability-checks/getErc20Contract.ts"],"names":[],"mappings":";;;AAcA,4CAKC;AAnBD,mCAAgC;AAEnB,QAAA,SAAS,GAAG;IACvB,mEAAmE;IACnE,2EAA2E;IAC3E,oFAAoF;IACpF,0CAA0C;IAC1C,wDAAwD;IACxD,uEAAuE;IACvE,yFAAyF;IACzF,gDAAgD;IAChD,kDAAkD;CACnD,CAAC;AAEF,SAAgB,gBAAgB,CAC9B,YAAoB,EACpB,QAAgD;IAEhD,OAAO,IAAI,eAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAS,EAAE,QAAQ,CAAC,CAAC;AAChE,CAAC"}