@clober/v2-sdk 0.0.6 → 0.0.7-5.dev

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 (343) hide show
  1. package/README.md +12 -4
  2. package/dist/cjs/abis/core/book-manager-abi.js +112 -0
  3. package/dist/cjs/abis/core/book-manager-abi.js.map +1 -0
  4. package/dist/cjs/abis/core/book-viewer-abi.js +137 -5
  5. package/dist/cjs/abis/core/book-viewer-abi.js.map +1 -1
  6. package/dist/cjs/abis/core/controller-abi.js +29 -24
  7. package/dist/cjs/abis/core/controller-abi.js.map +1 -1
  8. package/dist/cjs/abis/rebalancer/minter-abi.js +230 -0
  9. package/dist/cjs/abis/rebalancer/minter-abi.js.map +1 -0
  10. package/dist/cjs/abis/rebalancer/mock-swap-abi.js +95 -0
  11. package/dist/cjs/abis/rebalancer/mock-swap-abi.js.map +1 -0
  12. package/dist/cjs/abis/rebalancer/operator-abi.js +375 -0
  13. package/dist/cjs/abis/rebalancer/operator-abi.js.map +1 -0
  14. package/dist/cjs/abis/rebalancer/rebalancer-abi.js +1367 -0
  15. package/dist/cjs/abis/rebalancer/rebalancer-abi.js.map +1 -0
  16. package/dist/cjs/abis/rebalancer/strategy-abi.js +780 -0
  17. package/dist/cjs/abis/rebalancer/strategy-abi.js.map +1 -0
  18. package/dist/cjs/apis/chart-logs.js +163 -0
  19. package/dist/cjs/apis/chart-logs.js.map +1 -0
  20. package/dist/cjs/apis/market.js +40 -21
  21. package/dist/cjs/apis/market.js.map +1 -1
  22. package/dist/cjs/apis/odos.js +100 -0
  23. package/dist/cjs/apis/odos.js.map +1 -0
  24. package/dist/cjs/apis/open-order.js +60 -28
  25. package/dist/cjs/apis/open-order.js.map +1 -1
  26. package/dist/cjs/apis/pool.js +79 -0
  27. package/dist/cjs/apis/pool.js.map +1 -0
  28. package/dist/cjs/apis/strategy.js +30 -0
  29. package/dist/cjs/apis/strategy.js.map +1 -0
  30. package/dist/cjs/approval.js +85 -31
  31. package/dist/cjs/approval.js.map +1 -1
  32. package/dist/cjs/call.js +837 -155
  33. package/dist/cjs/call.js.map +1 -1
  34. package/dist/cjs/constants/addresses.js +50 -1
  35. package/dist/cjs/constants/addresses.js.map +1 -1
  36. package/dist/cjs/constants/bera-bartio-chain.js +30 -0
  37. package/dist/cjs/constants/bera-bartio-chain.js.map +1 -0
  38. package/dist/cjs/constants/chain.js +18 -2
  39. package/dist/cjs/constants/chain.js.map +1 -1
  40. package/dist/cjs/constants/currency.js +56 -3
  41. package/dist/cjs/constants/currency.js.map +1 -1
  42. package/dist/cjs/constants/fee.js +17 -2
  43. package/dist/cjs/constants/fee.js.map +1 -1
  44. package/dist/cjs/constants/permit.js +14 -0
  45. package/dist/cjs/constants/permit.js.map +1 -0
  46. package/dist/cjs/constants/price.js +2 -1
  47. package/dist/cjs/constants/price.js.map +1 -1
  48. package/dist/cjs/constants/subgraph.js +35 -0
  49. package/dist/cjs/constants/subgraph.js.map +1 -0
  50. package/dist/cjs/constants/test-chain.js +50 -0
  51. package/dist/cjs/constants/test-chain.js.map +1 -0
  52. package/dist/cjs/constants/tick.js +6 -0
  53. package/dist/cjs/constants/tick.js.map +1 -0
  54. package/dist/cjs/index.js +1 -1
  55. package/dist/cjs/index.js.map +1 -1
  56. package/dist/cjs/model/book.js +62 -35
  57. package/dist/cjs/model/book.js.map +1 -1
  58. package/dist/cjs/model/chart-log.js +3 -0
  59. package/dist/cjs/model/chart-log.js.map +1 -0
  60. package/dist/cjs/model/market.js +61 -26
  61. package/dist/cjs/model/market.js.map +1 -1
  62. package/dist/cjs/model/pool.js +240 -0
  63. package/dist/cjs/model/pool.js.map +1 -0
  64. package/dist/cjs/type.js +16 -1
  65. package/dist/cjs/type.js.map +1 -1
  66. package/dist/cjs/utils/allowance.js +39 -0
  67. package/dist/cjs/utils/allowance.js.map +1 -0
  68. package/dist/cjs/utils/approval.js +2 -3
  69. package/dist/cjs/utils/approval.js.map +1 -1
  70. package/dist/cjs/utils/bigint.js +13 -0
  71. package/dist/cjs/utils/bigint.js.map +1 -0
  72. package/dist/cjs/utils/book-id.js +7 -7
  73. package/dist/cjs/utils/book-id.js.map +1 -1
  74. package/dist/cjs/utils/build-transaction.js +9 -9
  75. package/dist/cjs/utils/build-transaction.js.map +1 -1
  76. package/dist/cjs/utils/currency.js +95 -11
  77. package/dist/cjs/utils/currency.js.map +1 -1
  78. package/dist/cjs/utils/market.js +1 -1
  79. package/dist/cjs/utils/market.js.map +1 -1
  80. package/dist/cjs/utils/math.js +3 -1
  81. package/dist/cjs/utils/math.js.map +1 -1
  82. package/dist/cjs/utils/open.js +35 -25
  83. package/dist/cjs/utils/open.js.map +1 -1
  84. package/dist/cjs/utils/order.js +115 -0
  85. package/dist/cjs/utils/order.js.map +1 -0
  86. package/dist/cjs/utils/pool-key.js +17 -0
  87. package/dist/cjs/utils/pool-key.js.map +1 -0
  88. package/dist/cjs/utils/pool.js +88 -0
  89. package/dist/cjs/utils/pool.js.map +1 -0
  90. package/dist/cjs/utils/prices.js +40 -5
  91. package/dist/cjs/utils/prices.js.map +1 -1
  92. package/dist/cjs/utils/tick.js +12 -1
  93. package/dist/cjs/utils/tick.js.map +1 -1
  94. package/dist/cjs/utils/unit-size.js +48 -0
  95. package/dist/cjs/utils/unit-size.js.map +1 -0
  96. package/dist/cjs/utils.js +16 -0
  97. package/dist/cjs/utils.js.map +1 -0
  98. package/dist/cjs/view.js +271 -40
  99. package/dist/cjs/view.js.map +1 -1
  100. package/dist/esm/abis/core/book-manager-abi.js +109 -0
  101. package/dist/esm/abis/core/book-manager-abi.js.map +1 -0
  102. package/dist/esm/abis/core/book-viewer-abi.js +137 -5
  103. package/dist/esm/abis/core/book-viewer-abi.js.map +1 -1
  104. package/dist/esm/abis/core/controller-abi.js +29 -24
  105. package/dist/esm/abis/core/controller-abi.js.map +1 -1
  106. package/dist/esm/abis/rebalancer/minter-abi.js +227 -0
  107. package/dist/esm/abis/rebalancer/minter-abi.js.map +1 -0
  108. package/dist/esm/abis/rebalancer/mock-swap-abi.js +92 -0
  109. package/dist/esm/abis/rebalancer/mock-swap-abi.js.map +1 -0
  110. package/dist/esm/abis/rebalancer/operator-abi.js +372 -0
  111. package/dist/esm/abis/rebalancer/operator-abi.js.map +1 -0
  112. package/dist/esm/abis/rebalancer/rebalancer-abi.js +1364 -0
  113. package/dist/esm/abis/rebalancer/rebalancer-abi.js.map +1 -0
  114. package/dist/esm/abis/rebalancer/strategy-abi.js +777 -0
  115. package/dist/esm/abis/rebalancer/strategy-abi.js.map +1 -0
  116. package/dist/esm/apis/chart-logs.js +159 -0
  117. package/dist/esm/apis/chart-logs.js.map +1 -0
  118. package/dist/esm/apis/market.js +41 -22
  119. package/dist/esm/apis/market.js.map +1 -1
  120. package/dist/esm/apis/odos.js +94 -0
  121. package/dist/esm/apis/odos.js.map +1 -0
  122. package/dist/esm/apis/open-order.js +61 -28
  123. package/dist/esm/apis/open-order.js.map +1 -1
  124. package/dist/esm/apis/pool.js +74 -0
  125. package/dist/esm/apis/pool.js.map +1 -0
  126. package/dist/esm/apis/strategy.js +26 -0
  127. package/dist/esm/apis/strategy.js.map +1 -0
  128. package/dist/esm/approval.js +122 -45
  129. package/dist/esm/approval.js.map +1 -1
  130. package/dist/esm/call.js +942 -270
  131. package/dist/esm/call.js.map +1 -1
  132. package/dist/esm/constants/addresses.js +51 -2
  133. package/dist/esm/constants/addresses.js.map +1 -1
  134. package/dist/esm/constants/bera-bartio-chain.js +27 -0
  135. package/dist/esm/constants/bera-bartio-chain.js.map +1 -0
  136. package/dist/esm/constants/chain.js +17 -2
  137. package/dist/esm/constants/chain.js.map +1 -1
  138. package/dist/esm/constants/currency.js +57 -2
  139. package/dist/esm/constants/currency.js.map +1 -1
  140. package/dist/esm/constants/fee.js +17 -2
  141. package/dist/esm/constants/fee.js.map +1 -1
  142. package/dist/esm/constants/permit.js +11 -0
  143. package/dist/esm/constants/permit.js.map +1 -0
  144. package/dist/esm/constants/price.js +1 -0
  145. package/dist/esm/constants/price.js.map +1 -1
  146. package/dist/esm/constants/subgraph.js +31 -0
  147. package/dist/esm/constants/subgraph.js.map +1 -0
  148. package/dist/esm/constants/test-chain.js +47 -0
  149. package/dist/esm/constants/test-chain.js.map +1 -0
  150. package/dist/esm/constants/tick.js +3 -0
  151. package/dist/esm/constants/tick.js.map +1 -0
  152. package/dist/esm/index.js +1 -1
  153. package/dist/esm/index.js.map +1 -1
  154. package/dist/esm/model/book.js +62 -35
  155. package/dist/esm/model/book.js.map +1 -1
  156. package/dist/esm/model/chart-log.js +2 -0
  157. package/dist/esm/model/chart-log.js.map +1 -0
  158. package/dist/esm/model/market.js +63 -28
  159. package/dist/esm/model/market.js.map +1 -1
  160. package/dist/esm/model/pool.js +237 -0
  161. package/dist/esm/model/pool.js.map +1 -0
  162. package/dist/esm/type.js +15 -0
  163. package/dist/esm/type.js.map +1 -1
  164. package/dist/esm/utils/allowance.js +35 -0
  165. package/dist/esm/utils/allowance.js.map +1 -0
  166. package/dist/esm/utils/approval.js +2 -3
  167. package/dist/esm/utils/approval.js.map +1 -1
  168. package/dist/esm/utils/bigint.js +7 -0
  169. package/dist/esm/utils/bigint.js.map +1 -0
  170. package/dist/esm/utils/book-id.js +7 -7
  171. package/dist/esm/utils/book-id.js.map +1 -1
  172. package/dist/esm/utils/build-transaction.js +9 -9
  173. package/dist/esm/utils/build-transaction.js.map +1 -1
  174. package/dist/esm/utils/currency.js +93 -10
  175. package/dist/esm/utils/currency.js.map +1 -1
  176. package/dist/esm/utils/market.js +1 -1
  177. package/dist/esm/utils/market.js.map +1 -1
  178. package/dist/esm/utils/math.js +1 -0
  179. package/dist/esm/utils/math.js.map +1 -1
  180. package/dist/esm/utils/open.js +33 -23
  181. package/dist/esm/utils/open.js.map +1 -1
  182. package/dist/esm/utils/order.js +110 -0
  183. package/dist/esm/utils/order.js.map +1 -0
  184. package/dist/esm/utils/pool-key.js +12 -0
  185. package/dist/esm/utils/pool-key.js.map +1 -0
  186. package/dist/esm/utils/pool.js +84 -0
  187. package/dist/esm/utils/pool.js.map +1 -0
  188. package/dist/esm/utils/prices.js +39 -5
  189. package/dist/esm/utils/prices.js.map +1 -1
  190. package/dist/esm/utils/tick.js +11 -1
  191. package/dist/esm/utils/tick.js.map +1 -1
  192. package/dist/esm/utils/unit-size.js +44 -0
  193. package/dist/esm/utils/unit-size.js.map +1 -0
  194. package/dist/esm/utils.js +4 -0
  195. package/dist/esm/utils.js.map +1 -0
  196. package/dist/esm/view.js +410 -79
  197. package/dist/esm/view.js.map +1 -1
  198. package/dist/tsconfig.build.tsbuildinfo +1 -1
  199. package/dist/types/abis/core/book-manager-abi.d.ts +82 -0
  200. package/dist/types/abis/core/book-manager-abi.d.ts.map +1 -0
  201. package/dist/types/abis/core/book-viewer-abi.d.ts +107 -5
  202. package/dist/types/abis/core/book-viewer-abi.d.ts.map +1 -1
  203. package/dist/types/abis/core/controller-abi.d.ts +23 -19
  204. package/dist/types/abis/core/controller-abi.d.ts.map +1 -1
  205. package/dist/types/abis/rebalancer/minter-abi.d.ts +174 -0
  206. package/dist/types/abis/rebalancer/minter-abi.d.ts.map +1 -0
  207. package/dist/types/abis/rebalancer/mock-swap-abi.d.ts +70 -0
  208. package/dist/types/abis/rebalancer/mock-swap-abi.d.ts.map +1 -0
  209. package/dist/types/abis/rebalancer/operator-abi.d.ts +287 -0
  210. package/dist/types/abis/rebalancer/operator-abi.d.ts.map +1 -0
  211. package/dist/types/abis/rebalancer/rebalancer-abi.d.ts +1056 -0
  212. package/dist/types/abis/rebalancer/rebalancer-abi.d.ts.map +1 -0
  213. package/dist/types/abis/rebalancer/strategy-abi.d.ts +602 -0
  214. package/dist/types/abis/rebalancer/strategy-abi.d.ts.map +1 -0
  215. package/dist/types/apis/chart-logs.d.ts +5 -0
  216. package/dist/types/apis/chart-logs.d.ts.map +1 -0
  217. package/dist/types/apis/market.d.ts +2 -1
  218. package/dist/types/apis/market.d.ts.map +1 -1
  219. package/dist/types/apis/odos.d.ts +28 -0
  220. package/dist/types/apis/odos.d.ts.map +1 -0
  221. package/dist/types/apis/open-order.d.ts +4 -2
  222. package/dist/types/apis/open-order.d.ts.map +1 -1
  223. package/dist/types/apis/pool.d.ts +12 -0
  224. package/dist/types/apis/pool.d.ts.map +1 -0
  225. package/dist/types/apis/strategy.d.ts +5 -0
  226. package/dist/types/apis/strategy.d.ts.map +1 -0
  227. package/dist/types/approval.d.ts +49 -17
  228. package/dist/types/approval.d.ts.map +1 -1
  229. package/dist/types/call.d.ts +311 -133
  230. package/dist/types/call.d.ts.map +1 -1
  231. package/dist/types/constants/addresses.d.ts +4 -0
  232. package/dist/types/constants/addresses.d.ts.map +1 -1
  233. package/dist/types/constants/bera-bartio-chain.d.ts +33 -0
  234. package/dist/types/constants/bera-bartio-chain.d.ts.map +1 -0
  235. package/dist/types/constants/chain.d.ts +7 -2
  236. package/dist/types/constants/chain.d.ts.map +1 -1
  237. package/dist/types/constants/currency.d.ts +6 -0
  238. package/dist/types/constants/currency.d.ts.map +1 -1
  239. package/dist/types/constants/fee.d.ts +7 -2
  240. package/dist/types/constants/fee.d.ts.map +1 -1
  241. package/dist/types/constants/permit.d.ts +10 -0
  242. package/dist/types/constants/permit.d.ts.map +1 -0
  243. package/dist/types/constants/price.d.ts +1 -0
  244. package/dist/types/constants/price.d.ts.map +1 -1
  245. package/dist/types/constants/subgraph.d.ts +5 -0
  246. package/dist/types/constants/subgraph.d.ts.map +1 -0
  247. package/dist/types/constants/test-chain.d.ts +4 -0
  248. package/dist/types/constants/test-chain.d.ts.map +1 -0
  249. package/dist/types/constants/tick.d.ts +3 -0
  250. package/dist/types/constants/tick.d.ts.map +1 -0
  251. package/dist/types/index.d.ts +1 -1
  252. package/dist/types/index.d.ts.map +1 -1
  253. package/dist/types/model/book.d.ts +25 -33
  254. package/dist/types/model/book.d.ts.map +1 -1
  255. package/dist/types/model/chart-log.d.ts +9 -0
  256. package/dist/types/model/chart-log.d.ts.map +1 -0
  257. package/dist/types/model/currency.d.ts +7 -0
  258. package/dist/types/model/currency.d.ts.map +1 -1
  259. package/dist/types/model/depth.d.ts +4 -3
  260. package/dist/types/model/depth.d.ts.map +1 -1
  261. package/dist/types/model/market.d.ts +24 -13
  262. package/dist/types/model/market.d.ts.map +1 -1
  263. package/dist/types/model/open-order.d.ts +20 -27
  264. package/dist/types/model/open-order.d.ts.map +1 -1
  265. package/dist/types/model/pool.d.ts +71 -0
  266. package/dist/types/model/pool.d.ts.map +1 -0
  267. package/dist/types/type.d.ts +112 -6
  268. package/dist/types/type.d.ts.map +1 -1
  269. package/dist/types/utils/allowance.d.ts +3 -0
  270. package/dist/types/utils/allowance.d.ts.map +1 -0
  271. package/dist/types/utils/approval.d.ts +2 -1
  272. package/dist/types/utils/approval.d.ts.map +1 -1
  273. package/dist/types/utils/bigint.d.ts +4 -0
  274. package/dist/types/utils/bigint.d.ts.map +1 -0
  275. package/dist/types/utils/book-id.d.ts +2 -1
  276. package/dist/types/utils/book-id.d.ts.map +1 -1
  277. package/dist/types/utils/build-transaction.d.ts +3 -3
  278. package/dist/types/utils/build-transaction.d.ts.map +1 -1
  279. package/dist/types/utils/currency.d.ts +5 -1
  280. package/dist/types/utils/currency.d.ts.map +1 -1
  281. package/dist/types/utils/math.d.ts +1 -0
  282. package/dist/types/utils/math.d.ts.map +1 -1
  283. package/dist/types/utils/open.d.ts +2 -1
  284. package/dist/types/utils/open.d.ts.map +1 -1
  285. package/dist/types/utils/order.d.ts +10 -0
  286. package/dist/types/utils/order.d.ts.map +1 -0
  287. package/dist/types/utils/pool-key.d.ts +3 -0
  288. package/dist/types/utils/pool-key.d.ts.map +1 -0
  289. package/dist/types/utils/pool.d.ts +11 -0
  290. package/dist/types/utils/pool.d.ts.map +1 -0
  291. package/dist/types/utils/prices.d.ts +13 -2
  292. package/dist/types/utils/prices.d.ts.map +1 -1
  293. package/dist/types/utils/tick.d.ts +1 -0
  294. package/dist/types/utils/tick.d.ts.map +1 -1
  295. package/dist/types/utils/unit-size.d.ts +5 -0
  296. package/dist/types/utils/unit-size.d.ts.map +1 -0
  297. package/dist/types/utils.d.ts +4 -0
  298. package/dist/types/utils.d.ts.map +1 -0
  299. package/dist/types/view.d.ts +309 -51
  300. package/dist/types/view.d.ts.map +1 -1
  301. package/package.json +3 -2
  302. package/dist/cjs/abis/core/params-abi.js +0 -62
  303. package/dist/cjs/abis/core/params-abi.js.map +0 -1
  304. package/dist/cjs/apis/subgraph.js +0 -26
  305. package/dist/cjs/apis/subgraph.js.map +0 -1
  306. package/dist/cjs/constants/client.js +0 -14
  307. package/dist/cjs/constants/client.js.map +0 -1
  308. package/dist/cjs/constants/subgraph-url.js +0 -8
  309. package/dist/cjs/constants/subgraph-url.js.map +0 -1
  310. package/dist/cjs/signature.js +0 -141
  311. package/dist/cjs/signature.js.map +0 -1
  312. package/dist/cjs/utils/decorator.js +0 -13
  313. package/dist/cjs/utils/decorator.js.map +0 -1
  314. package/dist/cjs/utils/unit.js +0 -34
  315. package/dist/cjs/utils/unit.js.map +0 -1
  316. package/dist/esm/abis/core/params-abi.js +0 -59
  317. package/dist/esm/abis/core/params-abi.js.map +0 -1
  318. package/dist/esm/apis/subgraph.js +0 -22
  319. package/dist/esm/apis/subgraph.js.map +0 -1
  320. package/dist/esm/constants/client.js +0 -10
  321. package/dist/esm/constants/client.js.map +0 -1
  322. package/dist/esm/constants/subgraph-url.js +0 -5
  323. package/dist/esm/constants/subgraph-url.js.map +0 -1
  324. package/dist/esm/signature.js +0 -171
  325. package/dist/esm/signature.js.map +0 -1
  326. package/dist/esm/utils/decorator.js +0 -9
  327. package/dist/esm/utils/decorator.js.map +0 -1
  328. package/dist/esm/utils/unit.js +0 -30
  329. package/dist/esm/utils/unit.js.map +0 -1
  330. package/dist/types/abis/core/params-abi.d.ts +0 -21
  331. package/dist/types/abis/core/params-abi.d.ts.map +0 -1
  332. package/dist/types/apis/subgraph.d.ts +0 -3
  333. package/dist/types/apis/subgraph.d.ts.map +0 -1
  334. package/dist/types/constants/client.d.ts +0 -5
  335. package/dist/types/constants/client.d.ts.map +0 -1
  336. package/dist/types/constants/subgraph-url.d.ts +0 -5
  337. package/dist/types/constants/subgraph-url.d.ts.map +0 -1
  338. package/dist/types/signature.d.ts +0 -44
  339. package/dist/types/signature.d.ts.map +0 -1
  340. package/dist/types/utils/decorator.d.ts +0 -6
  341. package/dist/types/utils/decorator.d.ts.map +0 -1
  342. package/dist/types/utils/unit.d.ts +0 -4
  343. package/dist/types/utils/unit.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/model/pool.ts"],"names":[],"mappings":"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"}
