@paraswap/dex-lib 2.16.0 → 2.16.1-generate-state-latest.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 (220) hide show
  1. package/build/composed-event-subscriber.d.ts +2 -2
  2. package/build/composed-event-subscriber.js +9 -4
  3. package/build/composed-event-subscriber.js.map +1 -1
  4. package/build/dex/aave-v1/aave-v1.d.ts +1 -1
  5. package/build/dex/aave-v1/aave-v1.js +1 -1
  6. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  7. package/build/dex/aave-v2/aave-v2.d.ts +1 -1
  8. package/build/dex/aave-v2/aave-v2.js +1 -1
  9. package/build/dex/aave-v2/aave-v2.js.map +1 -1
  10. package/build/dex/aave-v3/aave-v3.d.ts +1 -1
  11. package/build/dex/aave-v3/aave-v3.js +1 -1
  12. package/build/dex/aave-v3/aave-v3.js.map +1 -1
  13. package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
  14. package/build/dex/aave-v3/tokens/avalanche.json +74 -0
  15. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  16. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  17. package/build/dex/aave-v3/tokens/polygon.json +116 -0
  18. package/build/dex/aave-v3/utils.d.ts +1 -1
  19. package/build/dex/aave-v3/utils.js.map +1 -1
  20. package/build/dex/balancer-v1/balancer-v1-pool.d.ts +2 -2
  21. package/build/dex/balancer-v1/balancer-v1-pool.js +5 -1
  22. package/build/dex/balancer-v1/balancer-v1-pool.js.map +1 -1
  23. package/build/dex/balancer-v1/balancer-v1.d.ts +1 -1
  24. package/build/dex/balancer-v1/balancer-v1.js +7 -4
  25. package/build/dex/balancer-v1/balancer-v1.js.map +1 -1
  26. package/build/dex/balancer-v1/utils.d.ts +3 -1
  27. package/build/dex/balancer-v1/utils.js +18 -5
  28. package/build/dex/balancer-v1/utils.js.map +1 -1
  29. package/build/dex/balancer-v2/balancer-v2.d.ts +10 -5
  30. package/build/dex/balancer-v2/balancer-v2.js +15 -10
  31. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  32. package/build/dex/camelot/camelot.d.ts +2 -2
  33. package/build/dex/camelot/camelot.js +15 -6
  34. package/build/dex/camelot/camelot.js.map +1 -1
  35. package/build/dex/curve-v1/curve-v1.d.ts +1 -1
  36. package/build/dex/curve-v1/curve-v1.js +5 -8
  37. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  38. package/build/dex/curve-v1/pools/curve-metapool.d.ts +2 -2
  39. package/build/dex/curve-v1/pools/curve-metapool.js +12 -4
  40. package/build/dex/curve-v1/pools/curve-metapool.js.map +1 -1
  41. package/build/dex/curve-v1/pools/curve-pool.d.ts +3 -3
  42. package/build/dex/curve-v1/pools/curve-pool.js +13 -4
  43. package/build/dex/curve-v1/pools/curve-pool.js.map +1 -1
  44. package/build/dex/curve-v1/pools/getstate-multicall.d.ts +6 -1
  45. package/build/dex/curve-v1/pools/getstate-multicall.js +32 -25
  46. package/build/dex/curve-v1/pools/getstate-multicall.js.map +1 -1
  47. package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +3 -3
  48. package/build/dex/curve-v1-factory/curve-v1-factory.js +4 -4
  49. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  50. package/build/dex/curve-v1-factory/curve-v1-pool-manager.d.ts +1 -1
  51. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js +1 -1
  52. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
  53. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.d.ts +1 -1
  54. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.js.map +1 -1
  55. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.d.ts +1 -1
  56. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
  57. package/build/dex/curve-v1-factory/state-polling-pools/polling-manager.d.ts +4 -4
  58. package/build/dex/curve-v1-factory/state-polling-pools/polling-manager.js +5 -15
  59. package/build/dex/curve-v1-factory/state-polling-pools/polling-manager.js.map +1 -1
  60. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.d.ts +1 -1
  61. package/build/dex/curve-v1-factory/types.d.ts +1 -1
  62. package/build/dex/generic-rfq/generic-rfq.d.ts +1 -1
  63. package/build/dex/generic-rfq/generic-rfq.js +1 -1
  64. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  65. package/build/dex/generic-rfq/utils.js +1 -1
  66. package/build/dex/generic-rfq/utils.js.map +1 -1
  67. package/build/dex/gmx/gmx.d.ts +1 -1
  68. package/build/dex/gmx/gmx.js +1 -1
  69. package/build/dex/gmx/gmx.js.map +1 -1
  70. package/build/dex/gmx/pool.js +5 -4
  71. package/build/dex/gmx/pool.js.map +1 -1
  72. package/build/dex/idex.d.ts +1 -1
  73. package/build/dex/jarvis-v6/jarvis-v6-events.d.ts +4 -3
  74. package/build/dex/jarvis-v6/jarvis-v6-events.js +8 -4
  75. package/build/dex/jarvis-v6/jarvis-v6-events.js.map +1 -1
  76. package/build/dex/jarvis-v6/jarvis-v6.d.ts +1 -1
  77. package/build/dex/jarvis-v6/jarvis-v6.js +12 -8
  78. package/build/dex/jarvis-v6/jarvis-v6.js.map +1 -1
  79. package/build/dex/jarvis-v6/utils.d.ts +2 -1
  80. package/build/dex/jarvis-v6/utils.js +15 -6
  81. package/build/dex/jarvis-v6/utils.js.map +1 -1
  82. package/build/dex/kyberdmm/kyberdmm.js +4 -1
  83. package/build/dex/kyberdmm/kyberdmm.js.map +1 -1
  84. package/build/dex/kyberdmm/pool.d.ts +2 -2
  85. package/build/dex/kyberdmm/pool.js +21 -20
  86. package/build/dex/kyberdmm/pool.js.map +1 -1
  87. package/build/dex/maker-psm/maker-psm.d.ts +3 -3
  88. package/build/dex/maker-psm/maker-psm.js +35 -27
  89. package/build/dex/maker-psm/maker-psm.js.map +1 -1
  90. package/build/dex/maverick-v1/maverick-v1-pool.d.ts +3 -5
  91. package/build/dex/maverick-v1/maverick-v1-pool.js +27 -38
  92. package/build/dex/maverick-v1/maverick-v1-pool.js.map +1 -1
  93. package/build/dex/maverick-v1/maverick-v1.d.ts +2 -2
  94. package/build/dex/maverick-v1/maverick-v1.js +8 -8
  95. package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
  96. package/build/dex/nerve/nerve-pool.d.ts +2 -2
  97. package/build/dex/nerve/nerve-pool.js +28 -25
  98. package/build/dex/nerve/nerve-pool.js.map +1 -1
  99. package/build/dex/nerve/nerve.d.ts +2 -2
  100. package/build/dex/nerve/nerve.js +5 -5
  101. package/build/dex/nerve/nerve.js.map +1 -1
  102. package/build/dex/platypus/platypus.d.ts +3 -3
  103. package/build/dex/platypus/platypus.js +6 -5
  104. package/build/dex/platypus/platypus.js.map +1 -1
  105. package/build/dex/swaap-v1/config.d.ts +1 -1
  106. package/build/dex/swaap-v1/config.js +2 -2
  107. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +3 -3
  108. package/build/dex/swaap-v1/swaap-v1-pool.js +15 -9
  109. package/build/dex/swaap-v1/swaap-v1-pool.js.map +1 -1
  110. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -2
  111. package/build/dex/swaap-v1/swaap-v1.js +11 -8
  112. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  113. package/build/dex/synthetix/synthetix-state.js +1 -1
  114. package/build/dex/synthetix/synthetix-state.js.map +1 -1
  115. package/build/dex/synthetix/synthetix.d.ts +1 -1
  116. package/build/dex/synthetix/synthetix.js +5 -4
  117. package/build/dex/synthetix/synthetix.js.map +1 -1
  118. package/build/dex/test-dex/config.d.ts +4 -0
  119. package/build/dex/test-dex/config.js +15 -0
  120. package/build/dex/test-dex/config.js.map +1 -0
  121. package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
  122. package/build/dex/test-dex/test-dex-pool.js +63 -0
  123. package/build/dex/test-dex/test-dex-pool.js.map +1 -0
  124. package/build/dex/test-dex/test-dex.d.ts +37 -0
  125. package/build/dex/test-dex/test-dex.js +126 -0
  126. package/build/dex/test-dex/test-dex.js.map +1 -0
  127. package/build/dex/test-dex/types.d.ts +6 -0
  128. package/build/dex/test-dex/types.js +3 -0
  129. package/build/dex/test-dex/types.js.map +1 -0
  130. package/build/dex/uniswap-v2/uniswap-v2.d.ts +2 -2
  131. package/build/dex/uniswap-v2/uniswap-v2.js +15 -10
  132. package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
  133. package/build/dex/uniswap-v3/uniswap-v3-pool.d.ts +3 -3
  134. package/build/dex/uniswap-v3/uniswap-v3-pool.js +33 -27
  135. package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
  136. package/build/dex/uniswap-v3/uniswap-v3.d.ts +2 -2
  137. package/build/dex/uniswap-v3/uniswap-v3.js +4 -3
  138. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  139. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
  140. package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
  141. package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
  142. package/build/dex/woo-fi-v2/woo-fi-v2.d.ts +1 -1
  143. package/build/dex/woo-fi-v2/woo-fi-v2.js +1 -1
  144. package/build/dex/woo-fi-v2/woo-fi-v2.js.map +1 -1
  145. package/build/implementations/local-paraswap-sdk.js +1 -2
  146. package/build/implementations/local-paraswap-sdk.js.map +1 -1
  147. package/build/lib/generics-events-subscribers/erc20-event-subscriber.d.ts +2 -2
  148. package/build/lib/generics-events-subscribers/erc20-event-subscriber.js +17 -12
  149. package/build/lib/generics-events-subscribers/erc20-event-subscriber.js.map +1 -1
  150. package/build/lib/multi-wrapper.d.ts +5 -1
  151. package/build/lib/multi-wrapper.js +21 -2
  152. package/build/lib/multi-wrapper.js.map +1 -1
  153. package/build/lib/tokens/balancer-fetcher.d.ts +5 -1
  154. package/build/lib/tokens/balancer-fetcher.js +7 -9
  155. package/build/lib/tokens/balancer-fetcher.js.map +1 -1
  156. package/build/pricing-helper.d.ts +1 -1
  157. package/build/pricing-helper.js +1 -1
  158. package/build/pricing-helper.js.map +1 -1
  159. package/build/stateful-event-subscriber.d.ts +7 -3
  160. package/build/stateful-event-subscriber.js +25 -22
  161. package/build/stateful-event-subscriber.js.map +1 -1
  162. package/build/utils.d.ts +2 -2
  163. package/build/utils.js +1 -1
  164. package/build/utils.js.map +1 -1
  165. package/dex-template/__DexName__.ts.template +3 -1
  166. package/package.json +1 -1
  167. package/src/composed-event-subscriber.ts +24 -13
  168. package/src/dex/aave-v1/aave-v1.ts +1 -1
  169. package/src/dex/aave-v2/aave-v2.ts +1 -1
  170. package/src/dex/aave-v3/aave-v3.ts +3 -1
  171. package/src/dex/aave-v3/utils.ts +3 -3
  172. package/src/dex/balancer-v1/balancer-v1-pool.ts +18 -9
  173. package/src/dex/balancer-v1/balancer-v1.ts +13 -8
  174. package/src/dex/balancer-v1/utils.ts +36 -7
  175. package/src/dex/balancer-v2/balancer-v2.ts +42 -25
  176. package/src/dex/camelot/camelot.ts +29 -10
  177. package/src/dex/curve-v1/curve-v1.ts +11 -11
  178. package/src/dex/curve-v1/pools/curve-metapool.ts +23 -7
  179. package/src/dex/curve-v1/pools/curve-pool.ts +29 -8
  180. package/src/dex/curve-v1/pools/getstate-multicall.ts +83 -56
  181. package/src/dex/curve-v1-factory/curve-v1-factory.ts +4 -4
  182. package/src/dex/curve-v1-factory/curve-v1-pool-manager.ts +1 -1
  183. package/src/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.ts +1 -1
  184. package/src/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.ts +1 -1
  185. package/src/dex/curve-v1-factory/state-polling-pools/polling-manager.ts +5 -16
  186. package/src/dex/curve-v1-factory/state-polling-pools/pool-polling-base.ts +1 -1
  187. package/src/dex/curve-v1-factory/types.ts +1 -1
  188. package/src/dex/generic-rfq/generic-rfq.ts +3 -1
  189. package/src/dex/generic-rfq/utils.ts +1 -1
  190. package/src/dex/gmx/gmx.ts +1 -1
  191. package/src/dex/gmx/pool.ts +9 -4
  192. package/src/dex/idex.ts +1 -1
  193. package/src/dex/jarvis-v6/jarvis-v6-events.ts +17 -6
  194. package/src/dex/jarvis-v6/jarvis-v6.ts +17 -15
  195. package/src/dex/jarvis-v6/utils.ts +21 -9
  196. package/src/dex/kyberdmm/kyberdmm.ts +4 -1
  197. package/src/dex/kyberdmm/pool.ts +32 -24
  198. package/src/dex/maker-psm/maker-psm.ts +69 -47
  199. package/src/dex/maverick-v1/maverick-v1-pool.ts +50 -38
  200. package/src/dex/maverick-v1/maverick-v1.ts +12 -8
  201. package/src/dex/nerve/nerve-pool.ts +42 -30
  202. package/src/dex/nerve/nerve.ts +9 -5
  203. package/src/dex/platypus/platypus.ts +11 -7
  204. package/src/dex/swaap-v1/config.ts +1 -1
  205. package/src/dex/swaap-v1/swaap-v1-pool.ts +23 -14
  206. package/src/dex/swaap-v1/swaap-v1.ts +21 -14
  207. package/src/dex/synthetix/synthetix-state.ts +3 -3
  208. package/src/dex/synthetix/synthetix.ts +5 -4
  209. package/src/dex/uniswap-v2/uniswap-v2.ts +27 -13
  210. package/src/dex/uniswap-v3/uniswap-v3-pool.ts +43 -39
  211. package/src/dex/uniswap-v3/uniswap-v3.ts +5 -4
  212. package/src/dex/woo-fi-v2/woo-fi-v2.ts +3 -1
  213. package/src/implementations/local-paraswap-sdk.ts +1 -2
  214. package/src/lib/generics-events-subscribers/erc20-event-subscriber.ts +29 -18
  215. package/src/lib/multi-wrapper.ts +41 -2
  216. package/src/lib/tokens/balancer-fetcher.ts +23 -19
  217. package/src/pricing-helper.ts +5 -2
  218. package/src/stateful-event-subscriber.ts +35 -28
  219. package/src/utils.ts +3 -4
  220. package/tests/utils.test.ts +44 -0
