@rainlanguage/ui-components 0.0.1-alpha.22 → 0.0.1-alpha.221

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