@0xkoaj/sdk 0.0.1-beta.1 → 0.0.1-beta.3

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 (497) hide show
  1. package/README.md +272 -5
  2. package/dist/chains.d.ts +1183 -0
  3. package/dist/chains.js +679 -0
  4. package/dist/chains.js.map +1 -0
  5. package/dist/index.d.ts +6 -0
  6. package/dist/index.js +21 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/sdk/builders/allowance-builder.d.ts +22 -0
  9. package/dist/sdk/builders/allowance-builder.js +28 -0
  10. package/dist/sdk/builders/allowance-builder.js.map +1 -0
  11. package/dist/sdk/builders/balance-builder.d.ts +30 -0
  12. package/dist/sdk/builders/balance-builder.js +33 -0
  13. package/dist/sdk/builders/balance-builder.js.map +1 -0
  14. package/dist/sdk/builders/blocks-builder.d.ts +22 -0
  15. package/dist/sdk/builders/blocks-builder.js +30 -0
  16. package/dist/sdk/builders/blocks-builder.js.map +1 -0
  17. package/dist/sdk/builders/fetch-builder.d.ts +6 -0
  18. package/dist/sdk/builders/fetch-builder.js +9 -0
  19. package/dist/sdk/builders/fetch-builder.js.map +1 -0
  20. package/dist/sdk/builders/gas-builder.d.ts +106 -0
  21. package/dist/sdk/builders/gas-builder.js +69 -0
  22. package/dist/sdk/builders/gas-builder.js.map +1 -0
  23. package/dist/sdk/builders/index.d.ts +10 -0
  24. package/dist/sdk/builders/index.js +3 -0
  25. package/dist/sdk/builders/index.js.map +1 -0
  26. package/dist/sdk/builders/logs-builder.d.ts +6 -0
  27. package/dist/sdk/builders/logs-builder.js +9 -0
  28. package/dist/sdk/builders/logs-builder.js.map +1 -0
  29. package/dist/sdk/builders/metadata-builder.d.ts +49 -0
  30. package/dist/sdk/builders/metadata-builder.js +37 -0
  31. package/dist/sdk/builders/metadata-builder.js.map +1 -0
  32. package/dist/sdk/builders/price-builder.d.ts +49 -0
  33. package/dist/sdk/builders/price-builder.js +59 -0
  34. package/dist/sdk/builders/price-builder.js.map +1 -0
  35. package/dist/sdk/builders/provider-builder.d.ts +121 -0
  36. package/dist/sdk/builders/provider-builder.js +88 -0
  37. package/dist/sdk/builders/provider-builder.js.map +1 -0
  38. package/dist/sdk/builders/quote-builder.d.ts +44 -0
  39. package/dist/sdk/builders/quote-builder.js +55 -0
  40. package/dist/sdk/builders/quote-builder.js.map +1 -0
  41. package/dist/sdk/index.d.ts +3 -0
  42. package/dist/sdk/index.js +21 -0
  43. package/dist/sdk/index.js.map +1 -0
  44. package/dist/sdk/sdk-builder.d.ts +24 -0
  45. package/dist/sdk/sdk-builder.js +39 -0
  46. package/dist/sdk/sdk-builder.js.map +1 -0
  47. package/dist/sdk/types.d.ts +24 -0
  48. package/dist/sdk/types.js +3 -0
  49. package/dist/sdk/types.js.map +1 -0
  50. package/dist/services/allowances/allowance-service.d.ts +29 -0
  51. package/dist/services/allowances/allowance-service.js +35 -0
  52. package/dist/services/allowances/allowance-service.js.map +1 -0
  53. package/dist/services/allowances/allowance-sources/cached-allowance-source.d.ts +16 -0
  54. package/dist/services/allowances/allowance-sources/cached-allowance-source.js +69 -0
  55. package/dist/services/allowances/allowance-sources/cached-allowance-source.js.map +1 -0
  56. package/dist/services/allowances/allowance-sources/rpc-allowance-source.d.ts +15 -0
  57. package/dist/services/allowances/allowance-sources/rpc-allowance-source.js +54 -0
  58. package/dist/services/allowances/allowance-sources/rpc-allowance-source.js.map +1 -0
  59. package/dist/services/allowances/index.d.ts +1 -0
  60. package/dist/services/allowances/index.js +3 -0
  61. package/dist/services/allowances/index.js.map +1 -0
  62. package/dist/services/allowances/types.d.ts +43 -0
  63. package/dist/services/allowances/types.js +3 -0
  64. package/dist/services/allowances/types.js.map +1 -0
  65. package/dist/services/balances/balance-service.d.ts +35 -0
  66. package/dist/services/balances/balance-service.js +36 -0
  67. package/dist/services/balances/balance-service.js.map +1 -0
  68. package/dist/services/balances/balance-sources/cached-balance-source.d.ts +16 -0
  69. package/dist/services/balances/balance-sources/cached-balance-source.js +56 -0
  70. package/dist/services/balances/balance-sources/cached-balance-source.js.map +1 -0
  71. package/dist/services/balances/balance-sources/fastest-balance-source.d.ts +15 -0
  72. package/dist/services/balances/balance-sources/fastest-balance-source.js +45 -0
  73. package/dist/services/balances/balance-sources/fastest-balance-source.js.map +1 -0
  74. package/dist/services/balances/balance-sources/rpc-balance-source.d.ts +23 -0
  75. package/dist/services/balances/balance-sources/rpc-balance-source.js +70 -0
  76. package/dist/services/balances/balance-sources/rpc-balance-source.js.map +1 -0
  77. package/dist/services/balances/balance-sources/utils.d.ts +15 -0
  78. package/dist/services/balances/balance-sources/utils.js +43 -0
  79. package/dist/services/balances/balance-sources/utils.js.map +1 -0
  80. package/dist/services/balances/index.d.ts +1 -0
  81. package/dist/services/balances/index.js +3 -0
  82. package/dist/services/balances/index.js.map +1 -0
  83. package/dist/services/balances/types.d.ts +48 -0
  84. package/dist/services/balances/types.js +3 -0
  85. package/dist/services/balances/types.js.map +1 -0
  86. package/dist/services/blocks/block-service.d.ts +28 -0
  87. package/dist/services/blocks/block-service.js +27 -0
  88. package/dist/services/blocks/block-service.js.map +1 -0
  89. package/dist/services/blocks/block-sources/defi-llama-block-source.d.ts +13 -0
  90. package/dist/services/blocks/block-sources/defi-llama-block-source.js +41 -0
  91. package/dist/services/blocks/block-sources/defi-llama-block-source.js.map +1 -0
  92. package/dist/services/blocks/block-sources/fallback-block-source.d.ts +13 -0
  93. package/dist/services/blocks/block-sources/fallback-block-source.js +28 -0
  94. package/dist/services/blocks/block-sources/fallback-block-source.js.map +1 -0
  95. package/dist/services/blocks/block-sources/rpc-block-source.d.ts +12 -0
  96. package/dist/services/blocks/block-sources/rpc-block-source.js +139 -0
  97. package/dist/services/blocks/block-sources/rpc-block-source.js.map +1 -0
  98. package/dist/services/blocks/block-sources/utils.d.ts +3 -0
  99. package/dist/services/blocks/block-sources/utils.js +10 -0
  100. package/dist/services/blocks/block-sources/utils.js.map +1 -0
  101. package/dist/services/blocks/index.d.ts +1 -0
  102. package/dist/services/blocks/index.js +3 -0
  103. package/dist/services/blocks/index.js.map +1 -0
  104. package/dist/services/blocks/types.d.ts +42 -0
  105. package/dist/services/blocks/types.js +3 -0
  106. package/dist/services/blocks/types.js.map +1 -0
  107. package/dist/services/fetch/fetch-service.d.ts +6 -0
  108. package/dist/services/fetch/fetch-service.js +58 -0
  109. package/dist/services/fetch/fetch-service.js.map +1 -0
  110. package/dist/services/fetch/index.d.ts +1 -0
  111. package/dist/services/fetch/index.js +3 -0
  112. package/dist/services/fetch/index.js.map +1 -0
  113. package/dist/services/fetch/types.d.ts +11 -0
  114. package/dist/services/fetch/types.js +3 -0
  115. package/dist/services/fetch/types.js.map +1 -0
  116. package/dist/services/gas/gas-price-sources/aggregator-gas-price-source.d.ts +19 -0
  117. package/dist/services/gas/gas-price-sources/aggregator-gas-price-source.js +108 -0
  118. package/dist/services/gas/gas-price-sources/aggregator-gas-price-source.js.map +1 -0
  119. package/dist/services/gas/gas-price-sources/cached-gas-price-source.d.ts +28 -0
  120. package/dist/services/gas/gas-price-sources/cached-gas-price-source.js +56 -0
  121. package/dist/services/gas/gas-price-sources/cached-gas-price-source.js.map +1 -0
  122. package/dist/services/gas/gas-price-sources/etherscan-gas-price-source.d.ts +19 -0
  123. package/dist/services/gas/gas-price-sources/etherscan-gas-price-source.js +48 -0
  124. package/dist/services/gas/gas-price-sources/etherscan-gas-price-source.js.map +1 -0
  125. package/dist/services/gas/gas-price-sources/fastest-gas-price-source-combinator.d.ts +14 -0
  126. package/dist/services/gas/gas-price-sources/fastest-gas-price-source-combinator.js +33 -0
  127. package/dist/services/gas/gas-price-sources/fastest-gas-price-source-combinator.js.map +1 -0
  128. package/dist/services/gas/gas-price-sources/open-ocean-gas-price-source.d.ts +18 -0
  129. package/dist/services/gas/gas-price-sources/open-ocean-gas-price-source.js +60 -0
  130. package/dist/services/gas/gas-price-sources/open-ocean-gas-price-source.js.map +1 -0
  131. package/dist/services/gas/gas-price-sources/owlracle-gas-price-source.d.ts +29 -0
  132. package/dist/services/gas/gas-price-sources/owlracle-gas-price-source.js +65 -0
  133. package/dist/services/gas/gas-price-sources/owlracle-gas-price-source.js.map +1 -0
  134. package/dist/services/gas/gas-price-sources/paraswap-gas-price-source.d.ts +18 -0
  135. package/dist/services/gas/gas-price-sources/paraswap-gas-price-source.js +28 -0
  136. package/dist/services/gas/gas-price-sources/paraswap-gas-price-source.js.map +1 -0
  137. package/dist/services/gas/gas-price-sources/polygon-gas-station-gas-price-source.d.ts +18 -0
  138. package/dist/services/gas/gas-price-sources/polygon-gas-station-gas-price-source.js +31 -0
  139. package/dist/services/gas/gas-price-sources/polygon-gas-station-gas-price-source.js.map +1 -0
  140. package/dist/services/gas/gas-price-sources/prioritized-gas-price-source-combinator.d.ts +14 -0
  141. package/dist/services/gas/gas-price-sources/prioritized-gas-price-source-combinator.js +33 -0
  142. package/dist/services/gas/gas-price-sources/prioritized-gas-price-source-combinator.js.map +1 -0
  143. package/dist/services/gas/gas-price-sources/rpc-gas-price-source.d.ts +18 -0
  144. package/dist/services/gas/gas-price-sources/rpc-gas-price-source.js +32 -0
  145. package/dist/services/gas/gas-price-sources/rpc-gas-price-source.js.map +1 -0
  146. package/dist/services/gas/gas-service.d.ts +48 -0
  147. package/dist/services/gas/gas-service.js +67 -0
  148. package/dist/services/gas/gas-service.js.map +1 -0
  149. package/dist/services/gas/index.d.ts +2 -0
  150. package/dist/services/gas/index.js +6 -0
  151. package/dist/services/gas/index.js.map +1 -0
  152. package/dist/services/gas/types.d.ts +80 -0
  153. package/dist/services/gas/types.js +5 -0
  154. package/dist/services/gas/types.js.map +1 -0
  155. package/dist/services/gas/utils.d.ts +11 -0
  156. package/dist/services/gas/utils.js +25 -0
  157. package/dist/services/gas/utils.js.map +1 -0
  158. package/dist/services/index.d.ts +10 -0
  159. package/dist/services/index.js +27 -0
  160. package/dist/services/index.js.map +1 -0
  161. package/dist/services/logs/index.d.ts +1 -0
  162. package/dist/services/logs/index.js +3 -0
  163. package/dist/services/logs/index.js.map +1 -0
  164. package/dist/services/logs/loggers/console-logger.d.ts +12 -0
  165. package/dist/services/logs/loggers/console-logger.js +37 -0
  166. package/dist/services/logs/loggers/console-logger.js.map +1 -0
  167. package/dist/services/logs/logs-service.d.ts +8 -0
  168. package/dist/services/logs/logs-service.js +14 -0
  169. package/dist/services/logs/logs-service.js.map +1 -0
  170. package/dist/services/logs/types.d.ts +13 -0
  171. package/dist/services/logs/types.js +3 -0
  172. package/dist/services/logs/types.js.map +1 -0
  173. package/dist/services/logs/utils.d.ts +2 -0
  174. package/dist/services/logs/utils.js +25 -0
  175. package/dist/services/logs/utils.js.map +1 -0
  176. package/dist/services/metadata/index.d.ts +1 -0
  177. package/dist/services/metadata/index.js +3 -0
  178. package/dist/services/metadata/index.js.map +1 -0
  179. package/dist/services/metadata/metadata-service.d.ts +23 -0
  180. package/dist/services/metadata/metadata-service.js +38 -0
  181. package/dist/services/metadata/metadata-service.js.map +1 -0
  182. package/dist/services/metadata/metadata-sources/cached-metadata-source.d.ts +17 -0
  183. package/dist/services/metadata/metadata-sources/cached-metadata-source.js +87 -0
  184. package/dist/services/metadata/metadata-sources/cached-metadata-source.js.map +1 -0
  185. package/dist/services/metadata/metadata-sources/defi-llama-metadata-source.d.ts +16 -0
  186. package/dist/services/metadata/metadata-sources/defi-llama-metadata-source.js +27 -0
  187. package/dist/services/metadata/metadata-sources/defi-llama-metadata-source.js.map +1 -0
  188. package/dist/services/metadata/metadata-sources/fallback-metadata-source.d.ts +14 -0
  189. package/dist/services/metadata/metadata-sources/fallback-metadata-source.js +131 -0
  190. package/dist/services/metadata/metadata-sources/fallback-metadata-source.js.map +1 -0
  191. package/dist/services/metadata/metadata-sources/rpc-metadata-source.d.ts +23 -0
  192. package/dist/services/metadata/metadata-sources/rpc-metadata-source.js +77 -0
  193. package/dist/services/metadata/metadata-sources/rpc-metadata-source.js.map +1 -0
  194. package/dist/services/metadata/types.d.ts +44 -0
  195. package/dist/services/metadata/types.js +3 -0
  196. package/dist/services/metadata/types.js.map +1 -0
  197. package/dist/services/prices/index.d.ts +1 -0
  198. package/dist/services/prices/index.js +3 -0
  199. package/dist/services/prices/index.js.map +1 -0
  200. package/dist/services/prices/price-service.d.ts +69 -0
  201. package/dist/services/prices/price-service.js +58 -0
  202. package/dist/services/prices/price-service.js.map +1 -0
  203. package/dist/services/prices/price-sources/aggregator-price-source.d.ts +41 -0
  204. package/dist/services/prices/price-sources/aggregator-price-source.js +128 -0
  205. package/dist/services/prices/price-sources/aggregator-price-source.js.map +1 -0
  206. package/dist/services/prices/price-sources/alchemy-price-source.d.ts +47 -0
  207. package/dist/services/prices/price-sources/alchemy-price-source.js +110 -0
  208. package/dist/services/prices/price-sources/alchemy-price-source.js.map +1 -0
  209. package/dist/services/prices/price-sources/batch-price-source.d.ts +44 -0
  210. package/dist/services/prices/price-sources/batch-price-source.js +89 -0
  211. package/dist/services/prices/price-sources/batch-price-source.js.map +1 -0
  212. package/dist/services/prices/price-sources/cached-price-source.d.ts +41 -0
  213. package/dist/services/prices/price-sources/cached-price-source.js +68 -0
  214. package/dist/services/prices/price-sources/cached-price-source.js.map +1 -0
  215. package/dist/services/prices/price-sources/codex-price-source.d.ts +41 -0
  216. package/dist/services/prices/price-sources/codex-price-source.js +124 -0
  217. package/dist/services/prices/price-sources/codex-price-source.js.map +1 -0
  218. package/dist/services/prices/price-sources/coingecko-price-source.d.ts +42 -0
  219. package/dist/services/prices/price-sources/coingecko-price-source.js +109 -0
  220. package/dist/services/prices/price-sources/coingecko-price-source.js.map +1 -0
  221. package/dist/services/prices/price-sources/defi-llama-price-source.d.ts +39 -0
  222. package/dist/services/prices/price-sources/defi-llama-price-source.js +34 -0
  223. package/dist/services/prices/price-sources/defi-llama-price-source.js.map +1 -0
  224. package/dist/services/prices/price-sources/fastest-price-source.d.ts +38 -0
  225. package/dist/services/prices/price-sources/fastest-price-source.js +82 -0
  226. package/dist/services/prices/price-sources/fastest-price-source.js.map +1 -0
  227. package/dist/services/prices/price-sources/odos-price-source.d.ts +40 -0
  228. package/dist/services/prices/price-sources/odos-price-source.js +54 -0
  229. package/dist/services/prices/price-sources/odos-price-source.js.map +1 -0
  230. package/dist/services/prices/price-sources/prioritized-price-source.d.ts +38 -0
  231. package/dist/services/prices/price-sources/prioritized-price-source.js +81 -0
  232. package/dist/services/prices/price-sources/prioritized-price-source.js.map +1 -0
  233. package/dist/services/prices/price-sources/utils.d.ts +10 -0
  234. package/dist/services/prices/price-sources/utils.js +70 -0
  235. package/dist/services/prices/price-sources/utils.js.map +1 -0
  236. package/dist/services/prices/types.d.ts +105 -0
  237. package/dist/services/prices/types.js +3 -0
  238. package/dist/services/prices/types.js.map +1 -0
  239. package/dist/services/providers/index.d.ts +2 -0
  240. package/dist/services/providers/index.js +18 -0
  241. package/dist/services/providers/index.js.map +1 -0
  242. package/dist/services/providers/provider-service.d.ts +20 -0
  243. package/dist/services/providers/provider-service.js +33 -0
  244. package/dist/services/providers/provider-service.js.map +1 -0
  245. package/dist/services/providers/provider-sources/alchemy-provider.d.ts +20 -0
  246. package/dist/services/providers/provider-sources/alchemy-provider.js +37 -0
  247. package/dist/services/providers/provider-sources/alchemy-provider.js.map +1 -0
  248. package/dist/services/providers/provider-sources/ankr-provider.d.ts +18 -0
  249. package/dist/services/providers/provider-sources/ankr-provider.js +52 -0
  250. package/dist/services/providers/provider-sources/ankr-provider.js.map +1 -0
  251. package/dist/services/providers/provider-sources/base/base-http-provider.d.ts +14 -0
  252. package/dist/services/providers/provider-sources/base/base-http-provider.js +20 -0
  253. package/dist/services/providers/provider-sources/base/base-http-provider.js.map +1 -0
  254. package/dist/services/providers/provider-sources/base/base-web-socket-provider.d.ts +10 -0
  255. package/dist/services/providers/provider-sources/base/base-web-socket-provider.js +17 -0
  256. package/dist/services/providers/provider-sources/base/base-web-socket-provider.js.map +1 -0
  257. package/dist/services/providers/provider-sources/blast-provider.d.ts +18 -0
  258. package/dist/services/providers/provider-sources/blast-provider.js +52 -0
  259. package/dist/services/providers/provider-sources/blast-provider.js.map +1 -0
  260. package/dist/services/providers/provider-sources/by-method-provider.d.ts +12 -0
  261. package/dist/services/providers/provider-sources/by-method-provider.js +40 -0
  262. package/dist/services/providers/provider-sources/by-method-provider.js.map +1 -0
  263. package/dist/services/providers/provider-sources/drpc-provider.d.ts +18 -0
  264. package/dist/services/providers/provider-sources/drpc-provider.js +60 -0
  265. package/dist/services/providers/provider-sources/drpc-provider.js.map +1 -0
  266. package/dist/services/providers/provider-sources/envio-provider.d.ts +18 -0
  267. package/dist/services/providers/provider-sources/envio-provider.js +72 -0
  268. package/dist/services/providers/provider-sources/envio-provider.js.map +1 -0
  269. package/dist/services/providers/provider-sources/fallback-provider.d.ts +13 -0
  270. package/dist/services/providers/provider-sources/fallback-provider.js +26 -0
  271. package/dist/services/providers/provider-sources/fallback-provider.js.map +1 -0
  272. package/dist/services/providers/provider-sources/get-block-provider.d.ts +15 -0
  273. package/dist/services/providers/provider-sources/get-block-provider.js +23 -0
  274. package/dist/services/providers/provider-sources/get-block-provider.js.map +1 -0
  275. package/dist/services/providers/provider-sources/http-provider.d.ts +13 -0
  276. package/dist/services/providers/provider-sources/http-provider.js +21 -0
  277. package/dist/services/providers/provider-sources/http-provider.js.map +1 -0
  278. package/dist/services/providers/provider-sources/index.d.ts +17 -0
  279. package/dist/services/providers/provider-sources/index.js +45 -0
  280. package/dist/services/providers/provider-sources/index.js.map +1 -0
  281. package/dist/services/providers/provider-sources/infura-provider.d.ts +18 -0
  282. package/dist/services/providers/provider-sources/infura-provider.js +40 -0
  283. package/dist/services/providers/provider-sources/infura-provider.js.map +1 -0
  284. package/dist/services/providers/provider-sources/llama-nodes-provider.d.ts +18 -0
  285. package/dist/services/providers/provider-sources/llama-nodes-provider.js +40 -0
  286. package/dist/services/providers/provider-sources/llama-nodes-provider.js.map +1 -0
  287. package/dist/services/providers/provider-sources/load-balance-provider.d.ts +23 -0
  288. package/dist/services/providers/provider-sources/load-balance-provider.js +163 -0
  289. package/dist/services/providers/provider-sources/load-balance-provider.js.map +1 -0
  290. package/dist/services/providers/provider-sources/moralis-provider.d.ts +25 -0
  291. package/dist/services/providers/provider-sources/moralis-provider.js +56 -0
  292. package/dist/services/providers/provider-sources/moralis-provider.js.map +1 -0
  293. package/dist/services/providers/provider-sources/node-real-provider.d.ts +18 -0
  294. package/dist/services/providers/provider-sources/node-real-provider.js +35 -0
  295. package/dist/services/providers/provider-sources/node-real-provider.js.map +1 -0
  296. package/dist/services/providers/provider-sources/on-finality-provider.d.ts +18 -0
  297. package/dist/services/providers/provider-sources/on-finality-provider.js +50 -0
  298. package/dist/services/providers/provider-sources/on-finality-provider.js.map +1 -0
  299. package/dist/services/providers/provider-sources/one-rpc-provider.d.ts +18 -0
  300. package/dist/services/providers/provider-sources/one-rpc-provider.js +56 -0
  301. package/dist/services/providers/provider-sources/one-rpc-provider.js.map +1 -0
  302. package/dist/services/providers/provider-sources/prioritized-provider-source-combinator.d.ts +10 -0
  303. package/dist/services/providers/provider-sources/prioritized-provider-source-combinator.js +24 -0
  304. package/dist/services/providers/provider-sources/prioritized-provider-source-combinator.js.map +1 -0
  305. package/dist/services/providers/provider-sources/public-rpcs-provider.d.ts +21 -0
  306. package/dist/services/providers/provider-sources/public-rpcs-provider.js +35 -0
  307. package/dist/services/providers/provider-sources/public-rpcs-provider.js.map +1 -0
  308. package/dist/services/providers/provider-sources/tenderly-provider.d.ts +18 -0
  309. package/dist/services/providers/provider-sources/tenderly-provider.js +48 -0
  310. package/dist/services/providers/provider-sources/tenderly-provider.js.map +1 -0
  311. package/dist/services/providers/provider-sources/third-web-provider.d.ts +15 -0
  312. package/dist/services/providers/provider-sources/third-web-provider.js +58 -0
  313. package/dist/services/providers/provider-sources/third-web-provider.js.map +1 -0
  314. package/dist/services/providers/provider-sources/web-sockets-provider.d.ts +9 -0
  315. package/dist/services/providers/provider-sources/web-sockets-provider.js +21 -0
  316. package/dist/services/providers/provider-sources/web-sockets-provider.js.map +1 -0
  317. package/dist/services/providers/types.d.ts +17 -0
  318. package/dist/services/providers/types.js +3 -0
  319. package/dist/services/providers/types.js.map +1 -0
  320. package/dist/services/providers/utils.d.ts +4 -0
  321. package/dist/services/providers/utils.js +34 -0
  322. package/dist/services/providers/utils.js.map +1 -0
  323. package/dist/services/quotes/errors.d.ts +17 -0
  324. package/dist/services/quotes/errors.js +38 -0
  325. package/dist/services/quotes/errors.js.map +1 -0
  326. package/dist/services/quotes/index.d.ts +5 -0
  327. package/dist/services/quotes/index.js +28 -0
  328. package/dist/services/quotes/index.js.map +1 -0
  329. package/dist/services/quotes/quote-compare.d.ts +9 -0
  330. package/dist/services/quotes/quote-compare.js +144 -0
  331. package/dist/services/quotes/quote-compare.js.map +1 -0
  332. package/dist/services/quotes/quote-service.d.ts +117 -0
  333. package/dist/services/quotes/quote-service.js +302 -0
  334. package/dist/services/quotes/quote-service.js.map +1 -0
  335. package/dist/services/quotes/quote-sources/0x-quote-source.d.ts +19 -0
  336. package/dist/services/quotes/quote-sources/0x-quote-source.js +89 -0
  337. package/dist/services/quotes/quote-sources/0x-quote-source.js.map +1 -0
  338. package/dist/services/quotes/quote-sources/1inch-quote-source.d.ts +28 -0
  339. package/dist/services/quotes/quote-sources/1inch-quote-source.js +102 -0
  340. package/dist/services/quotes/quote-sources/1inch-quote-source.js.map +1 -0
  341. package/dist/services/quotes/quote-sources/barter-quote-source.d.ts +28 -0
  342. package/dist/services/quotes/quote-sources/barter-quote-source.js +126 -0
  343. package/dist/services/quotes/quote-sources/barter-quote-source.js.map +1 -0
  344. package/dist/services/quotes/quote-sources/base/always-valid-source.d.ts +8 -0
  345. package/dist/services/quotes/quote-sources/base/always-valid-source.js +13 -0
  346. package/dist/services/quotes/quote-sources/base/always-valid-source.js.map +1 -0
  347. package/dist/services/quotes/quote-sources/bebop-quote-source.d.ts +21 -0
  348. package/dist/services/quotes/quote-sources/bebop-quote-source.js +97 -0
  349. package/dist/services/quotes/quote-sources/bebop-quote-source.js.map +1 -0
  350. package/dist/services/quotes/quote-sources/braindex-quote-source.d.ts +20 -0
  351. package/dist/services/quotes/quote-sources/braindex-quote-source.js +150 -0
  352. package/dist/services/quotes/quote-sources/braindex-quote-source.js.map +1 -0
  353. package/dist/services/quotes/quote-sources/changelly-quote-source.d.ts +20 -0
  354. package/dist/services/quotes/quote-sources/changelly-quote-source.js +71 -0
  355. package/dist/services/quotes/quote-sources/changelly-quote-source.js.map +1 -0
  356. package/dist/services/quotes/quote-sources/conveyor-quote-source.d.ts +19 -0
  357. package/dist/services/quotes/quote-sources/conveyor-quote-source.js +93 -0
  358. package/dist/services/quotes/quote-sources/conveyor-quote-source.js.map +1 -0
  359. package/dist/services/quotes/quote-sources/dodo-quote-source.d.ts +19 -0
  360. package/dist/services/quotes/quote-sources/dodo-quote-source.js +97 -0
  361. package/dist/services/quotes/quote-sources/dodo-quote-source.js.map +1 -0
  362. package/dist/services/quotes/quote-sources/enso-quote-source.d.ts +20 -0
  363. package/dist/services/quotes/quote-sources/enso-quote-source.js +85 -0
  364. package/dist/services/quotes/quote-sources/enso-quote-source.js.map +1 -0
  365. package/dist/services/quotes/quote-sources/fly-trade-quote-source.d.ts +20 -0
  366. package/dist/services/quotes/quote-sources/fly-trade-quote-source.js +99 -0
  367. package/dist/services/quotes/quote-sources/fly-trade-quote-source.js.map +1 -0
  368. package/dist/services/quotes/quote-sources/jupiter-quote-source.d.ts +50 -0
  369. package/dist/services/quotes/quote-sources/jupiter-quote-source.js +111 -0
  370. package/dist/services/quotes/quote-sources/jupiter-quote-source.js.map +1 -0
  371. package/dist/services/quotes/quote-sources/kyberswap-quote-source.d.ts +26 -0
  372. package/dist/services/quotes/quote-sources/kyberswap-quote-source.js +100 -0
  373. package/dist/services/quotes/quote-sources/kyberswap-quote-source.js.map +1 -0
  374. package/dist/services/quotes/quote-sources/li-fi-quote-source.d.ts +18 -0
  375. package/dist/services/quotes/quote-sources/li-fi-quote-source.js +104 -0
  376. package/dist/services/quotes/quote-sources/li-fi-quote-source.js.map +1 -0
  377. package/dist/services/quotes/quote-sources/odos-quote-source.d.ts +29 -0
  378. package/dist/services/quotes/quote-sources/odos-quote-source.js +130 -0
  379. package/dist/services/quotes/quote-sources/odos-quote-source.js.map +1 -0
  380. package/dist/services/quotes/quote-sources/okx-dex-quote-source.d.ts +21 -0
  381. package/dist/services/quotes/quote-sources/okx-dex-quote-source.js +143 -0
  382. package/dist/services/quotes/quote-sources/okx-dex-quote-source.js.map +1 -0
  383. package/dist/services/quotes/quote-sources/open-ocean-quote-source.d.ts +19 -0
  384. package/dist/services/quotes/quote-sources/open-ocean-quote-source.js +113 -0
  385. package/dist/services/quotes/quote-sources/open-ocean-quote-source.js.map +1 -0
  386. package/dist/services/quotes/quote-sources/paraswap-quote-source.d.ts +19 -0
  387. package/dist/services/quotes/quote-sources/paraswap-quote-source.js +84 -0
  388. package/dist/services/quotes/quote-sources/paraswap-quote-source.js.map +1 -0
  389. package/dist/services/quotes/quote-sources/portals-fi-quote-source.d.ts +20 -0
  390. package/dist/services/quotes/quote-sources/portals-fi-quote-source.js +94 -0
  391. package/dist/services/quotes/quote-sources/portals-fi-quote-source.js.map +1 -0
  392. package/dist/services/quotes/quote-sources/rango-quote-source.d.ts +21 -0
  393. package/dist/services/quotes/quote-sources/rango-quote-source.js +115 -0
  394. package/dist/services/quotes/quote-sources/rango-quote-source.js.map +1 -0
  395. package/dist/services/quotes/quote-sources/squid-quote-source.d.ts +20 -0
  396. package/dist/services/quotes/quote-sources/squid-quote-source.js +92 -0
  397. package/dist/services/quotes/quote-sources/squid-quote-source.js.map +1 -0
  398. package/dist/services/quotes/quote-sources/sushiswap-quote-source.d.ts +18 -0
  399. package/dist/services/quotes/quote-sources/sushiswap-quote-source.js +90 -0
  400. package/dist/services/quotes/quote-sources/sushiswap-quote-source.js.map +1 -0
  401. package/dist/services/quotes/quote-sources/swing-quote-source.d.ts +28 -0
  402. package/dist/services/quotes/quote-sources/swing-quote-source.js +148 -0
  403. package/dist/services/quotes/quote-sources/swing-quote-source.js.map +1 -0
  404. package/dist/services/quotes/quote-sources/types.d.ts +120 -0
  405. package/dist/services/quotes/quote-sources/types.js +13 -0
  406. package/dist/services/quotes/quote-sources/types.js.map +1 -0
  407. package/dist/services/quotes/quote-sources/uniswap-quote-source.d.ts +16 -0
  408. package/dist/services/quotes/quote-sources/uniswap-quote-source.js +119 -0
  409. package/dist/services/quotes/quote-sources/uniswap-quote-source.js.map +1 -0
  410. package/dist/services/quotes/quote-sources/utils.d.ts +9 -0
  411. package/dist/services/quotes/quote-sources/utils.js +37 -0
  412. package/dist/services/quotes/quote-sources/utils.js.map +1 -0
  413. package/dist/services/quotes/quote-sources/wrappers/buy-to-sell-order-wrapper.d.ts +6 -0
  414. package/dist/services/quotes/quote-sources/wrappers/buy-to-sell-order-wrapper.js +73 -0
  415. package/dist/services/quotes/quote-sources/wrappers/buy-to-sell-order-wrapper.js.map +1 -0
  416. package/dist/services/quotes/quote-sources/wrappers/forced-timeout-wrapper.d.ts +2 -0
  417. package/dist/services/quotes/quote-sources/wrappers/forced-timeout-wrapper.js +27 -0
  418. package/dist/services/quotes/quote-sources/wrappers/forced-timeout-wrapper.js.map +1 -0
  419. package/dist/services/quotes/quote-sources/xy-finance-quote-source.d.ts +16 -0
  420. package/dist/services/quotes/quote-sources/xy-finance-quote-source.js +87 -0
  421. package/dist/services/quotes/quote-sources/xy-finance-quote-source.js.map +1 -0
  422. package/dist/services/quotes/source-lists/batch-api-source-list.d.ts +30 -0
  423. package/dist/services/quotes/source-lists/batch-api-source-list.js +62 -0
  424. package/dist/services/quotes/source-lists/batch-api-source-list.js.map +1 -0
  425. package/dist/services/quotes/source-lists/index.d.ts +1 -0
  426. package/dist/services/quotes/source-lists/index.js +3 -0
  427. package/dist/services/quotes/source-lists/index.js.map +1 -0
  428. package/dist/services/quotes/source-lists/local-source-list.d.ts +21 -0
  429. package/dist/services/quotes/source-lists/local-source-list.js +157 -0
  430. package/dist/services/quotes/source-lists/local-source-list.js.map +1 -0
  431. package/dist/services/quotes/source-lists/overridable-source-list.d.ts +25 -0
  432. package/dist/services/quotes/source-lists/overridable-source-list.js +70 -0
  433. package/dist/services/quotes/source-lists/overridable-source-list.js.map +1 -0
  434. package/dist/services/quotes/source-lists/types.d.ts +44 -0
  435. package/dist/services/quotes/source-lists/types.js +3 -0
  436. package/dist/services/quotes/source-lists/types.js.map +1 -0
  437. package/dist/services/quotes/source-lists/utils.d.ts +5 -0
  438. package/dist/services/quotes/source-lists/utils.js +29 -0
  439. package/dist/services/quotes/source-lists/utils.js.map +1 -0
  440. package/dist/services/quotes/source-registry.d.ts +70 -0
  441. package/dist/services/quotes/source-registry.js +57 -0
  442. package/dist/services/quotes/source-registry.js.map +1 -0
  443. package/dist/services/quotes/types.d.ts +204 -0
  444. package/dist/services/quotes/types.js +3 -0
  445. package/dist/services/quotes/types.js.map +1 -0
  446. package/dist/shared/abis/erc20.d.ts +86 -0
  447. package/dist/shared/abis/erc20.js +116 -0
  448. package/dist/shared/abis/erc20.js.map +1 -0
  449. package/dist/shared/alchemy.d.ts +7 -0
  450. package/dist/shared/alchemy.js +35 -0
  451. package/dist/shared/alchemy.js.map +1 -0
  452. package/dist/shared/auto-update-cache.d.ts +23 -0
  453. package/dist/shared/auto-update-cache.js +38 -0
  454. package/dist/shared/auto-update-cache.js.map +1 -0
  455. package/dist/shared/concurrent-lru-cache.d.ts +66 -0
  456. package/dist/shared/concurrent-lru-cache.js +156 -0
  457. package/dist/shared/concurrent-lru-cache.js.map +1 -0
  458. package/dist/shared/constants.d.ts +12 -0
  459. package/dist/shared/constants.js +20 -0
  460. package/dist/shared/constants.js.map +1 -0
  461. package/dist/shared/contracts.d.ts +27 -0
  462. package/dist/shared/contracts.js +41 -0
  463. package/dist/shared/contracts.js.map +1 -0
  464. package/dist/shared/deferred.d.ts +12 -0
  465. package/dist/shared/deferred.js +32 -0
  466. package/dist/shared/deferred.js.map +1 -0
  467. package/dist/shared/defi-llama.d.ts +72 -0
  468. package/dist/shared/defi-llama.js +247 -0
  469. package/dist/shared/defi-llama.js.map +1 -0
  470. package/dist/shared/index.d.ts +10 -0
  471. package/dist/shared/index.js +51 -0
  472. package/dist/shared/index.js.map +1 -0
  473. package/dist/shared/requirements-and-support.d.ts +14 -0
  474. package/dist/shared/requirements-and-support.js +110 -0
  475. package/dist/shared/requirements-and-support.js.map +1 -0
  476. package/dist/shared/timeouts.d.ts +10 -0
  477. package/dist/shared/timeouts.js +41 -0
  478. package/dist/shared/timeouts.js.map +1 -0
  479. package/dist/shared/triggerable-promise.d.ts +9 -0
  480. package/dist/shared/triggerable-promise.js +16 -0
  481. package/dist/shared/triggerable-promise.js.map +1 -0
  482. package/dist/shared/utils.d.ts +39 -0
  483. package/dist/shared/utils.js +119 -0
  484. package/dist/shared/utils.js.map +1 -0
  485. package/dist/shared/viem.d.ts +5 -0
  486. package/dist/shared/viem.js +18 -0
  487. package/dist/shared/viem.js.map +1 -0
  488. package/dist/shared/wait.d.ts +7 -0
  489. package/dist/shared/wait.js +34 -0
  490. package/dist/shared/wait.js.map +1 -0
  491. package/dist/types.d.ts +99 -0
  492. package/dist/types.js +13 -0
  493. package/dist/types.js.map +1 -0
  494. package/dist/utility-types.d.ts +46 -0
  495. package/dist/utility-types.js +3 -0
  496. package/dist/utility-types.js.map +1 -0
  497. package/package.json +2 -1
