@lifi/perps-sdk 23.1.0 → 25.0.0

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 (305) hide show
  1. package/README.md +102 -56
  2. package/dist/cjs/client/PerpsClient.d.ts +3 -2
  3. package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
  4. package/dist/cjs/client/PerpsClient.js +16 -9
  5. package/dist/cjs/client/PerpsClient.js.map +1 -1
  6. package/dist/cjs/decimal/arithmetic.d.ts +15 -0
  7. package/dist/cjs/decimal/arithmetic.d.ts.map +1 -0
  8. package/dist/cjs/decimal/arithmetic.js +53 -0
  9. package/dist/cjs/decimal/arithmetic.js.map +1 -0
  10. package/dist/cjs/decimal/big.d.ts +0 -1
  11. package/dist/cjs/decimal/big.d.ts.map +1 -1
  12. package/dist/cjs/decimal/big.js +0 -4
  13. package/dist/cjs/decimal/big.js.map +1 -1
  14. package/dist/cjs/decimal/compare.d.ts +6 -2
  15. package/dist/cjs/decimal/compare.d.ts.map +1 -1
  16. package/dist/cjs/decimal/compare.js +15 -2
  17. package/dist/cjs/decimal/compare.js.map +1 -1
  18. package/dist/cjs/decimal/convert.d.ts +10 -6
  19. package/dist/cjs/decimal/convert.d.ts.map +1 -1
  20. package/dist/cjs/decimal/convert.js +34 -21
  21. package/dist/cjs/decimal/convert.js.map +1 -1
  22. package/dist/cjs/decimal/decimalStringToBig.d.ts +5 -0
  23. package/dist/cjs/decimal/decimalStringToBig.d.ts.map +1 -0
  24. package/dist/cjs/decimal/decimalStringToBig.js +25 -0
  25. package/dist/cjs/decimal/decimalStringToBig.js.map +1 -0
  26. package/dist/cjs/decimal/format.d.ts.map +1 -1
  27. package/dist/cjs/decimal/format.js +70 -52
  28. package/dist/cjs/decimal/format.js.map +1 -1
  29. package/dist/cjs/decimal/parse.d.ts +5 -4
  30. package/dist/cjs/decimal/parse.d.ts.map +1 -1
  31. package/dist/cjs/decimal/parse.js +43 -25
  32. package/dist/cjs/decimal/parse.js.map +1 -1
  33. package/dist/cjs/errors/invalidInput.d.ts +3 -0
  34. package/dist/cjs/errors/invalidInput.d.ts.map +1 -0
  35. package/dist/cjs/errors/invalidInput.js +9 -0
  36. package/dist/cjs/errors/invalidInput.js.map +1 -0
  37. package/dist/cjs/index.d.ts +15 -12
  38. package/dist/cjs/index.d.ts.map +1 -1
  39. package/dist/cjs/index.js +69 -9
  40. package/dist/cjs/index.js.map +1 -1
  41. package/dist/cjs/math/fills.d.ts +1 -1
  42. package/dist/cjs/math/fills.d.ts.map +1 -1
  43. package/dist/cjs/math/fills.js +28 -13
  44. package/dist/cjs/math/fills.js.map +1 -1
  45. package/dist/cjs/math/order.d.ts +27 -16
  46. package/dist/cjs/math/order.d.ts.map +1 -1
  47. package/dist/cjs/math/order.js +131 -134
  48. package/dist/cjs/math/order.js.map +1 -1
  49. package/dist/cjs/math/position.d.ts +85 -35
  50. package/dist/cjs/math/position.d.ts.map +1 -1
  51. package/dist/cjs/math/position.js +93 -94
  52. package/dist/cjs/math/position.js.map +1 -1
  53. package/dist/cjs/services/getGasRecommendation.js +1 -1
  54. package/dist/cjs/services/getGasRecommendation.js.map +1 -1
  55. package/dist/cjs/services/getQuote.d.ts +1 -1
  56. package/dist/cjs/services/resolveSubscribeQuote.d.ts.map +1 -1
  57. package/dist/cjs/services/resolveSubscribeQuote.js +3 -2
  58. package/dist/cjs/services/resolveSubscribeQuote.js.map +1 -1
  59. package/dist/cjs/transport/request.d.ts +1 -0
  60. package/dist/cjs/transport/request.d.ts.map +1 -1
  61. package/dist/cjs/transport/request.js +2 -2
  62. package/dist/cjs/transport/request.js.map +1 -1
  63. package/dist/cjs/types/api.d.ts +4 -0
  64. package/dist/cjs/types/api.d.ts.map +1 -1
  65. package/dist/cjs/types/provider.d.ts +9 -5
  66. package/dist/cjs/types/provider.d.ts.map +1 -1
  67. package/dist/cjs/types/withdrawal.d.ts +12 -4
  68. package/dist/cjs/types/withdrawal.d.ts.map +1 -1
  69. package/dist/cjs/utils/createSafeFunction.d.ts +2 -0
  70. package/dist/cjs/utils/createSafeFunction.d.ts.map +1 -0
  71. package/dist/cjs/utils/createSafeFunction.js +15 -0
  72. package/dist/cjs/utils/createSafeFunction.js.map +1 -0
  73. package/dist/cjs/utils/timestampToIsoString.d.ts +3 -0
  74. package/dist/cjs/utils/timestampToIsoString.d.ts.map +1 -0
  75. package/dist/cjs/utils/timestampToIsoString.js +16 -0
  76. package/dist/cjs/utils/timestampToIsoString.js.map +1 -0
  77. package/dist/cjs/utils/warnOnce.d.ts +6 -0
  78. package/dist/cjs/utils/warnOnce.d.ts.map +1 -1
  79. package/dist/cjs/utils/warnOnce.js +19 -1
  80. package/dist/cjs/utils/warnOnce.js.map +1 -1
  81. package/dist/cjs/version.d.ts +1 -1
  82. package/dist/cjs/version.js +1 -1
  83. package/dist/cjs/websocket/PerpsWsClient.d.ts +2 -0
  84. package/dist/cjs/websocket/PerpsWsClient.d.ts.map +1 -1
  85. package/dist/cjs/websocket/PerpsWsClient.js +14 -1
  86. package/dist/cjs/websocket/PerpsWsClient.js.map +1 -1
  87. package/dist/cjs/websocket/wsLog.d.ts +2 -0
  88. package/dist/cjs/websocket/wsLog.d.ts.map +1 -1
  89. package/dist/cjs/websocket/wsLog.js +9 -0
  90. package/dist/cjs/websocket/wsLog.js.map +1 -1
  91. package/dist/cjs/wire/orderAmounts.d.ts +3 -2
  92. package/dist/cjs/wire/orderAmounts.d.ts.map +1 -1
  93. package/dist/cjs/wire/orderAmounts.js +22 -21
  94. package/dist/cjs/wire/orderAmounts.js.map +1 -1
  95. package/dist/cjs/wire/refuel.d.ts +4 -1
  96. package/dist/cjs/wire/refuel.d.ts.map +1 -1
  97. package/dist/cjs/wire/refuel.js +23 -6
  98. package/dist/cjs/wire/refuel.js.map +1 -1
  99. package/dist/cjs/wire/transferable.js +3 -3
  100. package/dist/cjs/wire/transferable.js.map +1 -1
  101. package/dist/cjs/wire/withdraw.d.ts.map +1 -1
  102. package/dist/cjs/wire/withdraw.js +3 -3
  103. package/dist/cjs/wire/withdraw.js.map +1 -1
  104. package/dist/esm/client/PerpsClient.d.ts +17 -4
  105. package/dist/esm/client/PerpsClient.d.ts.map +1 -1
  106. package/dist/esm/client/PerpsClient.js +30 -8
  107. package/dist/esm/client/PerpsClient.js.map +1 -1
  108. package/dist/esm/decimal/arithmetic.d.ts +98 -0
  109. package/dist/esm/decimal/arithmetic.d.ts.map +1 -0
  110. package/dist/esm/decimal/arithmetic.js +126 -0
  111. package/dist/esm/decimal/arithmetic.js.map +1 -0
  112. package/dist/esm/decimal/big.d.ts +0 -2
  113. package/dist/esm/decimal/big.d.ts.map +1 -1
  114. package/dist/esm/decimal/big.js +0 -4
  115. package/dist/esm/decimal/big.js.map +1 -1
  116. package/dist/esm/decimal/compare.d.ts +40 -6
  117. package/dist/esm/decimal/compare.d.ts.map +1 -1
  118. package/dist/esm/decimal/compare.js +46 -6
  119. package/dist/esm/decimal/compare.js.map +1 -1
  120. package/dist/esm/decimal/convert.d.ts +50 -36
  121. package/dist/esm/decimal/convert.d.ts.map +1 -1
  122. package/dist/esm/decimal/convert.js +64 -42
  123. package/dist/esm/decimal/convert.js.map +1 -1
  124. package/dist/esm/decimal/decimalStringToBig.d.ts +25 -0
  125. package/dist/esm/decimal/decimalStringToBig.d.ts.map +1 -0
  126. package/dist/esm/decimal/decimalStringToBig.js +37 -0
  127. package/dist/esm/decimal/decimalStringToBig.js.map +1 -0
  128. package/dist/esm/decimal/format.d.ts +4 -1
  129. package/dist/esm/decimal/format.d.ts.map +1 -1
  130. package/dist/esm/decimal/format.js +71 -70
  131. package/dist/esm/decimal/format.js.map +1 -1
  132. package/dist/esm/decimal/parse.d.ts +29 -13
  133. package/dist/esm/decimal/parse.d.ts.map +1 -1
  134. package/dist/esm/decimal/parse.js +61 -44
  135. package/dist/esm/decimal/parse.js.map +1 -1
  136. package/dist/esm/errors/invalidInput.d.ts +4 -0
  137. package/dist/esm/errors/invalidInput.d.ts.map +1 -0
  138. package/dist/esm/errors/invalidInput.js +7 -0
  139. package/dist/esm/errors/invalidInput.js.map +1 -0
  140. package/dist/esm/index.d.ts +15 -12
  141. package/dist/esm/index.d.ts.map +1 -1
  142. package/dist/esm/index.js +11 -8
  143. package/dist/esm/index.js.map +1 -1
  144. package/dist/esm/math/fills.d.ts +6 -3
  145. package/dist/esm/math/fills.d.ts.map +1 -1
  146. package/dist/esm/math/fills.js +31 -16
  147. package/dist/esm/math/fills.js.map +1 -1
  148. package/dist/esm/math/order.d.ts +84 -66
  149. package/dist/esm/math/order.d.ts.map +1 -1
  150. package/dist/esm/math/order.js +178 -175
  151. package/dist/esm/math/order.js.map +1 -1
  152. package/dist/esm/math/position.d.ts +155 -98
  153. package/dist/esm/math/position.d.ts.map +1 -1
  154. package/dist/esm/math/position.js +160 -156
  155. package/dist/esm/math/position.js.map +1 -1
  156. package/dist/esm/services/getGasRecommendation.js +1 -1
  157. package/dist/esm/services/getGasRecommendation.js.map +1 -1
  158. package/dist/esm/services/getQuote.d.ts +2 -2
  159. package/dist/esm/services/getQuote.js +1 -1
  160. package/dist/esm/services/resolveSubscribeQuote.d.ts +1 -1
  161. package/dist/esm/services/resolveSubscribeQuote.d.ts.map +1 -1
  162. package/dist/esm/services/resolveSubscribeQuote.js +4 -3
  163. package/dist/esm/services/resolveSubscribeQuote.js.map +1 -1
  164. package/dist/esm/transport/request.d.ts +5 -0
  165. package/dist/esm/transport/request.d.ts.map +1 -1
  166. package/dist/esm/transport/request.js +2 -2
  167. package/dist/esm/transport/request.js.map +1 -1
  168. package/dist/esm/types/api.d.ts +9 -0
  169. package/dist/esm/types/api.d.ts.map +1 -1
  170. package/dist/esm/types/provider.d.ts +30 -16
  171. package/dist/esm/types/provider.d.ts.map +1 -1
  172. package/dist/esm/types/withdrawal.d.ts +32 -7
  173. package/dist/esm/types/withdrawal.d.ts.map +1 -1
  174. package/dist/esm/utils/createSafeFunction.d.ts +9 -0
  175. package/dist/esm/utils/createSafeFunction.d.ts.map +1 -0
  176. package/dist/esm/utils/createSafeFunction.js +19 -0
  177. package/dist/esm/utils/createSafeFunction.js.map +1 -0
  178. package/dist/esm/utils/timestampToIsoString.d.ts +15 -0
  179. package/dist/esm/utils/timestampToIsoString.d.ts.map +1 -0
  180. package/dist/esm/utils/timestampToIsoString.js +24 -0
  181. package/dist/esm/utils/timestampToIsoString.js.map +1 -0
  182. package/dist/esm/utils/warnOnce.d.ts +27 -0
  183. package/dist/esm/utils/warnOnce.d.ts.map +1 -1
  184. package/dist/esm/utils/warnOnce.js +36 -0
  185. package/dist/esm/utils/warnOnce.js.map +1 -1
  186. package/dist/esm/version.d.ts +1 -1
  187. package/dist/esm/version.js +1 -1
  188. package/dist/esm/websocket/PerpsWsClient.d.ts +7 -0
  189. package/dist/esm/websocket/PerpsWsClient.d.ts.map +1 -1
  190. package/dist/esm/websocket/PerpsWsClient.js +20 -2
  191. package/dist/esm/websocket/PerpsWsClient.js.map +1 -1
  192. package/dist/esm/websocket/wsLog.d.ts +12 -0
  193. package/dist/esm/websocket/wsLog.d.ts.map +1 -1
  194. package/dist/esm/websocket/wsLog.js +19 -0
  195. package/dist/esm/websocket/wsLog.js.map +1 -1
  196. package/dist/esm/wire/orderAmounts.d.ts +9 -7
  197. package/dist/esm/wire/orderAmounts.d.ts.map +1 -1
  198. package/dist/esm/wire/orderAmounts.js +24 -20
  199. package/dist/esm/wire/orderAmounts.js.map +1 -1
  200. package/dist/esm/wire/refuel.d.ts +24 -14
  201. package/dist/esm/wire/refuel.d.ts.map +1 -1
  202. package/dist/esm/wire/refuel.js +38 -17
  203. package/dist/esm/wire/refuel.js.map +1 -1
  204. package/dist/esm/wire/transferable.d.ts +2 -2
  205. package/dist/esm/wire/transferable.js +5 -5
  206. package/dist/esm/wire/transferable.js.map +1 -1
  207. package/dist/esm/wire/withdraw.d.ts.map +1 -1
  208. package/dist/esm/wire/withdraw.js +3 -3
  209. package/dist/esm/wire/withdraw.js.map +1 -1
  210. package/dist/types/client/PerpsClient.d.ts +17 -4
  211. package/dist/types/client/PerpsClient.d.ts.map +1 -1
  212. package/dist/types/decimal/arithmetic.d.ts +98 -0
  213. package/dist/types/decimal/arithmetic.d.ts.map +1 -0
  214. package/dist/types/decimal/big.d.ts +0 -2
  215. package/dist/types/decimal/big.d.ts.map +1 -1
  216. package/dist/types/decimal/compare.d.ts +40 -6
  217. package/dist/types/decimal/compare.d.ts.map +1 -1
  218. package/dist/types/decimal/convert.d.ts +50 -36
  219. package/dist/types/decimal/convert.d.ts.map +1 -1
  220. package/dist/types/decimal/decimalStringToBig.d.ts +25 -0
  221. package/dist/types/decimal/decimalStringToBig.d.ts.map +1 -0
  222. package/dist/types/decimal/format.d.ts +4 -1
  223. package/dist/types/decimal/format.d.ts.map +1 -1
  224. package/dist/types/decimal/parse.d.ts +29 -13
  225. package/dist/types/decimal/parse.d.ts.map +1 -1
  226. package/dist/types/errors/invalidInput.d.ts +4 -0
  227. package/dist/types/errors/invalidInput.d.ts.map +1 -0
  228. package/dist/types/index.d.ts +15 -12
  229. package/dist/types/index.d.ts.map +1 -1
  230. package/dist/types/math/fills.d.ts +6 -3
  231. package/dist/types/math/fills.d.ts.map +1 -1
  232. package/dist/types/math/order.d.ts +84 -66
  233. package/dist/types/math/order.d.ts.map +1 -1
  234. package/dist/types/math/position.d.ts +155 -98
  235. package/dist/types/math/position.d.ts.map +1 -1
  236. package/dist/types/services/getQuote.d.ts +2 -2
  237. package/dist/types/services/resolveSubscribeQuote.d.ts +1 -1
  238. package/dist/types/services/resolveSubscribeQuote.d.ts.map +1 -1
  239. package/dist/types/transport/request.d.ts +5 -0
  240. package/dist/types/transport/request.d.ts.map +1 -1
  241. package/dist/types/types/api.d.ts +9 -0
  242. package/dist/types/types/api.d.ts.map +1 -1
  243. package/dist/types/types/provider.d.ts +30 -16
  244. package/dist/types/types/provider.d.ts.map +1 -1
  245. package/dist/types/types/withdrawal.d.ts +32 -7
  246. package/dist/types/types/withdrawal.d.ts.map +1 -1
  247. package/dist/types/utils/createSafeFunction.d.ts +9 -0
  248. package/dist/types/utils/createSafeFunction.d.ts.map +1 -0
  249. package/dist/types/utils/timestampToIsoString.d.ts +15 -0
  250. package/dist/types/utils/timestampToIsoString.d.ts.map +1 -0
  251. package/dist/types/utils/warnOnce.d.ts +27 -0
  252. package/dist/types/utils/warnOnce.d.ts.map +1 -1
  253. package/dist/types/version.d.ts +1 -1
  254. package/dist/types/websocket/PerpsWsClient.d.ts +7 -0
  255. package/dist/types/websocket/PerpsWsClient.d.ts.map +1 -1
  256. package/dist/types/websocket/wsLog.d.ts +12 -0
  257. package/dist/types/websocket/wsLog.d.ts.map +1 -1
  258. package/dist/types/wire/orderAmounts.d.ts +9 -7
  259. package/dist/types/wire/orderAmounts.d.ts.map +1 -1
  260. package/dist/types/wire/refuel.d.ts +24 -14
  261. package/dist/types/wire/refuel.d.ts.map +1 -1
  262. package/dist/types/wire/transferable.d.ts +2 -2
  263. package/dist/types/wire/withdraw.d.ts.map +1 -1
  264. package/package.json +2 -2
  265. package/src/client/PerpsClient.ts +48 -10
  266. package/src/decimal/arithmetic.ts +170 -0
  267. package/src/decimal/big.ts +0 -5
  268. package/src/decimal/compare.ts +61 -11
  269. package/src/decimal/convert.ts +105 -63
  270. package/src/decimal/decimalStringToBig.ts +42 -0
  271. package/src/decimal/format.ts +81 -72
  272. package/src/decimal/parse.ts +78 -57
  273. package/src/errors/invalidInput.ts +10 -0
  274. package/src/index.ts +80 -12
  275. package/src/math/fills.ts +32 -17
  276. package/src/math/order.ts +279 -226
  277. package/src/math/position.ts +280 -196
  278. package/src/services/getGasRecommendation.ts +1 -1
  279. package/src/services/getQuote.ts +2 -2
  280. package/src/services/resolveSubscribeQuote.ts +4 -3
  281. package/src/transport/request.ts +7 -2
  282. package/src/types/api.ts +10 -0
  283. package/src/types/provider.ts +39 -16
  284. package/src/types/withdrawal.ts +35 -8
  285. package/src/utils/createSafeFunction.ts +20 -0
  286. package/src/utils/timestampToIsoString.ts +31 -0
  287. package/src/utils/warnOnce.ts +60 -0
  288. package/src/version.ts +1 -1
  289. package/src/websocket/PerpsWsClient.ts +25 -2
  290. package/src/websocket/wsLog.ts +44 -0
  291. package/src/wire/orderAmounts.ts +45 -26
  292. package/src/wire/refuel.ts +56 -20
  293. package/src/wire/transferable.ts +5 -5
  294. package/src/wire/withdraw.ts +3 -5
  295. package/dist/cjs/decimal/requireDecimal.d.ts +0 -4
  296. package/dist/cjs/decimal/requireDecimal.d.ts.map +0 -1
  297. package/dist/cjs/decimal/requireDecimal.js +0 -12
  298. package/dist/cjs/decimal/requireDecimal.js.map +0 -1
  299. package/dist/esm/decimal/requireDecimal.d.ts +0 -5
  300. package/dist/esm/decimal/requireDecimal.d.ts.map +0 -1
  301. package/dist/esm/decimal/requireDecimal.js +0 -7
  302. package/dist/esm/decimal/requireDecimal.js.map +0 -1
  303. package/dist/types/decimal/requireDecimal.d.ts +0 -5
  304. package/dist/types/decimal/requireDecimal.d.ts.map +0 -1
  305. package/src/decimal/requireDecimal.ts +0 -8