@@ -1 +1 @@
1
- {"version":3,"file":"stateful-event-subscriber.js","sourceRoot":"","sources":["../src/stateful-event-subscriber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stateful-event-subscriber.js","sourceRoot":"","sources":["../src/stateful-event-subscriber.ts"],"names":[],"mappings":"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"}
package/build/utils.d.ts CHANGED
@@ -45,8 +45,8 @@ export declare function currentBigIntTimestampInS(): bigint;
45
45
  export declare const isDestTokenTransferFeeToBeExchanged: (transferFees: TransferFeeParams) => boolean;
46
46
  export declare const isTruthy: <T>(x: false | "" | 0 | T | null | undefined) => x is T;
47
47
  declare type MultiCallParams = {
48
- target: any;
49
- callData: any;
48
+ target: string;
49
+ callData: string;
50
50
  };
51
51
  declare type BlockAndTryAggregateResult = {
52
52
  blockNumber: number;
package/build/utils.js CHANGED
@@ -249,7 +249,7 @@ class Utils {
249
249
  static timeoutPromise(promise, timeout, message) {
250
250
  return Promise.race([
251
251
  promise,
252
- new Promise((resolve, reject) => {
252
+ new Promise((_, reject) => {
253
253
  setTimeout(() => reject(message), timeout);
254
254
  }),
255
255
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,4CAA8C;AAC9C,yCAA0C;AAC1C,yDAA6D;AAC7D,2CAAqD;AAErD,oDAAuB;AAKhB,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE,CAC9C,OAAO,CAAC,WAAW,EAAE,KAAK,yBAAa,CAAC,WAAW,EAAE,CAAC;AAD3C,QAAA,YAAY,gBAC+B;AAEjD,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CAC3C,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;AAD7B,QAAA,aAAa,iBACgB;AAEnC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAhE,QAAA,aAAa,iBAAmD;AAE7E,SAAgB,eAAe,CAAC,IAAmB;IACjD,MAAM,SAAS,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;AACtC,CAAC;AAHD,0CAGC;AAED,4EAA4E;AAC5E,4EAA4E;AAC5E,SAAgB,oBAAoB,CAAC,IAAc;IACjD,MAAM,GAAG,GAAG,KAAK,CAAC;IAClB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,GAAG,EAAE;QACtB,OAAO,OAAO,CAAC;KAChB;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QACrB,KAAK,EAAE,CAAC;KACT,CAAC,CAAC,CAAC;IACJ,IAAI,UAAU,GAAG,GAAG,EAAE;QACpB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE;YACzC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC5B;KACF;SAAM;QACL,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;YACzC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC5B;KACF;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAzBD,oDAyBC;AAED,SAAgB,qBAAqB,CACnC,SAA0B;IAE1B,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KACpD,CAAC,CAAC,CAAC;AACN,CAAC;AAPD,sDAOC;AAED,4EAA4E;AAC5E,+CAA+C;AAC/C,SAAgB,YAAY,CAAC,QAAgB;IAC3C,MAAM,KAAK,GAAG,0BAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,2EAA2E;IAC3E,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1E,CAAC;AAJD,oCAIC;AAED,SAAgB,mBAAmB,CAAC,GAAY;IAC9C,OAAO,IAAI,CAAC,SAAS,CACnB,GAAG,EACH,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACxE,CAAC;AACJ,CAAC;AALD,kDAKC;AAED,SAAgB,QAAQ,CACtB,CAAU,EACV,OAAe,EACf,MAAgC,EAChC,SAAkB;IAElB,IAAI,CAAC,CAAC,EAAE;QACN,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,MAAM,IAAI,SAAS,EAAE;YACvB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;iBACvC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,cAAc,GAAG,WAAW,WAAW,gBAAgB,SAAS,aAAa,CAAC;SAC/E;QACD,MAAM,IAAI,KAAK,CACb,GAAG,cAAc,kBAAkB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CACrE,CAAC;KACH;AACH,CAAC;AAlBD,4BAkBC;AAQD,2JAA2J;AAC3J,SAAgB,UAAU,CAAO,EAC/B,UAAU,EACV,OAAO,EACP,WAAW,GACW;IACtB,IAAI,WAAW,IAAI,UAAU,CAAC,MAAM;QAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,OAAO,GAAQ,EAAE,CAAC;IAExB,KACE,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EACzB,CAAC,GAAG,UAAU,CAAC,MAAM,EACrB,CAAC,IAAI,WAAW,EAAE,EAAE,UAAU,EAC9B;QACA,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC7B;IAED,OAAO,OAAsB,CAAC;AAChC,CAAC;AAnBD,gCAmBC;AAED,yEAAyE;AACzE,0CAA0C;AAC1C,2EAA2E;AAC3E,0EAA0E;AAC1E,yCAAyC;AACzC,kFAAkF;AAClF,qEAAqE;AACrE,sGAAsG;AACtG,wDAAwD;AACxD,SAAgB,WAAW,CACzB,SAAmB,EACnB,SAAmB,EACnB,SAAmB,EACnB,IAAc;IAEd,IAAI,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAChC,IAAI,CAAC,IAAI,QAAQ,EAAE;YACjB,QAAQ,GAAG,CAAC,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACrB;KACF;IAED,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACvB,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,EAAE,CAAC;QAExB,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAAE,CAAC,EAAE,CAAC;QAErD,uGAAuG;QACvG,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE;YACzB,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,IAAI,KAAK,eAAQ,CAAC,IAAI;oBACxB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;oBACjC,CAAC,CAAC,iCAAc,CAAC;SACpB;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAE3B,iEAAiE;QACjE,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QAE5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAExC,uFAAuF;QACvF,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnD,wEAAwE;QACxE,kEAAkE;QAClE,4BAA4B;QAC5B,wBAAwB;QACxB,4CAA4C;QAC5C,gEAAgE;QAEhE,OAAO,CACL,YAAY;YACZ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;gBACnD,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CACjC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAxDD,kCAwDC;AAEM,MAAM,SAAS,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAAtC,QAAA,SAAS,aAA6B;AAE5C,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC;AAAhD,QAAA,YAAY,gBAAoC;AAEtD,MAAM,SAAS,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAAzC,QAAA,SAAS,aAAgC;AAE/C,MAAM,kBAAkB,GAAG,CAAC,CAAM,EAAE,MAAc,EAAE,EAAE;IAC3D,IAAI,CAAC,YAAY,KAAK,EAAE;QACtB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YAC5C,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;SACvC;KACF;AACH,CAAC,CAAC;AANW,QAAA,kBAAkB,sBAM7B;AAEK,MAAM,SAAS,GAAG,CAAC,UAAmB,EAAE,EAAE;IAC/C,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC;AACpC,CAAC,CAAC;AAHW,QAAA,SAAS,aAGpB;AAEF,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC9C,OAAO,CAAC,GAAQ,EAAE,EAAE;QAClB,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC;SACd;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;gBACxB,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;AAC3E,MAAM,gCAAgC,GACpC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAE1C,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,GAAQ,EAAE,EAAE,CACzD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEhC,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,EAAE,CAC3C,qBAAqB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;AAC7C,MAAM,uBAAuB,GAAG,CAAC,GAAc,EAAE,EAAE,CACjD,qBAAqB,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAEhD,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;AAC5D,MAAM,gBAAgB,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,YAAY,sBAAS,CAAC;AAEhE,MAAM,mBAAmB,GAAG,CAC1B,MAAc,EACd,WAAiC,EACjC,EAAE;IACF,OAAO,CAAC,GAAW,EAAE,EAAE;QACrB,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,mBAAmB,CAC9C,cAAc,EACd,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAC7B,CAAC;AAEF,MAAM,uBAAuB,GAAG,mBAAmB,CACjD,iBAAiB,EACjB,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,sBAAS,CAAC,GAAG,CAAC,CACpC,CAAC;AAOF,SAAgB,YAAY,CAAC,GAAQ,EAAE,KAAuB;IAC5D,OAAO,gBAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,EAAE;QACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBAChB,OAAO;aACR;SACF;QACD,MAAM,QAAQ,GAAG,gBAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,QAAQ,EAAE;YACZ,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAC1B;aAAM;YACL,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SAChB;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAhBD,oCAgBC;AAED,MAAa,KAAK;IAChB,MAAM,CAAC,SAAS,CAAC,IAAS;QACxB,OAAO,IAAI,CAAC,SAAS,CACnB,YAAY,CAAC,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAC9B;gBACE,OAAO,EAAE,aAAa;gBACtB,MAAM,EAAE,oBAAoB;aAC7B;YACD;gBACE,OAAO,EAAE,gBAAgB;gBACzB,MAAM,EAAE,uBAAuB;aAChC;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAS;QACpB,OAAO,YAAY,CAAC,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;YACjD;gBACE,OAAO,EAAE,6BAA6B;gBACtC,MAAM,EAAE,oBAAoB;aAC7B;YACD;gBACE,OAAO,EAAE,gCAAgC;gBACzC,MAAM,EAAE,uBAAuB;aAChC;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,cAAc,CACnB,OAAmB,EACnB,OAAe,EACf,OAAe;QAEf,OAAO,OAAO,CAAC,IAAI,CAAC;YAClB,OAAO;YACP,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACjC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF;AAzCD,sBAyCC;AAEM,MAAM,kCAAkC,GAAG,CAChD,YAA+B,EAC/B,EAAE;IACF,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;AAC3D,CAAC,CAAC;AAJW,QAAA,kCAAkC,sCAI7C;AAEF,4DAA4D;AACrD,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,EAAE;IAClD,OAAO,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3C,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEF,4EAA4E;AAC5E,8BAA8B;AAC9B,SAAgB,yBAAyB;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC;AAFD,8DAEC;AAEM,MAAM,mCAAmC,GAAG,CACjD,YAA+B,EAC/B,EAAE;IACF,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;AAC7D,CAAC,CAAC;AAJW,QAAA,mCAAmC,uCAI9C;AAEK,MAAM,QAAQ,GAAG,CAAI,CAAwC,EAAU,EAAE,CAC9E,CAAC,CAAC,CAAC,CAAC;AADO,QAAA,QAAQ,YACf;AAYC,MAAM,oBAAoB,GAAG,KAAK,EACvC,SAAkB,EAClB,KAAe,EACf,KAAwB,EACxB,WAA8B,EACO,EAAE;IACvC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO;SAChC,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC;SACtC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEhC,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;QACxC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;YAC7C,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,oBAAoB,wBAiB/B;AAEK,MAAM,iBAAiB,GAAG,KAAK,EAAE,IAAU,EAAE,IAAY,EAAE,EAAE;IAClE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD,OAAO,YAAY,KAAK,IAAI,CAAC;AAC/B,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,9 @@ export class __DexName__
56
56
  // pricing service. It is intended to setup the integration
57
57
  // for pricing requests. It is optional for a DEX to
58
58
  // implement this function
59
- async initializePricing(blockNumber: number) {
59
+ async initializePricing(
60
+ blockNumber: number | 'latest' = 'latest',
61
+ ): Promise<void> {
60
62
  // TODO: complete me!
61
63
  }
62
64
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.16.0",
3
+ "version": "2.16.1-generate-state-latest.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -1,4 +1,7 @@
1
- import { StatefulEventSubscriber } from './stateful-event-subscriber';
1
+ import {
2
+ StatefulEventSubscriber,
3
+ StateWithBlock,
4
+ } from './stateful-event-subscriber';
2
5
  import { AsyncOrSync, DeepReadonly } from 'ts-essentials';
3
6
  import {
4
7
  Address,
@@ -10,6 +13,7 @@ import {
10
13
  } from './types';
11
14
  import { Lens } from './lens';
12
15
  import { IDexHelper } from './dex-helper/idex-helper';
16
+ import { blockAndTryAggregate } from './utils';
13
17
 
14
18
  export abstract class PartialEventSubscriber<State, SubState> {
15
19
  constructor(
@@ -51,7 +55,6 @@ export abstract class ComposedEventSubscriber<
51
55
  private blankState: DeepReadonly<State>,
52
56
  ) {
53
57
  super(parentName, name, dexHelper, logger);
54
-
55
58
  this.addressesSubscribed = [];
56
59
  for (const p of this.parts) {
57
60
  for (const a of p.addressesSubscribed) {
@@ -100,16 +103,21 @@ export abstract class ComposedEventSubscriber<
100
103
  }
101
104
 
102
105
  public async generateState(
103
- blockNumber?: number | 'latest',
104
- ): Promise<DeepReadonly<State>> {
106
+ blockNumber: number | 'latest',
107
+ ): Promise<StateWithBlock<State>> {
105
108
  let returnData: MultiCallOutput[] = [];
109
+ let realBlockNumber: number = 0;
106
110
  if (this.multiCallInputs.length) {
107
- returnData = (
108
- await this.dexHelper.multiContract.methods
109
- .aggregate(this.multiCallInputs)
110
- .call({}, blockNumber)
111
- ).returnData;
111
+ const results = await blockAndTryAggregate(
112
+ true,
113
+ this.dexHelper.multiContract,
114
+ this.multiCallInputs,
115
+ blockNumber,
116
+ );
117
+ returnData = results.results.map(res => res.returnData);
118
+ realBlockNumber = results.blockNumber;
112
119
  }
120
+
113
121
  const stateParts = await Promise.all(
114
122
  this.parts.map((p, i) =>
115
123
  p.generateState(
@@ -118,9 +126,12 @@ export abstract class ComposedEventSubscriber<
118
126
  ),
119
127
  ),
120
128
  );
121
- return this.parts.reduce(
122
- (acc, p, i) => p.lens.set(stateParts[i])(acc),
123
- this.blankState,
124
- );
129
+ return {
130
+ blockNumber: realBlockNumber,
131
+ state: this.parts.reduce(
132
+ (acc, p, i) => p.lens.set(stateParts[i])(acc),
133
+ this.blankState,
134
+ ),
135
+ };
125
136
  }
126
137
  }
@@ -57,7 +57,7 @@ export class AaveV1
57
57
  this.aContract = new Interface(ERC20 as JsonFragment[]);
58
58
  }
59
59
 
60
- async initializePricing(blockNumber: number) {}
60
+ async initializePricing(blockNumber: number | 'latest' = 'latest') {}
61
61
 
62
62
  // Returns the list of contract adapters (name and index)
63
63
  // for a buy/sell. Return null if there are no adapters.
@@ -77,7 +77,7 @@ export class AaveV2
77
77
  // Initialize pricing is called once in the start of
78
78
  // pricing service. It is intended to setup the integration
79
79
  // for pricing requests. It is optional for a DEX to
80
- async initializePricing(blockNumber: number) {}
80
+ async initializePricing(blockNumber: number | 'latest' = 'latest') {}
81
81
 
82
82
  // Returns the list of contract adapters (name and index)
83
83
  // for a buy/sell. Return null if there are no adapters.
@@ -56,7 +56,9 @@ export class AaveV3 extends SimpleExchange implements IDex<Data, Param> {
56
56
  return this.adapters[side];
57
57
  }
58
58
 
59
- async initializePricing(blockNumber: number): Promise<void> {
59
+ async initializePricing(
60
+ blockNumber: number | 'latest' = 'latest',
61
+ ): Promise<void> {
60
62
  let cachedTokenList = await this.dexHelper.cache.getAndCacheLocally(
61
63
  this.dexKey,
62
64
  this.network,
@@ -50,7 +50,7 @@ export const decodeATokenFromReserveData = (
50
50
  };
51
51
 
52
52
  async function _getAllTokenMetadata(
53
- blockNumber: number,
53
+ blockNumber: number | 'latest',
54
54
  reservesList: string[],
55
55
  poolAddress: string,
56
56
  poolInterface: Interface,
@@ -97,7 +97,7 @@ async function _getAllTokenMetadata(
97
97
  }
98
98
 
99
99
  async function _getATokenSymbols(
100
- blockNumber: number,
100
+ blockNumber: number | 'latest',
101
101
  aTokens: string[],
102
102
  erc20Interface: Interface,
103
103
  multiWrapper: MultiWrapper,
@@ -118,7 +118,7 @@ async function _getATokenSymbols(
118
118
 
119
119
  export const fetchTokenList = async (
120
120
  web3Provider: Web3,
121
- blockNumber: number,
121
+ blockNumber: number | 'latest',
122
122
  poolAddress: string,
123
123
  poolInterface: Interface,
124
124
  erc20Interface: Interface,
@@ -5,7 +5,10 @@ import { DeepReadonly } from 'ts-essentials';
5
5
  import { Log, Logger, Token } from '../../types';
6
6
  import { SwapSide } from '../../constants';
7
7
  import { catchParseLogError } from '../../utils';
8
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
8
+ import {
9
+ StatefulEventSubscriber,
10
+ StateWithBlock,
11
+ } from '../../stateful-event-subscriber';
9
12
  import { IDexHelper } from '../../dex-helper/idex-helper';
10
13
  import { PoolState, PoolInfo, FractionAsString } from './types';
11
14
  import { BN_POWS } from '../../bignumber-constants';
@@ -172,14 +175,20 @@ export class BalancerV1EventPool extends StatefulEventSubscriber<PoolState> {
172
175
  * should be generated
173
176
  * @returns state of the event subscriber at blocknumber
174
177
  */
175
- async generateState(blockNumber: number): Promise<DeepReadonly<PoolState>> {
176
- return (
177
- await generatePoolStates(
178
- [this.poolInfo],
179
- this.balancerMulticall,
180
- blockNumber,
181
- )
182
- )[0];
178
+ async generateState(
179
+ blockNumber: number | 'latest',
180
+ ): Promise<StateWithBlock<PoolState>> {
181
+ const { blockNumber: _blockNumber, state } = await generatePoolStates(
182
+ this.dexHelper,
183
+ [this.poolInfo],
184
+ this.balancerMulticall,
185
+ blockNumber,
186
+ );
187
+
188
+ return {
189
+ blockNumber: _blockNumber,
190
+ state: state[0],
191
+ };
183
192
  }
184
193
 
185
194
  handleJoinPool(
@@ -81,7 +81,7 @@ export class BalancerV1
81
81
  // pricing service. It is intended to setup the integration
82
82
  // for pricing requests. It is optional for a DEX to
83
83
  // implement this function
84
- async initializePricing(_blockNumber: number) {
84
+ async initializePricing(_blockNumber: number | 'latest' = 'latest') {
85
85
  this.poolsInfo = await this.dexHelper.httpRequest.get<PoolsInfo>(
86
86
  this.config.poolsURL,
87
87
  POOLS_FETCH_TIMEOUT,
@@ -170,11 +170,13 @@ export class BalancerV1
170
170
  }
171
171
 
172
172
  if (poolsMissingState.length) {
173
- const poolStates = await generatePoolStates(
174
- poolsMissingState,
175
- this.balancerMulticall,
176
- blockNumber,
177
- );
173
+ const { blockNumber: _blockNumber, state: poolStates } =
174
+ await generatePoolStates(
175
+ this.dexHelper,
176
+ poolsMissingState,
177
+ this.balancerMulticall,
178
+ blockNumber,
179
+ );
178
180
 
179
181
  await Promise.all(
180
182
  poolsMissingState.map(async (poolInfo, i) => {
@@ -191,8 +193,11 @@ export class BalancerV1
191
193
  poolInfo,
192
194
  );
193
195
 
194
- await newPool.initialize(blockNumber, {
195
- state: poolState,
196
+ await newPool.initialize(_blockNumber, {
197
+ stateWithBn: {
198
+ blockNumber: _blockNumber,
199
+ state: poolState,
200
+ },
196
201
  });
197
202
  this.eventPools[poolInfo.id] = newPool;
198
203
  }
@@ -1,13 +1,19 @@
1
1
  import { Contract } from 'web3-eth-contract';
2
2
  import { PoolInfo, PoolState } from './types';
3
3
  import { BALANCES_MULTICALL_POOLS_LIMIT } from './config';
4
- import { sliceCalls } from '../../utils';
4
+ import { blockAndTryAggregate, sliceCalls } from '../../utils';
5
+ import { StateWithBlock } from '../../stateful-event-subscriber';
6
+ import { IDexHelper } from '../../dex-helper';
7
+ import { defaultAbiCoder } from 'ethers/lib/utils';
8
+ import { BigNumber } from 'ethers';
9
+ import { assert } from 'ts-essentials';
5
10
 
6
11
  export async function generatePoolStates(
12
+ dexHelper: IDexHelper,
7
13
  pools: PoolInfo[],
8
14
  balancerMulticall: Contract,
9
- blockNumber: number,
10
- ): Promise<PoolState[]> {
15
+ blockNumber: number | 'latest',
16
+ ): Promise<StateWithBlock<PoolState[]>> {
11
17
  if (!pools.length) throw new Error('No pools provided to generatePoolStates');
12
18
 
13
19
  const poolWithTokensAddresses = new Array<string[]>(pools.length);
@@ -22,6 +28,8 @@ export async function generatePoolStates(
22
28
  poolWithTokensAddresses[i] = arr;
23
29
  }
24
30
 
31
+ let _blockNumber: number | undefined = undefined;
32
+
25
33
  const poolTokenBalances = (
26
34
  await Promise.all(
27
35
  sliceCalls({
@@ -33,9 +41,28 @@ export async function generatePoolStates(
33
41
  0,
34
42
  );
35
43
 
36
- return await balancerMulticall.methods
37
- .getPoolInfo(slicedPoolWithTokensAddresses, totalTokensInPools)
38
- .call({}, blockNumber);
44
+ const result = await blockAndTryAggregate(
45
+ true,
46
+ dexHelper.multiContract,
47
+ [
48
+ {
49
+ target: balancerMulticall.options.address,
50
+ callData: balancerMulticall.methods
51
+ .getPoolInfo(
52
+ slicedPoolWithTokensAddresses,
53
+ totalTokensInPools,
54
+ )
55
+ .encodeABI(),
56
+ },
57
+ ],
58
+ blockNumber,
59
+ );
60
+ _blockNumber = result.blockNumber;
61
+ return result.results.map(r =>
62
+ defaultAbiCoder
63
+ .decode(['uint256[]'], r.returnData)[0]
64
+ .map((v: BigNumber) => v.toBigInt()),
65
+ );
39
66
  },
40
67
  }),
41
68
  )
@@ -53,5 +80,7 @@ export async function generatePoolStates(
53
80
  ret[i] = poolState;
54
81
  }
55
82
 
56
- return ret;
83
+ assert(_blockNumber !== undefined, 'blockNumber is undefined');
84
+
85
+ return { blockNumber: _blockNumber, state: ret };
57
86
  }
@@ -26,8 +26,15 @@ import { StablePool, WeightedPool } from './balancer-v2-pool';
26
26
  import { PhantomStablePool } from './PhantomStablePool';
27
27
  import { LinearPool } from './LinearPool';
28
28
  import VaultABI from '../../abi/balancer-v2/vault.json';
29
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
30
- import { getDexKeysWithNetwork, getBigIntPow } from '../../utils';
29
+ import {
30
+ StateWithBlock,
31
+ StatefulEventSubscriber,
32
+ } from '../../stateful-event-subscriber';
33
+ import {
34
+ getDexKeysWithNetwork,
35
+ getBigIntPow,
36
+ blockAndTryAggregate,
37
+ } from '../../utils';
31
38
  import { IDex } from '../../dex/idex';
32
39
  import { IDexHelper } from '../../dex-helper';
33
40
  import {
@@ -305,7 +312,9 @@ export class BalancerV2EventPool extends StatefulEventSubscriber<PoolStateMap> {
305
312
  return allPools;
306
313
  }
307
314
 
308
- async generateState(blockNumber: number): Promise<Readonly<PoolStateMap>> {
315
+ async generateState(
316
+ blockNumber: number | 'latest',
317
+ ): Promise<StateWithBlock<PoolStateMap>> {
309
318
  const allPools = await this.fetchAllSubgraphPools();
310
319
  this.allPools = allPools;
311
320
  const eventSupportedPools = allPools.filter(
@@ -313,11 +322,15 @@ export class BalancerV2EventPool extends StatefulEventSubscriber<PoolStateMap> {
313
322
  this.eventSupportedPoolTypes.includes(pool.poolType) &&
314
323
  !this.eventRemovedPools.includes(pool.address.toLowerCase()),
315
324
  );
316
- const allPoolsLatestState = await this.getOnChainState(
325
+ const allPoolsLatestStateWithBn = await this.getOnChainState(
317
326
  eventSupportedPools,
318
327
  blockNumber,
319
328
  );
320
- return allPoolsLatestState;
329
+
330
+ return {
331
+ blockNumber: allPoolsLatestStateWithBn.blockNumber,
332
+ state: allPoolsLatestStateWithBn.stateMap,
333
+ };
321
334
  }
322
335
 
323
336
  handleSwap(event: any, pool: PoolState, log: Log): PoolState {
@@ -430,8 +443,8 @@ export class BalancerV2EventPool extends StatefulEventSubscriber<PoolStateMap> {
430
443
 
431
444
  async getOnChainState(
432
445
  subgraphPoolBase: SubgraphPoolBase[],
433
- blockNumber: number,
434
- ): Promise<PoolStateMap> {
446
+ blockNumber: number | 'latest',
447
+ ) {
435
448
  const multiCallData = subgraphPoolBase
436
449
  .map(pool => {
437
450
  if (!this.isSupportedPool(pool.poolType)) return [];
@@ -443,15 +456,18 @@ export class BalancerV2EventPool extends StatefulEventSubscriber<PoolStateMap> {
443
456
  // 500 is an arbitrary number chosen based on the blockGasLimit
444
457
  const slicedMultiCallData = _.chunk(multiCallData, 500);
445
458
 
446
- const returnData = (
447
- await Promise.all(
448
- slicedMultiCallData.map(async _multiCallData =>
449
- this.dexHelper.multiContract.methods
450
- .tryAggregate(false, _multiCallData)
451
- .call({}, blockNumber),
459
+ const results = await Promise.all(
460
+ slicedMultiCallData.map(async _multiCallData =>
461
+ blockAndTryAggregate(
462
+ false,
463
+ this.dexHelper.multiContract,
464
+ multiCallData,
465
+ blockNumber,
452
466
  ),
453
- )
454
- ).flat();
467
+ ),
468
+ );
469
+
470
+ const returnData = results.map(res => res.results).flat();
455
471
 
456
472
  let i = 0;
457
473
  const onChainStateMap = subgraphPoolBase.reduce(
@@ -468,7 +484,10 @@ export class BalancerV2EventPool extends StatefulEventSubscriber<PoolStateMap> {
468
484
  {},
469
485
  );
470
486
 
471
- return onChainStateMap;
487
+ return {
488
+ blockNumber: results[0].blockNumber,
489
+ stateMap: onChainStateMap,
490
+ };
472
491
  }
473
492
  }
474
493
 
@@ -502,7 +521,7 @@ export class BalancerV2
502
521
  protected adapters = Adapters[network],
503
522
  ) {
504
523
  super(dexHelper, dexKey);
505
- // Initialise cache - this will hold pool state of non-event pools in memory to be reused if block hasn't expired
524
+ // Initialize cache - this will hold pool state of non-event pools in memory to be reused if block hasn't expired
506
525
  this.nonEventPoolStateCache = { blockNumber: 0, poolState: {} };
507
526
  this.logger = dexHelper.getLogger(dexKey);
508
527
  this.eventPools = new BalancerV2EventPool(
@@ -515,7 +534,7 @@ export class BalancerV2
515
534
  );
516
535
  }
517
536
 
518
- async setupEventPools(blockNumber: number) {
537
+ async setupEventPools(blockNumber: number | 'latest') {
519
538
  await this.eventPools.initialize(blockNumber);
520
539
  }
521
540
 
@@ -569,7 +588,7 @@ export class BalancerV2
569
588
  );
570
589
  }
571
590
 
572
- async initializePricing(blockNumber: number) {
591
+ async initializePricing(blockNumber: number | 'latest' = 'latest') {
573
592
  if (!this.eventDisabledPoolsTimer) {
574
593
  await this.fetchEventDisabledPools();
575
594
  this.eventDisabledPoolsTimer = setInterval(async () => {
@@ -723,14 +742,12 @@ export class BalancerV2
723
742
 
724
743
  // Retrieve onchain state for any missing pools
725
744
  if (missingPools.length > 0) {
726
- const missingPoolsStateMap = await this.eventPools.getOnChainState(
727
- missingPools,
728
- blockNumber,
729
- );
745
+ const missingPoolsStateMapWithBlockNumber =
746
+ await this.eventPools.getOnChainState(missingPools, blockNumber);
730
747
  // Update non-event pool state cache with newly retrieved data so it can be reused in future
731
748
  nonEventPoolStates = this.updateNonEventPoolStateCache(
732
- missingPoolsStateMap,
733
- blockNumber,
749
+ missingPoolsStateMapWithBlockNumber.stateMap,
750
+ missingPoolsStateMapWithBlockNumber.blockNumber,
734
751
  );
735
752
  }
736
753
 
@@ -30,6 +30,7 @@ import {
30
30
  UniswapPool,
31
31
  } from '../uniswap-v2/types';
32
32
  import {
33
+ blockAndTryAggregate,
33
34
  getBigIntPow,
34
35
  getDexKeysWithNetwork,
35
36
  isETHAddress,
@@ -51,7 +52,10 @@ import {
51
52
  import { CamelotConfig, Adapters } from './config';
52
53
  import { Contract } from 'web3-eth-contract';
53
54
  import { IDex } from '../idex';
54
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
55
+ import {
56
+ StatefulEventSubscriber,
57
+ StateWithBlock,
58
+ } from '../../stateful-event-subscriber';
55
59
  import ParaSwapABI from '../../abi/IParaswap.json';
56
60
  import UniswapV2ExchangeRouterABI from '../../abi/UniswapV2ExchangeRouter.json';
57
61
  import { SimpleExchange } from '../simple-exchange';
@@ -157,14 +161,26 @@ export class CamelotEventPool extends StatefulEventSubscriber<CamelotPoolState>
157
161
  }
158
162
 
159
163
  async generateState(
160
- blockNumber: number | 'latest' = 'latest',
161
- ): Promise<DeepReadonly<CamelotPoolState>> {
162
- const data: { returnData: any[] } =
163
- await this.dexHelper.multiContract.methods
164
- .aggregate(this.callEntries)
165
- .call({}, blockNumber);
166
-
167
- return this.callDecoder(data.returnData);
164
+ blockNumber: number | 'latest',
165
+ ): Promise<StateWithBlock<CamelotPoolState>> {
166
+ // const data: { returnData: any[] } =
167
+ // await this.dexHelper.multiContract.methods
168
+ // .aggregate(this.callEntries)
169
+ // .call({}, blockNumber);
170
+
171
+ const { results: data, blockNumber: blockNum } = await blockAndTryAggregate(
172
+ true,
173
+ this.dexHelper.multiContract,
174
+ this.callEntries,
175
+ blockNumber,
176
+ );
177
+
178
+ const state = this.callDecoder(data[0].returnData);
179
+
180
+ return {
181
+ blockNumber: blockNum,
182
+ state,
183
+ };
168
184
  }
169
185
  }
170
186
 
@@ -282,7 +298,10 @@ export class Camelot
282
298
  pair.pool.addressesSubscribed.push(pair.exchange!);
283
299
 
284
300
  await pair.pool.initialize(blockNumber, {
285
- state: { reserve0, reserve1, token0FeeCode, token1FeeCode, stable },
301
+ stateWithBn: {
302
+ blockNumber,
303
+ state: { reserve0, reserve1, token0FeeCode, token1FeeCode, stable },
304
+ },
286
305
  });
287
306
  }
288
307