@clober/v2-sdk 0.0.4 → 0.0.5-0.a.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 (232) 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 +321 -0
  5. package/dist/cjs/abis/core/book-viewer-abi.js.map +1 -0
  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/apis/chart-logs.js +154 -0
  9. package/dist/cjs/apis/chart-logs.js.map +1 -0
  10. package/dist/cjs/apis/market.js +61 -32
  11. package/dist/cjs/apis/market.js.map +1 -1
  12. package/dist/cjs/apis/open-order.js +56 -21
  13. package/dist/cjs/apis/open-order.js.map +1 -1
  14. package/dist/cjs/approval.js +77 -30
  15. package/dist/cjs/approval.js.map +1 -1
  16. package/dist/cjs/call.js +358 -207
  17. package/dist/cjs/call.js.map +1 -1
  18. package/dist/cjs/constants/addresses.js +26 -1
  19. package/dist/cjs/constants/addresses.js.map +1 -1
  20. package/dist/cjs/constants/chain.js +19 -1
  21. package/dist/cjs/constants/chain.js.map +1 -1
  22. package/dist/cjs/constants/client.js +4 -0
  23. package/dist/cjs/constants/client.js.map +1 -1
  24. package/dist/cjs/constants/currency.js +28 -2
  25. package/dist/cjs/constants/currency.js.map +1 -1
  26. package/dist/cjs/constants/fee.js +17 -2
  27. package/dist/cjs/constants/fee.js.map +1 -1
  28. package/dist/cjs/constants/subgraph.js +57 -0
  29. package/dist/cjs/constants/subgraph.js.map +1 -0
  30. package/dist/cjs/constants/test-chain.js +27 -0
  31. package/dist/cjs/constants/test-chain.js.map +1 -0
  32. package/dist/cjs/index.js +20 -6
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/model/book.js +63 -29
  35. package/dist/cjs/model/book.js.map +1 -1
  36. package/dist/cjs/model/chart-log.js +3 -0
  37. package/dist/cjs/model/chart-log.js.map +1 -0
  38. package/dist/cjs/model/market.js +45 -182
  39. package/dist/cjs/model/market.js.map +1 -1
  40. package/dist/cjs/signature.js +20 -16
  41. package/dist/cjs/signature.js.map +1 -1
  42. package/dist/cjs/type.js +16 -1
  43. package/dist/cjs/type.js.map +1 -1
  44. package/dist/cjs/utils/allowance.js +40 -0
  45. package/dist/cjs/utils/allowance.js.map +1 -0
  46. package/dist/cjs/utils/bigint.js +9 -0
  47. package/dist/cjs/utils/bigint.js.map +1 -0
  48. package/dist/cjs/utils/book-id.js +7 -7
  49. package/dist/cjs/utils/book-id.js.map +1 -1
  50. package/dist/cjs/utils/build-transaction.js +8 -7
  51. package/dist/cjs/utils/build-transaction.js.map +1 -1
  52. package/dist/cjs/utils/currency.js +166 -0
  53. package/dist/cjs/utils/currency.js.map +1 -0
  54. package/dist/cjs/utils/decorator.js +3 -1
  55. package/dist/cjs/utils/decorator.js.map +1 -1
  56. package/dist/cjs/utils/open.js +36 -0
  57. package/dist/cjs/utils/open.js.map +1 -0
  58. package/dist/cjs/utils/order.js +102 -0
  59. package/dist/cjs/utils/order.js.map +1 -0
  60. package/dist/cjs/utils/prices.js +28 -3
  61. package/dist/cjs/utils/prices.js.map +1 -1
  62. package/dist/cjs/utils/unit-size.js +49 -0
  63. package/dist/cjs/utils/unit-size.js.map +1 -0
  64. package/dist/cjs/utils.js +15 -0
  65. package/dist/cjs/utils.js.map +1 -0
  66. package/dist/cjs/view.js +141 -40
  67. package/dist/cjs/view.js.map +1 -1
  68. package/dist/esm/abis/core/book-manager-abi.js +109 -0
  69. package/dist/esm/abis/core/book-manager-abi.js.map +1 -0
  70. package/dist/esm/abis/core/book-viewer-abi.js +318 -0
  71. package/dist/esm/abis/core/book-viewer-abi.js.map +1 -0
  72. package/dist/esm/abis/core/controller-abi.js +29 -24
  73. package/dist/esm/abis/core/controller-abi.js.map +1 -1
  74. package/dist/esm/apis/chart-logs.js +150 -0
  75. package/dist/esm/apis/chart-logs.js.map +1 -0
  76. package/dist/esm/apis/market.js +61 -32
  77. package/dist/esm/apis/market.js.map +1 -1
  78. package/dist/esm/apis/open-order.js +57 -21
  79. package/dist/esm/apis/open-order.js.map +1 -1
  80. package/dist/esm/approval.js +116 -44
  81. package/dist/esm/approval.js.map +1 -1
  82. package/dist/esm/call.js +478 -311
  83. package/dist/esm/call.js.map +1 -1
  84. package/dist/esm/constants/addresses.js +26 -1
  85. package/dist/esm/constants/addresses.js.map +1 -1
  86. package/dist/esm/constants/chain.js +20 -2
  87. package/dist/esm/constants/chain.js.map +1 -1
  88. package/dist/esm/constants/client.js +5 -1
  89. package/dist/esm/constants/client.js.map +1 -1
  90. package/dist/esm/constants/currency.js +28 -2
  91. package/dist/esm/constants/currency.js.map +1 -1
  92. package/dist/esm/constants/fee.js +17 -2
  93. package/dist/esm/constants/fee.js.map +1 -1
  94. package/dist/esm/constants/subgraph.js +53 -0
  95. package/dist/esm/constants/subgraph.js.map +1 -0
  96. package/dist/esm/constants/test-chain.js +24 -0
  97. package/dist/esm/constants/test-chain.js.map +1 -0
  98. package/dist/esm/index.js +1 -0
  99. package/dist/esm/index.js.map +1 -1
  100. package/dist/esm/model/book.js +63 -29
  101. package/dist/esm/model/book.js.map +1 -1
  102. package/dist/esm/model/chart-log.js +2 -0
  103. package/dist/esm/model/chart-log.js.map +1 -0
  104. package/dist/esm/model/market.js +46 -187
  105. package/dist/esm/model/market.js.map +1 -1
  106. package/dist/esm/signature.js +35 -37
  107. package/dist/esm/signature.js.map +1 -1
  108. package/dist/esm/type.js +15 -0
  109. package/dist/esm/type.js.map +1 -1
  110. package/dist/esm/utils/allowance.js +36 -0
  111. package/dist/esm/utils/allowance.js.map +1 -0
  112. package/dist/esm/utils/bigint.js +5 -0
  113. package/dist/esm/utils/bigint.js.map +1 -0
  114. package/dist/esm/utils/book-id.js +7 -7
  115. package/dist/esm/utils/book-id.js.map +1 -1
  116. package/dist/esm/utils/build-transaction.js +8 -7
  117. package/dist/esm/utils/build-transaction.js.map +1 -1
  118. package/dist/esm/utils/currency.js +161 -0
  119. package/dist/esm/utils/currency.js.map +1 -0
  120. package/dist/esm/utils/decorator.js +3 -1
  121. package/dist/esm/utils/decorator.js.map +1 -1
  122. package/dist/esm/utils/open.js +32 -0
  123. package/dist/esm/utils/open.js.map +1 -0
  124. package/dist/esm/utils/order.js +98 -0
  125. package/dist/esm/utils/order.js.map +1 -0
  126. package/dist/esm/utils/prices.js +27 -2
  127. package/dist/esm/utils/prices.js.map +1 -1
  128. package/dist/esm/utils/unit-size.js +45 -0
  129. package/dist/esm/utils/unit-size.js.map +1 -0
  130. package/dist/esm/utils.js +4 -0
  131. package/dist/esm/utils.js.map +1 -0
  132. package/dist/esm/view.js +254 -68
  133. package/dist/esm/view.js.map +1 -1
  134. package/dist/tsconfig.build.tsbuildinfo +1 -1
  135. package/dist/types/abis/core/book-manager-abi.d.ts +82 -0
  136. package/dist/types/abis/core/book-manager-abi.d.ts.map +1 -0
  137. package/dist/types/abis/core/book-viewer-abi.d.ts +243 -0
  138. package/dist/types/abis/core/book-viewer-abi.d.ts.map +1 -0
  139. package/dist/types/abis/core/controller-abi.d.ts +23 -19
  140. package/dist/types/abis/core/controller-abi.d.ts.map +1 -1
  141. package/dist/types/apis/chart-logs.d.ts +5 -0
  142. package/dist/types/apis/chart-logs.d.ts.map +1 -0
  143. package/dist/types/apis/market.d.ts +1 -1
  144. package/dist/types/apis/market.d.ts.map +1 -1
  145. package/dist/types/apis/open-order.d.ts +3 -2
  146. package/dist/types/apis/open-order.d.ts.map +1 -1
  147. package/dist/types/approval.d.ts +48 -16
  148. package/dist/types/approval.d.ts.map +1 -1
  149. package/dist/types/call.d.ts +181 -109
  150. package/dist/types/call.d.ts.map +1 -1
  151. package/dist/types/constants/addresses.d.ts.map +1 -1
  152. package/dist/types/constants/chain.d.ts +6 -2
  153. package/dist/types/constants/chain.d.ts.map +1 -1
  154. package/dist/types/constants/client.d.ts +1 -1
  155. package/dist/types/constants/client.d.ts.map +1 -1
  156. package/dist/types/constants/currency.d.ts.map +1 -1
  157. package/dist/types/constants/fee.d.ts +7 -2
  158. package/dist/types/constants/fee.d.ts.map +1 -1
  159. package/dist/types/constants/subgraph.d.ts +10 -0
  160. package/dist/types/constants/subgraph.d.ts.map +1 -0
  161. package/dist/types/constants/test-chain.d.ts +3 -0
  162. package/dist/types/constants/test-chain.d.ts.map +1 -0
  163. package/dist/types/index.d.ts +1 -0
  164. package/dist/types/index.d.ts.map +1 -1
  165. package/dist/types/model/book.d.ts +23 -29
  166. package/dist/types/model/book.d.ts.map +1 -1
  167. package/dist/types/model/chart-log.d.ts +9 -0
  168. package/dist/types/model/chart-log.d.ts.map +1 -0
  169. package/dist/types/model/depth.d.ts +4 -5
  170. package/dist/types/model/depth.d.ts.map +1 -1
  171. package/dist/types/model/market.d.ts +25 -19
  172. package/dist/types/model/market.d.ts.map +1 -1
  173. package/dist/types/model/open-order.d.ts +16 -8
  174. package/dist/types/model/open-order.d.ts.map +1 -1
  175. package/dist/types/signature.d.ts +18 -24
  176. package/dist/types/signature.d.ts.map +1 -1
  177. package/dist/types/type.d.ts +52 -8
  178. package/dist/types/type.d.ts.map +1 -1
  179. package/dist/types/utils/allowance.d.ts +3 -0
  180. package/dist/types/utils/allowance.d.ts.map +1 -0
  181. package/dist/types/utils/bigint.d.ts +2 -0
  182. package/dist/types/utils/bigint.d.ts.map +1 -0
  183. package/dist/types/utils/book-id.d.ts +2 -1
  184. package/dist/types/utils/book-id.d.ts.map +1 -1
  185. package/dist/types/utils/build-transaction.d.ts +3 -3
  186. package/dist/types/utils/build-transaction.d.ts.map +1 -1
  187. package/dist/types/{apis → utils}/currency.d.ts +3 -0
  188. package/dist/types/utils/currency.d.ts.map +1 -0
  189. package/dist/types/utils/decorator.d.ts +1 -1
  190. package/dist/types/utils/decorator.d.ts.map +1 -1
  191. package/dist/types/utils/open.d.ts +3 -0
  192. package/dist/types/utils/open.d.ts.map +1 -0
  193. package/dist/types/utils/order.d.ts +8 -0
  194. package/dist/types/utils/order.d.ts.map +1 -0
  195. package/dist/types/utils/prices.d.ts +12 -2
  196. package/dist/types/utils/prices.d.ts.map +1 -1
  197. package/dist/types/utils/unit-size.d.ts +4 -0
  198. package/dist/types/utils/unit-size.d.ts.map +1 -0
  199. package/dist/types/utils.d.ts +4 -0
  200. package/dist/types/utils.d.ts.map +1 -0
  201. package/dist/types/view.d.ts +196 -39
  202. package/dist/types/view.d.ts.map +1 -1
  203. package/package.json +1 -1
  204. package/dist/cjs/abis/core/params-abi.js +0 -62
  205. package/dist/cjs/abis/core/params-abi.js.map +0 -1
  206. package/dist/cjs/apis/currency.js +0 -83
  207. package/dist/cjs/apis/currency.js.map +0 -1
  208. package/dist/cjs/apis/subgraph.js +0 -26
  209. package/dist/cjs/apis/subgraph.js.map +0 -1
  210. package/dist/cjs/constants/subgraph-url.js +0 -8
  211. package/dist/cjs/constants/subgraph-url.js.map +0 -1
  212. package/dist/cjs/utils/unit.js +0 -34
  213. package/dist/cjs/utils/unit.js.map +0 -1
  214. package/dist/esm/abis/core/params-abi.js +0 -59
  215. package/dist/esm/abis/core/params-abi.js.map +0 -1
  216. package/dist/esm/apis/currency.js +0 -79
  217. package/dist/esm/apis/currency.js.map +0 -1
  218. package/dist/esm/apis/subgraph.js +0 -22
  219. package/dist/esm/apis/subgraph.js.map +0 -1
  220. package/dist/esm/constants/subgraph-url.js +0 -5
  221. package/dist/esm/constants/subgraph-url.js.map +0 -1
  222. package/dist/esm/utils/unit.js +0 -30
  223. package/dist/esm/utils/unit.js.map +0 -1
  224. package/dist/types/abis/core/params-abi.d.ts +0 -21
  225. package/dist/types/abis/core/params-abi.d.ts.map +0 -1
  226. package/dist/types/apis/currency.d.ts.map +0 -1
  227. package/dist/types/apis/subgraph.d.ts +0 -3
  228. package/dist/types/apis/subgraph.d.ts.map +0 -1
  229. package/dist/types/constants/subgraph-url.d.ts +0 -5
  230. package/dist/types/constants/subgraph-url.d.ts.map +0 -1
  231. package/dist/types/utils/unit.d.ts +0 -4
  232. package/dist/types/utils/unit.d.ts.map +0 -1