@@ -0,0 +1,16 @@
1
+ import { QuoteParams, QuoteSourceMetadata, SourceQuoteResponse, SourceQuoteTransaction, BuildTxParams } from './types';
2
+ import { AlwaysValidConfigAndContextSource } from './base/always-valid-source';
3
+ type XYFinanceSupport = {
4
+ buyOrders: false;
5
+ swapAndTransfer: true;
6
+ };
7
+ type XYFinanceConfig = {};
8
+ type XYFinanceData = {
9
+ tx: SourceQuoteTransaction;
10
+ };
11
+ export declare class XYFinanceQuoteSource extends AlwaysValidConfigAndContextSource<XYFinanceSupport, XYFinanceConfig, XYFinanceData> {
12
+ getMetadata(): QuoteSourceMetadata<XYFinanceSupport>;
13
+ quote({ components: { fetchService }, request: { chainId, sellToken, buyToken, order, config: { slippagePercentage, timeout }, accounts: { takeFrom, recipient }, }, config, }: QuoteParams<XYFinanceSupport>): Promise<SourceQuoteResponse<XYFinanceData>>;
14
+ buildTx({ request }: BuildTxParams<XYFinanceConfig, XYFinanceData>): Promise<SourceQuoteTransaction>;
15
+ }
16
+ export {};
@@ -0,0 +1,87 @@
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.XYFinanceQuoteSource = void 0;
7
+ const qs_1 = __importDefault(require("qs"));
8
+ const _chains_1 = require("../../../chains");
9
+ const utils_1 = require("./utils");
10
+ const always_valid_source_1 = require("./base/always-valid-source");
11
+ // https://docs.xy.finance/supported-blockchains-bridges-dexs
12
+ const SUPPORTED_CHAINS = [
13
+ _chains_1.Chains.ETHEREUM,
14
+ _chains_1.Chains.BNB_CHAIN,
15
+ _chains_1.Chains.POLYGON,
16
+ _chains_1.Chains.CRONOS,
17
+ _chains_1.Chains.AVALANCHE,
18
+ _chains_1.Chains.ARBITRUM,
19
+ _chains_1.Chains.OPTIMISM,
20
+ _chains_1.Chains.ASTAR,
21
+ _chains_1.Chains.POLYGON_ZKEVM,
22
+ _chains_1.Chains.LINEA,
23
+ _chains_1.Chains.BASE,
24
+ _chains_1.Chains.SCROLL,
25
+ _chains_1.Chains.BLAST,
26
+ _chains_1.Chains.MANTLE,
27
+ ];
28
+ const XY_FINANCE_METADATA = {
29
+ name: 'XY Finance',
30
+ supports: {
31
+ chains: SUPPORTED_CHAINS.map(({ chainId }) => chainId),
32
+ swapAndTransfer: true,
33
+ buyOrders: false,
34
+ },
35
+ logoURI: 'ipfs://Qmeuf9xMFE66UBeBNb9SneyyqSNAhsiNXiHES1vCvpyrFS',
36
+ };
37
+ class XYFinanceQuoteSource extends always_valid_source_1.AlwaysValidConfigAndContextSource {
38
+ getMetadata() {
39
+ return XY_FINANCE_METADATA;
40
+ }
41
+ async quote({ components: { fetchService }, request: { chainId, sellToken, buyToken, order, config: { slippagePercentage, timeout }, accounts: { takeFrom, recipient }, }, config, }) {
42
+ const queryParams = {
43
+ srcChainId: chainId,
44
+ srcQuoteTokenAddress: sellToken,
45
+ srcQuoteTokenAmount: order.sellAmount.toString(),
46
+ dstChainId: chainId,
47
+ dstQuoteTokenAddress: buyToken,
48
+ slippage: slippagePercentage,
49
+ receiver: recipient ?? takeFrom,
50
+ affiliate: config.referrer?.address,
51
+ srcSwapProvider: 'XY DexAggregator',
52
+ };
53
+ const queryString = qs_1.default.stringify(queryParams, { skipNulls: true, arrayFormat: 'comma' });
54
+ const url = `https://aggregator-api.xy.finance/v1/buildTx?${queryString}`;
55
+ const response = await fetchService.fetch(url, { timeout });
56
+ if (!response.ok) {
57
+ (0, utils_1.failed)(XY_FINANCE_METADATA, chainId, sellToken, buyToken, await response.text());
58
+ }
59
+ const { success, ...result } = await response.json();
60
+ if (!success) {
61
+ const { errorCode, errorMsg } = result;
62
+ (0, utils_1.failed)(XY_FINANCE_METADATA, chainId, sellToken, buyToken, `Failed with code ${errorCode} and message '${errorMsg}'`);
63
+ }
64
+ const { route: { dstQuoteTokenAmount, minReceiveAmount, contractAddress, estimatedGas }, tx: { to, data, value }, } = result;
65
+ return {
66
+ sellAmount: order.sellAmount,
67
+ maxSellAmount: order.sellAmount,
68
+ buyAmount: BigInt(dstQuoteTokenAmount),
69
+ minBuyAmount: BigInt(minReceiveAmount),
70
+ estimatedGas: estimatedGas ?? BigInt(estimatedGas),
71
+ allowanceTarget: (0, utils_1.calculateAllowanceTarget)(sellToken, contractAddress),
72
+ type: 'sell',
73
+ customData: {
74
+ tx: {
75
+ calldata: data,
76
+ to,
77
+ value: BigInt(value ?? 0),
78
+ },
79
+ },
80
+ };
81
+ }
82
+ async buildTx({ request }) {
83
+ return request.customData.tx;
84
+ }
85
+ }
86
+ exports.XYFinanceQuoteSource = XYFinanceQuoteSource;
87
+ //# sourceMappingURL=xy-finance-quote-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xy-finance-quote-source.js","sourceRoot":"","sources":["../../../../src/services/quotes/quote-sources/xy-finance-quote-source.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,qCAAiC;AAEjC,mCAA2D;AAC3D,oEAA+E;AAE/E,6DAA6D;AAC7D,MAAM,gBAAgB,GAAG;IACvB,gBAAM,CAAC,QAAQ;IACf,gBAAM,CAAC,SAAS;IAChB,gBAAM,CAAC,OAAO;IACd,gBAAM,CAAC,MAAM;IACb,gBAAM,CAAC,SAAS;IAChB,gBAAM,CAAC,QAAQ;IACf,gBAAM,CAAC,QAAQ;IACf,gBAAM,CAAC,KAAK;IACZ,gBAAM,CAAC,aAAa;IACpB,gBAAM,CAAC,KAAK;IACZ,gBAAM,CAAC,IAAI;IACX,gBAAM,CAAC,MAAM;IACb,gBAAM,CAAC,KAAK;IACZ,gBAAM,CAAC,MAAM;CACd,CAAC;AAEF,MAAM,mBAAmB,GAA0C;IACjE,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE;QACR,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC;QACtD,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,KAAK;KACjB;IACD,OAAO,EAAE,uDAAuD;CACjE,CAAC;AAIF,MAAa,oBAAqB,SAAQ,uDAAmF;IAC3H,WAAW;QACT,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EACV,UAAU,EAAE,EAAE,YAAY,EAAE,EAC5B,OAAO,EAAE,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,KAAK,EACL,MAAM,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,EACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,GAClC,EACD,MAAM,GACwB;QAC9B,MAAM,WAAW,GAAG;YAClB,UAAU,EAAE,OAAO;YACnB,oBAAoB,EAAE,SAAS;YAC/B,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;YAChD,UAAU,EAAE,OAAO;YACnB,oBAAoB,EAAE,QAAQ;YAC9B,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,SAAS,IAAI,QAAQ;YAC/B,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO;YACnC,eAAe,EAAE,kBAAkB;SACpC,CAAC;QACF,MAAM,WAAW,GAAG,YAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACzF,MAAM,GAAG,GAAG,gDAAgD,WAAW,EAAE,CAAC;QAE1E,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,IAAA,cAAM,EAAC,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YACvC,IAAA,cAAM,EAAC,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,SAAS,iBAAiB,QAAQ,GAAG,CAAC,CAAC;QACvH,CAAC;QAED,MAAM,EACJ,KAAK,EAAE,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,EAC/E,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GACxB,GAAG,MAAM,CAAC;QAEX,OAAO;YACL,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,aAAa,EAAE,KAAK,CAAC,UAAU;YAC/B,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;YACtC,YAAY,EAAE,MAAM,CAAC,gBAAgB,CAAC;YACtC,YAAY,EAAE,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;YAClD,eAAe,EAAE,IAAA,gCAAwB,EAAC,SAAS,EAAE,eAAe,CAAC;YACrE,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,QAAQ,EAAE,IAAI;oBACd,EAAE;oBACF,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;iBAC1B;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAiD;QACtE,OAAO,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IAC/B,CAAC;CACF;AAnED,oDAmEC"}
@@ -0,0 +1,30 @@
1
+ import { TimeString } from '../../../types';
2
+ import { QuoteResponseRelevantForTxBuild, QuoteTransaction, SourceId, SourceMetadata } from '../types';
3
+ import { IQuoteSourceList, SourceListBuildTxRequest, SourceListQuoteRequest, SourceListQuoteResponse } from './types';
4
+ import { IFetchService } from '../../fetch/types';
5
+ import { SourceConfig } from '../source-registry';
6
+ export type URIGenerator<T> = (request: T) => string;
7
+ type ConstructorParameters = {
8
+ fetchService: IFetchService;
9
+ getQuotesURI: URIGenerator<BatchAPISourceListQuoteRequest>;
10
+ buildTxURI: URIGenerator<BatchAPISourceListBuildTxRequest>;
11
+ sources: Record<SourceId, SourceMetadata>;
12
+ };
13
+ export declare class BatchAPISourceList implements IQuoteSourceList {
14
+ private readonly fetchService;
15
+ private readonly getQuotesURI;
16
+ private readonly buildTxURI;
17
+ private readonly sources;
18
+ constructor({ fetchService, getQuotesURI, buildTxURI, sources }: ConstructorParameters);
19
+ supportedSources(): Record<string, SourceMetadata>;
20
+ getQuotes(request: SourceListQuoteRequest): Record<SourceId, Promise<SourceListQuoteResponse>>;
21
+ buildTxs(request: SourceListBuildTxRequest): Record<SourceId, Promise<QuoteTransaction>>;
22
+ private fetchTxs;
23
+ }
24
+ export type BatchAPISourceListQuoteRequest = Omit<SourceListQuoteRequest, 'external'>;
25
+ export type BatchAPISourceListBuildTxRequest = {
26
+ sourceConfig?: SourceConfig;
27
+ quotes: Record<SourceId, QuoteResponseRelevantForTxBuild>;
28
+ quoteTimeout?: TimeString;
29
+ };
30
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BatchAPISourceList = void 0;
4
+ const timeouts_1 = require("../../../shared/timeouts");
5
+ const utils_1 = require("./utils");
6
+ class BatchAPISourceList {
7
+ constructor({ fetchService, getQuotesURI, buildTxURI, sources }) {
8
+ this.fetchService = fetchService;
9
+ this.getQuotesURI = getQuotesURI;
10
+ this.buildTxURI = buildTxURI;
11
+ this.sources = sources;
12
+ }
13
+ supportedSources() {
14
+ return this.sources;
15
+ }
16
+ getQuotes(request) {
17
+ // We reduce the request a little bit so that the server tries to be faster that the timeout
18
+ const reducedTimeout = (0, timeouts_1.reduceTimeout)(request.quoteTimeout, '500');
19
+ const uri = this.getQuotesURI(request);
20
+ const response = this.fetchService.fetch(uri, {
21
+ method: 'POST',
22
+ body: JSON.stringify({
23
+ ...request,
24
+ quoteTimeout: reducedTimeout,
25
+ }),
26
+ timeout: request.quoteTimeout,
27
+ });
28
+ const result = response.then((result) => result.json());
29
+ return Object.fromEntries(request.sources.map((sourceId) => [
30
+ sourceId,
31
+ result.then((responses) => sourceId in responses
32
+ ? (0, utils_1.bigintifyQuote)(responses[sourceId])
33
+ : Promise.reject(new Error(`Failed to fins a quote for source ${sourceId}`))),
34
+ ]));
35
+ }
36
+ buildTxs(request) {
37
+ const result = this.fetchTxs(request);
38
+ return Object.fromEntries(Object.keys(request.quotes).map((sourceId) => [sourceId, result.then((responses) => (0, utils_1.bigintifyTx)(responses[sourceId]))]));
39
+ }
40
+ async fetchTxs(request) {
41
+ const quotes = {};
42
+ const promises = Object.entries(request.quotes).map(([sourceId, quotePromise]) => quotePromise.then((quote) => (quotes[sourceId] = quote)).catch(() => { }) // If the quote fails, then do ignore it
43
+ );
44
+ await Promise.all(promises);
45
+ // We reduce the request a little bit so that the server tries to be faster that the timeout
46
+ const reducedTimeout = (0, timeouts_1.reduceTimeout)(request.quoteTimeout, '500');
47
+ const apiRequest = {
48
+ sourceConfig: request.sourceConfig,
49
+ quotes,
50
+ quoteTimeout: reducedTimeout,
51
+ };
52
+ const uri = this.buildTxURI(apiRequest);
53
+ const response = this.fetchService.fetch(uri, {
54
+ method: 'POST',
55
+ body: JSON.stringify(apiRequest),
56
+ timeout: request.quoteTimeout,
57
+ });
58
+ return response.then((result) => result.json());
59
+ }
60
+ }
61
+ exports.BatchAPISourceList = BatchAPISourceList;
62
+ //# sourceMappingURL=batch-api-source-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-api-source-list.js","sourceRoot":"","sources":["../../../../src/services/quotes/source-lists/batch-api-source-list.ts"],"names":[],"mappings":";;;AACA,+CAAiD;AAKjD,mCAAsD;AAUtD,MAAa,kBAAkB;IAM7B,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAyB;QACpF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,OAA+B;QACvC,4FAA4F;QAC5F,MAAM,cAAc,GAAG,IAAA,wBAAa,EAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,GAAG,OAAO;gBACV,YAAY,EAAE,cAAc;aAC7B,CAAC;YACF,OAAO,EAAE,OAAO,CAAC,YAAY;SAC9B,CAAC,CAAC;QACH,MAAM,MAAM,GAAwE,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7H,OAAO,MAAM,CAAC,WAAW,CACvB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;YAChC,QAAQ;YACR,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACxB,QAAQ,IAAI,SAAS;gBACnB,CAAC,CAAC,IAAA,sBAAc,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACrC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC,CAC/E;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,OAAiC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CACxH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,OAAiC;QACtD,MAAM,MAAM,GAAsD,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CACjD,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,wCAAwC;SAChJ,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,4FAA4F;QAC5F,MAAM,cAAc,GAAG,IAAA,wBAAa,EAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,UAAU,GAAqC;YACnD,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM;YACN,YAAY,EAAE,cAAc;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YAChC,OAAO,EAAE,OAAO,CAAC,YAAY;SAC9B,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAxED,gDAwEC"}
@@ -0,0 +1 @@
1
+ export { IQuoteSourceList, SourceListQuoteRequest, SourceListQuoteResponse, SourceListBuildTxRequest } from './types';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/quotes/source-lists/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import { QuoteTransaction, SourceId } from '../types';
2
+ import { IQuoteSourceList, SourceListBuildTxRequest, SourceListQuoteRequest, SourceListQuoteResponse } from './types';
3
+ import { IFetchService } from '../../fetch/types';
4
+ import { IProviderService } from '../../providers';
5
+ type ConstructorParameters = {
6
+ providerService: IProviderService;
7
+ fetchService: IFetchService;
8
+ };
9
+ export declare class LocalSourceList implements IQuoteSourceList {
10
+ private readonly providerService;
11
+ private readonly fetchService;
12
+ private readonly sources;
13
+ constructor({ providerService, fetchService }: ConstructorParameters);
14
+ supportedSources(): any;
15
+ getQuotes(request: SourceListQuoteRequest): Record<SourceId, Promise<SourceListQuoteResponse>>;
16
+ buildTxs(request: SourceListBuildTxRequest): Record<SourceId, Promise<QuoteTransaction>>;
17
+ private buildTx;
18
+ private getQuote;
19
+ private getSourceForRequest;
20
+ }
21
+ export {};
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalSourceList = void 0;
4
+ const timeouts_1 = require("../../../shared/timeouts");
5
+ const source_registry_1 = require("../source-registry");
6
+ const buy_to_sell_order_wrapper_1 = require("../quote-sources/wrappers/buy-to-sell-order-wrapper");
7
+ const forced_timeout_wrapper_1 = require("../quote-sources/wrappers/forced-timeout-wrapper");
8
+ const errors_1 = require("../errors");
9
+ class LocalSourceList {
10
+ constructor({ providerService, fetchService }) {
11
+ this.sources = source_registry_1.QUOTE_SOURCES;
12
+ this.providerService = providerService;
13
+ this.fetchService = fetchService;
14
+ }
15
+ supportedSources() {
16
+ const entries = Object.entries(this.sources).map(([sourceId, source]) => [sourceId, source.getMetadata()]);
17
+ return Object.fromEntries(entries);
18
+ }
19
+ getQuotes(request) {
20
+ return Object.fromEntries(request.sources.map((sourceId) => [sourceId, this.getQuote(request, sourceId)]));
21
+ }
22
+ buildTxs(request) {
23
+ const entries = Object.entries(request.quotes).map(([sourceId, quote]) => [
24
+ sourceId,
25
+ quote.then((response) => (0, timeouts_1.timeoutPromise)(this.buildTx(sourceId, request.sourceConfig, response, request.quoteTimeout), request.quoteTimeout)),
26
+ ]);
27
+ return Object.fromEntries(entries);
28
+ }
29
+ async buildTx(sourceId, sourceConfig, quote, timeout) {
30
+ const source = this.sources[sourceId];
31
+ if (!source)
32
+ throw new errors_1.SourceNotFoundError(sourceId);
33
+ // Check config is valid
34
+ const config = { ...sourceConfig?.global, ...sourceConfig?.custom?.[sourceId] };
35
+ if (!source.isConfigAndContextValidForTxBuilding(config)) {
36
+ throw new errors_1.SourceInvalidConfigOrContextError(sourceId);
37
+ }
38
+ // Map request to source request
39
+ const sourceRequest = mapTxRequestToSourceRequest(quote, timeout);
40
+ const tx = source.buildTx({
41
+ components: { providerService: this.providerService, fetchService: this.fetchService },
42
+ config,
43
+ request: sourceRequest,
44
+ });
45
+ const resolvedTx = await tx;
46
+ // Handle both EVM and Solana transactions
47
+ if ('swapTransaction' in resolvedTx && resolvedTx.type === 'solana') {
48
+ // For Solana transactions, return a special format
49
+ // The consumer should check for the presence of 'swapTransaction' to handle Solana txs
50
+ return {
51
+ to: '',
52
+ data: resolvedTx.swapTransaction,
53
+ from: quote.accounts.takerAddress,
54
+ // Include Solana-specific fields
55
+ ...(resolvedTx.lastValidBlockHeight !== undefined && { lastValidBlockHeight: resolvedTx.lastValidBlockHeight }),
56
+ isSolanaTransaction: true,
57
+ };
58
+ }
59
+ // EVM transaction (default)
60
+ const { to, calldata, value } = resolvedTx;
61
+ return { to, data: calldata, value, from: quote.accounts.takerAddress };
62
+ }
63
+ async getQuote(request, sourceId) {
64
+ if (!(sourceId in this.sources)) {
65
+ throw new errors_1.SourceNotFoundError(sourceId);
66
+ }
67
+ // Map request to source request
68
+ const sourceRequest = mapQuoteRequestToSourceRequest(request);
69
+ // Find and wrap source
70
+ const source = this.getSourceForRequest(request, sourceId);
71
+ // Check config is valid
72
+ const config = { ...request.sourceConfig?.global, ...request.sourceConfig?.custom?.[sourceId] };
73
+ if (!source.isConfigAndContextValidForQuoting(config)) {
74
+ throw new errors_1.SourceInvalidConfigOrContextError(sourceId);
75
+ }
76
+ // Ask for quote
77
+ const response = await source.quote({
78
+ components: { providerService: this.providerService, fetchService: this.fetchService },
79
+ config,
80
+ request: sourceRequest,
81
+ });
82
+ // Map to response
83
+ return mapSourceResponseToResponse({ request, source, response, sourceId });
84
+ }
85
+ getSourceForRequest(request, sourceId) {
86
+ let source = this.sources[sourceId];
87
+ if (request.order.type === 'buy' && !source.getMetadata().supports.buyOrders) {
88
+ if (request.estimateBuyOrdersWithSellOnlySources) {
89
+ source = (0, buy_to_sell_order_wrapper_1.buyToSellOrderWrapper)(source);
90
+ }
91
+ else {
92
+ throw new errors_1.SourceNoBuyOrdersError(sourceId);
93
+ }
94
+ }
95
+ // Cast so that even if the source doesn't support it, everything else types ok
96
+ return (0, forced_timeout_wrapper_1.forcedTimeoutWrapper)(source);
97
+ }
98
+ }
99
+ exports.LocalSourceList = LocalSourceList;
100
+ function mapSourceResponseToResponse({ source, request, response, sourceId, }) {
101
+ const recipient = request.recipient && source.getMetadata().supports.swapAndTransfer ? request.recipient : request.takerAddress;
102
+ return {
103
+ sellAmount: response.sellAmount,
104
+ buyAmount: response.buyAmount,
105
+ maxSellAmount: response.maxSellAmount,
106
+ minBuyAmount: response.minBuyAmount,
107
+ estimatedGas: response.estimatedGas,
108
+ recipient,
109
+ source: {
110
+ id: sourceId,
111
+ allowanceTarget: response.allowanceTarget,
112
+ name: source.getMetadata().name,
113
+ logoURI: source.getMetadata().logoURI,
114
+ },
115
+ type: response.type,
116
+ customData: response.customData,
117
+ };
118
+ }
119
+ function mapOrderToBigNumber(request) {
120
+ return request.order.type === 'sell'
121
+ ? { type: 'sell', sellAmount: BigInt(request.order.sellAmount) }
122
+ : { type: 'buy', buyAmount: BigInt(request.order.buyAmount) };
123
+ }
124
+ function mapTxRequestToSourceRequest(response, timeout) {
125
+ return {
126
+ chainId: response.chainId,
127
+ sellToken: response.sellToken.address,
128
+ buyToken: response.buyToken.address,
129
+ type: response.type,
130
+ sellAmount: response.sellAmount.amount,
131
+ maxSellAmount: response.maxSellAmount.amount,
132
+ buyAmount: response.buyAmount.amount,
133
+ minBuyAmount: response.minBuyAmount.amount,
134
+ accounts: { takeFrom: response.accounts.takerAddress, recipient: response.accounts.recipient },
135
+ customData: response.customData,
136
+ config: { timeout },
137
+ };
138
+ }
139
+ function mapQuoteRequestToSourceRequest(request) {
140
+ return {
141
+ chainId: request.chainId,
142
+ sellToken: request.sellToken,
143
+ buyToken: request.buyToken,
144
+ order: mapOrderToBigNumber(request),
145
+ config: {
146
+ slippagePercentage: request.slippagePercentage,
147
+ txValidFor: request.txValidFor,
148
+ timeout: request.quoteTimeout,
149
+ },
150
+ accounts: {
151
+ takeFrom: request.takerAddress,
152
+ recipient: request.recipient,
153
+ },
154
+ external: request.external,
155
+ };
156
+ }
157
+ //# sourceMappingURL=local-source-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-source-list.js","sourceRoot":"","sources":["../../../../src/services/quotes/source-lists/local-source-list.ts"],"names":[],"mappings":";;;AAYA,+CAAkD;AAClD,wDAAqF;AACrF,iHAA0G;AAC1G,2GAAsG;AAGtG,sCAA2G;AAO3G,MAAa,eAAe;IAK1B,YAAY,EAAE,eAAe,EAAE,YAAY,EAAyB;QAFnD,YAAO,GAA4D,+BAAa,CAAC;QAGhG,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,gBAAgB;QACd,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC3G,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,OAA+B;QACvC,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,QAAQ,CAAC,OAAiC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAwC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YAC/G,QAAQ;YACR,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtB,IAAA,yBAAc,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CACnH;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,QAAkB,EAClB,YAAsC,EACtC,KAAsC,EACtC,OAA+B;QAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,4BAAmB,CAAC,QAAQ,CAAC,CAAC;QAErD,wBAAwB;QACxB,MAAM,MAAM,GAAG,EAAE,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,MAAM,EAAE,CAAC,QAA8B,CAAC,EAAE,CAAC;QACtG,IAAI,CAAC,MAAM,CAAC,oCAAoC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,0CAAiC,CAAC,QAAQ,CAAC,CAAC;QACxD,CAAC;QAED,gCAAgC;QAChC,MAAM,aAAa,GAAG,2BAA2B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;YACxB,UAAU,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;YACtF,MAAM;YACN,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;QAC5B,0CAA0C;QAC1C,IAAI,iBAAiB,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpE,mDAAmD;YACnD,uFAAuF;YACvF,OAAO;gBACL,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,UAAU,CAAC,eAAe;gBAChC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY;gBACjC,iCAAiC;gBACjC,GAAG,CAAC,UAAU,CAAC,oBAAoB,KAAK,SAAS,IAAI,EAAE,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBAC/G,mBAAmB,EAAE,IAAI;aACnB,CAAC;QACX,CAAC;QACD,4BAA4B;QAC5B,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,UAA8D,CAAC;QAC/F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,OAA+B,EAAE,QAAkB;QACxE,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,4BAAmB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,gCAAgC;QAChC,MAAM,aAAa,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;QAE9D,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE3D,wBAAwB;QACxB,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,QAA8B,CAAC,EAAE,CAAC;QACtH,IAAI,CAAC,MAAM,CAAC,iCAAiC,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,0CAAiC,CAAC,QAAQ,CAAC,CAAC;QACxD,CAAC;QAED,gBAAgB;QAChB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;YAClC,UAAU,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;YACtF,MAAM;YACN,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;QAEH,kBAAkB;QAClB,OAAO,2BAA2B,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9E,CAAC;IAEO,mBAAmB,CAAC,OAA+B,EAAE,QAAkB;QAC7E,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC7E,IAAI,OAAO,CAAC,oCAAoC,EAAE,CAAC;gBACjD,MAAM,GAAG,IAAA,iDAAqB,EAAC,MAAM,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,+BAAsB,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,+EAA+E;QAC/E,OAAO,IAAA,6CAAoB,EAAC,MAAqE,CAAC,CAAC;IACrG,CAAC;CACF;AAjHD,0CAiHC;AAED,SAAS,2BAA2B,CAAC,EACnC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,GAMT;IACC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAChI,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,SAAS;QACT,MAAM,EAAE;YACN,EAAE,EAAE,QAAQ;YACZ,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI;YAC/B,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO;SACtC;QACD,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA+B;IAC1D,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;QAClC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;QAChE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAyC,EAAE,OAA+B;IAC7G,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO;QACrC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;QACnC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM;QACtC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM;QAC5C,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM;QACpC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,MAAM;QAC1C,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE;QAC9F,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,MAAM,EAAE,EAAE,OAAO,EAAE;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,OAA+B;IACrE,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC;QACnC,MAAM,EAAE;YACN,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,OAAO,CAAC,YAAY;SAC9B;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,OAAO,CAAC,YAAY;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B;QACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;KACuC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { QuoteTransaction, SourceId } from '../types';
2
+ import { IQuoteSourceList, SourceListBuildTxRequest, SourceListQuoteRequest, SourceListQuoteResponse } from './types';
3
+ type ConstructorParameters = {
4
+ default: IQuoteSourceList;
5
+ overrides: {
6
+ getQuotes?: {
7
+ list: IQuoteSourceList;
8
+ sourceIds: SourceId[];
9
+ }[];
10
+ buildTxs?: {
11
+ list: IQuoteSourceList;
12
+ sourceIds: SourceId[];
13
+ }[];
14
+ };
15
+ };
16
+ export declare class OverridableSourceList implements IQuoteSourceList {
17
+ private readonly getQuotesOverrides;
18
+ private readonly buildTxsOverrides;
19
+ private readonly defaultSourceList;
20
+ constructor({ default: defaultSourceList, overrides }: ConstructorParameters);
21
+ supportedSources(): Record<string, import("../types").SourceMetadata>;
22
+ getQuotes(request: SourceListQuoteRequest): Record<SourceId, Promise<SourceListQuoteResponse>>;
23
+ buildTxs(request: SourceListBuildTxRequest): Record<SourceId, Promise<QuoteTransaction>>;
24
+ }
25
+ export {};
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OverridableSourceList = void 0;
4
+ class OverridableSourceList {
5
+ constructor({ default: defaultSourceList, overrides }) {
6
+ this.getQuotesOverrides = {};
7
+ this.buildTxsOverrides = {};
8
+ this.defaultSourceList = defaultSourceList;
9
+ for (const { list, sourceIds } of overrides.getQuotes ?? []) {
10
+ for (const sourceId of sourceIds) {
11
+ if (sourceId in this.getQuotesOverrides) {
12
+ throw new Error(`Source with id ${sourceId} was assigned twice`);
13
+ }
14
+ this.getQuotesOverrides[sourceId] = list;
15
+ }
16
+ }
17
+ for (const { list, sourceIds } of overrides.buildTxs ?? []) {
18
+ for (const sourceId of sourceIds) {
19
+ if (sourceId in this.buildTxsOverrides) {
20
+ throw new Error(`Source with id ${sourceId} was assigned twice`);
21
+ }
22
+ this.buildTxsOverrides[sourceId] = list;
23
+ }
24
+ }
25
+ }
26
+ supportedSources() {
27
+ const sources = this.defaultSourceList.supportedSources();
28
+ for (const [sourceId, sourceList] of Object.entries(this.getQuotesOverrides)) {
29
+ sources[sourceId] = sourceList.supportedSources()[sourceId];
30
+ }
31
+ for (const [sourceId, sourceList] of Object.entries(this.buildTxsOverrides)) {
32
+ sources[sourceId] = sourceList.supportedSources()[sourceId];
33
+ }
34
+ return sources;
35
+ }
36
+ getQuotes(request) {
37
+ const result = {};
38
+ const sourceListSourcesId = new Map();
39
+ request.sources.forEach((sourceId) => {
40
+ const sourceList = this.getQuotesOverrides[sourceId] ?? this.defaultSourceList;
41
+ if (!sourceListSourcesId.has(sourceList)) {
42
+ sourceListSourcesId.set(sourceList, []);
43
+ }
44
+ sourceListSourcesId.get(sourceList).push(sourceId);
45
+ });
46
+ sourceListSourcesId.forEach((sourceIds, sourceList) => {
47
+ const responses = sourceList.getQuotes({ ...request, sources: sourceIds });
48
+ Object.entries(responses).forEach(([sourceId, response]) => (result[sourceId] = response));
49
+ });
50
+ return result;
51
+ }
52
+ buildTxs(request) {
53
+ const result = {};
54
+ const sourceListSourcesId = new Map();
55
+ Object.entries(request.quotes).forEach(([sourceId, quote]) => {
56
+ const sourceList = this.buildTxsOverrides[sourceId] ?? this.defaultSourceList;
57
+ if (!sourceListSourcesId.has(sourceList)) {
58
+ sourceListSourcesId.set(sourceList, {});
59
+ }
60
+ sourceListSourcesId.get(sourceList)[sourceId] = quote;
61
+ });
62
+ sourceListSourcesId.forEach((quotes, sourceList) => {
63
+ const responses = sourceList.buildTxs({ ...request, quotes });
64
+ Object.entries(responses).forEach(([sourceId, response]) => (result[sourceId] = response));
65
+ });
66
+ return result;
67
+ }
68
+ }
69
+ exports.OverridableSourceList = OverridableSourceList;
70
+ //# sourceMappingURL=overridable-source-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overridable-source-list.js","sourceRoot":"","sources":["../../../../src/services/quotes/source-lists/overridable-source-list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { GasPrice } from '../../gas/types';
2
+ import { BaseTokenMetadata } from '../../metadata/types';
3
+ import { ITriggerablePromise } from '../../../shared/triggerable-promise';
4
+ import { Address, TimeString } from '../../../types';
5
+ import { QuoteRequest, SourceMetadata, SourceId, QuoteTransaction, QuoteResponseRelevantForTxBuild } from '../types';
6
+ import { SourceConfig } from '../source-registry';
7
+ export type IQuoteSourceList = {
8
+ supportedSources(): Record<SourceId, SourceMetadata>;
9
+ getQuotes(request: SourceListQuoteRequest): Record<SourceId, Promise<SourceListQuoteResponse>>;
10
+ buildTxs(request: SourceListBuildTxRequest): Record<SourceId, Promise<QuoteTransaction>>;
11
+ };
12
+ export type SourceListBuildTxRequest = {
13
+ sourceConfig?: SourceConfig;
14
+ quotes: Record<SourceId, Promise<QuoteResponseRelevantForTxBuild>>;
15
+ quoteTimeout?: TimeString;
16
+ };
17
+ export type SourceListQuoteRequest = Omit<QuoteRequest, 'filters' | 'gasSpeed'> & {
18
+ sources: SourceId[];
19
+ external: {
20
+ tokenData: ITriggerablePromise<{
21
+ sellToken: BaseTokenMetadata;
22
+ buyToken: BaseTokenMetadata;
23
+ }>;
24
+ gasPrice: ITriggerablePromise<GasPrice>;
25
+ };
26
+ sourceConfig?: SourceConfig;
27
+ quoteTimeout?: TimeString;
28
+ };
29
+ export type SourceListQuoteResponse<CustomQuoteSourceData extends Record<string, any> = Record<string, any>> = {
30
+ sellAmount: bigint;
31
+ buyAmount: bigint;
32
+ maxSellAmount: bigint;
33
+ minBuyAmount: bigint;
34
+ estimatedGas?: bigint;
35
+ type: 'sell' | 'buy';
36
+ recipient: Address;
37
+ source: {
38
+ id: SourceId;
39
+ allowanceTarget: Address;
40
+ name: string;
41
+ logoURI: string;
42
+ };
43
+ customData: CustomQuoteSourceData;
44
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/services/quotes/source-lists/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { SourceListQuoteResponse } from './types';
2
+ import { QuoteTransaction } from '../types';
3
+ import { StringifyBigInt } from '../../../utility-types';
4
+ export declare function bigintifyQuote(quote: StringifyBigInt<SourceListQuoteResponse>): SourceListQuoteResponse;
5
+ export declare function bigintifyTx(tx: StringifyBigInt<QuoteTransaction>): QuoteTransaction;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bigintifyTx = exports.bigintifyQuote = void 0;
4
+ function bigintifyQuote(quote) {
5
+ return {
6
+ ...quote,
7
+ sellAmount: BigInt(quote.sellAmount),
8
+ buyAmount: BigInt(quote.buyAmount),
9
+ maxSellAmount: BigInt(quote.maxSellAmount),
10
+ minBuyAmount: BigInt(quote.minBuyAmount),
11
+ estimatedGas: toBigInt(quote.estimatedGas),
12
+ };
13
+ }
14
+ exports.bigintifyQuote = bigintifyQuote;
15
+ function bigintifyTx(tx) {
16
+ return {
17
+ ...tx,
18
+ value: toBigInt(tx.value),
19
+ maxPriorityFeePerGas: toBigInt(tx.maxPriorityFeePerGas),
20
+ maxFeePerGas: toBigInt(tx.maxFeePerGas),
21
+ gasPrice: toBigInt(tx.gasPrice),
22
+ gasLimit: toBigInt(tx.gasLimit),
23
+ };
24
+ }
25
+ exports.bigintifyTx = bigintifyTx;
26
+ function toBigInt(value) {
27
+ return value === undefined ? undefined : BigInt(value);
28
+ }
29
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/services/quotes/source-lists/utils.ts"],"names":[],"mappings":";;;AAKA,SAAgB,cAAc,CAAC,KAA+C;IAC5E,OAAO;QACL,GAAG,KAAK;QACR,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;QACpC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QAClC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;QAC1C,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;QACxC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;KAC3C,CAAC;AACJ,CAAC;AATD,wCASC;AAED,SAAgB,WAAW,CAAC,EAAqC;IAC/D,OAAO;QACL,GAAG,EAAE;QACL,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC;QACzB,oBAAoB,EAAE,QAAQ,CAAC,EAAE,CAAC,oBAAoB,CAAC;QACvD,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC;QACvC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC;QAC/B,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC;KAChC,CAAC;AACJ,CAAC;AATD,kCASC;AAED,SAAS,QAAQ,CAAC,KAA4B;IAC5C,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC"}