@paraswap/dex-lib 3.11.5-fluid-dex-changes.2 → 3.11.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/.vscode/launch.json +53 -0
  2. package/.vscode/settings.json +2 -0
  3. package/.vscode/tasks.json +15 -0
  4. package/build/abi/fluid-dex/resolver.abi.json +4 -731
  5. package/build/abi/{cables/CablesMainnetRFQ.json → inception/inception-ineth-pool.json} +489 -510
  6. package/build/abi/inception/inception-ratio-feed.json +329 -0
  7. package/build/abi/inception/inception-vault.json +991 -0
  8. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  9. package/build/abi/{integral/relayer.json → wombat/pool.json} +474 -721
  10. package/build/dex/aave-v1/aave-v1.d.ts +2 -1
  11. package/build/dex/aave-v1/aave-v1.js +23 -0
  12. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  13. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  14. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  15. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  16. package/build/dex/algebra/algebra.js +10 -18
  17. package/build/dex/algebra/algebra.js.map +1 -1
  18. package/build/dex/algebra/config.js +1 -1
  19. package/build/dex/algebra/config.js.map +1 -1
  20. package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +729 -0
  21. package/build/dex/balancer-v3/abi/balancerBatchRouter.js +732 -0
  22. package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +1 -0
  23. package/build/dex/balancer-v3/abi/balancerRouter.d.ts +1406 -0
  24. package/build/dex/balancer-v3/abi/balancerRouter.js +1175 -0
  25. package/build/dex/balancer-v3/abi/balancerRouter.js.map +1 -0
  26. package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +2081 -0
  27. package/build/dex/balancer-v3/abi/vaultExtension.V3.js +1851 -0
  28. package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +1 -0
  29. package/build/dex/balancer-v3/balancer-v3-pool.d.ts +76 -0
  30. package/build/dex/balancer-v3/balancer-v3-pool.js +383 -0
  31. package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -0
  32. package/build/dex/balancer-v3/balancer-v3.d.ts +57 -0
  33. package/build/dex/balancer-v3/balancer-v3.js +373 -0
  34. package/build/dex/balancer-v3/balancer-v3.js.map +1 -0
  35. package/build/dex/balancer-v3/config.d.ts +8 -0
  36. package/build/dex/balancer-v3/config.js +24 -0
  37. package/build/dex/balancer-v3/config.js.map +1 -0
  38. package/build/dex/balancer-v3/getOnChainState.d.ts +10 -0
  39. package/build/dex/balancer-v3/getOnChainState.js +158 -0
  40. package/build/dex/balancer-v3/getOnChainState.js.map +1 -0
  41. package/build/dex/balancer-v3/getPoolsApi.d.ts +2 -0
  42. package/build/dex/balancer-v3/getPoolsApi.js +81 -0
  43. package/build/dex/balancer-v3/getPoolsApi.js.map +1 -0
  44. package/build/dex/balancer-v3/getTopPoolsApi.d.ts +13 -0
  45. package/build/dex/balancer-v3/getTopPoolsApi.js +62 -0
  46. package/build/dex/balancer-v3/getTopPoolsApi.js.map +1 -0
  47. package/build/dex/balancer-v3/types.d.ts +63 -0
  48. package/build/dex/balancer-v3/types.js +3 -0
  49. package/build/dex/balancer-v3/types.js.map +1 -0
  50. package/build/dex/fluid-dex/config.js +1 -1
  51. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js +1 -28
  52. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js.map +1 -1
  53. package/build/dex/fluid-dex/fluid-dex.d.ts +10 -17
  54. package/build/dex/fluid-dex/fluid-dex.js +67 -219
  55. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  56. package/build/dex/fluid-dex/types.d.ts +2 -22
  57. package/build/dex/inception/config.d.ts +4 -0
  58. package/build/dex/inception/config.js +109 -0
  59. package/build/dex/inception/config.js.map +1 -0
  60. package/build/dex/inception/inception-event-pool.d.ts +16 -0
  61. package/build/dex/inception/inception-event-pool.js +49 -0
  62. package/build/dex/inception/inception-event-pool.js.map +1 -0
  63. package/build/dex/inception/inception.d.ts +43 -0
  64. package/build/dex/inception/inception.js +180 -0
  65. package/build/dex/inception/inception.js.map +1 -0
  66. package/build/dex/inception/tokens.d.ts +9 -0
  67. package/build/dex/inception/tokens.js +28 -0
  68. package/build/dex/inception/tokens.js.map +1 -0
  69. package/build/dex/inception/types.d.ts +22 -0
  70. package/build/dex/inception/types.js +3 -0
  71. package/build/dex/inception/types.js.map +1 -0
  72. package/build/dex/inception/utils.d.ts +7 -0
  73. package/build/dex/inception/utils.js +58 -0
  74. package/build/dex/inception/utils.js.map +1 -0
  75. package/build/dex/jarvis.d.ts +2 -1
  76. package/build/dex/jarvis.js +58 -0
  77. package/build/dex/jarvis.js.map +1 -1
  78. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  79. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  80. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  81. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  82. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  83. package/build/dex/platypus/platypus.d.ts +2 -1
  84. package/build/dex/platypus/platypus.js +45 -0
  85. package/build/dex/platypus/platypus.js.map +1 -1
  86. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  87. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  88. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  89. package/build/dex/stable-pool.js +1 -8
  90. package/build/dex/stable-pool.js.map +1 -1
  91. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
  92. package/build/dex/swaap-v1/swaap-v1.js +14 -0
  93. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  94. package/build/dex/uniswap-v3/config.js +1 -1
  95. package/build/dex/uniswap-v3/config.js.map +1 -1
  96. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  97. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  98. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  99. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  100. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  101. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  102. package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
  103. package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
  104. package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
  105. package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
  106. package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
  107. package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
  108. package/build/dex/zerox/index.d.ts +4 -26
  109. package/build/dex/zerox/index.js +50 -42
  110. package/build/dex/zerox/index.js.map +1 -1
  111. package/build/dex/zerox/types.d.ts +29 -0
  112. package/build/dex/zerox/types.js +8 -1
  113. package/build/dex/zerox/types.js.map +1 -1
  114. package/build/executor/Executor03BytecodeBuilder.js +3 -8
  115. package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
  116. package/package.json +1 -1
  117. package/src/abi/fluid-dex/resolver.abi.json +4 -731
  118. package/src/dex/algebra/algebra.ts +20 -19
  119. package/src/dex/algebra/config.ts +1 -2
  120. package/src/dex/fluid-dex/config.ts +1 -1
  121. package/src/dex/fluid-dex/fluid-dex-e2e.test.ts +6 -153
  122. package/src/dex/fluid-dex/fluid-dex-events.test.ts +4 -2
  123. package/src/dex/fluid-dex/fluid-dex-integration.test.ts +11 -79
  124. package/src/dex/fluid-dex/fluid-dex-liquidity-proxy.ts +0 -33
  125. package/src/dex/fluid-dex/fluid-dex.ts +104 -303
  126. package/src/dex/fluid-dex/types.ts +1 -25
  127. package/src/dex/uniswap-v3/config.ts +1 -2
  128. package/src/executor/Executor03BytecodeBuilder.ts +2 -10
  129. package/.idea/aws.xml +0 -17
  130. package/.idea/codeStyles/Project.xml +0 -19
  131. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  132. package/.idea/misc.xml +0 -6
  133. package/.idea/modules.xml +0 -8
  134. package/.idea/paraswap-dex-lib.iml +0 -9
  135. package/.idea/prettier.xml +0 -7
  136. package/.idea/vcs.xml +0 -6
  137. package/build/abi/integral/factory.json +0 -333
  138. package/build/abi/integral/oracle.json +0 -501
  139. package/build/abi/integral/pool.json +0 -1041
  140. package/build/dex/cables/cables.d.ts +0 -59
  141. package/build/dex/cables/cables.js +0 -599
  142. package/build/dex/cables/cables.js.map +0 -1
  143. package/build/dex/cables/config.d.ts +0 -4
  144. package/build/dex/cables/config.js +0 -15
  145. package/build/dex/cables/config.js.map +0 -1
  146. package/build/dex/cables/constants.d.ts +0 -20
  147. package/build/dex/cables/constants.js +0 -24
  148. package/build/dex/cables/constants.js.map +0 -1
  149. package/build/dex/cables/rate-fetcher.d.ts +0 -34
  150. package/build/dex/cables/rate-fetcher.js +0 -106
  151. package/build/dex/cables/rate-fetcher.js.map +0 -1
  152. package/build/dex/cables/types.d.ts +0 -113
  153. package/build/dex/cables/types.js +0 -19
  154. package/build/dex/cables/types.js.map +0 -1
  155. package/build/dex/cables/validators.d.ts +0 -5
  156. package/build/dex/cables/validators.js +0 -49
  157. package/build/dex/cables/validators.js.map +0 -1
  158. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +0 -49
  159. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +0 -104
  160. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +0 -1
  161. package/build/dex/integral/config.d.ts +0 -4
  162. package/build/dex/integral/config.js +0 -20
  163. package/build/dex/integral/config.js.map +0 -1
  164. package/build/dex/integral/context.d.ts +0 -40
  165. package/build/dex/integral/context.js +0 -158
  166. package/build/dex/integral/context.js.map +0 -1
  167. package/build/dex/integral/integral-factory.d.ts +0 -24
  168. package/build/dex/integral/integral-factory.js +0 -95
  169. package/build/dex/integral/integral-factory.js.map +0 -1
  170. package/build/dex/integral/integral-pool.d.ts +0 -50
  171. package/build/dex/integral/integral-pool.js +0 -149
  172. package/build/dex/integral/integral-pool.js.map +0 -1
  173. package/build/dex/integral/integral-pricing.d.ts +0 -18
  174. package/build/dex/integral/integral-pricing.js +0 -114
  175. package/build/dex/integral/integral-pricing.js.map +0 -1
  176. package/build/dex/integral/integral-relayer.d.ts +0 -42
  177. package/build/dex/integral/integral-relayer.js +0 -192
  178. package/build/dex/integral/integral-relayer.js.map +0 -1
  179. package/build/dex/integral/integral-token.d.ts +0 -27
  180. package/build/dex/integral/integral-token.js +0 -59
  181. package/build/dex/integral/integral-token.js.map +0 -1
  182. package/build/dex/integral/integral.d.ts +0 -41
  183. package/build/dex/integral/integral.js +0 -376
  184. package/build/dex/integral/integral.js.map +0 -1
  185. package/build/dex/integral/types.d.ts +0 -85
  186. package/build/dex/integral/types.js +0 -9
  187. package/build/dex/integral/types.js.map +0 -1
  188. package/build/dex/integral/utils-e2e.d.ts +0 -9
  189. package/build/dex/integral/utils-e2e.js +0 -131
  190. package/build/dex/integral/utils-e2e.js.map +0 -1
  191. package/build/dex/integral/utils.d.ts +0 -17
  192. package/build/dex/integral/utils.js +0 -94
  193. package/build/dex/integral/utils.js.map +0 -1
  194. package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
  195. package/build/dex/trader-joe-v2.1/optimizer.js +0 -47
  196. package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"cables.js","sourceRoot":"","sources":["../../../src/dex/cables/cables.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { DexConfigMap } from '../../types';
2
- export declare const CablesConfig: DexConfigMap<{
3
- mainnetRFQAddress: string;
4
- }>;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CablesConfig = void 0;
4
- const constants_1 = require("../../constants");
5
- exports.CablesConfig = {
6
- Cables: {
7
- [constants_1.Network.AVALANCHE]: {
8
- mainnetRFQAddress: '0xfA12DCB2e1FD72bD92E8255Db6A781b2c76adC20',
9
- },
10
- [constants_1.Network.ARBITRUM]: {
11
- mainnetRFQAddress: '0xfA12DCB2e1FD72bD92E8255Db6A781b2c76adC20',
12
- },
13
- },
14
- };
15
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/cables/config.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAG7B,QAAA,YAAY,GAAgD;IACvE,MAAM,EAAE;QACN,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;YACnB,iBAAiB,EAAE,4CAA4C;SAChE;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,iBAAiB,EAAE,4CAA4C;SAChE;KACF;CACF,CAAC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Cables
3
- */
4
- export declare const CABLES_API_URL = "https://cables-evm-rfq-service.cryptosrvc.com/v1";
5
- export declare const CABLES_PRICES_CACHES_TTL_S = 10;
6
- export declare const CABLES_API_PRICES_POLLING_INTERVAL_MS = 2000;
7
- export declare const CABLES_PAIRS_CACHES_TTL_S = 12;
8
- export declare const CABLES_API_PAIRS_POLLING_INTERVAL_MS = 10000;
9
- export declare const CABLES_BLACKLIST_CACHES_TTL_S = 60;
10
- export declare const CABLES_API_BLACKLIST_POLLING_INTERVAL_MS = 30000;
11
- export declare const CABLES_TOKENS_CACHES_TTL_S = 60;
12
- export declare const CABLES_API_TOKENS_POLLING_INTERVAL_MS = 30000;
13
- export declare const CABLES_FIRM_QUOTE_TIMEOUT_MS = 2000;
14
- export declare const CABLES_BLACKLIST_CACHE_KEY = "cablesBlacklistCacheKey";
15
- export declare const CABLES_RESTRICTED_CACHE_KEY = "restricted";
16
- export declare const CABLES_ERRORS_CACHE_KEY = "errors";
17
- export declare const CABLES_RESTRICT_CHECK_INTERVAL_MS: number;
18
- export declare const CABLES_RESTRICT_COUNT_THRESHOLD = 3;
19
- export declare const CABLES_RESTRICT_TTL_S: number;
20
- export declare const CABLES_GAS_COST = 120000;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CABLES_GAS_COST = exports.CABLES_RESTRICT_TTL_S = exports.CABLES_RESTRICT_COUNT_THRESHOLD = exports.CABLES_RESTRICT_CHECK_INTERVAL_MS = exports.CABLES_ERRORS_CACHE_KEY = exports.CABLES_RESTRICTED_CACHE_KEY = exports.CABLES_BLACKLIST_CACHE_KEY = exports.CABLES_FIRM_QUOTE_TIMEOUT_MS = exports.CABLES_API_TOKENS_POLLING_INTERVAL_MS = exports.CABLES_TOKENS_CACHES_TTL_S = exports.CABLES_API_BLACKLIST_POLLING_INTERVAL_MS = exports.CABLES_BLACKLIST_CACHES_TTL_S = exports.CABLES_API_PAIRS_POLLING_INTERVAL_MS = exports.CABLES_PAIRS_CACHES_TTL_S = exports.CABLES_API_PRICES_POLLING_INTERVAL_MS = exports.CABLES_PRICES_CACHES_TTL_S = exports.CABLES_API_URL = void 0;
4
- /**
5
- * Cables
6
- */
7
- exports.CABLES_API_URL = 'https://cables-evm-rfq-service.cryptosrvc.com/v1';
8
- exports.CABLES_PRICES_CACHES_TTL_S = 10;
9
- exports.CABLES_API_PRICES_POLLING_INTERVAL_MS = 2000; // 2 sec
10
- exports.CABLES_PAIRS_CACHES_TTL_S = 12;
11
- exports.CABLES_API_PAIRS_POLLING_INTERVAL_MS = 10000; // 10 sec
12
- exports.CABLES_BLACKLIST_CACHES_TTL_S = 60;
13
- exports.CABLES_API_BLACKLIST_POLLING_INTERVAL_MS = 30000; // 30 sec
14
- exports.CABLES_TOKENS_CACHES_TTL_S = 60;
15
- exports.CABLES_API_TOKENS_POLLING_INTERVAL_MS = 30000; // 30 sec
16
- exports.CABLES_FIRM_QUOTE_TIMEOUT_MS = 2000;
17
- exports.CABLES_BLACKLIST_CACHE_KEY = 'cablesBlacklistCacheKey';
18
- exports.CABLES_RESTRICTED_CACHE_KEY = 'restricted';
19
- exports.CABLES_ERRORS_CACHE_KEY = 'errors';
20
- exports.CABLES_RESTRICT_CHECK_INTERVAL_MS = 1000 * 60 * 3; // 3 min
21
- exports.CABLES_RESTRICT_COUNT_THRESHOLD = 3;
22
- exports.CABLES_RESTRICT_TTL_S = 10 * 60; // 10 min
23
- exports.CABLES_GAS_COST = 120000;
24
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
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,MAAO,CAAC"}
@@ -1,34 +0,0 @@
1
- import { Network } from '../../constants';
2
- import { IDexHelper } from '../../dex-helper';
3
- import { Fetcher } from '../../lib/fetcher/fetcher';
4
- import { Logger } from '../../types';
5
- import { CablesBlacklistResponse, CablesPairsResponse, CablesPricesResponse, CablesRateFetcherConfig, CablesTokensResponse } from './types';
6
- export declare class CablesRateFetcher {
7
- private dexHelper;
8
- private dexKey;
9
- private network;
10
- private logger;
11
- tokensFetcher: Fetcher<CablesTokensResponse>;
12
- tokensCacheKey: string;
13
- tokensCacheTTL: number;
14
- pairsFetcher: Fetcher<CablesPairsResponse>;
15
- pairsCacheKey: string;
16
- pairsCacheTTL: number;
17
- pricesFetcher: Fetcher<CablesPricesResponse>;
18
- pricesCacheKey: string;
19
- pricesCacheTTL: number;
20
- blacklistFetcher: Fetcher<CablesBlacklistResponse>;
21
- blacklistCacheKey: string;
22
- blacklistCacheTTL: number;
23
- constructor(dexHelper: IDexHelper, dexKey: string, network: Network, logger: Logger, config: CablesRateFetcherConfig);
24
- /**
25
- * Utils
26
- */
27
- start(): void;
28
- stop(): void;
29
- private handlePairsResponse;
30
- private handlePricesResponse;
31
- private handleBlacklistResponse;
32
- private normalizeAddressesToLowerCase;
33
- private handleTokensResponse;
34
- }
@@ -1,106 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CablesRateFetcher = void 0;
4
- const fetcher_1 = require("../../lib/fetcher/fetcher");
5
- const validators_1 = require("../../lib/validators");
6
- const validators_2 = require("./validators");
7
- class CablesRateFetcher {
8
- constructor(dexHelper, dexKey, network, logger, config) {
9
- this.dexHelper = dexHelper;
10
- this.dexKey = dexKey;
11
- this.network = network;
12
- 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
- this.tokensCacheKey = config.rateConfig.tokensCacheKey;
21
- this.tokensCacheTTL = config.rateConfig.tokensCacheTTLSecs;
22
- this.pairsCacheKey = config.rateConfig.pairsCacheKey;
23
- this.pairsCacheTTL = config.rateConfig.pairsCacheTTLSecs;
24
- this.pricesCacheKey = config.rateConfig.pricesCacheKey;
25
- this.pricesCacheTTL = config.rateConfig.pricesCacheTTLSecs;
26
- this.blacklistCacheKey = config.rateConfig.blacklistCacheKey;
27
- this.blacklistCacheTTL = config.rateConfig.blacklistCacheTTLSecs;
28
- this.pairsFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
29
- info: {
30
- requestOptions: config.rateConfig.pairsReqParams,
31
- caster: (data) => {
32
- return (0, validators_1.validateAndCast)(data, validators_2.pairsResponseValidator);
33
- },
34
- },
35
- handler: this.handlePairsResponse.bind(this),
36
- }, config.rateConfig.pairsIntervalMs, logger);
37
- this.pricesFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
38
- info: {
39
- requestOptions: config.rateConfig.pricesReqParams,
40
- caster: (data) => {
41
- return (0, validators_1.validateAndCast)(data, validators_2.pricesResponseValidator);
42
- },
43
- },
44
- handler: this.handlePricesResponse.bind(this),
45
- }, config.rateConfig.pricesIntervalMs, logger);
46
- this.blacklistFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
47
- info: {
48
- requestOptions: config.rateConfig.blacklistReqParams,
49
- caster: (data) => {
50
- return (0, validators_1.validateAndCast)(data, validators_2.blacklistResponseValidator);
51
- },
52
- },
53
- handler: this.handleBlacklistResponse.bind(this),
54
- }, config.rateConfig.blacklistIntervalMs, logger);
55
- this.tokensFetcher = new fetcher_1.Fetcher(dexHelper.httpRequest, {
56
- info: {
57
- requestOptions: config.rateConfig.tokensReqParams,
58
- caster: (data) => {
59
- return (0, validators_1.validateAndCast)(data, validators_2.tokensResponseValidator);
60
- },
61
- },
62
- handler: this.handleTokensResponse.bind(this),
63
- }, config.rateConfig.tokensIntervalMs, logger);
64
- }
65
- /**
66
- * Utils
67
- */
68
- start() {
69
- this.pairsFetcher.startPolling();
70
- this.pricesFetcher.startPolling();
71
- this.blacklistFetcher.startPolling();
72
- this.tokensFetcher.startPolling();
73
- }
74
- stop() {
75
- this.pairsFetcher.stopPolling();
76
- this.pricesFetcher.stopPolling();
77
- this.blacklistFetcher.stopPolling();
78
- this.tokensFetcher.stopPolling();
79
- }
80
- handlePairsResponse(res) {
81
- const networkId = String(this.network);
82
- const pairs = res.pairs[networkId];
83
- let normalized_pairs = {};
84
- Object.keys(pairs).forEach(key => {
85
- normalized_pairs[key.toLowerCase()] = pairs[key];
86
- });
87
- this.dexHelper.cache.setex(this.dexKey, this.network, this.pairsCacheKey, this.pairsCacheTTL, JSON.stringify(normalized_pairs));
88
- }
89
- handlePricesResponse(res) {
90
- const networkId = String(this.network);
91
- const prices = res.prices[networkId];
92
- this.dexHelper.cache.setex(this.dexKey, this.network, this.pricesCacheKey, this.pricesCacheTTL, JSON.stringify(prices));
93
- }
94
- handleBlacklistResponse(res) {
95
- const { blacklist } = res;
96
- this.dexHelper.cache.setex(this.dexKey, this.network, this.blacklistCacheKey, this.blacklistCacheTTL, JSON.stringify(blacklist.map(item => item.toLowerCase())));
97
- }
98
- handleTokensResponse(res) {
99
- const networkId = String(this.network);
100
- const tokens = res.tokens[networkId];
101
- const normalized_tokens = this.normalizeAddressesToLowerCase(tokens);
102
- this.dexHelper.cache.setex(this.dexKey, this.network, this.tokensCacheKey, this.tokensCacheTTL, JSON.stringify(normalized_tokens));
103
- }
104
- }
105
- exports.CablesRateFetcher = CablesRateFetcher;
106
- //# sourceMappingURL=rate-fetcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/cables/rate-fetcher.ts"],"names":[],"mappings":"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"}
@@ -1,113 +0,0 @@
1
- import { RequestHeaders } from '../../dex-helper';
2
- import { Token } from '../../types';
3
- import { Method } from '../../dex-helper/irequest-wrapper';
4
- import { AugustusRFQOrderData } from '../augustus-rfq';
5
- export declare type CablesRFQResponse = {
6
- order: AugustusRFQOrderData;
7
- signature: string;
8
- };
9
- export declare type CablesData = {
10
- quoteData?: AugustusRFQOrderData;
11
- };
12
- export declare enum OrderbookSide {
13
- bids = "bids",
14
- asks = "asks"
15
- }
16
- /**
17
- * Utils
18
- */
19
- export declare type CablesAPIParameters = {
20
- url: string;
21
- method: Method;
22
- };
23
- export declare class CablesRfqError extends Error {
24
- }
25
- /**
26
- * Types
27
- */
28
- export declare type PairData = {
29
- base: string;
30
- quote: string;
31
- liquidityUSD: number;
32
- };
33
- export declare type PriceAndAmount = [string, string];
34
- export declare type PriceData = {
35
- bids: PriceAndAmount[];
36
- asks: PriceAndAmount[];
37
- };
38
- export declare type PriceDataMap = {
39
- [network: string]: {
40
- [pair: string]: PriceData;
41
- };
42
- };
43
- export declare type TokenDataMap = {
44
- [network: string]: {
45
- [token: string]: Token;
46
- };
47
- };
48
- export declare type PairsDataMap = {
49
- [network: string]: {
50
- [token: string]: PairData;
51
- };
52
- };
53
- /**
54
- * Responses
55
- */
56
- export declare type CablesPricesResponse = {
57
- prices: PriceDataMap;
58
- };
59
- export declare type CablesBlacklistResponse = {
60
- blacklist: string[];
61
- };
62
- export declare type CablesTokensResponse = {
63
- tokens: TokenDataMap;
64
- };
65
- export declare type CablesPairsResponse = {
66
- pairs: PairsDataMap;
67
- };
68
- /**
69
- * Rate Fetcher
70
- */
71
- export declare type CablesRateFetcherConfig = {
72
- rateConfig: {
73
- pairsReqParams: {
74
- url: string;
75
- headers?: RequestHeaders;
76
- params?: any;
77
- };
78
- pricesReqParams: {
79
- url: string;
80
- headers?: RequestHeaders;
81
- params?: any;
82
- };
83
- blacklistReqParams: {
84
- url: string;
85
- headers?: RequestHeaders;
86
- params?: any;
87
- };
88
- tokensReqParams: {
89
- url: string;
90
- headers?: RequestHeaders;
91
- params?: any;
92
- };
93
- pairsIntervalMs: number;
94
- pricesIntervalMs: number;
95
- blacklistIntervalMs: number;
96
- tokensIntervalMs: number;
97
- pairsCacheKey: string;
98
- pricesCacheKey: string;
99
- blacklistCacheKey: string;
100
- tokensCacheKey: string;
101
- blacklistCacheTTLSecs: number;
102
- pairsCacheTTLSecs: number;
103
- pricesCacheTTLSecs: number;
104
- tokensCacheTTLSecs: number;
105
- };
106
- };
107
- export declare type RestrictData = {
108
- count: number;
109
- addedDatetimeMs: number;
110
- } | null;
111
- export declare class SlippageError extends Error {
112
- isSlippageError: boolean;
113
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SlippageError = exports.CablesRfqError = exports.OrderbookSide = void 0;
4
- var OrderbookSide;
5
- (function (OrderbookSide) {
6
- OrderbookSide["bids"] = "bids";
7
- OrderbookSide["asks"] = "asks";
8
- })(OrderbookSide = exports.OrderbookSide || (exports.OrderbookSide = {}));
9
- class CablesRfqError extends Error {
10
- }
11
- exports.CablesRfqError = CablesRfqError;
12
- class SlippageError extends Error {
13
- constructor() {
14
- super(...arguments);
15
- this.isSlippageError = true;
16
- }
17
- }
18
- exports.SlippageError = SlippageError;
19
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/cables/types.ts"],"names":[],"mappings":";;;AAcA,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,8BAAa,CAAA;AACf,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB;AASD,MAAa,cAAe,SAAQ,KAAK;CAAG;AAA5C,wCAA4C;AAmG5C,MAAa,aAAc,SAAQ,KAAK;IAAxC;;QACE,oBAAe,GAAG,IAAI,CAAC;IACzB,CAAC;CAAA;AAFD,sCAEC"}
@@ -1,5 +0,0 @@
1
- import joi from 'joi';
2
- export declare const pairsResponseValidator: joi.ObjectSchema<any>;
3
- export declare const pricesResponseValidator: joi.ObjectSchema<any>;
4
- export declare const tokensResponseValidator: joi.ObjectSchema<any>;
5
- export declare const blacklistResponseValidator: joi.ObjectSchema<any>;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.blacklistResponseValidator = exports.tokensResponseValidator = exports.pricesResponseValidator = exports.pairsResponseValidator = void 0;
7
- const joi_1 = __importDefault(require("joi"));
8
- const pairValidator = joi_1.default.object({
9
- base: joi_1.default.string().min(1),
10
- quote: joi_1.default.string().min(1),
11
- liquidityUSD: joi_1.default.number().min(0),
12
- baseAddress: joi_1.default.string().min(1),
13
- quoteAddress: joi_1.default.string().min(1),
14
- baseDecimals: joi_1.default.number().min(0),
15
- quoteDecimals: joi_1.default.number().min(0),
16
- });
17
- const pairMap = joi_1.default.object().pattern(joi_1.default.string(), // Pair name ETH/USDT
18
- pairValidator);
19
- exports.pairsResponseValidator = joi_1.default.object({
20
- pairs: joi_1.default.object().pattern(joi_1.default.string(), // chain id
21
- pairMap),
22
- });
23
- const orderbookEntry = joi_1.default.array().items(joi_1.default.string().min(1)).length(2);
24
- const orderbookValidator = joi_1.default.object({
25
- bids: joi_1.default.array().items(orderbookEntry),
26
- asks: joi_1.default.array().items(orderbookEntry),
27
- });
28
- const chainDataSchema = joi_1.default.object().pattern(joi_1.default.string(), // pair name USDC/USDT
29
- orderbookValidator);
30
- exports.pricesResponseValidator = joi_1.default.object({
31
- prices: joi_1.default.object().pattern(joi_1.default.string(), // chain id
32
- chainDataSchema),
33
- });
34
- const tokenValidator = joi_1.default.object({
35
- symbol: joi_1.default.string().min(1),
36
- name: joi_1.default.string().min(1),
37
- description: joi_1.default.string().min(1),
38
- address: joi_1.default.string().min(1),
39
- decimals: joi_1.default.number().min(0),
40
- type: joi_1.default.string().min(1),
41
- });
42
- const chainTokens = joi_1.default.object().pattern(joi_1.default.string(), tokenValidator);
43
- exports.tokensResponseValidator = joi_1.default.object({
44
- tokens: joi_1.default.object().pattern(joi_1.default.string(), chainTokens),
45
- });
46
- exports.blacklistResponseValidator = joi_1.default.object({
47
- blacklist: joi_1.default.array().items(joi_1.default.string().min(1)),
48
- });
49
- //# sourceMappingURL=validators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/dex/cables/validators.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { BytesLike } from 'ethers/lib/utils';
3
- import { DeepReadonly } from 'ts-essentials';
4
- import { Log, Logger } from '../../types';
5
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
6
- import { IDexHelper } from '../../dex-helper/idex-helper';
7
- import { CommonAddresses, Pool } from './types';
8
- import { MultiResult } from '../../lib/multi-wrapper';
9
- import { Address } from '../../types';
10
- export declare class FluidDexCommonAddresses extends StatefulEventSubscriber<Pool[]> {
11
- readonly parentName: string;
12
- readonly commonAddresses: CommonAddresses;
13
- protected network: number;
14
- protected dexHelper: IDexHelper;
15
- handlers: {
16
- [event: string]: (event: any, state: DeepReadonly<Pool[]>, log: Readonly<Log>) => Promise<DeepReadonly<Pool[]> | null>;
17
- };
18
- logDecoder: (log: Log) => any;
19
- addressesSubscribed: Address[];
20
- protected dexFactoryIface: Interface;
21
- protected resolverIface: Interface;
22
- constructor(parentName: string, commonAddresses: CommonAddresses, network: number, dexHelper: IDexHelper, logger: Logger);
23
- /**
24
- * Handle a trade rate change on the pool.
25
- */
26
- handleDexDeployed(event: any, state: DeepReadonly<Pool[]>, log: Readonly<Log>): Promise<DeepReadonly<Pool[]> | null>;
27
- decodePool: (result: MultiResult<BytesLike> | BytesLike) => Pool;
28
- /**
29
- * The function is called every time any of the subscribed
30
- * addresses release log. The function accepts the current
31
- * state, updates the state according to the log, and returns
32
- * the updated state.
33
- * @param state - Current state of event subscriber
34
- * @param log - Log released by one of the subscribed addresses
35
- * @returns Updates state of the event subscriber after the log
36
- */
37
- processLog(state: DeepReadonly<Pool[]>, log: Readonly<Log>): Promise<DeepReadonly<Pool[]> | null>;
38
- getStateOrGenerate(blockNumber: number, readonly?: boolean): Promise<DeepReadonly<Pool[]>>;
39
- /**
40
- * The function generates state using on-chain calls. This
41
- * function is called to regenerate state if the event based
42
- * system fails to fetch events and the local state is no
43
- * more correct.
44
- * @param blockNumber - Blocknumber for which the state should
45
- * should be generated
46
- * @returns state of the event subscriber at blocknumber
47
- */
48
- generateState(blockNumber: number): Promise<DeepReadonly<Pool[]>>;
49
- }
@@ -1,104 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FluidDexCommonAddresses = void 0;
7
- const abi_1 = require("@ethersproject/abi");
8
- const utils_1 = require("../../utils");
9
- const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
10
- const resolver_abi_json_1 = __importDefault(require("../../abi/fluid-dex/resolver.abi.json"));
11
- const dexFactory_abi_json_1 = __importDefault(require("../../abi/fluid-dex/dexFactory.abi.json"));
12
- const decoders_1 = require("../../lib/decoders");
13
- const ethers_1 = require("ethers");
14
- class FluidDexCommonAddresses extends stateful_event_subscriber_1.StatefulEventSubscriber {
15
- constructor(parentName, commonAddresses, network, dexHelper, logger) {
16
- super(parentName, 'getAllPools', dexHelper, logger);
17
- this.parentName = parentName;
18
- this.commonAddresses = commonAddresses;
19
- this.network = network;
20
- this.dexHelper = dexHelper;
21
- this.handlers = {};
22
- this.dexFactoryIface = new abi_1.Interface(dexFactory_abi_json_1.default);
23
- this.resolverIface = new abi_1.Interface(resolver_abi_json_1.default);
24
- this.decodePool = (result) => {
25
- return (0, decoders_1.generalDecoder)(result, ['tuple(address pool, address token0, address token1, uint256 fee)'], undefined, decoded => {
26
- return {
27
- address: decoded[0].toLowerCase(),
28
- token0: decoded[1].toLowerCase(),
29
- token1: decoded[2].toLowerCase(),
30
- };
31
- });
32
- };
33
- this.logDecoder = (log) => this.dexFactoryIface.parseLog(log);
34
- this.addressesSubscribed = [commonAddresses.dexFactory];
35
- // Add handlers
36
- this.handlers['DexDeployed'] = this.handleDexDeployed.bind(this);
37
- }
38
- /**
39
- * Handle a trade rate change on the pool.
40
- */
41
- async handleDexDeployed(event, state, log) {
42
- const blockNumber_ = await this.dexHelper.provider.getBlockNumber();
43
- return this.getStateOrGenerate(blockNumber_, false);
44
- }
45
- /**
46
- * The function is called every time any of the subscribed
47
- * addresses release log. The function accepts the current
48
- * state, updates the state according to the log, and returns
49
- * the updated state.
50
- * @param state - Current state of event subscriber
51
- * @param log - Log released by one of the subscribed addresses
52
- * @returns Updates state of the event subscriber after the log
53
- */
54
- async processLog(state, log) {
55
- try {
56
- let event;
57
- try {
58
- event = this.logDecoder(log);
59
- }
60
- catch (e) {
61
- return null;
62
- }
63
- if (event.name in this.handlers) {
64
- return await this.handlers[event.name](event, state, log);
65
- }
66
- }
67
- catch (e) {
68
- (0, utils_1.catchParseLogError)(e, this.logger);
69
- }
70
- return null;
71
- }
72
- async getStateOrGenerate(blockNumber, readonly = false) {
73
- let state = this.getState(blockNumber);
74
- if (!state) {
75
- state = await this.generateState(blockNumber);
76
- if (!readonly)
77
- this.setState(state, blockNumber);
78
- }
79
- return state;
80
- }
81
- /**
82
- * The function generates state using on-chain calls. This
83
- * function is called to regenerate state if the event based
84
- * system fails to fetch events and the local state is no
85
- * more correct.
86
- * @param blockNumber - Blocknumber for which the state should
87
- * should be generated
88
- * @returns state of the event subscriber at blocknumber
89
- */
90
- async generateState(blockNumber) {
91
- const resolverContract = new ethers_1.Contract(this.commonAddresses.resolver, resolver_abi_json_1.default, this.dexHelper.provider);
92
- const rawResult = await resolverContract.callStatic.getAllPools({
93
- blockTag: blockNumber,
94
- });
95
- const pools = rawResult.map((result) => ({
96
- address: result[0],
97
- token0: result[1],
98
- token1: result[2],
99
- }));
100
- return pools;
101
- }
102
- }
103
- exports.FluidDexCommonAddresses = FluidDexCommonAddresses;
104
- //# sourceMappingURL=fluid-dex-generate-pool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fluid-dex-generate-pool.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/fluid-dex-generate-pool.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { DexParams } from './types';
2
- import { DexConfigMap, AdapterMappings } from '../../types';
3
- export declare const IntegralConfig: DexConfigMap<DexParams>;
4
- export declare const Adapters: Record<number, AdapterMappings>;