@rainlanguage/ui-components 0.0.1-alpha.24 → 0.0.1-alpha.241
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -6
- package/dist/__fixtures__/settings.yaml +123 -0
- package/dist/__mocks__/CodeMirrorRainlang.svelte +4 -0
- package/dist/__mocks__/CodeMirrorRainlang.svelte.d.ts +18 -0
- package/dist/__mocks__/MockCodeMirrorEditor.svelte +17 -0
- package/dist/__mocks__/MockCodeMirrorEditor.svelte.d.ts +21 -0
- package/dist/__mocks__/MockComponent.js +1 -1
- package/dist/__mocks__/MockComponent.svelte +10 -2
- package/dist/__mocks__/MockComponent.svelte.d.ts +4 -1
- package/dist/__mocks__/mockWeb3Config.d.ts +1 -1
- package/dist/__mocks__/mockWeb3Config.js +10 -7
- package/dist/__mocks__/queries.js +9 -9
- package/dist/__mocks__/stores.d.ts +55 -45
- package/dist/__mocks__/stores.js +85 -68
- package/dist/app.css +3 -3
- package/dist/components/ButtonDarkMode.svelte +7 -1
- package/dist/components/ButtonLoading.svelte +1 -1
- package/dist/components/ButtonScrub.svelte +22 -0
- package/dist/components/ButtonScrub.svelte.d.ts +25 -0
- package/dist/components/ButtonVaultLink.svelte +12 -11
- package/dist/components/ButtonVaultLink.svelte.d.ts +4 -3
- package/dist/components/CheckboxInactiveOrdersVault.svelte +20 -0
- package/dist/components/CheckboxInactiveOrdersVault.svelte.d.ts +19 -0
- package/dist/components/CheckboxZeroBalanceVault.svelte.d.ts +2 -2
- package/dist/components/CodeMirrorDotrain.svelte +4 -0
- package/dist/components/CodeMirrorDotrain.svelte.d.ts +1 -0
- package/dist/components/CodeMirrorRainlang.svelte +20 -12
- package/dist/components/CodeMirrorRainlang.svelte.d.ts +3 -2
- package/dist/components/EditableSpan.svelte +3 -14
- package/dist/components/EditableSpan.svelte.d.ts +0 -1
- package/dist/components/Hash.svelte +6 -5
- package/dist/components/License.svelte +5 -4
- package/dist/components/ListViewRaindexFilters.svelte +64 -0
- package/dist/components/ListViewRaindexFilters.svelte.d.ts +32 -0
- package/dist/components/LocalDbStatusBadge.svelte +27 -0
- package/dist/components/LocalDbStatusBadge.svelte.d.ts +19 -0
- package/dist/components/LocalDbStatusCard.svelte +43 -0
- package/dist/components/LocalDbStatusCard.svelte.d.ts +20 -0
- package/dist/components/LocalDbStatusModal.svelte +105 -0
- package/dist/components/LocalDbStatusModal.svelte.d.ts +21 -0
- package/dist/components/OrderOrVaultHash.svelte +12 -12
- package/dist/components/OrderOrVaultHash.svelte.d.ts +4 -4
- package/dist/components/PageHeader.svelte +1 -1
- package/dist/components/Sensitive.svelte +16 -0
- package/dist/components/Sensitive.svelte.d.ts +28 -0
- package/dist/components/TanstackAppTable.svelte +270 -60
- package/dist/components/TanstackAppTable.svelte.d.ts +15 -9
- package/dist/components/ToastDetail.svelte +42 -0
- package/dist/components/ToastDetail.svelte.d.ts +20 -0
- package/dist/components/Tooltip.svelte +8 -0
- package/dist/components/Tooltip.svelte.d.ts +21 -0
- package/dist/components/VaultBalanceChangeTypeFilter.svelte +23 -0
- package/dist/components/VaultBalanceChangeTypeFilter.svelte.d.ts +19 -0
- package/dist/components/VaultCard.svelte +18 -0
- package/dist/components/VaultCard.svelte.d.ts +19 -0
- package/dist/components/charts/LightweightChart.svelte +1 -1
- package/dist/components/charts/LightweightChart.svelte.d.ts +5 -5
- package/dist/components/charts/OrderTradesChart.svelte +319 -28
- package/dist/components/charts/OrderTradesChart.svelte.d.ts +4 -4
- package/dist/components/charts/TanstackLightweightChartLine.svelte +5 -9
- package/dist/components/charts/VaultBalanceChart.svelte +8 -26
- package/dist/components/charts/VaultBalanceChart.svelte.d.ts +1 -7
- package/dist/components/charts/transformAndSortData.d.ts +24 -0
- package/dist/components/charts/transformAndSortData.js +111 -0
- package/dist/components/checkbox/CheckboxActiveOrders.svelte +11 -0
- package/dist/components/checkbox/CheckboxActiveOrders.svelte.d.ts +19 -0
- package/dist/components/deployment/ButtonSelectOption.svelte +2 -0
- package/dist/components/deployment/ButtonSelectOption.svelte.d.ts +1 -0
- package/dist/components/deployment/ComposedRainlangModal.svelte +3 -2
- package/dist/components/deployment/ComposedRainlangModal.svelte.d.ts +1 -4
- package/dist/components/deployment/DeploymentSectionHeader.svelte +7 -4
- package/dist/components/deployment/DeploymentSteps.svelte +196 -221
- package/dist/components/deployment/DeploymentSteps.svelte.d.ts +6 -12
- package/dist/components/deployment/DeploymentTile.svelte +2 -2
- package/dist/components/deployment/DeploymentTile.svelte.d.ts +1 -1
- package/dist/components/deployment/DeploymentsSection.svelte +15 -22
- package/dist/components/deployment/DeploymentsSection.svelte.d.ts +3 -2
- package/dist/components/deployment/DepositInput.svelte +10 -11
- package/dist/components/deployment/DepositInput.svelte.d.ts +2 -3
- package/dist/components/deployment/DisclaimerModal.svelte +6 -7
- package/dist/components/deployment/FieldDefinitionInput.svelte +10 -14
- package/dist/components/deployment/FieldDefinitionInput.svelte.d.ts +2 -3
- package/dist/components/deployment/InvalidOrdersSection.svelte +17 -0
- package/dist/components/deployment/InvalidOrdersSection.svelte.d.ts +19 -0
- package/dist/components/deployment/{StrategyPage.svelte → OrderPage.svelte} +15 -24
- package/dist/components/deployment/OrderPage.svelte.d.ts +21 -0
- package/dist/components/deployment/SelectToken.svelte +127 -50
- package/dist/components/deployment/SelectToken.svelte.d.ts +5 -4
- package/dist/components/deployment/TokenBalance.svelte +19 -0
- package/dist/components/deployment/TokenBalance.svelte.d.ts +19 -0
- package/dist/components/deployment/TokenIOInput.svelte +27 -17
- package/dist/components/deployment/TokenIOInput.svelte.d.ts +3 -3
- package/dist/components/deployment/TokenSelectionModal.svelte +148 -0
- package/dist/components/deployment/TokenSelectionModal.svelte.d.ts +20 -0
- package/dist/components/deployment/{ValidStrategiesSection.svelte → ValidOrdersSection.svelte} +7 -7
- package/dist/components/deployment/ValidOrdersSection.svelte.d.ts +19 -0
- package/dist/components/deployment/VaultIdInformation.svelte +17 -0
- package/dist/components/deployment/VaultIdInformation.svelte.d.ts +21 -0
- package/dist/components/detail/OrderDetail.svelte +220 -82
- package/dist/components/detail/OrderDetail.svelte.d.ts +21 -15
- package/dist/components/detail/TanstackOrderQuote.svelte +114 -46
- package/dist/components/detail/TanstackOrderQuote.svelte.d.ts +14 -16
- package/dist/components/detail/VaultDetail.svelte +82 -79
- package/dist/components/detail/VaultDetail.svelte.d.ts +12 -18
- package/dist/components/dropdown/DropdownActiveNetworks.svelte +44 -0
- package/dist/components/dropdown/DropdownActiveNetworks.svelte.d.ts +19 -0
- package/dist/components/dropdown/DropdownCheckbox.svelte +4 -4
- package/dist/components/dropdown/DropdownRaindexesFilter.svelte +172 -0
- package/dist/components/dropdown/DropdownRaindexesFilter.svelte.d.ts +25 -0
- package/dist/components/dropdown/DropdownTokensFilter.svelte +152 -0
- package/dist/components/dropdown/DropdownTokensFilter.svelte.d.ts +28 -0
- package/dist/components/icon/Refresh.svelte +4 -2
- package/dist/components/icon/Refresh.svelte.d.ts +2 -0
- package/dist/components/input/InputOrderHash.svelte +1 -1
- package/dist/components/input/InputOrderHash.svelte.d.ts +3 -3
- package/dist/components/input/InputOwnerFilter.svelte +48 -0
- package/dist/components/input/InputOwnerFilter.svelte.d.ts +19 -0
- package/dist/components/input/InputRegistryUrl.svelte +36 -14
- package/dist/components/input/InputToken.svelte +2 -2
- package/dist/components/input/InputTokenAmount.svelte +30 -20
- package/dist/components/input/InputTokenAmount.svelte.d.ts +3 -3
- package/dist/components/tables/OrderAPY.svelte +6 -33
- package/dist/components/tables/OrderAPY.svelte.d.ts +1 -4
- package/dist/components/tables/OrderTradesListTable.svelte +132 -124
- package/dist/components/tables/OrderTradesListTable.svelte.d.ts +4 -4
- package/dist/components/tables/OrderVaultsVolTable.svelte +17 -22
- package/dist/components/tables/OrderVaultsVolTable.svelte.d.ts +2 -2
- package/dist/components/tables/OrdersListTable.svelte +206 -115
- package/dist/components/tables/OrdersListTable.svelte.d.ts +18 -23
- package/dist/components/tables/VaultBalanceChangesTable.svelte +83 -43
- package/dist/components/tables/VaultBalanceChangesTable.svelte.d.ts +13 -11
- package/dist/components/tables/VaultsListTable.svelte +275 -150
- package/dist/components/tables/VaultsListTable.svelte.d.ts +24 -33
- package/dist/components/transactions/FixedBottomTransaction.svelte +64 -0
- package/dist/components/transactions/FixedBottomTransaction.svelte.d.ts +16 -0
- package/dist/components/transactions/TransactionDetail.svelte +31 -0
- package/dist/components/transactions/TransactionDetail.svelte.d.ts +20 -0
- package/dist/components/transactions/TransactionList.svelte +17 -0
- package/dist/components/transactions/TransactionList.svelte.d.ts +16 -0
- package/dist/components/transactions/getStatusEmoji.d.ts +2 -0
- package/dist/components/transactions/getStatusEmoji.js +20 -0
- package/dist/components/wallet/WalletConnect.svelte +5 -4
- package/dist/components/wallet/WalletConnect.svelte.d.ts +0 -1
- package/dist/consts.d.ts +1 -0
- package/dist/consts.js +1 -0
- package/dist/errors/DeploymentStepsError.d.ts +11 -5
- package/dist/errors/DeploymentStepsError.js +13 -7
- package/dist/errors/index.d.ts +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/hooks/useLocalDb.d.ts +3 -0
- package/dist/hooks/useLocalDb.js +10 -0
- package/dist/hooks/useRaindexClient.d.ts +3 -0
- package/dist/hooks/useRaindexClient.js +11 -0
- package/dist/hooks/useRaindexOrderBuilder.d.ts +3 -0
- package/dist/hooks/useRaindexOrderBuilder.js +11 -0
- package/dist/index.d.ts +122 -91
- package/dist/index.js +118 -87
- package/dist/models/Transaction.d.ts +75 -0
- package/dist/models/Transaction.js +100 -0
- package/dist/providers/LocalDbProvider.svelte +8 -0
- package/dist/providers/LocalDbProvider.svelte.d.ts +21 -0
- package/dist/providers/RaindexClientProvider.svelte +8 -0
- package/dist/providers/RaindexClientProvider.svelte.d.ts +21 -0
- package/dist/providers/RaindexOrderBuilderProvider.svelte +8 -0
- package/dist/providers/RaindexOrderBuilderProvider.svelte.d.ts +21 -0
- package/dist/providers/dotrainRegistry/DotrainRegistryProvider.svelte +8 -0
- package/dist/providers/dotrainRegistry/DotrainRegistryProvider.svelte.d.ts +24 -0
- package/dist/providers/dotrainRegistry/context.d.ts +9 -0
- package/dist/providers/dotrainRegistry/context.js +43 -0
- package/dist/providers/dotrainRegistry/useDotrainRegistry.d.ts +5 -0
- package/dist/providers/dotrainRegistry/useDotrainRegistry.js +35 -0
- package/dist/providers/registry/RegistryManager.d.ts +65 -0
- package/dist/providers/registry/RegistryManager.js +134 -0
- package/dist/providers/registry/RegistryProvider.svelte +6 -0
- package/dist/providers/registry/RegistryProvider.svelte.d.ts +21 -0
- package/dist/providers/registry/context.d.ts +10 -0
- package/dist/providers/registry/context.js +46 -0
- package/dist/providers/registry/useRegistry.d.ts +7 -0
- package/dist/providers/registry/useRegistry.js +29 -0
- package/dist/providers/toasts/ToastProvider.svelte +17 -0
- package/dist/providers/toasts/ToastProvider.svelte.d.ts +18 -0
- package/dist/providers/toasts/context.d.ts +14 -0
- package/dist/providers/toasts/context.js +22 -0
- package/dist/providers/toasts/useToasts.d.ts +16 -0
- package/dist/providers/toasts/useToasts.js +63 -0
- package/dist/providers/transactions/TransactionManager.d.ts +234 -0
- package/dist/providers/transactions/TransactionManager.js +509 -0
- package/dist/providers/transactions/TransactionProvider.svelte +11 -0
- package/dist/providers/transactions/TransactionProvider.svelte.d.ts +24 -0
- package/dist/providers/transactions/context.d.ts +19 -0
- package/dist/providers/transactions/context.js +28 -0
- package/dist/providers/transactions/useTransactions.d.ts +13 -0
- package/dist/providers/transactions/useTransactions.js +18 -0
- package/dist/providers/wallet/WalletProvider.svelte +7 -0
- package/dist/providers/wallet/WalletProvider.svelte.d.ts +21 -0
- package/dist/providers/wallet/context.d.ts +10 -0
- package/dist/providers/wallet/context.js +47 -0
- package/dist/providers/wallet/useAccount.d.ts +8 -0
- package/dist/providers/wallet/useAccount.js +148 -0
- package/dist/queries/keys.d.ts +1 -0
- package/dist/queries/keys.js +10 -9
- package/dist/queries/queryClient.d.ts +2 -2
- package/dist/queries/queryClient.js +16 -11
- package/dist/services/awaitTransactionIndexing.d.ts +107 -0
- package/dist/services/awaitTransactionIndexing.js +60 -0
- package/dist/services/getExplorerLink.d.ts +1 -1
- package/dist/services/getExplorerLink.js +3 -5
- package/dist/services/handleShareChoices.d.ts +2 -2
- package/dist/services/handleShareChoices.js +6 -5
- package/dist/services/historicalOrderCharts.d.ts +3 -3
- package/dist/services/historicalOrderCharts.js +364 -371
- package/dist/services/index.d.ts +5 -2
- package/dist/services/index.js +3 -1
- package/dist/services/loadRegistryUrl.d.ts +2 -0
- package/dist/services/loadRegistryUrl.js +22 -0
- package/dist/services/pairTradesChartData.d.ts +47 -0
- package/dist/services/pairTradesChartData.js +194 -0
- package/dist/services/registry.d.ts +5 -5
- package/dist/services/registry.js +17 -217
- package/dist/services/time.d.ts +12 -0
- package/dist/services/time.js +88 -6
- package/dist/services/validateAmount.d.ts +30 -0
- package/dist/services/validateAmount.js +53 -0
- package/dist/storesGeneric/cachedWritableStore.d.ts +57 -0
- package/dist/storesGeneric/cachedWritableStore.js +93 -0
- package/dist/storesGeneric/scrub.d.ts +14 -0
- package/dist/storesGeneric/scrub.js +22 -0
- package/dist/test/matchers.d.ts +2 -2
- package/dist/test/matchers.js +2 -2
- package/dist/types/account.d.ts +3 -0
- package/dist/types/appStores.d.ts +9 -16
- package/dist/types/modal.d.ts +26 -14
- package/dist/types/order.d.ts +10 -0
- package/dist/types/order.js +1 -0
- package/dist/types/toast.d.ts +11 -0
- package/dist/types/toast.js +1 -0
- package/dist/types/tokenBalance.d.ts +6 -0
- package/dist/types/tokenBalance.js +1 -0
- package/dist/types/transaction.d.ts +67 -22
- package/dist/types/transaction.js +31 -1
- package/dist/utils/breadcrumbs.js +2 -2
- package/dist/utils/codeMirrorThemes.js +80 -74
- package/dist/utils/configHelpers.d.ts +4 -0
- package/dist/utils/configHelpers.js +21 -0
- package/dist/utils/constructHashLink.d.ts +24 -0
- package/dist/utils/constructHashLink.js +117 -0
- package/dist/utils/getNetworkName.d.ts +1 -0
- package/dist/utils/getNetworkName.js +13 -0
- package/dist/utils/hex.js +1 -1
- package/dist/utils/lightweightChartsThemes.d.ts +1 -1
- package/dist/utils/lightweightChartsThemes.js +11 -11
- package/dist/utils/localDbStatus.d.ts +26 -0
- package/dist/utils/localDbStatus.js +22 -0
- package/dist/utils/number.d.ts +0 -7
- package/dist/utils/number.js +5 -30
- package/dist/utils/stripTrailingWhitespace.d.ts +16 -0
- package/dist/utils/stripTrailingWhitespace.js +22 -0
- package/dist/utils/tokens.d.ts +2 -0
- package/dist/utils/tokens.js +3 -0
- package/dist/utils/vaultBalanceChangeLabels.d.ts +4 -0
- package/dist/utils/vaultBalanceChangeLabels.js +18 -0
- package/package.json +89 -84
- package/dist/__fixtures__/orderDetail.d.ts +0 -99
- package/dist/__fixtures__/orderDetail.js +0 -204
- package/dist/__fixtures__/settings-12-11-24.json +0 -160
- package/dist/__mocks__/mockTransactionStore.d.ts +0 -22
- package/dist/__mocks__/mockTransactionStore.js +0 -56
- package/dist/__mocks__/settings.d.ts +0 -3
- package/dist/__mocks__/settings.js +0 -37
- package/dist/components/CheckboxMyItemsOnly.svelte +0 -23
- package/dist/components/CheckboxMyItemsOnly.svelte.d.ts +0 -21
- package/dist/components/ListViewOrderbookFilters.svelte +0 -58
- package/dist/components/ListViewOrderbookFilters.svelte.d.ts +0 -28
- package/dist/components/deployment/InvalidStrategiesSection.svelte +0 -19
- package/dist/components/deployment/InvalidStrategiesSection.svelte.d.ts +0 -19
- package/dist/components/deployment/StrategyPage.svelte.d.ts +0 -19
- package/dist/components/deployment/ValidStrategiesSection.svelte.d.ts +0 -19
- package/dist/components/deployment/getDeploymentTransactionArgs.d.ts +0 -17
- package/dist/components/deployment/getDeploymentTransactionArgs.js +0 -28
- package/dist/components/detail/DepositOrWithdrawButtons.svelte +0 -44
- package/dist/components/detail/DepositOrWithdrawButtons.svelte.d.ts +0 -26
- package/dist/components/dropdown/DropdownActiveSubgraphs.svelte +0 -38
- package/dist/components/dropdown/DropdownActiveSubgraphs.svelte.d.ts +0 -21
- package/dist/components/dropdown/DropdownOrderListAccounts.svelte +0 -15
- package/dist/components/dropdown/DropdownOrderListAccounts.svelte.d.ts +0 -20
- package/dist/components/dropdown/DropdownOrderStatus.svelte +0 -31
- package/dist/components/dropdown/DropdownOrderStatus.svelte.d.ts +0 -19
- package/dist/hooks/useGui.d.ts +0 -3
- package/dist/hooks/useGui.js +0 -11
- package/dist/providers/GuiProvider.svelte +0 -8
- package/dist/providers/GuiProvider.svelte.d.ts +0 -21
- package/dist/stores/transactionStore.d.ts +0 -98
- package/dist/stores/transactionStore.js +0 -303
- package/dist/types/strategy.d.ts +0 -10
- package/dist/utils/time.d.ts +0 -12
- package/dist/utils/time.js +0 -27
- package/dist/utils/vault.d.ts +0 -2
- package/dist/utils/vault.js +0 -29
- /package/dist/types/{strategy.js → account.js} +0 -0
|
@@ -5,52 +5,88 @@ import OrderTradesListTable from "../tables/OrderTradesListTable.svelte";
|
|
|
5
5
|
import TanstackOrderQuote from "./TanstackOrderQuote.svelte";
|
|
6
6
|
import TanstackPageContentDetail from "./TanstackPageContentDetail.svelte";
|
|
7
7
|
import CardProperty from "../CardProperty.svelte";
|
|
8
|
-
import { formatTimestampSecondsAsLocal } from "../../
|
|
8
|
+
import { formatTimestampSecondsAsLocal } from "../../services/time";
|
|
9
9
|
import ButtonVaultLink from "../ButtonVaultLink.svelte";
|
|
10
10
|
import OrderVaultsVolTable from "../tables/OrderVaultsVolTable.svelte";
|
|
11
11
|
import { QKEY_ORDER } from "../../queries/keys";
|
|
12
12
|
import CodeMirrorRainlang from "../CodeMirrorRainlang.svelte";
|
|
13
|
-
import { getOrderByHash } from "@rainlanguage/orderbook/js_api";
|
|
14
13
|
import { createQuery, useQueryClient } from "@tanstack/svelte-query";
|
|
15
14
|
import { Button, TabItem, Tabs, Tooltip } from "flowbite-svelte";
|
|
16
15
|
import { onDestroy } from "svelte";
|
|
17
|
-
import OrderApy from "../tables/OrderAPY.svelte";
|
|
18
|
-
import { page } from "$app/stores";
|
|
19
|
-
import DepositOrWithdrawButtons from "./DepositOrWithdrawButtons.svelte";
|
|
20
16
|
import Refresh from "../icon/Refresh.svelte";
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
import { invalidateTanstackQueries } from "../../queries/queryClient";
|
|
18
|
+
import {
|
|
19
|
+
ArrowDownToBracketOutline,
|
|
20
|
+
ArrowUpFromBracketOutline,
|
|
21
|
+
InfoCircleOutline,
|
|
22
|
+
WalletOutline
|
|
23
|
+
} from "flowbite-svelte-icons";
|
|
24
|
+
import { getExplorerLink } from "../../services/getExplorerLink";
|
|
25
|
+
import { useAccount } from "../../providers/wallet/useAccount";
|
|
26
|
+
import {
|
|
27
|
+
RaindexClient,
|
|
28
|
+
RaindexOrder,
|
|
29
|
+
RaindexVault,
|
|
30
|
+
RaindexVaultsList
|
|
31
|
+
} from "@rainlanguage/raindex";
|
|
32
|
+
import { useToasts } from "../../providers/toasts/useToasts";
|
|
33
|
+
import { useRaindexClient } from "../../hooks/useRaindexClient";
|
|
25
34
|
export let handleQuoteDebugModal = void 0;
|
|
26
|
-
export
|
|
27
|
-
export let colorTheme;
|
|
35
|
+
export let handleDebugTradeModal = void 0;
|
|
28
36
|
export let codeMirrorTheme;
|
|
29
37
|
export let lightweightChartsTheme;
|
|
30
|
-
export let
|
|
38
|
+
export let raindexAddress;
|
|
31
39
|
export let orderHash;
|
|
32
|
-
export let rpcUrl;
|
|
33
|
-
export let subgraphUrl;
|
|
34
40
|
export let chainId;
|
|
35
|
-
export let
|
|
36
|
-
export let
|
|
41
|
+
export let rpcs = void 0;
|
|
42
|
+
export let onRemove;
|
|
43
|
+
export let onDeposit;
|
|
44
|
+
export let onWithdraw;
|
|
45
|
+
export let onWithdrawAll = void 0;
|
|
46
|
+
export let onTakeOrder = void 0;
|
|
37
47
|
let codeMirrorDisabled = true;
|
|
38
48
|
let codeMirrorStyles = {};
|
|
39
49
|
const queryClient = useQueryClient();
|
|
50
|
+
const { matchesAccount } = useAccount();
|
|
51
|
+
const { errToast } = useToasts();
|
|
52
|
+
const raindexClient = useRaindexClient();
|
|
40
53
|
$: orderDetailQuery = createQuery({
|
|
41
|
-
queryKey: [
|
|
42
|
-
queryFn: () => {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
54
|
+
queryKey: [QKEY_ORDER, orderHash],
|
|
55
|
+
queryFn: async () => {
|
|
56
|
+
const result = await raindexClient.getOrderByHash(chainId, raindexAddress, orderHash);
|
|
57
|
+
if (result.error) throw new Error(result.error.readableMsg);
|
|
58
|
+
return result.value;
|
|
59
|
+
}
|
|
46
60
|
});
|
|
47
61
|
const interval = setInterval(async () => {
|
|
48
|
-
await
|
|
62
|
+
await invalidateTanstackQueries(queryClient, [orderHash]);
|
|
49
63
|
}, 1e4);
|
|
50
64
|
onDestroy(() => {
|
|
51
65
|
clearInterval(interval);
|
|
52
66
|
});
|
|
53
|
-
|
|
67
|
+
const handleRefresh = async () => {
|
|
68
|
+
try {
|
|
69
|
+
await invalidateTanstackQueries(queryClient, [orderHash]);
|
|
70
|
+
} catch {
|
|
71
|
+
errToast("Failed to refresh");
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
const vaultTypesMap = [
|
|
75
|
+
{ key: "Output vaults", type: "output", getter: "outputsList" },
|
|
76
|
+
{ key: "Input vaults", type: "input", getter: "inputsList" },
|
|
77
|
+
{
|
|
78
|
+
key: "Input & output vaults",
|
|
79
|
+
type: "inputOutput",
|
|
80
|
+
getter: "inputsOutputsList"
|
|
81
|
+
}
|
|
82
|
+
];
|
|
83
|
+
const formatBuilderState = (builderState) => {
|
|
84
|
+
try {
|
|
85
|
+
return JSON.stringify(JSON.parse(builderState), null, 2);
|
|
86
|
+
} catch {
|
|
87
|
+
return "Invalid builder state";
|
|
88
|
+
}
|
|
89
|
+
};
|
|
54
90
|
</script>
|
|
55
91
|
|
|
56
92
|
<TanstackPageContentDetail query={orderDetailQuery} emptyMessage="Order not found">
|
|
@@ -61,35 +97,32 @@ $: subgraphName = $page.url.pathname.split("/")[2]?.split("-")[0];
|
|
|
61
97
|
<div class="flex items-center gap-x-2">
|
|
62
98
|
<div class="flex gap-x-2">
|
|
63
99
|
<span class="font-light">Order</span>
|
|
64
|
-
<Hash shorten value={data.
|
|
100
|
+
<Hash shorten value={data.orderHash} />
|
|
65
101
|
</div>
|
|
66
|
-
|
|
67
|
-
<BadgeActive active={data.order.active} large />
|
|
102
|
+
<BadgeActive active={data.active} large />
|
|
68
103
|
</div>
|
|
69
104
|
|
|
70
105
|
<div class="flex items-center gap-2">
|
|
71
|
-
{#if data
|
|
106
|
+
{#if matchesAccount(data.owner) && data.active}
|
|
72
107
|
<Button
|
|
108
|
+
on:click={() => onRemove(raindexClient, data)}
|
|
73
109
|
data-testid="remove-button"
|
|
74
|
-
|
|
75
|
-
on:click={() =>
|
|
76
|
-
handleOrderRemoveModal({
|
|
77
|
-
open: true,
|
|
78
|
-
args: {
|
|
79
|
-
order: data.order,
|
|
80
|
-
onRemove: $orderDetailQuery.refetch,
|
|
81
|
-
chainId,
|
|
82
|
-
orderbookAddress,
|
|
83
|
-
subgraphUrl
|
|
84
|
-
}
|
|
85
|
-
})}
|
|
86
|
-
disabled={!handleOrderRemoveModal}
|
|
110
|
+
aria-label="Remove order">Remove</Button
|
|
87
111
|
>
|
|
88
|
-
Remove
|
|
89
|
-
</Button>
|
|
90
112
|
{/if}
|
|
113
|
+
{#if data.active && onTakeOrder}
|
|
114
|
+
<Button
|
|
115
|
+
on:click={() => onTakeOrder(raindexClient, data)}
|
|
116
|
+
data-testid="take-order-button"
|
|
117
|
+
aria-label="Take order">Take Order</Button
|
|
118
|
+
>
|
|
119
|
+
{/if}
|
|
120
|
+
|
|
91
121
|
<Refresh
|
|
92
|
-
|
|
122
|
+
testId="top-refresh"
|
|
123
|
+
title="Refresh order"
|
|
124
|
+
ariaLabel="Refresh order"
|
|
125
|
+
on:click={handleRefresh}
|
|
93
126
|
spin={$orderDetailQuery.isLoading || $orderDetailQuery.isFetching}
|
|
94
127
|
/>
|
|
95
128
|
</div>
|
|
@@ -98,52 +131,125 @@ $: subgraphName = $page.url.pathname.split("/")[2]?.split("-")[0];
|
|
|
98
131
|
<svelte:fragment slot="card" let:data>
|
|
99
132
|
<div class="flex flex-col gap-y-6">
|
|
100
133
|
<CardProperty>
|
|
101
|
-
<svelte:fragment slot="key">
|
|
134
|
+
<svelte:fragment slot="key">Raindex</svelte:fragment>
|
|
102
135
|
<svelte:fragment slot="value">
|
|
103
|
-
<Hash type={HashType.Identifier} shorten={false} value={data.
|
|
136
|
+
<Hash type={HashType.Identifier} shorten={false} value={data.raindex} />
|
|
104
137
|
</svelte:fragment>
|
|
105
138
|
</CardProperty>
|
|
106
139
|
|
|
107
140
|
<CardProperty>
|
|
108
141
|
<svelte:fragment slot="key">Owner</svelte:fragment>
|
|
109
142
|
<svelte:fragment slot="value">
|
|
110
|
-
|
|
143
|
+
{@const explorerLink = getExplorerLink(data.owner, chainId, 'address')}
|
|
144
|
+
{#if explorerLink}
|
|
145
|
+
<a
|
|
146
|
+
href={explorerLink}
|
|
147
|
+
target="_blank"
|
|
148
|
+
rel="noopener noreferrer"
|
|
149
|
+
class="flex items-center justify-start space-x-2 text-left text-blue-500 hover:underline"
|
|
150
|
+
>
|
|
151
|
+
<WalletOutline size="sm" />
|
|
152
|
+
<span>{data.owner}</span>
|
|
153
|
+
</a>
|
|
154
|
+
{:else}
|
|
155
|
+
<Hash type={HashType.Wallet} shorten={false} value={data.owner} />
|
|
156
|
+
{/if}
|
|
111
157
|
</svelte:fragment>
|
|
112
158
|
</CardProperty>
|
|
113
159
|
|
|
114
160
|
<CardProperty>
|
|
115
161
|
<svelte:fragment slot="key">Created</svelte:fragment>
|
|
116
162
|
<svelte:fragment slot="value">
|
|
117
|
-
{formatTimestampSecondsAsLocal(
|
|
163
|
+
{formatTimestampSecondsAsLocal(data.timestampAdded)}
|
|
118
164
|
</svelte:fragment>
|
|
119
165
|
</CardProperty>
|
|
120
166
|
|
|
121
|
-
{#
|
|
122
|
-
|
|
167
|
+
{#if data.oracleUrl}
|
|
168
|
+
<CardProperty>
|
|
169
|
+
<svelte:fragment slot="key">
|
|
170
|
+
<div class="flex items-center gap-x-2">
|
|
171
|
+
Oracle
|
|
172
|
+
<InfoCircleOutline class="h-4 w-4" /><Tooltip
|
|
173
|
+
>This order uses a signed context oracle for external data (e.g. price feeds).
|
|
174
|
+
Quotes include oracle data automatically.</Tooltip
|
|
175
|
+
>
|
|
176
|
+
</div>
|
|
177
|
+
</svelte:fragment>
|
|
178
|
+
<svelte:fragment slot="value">
|
|
179
|
+
{#if data.oracleUrl.startsWith('https://') || data.oracleUrl.startsWith('http://')}
|
|
180
|
+
<a
|
|
181
|
+
href={data.oracleUrl}
|
|
182
|
+
target="_blank"
|
|
183
|
+
rel="noopener noreferrer"
|
|
184
|
+
class="break-all text-blue-500 hover:underline"
|
|
185
|
+
>
|
|
186
|
+
{data.oracleUrl}
|
|
187
|
+
</a>
|
|
188
|
+
{:else}
|
|
189
|
+
<span class="break-all text-gray-500">{data.oracleUrl}</span>
|
|
190
|
+
{/if}
|
|
191
|
+
</svelte:fragment>
|
|
192
|
+
</CardProperty>
|
|
193
|
+
{/if}
|
|
194
|
+
|
|
195
|
+
{#each vaultTypesMap as { key, type, getter }}
|
|
196
|
+
{@const filteredVaults = data.vaultsList.items.filter((vault) => vault.vaultType === type)}
|
|
197
|
+
{@const vaultsListByType = data[getter]}
|
|
198
|
+
{#if filteredVaults.length !== 0}
|
|
123
199
|
<CardProperty>
|
|
124
|
-
<svelte:fragment slot="key"
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
200
|
+
<svelte:fragment slot="key">
|
|
201
|
+
<div class="flex items-center justify-between">
|
|
202
|
+
<div class="flex items-center gap-x-2">
|
|
203
|
+
{key}
|
|
204
|
+
{#if type === 'inputOutput'}
|
|
205
|
+
<InfoCircleOutline class="h-4 w-4" /><Tooltip
|
|
206
|
+
>{'These vaults can be an input or an output for this order'}</Tooltip
|
|
207
|
+
>{/if}
|
|
208
|
+
</div>
|
|
209
|
+
{#if onWithdrawAll}
|
|
210
|
+
<Button
|
|
211
|
+
color="light"
|
|
212
|
+
size="xs"
|
|
213
|
+
on:click={() =>
|
|
214
|
+
vaultsListByType && onWithdrawAll(raindexClient, vaultsListByType)}
|
|
215
|
+
disabled={!vaultsListByType ||
|
|
216
|
+
vaultsListByType.getWithdrawableVaults()?.value?.length === 0}
|
|
217
|
+
data-testid="withdraw-all-button"
|
|
218
|
+
>
|
|
219
|
+
<ArrowUpFromBracketOutline size="xs" class="mr-2" />
|
|
220
|
+
Withdraw all
|
|
221
|
+
</Button>
|
|
222
|
+
{/if}
|
|
223
|
+
</div>
|
|
224
|
+
</svelte:fragment>
|
|
133
225
|
<svelte:fragment slot="value">
|
|
134
226
|
<div class="mt-2 space-y-2">
|
|
135
|
-
{#each
|
|
136
|
-
<ButtonVaultLink tokenVault={vault} {
|
|
227
|
+
{#each filteredVaults as vault}
|
|
228
|
+
<ButtonVaultLink tokenVault={vault} {chainId} {raindexAddress}>
|
|
137
229
|
<svelte:fragment slot="buttons">
|
|
138
|
-
{#if
|
|
139
|
-
<
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
230
|
+
{#if matchesAccount(vault.owner)}
|
|
231
|
+
<div class="flex gap-1">
|
|
232
|
+
<Button
|
|
233
|
+
color="light"
|
|
234
|
+
size="xs"
|
|
235
|
+
data-testid="deposit-button"
|
|
236
|
+
title="Deposit into vault"
|
|
237
|
+
aria-label="Deposit into vault"
|
|
238
|
+
on:click={() => onDeposit(raindexClient, vault)}
|
|
239
|
+
>
|
|
240
|
+
<ArrowDownToBracketOutline size="xs" />
|
|
241
|
+
</Button>
|
|
242
|
+
<Button
|
|
243
|
+
color="light"
|
|
244
|
+
size="xs"
|
|
245
|
+
data-testid="withdraw-button"
|
|
246
|
+
title="Withdraw from vault"
|
|
247
|
+
aria-label="Withdraw from vault"
|
|
248
|
+
on:click={() => onWithdraw(raindexClient, vault)}
|
|
249
|
+
>
|
|
250
|
+
<ArrowUpFromBracketOutline size="xs" />
|
|
251
|
+
</Button>
|
|
252
|
+
</div>
|
|
147
253
|
{/if}
|
|
148
254
|
</svelte:fragment>
|
|
149
255
|
</ButtonVaultLink>
|
|
@@ -153,42 +259,74 @@ $: subgraphName = $page.url.pathname.split("/")[2]?.split("-")[0];
|
|
|
153
259
|
</CardProperty>
|
|
154
260
|
{/if}
|
|
155
261
|
{/each}
|
|
262
|
+
{#if onWithdrawAll}
|
|
263
|
+
<Button
|
|
264
|
+
size="xs"
|
|
265
|
+
on:click={() =>
|
|
266
|
+
$orderDetailQuery.data?.vaultsList &&
|
|
267
|
+
onWithdrawAll(raindexClient, $orderDetailQuery.data.vaultsList)}
|
|
268
|
+
disabled={!$orderDetailQuery.data?.vaultsList ||
|
|
269
|
+
$orderDetailQuery.data?.vaultsList?.getWithdrawableVaults()?.value?.length === 0}
|
|
270
|
+
data-testid="withdraw-all-button"
|
|
271
|
+
>
|
|
272
|
+
<ArrowUpFromBracketOutline size="xs" class="mr-2" />
|
|
273
|
+
Withdraw all vaults
|
|
274
|
+
</Button>
|
|
275
|
+
{/if}
|
|
156
276
|
</div>
|
|
157
277
|
</svelte:fragment>
|
|
158
278
|
<svelte:fragment slot="chart" let:data>
|
|
159
|
-
<OrderTradesChart
|
|
279
|
+
<OrderTradesChart order={data} {lightweightChartsTheme} />
|
|
160
280
|
</svelte:fragment>
|
|
161
281
|
<svelte:fragment slot="below" let:data>
|
|
162
|
-
<TanstackOrderQuote
|
|
163
|
-
id={data.order.id}
|
|
164
|
-
order={data.order}
|
|
165
|
-
{rpcUrl}
|
|
166
|
-
{orderbookAddress}
|
|
167
|
-
{handleQuoteDebugModal}
|
|
168
|
-
/>
|
|
282
|
+
<TanstackOrderQuote order={data} {handleQuoteDebugModal} />
|
|
169
283
|
<Tabs
|
|
170
284
|
style="underline"
|
|
171
285
|
contentClass="mt-4"
|
|
172
286
|
defaultClass="flex flex-wrap space-x-2 rtl:space-x-reverse mt-4 list-none"
|
|
173
287
|
>
|
|
174
|
-
|
|
288
|
+
{#if data.dotrainSource}
|
|
289
|
+
<TabItem title="Dotrain">
|
|
290
|
+
<div class="mb-8 overflow-hidden rounded-lg border dark:border-none">
|
|
291
|
+
<CodeMirrorRainlang
|
|
292
|
+
rainlangText={data.dotrainSource}
|
|
293
|
+
codeMirrorTheme={$codeMirrorTheme}
|
|
294
|
+
{codeMirrorDisabled}
|
|
295
|
+
{codeMirrorStyles}
|
|
296
|
+
></CodeMirrorRainlang>
|
|
297
|
+
</div>
|
|
298
|
+
</TabItem>
|
|
299
|
+
{/if}
|
|
300
|
+
<TabItem title="On-chain Rainlang">
|
|
175
301
|
<div class="mb-8 overflow-hidden rounded-lg border dark:border-none">
|
|
176
302
|
<CodeMirrorRainlang
|
|
177
|
-
|
|
303
|
+
rainlangText={data.rainlang}
|
|
178
304
|
codeMirrorTheme={$codeMirrorTheme}
|
|
179
305
|
{codeMirrorDisabled}
|
|
180
306
|
{codeMirrorStyles}
|
|
181
307
|
></CodeMirrorRainlang>
|
|
182
308
|
</div>
|
|
183
309
|
</TabItem>
|
|
310
|
+
{#if data.orderBuilderState}
|
|
311
|
+
<TabItem title="Builder State">
|
|
312
|
+
<div class="mb-4">
|
|
313
|
+
<div class="overflow-auto rounded-lg border bg-gray-50 p-4 dark:bg-gray-800">
|
|
314
|
+
<pre class="text-sm" data-testid="builder-state-json">
|
|
315
|
+
{formatBuilderState(data.orderBuilderState)}
|
|
316
|
+
</pre>
|
|
317
|
+
</div>
|
|
318
|
+
</div>
|
|
319
|
+
</TabItem>
|
|
320
|
+
{/if}
|
|
184
321
|
<TabItem open title="Trades">
|
|
185
|
-
<OrderTradesListTable
|
|
322
|
+
<OrderTradesListTable order={data} {handleDebugTradeModal} {rpcs} />
|
|
186
323
|
</TabItem>
|
|
187
324
|
<TabItem title="Volume">
|
|
188
|
-
<OrderVaultsVolTable
|
|
325
|
+
<OrderVaultsVolTable order={data} />
|
|
189
326
|
</TabItem>
|
|
190
327
|
<TabItem title="APY">
|
|
191
|
-
<
|
|
328
|
+
<div>TODO: Issue #1989</div>
|
|
329
|
+
<!-- <OrderApy order={data} /> -->
|
|
192
330
|
</TabItem>
|
|
193
331
|
</Tabs>
|
|
194
332
|
</svelte:fragment>
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
|
-
import type {
|
|
3
|
-
import type
|
|
4
|
-
import type { Hex } from 'viem';
|
|
5
|
-
import type { DepositOrWithdrawModalProps, OrderRemoveModalProps, QuoteDebugModalHandler, DebugTradeModalHandler } from '../../types/modal';
|
|
2
|
+
import type { DebugTradeModalHandler, QuoteDebugModalHandler } from '../../types/modal';
|
|
3
|
+
import { RaindexClient, RaindexOrder, RaindexVault, RaindexVaultsList, type Address, type Hex } from '@rainlanguage/raindex';
|
|
6
4
|
declare const __propDef: {
|
|
7
5
|
props: {
|
|
8
|
-
handleDepositOrWithdrawModal?: ((props: DepositOrWithdrawModalProps) => void) | undefined;
|
|
9
|
-
handleOrderRemoveModal?: ((props: OrderRemoveModalProps) => void) | undefined;
|
|
10
6
|
handleQuoteDebugModal?: QuoteDebugModalHandler | undefined;
|
|
11
7
|
handleDebugTradeModal?: DebugTradeModalHandler | undefined;
|
|
12
|
-
colorTheme: any;
|
|
13
8
|
codeMirrorTheme: any;
|
|
14
9
|
lightweightChartsTheme: any;
|
|
15
|
-
|
|
16
|
-
orderHash:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
10
|
+
raindexAddress: Address;
|
|
11
|
+
orderHash: Hex;
|
|
12
|
+
chainId: number;
|
|
13
|
+
rpcs?: string[] | undefined;
|
|
14
|
+
/** Callback function when remove action is triggered for an order
|
|
15
|
+
* @param order The order to remove
|
|
16
|
+
*/ onRemove: (raindexClient: RaindexClient, order: RaindexOrder) => void;
|
|
17
|
+
/** Callback function when deposit action is triggered for a vault
|
|
18
|
+
* @param vault The vault to deposit into
|
|
19
|
+
*/ onDeposit: (raindexClient: RaindexClient, vault: RaindexVault) => void;
|
|
20
|
+
/** Callback function when withdraw action is triggered for a vault
|
|
21
|
+
* @param vault The vault to withdraw from
|
|
22
|
+
*/ onWithdraw: (raindexClient: RaindexClient, vault: RaindexVault) => void;
|
|
23
|
+
/** Callback function when withdraw all action is triggered for a vault
|
|
24
|
+
* @param vaultsList The VaultsList struct containing the vaults to withdraw from
|
|
25
|
+
*/ onWithdrawAll?: ((raindexClient: RaindexClient, vaultsList: RaindexVaultsList) => void) | undefined;
|
|
26
|
+
/** Callback function when take order action is triggered
|
|
27
|
+
* @param order The order to take
|
|
28
|
+
*/ onTakeOrder?: ((raindexClient: RaindexClient, order: RaindexOrder) => void) | undefined;
|
|
22
29
|
};
|
|
23
30
|
events: {
|
|
24
31
|
[evt: string]: CustomEvent<any>;
|
|
@@ -31,6 +38,5 @@ export type OrderDetailProps = typeof __propDef.props;
|
|
|
31
38
|
export type OrderDetailEvents = typeof __propDef.events;
|
|
32
39
|
export type OrderDetailSlots = typeof __propDef.slots;
|
|
33
40
|
export default class OrderDetail extends SvelteComponent<OrderDetailProps, OrderDetailEvents, OrderDetailSlots> {
|
|
34
|
-
get handleDebugTradeModal(): DebugTradeModalHandler;
|
|
35
41
|
}
|
|
36
42
|
export {};
|