@clober/v2-sdk 0.0.1-b → 0.0.1-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 (297) hide show
  1. package/dist/cjs/.graphclient/index.js +243 -0
  2. package/dist/cjs/.graphclient/index.js.map +1 -0
  3. package/dist/cjs/.graphclient/sources/clober-v2/introspectionSchema.js +14482 -0
  4. package/dist/cjs/.graphclient/sources/clober-v2/introspectionSchema.js.map +1 -0
  5. package/dist/cjs/.graphclient/sources/clober-v2/types.js +4 -0
  6. package/dist/cjs/.graphclient/sources/clober-v2/types.js.map +1 -0
  7. package/dist/cjs/abis/core/controller-abi.js +989 -0
  8. package/dist/cjs/abis/core/controller-abi.js.map +1 -0
  9. package/dist/cjs/abis/core/params-abi.js +62 -0
  10. package/dist/cjs/abis/core/params-abi.js.map +1 -0
  11. package/dist/cjs/apis/currency.js +87 -0
  12. package/dist/cjs/apis/currency.js.map +1 -0
  13. package/dist/cjs/apis/market.js +63 -0
  14. package/dist/cjs/apis/market.js.map +1 -0
  15. package/dist/cjs/apis/open-order.js +90 -0
  16. package/dist/cjs/apis/open-order.js.map +1 -0
  17. package/dist/cjs/approval.js +74 -0
  18. package/dist/cjs/approval.js.map +1 -0
  19. package/dist/cjs/call.js +545 -0
  20. package/dist/cjs/call.js.map +1 -0
  21. package/dist/cjs/constants/action.js +14 -0
  22. package/dist/cjs/constants/action.js.map +1 -0
  23. package/dist/cjs/constants/addresses.js +13 -0
  24. package/dist/cjs/constants/addresses.js.map +1 -0
  25. package/dist/cjs/constants/chain.js +13 -0
  26. package/dist/cjs/constants/chain.js.map +1 -0
  27. package/dist/cjs/constants/currency.js +12 -0
  28. package/dist/cjs/constants/currency.js.map +1 -0
  29. package/dist/cjs/constants/fee.js +7 -0
  30. package/dist/cjs/constants/fee.js.map +1 -0
  31. package/dist/cjs/constants/price.js +6 -0
  32. package/dist/cjs/constants/price.js.map +1 -0
  33. package/dist/cjs/constants/subgraph-url.js +8 -0
  34. package/dist/cjs/constants/subgraph-url.js.map +1 -0
  35. package/dist/cjs/index.js +22 -0
  36. package/dist/cjs/index.js.map +1 -0
  37. package/dist/cjs/model/book.js +130 -0
  38. package/dist/cjs/model/book.js.map +1 -0
  39. package/dist/cjs/model/currency.js +3 -0
  40. package/dist/cjs/model/currency.js.map +1 -0
  41. package/dist/cjs/model/depth.js +3 -0
  42. package/dist/cjs/model/depth.js.map +1 -0
  43. package/dist/cjs/model/fee-policy.js +42 -0
  44. package/dist/cjs/model/fee-policy.js.map +1 -0
  45. package/dist/cjs/model/market.js +215 -0
  46. package/dist/cjs/model/market.js.map +1 -0
  47. package/dist/cjs/model/open-order.js +3 -0
  48. package/dist/cjs/model/open-order.js.map +1 -0
  49. package/dist/cjs/package.json +1 -0
  50. package/dist/cjs/signature.js +178 -0
  51. package/dist/cjs/signature.js.map +1 -0
  52. package/dist/cjs/tsconfig.build.tsbuildinfo +1 -0
  53. package/dist/cjs/type.js +6 -0
  54. package/dist/cjs/type.js.map +1 -0
  55. package/dist/cjs/utils/approval.js +46 -0
  56. package/dist/cjs/utils/approval.js.map +1 -0
  57. package/dist/cjs/utils/book-id.js +25 -0
  58. package/dist/cjs/utils/book-id.js.map +1 -0
  59. package/dist/cjs/utils/build-transaction.js +31 -0
  60. package/dist/cjs/utils/build-transaction.js.map +1 -0
  61. package/dist/cjs/utils/decimals.js +17 -0
  62. package/dist/cjs/utils/decimals.js.map +1 -0
  63. package/dist/cjs/utils/market.js +53 -0
  64. package/dist/cjs/utils/market.js.map +1 -0
  65. package/dist/cjs/utils/math.js +83 -0
  66. package/dist/cjs/utils/math.js.map +1 -0
  67. package/dist/cjs/utils/prices.js +22 -0
  68. package/dist/cjs/utils/prices.js.map +1 -0
  69. package/dist/cjs/utils/tick.js +106 -0
  70. package/dist/cjs/utils/tick.js.map +1 -0
  71. package/dist/cjs/utils/time.js +9 -0
  72. package/dist/cjs/utils/time.js.map +1 -0
  73. package/dist/cjs/utils/unit.js +38 -0
  74. package/dist/cjs/utils/unit.js.map +1 -0
  75. package/dist/cjs/view.js +185 -0
  76. package/dist/cjs/view.js.map +1 -0
  77. package/dist/esm/.graphclient/index.js +233 -0
  78. package/dist/esm/.graphclient/index.js.map +1 -0
  79. package/dist/esm/.graphclient/sources/clober-v2/introspectionSchema.js +14480 -0
  80. package/dist/esm/.graphclient/sources/clober-v2/introspectionSchema.js.map +1 -0
  81. package/dist/esm/.graphclient/sources/clober-v2/types.js +3 -0
  82. package/dist/esm/.graphclient/sources/clober-v2/types.js.map +1 -0
  83. package/dist/esm/abis/core/controller-abi.js +986 -0
  84. package/dist/esm/abis/core/controller-abi.js.map +1 -0
  85. package/dist/esm/abis/core/params-abi.js +59 -0
  86. package/dist/esm/abis/core/params-abi.js.map +1 -0
  87. package/dist/esm/apis/currency.js +83 -0
  88. package/dist/esm/apis/currency.js.map +1 -0
  89. package/dist/esm/apis/market.js +59 -0
  90. package/dist/esm/apis/market.js.map +1 -0
  91. package/dist/esm/apis/open-order.js +85 -0
  92. package/dist/esm/apis/open-order.js.map +1 -0
  93. package/dist/esm/approval.js +70 -0
  94. package/dist/esm/approval.js.map +1 -0
  95. package/dist/esm/call.js +535 -0
  96. package/dist/esm/call.js.map +1 -0
  97. package/dist/esm/constants/action.js +11 -0
  98. package/dist/esm/constants/action.js.map +1 -0
  99. package/dist/esm/constants/addresses.js +10 -0
  100. package/dist/esm/constants/addresses.js.map +1 -0
  101. package/dist/esm/constants/chain.js +10 -0
  102. package/dist/esm/constants/chain.js.map +1 -0
  103. package/dist/esm/constants/currency.js +9 -0
  104. package/dist/esm/constants/currency.js.map +1 -0
  105. package/dist/esm/constants/fee.js +4 -0
  106. package/dist/esm/constants/fee.js.map +1 -0
  107. package/dist/esm/constants/price.js +3 -0
  108. package/dist/esm/constants/price.js.map +1 -0
  109. package/dist/esm/constants/subgraph-url.js +5 -0
  110. package/dist/esm/constants/subgraph-url.js.map +1 -0
  111. package/dist/esm/index.js +6 -0
  112. package/dist/esm/index.js.map +1 -0
  113. package/dist/esm/model/book.js +126 -0
  114. package/dist/esm/model/book.js.map +1 -0
  115. package/dist/esm/model/currency.js +2 -0
  116. package/dist/esm/model/currency.js.map +1 -0
  117. package/dist/esm/model/depth.js +2 -0
  118. package/dist/esm/model/depth.js.map +1 -0
  119. package/dist/esm/model/fee-policy.js +38 -0
  120. package/dist/esm/model/fee-policy.js.map +1 -0
  121. package/dist/esm/model/market.js +211 -0
  122. package/dist/esm/model/market.js.map +1 -0
  123. package/dist/esm/model/open-order.js +2 -0
  124. package/dist/esm/model/open-order.js.map +1 -0
  125. package/dist/esm/package.json +1 -0
  126. package/dist/esm/signature.js +174 -0
  127. package/dist/esm/signature.js.map +1 -0
  128. package/dist/esm/tsconfig.build.tsbuildinfo +1 -0
  129. package/dist/esm/type.js +2 -0
  130. package/dist/esm/type.js.map +1 -0
  131. package/dist/esm/utils/approval.js +42 -0
  132. package/dist/esm/utils/approval.js.map +1 -0
  133. package/{src/utils/book-id.ts → dist/esm/utils/book-id.js} +9 -19
  134. package/dist/esm/utils/book-id.js.map +1 -0
  135. package/dist/esm/utils/build-transaction.js +27 -0
  136. package/dist/esm/utils/build-transaction.js.map +1 -0
  137. package/dist/esm/utils/decimals.js +12 -0
  138. package/dist/esm/utils/decimals.js.map +1 -0
  139. package/dist/esm/utils/market.js +49 -0
  140. package/dist/esm/utils/market.js.map +1 -0
  141. package/dist/esm/utils/math.js +78 -0
  142. package/dist/esm/utils/math.js.map +1 -0
  143. package/dist/esm/utils/prices.js +17 -0
  144. package/dist/esm/utils/prices.js.map +1 -0
  145. package/dist/esm/utils/tick.js +100 -0
  146. package/dist/esm/utils/tick.js.map +1 -0
  147. package/dist/esm/utils/time.js +5 -0
  148. package/dist/esm/utils/time.js.map +1 -0
  149. package/dist/esm/utils/unit.js +34 -0
  150. package/dist/esm/utils/unit.js.map +1 -0
  151. package/dist/esm/view.js +177 -0
  152. package/dist/esm/view.js.map +1 -0
  153. package/dist/types/.graphclient/index.d.ts +1281 -0
  154. package/dist/types/.graphclient/index.d.ts.map +1 -0
  155. package/dist/types/.graphclient/sources/clober-v2/introspectionSchema.d.ts +3 -0
  156. package/dist/types/.graphclient/sources/clober-v2/introspectionSchema.d.ts.map +1 -0
  157. package/dist/types/.graphclient/sources/clober-v2/types.d.ts +984 -0
  158. package/dist/types/.graphclient/sources/clober-v2/types.d.ts.map +1 -0
  159. package/dist/types/abis/core/controller-abi.d.ts +757 -0
  160. package/dist/types/abis/core/controller-abi.d.ts.map +1 -0
  161. package/dist/types/abis/core/params-abi.d.ts +21 -0
  162. package/dist/types/abis/core/params-abi.d.ts.map +1 -0
  163. package/dist/types/apis/currency.d.ts +4 -0
  164. package/dist/types/apis/currency.d.ts.map +1 -0
  165. package/dist/types/apis/market.d.ts +4 -0
  166. package/dist/types/apis/market.d.ts.map +1 -0
  167. package/dist/types/apis/open-order.d.ts +5 -0
  168. package/dist/types/apis/open-order.d.ts.map +1 -0
  169. package/dist/types/approval.d.ts +32 -0
  170. package/dist/types/approval.d.ts.map +1 -0
  171. package/dist/types/call.d.ts +234 -0
  172. package/dist/types/call.d.ts.map +1 -0
  173. package/dist/types/constants/action.d.ts +10 -0
  174. package/dist/types/constants/action.d.ts.map +1 -0
  175. package/dist/types/constants/addresses.d.ts +9 -0
  176. package/dist/types/constants/addresses.d.ts.map +1 -0
  177. package/dist/types/constants/chain.d.ts +9 -0
  178. package/dist/types/constants/chain.d.ts.map +1 -0
  179. package/dist/types/constants/currency.d.ts +8 -0
  180. package/dist/types/constants/currency.d.ts.map +1 -0
  181. package/dist/types/constants/fee.d.ts +4 -0
  182. package/dist/types/constants/fee.d.ts.map +1 -0
  183. package/dist/types/constants/price.d.ts +3 -0
  184. package/dist/types/constants/price.d.ts.map +1 -0
  185. package/dist/types/constants/subgraph-url.d.ts +5 -0
  186. package/dist/types/constants/subgraph-url.d.ts.map +1 -0
  187. package/dist/types/index.d.ts +6 -0
  188. package/dist/types/index.d.ts.map +1 -0
  189. package/dist/types/model/book.d.ts +31 -0
  190. package/dist/types/model/book.d.ts.map +1 -0
  191. package/dist/types/model/currency.d.ts +7 -0
  192. package/dist/types/model/currency.d.ts.map +1 -0
  193. package/dist/types/model/depth.d.ts +11 -0
  194. package/dist/types/model/depth.d.ts.map +1 -0
  195. package/dist/types/model/fee-policy.d.ts +15 -0
  196. package/dist/types/model/fee-policy.d.ts.map +1 -0
  197. package/dist/types/model/market.d.ts +44 -0
  198. package/dist/types/model/market.d.ts.map +1 -0
  199. package/dist/types/model/open-order.d.ts +28 -0
  200. package/dist/types/model/open-order.d.ts.map +1 -0
  201. package/dist/types/signature.d.ts +40 -0
  202. package/dist/types/signature.d.ts.map +1 -0
  203. package/dist/types/type.d.ts +34 -0
  204. package/dist/types/type.d.ts.map +1 -0
  205. package/dist/types/utils/approval.d.ts +3 -0
  206. package/dist/types/utils/approval.d.ts.map +1 -0
  207. package/dist/types/utils/book-id.d.ts +2 -0
  208. package/dist/types/utils/book-id.d.ts.map +1 -0
  209. package/dist/types/utils/build-transaction.d.ts +5 -0
  210. package/dist/types/utils/build-transaction.d.ts.map +1 -0
  211. package/dist/types/utils/decimals.d.ts +3 -0
  212. package/dist/types/utils/decimals.d.ts.map +1 -0
  213. package/dist/types/utils/market.d.ts +7 -0
  214. package/dist/types/utils/market.d.ts.map +1 -0
  215. package/dist/types/utils/math.d.ts +3 -0
  216. package/dist/types/utils/math.d.ts.map +1 -0
  217. package/dist/types/utils/prices.d.ts +3 -0
  218. package/dist/types/utils/prices.d.ts.map +1 -0
  219. package/dist/types/utils/tick.d.ts +4 -0
  220. package/dist/types/utils/tick.d.ts.map +1 -0
  221. package/dist/types/utils/time.d.ts +2 -0
  222. package/dist/types/utils/time.d.ts.map +1 -0
  223. package/dist/types/utils/unit.d.ts +4 -0
  224. package/dist/types/utils/unit.d.ts.map +1 -0
  225. package/dist/types/view.d.ts +129 -0
  226. package/dist/types/view.d.ts.map +1 -0
  227. package/package.json +14 -6
  228. package/.eslintignore +0 -1
  229. package/.eslintrc.yaml +0 -34
  230. package/.github/workflows/ci.yaml +0 -88
  231. package/.github/workflows/deployer.yaml +0 -19
  232. package/.nvmrc +0 -1
  233. package/.prettierignore +0 -6
  234. package/.prettierrc +0 -7
  235. package/src/.graphclient/index.ts +0 -1695
  236. package/src/.graphclient/schema.graphql +0 -1116
  237. package/src/.graphclient/sources/clober-v2/introspectionSchema.ts +0 -14481
  238. package/src/.graphclient/sources/clober-v2/schema.graphql +0 -1116
  239. package/src/.graphclient/sources/clober-v2/types.ts +0 -1133
  240. package/src/.graphclientrc.yml +0 -12
  241. package/src/abis/core/controller-abi.ts +0 -985
  242. package/src/abis/core/params-abi.ts +0 -59
  243. package/src/apis/currency.ts +0 -92
  244. package/src/apis/graphql/books.graphql +0 -25
  245. package/src/apis/graphql/open-order.graphql +0 -29
  246. package/src/apis/graphql/open-orders.graphql +0 -29
  247. package/src/apis/market.ts +0 -85
  248. package/src/apis/open-order.ts +0 -145
  249. package/src/approval.ts +0 -82
  250. package/src/call.ts +0 -705
  251. package/src/constants/action.ts +0 -9
  252. package/src/constants/addresses.ts +0 -17
  253. package/src/constants/chain.ts +0 -12
  254. package/src/constants/currency.ts +0 -15
  255. package/src/constants/fee.ts +0 -4
  256. package/src/constants/price.ts +0 -3
  257. package/src/constants/subgraph-url.ts +0 -8
  258. package/src/index.ts +0 -5
  259. package/src/model/book.ts +0 -166
  260. package/src/model/currency.ts +0 -6
  261. package/src/model/depth.ts +0 -11
  262. package/src/model/fee-policy.ts +0 -51
  263. package/src/model/market.ts +0 -320
  264. package/src/model/open-order.ts +0 -16
  265. package/src/signature.ts +0 -196
  266. package/src/type.ts +0 -38
  267. package/src/utils/approval.ts +0 -48
  268. package/src/utils/build-transaction.ts +0 -39
  269. package/src/utils/decimals.ts +0 -22
  270. package/src/utils/market.ts +0 -74
  271. package/src/utils/math.ts +0 -117
  272. package/src/utils/prices.ts +0 -29
  273. package/src/utils/tick.ts +0 -104
  274. package/src/utils/time.ts +0 -6
  275. package/src/utils/unit.ts +0 -43
  276. package/src/view.ts +0 -258
  277. package/test/book-id.test.ts +0 -101
  278. package/test/fee-policy.test.ts +0 -228
  279. package/test/get-expected-input.test.ts +0 -206
  280. package/test/get-expected-output.test.ts +0 -206
  281. package/test/limit-order.test.ts +0 -279
  282. package/test/market-order.test.ts +0 -245
  283. package/test/market.test.ts +0 -68
  284. package/test/math.test.ts +0 -91
  285. package/test/open-order.test.ts +0 -112
  286. package/test/open.test.ts +0 -15
  287. package/test/tick.test.ts +0 -230
  288. package/test/tsconfig.json +0 -12
  289. package/test/utils/chain.ts +0 -12
  290. package/test/utils/constants.ts +0 -25
  291. package/test/utils/currency.ts +0 -44
  292. package/test/utils/depth.ts +0 -148
  293. package/test/utils/test-chain.ts +0 -26
  294. package/test/vitest.config.ts +0 -15
  295. package/tsconfig.base.json +0 -37
  296. package/tsconfig.build.json +0 -9
  297. package/tsconfig.json +0 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAIT,iBAAiB,EAGlB,MAAM,MAAM,CAAA;AAEb,OAAO,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAA;AAIxD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAkDxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,eAAe,YACjB,SAAS,WACT,SAAS,GAAG,iBAAiB,SAC/B,KAAK,MAAM,EAAE,UACZ,MAAM,YACJ;IACR,MAAM,EAAE,MAAM,CAAA;CACf,KACA,QAAQ,eAAe,CAyFzB,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { Account } from 'viem';
