@paraswap/dex-lib 4.0.1 → 4.0.3-Cables.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/.idea/aws.xml +17 -0
- package/.idea/codeStyles/Project.xml +19 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/paraswap-dex-lib.iml +9 -0
- package/.idea/prettier.xml +7 -0
- package/.idea/vcs.xml +6 -0
- package/build/abi/integral/factory.json +333 -0
- package/build/abi/integral/oracle.json +501 -0
- package/build/abi/{inception/inception-ineth-pool.json → integral/pool.json} +522 -543
- package/build/abi/{wombat/pool.json → integral/relayer.json} +720 -473
- package/build/dex/aave-v1/aave-v1.d.ts +1 -2
- package/build/dex/aave-v1/aave-v1.js +0 -23
- package/build/dex/aave-v1/aave-v1.js.map +1 -1
- package/build/dex/balancer-v3/balancer-v3.d.ts +3 -0
- package/build/dex/balancer-v3/balancer-v3.js +10 -1
- package/build/dex/balancer-v3/balancer-v3.js.map +1 -1
- package/build/dex/bebop/bebop.js +1 -1
- package/build/dex/bebop/bebop.js.map +1 -1
- package/build/dex/cables/cables.d.ts +1 -0
- package/build/dex/cables/cables.js +145 -88
- package/build/dex/cables/cables.js.map +1 -1
- package/build/dex/cables/constants.js +1 -1
- package/build/dex/cables/constants.js.map +1 -1
- package/build/dex/cables/rate-fetcher.d.ts +1 -0
- package/build/dex/cables/rate-fetcher.js +30 -10
- package/build/dex/cables/rate-fetcher.js.map +1 -1
- package/build/dex/cables/types.d.ts +16 -15
- package/build/dex/cables/types.js +2 -5
- package/build/dex/cables/types.js.map +1 -1
- package/build/dex/dexalot/dexalot.js.map +1 -1
- package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +49 -0
- package/build/dex/fluid-dex/fluid-dex-generate-pool.js +104 -0
- package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +1 -0
- package/build/dex/index.js +2 -0
- package/build/dex/index.js.map +1 -1
- package/build/dex/integral/config.d.ts +4 -0
- package/build/dex/integral/config.js +20 -0
- package/build/dex/integral/config.js.map +1 -0
- package/build/dex/integral/context.d.ts +40 -0
- package/build/dex/integral/context.js +158 -0
- package/build/dex/integral/context.js.map +1 -0
- package/build/dex/integral/integral-factory.d.ts +24 -0
- package/build/dex/integral/integral-factory.js +95 -0
- package/build/dex/integral/integral-factory.js.map +1 -0
- package/build/dex/integral/integral-pool.d.ts +50 -0
- package/build/dex/integral/integral-pool.js +149 -0
- package/build/dex/integral/integral-pool.js.map +1 -0
- package/build/dex/integral/integral-pricing.d.ts +18 -0
- package/build/dex/integral/integral-pricing.js +114 -0
- package/build/dex/integral/integral-pricing.js.map +1 -0
- package/build/dex/integral/integral-relayer.d.ts +42 -0
- package/build/dex/integral/integral-relayer.js +192 -0
- package/build/dex/integral/integral-relayer.js.map +1 -0
- package/build/dex/integral/integral-token.d.ts +27 -0
- package/build/dex/integral/integral-token.js +59 -0
- package/build/dex/integral/integral-token.js.map +1 -0
- package/build/dex/integral/integral.d.ts +41 -0
- package/build/dex/integral/integral.js +376 -0
- package/build/dex/integral/integral.js.map +1 -0
- package/build/dex/integral/types.d.ts +85 -0
- package/build/dex/integral/types.js +9 -0
- package/build/dex/integral/types.js.map +1 -0
- package/build/dex/integral/utils-e2e.d.ts +9 -0
- package/build/dex/integral/utils-e2e.js +131 -0
- package/build/dex/integral/utils-e2e.js.map +1 -0
- package/build/dex/integral/utils.d.ts +17 -0
- package/build/dex/integral/utils.js +94 -0
- package/build/dex/integral/utils.js.map +1 -0
- package/build/dex/jarvis.d.ts +1 -2
- package/build/dex/jarvis.js +0 -58
- package/build/dex/jarvis.js.map +1 -1
- package/build/dex/platypus/platypus.d.ts +1 -2
- package/build/dex/platypus/platypus.js +0 -45
- package/build/dex/platypus/platypus.js.map +1 -1
- package/build/dex/stable-pool.js +8 -1
- package/build/dex/stable-pool.js.map +1 -1
- package/build/dex/swaap-v1/swaap-v1.d.ts +1 -2
- package/build/dex/swaap-v1/swaap-v1.js +0 -14
- package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
- package/build/dex/trader-joe-v2.1/optimizer.d.ts +2 -0
- package/build/dex/trader-joe-v2.1/optimizer.js +47 -0
- package/build/dex/trader-joe-v2.1/optimizer.js.map +1 -0
- package/build/dex/zerox/index.d.ts +26 -4
- package/build/dex/zerox/index.js +42 -50
- package/build/dex/zerox/index.js.map +1 -1
- package/build/dex/zerox/types.d.ts +0 -29
- package/build/dex/zerox/types.js +1 -8
- package/build/dex/zerox/types.js.map +1 -1
- package/build/executor/Executor01BytecodeBuilder.js +11 -6
- package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
- package/build/executor/Executor02BytecodeBuilder.js +11 -6
- package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
- package/build/executor/Executor03BytecodeBuilder.js +11 -6
- package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
- package/build/types.d.ts +1 -0
- package/package.json +1 -1
- package/src/abi/cables/CablesMainnetRFQ.json +1083 -0
- package/src/dex/balancer-v3/balancer-v3.ts +14 -1
- package/src/dex/bebop/bebop.ts +1 -1
- package/src/dex/cables/cables-e2e.test.ts +207 -0
- package/src/dex/cables/cables-integration.test.ts +391 -0
- package/src/dex/cables/cables.ts +1006 -0
- package/src/dex/cables/config.ts +13 -0
- package/src/dex/cables/constants.ts +35 -0
- package/src/dex/cables/rate-fetcher.ts +219 -0
- package/src/dex/cables/types.ts +130 -0
- package/src/dex/cables/validators.test.ts +151 -0
- package/src/dex/cables/validators.ts +61 -0
- package/src/dex/dexalot/dexalot.ts +1 -0
- package/src/dex/index.ts +2 -0
- package/src/executor/Executor01BytecodeBuilder.ts +15 -11
- package/src/executor/Executor02BytecodeBuilder.ts +13 -9
- package/src/executor/Executor03BytecodeBuilder.ts +16 -9
- package/src/types.ts +1 -0
- package/tests/constants-e2e.ts +2 -2
- package/.vscode/launch.json +0 -53
- package/.vscode/settings.json +0 -2
- package/.vscode/tasks.json +0 -15
- package/build/abi/inception/inception-ratio-feed.json +0 -329
- package/build/abi/inception/inception-vault.json +0 -991
- package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +0 -52
- package/build/abi/usual-m-smart-m/usualM.abi.json +0 -483
- package/build/abi/usual-m-usd0/usualCollateralDao.abi.json +0 -681
- package/build/dex/aave-v2/tokens-avalanche.json +0 -44
- package/build/dex/aave-v2/tokens-mainnet.json +0 -188
- package/build/dex/aave-v2/tokens-polygon.json +0 -44
- package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +0 -729
- package/build/dex/balancer-v3/abi/balancerBatchRouter.js +0 -732
- package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +0 -1
- package/build/dex/balancer-v3/abi/balancerRouter.d.ts +0 -1406
- package/build/dex/balancer-v3/abi/balancerRouter.js +0 -1175
- package/build/dex/balancer-v3/abi/balancerRouter.js.map +0 -1
- package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +0 -2081
- package/build/dex/balancer-v3/abi/vaultExtension.V3.js +0 -1851
- package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +0 -1
- package/build/dex/balancer-v3/balancer-v3-sepolia-pools.d.ts +0 -34
- package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js +0 -406
- package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js.map +0 -1
- package/build/dex/inception/config.d.ts +0 -4
- package/build/dex/inception/config.js +0 -109
- package/build/dex/inception/config.js.map +0 -1
- package/build/dex/inception/inception-event-pool.d.ts +0 -16
- package/build/dex/inception/inception-event-pool.js +0 -49
- package/build/dex/inception/inception-event-pool.js.map +0 -1
- package/build/dex/inception/inception.d.ts +0 -43
- package/build/dex/inception/inception.js +0 -180
- package/build/dex/inception/inception.js.map +0 -1
- package/build/dex/inception/tokens.d.ts +0 -9
- package/build/dex/inception/tokens.js +0 -28
- package/build/dex/inception/tokens.js.map +0 -1
- package/build/dex/inception/types.d.ts +0 -22
- package/build/dex/inception/types.js +0 -3
- package/build/dex/inception/types.js.map +0 -1
- package/build/dex/inception/utils.d.ts +0 -7
- package/build/dex/inception/utils.js +0 -58
- package/build/dex/inception/utils.js.map +0 -1
- package/build/dex/maker-psm/scripts/gem.abi.json +0 -136
- package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
- package/build/dex/maker-psm/scripts/validate-state.js +0 -185
- package/build/dex/maker-psm/scripts/validate-state.js.map +0 -1
- package/build/dex/maker-psm/scripts/vat.abi.json +0 -243
- package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +0 -1
- package/build/dex/solidly-v3/scripts/check-event-pool-event.js +0 -53
- package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +0 -1
- package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +0 -17
- package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +0 -64
- package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +0 -1
- package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +0 -17
- package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +0 -79
- package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +0 -1
- package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +0 -4
- package/build/dex/uniswap-v3/uniswap-v3-pricing.js +0 -43
- package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +0 -1
- package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +0 -1
- package/build/dex/uniswap-v3/uniswap-v3-worker.js +0 -10
- package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +0 -1
- package/build/dex/usual/types.d.ts +0 -13
- package/build/dex/usual/types.js +0 -3
- package/build/dex/usual/types.js.map +0 -1
- package/build/dex/usual/usual-bond.d.ts +0 -18
- package/build/dex/usual/usual-bond.js +0 -52
- package/build/dex/usual/usual-bond.js.map +0 -1
- package/build/dex/usual/usual-m-smart-m.d.ts +0 -17
- package/build/dex/usual/usual-m-smart-m.js +0 -50
- package/build/dex/usual/usual-m-smart-m.js.map +0 -1
- package/build/dex/usual/usual-m-usd0.d.ts +0 -17
- package/build/dex/usual/usual-m-usd0.js +0 -51
- package/build/dex/usual/usual-m-usd0.js.map +0 -1
- package/build/dex/usual/usual.d.ts +0 -27
- package/build/dex/usual/usual.js +0 -125
- package/build/dex/usual/usual.js.map +0 -1
- package/build/dex/usual-m-smart-m/config.d.ts +0 -3
- package/build/dex/usual-m-smart-m/config.js +0 -13
- package/build/dex/usual-m-smart-m/config.js.map +0 -1
- package/build/dex/usual-m-smart-m/types.d.ts +0 -7
- package/build/dex/usual-m-smart-m/types.js +0 -3
- package/build/dex/usual-m-smart-m/types.js.map +0 -1
- package/build/dex/usual-m-smart-m/usual-m-smart-m.d.ts +0 -35
- package/build/dex/usual-m-smart-m/usual-m-smart-m.js +0 -161
- package/build/dex/usual-m-smart-m/usual-m-smart-m.js.map +0 -1
- package/build/dex/usual-m-usd0/config.d.ts +0 -3
- package/build/dex/usual-m-usd0/config.js +0 -14
- package/build/dex/usual-m-usd0/config.js.map +0 -1
- package/build/dex/usual-m-usd0/types.d.ts +0 -8
- package/build/dex/usual-m-usd0/types.js +0 -3
- package/build/dex/usual-m-usd0/types.js.map +0 -1
- package/build/dex/usual-m-usd0/usual-m-usd0.d.ts +0 -35
- package/build/dex/usual-m-usd0/usual-m-usd0.js +0 -159
- package/build/dex/usual-m-usd0/usual-m-usd0.js.map +0 -1
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
37
|
};
|
|
@@ -42,7 +52,19 @@ const utils_2 = require("ethers/lib/utils");
|
|
|
42
52
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
43
53
|
const ethers_1 = require("ethers");
|
|
44
54
|
const bigint_constants_1 = require("../../bigint-constants");
|
|
55
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
45
56
|
class Cables extends simple_exchange_1.SimpleExchange {
|
|
57
|
+
network;
|
|
58
|
+
dexKey;
|
|
59
|
+
dexHelper;
|
|
60
|
+
mainnetRFQAddress;
|
|
61
|
+
rfqInterface;
|
|
62
|
+
static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.CablesConfig);
|
|
63
|
+
isStatePollingDex = true;
|
|
64
|
+
rateFetcher;
|
|
65
|
+
logger;
|
|
66
|
+
tokensMap = {};
|
|
67
|
+
hasConstantPriceLargeAmounts = false;
|
|
46
68
|
constructor(network, dexKey, dexHelper, mainnetRFQAddress = config_1.CablesConfig['Cables'][network]
|
|
47
69
|
.mainnetRFQAddress, rfqInterface = new utils_2.Interface(CablesMainnetRFQ_json_1.default)) {
|
|
48
70
|
super(dexHelper, dexKey);
|
|
@@ -51,15 +73,6 @@ class Cables extends simple_exchange_1.SimpleExchange {
|
|
|
51
73
|
this.dexHelper = dexHelper;
|
|
52
74
|
this.mainnetRFQAddress = mainnetRFQAddress;
|
|
53
75
|
this.rfqInterface = rfqInterface;
|
|
54
|
-
this.isStatePollingDex = true;
|
|
55
|
-
this.tokensMap = {};
|
|
56
|
-
this.hasConstantPriceLargeAmounts = false;
|
|
57
|
-
// Function to find a key by address
|
|
58
|
-
this.findKeyByAddress = (jsonData, targetAddress) => {
|
|
59
|
-
const entries = Object.entries(jsonData);
|
|
60
|
-
const foundEntry = entries.find(([_, value]) => value.address.toLowerCase() === targetAddress.toLowerCase());
|
|
61
|
-
return foundEntry ? foundEntry[0] : undefined;
|
|
62
|
-
};
|
|
63
76
|
this.logger = dexHelper.getLogger(dexKey);
|
|
64
77
|
this.rateFetcher = new rate_fetcher_1.CablesRateFetcher(this.dexHelper, this.dexKey, this.network, this.logger, {
|
|
65
78
|
rateConfig: {
|
|
@@ -77,16 +90,19 @@ class Cables extends simple_exchange_1.SimpleExchange {
|
|
|
77
90
|
},
|
|
78
91
|
pricesIntervalMs: constants_2.CABLES_API_PRICES_POLLING_INTERVAL_MS,
|
|
79
92
|
pricesCacheTTLSecs: constants_2.CABLES_PRICES_CACHES_TTL_S,
|
|
80
|
-
pricesCacheKey: '
|
|
93
|
+
pricesCacheKey: 'prices',
|
|
81
94
|
pairsIntervalMs: constants_2.CABLES_API_PAIRS_POLLING_INTERVAL_MS,
|
|
82
95
|
pairsCacheTTLSecs: constants_2.CABLES_PAIRS_CACHES_TTL_S,
|
|
83
|
-
pairsCacheKey: '
|
|
96
|
+
pairsCacheKey: 'pairs',
|
|
84
97
|
tokensIntervalMs: constants_2.CABLES_API_TOKENS_POLLING_INTERVAL_MS,
|
|
85
98
|
tokensCacheTTLSecs: constants_2.CABLES_TOKENS_CACHES_TTL_S,
|
|
86
|
-
tokensCacheKey: '
|
|
99
|
+
tokensCacheKey: 'tokens',
|
|
87
100
|
blacklistIntervalMs: constants_2.CABLES_API_BLACKLIST_POLLING_INTERVAL_MS,
|
|
88
101
|
blacklistCacheTTLSecs: constants_2.CABLES_BLACKLIST_CACHES_TTL_S,
|
|
89
102
|
blacklistCacheKey: constants_2.CABLES_BLACKLIST_CACHE_KEY,
|
|
103
|
+
tokensHandleResponseCallback: async () => {
|
|
104
|
+
await this.setTokensMap();
|
|
105
|
+
},
|
|
90
106
|
},
|
|
91
107
|
});
|
|
92
108
|
}
|
|
@@ -173,7 +189,7 @@ class Cables extends simple_exchange_1.SimpleExchange {
|
|
|
173
189
|
getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side) {
|
|
174
190
|
const { quoteData } = data;
|
|
175
191
|
(0, ts_essentials_1.assert)(quoteData !== undefined, `${this.dexKey}-${this.network}: quoteData undefined`);
|
|
176
|
-
const swapFunction = '
|
|
192
|
+
const swapFunction = 'partialSwap';
|
|
177
193
|
const swapFunctionParams = [
|
|
178
194
|
[
|
|
179
195
|
quoteData.nonceAndMeta,
|
|
@@ -186,15 +202,22 @@ class Cables extends simple_exchange_1.SimpleExchange {
|
|
|
186
202
|
quoteData.takerAmount,
|
|
187
203
|
],
|
|
188
204
|
quoteData.signature,
|
|
205
|
+
// might be overwritten on Executors
|
|
206
|
+
quoteData.takerAmount,
|
|
189
207
|
];
|
|
190
208
|
const exchangeData = this.rfqInterface.encodeFunctionData(swapFunction, swapFunctionParams);
|
|
209
|
+
const fromAmount = ethers_1.ethers.utils.defaultAbiCoder.encode(['uint256'], [quoteData.takerAmount]);
|
|
210
|
+
const filledAmountIndex = exchangeData
|
|
211
|
+
.replace('0x', '')
|
|
212
|
+
.lastIndexOf(fromAmount.replace('0x', ''));
|
|
213
|
+
const filledAmountPos = (filledAmountIndex !== -1 ? filledAmountIndex : exchangeData.length) / 2;
|
|
191
214
|
return {
|
|
192
215
|
exchangeData,
|
|
193
|
-
swappedAmountNotPresentInExchangeData: true,
|
|
194
216
|
needWrapNative: this.needWrapNative,
|
|
195
217
|
dexFuncHasRecipient: false,
|
|
196
218
|
targetExchange: this.mainnetRFQAddress,
|
|
197
219
|
returnAmountPos: undefined,
|
|
220
|
+
insertFromAmountPos: filledAmountPos,
|
|
198
221
|
};
|
|
199
222
|
}
|
|
200
223
|
getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
@@ -254,6 +277,7 @@ class Cables extends simple_exchange_1.SimpleExchange {
|
|
|
254
277
|
return `${this.dexKey}_${srcAddress}_${destAddress}_${mm}`.toLowerCase();
|
|
255
278
|
}
|
|
256
279
|
async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
|
|
280
|
+
await this.setTokensMap();
|
|
257
281
|
if (!srcToken || !destToken) {
|
|
258
282
|
return [];
|
|
259
283
|
}
|
|
@@ -340,6 +364,7 @@ class Cables extends simple_exchange_1.SimpleExchange {
|
|
|
340
364
|
if (isRestricted) {
|
|
341
365
|
return null;
|
|
342
366
|
}
|
|
367
|
+
await this.setTokensMap();
|
|
343
368
|
try {
|
|
344
369
|
const normalizedSrcToken = this.normalizeToken(srcToken);
|
|
345
370
|
const normalizedDestToken = this.normalizeToken(destToken);
|
|
@@ -348,20 +373,13 @@ class Cables extends simple_exchange_1.SimpleExchange {
|
|
|
348
373
|
normalizedDestToken.address.toLowerCase()) {
|
|
349
374
|
return null;
|
|
350
375
|
}
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
this.tokensMap = Object.keys(tokens).reduce((acc, key) => {
|
|
354
|
-
//@ts-ignore
|
|
355
|
-
acc[tokens[key].address.toLowerCase()] = tokens[key];
|
|
356
|
-
return acc;
|
|
357
|
-
}, {});
|
|
358
|
-
for (const symbol of Object.keys(tokens)) {
|
|
359
|
-
const normalizedTokenAddress = tokens[symbol].address.toLowerCase();
|
|
376
|
+
for (const symbol of Object.keys(this.tokensMap)) {
|
|
377
|
+
const normalizedTokenAddress = this.tokensMap[symbol].address.toLowerCase();
|
|
360
378
|
if (normalizedSrcToken.address === normalizedTokenAddress) {
|
|
361
|
-
normalizedSrcToken.symbol =
|
|
379
|
+
normalizedSrcToken.symbol = this.tokensMap[symbol].symbol;
|
|
362
380
|
}
|
|
363
381
|
if (normalizedDestToken.address === normalizedTokenAddress) {
|
|
364
|
-
normalizedDestToken.symbol =
|
|
382
|
+
normalizedDestToken.symbol = this.tokensMap[symbol].symbol;
|
|
365
383
|
}
|
|
366
384
|
}
|
|
367
385
|
// ---------- Pools ----------
|
|
@@ -450,62 +468,96 @@ class Cables extends simple_exchange_1.SimpleExchange {
|
|
|
450
468
|
? constants_1.NULL_ADDRESS
|
|
451
469
|
: address.toLowerCase();
|
|
452
470
|
}
|
|
471
|
+
async setTokensMap() {
|
|
472
|
+
const tokens = await this.getCachedTokens();
|
|
473
|
+
if (tokens) {
|
|
474
|
+
this.tokensMap = Object.keys(tokens).reduce((acc, key) => {
|
|
475
|
+
//@ts-ignore
|
|
476
|
+
acc[tokens[key].address.toLowerCase()] = tokens[key];
|
|
477
|
+
return acc;
|
|
478
|
+
}, {});
|
|
479
|
+
}
|
|
480
|
+
}
|
|
453
481
|
async getTopPoolsForToken(tokenAddress, limit) {
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
482
|
+
const isETH = tokenAddress.toLowerCase() === constants_1.ETHER_ADDRESS;
|
|
483
|
+
const denormalizedTokenAddress = isETH ? constants_1.NULL_ADDRESS : tokenAddress;
|
|
484
|
+
const tokens = (await this.getCachedTokens());
|
|
485
|
+
const token = Object.values(tokens).find(token => token.address.toLowerCase() === denormalizedTokenAddress.toLowerCase());
|
|
486
|
+
if (!token) {
|
|
487
|
+
return [];
|
|
488
|
+
}
|
|
489
|
+
const pairs = (await this.getCachedPairs());
|
|
490
|
+
const connectorTokens = Object.keys(pairs)
|
|
491
|
+
.filter(pairKey => {
|
|
492
|
+
const { base, quote } = pairs[pairKey];
|
|
493
|
+
if (base.toLowerCase() === token.symbol?.toLowerCase() ||
|
|
494
|
+
quote.toLowerCase() === token.symbol?.toLowerCase()) {
|
|
495
|
+
return true;
|
|
496
|
+
}
|
|
497
|
+
return false;
|
|
498
|
+
})
|
|
499
|
+
.map(pairKey => {
|
|
500
|
+
const { base, quote } = pairs[pairKey];
|
|
501
|
+
if (base.toLowerCase() === token.symbol?.toLowerCase()) {
|
|
502
|
+
return tokens[quote];
|
|
503
|
+
}
|
|
504
|
+
if (quote.toLowerCase() === token.symbol?.toLowerCase()) {
|
|
505
|
+
return tokens[base];
|
|
506
|
+
}
|
|
507
|
+
});
|
|
508
|
+
if (connectorTokens.length === 0) {
|
|
509
|
+
return [];
|
|
510
|
+
}
|
|
511
|
+
connectorTokens.push(token);
|
|
512
|
+
const tokensBalanceMultiCall = connectorTokens.map(token => {
|
|
513
|
+
let erc20BalanceCalldata;
|
|
514
|
+
if (token?.address.toLowerCase() === constants_1.NULL_ADDRESS) {
|
|
515
|
+
erc20BalanceCalldata = this.dexHelper.multiContract.methods
|
|
516
|
+
.getEthBalance(this.mainnetRFQAddress)
|
|
517
|
+
.encodeABI();
|
|
518
|
+
}
|
|
519
|
+
else {
|
|
520
|
+
erc20BalanceCalldata = this.erc20Interface.encodeFunctionData('balanceOf', [this.mainnetRFQAddress]);
|
|
521
|
+
}
|
|
522
|
+
return {
|
|
523
|
+
target: token?.address.toLowerCase() === constants_1.NULL_ADDRESS
|
|
524
|
+
? this.dexHelper.config.data.multicallV2Address.toLowerCase()
|
|
525
|
+
: token?.address,
|
|
526
|
+
callData: erc20BalanceCalldata,
|
|
527
|
+
};
|
|
528
|
+
});
|
|
529
|
+
const res = (await this.dexHelper.multiContract.methods
|
|
530
|
+
.aggregate(tokensBalanceMultiCall)
|
|
531
|
+
.call()).returnData;
|
|
532
|
+
const balances = res.map((item) => {
|
|
533
|
+
if (item === '0x') {
|
|
534
|
+
return 0n;
|
|
535
|
+
}
|
|
536
|
+
return BigInt(item.toString());
|
|
537
|
+
});
|
|
538
|
+
const connectorsPricesUSD = await Promise.all(connectorTokens.map(async (token, index) => this.dexHelper.getTokenUSDPrice(token, balances[index])));
|
|
539
|
+
const extendedConnectors = connectorTokens.map((token, index) => ({
|
|
540
|
+
...token,
|
|
541
|
+
usdPrice: connectorsPricesUSD[index],
|
|
542
|
+
}));
|
|
543
|
+
const tokenUSDPrice = lodash_1.default.last(extendedConnectors).usdPrice;
|
|
544
|
+
extendedConnectors.pop(); // to remove token which was added before
|
|
545
|
+
const connectors = extendedConnectors.map(connector => {
|
|
546
|
+
return {
|
|
547
|
+
exchange: this.dexKey,
|
|
548
|
+
address: this.mainnetRFQAddress,
|
|
549
|
+
connectorTokens: [
|
|
550
|
+
{
|
|
551
|
+
address: connector.address === constants_1.NULL_ADDRESS
|
|
552
|
+
? constants_1.ETHER_ADDRESS
|
|
553
|
+
: connector.address,
|
|
554
|
+
decimals: connector.decimals,
|
|
555
|
+
},
|
|
556
|
+
],
|
|
557
|
+
liquidityUSD: Number(connector.usdPrice) + Number(tokenUSDPrice),
|
|
558
|
+
};
|
|
559
|
+
});
|
|
560
|
+
return lodash_1.default.slice(lodash_1.default.sortBy(connectors, [pool => -1 * pool.liquidityUSD]), 0, limit);
|
|
509
561
|
}
|
|
510
562
|
/**
|
|
511
563
|
* CACHED UTILS
|
|
@@ -533,6 +585,12 @@ class Cables extends simple_exchange_1.SimpleExchange {
|
|
|
533
585
|
getPairString(baseToken, quoteToken) {
|
|
534
586
|
return `${baseToken.symbol}/${quoteToken.symbol}`.toLowerCase();
|
|
535
587
|
}
|
|
588
|
+
// Function to find a key by address
|
|
589
|
+
findKeyByAddress = (jsonData, targetAddress) => {
|
|
590
|
+
const entries = Object.entries(jsonData);
|
|
591
|
+
const foundEntry = entries.find(([_, value]) => value.address.toLowerCase() === targetAddress.toLowerCase());
|
|
592
|
+
return foundEntry ? foundEntry[0] : undefined;
|
|
593
|
+
};
|
|
536
594
|
async getPairData(srcToken, destToken) {
|
|
537
595
|
const normalizedSrcToken = this.normalizeToken(srcToken);
|
|
538
596
|
const normalizedDestToken = this.normalizeToken(destToken);
|
|
@@ -610,5 +668,4 @@ class Cables extends simple_exchange_1.SimpleExchange {
|
|
|
610
668
|
}
|
|
611
669
|
}
|
|
612
670
|
exports.Cables = Cables;
|
|
613
|
-
Cables.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.CablesConfig);
|
|
614
671
|
//# sourceMappingURL=cables.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cables.js","sourceRoot":"","sources":["../../../src/dex/cables/cables.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cables.js","sourceRoot":"","sources":["../../../src/dex/cables/cables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAKwB;AACxB,iDAAoD;AACpD,2EAA6D;AAC7D,+CAAuE;AAcvE,uCAA2D;AAE3D,wDAAoD;AACpD,qCAAwC;AACxC,2CAkBqB;AACrB,iDAAmD;AACnD,mCAKiB;AACjB,mGAAmE;AACnE,4CAA6C;AAC7C,gEAAqC;AACrC,mCAAgC;AAChC,6DAAwD;AACxD,oDAAuB;AAEvB,MAAa,MAAO,SAAQ,gCAAc;IAc7B;IACA;IACA;IACA;IAEC;IAlBL,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,qBAAY,CAAC,CAAC;IAE7B,iBAAiB,GAAG,IAAI,CAAC;IAE1B,WAAW,CAAoB;IAEvC,MAAM,CAAS;IACP,SAAS,GAAiC,EAAE,CAAC;IAErD,4BAA4B,GAAY,KAAK,CAAC;IAE9C,YACW,OAAgB,EAChB,MAAc,EACd,SAAqB,EACrB,oBAA4B,qBAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;SACjE,iBAAiB,EACV,eAAe,IAAI,iBAAS,CAAC,+BAAa,CAAC;QAErD,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAPhB,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAY;QACrB,sBAAiB,GAAjB,iBAAiB,CACN;QACV,iBAAY,GAAZ,YAAY,CAA+B;QAGrD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,WAAW,GAAG,IAAI,gCAAiB,CACtC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX;YACE,UAAU,EAAE;gBACV,cAAc,EAAE;oBACd,GAAG,EAAE,0BAAc,GAAG,QAAQ;iBAC/B;gBACD,eAAe,EAAE;oBACf,GAAG,EAAE,0BAAc,GAAG,SAAS;iBAChC;gBACD,kBAAkB,EAAE;oBAClB,GAAG,EAAE,0BAAc,GAAG,YAAY;iBACnC;gBACD,eAAe,EAAE;oBACf,GAAG,EAAE,0BAAc,GAAG,SAAS;iBAChC;gBAED,gBAAgB,EAAE,iDAAqC;gBACvD,kBAAkB,EAAE,sCAA0B;gBAC9C,cAAc,EAAE,QAAQ;gBAExB,eAAe,EAAE,gDAAoC;gBACrD,iBAAiB,EAAE,qCAAyB;gBAC5C,aAAa,EAAE,OAAO;gBAEtB,gBAAgB,EAAE,iDAAqC;gBACvD,kBAAkB,EAAE,sCAA0B;gBAC9C,cAAc,EAAE,QAAQ;gBAExB,mBAAmB,EAAE,oDAAwC;gBAC7D,qBAAqB,EAAE,yCAA6B;gBACpD,iBAAiB,EAAE,sCAA0B;gBAE7C,4BAA4B,EAAE,KAAK,IAAI,EAAE;oBACvC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5B,CAAC;aACF;SACF,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,mBAAoD,EACpD,QAAe,EACf,SAAgB,EAChB,IAAc,EACd,OAAqC;QAErC,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,oCAAoC,OAAO,CAAC,QAAQ,6CAA6C,CAChI,CAAC;YACF,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,MAAM,IACZ,IAAI,CAAC,OACP,UAAU,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAC1D,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,kBAAkB,CAAC,OAAO,IAAI,mBAAmB,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QAE7G,IAAI,CAAC;YACH,IAAI,UAAU,GAAG,mBAAmB,CAAC;YACrC,IAAI,UAAU,GAAG,kBAAkB,CAAC;YAEpC,MAAM,MAAM,GAAG,IAAI,KAAK,eAAQ,CAAC,IAAI,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,KAAK,eAAQ,CAAC,GAAG,CAAC;YAEpC,MAAM,SAAS,GAAG;gBAChB,UAAU,EAAE,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;gBACvD,UAAU,EAAE,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;gBACvD,GAAG,CAAC,KAAK,IAAI,EAAE,WAAW,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAC;gBAC7D,GAAG,CAAC,MAAM,IAAI,EAAE,WAAW,EAAE,mBAAmB,CAAC,SAAS,EAAE,CAAC;gBAC7D,WAAW,EAAE,OAAO,CAAC,wBAAwB;gBAC7C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aAC9B,CAAC;YAEF,MAAM,GAAG,GAAsB,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAClE,GAAG,0BAAc,QAAQ,EACzB,SAAS,EACT,wCAA4B,CAC7B,CAAC;YAEF,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CACb,qBAAqB;oBACnB,cAAc;oBACd,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,CAC7C,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;YAEtB,IAAA,sBAAM,EACJ,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,OAAO,EACrD,wBAAwB,KAAK,CAAC,UAAU,0CAA0C,UAAU,CAAC,OAAO,EAAE,CACvG,CAAC;YACF,IAAA,sBAAM,EACJ,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,OAAO,EACrD,wBAAwB,KAAK,CAAC,UAAU,0CAA0C,UAAU,CAAC,OAAO,EAAE,CACvG,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,IAAA,sBAAM,EACJ,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS,EACnD,yBAAyB,KAAK,CAAC,WAAW,yCAAyC,mBAAmB,CAAC,SAAS,EAAE,CACnH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAA,sBAAM,EACJ,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,UAAU,EACpD,yBAAyB,KAAK,CAAC,WAAW,0CAA0C,mBAAmB,CAAC,UAAU,EAAE,CACrH,CAAC;YACJ,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iCAAc,CAAC;YAEzE,IAAI,IAAI,KAAK,eAAQ,CAAC,GAAG,EAAE,CAAC;gBAC1B,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC9C,MAAM,0BAA0B,GAAG,IAAI,sBAAS,CAC9C,cAAc,CAAC,QAAQ,EAAE,CAC1B;qBACE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC;qBACpC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACd,IAAI,WAAW,GAAG,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC;oBACrD,MAAM,IAAI,qBAAa,CACrB,oBAAoB,WAAW,CAAC,QAAQ,EAAE,MAAM,0BAA0B,EAAE,CAC7E,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC9C,MAAM,0BAA0B,GAAG,IAAI,sBAAS,CAC9C,cAAc,CAAC,QAAQ,EAAE,CAC1B;qBACE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC;qBACpC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACd,IAAI,WAAW,GAAG,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC;oBACrD,MAAM,IAAI,qBAAa,CACrB,oBACE,OAAO,CAAC,cACV,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,0BAA0B,EAAE,CAC7D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO;gBACL;oBACE,GAAG,mBAAmB;oBACtB,IAAI,EAAE;wBACJ,SAAS,EAAE,KAAK;qBACjB;iBACF;gBACD,EAAE,QAAQ,EAAE,WAAW,EAAE;aAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,WAAW,CACT,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAgB,EAChB,IAAc;QAEd,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE3B,IAAA,sBAAM,EACJ,SAAS,KAAK,SAAS,EACvB,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,uBAAuB,CACtD,CAAC;QAEF,MAAM,YAAY,GAAG,aAAa,CAAC;QACnC,MAAM,kBAAkB,GAAG;YACzB;gBACE,SAAS,CAAC,YAAY;gBACtB,SAAS,CAAC,MAAM;gBAChB,SAAS,CAAC,UAAU;gBACpB,SAAS,CAAC,UAAU;gBACpB,SAAS,CAAC,KAAK;gBACf,SAAS,CAAC,KAAK;gBACf,SAAS,CAAC,WAAW;gBACrB,SAAS,CAAC,WAAW;aACtB;YACD,SAAS,CAAC,SAAS;YACnB,oCAAoC;YACpC,SAAS,CAAC,WAAW;SACtB,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CACvD,YAAY,EACZ,kBAAkB,CACnB,CAAC;QAEF,MAAM,UAAU,GAAG,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CACpD,CAAC,SAAS,CAAC,EACX,CAAC,SAAS,CAAC,WAAW,CAAC,CACxB,CAAC;QAEF,MAAM,iBAAiB,GAAG,YAAY;aACnC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;aACjB,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAE7C,MAAM,eAAe,GACnB,CAAC,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE3E,OAAO;YACL,YAAY;YACZ,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB,EAAE,KAAK;YAC1B,cAAc,EAAE,IAAI,CAAC,iBAAiB;YACtC,eAAe,EAAE,SAAS;YAC1B,mBAAmB,EAAE,eAAe;SACrC,CAAC;IACJ,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAgB,EAChB,IAAc;QAEd,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE3B,IAAA,sBAAM,EACJ,SAAS,KAAK,SAAS,EACvB,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,uBAAuB,CACtD,CAAC;QAEF,MAAM,MAAM,GAAG;YACb;gBACE,YAAY,EAAE,SAAS,CAAC,YAAY;gBACpC,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,WAAW,EAAE,SAAS,CAAC,WAAW;aACnC;YACD,SAAS,CAAC,SAAS;SACpB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE;oBACL,YAAY,EAAE,SAAS;oBACvB,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,SAAS;oBAChB,WAAW,EAAE,SAAS;oBACtB,WAAW,EAAE,SAAS;iBACvB;gBACD,SAAS,EAAE,OAAO;aACnB;SACF,EACD;YACE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;SACrB,CACF,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,iBAAiB;YACtC,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,KAAY;QACzB,OAAO;YACL,GAAG,KAAK;YACR,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,OAAgB;QACpC,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,mBAAmB,CAAC,OAAgB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,iBAAiB,CAAC,UAAmB,EAAE,WAAoB,EAAE,EAAW;QACtE,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;QACnE,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAe,EACf,SAAgB,EAChB,IAAc,EACd,WAAmB;QAEnB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YACvE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,CAAC;QAE5D,OAAO;YACL,IAAI,CAAC,iBAAiB,CACpB,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EACvC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CACzC;SACF,CAAC;IACJ,CAAC;IAED,mBAAmB,CACjB,OAAiB,EACjB,SAAqB,EACrB,SAAgB,EAChB,UAAiB,EACjB,YAAqB;QAErB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;YAClC,IAAI,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;YAEvC,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,CACjC,SAAS,EACT,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,QAAQ,EAC5B,YAAY,CACb,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kBAAkB,CAChB,MAAkB,EAClB,WAAmB,EACnB,OAAgB;QAEhB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,YAAY,GAAe,EAAE,CAAC;QAEpC,MAAM,MAAM,GAAG,OAAO,CAAC;QACvB,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC;QAEzB,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACrC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;oBAC9B,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;oBAC/B,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAErD,MAAM,OAAO,GAAG,MAAM;gBACpB,CAAC,CAAC,cAAc,GAAG,UAAU,GAAG,WAAW;gBAC3C,CAAC,CAAC,eAAe,GAAG,WAAW,GAAG,WAAW,CAAC;YAEhD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,MAAM,EAAE,CAAC;oBACX,cAAc,GAAG,WAAW,GAAG,UAAU,CAAC;oBAC1C,eAAe,GAAG,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnD,CAAC;gBAED,IAAI,OAAO,EAAE,CAAC;oBACZ,eAAe,GAAG,WAAW,GAAG,WAAW,CAAC;oBAC5C,cAAc;wBACZ,eAAe;4BACf,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,sBAAS,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAChE,CAAC;YACH,CAAC;YAED,UAAU,IAAI,cAAc,CAAC;YAC7B,WAAW,IAAI,eAAe,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE;YACpE,OAAO,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,MAAM,KAAK,GAAG,IAAI,sBAAS,CAAC,QAAQ,CAAC;aAClC,SAAS,CAAC,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;aACpC,QAAQ,EAAE,CAAC;QAEd,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,WAAW,GAAG,KAAK,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB,EACrB,YAAgC,EAChC,WAAqB;QAErB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/C,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACzD,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAC3D,8BAA8B;YAC9B,IACE,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE;gBACxC,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,EACzC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjD,MAAM,sBAAsB,GAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAE/C,IAAI,kBAAkB,CAAC,OAAO,KAAK,sBAAsB,EAAE,CAAC;oBAC1D,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBAC5D,CAAC;gBACD,IAAI,mBAAmB,CAAC,OAAO,KAAK,sBAAsB,EAAE,CAAC;oBAC3D,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,8BAA8B;YAC9B,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACvC,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,WAAW,CACZ,CAAC;YACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEpC,+BAA+B;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE9C,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAE3B,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,OAAO,GAAG,GAAG,kBAAkB,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAExC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,SAAS;gBACT,YAAY,GAAG,IAAI,CAAC;gBACpB,OAAO,GAAG,GAAG,mBAAmB,CAAC,MAAM,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBACvE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjC,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED;;eAEG;YACH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEpC,IAAI,SAAS,GAAU,EAAE,CAAC;YAC1B,IAAI,IAAI,KAAK,eAAQ,CAAC,GAAG,EAAE,CAAC;gBAC1B,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;YAC7B,CAAC;YACD,IAAI,SAAS,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CACrC,OAAO,EACP,SAAS,EACT,IAAI,KAAK,eAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC7C,IAAI,KAAK,eAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAC7C,IAAI,KAAK,eAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CACtD,CAAC;YAEF,MAAM,MAAM,GAAG;gBACb;oBACE,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC;oBAC1C,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,OAAO,EAAE,2BAAe;oBACxB,aAAa,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBACvC,IAAI,EAAE,EAAE;iBACT;aACF,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0BAA0B,EAC1B;gBACE,QAAQ,EAAE,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM;gBAC7C,SAAS,EAAE,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM;gBAChD,IAAI;aACL,EACD,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,UAAkC;QACnD,OAAO,CACL,iBAAiB,CAAC,YAAY;YAC9B,kDAAkD;YAClD,iBAAiB,CAAC,OAAO,GAAG,CAAC;YAC7B,kBAAkB;YAClB,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtC,kDAAkD;YAClD,iBAAiB,CAAC,MAAM,GAAG,CAAC;YAC5B,+BAA+B;YAC/B,iBAAiB,CAAC,SAAS,GAAG,CAAC;YAC/B,iBAAiB,CAAC,YAAY,CAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO;IACT,CAAC;IAED,WAAW,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,yBAAa;YAC5C,CAAC,CAAC,wBAAY;YACd,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE5C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACvD,YAAY;gBACZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrD,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,KAAK,yBAAa,CAAC;QAC3D,MAAM,wBAAwB,GAAG,KAAK,CAAC,CAAC,CAAC,wBAAY,CAAC,CAAC,CAAC,YAAY,CAAC;QAErE,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAA6B,CAAC;QAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,wBAAwB,CAAC,WAAW,EAAE,CACzE,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAEzC,CAAC;QAEF,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aACvC,MAAM,CAAC,OAAO,CAAC,EAAE;YAChB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAEvC,IACE,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE;gBAClD,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,EACnD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;aACD,GAAG,CAAC,OAAO,CAAC,EAAE;YACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAEvC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;gBACvD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;gBACxD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QAEL,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5B,MAAM,sBAAsB,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzD,IAAI,oBAAoB,CAAC;YACzB,IAAI,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,wBAAY,EAAE,CAAC;gBAClD,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO;qBACxD,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;qBACrC,SAAS,EAAE,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAC3D,WAAW,EACX,CAAC,IAAI,CAAC,iBAAiB,CAAC,CACzB,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,MAAM,EACJ,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,wBAAY;oBAC3C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;oBAC7D,CAAC,CAAC,KAAK,EAAE,OAAO;gBACpB,QAAQ,EAAE,oBAAoB;aAC/B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,CACV,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO;aACvC,SAAS,CAAC,sBAAsB,CAAC;aACjC,IAAI,EAAE,CACV,CAAC,UAAU,CAAC;QAEb,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YACrC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3C,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CACzC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CACzD,CACF,CAAC;QAEF,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAChE,GAAG,KAAK;YACR,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC;SACrC,CAAC,CAAC,CAAC;QAEJ,MAAM,aAAa,GAAG,gBAAC,CAAC,IAAI,CAAC,kBAAkB,CAAE,CAAC,QAAQ,CAAC;QAC3D,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,yCAAyC;QAEnE,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACpD,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,OAAO,EAAE,IAAI,CAAC,iBAAiB;gBAC/B,eAAe,EAAE;oBACf;wBACE,OAAO,EACL,SAAS,CAAC,OAAO,KAAK,wBAAY;4BAChC,CAAC,CAAC,yBAAa;4BACf,CAAC,CAAC,SAAU,CAAC,OAAO;wBACxB,QAAQ,EAAE,SAAU,CAAC,QAAQ;qBAC9B;iBACF;gBACD,YAAY,EAAE,MAAM,CAAC,SAAU,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;aAClE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,gBAAC,CAAC,KAAK,CACZ,gBAAC,CAAC,MAAM,CAAC,UAA6B,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,EACzE,CAAC,EACD,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CACjD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,CAAC,cAAc,CAChC,CAAC;QAEF,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAChD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/B,CAAC;QAEF,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CACjD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,CAAC,cAAc,CAChC,CAAC;QAEF,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACrE,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,aAAa,CAAC,SAAgB,EAAE,UAAiB;QAC/C,OAAO,GAAG,SAAS,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IAClE,CAAC;IAED,oCAAoC;IAC5B,gBAAgB,GAAG,CACzB,QAA6C,EAC7C,aAAqB,EACD,EAAE;QACtB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAC7B,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CACb,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAC9D,CAAC;QACF,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC,CAAC;IAEF,KAAK,CAAC,WAAW,CAAC,QAAe,EAAE,SAAgB;QACjD,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAE3D,IAAI,kBAAkB,CAAC,OAAO,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAElD,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAC/C,YAAY,EACZ,kBAAkB,CAAC,OAAO,CAC3B,CAAC;QACF,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAChD,YAAY,EACZ,mBAAmB,CAAC,OAAO,CAC5B,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhD,MAAM,cAAc,GAAG;YACrB;gBACE,IAAI,EAAE,kBAAkB,CAAC,MAAM;gBAC/B,KAAK,EAAE,mBAAmB,CAAC,MAAM;gBACjC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;gBACvE,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,IAAI,EAAE,mBAAmB,CAAC,MAAM;gBAChC,KAAK,EAAE,kBAAkB,CAAC,MAAM;gBAChC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;gBACvE,SAAS,EAAE,KAAK;aACjB;SACF,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9C,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACpC,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAiB;QACnC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CACpD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,sCAA0B,CAC3B,CAAC;QAEF,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAa,CAAC;YAC1D,OAAO,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAC3C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,uCAA2B,CAC5B,CAAC;QAEF,OAAO,MAAM,KAAK,MAAM,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAClD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,mCAAuB,CACxB,CAAC;QAEF,MAAM,UAAU,GAAiB,aAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,6CAAiC,GAAG,IAAI,CAAC,CAAC;QAE1E,IACE,CAAC,UAAU;YACX,UAAU,EAAE,eAAe,GAAG,6CAAiC;gBAC7D,IAAI,CAAC,GAAG,EAAE,EACZ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,sFAAsF,CACrH,CAAC;YACF,MAAM,IAAI,GAAiB;gBACzB,KAAK,EAAE,CAAC;gBACR,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE;aAC5B,CAAC;YACF,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAC9B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,mCAAuB,EACvB,YAAY,EACZ,aAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CACtB,CAAC;YACF,OAAO;QACT,CAAC;aAAM,CAAC;YACN,IAAI,UAAU,CAAC,KAAK,GAAG,CAAC,IAAI,2CAA+B,EAAE,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,oCAC5B,UAAU,CAAC,KAAK,GAAG,CACrB,WAAW,6CAAiC,GAAG,IAAI,GAAG,EAAE,UAAU,CACnE,CAAC;gBACF,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAC9B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,uCAA2B,EAC3B,iCAAqB,EACrB,MAAM,CACP,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,yBAAyB,CACxD,CAAC;gBACF,MAAM,IAAI,GAAiB;oBACzB,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,CAAC;oBAC3B,eAAe,EAAE,UAAU,CAAC,eAAe;iBAC5C,CAAC;gBACF,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAC9B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,uCAA2B,EAC3B,YAAY,EACZ,aAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CACtB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;;AAj7BH,wBAk7BC"}
|
|
@@ -20,5 +20,5 @@ exports.CABLES_ERRORS_CACHE_KEY = 'errors';
|
|
|
20
20
|
exports.CABLES_RESTRICT_CHECK_INTERVAL_MS = 1000 * 60 * 3; // 3 min
|
|
21
21
|
exports.CABLES_RESTRICT_COUNT_THRESHOLD = 3;
|
|
22
22
|
exports.CABLES_RESTRICT_TTL_S = 10 * 60; // 10 min
|
|
23
|
-
exports.CABLES_GAS_COST =
|
|
23
|
+
exports.CABLES_GAS_COST = 120_000;
|
|
24
24
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/cables/constants.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,cAAc,GACzB,kDAAkD,CAAC;AAExC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAChC,QAAA,qCAAqC,GAAG,IAAI,CAAC,CAAC,QAAQ;AAEtD,QAAA,yBAAyB,GAAG,EAAE,CAAC;AAC/B,QAAA,oCAAoC,GAAG,KAAK,CAAC,CAAC,SAAS;AAEvD,QAAA,6BAA6B,GAAG,EAAE,CAAC;AACnC,QAAA,wCAAwC,GAAG,KAAK,CAAC,CAAC,SAAS;AAE3D,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAChC,QAAA,qCAAqC,GAAG,KAAK,CAAC,CAAC,SAAS;AAExD,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAEpC,QAAA,0BAA0B,GAAG,yBAAyB,CAAC;AAEvD,QAAA,2BAA2B,GAAG,YAAY,CAAC;AAE3C,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AAEnC,QAAA,iCAAiC,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ;AAE3D,QAAA,+BAA+B,GAAG,CAAC,CAAC;AAEpC,QAAA,qBAAqB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS;AAE1C,QAAA,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/cables/constants.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,cAAc,GACzB,kDAAkD,CAAC;AAExC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAChC,QAAA,qCAAqC,GAAG,IAAI,CAAC,CAAC,QAAQ;AAEtD,QAAA,yBAAyB,GAAG,EAAE,CAAC;AAC/B,QAAA,oCAAoC,GAAG,KAAK,CAAC,CAAC,SAAS;AAEvD,QAAA,6BAA6B,GAAG,EAAE,CAAC;AACnC,QAAA,wCAAwC,GAAG,KAAK,CAAC,CAAC,SAAS;AAE3D,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAChC,QAAA,qCAAqC,GAAG,KAAK,CAAC,CAAC,SAAS;AAExD,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAEpC,QAAA,0BAA0B,GAAG,yBAAyB,CAAC;AAEvD,QAAA,2BAA2B,GAAG,YAAY,CAAC;AAE3C,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AAEnC,QAAA,iCAAiC,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ;AAE3D,QAAA,+BAA+B,GAAG,CAAC,CAAC;AAEpC,QAAA,qBAAqB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS;AAE1C,QAAA,eAAe,GAAG,OAAO,CAAC"}
|
|
@@ -20,6 +20,7 @@ export declare class CablesRateFetcher {
|
|
|
20
20
|
blacklistFetcher: Fetcher<CablesBlacklistResponse>;
|
|
21
21
|
blacklistCacheKey: string;
|
|
22
22
|
blacklistCacheTTL: number;
|
|
23
|
+
tokensHandleResponseCallback: () => Promise<void>;
|
|
23
24
|
constructor(dexHelper: IDexHelper, dexKey: string, network: Network, logger: Logger, config: CablesRateFetcherConfig);
|
|
24
25
|
/**
|
|
25
26
|
* Utils
|
|
@@ -5,18 +5,28 @@ const fetcher_1 = require("../../lib/fetcher/fetcher");
|
|
|
5
5
|
const validators_1 = require("../../lib/validators");
|
|
6
6
|
const validators_2 = require("./validators");
|
|
7
7
|
class CablesRateFetcher {
|
|
8
|
+
dexHelper;
|
|
9
|
+
dexKey;
|
|
10
|
+
network;
|
|
11
|
+
logger;
|
|
12
|
+
tokensFetcher;
|
|
13
|
+
tokensCacheKey;
|
|
14
|
+
tokensCacheTTL;
|
|
15
|
+
pairsFetcher;
|
|
16
|
+
pairsCacheKey;
|
|
17
|
+
pairsCacheTTL;
|
|
18
|
+
pricesFetcher;
|
|
19
|
+
pricesCacheKey;
|
|
20
|
+
pricesCacheTTL;
|
|
21
|
+
blacklistFetcher;
|
|
22
|
+
blacklistCacheKey;
|
|
23
|
+
blacklistCacheTTL;
|
|
24
|
+
tokensHandleResponseCallback;
|
|
8
25
|
constructor(dexHelper, dexKey, network, logger, config) {
|
|
9
26
|
this.dexHelper = dexHelper;
|
|
10
27
|
this.dexKey = dexKey;
|
|
11
28
|
this.network = network;
|
|
12
29
|
this.logger = logger;
|
|
13
|
-
// Convert addresses to lowercase
|
|
14
|
-
this.normalizeAddressesToLowerCase = (jsonData) => {
|
|
15
|
-
Object.keys(jsonData).forEach(key => {
|
|
16
|
-
jsonData[key].address = jsonData[key].address.toLowerCase();
|
|
17
|
-
});
|
|
18
|
-
return jsonData;
|
|
19
|
-
};
|
|
20
30
|
this.tokensCacheKey = config.rateConfig.tokensCacheKey;
|
|
21
31
|
this.tokensCacheTTL = config.rateConfig.tokensCacheTTLSecs;
|
|
22
32
|
this.pairsCacheKey = config.rateConfig.pairsCacheKey;
|
|
@@ -25,6 +35,8 @@ class CablesRateFetcher {
|
|
|
25
35
|
this.pricesCacheTTL = config.rateConfig.pricesCacheTTLSecs;
|
|
26
36
|
this.blacklistCacheKey = config.rateConfig.blacklistCacheKey;
|
|
27
37
|
this.blacklistCacheTTL = config.rateConfig.blacklistCacheTTLSecs;
|
|
38
|
+
this.tokensHandleResponseCallback =
|
|
39
|
+
config.rateConfig.tokensHandleResponseCallback;
|
|
28
40
|
this.pairsFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
|
|
29
41
|
info: {
|
|
30
42
|
requestOptions: config.rateConfig.pairsReqParams,
|
|
@@ -95,11 +107,19 @@ class CablesRateFetcher {
|
|
|
95
107
|
const { blacklist } = res;
|
|
96
108
|
this.dexHelper.cache.setex(this.dexKey, this.network, this.blacklistCacheKey, this.blacklistCacheTTL, JSON.stringify(blacklist.map(item => item.toLowerCase())));
|
|
97
109
|
}
|
|
98
|
-
|
|
110
|
+
// Convert addresses to lowercase
|
|
111
|
+
normalizeAddressesToLowerCase = (jsonData) => {
|
|
112
|
+
Object.keys(jsonData).forEach(key => {
|
|
113
|
+
jsonData[key].address = jsonData[key].address.toLowerCase();
|
|
114
|
+
});
|
|
115
|
+
return jsonData;
|
|
116
|
+
};
|
|
117
|
+
async handleTokensResponse(res) {
|
|
99
118
|
const networkId = String(this.network);
|
|
100
119
|
const tokens = res.tokens[networkId];
|
|
101
|
-
const
|
|
102
|
-
this.dexHelper.cache.setex(this.dexKey, this.network, this.tokensCacheKey, this.tokensCacheTTL, JSON.stringify(
|
|
120
|
+
const normalizedTokens = this.normalizeAddressesToLowerCase(tokens);
|
|
121
|
+
this.dexHelper.cache.setex(this.dexKey, this.network, this.tokensCacheKey, this.tokensCacheTTL, JSON.stringify(normalizedTokens));
|
|
122
|
+
await this.tokensHandleResponseCallback();
|
|
103
123
|
}
|
|
104
124
|
}
|
|
105
125
|
exports.CablesRateFetcher = CablesRateFetcher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/cables/rate-fetcher.ts"],"names":[],"mappings":";;;AAEA,uDAAoD;AACpD,qDAAuD;AAUvD,6CAKsB;AAEtB,MAAa,iBAAiB;
|
|
1
|
+
{"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/cables/rate-fetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,11 @@ import { RequestHeaders } from '../../dex-helper';
|
|
|
2
2
|
import { Token } from '../../types';
|
|
3
3
|
import { Method } from '../../dex-helper/irequest-wrapper';
|
|
4
4
|
import { AugustusRFQOrderData } from '../augustus-rfq';
|
|
5
|
-
export
|
|
5
|
+
export type CablesRFQResponse = {
|
|
6
6
|
order: AugustusRFQOrderData;
|
|
7
7
|
signature: string;
|
|
8
8
|
};
|
|
9
|
-
export
|
|
9
|
+
export type CablesData = {
|
|
10
10
|
quoteData?: AugustusRFQOrderData;
|
|
11
11
|
};
|
|
12
12
|
export declare enum OrderbookSide {
|
|
@@ -16,7 +16,7 @@ export declare enum OrderbookSide {
|
|
|
16
16
|
/**
|
|
17
17
|
* Utils
|
|
18
18
|
*/
|
|
19
|
-
export
|
|
19
|
+
export type CablesAPIParameters = {
|
|
20
20
|
url: string;
|
|
21
21
|
method: Method;
|
|
22
22
|
};
|
|
@@ -25,27 +25,27 @@ export declare class CablesRfqError extends Error {
|
|
|
25
25
|
/**
|
|
26
26
|
* Types
|
|
27
27
|
*/
|
|
28
|
-
export
|
|
28
|
+
export type PairData = {
|
|
29
29
|
base: string;
|
|
30
30
|
quote: string;
|
|
31
31
|
liquidityUSD: number;
|
|
32
32
|
};
|
|
33
|
-
export
|
|
34
|
-
export
|
|
33
|
+
export type PriceAndAmount = [string, string];
|
|
34
|
+
export type PriceData = {
|
|
35
35
|
bids: PriceAndAmount[];
|
|
36
36
|
asks: PriceAndAmount[];
|
|
37
37
|
};
|
|
38
|
-
export
|
|
38
|
+
export type PriceDataMap = {
|
|
39
39
|
[network: string]: {
|
|
40
40
|
[pair: string]: PriceData;
|
|
41
41
|
};
|
|
42
42
|
};
|
|
43
|
-
export
|
|
43
|
+
export type TokenDataMap = {
|
|
44
44
|
[network: string]: {
|
|
45
45
|
[token: string]: Token;
|
|
46
46
|
};
|
|
47
47
|
};
|
|
48
|
-
export
|
|
48
|
+
export type PairsDataMap = {
|
|
49
49
|
[network: string]: {
|
|
50
50
|
[token: string]: PairData;
|
|
51
51
|
};
|
|
@@ -53,22 +53,22 @@ export declare type PairsDataMap = {
|
|
|
53
53
|
/**
|
|
54
54
|
* Responses
|
|
55
55
|
*/
|
|
56
|
-
export
|
|
56
|
+
export type CablesPricesResponse = {
|
|
57
57
|
prices: PriceDataMap;
|
|
58
58
|
};
|
|
59
|
-
export
|
|
59
|
+
export type CablesBlacklistResponse = {
|
|
60
60
|
blacklist: string[];
|
|
61
61
|
};
|
|
62
|
-
export
|
|
62
|
+
export type CablesTokensResponse = {
|
|
63
63
|
tokens: TokenDataMap;
|
|
64
64
|
};
|
|
65
|
-
export
|
|
65
|
+
export type CablesPairsResponse = {
|
|
66
66
|
pairs: PairsDataMap;
|
|
67
67
|
};
|
|
68
68
|
/**
|
|
69
69
|
* Rate Fetcher
|
|
70
70
|
*/
|
|
71
|
-
export
|
|
71
|
+
export type CablesRateFetcherConfig = {
|
|
72
72
|
rateConfig: {
|
|
73
73
|
pairsReqParams: {
|
|
74
74
|
url: string;
|
|
@@ -102,9 +102,10 @@ export declare type CablesRateFetcherConfig = {
|
|
|
102
102
|
pairsCacheTTLSecs: number;
|
|
103
103
|
pricesCacheTTLSecs: number;
|
|
104
104
|
tokensCacheTTLSecs: number;
|
|
105
|
+
tokensHandleResponseCallback: () => Promise<void>;
|
|
105
106
|
};
|
|
106
107
|
};
|
|
107
|
-
export
|
|
108
|
+
export type RestrictData = {
|
|
108
109
|
count: number;
|
|
109
110
|
addedDatetimeMs: number;
|
|
110
111
|
} | null;
|