package/dist/esm/type.js CHANGED
@@ -1,2 +1,17 @@
1
1
  export { CHAIN_IDS } from './constants/chain';
2
+ export var CHART_LOG_INTERVALS;
3
+ (function (CHART_LOG_INTERVALS) {
4
+ CHART_LOG_INTERVALS["oneMinute"] = "1m";
5
+ CHART_LOG_INTERVALS["threeMinutes"] = "3m";
6
+ CHART_LOG_INTERVALS["fiveMinutes"] = "5m";
7
+ CHART_LOG_INTERVALS["tenMinutes"] = "10m";
8
+ CHART_LOG_INTERVALS["fifteenMinutes"] = "15m";
9
+ CHART_LOG_INTERVALS["thirtyMinutes"] = "30m";
10
+ CHART_LOG_INTERVALS["oneHour"] = "1h";
11
+ CHART_LOG_INTERVALS["twoHours"] = "2h";
12
+ CHART_LOG_INTERVALS["fourHours"] = "4h";
13
+ CHART_LOG_INTERVALS["sixHours"] = "6h";
14
+ CHART_LOG_INTERVALS["oneDay"] = "1d";
15
+ CHART_LOG_INTERVALS["oneWeek"] = "1w";
16
+ })(CHART_LOG_INTERVALS || (CHART_LOG_INTERVALS = {}));
2
17
  //# sourceMappingURL=type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAqH7C,MAAM,CAAN,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC7B,uCAAgB,CAAA;IAChB,0CAAmB,CAAA;IACnB,yCAAkB,CAAA;IAClB,yCAAkB,CAAA;IAClB,6CAAsB,CAAA;IACtB,4CAAqB,CAAA;IACrB,qCAAc,CAAA;IACd,sCAAe,CAAA;IACf,uCAAgB,CAAA;IAChB,sCAAe,CAAA;IACf,oCAAa,CAAA;IACb,qCAAc,CAAA;AAChB,CAAC,EAbW,mBAAmB,KAAnB,mBAAmB,QAa9B"}
