@rainlanguage/ui-components 0.0.1-alpha.21 → 0.0.1-alpha.211

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 (260) 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 +47 -33
  7. package/dist/__mocks__/stores.js +61 -38
  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/CheckboxMyItemsOnly.svelte +3 -2
  14. package/dist/components/CheckboxMyItemsOnly.svelte.d.ts +2 -3
  15. package/dist/components/CheckboxZeroBalanceVault.svelte.d.ts +2 -2
  16. package/dist/components/CodeMirrorDotrain.svelte +4 -0
  17. package/dist/components/CodeMirrorDotrain.svelte.d.ts +1 -0
  18. package/dist/components/CodeMirrorRainlang.svelte +3 -12
  19. package/dist/components/CodeMirrorRainlang.svelte.d.ts +2 -2
  20. package/dist/components/EditableSpan.svelte +3 -14
  21. package/dist/components/EditableSpan.svelte.d.ts +0 -1
  22. package/dist/components/Hash.svelte +3 -3
  23. package/dist/components/License.svelte +5 -4
  24. package/dist/components/ListViewOrderbookFilters.svelte +45 -23
  25. package/dist/components/ListViewOrderbookFilters.svelte.d.ts +27 -22
  26. package/dist/components/LocalDbStatusBadge.svelte +27 -0
  27. package/dist/components/LocalDbStatusBadge.svelte.d.ts +19 -0
  28. package/dist/components/LocalDbStatusCard.svelte +40 -0
  29. package/dist/components/LocalDbStatusCard.svelte.d.ts +20 -0
  30. package/dist/components/LocalDbStatusModal.svelte +103 -0
  31. package/dist/components/LocalDbStatusModal.svelte.d.ts +21 -0
  32. package/dist/components/OrderOrVaultHash.svelte +12 -12
  33. package/dist/components/OrderOrVaultHash.svelte.d.ts +4 -4
  34. package/dist/components/PageHeader.svelte +1 -1
  35. package/dist/components/TanstackAppTable.svelte +179 -28
  36. package/dist/components/TanstackAppTable.svelte.d.ts +14 -8
  37. package/dist/components/ToastDetail.svelte +42 -0
  38. package/dist/components/ToastDetail.svelte.d.ts +20 -0
  39. package/dist/components/Tooltip.svelte +8 -0
  40. package/dist/components/Tooltip.svelte.d.ts +21 -0
  41. package/dist/components/VaultBalanceChangeTypeFilter.svelte +23 -0
  42. package/dist/components/VaultBalanceChangeTypeFilter.svelte.d.ts +19 -0
  43. package/dist/components/VaultCard.svelte +18 -0
  44. package/dist/components/VaultCard.svelte.d.ts +19 -0
  45. package/dist/components/charts/LightweightChart.svelte +1 -1
  46. package/dist/components/charts/LightweightChart.svelte.d.ts +5 -5
  47. package/dist/components/charts/OrderTradesChart.svelte +300 -28
  48. package/dist/components/charts/OrderTradesChart.svelte.d.ts +4 -4
  49. package/dist/components/charts/TanstackLightweightChartLine.svelte +5 -9
  50. package/dist/components/charts/VaultBalanceChart.svelte +8 -26
  51. package/dist/components/charts/VaultBalanceChart.svelte.d.ts +1 -7
  52. package/dist/components/charts/transformAndSortData.d.ts +24 -0
  53. package/dist/components/charts/transformAndSortData.js +111 -0
  54. package/dist/components/checkbox/CheckboxActiveOrders.svelte +11 -0
  55. package/dist/components/checkbox/CheckboxActiveOrders.svelte.d.ts +19 -0
  56. package/dist/components/deployment/ButtonSelectOption.svelte +2 -0
  57. package/dist/components/deployment/ButtonSelectOption.svelte.d.ts +1 -0
  58. package/dist/components/deployment/ComposedRainlangModal.svelte +2 -1
  59. package/dist/components/deployment/ComposedRainlangModal.svelte.d.ts +1 -4
  60. package/dist/components/deployment/DeploymentSectionHeader.svelte +7 -4
  61. package/dist/components/deployment/DeploymentSteps.svelte +209 -216
  62. package/dist/components/deployment/DeploymentSteps.svelte.d.ts +6 -12
  63. package/dist/components/deployment/DeploymentTile.svelte +2 -2
  64. package/dist/components/deployment/DeploymentTile.svelte.d.ts +1 -1
  65. package/dist/components/deployment/DeploymentsSection.svelte +15 -22
  66. package/dist/components/deployment/DeploymentsSection.svelte.d.ts +3 -2
  67. package/dist/components/deployment/DepositInput.svelte +8 -10
  68. package/dist/components/deployment/DepositInput.svelte.d.ts +1 -2
  69. package/dist/components/deployment/DisclaimerModal.svelte +6 -7
  70. package/dist/components/deployment/FieldDefinitionInput.svelte +7 -11
  71. package/dist/components/deployment/FieldDefinitionInput.svelte.d.ts +1 -2
  72. package/dist/components/deployment/InvalidOrdersSection.svelte +17 -0
  73. package/dist/components/deployment/InvalidOrdersSection.svelte.d.ts +19 -0
  74. package/dist/components/deployment/{StrategyPage.svelte → OrderPage.svelte} +15 -24
  75. package/dist/components/deployment/OrderPage.svelte.d.ts +21 -0
  76. package/dist/components/deployment/SelectToken.svelte +125 -48
  77. package/dist/components/deployment/SelectToken.svelte.d.ts +4 -3
  78. package/dist/components/deployment/TokenBalance.svelte +19 -0
  79. package/dist/components/deployment/TokenBalance.svelte.d.ts +19 -0
  80. package/dist/components/deployment/TokenIOInput.svelte +25 -15
  81. package/dist/components/deployment/TokenIOInput.svelte.d.ts +3 -3
  82. package/dist/components/deployment/TokenSelectionModal.svelte +148 -0
  83. package/dist/components/deployment/TokenSelectionModal.svelte.d.ts +20 -0
  84. package/dist/components/deployment/{ValidStrategiesSection.svelte → ValidOrdersSection.svelte} +7 -7
  85. package/dist/components/deployment/ValidOrdersSection.svelte.d.ts +19 -0
  86. package/dist/components/deployment/VaultIdInformation.svelte +17 -0
  87. package/dist/components/deployment/VaultIdInformation.svelte.d.ts +21 -0
  88. package/dist/components/detail/OrderDetail.svelte +184 -80
  89. package/dist/components/detail/OrderDetail.svelte.d.ts +21 -15
  90. package/dist/components/detail/TanstackOrderQuote.svelte +92 -46
  91. package/dist/components/detail/TanstackOrderQuote.svelte.d.ts +14 -16
  92. package/dist/components/detail/VaultDetail.svelte +78 -77
  93. package/dist/components/detail/VaultDetail.svelte.d.ts +12 -18
  94. package/dist/components/dropdown/DropdownActiveNetworks.svelte +44 -0
  95. package/dist/components/dropdown/DropdownActiveNetworks.svelte.d.ts +19 -0
  96. package/dist/components/dropdown/DropdownCheckbox.svelte +4 -4
  97. package/dist/components/dropdown/DropdownOrderListAccounts.svelte +5 -2
  98. package/dist/components/dropdown/DropdownOrderListAccounts.svelte.d.ts +2 -3
  99. package/dist/components/dropdown/DropdownOrderbooksFilter.svelte +172 -0
  100. package/dist/components/dropdown/DropdownOrderbooksFilter.svelte.d.ts +25 -0
  101. package/dist/components/dropdown/DropdownTokensFilter.svelte +152 -0
  102. package/dist/components/dropdown/DropdownTokensFilter.svelte.d.ts +28 -0
  103. package/dist/components/icon/Refresh.svelte +2 -1
  104. package/dist/components/icon/Refresh.svelte.d.ts +1 -0
  105. package/dist/components/input/InputOrderHash.svelte +1 -1
  106. package/dist/components/input/InputOrderHash.svelte.d.ts +3 -3
  107. package/dist/components/input/InputRegistryUrl.svelte +36 -14
  108. package/dist/components/input/InputToken.svelte +2 -2
  109. package/dist/components/input/InputTokenAmount.svelte +16 -21
  110. package/dist/components/input/InputTokenAmount.svelte.d.ts +3 -3
  111. package/dist/components/tables/OrderAPY.svelte +6 -33
  112. package/dist/components/tables/OrderAPY.svelte.d.ts +1 -4
  113. package/dist/components/tables/OrderTradesListTable.svelte +84 -81
  114. package/dist/components/tables/OrderTradesListTable.svelte.d.ts +4 -4
  115. package/dist/components/tables/OrderVaultsVolTable.svelte +17 -22
  116. package/dist/components/tables/OrderVaultsVolTable.svelte.d.ts +2 -2
  117. package/dist/components/tables/OrdersListTable.svelte +200 -108
  118. package/dist/components/tables/OrdersListTable.svelte.d.ts +17 -21
  119. package/dist/components/tables/VaultBalanceChangesTable.svelte +83 -43
  120. package/dist/components/tables/VaultBalanceChangesTable.svelte.d.ts +13 -11
  121. package/dist/components/tables/VaultsListTable.svelte +268 -145
  122. package/dist/components/tables/VaultsListTable.svelte.d.ts +24 -32
  123. package/dist/components/transactions/FixedBottomTransaction.svelte +63 -0
  124. package/dist/components/transactions/FixedBottomTransaction.svelte.d.ts +16 -0
  125. package/dist/components/transactions/TransactionDetail.svelte +31 -0
  126. package/dist/components/transactions/TransactionDetail.svelte.d.ts +20 -0
  127. package/dist/components/transactions/TransactionList.svelte +17 -0
  128. package/dist/components/transactions/TransactionList.svelte.d.ts +16 -0
  129. package/dist/components/transactions/getStatusEmoji.d.ts +2 -0
  130. package/dist/components/transactions/getStatusEmoji.js +20 -0
  131. package/dist/components/wallet/WalletConnect.svelte +5 -4
  132. package/dist/components/wallet/WalletConnect.svelte.d.ts +0 -1
  133. package/dist/consts.d.ts +1 -0
  134. package/dist/consts.js +1 -0
  135. package/dist/errors/DeploymentStepsError.d.ts +8 -2
  136. package/dist/errors/DeploymentStepsError.js +7 -1
  137. package/dist/hooks/useGui.d.ts +1 -1
  138. package/dist/hooks/useGui.js +1 -1
  139. package/dist/hooks/useLocalDb.d.ts +3 -0
  140. package/dist/hooks/useLocalDb.js +10 -0
  141. package/dist/hooks/useRaindexClient.d.ts +3 -0
  142. package/dist/hooks/useRaindexClient.js +11 -0
  143. package/dist/index.d.ts +42 -19
  144. package/dist/index.js +41 -16
  145. package/dist/models/Transaction.d.ts +75 -0
  146. package/dist/models/Transaction.js +100 -0
  147. package/dist/providers/GuiProvider.svelte +1 -1
  148. package/dist/providers/GuiProvider.svelte.d.ts +1 -1
  149. package/dist/providers/LocalDbProvider.svelte +8 -0
  150. package/dist/providers/LocalDbProvider.svelte.d.ts +21 -0
  151. package/dist/providers/RaindexClientProvider.svelte +8 -0
  152. package/dist/providers/RaindexClientProvider.svelte.d.ts +21 -0
  153. package/dist/providers/dotrainRegistry/DotrainRegistryProvider.svelte +8 -0
  154. package/dist/providers/dotrainRegistry/DotrainRegistryProvider.svelte.d.ts +24 -0
  155. package/dist/providers/dotrainRegistry/context.d.ts +9 -0
  156. package/dist/providers/dotrainRegistry/context.js +40 -0
  157. package/dist/providers/dotrainRegistry/useDotrainRegistry.d.ts +5 -0
  158. package/dist/providers/dotrainRegistry/useDotrainRegistry.js +35 -0
  159. package/dist/providers/registry/RegistryManager.d.ts +65 -0
  160. package/dist/providers/registry/RegistryManager.js +133 -0
  161. package/dist/providers/registry/RegistryProvider.svelte +6 -0
  162. package/dist/providers/registry/RegistryProvider.svelte.d.ts +21 -0
  163. package/dist/providers/registry/context.d.ts +10 -0
  164. package/dist/providers/registry/context.js +46 -0
  165. package/dist/providers/registry/useRegistry.d.ts +7 -0
  166. package/dist/providers/registry/useRegistry.js +29 -0
  167. package/dist/providers/toasts/ToastProvider.svelte +17 -0
  168. package/dist/providers/toasts/ToastProvider.svelte.d.ts +18 -0
  169. package/dist/providers/toasts/context.d.ts +14 -0
  170. package/dist/providers/toasts/context.js +22 -0
  171. package/dist/providers/toasts/useToasts.d.ts +16 -0
  172. package/dist/providers/toasts/useToasts.js +63 -0
  173. package/dist/providers/transactions/TransactionManager.d.ts +235 -0
  174. package/dist/providers/transactions/TransactionManager.js +509 -0
  175. package/dist/providers/transactions/TransactionProvider.svelte +11 -0
  176. package/dist/providers/transactions/TransactionProvider.svelte.d.ts +24 -0
  177. package/dist/providers/transactions/context.d.ts +19 -0
  178. package/dist/providers/transactions/context.js +28 -0
  179. package/dist/providers/transactions/useTransactions.d.ts +13 -0
  180. package/dist/providers/transactions/useTransactions.js +18 -0
  181. package/dist/providers/wallet/WalletProvider.svelte +7 -0
  182. package/dist/providers/wallet/WalletProvider.svelte.d.ts +21 -0
  183. package/dist/providers/wallet/context.d.ts +10 -0
  184. package/dist/providers/wallet/context.js +47 -0
  185. package/dist/providers/wallet/useAccount.d.ts +8 -0
  186. package/dist/providers/wallet/useAccount.js +148 -0
  187. package/dist/queries/keys.d.ts +1 -0
  188. package/dist/queries/keys.js +1 -0
  189. package/dist/queries/queryClient.d.ts +1 -1
  190. package/dist/queries/queryClient.js +11 -6
  191. package/dist/services/awaitTransactionIndexing.d.ts +107 -0
  192. package/dist/services/awaitTransactionIndexing.js +58 -0
  193. package/dist/services/getExplorerLink.d.ts +1 -1
  194. package/dist/services/getExplorerLink.js +2 -4
  195. package/dist/services/handleShareChoices.d.ts +2 -2
  196. package/dist/services/handleShareChoices.js +7 -2
  197. package/dist/services/historicalOrderCharts.d.ts +2 -2
  198. package/dist/services/historicalOrderCharts.js +267 -333
  199. package/dist/services/index.d.ts +2 -1
  200. package/dist/services/index.js +2 -1
  201. package/dist/services/loadRegistryUrl.d.ts +2 -0
  202. package/dist/services/loadRegistryUrl.js +22 -0
  203. package/dist/services/pairTradesChartData.d.ts +47 -0
  204. package/dist/services/pairTradesChartData.js +190 -0
  205. package/dist/services/registry.d.ts +5 -5
  206. package/dist/services/registry.js +8 -208
  207. package/dist/services/time.d.ts +12 -0
  208. package/dist/services/time.js +88 -6
  209. package/dist/storesGeneric/cachedWritableStore.d.ts +57 -0
  210. package/dist/storesGeneric/cachedWritableStore.js +93 -0
  211. package/dist/types/account.d.ts +3 -0
  212. package/dist/types/appStores.d.ts +9 -14
  213. package/dist/types/modal.d.ts +26 -14
  214. package/dist/types/{strategy.d.ts → order.d.ts} +3 -3
  215. package/dist/types/order.js +1 -0
  216. package/dist/types/toast.d.ts +11 -0
  217. package/dist/types/toast.js +1 -0
  218. package/dist/types/tokenBalance.d.ts +6 -0
  219. package/dist/types/tokenBalance.js +1 -0
  220. package/dist/types/transaction.d.ts +66 -21
  221. package/dist/types/transaction.js +31 -1
  222. package/dist/utils/configHelpers.d.ts +4 -0
  223. package/dist/utils/configHelpers.js +21 -0
  224. package/dist/utils/constructHashLink.d.ts +24 -0
  225. package/dist/utils/constructHashLink.js +115 -0
  226. package/dist/utils/getNetworkName.d.ts +1 -0
  227. package/dist/utils/getNetworkName.js +13 -0
  228. package/dist/utils/number.d.ts +0 -7
  229. package/dist/utils/number.js +0 -27
  230. package/dist/utils/tokens.d.ts +2 -0
  231. package/dist/utils/tokens.js +3 -0
  232. package/dist/utils/vaultBalanceChangeLabels.d.ts +4 -0
  233. package/dist/utils/vaultBalanceChangeLabels.js +18 -0
  234. package/package.json +39 -34
  235. package/dist/__fixtures__/orderDetail.d.ts +0 -99
  236. package/dist/__fixtures__/orderDetail.js +0 -204
  237. package/dist/__fixtures__/settings-12-11-24.json +0 -160
  238. package/dist/__mocks__/mockTransactionStore.d.ts +0 -22
  239. package/dist/__mocks__/mockTransactionStore.js +0 -56
  240. package/dist/__mocks__/settings.d.ts +0 -3
  241. package/dist/__mocks__/settings.js +0 -37
  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/DropdownOrderStatus.svelte +0 -31
  253. package/dist/components/dropdown/DropdownOrderStatus.svelte.d.ts +0 -19
  254. package/dist/stores/transactionStore.d.ts +0 -98
  255. package/dist/stores/transactionStore.js +0 -303
  256. package/dist/utils/time.d.ts +0 -12
  257. package/dist/utils/time.js +0 -27
  258. package/dist/utils/vault.d.ts +0 -2
  259. package/dist/utils/vault.js +0 -29
  260. /package/dist/types/{strategy.js → account.js} +0 -0