@@ -1,9 +1,10 @@
1
1
  import { CHAIN_IDS } from './constants/chain';
2
- import { DefaultOptions, PermitSignature, Transaction } from './type';
2
+ import type { CurrencyFlow, DefaultOptions, ERC20PermitParam, Transaction } from './type';
3
3
  /**
4
4
  * Build a transaction to open a market.
5
5
  *
6
6
  * @param chainId The chain ID of the blockchain.
7
+ * @param userAddress The address of the user.
7
8
  * @param inputToken The address of the input token.
8
9
  * @param outputToken The address of the output token.
9
10
  * @param options
@@ -12,14 +13,16 @@ import { DefaultOptions, PermitSignature, Transaction } from './type';
12
13
  * @example
13
14
  * import { openMarket } from '@clober/v2-sdk'
14
15
  *
15
- * const transaction = await openMarket(
16
- * 421614,
17
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
18
- * '0x0000000000000000000000000000000000000000'
19
- * )
16
+ * const transaction = await openMarket({
17
+ * chainId: 421614,
18
+ * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69',
19
+ * inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
20
+ * outputToken: '0x0000000000000000000000000000000000000000'
21
+ * })
20
22
  */
21
23
  export declare const openMarket: (args: {
22
24
  chainId: CHAIN_IDS;
25
+ userAddress: `0x${string}`;
23
26
  inputToken: `0x${string}`;
24
27
  outputToken: `0x${string}`;
25
28
  options?: DefaultOptions;
@@ -34,42 +37,47 @@ export declare const openMarket: (args: {
34
37
  * @param {string} amount The amount of input tokens for the order.
35
38
  * @param {string} price The price at which the order should be executed.
36
39
  * @param {Object} [options] Optional parameters for the limit order.
37
- * @param {PermitSignature} [options.signature] The permit signature for token approval.
40
+ * @param {erc20PermitParam} [options.erc20PermitParam] The permit signature for token approval.
38
41
  * @param {boolean} [options.postOnly] A boolean indicating whether the order is only to be made not taken.
39
42
  * @param {string} [options.rpcUrl] The RPC URL of the blockchain.
40
- * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the limit order.
43
+ * @param {number} [options.gasLimit] The gas limit to use for the transaction.
44
+ * @param {bigint} [options.makeTick] The tick for the make order.
45
+ * @param {bigint} [options.takeLimitTick] The tick for the take order.
46
+ * @param {boolean} [options.useSubgraph] A boolean indicating whether to use the subgraph for fetching orders.
47
+ * @returns {Promise<{ transaction: Transaction, result: { make: CurrencyFlow, take: CurrencyFlow, spent: CurrencyFlow }>}
48
+ * Promise resolving to the transaction object representing the limit order with the result of the order.
41
49
  * @example
42
50
  * import { signERC20Permit, limitOrder } from '@clober/v2-sdk'
43
51
  * import { privateKeyToAccount } from 'viem/accounts'
44
52
  *
45
- * const signature = await signERC20Permit(
46
- * 421614,
47
- * privateKeyToAccount('0x...'),
48
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
49
- * '100.123'
50
- * )
53
+ * const erc20PermitParam = await signERC20Permit({
54
+ * chainId: 421614,
55
+ * walletClient,
56
+ * token: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
57
+ * amount: '100.123'
58
+ * })
51
59
  *
52
- * const transaction = await limitOrder(
53
- * 421614,
54
- * '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69
55
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
56
- * '0x0000000000000000000000000000000000000000',
57
- * '100.123', // 100.123 USDC
58
- * '4000.01', // price at 4000.01 (ETH/USDC)
59
- * { signature }
60
- * )
60
+ * const { transaction } = await limitOrder({
61
+ * chainId: 421614,
62
+ * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69
63
+ * inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
64
+ * outputToken: '0x0000000000000000000000000000000000000000',
65
+ * amount: '100.123', // 100.123 USDC
66
+ * price: '4000.01', // price at 4000.01 (ETH/USDC)
67
+ * options: { erc20PermitParam }
68
+ * })
61
69
  *
62
70
  * @example
63
71
  * import { limitOrder } from '@clober/v2-sdk'
64
72
  *
65
- * const transaction = await limitOrder(
66
- * 421614,
67
- * '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69
68
- * '0x0000000000000000000000000000000000000000',
69
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
70
- * '0.13', // 0.13 ETH
71
- * '4000.01', // price at 4000.01 (ETH/USDC)
72
- * )
73
+ * const { transaction } = await limitOrder({
74
+ * chainId: 421614,
75
+ * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69
76
+ * inputToken: '0x0000000000000000000000000000000000000000',
77
+ * outputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
78
+ * amount: '0.13', // 0.13 ETH
79
+ * price: '4000.01', // price at 4000.01 (ETH/USDC)
80
+ * })
73
81
  */
74
82
  export declare const limitOrder: (args: {
75
83
  chainId: CHAIN_IDS;
@@ -79,66 +87,106 @@ export declare const limitOrder: (args: {
79
87
  amount: string;
80
88
  price: string;
81
89
  options?: {
82
- signature?: PermitSignature;
90
+ erc20PermitParam?: ERC20PermitParam;
83
91
  postOnly?: boolean;
92
+ makeTick?: bigint;
93
+ takeLimitTick?: bigint;
94
+ roundingUpMakeBid?: boolean;
95
+ roundingDownMakeAsk?: boolean;
96
+ roundingDownTakenBid?: boolean;
97
+ roundingUpTakenAsk?: boolean;
84
98
  } & DefaultOptions;
85
- }) => Promise<Transaction>;
99
+ }) => Promise<{
100
+ transaction: Transaction;
101
+ result: {
102
+ make: CurrencyFlow & {
103
+ price: string;
104
+ };
105
+ taken: CurrencyFlow & {
106
+ events: {
107
+ price: string;
108
+ amount: string;
109
+ }[];
110
+ };
111
+ spent: CurrencyFlow & {
112
+ events: {
113
+ price: string;
114
+ amount: string;
115
+ }[];
116
+ };
117
+ };
118
+ }>;
86
119
  /**
87
120
  * Executes a market order on the specified chain for trading tokens.
121
+ * If only `amountIn` is provided, spend the specified amount of input tokens.
122
+ * If only `amountOut` is provided, take the specified amount of output tokens.
88
123
  *
89
124
  * @param {CHAIN_IDS} chainId The chain ID.
90
125
  * @param {`0x${string}`} userAddress The Ethereum address of the user placing the order.
91
126
  * @param {`0x${string}`} inputToken The address of the token to be used as input.
92
127
  * @param {`0x${string}`} outputToken The address of the token to be received as output.
93
- * @param {string} amount The amount of input tokens for the order.
94
- * @param {Object} [options] Optional parameters for the limit order.
95
- * @param {PermitSignature} [options.signature] The permit signature for token approval.
128
+ * @param {string} amountIn The amount of input tokens for the order to spend.
129
+ * @param {string} amountOut The amount of output tokens for the order to take.
130
+ * @param {Object} [options] Optional parameters for the market order.
131
+ * @param {erc20PermitParam} [options.erc20PermitParam] The permit signature for token approval.
96
132
  * @param {string} [options.rpcUrl] The RPC URL of the blockchain.
97
- * @param {string} [options.limitPrice] The upper bound price to tolerate for the market bid, or the lower bound price to tolerate for the market ask.
98
- * if the limit price is not provided, unlimited slippage is allowed.
99
- * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the limit order.
133
+ * @param {number} [options.gasLimit] The gas limit to use for the transaction.
134
+ * @param {boolean} [options.useSubgraph] A boolean indicating whether to use the subgraph for fetching orders.
135
+ * @param {number} [options.slippage] The maximum slippage percentage allowed for the order.
136
+ * if the slippage is not provided, unlimited slippage is allowed.
137
+ * @returns {Promise<{ transaction: Transaction, result: { spent: CurrencyFlow, taken: CurrencyFlow } }>}
138
+ * Promise resolving to the transaction object representing the market order with the result of the order.
100
139
  * @example
101
140
  * import { signERC20Permit, marketOrder } from '@clober/v2-sdk'
102
141
  * import { privateKeyToAccount } from 'viem/accounts'
103
142
  *
104
- * const signature = await signERC20Permit(
105
- * 421614,
106
- * privateKeyToAccount('0x...'),
107
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
108
- * '100.123'
109
- * )
143
+ * const erc20PermitParam = await signERC20Permit({
144
+ * chainId: 421614,
145
+ * walletClient,
146
+ * token: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
147
+ * amount: '100.123'
148
+ * })
110
149
  *
111
- * const transaction = await marketOrder(
112
- * 421614,
113
- * '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69
114
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
115
- * '0x0000000000000000000000000000000000000000',
116
- * '100.123', // 100.123 USDC
117
- * { signature }
118
- * )
119
- *
120
- * @example
121
- * import { marketOrder } from '@clober/v2-sdk'
150
+ * const transaction = await marketOrder({
151
+ * chainId: 421614,
152
+ * userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69
153
+ * inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
154
+ * outputToken: '0x0000000000000000000000000000000000000000',
155
+ * amount: '100.123', // 100.123 USDC
156
+ * options: { erc20PermitParam }
157
+ * })
122
158
  *
123
- * const transaction = await limitOrder(
124
- * 421614,
125
- * '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69
126
- * '0x0000000000000000000000000000000000000000',
127
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
128
- * '0.13', // 0.13 ETH
129
- * )
130
159
  */
131
160
  export declare const marketOrder: (args: {
132
161
  chainId: CHAIN_IDS;
133
162
  userAddress: `0x${string}`;
134
163
  inputToken: `0x${string}`;
135
164
  outputToken: `0x${string}`;
136
- amount: string;
165
+ amountIn?: string;
166
+ amountOut?: string;
137
167
  options?: {
138
- signature?: PermitSignature;
139
- limitPrice?: string;
168
+ erc20PermitParam?: ERC20PermitParam;
169
+ slippage?: number;
170
+ roundingDownTakenBid?: boolean;
171
+ roundingUpTakenAsk?: boolean;
140
172
  } & DefaultOptions;
141
- }) => Promise<Transaction>;
173
+ }) => Promise<{
174
+ transaction: Transaction;
175
+ result: {
176
+ taken: CurrencyFlow & {
177
+ events: {
178
+ price: string;
179
+ amount: string;
180
+ }[];
181
+ };
182
+ spent: CurrencyFlow & {
183
+ events: {
184
+ price: string;
185
+ amount: string;
186
+ }[];
187
+ };
188
+ };
189
+ }>;
142
190
  /**
143
191
  * Claims specified open order for settlement.
144
192
  * [IMPORTANT] Set ApprovalForAll before calling this function.
@@ -148,27 +196,33 @@ export declare const marketOrder: (args: {
148
196
  * @param {string} id An ID representing the open order to be claimed.
149
197
  * @param {Object} [options] Optional parameters for claiming orders.
150
198
  * @param {string} [options.rpcUrl] The RPC URL to use for executing the transaction.
151
- * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the claim action.
199
+ * @param {number} [options.gasLimit] The gas limit to use for the transaction.
200
+ * @param {boolean} [options.useSubgraph] A boolean indicating whether to use the subgraph for fetching orders.
201
+ * @returns {Promise<{ transaction: Transaction, result: CurrencyFlow }>}
202
+ * Promise resolving to the transaction object representing the claim action with the result of the order.
152
203
  * @throws {Error} Throws an error if no open orders are found for the specified user.
153
204
  * @example
154
205
  * import { getOpenOrders, claimOrders } from '@clober/v2-sdk'
155
206
  *
156
- * const openOrders = await getOpenOrders(
157
- * 421614,
158
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0'
159
- * )
160
- * const transaction = await claimOrders(
161
- * 421614,
162
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
163
- * openOrders.map((order) => order.id)
164
- * )
207
+ * const openOrders = await getOpenOrders({
208
+ * chainId: 421614,
209
+ * userAddress: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0'
210
+ * })
211
+ * const transaction = await claimOrders({
212
+ * chainId: 421614,
213
+ * userAddress: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
214
+ * id: openOrders.map((order) => order.id)
215
+ * })
165
216
  */
166
217
  export declare const claimOrder: (args: {
167
218
  chainId: CHAIN_IDS;
168
219
  userAddress: `0x${string}`;
169
220
  id: string;
170
221
  options?: DefaultOptions;
171
- }) => Promise<Transaction>;
222
+ }) => Promise<{
223
+ transaction: Transaction;
224
+ result: CurrencyFlow;
225
+ }>;
172
226
  /**
173
227
  * Claims specified open orders for settlement.
174
228
  * [IMPORTANT] Set ApprovalForAll before calling this function.
@@ -178,19 +232,22 @@ export declare const claimOrder: (args: {
178
232
  * @param {string[]} ids An array of IDs representing the open orders to be claimed.
179
233
  * @param {Object} [options] Optional parameters for claiming orders.
180
234
  * @param {string} [options.rpcUrl] The RPC URL to use for executing the transaction.
181
- * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the claim action.
235
+ * @param {number} [options.gasLimit] The gas limit to use for the transaction.
236
+ * @param {boolean} [options.useSubgraph] A boolean indicating whether to use the subgraph for fetching orders.
237
+ * @returns {Promise<{ transaction: Transaction, result: CurrencyFlow[] }>}
238
+ * Promise resolving to the transaction object representing the claim action with the result of the orders.
182
239
  * @throws {Error} Throws an error if no open orders are found for the specified user.
183
240
  * @example
184
241
  * import { getOpenOrders, claimOrders } from '@clober/v2-sdk'
185
242
  *
186
- * const openOrders = await getOpenOrders(
187
- * 421614,
188
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0'
189
- * )
243
+ * const openOrders = await getOpenOrders({
244
+ * chainId: 421614,
245
+ * userAddress: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0'
246
+ * })
190
247
  * const transaction = await claimOrders(
191
- * 421614,
192
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
193
- * openOrders.map((order) => order.id)
248
+ * chainId: 421614,
249
+ * userAddress: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
250
+ * ids: openOrders.map((order) => order.id)
194
251
  * )
195
252
  */
196
253
  export declare const claimOrders: (args: {
@@ -198,7 +255,10 @@ export declare const claimOrders: (args: {
198
255
  userAddress: `0x${string}`;
199
256
  ids: string[];
200
257
  options?: DefaultOptions;
201
- }) => Promise<Transaction>;
258
+ }) => Promise<{
259
+ transaction: Transaction;
260
+ result: CurrencyFlow[];
261
+ }>;
202
262
  /**
203
263
  * Cancels specified open order if the order is not fully filled.
204
264
  * [IMPORTANT] Set ApprovalForAll before calling this function.
@@ -208,27 +268,33 @@ export declare const claimOrders: (args: {
208
268
  * @param {string} id An ID representing the open order to be canceled
209
269
  * @param {Object} [options] Optional parameters for canceling orders.
210
270
  * @param {string} [options.rpcUrl] The RPC URL to use for executing the transaction.
211
- * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the cancel action.
271
+ * @param {number} [options.gasLimit] The gas limit to use for the transaction.
272
+ * @param {boolean} [options.useSubgraph] A boolean indicating whether to use the subgraph for fetching orders.
273
+ * @returns {Promise<{ transaction: Transaction, result: CurrencyFlow }>}
274
+ * Promise resolving to the transaction object representing the cancel action with the result of the order.
212
275
  * @throws {Error} Throws an error if no open orders are found for the specified user.
213
276
  * @example
214
277
  * import { getOpenOrders, cancelOrders } from '@clober/v2-sdk'
215
278
  *
216
- * const openOrders = await getOpenOrders(
217
- * 421614,
218
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0'
219
- * )
220
- * const transaction = await cancelOrders(
221
- * 421614,
222
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
223
- * openOrders.map((order) => order.id)
224
- * )
279
+ * const openOrders = await getOpenOrders({
280
+ * chainId: 421614,
281
+ * userAddress:'0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0'
282
+ * })
283
+ * const transaction = await cancelOrders({
284
+ * chainId: 421614,
285
+ * userAddress: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
286
+ * id: openOrders.map((order) => order.id)
287
+ * })
225
288
  */
226
289
  export declare const cancelOrder: (args: {
227
290
  chainId: CHAIN_IDS;
228
291
  userAddress: `0x${string}`;
229
292
  id: string;
230
293
  options?: DefaultOptions;
231
- }) => Promise<Transaction>;
294
+ }) => Promise<{
295
+ transaction: Transaction;
296
+ result: CurrencyFlow;
297
+ }>;
232
298
  /**
233
299
  * Cancels specified open orders if orders are not fully filled.
234
300
  * [IMPORTANT] Set ApprovalForAll before calling this function.
@@ -238,25 +304,31 @@ export declare const cancelOrder: (args: {
238
304
  * @param {string[]} ids An array of IDs representing the open orders to be canceled.
239
305
  * @param {Object} [options] Optional parameters for canceling orders.
240
306
  * @param {string} [options.rpcUrl] The RPC URL to use for executing the transaction.
241
- * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the cancel action.
307
+ * @param {number} [options.gasLimit] The gas limit to use for the transaction.
308
+ * @param {boolean} [options.useSubgraph] A boolean indicating whether to use the subgraph for fetching orders.
309
+ * @returns {Promise<{ transaction: Transaction, result: CurrencyFlow[] }>
310
+ * Promise resolving to the transaction object representing the cancel action with the result of the orders.
242
311
  * @throws {Error} Throws an error if no open orders are found for the specified user.
243
312
  * @example
244
313
  * import { getOpenOrders, cancelOrders } from '@clober/v2-sdk'
245
314
  *
246
- * const openOrders = await getOpenOrders(
247
- * 421614,
248
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0'
249
- * )
250
- * const transaction = await cancelOrders(
251
- * 421614,
252
- * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
253
- * openOrders.map((order) => order.id)
254
- * )
315
+ * const openOrders = await getOpenOrders({
316
+ * chainId: 421614,
317
+ * userAddress: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0'
318
+ * })
319
+ * const transaction = await cancelOrders({
320
+ * chainId: 421614,
321
+ * userAddress: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
322
+ * ids: openOrders.map((order) => order.id)
323
+ * })
255
324
  */