@@ -0,0 +1,35 @@
1
+ const _abi = [
2
+ {
3
+ inputs: [
4
+ {
5
+ internalType: 'address',
6
+ name: 'owner',
7
+ type: 'address',
8
+ },
9
+ {
10
+ internalType: 'address',
11
+ name: 'spender',
12
+ type: 'address',
13
+ },
14
+ ],
15
+ name: 'allowance',
16
+ outputs: [
17
+ {
18
+ internalType: 'uint256',
19
+ name: '',
20
+ type: 'uint256',
21
+ },
22
+ ],
23
+ stateMutability: 'view',
24
+ type: 'function',
25
+ },
26
+ ];
27
+ export async function fetchAllowance(publicClient, token, userAddress, spenderAddress) {
28
+ return publicClient.readContract({
29
+ address: token,
30
+ abi: _abi,
31
+ functionName: 'allowance',
32
+ args: [userAddress, spenderAddress],
33
+ });
34
+ }
35
+ //# sourceMappingURL=allowance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance.js","sourceRoot":"","sources":["../../../src/utils/allowance.ts"],"names":[],"mappings":"AAEA,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,YAA0B,EAC1B,KAAoB,EACpB,WAA0B,EAC1B,cAA6B;IAE7B,OAAO,YAAY,CAAC,YAAY,CAAC;QAC/B,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,IAAI;QACT,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC;KACpC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { CONTRACT_ADDRESSES } from '../constants/addresses';
2
- import { cachedPublicClients } from '../constants/client';
3
2
  const _abi = [
4
3
  {
5
4
  inputs: [
@@ -26,8 +25,8 @@ const _abi = [
26
25
  type: 'function',
27
26
  },
28
27
  ];
29
- export async function fetchIsApprovedForAll(chainId, owner) {
30
- return cachedPublicClients[chainId].readContract({
28
+ export async function fetchIsApprovedForAll(publicClient, chainId, owner) {
29
+ return publicClient.readContract({
31
30
  address: CONTRACT_ADDRESSES[chainId].BookManager,
32
31
  abi: _abi,
33
32
  functionName: 'isApprovedForAll',
@@ -1 +1 @@
1
- {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../src/utils/approval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAkB,EAClB,KAAoB;IAEpB,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;QAC/C,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,WAAW;QACjD,GAAG,EAAE,IAAI;QACT,YAAY,EAAE,kBAAkB;QAChC,IAAI,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU,CAAC;KACvD,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../src/utils/approval.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,YAA0B,EAC1B,OAAkB,EAClB,KAAoB;IAEpB,OAAO,YAAY,CAAC,YAAY,CAAC;QAC/B,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,WAAW;QACjD,GAAG,EAAE,IAAI;QACT,YAAY,EAAE,kBAAkB;QAChC,IAAI,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,UAAU,CAAC;KACvD,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export const max = (...args) => args.reduce((m, e) => (e > m ? e : m), 0n);
2
+ export const min = (...args) => args.reduce((m, e) => (e < m ? e : m), 2n ** 256n - 1n);
3
+ export const applyPercent = (amount, percent, decimal = 6) => {
4
+ return ((amount * BigInt(Math.floor(percent * 10 ** decimal))) /
5
+ BigInt(100 * 10 ** decimal));
6
+ };
7
+ //# sourceMappingURL=bigint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bigint.js","sourceRoot":"","sources":["../../../src/utils/bigint.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAc,EAAE,EAAE,CACvC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC5C,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAc,EAAE,EAAE,CACvC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAc,EACd,OAAe,EACf,UAAkB,CAAC,EACX,EAAE;IACV,OAAO,CACL,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,OAAO,CAAC,CAC5B,CAAA;AACH,CAAC,CAAA"}
@@ -1,20 +1,20 @@
1
1
  import { encodeAbiParameters, keccak256, zeroAddress } from 'viem';
2
2
  import { MAKER_DEFAULT_POLICY, TAKER_DEFAULT_POLICY } from '../constants/fee';
3
- export const toBookId = (inputToken, outputToken, unit) => {
3
+ export const toBookId = (chainId, quote, base, unitSize) => {
4
4
  const value = keccak256(encodeAbiParameters([
5
5
  { name: 'base', type: 'address' },
6
- { name: 'unit', type: 'uint64' },
6
+ { name: 'unitSize', type: 'uint64' },
7
7
  { name: 'quote', type: 'address' },
8
8
  { name: 'makerPolicy', type: 'uint24' },
9
9
  { name: 'hooks', type: 'address' },
10
10
  { name: 'takerPolicy', type: 'uint24' },
11
11
  ], [
12
- outputToken,
13
- unit,
14
- inputToken,
15
- Number(MAKER_DEFAULT_POLICY.value),
12
+ base,
13
+ unitSize,
14
+ quote,
15
+ Number(MAKER_DEFAULT_POLICY[chainId].value),
16
16
  zeroAddress,
17
- Number(TAKER_DEFAULT_POLICY.value),
17
+ Number(TAKER_DEFAULT_POLICY[chainId].value),
18
18
  ]));
19
19
  return BigInt(value) & (2n ** 192n - 1n);
20
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"book-id.js","sourceRoot":"","sources":["../../../src/utils/book-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAElE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAE7E,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,UAAyB,EACzB,WAA0B,EAC1B,IAAY,EACZ,EAAE;IACF,MAAM,KAAK,GAAG,SAAS,CACrB,mBAAmB,CACjB;QACE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;KACxC,EACD;QACE,WAAW;QACX,IAAI;QACJ,UAAU;QACV,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAClC,WAAW;QACX,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC;KACnC,CACF,CACF,CAAA;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC,CAAA;AAC1C,CAAC,CAAA"}
1
+ {"version":3,"file":"book-id.js","sourceRoot":"","sources":["../../../src/utils/book-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAElE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAG7E,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,OAAkB,EAClB,KAAoB,EACpB,IAAmB,EACnB,QAAgB,EAChB,EAAE;IACF,MAAM,KAAK,GAAG,SAAS,CACrB,mBAAmB,CACjB;QACE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;KACxC,EACD;QACE,IAAI;QACJ,QAAQ;QACR,KAAK;QACL,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;QAC3C,WAAW;QACX,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;KAC5C,CACF,CACF,CAAA;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC,CAAA;AAC1C,CAAC,CAAA"}
@@ -1,15 +1,15 @@
1
1
  import { encodeFunctionData, } from 'viem';
2
- import { cachedPublicClients } from '../constants/client';
3
- export const buildTransaction = async (chainId, args) => {
2
+ export const buildTransaction = async (publicClient, args, gasLimit, gasPriceLimit) => {
4
3
  const data = encodeFunctionData(args);
5
4
  const [gas, gasPrice] = await Promise.all([
6
- cachedPublicClients[chainId].estimateGas({
7
- account: args.account,
8
- data,
9
- to: args.address,
10
- value: args.value || 0n,
11
- }),
12
- cachedPublicClients[chainId].getGasPrice(),
5
+ gasLimit ??
6
+ publicClient.estimateGas({
7
+ account: args.account,
8
+ data,
9
+ to: args.address,
10
+ value: args.value || 0n,
11
+ }),
12
+ gasPriceLimit ?? publicClient.getGasPrice(),
13
13
  ]);
14
14
  return {
15
15
  gas,
@@ -1 +1 @@
1
- {"version":3,"file":"build-transaction.js","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAGnB,MAAM,MAAM,CAAA;AAGb,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,OAAkB,EAClB,IAA0D,EACpC,EAAE;IACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,mBAAmB,CAAC,OAAO,CAAE,CAAC,WAAW,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI;YACJ,EAAE,EAAE,IAAI,CAAC,OAAO;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;SACxB,CAAC;QACF,mBAAmB,CAAC,OAAO,CAAE,CAAC,WAAW,EAAE;KAC5C,CAAC,CAAA;IACF,OAAO;QACL,GAAG;QACH,QAAQ;QACR,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,OAAO;KACnB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"build-transaction.js","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAInB,MAAM,MAAM,CAAA;AAIb,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,YAA0B,EAC1B,IAA0D,EAC1D,QAAiB,EACjB,aAAsB,EACA,EAAE;IACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,QAAQ;YACN,YAAY,CAAC,WAAW,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI;gBACJ,EAAE,EAAE,IAAI,CAAC,OAAO;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;aACxB,CAAC;QACJ,aAAa,IAAI,YAAY,CAAC,WAAW,EAAE;KAC5C,CAAC,CAAA;IACF,OAAO;QACL,GAAG;QACH,QAAQ;QACR,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,OAAO;KACnB,CAAA;AACH,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
- import { isAddressEqual, zeroAddress } from 'viem';
2
- import { cachedPublicClients } from '../constants/client';
1
+ import { getAddress, isAddressEqual, zeroAddress } from 'viem';
2
+ import { ETH, NATIVE_CURRENCY } from '../constants/currency';
3
3
  const _abi = [
4
4
  {
5
5
  inputs: [],
@@ -41,16 +41,53 @@ const _abi = [
41
41
  type: 'function',
42
42
  },
43
43
  ];
44
- export const fetchCurrency = async (chainId, address) => {
45
- if (isAddressEqual(address, zeroAddress)) {
46
- return {
44
+ const buildCurrencyCacheKey = (chainId, address) => `${chainId}:${address}`;
45
+ const currencyCache = new Map();
46
+ const getCurrencyFromCache = (chainId, address) => currencyCache.get(buildCurrencyCacheKey(chainId, address));
47
+ const setCurrencyToCache = (chainId, address, currency) => currencyCache.set(buildCurrencyCacheKey(chainId, address), currency);
48
+ export const fetchCurrency = async (publicClient, chainId, address) => {
49
+ const cachedCurrency = getCurrencyFromCache(chainId, address);
50
+ if (cachedCurrency) {
51
+ return cachedCurrency;
52
+ }
53
+ const currency = await fetchCurrencyInner(publicClient, address);
54
+ setCurrencyToCache(chainId, address, currency);
55
+ return currency;
56
+ };
57
+ export const fetchCurrencyMap = async (publicClient, chainId, addresses) => {
58
+ addresses = addresses
59
+ .filter((address) => !isAddressEqual(address, zeroAddress))
60
+ .filter((address, index, self) => self.indexOf(address) === index);
61
+ const cachedCurrencies = addresses
62
+ .map((address) => getCurrencyFromCache(chainId, address))
63
+ .filter((currency) => currency !== undefined);
64
+ const uncachedAddresses = addresses.filter((address) => !cachedCurrencies.some((currency) => currency.address === address));
65
+ const uncachedCurrencies = await fetchCurrencyMapInner(publicClient, uncachedAddresses);
66
+ for (const currency of Object.values(uncachedCurrencies)) {
67
+ setCurrencyToCache(chainId, currency.address, currency);
68
+ }
69
+ return {
70
+ ...cachedCurrencies.reduce((acc, currency) => {
71
+ acc[getAddress(currency.address)] = currency;
72
+ return acc;
73
+ }, {}),
74
+ ...uncachedCurrencies,
75
+ [zeroAddress]: {
47
76
  address: zeroAddress,
48
77
  name: 'Ethereum',
49
78
  symbol: 'ETH',
50
79
  decimals: 18,
51
- };
80
+ },
81
+ };
82
+ };
83
+ const fetchCurrencyInner = async (publicClient, address) => {
84
+ if (isAddressEqual(address, zeroAddress)) {
85
+ if (!publicClient.chain) {
86
+ return ETH;
87
+ }
88
+ return NATIVE_CURRENCY[publicClient.chain.id];
52
89
  }
53
- const [{ result: name }, { result: symbol }, { result: decimals }] = await cachedPublicClients[chainId].multicall({
90
+ const [{ result: name }, { result: symbol }, { result: decimals }] = await publicClient.multicall({
54
91
  contracts: [
55
92
  {
56
93
  address,
@@ -69,11 +106,57 @@ export const fetchCurrency = async (chainId, address) => {
69
106
  },
70
107
  ],
71
108
  });
109
+ if (!name || !symbol || !decimals) {
110
+ throw new Error(`Failed to fetch currency: ${address}`);
111
+ }
72
112
  return {
73
113
  address,
74
- name: name ?? 'Unknown',
75
- symbol: symbol ?? 'Unknown',
76
- decimals: decimals ?? 18,
114
+ name,
115
+ symbol,
116
+ decimals,
77
117
  };
78
118
  };
119
+ const fetchCurrencyMapInner = async (publicClient, addresses) => {
120
+ addresses = addresses
121
+ .filter((address) => !isAddressEqual(address, zeroAddress))
122
+ .filter((address, index, self) => self.indexOf(address) === index);
123
+ if (addresses.length === 0) {
124
+ return {};
125
+ }
126
+ const result = await publicClient.multicall({
127
+ contracts: [
128
+ ...addresses.map((address) => ({
129
+ address,
130
+ abi: _abi,
131
+ functionName: 'name',
132
+ })),
133
+ ...addresses.map((address) => ({
134
+ address,
135
+ abi: _abi,
136
+ functionName: 'symbol',
137
+ })),
138
+ ...addresses.map((address) => ({
139
+ address,
140
+ abi: _abi,
141
+ functionName: 'decimals',
142
+ })),
143
+ ],
144
+ });
145
+ return addresses
146
+ .map((address, index) => {
147
+ const name = result[index].result;
148
+ const symbol = result[index + addresses.length].result;
149
+ const decimals = result[index + addresses.length * 2].result;
150
+ return {
151
+ address,
152
+ name: name ?? 'Unknown',
153
+ symbol: symbol ?? 'Unknown',
154
+ decimals: decimals ?? 18,
155
+ };
156
+ })
157
+ .reduce((acc, currency) => {
158
+ acc[getAddress(currency.address)] = currency;
159
+ return acc;
160
+ }, {});
161
+ };
79
162
  //# sourceMappingURL=currency.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/utils/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAIlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,OAAkB,EAClB,OAAsB,EACH,EAAE;IACrB,IAAI,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACb,CAAA;IACH,CAAC;IAED,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAChE,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;QAC3C,SAAS,EAAE;YACT;gBACE,OAAO;gBACP,GAAG,EAAE,IAAI;gBACT,YAAY,EAAE,MAAM;aACrB;YACD;gBACE,OAAO;gBACP,GAAG,EAAE,IAAI;gBACT,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,OAAO;gBACP,GAAG,EAAE,IAAI;gBACT,YAAY,EAAE,UAAU;aACzB;SACF;KACF,CAAC,CAAA;IACJ,OAAO;QACL,OAAO;QACP,IAAI,EAAE,IAAI,IAAI,SAAS;QACvB,MAAM,EAAE,MAAM,IAAI,SAAS;QAC3B,QAAQ,EAAE,QAAQ,IAAI,EAAE;KACzB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/utils/currency.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export const getMarketId = (chainId, tokenAddresses) => {
4
4
  if (tokenAddresses.length !== 2) {
5
5
  throw new Error('Invalid token pair');
6
6
  }
7
- tokenAddresses = tokenAddresses.map((address) => getAddress(address));
7
+ tokenAddresses = tokenAddresses.map((address) => getAddress(address)).sort();
8
8
  // include stable coin
9
9
  const stable = tokenAddresses.find((address) => {
10
10
  return STABLE_COIN_ADDRESSES[chainId].map((addresses) => getAddress(addresses)).some((addresses) => addresses.includes(address));
@@ -1 +1 @@
1
- {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/utils/market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/utils/market.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export const abs = (x) => (x < 0n ? -x : x);
1
2
  export const divide = (x, y, roundUp) => {
2
3
  if (roundUp) {
3
4
  if (x === 0n) {
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../../src/utils/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../../src/utils/math.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,42 @@
1
- import { cachedPublicClients } from '../constants/client';
2
1
  import { CONTRACT_ADDRESSES } from '../constants/addresses';
3
- const _abi = [
4
- {
5
- inputs: [
6
- {
7
- internalType: 'BookId',
8
- name: 'id',
9
- type: 'uint192',
10
- },
11
- ],
12
- name: 'isOpened',
13
- outputs: [
2
+ const buildBookCacheKey = (chainId, bookId) => `${chainId}:${bookId}`;
3
+ const isMarketOpenedCache = new Map();
4
+ const getIsMarketOpenedFromCache = (chainId, bookId) => isMarketOpenedCache.get(buildBookCacheKey(chainId, bookId));
5
+ const setIsMarketOpenedToCache = (chainId, bookId, isOpened) => isMarketOpenedCache.set(buildBookCacheKey(chainId, bookId), isOpened);
6
+ export async function fetchIsMarketOpened(publicClient, chainId, bookId) {
7
+ const cachedIsMarketOpened = getIsMarketOpenedFromCache(chainId, bookId);
8
+ if (cachedIsMarketOpened !== undefined) {
9
+ return cachedIsMarketOpened;
10
+ }
11
+ const isMarketOpened = await publicClient.readContract({
12
+ address: CONTRACT_ADDRESSES[chainId].BookManager,
13
+ abi: [
14
14
  {
15
- internalType: 'bool',
16
- name: '',
17
- type: 'bool',
15
+ inputs: [
16
+ {
17
+ internalType: 'BookId',
18
+ name: 'id',
19
+ type: 'uint192',
20
+ },
21
+ ],
22
+ name: 'isOpened',
23
+ outputs: [
24
+ {
25
+ internalType: 'bool',
26
+ name: '',
27
+ type: 'bool',
28
+ },
29
+ ],
30
+ stateMutability: 'view',
31
+ type: 'function',
18
32
  },
19
33
  ],
20
- stateMutability: 'view',
21
- type: 'function',
22
- },
23
- ];
24
- export async function fetchIsOpened(chainId, bookId) {
25
- return cachedPublicClients[chainId].readContract({
26
- address: CONTRACT_ADDRESSES[chainId].BookManager,
27
- abi: _abi,
28
34
  functionName: 'isOpened',
29
35
  args: [bookId],
30
36
  });
37
+ if (isMarketOpened) {
38
+ setIsMarketOpenedToCache(chainId, bookId, isMarketOpened);
39
+ }
40
+ return isMarketOpened;
31
41
  }
32
42
  //# sourceMappingURL=open.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/utils/open.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAkB,EAAE,MAAc;IACpE,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;QAC/C,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,WAAW;QACjD,GAAG,EAAE,IAAI;QACT,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/utils/open.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,MAAM,iBAAiB,GAAG,CAAC,OAAkB,EAAE,MAAc,EAAE,EAAE,CAC/D,GAAG,OAAO,IAAI,MAAM,EAAE,CAAA;AACxB,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAA;AACtD,MAAM,0BAA0B,GAAG,CAAC,OAAkB,EAAE,MAAc,EAAE,EAAE,CACxE,mBAAmB,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;AAC7D,MAAM,wBAAwB,GAAG,CAC/B,OAAkB,EAClB,MAAc,EACd,QAAiB,EACjB,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;AAE1E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,YAA0B,EAC1B,OAAkB,EAClB,MAAc;IAEd,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACxE,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;QACrD,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,WAAW;QACjD,GAAG,EAAE;YACH;gBACE,MAAM,EAAE;oBACN;wBACE,YAAY,EAAE,QAAQ;wBACtB,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE;oBACP;wBACE,YAAY,EAAE,MAAM;wBACpB,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,MAAM;qBACb;iBACF;gBACD,eAAe,EAAE,MAAM;gBACvB,IAAI,EAAE,UAAU;aACjB;SACO;QACV,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC,CAAA;IACF,IAAI,cAAc,EAAE,CAAC;QACnB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { formatUnits, getAddress, isAddressEqual } from 'viem';
2
+ import { getMarketPrice } from '../index';
3
+ import { CONTRACT_ADDRESSES } from '../constants/addresses';
4
+ import { fetchOpenOrders } from '../apis/open-order';
5
+ import { MAKER_DEFAULT_POLICY } from '../constants/fee';
6
+ import { BOOK_MANAGER_ABI } from '../abis/core/book-manager-abi';
7
+ import { fetchCurrencyMap } from './currency';
8
+ import { quoteToBase } from './decimals';
9
+ import { getMarketId } from './market';
10
+ import { applyPercent } from './bigint';
11
+ export const fetchOnChainOrders = async (publicClient, chainId, orderIds, useSubgraph) => {
12
+ if (useSubgraph) {
13
+ const openOrders = await fetchOpenOrders(publicClient, chainId, orderIds.map((orderId) => orderId.toString()));
14
+ return openOrders.map(({ id, user, isBid, price, tick, orderIndex, inputCurrency, outputCurrency, cancelable, claimable, }) => {
15
+ return {
16
+ id,
17
+ user,
18
+ isBid,
19
+ price,
20
+ tick,
21
+ orderIndex,
22
+ inputCurrency,
23
+ outputCurrency,
24
+ cancelable,
25
+ claimable,
26
+ };
27
+ });
28
+ }
29
+ const result = await publicClient.multicall({
30
+ contracts: [
31
+ ...orderIds.map((orderId) => ({
32
+ address: CONTRACT_ADDRESSES[chainId].BookManager,
33
+ abi: BOOK_MANAGER_ABI,
34
+ functionName: 'getOrder',
35
+ args: [orderId],
36
+ })),
37
+ ...orderIds.map((orderId) => ({
38
+ address: CONTRACT_ADDRESSES[chainId].BookManager,
39
+ abi: BOOK_MANAGER_ABI,
40
+ functionName: 'ownerOf',
41
+ args: [orderId],
42
+ })),
43
+ ...orderIds.map((orderId) => ({
44
+ address: CONTRACT_ADDRESSES[chainId].BookManager,
45
+ abi: BOOK_MANAGER_ABI,
46
+ functionName: 'getBookKey',
47
+ args: [fromOrderId(orderId).bookId],
48
+ })),
49
+ ],
50
+ });
51
+ const addresses = orderIds
52
+ .map((_, index) => {
53
+ const { base, quote } = result[index + orderIds.length * 2].result;
54
+ return [base, quote];
55
+ })
56
+ .flat();
57
+ const currencyMap = await fetchCurrencyMap(publicClient, chainId, addresses);
58
+ return orderIds.map((orderId, index) => {
59
+ const order = result[index].result;
60
+ const owner = result[index + orderIds.length].result;
61
+ const { base, quote, unitSize } = result[index + orderIds.length * 2]
62
+ .result;
63
+ const cancelable = applyPercent(unitSize * order.open, 100 +
64
+ (Number(MAKER_DEFAULT_POLICY[chainId].rate) * 100) /
65
+ Number(MAKER_DEFAULT_POLICY[chainId].RATE_PRECISION), 6);
66
+ const claimable = quoteToBase(fromOrderId(orderId).tick, unitSize * order.claimable, false);
67
+ const isBid = isAddressEqual(quote, getMarketId(chainId, [base, quote]).quoteTokenAddress);
68
+ const { tick, index: orderIndex } = fromOrderId(orderId);
69
+ const [quoteCurrency, baseCurrency] = isBid
70
+ ? [currencyMap[quote], currencyMap[base]]
71
+ : [currencyMap[base], currencyMap[quote]];
72
+ return {
73
+ id: orderId.toString(),
74
+ user: owner,
75
+ isBid,
76
+ price: isBid
77
+ ? getMarketPrice({
78
+ marketQuoteCurrency: quoteCurrency,
79
+ marketBaseCurrency: baseCurrency,
80
+ bidTick: tick,
81
+ })
82
+ : getMarketPrice({
83
+ marketQuoteCurrency: quoteCurrency,
84
+ marketBaseCurrency: baseCurrency,
85
+ askTick: tick,
86
+ }),
87
+ tick: Number(tick),
88
+ orderIndex: orderIndex.toString(),
89
+ inputCurrency: currencyMap[getAddress(quote)],
90
+ outputCurrency: currencyMap[getAddress(base)],
91
+ cancelable: {
92
+ currency: currencyMap[getAddress(quote)],
93
+ value: formatUnits(cancelable, currencyMap[getAddress(quote)].decimals),
94
+ },
95
+ claimable: {
96
+ currency: currencyMap[getAddress(base)],
97
+ value: formatUnits(claimable, currencyMap[getAddress(base)].decimals),
98
+ },
99
+ };
100
+ });
101
+ };
102
+ export const fromOrderId = (orderId) => {
103
+ const tick = (orderId >> 40n) & (2n ** 24n - 1n);
104
+ return {
105
+ bookId: orderId >> 64n,
106
+ tick: tick & (2n ** 23n) ? -(2n ** 24n - tick) : tick,
107
+ index: orderId & (2n ** 40n - 1n),
108
+ };
109
+ };
110
+ //# sourceMappingURL=order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/utils/order.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { encodePacked, keccak256 } from 'viem';
2
+ export const toPoolKey = (bookIdA, bookIdB, salt) => {
3
+ if (bookIdA > bookIdB) {
4
+ ;
5
+ [bookIdA, bookIdB] = [bookIdB, bookIdA];
6
+ }
7
+ return keccak256(encodePacked(['uint192', 'uint192', 'bytes32'], [bookIdA, bookIdB, toBytes32(salt)]));
8
+ };
9
+ export const toBytes32 = (value) => {
10
+ return `0x${value.slice(2, 66).padStart(64, '0')}`;
11
+ };
12
+ //# sourceMappingURL=pool-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-key.js","sourceRoot":"","sources":["../../../src/utils/pool-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAE9C,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,OAAe,EACf,OAAe,EACf,IAAmB,EACnB,EAAE;IACF,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;QACtB,CAAC;QAAA,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,SAAS,CACd,YAAY,CACV,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjC,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CACpC,CACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAiB,EAAE;IAC/D,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAA;AACpD,CAAC,CAAA"}