@lit-protocol/vincent-ability-aave 0.2.8 → 1.0.1-mma

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 (50) hide show
  1. package/README.md +51 -86
  2. package/dist/CHANGELOG.md +7 -0
  3. package/dist/README.md +51 -86
  4. package/dist/package.json +5 -5
  5. package/dist/src/generated/lit-action.js +2 -2
  6. package/dist/src/generated/vincent-ability-metadata.json +1 -1
  7. package/dist/src/generated/vincent-bundled-ability.d.ts +1417 -66
  8. package/dist/src/generated/vincent-bundled-ability.d.ts.map +1 -1
  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 +17 -1
  12. package/dist/src/index.js.map +1 -1
  13. package/dist/src/lib/decodeTransaction.d.ts +3 -0
  14. package/dist/src/lib/decodeTransaction.d.ts.map +1 -0
  15. package/dist/src/lib/decodeTransaction.js +49 -0
  16. package/dist/src/lib/decodeTransaction.js.map +1 -0
  17. package/dist/src/lib/helpers/aave.d.ts +85 -0
  18. package/dist/src/lib/helpers/aave.d.ts.map +1 -0
  19. package/dist/src/lib/helpers/aave.js +331 -0
  20. package/dist/src/lib/helpers/aave.js.map +1 -0
  21. package/dist/src/lib/helpers/erc20.d.ts +6 -0
  22. package/dist/src/lib/helpers/erc20.d.ts.map +1 -0
  23. package/dist/src/lib/helpers/erc20.js +53 -0
  24. package/dist/src/lib/helpers/erc20.js.map +1 -0
  25. package/dist/src/lib/helpers/transactionKind.d.ts +6 -0
  26. package/dist/src/lib/helpers/transactionKind.d.ts.map +1 -0
  27. package/dist/src/lib/helpers/transactionKind.js +10 -0
  28. package/dist/src/lib/helpers/transactionKind.js.map +1 -0
  29. package/dist/src/lib/lit-action.js.map +1 -1
  30. package/dist/src/lib/validateSimulation.d.ts +3 -0
  31. package/dist/src/lib/validateSimulation.d.ts.map +1 -0
  32. package/dist/src/lib/validateSimulation.js +56 -0
  33. package/dist/src/lib/validateSimulation.js.map +1 -0
  34. package/dist/src/lib/validateTransaction.d.ts +3 -0
  35. package/dist/src/lib/validateTransaction.d.ts.map +1 -0
  36. package/dist/src/lib/validateTransaction.js +79 -0
  37. package/dist/src/lib/validateTransaction.js.map +1 -0
  38. package/dist/src/lib/vincent-ability.d.ts +1417 -67
  39. package/dist/src/lib/vincent-ability.d.ts.map +1 -1
  40. package/dist/src/lib/vincent-ability.js +9 -345
  41. package/dist/src/lib/vincent-ability.js.map +1 -1
  42. package/package.json +7 -7
  43. package/dist/src/lib/helpers/index.d.ts +0 -71
  44. package/dist/src/lib/helpers/index.d.ts.map +0 -1
  45. package/dist/src/lib/helpers/index.js +0 -345
  46. package/dist/src/lib/helpers/index.js.map +0 -1
  47. package/dist/src/lib/schemas.d.ts +0 -115
  48. package/dist/src/lib/schemas.d.ts.map +0 -1
  49. package/dist/src/lib/schemas.js +0 -110
  50. package/dist/src/lib/schemas.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"vincent-ability.d.ts","sourceRoot":"","sources":["../../../src/lib/vincent-ability.ts"],"names":[],"mappings":"AAkBA,OAAO,EAML,aAAa,EACd,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyXzB,CAAC"}
