@rainlanguage/ui-components 0.0.1-alpha.24 → 0.0.1-alpha.241

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 (299) hide show
  1. package/README.md +14 -6
  2. package/dist/__fixtures__/settings.yaml +123 -0
  3. package/dist/__mocks__/CodeMirrorRainlang.svelte +4 -0
  4. package/dist/__mocks__/CodeMirrorRainlang.svelte.d.ts +18 -0
  5. package/dist/__mocks__/MockCodeMirrorEditor.svelte +17 -0
  6. package/dist/__mocks__/MockCodeMirrorEditor.svelte.d.ts +21 -0
  7. package/dist/__mocks__/MockComponent.js +1 -1
  8. package/dist/__mocks__/MockComponent.svelte +10 -2
  9. package/dist/__mocks__/MockComponent.svelte.d.ts +4 -1
  10. package/dist/__mocks__/mockWeb3Config.d.ts +1 -1
  11. package/dist/__mocks__/mockWeb3Config.js +10 -7
  12. package/dist/__mocks__/queries.js +9 -9
  13. package/dist/__mocks__/stores.d.ts +55 -45
  14. package/dist/__mocks__/stores.js +85 -68
  15. package/dist/app.css +3 -3
  16. package/dist/components/ButtonDarkMode.svelte +7 -1
  17. package/dist/components/ButtonLoading.svelte +1 -1
  18. package/dist/components/ButtonScrub.svelte +22 -0
  19. package/dist/components/ButtonScrub.svelte.d.ts +25 -0
  20. package/dist/components/ButtonVaultLink.svelte +12 -11
  21. package/dist/components/ButtonVaultLink.svelte.d.ts +4 -3
  22. package/dist/components/CheckboxInactiveOrdersVault.svelte +20 -0
  23. package/dist/components/CheckboxInactiveOrdersVault.svelte.d.ts +19 -0
  24. package/dist/components/CheckboxZeroBalanceVault.svelte.d.ts +2 -2
  25. package/dist/components/CodeMirrorDotrain.svelte +4 -0
  26. package/dist/components/CodeMirrorDotrain.svelte.d.ts +1 -0
  27. package/dist/components/CodeMirrorRainlang.svelte +20 -12
  28. package/dist/components/CodeMirrorRainlang.svelte.d.ts +3 -2
  29. package/dist/components/EditableSpan.svelte +3 -14
  30. package/dist/components/EditableSpan.svelte.d.ts +0 -1
  31. package/dist/components/Hash.svelte +6 -5
  32. package/dist/components/License.svelte +5 -4
  33. package/dist/components/ListViewRaindexFilters.svelte +64 -0
  34. package/dist/components/ListViewRaindexFilters.svelte.d.ts +32 -0
  35. package/dist/components/LocalDbStatusBadge.svelte +27 -0
  36. package/dist/components/LocalDbStatusBadge.svelte.d.ts +19 -0
  37. package/dist/components/LocalDbStatusCard.svelte +43 -0
  38. package/dist/components/LocalDbStatusCard.svelte.d.ts +20 -0
  39. package/dist/components/LocalDbStatusModal.svelte +105 -0
  40. package/dist/components/LocalDbStatusModal.svelte.d.ts +21 -0
  41. package/dist/components/OrderOrVaultHash.svelte +12 -12
  42. package/dist/components/OrderOrVaultHash.svelte.d.ts +4 -4
  43. package/dist/components/PageHeader.svelte +1 -1
  44. package/dist/components/Sensitive.svelte +16 -0
  45. package/dist/components/Sensitive.svelte.d.ts +28 -0
  46. package/dist/components/TanstackAppTable.svelte +270 -60
  47. package/dist/components/TanstackAppTable.svelte.d.ts +15 -9
  48. package/dist/components/ToastDetail.svelte +42 -0
  49. package/dist/components/ToastDetail.svelte.d.ts +20 -0
  50. package/dist/components/Tooltip.svelte +8 -0
  51. package/dist/components/Tooltip.svelte.d.ts +21 -0
  52. package/dist/components/VaultBalanceChangeTypeFilter.svelte +23 -0
  53. package/dist/components/VaultBalanceChangeTypeFilter.svelte.d.ts +19 -0
  54. package/dist/components/VaultCard.svelte +18 -0
  55. package/dist/components/VaultCard.svelte.d.ts +19 -0
  56. package/dist/components/charts/LightweightChart.svelte +1 -1
  57. package/dist/components/charts/LightweightChart.svelte.d.ts +5 -5
  58. package/dist/components/charts/OrderTradesChart.svelte +319 -28
  59. package/dist/components/charts/OrderTradesChart.svelte.d.ts +4 -4
  60. package/dist/components/charts/TanstackLightweightChartLine.svelte +5 -9
  61. package/dist/components/charts/VaultBalanceChart.svelte +8 -26
  62. package/dist/components/charts/VaultBalanceChart.svelte.d.ts +1 -7
  63. package/dist/components/charts/transformAndSortData.d.ts +24 -0
  64. package/dist/components/charts/transformAndSortData.js +111 -0
  65. package/dist/components/checkbox/CheckboxActiveOrders.svelte +11 -0
  66. package/dist/components/checkbox/CheckboxActiveOrders.svelte.d.ts +19 -0
  67. package/dist/components/deployment/ButtonSelectOption.svelte +2 -0
  68. package/dist/components/deployment/ButtonSelectOption.svelte.d.ts +1 -0
  69. package/dist/components/deployment/ComposedRainlangModal.svelte +3 -2
  70. package/dist/components/deployment/ComposedRainlangModal.svelte.d.ts +1 -4
  71. package/dist/components/deployment/DeploymentSectionHeader.svelte +7 -4
  72. package/dist/components/deployment/DeploymentSteps.svelte +196 -221
  73. package/dist/components/deployment/DeploymentSteps.svelte.d.ts +6 -12
  74. package/dist/components/deployment/DeploymentTile.svelte +2 -2
  75. package/dist/components/deployment/DeploymentTile.svelte.d.ts +1 -1
  76. package/dist/components/deployment/DeploymentsSection.svelte +15 -22
  77. package/dist/components/deployment/DeploymentsSection.svelte.d.ts +3 -2
  78. package/dist/components/deployment/DepositInput.svelte +10 -11
  79. package/dist/components/deployment/DepositInput.svelte.d.ts +2 -3
  80. package/dist/components/deployment/DisclaimerModal.svelte +6 -7
  81. package/dist/components/deployment/FieldDefinitionInput.svelte +10 -14
  82. package/dist/components/deployment/FieldDefinitionInput.svelte.d.ts +2 -3
  83. package/dist/components/deployment/InvalidOrdersSection.svelte +17 -0
  84. package/dist/components/deployment/InvalidOrdersSection.svelte.d.ts +19 -0
  85. package/dist/components/deployment/{StrategyPage.svelte → OrderPage.svelte} +15 -24
  86. package/dist/components/deployment/OrderPage.svelte.d.ts +21 -0
  87. package/dist/components/deployment/SelectToken.svelte +127 -50
  88. package/dist/components/deployment/SelectToken.svelte.d.ts +5 -4
  89. package/dist/components/deployment/TokenBalance.svelte +19 -0
  90. package/dist/components/deployment/TokenBalance.svelte.d.ts +19 -0
  91. package/dist/components/deployment/TokenIOInput.svelte +27 -17
  92. package/dist/components/deployment/TokenIOInput.svelte.d.ts +3 -3
  93. package/dist/components/deployment/TokenSelectionModal.svelte +148 -0
  94. package/dist/components/deployment/TokenSelectionModal.svelte.d.ts +20 -0
  95. package/dist/components/deployment/{ValidStrategiesSection.svelte → ValidOrdersSection.svelte} +7 -7
  96. package/dist/components/deployment/ValidOrdersSection.svelte.d.ts +19 -0
  97. package/dist/components/deployment/VaultIdInformation.svelte +17 -0
  98. package/dist/components/deployment/VaultIdInformation.svelte.d.ts +21 -0
  99. package/dist/components/detail/OrderDetail.svelte +220 -82
  100. package/dist/components/detail/OrderDetail.svelte.d.ts +21 -15
  101. package/dist/components/detail/TanstackOrderQuote.svelte +114 -46
  102. package/dist/components/detail/TanstackOrderQuote.svelte.d.ts +14 -16
  103. package/dist/components/detail/VaultDetail.svelte +82 -79
  104. package/dist/components/detail/VaultDetail.svelte.d.ts +12 -18
  105. package/dist/components/dropdown/DropdownActiveNetworks.svelte +44 -0
  106. package/dist/components/dropdown/DropdownActiveNetworks.svelte.d.ts +19 -0
  107. package/dist/components/dropdown/DropdownCheckbox.svelte +4 -4
  108. package/dist/components/dropdown/DropdownRaindexesFilter.svelte +172 -0
  109. package/dist/components/dropdown/DropdownRaindexesFilter.svelte.d.ts +25 -0
  110. package/dist/components/dropdown/DropdownTokensFilter.svelte +152 -0
  111. package/dist/components/dropdown/DropdownTokensFilter.svelte.d.ts +28 -0
  112. package/dist/components/icon/Refresh.svelte +4 -2
  113. package/dist/components/icon/Refresh.svelte.d.ts +2 -0
  114. package/dist/components/input/InputOrderHash.svelte +1 -1
  115. package/dist/components/input/InputOrderHash.svelte.d.ts +3 -3
  116. package/dist/components/input/InputOwnerFilter.svelte +48 -0
  117. package/dist/components/input/InputOwnerFilter.svelte.d.ts +19 -0
  118. package/dist/components/input/InputRegistryUrl.svelte +36 -14
  119. package/dist/components/input/InputToken.svelte +2 -2
  120. package/dist/components/input/InputTokenAmount.svelte +30 -20
  121. package/dist/components/input/InputTokenAmount.svelte.d.ts +3 -3
  122. package/dist/components/tables/OrderAPY.svelte +6 -33
  123. package/dist/components/tables/OrderAPY.svelte.d.ts +1 -4
  124. package/dist/components/tables/OrderTradesListTable.svelte +132 -124
  125. package/dist/components/tables/OrderTradesListTable.svelte.d.ts +4 -4
  126. package/dist/components/tables/OrderVaultsVolTable.svelte +17 -22
  127. package/dist/components/tables/OrderVaultsVolTable.svelte.d.ts +2 -2
  128. package/dist/components/tables/OrdersListTable.svelte +206 -115
  129. package/dist/components/tables/OrdersListTable.svelte.d.ts +18 -23
  130. package/dist/components/tables/VaultBalanceChangesTable.svelte +83 -43
  131. package/dist/components/tables/VaultBalanceChangesTable.svelte.d.ts +13 -11
  132. package/dist/components/tables/VaultsListTable.svelte +275 -150
  133. package/dist/components/tables/VaultsListTable.svelte.d.ts +24 -33
  134. package/dist/components/transactions/FixedBottomTransaction.svelte +64 -0
  135. package/dist/components/transactions/FixedBottomTransaction.svelte.d.ts +16 -0
  136. package/dist/components/transactions/TransactionDetail.svelte +31 -0
  137. package/dist/components/transactions/TransactionDetail.svelte.d.ts +20 -0
  138. package/dist/components/transactions/TransactionList.svelte +17 -0
  139. package/dist/components/transactions/TransactionList.svelte.d.ts +16 -0
  140. package/dist/components/transactions/getStatusEmoji.d.ts +2 -0
  141. package/dist/components/transactions/getStatusEmoji.js +20 -0
  142. package/dist/components/wallet/WalletConnect.svelte +5 -4
  143. package/dist/components/wallet/WalletConnect.svelte.d.ts +0 -1
  144. package/dist/consts.d.ts +1 -0
  145. package/dist/consts.js +1 -0
  146. package/dist/errors/DeploymentStepsError.d.ts +11 -5
  147. package/dist/errors/DeploymentStepsError.js +13 -7
  148. package/dist/errors/index.d.ts +1 -1
  149. package/dist/errors/index.js +1 -1
  150. package/dist/hooks/useLocalDb.d.ts +3 -0
  151. package/dist/hooks/useLocalDb.js +10 -0
  152. package/dist/hooks/useRaindexClient.d.ts +3 -0
  153. package/dist/hooks/useRaindexClient.js +11 -0
  154. package/dist/hooks/useRaindexOrderBuilder.d.ts +3 -0
  155. package/dist/hooks/useRaindexOrderBuilder.js +11 -0
  156. package/dist/index.d.ts +122 -91
  157. package/dist/index.js +118 -87
  158. package/dist/models/Transaction.d.ts +75 -0
  159. package/dist/models/Transaction.js +100 -0
  160. package/dist/providers/LocalDbProvider.svelte +8 -0
  161. package/dist/providers/LocalDbProvider.svelte.d.ts +21 -0
  162. package/dist/providers/RaindexClientProvider.svelte +8 -0
  163. package/dist/providers/RaindexClientProvider.svelte.d.ts +21 -0
  164. package/dist/providers/RaindexOrderBuilderProvider.svelte +8 -0
  165. package/dist/providers/RaindexOrderBuilderProvider.svelte.d.ts +21 -0
  166. package/dist/providers/dotrainRegistry/DotrainRegistryProvider.svelte +8 -0
  167. package/dist/providers/dotrainRegistry/DotrainRegistryProvider.svelte.d.ts +24 -0
  168. package/dist/providers/dotrainRegistry/context.d.ts +9 -0
  169. package/dist/providers/dotrainRegistry/context.js +43 -0
  170. package/dist/providers/dotrainRegistry/useDotrainRegistry.d.ts +5 -0
  171. package/dist/providers/dotrainRegistry/useDotrainRegistry.js +35 -0
  172. package/dist/providers/registry/RegistryManager.d.ts +65 -0
  173. package/dist/providers/registry/RegistryManager.js +134 -0
  174. package/dist/providers/registry/RegistryProvider.svelte +6 -0
  175. package/dist/providers/registry/RegistryProvider.svelte.d.ts +21 -0
  176. package/dist/providers/registry/context.d.ts +10 -0
  177. package/dist/providers/registry/context.js +46 -0
  178. package/dist/providers/registry/useRegistry.d.ts +7 -0
  179. package/dist/providers/registry/useRegistry.js +29 -0
  180. package/dist/providers/toasts/ToastProvider.svelte +17 -0
  181. package/dist/providers/toasts/ToastProvider.svelte.d.ts +18 -0
  182. package/dist/providers/toasts/context.d.ts +14 -0
  183. package/dist/providers/toasts/context.js +22 -0
  184. package/dist/providers/toasts/useToasts.d.ts +16 -0
  185. package/dist/providers/toasts/useToasts.js +63 -0
  186. package/dist/providers/transactions/TransactionManager.d.ts +234 -0
  187. package/dist/providers/transactions/TransactionManager.js +509 -0
  188. package/dist/providers/transactions/TransactionProvider.svelte +11 -0
  189. package/dist/providers/transactions/TransactionProvider.svelte.d.ts +24 -0
  190. package/dist/providers/transactions/context.d.ts +19 -0
  191. package/dist/providers/transactions/context.js +28 -0
  192. package/dist/providers/transactions/useTransactions.d.ts +13 -0
  193. package/dist/providers/transactions/useTransactions.js +18 -0
  194. package/dist/providers/wallet/WalletProvider.svelte +7 -0
  195. package/dist/providers/wallet/WalletProvider.svelte.d.ts +21 -0
  196. package/dist/providers/wallet/context.d.ts +10 -0
  197. package/dist/providers/wallet/context.js +47 -0
  198. package/dist/providers/wallet/useAccount.d.ts +8 -0
  199. package/dist/providers/wallet/useAccount.js +148 -0
  200. package/dist/queries/keys.d.ts +1 -0
  201. package/dist/queries/keys.js +10 -9
  202. package/dist/queries/queryClient.d.ts +2 -2
  203. package/dist/queries/queryClient.js +16 -11
  204. package/dist/services/awaitTransactionIndexing.d.ts +107 -0
  205. package/dist/services/awaitTransactionIndexing.js +60 -0
  206. package/dist/services/getExplorerLink.d.ts +1 -1
  207. package/dist/services/getExplorerLink.js +3 -5
  208. package/dist/services/handleShareChoices.d.ts +2 -2
  209. package/dist/services/handleShareChoices.js +6 -5
  210. package/dist/services/historicalOrderCharts.d.ts +3 -3
  211. package/dist/services/historicalOrderCharts.js +364 -371
  212. package/dist/services/index.d.ts +5 -2
  213. package/dist/services/index.js +3 -1
  214. package/dist/services/loadRegistryUrl.d.ts +2 -0
  215. package/dist/services/loadRegistryUrl.js +22 -0
  216. package/dist/services/pairTradesChartData.d.ts +47 -0
  217. package/dist/services/pairTradesChartData.js +194 -0
  218. package/dist/services/registry.d.ts +5 -5
  219. package/dist/services/registry.js +17 -217
  220. package/dist/services/time.d.ts +12 -0
  221. package/dist/services/time.js +88 -6
  222. package/dist/services/validateAmount.d.ts +30 -0
  223. package/dist/services/validateAmount.js +53 -0
  224. package/dist/storesGeneric/cachedWritableStore.d.ts +57 -0
  225. package/dist/storesGeneric/cachedWritableStore.js +93 -0
  226. package/dist/storesGeneric/scrub.d.ts +14 -0
  227. package/dist/storesGeneric/scrub.js +22 -0
  228. package/dist/test/matchers.d.ts +2 -2
  229. package/dist/test/matchers.js +2 -2
  230. package/dist/types/account.d.ts +3 -0
  231. package/dist/types/appStores.d.ts +9 -16
  232. package/dist/types/modal.d.ts +26 -14
  233. package/dist/types/order.d.ts +10 -0
  234. package/dist/types/order.js +1 -0
  235. package/dist/types/toast.d.ts +11 -0
  236. package/dist/types/toast.js +1 -0
  237. package/dist/types/tokenBalance.d.ts +6 -0
  238. package/dist/types/tokenBalance.js +1 -0
  239. package/dist/types/transaction.d.ts +67 -22
  240. package/dist/types/transaction.js +31 -1
  241. package/dist/utils/breadcrumbs.js +2 -2
  242. package/dist/utils/codeMirrorThemes.js +80 -74
  243. package/dist/utils/configHelpers.d.ts +4 -0
  244. package/dist/utils/configHelpers.js +21 -0
  245. package/dist/utils/constructHashLink.d.ts +24 -0
  246. package/dist/utils/constructHashLink.js +117 -0
  247. package/dist/utils/getNetworkName.d.ts +1 -0
  248. package/dist/utils/getNetworkName.js +13 -0
  249. package/dist/utils/hex.js +1 -1
  250. package/dist/utils/lightweightChartsThemes.d.ts +1 -1
  251. package/dist/utils/lightweightChartsThemes.js +11 -11
  252. package/dist/utils/localDbStatus.d.ts +26 -0
  253. package/dist/utils/localDbStatus.js +22 -0
  254. package/dist/utils/number.d.ts +0 -7
  255. package/dist/utils/number.js +5 -30
  256. package/dist/utils/stripTrailingWhitespace.d.ts +16 -0
  257. package/dist/utils/stripTrailingWhitespace.js +22 -0
  258. package/dist/utils/tokens.d.ts +2 -0
  259. package/dist/utils/tokens.js +3 -0
  260. package/dist/utils/vaultBalanceChangeLabels.d.ts +4 -0
  261. package/dist/utils/vaultBalanceChangeLabels.js +18 -0
  262. package/package.json +89 -84
  263. package/dist/__fixtures__/orderDetail.d.ts +0 -99
  264. package/dist/__fixtures__/orderDetail.js +0 -204
  265. package/dist/__fixtures__/settings-12-11-24.json +0 -160
  266. package/dist/__mocks__/mockTransactionStore.d.ts +0 -22
  267. package/dist/__mocks__/mockTransactionStore.js +0 -56
  268. package/dist/__mocks__/settings.d.ts +0 -3
  269. package/dist/__mocks__/settings.js +0 -37
  270. package/dist/components/CheckboxMyItemsOnly.svelte +0 -23
  271. package/dist/components/CheckboxMyItemsOnly.svelte.d.ts +0 -21
  272. package/dist/components/ListViewOrderbookFilters.svelte +0 -58
  273. package/dist/components/ListViewOrderbookFilters.svelte.d.ts +0 -28
  274. package/dist/components/deployment/InvalidStrategiesSection.svelte +0 -19
  275. package/dist/components/deployment/InvalidStrategiesSection.svelte.d.ts +0 -19
  276. package/dist/components/deployment/StrategyPage.svelte.d.ts +0 -19
  277. package/dist/components/deployment/ValidStrategiesSection.svelte.d.ts +0 -19
  278. package/dist/components/deployment/getDeploymentTransactionArgs.d.ts +0 -17
  279. package/dist/components/deployment/getDeploymentTransactionArgs.js +0 -28
  280. package/dist/components/detail/DepositOrWithdrawButtons.svelte +0 -44
  281. package/dist/components/detail/DepositOrWithdrawButtons.svelte.d.ts +0 -26
  282. package/dist/components/dropdown/DropdownActiveSubgraphs.svelte +0 -38
  283. package/dist/components/dropdown/DropdownActiveSubgraphs.svelte.d.ts +0 -21
  284. package/dist/components/dropdown/DropdownOrderListAccounts.svelte +0 -15
  285. package/dist/components/dropdown/DropdownOrderListAccounts.svelte.d.ts +0 -20
  286. package/dist/components/dropdown/DropdownOrderStatus.svelte +0 -31
  287. package/dist/components/dropdown/DropdownOrderStatus.svelte.d.ts +0 -19
  288. package/dist/hooks/useGui.d.ts +0 -3
  289. package/dist/hooks/useGui.js +0 -11
  290. package/dist/providers/GuiProvider.svelte +0 -8
  291. package/dist/providers/GuiProvider.svelte.d.ts +0 -21
  292. package/dist/stores/transactionStore.d.ts +0 -98
  293. package/dist/stores/transactionStore.js +0 -303
  294. package/dist/types/strategy.d.ts +0 -10
  295. package/dist/utils/time.d.ts +0 -12
  296. package/dist/utils/time.js +0 -27
  297. package/dist/utils/vault.d.ts +0 -2
  298. package/dist/utils/vault.js +0 -29
  299. /package/dist/types/{strategy.js → account.js} +0 -0
