@paraswap/dex-lib 4.7.9 → 4.7.11-native.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.
Files changed (216) hide show
  1. package/build/abi/PendleRouterStatic.json +19 -0
  2. package/build/abi/apex-defi/ApexDefiFactory.abi.json +1749 -0
  3. package/build/abi/apex-defi/ApexDefiRouter.abi.json +1120 -0
  4. package/build/abi/apex-defi/ApexDefiToken.abi.json +229 -0
  5. package/build/abi/apex-defi/ApexDefiWrapper.abi.json +92 -0
  6. package/build/abi/apex-defi/ApexDefiWrapperFactory.abi.json +1107 -0
  7. package/build/abi/pangolin-v3/PangolinV3StateMulticall.abi.json +796 -0
  8. package/build/abi/pendle/pendle-deployer.abi.json +520 -0
  9. package/build/abi/pendle/pendle-oracle.abi.json +413 -0
  10. package/build/abi/ring-v2/few-wrapped-token.json +587 -0
  11. package/build/abi/ring-v2/ring-v2-factory.json +125 -0
  12. package/build/abi/ring-v2/ring-v2-pool.json +461 -0
  13. package/build/abi/ring-v2/ring-v2-router.json +332 -0
  14. package/build/abi/stabull/stabull-curve.json +738 -0
  15. package/build/abi/stabull/stabull-router.json +76 -0
  16. package/build/abi/uniswap-v4/hooks/SpotDynamicFeeManager.json +26 -0
  17. package/build/abi/uniswap-v4/hooks/SpotHook.json +54 -0
  18. package/build/abi/uniswap-v4/hooks/SpotPolicyManager.json +45 -0
  19. package/build/abi/uniswap-v4/hooks/cabalcoin-hook.abi.json +682 -0
  20. package/build/abi/uniswap-v4/hooks/fee-hook.abi.json +1335 -0
  21. package/build/config.js +6 -0
  22. package/build/config.js.map +1 -1
  23. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.d.ts +29 -0
  24. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js +153 -0
  25. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js.map +1 -0
  26. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.d.ts +40 -0
  27. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js +323 -0
  28. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js.map +1 -0
  29. package/build/dex/aave-pt-to-underlying/config.d.ts +3 -0
  30. package/build/dex/aave-pt-to-underlying/config.js +24 -0
  31. package/build/dex/aave-pt-to-underlying/config.js.map +1 -0
  32. package/build/dex/aave-pt-to-underlying/constants.d.ts +2 -0
  33. package/build/dex/aave-pt-to-underlying/constants.js +6 -0
  34. package/build/dex/aave-pt-to-underlying/constants.js.map +1 -0
  35. package/build/dex/aave-pt-to-underlying/types.d.ts +24 -0
  36. package/build/dex/aave-pt-to-underlying/types.js +3 -0
  37. package/build/dex/aave-pt-to-underlying/types.js.map +1 -0
  38. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.d.ts +39 -0
  39. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js +244 -0
  40. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js.map +1 -0
  41. package/build/dex/aave-pt-to-usdc/config.d.ts +3 -0
  42. package/build/dex/aave-pt-to-usdc/config.js +47 -0
  43. package/build/dex/aave-pt-to-usdc/config.js.map +1 -0
  44. package/build/dex/aave-pt-to-usdc/constants.d.ts +2 -0
  45. package/build/dex/aave-pt-to-usdc/constants.js +6 -0
  46. package/build/dex/aave-pt-to-usdc/constants.js.map +1 -0
  47. package/build/dex/aave-pt-to-usdc/types.d.ts +22 -0
  48. package/build/dex/aave-pt-to-usdc/types.js +3 -0
  49. package/build/dex/aave-pt-to-usdc/types.js.map +1 -0
  50. package/build/dex/apex-defi/apex-defi-factory.d.ts +26 -0
  51. package/build/dex/apex-defi/apex-defi-factory.js +53 -0
  52. package/build/dex/apex-defi/apex-defi-factory.js.map +1 -0
  53. package/build/dex/apex-defi/apex-defi-pool.d.ts +55 -0
  54. package/build/dex/apex-defi/apex-defi-pool.js +247 -0
  55. package/build/dex/apex-defi/apex-defi-pool.js.map +1 -0
  56. package/build/dex/apex-defi/apex-defi-wrapper-factory.d.ts +57 -0
  57. package/build/dex/apex-defi/apex-defi-wrapper-factory.js +250 -0
  58. package/build/dex/apex-defi/apex-defi-wrapper-factory.js.map +1 -0
  59. package/build/dex/apex-defi/apex-defi.d.ts +97 -0
  60. package/build/dex/apex-defi/apex-defi.js +1021 -0
  61. package/build/dex/apex-defi/apex-defi.js.map +1 -0
  62. package/build/dex/apex-defi/config.d.ts +4 -0
  63. package/build/dex/apex-defi/config.js +138 -0
  64. package/build/dex/apex-defi/config.js.map +1 -0
  65. package/build/dex/apex-defi/types.d.ts +32 -0
  66. package/build/dex/apex-defi/types.js +3 -0
  67. package/build/dex/apex-defi/types.js.map +1 -0
  68. package/build/dex/apex-defi/utils.d.ts +46 -0
  69. package/build/dex/apex-defi/utils.js +133 -0
  70. package/build/dex/apex-defi/utils.js.map +1 -0
  71. package/build/dex/bebop/bebop.d.ts +2 -4
  72. package/build/dex/bebop/bebop.js +12 -42
  73. package/build/dex/bebop/bebop.js.map +1 -1
  74. package/build/dex/bebop/constants.d.ts +0 -5
  75. package/build/dex/bebop/constants.js +1 -7
  76. package/build/dex/bebop/constants.js.map +1 -1
  77. package/build/dex/cables/cables.d.ts +3 -6
  78. package/build/dex/cables/cables.js +7 -51
  79. package/build/dex/cables/cables.js.map +1 -1
  80. package/build/dex/cables/constants.d.ts +0 -5
  81. package/build/dex/cables/constants.js +1 -6
  82. package/build/dex/cables/constants.js.map +1 -1
  83. package/build/dex/cables/rate-fetcher.d.ts +1 -3
  84. package/build/dex/cables/rate-fetcher.js +6 -8
  85. package/build/dex/cables/rate-fetcher.js.map +1 -1
  86. package/build/dex/cables/types.d.ts +1 -6
  87. package/build/dex/dexalot/config.js +4 -4
  88. package/build/dex/dexalot/constants.d.ts +0 -2
  89. package/build/dex/dexalot/constants.js +1 -3
  90. package/build/dex/dexalot/constants.js.map +1 -1
  91. package/build/dex/dexalot/dexalot.d.ts +2 -8
  92. package/build/dex/dexalot/dexalot.js +5 -43
  93. package/build/dex/dexalot/dexalot.js.map +1 -1
  94. package/build/dex/dexalot/rate-fetcher.d.ts +1 -3
  95. package/build/dex/dexalot/rate-fetcher.js +6 -8
  96. package/build/dex/dexalot/rate-fetcher.js.map +1 -1
  97. package/build/dex/dexalot/types.d.ts +1 -2
  98. package/build/dex/generic-rfq/generic-rfq.d.ts +1 -2
  99. package/build/dex/generic-rfq/generic-rfq.js +4 -8
  100. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  101. package/build/dex/generic-rfq/rate-fetcher.d.ts +8 -10
  102. package/build/dex/generic-rfq/rate-fetcher.js +6 -11
  103. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  104. package/build/dex/generic-rfq/types.d.ts +7 -0
  105. package/build/dex/generic-rfq/types.js +12 -1
  106. package/build/dex/generic-rfq/types.js.map +1 -1
  107. package/build/dex/hashflow/hashflow.d.ts +2 -5
  108. package/build/dex/hashflow/hashflow.js +4 -15
  109. package/build/dex/hashflow/hashflow.js.map +1 -1
  110. package/build/dex/idex.d.ts +13 -2
  111. package/build/dex/idle-dao/idle-dao.d.ts +0 -1
  112. package/build/dex/idle-dao/idle-dao.js +11 -23
  113. package/build/dex/idle-dao/idle-dao.js.map +1 -1
  114. package/build/dex/index.js +2 -0
  115. package/build/dex/index.js.map +1 -1
  116. package/build/dex/limit-order-exchange.d.ts +2 -2
  117. package/build/dex/limit-order-exchange.js +5 -3
  118. package/build/dex/limit-order-exchange.js.map +1 -1
  119. package/build/dex/maker-psm/maker-psm.d.ts +41 -4
  120. package/build/dex/maker-psm/maker-psm.js +143 -40
  121. package/build/dex/maker-psm/maker-psm.js.map +1 -1
  122. package/build/dex/miro-migrator/miro-migrator-state.d.ts +27 -0
  123. package/build/dex/miro-migrator/miro-migrator-state.js +89 -0
  124. package/build/dex/miro-migrator/miro-migrator-state.js.map +1 -0
  125. package/build/dex/native/config.d.ts +3 -0
  126. package/build/dex/native/config.js +25 -0
  127. package/build/dex/native/config.js.map +1 -0
  128. package/build/dex/native/constants.d.ts +6 -0
  129. package/build/dex/native/constants.js +48 -0
  130. package/build/dex/native/constants.js.map +1 -0
  131. package/build/dex/native/native.d.ts +52 -0
  132. package/build/dex/native/native.js +410 -0
  133. package/build/dex/native/native.js.map +1 -0
  134. package/build/dex/native/rate-fetcher.d.ts +15 -0
  135. package/build/dex/native/rate-fetcher.js +38 -0
  136. package/build/dex/native/rate-fetcher.js.map +1 -0
  137. package/build/dex/native/types.d.ts +71 -0
  138. package/build/dex/native/types.js +3 -0
  139. package/build/dex/native/types.js.map +1 -0
  140. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.d.ts +0 -1
  141. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js +0 -8
  142. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js.map +1 -1
  143. package/build/dex/simple-exchange-with-restrictions.d.ts +5 -4
  144. package/build/dex/simple-exchange-with-restrictions.js +19 -5
  145. package/build/dex/simple-exchange-with-restrictions.js.map +1 -1
  146. package/build/dex/stabull/config.d.ts +3 -0
  147. package/build/dex/stabull/config.js +177 -0
  148. package/build/dex/stabull/config.js.map +1 -0
  149. package/build/dex/stabull/stabull-pool.d.ts +46 -0
  150. package/build/dex/stabull/stabull-pool.js +113 -0
  151. package/build/dex/stabull/stabull-pool.js.map +1 -0
  152. package/build/dex/stabull/stabull.d.ts +55 -0
  153. package/build/dex/stabull/stabull.js +286 -0
  154. package/build/dex/stabull/stabull.js.map +1 -0
  155. package/build/dex/stabull/types.d.ts +21 -0
  156. package/build/dex/stabull/types.js +3 -0
  157. package/build/dex/stabull/types.js.map +1 -0
  158. package/build/dex/swaap-v2/swaap-v2.d.ts +2 -5
  159. package/build/dex/swaap-v2/swaap-v2.js +4 -16
  160. package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
  161. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.d.ts +4 -0
  162. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js +56 -0
  163. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js.map +1 -0
  164. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.d.ts +7 -0
  165. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js +28 -0
  166. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js.map +1 -0
  167. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.d.ts +0 -0
  168. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js +2 -0
  169. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js.map +1 -0
  170. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.d.ts +7 -0
  171. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js +28 -0
  172. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js.map +1 -0
  173. package/build/dex/uniswap-v4/hooks/fee-hook/types.d.ts +0 -0
  174. package/build/dex/uniswap-v4/hooks/fee-hook/types.js +2 -0
  175. package/build/dex/uniswap-v4/hooks/fee-hook/types.js.map +1 -0
  176. package/build/dex/uniswap-v4/hooks/index.d.ts +1 -0
  177. package/build/dex/uniswap-v4/hooks/index.js +9 -0
  178. package/build/dex/uniswap-v4/hooks/index.js.map +1 -0
  179. package/build/dex/uniswap-v4/hooks/spot.d.ts +15 -0
  180. package/build/dex/uniswap-v4/hooks/spot.js +109 -0
  181. package/build/dex/uniswap-v4/hooks/spot.js.map +1 -0
  182. package/build/dex/uniswap-v4/hooks/template.d.ts +150 -0
  183. package/build/dex/uniswap-v4/hooks/template.js +104 -0
  184. package/build/dex/uniswap-v4/hooks/template.js.map +1 -0
  185. package/build/dex/usdc-transmuter/usdc-transmuter-pool.d.ts +26 -0
  186. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js +75 -0
  187. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js.map +1 -0
  188. package/build/dex/usual/usual-usdc-usdc.d.ts +17 -0
  189. package/build/dex/usual/usual-usdc-usdc.js +59 -0
  190. package/build/dex/usual/usual-usdc-usdc.js.map +1 -0
  191. package/build/dex/yo/config.d.ts +3 -0
  192. package/build/dex/yo/config.js +21 -0
  193. package/build/dex/yo/config.js.map +1 -0
  194. package/build/dex/yo/types.d.ts +13 -0
  195. package/build/dex/yo/types.js +3 -0
  196. package/build/dex/yo/types.js.map +1 -0
  197. package/build/dex/yo/yo-pool.d.ts +13 -0
  198. package/build/dex/yo/yo-pool.js +26 -0
  199. package/build/dex/yo/yo-pool.js.map +1 -0
  200. package/build/dex/yo/yo.d.ts +39 -0
  201. package/build/dex/yo/yo.js +248 -0
  202. package/build/dex/yo/yo.js.map +1 -0
  203. package/build/dex-helper/dummy-dex-helper.js +25 -1
  204. package/build/dex-helper/dummy-dex-helper.js.map +1 -1
  205. package/build/dex-helper/icache.d.ts +4 -0
  206. package/build/executor/types.d.ts +2 -1
  207. package/build/executor/types.js +1 -0
  208. package/build/executor/types.js.map +1 -1
  209. package/build/implementations/api-paraswap-sdk.d.ts +25 -0
  210. package/build/implementations/api-paraswap-sdk.js +102 -0
  211. package/build/implementations/api-paraswap-sdk.js.map +1 -0
  212. package/build/pricing-helper.d.ts +1 -0
  213. package/build/pricing-helper.js +44 -0
  214. package/build/pricing-helper.js.map +1 -1
  215. package/build/types.d.ts +1 -0
  216. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"paraswap-limit-orders.js","sourceRoot":"","sources":["../../../src/dex/paraswap-limit-orders/paraswap-limit-orders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paraswap-limit-orders.js","sourceRoot":"","sources":["../../../src/dex/paraswap-limit-orders/paraswap-limit-orders.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,9 @@ import { SimpleExchange } from './simple-exchange';
2
2
  import { IDexHelper } from '../dex-helper';
3
3
  import { Logger } from '../types';
4
4
  import { IDexWithBlacklist, IDexWithRestriction } from './idex';
5
+ type CACHE_TTL = number | 'none';
5
6
  type DexRestrictionOptions = {
6
- blacklistedTTL?: number;
7
+ blacklistedTTL?: CACHE_TTL;
7
8
  enableDexRestriction?: boolean;
8
9
  restrictCheckIntervalMs?: number;
9
10
  restrictCountThreshold?: number;
@@ -12,7 +13,7 @@ type DexRestrictionOptions = {
12
13
  export declare class SimpleExchangeWithRestrictions extends SimpleExchange implements IDexWithRestriction, IDexWithBlacklist {
13
14
  protected readonly dexHelper: IDexHelper;
14
15
  dexKey: string;
15
- protected readonly blacklistedTTL: number;
16
+ protected readonly blacklistedTTL: CACHE_TTL;
16
17
  protected readonly enableDexRestriction: boolean;
17
18
  protected restrictCheckIntervalMs: number;
18
19
  protected restrictCountThreshold: number;
@@ -22,8 +23,8 @@ export declare class SimpleExchangeWithRestrictions extends SimpleExchange imple
22
23
  hasDexRestriction(): this is IDexWithRestriction;
23
24
  hasBlacklist(): this is IDexWithBlacklist;
24
25
  isBlacklisted(address: string): Promise<boolean>;
25
- protected setBlacklist(addresses: string[]): Promise<void>;
26
- addBlacklistedAddress(address: string, ttl?: number): Promise<boolean>;
26
+ protected setBlacklist(addresses: string[], ttl?: CACHE_TTL): Promise<void>;
27
+ addBlacklistedAddress(address: string, ttl?: CACHE_TTL): Promise<boolean>;
27
28
  getBlacklistedCacheKey(address: string): string;
28
29
  getRestrictedCacheKey(): string;
29
30
  isRestricted(): Promise<boolean>;
@@ -42,21 +42,35 @@ class SimpleExchangeWithRestrictions extends simple_exchange_1.SimpleExchange {
42
42
  }
43
43
  async isBlacklisted(address) {
44
44
  const cached = await this.dexHelper.cache.rawget(this.getBlacklistedCacheKey(address));
45
- return cached === BLACKLISTED_CACHE_VALUE;
45
+ return cached !== null;
46
46
  }
47
- setBlacklist(addresses) {
47
+ setBlacklist(addresses, ttl = this.blacklistedTTL) {
48
48
  this.logger.info(`Blacklisting addresses: ${addresses.length}`);
49
+ if (ttl === 'none') {
50
+ return this.dexHelper.cache.mset(...addresses
51
+ .map(address => [
52
+ this.getBlacklistedCacheKey(address),
53
+ BLACKLISTED_CACHE_VALUE,
54
+ ])
55
+ .flat());
56
+ }
49
57
  return this.dexHelper.cache.msetex(...addresses
50
58
  .map(address => [
51
59
  this.getBlacklistedCacheKey(address),
52
60
  BLACKLISTED_CACHE_VALUE,
53
- this.blacklistedTTL,
61
+ ttl,
54
62
  ])
55
63
  .flat());
56
64
  }
57
65
  async addBlacklistedAddress(address, ttl = this.blacklistedTTL) {
66
+ const key = this.getBlacklistedCacheKey(address);
67
+ if (ttl === 'none') {
68
+ return this.dexHelper.cache
69
+ .set(key, BLACKLISTED_CACHE_VALUE)
70
+ .then(() => true);
71
+ }
58
72
  return this.dexHelper.cache
59
- .rawset(this.getBlacklistedCacheKey(address), BLACKLISTED_CACHE_VALUE, ttl)
73
+ .rawset(key, BLACKLISTED_CACHE_VALUE, ttl)
60
74
  .then(() => true);
61
75
  }
62
76
  getBlacklistedCacheKey(address) {
@@ -67,7 +81,7 @@ class SimpleExchangeWithRestrictions extends simple_exchange_1.SimpleExchange {
67
81
  }
68
82
  async isRestricted() {
69
83
  const cached = await this.dexHelper.cache.rawget(this.getRestrictedCacheKey());
70
- return cached === RESTRICTED_CACHE_VALUE;
84
+ return cached !== null;
71
85
  }
72
86
  async restrict() {
73
87
  const errorsDataRaw = await this.dexHelper.cache.get(this.dexKey, this.network, ERRORS_CACHE_KEY);
@@ -1 +1 @@
1
- {"version":3,"file":"simple-exchange-with-restrictions.js","sourceRoot":"","sources":["../../src/dex/simple-exchange-with-restrictions.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AAEnD,oCAAiC;AAIjC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAClC,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ;AAC1D,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU;AAE1C,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAC5C,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAE9C,MAAM,yBAAyB,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,UAAU;AACtD,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAe7C,MAAa,8BACX,SAAQ,gCAAc;IAaD;IACZ;IAXU,cAAc,CAAS;IACvB,oBAAoB,CAAU;IAEvC,uBAAuB,CAAS;IAChC,sBAAsB,CAAS;IAC/B,YAAY,CAAS;IAErB,MAAM,CAAS;IAEzB,YACqB,SAAqB,EACjC,MAAc,EACrB,UAAiC,EAAE;QAEnC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAJN,cAAS,GAAT,SAAS,CAAY;QACjC,WAAM,GAAN,MAAM,CAAQ;QAIrB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,yBAAyB,CAAC;QAC1E,IAAI,CAAC,oBAAoB;YACvB,OAAO,CAAC,oBAAoB,IAAI,8BAA8B,CAAC;QAEjE,IAAI,CAAC,uBAAuB;YAC1B,OAAO,CAAC,uBAAuB,IAAI,0BAA0B,CAAC;QAChE,IAAI,CAAC,sBAAsB;YACzB,OAAO,CAAC,sBAAsB,IAAI,wBAAwB,CAAC;QAC7D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,cAAc,CAAC;IAC7D,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,CAAC,mCAAmC;IAClD,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAe;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAC9C,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CACrC,CAAC;QAEF,OAAO,MAAM,KAAK,uBAAuB,CAAC;IAC5C,CAAC;IAES,YAAY,CAAC,SAAmB;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAChC,GAAG,SAAS;aACT,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACd,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;YACpC,uBAAuB;YACvB,IAAI,CAAC,cAAc;SACpB,CAAC;aACD,IAAI,EAAE,CACV,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAChC,OAAe,EACf,GAAG,GAAG,IAAI,CAAC,cAAc;QAEzB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK;aACxB,MAAM,CACL,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EACpC,uBAAuB,EACvB,GAAG,CACJ;aACA,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAEM,sBAAsB,CAAC,OAAe;QAC3C,OAAO,GAAG,IAAI,CAAC,OAAO,IACpB,IAAI,CAAC,MACP,gBAAgB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IAC1C,CAAC;IAEM,qBAAqB;QAC1B,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,aAAa,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAC9C,IAAI,CAAC,qBAAqB,EAAE,CAC7B,CAAC;QAEF,OAAO,MAAM,KAAK,sBAAsB,CAAC;IAC3C,CAAC;IAES,KAAK,CAAC,QAAQ;QACtB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAClD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,gBAAgB,CACjB,CAAC;QAEF,MAAM,UAAU,GAAiB,aAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;QAErE,IACE,CAAC,UAAU;YACX,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,EACvE,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,uFAAuF,CACtH,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,gBAAgB,EAChB,YAAY,EACZ,aAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CACtB,CAAC;YACF,OAAO;QACT,CAAC;aAAM,CAAC;YACN,IAAI,UAAU,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,oCAC5B,UAAU,CAAC,KAAK,GAAG,CACrB,WAAW,IAAI,CAAC,uBAAuB,GAAG,IAAI,GAAG,EAAE,UAAU,CAC9D,CAAC;gBACF,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAC/B,IAAI,CAAC,qBAAqB,EAAE,EAC5B,sBAAsB,EACtB,IAAI,CAAC,YAAY,CAClB,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,gBAAgB,EAChB,YAAY,EACZ,aAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CACtB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAvJD,wEAuJC"}
1
+ {"version":3,"file":"simple-exchange-with-restrictions.js","sourceRoot":"","sources":["../../src/dex/simple-exchange-with-restrictions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { DexParams } from './types';
2
+ import { DexConfigMap } from '../../types';
3
+ export declare const StabullConfig: DexConfigMap<DexParams>;
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StabullConfig = void 0;
4
+ const constants_1 = require("../../constants");
5
+ exports.StabullConfig = {
6
+ Stabull: {
7
+ [constants_1.Network.MAINNET]: {
8
+ router: '0x871af97122d08890193e8d6465015f6d9e2889b2',
9
+ quoteCurrency: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
10
+ pools: {
11
+ '0xe37d763c7c4cdd9a8f085f7db70139a0843529f3': {
12
+ tokens: [
13
+ {
14
+ address: '0xda446fad08277b4d2591536f204e018f32b6831c',
15
+ decimals: 18,
16
+ }, // NZDS
17
+ {
18
+ address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
19
+ decimals: 6,
20
+ }, // USDC
21
+ ],
22
+ },
23
+ '0x865040f92ac6cca1b9683c03d843799d8e6d1282': {
24
+ tokens: [
25
+ {
26
+ address: '0xdb25f211ab05b1c97d595516f45794528a807ad8',
27
+ decimals: 2,
28
+ }, // EURS
29
+ {
30
+ address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
31
+ decimals: 6,
32
+ }, // USDC
33
+ ],
34
+ },
35
+ '0xc1a195fdb17da5771d470a232545550a7d264809': {
36
+ tokens: [
37
+ {
38
+ address: '0x2c537e5624e4af88a7ae4060c022609376c8d0eb',
39
+ decimals: 6,
40
+ }, // TRYB
41
+ {
42
+ address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
43
+ decimals: 6,
44
+ }, // USDC
45
+ ],
46
+ },
47
+ '0x402878106b88b41fad1200b47e998c8effd0d887': {
48
+ tokens: [
49
+ {
50
+ address: '0x86b4dbe5d203e634a12364c0e428fa242a3fba98',
51
+ decimals: 18,
52
+ }, // 1GBP
53
+ {
54
+ address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
55
+ decimals: 6,
56
+ }, // USDC
57
+ ],
58
+ },
59
+ '0x01e4013c478d7f02112c3cf178f2771c842edbd0': {
60
+ tokens: [
61
+ {
62
+ address: '0xc08512927d12348f6620a698105e1baac6ecd911',
63
+ decimals: 6,
64
+ }, // GYEN
65
+ {
66
+ address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
67
+ decimals: 6,
68
+ }, // USDC
69
+ ],
70
+ },
71
+ },
72
+ },
73
+ [constants_1.Network.POLYGON]: {
74
+ router: '0x0c1f53e7b5a770f4c0d4bef139f752eeb08de88d',
75
+ quoteCurrency: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
76
+ pools: {
77
+ '0xdcb7efaca996fe2985138bf31b647efcd1d0901a': {
78
+ tokens: [
79
+ {
80
+ address: '0xfbbe4b730e1e77d02dc40fedf9438e2802eab3b5',
81
+ decimals: 18,
82
+ }, // NZDS
83
+ {
84
+ address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
85
+ decimals: 6,
86
+ }, // USDC
87
+ ],
88
+ },
89
+ '0xf80b3a8977d34a443a836a380b2fce69a1a4e819': {
90
+ tokens: [
91
+ {
92
+ address: '0xe111178a87a3bff0c8d18decba5798827539ae99',
93
+ decimals: 2,
94
+ }, // EURS
95
+ {
96
+ address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
97
+ decimals: 6,
98
+ }, // USDC
99
+ ],
100
+ },
101
+ '0x55bdf7f0223e8b1d509141a8d852dd86b3553d59': {
102
+ tokens: [
103
+ {
104
+ address: '0x4fb71290ac171e1d144f7221d882becac7196eb5',
105
+ decimals: 6,
106
+ }, // TRYB
107
+ {
108
+ address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
109
+ decimals: 6,
110
+ }, // USDC
111
+ ],
112
+ },
113
+ '0x509aacb7746166252ecb0d62bfba097cc9731e20': {
114
+ tokens: [
115
+ {
116
+ address: '0xdc3326e71d45186f113a2f448984ca0e8d201995',
117
+ decimals: 6,
118
+ }, // XSGD
119
+ {
120
+ address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
121
+ decimals: 6,
122
+ }, // USDC
123
+ ],
124
+ },
125
+ '0xce0abd182d2cf5844f2a0cb52cfcc55d4ff4fcba': {
126
+ tokens: [
127
+ {
128
+ address: '0x4ed141110f6eeeaba9a1df36d8c26f684d2475dc',
129
+ decimals: 4,
130
+ }, // BRZ
131
+ {
132
+ address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
133
+ decimals: 6,
134
+ }, // USDC
135
+ ],
136
+ },
137
+ '0x3d4436ba3ae7e0e6361c83ab940ea779cd598206': {
138
+ tokens: [
139
+ {
140
+ address: '0xc2132d05d31c914a87c6611c10748aeb04b58e8f',
141
+ decimals: 6,
142
+ }, // USDT
143
+ {
144
+ address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
145
+ decimals: 6,
146
+ }, // USDC
147
+ ],
148
+ },
149
+ '0xa52508b1822ca9261b33213b233694f846abd0ed': {
150
+ tokens: [
151
+ {
152
+ address: '0x8f3cf7ad23cd3cadbd9735aff958023239c6a063',
153
+ decimals: 18,
154
+ }, // DAI
155
+ {
156
+ address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
157
+ decimals: 6,
158
+ }, // USDC
159
+ ],
160
+ },
161
+ '0x1233003461f654cf1c0d7db19e753badef05a87f': {
162
+ tokens: [
163
+ {
164
+ address: '0x87a25dc121db52369f4a9971f664ae5e372cf69a',
165
+ decimals: 6,
166
+ }, // PHPC
167
+ {
168
+ address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
169
+ decimals: 6,
170
+ }, // USDC
171
+ ],
172
+ },
173
+ },
174
+ },
175
+ },
176
+ };
177
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/stabull/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { DeepReadonly } from 'ts-essentials';
2
+ import { Log, Logger } from '../../types';
3
+ import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
4
+ import { IDexHelper } from '../../dex-helper/idex-helper';
5
+ import { PoolState } from './types';
6
+ export declare class StabullEventPool extends StatefulEventSubscriber<PoolState> {
7
+ readonly parentName: string;
8
+ protected network: number;
9
+ protected dexHelper: IDexHelper;
10
+ readonly poolAddress: string;
11
+ protected addressesSubscribed_: string[];
12
+ handlers: {
13
+ [event: string]: (event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>) => DeepReadonly<PoolState> | null;
14
+ };
15
+ logDecoder: (log: Log) => any;
16
+ constructor(parentName: string, network: number, dexHelper: IDexHelper, poolAddress: string, addressesSubscribed_: string[], logger: Logger);
17
+ /**
18
+ * The function is called every time any of the subscribed
19
+ * addresses release log. The function accepts the current
20
+ * state, updates the state according to the log, and returns
21
+ * the updated state.
22
+ * @param state - Current state of event subscriber
23
+ * @param log - Log released by one of the subscribed addresses
24
+ * @returns Updates state of the event subscriber after the log
25
+ */
26
+ protected processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>): DeepReadonly<PoolState> | null;
27
+ /**
28
+ * The function generates state using on-chain calls. This
29
+ * function is called to regenerate state if the event based
30
+ * system fails to fetch events and the local state is no
31
+ * more correct.
32
+ * @param blockNumber - Blocknumber for which the state should
33
+ * should be generated
34
+ * @returns state of the event subscriber at blocknumber
35
+ */
36
+ generateState(blockNumber: number): Promise<DeepReadonly<PoolState>>;
37
+ /**
38
+ * Handles a transfer event and updates the pool state accordingly.
39
+ *
40
+ * @param event - The transfer event object containing details about the transfer.
41
+ * @param state - The current state of the pool.
42
+ * @param log - The log object containing additional information about the event.
43
+ * @returns The updated pool state if the transfer involves the pool, otherwise null.
44
+ */
45
+ handleTransfer(event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>): DeepReadonly<PoolState> | null;
46
+ }
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StabullEventPool = void 0;
4
+ const utils_1 = require("../../utils");
5
+ const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
6
+ const utils_2 = require("../../lib/tokens/utils");
7
+ const decoders_1 = require("../../lib/decoders");
8
+ class StabullEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
9
+ parentName;
10
+ network;
11
+ dexHelper;
12
+ poolAddress;
13
+ addressesSubscribed_;
14
+ handlers = {};
15
+ logDecoder;
16
+ constructor(parentName, network, dexHelper, poolAddress, addressesSubscribed_, logger) {
17
+ super(parentName, poolAddress.toLowerCase(), dexHelper, logger);
18
+ this.parentName = parentName;
19
+ this.network = network;
20
+ this.dexHelper = dexHelper;
21
+ this.poolAddress = poolAddress;
22
+ this.addressesSubscribed_ = addressesSubscribed_;
23
+ this.logDecoder = (log) => utils_2.erc20Iface.parseLog(log);
24
+ this.addressesSubscribed = addressesSubscribed_;
25
+ this.poolAddress = poolAddress.toLowerCase();
26
+ }
27
+ /**
28
+ * The function is called every time any of the subscribed
29
+ * addresses release log. The function accepts the current
30
+ * state, updates the state according to the log, and returns
31
+ * the updated state.
32
+ * @param state - Current state of event subscriber
33
+ * @param log - Log released by one of the subscribed addresses
34
+ * @returns Updates state of the event subscriber after the log
35
+ */
36
+ processLog(state, log) {
37
+ try {
38
+ const event = this.logDecoder(log);
39
+ if (event.name in this.handlers) {
40
+ return this.handlers[event.name](event, state, log);
41
+ }
42
+ }
43
+ catch (e) {
44
+ (0, utils_1.catchParseLogError)(e, this.logger);
45
+ }
46
+ return null;
47
+ }
48
+ /**
49
+ * The function generates state using on-chain calls. This
50
+ * function is called to regenerate state if the event based
51
+ * system fails to fetch events and the local state is no
52
+ * more correct.
53
+ * @param blockNumber - Blocknumber for which the state should
54
+ * should be generated
55
+ * @returns state of the event subscriber at blocknumber
56
+ */
57
+ async generateState(blockNumber) {
58
+ let calldata = [
59
+ {
60
+ target: this.addressesSubscribed[0],
61
+ callData: utils_2.erc20Iface.encodeFunctionData('balanceOf', [
62
+ this.poolAddress,
63
+ ]),
64
+ decodeFunction: decoders_1.uint256ToBigInt,
65
+ },
66
+ {
67
+ target: this.addressesSubscribed[1],
68
+ callData: utils_2.erc20Iface.encodeFunctionData('balanceOf', [
69
+ this.poolAddress,
70
+ ]),
71
+ decodeFunction: decoders_1.uint256ToBigInt,
72
+ },
73
+ ];
74
+ const data = await this.dexHelper.multiWrapper.tryAggregate(true, calldata, blockNumber);
75
+ return {
76
+ reserves0: data[0].success ? data[0].returnData : 0n,
77
+ reserves1: data[1].success ? data[1].returnData : 0n,
78
+ };
79
+ }
80
+ /**
81
+ * Handles a transfer event and updates the pool state accordingly.
82
+ *
83
+ * @param event - The transfer event object containing details about the transfer.
84
+ * @param state - The current state of the pool.
85
+ * @param log - The log object containing additional information about the event.
86
+ * @returns The updated pool state if the transfer involves the pool, otherwise null.
87
+ */
88
+ handleTransfer(event, state, log) {
89
+ const from = event.args.from.toLowerCase();
90
+ const to = event.args.to.toLowerCase();
91
+ // Check if pool is involved in the transfer
92
+ if (from !== this.poolAddress && to !== this.poolAddress) {
93
+ return null;
94
+ }
95
+ // Determine which token this is
96
+ const eventTokenAddress = log.address.toLowerCase();
97
+ const isToken0 = eventTokenAddress === this.addressesSubscribed[0].toLowerCase();
98
+ const value = event.args.value.toBigInt();
99
+ const reserveKey = isToken0 ? 'reserves0' : 'reserves1';
100
+ const currentReserve = state[reserveKey];
101
+ // Pool is sending tokens (decrease) or receiving tokens (increase)
102
+ const isFromPool = from === this.poolAddress;
103
+ const newReserve = isFromPool
104
+ ? currentReserve - value
105
+ : currentReserve + value;
106
+ return {
107
+ ...state,
108
+ [reserveKey]: newReserve,
109
+ };
110
+ }
111
+ }
112
+ exports.StabullEventPool = StabullEventPool;
113
+ //# sourceMappingURL=stabull-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stabull-pool.js","sourceRoot":"","sources":["../../../src/dex/stabull/stabull-pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, PoolLiquidity, Logger, DexExchangeParam } from '../../types';
2
+ import { SwapSide, Network } from '../../constants';
3
+ import { IDex } from '../../dex/idex';
4
+ import { IDexHelper } from '../../dex-helper/idex-helper';
5
+ import { StabullData } from './types';
6
+ import { SimpleExchange } from '../simple-exchange';
7
+ import { ethers } from 'ethers';
8
+ export declare class Stabull extends SimpleExchange implements IDex<StabullData> {
9
+ readonly network: Network;
10
+ readonly dexKey: string;
11
+ readonly dexHelper: IDexHelper;
12
+ protected poolIface: ethers.utils.Interface;
13
+ protected routerIface: ethers.utils.Interface;
14
+ protected routerAddress: string;
15
+ protected quoteCurrency: string;
16
+ private pools;
17
+ private poolsConfig;
18
+ readonly hasConstantPriceLargeAmounts = false;
19
+ readonly needWrapNative = true;
20
+ readonly isFeeOnTransferSupported = false;
21
+ static dexKeysWithNetwork: {
22
+ key: string;
23
+ networks: Network[];
24
+ }[];
25
+ logger: Logger;
26
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper, poolIface?: ethers.utils.Interface, routerIface?: ethers.utils.Interface, routerAddress?: string, quoteCurrency?: string);
27
+ getAdapters(side: SwapSide): {
28
+ name: string;
29
+ index: number;
30
+ }[] | null;
31
+ getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
32
+ getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<StabullData>>;
33
+ getCalldataGasCost(poolPrices: PoolPrices<StabullData>): number | number[];
34
+ getAdapterParam: (srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: StabullData, side: SwapSide) => AdapterExchangeParam;
35
+ updatePoolState(): Promise<void>;
36
+ getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
37
+ /**
38
+ * Retrieves the decentralized exchange (DEX) parameters for a swap operation.
39
+ *
40
+ * @param srcToken - The address of the source token.
41
+ * @param destToken - The address of the destination token.
42
+ * @param srcAmount - The amount of the source token to swap.
43
+ * @param destAmount - The desired amount of the destination token.
44
+ * @param recipient - The address of the recipient.
45
+ * @param data - Additional data required for the swap.
46
+ * @param side - The side of the swap (SELL or BUY).
47
+ * @param options - Options for global tokens.
48
+ * @param executorAddress - The address of the executor.
49
+ * @returns A promise that resolves to the DEX exchange parameters.
50
+ */
51
+ getDexParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, recipient: string, data: StabullData, side: SwapSide, options: {
52
+ isGlobalSrcToken: boolean;
53
+ isGlobalDestToken: boolean;
54
+ }, executorAddress: string): Promise<DexExchangeParam>;
55
+ }