@lit-protocol/vincent-ability-aave 0.0.7-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 (33) hide show
  1. package/CONTRIBUTING.md +90 -0
  2. package/README.md +113 -0
  3. package/dist/CONTRIBUTING.md +90 -0
  4. package/dist/README.md +113 -0
  5. package/dist/package.json +31 -0
  6. package/dist/src/generated/lit-action.js +9 -0
  7. package/dist/src/generated/vincent-ability-metadata.json +3 -0
  8. package/dist/src/generated/vincent-bundled-ability.d.ts +92 -0
  9. package/dist/src/generated/vincent-bundled-ability.d.ts.map +1 -0
  10. package/dist/src/generated/vincent-bundled-ability.js +15 -0
  11. package/dist/src/generated/vincent-bundled-ability.js.map +1 -0
  12. package/dist/src/generated/vincent-bundled-ability.ts +13 -0
  13. package/dist/src/index.d.ts +2 -0
  14. package/dist/src/index.d.ts.map +1 -0
  15. package/dist/src/index.js +6 -0
  16. package/dist/src/index.js.map +1 -0
  17. package/dist/src/lib/helpers/index.d.ts +71 -0
  18. package/dist/src/lib/helpers/index.d.ts.map +1 -0
  19. package/dist/src/lib/helpers/index.js +345 -0
  20. package/dist/src/lib/helpers/index.js.map +1 -0
  21. package/dist/src/lib/lit-action.d.ts +2 -0
  22. package/dist/src/lib/lit-action.d.ts.map +1 -0
  23. package/dist/src/lib/lit-action.js +15 -0
  24. package/dist/src/lib/lit-action.js.map +1 -0
  25. package/dist/src/lib/schemas.d.ts +118 -0
  26. package/dist/src/lib/schemas.d.ts.map +1 -0
  27. package/dist/src/lib/schemas.js +115 -0
  28. package/dist/src/lib/schemas.js.map +1 -0
  29. package/dist/src/lib/vincent-ability.d.ts +90 -0
  30. package/dist/src/lib/vincent-ability.d.ts.map +1 -0
  31. package/dist/src/lib/vincent-ability.js +352 -0
  32. package/dist/src/lib/vincent-ability.js.map +1 -0
  33. package/package.json +30 -0
