@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,119 @@
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.groupByChain = exports.isBigIntish = exports.toAmountsOfToken = exports.splitInChunks = exports.toTrimmedHex = exports.fromTokenInChain = exports.toTokenInChain = exports.ruleOfThree = exports.filterRejectedResults = exports.amountToUSD = exports.toUnits = exports.timeToSeconds = exports.calculateDeadline = exports.mulDivByNumber = exports.addPercentage = exports.subtractPercentage = exports.toLower = exports.isSameAddress = void 0;
7
+ const ms_1 = __importDefault(require("ms"));
8
+ const viem_1 = require("viem");
9
+ function isSameAddress(address1, address2) {
10
+ return !!address1 && !!address2 && address1.toLowerCase() === address2.toLowerCase();
11
+ }
12
+ exports.isSameAddress = isSameAddress;
13
+ function toLower(text) {
14
+ return text.toLowerCase();
15
+ }
16
+ exports.toLower = toLower;
17
+ function subtractPercentage(amount, slippagePercentage, rounding) {
18
+ const percentage = mulDivByNumber(amount, slippagePercentage, 100, rounding);
19
+ return BigInt(amount) - percentage;
20
+ }
21
+ exports.subtractPercentage = subtractPercentage;
22
+ function addPercentage(amount, slippagePercentage, rounding) {
23
+ const percentage = mulDivByNumber(amount, slippagePercentage, 100, rounding);
24
+ return BigInt(amount) + percentage;
25
+ }
26
+ exports.addPercentage = addPercentage;
27
+ const PRECISION = 10000000;
28
+ function mulDivByNumber(amount, mul, div, rounding) {
29
+ const round = (num) => BigInt(Math.round(num * PRECISION));
30
+ const numerator = BigInt(amount) * round(mul);
31
+ const denominator = round(div);
32
+ const result = numerator / denominator;
33
+ return numerator % denominator !== 0n && rounding === 'up' ? result + 1n : result;
34
+ }
35
+ exports.mulDivByNumber = mulDivByNumber;
36
+ function calculateDeadline(txValidFor) {
37
+ return txValidFor ? Math.floor((Date.now() + (0, ms_1.default)(txValidFor)) / 1000) : undefined;
38
+ }
39
+ exports.calculateDeadline = calculateDeadline;
40
+ function timeToSeconds(time) {
41
+ return Math.floor((0, ms_1.default)(time) / 1000);
42
+ }
43
+ exports.timeToSeconds = timeToSeconds;
44
+ function toUnits(amount, decimals, precision = 5) {
45
+ const units = (0, viem_1.formatUnits)(BigInt(amount), decimals);
46
+ const regex = new RegExp('^-?\\d+(?:.\\d{0,' + (precision || -1) + '})?');
47
+ return units.match(regex)[0];
48
+ }
49
+ exports.toUnits = toUnits;
50
+ const USD_PRECISION = 8;
51
+ function amountToUSD(decimals, amount, usdPrice, precision = 2) {
52
+ if (!!usdPrice) {
53
+ const priceBN = (0, viem_1.parseUnits)(`${usdPrice.toFixed(USD_PRECISION)}`, USD_PRECISION);
54
+ const magnitude = (0, viem_1.parseUnits)('1', decimals);
55
+ const amountUSDBN = (priceBN * BigInt(amount)) / magnitude;
56
+ return toUnits(amountUSDBN.toString(), USD_PRECISION, precision);
57
+ }
58
+ return undefined;
59
+ }
60
+ exports.amountToUSD = amountToUSD;
61
+ async function filterRejectedResults(promises) {
62
+ const results = await Promise.allSettled(promises);
63
+ return results.filter((result) => result.status === 'fulfilled').map(({ value }) => value);
64
+ }
65
+ exports.filterRejectedResults = filterRejectedResults;
66
+ function ruleOfThree({ a, matchA, b }) {
67
+ const matchABN = BigInt(matchA);
68
+ const bBN = BigInt(b);
69
+ if (bBN === 0n || matchABN === 0n)
70
+ return 0n;
71
+ return (bBN * matchABN) / BigInt(a);
72
+ }
73
+ exports.ruleOfThree = ruleOfThree;
74
+ function toTokenInChain(chainId, address) {
75
+ return `${chainId}:${address}`;
76
+ }
77
+ exports.toTokenInChain = toTokenInChain;
78
+ function fromTokenInChain(tokenInChain) {
79
+ const [chainId, address] = tokenInChain.split(':');
80
+ return { chainId: parseInt(chainId), address };
81
+ }
82
+ exports.fromTokenInChain = fromTokenInChain;
83
+ function toTrimmedHex(value) {
84
+ const trimmed = (0, viem_1.trim)((0, viem_1.toHex)(value));
85
+ return trimmed.startsWith('0x0') && trimmed !== '0x0' ? trimmed.replace('0x0', '0x') : trimmed;
86
+ }
87
+ exports.toTrimmedHex = toTrimmedHex;
88
+ function splitInChunks(list, chunkSize) {
89
+ const result = [];
90
+ for (let i = 0; i < list.length; i += chunkSize) {
91
+ result.push(list.slice(i, i + chunkSize));
92
+ }
93
+ return result;
94
+ }
95
+ exports.splitInChunks = splitInChunks;
96
+ function toAmountsOfToken({ price, decimals, amount }) {
97
+ const amountInUSD = amountToUSD(decimals, amount, price);
98
+ return {
99
+ amount: BigInt(amount),
100
+ amountInUnits: (0, viem_1.formatUnits)(BigInt(amount), decimals),
101
+ amountInUSD,
102
+ };
103
+ }
104
+ exports.toAmountsOfToken = toAmountsOfToken;
105
+ function isBigIntish(value) {
106
+ return typeof value === 'bigint' || typeof value === 'string' || typeof value === 'number';
107
+ }
108
+ exports.isBigIntish = isBigIntish;
109
+ function groupByChain(elements, map = (elem) => elem) {
110
+ const groupedByChain = {};
111
+ for (const { chainId, ...rest } of elements) {
112
+ if (!(chainId in groupedByChain))
113
+ groupedByChain[chainId] = [];
114
+ groupedByChain[chainId].push(map(rest));
115
+ }
116
+ return groupedByChain;
117
+ }
118
+ exports.groupByChain = groupByChain;
119
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { TransactionRequest, Address as ViemAddress } from 'viem';
2
+ import { InputTransaction } from '../types';
3
+ export declare function mapTxToViemTx(tx: InputTransaction): TransactionRequest & {
4
+ account: ViemAddress;
5
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapTxToViemTx = void 0;
4
+ function mapTxToViemTx(tx) {
5
+ return {
6
+ ...tx,
7
+ data: tx.data,
8
+ to: tx.to,
9
+ from: tx.from,
10
+ account: tx.from,
11
+ value: tx.value ? BigInt(tx.value) : undefined,
12
+ gasPrice: tx.gasPrice ? BigInt(tx.gasPrice) : undefined,
13
+ maxFeePerGas: tx.maxFeePerGas ? BigInt(tx.maxFeePerGas) : undefined,
14
+ maxPriorityFeePerGas: tx.maxPriorityFeePerGas ? BigInt(tx.maxPriorityFeePerGas) : undefined,
15
+ };
16
+ }
17
+ exports.mapTxToViemTx = mapTxToViemTx;
18
+ //# sourceMappingURL=viem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viem.js","sourceRoot":"","sources":["../../src/shared/viem.ts"],"names":[],"mappings":";;;AAGA,SAAgB,aAAa,CAAC,EAAoB;IAChD,OAAO;QACL,GAAG,EAAE;QACL,IAAI,EAAE,EAAE,CAAC,IAAuB;QAChC,EAAE,EAAE,EAAE,CAAC,EAA6B;QACpC,IAAI,EAAE,EAAE,CAAC,IAAmB;QAC5B,OAAO,EAAE,EAAE,CAAC,IAAmB;QAC/B,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9C,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QACvD,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACnE,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS;KAC3C,CAAC;AACrD,CAAC;AAZD,sCAYC"}
@@ -0,0 +1,7 @@
1
+ import { TimeString } from '../types';
2
+ export declare function wait(time: TimeString | number): Promise<unknown>;
3
+ export declare function waitUntil({ check, every, maxAttempts }: {
4
+ check: () => Promise<boolean> | boolean;
5
+ every: TimeString;
6
+ maxAttempts?: number;
7
+ }): Promise<void>;
@@ -0,0 +1,34 @@
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.waitUntil = exports.wait = void 0;
7
+ const ms_1 = __importDefault(require("ms"));
8
+ function wait(time) {
9
+ return new Promise((resolve) => setTimeout(resolve, (0, ms_1.default)(`${time}`)));
10
+ }
11
+ exports.wait = wait;
12
+ function waitUntil({ check, every, maxAttempts }) {
13
+ return new Promise(async (resolve, reject) => {
14
+ try {
15
+ let attempts = 0;
16
+ let result = await check();
17
+ while (!result && attempts++ < (maxAttempts ?? Infinity)) {
18
+ await wait(every);
19
+ result = await check();
20
+ }
21
+ if (result) {
22
+ resolve();
23
+ }
24
+ else {
25
+ reject(new Error(`Check continued to fail after ${maxAttempts} attempts`));
26
+ }
27
+ }
28
+ catch (e) {
29
+ reject(e);
30
+ }
31
+ });
32
+ }
33
+ exports.waitUntil = waitUntil;
34
+ //# sourceMappingURL=wait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/shared/wait.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AAGpB,SAAgB,IAAI,CAAC,IAAyB;IAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAA,YAAE,EAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAFD,oBAEC;AAED,SAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAwF;IAC3I,OAAO,IAAI,OAAO,CAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,IAAI,QAAQ,EAAE,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC;YACzB,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,WAAW,WAAW,CAAC,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAlBD,8BAkBC"}
@@ -0,0 +1,99 @@
1
+ import { ArrayOneOrMoreReadonly, If, KeysWithValue } from './utility-types';
2
+ import { StringValue } from 'ms';
3
+ export type Address = string;
4
+ export type TokenAddress = Address;
5
+ export type ChainId = number | string;
6
+ export type TimeString = StringValue;
7
+ export type Timestamp = number;
8
+ export type BigIntish = string | number | bigint;
9
+ export type EVMChain = Readonly<{
10
+ chainId: number;
11
+ name: string;
12
+ ids: ArrayOneOrMoreReadonly<string>;
13
+ nativeCurrency: {
14
+ symbol: string;
15
+ name: string;
16
+ };
17
+ wToken: Lowercase<Address>;
18
+ publicRPCs: Readonly<string[]>;
19
+ explorer: string;
20
+ testnet?: boolean;
21
+ }>;
22
+ export type SolanaChain = Readonly<{
23
+ chainId: 'solana';
24
+ name: string;
25
+ ids: ArrayOneOrMoreReadonly<string>;
26
+ nativeCurrency: {
27
+ symbol: string;
28
+ name: string;
29
+ mint: string;
30
+ };
31
+ wToken: string;
32
+ publicRPCs: Readonly<string[]>;
33
+ explorer: string;
34
+ testnet?: boolean;
35
+ }>;
36
+ export type Chain = EVMChain | SolanaChain;
37
+ export declare function isEVMChain(chain: Chain): chain is EVMChain;
38
+ export declare function isSolanaChain(chain: Chain): chain is SolanaChain;
39
+ export type InputTransaction = {
40
+ from: Address;
41
+ to: Address;
42
+ data?: string;
43
+ value?: bigint;
44
+ nonce?: number;
45
+ maxPriorityFeePerGas?: bigint;
46
+ maxFeePerGas?: bigint;
47
+ gasPrice?: bigint;
48
+ gasLimit?: bigint;
49
+ type?: number;
50
+ };
51
+ export type AmountsOfToken = {
52
+ amount: bigint;
53
+ amountInUnits: string;
54
+ amountInUSD?: string;
55
+ };
56
+ export type BuiltTransaction = {
57
+ to: string;
58
+ data: string;
59
+ value?: bigint;
60
+ nonce?: number;
61
+ maxPriorityFeePerGas?: bigint;
62
+ maxFeePerGas?: bigint;
63
+ gasPrice?: bigint;
64
+ gasLimit?: bigint;
65
+ type?: number;
66
+ };
67
+ export type ContractCall = {
68
+ address: Address;
69
+ abi: {
70
+ humanReadable: string[];
71
+ } | {
72
+ json: readonly any[];
73
+ };
74
+ functionName: string;
75
+ args?: any[];
76
+ };
77
+ export type SupportRecord<Values extends object> = {
78
+ [K in keyof Values]-?: undefined extends Values[K] ? 'optional' : 'present';
79
+ };
80
+ export type SupportInChain<Values extends object> = {
81
+ [K in keyof SupportRecord<Values>]: SupportRecord<Values>[K] extends 'present' ? 'present' : 'optional' | 'present';
82
+ };
83
+ export type FieldRequirementOptions = 'required' | 'best effort' | 'can ignore';
84
+ export type FieldsRequirements<Values extends object> = {
85
+ requirements?: Partial<Record<keyof Values, FieldRequirementOptions>>;
86
+ default?: FieldRequirementOptions;
87
+ };
88
+ export type DefaultRequirements<Values extends object> = {
89
+ requirements: {
90
+ [K in keyof Values]: SupportRecord<Values>[K] extends 'present' ? 'required' : 'best effort';
91
+ };
92
+ };
93
+ export type BasedOnRequirements<Values extends object, Requirements extends FieldsRequirements<Values>> = Partial<Values> & Required<Pick<Values, PresentKeys<Values, Requirements>>>;
94
+ type PresentKeys<Values extends object, Requirements extends FieldsRequirements<Values>> = Exclude<KeysWithValue<SupportRecord<Values>, 'present'> | RequiredKeys<Values, Requirements>, CanIgnoreKeys<Values, Requirements>> & keyof Values;
95
+ type UnspecifiedKeys<Values extends object, Requirements extends FieldsRequirements<Values>> = Exclude<keyof Values, undefined extends Requirements['requirements'] ? never : keyof NonNullable<Requirements['requirements']>>;
96
+ type RequiredKeys<Values extends object, Requirements extends FieldsRequirements<Values>> = (undefined extends Requirements['requirements'] ? never : KeysWithValue<NonNullable<Requirements['requirements']>, 'required'>) | If<IsDefault<Requirements, 'required'>, UnspecifiedKeys<Values, Requirements>>;
97
+ type CanIgnoreKeys<Values extends object, Requirements extends FieldsRequirements<Values>> = (undefined extends Requirements['requirements'] ? never : KeysWithValue<NonNullable<Requirements['requirements']>, 'can ignore'>) | If<IsDefault<Requirements, 'can ignore'>, UnspecifiedKeys<Values, Requirements>>;
98
+ type IsDefault<Requirements extends FieldsRequirements<object>, Check extends FieldRequirementOptions> = Requirements['default'] extends Check ? true : false;
99
+ export {};
package/dist/types.js ADDED
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSolanaChain = exports.isEVMChain = void 0;
4
+ // Type guards
5
+ function isEVMChain(chain) {
6
+ return typeof chain.chainId === 'number';
7
+ }
8
+ exports.isEVMChain = isEVMChain;
9
+ function isSolanaChain(chain) {
10
+ return chain.chainId === 'solana';
11
+ }
12
+ exports.isSolanaChain = isSolanaChain;
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAqCA,cAAc;AACd,SAAgB,UAAU,CAAC,KAAY;IACrC,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC3C,CAAC;AAFD,gCAEC;AAED,SAAgB,aAAa,CAAC,KAAY;IACxC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC;AACpC,CAAC;AAFD,sCAEC"}
@@ -0,0 +1,46 @@
1
+ export type Only<T, U> = {
2
+ [P in keyof T]: T[P];
3
+ } & {
4
+ [P in keyof U]?: never;
5
+ };
6
+ export type Either<T, U> = Only<T, U> | Only<U, T>;
7
+ export type DistributiveOmit<T, K extends keyof any> = T extends any ? Omit<T, K> : never;
8
+ export type ArrayOneOrMore<T> = {
9
+ 0: T;
10
+ } & Array<T>;
11
+ export type ArrayTwoOrMore<T> = {
12
+ 0: T;
13
+ 1: T;
14
+ } & Array<T>;
15
+ export type ArrayOneOrMoreReadonly<T> = {
16
+ 0: T;
17
+ } & Readonly<Array<T>>;
18
+ export type ExcludeKeysWithTypeOf<T, V> = {
19
+ [K in keyof T]: Exclude<T[K], undefined> extends V ? never : K;
20
+ }[keyof T];
21
+ export type Without<T, V> = Pick<T, ExcludeKeysWithTypeOf<T, V>>;
22
+ export type WithRequired<T, K extends keyof T> = T & {
23
+ [P in K]-?: T[P];
24
+ };
25
+ export type PartialOnly<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
26
+ export type KeysWithValue<T extends Record<string, any>, V> = {
27
+ [K in keyof T]: T[K] extends V ? K : never;
28
+ }[keyof T];
29
+ export type If<Condition extends boolean, IfTrue> = true extends Condition ? IfTrue : never;
30
+ export type UnionMerge<T extends object> = {
31
+ [k in CommonKeys<T>]: PickTypeOf<T, k>;
32
+ } & {
33
+ [k in NonCommonKeys<T>]?: PickTypeOf<T, k>;
34
+ };
35
+ export type StringifyBigInt<T extends any> = T extends object ? {
36
+ [K in keyof T]: bigint extends T[K] ? `${bigint}` : StringifyBigInt<T[K]>;
37
+ } : T;
38
+ type CommonKeys<T extends object> = keyof T;
39
+ type AllKeys<T> = T extends any ? keyof T : never;
40
+ type Subtract<A, C> = A extends C ? never : A;
41
+ type NonCommonKeys<T extends object> = Subtract<AllKeys<T>, CommonKeys<T>>;
42
+ type PickType<T, K extends AllKeys<T>> = T extends {
43
+ [k in K]?: any;
44
+ } ? T[K] : undefined;
45
+ type PickTypeOf<T, K extends string | number | symbol> = K extends AllKeys<T> ? PickType<T, K> : never;
46
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=utility-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utility-types.js","sourceRoot":"","sources":["../src/utility-types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xkoaj/sdk",
3
- "version": "0.0.1-beta.1",
3
+ "version": "0.0.1-beta.3",
4
4
  "contributors": [],
5
5
  "main": "./dist/index.js",
6
6
  "files": [
@@ -11,6 +11,7 @@
11
11
  "lint:check": "prettier --check .",
12
12
  "lint:fix": "sort-package-json && prettier --write .",
13
13
  "prepare": "husky install",
14
+ "prepublishOnly": "npm run build",
14
15
  "script": "ts-node -r tsconfig-paths/register",
15
16
  "test": "jest --forceExit --detectOpenHandles --verbose",
16
17
  "test:integration": "jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration",