@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.
- package/CHANGELOG.md +22 -0
- package/README.md +51 -86
- package/dist/CHANGELOG.md +7 -0
- package/dist/README.md +51 -86
- package/dist/package.json +5 -5
- package/dist/src/generated/lit-action.js +2 -2
- package/dist/src/generated/vincent-ability-metadata.json +1 -1
- package/dist/src/generated/vincent-bundled-ability.d.ts +1417 -66
- package/dist/src/generated/vincent-bundled-ability.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +17 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/decodeTransaction.d.ts +3 -0
- package/dist/src/lib/decodeTransaction.d.ts.map +1 -0
- package/dist/src/lib/decodeTransaction.js +49 -0
- package/dist/src/lib/decodeTransaction.js.map +1 -0
- package/dist/src/lib/helpers/aave.d.ts +86 -0
- package/dist/src/lib/helpers/aave.d.ts.map +1 -0
- package/dist/src/lib/helpers/aave.js +312 -0
- package/dist/src/lib/helpers/aave.js.map +1 -0
- package/dist/src/lib/helpers/erc20.d.ts +6 -0
- package/dist/src/lib/helpers/erc20.d.ts.map +1 -0
- package/dist/src/lib/helpers/erc20.js +53 -0
- package/dist/src/lib/helpers/erc20.js.map +1 -0
- package/dist/src/lib/helpers/transactionKind.d.ts +6 -0
- package/dist/src/lib/helpers/transactionKind.d.ts.map +1 -0
- package/dist/src/lib/helpers/transactionKind.js +10 -0
- package/dist/src/lib/helpers/transactionKind.js.map +1 -0
- package/dist/src/lib/lit-action.js.map +1 -1
- package/dist/src/lib/validateSimulation.d.ts +3 -0
- package/dist/src/lib/validateSimulation.d.ts.map +1 -0
- package/dist/src/lib/validateSimulation.js +56 -0
- package/dist/src/lib/validateSimulation.js.map +1 -0
- package/dist/src/lib/validateTransaction.d.ts +3 -0
- package/dist/src/lib/validateTransaction.d.ts.map +1 -0
- package/dist/src/lib/validateTransaction.js +77 -0
- package/dist/src/lib/validateTransaction.js.map +1 -0
- package/dist/src/lib/vincent-ability.d.ts +1417 -67
- package/dist/src/lib/vincent-ability.d.ts.map +1 -1
- package/dist/src/lib/vincent-ability.js +9 -345
- package/dist/src/lib/vincent-ability.js.map +1 -1
- package/package.json +8 -8
- package/dist/src/lib/helpers/index.d.ts +0 -71
- package/dist/src/lib/helpers/index.d.ts.map +0 -1
- package/dist/src/lib/helpers/index.js +0 -345
- package/dist/src/lib/helpers/index.js.map +0 -1
- package/dist/src/lib/schemas.d.ts +0 -115
- package/dist/src/lib/schemas.d.ts.map +0 -1
- package/dist/src/lib/schemas.js +0 -110
- 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":"
|
|
1
|
+
{"version":3,"file":"vincent-ability.d.ts","sourceRoot":"","sources":["../../../src/lib/vincent-ability.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;iBASqgF,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAAiD,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAAoD,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAA0C,CAAC;aAAmC,CAAC;aAAmC,CAAC;;;;;;;;;;;;;;;;;;;;;mBAAilC,CAAC;iBAAqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAAiD,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAA8D,CAAC;qBAAkD,CAAC;eAA4C,CAAC;mBAAgD,CAAC;;;;;;;;;;;;iBAA2Y,CAAC;mBAAgD,CAAC;iBAAqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAA0C,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAA8D,CAAC;qBAA2C,CAAC;eAA4C,CAAC;mBAAyC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAwzE,CAAC;iBAAqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAAiD,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAA8D,CAAC;qBAAkD,CAAC;eAA4C,CAAC;mBAAgD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAk0B,CAAC;mBAAgD,CAAC;iBAAqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAA0C,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAA8D,CAAC;qBAA2C,CAAC;eAA4C,CAAC;mBAAyC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAkwF,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAA4S,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAAoT,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAA4S,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAAoT,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAA4S,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;;;YAA6W,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;;;;YAA6V,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;eAA0qD,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;eAA2S,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;;;;;;eAAsf,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;;;;eAAuW,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAA2qD,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;eAA2S,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;;;eAAoX,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;;;eAAyU,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAhzqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAAiD,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAAoD,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAA0C,CAAC;aAAmC,CAAC;aAAmC,CAAC;;;;;;;;;;;;;;;;;;;;;mBAAilC,CAAC;iBAAqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAAiD,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAA8D,CAAC;qBAAkD,CAAC;eAA4C,CAAC;mBAAgD,CAAC;;;;;;;;;;;;iBAA2Y,CAAC;mBAAgD,CAAC;iBAAqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAA0C,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAA8D,CAAC;qBAA2C,CAAC;eAA4C,CAAC;mBAAyC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAwzE,CAAC;iBAAqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAAiD,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAA8D,CAAC;qBAAkD,CAAC;eAA4C,CAAC;mBAAgD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAk0B,CAAC;mBAAgD,CAAC;iBAAqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAA0C,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAA8D,CAAC;qBAA2C,CAAC;eAA4C,CAAC;mBAAyC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAkwF,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAA4S,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAAoT,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAA4S,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAAoT,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAA4S,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;;;YAA6W,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;;;;YAA6V,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;eAA0qD,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;eAA2S,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;;;;;;eAAsf,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;;;;eAAuW,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA7ujB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAAiD,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAAoD,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAA0C,CAAC;aAAmC,CAAC;aAAmC,CAAC;;;;;;;;;;;;;;;;;;;;;mBAAilC,CAAC;iBAAqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAAiD,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAA8D,CAAC;qBAAkD,CAAC;eAA4C,CAAC;mBAAgD,CAAC;;;;;;;;;;;;iBAA2Y,CAAC;mBAAgD,CAAC;iBAAqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAA0C,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAA8D,CAAC;qBAA2C,CAAC;eAA4C,CAAC;mBAAyC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAwzE,CAAC;iBAAqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAAiD,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAA8D,CAAC;qBAAkD,CAAC;eAA4C,CAAC;mBAAgD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAk0B,CAAC;mBAAgD,CAAC;iBAAqB,CAAC;oBAA0C,CAAC;mBAAyC,CAAC;oBAA0C,CAAC;aAAmC,CAAC;aAAmC,CAAC;;iBAA8D,CAAC;qBAA2C,CAAC;eAA4C,CAAC;mBAAyC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAkwF,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAA4S,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAAoT,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAA4S,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAAoT,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;YAA4S,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;;;YAA6W,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;;;;YAA6V,CAAC;oBAAmD,CAAC;4BAAyD,CAAC;WAAwC,CAAC;gBAA6C,CAAC;gBAA6C,CAAC;kBAA+C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;eAA64K,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;eAA2S,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;;;eAAoX,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;;;eAAyU,CAAC;YAAyC,CAAC;iBAA8C,CAAC;cAA2C,CAAC;uBAAoD,CAAC;YAAgD,CAAC;;;;;;;;gBAD90vB,CAAC"}
|
|
@@ -1,351 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.vincentAbility = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
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
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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.
|
|
3
|
+
"version": "1.0.0",
|
|
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
|
-
"
|
|
13
|
-
"@lit-protocol/vincent-ability-sdk": "2.
|
|
10
|
+
"viem": "^2.38.3",
|
|
11
|
+
"@lit-protocol/vincent-ability-sdk": "2.4.0",
|
|
12
|
+
"@lit-protocol/vincent-contracts-sdk": "6.0.0"
|
|
14
13
|
},
|
|
15
14
|
"peerDependencies": {
|
|
16
|
-
"@lit-protocol/vincent-app-sdk": "^2.5.
|
|
15
|
+
"@lit-protocol/vincent-app-sdk": "^2.5.1"
|
|
17
16
|
},
|
|
18
17
|
"devDependencies": {
|
|
19
|
-
"esbuild": "^0.19.12",
|
|
20
18
|
"@lit-protocol/esbuild-plugin-polyfill-node": "^0.3.0",
|
|
21
|
-
"
|
|
19
|
+
"esbuild": "^0.19.12",
|
|
20
|
+
"ipfs-only-hash": "^4.0.0",
|
|
21
|
+
"@lit-protocol/vincent-app-sdk": "^2.5.1"
|
|
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"}
|