@clober/v2-sdk 0.0.1-j → 0.0.1-l

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 (227) 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 +14485 -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 +14483 -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/dist/esm/utils/book-id.js +21 -0
  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 +2 -1
@@ -0,0 +1,545 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cancelOrders = exports.cancelOrder = exports.claimOrders = exports.claimOrder = exports.marketOrder = exports.limitOrder = exports.openMarket = void 0;
4
+ const viem_1 = require("viem");
5
+ const chain_1 = require("./constants/chain");
6
+ const unit_1 = require("./utils/unit");
7
+ const controller_abi_1 = require("./abis/core/controller-abi");
8
+ const time_1 = require("./utils/time");
9
+ const build_transaction_1 = require("./utils/build-transaction");
10
+ const addresses_1 = require("./constants/addresses");
11
+ const fee_1 = require("./constants/fee");
12
+ const market_1 = require("./apis/market");
13
+ const prices_1 = require("./utils/prices");
14
+ const tick_1 = require("./utils/tick");
15
+ const view_1 = require("./view");
16
+ const book_id_1 = require("./utils/book-id");
17
+ const params_abi_1 = require("./abis/core/params-abi");
18
+ const action_1 = require("./constants/action");
19
+ const approval_1 = require("./utils/approval");
20
+ /**
21
+ * Build a transaction to open a market.
22
+ *
23
+ * @param chainId The chain ID of the blockchain.
24
+ * @param inputToken The address of the input token.
25
+ * @param outputToken The address of the output token.
26
+ * @param options
27
+ * @param options.rpcUrl The RPC URL of the blockchain.
28
+ * @returns A Promise resolving to a transaction object. If the market is already open, returns undefined.
29
+ * @example
30
+ * import { openMarket } from '@clober/v2-sdk'
31
+ *
32
+ * const transaction = await openMarket(
33
+ * 421614,
34
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
35
+ * '0x0000000000000000000000000000000000000000'
36
+ * )
37
+ */
38
+ const openMarket = async (chainId, inputToken, outputToken, options) => {
39
+ const market = await (0, market_1.fetchMarket)(chainId, [inputToken, outputToken], options?.rpcUrl);
40
+ const isBid = (0, viem_1.isAddressEqual)(market.quote.address, inputToken);
41
+ if ((isBid && !market.bidBookOpen) || (!isBid && !market.askBookOpen)) {
42
+ const unit = await (0, unit_1.calculateUnit)(chainId, isBid ? market.quote : market.base, options?.rpcUrl);
43
+ return (0, build_transaction_1.buildTransaction)(chainId, {
44
+ address: addresses_1.CONTRACT_ADDRESSES[chainId].Controller,
45
+ abi: controller_abi_1.CONTROLLER_ABI,
46
+ functionName: 'open',
47
+ args: [
48
+ [
49
+ {
50
+ key: {
51
+ base: inputToken,
52
+ unit,
53
+ quote: outputToken,
54
+ makerPolicy: fee_1.MAKER_DEFAULT_POLICY.value,
55
+ hooks: viem_1.zeroAddress,
56
+ takerPolicy: fee_1.TAKER_DEFAULT_POLICY.value,
57
+ },
58
+ hookData: viem_1.zeroHash,
59
+ },
60
+ ],
61
+ (0, time_1.getDeadlineTimestampInSeconds)(),
62
+ ],
63
+ }, options?.rpcUrl);
64
+ }
65
+ return undefined;
66
+ };
67
+ exports.openMarket = openMarket;
68
+ /**
69
+ * Places a limit order on the specified chain for trading tokens.
70
+ *
71
+ * @param {CHAIN_IDS} chainId The chain ID.
72
+ * @param {`0x${string}`} userAddress The Ethereum address of the user placing the order.
73
+ * @param {`0x${string}`} inputToken The address of the token to be used as input.
74
+ * @param {`0x${string}`} outputToken The address of the token to be received as output.
75
+ * @param {string} amount The amount of input tokens for the order.
76
+ * @param {string} price The price at which the order should be executed.
77
+ * @param {Object} [options] Optional parameters for the limit order.
78
+ * @param {PermitSignature} [options.signature] The permit signature for token approval.
79
+ * @param {boolean} [options.postOnly] A boolean indicating whether the order is only to be made not taken.
80
+ * @param {string} [options.rpcUrl] The RPC URL of the blockchain.
81
+ * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the limit order.
82
+ * @example
83
+ * import { signERC20Permit, limitOrder } from '@clober/v2-sdk'
84
+ * import { privateKeyToAccount } from 'viem/accounts'
85
+ *
86
+ * const signature = await signERC20Permit(
87
+ * 421614,
88
+ * privateKeyToAccount('0x...'),
89
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
90
+ * '100.123'
91
+ * )
92
+ *
93
+ * const transaction = await limitOrder(
94
+ * 421614,
95
+ * '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69
96
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
97
+ * '0x0000000000000000000000000000000000000000',
98
+ * '100.123', // 100.123 USDC
99
+ * '4000.01', // price at 4000.01 (ETH/USDC)
100
+ * { signature }
101
+ * )
102
+ *
103
+ * @example
104
+ * import { limitOrder } from '@clober/v2-sdk'
105
+ *
106
+ * const transaction = await limitOrder(
107
+ * 421614,
108
+ * '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69
109
+ * '0x0000000000000000000000000000000000000000',
110
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
111
+ * '0.13', // 0.13 ETH
112
+ * '4000.01', // price at 4000.01 (ETH/USDC)
113
+ * )
114
+ */
115
+ const limitOrder = async (chainId, userAddress, inputToken, outputToken, amount, price, options) => {
116
+ const { signature, postOnly, rpcUrl } = options || {
117
+ signature: undefined,
118
+ postOnly: false,
119
+ rpcUrl: undefined,
120
+ };
121
+ const market = await (0, market_1.fetchMarket)(chainId, [inputToken, outputToken], rpcUrl);
122
+ const isBid = (0, viem_1.isAddressEqual)(market.quote.address, inputToken);
123
+ if ((isBid && !market.bidBookOpen) || (!isBid && !market.askBookOpen)) {
124
+ throw new Error(`
125
+ import { openMarket } from '@clober/v2-sdk'
126
+
127
+ const transaction = await openMarket(
128
+ ${chainId},
129
+ '${inputToken}',
130
+ '${outputToken}',
131
+ )
132
+ `);
133
+ }
134
+ const rawPrice = (0, prices_1.parsePrice)(Number(price), market.quote.decimals, market.base.decimals);
135
+ const tick = isBid ? (0, tick_1.fromPrice)(rawPrice) : (0, tick_1.fromPrice)((0, tick_1.invertPrice)(rawPrice));
136
+ const tokensToSettle = [inputToken, outputToken].filter((address) => !(0, viem_1.isAddressEqual)(address, viem_1.zeroAddress));
137
+ const quoteAmount = (0, viem_1.parseUnits)(amount, isBid ? market.quote.decimals : market.base.decimals);
138
+ const [unit, { result }] = await Promise.all([
139
+ (0, unit_1.calculateUnit)(chainId, isBid ? market.quote : market.base, rpcUrl),
140
+ (0, view_1.getExpectedOutput)(chainId, inputToken, outputToken, amount, rpcUrl
141
+ ? {
142
+ limitPrice: price,
143
+ rpcUrl,
144
+ }
145
+ : {
146
+ limitPrice: price,
147
+ }),
148
+ ]);
149
+ const isETH = (0, viem_1.isAddressEqual)(inputToken, viem_1.zeroAddress);
150
+ const permitParamsList = signature && !isETH
151
+ ? [
152
+ {
153
+ token: inputToken,
154
+ permitAmount: quoteAmount,
155
+ signature,
156
+ },
157
+ ]
158
+ : [];
159
+ const makeParam = {
160
+ id: (0, book_id_1.toBookId)(inputToken, outputToken, unit),
161
+ tick: Number(tick),
162
+ quoteAmount,
163
+ hookData: viem_1.zeroHash,
164
+ };
165
+ if (postOnly === true || result.length === 0) {
166
+ return (0, build_transaction_1.buildTransaction)(chainId, {
167
+ chain: chain_1.CHAIN_MAP[chainId],
168
+ account: userAddress,
169
+ address: addresses_1.CONTRACT_ADDRESSES[chainId].Controller,
170
+ abi: controller_abi_1.CONTROLLER_ABI,
171
+ functionName: 'make',
172
+ args: [
173
+ [makeParam],
174
+ tokensToSettle,
175
+ permitParamsList,
176
+ (0, time_1.getDeadlineTimestampInSeconds)(),
177
+ ],
178
+ value: isETH ? quoteAmount : 0n,
179
+ }, options?.rpcUrl);
180
+ }
181
+ else if (result.length === 1) {
182
+ // take and make
183
+ return (0, build_transaction_1.buildTransaction)(chainId, {
184
+ chain: chain_1.CHAIN_MAP[chainId],
185
+ account: userAddress,
186
+ address: addresses_1.CONTRACT_ADDRESSES[chainId].Controller,
187
+ abi: controller_abi_1.CONTROLLER_ABI,
188
+ functionName: 'limit',
189
+ args: [
190
+ [
191
+ {
192
+ takeBookId: result[0].bookId,
193
+ makeBookId: makeParam.id,
194
+ limitPrice: rawPrice,
195
+ tick: makeParam.tick,
196
+ quoteAmount,
197
+ takeHookData: viem_1.zeroHash,
198
+ makeHookData: makeParam.hookData,
199
+ },
200
+ ],
201
+ tokensToSettle,
202
+ permitParamsList,
203
+ (0, time_1.getDeadlineTimestampInSeconds)(),
204
+ ],
205
+ value: isETH ? quoteAmount : 0n,
206
+ }, options?.rpcUrl);
207
+ }
208
+ else {
209
+ // take x n and make
210
+ const makeAmount = quoteAmount -
211
+ result.reduce((acc, { spendAmount }) => acc + spendAmount, 0n);
212
+ return (0, build_transaction_1.buildTransaction)(chainId, {
213
+ chain: chain_1.CHAIN_MAP[chainId],
214
+ account: userAddress,
215
+ address: addresses_1.CONTRACT_ADDRESSES[chainId].Controller,
216
+ abi: controller_abi_1.CONTROLLER_ABI,
217
+ functionName: 'execute',
218
+ args: [
219
+ [
220
+ ...result.map(() => action_1.Action.TAKE),
221
+ ...(makeAmount > 0n ? [action_1.Action.MAKE] : []),
222
+ ],
223
+ [
224
+ ...result.map(({ bookId, takenAmount }) => (0, viem_1.encodeAbiParameters)(params_abi_1.TAKE_ORDER_PARAMS_ABI, [
225
+ {
226
+ id: bookId,
227
+ limitPrice: rawPrice,
228
+ quoteAmount: takenAmount,
229
+ hookData: viem_1.zeroHash,
230
+ },
231
+ ])),
232
+ ...(makeAmount > 0n
233
+ ? [
234
+ (0, viem_1.encodeAbiParameters)(params_abi_1.MAKE_ORDER_PARAMS_ABI, [
235
+ {
236
+ ...makeParam,
237
+ quoteAmount: makeAmount,
238
+ },
239
+ ]),
240
+ ]
241
+ : []),
242
+ ],
243
+ tokensToSettle,
244
+ permitParamsList,
245
+ [],
246
+ (0, time_1.getDeadlineTimestampInSeconds)(),
247
+ ],
248
+ value: isETH ? quoteAmount : 0n,
249
+ }, options?.rpcUrl);
250
+ }
251
+ };
252
+ exports.limitOrder = limitOrder;
253
+ /**
254
+ * Executes a market order on the specified chain for trading tokens.
255
+ *
256
+ * @param {CHAIN_IDS} chainId The chain ID.
257
+ * @param {`0x${string}`} userAddress The Ethereum address of the user placing the order.
258
+ * @param {`0x${string}`} inputToken The address of the token to be used as input.
259
+ * @param {`0x${string}`} outputToken The address of the token to be received as output.
260
+ * @param {string} amount The amount of input tokens for the order.
261
+ * @param {Object} [options] Optional parameters for the limit order.
262
+ * @param {PermitSignature} [options.signature] The permit signature for token approval.
263
+ * @param {string} [options.rpcUrl] The RPC URL of the blockchain.
264
+ * @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.
265
+ * if the limit price is not provided, unlimited slippage is allowed.
266
+ * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the limit order.
267
+ * @example
268
+ * import { signERC20Permit, marketOrder } from '@clober/v2-sdk'
269
+ * import { privateKeyToAccount } from 'viem/accounts'
270
+ *
271
+ * const signature = await signERC20Permit(
272
+ * 421614,
273
+ * privateKeyToAccount('0x...'),
274
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
275
+ * '100.123'
276
+ * )
277
+ *
278
+ * const transaction = await marketOrder(
279
+ * 421614,
280
+ * '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69
281
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
282
+ * '0x0000000000000000000000000000000000000000',
283
+ * '100.123', // 100.123 USDC
284
+ * { signature }
285
+ * )
286
+ *
287
+ * @example
288
+ * import { marketOrder } from '@clober/v2-sdk'
289
+ *
290
+ * const transaction = await limitOrder(
291
+ * 421614,
292
+ * '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69
293
+ * '0x0000000000000000000000000000000000000000',
294
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
295
+ * '0.13', // 0.13 ETH
296
+ * )
297
+ */
298
+ const marketOrder = async (chainId, userAddress, inputToken, outputToken, amount, options) => {
299
+ const { signature, rpcUrl, limitPrice } = options || {
300
+ signature: undefined,
301
+ rpcUrl: undefined,
302
+ limitPrice: undefined,
303
+ };
304
+ const market = await (0, market_1.fetchMarket)(chainId, [inputToken, outputToken], rpcUrl);
305
+ const isBid = (0, viem_1.isAddressEqual)(market.quote.address, inputToken);
306
+ if ((isBid && !market.bidBookOpen) || (!isBid && !market.askBookOpen)) {
307
+ throw new Error(`
308
+ import { openMarket } from '@clober/v2-sdk'
309
+
310
+ const transaction = await openMarket(
311
+ ${chainId},
312
+ '${inputToken}',
313
+ '${outputToken}',
314
+ )
315
+ `);
316
+ }
317
+ const rawLimitPrice = (0, prices_1.parsePrice)(Number(limitPrice ?? '0'), market.quote.decimals, market.base.decimals);
318
+ const tokensToSettle = [inputToken, outputToken].filter((address) => !(0, viem_1.isAddressEqual)(address, viem_1.zeroAddress));
319
+ const quoteAmount = (0, viem_1.parseUnits)(amount, isBid ? market.quote.decimals : market.base.decimals);
320
+ const { result } = await (0, view_1.getExpectedOutput)(chainId, inputToken, outputToken, amount, rpcUrl
321
+ ? {
322
+ rpcUrl,
323
+ }
324
+ : {});
325
+ const isETH = (0, viem_1.isAddressEqual)(inputToken, viem_1.zeroAddress);
326
+ const permitParamsList = signature && !isETH
327
+ ? [
328
+ {
329
+ token: inputToken,
330
+ permitAmount: quoteAmount,
331
+ signature,
332
+ },
333
+ ]
334
+ : [];
335
+ return (0, build_transaction_1.buildTransaction)(chainId, {
336
+ chain: chain_1.CHAIN_MAP[chainId],
337
+ account: userAddress,
338
+ address: addresses_1.CONTRACT_ADDRESSES[chainId].Controller,
339
+ abi: controller_abi_1.CONTROLLER_ABI,
340
+ functionName: 'take',
341
+ args: [
342
+ result.map(({ bookId, takenAmount }) => ({
343
+ id: bookId,
344
+ limitPrice: isBid ? (0, tick_1.invertPrice)(rawLimitPrice) : rawLimitPrice,
345
+ quoteAmount: takenAmount,
346
+ hookData: viem_1.zeroHash,
347
+ })),
348
+ tokensToSettle,
349
+ permitParamsList,
350
+ (0, time_1.getDeadlineTimestampInSeconds)(),
351
+ ],
352
+ value: isETH ? quoteAmount : 0n,
353
+ }, options?.rpcUrl);
354
+ };
355
+ exports.marketOrder = marketOrder;
356
+ /**
357
+ * Claims specified open order for settlement.
358
+ * [IMPORTANT] Set ApprovalForAll before calling this function.
359
+ *
360
+ * @param {CHAIN_IDS} chainId The chain ID.
361
+ * @param {`0x${string}`} userAddress The Ethereum address of the user.
362
+ * @param {string} id An ID representing the open order to be claimed.
363
+ * @param {Object} [options] Optional parameters for claiming orders.
364
+ * @param {string} [options.rpcUrl] The RPC URL to use for executing the transaction.
365
+ * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the claim action.
366
+ * @throws {Error} Throws an error if no open orders are found for the specified user.
367
+ * @example
368
+ * import { getOpenOrders, claimOrders } from '@clober/v2-sdk'
369
+ *
370
+ * const openOrders = await getOpenOrders(
371
+ * 421614,
372
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0'
373
+ * )
374
+ * const transaction = await claimOrders(
375
+ * 421614,
376
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
377
+ * openOrders.map((order) => order.id)
378
+ * )
379
+ */
380
+ const claimOrder = async (chainId, userAddress, id, options) => {
381
+ return (0, exports.claimOrders)(chainId, userAddress, [id], options);
382
+ };
383
+ exports.claimOrder = claimOrder;
384
+ /**
385
+ * Claims specified open orders for settlement.
386
+ * [IMPORTANT] Set ApprovalForAll before calling this function.
387
+ *
388
+ * @param {CHAIN_IDS} chainId The chain ID.
389
+ * @param {`0x${string}`} userAddress The Ethereum address of the user.
390
+ * @param {string[]} ids An array of IDs representing the open orders to be claimed.
391
+ * @param {Object} [options] Optional parameters for claiming orders.
392
+ * @param {string} [options.rpcUrl] The RPC URL to use for executing the transaction.
393
+ * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the claim action.
394
+ * @throws {Error} Throws an error if no open orders are found for the specified user.
395
+ * @example
396
+ * import { getOpenOrders, claimOrders } from '@clober/v2-sdk'
397
+ *
398
+ * const openOrders = await getOpenOrders(
399
+ * 421614,
400
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0'
401
+ * )
402
+ * const transaction = await claimOrders(
403
+ * 421614,
404
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
405
+ * openOrders.map((order) => order.id)
406
+ * )
407
+ */
408
+ const claimOrders = async (chainId, userAddress, ids, options) => {
409
+ const { rpcUrl } = options || {
410
+ rpcUrl: undefined,
411
+ };
412
+ const isApprovedForAll = await (0, approval_1.fetchIsApprovedForAll)(chainId, userAddress, options?.rpcUrl);
413
+ if (!isApprovedForAll) {
414
+ throw new Error(`
415
+ import { setApprovalOfOpenOrdersForAll } from '@clober/v2-sdk'
416
+
417
+ const hash = await setApprovalOfOpenOrdersForAll(
418
+ ${chainId},
419
+ privateKeyToAccount('0x...')
420
+ )
421
+ `);
422
+ }
423
+ const openOrders = (await (0, view_1.getOpenOrders)(chainId, userAddress, rpcUrl ? { rpcUrl } : {})).filter((order) => ids.includes(order.id));
424
+ if (openOrders.length === 0) {
425
+ throw new Error(`No claimable open orders found for ${userAddress}`);
426
+ }
427
+ const tokensToSettle = openOrders
428
+ .map((order) => [order.outputCurrency.address, order.inputCurrency.address])
429
+ .flat()
430
+ .filter((address, index, self) => self.findIndex((c) => (0, viem_1.isAddressEqual)(c, address)) === index)
431
+ .filter((address) => !(0, viem_1.isAddressEqual)(address, viem_1.zeroAddress));
432
+ return (0, build_transaction_1.buildTransaction)(chainId, {
433
+ chain: chain_1.CHAIN_MAP[chainId],
434
+ account: userAddress,
435
+ address: addresses_1.CONTRACT_ADDRESSES[chainId].Controller,
436
+ abi: controller_abi_1.CONTROLLER_ABI,
437
+ functionName: 'claim',
438
+ args: [
439
+ openOrders.map((order) => ({
440
+ id: BigInt(order.id),
441
+ hookData: viem_1.zeroHash,
442
+ })),
443
+ tokensToSettle,
444
+ [],
445
+ (0, time_1.getDeadlineTimestampInSeconds)(),
446
+ ],
447
+ }, options?.rpcUrl);
448
+ };
449
+ exports.claimOrders = claimOrders;
450
+ /**
451
+ * Cancels specified open order if the order is not fully filled.
452
+ * [IMPORTANT] Set ApprovalForAll before calling this function.
453
+ *
454
+ * @param {CHAIN_IDS} chainId The chain ID.
455
+ * @param {`0x${string}`} userAddress The Ethereum address of the user.
456
+ * @param {string} id An ID representing the open order to be canceled
457
+ * @param {Object} [options] Optional parameters for canceling orders.
458
+ * @param {string} [options.rpcUrl] The RPC URL to use for executing the transaction.
459
+ * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the cancel action.
460
+ * @throws {Error} Throws an error if no open orders are found for the specified user.
461
+ * @example
462
+ * import { getOpenOrders, cancelOrders } from '@clober/v2-sdk'
463
+ *
464
+ * const openOrders = await getOpenOrders(
465
+ * 421614,
466
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0'
467
+ * )
468
+ * const transaction = await cancelOrders(
469
+ * 421614,
470
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
471
+ * openOrders.map((order) => order.id)
472
+ * )
473
+ */
474
+ const cancelOrder = async (chainId, userAddress, id, options) => {
475
+ return (0, exports.cancelOrders)(chainId, userAddress, [id], options);
476
+ };
477
+ exports.cancelOrder = cancelOrder;
478
+ /**
479
+ * Cancels specified open orders if orders are not fully filled.
480
+ * [IMPORTANT] Set ApprovalForAll before calling this function.
481
+ *
482
+ * @param {CHAIN_IDS} chainId The chain ID.
483
+ * @param {`0x${string}`} userAddress The Ethereum address of the user.
484
+ * @param {string[]} ids An array of IDs representing the open orders to be canceled.
485
+ * @param {Object} [options] Optional parameters for canceling orders.
486
+ * @param {string} [options.rpcUrl] The RPC URL to use for executing the transaction.
487
+ * @returns {Promise<Transaction>} Promise resolving to the transaction object representing the cancel action.
488
+ * @throws {Error} Throws an error if no open orders are found for the specified user.
489
+ * @example
490
+ * import { getOpenOrders, cancelOrders } from '@clober/v2-sdk'
491
+ *
492
+ * const openOrders = await getOpenOrders(
493
+ * 421614,
494
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0'
495
+ * )
496
+ * const transaction = await cancelOrders(
497
+ * 421614,
498
+ * '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
499
+ * openOrders.map((order) => order.id)
500
+ * )
501
+ */
502
+ const cancelOrders = async (chainId, userAddress, ids, options) => {
503
+ const { rpcUrl } = options || {
504
+ rpcUrl: undefined,
505
+ };
506
+ const isApprovedForAll = await (0, approval_1.fetchIsApprovedForAll)(chainId, userAddress, options?.rpcUrl);
507
+ if (!isApprovedForAll) {
508
+ throw new Error(`
509
+ import { setApprovalOfOpenOrdersForAll } from '@clober/v2-sdk'
510
+
511
+ const hash = await setApprovalOfOpenOrdersForAll(
512
+ ${chainId},
513
+ privateKeyToAccount('0x...')
514
+ )
515
+ `);
516
+ }
517
+ const openOrders = (await (0, view_1.getOpenOrders)(chainId, userAddress, rpcUrl ? { rpcUrl } : {})).filter((order) => ids.includes(order.id) && order.cancelable);
518
+ if (openOrders.length === 0) {
519
+ throw new Error(`No cancelable open orders found for ${userAddress}`);
520
+ }
521
+ const tokensToSettle = openOrders
522
+ .map((order) => [order.outputCurrency.address, order.inputCurrency.address])
523
+ .flat()
524
+ .filter((address, index, self) => self.findIndex((c) => (0, viem_1.isAddressEqual)(c, address)) === index)
525
+ .filter((address) => !(0, viem_1.isAddressEqual)(address, viem_1.zeroAddress));
526
+ return (0, build_transaction_1.buildTransaction)(chainId, {
527
+ chain: chain_1.CHAIN_MAP[chainId],
528
+ account: userAddress,
529
+ address: addresses_1.CONTRACT_ADDRESSES[chainId].Controller,
530
+ abi: controller_abi_1.CONTROLLER_ABI,
531
+ functionName: 'cancel',
532
+ args: [
533
+ openOrders.map((order) => ({
534
+ id: BigInt(order.id),
535
+ leftQuoteAmount: 0n,
536
+ hookData: viem_1.zeroHash,
537
+ })),
538
+ tokensToSettle,
539
+ [],
540
+ (0, time_1.getDeadlineTimestampInSeconds)(),
541
+ ],
542
+ }, options?.rpcUrl);
543
+ };
544
+ exports.cancelOrders = cancelOrders;
545
+ //# sourceMappingURL=call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/call.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Action = void 0;
4
+ var Action;
5
+ (function (Action) {
6
+ Action[Action["OPEN"] = 0] = "OPEN";
7
+ Action[Action["MAKE"] = 1] = "MAKE";
8
+ Action[Action["LIMIT"] = 2] = "LIMIT";
9
+ Action[Action["TAKE"] = 3] = "TAKE";
10
+ Action[Action["SPEND"] = 4] = "SPEND";
11
+ Action[Action["CLAIM"] = 5] = "CLAIM";
12
+ Action[Action["CANCEL"] = 6] = "CANCEL";
13
+ })(Action || (exports.Action = Action = {}));
14
+ //# sourceMappingURL=action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/constants/action.ts"],"names":[],"mappings":";;;AAAA,IAAY,MAQX;AARD,WAAY,MAAM;IAChB,mCAAI,CAAA;IACJ,mCAAI,CAAA;IACJ,qCAAK,CAAA;IACL,mCAAI,CAAA;IACJ,qCAAK,CAAA;IACL,qCAAK,CAAA;IACL,uCAAM,CAAA;AACR,CAAC,EARW,MAAM,sBAAN,MAAM,QAQjB"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONTRACT_ADDRESSES = void 0;
4
+ const viem_1 = require("viem");
5
+ const chain_1 = require("./chain");
6
+ exports.CONTRACT_ADDRESSES = {
7
+ [chain_1.CHAIN_IDS.ARBITRUM_SEPOLIA]: {
8
+ Controller: (0, viem_1.getAddress)('0xfAe4A04fa491DC21F77796394532a1B62d8331BF'),
9
+ BookManager: (0, viem_1.getAddress)('0x4a4eaF7382821da4Fb85e8A8d515f5555383d58A'),
10
+ BookViewer: (0, viem_1.getAddress)('0xA7603C4c895a533E66c30EA76cC6F6A6A0c5cbFe'),
11
+ },
12
+ };
13
+ //# sourceMappingURL=addresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/constants/addresses.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AAEjC,mCAAmC;AAEtB,QAAA,kBAAkB,GAM3B;IACF,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAAE;QAC5B,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;KACrE;CACF,CAAA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CHAIN_MAP = exports.CHAIN_IDS = void 0;
4
+ const chains_1 = require("viem/chains");
5
+ var CHAIN_IDS;
6
+ (function (CHAIN_IDS) {
7
+ CHAIN_IDS[CHAIN_IDS["MAINNET"] = chains_1.mainnet.id] = "MAINNET";
8
+ CHAIN_IDS[CHAIN_IDS["ARBITRUM_SEPOLIA"] = chains_1.arbitrumSepolia.id] = "ARBITRUM_SEPOLIA";
9
+ })(CHAIN_IDS || (exports.CHAIN_IDS = CHAIN_IDS = {}));
10
+ exports.CHAIN_MAP = {
11
+ [CHAIN_IDS.ARBITRUM_SEPOLIA]: chains_1.arbitrumSepolia,
12
+ };
13
+ //# sourceMappingURL=chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/constants/chain.ts"],"names":[],"mappings":";;;AAAA,wCAAkE;AAElE,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,iCAAU,gBAAO,CAAC,EAAE,aAAA,CAAA;IACpB,0CAAmB,wBAAe,CAAC,EAAE,sBAAA,CAAA;AACvC,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAEY,QAAA,SAAS,GAElB;IACF,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,wBAAe;CAC9C,CAAA"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STABLE_COIN_ADDRESSES = exports.WETH_ADDRESSES = void 0;
4
+ const viem_1 = require("viem");
5
+ const chain_1 = require("./chain");
6
+ exports.WETH_ADDRESSES = {
7
+ [chain_1.CHAIN_IDS.ARBITRUM_SEPOLIA]: [viem_1.zeroAddress],
8
+ };
9
+ exports.STABLE_COIN_ADDRESSES = {
10
+ [chain_1.CHAIN_IDS.ARBITRUM_SEPOLIA]: ['0x00BFD44e79FB7f6dd5887A9426c8EF85A0CD23e0'],
11
+ };
12
+ //# sourceMappingURL=currency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/constants/currency.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAElC,mCAAmC;AAEtB,QAAA,cAAc,GAEvB;IACF,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,kBAAW,CAAC;CAC5C,CAAA;AAEY,QAAA,qBAAqB,GAE9B;IACF,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,4CAA4C,CAAC;CAC7E,CAAA"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TAKER_DEFAULT_POLICY = exports.MAKER_DEFAULT_POLICY = void 0;
4
+ const fee_policy_1 = require("../model/fee-policy");
5
+ exports.MAKER_DEFAULT_POLICY = new fee_policy_1.FeePolicy(true, -300n); // -0.03%
6
+ exports.TAKER_DEFAULT_POLICY = new fee_policy_1.FeePolicy(true, 1000n); // 0.1%
7
+ //# sourceMappingURL=fee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../src/constants/fee.ts"],"names":[],"mappings":";;;AAAA,oDAA+C;AAElC,QAAA,oBAAoB,GAAG,IAAI,sBAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAA,CAAC,SAAS;AAC3D,QAAA,oBAAoB,GAAG,IAAI,sBAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA,CAAC,OAAO"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PRICE_PRECISION = exports.MAX_PRICE = void 0;
4
+ exports.MAX_PRICE = 4647684107270898330752324302845848816923571339324334n;
5
+ exports.PRICE_PRECISION = 96n;
6
+ //# sourceMappingURL=price.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"price.js","sourceRoot":"","sources":["../../../src/constants/price.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,qDAAqD,CAAA;AAEjE,QAAA,eAAe,GAAG,GAAG,CAAA"}