@@ -0,0 +1,352 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
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)({
10
+ 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, onBehalfOf, 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
+ const targetAddress = onBehalfOf || pkpAddress;
123
+ switch (operation) {
124
+ case schemas_1.AaveOperation.SUPPLY:
125
+ estimatedGas = (await aavePool.estimateGas.supply(asset, convertedAmount, targetAddress, 0, {
126
+ from: pkpAddress,
127
+ })).toNumber();
128
+ break;
129
+ case schemas_1.AaveOperation.WITHDRAW:
130
+ estimatedGas = (await aavePool.estimateGas.withdraw(asset, convertedAmount, pkpAddress, {
131
+ from: pkpAddress,
132
+ })).toNumber();
133
+ break;
134
+ case schemas_1.AaveOperation.BORROW:
135
+ estimatedGas = (await aavePool.estimateGas.borrow(asset, convertedAmount, interestRateMode, 0, targetAddress, { from: pkpAddress })).toNumber();
136
+ break;
137
+ case schemas_1.AaveOperation.REPAY:
138
+ estimatedGas = (await aavePool.estimateGas.repay(asset, convertedAmount, interestRateMode || helpers_1.INTEREST_RATE_MODE.VARIABLE, targetAddress, { from: pkpAddress })).toNumber();
139
+ break;
140
+ }
141
+ }
142
+ catch (error) {
143
+ console.warn('[@lit-protocol/vincent-ability-aave/precheck] Gas estimation failed:', error);
144
+ return fail({
145
+ error: `[@lit-protocol/vincent-ability-aave/precheck] Gas estimation failed: ${error instanceof Error ? error.message : String(error)}`,
146
+ });
147
+ }
148
+ // Get available markets for this chain to include in response
149
+ let availableMarkets = {};
150
+ try {
151
+ availableMarkets = (0, helpers_1.getAvailableMarkets)(chain || 'sepolia');
152
+ }
153
+ catch (error) {
154
+ console.warn('Failed to get available markets:', error);
155
+ }
156
+ // Enhanced validation passed
157
+ const successResult = {
158
+ operationValid: true,
159
+ assetValid: true,
160
+ amountValid: true,
161
+ userBalance,
162
+ allowance,
163
+ borrowCapacity,
164
+ estimatedGas,
165
+ availableMarkets,
166
+ supportedChains: (0, helpers_1.getSupportedChains)(),
167
+ };
168
+ console.log('[@lit-protocol/vincent-ability-aave/precheck] Enhanced validation successful:', successResult);
169
+ return succeed(successResult);
170
+ }
171
+ catch (error) {
172
+ console.error('[@lit-protocol/vincent-ability-aave/precheck] Error:', error);
173
+ return fail({
174
+ error: `[@lit-protocol/vincent-ability-aave/precheck] Validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`,
175
+ });
176
+ }
177
+ },
178
+ execute: async ({ abilityParams }, { succeed, fail, delegation }) => {
179
+ try {
180
+ const { operation, asset, amount, interestRateMode, onBehalfOf, chain, rpcUrl } = abilityParams;
181
+ console.log('[@lit-protocol/vincent-ability-aave/execute] Executing AAVE Ability', {
182
+ operation,
183
+ asset,
184
+ amount,
185
+ interestRateMode,
186
+ chain,
187
+ });
188
+ if (rpcUrl) {
189
+ return fail({
190
+ 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',
191
+ });
192
+ }
193
+ // Get chain-specific AAVE addresses
194
+ let aaveAddresses;
195
+ try {
196
+ aaveAddresses = (0, helpers_1.getAaveAddresses)(chain || 'sepolia');
197
+ }
198
+ catch (error) {
199
+ return fail({
200
+ error: `[@lit-protocol/vincent-ability-aave/execute] ${error instanceof Error ? error.message : String(error)}`,
201
+ });
202
+ }
203
+ // Get provider - for AAVE operations, we need to work with Sepolia testnet
204
+ // The Vincent framework typically uses Yellowstone, but AAVE is deployed on Sepolia
205
+ let provider;
206
+ try {
207
+ // For now, try to get the default provider, but this will need configuration
208
+ // In a real deployment, this would be configured via Vincent SDK settings
209
+ provider = new ethers_1.ethers.providers.JsonRpcProvider(await Lit.Actions.getRpcUrl({ chain }));
210
+ }
211
+ catch (error) {
212
+ console.error('[@lit-protocol/vincent-ability-aave/execute] Provider error:', error);
213
+ throw new Error('Unable to obtain blockchain provider for AAVE operations');
214
+ }
215
+ const { chainId } = await provider.getNetwork();
216
+ // get decimals of asset
217
+ const assetContract = new ethers_1.ethers.Contract(asset, helpers_1.ERC20_ABI, provider);
218
+ const assetDecimals = await assetContract.decimals();
219
+ console.log('[@lit-protocol/vincent-ability-aave/execute] Asset decimals:', assetDecimals);
220
+ const convertedAmount = (0, helpers_1.parseAmount)(amount, assetDecimals);
221
+ console.log('[@lit-protocol/vincent-ability-aave/execute] Converted amount:', convertedAmount);
222
+ // Get PKP public key from delegation context
223
+ const pkpPublicKey = delegation.delegatorPkpInfo.publicKey;
224
+ if (!pkpPublicKey) {
225
+ throw new Error('PKP public key not available from delegation context');
226
+ }
227
+ // Get PKP address using ethers utils
228
+ const pkpAddress = ethers_1.ethers.utils.computeAddress(pkpPublicKey);
229
+ console.log('[@lit-protocol/vincent-ability-aave/execute] PKP Address:', pkpAddress);
230
+ // Prepare transaction based on operation
231
+ let txHash;
232
+ switch (operation) {
233
+ case schemas_1.AaveOperation.SUPPLY:
234
+ txHash = await executeSupply(provider, pkpPublicKey, asset, convertedAmount, onBehalfOf || pkpAddress, chainId, aaveAddresses);
235
+ break;
236
+ case schemas_1.AaveOperation.WITHDRAW:
237
+ txHash = await executeWithdraw(provider, pkpPublicKey, asset, convertedAmount, pkpAddress, chainId, aaveAddresses);
238
+ break;
239
+ case schemas_1.AaveOperation.BORROW:
240
+ if (!interestRateMode) {
241
+ throw new Error('Interest rate mode is required for borrow operations');
242
+ }
243
+ txHash = await executeBorrow(provider, pkpPublicKey, asset, convertedAmount, interestRateMode, onBehalfOf || pkpAddress, chainId, aaveAddresses);
244
+ break;
245
+ case schemas_1.AaveOperation.REPAY:
246
+ txHash = await executeRepay(provider, pkpPublicKey, asset, convertedAmount, interestRateMode || helpers_1.INTEREST_RATE_MODE.VARIABLE, onBehalfOf || pkpAddress, chainId, aaveAddresses);
247
+ break;
248
+ default:
249
+ throw new Error(`Unsupported operation: ${operation}`);
250
+ }
251
+ console.log('[@lit-protocol/vincent-ability-aave/execute] AAVE operation successful', {
252
+ txHash,
253
+ operation,
254
+ asset,
255
+ amount,
256
+ });
257
+ return succeed({
258
+ txHash,
259
+ operation,
260
+ asset,
261
+ amount,
262
+ timestamp: Date.now(),
263
+ interestRateMode: interestRateMode,
264
+ });
265
+ }
266
+ catch (error) {
267
+ console.error('[@lit-protocol/vincent-ability-aave/execute] AAVE operation failed', error);
268
+ return fail({
269
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
270
+ });
271
+ }
272
+ },
273
+ });
274
+ /**
275
+ * Execute AAVE Supply operation
276
+ */
277
+ async function executeSupply(provider, pkpPublicKey, asset, amount, onBehalfOf, chainId, aaveAddresses) {
278
+ console.log('[@lit-protocol/vincent-ability-aave/executeSupply] Starting supply operation');
279
+ const callerAddress = ethers_1.ethers.utils.computeAddress(pkpPublicKey);
280
+ // Now supply to AAVE
281
+ const txHash = await vincent_scaffold_sdk_1.laUtils.transaction.handler.contractCall({
282
+ provider,
283
+ pkpPublicKey,
284
+ callerAddress,
285
+ abi: helpers_1.AAVE_POOL_ABI,
286
+ contractAddress: aaveAddresses.POOL,
287
+ functionName: 'supply',
288
+ args: [asset, amount, onBehalfOf, 0],
289
+ chainId,
290
+ gasBumpPercentage: 10,
291
+ });
292
+ return txHash;
293
+ }
294
+ /**
295
+ * Execute AAVE Withdraw operation
296
+ */
297
+ async function executeWithdraw(provider, pkpPublicKey, asset, amount, to, chainId, aaveAddresses) {
298
+ console.log('[@lit-protocol/vincent-ability-aave/executeWithdraw] Starting withdraw operation');
299
+ const callerAddress = ethers_1.ethers.utils.computeAddress(pkpPublicKey);
300
+ const txHash = await vincent_scaffold_sdk_1.laUtils.transaction.handler.contractCall({
301
+ provider,
302
+ pkpPublicKey,
303
+ callerAddress,
304
+ abi: helpers_1.AAVE_POOL_ABI,
305
+ contractAddress: aaveAddresses.POOL,
306
+ functionName: 'withdraw',
307
+ args: [asset, amount, to],
308
+ chainId,
309
+ gasBumpPercentage: 10,
310
+ });
311
+ return txHash;
312
+ }
313
+ /**
314
+ * Execute AAVE Borrow operation
315
+ */
316
+ async function executeBorrow(provider, pkpPublicKey, asset, amount, interestRateMode, onBehalfOf, chainId, aaveAddresses) {
317
+ console.log('[@lit-protocol/vincent-ability-aave/executeBorrow] Starting borrow operation');
318
+ const callerAddress = ethers_1.ethers.utils.computeAddress(pkpPublicKey);
319
+ const txHash = await vincent_scaffold_sdk_1.laUtils.transaction.handler.contractCall({
320
+ provider,
321
+ pkpPublicKey,
322
+ callerAddress,
323
+ abi: helpers_1.AAVE_POOL_ABI,
324
+ contractAddress: aaveAddresses.POOL,
325
+ functionName: 'borrow',
326
+ args: [asset, amount, interestRateMode, 0, onBehalfOf],
327
+ chainId,
328
+ gasBumpPercentage: 10,
329
+ });
330
+ return txHash;
331
+ }
332
+ /**
333
+ * Execute AAVE Repay operation
334
+ */
335
+ async function executeRepay(provider, pkpPublicKey, asset, amount, rateMode, onBehalfOf, chainId, aaveAddresses) {
336
+ console.log('[@lit-protocol/vincent-ability-aave/executeRepay] Starting repay operation');
337
+ const callerAddress = ethers_1.ethers.utils.computeAddress(pkpPublicKey);
338
+ // Now repay the debt
339
+ const txHash = await vincent_scaffold_sdk_1.laUtils.transaction.handler.contractCall({
340
+ provider,
341
+ pkpPublicKey,
342
+ callerAddress,
343
+ abi: helpers_1.AAVE_POOL_ABI,
344
+ contractAddress: aaveAddresses.POOL,
345
+ functionName: 'repay',
346
+ args: [asset, amount, rateMode, onBehalfOf],
347
+ chainId,
348
+ gasBumpPercentage: 10,
349
+ });
350
+ return txHash;
351
+ }
352
+ //# sourceMappingURL=vincent-ability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vincent-ability.js","sourceRoot":"","sources":["../../../src/lib/vincent-ability.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@lit-protocol/vincent-ability-aave",
3
+ "version": "0.0.7-mma",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "dependencies": {
8
+ "@bgd-labs/aave-address-book": "^4.19.3",
9
+ "@lit-protocol/vincent-scaffold-sdk": "^1.1.6",
10
+ "ethers": "^5.8.0",
11
+ "tslib": "2.8.1",
12
+ "zod": "^3.25.64",
13
+ "@lit-protocol/vincent-ability-sdk": "0.0.7-mma"
14
+ },
15
+ "peerDependencies": {
16
+ "@lit-protocol/vincent-app-sdk": "^0.0.7-mma"
17
+ },
18
+ "devDependencies": {
19
+ "esbuild": "^0.19.12",
20
+ "esbuild-plugin-polyfill-node": "^0.3.0",
21
+ "ipfs-only-hash": "^4.0.0"
22
+ },
23
+ "main": "./dist/src/index.js",
24
+ "module": "./dist/src/index.js",
25
+ "types": "./dist/src/index.d.ts",
26
+ "files": [
27
+ "dist/**",
28
+ "*.md"
29
+ ]
30
+ }