@clober/v2-sdk 0.0.5 → 0.0.6-0.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 (342) 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 +262 -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 +370 -0
  13. package/dist/cjs/abis/rebalancer/operator-abi.js.map +1 -0
  14. package/dist/cjs/abis/rebalancer/rebalancer-abi.js +1235 -0
  15. package/dist/cjs/abis/rebalancer/rebalancer-abi.js.map +1 -0
  16. package/dist/cjs/abis/rebalancer/strategy-abi.js +633 -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 +61 -0
  27. package/dist/cjs/apis/pool.js.map +1 -0
  28. package/dist/cjs/apis/strategy.js +23 -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 +672 -155
  33. package/dist/cjs/call.js.map +1 -1
  34. package/dist/cjs/constants/addresses.js +41 -1
  35. package/dist/cjs/constants/addresses.js.map +1 -1
  36. package/dist/cjs/constants/chain.js +22 -2
  37. package/dist/cjs/constants/chain.js.map +1 -1
  38. package/dist/cjs/constants/currency.js +27 -2
  39. package/dist/cjs/constants/currency.js.map +1 -1
  40. package/dist/cjs/constants/fee.js +15 -2
  41. package/dist/cjs/constants/fee.js.map +1 -1
  42. package/dist/cjs/constants/permit.js +13 -0
  43. package/dist/cjs/constants/permit.js.map +1 -0
  44. package/dist/cjs/constants/price.js +2 -1
  45. package/dist/cjs/constants/price.js.map +1 -1
  46. package/dist/cjs/constants/subgraph.js +38 -0
  47. package/dist/cjs/constants/subgraph.js.map +1 -0
  48. package/dist/cjs/constants/test-chain.js +27 -0
  49. package/dist/cjs/constants/test-chain.js.map +1 -0
  50. package/dist/cjs/constants/tick.js +6 -0
  51. package/dist/cjs/constants/tick.js.map +1 -0
  52. package/dist/cjs/index.js +20 -6
  53. package/dist/cjs/index.js.map +1 -1
  54. package/dist/cjs/model/book.js +62 -35
  55. package/dist/cjs/model/book.js.map +1 -1
  56. package/dist/cjs/model/chart-log.js +3 -0
  57. package/dist/cjs/model/chart-log.js.map +1 -0
  58. package/dist/cjs/model/market.js +61 -26
  59. package/dist/cjs/model/market.js.map +1 -1
  60. package/dist/cjs/model/pool.js +136 -0
  61. package/dist/cjs/model/pool.js.map +1 -0
  62. package/dist/cjs/model/strategy.js +3 -0
  63. package/dist/cjs/model/strategy.js.map +1 -0
  64. package/dist/cjs/signature.js +28 -20
  65. package/dist/cjs/signature.js.map +1 -1
  66. package/dist/cjs/type.js +16 -1
  67. package/dist/cjs/type.js.map +1 -1
  68. package/dist/cjs/utils/allowance.js +39 -0
  69. package/dist/cjs/utils/allowance.js.map +1 -0
  70. package/dist/cjs/utils/approval.js +2 -3
  71. package/dist/cjs/utils/approval.js.map +1 -1
  72. package/dist/cjs/utils/bigint.js +13 -0
  73. package/dist/cjs/utils/bigint.js.map +1 -0
  74. package/dist/cjs/utils/book-id.js +7 -7
  75. package/dist/cjs/utils/book-id.js.map +1 -1
  76. package/dist/cjs/utils/build-transaction.js +9 -9
  77. package/dist/cjs/utils/build-transaction.js.map +1 -1
  78. package/dist/cjs/utils/currency.js +87 -5
  79. package/dist/cjs/utils/currency.js.map +1 -1
  80. package/dist/cjs/utils/market.js +1 -1
  81. package/dist/cjs/utils/market.js.map +1 -1
  82. package/dist/cjs/utils/math.js +3 -1
  83. package/dist/cjs/utils/math.js.map +1 -1
  84. package/dist/cjs/utils/open.js +35 -25
  85. package/dist/cjs/utils/open.js.map +1 -1
  86. package/dist/cjs/utils/order.js +100 -0
  87. package/dist/cjs/utils/order.js.map +1 -0
  88. package/dist/cjs/utils/pool-key.js +17 -0
  89. package/dist/cjs/utils/pool-key.js.map +1 -0
  90. package/dist/cjs/utils/pool.js +88 -0
  91. package/dist/cjs/utils/pool.js.map +1 -0
  92. package/dist/cjs/utils/prices.js +40 -5
  93. package/dist/cjs/utils/prices.js.map +1 -1
  94. package/dist/cjs/utils/tick.js +12 -1
  95. package/dist/cjs/utils/tick.js.map +1 -1
  96. package/dist/cjs/utils/unit-size.js +48 -0
  97. package/dist/cjs/utils/unit-size.js.map +1 -0
  98. package/dist/cjs/utils.js +16 -0
  99. package/dist/cjs/utils.js.map +1 -0
  100. package/dist/cjs/view.js +229 -40
  101. package/dist/cjs/view.js.map +1 -1
  102. package/dist/esm/abis/core/book-manager-abi.js +109 -0
  103. package/dist/esm/abis/core/book-manager-abi.js.map +1 -0
  104. package/dist/esm/abis/core/book-viewer-abi.js +137 -5
  105. package/dist/esm/abis/core/book-viewer-abi.js.map +1 -1
  106. package/dist/esm/abis/core/controller-abi.js +29 -24
  107. package/dist/esm/abis/core/controller-abi.js.map +1 -1
  108. package/dist/esm/abis/rebalancer/minter-abi.js +259 -0
  109. package/dist/esm/abis/rebalancer/minter-abi.js.map +1 -0
  110. package/dist/esm/abis/rebalancer/mock-swap-abi.js +92 -0
  111. package/dist/esm/abis/rebalancer/mock-swap-abi.js.map +1 -0
  112. package/dist/esm/abis/rebalancer/operator-abi.js +367 -0
  113. package/dist/esm/abis/rebalancer/operator-abi.js.map +1 -0
  114. package/dist/esm/abis/rebalancer/rebalancer-abi.js +1232 -0
  115. package/dist/esm/abis/rebalancer/rebalancer-abi.js.map +1 -0
  116. package/dist/esm/abis/rebalancer/strategy-abi.js +630 -0
  117. package/dist/esm/abis/rebalancer/strategy-abi.js.map +1 -0
  118. package/dist/esm/apis/chart-logs.js +159 -0
  119. package/dist/esm/apis/chart-logs.js.map +1 -0
  120. package/dist/esm/apis/market.js +41 -22
  121. package/dist/esm/apis/market.js.map +1 -1
  122. package/dist/esm/apis/odos.js +94 -0
  123. package/dist/esm/apis/odos.js.map +1 -0
  124. package/dist/esm/apis/open-order.js +61 -28
  125. package/dist/esm/apis/open-order.js.map +1 -1
  126. package/dist/esm/apis/pool.js +57 -0
  127. package/dist/esm/apis/pool.js.map +1 -0
  128. package/dist/esm/apis/strategy.js +19 -0
  129. package/dist/esm/apis/strategy.js.map +1 -0
  130. package/dist/esm/approval.js +122 -45
  131. package/dist/esm/approval.js.map +1 -1
  132. package/dist/esm/call.js +789 -265
  133. package/dist/esm/call.js.map +1 -1
  134. package/dist/esm/constants/addresses.js +42 -2
  135. package/dist/esm/constants/addresses.js.map +1 -1
  136. package/dist/esm/constants/chain.js +21 -2
  137. package/dist/esm/constants/chain.js.map +1 -1
  138. package/dist/esm/constants/currency.js +29 -2
  139. package/dist/esm/constants/currency.js.map +1 -1
  140. package/dist/esm/constants/fee.js +15 -2
  141. package/dist/esm/constants/fee.js.map +1 -1
  142. package/dist/esm/constants/permit.js +10 -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 +34 -0
  147. package/dist/esm/constants/subgraph.js.map +1 -0
  148. package/dist/esm/constants/test-chain.js +24 -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 -0
  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 +133 -0
  161. package/dist/esm/model/pool.js.map +1 -0
  162. package/dist/esm/model/strategy.js +2 -0
  163. package/dist/esm/model/strategy.js.map +1 -0
  164. package/dist/esm/signature.js +42 -41
  165. package/dist/esm/signature.js.map +1 -1
  166. package/dist/esm/type.js +15 -0
  167. package/dist/esm/type.js.map +1 -1
  168. package/dist/esm/utils/allowance.js +35 -0
  169. package/dist/esm/utils/allowance.js.map +1 -0
  170. package/dist/esm/utils/approval.js +2 -3
  171. package/dist/esm/utils/approval.js.map +1 -1
  172. package/dist/esm/utils/bigint.js +7 -0
  173. package/dist/esm/utils/bigint.js.map +1 -0
  174. package/dist/esm/utils/book-id.js +7 -7
  175. package/dist/esm/utils/book-id.js.map +1 -1
  176. package/dist/esm/utils/build-transaction.js +9 -9
  177. package/dist/esm/utils/build-transaction.js.map +1 -1
  178. package/dist/esm/utils/currency.js +85 -4
  179. package/dist/esm/utils/currency.js.map +1 -1
  180. package/dist/esm/utils/market.js +1 -1
  181. package/dist/esm/utils/market.js.map +1 -1
  182. package/dist/esm/utils/math.js +1 -0
  183. package/dist/esm/utils/math.js.map +1 -1
  184. package/dist/esm/utils/open.js +33 -23
  185. package/dist/esm/utils/open.js.map +1 -1
  186. package/dist/esm/utils/order.js +96 -0
  187. package/dist/esm/utils/order.js.map +1 -0
  188. package/dist/esm/utils/pool-key.js +12 -0
  189. package/dist/esm/utils/pool-key.js.map +1 -0
  190. package/dist/esm/utils/pool.js +84 -0
  191. package/dist/esm/utils/pool.js.map +1 -0
  192. package/dist/esm/utils/prices.js +39 -5
  193. package/dist/esm/utils/prices.js.map +1 -1
  194. package/dist/esm/utils/tick.js +11 -1
  195. package/dist/esm/utils/tick.js.map +1 -1
  196. package/dist/esm/utils/unit-size.js +44 -0
  197. package/dist/esm/utils/unit-size.js.map +1 -0
  198. package/dist/esm/utils.js +4 -0
  199. package/dist/esm/utils.js.map +1 -0
  200. package/dist/esm/view.js +367 -79
  201. package/dist/esm/view.js.map +1 -1
  202. package/dist/tsconfig.build.tsbuildinfo +1 -1
  203. package/dist/types/abis/core/book-manager-abi.d.ts +82 -0
  204. package/dist/types/abis/core/book-manager-abi.d.ts.map +1 -0
  205. package/dist/types/abis/core/book-viewer-abi.d.ts +107 -5
  206. package/dist/types/abis/core/book-viewer-abi.d.ts.map +1 -1
  207. package/dist/types/abis/core/controller-abi.d.ts +23 -19
  208. package/dist/types/abis/core/controller-abi.d.ts.map +1 -1
  209. package/dist/types/abis/rebalancer/minter-abi.d.ts +198 -0
  210. package/dist/types/abis/rebalancer/minter-abi.d.ts.map +1 -0
  211. package/dist/types/abis/rebalancer/mock-swap-abi.d.ts +70 -0
  212. package/dist/types/abis/rebalancer/mock-swap-abi.d.ts.map +1 -0
  213. package/dist/types/abis/rebalancer/operator-abi.d.ts +283 -0
  214. package/dist/types/abis/rebalancer/operator-abi.d.ts.map +1 -0
  215. package/dist/types/abis/rebalancer/rebalancer-abi.d.ts +952 -0
  216. package/dist/types/abis/rebalancer/rebalancer-abi.d.ts.map +1 -0
  217. package/dist/types/abis/rebalancer/strategy-abi.d.ts +487 -0
  218. package/dist/types/abis/rebalancer/strategy-abi.d.ts.map +1 -0
  219. package/dist/types/apis/chart-logs.d.ts +5 -0
  220. package/dist/types/apis/chart-logs.d.ts.map +1 -0
  221. package/dist/types/apis/market.d.ts +2 -1
  222. package/dist/types/apis/market.d.ts.map +1 -1
  223. package/dist/types/apis/odos.d.ts +28 -0
  224. package/dist/types/apis/odos.d.ts.map +1 -0
  225. package/dist/types/apis/open-order.d.ts +4 -2
  226. package/dist/types/apis/open-order.d.ts.map +1 -1
  227. package/dist/types/apis/pool.d.ts +5 -0
  228. package/dist/types/apis/pool.d.ts.map +1 -0
  229. package/dist/types/apis/strategy.d.ts +5 -0
  230. package/dist/types/apis/strategy.d.ts.map +1 -0
  231. package/dist/types/approval.d.ts +47 -15
  232. package/dist/types/approval.d.ts.map +1 -1
  233. package/dist/types/call.d.ts +250 -122
  234. package/dist/types/call.d.ts.map +1 -1
  235. package/dist/types/constants/addresses.d.ts +4 -0
  236. package/dist/types/constants/addresses.d.ts.map +1 -1
  237. package/dist/types/constants/chain.d.ts +6 -2
  238. package/dist/types/constants/chain.d.ts.map +1 -1
  239. package/dist/types/constants/currency.d.ts.map +1 -1
  240. package/dist/types/constants/fee.d.ts +7 -2
  241. package/dist/types/constants/fee.d.ts.map +1 -1
  242. package/dist/types/constants/permit.d.ts +10 -0
  243. package/dist/types/constants/permit.d.ts.map +1 -0
  244. package/dist/types/constants/price.d.ts +1 -0
  245. package/dist/types/constants/price.d.ts.map +1 -1
  246. package/dist/types/constants/subgraph.d.ts +5 -0
  247. package/dist/types/constants/subgraph.d.ts.map +1 -0
  248. package/dist/types/constants/test-chain.d.ts +3 -0
  249. package/dist/types/constants/test-chain.d.ts.map +1 -0
  250. package/dist/types/constants/tick.d.ts +3 -0
  251. package/dist/types/constants/tick.d.ts.map +1 -0
  252. package/dist/types/index.d.ts +1 -0
  253. package/dist/types/index.d.ts.map +1 -1
  254. package/dist/types/model/book.d.ts +25 -33
  255. package/dist/types/model/book.d.ts.map +1 -1
  256. package/dist/types/model/chart-log.d.ts +9 -0
  257. package/dist/types/model/chart-log.d.ts.map +1 -0
  258. package/dist/types/model/currency.d.ts +7 -0
  259. package/dist/types/model/currency.d.ts.map +1 -1
  260. package/dist/types/model/depth.d.ts +4 -3
  261. package/dist/types/model/depth.d.ts.map +1 -1
  262. package/dist/types/model/market.d.ts +24 -13
  263. package/dist/types/model/market.d.ts.map +1 -1
  264. package/dist/types/model/open-order.d.ts +11 -6
  265. package/dist/types/model/open-order.d.ts.map +1 -1
  266. package/dist/types/model/pool.d.ts +38 -0
  267. package/dist/types/model/pool.d.ts.map +1 -0
  268. package/dist/types/model/strategy.d.ts +6 -0
  269. package/dist/types/model/strategy.d.ts.map +1 -0
  270. package/dist/types/signature.d.ts +19 -25
  271. package/dist/types/signature.d.ts.map +1 -1
  272. package/dist/types/type.d.ts +63 -5
  273. package/dist/types/type.d.ts.map +1 -1
  274. package/dist/types/utils/allowance.d.ts +3 -0
  275. package/dist/types/utils/allowance.d.ts.map +1 -0
  276. package/dist/types/utils/approval.d.ts +2 -1
  277. package/dist/types/utils/approval.d.ts.map +1 -1
  278. package/dist/types/utils/bigint.d.ts +4 -0
  279. package/dist/types/utils/bigint.d.ts.map +1 -0
  280. package/dist/types/utils/book-id.d.ts +2 -1
  281. package/dist/types/utils/book-id.d.ts.map +1 -1
  282. package/dist/types/utils/build-transaction.d.ts +3 -3
  283. package/dist/types/utils/build-transaction.d.ts.map +1 -1
  284. package/dist/types/utils/currency.d.ts +5 -1
  285. package/dist/types/utils/currency.d.ts.map +1 -1
  286. package/dist/types/utils/math.d.ts +1 -0
  287. package/dist/types/utils/math.d.ts.map +1 -1
  288. package/dist/types/utils/open.d.ts +2 -1
  289. package/dist/types/utils/open.d.ts.map +1 -1
  290. package/dist/types/utils/order.d.ts +9 -0
  291. package/dist/types/utils/order.d.ts.map +1 -0
  292. package/dist/types/utils/pool-key.d.ts +3 -0
  293. package/dist/types/utils/pool-key.d.ts.map +1 -0
  294. package/dist/types/utils/pool.d.ts +11 -0
  295. package/dist/types/utils/pool.d.ts.map +1 -0
  296. package/dist/types/utils/prices.d.ts +13 -2
  297. package/dist/types/utils/prices.d.ts.map +1 -1
  298. package/dist/types/utils/tick.d.ts +1 -0
  299. package/dist/types/utils/tick.d.ts.map +1 -1
  300. package/dist/types/utils/unit-size.d.ts +5 -0
  301. package/dist/types/utils/unit-size.d.ts.map +1 -0
  302. package/dist/types/utils.d.ts +4 -0
  303. package/dist/types/utils.d.ts.map +1 -0
  304. package/dist/types/view.d.ts +283 -46
  305. package/dist/types/view.d.ts.map +1 -1
  306. package/package.json +1 -1
  307. package/dist/cjs/abis/core/params-abi.js +0 -62
  308. package/dist/cjs/abis/core/params-abi.js.map +0 -1
  309. package/dist/cjs/apis/subgraph.js +0 -26
  310. package/dist/cjs/apis/subgraph.js.map +0 -1
  311. package/dist/cjs/constants/client.js +0 -14
  312. package/dist/cjs/constants/client.js.map +0 -1
  313. package/dist/cjs/constants/subgraph-url.js +0 -8
  314. package/dist/cjs/constants/subgraph-url.js.map +0 -1
  315. package/dist/cjs/utils/decorator.js +0 -13
  316. package/dist/cjs/utils/decorator.js.map +0 -1
  317. package/dist/cjs/utils/unit.js +0 -34
  318. package/dist/cjs/utils/unit.js.map +0 -1
  319. package/dist/esm/abis/core/params-abi.js +0 -59
  320. package/dist/esm/abis/core/params-abi.js.map +0 -1
  321. package/dist/esm/apis/subgraph.js +0 -22
  322. package/dist/esm/apis/subgraph.js.map +0 -1
  323. package/dist/esm/constants/client.js +0 -10
  324. package/dist/esm/constants/client.js.map +0 -1
  325. package/dist/esm/constants/subgraph-url.js +0 -5
  326. package/dist/esm/constants/subgraph-url.js.map +0 -1
  327. package/dist/esm/utils/decorator.js +0 -9
  328. package/dist/esm/utils/decorator.js.map +0 -1
  329. package/dist/esm/utils/unit.js +0 -30
  330. package/dist/esm/utils/unit.js.map +0 -1
  331. package/dist/types/abis/core/params-abi.d.ts +0 -21
  332. package/dist/types/abis/core/params-abi.d.ts.map +0 -1
  333. package/dist/types/apis/subgraph.d.ts +0 -3
  334. package/dist/types/apis/subgraph.d.ts.map +0 -1
  335. package/dist/types/constants/client.d.ts +0 -5
  336. package/dist/types/constants/client.d.ts.map +0 -1
  337. package/dist/types/constants/subgraph-url.d.ts +0 -5
  338. package/dist/types/constants/subgraph-url.d.ts.map +0 -1
  339. package/dist/types/utils/decorator.d.ts +0 -6
  340. package/dist/types/utils/decorator.d.ts.map +0 -1
  341. package/dist/types/utils/unit.d.ts +0 -4
  342. package/dist/types/utils/unit.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-log.js","sourceRoot":"","sources":["../../../src/model/chart-log.ts"],"names":[],"mappings":""}