@@ -1,14 +1,15 @@
1
- <script generics="T">import { goto } from "$app/navigation";
1
+ <script>import { getNetworkName } from "../../utils/getNetworkName";
2
+ import { goto } from "$app/navigation";
2
3
  import { DotsVerticalOutline } from "flowbite-svelte-icons";
3
- import {} from "@rainlanguage/orderbook/js_api";
4
- import { createInfiniteQuery } from "@tanstack/svelte-query";
5
- import { getOrders } from "@rainlanguage/orderbook/js_api";
4
+ import { createInfiniteQuery, createQuery } from "@tanstack/svelte-query";
5
+ import { RaindexOrder } from "@rainlanguage/orderbook";
6
6
  import TanstackAppTable from "../TanstackAppTable.svelte";
7
- import { formatTimestampSecondsAsLocal } from "../../utils/time";
7
+ import { formatTimestampSecondsAsLocal } from "../../services/time";
8
8
  import ListViewOrderbookFilters from "../ListViewOrderbookFilters.svelte";
9
9
  import Hash, { HashType } from "../Hash.svelte";
10
+ import VaultCard from "../VaultCard.svelte";
10
11
  import { DEFAULT_PAGE_SIZE, DEFAULT_REFRESH_INTERVAL } from "../../queries/constants";
