@lit-protocol/vincent-ability-aave 0.2.8 → 1.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 (51) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +51 -86
  3. package/dist/CHANGELOG.md +7 -0
  4. package/dist/README.md +51 -86
  5. package/dist/package.json +5 -5
  6. package/dist/src/generated/lit-action.js +2 -2
  7. package/dist/src/generated/vincent-ability-metadata.json +1 -1
  8. package/dist/src/generated/vincent-bundled-ability.d.ts +1417 -66
  9. package/dist/src/generated/vincent-bundled-ability.d.ts.map +1 -1
  10. package/dist/src/index.d.ts +2 -0
  11. package/dist/src/index.d.ts.map +1 -1
  12. package/dist/src/index.js +17 -1
  13. package/dist/src/index.js.map +1 -1
  14. package/dist/src/lib/decodeTransaction.d.ts +3 -0
  15. package/dist/src/lib/decodeTransaction.d.ts.map +1 -0
  16. package/dist/src/lib/decodeTransaction.js +49 -0
  17. package/dist/src/lib/decodeTransaction.js.map +1 -0
  18. package/dist/src/lib/helpers/aave.d.ts +86 -0
  19. package/dist/src/lib/helpers/aave.d.ts.map +1 -0
  20. package/dist/src/lib/helpers/aave.js +312 -0
  21. package/dist/src/lib/helpers/aave.js.map +1 -0
  22. package/dist/src/lib/helpers/erc20.d.ts +6 -0
  23. package/dist/src/lib/helpers/erc20.d.ts.map +1 -0
  24. package/dist/src/lib/helpers/erc20.js +53 -0
  25. package/dist/src/lib/helpers/erc20.js.map +1 -0
  26. package/dist/src/lib/helpers/transactionKind.d.ts +6 -0
  27. package/dist/src/lib/helpers/transactionKind.d.ts.map +1 -0
  28. package/dist/src/lib/helpers/transactionKind.js +10 -0
  29. package/dist/src/lib/helpers/transactionKind.js.map +1 -0
  30. package/dist/src/lib/lit-action.js.map +1 -1
  31. package/dist/src/lib/validateSimulation.d.ts +3 -0
  32. package/dist/src/lib/validateSimulation.d.ts.map +1 -0
  33. package/dist/src/lib/validateSimulation.js +56 -0
  34. package/dist/src/lib/validateSimulation.js.map +1 -0
  35. package/dist/src/lib/validateTransaction.d.ts +3 -0
  36. package/dist/src/lib/validateTransaction.d.ts.map +1 -0
  37. package/dist/src/lib/validateTransaction.js +77 -0
  38. package/dist/src/lib/validateTransaction.js.map +1 -0
  39. package/dist/src/lib/vincent-ability.d.ts +1417 -67
  40. package/dist/src/lib/vincent-ability.d.ts.map +1 -1
  41. package/dist/src/lib/vincent-ability.js +9 -345
  42. package/dist/src/lib/vincent-ability.js.map +1 -1
  43. package/package.json +8 -8
  44. package/dist/src/lib/helpers/index.d.ts +0 -71
  45. package/dist/src/lib/helpers/index.d.ts.map +0 -1
  46. package/dist/src/lib/helpers/index.js +0 -345
  47. package/dist/src/lib/helpers/index.js.map +0 -1
  48. package/dist/src/lib/schemas.d.ts +0 -115
  49. package/dist/src/lib/schemas.d.ts.map +0 -1
  50. package/dist/src/lib/schemas.js +0 -110
  51. package/dist/src/lib/schemas.js.map +0 -1