@@ -1,39 +1,10 @@
1
- <script>import { createInfiniteQuery } from "@tanstack/svelte-query";
2
- import TanstackAppTable from "../TanstackAppTable.svelte";
3
- import { QKEY_ORDER_APY } from "../../queries/keys";
4
- import { getOrderPerformance } from "@rainlanguage/orderbook/js_api";
5
- import { TableBodyCell, TableHeadCell } from "flowbite-svelte";
6
- import ApyTimeFilters from "../charts/APYTimeFilters.svelte";
7
- import { bigintStringToPercentage } from "../../utils/number";
8
- export let id;
9
- export let subgraphUrl;
10
- let startTimestamp;
11
- let endTimestamp;
12
- $: queryStartTime = startTimestamp ? BigInt(startTimestamp) : void 0;
13
- $: queryEndTime = endTimestamp ? BigInt(endTimestamp) : void 0;
14
- $: orderPerformance = createInfiniteQuery({
15
- queryKey: [id, QKEY_ORDER_APY + id],
16
- queryFn: async () => {
17
- return [
18
- await getOrderPerformance(
19
- subgraphUrl || "",
20
- id,
21
- queryStartTime,
22
- queryEndTime
23
- )
24
- ];
25
- },
26
- initialPageParam: 0,
27
- getNextPageParam: () => void 0,
28
- enabled: !!subgraphUrl
29
- });
30
- </script>
1
+ <script></script>
31
2
 
