impermax-sdk 2.1.9 → 2.1.10
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/lib/offchain/lendingPool/offchainLendingPool.js +4 -1
- package/lib/offchain/offchain.d.ts +1 -1
- package/lib/offchain/offchain.js +2 -2
- package/lib/offchain/offchainInitializer.js +36 -77
- package/lib/offchain/offchainMultichain.d.ts +2 -2
- package/lib/offchain/offchainMultichain.js +4 -8
- package/lib/offchain/queries/apis/ponder/index.js +3 -3
- package/lib/offchain/queries/apis/thegraph/index.js +8 -5
- package/lib/offchain/queries/interfaces/query-builder.d.ts +1 -1
- package/package.json +1 -1
|
@@ -183,9 +183,12 @@ class OffchainLendingPool {
|
|
|
183
183
|
}
|
|
184
184
|
// Amms and farms
|
|
185
185
|
getAmm() {
|
|
186
|
+
var _a, _b, _c;
|
|
186
187
|
return __awaiter(this, void 0, void 0, function* () {
|
|
187
188
|
const lendingPoolData = yield this.getLendingPoolData();
|
|
188
|
-
|
|
189
|
+
// TODO: this properly
|
|
190
|
+
const pairFactory = (_b = (_a = lendingPoolData.pair) === null || _a === void 0 ? void 0 : _a.uniswapV2Factory) !== null && _b !== void 0 ? _b : (_c = lendingPoolData.nftlp) === null || _c === void 0 ? void 0 : _c.dexFactory;
|
|
191
|
+
return (0, amms_1.getAmmByFactory)(this.offchain.network, pairFactory);
|
|
189
192
|
});
|
|
190
193
|
}
|
|
191
194
|
getFarm() {
|
|
@@ -43,7 +43,7 @@ export default class Offchain {
|
|
|
43
43
|
protected vaultsUsersData: {
|
|
44
44
|
[key in Address]?: Promise<AddressIndex<AddressIndex<VaultPosition>>>;
|
|
45
45
|
};
|
|
46
|
-
constructor(offchainMultichain: OffchainMultichain, network: Networks);
|
|
46
|
+
constructor(offchainMultichain: OffchainMultichain, network: Networks, whitelist?: FactoryIndex<Address[]>);
|
|
47
47
|
cleanCache(): void;
|
|
48
48
|
getLendingPool(factory: Factory, pairAddress: Address): Promise<OffchainLendingPool>;
|
|
49
49
|
getVault(vaultAddress: Address): Promise<OffchainVault>;
|
package/lib/offchain/offchain.js
CHANGED
|
@@ -45,7 +45,7 @@ const offchainVault_1 = __importDefault(require("./vault/offchainVault"));
|
|
|
45
45
|
const configManager_1 = __importDefault(require("./configManager"));
|
|
46
46
|
const chainId_1 = require("../config/chainId");
|
|
47
47
|
class Offchain {
|
|
48
|
-
constructor(offchainMultichain, network) {
|
|
48
|
+
constructor(offchainMultichain, network, whitelist) {
|
|
49
49
|
this.whitelistedPairs = {};
|
|
50
50
|
this.getPriceHelper = () => this.priceHelper;
|
|
51
51
|
this.getSolidexHelper = () => this.solidexHelper;
|
|
@@ -91,7 +91,7 @@ class Offchain {
|
|
|
91
91
|
// TODO fix conflicting lines (commented)
|
|
92
92
|
//this.network = cfg.network;
|
|
93
93
|
//this.chainId = cfg.chainId;
|
|
94
|
-
|
|
94
|
+
this.whitelistedPairs = whitelist !== null && whitelist !== void 0 ? whitelist : {};
|
|
95
95
|
this.offchainMultichain = offchainMultichain;
|
|
96
96
|
this.network = network;
|
|
97
97
|
this.chainId = chainId_1.CHAIN_IDS[network];
|
|
@@ -99,18 +99,29 @@ exports.fetchVaults = fetchVaults;
|
|
|
99
99
|
function fetchLendingPools() {
|
|
100
100
|
return __awaiter(this, void 0, void 0, function* () {
|
|
101
101
|
const calls = [];
|
|
102
|
+
const factories = [];
|
|
102
103
|
let factory;
|
|
103
104
|
for (factory in subgraphs_1.IMPERMAX_SUBGRAPH_URL[this.network]) {
|
|
104
|
-
// Multiple endpoints
|
|
105
105
|
const subgraphs = subgraphs_1.IMPERMAX_SUBGRAPH_URL[this.network][factory];
|
|
106
|
-
calls.push(this.endpointManager.fetch(subgraphs, this.network, (queryBuilder) => queryBuilder.lendingPoolsQuery(factory, [], this.network)));
|
|
106
|
+
calls.push(this.endpointManager.fetch(subgraphs, this.network, (queryBuilder) => queryBuilder.lendingPoolsQuery(factory, this.whitelistedPairs[factory], this.network)));
|
|
107
|
+
factories.push(factory);
|
|
107
108
|
}
|
|
108
109
|
const results = yield Promise.all(calls);
|
|
109
110
|
const lendingPools = {};
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
results.forEach((result, index) => {
|
|
112
|
+
var _a;
|
|
113
|
+
// `offchainEndpointManager` returns null when using filters and cant find subgraph with filter
|
|
114
|
+
if (!result)
|
|
115
|
+
return;
|
|
116
|
+
// Get the factory for this result
|
|
117
|
+
const factory = factories[index];
|
|
118
|
+
// Get pools data
|
|
119
|
+
const poolsForFactory = (_a = result.data) === null || _a === void 0 ? void 0 : _a.lendingPools;
|
|
120
|
+
if (!poolsForFactory)
|
|
121
|
+
return;
|
|
122
|
+
// Add all pools for this factory
|
|
123
|
+
lendingPools[factory] = poolsForFactory;
|
|
124
|
+
});
|
|
114
125
|
return lendingPools;
|
|
115
126
|
});
|
|
116
127
|
}
|
|
@@ -123,6 +134,7 @@ function fetchLendingPoolsPast(seconds) {
|
|
|
123
134
|
return null;
|
|
124
135
|
try {
|
|
125
136
|
const calls = [];
|
|
137
|
+
const factories = [];
|
|
126
138
|
let factory;
|
|
127
139
|
for (factory in subgraphs_1.IMPERMAX_SUBGRAPH_URL[this.network]) {
|
|
128
140
|
const endpoints = subgraphs_1.IMPERMAX_SUBGRAPH_URL[this.network][factory];
|
|
@@ -131,15 +143,25 @@ function fetchLendingPoolsPast(seconds) {
|
|
|
131
143
|
// Skip if no endpoints support past queries for this factory
|
|
132
144
|
if (supportedEndpoints.length === 0)
|
|
133
145
|
continue;
|
|
134
|
-
// Query only from supported endpoints
|
|
135
146
|
calls.push(this.endpointManager.fetch(supportedEndpoints, this.network, (queryBuilder) => queryBuilder.lendingPoolsPastQuery(blockNumber, this.whitelistedPairs[factory])));
|
|
147
|
+
factories.push(factory);
|
|
136
148
|
}
|
|
137
149
|
const results = yield Promise.all(calls);
|
|
138
150
|
const lendingPools = {};
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
151
|
+
results.forEach((result, index) => {
|
|
152
|
+
var _a;
|
|
153
|
+
// `offchainEndpointManager` returns null when using filters and cant find subgraph with filter
|
|
154
|
+
if (!result)
|
|
155
|
+
return;
|
|
156
|
+
// Get the factory for this result
|
|
157
|
+
const factory = factories[index];
|
|
158
|
+
// Get pools data
|
|
159
|
+
const poolsForFactory = (_a = result.data) === null || _a === void 0 ? void 0 : _a.lendingPools;
|
|
160
|
+
if (!poolsForFactory)
|
|
161
|
+
return;
|
|
162
|
+
// Add all pools for this factory
|
|
163
|
+
lendingPools[factory] = poolsForFactory;
|
|
164
|
+
});
|
|
143
165
|
return lendingPools;
|
|
144
166
|
}
|
|
145
167
|
catch (_a) {
|
|
@@ -309,14 +331,14 @@ function initializeLendingPoolsData() {
|
|
|
309
331
|
lendingPoolsOfAmm.push(lendingPool);
|
|
310
332
|
}
|
|
311
333
|
}
|
|
312
|
-
const uniswapAPR =
|
|
334
|
+
// const uniswapAPR = await this.fetchUniswapAPR(lendingPoolsByAmm);
|
|
313
335
|
// Organize lending pools data
|
|
314
336
|
for (const factory in lendingPools) {
|
|
315
337
|
for (const lendingPool of lendingPools[factory]) {
|
|
316
338
|
// WARN: Quick temporary fix, to be removed after
|
|
317
339
|
if (factory === "8")
|
|
318
|
-
lendingPool[
|
|
319
|
-
lendingPool.pair.uniswapAPR =
|
|
340
|
+
lendingPool["pair"] = lendingPool["nftlp"];
|
|
341
|
+
lendingPool.pair.uniswapAPR = 0;
|
|
320
342
|
if (impermaxChefRewardRates) {
|
|
321
343
|
lendingPool.borrowable0.rewards =
|
|
322
344
|
impermaxChefRewardRates[lendingPool.borrowable0.id];
|
|
@@ -384,37 +406,6 @@ function initializeLendingPoolsData() {
|
|
|
384
406
|
lendingPoolsDataV2V2[ETH_RDNT].pair.rewards[0].rewardRate = (parseFloat(lendingPoolsDataV2V2[ETH_RDNT].pair.rewards[0].rewardRate) / 2).toString();
|
|
385
407
|
}
|
|
386
408
|
}
|
|
387
|
-
/*if (lendingPoolsData[Factory.SOLV2][LIZ_LIZ_ETH]) {
|
|
388
|
-
const LIZ = lendingPoolsData[Factory.SOLV2][LIZ_LIZ_ETH].borrowable0.underlying;
|
|
389
|
-
lendingPoolsData[Factory.SOLV2][LIZ_LIZ_ETH].pair.rewards = [{
|
|
390
|
-
id: '',
|
|
391
|
-
rewardsToken: LIZ,
|
|
392
|
-
rewardRate: '3.724',
|
|
393
|
-
periodFinish: '0',
|
|
394
|
-
}];
|
|
395
|
-
lendingPoolsData[Factory.SOLV2][LIZ_LIZ_ETH].pair.stakedTotalSupply = '40131.19426';
|
|
396
|
-
lendingPoolsData[Factory.SOLV2][LIZ_ETH_USDC].pair.rewards = [{
|
|
397
|
-
id: '',
|
|
398
|
-
rewardsToken: LIZ,
|
|
399
|
-
rewardRate: '1.284',
|
|
400
|
-
periodFinish: '0',
|
|
401
|
-
}];
|
|
402
|
-
lendingPoolsData[Factory.SOLV2][LIZ_ETH_USDC].pair.stakedTotalSupply = '0.182614';
|
|
403
|
-
lendingPoolsData[Factory.SOLV2][LIZ_ETH_BTC].pair.rewards = [{
|
|
404
|
-
id: '',
|
|
405
|
-
rewardsToken: LIZ,
|
|
406
|
-
rewardRate: '0.159',
|
|
407
|
-
periodFinish: '0',
|
|
408
|
-
}];
|
|
409
|
-
lendingPoolsData[Factory.SOLV2][LIZ_ETH_BTC].pair.stakedTotalSupply = '0.002468';
|
|
410
|
-
lendingPoolsData[Factory.SOLV2][LIZ_LIZ_USDC].pair.rewards = [{
|
|
411
|
-
id: '',
|
|
412
|
-
rewardsToken: LIZ,
|
|
413
|
-
rewardRate: '1.566',
|
|
414
|
-
periodFinish: '0',
|
|
415
|
-
}];
|
|
416
|
-
lendingPoolsData[Factory.SOLV2][LIZ_LIZ_USDC].pair.stakedTotalSupply = '0.568227';
|
|
417
|
-
}*/
|
|
418
409
|
}
|
|
419
410
|
if (this.network === types_1.Networks.Polygon) {
|
|
420
411
|
const lendingPoolsDataV2V2 = lendingPoolsData[types_1.Factory.V2V2];
|
|
@@ -449,38 +440,6 @@ function initializeLendingPoolsData() {
|
|
|
449
440
|
"0.000000992210460243"; //https://snowtrace.io/token/0xe530dc2095ef5653205cf5ea79f8979a7028065c?a=0x784da19e61cf348a8c54547531795ecfee2affd1
|
|
450
441
|
}
|
|
451
442
|
}
|
|
452
|
-
/*REWARD STOPPED const sAVAX_AVAX = '0x5b588f4481035b0f765393fc9f4752615a6d0498';
|
|
453
|
-
if (lendingPoolsData[Factory.V2V1_2][sAVAX_AVAX]) {
|
|
454
|
-
const QI = lendingPoolsData[Factory.V2V1_2][QI_AVAX].borrowable0.underlying;
|
|
455
|
-
lendingPoolsData[Factory.V2V1_2][sAVAX_AVAX].pair.rewards[1] = {
|
|
456
|
-
id: '',
|
|
457
|
-
rewardsToken: QI,
|
|
458
|
-
rewardRate: '1.74',
|
|
459
|
-
periodFinish: '0',
|
|
460
|
-
};
|
|
461
|
-
}
|
|
462
|
-
const UST_AVAX = '0xc6e68d77d0f4fa925a1cf2611dab6b10900eaf2b';
|
|
463
|
-
if (lendingPoolsData[Factory.V2V1_2][UST_AVAX]) {
|
|
464
|
-
const AVAX = lendingPoolsData[Factory.V2V1_2][UST_AVAX].borrowable1.underlying;
|
|
465
|
-
lendingPoolsData[Factory.V2V1_2][UST_AVAX].pair.rewards[0].rewardRate = '0.000099';
|
|
466
|
-
lendingPoolsData[Factory.V2V1_2][UST_AVAX].pair.rewards[2] = {
|
|
467
|
-
id: '',
|
|
468
|
-
rewardsToken: AVAX,
|
|
469
|
-
rewardRate: '0.00047',
|
|
470
|
-
periodFinish: '0',
|
|
471
|
-
};
|
|
472
|
-
}
|
|
473
|
-
const UST_USDC = '0x69c1c44e8742b66d892294a7eeb9aac51891b0eb';
|
|
474
|
-
if (lendingPoolsData[Factory.V2V1_2][UST_USDC]) {
|
|
475
|
-
const AVAX = lendingPoolsData[Factory.V2V1_2][UST_AVAX].borrowable1.underlying;
|
|
476
|
-
lendingPoolsData[Factory.V2V1_2][UST_USDC].pair.rewards[0].rewardRate = '0.000099';
|
|
477
|
-
lendingPoolsData[Factory.V2V1_2][UST_USDC].pair.rewards[2] = {
|
|
478
|
-
id: '',
|
|
479
|
-
rewardsToken: AVAX,
|
|
480
|
-
rewardRate: '0.00047',
|
|
481
|
-
periodFinish: '0',
|
|
482
|
-
};
|
|
483
|
-
}*/
|
|
484
443
|
}
|
|
485
444
|
return lendingPoolsData;
|
|
486
445
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NetworkIndex, Networks, VaultType } from "../config/types";
|
|
1
|
+
import { NetworkIndex, Networks, VaultType, Address, FactoryIndex } from "../config/types";
|
|
2
2
|
import Offchain from "./offchain";
|
|
3
3
|
import OffchainVault from "./vault/offchainVault";
|
|
4
4
|
import { Amms } from "../config/amms";
|
|
@@ -48,7 +48,7 @@ export default class OffchainMultichain {
|
|
|
48
48
|
protected offchains: NetworkIndex<Offchain>;
|
|
49
49
|
private constructor();
|
|
50
50
|
static get instance(): OffchainMultichain;
|
|
51
|
-
getOffchain(network: Networks): Offchain;
|
|
51
|
+
getOffchain(network: Networks, whitelist?: FactoryIndex<Address[]>): Offchain;
|
|
52
52
|
getVaultList(params?: VaultListParams): Promise<Array<OffchainVault>>;
|
|
53
53
|
networkHasVault(network: Networks): boolean;
|
|
54
54
|
getLendingPoolList(params?: LendingPoolListParams): Promise<Array<OffchainLendingPool>>;
|
|
@@ -61,9 +61,9 @@ class OffchainMultichain {
|
|
|
61
61
|
}
|
|
62
62
|
return __classPrivateFieldGet(OffchainMultichain, _a, "f", _OffchainMultichain_instance);
|
|
63
63
|
}
|
|
64
|
-
getOffchain(network) {
|
|
64
|
+
getOffchain(network, whitelist) {
|
|
65
65
|
if (!this.offchains[network])
|
|
66
|
-
this.offchains[network] = new offchain_1.default(this, network);
|
|
66
|
+
this.offchains[network] = new offchain_1.default(this, network, whitelist);
|
|
67
67
|
return this.offchains[network];
|
|
68
68
|
}
|
|
69
69
|
/*--------------------------------------------------------*
|
|
@@ -73,18 +73,14 @@ class OffchainMultichain {
|
|
|
73
73
|
return __awaiter(this, void 0, void 0, function* () {
|
|
74
74
|
console.time("Vaults");
|
|
75
75
|
const allNetworks = params.networks || Object.values(types_1.Networks);
|
|
76
|
-
// Filter out networks without vaults
|
|
77
76
|
const networksWithVaults = allNetworks.filter((network) => this.networkHasVault(network));
|
|
78
77
|
// Networks
|
|
79
78
|
const networkPromises = networksWithVaults.map((network) => __awaiter(this, void 0, void 0, function* () {
|
|
80
79
|
const offchain = this.getOffchain(network);
|
|
81
80
|
const vaultsData = yield offchain.getVaultsData();
|
|
81
|
+
// VaultTypes
|
|
82
82
|
const vaultPromises = Object.keys(vaultsData).map((address) => offchain.getVault(address));
|
|
83
|
-
|
|
84
|
-
// TODO: Reomve this? Types
|
|
85
|
-
return params.type
|
|
86
|
-
? vaults.filter((vault) => vault.getVaultType() === params.type)
|
|
87
|
-
: vaults;
|
|
83
|
+
return Promise.all(vaultPromises);
|
|
88
84
|
}));
|
|
89
85
|
const results = yield Promise.all(networkPromises);
|
|
90
86
|
console.timeEnd("Vaults");
|
|
@@ -83,7 +83,7 @@ class PonderQueryBuilder {
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
}`;
|
|
86
|
-
const id_in_string = addressesFilter.length > 0 ? `id_in: ["${addressesFilter.join('","').toLowerCase()}"]
|
|
86
|
+
const id_in_string = (addressesFilter === null || addressesFilter === void 0 ? void 0 : addressesFilter.length) > 0 ? `id_in: ["${addressesFilter.join('","').toLowerCase()}"]` : "";
|
|
87
87
|
return (0, graphql_tag_1.default) `{
|
|
88
88
|
lendingPools(
|
|
89
89
|
limit: 1000
|
|
@@ -176,7 +176,7 @@ class PonderQueryBuilder {
|
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
}`;
|
|
179
|
-
const id_in_string = addressesFilter.length > 0 ? `id_in: ["${addressesFilter.join('","').toLowerCase()}"]
|
|
179
|
+
const id_in_string = (addressesFilter === null || addressesFilter === void 0 ? void 0 : addressesFilter.length) > 0 ? `id_in: ["${addressesFilter.join('","').toLowerCase()}"]` : "";
|
|
180
180
|
return (0, graphql_tag_1.default) `{
|
|
181
181
|
lendingPools(
|
|
182
182
|
limit: 1000
|
|
@@ -264,7 +264,7 @@ class PonderQueryBuilder {
|
|
|
264
264
|
*-----------------------------*/
|
|
265
265
|
vaultsQuery(vaultType, addressesFilter) {
|
|
266
266
|
// do something here for difference kind of vault type, currently only lending
|
|
267
|
-
const id_in_string = addressesFilter.length > 0 ? `
|
|
267
|
+
const id_in_string = (addressesFilter === null || addressesFilter === void 0 ? void 0 : addressesFilter.length) > 0 ? `id_in: ["${addressesFilter.join('","').toLowerCase()}"]` : "";
|
|
268
268
|
return (0, graphql_tag_1.default) `{
|
|
269
269
|
lendingVaults(limit: 1000, ${id_in_string}) {
|
|
270
270
|
items {
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.TheGraphQueryBuilder = void 0;
|
|
7
7
|
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
8
|
+
const types_1 = require("../../../../config/types");
|
|
8
9
|
const factories_1 = require("../../../../config/factories");
|
|
9
10
|
// TODO: Might need to separate Vaults query based on vault type, maybe not.
|
|
10
11
|
class TheGraphQueryBuilder {
|
|
@@ -37,6 +38,8 @@ class TheGraphQueryBuilder {
|
|
|
37
38
|
return (0, graphql_tag_1.default) `{}`;
|
|
38
39
|
}
|
|
39
40
|
lendingPoolsQuery(factory, addressesFilter) {
|
|
41
|
+
if (factory == types_1.Factory.V3)
|
|
42
|
+
return this.lendingPoolsV3Query(factory, addressesFilter);
|
|
40
43
|
const tokenStr = `{
|
|
41
44
|
id
|
|
42
45
|
symbol
|
|
@@ -107,7 +110,7 @@ class TheGraphQueryBuilder {
|
|
|
107
110
|
periodFinish
|
|
108
111
|
}
|
|
109
112
|
}`;
|
|
110
|
-
const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
|
|
113
|
+
const id_in_string = (addressesFilter === null || addressesFilter === void 0 ? void 0 : addressesFilter.length) > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
|
|
111
114
|
return (0, graphql_tag_1.default) `{
|
|
112
115
|
lendingPools(first: 1000, orderBy: totalBorrowsUSD, orderDirection: desc ${id_in_string}) {
|
|
113
116
|
id
|
|
@@ -190,7 +193,7 @@ class TheGraphQueryBuilder {
|
|
|
190
193
|
*-----------------------------*/
|
|
191
194
|
vaultsQuery(vaultType, addressesFilter) {
|
|
192
195
|
// do something here for difference kind of vault type, currently only lending
|
|
193
|
-
const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
|
|
196
|
+
const id_in_string = (addressesFilter === null || addressesFilter === void 0 ? void 0 : addressesFilter.length) > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
|
|
194
197
|
return (0, graphql_tag_1.default) `{
|
|
195
198
|
lendingVaults(first: 1000 ${id_in_string}) {
|
|
196
199
|
id
|
|
@@ -293,7 +296,7 @@ class TheGraphQueryBuilder {
|
|
|
293
296
|
accrualTimestamp
|
|
294
297
|
exchangeRate
|
|
295
298
|
}`;
|
|
296
|
-
const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
|
|
299
|
+
const id_in_string = (addressesFilter === null || addressesFilter === void 0 ? void 0 : addressesFilter.length) > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
|
|
297
300
|
return (0, graphql_tag_1.default) `{
|
|
298
301
|
lendingPools(first: 1000, orderBy: totalBorrowsUSD, orderDirection: desc, block: {number: ${blockNumber}} ${id_in_string}) {
|
|
299
302
|
id
|
|
@@ -329,7 +332,7 @@ class TheGraphQueryBuilder {
|
|
|
329
332
|
}`;
|
|
330
333
|
}
|
|
331
334
|
pastVolumeQuery(blockNumber, addressesFilter) {
|
|
332
|
-
const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
|
|
335
|
+
const id_in_string = (addressesFilter === null || addressesFilter === void 0 ? void 0 : addressesFilter.length) > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
|
|
333
336
|
return (0, graphql_tag_1.default) `{
|
|
334
337
|
pairs (block: {number: ${blockNumber}} ${id_in_string}) {
|
|
335
338
|
id
|
|
@@ -338,7 +341,7 @@ class TheGraphQueryBuilder {
|
|
|
338
341
|
}`;
|
|
339
342
|
}
|
|
340
343
|
currentVolumeAndReservesQuery(addressesFilter) {
|
|
341
|
-
const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
|
|
344
|
+
const id_in_string = (addressesFilter === null || addressesFilter === void 0 ? void 0 : addressesFilter.length) > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
|
|
342
345
|
return (0, graphql_tag_1.default) `{
|
|
343
346
|
pairs (${id_in_string}) {
|
|
344
347
|
id
|
|
@@ -4,7 +4,7 @@ export interface IQueryBuilder {
|
|
|
4
4
|
blockQuery(timestamp: number): DocumentNode;
|
|
5
5
|
getBlockNumber: (response: any, network: Networks) => number;
|
|
6
6
|
lendingPoolsV3Query(factory: Factory, addressesFilter: Address[], network: Networks): DocumentNode;
|
|
7
|
-
lendingPoolsQuery(factory: Factory, addressesFilter: Address[], network: Networks): DocumentNode;
|
|
7
|
+
lendingPoolsQuery(factory: Factory, addressesFilter: Address[] | undefined, network: Networks): DocumentNode;
|
|
8
8
|
userQuery(account: Address, network: Networks, factory: Factory): DocumentNode;
|
|
9
9
|
tvlQuery(): DocumentNode;
|
|
10
10
|
vaultsQuery(vaultType: VaultType, addressesFilter: Address[]): DocumentNode;
|