@@ -1,22 +1,28 @@
1
- import { isAddressEqual } from 'viem';
1
+ import { formatUnits, isAddressEqual } from 'viem';
2
2
  import { getMarketId } from '../utils/market';
3
- import { invertPrice, toPrice } from '../utils/tick';
3
+ import { invertTick, toPrice } from '../utils/tick';
4
4
  import { formatPrice } from '../utils/prices';
5
5
  import { MAKER_DEFAULT_POLICY, TAKER_DEFAULT_POLICY } from '../constants/fee';
6
6
  import { quoteToBase } from '../utils/decimals';
7
7
  export class Market {
8
8
  constructor({ chainId, tokens, bidBook, askBook, }) {
9
+ Object.defineProperty(this, "chainId", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: void 0
14
+ });
9
15
  Object.defineProperty(this, "makerFee", {
10
16
  enumerable: true,
11
17
  configurable: true,
12
18
  writable: true,
13
- value: (Number(MAKER_DEFAULT_POLICY.rate) * 100) / 1e6
19
+ value: void 0
14
20
  });
15
21
  Object.defineProperty(this, "takerFee", {
16
22
  enumerable: true,
17
23
  configurable: true,
18
24
  writable: true,
19
- value: (Number(TAKER_DEFAULT_POLICY.rate) * 100) / 1e6
25
+ value: void 0
20
26
  });
21
27
  Object.defineProperty(this, "id", {
22
28
  enumerable: true,
@@ -42,24 +48,12 @@ export class Market {
42
48
  writable: true,
43
49
  value: void 0
44
50
  });
45
- Object.defineProperty(this, "bidBookOpen", {
46
- enumerable: true,
47
- configurable: true,
48
- writable: true,
49
- value: void 0
50
- });
51
51
  Object.defineProperty(this, "asks", {
52
52
  enumerable: true,
53
53
  configurable: true,
54
54
  writable: true,
55
55
  value: void 0
56
56
  });
57
- Object.defineProperty(this, "askBookOpen", {
58
- enumerable: true,
59
- configurable: true,
60
- writable: true,
61
- value: void 0
62
- });
63
57
  Object.defineProperty(this, "bidBook", {
64
58
  enumerable: true,
65
59
  configurable: true,
@@ -76,13 +70,13 @@ export class Market {
76
70
  enumerable: true,
77
71
  configurable: true,
78
72
  writable: true,
79
- value: ({ takeQuote, limitPrice, amountOut, // quote if takeQuote, base otherwise
73
+ value: ({ takeQuote, limitTick, amountOut, // quote if takeQuote, base otherwise
80
74
  }) => {
81
75
  if (takeQuote) {
82
76
  return {
83
77
  bookId: this.bidBook.id,
84
78
  ...this.bidBook.take({
85
- limitPrice,
79
+ limitTick,
86
80
  amountOut,
87
81
  }),
88
82
  };
@@ -91,7 +85,7 @@ export class Market {
91
85
  return {
92
86
  bookId: this.askBook.id,
93
87
  ...this.askBook.take({
94
- limitPrice: invertPrice(limitPrice),
88
+ limitTick: invertTick(limitTick),
95
89
  amountOut,
96
90
  }),
97
91
  };
@@ -102,13 +96,13 @@ export class Market {
102
96
  enumerable: true,
103
97
  configurable: true,
104
98
  writable: true,
105
- value: ({ spendBase, limitPrice, amountIn, // base if spendBase, quote otherwise
99
+ value: ({ spentBase, limitTick, amountIn, // base if spentBase, quote otherwise
106
100
  }) => {
107
- if (spendBase) {
101
+ if (spentBase) {
108
102
  return {
109
103
  bookId: this.bidBook.id,
110
104
  ...this.bidBook.spend({
111
- limitPrice,
105
+ limitTick,
112
106
  amountIn,
113
107
  }),
114
108
  };
@@ -117,32 +111,73 @@ export class Market {
117
111
  return {
118
112
  bookId: this.askBook.id,
119
113
  ...this.askBook.spend({
120
- limitPrice: invertPrice(limitPrice),
114
+ limitTick: invertTick(limitTick),
121
115
  amountIn,
122
116
  }),
123
117
  };
124
118
  }
125
119
  }
126
120
  });
121
+ Object.defineProperty(this, "toJson", {
122
+ enumerable: true,
123
+ configurable: true,
124
+ writable: true,
125
+ value: () => {
126
+ return {
127
+ chainId: this.chainId,
128
+ quote: this.quote,
129
+ base: this.base,
130
+ makerFee: this.makerFee,
131
+ takerFee: this.takerFee,
132
+ bids: this.bids.map(({ price, tick, baseAmount }) => ({
133
+ price,
134
+ tick: Number(tick),
135
+ baseAmount: formatUnits(baseAmount, this.base.decimals),
136
+ })),
137
+ bidBook: {
138
+ id: this.bidBook.id.toString(),
139
+ base: this.bidBook.base,
140
+ unitSize: this.bidBook.unitSize.toString(),
141
+ quote: this.bidBook.quote,
142
+ isOpened: this.bidBook.isOpened,
143
+ },
144
+ asks: this.asks.map(({ price, tick, baseAmount }) => ({
145
+ price,
146
+ tick: Number(tick),
147
+ baseAmount: formatUnits(baseAmount, this.base.decimals),
148
+ })),
149
+ askBook: {
150
+ id: this.askBook.id.toString(),
151
+ base: this.askBook.base,
152
+ unitSize: this.askBook.unitSize.toString(),
153
+ quote: this.askBook.quote,
154
+ isOpened: this.askBook.isOpened,
155
+ },
156
+ };
157
+ }
158
+ });
159
+ this.chainId = chainId;
127
160
  const { marketId, quoteTokenAddress, baseTokenAddress } = getMarketId(chainId, tokens.map((token) => token.address));
128
161
  this.id = marketId;
129
162
  this.quote = tokens.find((token) => isAddressEqual(token.address, quoteTokenAddress));
130
163
  this.base = tokens.find((token) => isAddressEqual(token.address, baseTokenAddress));
164
+ this.makerFee = (Number(MAKER_DEFAULT_POLICY[chainId].rate) * 100) / 1e6;
165
+ this.takerFee = (Number(TAKER_DEFAULT_POLICY[chainId].rate) * 100) / 1e6;
131
166
  this.bids = bidBook.depths.map((depth) => ({
132
167
  price: formatPrice(toPrice(depth.tick), this.quote.decimals, this.base.decimals),
133
- baseAmount: quoteToBase(depth.tick, depth.rawAmount * bidBook.unit, false),
168
+ tick: depth.tick,
169
+ baseAmount: quoteToBase(depth.tick, depth.unitAmount * bidBook.unitSize, false),
134
170
  }));
135
- this.bidBookOpen = bidBook.isOpened;
136
171
  this.asks = askBook.depths.map((depth) => {
137
- const price = invertPrice(toPrice(depth.tick));
172
+ const price = toPrice(invertTick(depth.tick));
138
173
  const readablePrice = formatPrice(price, this.quote.decimals, this.base.decimals);
139
- const baseAmount = depth.rawAmount * askBook.unit;
174
+ const baseAmount = depth.unitAmount * askBook.unitSize;
140
175
  return {
141
176
  price: readablePrice,
177
+ tick: depth.tick,
142
178
  baseAmount,
143
179
  };
144
180
  });
145
- this.askBookOpen = askBook.isOpened;
146
181
  this.bidBook = bidBook;
147
182
  this.askBook = askBook;
148
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/model/market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/model/market.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ import { formatUnits } from 'viem';
2
+ import { CONTRACT_ADDRESSES } from '../constants/addresses';
3
+ import { toPoolKey } from '../utils/pool-key';
4
+ export class Pool {
5
+ constructor({ chainId, market, isOpened, bookIdA, bookIdB, salt, poolKey, totalSupply, decimals, reserveA, reserveB, liquidityA, liquidityB, orderListA, orderListB, }) {
6
+ Object.defineProperty(this, "key", {
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true,
10
+ value: void 0
11
+ });
12
+ Object.defineProperty(this, "market", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: void 0
17
+ });
18
+ Object.defineProperty(this, "isOpened", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: void 0
23
+ });
24
+ Object.defineProperty(this, "strategy", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: void 0
29
+ });
30
+ Object.defineProperty(this, "currencyA", {
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true,
34
+ value: void 0
35
+ });
36
+ Object.defineProperty(this, "currencyB", {
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true,
40
+ value: void 0
41
+ });
42
+ Object.defineProperty(this, "currencyLp", {
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true,
46
+ value: void 0
47
+ });
48
+ Object.defineProperty(this, "totalSupply", {
49
+ enumerable: true,
50
+ configurable: true,
51
+ writable: true,
52
+ value: void 0
53
+ });
54
+ Object.defineProperty(this, "decimals", {
55
+ enumerable: true,
56
+ configurable: true,
57
+ writable: true,
58
+ value: void 0
59
+ });
60
+ Object.defineProperty(this, "reserveA", {
61
+ enumerable: true,
62
+ configurable: true,
63
+ writable: true,
64
+ value: void 0
65
+ });
66
+ Object.defineProperty(this, "reserveB", {
67
+ enumerable: true,
68
+ configurable: true,
69
+ writable: true,
70
+ value: void 0
71
+ });
72
+ Object.defineProperty(this, "liquidityA", {
73
+ enumerable: true,
74
+ configurable: true,
75
+ writable: true,
76
+ value: void 0
77
+ });
78
+ Object.defineProperty(this, "liquidityB", {
79
+ enumerable: true,
80
+ configurable: true,
81
+ writable: true,
82
+ value: void 0
83
+ });
84
+ Object.defineProperty(this, "orderListA", {
85
+ enumerable: true,
86
+ configurable: true,
87
+ writable: true,
88
+ value: void 0
89
+ });
90
+ Object.defineProperty(this, "orderListB", {
91
+ enumerable: true,
92
+ configurable: true,
93
+ writable: true,
94
+ value: void 0
95
+ });
96
+ this.key = toPoolKey(bookIdA, bookIdB, salt);
97
+ this.market = market;
98
+ this.isOpened = isOpened;
99
+ this.strategy = CONTRACT_ADDRESSES[chainId].Strategy;
100
+ if (bookIdA === market.bidBook.id && bookIdB === market.askBook.id) {
101
+ this.currencyA = market.bidBook.quote; // or market.askBook.base
102
+ this.currencyB = market.bidBook.base; // or market.askBook.quote
103
+ }
104
+ else if (bookIdA === market.askBook.id && bookIdB === market.bidBook.id) {
105
+ this.currencyA = market.askBook.quote; // or market.bidBook.base
106
+ this.currencyB = market.askBook.base; // or market.bidBook.quote
107
+ }
108
+ else if (bookIdA === 0n && bookIdB === 0n) {
109
+ // pool is not opened, so we don't know the currency pair
110
+ this.currencyA = market.bidBook.base;
111
+ this.currencyB = market.askBook.base;
112
+ }
113
+ else {
114
+ throw new Error('Invalid book id');
115
+ }
116
+ this.currencyLp = {
117
+ address: CONTRACT_ADDRESSES[chainId].Rebalancer,
118
+ id: BigInt(poolKey),
119
+ name: `${this.currencyA.symbol}-${this.currencyB.symbol} LP Token`,
120
+ symbol: `${this.currencyA.symbol}-${this.currencyB.symbol}`,
121
+ decimals: decimals,
122
+ };
123
+ this.totalSupply = totalSupply;
124
+ this.decimals = decimals;
125
+ this.liquidityA = liquidityA;
126
+ this.liquidityB = liquidityB;
127
+ this.reserveA = formatUnits(reserveA, this.currencyA.decimals);
128
+ this.reserveB = formatUnits(reserveB, this.currencyB.decimals);
129
+ this.orderListA = orderListA;
130
+ this.orderListB = orderListB;
131
+ }
132
+ }
133
+ //# sourceMappingURL=pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/model/pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/model/strategy.ts"],"names":[],"mappings":""}
@@ -1,9 +1,8 @@
1
- import { hexToSignature, parseUnits, verifyTypedData, zeroHash, } from 'viem';
1
+ import { createPublicClient, hexToSignature, http, parseUnits, verifyTypedData, } from 'viem';
2
+ import { CHAIN_MAP } from './constants/chain';
2
3
  import { getDeadlineTimestampInSeconds } from './utils/time';
3
4
  import { CONTRACT_ADDRESSES } from './constants/addresses';
4
5
  import { fetchCurrency } from './utils/currency';
5
- import { cachedPublicClients } from './constants/client';
6
- import { decorator } from './utils/decorator';
7
6
  const _abi = [
8
7
  {
9
8
  inputs: [],
@@ -52,50 +51,52 @@ const _abi = [
52
51
  },
53
52
  ];
54
53
  /**
54
+ * @dev This function relates with `viem` dependency
55
55
  * Signs an ERC20 permit using EIP-712 encoding.
56
56
  *
57
57
  * @param {CHAIN_IDS} chainId The chain ID.
58
- * @param {HDAccount | PrivateKeyAccount} account The Ethereum account used for signing using
59
- * [viem - Local Accounts (Private Key, Mnemonic, etc)](https://viem.sh/docs/accounts/local#local-accounts-private-key-mnemonic-etc).
58
+ * @param {WalletClient} walletClient The wallet client.
60
59
  * @param {`0x${string}`} token The ERC20 token address.
61
60
  * @param {string} amount The amount of tokens to permit.
62
61
  * @param options
63
62
  * @param options.rpcUrl The RPC URL of the blockchain.
64
- * @returns {Promise<PermitSignature>} Promise resolving to the permit signature.
63
+ * @returns {Promise<erc20PermitParam | undefined>} The signed permit.
65
64
  * @example
66
65
  * import { signERC20Permit } from '@clober/v2-sdk'
67
- * import { privateKeyToAccount } from 'viem/accounts'
68
66
  *
69
- * const { deadline, r, s, v } = await signERC20Permit(
70
- * 421614,
71
- * privateKeyToAccount('0x...')
72
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
73
- * '1000.123', // spend 1000.123 USDC
74
- * )
67
+ * const walletClient = createWalletClient({
68
+ * chain: arbitrumSepolia,
69
+ * account: mnemonicToAccount('legal ...'),
70
+ * transport: http(),
71
+ * })
75
72
  *
76
- * @example
77
- * import { signERC20Permit } from '@clober/v2-sdk'
78
- * import { mnemonicToAccount } from 'viem/accounts'
79
- *
80
- * const { deadline, r, s, v } = await signERC20Permit(
81
- * 421614,
82
- * mnemonicToAccount('legal ...')
83
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
84
- * '1000.123', // spend 1000.123 USDC
85
- * )
73
+ * const { deadline, r, s, v } = await signERC20Permit({
74
+ * chainId: 421614,
75
+ * walletClient
76
+ * token: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
77
+ * amount: '1000.123', // spend 1000.123 USDC
78
+ * })
86
79
  */
87
- export const signERC20Permit = decorator(async ({ chainId, account, token, amount, }) => {
88
- const currency = await fetchCurrency(chainId, token);
80
+ export const signERC20Permit = async ({ chainId, walletClient, token, amount, options, }) => {
81
+ if (!walletClient.account) {
82
+ throw new Error('Account is not found');
83
+ }
84
+ const publicClient = createPublicClient({
85
+ chain: CHAIN_MAP[chainId],
86
+ transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
87
+ });
88
+ const currency = await fetchCurrency(publicClient, chainId, token);
89
89
  const spender = CONTRACT_ADDRESSES[chainId].Controller;
90
90
  const value = parseUnits(amount, currency.decimals);
91
- const [{ result: nonce }, { result: version }, { result: name }] = await cachedPublicClients[chainId].multicall({
91
+ const owner = walletClient.account.address;
92
+ const [{ result: nonce }, { result: version }, { result: name }] = await publicClient.multicall({
92
93
  allowFailure: true,
93
94
  contracts: [
94
95
  {
95
96
  address: token,
96
97
  abi: _abi,
97
98
  functionName: 'nonces',
98
- args: [account.address],
99
+ args: [owner],
99
100
  },
100
101
  {
101
102
  address: token,
@@ -110,12 +111,7 @@ export const signERC20Permit = decorator(async ({ chainId, account, token, amoun
110
111
  ],
111
112
  });
112
113
  if (nonce === undefined || !name) {
113
- return {
114
- r: zeroHash,
115
- s: zeroHash,
116
- v: 0,
117
- deadline: 0n,
118
- };
114
+ return undefined;
119
115
  }
120
116
  const deadline = getDeadlineTimestampInSeconds();
121
117
  const data = {
@@ -126,7 +122,7 @@ export const signERC20Permit = decorator(async ({ chainId, account, token, amoun
126
122
  verifyingContract: currency.address,
127
123
  },
128
124
  message: {
129
- owner: account.address,
125
+ owner,
130
126
  spender,
131
127
  value,
132
128
  nonce,
@@ -149,23 +145,28 @@ export const signERC20Permit = decorator(async ({ chainId, account, token, amoun
149
145
  ],
150
146
  },
151
147
  };
152
- const signature = await account.signTypedData({
148
+ const signature = await walletClient.signTypedData({
153
149
  ...data,
150
+ account: walletClient.account,
154
151
  });
155
152
  const valid = await verifyTypedData({
156
153
  ...data,
157
154
  signature,
158
- address: account.address,
155
+ address: owner,
159
156
  });
160
157
  if (!valid) {
161
158
  throw new Error('Invalid signature');
162
159
  }
163
160
  const { v, s, r } = hexToSignature(signature);
164
161
  return {
165
- v: Number(v),
166
- s,
167
- r,
168
- deadline,
162
+ token,
163
+ permitAmount: value,
164
+ signature: {
165
+ v: Number(v),
166
+ s,
167
+ r,
168
+ deadline,
169
+ },
169
170
  };
170
- });
171
+ };
171
172
  //# sourceMappingURL=signature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.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":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AA6F7C,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
  };