256
325
  export declare const cancelOrders: (args: {
257
326
  chainId: CHAIN_IDS;
258
327
  userAddress: `0x${string}`;
259
328
  ids: string[];
260
329
  options?: DefaultOptions;
261
- }) => Promise<Transaction>;
330
+ }) => Promise<{
331
+ transaction: Transaction;
332
+ result: CurrencyFlow[];
333
+ }>;
262
334
  //# sourceMappingURL=call.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/call.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAoBrE;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU;aAMV,SAAS;gBACN,KAAK,MAAM,EAAE;iBACZ,KAAK,MAAM,EAAE;cAChB,cAAc;sCAiC3B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,UAAU;aAUV,SAAS;iBACL,KAAK,MAAM,EAAE;gBACd,KAAK,MAAM,EAAE;iBACZ,KAAK,MAAM,EAAE;YAClB,MAAM;WACP,MAAM;cACH;QACR,SAAS,CAAC,EAAE,eAAe,CAAA;QAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,GAAG,cAAc;0BAmJrB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,WAAW;aASX,SAAS;iBACL,KAAK,MAAM,EAAE;gBACd,KAAK,MAAM,EAAE;iBACZ,KAAK,MAAM,EAAE;YAClB,MAAM;cACJ;QACR,SAAS,CAAC,EAAE,eAAe,CAAA;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,GAAG,cAAc;0BAqErB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,UAAU;aAOV,SAAS;iBACL,KAAK,MAAM,EAAE;QACtB,MAAM;cACA,cAAc;0BAS3B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,WAAW;aAOX,SAAS;iBACL,KAAK,MAAM,EAAE;SACrB,MAAM,EAAE;cACH,cAAc;0BAiD3B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,WAAW;aAOX,SAAS;iBACL,KAAK,MAAM,EAAE;QACtB,MAAM;cACA,cAAc;0BAS3B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,YAAY;aAOZ,SAAS;iBACL,KAAK,MAAM,EAAE;SACrB,MAAM,EAAE;cACH,cAAc;0BAkD3B,CAAA"}
