@ichidao/ichi-vaults-sdk 0.0.49 → 0.0.51
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/README.md +7 -0
- package/dist/src/functions/calculateApr.js +19 -29
- package/dist/src/functions/calculateApr.js.map +1 -1
- package/dist/src/functions/calculateFees.js +19 -46
- package/dist/src/functions/calculateFees.js.map +1 -1
- package/dist/src/functions/userBalances.js +99 -60
- package/dist/src/functions/userBalances.js.map +1 -1
- package/dist/src/functions/vault.d.ts +5 -2
- package/dist/src/functions/vault.js +216 -87
- package/dist/src/functions/vault.js.map +1 -1
- package/dist/src/functions/vaultEvents.js +225 -153
- package/dist/src/functions/vaultEvents.js.map +1 -1
- package/dist/src/functions/vaultMetrics.js +30 -34
- package/dist/src/functions/vaultMetrics.js.map +1 -1
- package/dist/src/graphql/constants.js +30 -13
- package/dist/src/graphql/constants.js.map +1 -1
- package/dist/src/index.cjs.js +1 -1
- package/dist/src/index.esm.js +1 -1
- package/dist/src/src/functions/vault.d.ts +5 -2
- package/dist/src/src/types/index.d.ts +3 -0
- package/dist/src/src/utils/getGraphUrls.d.ts +3 -3
- package/dist/src/types/index.d.ts +3 -0
- package/dist/src/types/index.js +3 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/utils/config/addresses.js +43 -13
- package/dist/src/utils/config/addresses.js.map +1 -1
- package/dist/src/utils/getGraphUrls.d.ts +3 -3
- package/dist/src/utils/getGraphUrls.js +4 -4
- package/dist/src/utils/getGraphUrls.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
@@ -7,6 +7,7 @@ This sdk contains collection of functions to interact with IchiVault's smart con
|
|
7
7
|
## Table of Contents
|
8
8
|
|
9
9
|
* [__Installation__](#Installation)
|
10
|
+
* [__Subgraphs__](#Subgraphs)
|
10
11
|
* [__Usage__](#Usage)
|
11
12
|
* [__Vault Functions__](#Vault)
|
12
13
|
* [`approveDepositToken()`](#1-approveDepositToken)
|
@@ -47,6 +48,9 @@ npm install @ichidao/ichi-vaults-sdk
|
|
47
48
|
```
|
48
49
|
|
49
50
|
## Usage
|
51
|
+
### Subgraphs
|
52
|
+
This SDK uses subgraphs to obtain information about ICHI vaults. The subgraphs are deployed in the Subgraph Studio and published on Arbitrum One. If you prefer to use published subgraphs, you need to add your [subgraph API key](https://thegraph.com/studio/apikeys/) to the SUBGRAPH_API_KEY environment variable. Otherwise, the SDK will use the subgraph's Studio endpoint.
|
53
|
+
|
50
54
|
### Vault
|
51
55
|
|
52
56
|
#### 1. `approveDepositToken()`
|
@@ -1047,6 +1051,7 @@ enum SupportedChainId {
|
|
1047
1051
|
polygon = 137,
|
1048
1052
|
polygon_zkevm = 1101,
|
1049
1053
|
scroll = 534352,
|
1054
|
+
taiko = 167000,
|
1050
1055
|
taiko_hekla = 167009,
|
1051
1056
|
x_layer_testnet = 195,
|
1052
1057
|
zksync_era = 324,
|
@@ -1066,8 +1071,10 @@ enum SupportedDex {
|
|
1066
1071
|
Forge = 'Forge',
|
1067
1072
|
Henjin = 'Henjin',
|
1068
1073
|
Kinetix = 'Kinetix',
|
1074
|
+
Linehub = 'Linehub',
|
1069
1075
|
Lynex = 'Lynex',
|
1070
1076
|
Metavault = 'Metavault',
|
1077
|
+
Nile = 'Nile',
|
1071
1078
|
Pancakeswap = 'PancakeSwap',
|
1072
1079
|
Quickswap = 'QuickSwap',
|
1073
1080
|
Ramses = 'Ramses',
|
@@ -49,8 +49,8 @@ var priceFromPool_1 = require("./priceFromPool");
|
|
49
49
|
var vaultEvents_1 = require("./vaultEvents");
|
50
50
|
var timestamps_1 = require("../utils/timestamps");
|
51
51
|
var getPrice_1 = __importDefault(require("../utils/getPrice"));
|
52
|
-
var constants_1 = require("../graphql/constants");
|
53
52
|
var formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
|
53
|
+
var getGraphUrls_1 = __importDefault(require("../utils/getGraphUrls"));
|
54
54
|
function getLpPriceAt(vaultEvents, daysAgo, isVaultInverted, token0decimals, token1decimals) {
|
55
55
|
var e = (0, vaultEvents_1.getVaultStateAt)(vaultEvents, daysAgo);
|
56
56
|
if (!e) {
|
@@ -76,34 +76,29 @@ function getLpPriceAt(vaultEvents, daysAgo, isVaultInverted, token0decimals, tok
|
|
76
76
|
}
|
77
77
|
exports.getLpPriceAt = getLpPriceAt;
|
78
78
|
function getLpApr(vaultAddress, jsonProvider, dex, timeIntervals) {
|
79
|
-
var _a;
|
80
79
|
return __awaiter(this, void 0, void 0, function () {
|
81
|
-
var
|
82
|
-
return __generator(this, function (
|
83
|
-
switch (
|
80
|
+
var _a, chainId, vault, decimals0, decimals1, isInv, currLpPrice, arrDays, result, vaultEvents;
|
81
|
+
return __generator(this, function (_b) {
|
82
|
+
switch (_b.label) {
|
84
83
|
case 0: return [4 /*yield*/, (0, vault_1.validateVaultData)(vaultAddress, jsonProvider, dex)];
|
85
84
|
case 1:
|
86
|
-
|
87
|
-
|
88
|
-
if (!url)
|
89
|
-
throw new Error("Unsupported DEX ".concat(dex, " on chain ").concat(chainId));
|
90
|
-
if (url === 'none')
|
91
|
-
throw new Error("Function not available for DEX ".concat(dex, " on chain ").concat(chainId));
|
85
|
+
_a = _b.sent(), chainId = _a.chainId, vault = _a.vault;
|
86
|
+
(0, getGraphUrls_1.default)(chainId, dex, true);
|
92
87
|
return [4 /*yield*/, (0, totalBalances_1.getTokenDecimals)(vault.tokenA, jsonProvider)];
|
93
88
|
case 2:
|
94
|
-
decimals0 =
|
89
|
+
decimals0 = _b.sent();
|
95
90
|
return [4 /*yield*/, (0, totalBalances_1.getTokenDecimals)(vault.tokenB, jsonProvider)];
|
96
91
|
case 3:
|
97
|
-
decimals1 =
|
92
|
+
decimals1 = _b.sent();
|
98
93
|
isInv = vault.allowTokenB;
|
99
94
|
return [4 /*yield*/, (0, priceFromPool_1.getCurrLpPrice)(vaultAddress, jsonProvider, dex, isInv, decimals0, decimals1)];
|
100
95
|
case 4:
|
101
|
-
currLpPrice =
|
96
|
+
currLpPrice = _b.sent();
|
102
97
|
arrDays = timeIntervals && timeIntervals.length > 0 ? timeIntervals : [1, 7, 30];
|
103
98
|
result = [];
|
104
99
|
return [4 /*yield*/, (0, vaultEvents_1.getAllVaultEvents)(vaultAddress, jsonProvider, dex)];
|
105
100
|
case 5:
|
106
|
-
vaultEvents =
|
101
|
+
vaultEvents = _b.sent();
|
107
102
|
arrDays.forEach(function (d) {
|
108
103
|
var objLpPrice = getLpPriceAt(vaultEvents, d, isInv, decimals0, decimals1);
|
109
104
|
if (!(objLpPrice === null || objLpPrice === void 0 ? void 0 : objLpPrice.priceChange)) {
|
@@ -122,34 +117,29 @@ function getLpApr(vaultAddress, jsonProvider, dex, timeIntervals) {
|
|
122
117
|
}
|
123
118
|
exports.getLpApr = getLpApr;
|
124
119
|
function getLpPriceChange(vaultAddress, jsonProvider, dex, timeIntervals) {
|
125
|
-
var _a;
|
126
120
|
return __awaiter(this, void 0, void 0, function () {
|
127
|
-
var
|
128
|
-
return __generator(this, function (
|
129
|
-
switch (
|
121
|
+
var _a, chainId, vault, decimals0, decimals1, isInv, currLpPrice, arrDays, result, vaultEvents;
|
122
|
+
return __generator(this, function (_b) {
|
123
|
+
switch (_b.label) {
|
130
124
|
case 0: return [4 /*yield*/, (0, vault_1.validateVaultData)(vaultAddress, jsonProvider, dex)];
|
131
125
|
case 1:
|
132
|
-
|
133
|
-
|
134
|
-
if (!url)
|
135
|
-
throw new Error("Unsupported DEX ".concat(dex, " on chain ").concat(chainId));
|
136
|
-
if (url === 'none')
|
137
|
-
throw new Error("Function not available for DEX ".concat(dex, " on chain ").concat(chainId));
|
126
|
+
_a = _b.sent(), chainId = _a.chainId, vault = _a.vault;
|
127
|
+
(0, getGraphUrls_1.default)(chainId, dex, true);
|
138
128
|
return [4 /*yield*/, (0, totalBalances_1.getTokenDecimals)(vault.tokenA, jsonProvider)];
|
139
129
|
case 2:
|
140
|
-
decimals0 =
|
130
|
+
decimals0 = _b.sent();
|
141
131
|
return [4 /*yield*/, (0, totalBalances_1.getTokenDecimals)(vault.tokenB, jsonProvider)];
|
142
132
|
case 3:
|
143
|
-
decimals1 =
|
133
|
+
decimals1 = _b.sent();
|
144
134
|
isInv = vault.allowTokenB;
|
145
135
|
return [4 /*yield*/, (0, priceFromPool_1.getCurrLpPrice)(vaultAddress, jsonProvider, dex, isInv, decimals0, decimals1)];
|
146
136
|
case 4:
|
147
|
-
currLpPrice =
|
137
|
+
currLpPrice = _b.sent();
|
148
138
|
arrDays = timeIntervals && timeIntervals.length > 0 ? timeIntervals : [1, 7, 30];
|
149
139
|
result = [];
|
150
140
|
return [4 /*yield*/, (0, vaultEvents_1.getAllVaultEvents)(vaultAddress, jsonProvider, dex)];
|
151
141
|
case 5:
|
152
|
-
vaultEvents =
|
142
|
+
vaultEvents = _b.sent();
|
153
143
|
arrDays.forEach(function (d) {
|
154
144
|
var objLpPrice = getLpPriceAt(vaultEvents, d, isInv, decimals0, decimals1);
|
155
145
|
var prevLpPrice = objLpPrice === null || objLpPrice === void 0 ? void 0 : objLpPrice.priceChange;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"calculateApr.js","sourceRoot":"","sources":["../../../src/functions/calculateApr.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iCAAmC;AACnC,
|
1
|
+
{"version":3,"file":"calculateApr.js","sourceRoot":"","sources":["../../../src/functions/calculateApr.ts"],"names":[],"mappings":"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"}
|
@@ -43,7 +43,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
43
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
44
44
|
exports.getFeesCollectedInfo = exports.getFeesCollected = exports.getTotalFeesAmountInBaseTokens = exports.getTotalAmountsAtFeeCollectionEvent = void 0;
|
45
45
|
var bignumber_1 = require("@ethersproject/bignumber");
|
46
|
-
var types_1 = require("../types");
|
47
46
|
// eslint-disable-next-line import/no-cycle
|
48
47
|
var vault_1 = require("./vault");
|
49
48
|
var vaultEvents_1 = require("./vaultEvents");
|
@@ -53,7 +52,7 @@ var timestamps_1 = require("../utils/timestamps");
|
|
53
52
|
var deposit_1 = require("./deposit");
|
54
53
|
var getPrice_1 = __importDefault(require("../utils/getPrice"));
|
55
54
|
var priceFromPool_1 = require("./priceFromPool");
|
56
|
-
var
|
55
|
+
var getGraphUrls_1 = __importDefault(require("../utils/getGraphUrls"));
|
57
56
|
function getCollectedTokenAmountBN(ind, feesDataset) {
|
58
57
|
var amounts = ind === 0
|
59
58
|
? feesDataset.map(function (r) { return bignumber_1.BigNumber.from(r.feeAmount0); })
|
@@ -90,41 +89,28 @@ function getTotalFeesAmountInBaseTokens(feesDataset, t0decimals, t1decimals, isI
|
|
90
89
|
}
|
91
90
|
exports.getTotalFeesAmountInBaseTokens = getTotalFeesAmountInBaseTokens;
|
92
91
|
function getFeesCollected(vaultAddress, jsonProvider, dex, rawOrDays, days) {
|
93
|
-
var _a;
|
94
92
|
return __awaiter(this, void 0, void 0, function () {
|
95
|
-
var chainId, vault,
|
93
|
+
var _a, chainId, vault, token0Decimals, token1Decimals, numOfDays, rebalances, collectedFees, amount0BN, amount1BN, feeAmountsBN, feeAmounts;
|
96
94
|
return __generator(this, function (_b) {
|
97
95
|
switch (_b.label) {
|
98
|
-
case 0: return [4 /*yield*/,
|
96
|
+
case 0: return [4 /*yield*/, (0, vault_1.validateVaultData)(vaultAddress, jsonProvider, dex)];
|
99
97
|
case 1:
|
100
|
-
|
101
|
-
|
102
|
-
throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
|
103
|
-
}
|
104
|
-
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress, jsonProvider)];
|
105
|
-
case 2:
|
106
|
-
vault = _b.sent();
|
107
|
-
if (!vault)
|
108
|
-
throw new Error("Vault ".concat(vaultAddress, " not found on chain ").concat(chainId, " and dex ").concat(dex));
|
109
|
-
url = (_a = constants_1.graphUrls[chainId][dex]) === null || _a === void 0 ? void 0 : _a.url;
|
110
|
-
if (!url)
|
111
|
-
throw new Error("Unsupported DEX ".concat(dex, " on chain ").concat(chainId));
|
112
|
-
if (url === 'none')
|
113
|
-
throw new Error("Function not available for DEX ".concat(dex, " on chain ").concat(chainId));
|
98
|
+
_a = _b.sent(), chainId = _a.chainId, vault = _a.vault;
|
99
|
+
(0, getGraphUrls_1.default)(chainId, dex, true);
|
114
100
|
return [4 /*yield*/, (0, totalBalances_1.getTokenDecimals)(vault.tokenA, jsonProvider)];
|
115
|
-
case
|
101
|
+
case 2:
|
116
102
|
token0Decimals = _b.sent();
|
117
103
|
return [4 /*yield*/, (0, totalBalances_1.getTokenDecimals)(vault.tokenB, jsonProvider)];
|
118
|
-
case
|
104
|
+
case 3:
|
119
105
|
token1Decimals = _b.sent();
|
120
106
|
numOfDays = typeof rawOrDays === 'boolean' ? days : rawOrDays;
|
121
107
|
return [4 /*yield*/, (0, vaultEvents_1.getRebalances)(vaultAddress, jsonProvider, dex, numOfDays)];
|
122
|
-
case
|
108
|
+
case 4:
|
123
109
|
rebalances = _b.sent();
|
124
110
|
if (!rebalances)
|
125
111
|
throw new Error("Error getting vault rebalances on ".concat(chainId, " for ").concat(vaultAddress));
|
126
112
|
return [4 /*yield*/, (0, vaultEvents_1.getFeesCollectedEvents)(vaultAddress, jsonProvider, dex, numOfDays)];
|
127
|
-
case
|
113
|
+
case 5:
|
128
114
|
collectedFees = _b.sent();
|
129
115
|
if (!collectedFees)
|
130
116
|
throw new Error("Error getting vault collected fees on ".concat(chainId, " for ").concat(vaultAddress));
|
@@ -152,49 +138,36 @@ function getFeesCollected(vaultAddress, jsonProvider, dex, rawOrDays, days) {
|
|
152
138
|
}
|
153
139
|
exports.getFeesCollected = getFeesCollected;
|
154
140
|
function getFeesCollectedInfo(vaultAddress, jsonProvider, dex, forDays) {
|
155
|
-
var _a;
|
156
141
|
return __awaiter(this, void 0, void 0, function () {
|
157
|
-
var chainId, vault,
|
142
|
+
var _a, chainId, vault, token0Decimals, token1Decimals, isVaultInverted, tvl, defaultArrayDays, arrayDays, maxTimePeriod, rebalances, collectedFees, result;
|
158
143
|
return __generator(this, function (_b) {
|
159
144
|
switch (_b.label) {
|
160
|
-
case 0: return [4 /*yield*/,
|
145
|
+
case 0: return [4 /*yield*/, (0, vault_1.validateVaultData)(vaultAddress, jsonProvider, dex)];
|
161
146
|
case 1:
|
162
|
-
|
163
|
-
|
164
|
-
throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
|
165
|
-
}
|
166
|
-
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress, jsonProvider)];
|
167
|
-
case 2:
|
168
|
-
vault = _b.sent();
|
169
|
-
if (!vault)
|
170
|
-
throw new Error("Vault ".concat(vaultAddress, " not found on chain ").concat(chainId, " and dex ").concat(dex));
|
171
|
-
url = (_a = constants_1.graphUrls[chainId][dex]) === null || _a === void 0 ? void 0 : _a.url;
|
172
|
-
if (!url)
|
173
|
-
throw new Error("Unsupported DEX ".concat(dex, " on chain ").concat(chainId));
|
174
|
-
if (url === 'none')
|
175
|
-
throw new Error("Function not available for DEX ".concat(dex, " on chain ").concat(chainId));
|
147
|
+
_a = _b.sent(), chainId = _a.chainId, vault = _a.vault;
|
148
|
+
(0, getGraphUrls_1.default)(chainId, dex, true);
|
176
149
|
return [4 /*yield*/, (0, totalBalances_1.getTokenDecimals)(vault.tokenA, jsonProvider)];
|
177
|
-
case
|
150
|
+
case 2:
|
178
151
|
token0Decimals = _b.sent();
|
179
152
|
return [4 /*yield*/, (0, totalBalances_1.getTokenDecimals)(vault.tokenB, jsonProvider)];
|
180
|
-
case
|
153
|
+
case 3:
|
181
154
|
token1Decimals = _b.sent();
|
182
155
|
return [4 /*yield*/, (0, deposit_1.isTokenAllowed)(1, vaultAddress, jsonProvider, dex)];
|
183
|
-
case
|
156
|
+
case 4:
|
184
157
|
isVaultInverted = _b.sent();
|
185
158
|
return [4 /*yield*/, (0, priceFromPool_1.getVaultTvl)(vaultAddress, jsonProvider, dex, isVaultInverted, token0Decimals, token1Decimals)];
|
186
|
-
case
|
159
|
+
case 5:
|
187
160
|
tvl = _b.sent();
|
188
161
|
defaultArrayDays = [1, 7, 30];
|
189
162
|
arrayDays = forDays && forDays.length > 0 ? forDays : defaultArrayDays;
|
190
163
|
maxTimePeriod = Math.max.apply(Math, arrayDays);
|
191
164
|
return [4 /*yield*/, (0, vaultEvents_1.getRebalances)(vaultAddress, jsonProvider, dex, maxTimePeriod)];
|
192
|
-
case
|
165
|
+
case 6:
|
193
166
|
rebalances = _b.sent();
|
194
167
|
if (!rebalances)
|
195
168
|
throw new Error("Error getting vault rebalances on ".concat(chainId, " for ").concat(vaultAddress));
|
196
169
|
return [4 /*yield*/, (0, vaultEvents_1.getFeesCollectedEvents)(vaultAddress, jsonProvider, dex, maxTimePeriod)];
|
197
|
-
case
|
170
|
+
case 7:
|
198
171
|
collectedFees = _b.sent();
|
199
172
|
if (!collectedFees)
|
200
173
|
throw new Error("Error getting vault collected fees on ".concat(chainId, " for ").concat(vaultAddress));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"calculateFees.js","sourceRoot":"","sources":["../../../src/functions/calculateFees.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGjD,sDAAqD;
|
1
|
+
{"version":3,"file":"calculateFees.js","sourceRoot":"","sources":["../../../src/functions/calculateFees.ts"],"names":[],"mappings":"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"}
|
@@ -51,9 +51,9 @@ var formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
|
|
51
51
|
// eslint-disable-next-line import/no-cycle
|
52
52
|
var vault_1 = require("./vault");
|
53
53
|
var totalBalances_1 = require("./totalBalances");
|
54
|
-
var constants_1 = require("../graphql/constants");
|
55
54
|
var queries_1 = require("../graphql/queries");
|
56
55
|
var parseBigInt_1 = __importDefault(require("../utils/parseBigInt"));
|
56
|
+
var getGraphUrls_1 = __importDefault(require("../utils/getGraphUrls"));
|
57
57
|
var promises = {};
|
58
58
|
// eslint-disable-next-line no-underscore-dangle
|
59
59
|
function _getUserBalance(accountAddress, vaultAddress, jsonProvider, raw) {
|
@@ -89,37 +89,66 @@ function getUserBalance(accountAddress, vaultAddress, jsonProvider, dex, raw) {
|
|
89
89
|
});
|
90
90
|
}
|
91
91
|
exports.getUserBalance = getUserBalance;
|
92
|
+
function sendUserBalancesQueryRequest(url, accountAddress, query) {
|
93
|
+
return __awaiter(this, void 0, void 0, function () {
|
94
|
+
return __generator(this, function (_a) {
|
95
|
+
return [2 /*return*/, (0, graphql_request_1.request)(url, query, {
|
96
|
+
accountAddress: accountAddress.toLowerCase(),
|
97
|
+
}).then(function (_a) {
|
98
|
+
var user = _a.user;
|
99
|
+
return user;
|
100
|
+
})];
|
101
|
+
});
|
102
|
+
});
|
103
|
+
}
|
104
|
+
function storeResult(key, result) {
|
105
|
+
promises[key] = Promise.resolve(result);
|
106
|
+
setTimeout(function () {
|
107
|
+
delete promises[key];
|
108
|
+
}, 120000); // 120000 ms = 2 minutes
|
109
|
+
}
|
92
110
|
function getAllUserBalances(accountAddress, jsonProvider, dex, raw) {
|
93
|
-
var _a;
|
94
111
|
return __awaiter(this, void 0, void 0, function () {
|
95
|
-
var chainId, url, shares, key, balances, userBalances;
|
112
|
+
var chainId, _a, publishedUrl, url, shares, key, result, error_1, result, error2_1, balances, userBalances;
|
96
113
|
return __generator(this, function (_b) {
|
97
114
|
switch (_b.label) {
|
98
|
-
case 0: return [4 /*yield*/,
|
115
|
+
case 0: return [4 /*yield*/, (0, vault_1.getChainByProvider)(jsonProvider)];
|
99
116
|
case 1:
|
100
117
|
chainId = (_b.sent()).chainId;
|
101
|
-
|
102
|
-
throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
|
103
|
-
}
|
104
|
-
url = (_a = constants_1.graphUrls[chainId][dex]) === null || _a === void 0 ? void 0 : _a.url;
|
105
|
-
if (!url || url === 'none')
|
106
|
-
throw new Error("This function is unsupported for DEX ".concat(dex, " on chain ").concat(chainId));
|
118
|
+
_a = (0, getGraphUrls_1.default)(chainId, dex, true), publishedUrl = _a.publishedUrl, url = _a.url;
|
107
119
|
key = "".concat(chainId + accountAddress, "-balances");
|
108
|
-
if (
|
109
|
-
|
110
|
-
accountAddress: accountAddress.toLowerCase(),
|
111
|
-
})
|
112
|
-
.then(function (_a) {
|
113
|
-
var user = _a.user;
|
114
|
-
return user;
|
115
|
-
})
|
116
|
-
.catch(function (err) {
|
117
|
-
console.error(err);
|
118
|
-
})
|
119
|
-
.finally(function () { return setTimeout(function () { return delete promises[key]; }, 2 * 60 * 100 /* 2 mins */); });
|
120
|
-
}
|
121
|
-
return [4 /*yield*/, promises[key]];
|
120
|
+
if (!!Object.prototype.hasOwnProperty.call(promises, key)) return [3 /*break*/, 11];
|
121
|
+
_b.label = 2;
|
122
122
|
case 2:
|
123
|
+
_b.trys.push([2, 6, , 11]);
|
124
|
+
if (!publishedUrl) return [3 /*break*/, 4];
|
125
|
+
return [4 /*yield*/, sendUserBalancesQueryRequest(publishedUrl, accountAddress, queries_1.userBalancesQuery)];
|
126
|
+
case 3:
|
127
|
+
result = _b.sent();
|
128
|
+
storeResult(key, result);
|
129
|
+
return [3 /*break*/, 5];
|
130
|
+
case 4: throw new Error("Published URL is invalid for dex ".concat(dex, " on chain ").concat(chainId));
|
131
|
+
case 5: return [3 /*break*/, 11];
|
132
|
+
case 6:
|
133
|
+
error_1 = _b.sent();
|
134
|
+
if (publishedUrl) {
|
135
|
+
console.error('Request to published graph URL failed:', error_1);
|
136
|
+
}
|
137
|
+
_b.label = 7;
|
138
|
+
case 7:
|
139
|
+
_b.trys.push([7, 9, , 10]);
|
140
|
+
return [4 /*yield*/, sendUserBalancesQueryRequest(url, accountAddress, queries_1.userBalancesQuery)];
|
141
|
+
case 8:
|
142
|
+
result = _b.sent();
|
143
|
+
storeResult(key, result);
|
144
|
+
return [3 /*break*/, 10];
|
145
|
+
case 9:
|
146
|
+
error2_1 = _b.sent();
|
147
|
+
console.error('Request to public graph URL failed:', error2_1);
|
148
|
+
throw new Error("Could not get user balances for ".concat(accountAddress, " on chain ").concat(chainId));
|
149
|
+
case 10: return [3 /*break*/, 11];
|
150
|
+
case 11: return [4 /*yield*/, promises[key]];
|
151
|
+
case 12:
|
123
152
|
balances = _b.sent();
|
124
153
|
if (balances) {
|
125
154
|
userBalances = balances.vaultShares;
|
@@ -215,43 +244,53 @@ function getUserAmounts(accountAddress, vaultAddress, jsonProvider, dex, raw) {
|
|
215
244
|
}
|
216
245
|
exports.getUserAmounts = getUserAmounts;
|
217
246
|
function getAllUserAmounts(accountAddress, jsonProvider, dex, raw) {
|
218
|
-
var _a;
|
219
247
|
return __awaiter(this, void 0, void 0, function () {
|
220
|
-
var chainId, url, shares, key, balances, userBalances, totalSupplyBnPromises, totalSuppliesBN_1, totalAmountsBnPromises, totalAmountsBN_1, token0DecimalsPromises, token0Decimals_1, token1DecimalsPromises, token1Decimals_1, amounts,
|
248
|
+
var chainId, _a, publishedUrl, url, shares, key, result, error_2, result, error2_2, balances, userBalances, totalSupplyBnPromises, totalSuppliesBN_1, totalAmountsBnPromises, totalAmountsBN_1, token0DecimalsPromises, token0Decimals_1, token1DecimalsPromises, token1Decimals_1, amounts, error_3;
|
221
249
|
return __generator(this, function (_b) {
|
222
250
|
switch (_b.label) {
|
223
|
-
case 0: return [4 /*yield*/,
|
251
|
+
case 0: return [4 /*yield*/, (0, vault_1.getChainByProvider)(jsonProvider)];
|
224
252
|
case 1:
|
225
253
|
chainId = (_b.sent()).chainId;
|
226
|
-
|
227
|
-
throw new Error("Unsupported chainId: ".concat(chainId));
|
228
|
-
}
|
229
|
-
url = (_a = constants_1.graphUrls[chainId][dex]) === null || _a === void 0 ? void 0 : _a.url;
|
230
|
-
if (!url || url === 'none')
|
231
|
-
throw new Error("This function is unsupported for DEX ".concat(dex, " on chain ").concat(chainId));
|
254
|
+
_a = (0, getGraphUrls_1.default)(chainId, dex, true), publishedUrl = _a.publishedUrl, url = _a.url;
|
232
255
|
key = "".concat(chainId + accountAddress, "-balances");
|
233
|
-
if (
|
234
|
-
promises[key] = (0, graphql_request_1.request)(url, queries_1.userBalancesQuery, {
|
235
|
-
accountAddress: accountAddress.toLowerCase(),
|
236
|
-
})
|
237
|
-
.then(function (_a) {
|
238
|
-
var user = _a.user;
|
239
|
-
return user;
|
240
|
-
})
|
241
|
-
.catch(function (err) {
|
242
|
-
console.error(err);
|
243
|
-
})
|
244
|
-
.finally(function () { return setTimeout(function () { return delete promises[key]; }, 2 * 60 * 100 /* 2 mins */); });
|
245
|
-
}
|
256
|
+
if (!!Object.prototype.hasOwnProperty.call(promises, key)) return [3 /*break*/, 11];
|
246
257
|
_b.label = 2;
|
247
258
|
case 2:
|
248
|
-
_b.trys.push([2,
|
249
|
-
return [
|
259
|
+
_b.trys.push([2, 6, , 11]);
|
260
|
+
if (!publishedUrl) return [3 /*break*/, 4];
|
261
|
+
return [4 /*yield*/, sendUserBalancesQueryRequest(publishedUrl, accountAddress, queries_1.userBalancesQuery)];
|
250
262
|
case 3:
|
263
|
+
result = _b.sent();
|
264
|
+
storeResult(key, result);
|
265
|
+
return [3 /*break*/, 5];
|
266
|
+
case 4: throw new Error("Published URL is invalid for dex ".concat(dex, " on chain ").concat(chainId));
|
267
|
+
case 5: return [3 /*break*/, 11];
|
268
|
+
case 6:
|
269
|
+
error_2 = _b.sent();
|
270
|
+
if (publishedUrl) {
|
271
|
+
console.error('Request to published graph URL failed:', error_2);
|
272
|
+
}
|
273
|
+
_b.label = 7;
|
274
|
+
case 7:
|
275
|
+
_b.trys.push([7, 9, , 10]);
|
276
|
+
return [4 /*yield*/, sendUserBalancesQueryRequest(url, accountAddress, queries_1.userBalancesQuery)];
|
277
|
+
case 8:
|
278
|
+
result = _b.sent();
|
279
|
+
storeResult(key, result);
|
280
|
+
return [3 /*break*/, 10];
|
281
|
+
case 9:
|
282
|
+
error2_2 = _b.sent();
|
283
|
+
console.error('Request to public graph URL failed:', error2_2);
|
284
|
+
throw new Error("Could not get user balances for ".concat(accountAddress, " on chain ").concat(chainId));
|
285
|
+
case 10: return [3 /*break*/, 11];
|
286
|
+
case 11:
|
287
|
+
_b.trys.push([11, 20, , 21]);
|
288
|
+
return [4 /*yield*/, promises[key]];
|
289
|
+
case 12:
|
251
290
|
balances = _b.sent();
|
252
|
-
if (!balances) return [3 /*break*/,
|
291
|
+
if (!balances) return [3 /*break*/, 18];
|
253
292
|
return [4 /*yield*/, promises[key]];
|
254
|
-
case
|
293
|
+
case 13:
|
255
294
|
userBalances = (_b.sent()).vaultShares;
|
256
295
|
shares = userBalances.map(function (balance) {
|
257
296
|
return { vaultAddress: balance.vault.id, shares: (0, parseBigInt_1.default)(balance.vaultShareBalance, types_1.ichiVaultDecimals) };
|
@@ -261,27 +300,27 @@ function getAllUserAmounts(accountAddress, jsonProvider, dex, raw) {
|
|
261
300
|
return vaultContract.totalSupply();
|
262
301
|
});
|
263
302
|
return [4 /*yield*/, Promise.all(totalSupplyBnPromises)];
|
264
|
-
case
|
303
|
+
case 14:
|
265
304
|
totalSuppliesBN_1 = _b.sent();
|
266
305
|
totalAmountsBnPromises = shares.map(function (vault) {
|
267
306
|
return (0, totalBalances_1.getTotalAmounts)(vault.vaultAddress, jsonProvider, dex, true);
|
268
307
|
});
|
269
308
|
return [4 /*yield*/, Promise.all(totalAmountsBnPromises)];
|
270
|
-
case
|
309
|
+
case 15:
|
271
310
|
totalAmountsBN_1 = _b.sent();
|
272
311
|
token0DecimalsPromises = userBalances.map(function (vault) {
|
273
312
|
var token0Contract = (0, contracts_1.getERC20Contract)(vault.vault.tokenA, jsonProvider);
|
274
313
|
return token0Contract.decimals();
|
275
314
|
});
|
276
315
|
return [4 /*yield*/, Promise.all(token0DecimalsPromises)];
|
277
|
-
case
|
316
|
+
case 16:
|
278
317
|
token0Decimals_1 = _b.sent();
|
279
318
|
token1DecimalsPromises = userBalances.map(function (vault) {
|
280
319
|
var token1Contract = (0, contracts_1.getERC20Contract)(vault.vault.tokenB, jsonProvider);
|
281
320
|
return token1Contract.decimals();
|
282
321
|
});
|
283
322
|
return [4 /*yield*/, Promise.all(token1DecimalsPromises)];
|
284
|
-
case
|
323
|
+
case 17:
|
285
324
|
token1Decimals_1 = _b.sent();
|
286
325
|
amounts = shares.map(function (vault, index) {
|
287
326
|
var userBalance = vault.shares;
|
@@ -335,13 +374,13 @@ function getAllUserAmounts(accountAddress, jsonProvider, dex, raw) {
|
|
335
374
|
}
|
336
375
|
});
|
337
376
|
return [2 /*return*/, amounts];
|
338
|
-
case
|
339
|
-
case
|
340
|
-
case
|
341
|
-
|
377
|
+
case 18: return [2 /*return*/, []];
|
378
|
+
case 19: return [3 /*break*/, 21];
|
379
|
+
case 20:
|
380
|
+
error_3 = _b.sent();
|
342
381
|
console.error('Could not get user amounts');
|
343
|
-
throw
|
344
|
-
case
|
382
|
+
throw error_3;
|
383
|
+
case 21: return [2 /*return*/];
|
345
384
|
}
|
346
385
|
});
|
347
386
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"userBalances.js","sourceRoot":"","sources":["../../../src/functions/userBalances.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGjD,iCAAmC;AACnC,gDAAgD;AAChD,mDAA0C;AAC1C,0CAAsE;AACtE,kCAWkB;AAClB,uEAAiD;AACjD,2CAA2C;AAC3C,
|
1
|
+
{"version":3,"file":"userBalances.js","sourceRoot":"","sources":["../../../src/functions/userBalances.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGjD,iCAAmC;AACnC,gDAAgD;AAChD,mDAA0C;AAC1C,0CAAsE;AACtE,kCAWkB;AAClB,uEAAiD;AACjD,2CAA2C;AAC3C,iCAAkF;AAClF,iDAAoE;AAEpE,8CAAuD;AACvD,qEAA+C;AAC/C,uEAAiD;AAEjD,IAAM,QAAQ,GAAiC,EAAE,CAAC;AAiBlD,gDAAgD;AAChD,SAAe,eAAe,CAC5B,cAAsB,EACtB,YAAoB,EACpB,YAA6B,EAC7B,GAAU;;;;;;oBAEJ,aAAa,GAAG,IAAA,gCAAoB,EAAC,YAAY,EAAE,YAAY,CAAC,CAAC;oBACxD,qBAAM,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,EAAA;;oBAAtD,MAAM,GAAG,SAA6C;oBAE5D,sBAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,sBAAY,EAAC,MAAM,EAAE,yBAAiB,CAAC,EAAC;;;;CAC/D;AAiBD,SAAsB,cAAc,CAClC,cAAsB,EACtB,YAAoB,EACpB,YAA6B,EAC7B,GAAiB,EACjB,GAAU;;;;;gBAEV,2CAA2C;gBAC3C,qBAAM,IAAA,yBAAiB,EAAC,YAAY,EAAE,YAAY,EAAE,GAAG,CAAC,EAAA;;oBADxD,2CAA2C;oBAC3C,SAAwD,CAAC;oBAEzD,sBAAO,GAAG;4BACR,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC;4BACnE,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,CAAC,EAAC;;;;CACjE;AAbD,wCAaC;AAED,SAAe,4BAA4B,CACzC,GAAW,EACX,cAAsB,EACtB,KAAa;;;YAEb,sBAAO,IAAA,yBAAO,EAAoD,GAAG,EAAE,KAAK,EAAE;oBAC5E,cAAc,EAAE,cAAc,CAAC,WAAW,EAAE;iBAC7C,CAAC,CAAC,IAAI,CAAC,UAAC,EAAQ;wBAAN,IAAI,UAAA;oBAAO,OAAA,IAAI;gBAAJ,CAAI,CAAC,EAAC;;;CAC7B;AACD,SAAS,WAAW,CAAC,GAAW,EAAE,MAAW;IAC3C,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,UAAU,CAAC;QACT,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,wBAAwB;AACtC,CAAC;AAeD,SAAsB,kBAAkB,CACtC,cAAsB,EACtB,YAA6B,EAC7B,GAAiB,EACjB,GAAU;;;;;wBAEU,qBAAM,IAAA,0BAAkB,EAAC,YAAY,CAAC,EAAA;;oBAAlD,OAAO,GAAK,CAAA,SAAsC,CAAA,QAA3C;oBACT,KAAwB,IAAA,sBAAY,EAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAtD,YAAY,kBAAA,EAAE,GAAG,SAAA,CAAsC;oBAGzD,GAAG,GAAG,UAAG,OAAO,GAAG,cAAc,cAAW,CAAC;yBAC/C,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAApD,yBAAoD;;;;yBAEhD,YAAY,EAAZ,wBAAY;oBACC,qBAAM,4BAA4B,CAAC,YAAY,EAAE,cAAc,EAAE,2BAAiB,CAAC,EAAA;;oBAA5F,MAAM,GAAG,SAAmF;oBAClG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;;wBAEzB,MAAM,IAAI,KAAK,CAAC,2CAAoC,GAAG,uBAAa,OAAO,CAAE,CAAC,CAAC;;;;oBAGjF,IAAI,YAAY,EAAE;wBAChB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,OAAK,CAAC,CAAC;qBAChE;;;;oBAEgB,qBAAM,4BAA4B,CAAC,GAAG,EAAE,cAAc,EAAE,2BAAiB,CAAC,EAAA;;oBAAnF,MAAM,GAAG,SAA0E;oBACzF,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;;;;oBAEzB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,QAAM,CAAC,CAAC;oBAC7D,MAAM,IAAI,KAAK,CAAC,0CAAmC,cAAc,uBAAa,OAAO,CAAE,CAAC,CAAC;;yBAK9E,qBAAM,QAAQ,CAAC,GAAG,CAAC,EAAA;;oBAA9B,QAAQ,GAAG,SAAmB;oBACpC,IAAI,QAAQ,EAAE;wBACN,YAAY,GAAI,QAAyB,CAAC,WAAW,CAAC;wBAC5D,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAC,OAAO;4BAChC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;wBAC/E,CAAC,CAAC,CAAC;wBACH,sBAAO,GAAG;gCACR,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC;oCACX,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,IAAA,qBAAW,EAAC,CAAC,CAAC,MAAM,EAAE,yBAAiB,CAAC,EAAE,CAAC;gCAC5F,CAAC,CAAC;gCACJ,CAAC,CAAC,MAAM,EAAC;qBACZ;yBAAM;wBACL,sBAAO,EAAE,EAAC;qBACX;;;;;CACF;AA/CD,gDA+CC;AAiBD,SAAsB,cAAc,CAClC,cAAsB,EACtB,YAAoB,EACpB,YAA6B,EAC7B,GAAiB,EACjB,GAAU;;;;;wBAEU,qBAAM,YAAY,CAAC,UAAU,EAAE,EAAA;;oBAA3C,OAAO,GAAK,CAAA,SAA+B,CAAA,QAApC;oBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;wBACtD,MAAM,IAAI,KAAK,CAAC,+BAAwB,OAAO,CAAE,CAAC,CAAC;qBACpD;oBACK,aAAa,GAAG,IAAA,gCAAoB,EAAC,YAAY,EAAE,YAAY,CAAC,CAAC;oBACzD,qBAAM,IAAA,wBAAgB,EAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,CAAC,EAAA;;oBAAxE,KAAK,GAAG,SAAgE;oBAC9E,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,gBAAS,YAAY,iCAAuB,OAAO,sBAAY,GAAG,CAAE,CAAC,CAAC;oBAE3E,qBAAM,IAAA,+BAAe,EAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,EAAA;;oBAA7E,cAAc,GAAG,SAA4D;oBAC7D,qBAAM,aAAa,CAAC,WAAW,EAAE,EAAA;;oBAAjD,aAAa,GAAG,SAAiC;oBACjC,qBAAM,cAAc,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,EAAA;;oBAA3F,aAAa,GAAG,SAA2E;yBAC7F,CAAC,aAAa,CAAC,MAAM,EAAE,EAAvB,yBAAuB;oBACnB,aAAa,GAAG;wBACpB,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;wBAChE,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;wBAChE,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;wBAC1D,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;qBAC1C,CAAC;yBACf,CAAC,GAAG,EAAJ,wBAAI;oBACiB,qBAAM,IAAA,gCAAgB,EAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAA;;oBAAnE,cAAc,GAAG,SAAkD;oBAClD,qBAAM,IAAA,gCAAgB,EAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAA;;oBAAnE,cAAc,GAAG,SAAkD;oBACnE,WAAW,GAAG;wBAClB,OAAO,EAAE,IAAA,sBAAY,EAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC;wBAC5D,OAAO,EAAE,IAAA,sBAAY,EAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC;wBAC5D,CAAC,EAAE,IAAA,sBAAY,EAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC;wBACtD,CAAC,EAAE,IAAA,sBAAY,EAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC;qBACxC,CAAC;oBACjB,sBAAO,WAAW,EAAC;wBAEnB,sBAAO,aAAa,EAAC;;;oBAElB,IAAI,CAAC,GAAG,EAAE;wBACf,sBAAO;gCACL,OAAO,EAAE,GAAG;gCACZ,OAAO,EAAE,GAAG;gCACZ,CAAC,EAAE,GAAG;gCACN,CAAC,EAAE,GAAG;6BACQ,EAAC;qBAClB;yBAAM;wBACL,sBAAO;gCACL,OAAO,EAAE,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gCAC1B,OAAO,EAAE,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gCAC1B,CAAC,EAAE,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gCACpB,CAAC,EAAE,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;6BACJ,EAAC;qBACpB;;;;;;CACF;AArDD,wCAqDC;AAeD,SAAsB,iBAAiB,CACrC,cAAsB,EACtB,YAA6B,EAC7B,GAAiB,EACjB,GAAU;;;;;wBAEU,qBAAM,IAAA,0BAAkB,EAAC,YAAY,CAAC,EAAA;;oBAAlD,OAAO,GAAK,CAAA,SAAsC,CAAA,QAA3C;oBACT,KAAwB,IAAA,sBAAY,EAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAtD,YAAY,kBAAA,EAAE,GAAG,SAAA,CAAsC;oBAGzD,GAAG,GAAG,UAAG,OAAO,GAAG,cAAc,cAAW,CAAC;yBAC/C,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAApD,yBAAoD;;;;yBAEhD,YAAY,EAAZ,wBAAY;oBACC,qBAAM,4BAA4B,CAAC,YAAY,EAAE,cAAc,EAAE,2BAAiB,CAAC,EAAA;;oBAA5F,MAAM,GAAG,SAAmF;oBAClG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;;wBAEzB,MAAM,IAAI,KAAK,CAAC,2CAAoC,GAAG,uBAAa,OAAO,CAAE,CAAC,CAAC;;;;oBAGjF,IAAI,YAAY,EAAE;wBAChB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,OAAK,CAAC,CAAC;qBAChE;;;;oBAEgB,qBAAM,4BAA4B,CAAC,GAAG,EAAE,cAAc,EAAE,2BAAiB,CAAC,EAAA;;oBAAnF,MAAM,GAAG,SAA0E;oBACzF,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;;;;oBAEzB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,QAAM,CAAC,CAAC;oBAC7D,MAAM,IAAI,KAAK,CAAC,0CAAmC,cAAc,uBAAa,OAAO,CAAE,CAAC,CAAC;;;;oBAM5E,qBAAM,QAAQ,CAAC,GAAG,CAAC,EAAA;;oBAA9B,QAAQ,GAAG,SAAmB;yBAChC,QAAQ,EAAR,yBAAQ;oBACa,qBAAM,QAAQ,CAAC,GAAG,CAAC,EAAA;;oBAApC,YAAY,GAAI,CAAC,SAAmB,CAAkB,CAAC,WAAW;oBACxE,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAC,OAAO;wBAChC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,qBAAW,EAAC,OAAO,CAAC,iBAAiB,EAAE,yBAAiB,CAAC,EAAE,CAAC;oBAC/G,CAAC,CAAC,CAAC;oBAEG,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK;wBAC7C,IAAM,aAAa,GAAG,IAAA,gCAAoB,EAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;wBAC7E,OAAO,aAAa,CAAC,WAAW,EAAE,CAAC;oBACrC,CAAC,CAAC,CAAC;oBACqB,qBAAM,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAA;;oBAA1D,oBAAkB,SAAwC;oBAE1D,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK;wBAC9C,OAAO,IAAA,+BAAe,EAAC,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBACtE,CAAC,CAAC,CAAC;oBACoB,qBAAM,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAA;;oBAA1D,mBAAiB,SAAyC;oBAE1D,sBAAsB,GAAG,YAAY,CAAC,GAAG,CAAC,UAAC,KAAK;wBACpD,IAAM,cAAc,GAAG,IAAA,4BAAgB,EAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;wBAC1E,OAAO,cAAc,CAAC,QAAQ,EAAE,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACoB,qBAAM,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAA;;oBAA1D,mBAAiB,SAAyC;oBAE1D,sBAAsB,GAAG,YAAY,CAAC,GAAG,CAAC,UAAC,KAAK;wBACpD,IAAM,cAAc,GAAG,IAAA,4BAAgB,EAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;wBAC1E,OAAO,cAAc,CAAC,QAAQ,EAAE,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACoB,qBAAM,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAA;;oBAA1D,mBAAiB,SAAyC;oBAE1D,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK;wBACtC,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;wBACjC,IAAM,mBAAmB,GAAG,gBAAc,CAAC,KAAK,CAAC,CAAC;wBAClD,IAAM,kBAAkB,GAAG,iBAAe,CAAC,KAAK,CAAC,CAAC;wBAClD,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE;4BAChC,IAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;4BAChF,IAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;4BAChF,IAAM,aAAa,GAAG;gCACpB,OAAO,SAAA;gCACP,OAAO,SAAA;gCACP,CAAC,EAAE,OAAO;gCACV,CAAC,EAAE,OAAO;6BACM,CAAC;4BACnB,IAAI,CAAC,GAAG,EAAE;gCACR,IAAM,mBAAmB,GAAG,gBAAc,CAAC,KAAK,CAAC,CAAC;gCAClD,IAAM,mBAAmB,GAAG,gBAAc,CAAC,KAAK,CAAC,CAAC;gCAClD,IAAM,WAAW,GAAG;oCAClB,OAAO,EAAE,IAAA,sBAAY,EAAC,OAAO,EAAE,mBAAmB,CAAC;oCACnD,OAAO,EAAE,IAAA,sBAAY,EAAC,OAAO,EAAE,mBAAmB,CAAC;oCACnD,CAAC,EAAE,IAAA,sBAAY,EAAC,OAAO,EAAE,mBAAmB,CAAC;oCAC7C,CAAC,EAAE,IAAA,sBAAY,EAAC,OAAO,EAAE,mBAAmB,CAAC;iCAC/B,CAAC;gCACjB,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,WAAW,aAAA,EAAE,CAAC;6BAC1D;iCAAM;gCACL,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;6BACzE;yBACF;6BAAM,IAAI,CAAC,GAAG,EAAE;4BACf,OAAO;gCACL,YAAY,EAAE,KAAK,CAAC,YAAY;gCAChC,WAAW,EAAE;oCACX,OAAO,EAAE,GAAG;oCACZ,OAAO,EAAE,GAAG;oCACZ,CAAC,EAAE,GAAG;oCACN,CAAC,EAAE,GAAG;iCACP;6BACoB,CAAC;yBACzB;6BAAM;4BACL,OAAO;gCACL,YAAY,EAAE,KAAK,CAAC,YAAY;gCAChC,WAAW,EAAE;oCACX,OAAO,EAAE,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC1B,OAAO,EAAE,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC1B,CAAC,EAAE,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oCACpB,CAAC,EAAE,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;iCACrB;6BACsB,CAAC;yBAC3B;oBACH,CAAC,CAAC,CAAC;oBACH,sBAAO,OAAO,EAAC;yBAEf,sBAAO,EAAE,EAAC;;;;oBAGZ,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;oBAC5C,MAAM,OAAK,CAAC;;;;;CAEf;AAxHD,8CAwHC"}
|