@1stdex/first-sdk 1.0.0-rc.1

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 (491) hide show
  1. package/README.md +11 -0
  2. package/dist/cjs/calls/approval/market.js +136 -0
  3. package/dist/cjs/calls/approval/market.js.map +1 -0
  4. package/dist/cjs/calls/approval/open-order.js +50 -0
  5. package/dist/cjs/calls/approval/open-order.js.map +1 -0
  6. package/dist/cjs/calls/approval/order.js +45 -0
  7. package/dist/cjs/calls/approval/order.js.map +1 -0
  8. package/dist/cjs/calls/approval/token.js +167 -0
  9. package/dist/cjs/calls/approval/token.js.map +1 -0
  10. package/dist/cjs/calls/index.js +31 -0
  11. package/dist/cjs/calls/index.js.map +1 -0
  12. package/dist/cjs/calls/market/cancel.js +65 -0
  13. package/dist/cjs/calls/market/cancel.js.map +1 -0
  14. package/dist/cjs/calls/market/claim.js +64 -0
  15. package/dist/cjs/calls/market/claim.js.map +1 -0
  16. package/dist/cjs/calls/market/limit.js +187 -0
  17. package/dist/cjs/calls/market/limit.js.map +1 -0
  18. package/dist/cjs/calls/market/make.js +164 -0
  19. package/dist/cjs/calls/market/make.js.map +1 -0
  20. package/dist/cjs/calls/market/market.js +171 -0
  21. package/dist/cjs/calls/market/market.js.map +1 -0
  22. package/dist/cjs/calls/market/open.js +50 -0
  23. package/dist/cjs/calls/market/open.js.map +1 -0
  24. package/dist/cjs/calls/vault/deposit-to-vault.js +24 -0
  25. package/dist/cjs/calls/vault/deposit-to-vault.js.map +1 -0
  26. package/dist/cjs/calls/vault/index.js +12 -0
  27. package/dist/cjs/calls/vault/index.js.map +1 -0
  28. package/dist/cjs/calls/vault/remove-vault.js +24 -0
  29. package/dist/cjs/calls/vault/remove-vault.js.map +1 -0
  30. package/dist/cjs/calls/vault/set-vault.js +24 -0
  31. package/dist/cjs/calls/vault/set-vault.js.map +1 -0
  32. package/dist/cjs/calls/vault/withdraw-from-vault.js +24 -0
  33. package/dist/cjs/calls/vault/withdraw-from-vault.js.map +1 -0
  34. package/dist/cjs/constants/abis/core/book-manager-abi.js +1211 -0
  35. package/dist/cjs/constants/abis/core/book-manager-abi.js.map +1 -0
  36. package/dist/cjs/constants/abis/core/book-viewer-abi.js +321 -0
  37. package/dist/cjs/constants/abis/core/book-viewer-abi.js.map +1 -0
  38. package/dist/cjs/constants/abis/core/controller-abi.js +613 -0
  39. package/dist/cjs/constants/abis/core/controller-abi.js.map +1 -0
  40. package/dist/cjs/constants/abis/core/params-abi.js +64 -0
  41. package/dist/cjs/constants/abis/core/params-abi.js.map +1 -0
  42. package/dist/cjs/constants/chain-configs/addresses.js +18 -0
  43. package/dist/cjs/constants/chain-configs/addresses.js.map +1 -0
  44. package/dist/cjs/constants/chain-configs/chain.js +23 -0
  45. package/dist/cjs/constants/chain-configs/chain.js.map +1 -0
  46. package/dist/cjs/constants/chain-configs/currency.js +24 -0
  47. package/dist/cjs/constants/chain-configs/currency.js.map +1 -0
  48. package/dist/cjs/constants/chain-configs/fee.js +14 -0
  49. package/dist/cjs/constants/chain-configs/fee.js.map +1 -0
  50. package/dist/cjs/constants/chain-configs/subgraph.js +27 -0
  51. package/dist/cjs/constants/chain-configs/subgraph.js.map +1 -0
  52. package/dist/cjs/constants/permit.js +14 -0
  53. package/dist/cjs/constants/permit.js.map +1 -0
  54. package/dist/cjs/constants/price.js +7 -0
  55. package/dist/cjs/constants/price.js.map +1 -0
  56. package/dist/cjs/constants/tick.js +6 -0
  57. package/dist/cjs/constants/tick.js.map +1 -0
  58. package/dist/cjs/entities/analytics/apis/index.js +209 -0
  59. package/dist/cjs/entities/analytics/apis/index.js.map +1 -0
  60. package/dist/cjs/entities/analytics/types.js +3 -0
  61. package/dist/cjs/entities/analytics/types.js.map +1 -0
  62. package/dist/cjs/entities/book/apis/index.js +87 -0
  63. package/dist/cjs/entities/book/apis/index.js.map +1 -0
  64. package/dist/cjs/entities/book/model.js +197 -0
  65. package/dist/cjs/entities/book/model.js.map +1 -0
  66. package/dist/cjs/entities/book/types.js +3 -0
  67. package/dist/cjs/entities/book/types.js.map +1 -0
  68. package/dist/cjs/entities/book/utils/book-id.js +23 -0
  69. package/dist/cjs/entities/book/utils/book-id.js.map +1 -0
  70. package/dist/cjs/entities/currency/apis/allowance.js +38 -0
  71. package/dist/cjs/entities/currency/apis/allowance.js.map +1 -0
  72. package/dist/cjs/entities/currency/apis/approval.js +39 -0
  73. package/dist/cjs/entities/currency/apis/approval.js.map +1 -0
  74. package/dist/cjs/entities/currency/apis/index.js +123 -0
  75. package/dist/cjs/entities/currency/apis/index.js.map +1 -0
  76. package/dist/cjs/entities/currency/apis/price.js +36 -0
  77. package/dist/cjs/entities/currency/apis/price.js.map +1 -0
  78. package/dist/cjs/entities/currency/apis/total-supply.js +62 -0
  79. package/dist/cjs/entities/currency/apis/total-supply.js.map +1 -0
  80. package/dist/cjs/entities/currency/types.js +3 -0
  81. package/dist/cjs/entities/currency/types.js.map +1 -0
  82. package/dist/cjs/entities/fee-policy/model.js +92 -0
  83. package/dist/cjs/entities/fee-policy/model.js.map +1 -0
  84. package/dist/cjs/entities/market/apis/chart-log.js +171 -0
  85. package/dist/cjs/entities/market/apis/chart-log.js.map +1 -0
  86. package/dist/cjs/entities/market/apis/index.js +35 -0
  87. package/dist/cjs/entities/market/apis/index.js.map +1 -0
  88. package/dist/cjs/entities/market/apis/price.js +65 -0
  89. package/dist/cjs/entities/market/apis/price.js.map +1 -0
  90. package/dist/cjs/entities/market/apis/snapshot.js +374 -0
  91. package/dist/cjs/entities/market/apis/snapshot.js.map +1 -0
  92. package/dist/cjs/entities/market/model.js +185 -0
  93. package/dist/cjs/entities/market/model.js.map +1 -0
  94. package/dist/cjs/entities/market/types.js +3 -0
  95. package/dist/cjs/entities/market/types.js.map +1 -0
  96. package/dist/cjs/entities/market/utils/market-id.js +30 -0
  97. package/dist/cjs/entities/market/utils/market-id.js.map +1 -0
  98. package/dist/cjs/entities/open-order/apis/index.js +195 -0
  99. package/dist/cjs/entities/open-order/apis/index.js.map +1 -0
  100. package/dist/cjs/entities/open-order/apis/operator.js +15 -0
  101. package/dist/cjs/entities/open-order/apis/operator.js.map +1 -0
  102. package/dist/cjs/entities/open-order/types.js +3 -0
  103. package/dist/cjs/entities/open-order/types.js.map +1 -0
  104. package/dist/cjs/entities/open-order/utils/order-id.js +18 -0
  105. package/dist/cjs/entities/open-order/utils/order-id.js.map +1 -0
  106. package/dist/cjs/entities/vault/types.js +3 -0
  107. package/dist/cjs/entities/vault/types.js.map +1 -0
  108. package/dist/cjs/index.js +27 -0
  109. package/dist/cjs/index.js.map +1 -0
  110. package/dist/cjs/package.json +1 -0
  111. package/dist/cjs/types/default-options.js +3 -0
  112. package/dist/cjs/types/default-options.js.map +1 -0
  113. package/dist/cjs/types/index.js +21 -0
  114. package/dist/cjs/types/index.js.map +1 -0
  115. package/dist/cjs/types/permit.js +3 -0
  116. package/dist/cjs/types/permit.js.map +1 -0
  117. package/dist/cjs/types/transaction.js +3 -0
  118. package/dist/cjs/types/transaction.js.map +1 -0
  119. package/dist/cjs/utils/bigint.js +16 -0
  120. package/dist/cjs/utils/bigint.js.map +1 -0
  121. package/dist/cjs/utils/build-transaction.js +27 -0
  122. package/dist/cjs/utils/build-transaction.js.map +1 -0
  123. package/dist/cjs/utils/conversion.js +17 -0
  124. package/dist/cjs/utils/conversion.js.map +1 -0
  125. package/dist/cjs/utils/index.js +18 -0
  126. package/dist/cjs/utils/index.js.map +1 -0
  127. package/dist/cjs/utils/math.js +58 -0
  128. package/dist/cjs/utils/math.js.map +1 -0
  129. package/dist/cjs/utils/prices.js +56 -0
  130. package/dist/cjs/utils/prices.js.map +1 -0
  131. package/dist/cjs/utils/tick.js +117 -0
  132. package/dist/cjs/utils/tick.js.map +1 -0
  133. package/dist/cjs/utils/time.js +14 -0
  134. package/dist/cjs/utils/time.js.map +1 -0
  135. package/dist/cjs/utils/unit-size.js +8 -0
  136. package/dist/cjs/utils/unit-size.js.map +1 -0
  137. package/dist/cjs/views/address.js +9 -0
  138. package/dist/cjs/views/address.js.map +1 -0
  139. package/dist/cjs/views/analytics.js +25 -0
  140. package/dist/cjs/views/analytics.js.map +1 -0
  141. package/dist/cjs/views/currency.js +22 -0
  142. package/dist/cjs/views/currency.js.map +1 -0
  143. package/dist/cjs/views/index.js +39 -0
  144. package/dist/cjs/views/index.js.map +1 -0
  145. package/dist/cjs/views/market/chart-log.js +13 -0
  146. package/dist/cjs/views/market/chart-log.js.map +1 -0
  147. package/dist/cjs/views/market/index.js +40 -0
  148. package/dist/cjs/views/market/index.js.map +1 -0
  149. package/dist/cjs/views/market/parse.js +22 -0
  150. package/dist/cjs/views/market/parse.js.map +1 -0
  151. package/dist/cjs/views/market/quote.js +97 -0
  152. package/dist/cjs/views/market/quote.js.map +1 -0
  153. package/dist/cjs/views/market/snapshot.js +28 -0
  154. package/dist/cjs/views/market/snapshot.js.map +1 -0
  155. package/dist/cjs/views/market/token.js +10 -0
  156. package/dist/cjs/views/market/token.js.map +1 -0
  157. package/dist/cjs/views/open-order.js +13 -0
  158. package/dist/cjs/views/open-order.js.map +1 -0
  159. package/dist/cjs/views/subgraph.js +24 -0
  160. package/dist/cjs/views/subgraph.js.map +1 -0
  161. package/dist/cjs/views/tick.js +80 -0
  162. package/dist/cjs/views/tick.js.map +1 -0
  163. package/dist/cjs/views/vault.js +24 -0
  164. package/dist/cjs/views/vault.js.map +1 -0
  165. package/dist/esm/calls/approval/market.js +186 -0
  166. package/dist/esm/calls/approval/market.js.map +1 -0
  167. package/dist/esm/calls/approval/open-order.js +71 -0
  168. package/dist/esm/calls/approval/open-order.js.map +1 -0
  169. package/dist/esm/calls/approval/order.js +70 -0
  170. package/dist/esm/calls/approval/order.js.map +1 -0
  171. package/dist/esm/calls/approval/token.js +212 -0
  172. package/dist/esm/calls/approval/token.js.map +1 -0
  173. package/dist/esm/calls/index.js +12 -0
  174. package/dist/esm/calls/index.js.map +1 -0
  175. package/dist/esm/calls/market/cancel.js +108 -0
  176. package/dist/esm/calls/market/cancel.js.map +1 -0
  177. package/dist/esm/calls/market/claim.js +107 -0
  178. package/dist/esm/calls/market/claim.js.map +1 -0
  179. package/dist/esm/calls/market/limit.js +229 -0
  180. package/dist/esm/calls/market/limit.js.map +1 -0
  181. package/dist/esm/calls/market/make.js +160 -0
  182. package/dist/esm/calls/market/make.js.map +1 -0
  183. package/dist/esm/calls/market/market.js +202 -0
  184. package/dist/esm/calls/market/market.js.map +1 -0
  185. package/dist/esm/calls/market/open.js +65 -0
  186. package/dist/esm/calls/market/open.js.map +1 -0
  187. package/dist/esm/calls/vault/deposit-to-vault.js +39 -0
  188. package/dist/esm/calls/vault/deposit-to-vault.js.map +1 -0
  189. package/dist/esm/calls/vault/index.js +5 -0
  190. package/dist/esm/calls/vault/index.js.map +1 -0
  191. package/dist/esm/calls/vault/remove-vault.js +37 -0
  192. package/dist/esm/calls/vault/remove-vault.js.map +1 -0
  193. package/dist/esm/calls/vault/set-vault.js +39 -0
  194. package/dist/esm/calls/vault/set-vault.js.map +1 -0
  195. package/dist/esm/calls/vault/withdraw-from-vault.js +39 -0
  196. package/dist/esm/calls/vault/withdraw-from-vault.js.map +1 -0
  197. package/dist/esm/constants/abis/core/book-manager-abi.js +1208 -0
  198. package/dist/esm/constants/abis/core/book-manager-abi.js.map +1 -0
  199. package/dist/esm/constants/abis/core/book-viewer-abi.js +318 -0
  200. package/dist/esm/constants/abis/core/book-viewer-abi.js.map +1 -0
  201. package/dist/esm/constants/abis/core/controller-abi.js +610 -0
  202. package/dist/esm/constants/abis/core/controller-abi.js.map +1 -0
  203. package/dist/esm/constants/abis/core/params-abi.js +61 -0
  204. package/dist/esm/constants/abis/core/params-abi.js.map +1 -0
  205. package/dist/esm/constants/chain-configs/addresses.js +15 -0
  206. package/dist/esm/constants/chain-configs/addresses.js.map +1 -0
  207. package/dist/esm/constants/chain-configs/chain.js +22 -0
  208. package/dist/esm/constants/chain-configs/chain.js.map +1 -0
  209. package/dist/esm/constants/chain-configs/currency.js +23 -0
  210. package/dist/esm/constants/chain-configs/currency.js.map +1 -0
  211. package/dist/esm/constants/chain-configs/fee.js +11 -0
  212. package/dist/esm/constants/chain-configs/fee.js.map +1 -0
  213. package/dist/esm/constants/chain-configs/subgraph.js +23 -0
  214. package/dist/esm/constants/chain-configs/subgraph.js.map +1 -0
  215. package/dist/esm/constants/permit.js +11 -0
  216. package/dist/esm/constants/permit.js.map +1 -0
  217. package/dist/esm/constants/price.js +4 -0
  218. package/dist/esm/constants/price.js.map +1 -0
  219. package/dist/esm/constants/tick.js +3 -0
  220. package/dist/esm/constants/tick.js.map +1 -0
  221. package/dist/esm/entities/analytics/apis/index.js +206 -0
  222. package/dist/esm/entities/analytics/apis/index.js.map +1 -0
  223. package/dist/esm/entities/analytics/types.js +2 -0
  224. package/dist/esm/entities/analytics/types.js.map +1 -0
  225. package/dist/esm/entities/book/apis/index.js +83 -0
  226. package/dist/esm/entities/book/apis/index.js.map +1 -0
  227. package/dist/esm/entities/book/model.js +195 -0
  228. package/dist/esm/entities/book/model.js.map +1 -0
  229. package/dist/esm/entities/book/types.js +2 -0
  230. package/dist/esm/entities/book/types.js.map +1 -0
  231. package/dist/esm/entities/book/utils/book-id.js +19 -0
  232. package/dist/esm/entities/book/utils/book-id.js.map +1 -0
  233. package/dist/esm/entities/currency/apis/allowance.js +34 -0
  234. package/dist/esm/entities/currency/apis/allowance.js.map +1 -0
  235. package/dist/esm/entities/currency/apis/approval.js +35 -0
  236. package/dist/esm/entities/currency/apis/approval.js.map +1 -0
  237. package/dist/esm/entities/currency/apis/index.js +118 -0
  238. package/dist/esm/entities/currency/apis/index.js.map +1 -0
  239. package/dist/esm/entities/currency/apis/price.js +30 -0
  240. package/dist/esm/entities/currency/apis/price.js.map +1 -0
  241. package/dist/esm/entities/currency/apis/total-supply.js +57 -0
  242. package/dist/esm/entities/currency/apis/total-supply.js.map +1 -0
  243. package/dist/esm/entities/currency/types.js +2 -0
  244. package/dist/esm/entities/currency/types.js.map +1 -0
  245. package/dist/esm/entities/fee-policy/model.js +88 -0
  246. package/dist/esm/entities/fee-policy/model.js.map +1 -0
  247. package/dist/esm/entities/market/apis/chart-log.js +167 -0
  248. package/dist/esm/entities/market/apis/chart-log.js.map +1 -0
  249. package/dist/esm/entities/market/apis/index.js +30 -0
  250. package/dist/esm/entities/market/apis/index.js.map +1 -0
  251. package/dist/esm/entities/market/apis/price.js +86 -0
  252. package/dist/esm/entities/market/apis/price.js.map +1 -0
  253. package/dist/esm/entities/market/apis/snapshot.js +371 -0
  254. package/dist/esm/entities/market/apis/snapshot.js.map +1 -0
  255. package/dist/esm/entities/market/model.js +183 -0
  256. package/dist/esm/entities/market/model.js.map +1 -0
  257. package/dist/esm/entities/market/types.js +2 -0
  258. package/dist/esm/entities/market/types.js.map +1 -0
  259. package/dist/esm/entities/market/utils/market-id.js +28 -0
  260. package/dist/esm/entities/market/utils/market-id.js.map +1 -0
  261. package/dist/esm/entities/open-order/apis/index.js +192 -0
  262. package/dist/esm/entities/open-order/apis/index.js.map +1 -0
  263. package/dist/esm/entities/open-order/apis/operator.js +11 -0
  264. package/dist/esm/entities/open-order/apis/operator.js.map +1 -0
  265. package/dist/esm/entities/open-order/types.js +2 -0
  266. package/dist/esm/entities/open-order/types.js.map +1 -0
  267. package/dist/esm/entities/open-order/utils/order-id.js +13 -0
  268. package/dist/esm/entities/open-order/utils/order-id.js.map +1 -0
  269. package/dist/esm/entities/vault/types.js +2 -0
  270. package/dist/esm/entities/vault/types.js.map +1 -0
  271. package/dist/esm/index.js +9 -0
  272. package/dist/esm/index.js.map +1 -0
  273. package/dist/esm/package.json +1 -0
  274. package/dist/esm/types/default-options.js +2 -0
  275. package/dist/esm/types/default-options.js.map +1 -0
  276. package/dist/esm/types/index.js +17 -0
  277. package/dist/esm/types/index.js.map +1 -0
  278. package/dist/esm/types/permit.js +2 -0
  279. package/dist/esm/types/permit.js.map +1 -0
  280. package/dist/esm/types/transaction.js +2 -0
  281. package/dist/esm/types/transaction.js.map +1 -0
  282. package/dist/esm/utils/bigint.js +9 -0
  283. package/dist/esm/utils/bigint.js.map +1 -0
  284. package/dist/esm/utils/build-transaction.js +23 -0
  285. package/dist/esm/utils/build-transaction.js.map +1 -0
  286. package/dist/esm/utils/conversion.js +12 -0
  287. package/dist/esm/utils/conversion.js.map +1 -0
  288. package/dist/esm/utils/index.js +5 -0
  289. package/dist/esm/utils/index.js.map +1 -0
  290. package/dist/esm/utils/math.js +79 -0
  291. package/dist/esm/utils/math.js.map +1 -0
  292. package/dist/esm/utils/prices.js +50 -0
  293. package/dist/esm/utils/prices.js.map +1 -0
  294. package/dist/esm/utils/tick.js +110 -0
  295. package/dist/esm/utils/tick.js.map +1 -0
  296. package/dist/esm/utils/time.js +8 -0
  297. package/dist/esm/utils/time.js.map +1 -0
  298. package/dist/esm/utils/unit-size.js +4 -0
  299. package/dist/esm/utils/unit-size.js.map +1 -0
  300. package/dist/esm/views/address.js +17 -0
  301. package/dist/esm/views/address.js.map +1 -0
  302. package/dist/esm/views/analytics.js +17 -0
  303. package/dist/esm/views/analytics.js.map +1 -0
  304. package/dist/esm/views/currency.js +15 -0
  305. package/dist/esm/views/currency.js.map +1 -0
  306. package/dist/esm/views/index.js +9 -0
  307. package/dist/esm/views/index.js.map +1 -0
  308. package/dist/esm/views/market/chart-log.js +48 -0
  309. package/dist/esm/views/market/chart-log.js.map +1 -0
  310. package/dist/esm/views/market/index.js +62 -0
  311. package/dist/esm/views/market/index.js.map +1 -0
  312. package/dist/esm/views/market/parse.js +18 -0
  313. package/dist/esm/views/market/parse.js.map +1 -0
  314. package/dist/esm/views/market/quote.js +137 -0
  315. package/dist/esm/views/market/quote.js.map +1 -0
  316. package/dist/esm/views/market/snapshot.js +23 -0
  317. package/dist/esm/views/market/snapshot.js.map +1 -0
  318. package/dist/esm/views/market/token.js +23 -0
  319. package/dist/esm/views/market/token.js.map +1 -0
  320. package/dist/esm/views/open-order.js +38 -0
  321. package/dist/esm/views/open-order.js.map +1 -0
  322. package/dist/esm/views/subgraph.js +54 -0
  323. package/dist/esm/views/subgraph.js.map +1 -0
  324. package/dist/esm/views/tick.js +89 -0
  325. package/dist/esm/views/tick.js.map +1 -0
  326. package/dist/esm/views/vault.js +35 -0
  327. package/dist/esm/views/vault.js.map +1 -0
  328. package/dist/tsconfig.build.tsbuildinfo +1 -0
  329. package/dist/types/calls/approval/market.d.ts +43 -0
  330. package/dist/types/calls/approval/market.d.ts.map +1 -0
  331. package/dist/types/calls/approval/open-order.d.ts +33 -0
  332. package/dist/types/calls/approval/open-order.d.ts.map +1 -0
  333. package/dist/types/calls/approval/order.d.ts +39 -0
  334. package/dist/types/calls/approval/order.d.ts.map +1 -0
  335. package/dist/types/calls/approval/token.d.ts +41 -0
  336. package/dist/types/calls/approval/token.d.ts.map +1 -0
  337. package/dist/types/calls/index.d.ts +12 -0
  338. package/dist/types/calls/index.d.ts.map +1 -0
  339. package/dist/types/calls/market/cancel.d.ts +73 -0
  340. package/dist/types/calls/market/cancel.d.ts.map +1 -0
  341. package/dist/types/calls/market/claim.d.ts +73 -0
  342. package/dist/types/calls/market/claim.d.ts.map +1 -0
  343. package/dist/types/calls/market/limit.d.ts +90 -0
  344. package/dist/types/calls/market/limit.d.ts.map +1 -0
  345. package/dist/types/calls/market/make.d.ts +37 -0
  346. package/dist/types/calls/market/make.d.ts.map +1 -0
  347. package/dist/types/calls/market/market.d.ts +69 -0
  348. package/dist/types/calls/market/market.d.ts.map +1 -0
  349. package/dist/types/calls/market/open.d.ts +31 -0
  350. package/dist/types/calls/market/open.d.ts.map +1 -0
  351. package/dist/types/calls/vault/deposit-to-vault.d.ts +29 -0
  352. package/dist/types/calls/vault/deposit-to-vault.d.ts.map +1 -0
  353. package/dist/types/calls/vault/index.d.ts +5 -0
  354. package/dist/types/calls/vault/index.d.ts.map +1 -0
  355. package/dist/types/calls/vault/remove-vault.d.ts +26 -0
  356. package/dist/types/calls/vault/remove-vault.d.ts.map +1 -0
  357. package/dist/types/calls/vault/set-vault.d.ts +29 -0
  358. package/dist/types/calls/vault/set-vault.d.ts.map +1 -0
  359. package/dist/types/calls/vault/withdraw-from-vault.d.ts +29 -0
  360. package/dist/types/calls/vault/withdraw-from-vault.d.ts.map +1 -0
  361. package/dist/types/constants/abis/core/book-manager-abi.d.ts +1633 -0
  362. package/dist/types/constants/abis/core/book-manager-abi.d.ts.map +1 -0
  363. package/dist/types/constants/abis/core/book-viewer-abi.d.ts +243 -0
  364. package/dist/types/constants/abis/core/book-viewer-abi.d.ts.map +1 -0
  365. package/dist/types/constants/abis/core/controller-abi.d.ts +970 -0
  366. package/dist/types/constants/abis/core/controller-abi.d.ts.map +1 -0
  367. package/dist/types/constants/abis/core/params-abi.d.ts +31 -0
  368. package/dist/types/constants/abis/core/params-abi.d.ts.map +1 -0
  369. package/dist/types/constants/chain-configs/addresses.d.ts +9 -0
  370. package/dist/types/constants/chain-configs/addresses.d.ts.map +1 -0
  371. package/dist/types/constants/chain-configs/chain.d.ts +10 -0
  372. package/dist/types/constants/chain-configs/chain.d.ts.map +1 -0
  373. package/dist/types/constants/chain-configs/currency.d.ts +6 -0
  374. package/dist/types/constants/chain-configs/currency.d.ts.map +1 -0
  375. package/dist/types/constants/chain-configs/fee.d.ts +9 -0
  376. package/dist/types/constants/chain-configs/fee.d.ts.map +1 -0
  377. package/dist/types/constants/chain-configs/subgraph.d.ts +8 -0
  378. package/dist/types/constants/chain-configs/subgraph.d.ts.map +1 -0
  379. package/dist/types/constants/permit.d.ts +10 -0
  380. package/dist/types/constants/permit.d.ts.map +1 -0
  381. package/dist/types/constants/price.d.ts +4 -0
  382. package/dist/types/constants/price.d.ts.map +1 -0
  383. package/dist/types/constants/tick.d.ts +3 -0
  384. package/dist/types/constants/tick.d.ts.map +1 -0
  385. package/dist/types/entities/analytics/apis/index.d.ts +12 -0
  386. package/dist/types/entities/analytics/apis/index.d.ts.map +1 -0
  387. package/dist/types/entities/analytics/types.d.ts +57 -0
  388. package/dist/types/entities/analytics/types.d.ts.map +1 -0
  389. package/dist/types/entities/book/apis/index.d.ts +6 -0
  390. package/dist/types/entities/book/apis/index.d.ts.map +1 -0
  391. package/dist/types/entities/book/model.d.ts +50 -0
  392. package/dist/types/entities/book/model.d.ts.map +1 -0
  393. package/dist/types/entities/book/types.d.ts +14 -0
  394. package/dist/types/entities/book/types.d.ts.map +1 -0
  395. package/dist/types/entities/book/utils/book-id.d.ts +3 -0
  396. package/dist/types/entities/book/utils/book-id.d.ts.map +1 -0
  397. package/dist/types/entities/currency/apis/allowance.d.ts +3 -0
  398. package/dist/types/entities/currency/apis/allowance.d.ts.map +1 -0
  399. package/dist/types/entities/currency/apis/approval.d.ts +4 -0
  400. package/dist/types/entities/currency/apis/approval.d.ts.map +1 -0
  401. package/dist/types/entities/currency/apis/index.d.ts +6 -0
  402. package/dist/types/entities/currency/apis/index.d.ts.map +1 -0
  403. package/dist/types/entities/currency/apis/price.d.ts +10 -0
  404. package/dist/types/entities/currency/apis/price.d.ts.map +1 -0
  405. package/dist/types/entities/currency/apis/total-supply.d.ts +6 -0
  406. package/dist/types/entities/currency/apis/total-supply.d.ts.map +1 -0
  407. package/dist/types/entities/currency/types.d.ts +32 -0
  408. package/dist/types/entities/currency/types.d.ts.map +1 -0
  409. package/dist/types/entities/fee-policy/model.d.ts +15 -0
  410. package/dist/types/entities/fee-policy/model.d.ts.map +1 -0
  411. package/dist/types/entities/market/apis/chart-log.d.ts +9 -0
  412. package/dist/types/entities/market/apis/chart-log.d.ts.map +1 -0
  413. package/dist/types/entities/market/apis/index.d.ts +7 -0
  414. package/dist/types/entities/market/apis/index.d.ts.map +1 -0
  415. package/dist/types/entities/market/apis/price.d.ts +32 -0
  416. package/dist/types/entities/market/apis/price.d.ts.map +1 -0
  417. package/dist/types/entities/market/apis/snapshot.d.ts +6 -0
  418. package/dist/types/entities/market/apis/snapshot.d.ts.map +1 -0
  419. package/dist/types/entities/market/model.d.ts +58 -0
  420. package/dist/types/entities/market/model.d.ts.map +1 -0
  421. package/dist/types/entities/market/types.d.ts +38 -0
  422. package/dist/types/entities/market/types.d.ts.map +1 -0
  423. package/dist/types/entities/market/utils/market-id.d.ts +7 -0
  424. package/dist/types/entities/market/utils/market-id.d.ts.map +1 -0
  425. package/dist/types/entities/open-order/apis/index.d.ts +9 -0
  426. package/dist/types/entities/open-order/apis/index.d.ts.map +1 -0
  427. package/dist/types/entities/open-order/apis/operator.d.ts +4 -0
  428. package/dist/types/entities/open-order/apis/operator.d.ts.map +1 -0
  429. package/dist/types/entities/open-order/types.d.ts +22 -0
  430. package/dist/types/entities/open-order/types.d.ts.map +1 -0
  431. package/dist/types/entities/open-order/utils/order-id.d.ts +7 -0
  432. package/dist/types/entities/open-order/utils/order-id.d.ts.map +1 -0
  433. package/dist/types/entities/vault/types.d.ts +4 -0
  434. package/dist/types/entities/vault/types.d.ts.map +1 -0
  435. package/dist/types/index.d.ts +7 -0
  436. package/dist/types/index.d.ts.map +1 -0
  437. package/dist/types/types/default-options.d.ts +10 -0
  438. package/dist/types/types/default-options.d.ts.map +1 -0
  439. package/dist/types/types/index.d.ts +26 -0
  440. package/dist/types/types/index.d.ts.map +1 -0
  441. package/dist/types/types/permit.d.ts +12 -0
  442. package/dist/types/types/permit.d.ts.map +1 -0
  443. package/dist/types/types/transaction.d.ts +10 -0
  444. package/dist/types/types/transaction.d.ts.map +1 -0
  445. package/dist/types/utils/bigint.d.ts +5 -0
  446. package/dist/types/utils/bigint.d.ts.map +1 -0
  447. package/dist/types/utils/build-transaction.d.ts +4 -0
  448. package/dist/types/utils/build-transaction.d.ts.map +1 -0
  449. package/dist/types/utils/conversion.d.ts +3 -0
  450. package/dist/types/utils/conversion.d.ts.map +1 -0
  451. package/dist/types/utils/index.d.ts +5 -0
  452. package/dist/types/utils/index.d.ts.map +1 -0
  453. package/dist/types/utils/math.d.ts +4 -0
  454. package/dist/types/utils/math.d.ts.map +1 -0
  455. package/dist/types/utils/prices.d.ts +14 -0
  456. package/dist/types/utils/prices.d.ts.map +1 -0
  457. package/dist/types/utils/tick.d.ts +5 -0
  458. package/dist/types/utils/tick.d.ts.map +1 -0
  459. package/dist/types/utils/time.d.ts +4 -0
  460. package/dist/types/utils/time.d.ts.map +1 -0
  461. package/dist/types/utils/unit-size.d.ts +4 -0
  462. package/dist/types/utils/unit-size.d.ts.map +1 -0
  463. package/dist/types/views/address.d.ts +21 -0
  464. package/dist/types/views/address.d.ts.map +1 -0
  465. package/dist/types/views/analytics.d.ts +21 -0
  466. package/dist/types/views/analytics.d.ts.map +1 -0
  467. package/dist/types/views/currency.d.ts +20 -0
  468. package/dist/types/views/currency.d.ts.map +1 -0
  469. package/dist/types/views/index.d.ts +9 -0
  470. package/dist/types/views/index.d.ts.map +1 -0
  471. package/dist/types/views/market/chart-log.d.ts +56 -0
  472. package/dist/types/views/market/chart-log.d.ts.map +1 -0
  473. package/dist/types/views/market/index.d.ts +57 -0
  474. package/dist/types/views/market/index.d.ts.map +1 -0
  475. package/dist/types/views/market/parse.d.ts +10 -0
  476. package/dist/types/views/market/parse.d.ts.map +1 -0
  477. package/dist/types/views/market/quote.d.ts +90 -0
  478. package/dist/types/views/market/quote.d.ts.map +1 -0
  479. package/dist/types/views/market/snapshot.d.ts +17 -0
  480. package/dist/types/views/market/snapshot.d.ts.map +1 -0
  481. package/dist/types/views/market/token.d.ts +24 -0
  482. package/dist/types/views/market/token.d.ts.map +1 -0
  483. package/dist/types/views/open-order.d.ts +41 -0
  484. package/dist/types/views/open-order.d.ts.map +1 -0
  485. package/dist/types/views/subgraph.d.ts +52 -0
  486. package/dist/types/views/subgraph.d.ts.map +1 -0
  487. package/dist/types/views/tick.d.ts +77 -0
  488. package/dist/types/views/tick.d.ts.map +1 -0
  489. package/dist/types/views/vault.d.ts +25 -0
  490. package/dist/types/views/vault.d.ts.map +1 -0
  491. package/package.json +52 -0