1
+ {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/call.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../src/constants/addresses.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,eAAO,MAAM,kBAAkB,EAAE;KAC9B,KAAK,IAAI,SAAS,GAAG;QACpB,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;QACzB,WAAW,EAAE,KAAK,MAAM,EAAE,CAAA;QAC1B,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;KAC1B;CAOF,CAAA"}
1
+ {"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../src/constants/addresses.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,eAAO,MAAM,kBAAkB,EAAE;KAC9B,KAAK,IAAI,SAAS,GAAG;QACpB,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;QACzB,WAAW,EAAE,KAAK,MAAM,EAAE,CAAA;QAC1B,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;KAC1B;CAgCF,CAAA"}
@@ -1,7 +1,11 @@
1
1
  import { type Chain } from 'viem/chains';
2
2
  export declare enum CHAIN_IDS {
3
- MAINNET,
4
- ARBITRUM_SEPOLIA
3
+ CLOBER_TESTNET,
4
+ ARBITRUM_SEPOLIA,
5
+ BASE,
6
+ BERACHAIN_TESTNET,
7
+ ZKSYNC,
8
+ ZKSYNC_SEPOLIA
5
9
  }
6
10
  export declare const CHAIN_MAP: {
7
11
  [chain in CHAIN_IDS]: Chain;
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/constants/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,KAAK,EAAW,MAAM,aAAa,CAAA;AAElE,oBAAY,SAAS;IACnB,OAAoB;IACpB,gBAAqC;CACtC;AAED,eAAO,MAAM,SAAS,EAAE;KACrB,KAAK,IAAI,SAAS,GAAG,KAAK;CAG5B,CAAA"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/constants/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,KAAK,EAGX,MAAM,aAAa,CAAA;AAIpB,oBAAY,SAAS;IACnB,cAAmC;IACnC,gBAAqC;IACrC,IAAc;IACd,iBAAuC;IACvC,MAAkB;IAClB,cAAwC;CACzC;AAED,eAAO,MAAM,SAAS,EAAE;KACrB,KAAK,IAAI,SAAS,GAAG,KAAK;CAgB5B,CAAA"}
@@ -1,4 +1,4 @@
1
- import { PublicClient } from 'viem';
1
+ import { type PublicClient } from 'viem';
2
2
  import { CHAIN_IDS } from './chain';
3
3
  export declare const cachedPublicClients: Record<CHAIN_IDS, PublicClient>;
4
4
  export declare const buildPublicClient: (chainId: CHAIN_IDS, rpcUrl?: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/constants/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA4B,MAAM,MAAM,CAAA;AAE7D,OAAO,EAAE,SAAS,EAAa,MAAM,SAAS,CAAA;AAE9C,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAe,CAAA;AAC/E,eAAO,MAAM,iBAAiB,YAAa,SAAS,WAAW,MAAM,SAKpE,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/constants/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAGlE,OAAO,EAAE,SAAS,EAAa,MAAM,SAAS,CAAA;AAE9C,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAe,CAAA;AAC/E,eAAO,MAAM,iBAAiB,YAAa,SAAS,WAAW,MAAM,SAWpE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../../src/constants/currency.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,eAAO,MAAM,cAAc,EAAE;KAC1B,KAAK,IAAI,SAAS,GAAG,KAAK,MAAM,EAAE,EAAE;CAGtC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE;KACjC,KAAK,IAAI,SAAS,GAAG,KAAK,MAAM,EAAE,EAAE;CAGtC,CAAA"}
1
+ {"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../../src/constants/currency.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,eAAO,MAAM,cAAc,EAAE;KAC1B,KAAK,IAAI,SAAS,GAAG,KAAK,MAAM,EAAE,EAAE;CAYtC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE;KACjC,KAAK,IAAI,SAAS,GAAG,KAAK,MAAM,EAAE,EAAE;CAoBtC,CAAA"}
@@ -1,4 +1,9 @@
1
1
  import { FeePolicy } from '../model/fee-policy';
2
- export declare const MAKER_DEFAULT_POLICY: FeePolicy;
3
- export declare const TAKER_DEFAULT_POLICY: FeePolicy;
2
+ import { CHAIN_IDS } from './chain';
3
+ export declare const MAKER_DEFAULT_POLICY: {
4
+ [chain in CHAIN_IDS]: FeePolicy;
5
+ };
6
+ export declare const TAKER_DEFAULT_POLICY: {
7
+ [chain in CHAIN_IDS]: FeePolicy;
8
+ };
4
9
  //# sourceMappingURL=fee.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fee.d.ts","sourceRoot":"","sources":["../../../src/constants/fee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,eAAO,MAAM,oBAAoB,WAA6B,CAAA;AAC9D,eAAO,MAAM,oBAAoB,WAA6B,CAAA"}
1
+ {"version":3,"file":"fee.d.ts","sourceRoot":"","sources":["../../../src/constants/fee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,eAAO,MAAM,oBAAoB,EAAE;KAChC,KAAK,IAAI,SAAS,GAAG,SAAS;CAQhC,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE;KAChC,KAAK,IAAI,SAAS,GAAG,SAAS;CAQhC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { CHAIN_IDS } from './chain';
2
+ declare class Subgraph {
3
+ private subgraphURL;
4
+ constructor(chainId: CHAIN_IDS);
5
+ get<T>(operationName: string, query: string, variables: {}): Promise<T>;
6
+ }
7
+ export declare const cachedSubgraph: Record<CHAIN_IDS, Subgraph | undefined>;
8
+ export declare const buildSubgraph: (chainId: CHAIN_IDS, useSubgraph?: boolean) => void;
9
+ export {};
10
+ //# sourceMappingURL=subgraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subgraph.d.ts","sourceRoot":"","sources":["../../../src/constants/subgraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAmBnC,cAAM,QAAQ;IACZ,OAAO,CAAC,WAAW,CAAQ;gBAEf,OAAO,EAAE,SAAS;IAOjB,GAAG,CAAC,CAAC,EAChB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,CAAC,CAAC;CAqBd;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,GAAG,SAAS,CACtD,CAAA;AACb,eAAO,MAAM,aAAa,YACf,SAAS,gBACL,OAAO,SAOrB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Chain } from 'viem';
2
+ export declare const cloberTestChain: Chain;
3
+ //# sourceMappingURL=test-chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-chain.d.ts","sourceRoot":"","sources":["../../../src/constants/test-chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAE5B,eAAO,MAAM,eAAe,EAAE,KAsB7B,CAAA"}
@@ -3,4 +3,5 @@ export * from './view';
3
3
  export * from './call';
4
4
  export * from './signature';
5
5
  export * from './approval';
6
+ export * from './utils';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
@@ -1,52 +1,46 @@
1
+ import { CHAIN_IDS } from '../constants/chain';
1
2
  import type { Currency } from './currency';
2
- import type { RawDepth } from './depth';
3
- export type BookDto = {
4
- id: string;
5
- base: {
6
- id: string;
7
- name: string;
8
- symbol: string;
9
- decimals: string;
10
- };
11
- quote: {
12
- id: string;
13
- name: string;
14
- symbol: string;
15
- decimals: string;
16
- };
17
- unit: string;
18
- depths: {
19
- tick: string;
20
- price: string;
21
- rawAmount: string;
22
- }[];
23
- };
3
+ import type { DepthDto } from './depth';
24
4
  export declare class Book {
5
+ chainId: CHAIN_IDS;
25
6
  id: bigint;
26
7
  base: Currency;
27
- unit: bigint;
8
+ unitSize: bigint;
28
9
  quote: Currency;
29
- depths: RawDepth[];
30
- constructor({ id, base, quote, unit, depths, }: {
10
+ depths: DepthDto[];
11
+ isOpened: boolean;
12
+ constructor({ chainId, id, base, quote, unitSize, depths, isOpened, }: {
13
+ chainId: CHAIN_IDS;
31
14
  id: bigint;
32
15
  base: Currency;
33
16
  quote: Currency;
34
- unit: bigint;
35
- depths: RawDepth[];
17
+ unitSize: bigint;
18
+ depths: DepthDto[];
19
+ isOpened: boolean;
36
20
  });
37
21
  take: ({ limitPrice, amountOut, }: {
38
22
  limitPrice: bigint;
39
23
  amountOut: bigint;
40
24
  }) => {
41
25
  takenQuoteAmount: bigint;
42
- spendBaseAmount: bigint;
26
+ spentBaseAmount: bigint;
27
+ events: {
28
+ tick: bigint;
29
+ takenQuoteAmount: bigint;
30
+ spentBaseAmount: bigint;
31
+ }[];
43
32
  };
44
33
  spend: ({ limitPrice, amountIn, }: {
45
34
  limitPrice: bigint;
46
35
  amountIn: bigint;
47
36
  }) => {
48
37
  takenQuoteAmount: bigint;
49
- spendBaseAmount: bigint;
38
+ spentBaseAmount: bigint;
39
+ events: {
40
+ tick: bigint;
41
+ takenQuoteAmount: bigint;
42
+ spentBaseAmount: bigint;
43
+ }[];
50
44
  };
51
45
  }
52
46
  //# sourceMappingURL=book.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"book.d.ts","sourceRoot":"","sources":["../../../src/model/book.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;KAClB,EAAE,CAAA;CACJ,CAAA;AAED,qBAAa,IAAI;IACf,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE,QAAQ,EAAE,CAAA;gBAEN,EACV,EAAE,EACF,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,GACP,EAAE;QACD,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,QAAQ,CAAA;QACd,KAAK,EAAE,QAAQ,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,QAAQ,EAAE,CAAA;KACnB;IAQD,IAAI,+BAGD;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,EAAE,MAAM,CAAA;KAClB;;;MA2DA;IAED,KAAK,8BAGF;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;KACjB;;;MAwDA;CACF"}
1
+ {"version":3,"file":"book.d.ts","sourceRoot":"","sources":["../../../src/model/book.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,qBAAa,IAAI;IACf,OAAO,EAAE,SAAS,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;gBAEL,EACV,OAAO,EACP,EAAE,EACF,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,GACT,EAAE;QACD,OAAO,EAAE,SAAS,CAAA;QAClB,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,QAAQ,CAAA;QACd,KAAK,EAAE,QAAQ,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,QAAQ,EAAE,CAAA;QAClB,QAAQ,EAAE,OAAO,CAAA;KAClB;IAUD,IAAI,+BAGD;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,EAAE,MAAM,CAAA;KAClB;;;;kBAES,MAAM;8BACM,MAAM;6BACP,MAAM;;MAoE1B;IAED,KAAK,8BAGF;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;KACjB;;;;kBAES,MAAM;8BACM,MAAM;6BACP,MAAM;;MAiE1B;CACF"}
@@ -0,0 +1,9 @@
1
+ export type ChartLogDto = {
2
+ timestamp: string;
3
+ open: string;
4
+ high: string;
5
+ low: string;
6
+ close: string;
7
+ baseVolume: string;
8
+ };
9
+ //# sourceMappingURL=chart-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-log.d.ts","sourceRoot":"","sources":["../../../src/model/chart-log.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA"}