@@ -1,345 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CHAIN_TO_AAVE_ADDRESS_BOOK = exports.INTEREST_RATE_MODE = exports.ERC20_ABI = exports.AAVE_POOL_ABI = exports.CHAIN_IDS = exports.TEST_TOKENS = void 0;
4
- exports.getAaveAddresses = getAaveAddresses;
5
- exports.getTestTokens = getTestTokens;
6
- exports.getAvailableMarkets = getAvailableMarkets;
7
- exports.getSupportedChains = getSupportedChains;
8
- exports.isValidAddress = isValidAddress;
9
- exports.parseAmount = parseAmount;
10
- exports.formatAmount = formatAmount;
11
- exports.validateOperationRequirements = validateOperationRequirements;
12
- const ethers_1 = require("ethers");
13
- /**
14
- * Test token addresses indexed by chain name
15
- */
16
- exports.TEST_TOKENS = {
17
- sepolia: {
18
- USDC: '0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8',
19
- WETH: '0xC558DBdd856501FCd9aaF1E62eae57A9F0629a3c',
20
- USDT: '0xaA8E23Fb1079EA71e0a56F48a2aA51851D8433D0',
21
- AAVE: '0x88541670E55cC00bEEFD87eB59EDd1b7C511AC9a',
22
- WBTC: '0x29f2D40B0605204364af54EC677bD022dA425d03',
23
- },
24
- base: {
25
- USDC: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
26
- WETH: '0x4200000000000000000000000000000000000006',
27
- USDT: '0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2',
28
- AAVE: '0xEB4c2781e4ebA804CE9a9803C67d0893436bB27D',
29
- WBTC: '0x0555E30da8f98308EdB960aa94C0Db47230d2B9c',
30
- },
31
- };
32
- exports.CHAIN_IDS = {
33
- sepolia: 11155111,
34
- base: 8453,
35
- };
36
- /**
37
- * AAVE v3 Pool Contract ABI - Essential methods only
38
- */
39
- exports.AAVE_POOL_ABI = [
40
- // Supply
41
- {
42
- inputs: [
43
- { internalType: 'address', name: 'asset', type: 'address' },
44
- { internalType: 'uint256', name: 'amount', type: 'uint256' },
45
- { internalType: 'address', name: 'onBehalfOf', type: 'address' },
46
- { internalType: 'uint16', name: 'referralCode', type: 'uint16' },
47
- ],
48
- name: 'supply',
49
- outputs: [],
50
- stateMutability: 'nonpayable',
51
- type: 'function',
52
- },
53
- // Withdraw
54
- {
55
- inputs: [
56
- { internalType: 'address', name: 'asset', type: 'address' },
57
- { internalType: 'uint256', name: 'amount', type: 'uint256' },
58
- { internalType: 'address', name: 'to', type: 'address' },
59
- ],
60
- name: 'withdraw',
61
- outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
62
- stateMutability: 'nonpayable',
63
- type: 'function',
64
- },
65
- // Borrow
66
- {
67
- inputs: [
68
- { internalType: 'address', name: 'asset', type: 'address' },
69
- { internalType: 'uint256', name: 'amount', type: 'uint256' },
70
- { internalType: 'uint256', name: 'interestRateMode', type: 'uint256' },
71
- { internalType: 'uint16', name: 'referralCode', type: 'uint16' },
72
- { internalType: 'address', name: 'onBehalfOf', type: 'address' },
73
- ],
74
- name: 'borrow',
75
- outputs: [],
76
- stateMutability: 'nonpayable',
77
- type: 'function',
78
- },
79
- // Repay
80
- {
81
- inputs: [
82
- { internalType: 'address', name: 'asset', type: 'address' },
83
- { internalType: 'uint256', name: 'amount', type: 'uint256' },
84
- { internalType: 'uint256', name: 'interestRateMode', type: 'uint256' },
85
- { internalType: 'address', name: 'onBehalfOf', type: 'address' },
86
- ],
87
- name: 'repay',
88
- outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
89
- stateMutability: 'nonpayable',
90
- type: 'function',
91
- },
92
- // getUserAccountData
93
- {
94
- inputs: [{ internalType: 'address', name: 'user', type: 'address' }],
95
- name: 'getUserAccountData',
96
- outputs: [
97
- { internalType: 'uint256', name: 'totalCollateralBase', type: 'uint256' },
98
- { internalType: 'uint256', name: 'totalDebtBase', type: 'uint256' },
99
- {
100
- internalType: 'uint256',
101
- name: 'availableBorrowsBase',
102
- type: 'uint256',
103
- },
104
- {
105
- internalType: 'uint256',
106
- name: 'currentLiquidationThreshold',
107
- type: 'uint256',
108
- },
109
- { internalType: 'uint256', name: 'ltv', type: 'uint256' },
110
- { internalType: 'uint256', name: 'healthFactor', type: 'uint256' },
111
- ],
112
- stateMutability: 'view',
113
- type: 'function',
114
- },
115
- ];
116
- /**
117
- * ERC20 Token ABI - Essential methods only
118
- */
119
- exports.ERC20_ABI = [
120
- {
121
- inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
122
- name: 'balanceOf',
123
- outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
124
- stateMutability: 'view',
125
- type: 'function',
126
- },
127
- {
128
- inputs: [
129
- { internalType: 'address', name: 'owner', type: 'address' },
130
- { internalType: 'address', name: 'spender', type: 'address' },
131
- ],
132
- name: 'allowance',
133
- outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
134
- stateMutability: 'view',
135
- type: 'function',
136
- },
137
- {
138
- inputs: [
139
- { internalType: 'address', name: 'spender', type: 'address' },
140
- { internalType: 'uint256', name: 'amount', type: 'uint256' },
141
- ],
142
- name: 'approve',
143
- outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
144
- stateMutability: 'nonpayable',
145
- type: 'function',
146
- },
147
- {
148
- inputs: [],
149
- name: 'decimals',
150
- outputs: [{ internalType: 'uint8', name: '', type: 'uint8' }],
151
- stateMutability: 'view',
152
- type: 'function',
153
- },
154
- ];
155
- /**
156
- * Interest Rate Modes for AAVE
157
- */
158
- exports.INTEREST_RATE_MODE = {
159
- NONE: 0,
160
- STABLE: 1,
161
- VARIABLE: 2,
162
- };
163
- /**
164
- * Chain name to Aave Address Book mapping
165
- */
166
- exports.CHAIN_TO_AAVE_ADDRESS_BOOK = {
167
- // Mainnets
168
- ethereum: () => require('@bgd-labs/aave-address-book').AaveV3Ethereum,
169
- polygon: () => require('@bgd-labs/aave-address-book').AaveV3Polygon,
170
- avalanche: () => require('@bgd-labs/aave-address-book').AaveV3Avalanche,
171
- arbitrum: () => require('@bgd-labs/aave-address-book').AaveV3Arbitrum,
172
- optimism: () => require('@bgd-labs/aave-address-book').AaveV3Optimism,
173
- base: () => require('@bgd-labs/aave-address-book').AaveV3Base,
174
- fantom: () => require('@bgd-labs/aave-address-book').AaveV3Fantom,
175
- bnb: () => require('@bgd-labs/aave-address-book').AaveV3BNB,
176
- gnosis: () => require('@bgd-labs/aave-address-book').AaveV3Gnosis,
177
- scroll: () => require('@bgd-labs/aave-address-book').AaveV3Scroll,
178
- metis: () => require('@bgd-labs/aave-address-book').AaveV3Metis,
179
- linea: () => require('@bgd-labs/aave-address-book').AaveV3Linea,
180
- zksync: () => require('@bgd-labs/aave-address-book').AaveV3ZkSync,
181
- // Testnets
182
- sepolia: () => require('@bgd-labs/aave-address-book').AaveV3Sepolia,
183
- basesepolia: () => require('@bgd-labs/aave-address-book').AaveV3BaseSepolia,
184
- arbitrumsepolia: () => require('@bgd-labs/aave-address-book').AaveV3ArbitrumSepolia,
185
- optimismsepolia: () => require('@bgd-labs/aave-address-book').AaveV3OptimismSepolia,
186
- avalanchefuji: () => require('@bgd-labs/aave-address-book').AaveV3AvalancheFuji,
187
- scrollsepolia: () => require('@bgd-labs/aave-address-book').AaveV3ScrollSepolia,
188
- };
189
- /**
190
- * Get AAVE addresses for a specific chain using the Aave Address Book
191
- */
192
- function getAaveAddresses(chain) {
193
- const chainKey = chain.toLowerCase();
194
- // First try to get from the official Address Book
195
- if (chainKey in exports.CHAIN_TO_AAVE_ADDRESS_BOOK) {
196
- try {
197
- const addressBook = exports.CHAIN_TO_AAVE_ADDRESS_BOOK[chainKey]();
198
- return {
199
- POOL: addressBook.POOL,
200
- POOL_ADDRESSES_PROVIDER: addressBook.POOL_ADDRESSES_PROVIDER,
201
- };
202
- }
203
- catch (error) {
204
- console.warn(`Failed to load from Address Book for ${chain}:`, error);
205
- }
206
- }
207
- throw new Error(`Unsupported chain: ${chain}. Supported chains: ${[
208
- ...Object.keys(exports.CHAIN_TO_AAVE_ADDRESS_BOOK),
209
- ].join(', ')}`);
210
- }
211
- /**
212
- * Get test token addresses for a specific chain
213
- */
214
- function getTestTokens(chain) {
215
- const chainKey = chain.toLowerCase();
216
- if (!(chainKey in exports.TEST_TOKENS)) {
217
- throw new Error(`Unsupported chain: ${chain}. Supported chains: ${Object.keys(exports.TEST_TOKENS).join(', ')}`);
218
- }
219
- return exports.TEST_TOKENS[chainKey];
220
- }
221
- /**
222
- * Get available markets (asset addresses) for a specific chain using the Aave Address Book
223
- */
224
- function getAvailableMarkets(chain) {
225
- const chainKey = chain.toLowerCase();
226
- // First try to get from the official Address Book
227
- if (chainKey in exports.CHAIN_TO_AAVE_ADDRESS_BOOK) {
228
- try {
229
- const addressBook = exports.CHAIN_TO_AAVE_ADDRESS_BOOK[chainKey]();
230
- const markets = {};
231
- // Extract asset addresses from the address book
232
- // The address book contains ASSETS object with token addresses
233
- if (addressBook.ASSETS) {
234
- Object.keys(addressBook.ASSETS).forEach((assetKey) => {
235
- const asset = addressBook.ASSETS[assetKey];
236
- if (asset.UNDERLYING) {
237
- markets[assetKey] = asset.UNDERLYING;
238
- }
239
- });
240
- }
241
- return markets;
242
- }
243
- catch (error) {
244
- console.warn(`Failed to load markets from Address Book for ${chain}:`, error);
245
- }
246
- }
247
- // Fall back to hardcoded test tokens for backward compatibility
248
- if (chainKey in exports.TEST_TOKENS) {
249
- return exports.TEST_TOKENS[chainKey];
250
- }
251
- throw new Error(`No markets available for chain: ${chain}. Supported chains: ${[
252
- ...Object.keys(exports.CHAIN_TO_AAVE_ADDRESS_BOOK),
253
- ...Object.keys(exports.TEST_TOKENS),
254
- ].join(', ')}`);
255
- }
256
- /**
257
- * Get all supported chains
258
- */
259
- function getSupportedChains() {
260
- return [...Object.keys(exports.CHAIN_TO_AAVE_ADDRESS_BOOK)];
261
- }
262
- /**
263
- * Utility function to validate Ethereum address
264
- */
265
- function isValidAddress(address) {
266
- return /^0x[a-fA-F0-9]{40}$/.test(address);
267
- }
268
- /**
269
- * Utility function to parse amount with decimals
270
- */
271
- function parseAmount(amount, decimals = 18) {
272
- return ethers_1.ethers.utils.parseUnits(amount, decimals).toString();
273
- }
274
- /**
275
- * Utility function to format amount from wei
276
- */
277
- function formatAmount(amount, decimals = 18) {
278
- return ethers_1.ethers.utils.formatUnits(amount, decimals);
279
- }
280
- /**
281
- * Validate operation-specific requirements
282
- */
283
- async function validateOperationRequirements(operation, userBalance, allowance, borrowCapacity, convertedAmount, _interestRateMode) {
284
- const userBalanceBN = BigInt(userBalance);
285
- const allowanceBN = BigInt(allowance);
286
- const borrowCapacityBN = BigInt(borrowCapacity);
287
- const convertedAmountBN = BigInt(convertedAmount);
288
- switch (operation) {
289
- case 'supply':
290
- // Check if user has enough balance
291
- if (userBalanceBN < convertedAmountBN) {
292
- return {
293
- valid: false,
294
- error: `Insufficient balance for supply operation. You have ${userBalance} and need ${convertedAmount}`,
295
- };
296
- }
297
- // Check if user has approved AAVE to spend tokens
298
- if (allowanceBN < convertedAmountBN) {
299
- return {
300
- valid: false,
301
- error: `Insufficient allowance for supply operation. Please approve AAVE to spend your tokens first. You have ${allowance} and need ${convertedAmount}`,
302
- };
303
- }
304
- break;
305
- case 'withdraw':
306
- // For withdraw, we need to check if user has enough aTokens (collateral)
307
- // This would require checking aToken balance, but for now we'll just check if they have any collateral
308
- if (borrowCapacityBN === 0n && userBalanceBN === 0n) {
309
- return {
310
- valid: false,
311
- error: 'No collateral available for withdrawal',
312
- };
313
- }
314
- break;
315
- case 'borrow':
316
- // Check if user has enough borrowing capacity
317
- if (borrowCapacityBN < convertedAmountBN) {
318
- return {
319
- valid: false,
320
- error: `Insufficient borrowing capacity. You have ${borrowCapacity} and need ${convertedAmount}`,
321
- };
322
- }
323
- break;
324
- case 'repay':
325
- // Check if user has enough balance to repay
326
- if (userBalanceBN < convertedAmountBN) {
327
- return {
328
- valid: false,
329
- error: `Insufficient balance for repay operation. You have ${userBalance} and need ${convertedAmount}`,
330
- };
331
- }
332
- // Check if user has approved AAVE to spend tokens for repayment
333
- if (allowanceBN < convertedAmountBN) {
334
- return {
335
- valid: false,
336
- error: `Insufficient allowance for repay operation. Please approve AAVE to spend your tokens first. You have ${allowance} and need ${convertedAmount}`,
337
- };
338
- }
339
- break;
340
- default:
341
- return { valid: false, error: `Unsupported operation: ${operation}` };
342
- }
343
- return { valid: true };
344
- }
345
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/helpers/index.ts"],"names":[],"mappings":"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"}
@@ -1,115 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * AAVE operation types
4
- */
5
- export declare enum AaveOperation {
6
- SUPPLY = "supply",
7
- WITHDRAW = "withdraw",
8
- BORROW = "borrow",
9
- REPAY = "repay"
10
- }
11
- /**
12
- * Ability parameters schema - defines the input parameters for the AAVE ability
13
- */
14
- export declare const abilityParamsSchema: z.ZodObject<{
15
- operation: z.ZodNativeEnum<typeof AaveOperation>;
16
- asset: z.ZodString;
17
- amount: z.ZodEffects<z.ZodString, string, string>;
18
- interestRateMode: z.ZodOptional<z.ZodNumber>;
19
- chain: z.ZodEffects<z.ZodString, string, string>;
20
- rpcUrl: z.ZodOptional<z.ZodString>;
21
- }, "strip", z.ZodTypeAny, {
22
- asset: string;
23
- amount: string;
24
- operation: AaveOperation;
25
- chain: string;
26
- interestRateMode?: number | undefined;
27
- rpcUrl?: string | undefined;
28
- }, {
29
- asset: string;
30
- amount: string;
31
- operation: AaveOperation;
32
- chain: string;
33
- interestRateMode?: number | undefined;
34
- rpcUrl?: string | undefined;
35
- }>;
36
- /**
37
- * Precheck success result schema
38
- */
39
- export declare const precheckSuccessSchema: z.ZodObject<{
40
- operationValid: z.ZodBoolean;
41
- assetValid: z.ZodBoolean;
42
- amountValid: z.ZodBoolean;
43
- userBalance: z.ZodOptional<z.ZodString>;
44
- allowance: z.ZodOptional<z.ZodString>;
45
- borrowCapacity: z.ZodOptional<z.ZodString>;
46
- estimatedGas: z.ZodOptional<z.ZodNumber>;
47
- availableMarkets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
48
- supportedChains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
49
- }, "strip", z.ZodTypeAny, {
50
- operationValid: boolean;
51
- assetValid: boolean;
52
- amountValid: boolean;
53
- allowance?: string | undefined;
54
- userBalance?: string | undefined;
55
- borrowCapacity?: string | undefined;
56
- estimatedGas?: number | undefined;
57
- availableMarkets?: Record<string, string> | undefined;
58
- supportedChains?: string[] | undefined;
59
- }, {
60
- operationValid: boolean;
61
- assetValid: boolean;
62
- amountValid: boolean;
63
- allowance?: string | undefined;
64
- userBalance?: string | undefined;
65
- borrowCapacity?: string | undefined;
66
- estimatedGas?: number | undefined;
67
- availableMarkets?: Record<string, string> | undefined;
68
- supportedChains?: string[] | undefined;
69
- }>;
70
- /**
71
- * Precheck failure result schema
72
- */
73
- export declare const precheckFailSchema: z.ZodObject<{
74
- error: z.ZodString;
75
- }, "strip", z.ZodTypeAny, {
76
- error: string;
77
- }, {
78
- error: string;
79
- }>;
80
- /**
81
- * Execute success result schema
82
- */
83
- export declare const executeSuccessSchema: z.ZodObject<{
84
- txHash: z.ZodString;
85
- operation: z.ZodNativeEnum<typeof AaveOperation>;
86
- asset: z.ZodString;
87
- amount: z.ZodString;
88
- timestamp: z.ZodNumber;
89
- interestRateMode: z.ZodOptional<z.ZodNumber>;
90
- }, "strip", z.ZodTypeAny, {
91
- asset: string;
92
- amount: string;
93
- operation: AaveOperation;
94
- txHash: string;
95
- timestamp: number;
96
- interestRateMode?: number | undefined;
97
- }, {
98
- asset: string;
99
- amount: string;
100
- operation: AaveOperation;
101
- txHash: string;
102
- timestamp: number;
103
- interestRateMode?: number | undefined;
104
- }>;
105
- /**
106
- * Execute failure result schema
107
- */
108
- export declare const executeFailSchema: z.ZodObject<{
109
- error: z.ZodString;
110
- }, "strip", z.ZodTypeAny, {
111
- error: string;
112
- }, {
113
- error: string;
114
- }>;
115
- //# sourceMappingURL=schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AA6BD;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EA4B9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;EAE7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAU/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC"}
@@ -1,110 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.executeFailSchema = exports.executeSuccessSchema = exports.precheckFailSchema = exports.precheckSuccessSchema = exports.abilityParamsSchema = exports.AaveOperation = void 0;
4
- const zod_1 = require("zod");
5
- /**
6
- * AAVE operation types
7
- */
8
- var AaveOperation;
9
- (function (AaveOperation) {
10
- AaveOperation["SUPPLY"] = "supply";
11
- AaveOperation["WITHDRAW"] = "withdraw";
12
- AaveOperation["BORROW"] = "borrow";
13
- AaveOperation["REPAY"] = "repay";
14
- })(AaveOperation || (exports.AaveOperation = AaveOperation = {}));
15
- /**
16
- * Supported chains for validation
17
- */
18
- const SUPPORTED_CHAINS = [
19
- // Mainnets
20
- 'ethereum',
21
- 'polygon',
22
- 'avalanche',
23
- 'arbitrum',
24
- 'optimism',
25
- 'base',
26
- 'fantom',
27
- 'bnb',
28
- 'gnosis',
29
- 'scroll',
30
- 'metis',
31
- 'linea',
32
- 'zksync',
33
- // Testnets
34
- 'sepolia',
35
- 'basesepolia',
36
- 'arbitrumsepolia',
37
- 'optimismsepolia',
38
- 'avalanchefuji',
39
- 'scrollsepolia',
40
- ];
41
- /**
42
- * Ability parameters schema - defines the input parameters for the AAVE ability
43
- */
44
- exports.abilityParamsSchema = zod_1.z.object({
45
- operation: zod_1.z
46
- .nativeEnum(AaveOperation)
47
- .describe('The AAVE operation to perform (supply, withdraw, borrow, repay)'),
48
- asset: zod_1.z
49
- .string()
50
- .regex(/^0x[a-fA-F0-9]{40}$/, 'Invalid token address')
51
- .describe('The token contract address for the operation'),
52
- amount: zod_1.z
53
- .string()
54
- .regex(/^\d*\.?\d+$/, 'Invalid amount format')
55
- .refine((val) => parseFloat(val) > 0, 'Amount must be greater than 0')
56
- .describe('The amount of tokens to use in the operation, as a string'),
57
- interestRateMode: zod_1.z
58
- .number()
59
- .int()
60
- .min(1)
61
- .max(2)
62
- .optional()
63
- .describe('Interest rate mode: 1 for Stable, 2 for Variable (only for borrow operations)'),
64
- chain: zod_1.z
65
- .string()
66
- .refine((val) => SUPPORTED_CHAINS.includes(val.toLowerCase()), `Chain must be one of: ${SUPPORTED_CHAINS.join(', ')}`)
67
- .describe('The blockchain network to perform the operation on'),
68
- rpcUrl: zod_1.z.string().optional().describe('Custom RPC URL (optional, uses default if not provided)'),
69
- });
70
- /**
71
- * Precheck success result schema
72
- */
73
- exports.precheckSuccessSchema = zod_1.z.object({
74
- operationValid: zod_1.z.boolean().describe('Whether the requested operation is valid'),
75
- assetValid: zod_1.z.boolean().describe('Whether the specified asset is valid for the operation'),
76
- amountValid: zod_1.z.boolean().describe('Whether the specified amount is valid'),
77
- userBalance: zod_1.z.string().optional().describe("The user's current balance of the specified asset"),
78
- allowance: zod_1.z.string().optional().describe('The current allowance approved for the AAVE contract'),
79
- borrowCapacity: zod_1.z.string().optional().describe("The user's current borrow capacity in USD"),
80
- estimatedGas: zod_1.z.number().optional().describe('Estimated gas cost for the operation'),
81
- availableMarkets: zod_1.z.record(zod_1.z.string()).optional().describe('Available markets and their status'),
82
- supportedChains: zod_1.z.array(zod_1.z.string()).optional().describe('List of supported blockchain networks'),
83
- });
84
- /**
85
- * Precheck failure result schema
86
- */
87
- exports.precheckFailSchema = zod_1.z.object({
88
- error: zod_1.z.string().describe('A string containing the error message if the precheck failed.'),
89
- });
90
- /**
91
- * Execute success result schema
92
- */
93
- exports.executeSuccessSchema = zod_1.z.object({
94
- txHash: zod_1.z.string().describe('The transaction hash of the executed operation'),
95
- operation: zod_1.z.nativeEnum(AaveOperation).describe('The type of AAVE operation that was executed'),
96
- asset: zod_1.z.string().describe('The token address involved in the operation'),
97
- amount: zod_1.z.string().describe('The amount of tokens involved in the operation'),
98
- timestamp: zod_1.z.number().describe('The Unix timestamp when the operation was executed'),
99
- interestRateMode: zod_1.z
100
- .number()
101
- .optional()
102
- .describe('The interest rate mode used (1 for Stable, 2 for Variable)'),
103
- });
104
- /**
105
- * Execute failure result schema
106
- */
107
- exports.executeFailSchema = zod_1.z.object({
108
- error: zod_1.z.string().describe('A string containing the error message if the execution failed.'),
109
- });
110
- //# sourceMappingURL=schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/lib/schemas.ts"],"names":[],"mappings":"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"}