@@ -0,0 +1,110 @@
1
+ import { MAX_PRICE, MIN_PRICE, PRICE_PRECISION } from '../constants/price';
2
+ import { MAX_TICK, MIN_TICK } from '../constants/tick';
3
+ import { lnWad } from './math';
4
+ const _R0 = 0xfff97272373d413259a46990n;
5
+ const _R1 = 0xfff2e50f5f656932ef12357cn;
6
+ const _R2 = 0xffe5caca7e10e4e61c3624ean;
7
+ const _R3 = 0xffcb9843d60f6159c9db5883n;
8
+ const _R4 = 0xff973b41fa98c081472e6896n;
9
+ const _R5 = 0xff2ea16466c96a3843ec78b3n;
10
+ const _R6 = 0xfe5dee046a99a2a811c461f1n;
11
+ const _R7 = 0xfcbe86c7900a88aedcffc83bn;
12
+ const _R8 = 0xf987a7253ac413176f2b074cn;
13
+ const _R9 = 0xf3392b0822b70005940c7a39n;
14
+ const _R10 = 0xe7159475a2c29b7443b29c7fn;
15
+ const _R11 = 0xd097f3bdfd2022b8845ad8f7n;
16
+ const _R12 = 0xa9f746462d870fdf8a65dc1fn;
17
+ const _R13 = 0x70d869a156d2a1b890bb3df6n;
18
+ const _R14 = 0x31be135f97d08fd981231505n;
19
+ const _R15 = 0x9aa508b5b7a84e1c677de54n;
20
+ const _R16 = 0x5d6af8dedb81196699c329n;
21
+ const _R17 = 0x2216e584f5fa1ea92604n;
22
+ const _R18 = 0x48a170391f7dc42n;
23
+ export const invertTick = (tick) => {
24
+ return -tick;
25
+ };
26
+ export const invertPrice = (price) => {
27
+ return price ? (1n << (PRICE_PRECISION * 2n)) / price : 0n;
28
+ };
29
+ export const fromPrice = (price) => {
30
+ if (price > MAX_PRICE || price < MIN_PRICE) {
31
+ throw new Error('price is out of range');
32
+ }
33
+ const tick = (lnWad(price) * 42951820407860n) / 2n ** 128n;
34
+ if (toPrice(tick) > price) {
35
+ return tick - 1n;
36
+ }
37
+ return tick;
38
+ };
39
+ export const toPrice = (tick) => {
40
+ if (tick > MAX_TICK || tick < MIN_TICK) {
41
+ throw new Error('tick is out of range');
42
+ }
43
+ const absTick = tick < 0n ? -tick : tick;
44
+ let price = 0n;
45
+ if ((absTick & 0x1n) !== 0n) {
46
+ price = _R0;
47
+ }
48
+ else {
49
+ price = 1n << PRICE_PRECISION;
50
+ }
51
+ if ((absTick & 0x2n) != 0n) {
52
+ price = (price * _R1) >> PRICE_PRECISION;
53
+ }
54
+ if ((absTick & 0x4n) != 0n) {
55
+ price = (price * _R2) >> PRICE_PRECISION;
56
+ }
57
+ if ((absTick & 0x8n) != 0n) {
58
+ price = (price * _R3) >> PRICE_PRECISION;
59
+ }
60
+ if ((absTick & 0x10n) != 0n) {
61
+ price = (price * _R4) >> PRICE_PRECISION;
62
+ }
63
+ if ((absTick & 0x20n) != 0n) {
64
+ price = (price * _R5) >> PRICE_PRECISION;
65
+ }
66
+ if ((absTick & 0x40n) != 0n) {
67
+ price = (price * _R6) >> PRICE_PRECISION;
68
+ }
69
+ if ((absTick & 0x80n) != 0n) {
70
+ price = (price * _R7) >> PRICE_PRECISION;
71
+ }
72
+ if ((absTick & 0x100n) != 0n) {
73
+ price = (price * _R8) >> PRICE_PRECISION;
74
+ }
75
+ if ((absTick & 0x200n) != 0n) {
76
+ price = (price * _R9) >> PRICE_PRECISION;
77
+ }
78
+ if ((absTick & 0x400n) != 0n) {
79
+ price = (price * _R10) >> PRICE_PRECISION;
80
+ }
81
+ if ((absTick & 0x800n) != 0n) {
82
+ price = (price * _R11) >> PRICE_PRECISION;
83
+ }
84
+ if ((absTick & 0x1000n) != 0n) {
85
+ price = (price * _R12) >> PRICE_PRECISION;
86
+ }
87
+ if ((absTick & 0x2000n) != 0n) {
88
+ price = (price * _R13) >> PRICE_PRECISION;
89
+ }
90
+ if ((absTick & 0x4000n) != 0n) {
91
+ price = (price * _R14) >> PRICE_PRECISION;
92
+ }
93
+ if ((absTick & 0x8000n) != 0n) {
94
+ price = (price * _R15) >> PRICE_PRECISION;
95
+ }
96
+ if ((absTick & 0x10000n) != 0n) {
97
+ price = (price * _R16) >> PRICE_PRECISION;
98
+ }
99
+ if ((absTick & 0x20000n) != 0n) {
100
+ price = (price * _R17) >> PRICE_PRECISION;
101
+ }
102
+ if ((absTick & 0x40000n) != 0n) {
103
+ price = (price * _R18) >> PRICE_PRECISION;
104
+ }
105
+ if (tick > 0n) {
106
+ price = 0x1000000000000000000000000000000000000000000000000n / price;
107
+ }
108
+ return price;
109
+ };
110
+ //# sourceMappingURL=tick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tick.js","sourceRoot":"","sources":["../../../src/utils/tick.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export const currentTimestampInSeconds = () => Math.floor(new Date().getTime() / 1000);
2
+ export const getDeadlineTimestampInSeconds = () => {
3
+ return BigInt(Math.floor(currentTimestampInSeconds() + 60 * 20));
4
+ };
5
+ export const getDailyStartTimestampInSeconds = (timestampInSeconds) => {
6
+ return Math.floor(timestampInSeconds / 86400) * 86400;
7
+ };
8
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/utils/time.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAW,EAAE,CACpD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAW,EAAE;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,kBAA0B,EAClB,EAAE;IACV,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AACxD,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export const calculateUnitSize = (_chainId, quote) => {
2
+ return 10n ** BigInt(Math.max(quote.decimals - 6, 0));
3
+ };
4
+ //# sourceMappingURL=unit-size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-size.js","sourceRoot":"","sources":["../../../src/utils/unit-size.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAmB,EAAE,KAAe,EAAE,EAAE;IACxE,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { CONTRACT_ADDRESSES } from '../constants/chain-configs/addresses';
2
+ /**
3
+ * Get contract addresses by chain id
4
+ * @param chainId - chain id from {@link CHAIN_IDS}
5
+ * @returns Contract addresses
6
+ *
7
+ * @example
8
+ * import { getContractAddresses } from '@clober/v2-sdk'
9
+ *
10
+ * const addresses = await getContractAddresses({
11
+ * chainId: 421614,
12
+ * })
13
+ */
14
+ export const getContractAddresses = ({ chainId }) => {
15
+ return CONTRACT_ADDRESSES[chainId];
16
+ };
17
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/views/address.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,OAAO,EAA0B,EAAE,EAAE;IAC1E,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { fetchProtocolAnalytics, fetchReferralSummary, fetchTopUsersByNativeVolume, fetchUserNativeVolume, fetchUserVolumeSnapshots, } from '../entities/analytics/apis';
2
+ export const getProtocolAnalytics = async ({ chainId, }) => {
3
+ return fetchProtocolAnalytics(chainId);
4
+ };
5
+ export const getUserDailyVolumes = async ({ chainId, userAddress, }) => {
6
+ return fetchUserVolumeSnapshots(chainId, userAddress);
7
+ };
8
+ export const getTopUsersByNativeVolume = async ({ chainId, }) => {
9
+ return fetchTopUsersByNativeVolume(chainId);
10
+ };
11
+ export const getUserNativeVolume = async ({ chainId, userAddress, }) => {
12
+ return fetchUserNativeVolume(chainId, userAddress);
13
+ };
14
+ export const getReferralSummary = async ({ chainId, userAddress, }) => {
15
+ return fetchReferralSummary(chainId, userAddress);
16
+ };
17
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/views/analytics.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,OAAO,GAGR,EAA6B,EAAE;IAC9B,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,OAAO,EACP,WAAW,GAIZ,EAAiC,EAAE;IAClC,OAAO,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAAE,EAC9C,OAAO,GAGR,EAAsB,EAAE;IACvB,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,OAAO,EACP,WAAW,GAIZ,EAAmB,EAAE;IACpB,OAAO,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,OAAO,EACP,WAAW,GAIZ,EAA4B,EAAE;IAC7B,OAAO,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { STABLE_COINS } from '../constants/chain-configs/currency';
2
+ import { fetchCurrencies, fetchCurrentPriceMap, fetchDailyPriceMapAtTimestamp, } from '../entities/currency/apis/price';
3
+ export const getCurrencies = ({ chainId, }) => {
4
+ return fetchCurrencies(chainId);
5
+ };
6
+ export const getStableCurrencies = ({ chainId, }) => {
7
+ return STABLE_COINS[chainId];
8
+ };
9
+ export const getLatestPriceMap = async ({ chainId, }) => {
10
+ return fetchCurrentPriceMap(chainId);
11
+ };
12
+ export const getDailyClosePriceMap = async ({ chainId, timestampInSeconds, }) => {
13
+ return fetchDailyPriceMapAtTimestamp(chainId, timestampInSeconds);
14
+ };
15
+ //# sourceMappingURL=currency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/views/currency.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,OAAO,GAGR,EAAuB,EAAE;IACxB,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,OAAO,GAGR,EAAc,EAAE;IACf,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,OAAO,GAGR,EAAiD,EAAE;IAClD,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAC1C,OAAO,EACP,kBAAkB,GAInB,EAAiD,EAAE;IAClD,OAAO,6BAA6B,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AACpE,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { getMarket, getPrices, getChartLogs, getLatestChartLog, getExpectedOutput, getExpectedInput, getMarketSnapshots, getMarketSnapshot, getQuoteToken, parseMakeOrderIdsFromReceipt, } from './market';
2
+ export { getPriceNeighborhood } from './tick';
3
+ export { getOpenOrder, getOpenOrders } from './open-order';
4
+ export { getSubgraphEndpoint, getSubgraphBlockNumber, getSubgraphBlock, } from './subgraph';
5
+ export { getContractAddresses } from './address';
6
+ export { getCurrencies, getStableCurrencies, getLatestPriceMap, getDailyClosePriceMap, } from './currency';
7
+ export { getProtocolAnalytics, getUserDailyVolumes, getTopUsersByNativeVolume, getUserNativeVolume, getReferralSummary, } from './analytics';
8
+ export { getVault } from './vault';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,4BAA4B,GAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { fetchChartLogs, fetchLatestChartLog, } from '../../entities/market/apis/chart-log';
2
+ /**
3
+ * Retrieves the latest chart log for a specific market.
4
+ *
5
+ * @param {CHAIN_IDS} params.chainId - The ID of the blockchain.
6
+ * @param {`0x${string}`} params.quote - The address of the quote token.
7
+ * @param {`0x${string}`} params.base - The address of the base token.
8
+ * @returns {Promise<ChartLog>} A promise that resolves with the latest chart log.
9
+ *
10
+ * @example
11
+ * import { getLatestChartLog } from '@clober/v2-sdk'
12
+ *
13
+ * const logs = await getLatestChartLog({
14
+ * chainId: 421614,
15
+ * quote: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
16
+ * base: '0x0000000000000000000000000000000000000000',
17
+ * })
18
+ */
19
+ export const getLatestChartLog = async ({ chainId, quote, base, }) => {
20
+ return fetchLatestChartLog(chainId, `${base}-${quote}`);
21
+ };
22
+ /**
23
+ * Retrieves chart logs for a specific market within a specified time interval.
24
+ *
25
+ * @param {CHAIN_IDS} params.chainId - The ID of the chain.
26
+ * @param {`0x${string}`} params.quote - The address of the quote token.
27
+ * @param {`0x${string}`} params.base - The address of the base token.
28
+ * @param {CHART_LOG_INTERVALS} params.intervalType - The type of time interval for the chart logs.
29
+ * @param {number} params.from - The start of the time interval (Unix timestamp in seconds).
30
+ * @param {number} params.to - The end of the time interval (Unix timestamp in seconds).
31
+ * @returns {Promise<ChartLog[]>} A promise that resolves with an array of chart logs within the specified interval.
32
+ *
33
+ * @example
34
+ * import { getLatestChartLog, CHART_LOG_INTERVALS } from '@clober/v2-sdk'
35
+ *
36
+ * const logs = await getChartLogs({
37
+ * chainId: 421614,
38
+ * quote: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
39
+ * base: '0x0000000000000000000000000000000000000000',
40
+ * intervalType: CHART_LOG_INTERVALS.oneDay,
41
+ * from: 1687305600,
42
+ * to: 1713312000,
43
+ * })
44
+ */
45
+ export const getChartLogs = async ({ chainId, quote, base, intervalType, from, to, }) => {
46
+ return fetchChartLogs(chainId, `${base}-${quote}`, intervalType, from, to);
47
+ };
48
+ //# sourceMappingURL=chart-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-log.js","sourceRoot":"","sources":["../../../../src/views/market/chart-log.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,mBAAmB,GACpB,MAAM,sCAAsC,CAAC;AAE9C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,OAAO,EACP,KAAK,EACL,IAAI,GAKL,EAAqB,EAAE;IACtB,OAAO,mBAAmB,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,OAAO,EACP,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,EAAE,GAQH,EAAuB,EAAE;IACxB,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { createPublicClient, http, isAddressEqual } from 'viem';
2
+ import { CHAIN_MAP } from '../../constants/chain-configs/chain';
3
+ import { fetchMarket, fetchPrices, } from '../../entities/market/apis';
4
+ export { getExpectedOutput, getExpectedInput } from './quote';
5
+ export { getChartLogs, getLatestChartLog } from './chart-log';
6
+ export { getMarketSnapshots, getMarketSnapshot } from './snapshot';
7
+ export { getQuoteToken } from './token';
8
+ export { parseMakeOrderIdsFromReceipt } from './parse';
9
+ /**
10
+ * Get market information by chain id and token addresses
11
+ * @param chainId - chain id from {@link CHAIN_IDS}
12
+ * @param token0 - token0 address
13
+ * @param token1 - token1 address
14
+ * @param options {@link DefaultReadContractOptions} options.
15
+ * @returns A market {@link Market}
16
+ *
17
+ * @example
18
+ * import { getMarket } from '@clober/v2-sdk'
19
+ *
20
+ * const market = await getMarket({
21
+ * chainId: 421614,
22
+ * token0: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
23
+ * token1: '0x0000000000000000000000000000000000000000',
24
+ * })
25
+ */
26
+ export const getMarket = async ({ chainId, token0, token1, options, }) => {
27
+ if (isAddressEqual(token0, token1)) {
28
+ throw new Error('Token0 and token1 must be different');
29
+ }
30
+ const publicClient = createPublicClient({
31
+ chain: CHAIN_MAP[chainId],
32
+ transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
33
+ });
34
+ const market = await fetchMarket(publicClient, chainId, [token0, token1], !!(options && options.useSubgraph));
35
+ return market.toJson();
36
+ };
37
+ /**
38
+ * Get prices for a list of token pairs from bid books
39
+ * @param chainId - chain id from {@link CHAIN_IDS}
40
+ * @param tokenPairs - array of token address pairs
41
+ * @param options {@link DefaultReadContractOptions} options.
42
+ * @returns Array of price results with token pairs and their prices
43
+ *
44
+ * @example
45
+ * import { getPrices } from '@clober/v2-sdk'
46
+ *
47
+ * const prices = await getPrices({
48
+ * chainId: 421614,
49
+ * tokenPairs: [
50
+ * { token0: '0x...', token1: '0x...' },
51
+ * { token0: '0x...', token1: '0x...' }
52
+ * ]
53
+ * })
54
+ */
55
+ export const getPrices = async ({ chainId, tokenPairs, options, }) => {
56
+ const publicClient = createPublicClient({
57
+ chain: CHAIN_MAP[chainId],
58
+ transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
59
+ });
60
+ return fetchPrices(publicClient, chainId, tokenPairs);
61
+ };
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/market/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEhE,OAAO,EAAa,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EACL,WAAW,EACX,WAAW,GAGZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,EAC9B,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,GAQR,EAAmB,EAAE;IACpB,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,YAAY,EACZ,OAAO,EACP,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CACnC,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,EAC9B,OAAO,EACP,UAAU,EACV,OAAO,GAKR,EAA0B,EAAE;IAC3B,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAC;IACH,OAAO,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACxD,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { parseEventLogs } from 'viem';
2
+ import { BOOK_MANAGER_ABI } from '../../constants/abis/core/book-manager-abi';
3
+ import { toOrderId } from '../../entities/open-order/utils/order-id';
4
+ export const parseMakeOrderIdsFromReceipt = ({ market, transactionReceipt, }) => {
5
+ const logs = parseEventLogs({
6
+ abi: BOOK_MANAGER_ABI,
7
+ logs: transactionReceipt.logs,
8
+ }).filter((log) => log.eventName === 'Make');
9
+ return {
10
+ bidOrderIds: logs
11
+ .filter(({ args: { bookId } }) => bookId === BigInt(market.bidBook.id))
12
+ .map(({ args: { orderIndex, bookId, tick } }) => toOrderId(bookId, BigInt(tick), orderIndex).toString(10)),
13
+ askOrderIds: logs
14
+ .filter(({ args: { bookId } }) => bookId === BigInt(market.askBook.id))
15
+ .map(({ args: { orderIndex, bookId, tick } }) => toOrderId(bookId, BigInt(tick), orderIndex).toString(10)),
16
+ };
17
+ };
18
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../src/views/market/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAsB,MAAM,MAAM,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAGrE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,MAAM,EACN,kBAAkB,GAInB,EAAoD,EAAE;IACrD,MAAM,IAAI,GAAG,cAAc,CAAC;QAC1B,GAAG,EAAE,gBAAgB;QACrB,IAAI,EAAE,kBAAkB,CAAC,IAAI;KAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAGzC,CAAC;IACH,OAAO;QACL,WAAW,EAAE,IAAI;aACd,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACtE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAC9C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CACzD;QACH,WAAW,EAAE,IAAI;aACd,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACtE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAC9C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CACzD;KACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,137 @@
1
+ import { createPublicClient, formatUnits, http, isAddressEqual, parseUnits, } from 'viem';
2
+ import { CHAIN_MAP } from '../../constants/chain-configs/chain';
3
+ import { fetchMarket } from '../../entities/market/apis';
4
+ import { formatPrice, invertTick, parsePrice, toPrice } from '../../utils';
5
+ import { MAX_TICK, MIN_TICK } from '../../constants/tick';
6
+ /**
7
+ * Calculates the expected output for a given input amount, based on the provided market data.
8
+ *
9
+ * @param chainId The chain ID of the blockchain.
10
+ * @param inputToken The address of the input token.
11
+ * @param outputToken The address of the output token.
12
+ * @param amountIn The amount of expected input amount. (ex 1.2 ETH -> 1.2)
13
+ * @param options {@link DefaultReadContractOptions} options.
14
+ * @param options.limitPrice The maximum limit price to take.
15
+ * @param options.roundingDownTakenBid Whether to round down the taken bid.
16
+ * @param options.roundingUpTakenAsk Whether to round up the taken ask.
17
+ * @returns A Promise resolving to an object containing the taken amount, spend amount and result of the calculation.
18
+ * @example
19
+ * import { getExpectedOutput } from '@clober/v2-sdk'
20
+ *
21
+ * const { takenAmount, spentAmount } = await getExpectedOutput({
22
+ * chainId: 421614,
23
+ * inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
24
+ * outputToken: '0x0000000000000000000000000000000000000000',
25
+ * amountIn: '1000.123', // spend 1000.123 USDC
26
+ * })
27
+ */
28
+ export const getExpectedOutput = async ({ chainId, inputToken, outputToken, amountIn, options, }) => {
29
+ const [roundingDownTakenBid, roundingUpTakenAsk] = [
30
+ options?.roundingDownTakenBid ? options.roundingDownTakenBid : false,
31
+ options?.roundingUpTakenAsk ? options.roundingUpTakenAsk : false,
32
+ ];
33
+ const publicClient = createPublicClient({
34
+ chain: CHAIN_MAP[chainId],
35
+ transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
36
+ });
37
+ const market = await fetchMarket(publicClient, chainId, [inputToken, outputToken], !!(options && options.useSubgraph));
38
+ const isBid = isAddressEqual(market.quote.address, inputToken);
39
+ const { roundingDownTick, roundingUpTick } = options && options.limitPrice
40
+ ? parsePrice(Number(options.limitPrice), market.quote.decimals, market.base.decimals)
41
+ : isBid
42
+ ? {
43
+ roundingDownTick: MAX_TICK,
44
+ roundingUpTick: MAX_TICK,
45
+ }
46
+ : {
47
+ roundingDownTick: MIN_TICK,
48
+ roundingUpTick: MIN_TICK,
49
+ };
50
+ const inputCurrency = isBid ? market.quote : market.base;
51
+ const isTakingBidSide = !isBid;
52
+ const { takenQuoteAmount, spentBaseAmount, bookId, events } = market.spend({
53
+ spentBase: isTakingBidSide,
54
+ limitTick: isTakingBidSide
55
+ ? roundingDownTakenBid
56
+ ? roundingDownTick
57
+ : roundingUpTick
58
+ : roundingUpTakenAsk
59
+ ? roundingUpTick
60
+ : roundingDownTick,
61
+ amountIn: parseUnits(amountIn, inputCurrency.decimals),
62
+ });
63
+ return {
64
+ takenAmount: formatUnits(takenQuoteAmount, isBid ? market.base.decimals : market.quote.decimals),
65
+ spentAmount: formatUnits(spentBaseAmount, isBid ? market.quote.decimals : market.base.decimals),
66
+ bookId,
67
+ events: events.map(({ tick, takenQuoteAmount, spentBaseAmount }) => ({
68
+ price: formatPrice(toPrice(isBid ? invertTick(BigInt(tick)) : BigInt(tick)), market.quote.decimals, market.base.decimals),
69
+ takenAmount: formatUnits(takenQuoteAmount, isBid ? market.base.decimals : market.quote.decimals),
70
+ spentAmount: formatUnits(spentBaseAmount, isBid ? market.quote.decimals : market.base.decimals),
71
+ })),
72
+ };
73
+ };
74
+ /**
75
+ * Calculates the expected input for a given output amount, based on the provided market data.
76
+ *
77
+ * @param chainId The chain ID of the blockchain.
78
+ * @param inputToken The address of the input token.
79
+ * @param outputToken The address of the output token.
80
+ * @param amountOut The amount of expected output amount. (ex 1.2 ETH -> 1.2)
81
+ * @param options {@link DefaultReadContractOptions} options.
82
+ * @param options.limitPrice The maximum limit price to take.
83
+ * @param options.roundingDownTakenBid Whether to round down the taken bid.
84
+ * @param options.roundingUpTakenAsk Whether to round up the taken ask.
85
+ * @param options.useSubgraph Whether to use the subgraph to fetch the market data.
86
+ * @returns A Promise resolving to an object containing the taken amount, spent amount and result of the calculation.
87
+ * @example
88
+ * import { getExpectedInput } from '@clober/v2-sdk'
89
+ *
90
+ * const { takenAmount, spentAmount } = await getExpectedInput({
91
+ * chainId: 421614,
92
+ * inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
93
+ * outputToken: '0x0000000000000000000000000000000000000000',
94
+ * amountOut: '0.1', // take 0.1 ETH
95
+ * })
96
+ */
97
+ export const getExpectedInput = async ({ chainId, inputToken, outputToken, amountOut, options, }) => {
98
+ const [roundingDownTakenBid, roundingUpTakenAsk] = [
99
+ options?.roundingDownTakenBid ? options.roundingDownTakenBid : false,
100
+ options?.roundingUpTakenAsk ? options.roundingUpTakenAsk : false,
101
+ ];
102
+ const publicClient = createPublicClient({
103
+ chain: CHAIN_MAP[chainId],
104
+ transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
105
+ });
106
+ const market = await fetchMarket(publicClient, chainId, [inputToken, outputToken], !!(options && options.useSubgraph));
107
+ const isBid = isAddressEqual(market.quote.address, inputToken);
108
+ const { roundingDownTick, roundingUpTick } = options && options.limitPrice
109
+ ? parsePrice(Number(options.limitPrice), market.quote.decimals, market.base.decimals)
110
+ : isBid
111
+ ? { roundingDownTick: MAX_TICK, roundingUpTick: MAX_TICK }
112
+ : { roundingDownTick: MIN_TICK, roundingUpTick: MIN_TICK };
113
+ const outputCurrency = isBid ? market.base : market.quote;
114
+ const isTakingBidSide = !isBid;
115
+ const { takenQuoteAmount, spentBaseAmount, bookId, events } = market.take({
116
+ takeQuote: isTakingBidSide,
117
+ limitTick: isTakingBidSide
118
+ ? roundingDownTakenBid
119
+ ? roundingDownTick
120
+ : roundingUpTick
121
+ : roundingUpTakenAsk
122
+ ? roundingUpTick
123
+ : roundingDownTick,
124
+ amountOut: parseUnits(amountOut, outputCurrency.decimals),
125
+ });
126
+ return {
127
+ takenAmount: formatUnits(takenQuoteAmount, isBid ? market.base.decimals : market.quote.decimals),
128
+ spentAmount: formatUnits(spentBaseAmount, isBid ? market.quote.decimals : market.base.decimals),
129
+ bookId,
130
+ events: events.map(({ tick, takenQuoteAmount, spentBaseAmount }) => ({
131
+ price: formatPrice(toPrice(isBid ? invertTick(BigInt(tick)) : BigInt(tick)), market.quote.decimals, market.base.decimals),
132
+ takenAmount: formatUnits(takenQuoteAmount, isBid ? market.base.decimals : market.quote.decimals),
133
+ spentAmount: formatUnits(spentBaseAmount, isBid ? market.quote.decimals : market.base.decimals),
134
+ })),
135
+ };
136
+ };
137
+ //# sourceMappingURL=quote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quote.js","sourceRoot":"","sources":["../../../../src/views/market/quote.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { createPublicClient, http } from 'viem';
2
+ import { CHAIN_MAP } from '../../constants/chain-configs/chain';
3
+ import { fetchMarketSnapshot, fetchMarketSnapshots, } from '../../entities/market/apis/snapshot';
4
+ import { currentTimestampInSeconds } from '../../utils/time';
5
+ export const getMarketSnapshot = async ({ chainId, token0, token1, options, }) => {
6
+ const publicClient = createPublicClient({
7
+ chain: CHAIN_MAP[chainId],
8
+ transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
9
+ });
10
+ return fetchMarketSnapshot(publicClient, chainId, token0, token1, options && options.timestampInSeconds
11
+ ? options.timestampInSeconds
12
+ : currentTimestampInSeconds());
13
+ };
14
+ export const getMarketSnapshots = async ({ chainId, options, }) => {
15
+ const publicClient = createPublicClient({
16
+ chain: CHAIN_MAP[chainId],
17
+ transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
18
+ });
19
+ return fetchMarketSnapshots(publicClient, chainId, options && options.timestampInSeconds
20
+ ? options.timestampInSeconds
21
+ : currentTimestampInSeconds());
22
+ };
23
+ //# sourceMappingURL=snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../src/views/market/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAa,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,GAMR,EAAkC,EAAE;IACnC,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAC;IACH,OAAO,mBAAmB,CACxB,YAAY,EACZ,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,IAAI,OAAO,CAAC,kBAAkB;QACnC,CAAC,CAAC,OAAO,CAAC,kBAAkB;QAC5B,CAAC,CAAC,yBAAyB,EAAE,CAChC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,OAAO,EACP,OAAO,GAIR,EAA6B,EAAE;IAC9B,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAC;IACH,OAAO,oBAAoB,CACzB,YAAY,EACZ,OAAO,EACP,OAAO,IAAI,OAAO,CAAC,kBAAkB;QACnC,CAAC,CAAC,OAAO,CAAC,kBAAkB;QAC5B,CAAC,CAAC,yBAAyB,EAAE,CAChC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { getAddress } from 'viem';
2
+ import { getMarketId } from '../../entities/market/utils/market-id';
3
+ /**
4
+ * Retrieves the quote token address for a given chain and a pair of tokens.
5
+ *
6
+ * @param chainId - chain id from {@link CHAIN_IDS}
7
+ * @param token0 - token0 address
8
+ * @param token1 - token1 address
9
+ * @returns {string} The address of the quote token.
10
+ *
11
+ * @example
12
+ * import { getQuoteToken } from '@clober/v2-sdk'
13
+ *
14
+ * const quote = await getQuoteToken({
15
+ * chainId: 421614,
16
+ * token0: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
17
+ * token1: '0x0000000000000000000000000000000000000000',
18
+ * })
19
+ */
20
+ export const getQuoteToken = ({ chainId, token0, token1, }) => {
21
+ return getAddress(getMarketId(chainId, [token0, token1]).quoteTokenAddress);
22
+ };
23
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/views/market/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,MAAM,GAKP,EAAiB,EAAE;IAClB,OAAO,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAC9E,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { fetchOpenOrderByOrderIdFromSubgraph, fetchOpenOrdersByUserAddressFromSubgraph, } from '../entities/open-order/apis';
2
+ /**
3
+ * Retrieves the open order with the specified ID on the given chain.
4
+ *
5
+ * @param {CHAIN_IDS} chainId The chain ID.
6
+ * @param {string} id The ID of the open order.
7
+ * @param options {@link DefaultReadContractOptions} options.
8
+ * @returns {Promise<OpenOrder>} Promise resolving to the open order object, or undefined if not found.
9
+ * @example
10
+ * import { getOpenOrder } from '@clober/v2-sdk'
11
+ *
12
+ * const openOrder = await getOpenOrder({
13
+ * chainId: 421614,
14
+ * id: '46223845323662364279893361453861711542636620039907198451770258805035840307200'
15
+ * })
16
+ */
17
+ export const getOpenOrder = async ({ chainId, id, }) => {
18
+ return fetchOpenOrderByOrderIdFromSubgraph(chainId, id);
19
+ };
20
+ /**
21
+ * Retrieves open orders for the specified user on the given chain.
22
+ *
23
+ * @param {CHAIN_IDS} chainId The chain ID.
24
+ * @param {`0x${string}`} userAddress The Ethereum address of the user.
25
+ * @param options {@link DefaultReadContractOptions} options.
26
+ * @returns {Promise<OpenOrder[]>} Promise resolving to an array of open orders.
27
+ * @example
28
+ * import { getOpenOrders } from '@clober/v2-sdk'
29
+ *
30
+ * const openOrders = await getOpenOrders({
31
+ * chainId: 421614,
32
+ * userAddress: '0x5F79EE8f8fA862E98201120d83c4eC39D9468D49'
33
+ * })
34
+ */
35
+ export const getOpenOrders = async ({ chainId, userAddress, }) => {
36
+ return fetchOpenOrdersByUserAddressFromSubgraph(chainId, userAddress);
37
+ };
38
+ //# sourceMappingURL=open-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-order.js","sourceRoot":"","sources":["../../../src/views/open-order.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mCAAmC,EACnC,wCAAwC,GACzC,MAAM,6BAA6B,CAAC;AAErC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,OAAO,EACP,EAAE,GAIH,EAAsB,EAAE;IACvB,OAAO,mCAAmC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC;AACF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,OAAO,EACP,WAAW,GAIZ,EAAwB,EAAE;IACzB,OAAO,wCAAwC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACxE,CAAC,CAAC"}