1
+ {"version":3,"file":"vincent-ability.d.ts","sourceRoot":"","sources":["../../../src/lib/vincent-ability.ts"],"names":[],"mappings":"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"}
@@ -1,351 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.vincentAbility = void 0;
4
- const vincent_ability_sdk_1 = require("@lit-protocol/vincent-ability-sdk");
5
- const vincent_scaffold_sdk_1 = require("@lit-protocol/vincent-scaffold-sdk");
6
- const ethers_1 = require("ethers");
7
- const helpers_1 = require("./helpers");
8
- const schemas_1 = require("./schemas");
9
- exports.vincentAbility = (0, vincent_ability_sdk_1.createVincentAbility)({
4
+ const gatedSigner_1 = require("@lit-protocol/vincent-ability-sdk/gatedSigner");
5
+ const decodeTransaction_1 = require("./decodeTransaction");
6
+ const validateSimulation_1 = require("./validateSimulation");
7
+ const validateTransaction_1 = require("./validateTransaction");
8
+ exports.vincentAbility = (0, gatedSigner_1.createVincentGatedSignerAbility)({
10
9
  packageName: '@lit-protocol/vincent-ability-aave',
11
- abilityDescription: 'A Vincent ability for AAVE protocol operations (Supply, Withdraw, Borrow, Repay)',
12
- abilityParamsSchema: schemas_1.abilityParamsSchema,
13
- supportedPolicies: (0, vincent_ability_sdk_1.supportedPoliciesForAbility)([]),
14
- precheckSuccessSchema: schemas_1.precheckSuccessSchema,
15
- precheckFailSchema: schemas_1.precheckFailSchema,
16
- executeSuccessSchema: schemas_1.executeSuccessSchema,
17
- executeFailSchema: schemas_1.executeFailSchema,
18
- precheck: async ({ abilityParams }, { succeed, fail, delegation: { delegatorPkpInfo } }) => {
19
- try {
20
- console.log('[@lit-protocol/vincent-ability-aave/precheck]');
21
- console.log('[@lit-protocol/vincent-ability-aave/precheck] params:', {
22
- abilityParams,
23
- });
24
- const { operation, asset, amount, interestRateMode, rpcUrl, chain } = abilityParams;
25
- // Validate operation
26
- if (!Object.values(schemas_1.AaveOperation).includes(operation)) {
27
- return fail({
28
- error: '[@lit-protocol/vincent-ability-aave/precheck] Invalid operation. Must be supply, withdraw, borrow, or repay',
29
- });
30
- }
31
- // Validate asset address
32
- if (!(0, helpers_1.isValidAddress)(asset)) {
33
- return fail({
34
- error: '[@lit-protocol/vincent-ability-aave/precheck] Invalid asset address format',
35
- });
36
- }
37
- // Validate amount
38
- if (!amount || isNaN(parseFloat(amount)) || parseFloat(amount) <= 0) {
39
- return fail({
40
- error: '[@lit-protocol/vincent-ability-aave/precheck] Invalid amount format or amount must be greater than 0',
41
- });
42
- }
43
- // Validate interest rate mode for borrow operations
44
- if (operation === schemas_1.AaveOperation.BORROW) {
45
- if (!interestRateMode ||
46
- (interestRateMode !== helpers_1.INTEREST_RATE_MODE.STABLE &&
47
- interestRateMode !== helpers_1.INTEREST_RATE_MODE.VARIABLE)) {
48
- return fail({
49
- error: '[@lit-protocol/vincent-ability-aave/precheck] Interest rate mode is required for borrow operations (1 = Stable, 2 = Variable)',
50
- });
51
- }
52
- }
53
- // Enhanced validation - connect to blockchain and validate everything the execute function would need
54
- console.log('[@lit-protocol/vincent-ability-aave/precheck] Starting enhanced validation...');
55
- if (!rpcUrl) {
56
- return fail({
57
- error: '[@lit-protocol/vincent-ability-aave/precheck] RPC URL is required for precheck',
58
- });
59
- }
60
- // Get provider
61
- let provider;
62
- try {
63
- provider = new ethers_1.ethers.providers.JsonRpcProvider(rpcUrl);
64
- }
65
- catch (error) {
66
- return fail({
67
- error: `[@lit-protocol/vincent-ability-aave/precheck] Unable to obtain blockchain provider: ${error instanceof Error ? error.message : String(error)}`,
68
- });
69
- }
70
- // Get chain-specific AAVE addresses
71
- let aaveAddresses;
72
- try {
73
- aaveAddresses = (0, helpers_1.getAaveAddresses)(chain || 'sepolia');
74
- }
75
- catch (error) {
76
- return fail({
77
- error: `[@lit-protocol/vincent-ability-aave/precheck] ${error instanceof Error ? error.message : String(error)}`,
78
- });
79
- }
80
- // Get PKP address
81
- const pkpAddress = delegatorPkpInfo.ethAddress;
82
- // Get asset decimals and validate asset exists
83
- let assetDecimals;
84
- let userBalance = '0';
85
- let allowance = '0';
86
- try {
87
- const assetContract = new ethers_1.ethers.Contract(asset, helpers_1.ERC20_ABI, provider);
88
- assetDecimals = await assetContract.decimals();
89
- userBalance = (await assetContract.balanceOf(pkpAddress)).toString();
90
- allowance = (await assetContract.allowance(pkpAddress, aaveAddresses.POOL)).toString();
91
- }
92
- catch (error) {
93
- return fail({
94
- error: '[@lit-protocol/vincent-ability-aave/precheck] Invalid asset address or asset not found on network',
95
- });
96
- }
97
- // Convert amount using proper decimals
98
- const convertedAmount = (0, helpers_1.parseAmount)(amount, assetDecimals);
99
- // Get AAVE user account data
100
- let borrowCapacity = '0';
101
- try {
102
- const aavePool = new ethers_1.ethers.Contract(aaveAddresses.POOL, helpers_1.AAVE_POOL_ABI, provider);
103
- const accountData = await aavePool.getUserAccountData(pkpAddress);
104
- borrowCapacity = accountData.availableBorrowsBase.toString();
105
- }
106
- catch (error) {
107
- return fail({
108
- error: '[@lit-protocol/vincent-ability-aave/precheck] Failed to fetch AAVE account data',
109
- });
110
- }
111
- // Operation-specific validations
112
- const operationChecks = await (0, helpers_1.validateOperationRequirements)(operation, userBalance, allowance, borrowCapacity, convertedAmount, interestRateMode);
113
- if (!operationChecks.valid) {
114
- return fail({
115
- error: `[@lit-protocol/vincent-ability-aave/precheck] ${operationChecks.error}`,
116
- });
117
- }
118
- // Estimate gas for the operation
119
- let estimatedGas = 0;
120
- try {
121
- const aavePool = new ethers_1.ethers.Contract(aaveAddresses.POOL, helpers_1.AAVE_POOL_ABI, provider);
122
- switch (operation) {
123
- case schemas_1.AaveOperation.SUPPLY:
124
- estimatedGas = (await aavePool.estimateGas.supply(asset, convertedAmount, pkpAddress, 0, {
125
- from: pkpAddress,
126
- })).toNumber();
127
- break;
128
- case schemas_1.AaveOperation.WITHDRAW:
129
- estimatedGas = (await aavePool.estimateGas.withdraw(asset, convertedAmount, pkpAddress, {
130
- from: pkpAddress,
131
- })).toNumber();
132
- break;
133
- case schemas_1.AaveOperation.BORROW:
134
- estimatedGas = (await aavePool.estimateGas.borrow(asset, convertedAmount, interestRateMode, 0, pkpAddress, { from: pkpAddress })).toNumber();
135
- break;
136
- case schemas_1.AaveOperation.REPAY:
137
- estimatedGas = (await aavePool.estimateGas.repay(asset, convertedAmount, interestRateMode || helpers_1.INTEREST_RATE_MODE.VARIABLE, pkpAddress, { from: pkpAddress })).toNumber();
138
- break;
139
- }
140
- }
141
- catch (error) {
142
- console.warn('[@lit-protocol/vincent-ability-aave/precheck] Gas estimation failed:', error);
143
- return fail({
144
- error: `[@lit-protocol/vincent-ability-aave/precheck] Gas estimation failed: ${error instanceof Error ? error.message : String(error)}`,
145
- });
146
- }
147
- // Get available markets for this chain to include in response
148
- let availableMarkets = {};
149
- try {
150
- availableMarkets = (0, helpers_1.getAvailableMarkets)(chain || 'sepolia');
151
- }
152
- catch (error) {
153
- console.warn('Failed to get available markets:', error);
154
- }
155
- // Enhanced validation passed
156
- const successResult = {
157
- operationValid: true,
158
- assetValid: true,
159
- amountValid: true,
160
- userBalance,
161
- allowance,
162
- borrowCapacity,
163
- estimatedGas,
164
- availableMarkets,
165
- supportedChains: (0, helpers_1.getSupportedChains)(),
166
- };
167
- console.log('[@lit-protocol/vincent-ability-aave/precheck] Enhanced validation successful:', successResult);
168
- return succeed(successResult);
169
- }
170
- catch (error) {
171
- console.error('[@lit-protocol/vincent-ability-aave/precheck] Error:', error);
172
- return fail({
173
- error: `[@lit-protocol/vincent-ability-aave/precheck] Validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`,
174
- });
175
- }
176
- },
177
- execute: async ({ abilityParams }, { succeed, fail, delegation }) => {
178
- try {
179
- const { operation, asset, amount, interestRateMode, chain, rpcUrl } = abilityParams;
180
- console.log('[@lit-protocol/vincent-ability-aave/execute] Executing AAVE Ability', {
181
- operation,
182
- asset,
183
- amount,
184
- interestRateMode,
185
- chain,
186
- });
187
- if (rpcUrl) {
188
- return fail({
189
- error: '[@lit-protocol/vincent-ability-aave/execute] RPC URL is not permitted for execute. Use the `chain` parameter, and the Lit Nodes will provide the RPC URL for you with the Lit.Actions.getRpcUrl() function',
190
- });
191
- }
192
- // Get chain-specific AAVE addresses
193
- let aaveAddresses;
194
- try {
195
- aaveAddresses = (0, helpers_1.getAaveAddresses)(chain || 'sepolia');
196
- }
197
- catch (error) {
198
- return fail({
199
- error: `[@lit-protocol/vincent-ability-aave/execute] ${error instanceof Error ? error.message : String(error)}`,
200
- });
201
- }
202
- // Get provider - for AAVE operations, we need to work with Sepolia testnet
203
- // The Vincent framework typically uses Yellowstone, but AAVE is deployed on Sepolia
204
- let provider;
205
- try {
206
- // For now, try to get the default provider, but this will need configuration
207
- // In a real deployment, this would be configured via Vincent SDK settings
208
- provider = new ethers_1.ethers.providers.JsonRpcProvider(await Lit.Actions.getRpcUrl({ chain }));
209
- }
210
- catch (error) {
211
- console.error('[@lit-protocol/vincent-ability-aave/execute] Provider error:', error);
212
- throw new Error('Unable to obtain blockchain provider for AAVE operations');
213
- }
214
- const { chainId } = await provider.getNetwork();
215
- // get decimals of asset
216
- const assetContract = new ethers_1.ethers.Contract(asset, helpers_1.ERC20_ABI, provider);
217
- const assetDecimals = await assetContract.decimals();
218
- console.log('[@lit-protocol/vincent-ability-aave/execute] Asset decimals:', assetDecimals);
219
- const convertedAmount = (0, helpers_1.parseAmount)(amount, assetDecimals);
220
- console.log('[@lit-protocol/vincent-ability-aave/execute] Converted amount:', convertedAmount);
221
- // Get PKP public key from delegation context
222
- const pkpPublicKey = delegation.delegatorPkpInfo.publicKey;
223
- if (!pkpPublicKey) {
224
- throw new Error('PKP public key not available from delegation context');
225
- }
226
- // Get PKP address using ethers utils
227
- const pkpAddress = ethers_1.ethers.utils.computeAddress(pkpPublicKey);
228
- console.log('[@lit-protocol/vincent-ability-aave/execute] PKP Address:', pkpAddress);
229
- // Prepare transaction based on operation
230
- let txHash;
231
- switch (operation) {
232
- case schemas_1.AaveOperation.SUPPLY:
233
- txHash = await executeSupply(provider, pkpPublicKey, asset, convertedAmount, pkpAddress, chainId, aaveAddresses);
234
- break;
235
- case schemas_1.AaveOperation.WITHDRAW:
236
- txHash = await executeWithdraw(provider, pkpPublicKey, asset, convertedAmount, pkpAddress, chainId, aaveAddresses);
237
- break;
238
- case schemas_1.AaveOperation.BORROW:
239
- if (!interestRateMode) {
240
- throw new Error('Interest rate mode is required for borrow operations');
241
- }
242
- txHash = await executeBorrow(provider, pkpPublicKey, asset, convertedAmount, interestRateMode, pkpAddress, chainId, aaveAddresses);
243
- break;
244
- case schemas_1.AaveOperation.REPAY:
245
- txHash = await executeRepay(provider, pkpPublicKey, asset, convertedAmount, interestRateMode || helpers_1.INTEREST_RATE_MODE.VARIABLE, pkpAddress, chainId, aaveAddresses);
246
- break;
247
- default:
248
- throw new Error(`Unsupported operation: ${operation}`);
249
- }
250
- console.log('[@lit-protocol/vincent-ability-aave/execute] AAVE operation successful', {
251
- txHash,
252
- operation,
253
- asset,
254
- amount,
255
- });
256
- return succeed({
257
- txHash,
258
- operation,
259
- asset,
260
- amount,
261
- timestamp: Date.now(),
262
- interestRateMode: interestRateMode,
263
- });
264
- }
265
- catch (error) {
266
- console.error('[@lit-protocol/vincent-ability-aave/execute] AAVE operation failed', error);
267
- return fail({
268
- error: error instanceof Error ? error.message : 'Unknown error occurred',
269
- });
270
- }
271
- },
10
+ abilityDescription: 'A Vincent ability to sign secure AAVE protocol user operations with the ECDSA signatures of the delegator',
11
+ decodeTransaction: decodeTransaction_1.decodeTransaction,
12
+ validateSimulation: validateSimulation_1.validateSimulation,
13
+ validateTransaction: validateTransaction_1.validateTransaction,
272
14
  });
273
- /**
274
- * Execute AAVE Supply operation
275
- */
276
- async function executeSupply(provider, pkpPublicKey, asset, amount, pkpAddress, chainId, aaveAddresses) {
277
- console.log('[@lit-protocol/vincent-ability-aave/executeSupply] Starting supply operation');
278
- const callerAddress = ethers_1.ethers.utils.computeAddress(pkpPublicKey);
279
- // Now supply to AAVE
280
- const txHash = await vincent_scaffold_sdk_1.laUtils.transaction.handler.contractCall({
281
- provider,
282
- pkpPublicKey,
283
- callerAddress,
284
- abi: helpers_1.AAVE_POOL_ABI,
285
- contractAddress: aaveAddresses.POOL,
286
- functionName: 'supply',
287
- args: [asset, amount, pkpAddress, 0],
288
- chainId,
289
- gasBumpPercentage: 10,
290
- });
291
- return txHash;
292
- }
293
- /**
294
- * Execute AAVE Withdraw operation
295
- */
296
- async function executeWithdraw(provider, pkpPublicKey, asset, amount, to, chainId, aaveAddresses) {
297
- console.log('[@lit-protocol/vincent-ability-aave/executeWithdraw] Starting withdraw operation');
298
- const callerAddress = ethers_1.ethers.utils.computeAddress(pkpPublicKey);
299
- const txHash = await vincent_scaffold_sdk_1.laUtils.transaction.handler.contractCall({
300
- provider,
301
- pkpPublicKey,
302
- callerAddress,
303
- abi: helpers_1.AAVE_POOL_ABI,
304
- contractAddress: aaveAddresses.POOL,
305
- functionName: 'withdraw',
306
- args: [asset, amount, to],
307
- chainId,
308
- gasBumpPercentage: 10,
309
- });
310
- return txHash;
311
- }
312
- /**
313
- * Execute AAVE Borrow operation
314
- */
315
- async function executeBorrow(provider, pkpPublicKey, asset, amount, interestRateMode, pkpAddress, chainId, aaveAddresses) {
316
- console.log('[@lit-protocol/vincent-ability-aave/executeBorrow] Starting borrow operation');
317
- const callerAddress = ethers_1.ethers.utils.computeAddress(pkpPublicKey);
318
- const txHash = await vincent_scaffold_sdk_1.laUtils.transaction.handler.contractCall({
319
- provider,
320
- pkpPublicKey,
321
- callerAddress,
322
- abi: helpers_1.AAVE_POOL_ABI,
323
- contractAddress: aaveAddresses.POOL,
324
- functionName: 'borrow',
325
- args: [asset, amount, interestRateMode, 0, pkpAddress],
326
- chainId,
327
- gasBumpPercentage: 10,
328
- });
329
- return txHash;
330
- }
331
- /**
332
- * Execute AAVE Repay operation
333
- */
334
- async function executeRepay(provider, pkpPublicKey, asset, amount, rateMode, pkpAddress, chainId, aaveAddresses) {
335
- console.log('[@lit-protocol/vincent-ability-aave/executeRepay] Starting repay operation');
336
- const callerAddress = ethers_1.ethers.utils.computeAddress(pkpPublicKey);
337
- // Now repay the debt
338
- const txHash = await vincent_scaffold_sdk_1.laUtils.transaction.handler.contractCall({
339
- provider,
340
- pkpPublicKey,
341
- callerAddress,
342
- abi: helpers_1.AAVE_POOL_ABI,
343
- contractAddress: aaveAddresses.POOL,
344
- functionName: 'repay',
345
- args: [asset, amount, rateMode, pkpAddress],
346
- chainId,
347
- gasBumpPercentage: 10,
348
- });
349
- return txHash;
350
- }
351
15
  //# 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":";;;AAAA,+EAAgG;AAEhG,2DAAwD;AACxD,6DAA0D;AAC1D,+DAA4D;AAE/C,QAAA,cAAc,GAAG,IAAA,6CAA+B,EAAC;IAC5D,WAAW,EAAE,oCAA6C;IAC1D,kBAAkB,EAChB,2GAA2G;IAE7G,iBAAiB,EAAjB,qCAAiB;IACjB,kBAAkB,EAAlB,uCAAkB;IAClB,mBAAmB,EAAnB,yCAAmB;CACpB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "name": "@lit-protocol/vincent-ability-aave",
3
- "version": "0.2.8",
3
+ "version": "1.0.1-mma",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
7
  "dependencies": {
8
8
  "@bgd-labs/aave-address-book": "^4.19.3",
9
- "@lit-protocol/vincent-scaffold-sdk": "^1.1.6",
10
- "ethers": "^5.8.0",
11
9
  "tslib": "2.8.1",
12
- "zod": "^3.25.64",
13
- "@lit-protocol/vincent-ability-sdk": "2.3.4"
10
+ "viem": "^2.38.3",
11
+ "@lit-protocol/vincent-ability-sdk": "2.4.1-mma"
14
12
  },
15
13
  "peerDependencies": {
16
14
  "@lit-protocol/vincent-app-sdk": "^2.5.0"
17
15
  },
18
16
  "devDependencies": {
19
- "esbuild": "^0.19.12",
20
17
  "@lit-protocol/esbuild-plugin-polyfill-node": "^0.3.0",
21
- "ipfs-only-hash": "^4.0.0"
18
+ "esbuild": "^0.19.12",
19
+ "ipfs-only-hash": "^4.0.0",
20
+ "@lit-protocol/vincent-app-sdk": "^2.5.0",
21
+ "@lit-protocol/vincent-contracts-sdk": "5.1.1-mma"
22
22
  },
23
23
  "main": "./dist/src/index.js",
24
24
  "module": "./dist/src/index.js",
@@ -1,71 +0,0 @@
1
- /**
2
- * Test token addresses indexed by chain name
3
- */
4
- export declare const TEST_TOKENS: Record<string, Record<string, string>>;
5
- export declare const CHAIN_IDS: {
6
- readonly sepolia: 11155111;
7
- readonly base: 8453;
8
- };
9
- /**
10
- * AAVE v3 Pool Contract ABI - Essential methods only
11
- */
12
- export declare const AAVE_POOL_ABI: any[];
13
- /**
14
- * ERC20 Token ABI - Essential methods only
15
- */
16
- export declare const ERC20_ABI: any[];
17
- /**
18
- * Interest Rate Modes for AAVE
19
- */
20
- export declare const INTEREST_RATE_MODE: {
21
- readonly NONE: 0;
22
- readonly STABLE: 1;
23
- readonly VARIABLE: 2;
24
- };
25
- /**
26
- * Chain name to Aave Address Book mapping
27
- */
28
- export declare const CHAIN_TO_AAVE_ADDRESS_BOOK: Record<string, () => any>;
29
- /**
30
- * Supported chain names
31
- */
32
- export type SupportedChain = keyof typeof CHAIN_TO_AAVE_ADDRESS_BOOK;
33
- /**
34
- * Get AAVE addresses for a specific chain using the Aave Address Book
35
- */
36
- export declare function getAaveAddresses(chain: string): {
37
- POOL: any;
38
- POOL_ADDRESSES_PROVIDER: any;
39
- };
40
- /**
41
- * Get test token addresses for a specific chain
42
- */
43
- export declare function getTestTokens(chain: string): Record<string, string>;
44
- /**
45
- * Get available markets (asset addresses) for a specific chain using the Aave Address Book
46
- */
47
- export declare function getAvailableMarkets(chain: string): Record<string, string>;
48
- /**
49
- * Get all supported chains
50
- */
51
- export declare function getSupportedChains(): string[];
52
- /**
53
- * Utility function to validate Ethereum address
54
- */
55
- export declare function isValidAddress(address: string): boolean;
56
- /**
57
- * Utility function to parse amount with decimals
58
- */
59
- export declare function parseAmount(amount: string, decimals?: number): string;
60
- /**
61
- * Utility function to format amount from wei
62
- */
63
- export declare function formatAmount(amount: string, decimals?: number): string;
64
- /**
65
- * Validate operation-specific requirements
66
- */
67
- export declare function validateOperationRequirements(operation: string, userBalance: string, allowance: string, borrowCapacity: string, convertedAmount: string, _interestRateMode?: number): Promise<{
68
- valid: boolean;
69
- error?: string;
70
- }>;
71
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/helpers/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAerD,CAAC;AAEX,eAAO,MAAM,SAAS;;;CAGZ,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,GAAG,EAgF9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,GAAG,EAmC1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAsBvD,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,0BAA0B,CAAC;AAErE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM;;;EAqB7C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,0BAQ1C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqCzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CAElE;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmE7C"}