32
- <TanstackAppTable
3
+ <!-- <TanstackAppTable
33
4
  query={orderPerformance}
34
5
  emptyMessage="APY Unavailable"
35
6
  rowHoverable={false}
36
- queryKey={id}
7
+ queryKey={order.id}
37
8
  >
38
9
  <svelte:fragment slot="timeFilter">
39
10
  <ApyTimeFilters bind:startTimestamp bind:endTimestamp />
@@ -54,4 +25,6 @@ $: orderPerformance = createInfiniteQuery({
54
25
  : 'Unavailable APY'}
55
26
  </TableBodyCell>
56
27
  </svelte:fragment>
57
- </TanstackAppTable>
28
+ </TanstackAppTable> -->
29
+
30
+ <div>TODO: Issue #1989</div>
@@ -1,9 +1,6 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
- props: {
4
- id: string;
5
- subgraphUrl: string;
6
- };
3
+ props: Record<string, never>;
7
4
  events: {
8
5
  [evt: string]: CustomEvent<any>;
9
6
  };
@@ -1,145 +1,153 @@
1
1
  <script>import { createInfiniteQuery } from "@tanstack/svelte-query";
2
2
  import TanstackAppTable from "../TanstackAppTable.svelte";
3
3
  import { QKEY_ORDER_TRADES_LIST } from "../../queries/keys";
4
- import { getOrderTradesList, getOrderTradesCount } from "@rainlanguage/orderbook/js_api";
5
- import { DEFAULT_PAGE_SIZE } from "../../queries/constants";
6
4
  import { TableBodyCell, TableHeadCell } from "flowbite-svelte";
7
- import { formatTimestampSecondsAsLocal } from "../../utils/time";
5
+ import { formatTimestampSecondsAsLocal } from "../../services/time";
8
6
  import Hash, { HashType } from "../Hash.svelte";
9
- import { formatUnits } from "viem";
10
7
  import { BugOutline } from "flowbite-svelte-icons";
11
8
  import TableTimeFilters from "../charts/TableTimeFilters.svelte";
12
- export let id;
13
- export let subgraphUrl;
14
- export let rpcUrl = void 0;
9
+ import Tooltip from "../Tooltip.svelte";
10
+ export let order;
11
+ export let rpcs = void 0;
15
12
  export let handleDebugTradeModal = void 0;
16
13
  let startTimestamp;
17
14
  let endTimestamp;
18
15
  let tradesCount;
19
16
  $: orderTradesQuery = createInfiniteQuery({
20
- queryKey: [id, QKEY_ORDER_TRADES_LIST + id],
17
+ queryKey: [order.id, QKEY_ORDER_TRADES_LIST + order.id],
21
18
  queryFn: async ({ pageParam }) => {
22
19
  tradesCount = void 0;
23
- const [count, trades] = await Promise.all([
24
- getOrderTradesCount(
25
- subgraphUrl || "",
26
- id,
27
- startTimestamp ? BigInt(startTimestamp) : void 0,
28
- endTimestamp ? BigInt(endTimestamp) : void 0
29
- ),
30
- getOrderTradesList(
31
- subgraphUrl || "",
32
- id,
33
- { page: pageParam + 1, pageSize: DEFAULT_PAGE_SIZE },
34
- startTimestamp ? BigInt(startTimestamp) : void 0,
35
- endTimestamp ? BigInt(endTimestamp) : void 0
36
- )
37
- ]);
38
- if (typeof count === "number") {
39
- tradesCount = count;
40
- }
41
- return trades;
20
+ const result = await order.getTradesList(
21
+ startTimestamp ? BigInt(startTimestamp) : void 0,
22
+ endTimestamp ? BigInt(endTimestamp) : void 0,
23
+ pageParam + 1
24
+ );
25
+ if (result.error) throw new Error(result.error.readableMsg);
26
+ tradesCount = Number(result.value.totalCount);
27
+ return result.value;
42
28
  },
43
29
  initialPageParam: 0,
44
- getNextPageParam: (lastPage, _allPages, lastPageParam) => {
45
- return lastPage.length === DEFAULT_PAGE_SIZE ? lastPageParam + 1 : void 0;
46
- },
47
- enabled: !!subgraphUrl
30
+ getNextPageParam: (lastPage, allPages, lastPageParam) => {
31
+ const fetchedCount = allPages.reduce(
32
+ (sum, p) => sum + p.trades.length,
33
+ 0
34
+ );
35
+ return fetchedCount < Number(lastPage.totalCount) ? lastPageParam + 1 : void 0;
36
+ }
48
37
  });
38
+ const AppTable = TanstackAppTable;
49
39
  </script>
50
40
 
51
- <TanstackAppTable
52
- query={orderTradesQuery}
53
- emptyMessage="No trades found"
54
- rowHoverable={false}
55
- queryKey={id}
41
+ <AppTable
42
+ query={orderTradesQuery}
43
+ dataSelector={(page) => page.trades}
44
+ emptyMessage="No trades found"
45
+ rowHoverable={false}
46
+ queryKey={order.id}
56
47
  >
57
- <svelte:fragment slot="info">
58
- {#if tradesCount !== undefined}
59
- <div class="px-2">{tradesCount} Trades</div>
60
- {/if}
61
- </svelte:fragment>
62
- <svelte:fragment slot="timeFilter">
63
- <TableTimeFilters bind:startTimestamp bind:endTimestamp />
64
- </svelte:fragment>
65
- <svelte:fragment slot="head">
66
- <TableHeadCell padding="p-4">Date</TableHeadCell>
67
- <TableHeadCell padding="p-0">Sender</TableHeadCell>
68
- <TableHeadCell padding="p-0">Transaction Hash</TableHeadCell>
69
- <TableHeadCell padding="p-0">Input</TableHeadCell>
70
- <TableHeadCell padding="p-0">Output</TableHeadCell>
71
- <TableHeadCell padding="p-0">IO Ratio</TableHeadCell>
72
- <TableHeadCell padding="p-0"></TableHeadCell>
73
- </svelte:fragment>
48
+ <svelte:fragment slot="info">
49
+ {#if tradesCount !== undefined}
50
+ <div class="px-2">{tradesCount} Trades</div>
51
+ {/if}
52
+ </svelte:fragment>
53
+ <svelte:fragment slot="timeFilter">
54
+ <TableTimeFilters bind:startTimestamp bind:endTimestamp />
55
+ </svelte:fragment>
56
+ <svelte:fragment slot="head">
57
+ <TableHeadCell padding="p-4" class="w-[15%]">Date</TableHeadCell>
58
+ <TableHeadCell padding="p-4" class="w-[20%]">Transaction</TableHeadCell>
59
+ <TableHeadCell padding="p-2" class="w-[18%]">Input</TableHeadCell>
60
+ <TableHeadCell padding="p-2" class="w-[18%]">Output</TableHeadCell>
61
+ <TableHeadCell padding="p-2" class="w-[25%]">IO Ratio</TableHeadCell>
62
+ <TableHeadCell padding="p-0" class="w-[4%]"
63
+ ><span class="sr-only">Actions</span></TableHeadCell
64
+ >
65
+ </svelte:fragment>
74
66
 
75
- <svelte:fragment slot="bodyRow" let:item>
76
- <TableBodyCell tdClass="px-4 py-2">
77
- {formatTimestampSecondsAsLocal(BigInt(item.timestamp))}
78
- </TableBodyCell>
79
- <TableBodyCell tdClass="break-all py-2 min-w-32">
80
- <Hash type={HashType.Wallet} value={item.tradeEvent.transaction.from} />
81
- </TableBodyCell>
82
- <TableBodyCell tdClass="break-all py-2 min-w-32">
83
- <Hash type={HashType.Transaction} value={item.tradeEvent.transaction.id} />
84
- </TableBodyCell>
85
- <TableBodyCell tdClass="break-all py-2">
86
- {formatUnits(
87
- BigInt(item.inputVaultBalanceChange.amount),
88
- Number(item.inputVaultBalanceChange.vault.token.decimals ?? 0)
89
- )}
90
- {item.inputVaultBalanceChange.vault.token.symbol}
91
- </TableBodyCell>
92
- <TableBodyCell tdClass="break-all py-2">
93
- {formatUnits(
94
- BigInt(item.outputVaultBalanceChange.amount) * BigInt(-1),
95
- Number(item.outputVaultBalanceChange.vault.token.decimals ?? 0)
96
- )}
97
- {item.outputVaultBalanceChange.vault.token.symbol}
98
- </TableBodyCell>
99
- <TableBodyCell tdClass="break-all py-2" data-testid="io-ratio">
100
- {Math.abs(
101
- Number(
102
- formatUnits(
103
- BigInt(item.inputVaultBalanceChange.amount),
104
- Number(item.inputVaultBalanceChange.vault.token.decimals ?? 0)
105
- )
106
- ) /
107
- Number(
108
- formatUnits(
109
- BigInt(item.outputVaultBalanceChange.amount),
110
- Number(item.outputVaultBalanceChange.vault.token.decimals ?? 0)
111
- )
112
- )
113
- )}
114
- <span class="text-gray-400">
115
- ({Math.abs(
116
- Number(
117
- formatUnits(
118
- BigInt(item.outputVaultBalanceChange.amount),
119
- Number(item.outputVaultBalanceChange.vault.token.decimals ?? 0)
120
- )
121
- ) /
122
- Number(
123
- formatUnits(
124
- BigInt(item.inputVaultBalanceChange.amount),
125
- Number(item.inputVaultBalanceChange.vault.token.decimals ?? 0)
126
- )
127
- )
128
- )})
129
- </span>
130
- </TableBodyCell>
131
- {#if rpcUrl && handleDebugTradeModal}
132
- <TableBodyCell tdClass="py-2">
133
- <button
134
- data-testid="debug-trade-button"
135
- class="text-gray-500 hover:text-gray-700"
136
- on:click={() => {
137
- if (rpcUrl) handleDebugTradeModal(item.tradeEvent.transaction.id, rpcUrl);
138
- }}
139
- >
140
- <BugOutline size="xs" />
141
- </button>
142
- </TableBodyCell>
143
- {/if}
144
- </svelte:fragment>
145
- </TanstackAppTable>
67
+ <svelte:fragment slot="bodyRow" let:item>
68
+ {@const inputAmt = Number(item.inputVaultBalanceChange.formattedAmount)}
69
+ {@const outputAmt = Number(item.outputVaultBalanceChange.formattedAmount)}
70
+ {@const ioRatio = Math.abs(inputAmt / outputAmt)}
71
+ {@const oiRatio = Math.abs(outputAmt / inputAmt)}
72
+ {@const validRatio = Number.isFinite(ioRatio) && Number.isFinite(oiRatio)}
73
+ <TableBodyCell tdClass="px-4 py-2">
74
+ {formatTimestampSecondsAsLocal(BigInt(item.timestamp))}
75
+ </TableBodyCell>
76
+ <TableBodyCell tdClass="px-4 py-2">
77
+ <div class="flex flex-col gap-1 text-sm">
78
+ <div class="flex items-center gap-1">
79
+ <span class="text-gray-500 dark:text-gray-400">Sender:</span>
80
+ <Hash type={HashType.Wallet} value={item.transaction.from} />
81
+ </div>
82
+ <div class="flex items-center gap-1">
83
+ <span class="text-gray-500 dark:text-gray-400">Tx:</span>
84
+ <Hash type={HashType.Transaction} value={item.transaction.id} />
85
+ </div>
86
+ </div>
87
+ </TableBodyCell>
88
+ <TableBodyCell tdClass="p-2" data-testid="input">
89
+ <div class="flex flex-col overflow-hidden">
90
+ <span class="truncate font-medium"
91
+ >{item.inputVaultBalanceChange.token.symbol}</span
92
+ >
93
+ <span
94
+ id={`input-${item.id}`}
95
+ class="truncate text-sm text-gray-500 dark:text-gray-400"
96
+ >{item.inputVaultBalanceChange.formattedAmount}</span
97
+ >
98
+ <Tooltip triggeredBy={`#input-${item.id}`}>
99
+ {item.inputVaultBalanceChange.formattedAmount}
100
+ {item.inputVaultBalanceChange.token.symbol}
101
+ </Tooltip>
102
+ </div>
103
+ </TableBodyCell>
104
+ <TableBodyCell tdClass="p-2" data-testid="output">
105
+ <div class="flex flex-col overflow-hidden">
106
+ <span class="truncate font-medium"
107
+ >{item.outputVaultBalanceChange.token.symbol}</span
108
+ >
109
+ <span
110
+ id={`output-${item.id}`}
111
+ class="truncate text-sm text-gray-500 dark:text-gray-400"
112
+ >{item.outputVaultBalanceChange.formattedAmount}</span
113
+ >
114
+ <Tooltip triggeredBy={`#output-${item.id}`}>
115
+ {item.outputVaultBalanceChange.formattedAmount}
116
+ {item.outputVaultBalanceChange.token.symbol}
117
+ </Tooltip>
118
+ </div>
119
+ </TableBodyCell>
120
+ <TableBodyCell tdClass="p-2" data-testid="io-ratio">
121
+ <div id={`io-ratio-${item.id}`} class="truncate">
122
+ {#if validRatio}
123
+ {ioRatio}
124
+ <span class="text-gray-400">({oiRatio})</span>
125
+ {:else}
126
+ -
127
+ {/if}
128
+ </div>
129
+ <Tooltip triggeredBy={`#io-ratio-${item.id}`}>
130
+ {#if validRatio}
131
+ {ioRatio} ({oiRatio})
132
+ {:else}
133
+ -
134
+ {/if}
135
+ </Tooltip>
136
+ </TableBodyCell>
137
+ <TableBodyCell tdClass="py-2">
138
+ {#if rpcs && handleDebugTradeModal}
139
+ <button
140
+ data-testid="debug-trade-button"
141
+ class="text-gray-500 hover:text-gray-700"
142
+ title="Debug trade"
143
+ aria-label="Debug trade"
144
+ on:click={() => {
145
+ if (rpcs) handleDebugTradeModal(item.transaction.id, rpcs);
146
+ }}
147
+ >
148
+ <BugOutline size="xs" />
149
+ </button>
150
+ {/if}
151
+ </TableBodyCell>
152
+ </svelte:fragment>
153
+ </AppTable>
@@ -1,10 +1,10 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ import type { RaindexOrder } from "@rainlanguage/raindex";
2
3
  declare const __propDef: {
3
4
  props: {
4
- id: string;
5
- subgraphUrl: string;
6
- rpcUrl?: string | undefined;
7
- handleDebugTradeModal?: ((hash: string, rpcUrl: string) => void) | undefined;
5
+ order: RaindexOrder;
6
+ rpcs?: string[] | undefined;
7
+ handleDebugTradeModal?: ((hash: string, rpcs: string[]) => void) | undefined;
8
8
  };
9
9
  events: {
10
10
  [evt: string]: CustomEvent<any>;
@@ -1,33 +1,29 @@
1
1
  <script>import { createInfiniteQuery } from "@tanstack/svelte-query";
2
2
  import TanstackAppTable from "../TanstackAppTable.svelte";
3
3
  import { QKEY_VAULTS_VOL_LIST } from "../../queries/keys";
4
- import { getOrderVaultsVolume } from "@rainlanguage/orderbook/js_api";
4
+ import {} from "@rainlanguage/raindex";
5
5
  import { TableBodyCell, TableHeadCell } from "flowbite-svelte";
6
6
  import Hash, { HashType } from "../Hash.svelte";
7
- import { formatUnits } from "viem";
8
7
  import TableTimeFilters from "../charts/TableTimeFilters.svelte";
9
- import { bigintStringToHex } from "../../utils/hex";
10
- export let id;
11
- export let subgraphUrl;
8
+ export let order;
12
9
  let startTimestamp;
13
10
  let endTimestamp;
14
11
  $: queryStartTime = startTimestamp ? BigInt(startTimestamp) : void 0;
15
12
  $: queryEndTime = endTimestamp ? BigInt(endTimestamp) : void 0;
16
13
  $: vaultsVol = createInfiniteQuery({
17
- queryKey: [id, QKEY_VAULTS_VOL_LIST + id],
18
- queryFn: () => getOrderVaultsVolume(subgraphUrl || "", id, queryStartTime, queryEndTime),
14
+ queryKey: [order.id, QKEY_VAULTS_VOL_LIST + order.id],
15
+ queryFn: async () => {
16
+ const result = await order.getVaultsVolume(queryStartTime, queryEndTime);
17
+ if (result.error) throw new Error(result.error.readableMsg);
18
+ return result.value;
19
+ },
19
20
  initialPageParam: 0,
20
- getNextPageParam: () => void 0,
21
- enabled: !!subgraphUrl
21
+ getNextPageParam: () => void 0
22
22
  });
23
+ const AppTable = TanstackAppTable;
23
24
  </script>
24
25
 
25
- <TanstackAppTable
26
- query={vaultsVol}
27
- emptyMessage="No trades found"
28
- rowHoverable={false}
29
- queryKey={id}
30
- >
26
+ <AppTable query={vaultsVol} emptyMessage="No trades found" rowHoverable={false} queryKey={order.id}>
31
27
  <svelte:fragment slot="timeFilter">
32
28
  <TableTimeFilters bind:startTimestamp bind:endTimestamp />
33
29
  </svelte:fragment>
@@ -42,7 +38,7 @@ $: vaultsVol = createInfiniteQuery({
42
38
 
43
39
  <svelte:fragment slot="bodyRow" let:item>
44
40
  <TableBodyCell tdClass="px-4 py-2">
45
- <Hash type={HashType.Identifier} shorten value={bigintStringToHex(item.id)} />
41
+ <Hash type={HashType.Identifier} shorten value={item.id.toString()} />
46
42
  </TableBodyCell>
47
43
  <TableBodyCell tdClass="break-all py-2 min-w-32">
48
44
  <div class="flex gap-x-3">
@@ -51,17 +47,16 @@ $: vaultsVol = createInfiniteQuery({
51
47
  </div>
52
48
  </TableBodyCell>
53
49
  <TableBodyCell tdClass="break-all py-2 min-w-32" data-testid="total-in">
54
- {formatUnits(BigInt(item.volDetails.totalIn), Number(item.token.decimals ?? 0))}
50
+ {item.details.formattedTotalIn}
55
51
  </TableBodyCell>
56
52
  <TableBodyCell tdClass="break-all py-2" data-testid="total-out">
57
- {formatUnits(BigInt(item.volDetails.totalOut), Number(item.token.decimals ?? 0))}
53
+ {item.details.formattedTotalOut}
58
54
  </TableBodyCell>
59
55
  <TableBodyCell tdClass="break-all py-2" data-testid="net-vol">
60
- {(BigInt(item.volDetails.totalIn) >= BigInt(item.volDetails.totalOut) ? '' : '-') +
61
- formatUnits(BigInt(item.volDetails.netVol), Number(item.token.decimals ?? 0))}
56
+ {item.details.formattedNetVol}
62
57
  </TableBodyCell>
63
58
  <TableBodyCell tdClass="break-all py-2" data-testid="total-vol">
64
- {formatUnits(BigInt(item.volDetails.totalVol), Number(item.token.decimals ?? 0))}
59
+ {item.details.formattedTotalVol}
65
60
  </TableBodyCell>
66
61
  </svelte:fragment>
67
- </TanstackAppTable>
62
+ </AppTable>
@@ -1,8 +1,8 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ import { type RaindexOrder } from '@rainlanguage/raindex';
2
3
  declare const __propDef: {
3
4
  props: {
4
- id: string;
5
- subgraphUrl: string;
5
+ order: RaindexOrder;
6
6
  };
7
7
  events: {
8
8
  [evt: string]: CustomEvent<any>;