@@ -1,5 +1,6 @@
1
1
  import { ActionRelay, ActionType, META_PROVIDER, PerpsErrorCode, PerpsSigner, SigningMethod, } from '@lifi/perps-types';
2
- import Big from 'big.js';
2
+ import { isDecimalStringGreaterThan } from '../decimal/compare.js';
3
+ import { unknownToDecimalString } from '../decimal/parse.js';
3
4
  import { PerpsError } from '../errors/PerpsError.js';
4
5
  import { getAssetRegistry, toAssetDisplay } from '../registry/assetRegistry.js';
5
6
  import { getMarketRegistry } from '../registry/marketRegistry.js';
@@ -100,7 +101,7 @@ function assertAllSucceeded(results) {
100
101
  }
101
102
  function isNonNegativeDecimal(value) {
102
103
  try {
103
- return new Big(value).gte(0);
104
+ return !isDecimalStringGreaterThan('0', unknownToDecimalString(value, 'withdrawalFee', 'perps-sdk'));
104
105
  }
105
106
  catch {
106
107
  return false;
@@ -554,8 +555,9 @@ export class PerpsClient {
554
555
  return plugin.getWithdrawFlow?.({ address: params.address }, options);
555
556
  }
556
557
  /**
557
- * The `(asset, route)` selections `params.address` can actually withdraw at
558
- * `params.provider`. The venue owns how its balances split across routes;
558
+ * The `(asset, category)` selections `params.address` can actually withdraw
559
+ * at `params.provider`. The venue owns how its balances split across
560
+ * categories;
559
561
  * this join adds the core `/assets` metadata — precision, L1 identity and
560
562
  * the per-asset minimum — and drops every row the minimum rules out, plus
561
563
  * any row whose asset the provider's registry does not carry, since without
@@ -589,18 +591,23 @@ export class PerpsClient {
589
591
  if (minimum !== undefined) {
590
592
  let floor;
591
593
  try {
592
- floor = new Big(minimum);
594
+ floor = unknownToDecimalString(minimum, 'minWithdrawalAmount', 'perps-sdk');
593
595
  }
594
596
  catch {
595
597
  throw new PerpsError(PerpsErrorCode.SDKError, `Asset '${asset.id}' field \`minWithdrawalAmount\` is not a valid decimal.`);
596
598
  }
597
- if (new Big(row.available).lt(floor)) {
599
+ if (isDecimalStringGreaterThan(floor, row.available)) {
598
600
  return [];
599
601
  }
600
602
  }
601
603
  if (row.withdrawalFee === undefined) {
602
604
  return [
603
- { asset, route: row.route, available: row.available, max: row.max },
605
+ {
606
+ asset,
607
+ categoryId: row.categoryId,
608
+ available: row.available,
609
+ max: row.max,
610
+ },
604
611
  ];
605
612
  }
606
613
  if (!isNonNegativeDecimal(row.withdrawalFee)) {
@@ -609,7 +616,7 @@ export class PerpsClient {
609
616
  return [
610
617
  {
611
618
  asset,
612
- route: row.route,
619
+ categoryId: row.categoryId,
613
620
  available: row.available,
614
621
  max: row.max,
615
622
  withdrawalFee: row.withdrawalFee,
@@ -620,6 +627,21 @@ export class PerpsClient {
620
627
  ];
621
628
  });
622
629
  }
630
+ /**
631
+ * The withdrawal types `params.address` can choose per holding at
632
+ * `params.provider`, each with its cap and the `withdrawalOptions` to pass
633
+ * unchanged in `WithdrawalParams`.
634
+ *
635
+ * @returns `undefined` when the registered plugin declares no withdrawal
636
+ * types read.
637
+ * @throws {PerpsError} When the provider plugin is not registered, or when
638
+ * the plugin read fails.
639
+ * @public
640
+ */
641
+ async getWithdrawalTypes(params, options) {
642
+ const plugin = this.requireProvider(params.provider);
643
+ return plugin.getWithdrawalTypes?.({ address: params.address }, options);
644
+ }
623
645
  /**
624
646
  * The account's portfolio value and cumulative PnL over `params.range` at
625
647
  * `params.provider`, read directly from the venue.
@@ -1 +1 @@
1
- {"version":3,"file":"PerpsClient.js","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerpsClient.js","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Exact `a + b`.
3
+ *
4
+ * @throws {PerpsError} `ValidationError` when an input does not match the decimal pattern.
5
+ * @public
6
+ */
7
+ export declare function addDecimalString(a: string, b: string): string;
8
+ /**
9
+ * {@link addDecimalString}, or `undefined` with a warning when it throws.
10
+ *
11
+ * @public
12
+ */
13
+ export declare const safeAddDecimalString: (a: string, b: string) => string | undefined;
14
+ /**
15
+ * Exact sum of every value; `'0'` for an empty list.
16
+ *
17
+ * @throws {PerpsError} `ValidationError` when a value does not match the
18
+ * decimal pattern.
19
+ * @public
20
+ */
21
+ export declare function addDecimalStrings(values: readonly string[]): string;
22
+ /**
23
+ * {@link addDecimalStrings}, or `undefined` with a warning when it throws.
24
+ * One bad value gives `undefined`, never a partial sum.
25
+ *
26
+ * @public
27
+ */
28
+ export declare const safeAddDecimalStrings: (values: readonly string[]) => string | undefined;
29
+ /**
30
+ * Exact `a - b`.
31
+ *
32
+ * @throws {PerpsError} `ValidationError` when an input does not match the decimal pattern.
33
+ * @public
34
+ */
35
+ export declare function subtractDecimalString(a: string, b: string): string;
36
+ /**
37
+ * {@link subtractDecimalString}, or `undefined` with a warning when it throws.
38
+ *
39
+ * @public
40
+ */
41
+ export declare const safeSubtractDecimalString: (a: string, b: string) => string | undefined;
42
+ /**
43
+ * Exact `a × b`.
44
+ *
45
+ * @throws {PerpsError} `ValidationError` when an input does not match the decimal pattern.
46
+ * @public
47
+ */
48
+ export declare function multiplyDecimalString(a: string, b: string): string;
49
+ /**
50
+ * {@link multiplyDecimalString}, or `undefined` with a warning when it throws.
51
+ *
52
+ * @public
53
+ */
54
+ export declare const safeMultiplyDecimalString: (a: string, b: string) => string | undefined;
55
+ /**
56
+ * `a ÷ b` to 40 decimal places, rounded half up.
57
+ *
58
+ * @throws {PerpsError} `ValidationError` when an input does not match the
59
+ * decimal pattern or `b` is zero.
60
+ * @public
61
+ */
62
+ export declare function divideDecimalString(a: string, b: string): string;
63
+ /**
64
+ * {@link divideDecimalString}, or `undefined` with a warning when it throws.
65
+ *
66
+ * @public
67
+ */
68
+ export declare const safeDivideDecimalString: (a: string, b: string) => string | undefined;
69
+ /**
70
+ * `a ÷ b` to 40 decimal places, truncated toward zero, so a derived amount
71
+ * never exceeds the exact quotient.
72
+ *
73
+ * @throws {PerpsError} `ValidationError` when an input does not match the
74
+ * decimal pattern or `b` is zero.
75
+ * @public
76
+ */
77
+ export declare function divideDecimalStringRoundDown(a: string, b: string): string;
78
+ /**
79
+ * {@link divideDecimalStringRoundDown}, or `undefined` with a warning when it
80
+ * throws.
81
+ *
82
+ * @public
83
+ */
84
+ export declare const safeDivideDecimalStringRoundDown: (a: string, b: string) => string | undefined;
85
+ /**
86
+ * Exact `|value|`.
87
+ *
88
+ * @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern.
89
+ * @public
90
+ */
91
+ export declare function absDecimalString(value: string): string;
92
+ /**
93
+ * {@link absDecimalString}, or `undefined` with a warning when it throws.
94
+ *
95
+ * @public
96
+ */
97
+ export declare const safeAbsDecimalString: (value: string) => string | undefined;
98
+ //# sourceMappingURL=arithmetic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../src/decimal/arithmetic.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,8CAGhC,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAOnE;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,mDAGjC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,8CAGrC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,8CAGrC,CAAA;AAaD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,8CAGnC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzE;AAED;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,8CAG5C,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,uCAGhC,CAAA"}
@@ -0,0 +1,126 @@
1
+ import { PerpsErrorCode } from '@lifi/perps-types';
2
+ import { PerpsError } from '../errors/PerpsError.js';
3
+ import { createSafeFunction } from '../utils/createSafeFunction.js';
4
+ import { DivBig, TruncBig } from './big.js';
5
+ import { bigToDecimalString, decimalStringToBig } from './decimalStringToBig.js';
6
+ /**
7
+ * Exact `a + b`.
8
+ *
9
+ * @throws {PerpsError} `ValidationError` when an input does not match the decimal pattern.
10
+ * @public
11
+ */
12
+ export function addDecimalString(a, b) {
13
+ return bigToDecimalString(decimalStringToBig(a).plus(decimalStringToBig(b)));
14
+ }
15
+ /**
16
+ * {@link addDecimalString}, or `undefined` with a warning when it throws.
17
+ *
18
+ * @public
19
+ */
20
+ export const safeAddDecimalString = createSafeFunction('addDecimalString', addDecimalString);
21
+ /**
22
+ * Exact sum of every value; `'0'` for an empty list.
23
+ *
24
+ * @throws {PerpsError} `ValidationError` when a value does not match the
25
+ * decimal pattern.
26
+ * @public
27
+ */
28
+ export function addDecimalStrings(values) {
29
+ return bigToDecimalString(values.reduce((sum, value) => sum.plus(decimalStringToBig(value)), decimalStringToBig('0')));
30
+ }
31
+ /**
32
+ * {@link addDecimalStrings}, or `undefined` with a warning when it throws.
33
+ * One bad value gives `undefined`, never a partial sum.
34
+ *
35
+ * @public
36
+ */
37
+ export const safeAddDecimalStrings = createSafeFunction('addDecimalStrings', addDecimalStrings);
38
+ /**
39
+ * Exact `a - b`.
40
+ *
41
+ * @throws {PerpsError} `ValidationError` when an input does not match the decimal pattern.
42
+ * @public
43
+ */
44
+ export function subtractDecimalString(a, b) {
45
+ return bigToDecimalString(decimalStringToBig(a).minus(decimalStringToBig(b)));
46
+ }
47
+ /**
48
+ * {@link subtractDecimalString}, or `undefined` with a warning when it throws.
49
+ *
50
+ * @public
51
+ */
52
+ export const safeSubtractDecimalString = createSafeFunction('subtractDecimalString', subtractDecimalString);
53
+ /**
54
+ * Exact `a × b`.
55
+ *
56
+ * @throws {PerpsError} `ValidationError` when an input does not match the decimal pattern.
57
+ * @public
58
+ */
59
+ export function multiplyDecimalString(a, b) {
60
+ return bigToDecimalString(decimalStringToBig(a).times(decimalStringToBig(b)));
61
+ }
62
+ /**
63
+ * {@link multiplyDecimalString}, or `undefined` with a warning when it throws.
64
+ *
65
+ * @public
66
+ */
67
+ export const safeMultiplyDecimalString = createSafeFunction('multiplyDecimalString', multiplyDecimalString);
68
+ function requireNonZeroDivisor(divisor) {
69
+ const parsed = decimalStringToBig(divisor);
70
+ if (parsed.eq(0)) {
71
+ throw new PerpsError(PerpsErrorCode.ValidationError, `Division by zero: divisor '${divisor}'.`);
72
+ }
73
+ return parsed;
74
+ }
75
+ /**
76
+ * `a ÷ b` to 40 decimal places, rounded half up.
77
+ *
78
+ * @throws {PerpsError} `ValidationError` when an input does not match the
79
+ * decimal pattern or `b` is zero.
80
+ * @public
81
+ */
82
+ export function divideDecimalString(a, b) {
83
+ const divisor = requireNonZeroDivisor(b);
84
+ return bigToDecimalString(new DivBig(decimalStringToBig(a)).div(divisor));
85
+ }
86
+ /**
87
+ * {@link divideDecimalString}, or `undefined` with a warning when it throws.
88
+ *
89
+ * @public
90
+ */
91
+ export const safeDivideDecimalString = createSafeFunction('divideDecimalString', divideDecimalString);
92
+ /**
93
+ * `a ÷ b` to 40 decimal places, truncated toward zero, so a derived amount
94
+ * never exceeds the exact quotient.
95
+ *
96
+ * @throws {PerpsError} `ValidationError` when an input does not match the
97
+ * decimal pattern or `b` is zero.
98
+ * @public
99
+ */
100
+ export function divideDecimalStringRoundDown(a, b) {
101
+ const divisor = requireNonZeroDivisor(b);
102
+ return bigToDecimalString(new TruncBig(decimalStringToBig(a)).div(divisor));
103
+ }
104
+ /**
105
+ * {@link divideDecimalStringRoundDown}, or `undefined` with a warning when it
106
+ * throws.
107
+ *
108
+ * @public
109
+ */
110
+ export const safeDivideDecimalStringRoundDown = createSafeFunction('divideDecimalStringRoundDown', divideDecimalStringRoundDown);
111
+ /**
112
+ * Exact `|value|`.
113
+ *
114
+ * @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern.
115
+ * @public
116
+ */
117
+ export function absDecimalString(value) {
118
+ return bigToDecimalString(decimalStringToBig(value).abs());
119
+ }
120
+ /**
121
+ * {@link absDecimalString}, or `undefined` with a warning when it throws.
122
+ *
123
+ * @public
124
+ */
125
+ export const safeAbsDecimalString = createSafeFunction('absDecimalString', absDecimalString);
126
+ //# sourceMappingURL=arithmetic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arithmetic.js","sourceRoot":"","sources":["../../../src/decimal/arithmetic.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,4 @@ export declare const DivBig: Big.BigConstructor;
9
9
  * exact quotient.
10
10
  */
11
11
  export declare const TruncBig: Big.BigConstructor;
12
- /** True when every value is a finite number, so `new DivBig(value)` cannot throw. */
13
- export declare function areFinite(...values: number[]): boolean;
14
12
  //# sourceMappingURL=big.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"big.d.ts","sourceRoot":"","sources":["../../../src/decimal/big.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAA;AAExB;;;GAGG;AACH,eAAO,MAAM,MAAM,oBAAQ,CAAA;AAG3B;;;GAGG;AACH,eAAO,MAAM,QAAQ,oBAAQ,CAAA;AAI7B,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAEtD"}
1
+ {"version":3,"file":"big.d.ts","sourceRoot":"","sources":["../../../src/decimal/big.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAA;AAExB;;;GAGG;AACH,eAAO,MAAM,MAAM,oBAAQ,CAAA;AAG3B;;;GAGG;AACH,eAAO,MAAM,QAAQ,oBAAQ,CAAA"}
@@ -12,8 +12,4 @@ DivBig.DP = 40;
12
12
  export const TruncBig = Big();
13
13
  TruncBig.DP = 40;
14
14
  TruncBig.RM = Big.roundDown;
15
- /** True when every value is a finite number, so `new DivBig(value)` cannot throw. */
16
- export function areFinite(...values) {
17
- return values.every(Number.isFinite);
18
- }
19
15
  //# sourceMappingURL=big.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"big.js","sourceRoot":"","sources":["../../../src/decimal/big.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAA;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAA;AAC3B,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;AAEd;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAA;AAC7B,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAA;AAChB,QAAQ,CAAC,EAAE,GAAG,GAAG,CAAC,SAAS,CAAA;AAE3B,qFAAqF;AACrF,MAAM,UAAU,SAAS,CAAC,GAAG,MAAgB;IAC3C,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AACtC,CAAC"}
1
+ {"version":3,"file":"big.js","sourceRoot":"","sources":["../../../src/decimal/big.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAA;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAA;AAC3B,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;AAEd;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAA;AAC7B,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAA;AAChB,QAAQ,CAAC,EAAE,GAAG,GAAG,CAAC,SAAS,CAAA"}
@@ -1,11 +1,45 @@
1
- import type { DecimalString } from '@lifi/perps-types';
2
1
  /**
3
- * Exact `a > b` on two {@link DecimalString}s, with no float rounding, so a
4
- * funds gate can tell `'1.0000000000000001'` from `'1'`. The other relations
5
- * follow from it: `a <= b` is `!isDecimalStringGreaterThan(a, b)`.
2
+ * Exact `a > b` on two decimal strings, with no float rounding, so a funds
3
+ * gate can tell `'1.0000000000000001'` from `'1'`. The other relations follow
4
+ * from it: `a <= b` is `!isDecimalStringGreaterThan(a, b)`.
6
5
  *
7
- * @throws {PerpsError} `ValidationError` when either operand is not a decimal string.
6
+ * @throws {PerpsError} `ValidationError` when either operand does not match the decimal pattern.
8
7
  * @public
9
8
  */
10
- export declare function isDecimalStringGreaterThan(a: DecimalString, b: DecimalString): boolean;
9
+ export declare function isDecimalStringGreaterThan(a: string, b: string): boolean;
10
+ /**
11
+ * {@link isDecimalStringGreaterThan}, or `undefined` with a warning when it
12
+ * throws.
13
+ *
14
+ * @public
15
+ */
16
+ export declare const safeIsDecimalStringGreaterThan: (a: string, b: string) => boolean | undefined;
17
+ /**
18
+ * Exact `value == 0`, so a flat-position check never reads `'0.0'` as
19
+ * non-zero.
20
+ *
21
+ * @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern.
22
+ * @public
23
+ */
24
+ export declare function isDecimalStringZero(value: string): boolean;
25
+ /**
26
+ * {@link isDecimalStringZero}, or `undefined` with a warning when it throws.
27
+ *
28
+ * @public
29
+ */
30
+ export declare const safeIsDecimalStringZero: (value: string) => boolean | undefined;
31
+ /**
32
+ * Exact three-way compare for a sort: `-1` when `a < b`, `0` when equal, `1`
33
+ * when `a > b`.
34
+ *
35
+ * @throws {PerpsError} `ValidationError` when either operand does not match the decimal pattern.
36
+ * @public
37
+ */
38
+ export declare function compareDecimalStrings(a: string, b: string): -1 | 0 | 1;
39
+ /**
40
+ * {@link compareDecimalStrings}, or `undefined` with a warning when it throws.
41
+ *
42
+ * @public
43
+ */
44
+ export declare const safeCompareDecimalStrings: (a: string, b: string) => 0 | 1 | -1 | undefined;
11
45
  //# sourceMappingURL=compare.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/decimal/compare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGtD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,CAAC,EAAE,aAAa,EAChB,CAAC,EAAE,aAAa,GACf,OAAO,CAET"}
1
+ {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/decimal/compare.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAExE;AAED;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,+CAG1C,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,wCAGnC,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAEtE;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,kDAGrC,CAAA"}
@@ -1,13 +1,53 @@
1
- import { requireDecimal } from './requireDecimal.js';
1
+ import { createSafeFunction } from '../utils/createSafeFunction.js';
2
+ import { decimalStringToBig } from './decimalStringToBig.js';
2
3
  /**
3
- * Exact `a > b` on two {@link DecimalString}s, with no float rounding, so a
4
- * funds gate can tell `'1.0000000000000001'` from `'1'`. The other relations
5
- * follow from it: `a <= b` is `!isDecimalStringGreaterThan(a, b)`.
4
+ * Exact `a > b` on two decimal strings, with no float rounding, so a funds
5
+ * gate can tell `'1.0000000000000001'` from `'1'`. The other relations follow
6
+ * from it: `a <= b` is `!isDecimalStringGreaterThan(a, b)`.
6
7
  *
7
- * @throws {PerpsError} `ValidationError` when either operand is not a decimal string.
8
+ * @throws {PerpsError} `ValidationError` when either operand does not match the decimal pattern.
8
9
  * @public
9
10
  */
10
11
  export function isDecimalStringGreaterThan(a, b) {
11
- return requireDecimal(a, 'a').gt(requireDecimal(b, 'b'));
12
+ return decimalStringToBig(a).gt(decimalStringToBig(b));
12
13
  }
14
+ /**
15
+ * {@link isDecimalStringGreaterThan}, or `undefined` with a warning when it
16
+ * throws.
17
+ *
18
+ * @public
19
+ */
20
+ export const safeIsDecimalStringGreaterThan = createSafeFunction('isDecimalStringGreaterThan', isDecimalStringGreaterThan);
21
+ /**
22
+ * Exact `value == 0`, so a flat-position check never reads `'0.0'` as
23
+ * non-zero.
24
+ *
25
+ * @throws {PerpsError} `ValidationError` when `value` does not match the decimal pattern.
26
+ * @public
27
+ */
28
+ export function isDecimalStringZero(value) {
29
+ return decimalStringToBig(value).eq(0);
30
+ }
31
+ /**
32
+ * {@link isDecimalStringZero}, or `undefined` with a warning when it throws.
33
+ *
34
+ * @public
35
+ */
36
+ export const safeIsDecimalStringZero = createSafeFunction('isDecimalStringZero', isDecimalStringZero);
37
+ /**
38
+ * Exact three-way compare for a sort: `-1` when `a < b`, `0` when equal, `1`
39
+ * when `a > b`.
40
+ *
41
+ * @throws {PerpsError} `ValidationError` when either operand does not match the decimal pattern.
42
+ * @public
43
+ */
44
+ export function compareDecimalStrings(a, b) {
45
+ return decimalStringToBig(a).cmp(decimalStringToBig(b));
46
+ }
47
+ /**
48
+ * {@link compareDecimalStrings}, or `undefined` with a warning when it throws.
49
+ *
50
+ * @public
51
+ */
52
+ export const safeCompareDecimalStrings = createSafeFunction('compareDecimalStrings', compareDecimalStrings);
13
53
  //# sourceMappingURL=compare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../src/decimal/compare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,CAAgB,EAChB,CAAgB;IAEhB,OAAO,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AAC1D,CAAC"}
1
+ {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../src/decimal/compare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,CAAS,EAAE,CAAS;IAC7D,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,kBAAkB,CAC9D,4BAA4B,EAC5B,0BAA0B,CAC3B,CAAA;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CACvD,qBAAqB,EACrB,mBAAmB,CACpB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,CAAS,EAAE,CAAS;IACxD,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CACzD,uBAAuB,EACvB,qBAAqB,CACtB,CAAA"}