2
+ import { CHAIN_IDS } from './constants/chain';
3
+ import { Currency } from './model/currency';
4
+ import { Depth } from './model/depth';
5
+ export { CHAIN_IDS } from './constants/chain';
6
+ export { Currency } from './model/currency';
7
+ export { Depth } from './model/depth';
8
+ export { OpenOrder } from './model/open-order';
9
+ export type Market = {
10
+ chainId: CHAIN_IDS;
11
+ quote: Currency;
12
+ base: Currency;
13
+ makerFee: number;
14
+ takerFee: number;
15
+ bids: Depth[];
16
+ bidBookOpen: boolean;
17
+ asks: Depth[];
18
+ askBookOpen: boolean;
19
+ };
20
+ export type Transaction = {
21
+ data: `0x${string}`;
22
+ gas: bigint;
23
+ gasPrice: bigint;
24
+ value: bigint;
25
+ to: `0x${string}`;
26
+ from: `0x${string}` | Account | undefined;
27
+ };
28
+ export type PermitSignature = {
29
+ deadline: bigint;
30
+ v: number;
31
+ r: `0x${string}`;
32
+ s: `0x${string}`;
33
+ };
34
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,MAAM,MAAM,MAAM,GAAG;IACnB,OAAO,EAAE,SAAS,CAAA;IAClB,KAAK,EAAE,QAAQ,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,KAAK,EAAE,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;IACpB,IAAI,EAAE,KAAK,EAAE,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,KAAK,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;IAChB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;CACjB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { CHAIN_IDS } from '../constants/chain';
2
+ export declare function fetchIsApprovedForAll(chainId: CHAIN_IDS, owner: `0x${string}`, rpcUrl?: string): Promise<boolean>;
3
+ //# sourceMappingURL=approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../src/utils/approval.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAa,MAAM,oBAAoB,CAAA;AA8BzD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,KAAK,MAAM,EAAE,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAWlB"}
@@ -0,0 +1,2 @@
1
+ export declare const toBookId: (inputToken: `0x${string}`, outputToken: `0x${string}`, unit: bigint) => bigint;
2
+ //# sourceMappingURL=book-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"book-id.d.ts","sourceRoot":"","sources":["../../../src/utils/book-id.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,eACP,KAAK,MAAM,EAAE,eACZ,KAAK,MAAM,EAAE,QACpB,MAAM,WAuBb,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { SimulateContractParameters, WriteContractParameters } from 'viem';
2
+ import { CHAIN_IDS } from '../constants/chain';
3
+ import { Transaction } from '../type';
4
+ export declare const buildTransaction: (chainId: CHAIN_IDS, args: WriteContractParameters | SimulateContractParameters, rpcUrl?: string) => Promise<Transaction>;
5
+ //# sourceMappingURL=build-transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-transaction.d.ts","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,MAAM,CAAA;AAEb,OAAO,EAAE,SAAS,EAAa,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,eAAO,MAAM,gBAAgB,YAClB,SAAS,QACZ,uBAAuB,GAAG,0BAA0B,WACjD,MAAM,KACd,QAAQ,WAAW,CAuBrB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const baseToQuote: (tick: bigint, base: bigint, roundingUp: boolean) => bigint;
2
+ export declare const quoteToBase: (tick: bigint, quote: bigint, roundingUp: boolean) => bigint;
3
+ //# sourceMappingURL=decimals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decimals.d.ts","sourceRoot":"","sources":["../../../src/utils/decimals.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,SAChB,MAAM,QACN,MAAM,cACA,OAAO,KAClB,MAGF,CAAA;AAED,eAAO,MAAM,WAAW,SAChB,MAAM,SACL,MAAM,cACD,OAAO,KAClB,MAGF,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { CHAIN_IDS } from '../constants/chain';
2
+ export declare const getMarketId: (chainId: CHAIN_IDS, tokenAddresses: `0x${string}`[]) => {
3
+ baseTokenAddress: `0x${string}`;
4
+ quoteTokenAddress: `0x${string}`;
5
+ marketId: string;
6
+ };
7
+ //# sourceMappingURL=market.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../../src/utils/market.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,eAAO,MAAM,WAAW,YACb,SAAS,kBACF,KAAK,MAAM,EAAE,EAAE,KAC9B;IACD,gBAAgB,EAAE,KAAK,MAAM,EAAE,CAAA;IAC/B,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAA;IAChC,QAAQ,EAAE,MAAM,CAAA;CA8DjB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const divide: (x: bigint, y: bigint, roundUp: boolean) => bigint;
2
+ export declare const lnWad: (x: bigint) => bigint;
3
+ //# sourceMappingURL=math.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../src/utils/math.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,MAAO,MAAM,KAAK,MAAM,WAAW,OAAO,KAAG,MAU/D,CAAA;AAED,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,MAwGjC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const formatPrice: (price: bigint, quoteDecimals: number, baseDecimals: number) => number;
2
+ export declare const parsePrice: (price: number, quoteDecimals: number, baseDecimals: number) => bigint;
3
+ //# sourceMappingURL=prices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../../src/utils/prices.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,UACf,MAAM,iBACE,MAAM,gBACP,MAAM,KACnB,MAMF,CAAA;AAED,eAAO,MAAM,UAAU,UACd,MAAM,iBACE,MAAM,gBACP,MAAM,KACnB,MAQF,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const invertPrice: (price: bigint) => bigint;
2
+ export declare const fromPrice: (price: bigint) => bigint;
3
+ export declare const toPrice: (tick: bigint) => bigint;
4
+ //# sourceMappingURL=tick.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tick.d.ts","sourceRoot":"","sources":["../../../src/utils/tick.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAE3C,CAAA;AAED,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,MAMzC,CAAA;AAED,eAAO,MAAM,OAAO,SAAU,MAAM,KAAG,MAmEtC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const getDeadlineTimestampInSeconds: () => bigint;
2
+ //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/utils/time.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,6BAA6B,QAAO,MAEhD,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Currency } from '../model/currency';
2
+ import { CHAIN_IDS } from '../constants/chain';
3
+ export declare const calculateUnit: (chainId: CHAIN_IDS, quote: Currency, rpcUrl?: string) => Promise<bigint>;
4
+ //# sourceMappingURL=unit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit.d.ts","sourceRoot":"","sources":["../../../src/utils/unit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAa,MAAM,oBAAoB,CAAA;AAkBzD,eAAO,MAAM,aAAa,YACf,SAAS,SACX,QAAQ,WACN,MAAM,oBAkBhB,CAAA"}
@@ -0,0 +1,129 @@
1
+ import { CHAIN_IDS } from './constants/chain';
2
+ import { Market } from './type';
3
+ import { OpenOrder } from './model/open-order';
4
+ /**
5
+ * Get market information by chain id and token addresses
6
+ * @param chainId - chain id from {@link CHAIN_IDS}
7
+ * @param token0 - token0 address
8
+ * @param token1 - token1 address
9
+ * @param options
10
+ * @param options.rpcUrl - RPC URL of the blockchain
11
+ * @returns A market {@link Market}
12
+ *
13
+ * @example
14
+ * import { getMarket } from '@clober/v2-sdk'
15
+ *
16
+ * const market = await getMarket(
17
+ * 421614,
18
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
19
+ * '0x0000000000000000000000000000000000000000',
20
+ * )
21
+ */
22
+ export declare const getMarket: (chainId: CHAIN_IDS, token0: `0x${string}`, token1: `0x${string}`, options?: {
23
+ rpcUrl?: string;
24
+ }) => Promise<Market>;
25
+ /**
26
+ * Calculates the expected output for a given input amount, based on the provided market data.
27
+ *
28
+ * @param chainId The chain ID of the blockchain.
29
+ * @param inputToken The address of the input token.
30
+ * @param outputToken The address of the output token.
31
+ * @param amountIn The amount of expected input amount. (ex 1.2 ETH -> 1.2)
32
+ * @param options
33
+ * @param options.limitPrice The maximum limit price to spend.
34
+ * @param options.rpcUrl The RPC URL of the blockchain.
35
+ * @returns A Promise resolving to an object containing the taken amount, spend amount and result of the calculation.
36
+ * @example
37
+ * import { getExpectedOutput } from '@clober/v2-sdk'
38
+ *
39
+ * const { takenAmount, spendAmount } = await getExpectedOutput(
40
+ * 421614,
41
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
42
+ * '0x0000000000000000000000000000000000000000',
43
+ * '1000.123', // spend 1000.123 USDC
44
+ * )
45
+ */
46
+ export declare const getExpectedOutput: (chainId: CHAIN_IDS, inputToken: `0x${string}`, outputToken: `0x${string}`, amountIn: string, options?: {
47
+ limitPrice?: string;
48
+ rpcUrl?: string;
49
+ }) => Promise<{
50
+ takenAmount: string;
51
+ spendAmount: string;
52
+ result: {
53
+ bookId: bigint;
54
+ takenAmount: bigint;
55
+ spendAmount: bigint;
56
+ }[];
57
+ }>;
58
+ /**
59
+ * Calculates the expected input for a given output amount, based on the provided market data.
60
+ *
61
+ * @param chainId The chain ID of the blockchain.
62
+ * @param inputToken The address of the input token.
63
+ * @param outputToken The address of the output token.
64
+ * @param amountOut The amount of expected output amount. (ex 1.2 ETH -> 1.2)
65
+ * @param options
66
+ * @param options.limitPrice The maximum limit price to take.
67
+ * @param options.rpcUrl The RPC URL of the blockchain.
68
+ * @returns A Promise resolving to an object containing the taken amount, spend amount and result of the calculation.
69
+ * @example
70
+ * import { getExpectedInput } from '@clober/v2-sdk'
71
+ *
72
+ * const { takenAmount, spendAmount } = await getExpectedInput(
73
+ * 421614,
74
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
75
+ * '0x0000000000000000000000000000000000000000',
76
+ * '0.1', // take 0.1 ETH
77
+ * )
78
+ */
79
+ export declare const getExpectedInput: (chainId: CHAIN_IDS, inputToken: `0x${string}`, outputToken: `0x${string}`, amountOut: string, options?: {
80
+ limitPrice?: string;
81
+ rpcUrl?: string;
82
+ }) => Promise<{
83
+ takenAmount: string;
84
+ spendAmount: string;
85
+ result: {
86
+ bookId: bigint;
87
+ takenAmount: bigint;
88
+ spendAmount: bigint;
89
+ }[];
90
+ }>;
91
+ /**
92
+ * Retrieves the open order with the specified ID on the given chain.
93
+ *
94
+ * @param {CHAIN_IDS} chainId The chain ID.
95
+ * @param {string} id The ID of the open order.
96
+ * @param options
97
+ * @param options.rpcUrl The RPC URL of the blockchain.
98
+ * @returns {Promise<OpenOrder>} Promise resolving to the open order object, or undefined if not found.
99
+ * @example
100
+ * import { getOpenOrder } from '@clober/v2-sdk'
101
+ *
102
+ * const openOrder = await getOpenOrder(
103
+ * 421614,
104
+ * '46223845323662364279893361453861711542636620039907198451770258805035840307200'
105
+ * )
106
+ */
107
+ export declare const getOpenOrder: (chainId: CHAIN_IDS, id: string, options?: {
108
+ rpcUrl?: string;
109
+ }) => Promise<OpenOrder>;
110
+ /**
111
+ * Retrieves open orders for the specified user on the given chain.
112
+ *
113
+ * @param {CHAIN_IDS} chainId The chain ID.
114
+ * @param {`0x${string}`} userAddress The Ethereum address of the user.
115
+ * @param options
116
+ * @param options.rpcUrl The RPC URL of the blockchain.
117
+ * @returns {Promise<OpenOrder[]>} Promise resolving to an array of open orders.
118
+ * @example
119
+ * import { getOpenOrders } from '@clober/v2-sdk'
120
+ *
121
+ * const openOrders = await getOpenOrders(
122
+ * 421614,
123
+ * '0x5F79EE8f8fA862E98201120d83c4eC39D9468D49'
124
+ * )
125
+ */
126
+ export declare const getOpenOrders: (chainId: CHAIN_IDS, userAddress: `0x${string}`, options?: {
127
+ rpcUrl?: string;
128
+ }) => Promise<OpenOrder[]>;
129
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/view.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,YACX,SAAS,UACV,KAAK,MAAM,EAAE,UACb,KAAK,MAAM,EAAE,YACX;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5B,QAAQ,MAAM,CAgBhB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iBAAiB,YACnB,SAAS,cACN,KAAK,MAAM,EAAE,eACZ,KAAK,MAAM,EAAE,YAChB,MAAM,YACN;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;iBAErC,MAAM;iBACN,MAAM;;gBACD,MAAM;qBAAe,MAAM;qBAAe,MAAM;;EAgDnE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,YAClB,SAAS,cACN,KAAK,MAAM,EAAE,eACZ,KAAK,MAAM,EAAE,aACf,MAAM,YACP;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;iBAErC,MAAM;iBACN,MAAM;;gBACD,MAAM;qBAAe,MAAM;qBAAe,MAAM;;EAgDnE,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,YACd,SAAS,MACd,MAAM,YACA;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5B,QAAQ,SAAS,CAEnB,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,aAAa,YACf,SAAS,eACL,KAAK,MAAM,EAAE,YAChB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5B,QAAQ,SAAS,EAAE,CAErB,CAAA"}
package/package.json CHANGED
@@ -1,14 +1,22 @@
1
1
  {
2
2
  "name": "@clober/v2-sdk",
3
- "version": "0.0.1-b",
3
+ "version": "0.0.1-dev",
4
4
  "description": "🛠 An SDK for building applications on top of Clober V2",
5
- "main": "./dist/esm/index.js",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "type": "module",
9
+ "main": "./dist/cjs/index.js",
6
10
  "module": "./dist/esm/index.js",
7
- "source": "./src/index.ts",
8
- "types": "./dist/cjs/index.d.ts",
11
+ "types": "./dist/types/index.d.ts",
12
+ "typings": "./dist/types/index.d.ts",
9
13
  "exports": {
10
- "import": "./dist/esm/index.js",
11
- "require": "./dist/cjs/index.js"
14
+ ".": {
15
+ "types": "./dist/types/index.d.ts",
16
+ "import": "./dist/esm/index.js",
17
+ "default": "./dist/cjs/index.js"
18
+ },
19
+ "./package.json": "./package.json"
12
20
  },
13
21
  "repository": {
14
22
  "type": "git",
package/.eslintignore DELETED
@@ -1 +0,0 @@
1
- node_modules
package/.eslintrc.yaml DELETED
@@ -1,34 +0,0 @@
1
- root: true
2
- parser: '@typescript-eslint/parser'
3
- parserOptions:
4
- sourceType: module
5
- plugins:
6
- - '@typescript-eslint'
7
- - prettier
8
- extends:
9
- - eslint:recommended
10
- - plugin:@typescript-eslint/eslint-recommended
11
- - plugin:prettier/recommended
12
- - plugin:import/errors
13
- - plugin:import/warnings
14
- - plugin:import/typescript
15
- rules:
16
- curly: error
17
- no-return-await: error
18
- prefer-arrow-callback: error
19
- prettier/prettier:
20
- - error
21
- - arrowParens: always
22
- semi: false
23
- singleQuote: true
24
- trailingComma: all
25
- require-await: off
26
- no-unused-vars: off
27
- '@typescript-eslint/no-unused-vars':
28
- - error
29
- import/no-unresolved:
30
- - off
31
- import/order:
32
- - error
33
- - newlines-between: always
34
- import/no-named-as-default: off
@@ -1,88 +0,0 @@
1
- name: Clober DEX CI
2
- on:
3
- pull_request:
4
- branches:
5
- - main
6
- push:
7
- branches:
8
- - main
9
-
10
- jobs:
11
- tests:
12
- name: NPM Test
13
- runs-on: ubuntu-20.04
14
- strategy:
15
- matrix:
16
- node-version: [ '18.10' ]
17
- steps:
18
- - name: Checkout
19
- uses: actions/checkout@v3
20
-
21
- - name: Use Node.js ${{ matrix.node-version }}
22
- uses: actions/setup-node@v3
23
- with:
24
- node-version: ${{ matrix.node-version }}
25
- - name: Cache node modules
26
- id: cache-npm
27
- uses: actions/cache@v3
28
- env:
29
- cache-name: cache-node-modules
30
- with:
31
- # npm cache files are stored in `~/.npm` on Linux/macOS
32
- path: ~/.npm
33
- key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
34
- restore-keys: |
35
- ${{ runner.os }}-build-${{ env.cache-name }}-
36
- ${{ runner.os }}-build-
37
- ${{ runner.os }}-
38
- - if: ${{ steps.cache-npm.outputs.cache-hit != 'true' }}
39
- name: List the state of node modules
40
- continue-on-error: true
41
- run: npm list
42
- - name: Install Dependencies
43
- run: npm ci
44
- - name: Build subgraph
45
- run: npm run build-graph
46
- - name: Install Foundry
47
- uses: foundry-rs/foundry-toolchain@v1
48
- - name: Run test
49
- run: DEV_PRIVATE_KEY=$DEV_PRIVATE_KEY ARBITRUM_SEPOLIA_RPC_URL=$ARBITRUM_SEPOLIA_RPC_URL npm run test
50
- env:
51
- ARBITRUM_SEPOLIA_RPC_URL: ${{ secrets.ARBITRUM_SEPOLIA_RPC_URL }}
52
- DEV_PRIVATE_KEY: ${{ secrets.DEV_PRIVATE_KEY }}
53
-
54
- check-lint:
55
- name: Check TS
56
- runs-on: ubuntu-20.04
57
- strategy:
58
- matrix:
59
- node-version: [ '18.10' ]
60
- steps:
61
- - name: Checkout
62
- uses: actions/checkout@v3
63
-
64
- - name: Use Node.js ${{ matrix.node-version }}
65
- uses: actions/setup-node@v3
66
- with:
67
- node-version: ${{ matrix.node-version }}
68
- - name: Cache node modules
69
- id: cache-npm
70
- uses: actions/cache@v3
71
- env:
72
- cache-name: cache-node-modules
73
- with:
74
- # npm cache files are stored in `~/.npm` on Linux/macOS
75
- path: ~/.npm
76
- key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
77
- restore-keys: |
78
- ${{ runner.os }}-build-${{ env.cache-name }}-
79
- ${{ runner.os }}-build-
80
- ${{ runner.os }}-
81
- - if: ${{ steps.cache-npm.outputs.cache-hit != 'true' }}
82
- name: List the state of node modules
83
- continue-on-error: true
84
- run: npm list
85
- - name: Install Dependencies
86
- run: npm ci
87
- - name: Check Ts Style
88
- run: npm run lint
@@ -1,19 +0,0 @@
1
- name: Publish Package to npmjs
2
- on:
3
- release:
4
- types: [created]
5
- jobs:
6
- build:
7
- runs-on: ubuntu-latest
8
- steps:
9
- - uses: actions/checkout@v3
10
- # Setup .npmrc file to publish to npm
11
- - uses: actions/setup-node@v3
12
- with:
13
- node-version: '18.x'
14
- registry-url: 'https://registry.npmjs.org'
15
- - run: npm ci
16
- - run: npm run build
17
- - run: npm publish --access=public
18
- env:
19
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/.nvmrc DELETED
@@ -1 +0,0 @@
1
- v18.10.0
package/.prettierignore DELETED
@@ -1,6 +0,0 @@
1
- node_modules
2
- artifacts
3
- cache
4
- coverage*
5
- gasReporterOutput.json
6
- typechain
package/.prettierrc DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "singleQuote": true,
3
- "trailingComma": "all",
4
- "semi": false,
5
- "arrowParens": "always",
6
- "endOfLine": "auto"
7
- }