11
- import { QKEY_ORDERS } from "../../queries/keys";
12
+ import { QKEY_ORDERS, QKEY_TOKENS } from "../../queries/keys";
12
13
  import {
13
14
  Badge,
14
15
  Button,
@@ -17,47 +18,73 @@ import {
17
18
  TableBodyCell,
18
19
  TableHeadCell
19
20
  } from "flowbite-svelte";
20
- export const walletAddressMatchesOrBlank = void 0;
21
- export const handleOrderRemoveModal = void 0;
22
- export let activeSubgraphs;
23
- export let settings;
24
- export let accounts;
21
+ import { useAccount } from "../../providers/wallet/useAccount";
22
+ import { useRaindexClient } from "../../hooks/useRaindexClient";
23
+ import { getAllContexts } from "svelte";
24
+ const context = getAllContexts();
25
+ export let handleOrderRemoveModal = void 0;
26
+ export let handleTakeOrderModal = void 0;
27
+ export let selectedChainIds;
25
28
  export let activeAccountsItems;
26
- export let activeOrderStatus;
29
+ export let showInactiveOrders;
27
30
  export let orderHash;
28
31
  export let hideZeroBalanceVaults;
32
+ export let hideInactiveOrdersVaults;
29
33
  export let showMyItemsOnly;
30
- export let currentRoute;
31
- export let signerAddress;
32
- export let activeNetworkRef;
33
- export let activeOrderbookRef;
34
- $: multiSubgraphArgs = Object.entries(
35
- Object.keys($activeSubgraphs ?? {}).length ? $activeSubgraphs : $settings?.subgraphs ?? {}
36
- ).map(([name, url]) => ({
37
- name,
38
- url
39
- }));
40
- $: owners = $activeAccountsItems && Object.values($activeAccountsItems).length > 0 ? Object.values($activeAccountsItems) : $showMyItemsOnly && $signerAddress ? [$signerAddress] : [];
34
+ export let activeTokens;
35
+ export let activeOrderbookAddresses;
36
+ const { matchesAccount, account } = useAccount();
37
+ const raindexClient = useRaindexClient();
38
+ $: owners = $activeAccountsItems && Object.values($activeAccountsItems).length > 0 ? Object.values($activeAccountsItems) : $showMyItemsOnly && $account ? [$account] : [];
39
+ $: tokensQuery = createQuery({
40
+ queryKey: [QKEY_TOKENS, $selectedChainIds],
41
+ queryFn: async () => {
42
+ const result = await raindexClient.getAllVaultTokens($selectedChainIds);
43
+ if (result.error) throw new Error(result.error.readableMsg);
44
+ return result.value;
45
+ },
46
+ enabled: true
47
+ });
48
+ $: selectedTokens = $activeTokens?.filter(
49
+ (address) => !$tokensQuery.data || $tokensQuery.data.some((t) => t.address === address)
50
+ ) ?? [];
51
+ $: orderbooksMap = raindexClient.getAllOrderbooks()?.value ?? /* @__PURE__ */ new Map();
52
+ $: availableOrderbookAddresses = (() => {
53
+ const addrs = [];
54
+ orderbooksMap.forEach((cfg) => {
55
+ if ($selectedChainIds.length === 0 || $selectedChainIds.includes(cfg.network.chainId)) {
56
+ addrs.push(cfg.address.toLowerCase());
57
+ }
58
+ });
59
+ return addrs;
60
+ })();
61
+ $: selectedOrderbookAddresses = $activeOrderbookAddresses?.filter(
62
+ (address) => availableOrderbookAddresses.includes(address.toLowerCase())
63
+ ) ?? [];
41
64
  $: query = createInfiniteQuery({
42
65
  queryKey: [
43
66
  QKEY_ORDERS,
44
- $activeSubgraphs,
45
- $settings,
46
- multiSubgraphArgs,
67
+ $selectedChainIds,
47
68
  owners,
48
- $activeOrderStatus,
49
- $orderHash
69
+ $showInactiveOrders,
70
+ $orderHash,
71
+ selectedTokens,
72
+ selectedOrderbookAddresses
50
73
  ],
51
- queryFn: ({ pageParam }) => {
52
- return getOrders(
53
- multiSubgraphArgs,
74
+ queryFn: async ({ pageParam }) => {
75
+ const result = await raindexClient.getOrders(
76
+ $selectedChainIds,
54
77
  {
55
78
  owners,
56
- active: $activeOrderStatus,
57
- orderHash: $orderHash || void 0
79
+ active: $showInactiveOrders ? void 0 : true,
80
+ orderHash: $orderHash || void 0,
81
+ tokens: selectedTokens.length > 0 ? { inputs: selectedTokens, outputs: selectedTokens } : void 0,
82
+ orderbookAddresses: selectedOrderbookAddresses.length > 0 ? selectedOrderbookAddresses : void 0
58
83
  },
59
- { page: pageParam + 1, pageSize: DEFAULT_PAGE_SIZE }
84
+ pageParam + 1
60
85
  );
86
+ if (result.error) throw new Error(result.error.readableMsg);
87
+ return result.value;
61
88
  },
62
89
  initialPageParam: 0,
63
90
  getNextPageParam(lastPage, _allPages, lastPageParam) {
@@ -67,115 +94,180 @@ $: query = createInfiniteQuery({
67
94
  enabled: true
68
95
  });
69
96
  const AppTable = TanstackAppTable;
70
- $: isVaultsPage = currentRoute.startsWith("/vaults");
71
- $: isOrdersPage = currentRoute.startsWith("/orders");
72
97
  </script>
73
98
 
74
99
  <ListViewOrderbookFilters
75
- {activeSubgraphs}
76
- {settings}
77
- {accounts}
100
+ {selectedChainIds}
78
101
  {activeAccountsItems}
79
102
  {showMyItemsOnly}
80
- {activeOrderStatus}
103
+ {showInactiveOrders}
81
104
  {orderHash}
82
105
  {hideZeroBalanceVaults}
83
- {isVaultsPage}
84
- {isOrdersPage}
85
- {signerAddress}
106
+ {hideInactiveOrdersVaults}
107
+ {tokensQuery}
108
+ {activeTokens}
109
+ {selectedTokens}
110
+ {activeOrderbookAddresses}
111
+ {selectedOrderbookAddresses}
86
112
  />
87
113
 
88
114
  <AppTable
89
115
  {query}
90
- queryKey={undefined}
116
+ queryKey={QKEY_ORDERS}
91
117
  emptyMessage="No Orders Found"
92
118
  on:clickRow={(e) => {
93
- activeNetworkRef.set(e.detail.item.subgraphName);
94
- activeOrderbookRef.set(e.detail.item.subgraphName);
95
- goto(`/orders/${e.detail.item.subgraphName}-${e.detail.item.order.orderHash}`);
119
+ goto(`/orders/${e.detail.item.chainId}-${e.detail.item.orderbook}-${e.detail.item.orderHash}`);
96
120
  }}
97
121
  >
98
122
  <svelte:fragment slot="title">
99
- <slot name="filters" />
123
+ <div class="mt-2 flex w-full justify-between">
124
+ <div class="text-3xl font-medium dark:text-white" data-testid="title">Orders</div>
125
+ <slot name="filters" />
126
+ </div>
100
127
  </svelte:fragment>
101
128
 
102
129
  <svelte:fragment slot="head">
103
- <TableHeadCell data-testid="orderListHeadingNetwork" padding="p-4">Network</TableHeadCell>
104
- <TableHeadCell data-testid="orderListHeadingActive" padding="p-4">Active</TableHeadCell>
105
- <TableHeadCell data-testid="orderListHeadingID" padding="p-4">Order</TableHeadCell>
106
- <TableHeadCell data-testid="orderListHeadingOwner" padding="p-4">Owner</TableHeadCell>
107
- <TableHeadCell data-testid="orderListHeadingOrderbook" padding="p-4">Orderbook</TableHeadCell>
108
- <TableHeadCell data-testid="orderListHeadingLastAdded" padding="p-4">Last Added</TableHeadCell>
109
- <TableHeadCell data-testid="orderListHeadingInputs" padding="px-2 py-4"
110
- >Input Token(s)</TableHeadCell
111
- >
112
- <TableHeadCell data-testid="orderListHeadingOutputs" padding="px-2 py-4"
113
- >Output Token(s)</TableHeadCell
114
- >
115
- <TableHeadCell data-testid="orderListHeadingTrades" padding="px-2 py-4">Trades</TableHeadCell>
130
+ {#if $account && (handleTakeOrderModal || handleOrderRemoveModal)}
131
+ <TableHeadCell data-testid="orderListHeadingOrderInfo" padding="p-4" class="w-[15%]"
132
+ >Order Info</TableHeadCell
133
+ >
134
+ <TableHeadCell data-testid="orderListHeadingAddresses" padding="p-4" class="w-[18%]"
135
+ >Addresses</TableHeadCell
136
+ >
137
+ <TableHeadCell data-testid="orderListHeadingInputs" padding="px-2 py-4" class="w-[23.5%]"
138
+ >Input Token(s)</TableHeadCell
139
+ >
140
+ <TableHeadCell data-testid="orderListHeadingOutputs" padding="px-2 py-4" class="w-[23.5%]"
141
+ >Output Token(s)</TableHeadCell
142
+ >
143
+ <TableHeadCell data-testid="orderListHeadingTrades" padding="px-2 py-4" class="w-[10%]"
144
+ >Trades</TableHeadCell
145
+ >
146
+ <TableHeadCell data-testid="orderListHeadingActions" padding="px-2 py-4" class="w-[10%]"
147
+ >Actions</TableHeadCell
148
+ >
149
+ {:else}
150
+ <TableHeadCell data-testid="orderListHeadingOrderInfo" padding="p-4" class="w-[15%]"
151
+ >Order Info</TableHeadCell
152
+ >
153
+ <TableHeadCell data-testid="orderListHeadingAddresses" padding="p-4" class="w-[20%]"
154
+ >Addresses</TableHeadCell
155
+ >
156
+ <TableHeadCell data-testid="orderListHeadingInputs" padding="px-2 py-4" class="w-[27.5%]"
157
+ >Input Token(s)</TableHeadCell
158
+ >
159
+ <TableHeadCell data-testid="orderListHeadingOutputs" padding="px-2 py-4" class="w-[27.5%]"
160
+ >Output Token(s)</TableHeadCell
161
+ >
162
+ <TableHeadCell data-testid="orderListHeadingTrades" padding="px-2 py-4" class="w-[10%]"
163
+ >Trades</TableHeadCell
164
+ >
165
+ {/if}
116
166
  </svelte:fragment>
117
167
 
118
168
  <svelte:fragment slot="bodyRow" let:item>
119
- <TableBodyCell data-testid="orderListRowNetwork" tdClass="px-4 py-2">
120
- {item.subgraphName}
121
- </TableBodyCell>
122
- <TableBodyCell data-testid="orderListRowActive" tdClass="px-4 py-2">
123
- {#if item.order.active}
124
- <Badge color="green">Active</Badge>
125
- {:else}
126
- <Badge color="yellow">Inactive</Badge>
127
- {/if}
128
- </TableBodyCell>
129
- <TableBodyCell data-testid="orderListRowID" tdClass="break-all px-4 py-4">
130
- <Hash type={HashType.Identifier} value={item.order.orderHash} />
131
- </TableBodyCell>
132
- <TableBodyCell data-testid="orderListRowOwner" tdClass="break-all px-4 py-2">
133
- <Hash type={HashType.Wallet} value={item.order.owner} />
169
+ <TableBodyCell data-testid="orderListRowOrderInfo" tdClass="px-4 py-2">
170
+ <div class="flex flex-col gap-1">
171
+ <div class="flex items-center gap-2">
172
+ <span class="text-sm font-medium">{getNetworkName(Number(item.chainId))}</span>
173
+ {#if item.active}
174
+ <Badge color="green">Active</Badge>
175
+ {:else}
176
+ <Badge color="yellow">Inactive</Badge>
177
+ {/if}
178
+ </div>
179
+ <span class="text-xs text-gray-500 dark:text-gray-400">
180
+ Added: {formatTimestampSecondsAsLocal(item.timestampAdded)}
181
+ </span>
182
+ </div>
134
183
  </TableBodyCell>
135
- <TableBodyCell data-testid="orderListRowOrderbook" tdClass="break-all px-4 py-2">
136
- <Hash type={HashType.Identifier} value={item.order.orderbook.id} />
184
+ <TableBodyCell data-testid="orderListRowAddresses" tdClass="px-4 py-2">
185
+ <div class="flex flex-col gap-1 text-sm">
186
+ <div class="flex items-center gap-1">
187
+ <span class="text-gray-500 dark:text-gray-400">Order:</span>
188
+ <Hash type={HashType.Identifier} value={item.orderHash} />
189
+ </div>
190
+ <div class="flex items-center gap-1">
191
+ <span class="text-gray-500 dark:text-gray-400">Owner:</span>
192
+ <Hash type={HashType.Wallet} value={item.owner} />
193
+ </div>
194
+ <div class="flex items-center gap-1">
195
+ <span class="text-gray-500 dark:text-gray-400">Orderbook:</span>
196
+ <Hash type={HashType.Identifier} value={item.orderbook} />
197
+ </div>
198
+ </div>
137
199
  </TableBodyCell>
138
- <TableBodyCell data-testid="orderListRowLastAdded" tdClass="break-word px-4 py-2">
139
- {formatTimestampSecondsAsLocal(BigInt(item.order.timestampAdded))}
200
+
201
+ <TableBodyCell data-testid="orderListRowInputs" tdClass="p-2 whitespace-normal">
202
+ <div class="grid w-full grid-cols-1 gap-2 sm:grid-cols-2">
203
+ {#each item.inputsList.items as vault}
204
+ <VaultCard {vault} />
205
+ {/each}
206
+ {#each item.inputsOutputsList.items as vault}
207
+ {#if !item.inputsList.items.find((v) => v.id === vault.id)}
208
+ <VaultCard {vault} />
209
+ {/if}
210
+ {/each}
211
+ </div>
140
212
  </TableBodyCell>
141
- <TableBodyCell data-testid="orderListRowInputs" tdClass="break-word p-2">
142
- {item.order.inputs?.map((t) => t.token.symbol)}
213
+
214
+ <TableBodyCell data-testid="orderListRowOutputs" tdClass="p-2 whitespace-normal">
215
+ <div class="grid w-full grid-cols-1 gap-2 sm:grid-cols-2">
216
+ {#each item.outputsList.items as vault}
217
+ <VaultCard {vault} />
218
+ {/each}
219
+ {#each item.inputsOutputsList.items as vault}
220
+ {#if !item.outputsList.items.find((v) => v.id === vault.id)}
221
+ <VaultCard {vault} />
222
+ {/if}
223
+ {/each}
224
+ </div>
143
225
  </TableBodyCell>
144
- <TableBodyCell data-testid="orderListRowOutputs" tdClass="break-word p-2">
145
- {item.order.outputs?.map((t) => t.token.symbol)}
226
+
227
+ <TableBodyCell data-testid="orderListRowTrades" tdClass="break-word p-2">
228
+ {item.tradesCount > 99 ? '>99' : item.tradesCount}
146
229
  </TableBodyCell>
147
- <TableBodyCell data-testid="orderListRowTrades" tdClass="break-word p-2"
148
- >{item.order.trades.length > 99 ? '>99' : item.order.trades.length}</TableBodyCell
149
- >
150
- {#if walletAddressMatchesOrBlank && handleOrderRemoveModal}
151
- <div data-testid="wallet-actions">
152
- <TableBodyCell tdClass="px-0 text-right">
153
- {#if $walletAddressMatchesOrBlank(item.order.owner) && item.order.active}
230
+ {#if $account && (handleTakeOrderModal || handleOrderRemoveModal)}
231
+ <TableBodyCell data-testid="orderListRowActions" tdClass="px-2 py-2">
232
+ {#if item.active}
233
+ {#if handleTakeOrderModal}
154
234
  <Button
155
- color="alternative"
156
- outline={false}
157
- data-testid={`order-menu-${item.order.id}`}
158
- id={`order-menu-${item.order.id}`}
159
- class="mr-2 border-none px-2"
235
+ size="xs"
236
+ data-testid={`order-take-${item.id}`}
160
237
  on:click={(e) => {
161
238
  e.stopPropagation();
239
+ handleTakeOrderModal(item, $query.refetch, context);
162
240
  }}
163
241
  >
164
- <DotsVerticalOutline class="dark:text-white" />
242
+ Take Order
165
243
  </Button>
166
244
  {/if}
167
- </TableBodyCell>
168
- {#if $walletAddressMatchesOrBlank(item.order.owner) && item.order.active}
169
- <Dropdown placement="bottom-end" triggeredBy={`#order-menu-${item.order.id}`}>
170
- <DropdownItem
171
- on:click={(e) => {
172
- e.stopPropagation();
173
- handleOrderRemoveModal(item.order, $query.refetch);
174
- }}>Remove</DropdownItem
175
- >
176
- </Dropdown>
245
+ {#if matchesAccount(item.owner) && handleOrderRemoveModal}
246
+ <div data-testid="wallet-actions">
247
+ <Button
248
+ color="alternative"
249
+ outline={false}
250
+ data-testid={`order-menu-${item.id}`}
251
+ id={`order-menu-${item.id}`}
252
+ class="border-none px-2"
253
+ on:click={(e) => {
254
+ e.stopPropagation();
255
+ }}
256
+ >
257
+ <DotsVerticalOutline class="dark:text-white" />
258
+ </Button>
259
+ <Dropdown placement="bottom-end" triggeredBy={`#order-menu-${item.id}`}>
260
+ <DropdownItem
261
+ on:click={(e) => {
262
+ e.stopPropagation();
263
+ handleOrderRemoveModal(item, $query.refetch, context);
264
+ }}>Remove</DropdownItem
265
+ >
266
+ </Dropdown>
267
+ </div>
268
+ {/if}
177
269
  {/if}
178
- </div>
270
+ </TableBodyCell>
179
271
  {/if}
180
272
  </svelte:fragment>
181
273
  </AppTable>
@@ -1,35 +1,31 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  import type { AppStoresInterface } from '../../types/appStores';
3
- import type { Writable } from 'svelte/store';
4
- declare class __sveltets_Render<T> {
5
- props(): {
6
- walletAddressMatchesOrBlank?: any;
3
+ declare const __propDef: {
4
+ props: {
7
5
  handleOrderRemoveModal?: any;
8
- activeSubgraphs: AppStoresInterface["activeSubgraphs"];
9
- settings: AppStoresInterface["settings"];
10
- accounts: AppStoresInterface["accounts"] | undefined;
6
+ handleTakeOrderModal?: any;
7
+ selectedChainIds: AppStoresInterface["selectedChainIds"];
11
8
  activeAccountsItems: AppStoresInterface["activeAccountsItems"] | undefined;
12
- activeOrderStatus: AppStoresInterface["activeOrderStatus"];
9
+ showInactiveOrders: AppStoresInterface["showInactiveOrders"];
13
10
  orderHash: AppStoresInterface["orderHash"];
14
11
  hideZeroBalanceVaults: AppStoresInterface["hideZeroBalanceVaults"];
12
+ hideInactiveOrdersVaults: AppStoresInterface["hideInactiveOrdersVaults"];
15
13
  showMyItemsOnly: AppStoresInterface["showMyItemsOnly"];
16
- currentRoute: string;
17
- signerAddress: Writable<string | null> | undefined;
18
- activeNetworkRef: AppStoresInterface["activeNetworkRef"];
19
- activeOrderbookRef: AppStoresInterface["activeOrderbookRef"];
14
+ activeTokens: AppStoresInterface["activeTokens"];
15
+ activeOrderbookAddresses: AppStoresInterface["activeOrderbookAddresses"];
20
16
  };
21
- events(): {} & {
17
+ events: {
22
18
  [evt: string]: CustomEvent<any>;
23
19
  };
24
- slots(): {
20
+ slots: {
25
21
  filters: {};
26
22
  };
27
- }
28
- export type OrdersListTableProps<T> = ReturnType<__sveltets_Render<T>['props']>;
29
- export type OrdersListTableEvents<T> = ReturnType<__sveltets_Render<T>['events']>;
30
- export type OrdersListTableSlots<T> = ReturnType<__sveltets_Render<T>['slots']>;
31
- export default class OrdersListTable<T> extends SvelteComponent<OrdersListTableProps<T>, OrdersListTableEvents<T>, OrdersListTableSlots<T>> {
32
- get walletAddressMatchesOrBlank(): any;
33
- get handleOrderRemoveModal(): any;
23
+ exports?: {} | undefined;
24
+ bindings?: string | undefined;
25
+ };
26
+ export type OrdersListTableProps = typeof __propDef.props;
27
+ export type OrdersListTableEvents = typeof __propDef.events;
28
+ export type OrdersListTableSlots = typeof __propDef.slots;
29
+ export default class OrdersListTable extends SvelteComponent<OrdersListTableProps, OrdersListTableEvents, OrdersListTableSlots> {
34
30
  }
35
31
  export {};
@@ -1,74 +1,114 @@
1
- <script generics="T">import { Heading, TableHeadCell, TableBodyCell } from "flowbite-svelte";
2
- import { formatUnits } from "viem";
1
+ <script>import { Badge, Heading, TableHeadCell, TableBodyCell } from "flowbite-svelte";
3
2
  import { createInfiniteQuery } from "@tanstack/svelte-query";
4
3
  import {
5
- getVaultBalanceChanges
6
- } from "@rainlanguage/orderbook/js_api";
7
- import { formatTimestampSecondsAsLocal } from "../../utils/time";
4
+ RaindexVault
5
+ } from "@rainlanguage/orderbook";
6
+ import { formatTimestampSecondsAsLocal } from "../../services/time";
8
7
  import Hash, { HashType } from "../Hash.svelte";
9
8
  import { QKEY_VAULT_CHANGES } from "../../queries/keys";
10
9
  import { DEFAULT_PAGE_SIZE } from "../../queries/constants";
11
10
  import TanstackAppTable from "../TanstackAppTable.svelte";
12
- export let id;
13
- export let subgraphUrl;
11
+ import Tooltip from "../Tooltip.svelte";
12
+ import VaultBalanceChangeTypeFilter from "../VaultBalanceChangeTypeFilter.svelte";
13
+ function getTypeBadgeColor(type) {
14
+ const lowerType = type.toLowerCase();
15
+ if (lowerType.includes("deposit")) return "green";
16
+ if (lowerType.includes("withdrawal")) return "yellow";
17
+ if (lowerType.includes("bounty")) return "purple";
18
+ if (lowerType.includes("trade") || lowerType.includes("takeorder")) return "blue";
19
+ if (lowerType.includes("clear")) return "pink";
20
+ return "dark";
21
+ }
22
+ export let vault;
23
+ let filterTypes = void 0;
14
24
  $: balanceChangesQuery = createInfiniteQuery({
15
- queryKey: [id, QKEY_VAULT_CHANGES + id],
16
- queryFn: ({ pageParam }) => {
17
- return getVaultBalanceChanges(subgraphUrl || "", id, {
18
- page: pageParam + 1,
19
- pageSize: DEFAULT_PAGE_SIZE
20
- });
25
+ queryKey: [vault.id, QKEY_VAULT_CHANGES + vault.id, filterTypes],
26
+ queryFn: async ({ pageParam }) => {
27
+ const result = await vault.getBalanceChanges(pageParam + 1, filterTypes);
28
+ if (result.error) throw new Error(result.error.msg);
29
+ return result.value;
21
30
  },
22
31
  initialPageParam: 0,
23
32
  getNextPageParam(lastPage, _allPages, lastPageParam) {
24
33
  return lastPage.length === DEFAULT_PAGE_SIZE ? lastPageParam + 1 : void 0;
25
- },
26
- enabled: !!subgraphUrl
34
+ }
27
35
  });
28
36
  const AppTable = TanstackAppTable;
29
37
  </script>
30
38
 
39
+ <div class="flex w-full justify-end">
40
+ <VaultBalanceChangeTypeFilter bind:value={filterTypes} />
41
+ </div>
42
+
31
43
  <AppTable
32
44
  query={balanceChangesQuery}
33
- queryKey={undefined}
34
- emptyMessage="No deposits or withdrawals found"
45
+ queryKey={vault.id}
46
+ emptyMessage="No balance changes found"
35
47
  rowHoverable={false}
36
48
  >
37
49
  <svelte:fragment slot="title">
38
- <Heading tag="h5" class="mb-4 mt-6 font-normal">Vault Balance Changes</Heading>
50
+ <Heading tag="h5" class="mb-4 mt-6 font-normal">Vault balance changes</Heading>
39
51
  </svelte:fragment>
40
52
  <svelte:fragment slot="head">
41
- <TableHeadCell padding="p-4">Date</TableHeadCell>
42
- <TableHeadCell padding="p-0">Sender</TableHeadCell>
43
- <TableHeadCell padding="p-0">Transaction Hash</TableHeadCell>
44
- <TableHeadCell padding="p-0">Balance Change</TableHeadCell>
45
- <TableHeadCell padding="p-0">Balance</TableHeadCell>
46
- <TableHeadCell padding="p--">Type</TableHeadCell>
53
+ <TableHeadCell padding="p-4" class="w-[18%]">Info</TableHeadCell>
54
+ <TableHeadCell padding="p-4" class="w-[22%]">Transaction</TableHeadCell>
55
+ <TableHeadCell padding="p-2" class="w-[30%]">Balance Change</TableHeadCell>
56
+ <TableHeadCell padding="p-2" class="w-[30%]">New Balance</TableHeadCell>
47
57
  </svelte:fragment>
48
58
 
49
59
  <svelte:fragment slot="bodyRow" let:item>
50
- <TableBodyCell tdClass="px-4 py-2" data-testid="vaultBalanceChangesTableDate">
51
- {formatTimestampSecondsAsLocal(BigInt(item.timestamp))}
52
- </TableBodyCell>
53
- <TableBodyCell tdClass="break-all py-2 min-w-48" data-testid="vaultBalanceChangesTableFrom">
54
- <Hash type={HashType.Wallet} value={item.transaction.from} />
55
- </TableBodyCell>
56
- <TableBodyCell tdClass="break-all py-2 min-w-48" data-testid="vaultBalanceChangesTableTx">
57
- <Hash type={HashType.Transaction} value={item.transaction.id} />
60
+ <TableBodyCell tdClass="px-4 py-2" data-testid="vaultBalanceChangesTableInfo">
61
+ <div class="flex flex-col gap-1 overflow-hidden">
62
+ <div class="flex">
63
+ <Badge
64
+ id={`type-${item.transaction.id}`}
65
+ class="truncate"
66
+ color={getTypeBadgeColor(item.type)}>{item.typeDisplayName}</Badge
67
+ >
68
+ <Tooltip triggeredBy={`#type-${item.transaction.id}`}>
69
+ {item.typeDisplayName}
70
+ </Tooltip>
71
+ </div>
72
+ <span class="text-xs text-gray-500 dark:text-gray-400">
73
+ {formatTimestampSecondsAsLocal(BigInt(item.timestamp))}
74
+ </span>
75
+ </div>
58
76
  </TableBodyCell>
59
- <TableBodyCell
60
- tdClass="break-word p-0 text-left"
61
- data-testid="vaultBalanceChangesTableBalanceChange"
62
- >
63
- {formatUnits(BigInt(item.amount), Number(item.vault.token.decimals ?? 0))}
64
- {item.vault.token.symbol}
77
+ <TableBodyCell tdClass="px-4 py-2" data-testid="vaultBalanceChangesTableTx">
78
+ <div class="flex flex-col gap-1 text-sm">
79
+ <div class="flex items-center gap-1">
80
+ <span class="text-gray-500 dark:text-gray-400">Sender:</span>
81
+ <Hash type={HashType.Wallet} value={item.transaction.from} />
82
+ </div>
83
+ <div class="flex items-center gap-1">
84
+ <span class="text-gray-500 dark:text-gray-400">Tx:</span>
85
+ <Hash type={HashType.Transaction} value={item.transaction.id} />
86
+ </div>
87
+ </div>
65
88
  </TableBodyCell>
66
- <TableBodyCell tdClass="break-word p-0 text-left" data-testid="vaultBalanceChangesTableBalance">
67
- {formatUnits(BigInt(item.newVaultBalance), Number(item.vault.token.decimals ?? 0))}
68
- {item.vault.token.symbol}
89
+ <TableBodyCell tdClass="p-2" data-testid="vaultBalanceChangesTableBalanceChange">
90
+ <div class="flex flex-col overflow-hidden">
91
+ <span class="truncate font-medium">{item.token.symbol}</span>
92
+ <span
93
+ id={`change-${item.transaction.id}`}
94
+ class="truncate text-sm text-gray-500 dark:text-gray-400">{item.formattedAmount}</span
95
+ >
96
+ <Tooltip triggeredBy={`#change-${item.transaction.id}`}>
97
+ {`${item.formattedAmount} ${item.token.symbol}`}
98
+ </Tooltip>
99
+ </div>
69
100
  </TableBodyCell>
70
- <TableBodyCell tdClass="break-word p-0 text-left" data-testid="vaultBalanceChangesTableType">
71
- {item.__typename}
101
+ <TableBodyCell tdClass="p-2" data-testid="vaultBalanceChangesTableBalance">
102
+ <div class="flex flex-col overflow-hidden">
103
+ <span class="truncate font-medium">{item.token.symbol}</span>
104
+ <span
105
+ id={`balance-${item.transaction.id}`}
106
+ class="truncate text-sm text-gray-500 dark:text-gray-400">{item.formattedNewBalance}</span
107
+ >
108
+ <Tooltip triggeredBy={`#balance-${item.transaction.id}`}>
109
+ {`${item.formattedNewBalance} ${item.token.symbol}`}
110
+ </Tooltip>
111
+ </div>
72
112
  </TableBodyCell>
73
113
  </svelte:fragment>
74
114
  </AppTable>
@@ -1,17 +1,19 @@
1
1
  import { SvelteComponent } from "svelte";
2
- declare class __sveltets_Render<T> {
3
- props(): {
4
- id: string;
5
- subgraphUrl: string;
2
+ import { RaindexVault } from '@rainlanguage/orderbook';
3
+ declare const __propDef: {
4
+ props: {
5
+ vault: RaindexVault;
6
6
  };
7
- events(): {} & {
7
+ events: {
8
8
  [evt: string]: CustomEvent<any>;
9
9
  };
10
- slots(): {};
11
- }
12
- export type VaultBalanceChangesTableProps<T> = ReturnType<__sveltets_Render<T>['props']>;
13
- export type VaultBalanceChangesTableEvents<T> = ReturnType<__sveltets_Render<T>['events']>;
14
- export type VaultBalanceChangesTableSlots<T> = ReturnType<__sveltets_Render<T>['slots']>;
15
- export default class VaultBalanceChangesTable<T> extends SvelteComponent<VaultBalanceChangesTableProps<T>, VaultBalanceChangesTableEvents<T>, VaultBalanceChangesTableSlots<T>> {
10
+ slots: {};
11
+ exports?: {} | undefined;
12
+ bindings?: string | undefined;
13
+ };
14
+ export type VaultBalanceChangesTableProps = typeof __propDef.props;
15
+ export type VaultBalanceChangesTableEvents = typeof __propDef.events;
16
+ export type VaultBalanceChangesTableSlots = typeof __propDef.slots;
17
+ export default class VaultBalanceChangesTable extends SvelteComponent<VaultBalanceChangesTableProps, VaultBalanceChangesTableEvents, VaultBalanceChangesTableSlots> {
16
18
  }
17
19
  export {};