@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,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>;