From 5a7aa61e814b6ad262e0c36d756dc00e54be90dc Mon Sep 17 00:00:00 2001 From: Yurixander <101931215+yurixander@users.noreply.github.com> Date: Mon, 4 Nov 2024 16:10:06 +0100 Subject: [PATCH] refactor: Cleanup unused deps & remove legacy dApps (#2632) --- .env.example | 30 - .github/CONTRIBUTING.md | 4 +- .github/workflows/deploy-bridge-dapp-dev.yml | 88 - .github/workflows/deploy-faucet.yml | 106 - .github/workflows/deploy-stats-dapp-dev.yml | 82 - .gitignore | 3 +- .husky/commit-msg | 1 - .husky/pre-push | 6 - .prettierignore | 4 +- .storybook/main.ts | 3 + README.md | 9 +- apps/bridge-dapp/.browserslistrc | 16 - apps/bridge-dapp/.eslintrc.json | 24 - apps/bridge-dapp/CHANGELOG.md | 229 - apps/bridge-dapp/README.md | 201 - apps/bridge-dapp/jest.config.ts | 11 - apps/bridge-dapp/package.json | 6 - apps/bridge-dapp/postcss.config.js | 20 - apps/bridge-dapp/project.json | 41 - apps/bridge-dapp/scripts/localSubstrate.ts | 143 - apps/bridge-dapp/scripts/localTangle.ts | 145 - .../scripts/utils/addAssetMetadata.ts | 31 - .../scripts/utils/addAssetToPool.ts | 29 - .../scripts/utils/createPoolShare.ts | 57 - .../scripts/utils/createVAnchor.ts | 30 - apps/bridge-dapp/scripts/utils/getKeyRing.ts | 13 - apps/bridge-dapp/scripts/utils/getLocalApi.ts | 12 - .../scripts/utils/transferAsset.ts | 50 - apps/bridge-dapp/src/App.tsx | 19 - apps/bridge-dapp/src/assets/.gitkeep | 0 .../ConnectWalletMobileContent.tsx | 23 - .../ConnectWalletMobileContent/index.ts | 1 - .../EducationCard/EducationCard.tsx | 258 - .../src/components/EducationCard/index.ts | 1 - .../src/components/EducationCard/types.ts | 13 - .../components/Header/ActiveChainDropdown.tsx | 98 - .../src/components/Header/Header.tsx | 228 - .../Header/TxProgressDropdown/TxItem.tsx | 133 - .../Header/TxProgressDropdown/index.tsx | 93 - .../Header/WalletDropdown/ClearDataModal.tsx | 88 - .../WalletDropdown/NoteAccountAction.tsx | 135 - .../Header/WalletDropdown/NoteAccountKey.tsx | 62 - .../Header/WalletDropdown/index.tsx | 157 - .../src/components/Header/index.ts | 1 - .../src/components/Header/types.d.ts | 1 - .../DefaultErrorView.tsx | 113 - .../InteractiveFeedbackView.tsx | 28 - .../UnselectedNetworkView.tsx | 56 - .../InteractiveFeedbackView/index.ts | 3 - .../InteractiveFeedbackView/types.d.ts | 11 - .../components/NoteAccountAvatarWithKey.tsx | 71 - .../src/components/ReceiveModal.tsx | 100 - .../src/components/RelayerFeeDetails.tsx | 115 - .../SlideAnimation/SlideAnimation.tsx | 20 - .../src/components/SlideAnimation/index.ts | 3 - .../SubmittedTxModal/SubmittedTxModal.tsx | 83 - .../src/components/SubmittedTxModal/index.ts | 3 - .../src/components/SubmittedTxModal/types.ts | 26 - .../src/components/TxInfoItem/TxInfoItem.tsx | 49 - .../src/components/TxInfoItem/index.ts | 3 - .../src/components/TxInfoItem/types.ts | 22 - apps/bridge-dapp/src/components/index.ts | 7 - .../src/components/tables/EmptyTable.tsx | 124 - .../src/components/tables/FilterButton.tsx | 104 - .../src/components/tables/LoadingTable.tsx | 56 - .../src/components/tables/index.ts | 3 - .../src/components/tables/types.d.ts | 60 - apps/bridge-dapp/src/constants/breadcrumb.tsx | 34 - apps/bridge-dapp/src/constants/index.ts | 33 - apps/bridge-dapp/src/constants/links.ts | 16 - apps/bridge-dapp/src/constants/paths.ts | 58 - apps/bridge-dapp/src/constants/sidebar.ts | 83 - apps/bridge-dapp/src/constants/signIn.ts | 23 - .../src/constants/tooltipContent.ts | 5 - .../ClearTxHistoryModal.tsx | 110 - .../containers/ClearTxHistoryModal/index.ts | 3 - .../CreateAccountModal/CreateAccountModal.tsx | 215 - .../CreateAccountModal/congrats.json | 5913 ----------------- .../containers/CreateAccountModal/index.ts | 1 - .../CreateAccountModal/privacy-security.json | 4557 ------------- .../containers/CreateAccountModal/types.d.ts | 22 - .../DeleteNotesModal/DeleteNotesModal.tsx | 104 - .../src/containers/DeleteNotesModal/index.ts | 1 - .../containers/DeleteNotesModal/types.d.ts | 14 - .../DepositConfirmContainer.tsx | 347 - .../DepositConfirmContainer/index.ts | 3 - .../DepositConfirmContainer/types.ts | 45 - .../HubbleContainer/HubbleContainer.tsx | 74 - .../src/containers/HubbleContainer/index.ts | 3 - .../src/containers/Layout/Layout.tsx | 63 - .../src/containers/Layout/index.ts | 1 - .../PageTabsContainer/PageTabsContainer.tsx | 75 - .../src/containers/PageTabsContainer/index.ts | 3 - .../src/containers/PageTabsContainer/types.ts | 13 - .../TransferConfirmContainer.tsx | 562 -- .../TransferConfirmContainer/index.ts | 3 - .../TransferConfirmContainer/shared.tsx | 27 - .../TransferConfirmContainer/types.ts | 134 - .../TxDetailContainer/InputOrOutputNotes.tsx | 127 - .../SourceOrDestinationWalletInfo.tsx | 47 - .../TxDetailContainer/TxBasicInfo.tsx | 176 - .../TxDetailContainer/TxDetailContainer.tsx | 168 - .../containers/TxDetailContainer/Wrapper.tsx | 34 - .../src/containers/TxDetailContainer/index.ts | 3 - .../src/containers/TxDetailContainer/types.ts | 39 - .../TxInfoContainer/TxInfoContainer.tsx | 48 - .../src/containers/TxInfoContainer/index.ts | 3 - .../TxTableContainer/TxTableContainer.tsx | 214 - .../src/containers/TxTableContainer/index.ts | 3 - .../src/containers/TxTableContainer/types.ts | 9 - .../PasteModalContent.tsx | 167 - .../UploadModalContent.tsx | 229 - .../UploadSpendNoteModal.tsx | 147 - .../containers/UploadSpendNoteModal/index.ts | 1 - .../containers/UploadSpendNoteModal/types.ts | 41 - .../UploadTxHistoryModal.tsx | 206 - .../containers/UploadTxHistoryModal/index.ts | 3 - .../containers/UploadTxHistoryModal/types.ts | 27 - .../WalletModalContainer.tsx | 42 - .../containers/WalletModalContainer/index.ts | 1 - .../WithdrawConfirmContainer.tsx | 474 -- .../WithdrawConfirmContainer/index.ts | 3 - .../WithdrawConfirmContainer/shared.tsx | 50 - .../WithdrawConfirmContainer/types.ts | 115 - apps/bridge-dapp/src/containers/index.ts | 14 - .../note-account-tables/ActionWithTooltip.tsx | 32 - .../MoreOptionsDropdown.tsx | 41 - .../ShieldedAssetsTableContainer.tsx | 223 - .../ShieldedAssetsTableContainer/index.ts | 1 - .../ShieldedAssetsTableContainer/types.ts | 72 - .../SpendNotesTableContainer.tsx | 233 - .../SpendNotesTableContainer/index.ts | 1 - .../SpendNotesTableContainer/types.ts | 73 - .../containers/note-account-tables/index.ts | 2 - .../containers/note-account-tables/types.ts | 44 - .../note-account-tables/useNoteAction.ts | 57 - apps/bridge-dapp/src/containers/types.d.ts | 22 - .../src/environments/environment.prod.ts | 3 - .../src/environments/environment.ts | 6 - apps/bridge-dapp/src/hooks/index.ts | 26 - apps/bridge-dapp/src/hooks/useAddCurrency.ts | 134 - .../src/hooks/useAmountWithRoute.ts | 75 - .../src/hooks/useChainsFromNote.ts | 38 - .../src/hooks/useChainsFromRoute.ts | 48 - .../src/hooks/useConnectButtonProps.ts | 114 - .../src/hooks/useCurrenciesFromRoute.ts | 100 - apps/bridge-dapp/src/hooks/useCurrentTx.ts | 32 - .../src/hooks/useDefaultChainAndPool.ts | 90 - .../src/hooks/useEducationCardStep.ts | 19 - .../src/hooks/useEnqueueSubmittedTx.tsx | 38 - .../src/hooks/useInProgressTxInfo.ts | 87 - .../src/hooks/useLatestTransactionStage.ts | 29 - apps/bridge-dapp/src/hooks/useMaxFeeInfo.ts | 220 - .../src/hooks/useNavigateWithPersistParams.ts | 44 - .../src/hooks/useReceiveModal/index.ts | 50 - .../src/hooks/useReceiveModal/subjects.ts | 10 - .../src/hooks/useRelayerManager.ts | 35 - .../src/hooks/useRelayerWithRoute.ts | 121 - .../src/hooks/useShieldedAssets.ts | 106 - apps/bridge-dapp/src/hooks/useSidebarProps.ts | 65 - apps/bridge-dapp/src/hooks/useSpendNotes.ts | 218 - .../src/hooks/useStateWithRoute.ts | 18 - .../src/hooks/useTransferFeeCalculation.ts | 169 - .../src/hooks/useTryAnotherWalletWithView.tsx | 61 - .../src/hooks/useTxTabFromRoute.ts | 19 - .../src/hooks/useWithdrawFeeCalculation.ts | 159 - .../src/hooks/useWrapperTabFromRoute.ts | 20 - apps/bridge-dapp/src/index.tsx | 11 - .../src/pages/Account/AccountSummaryCard.tsx | 353 - apps/bridge-dapp/src/pages/Account/NoTx.tsx | 22 - .../Transactions/TransactionDetail/index.tsx | 83 - .../src/pages/Account/Transactions/index.tsx | 124 - apps/bridge-dapp/src/pages/Account/index.tsx | 289 - apps/bridge-dapp/src/pages/Ecosystem.tsx | 9 - .../src/pages/Hubble/Bridge/Deposit/index.tsx | 179 - .../Deposit/private/useDepositButtonProps.tsx | 283 - .../Deposit/private/useWatchSearchParams.ts | 35 - .../src/pages/Hubble/Bridge/SelectChain.tsx | 300 - .../src/pages/Hubble/Bridge/SelectPool.tsx | 223 - .../src/pages/Hubble/Bridge/SelectRelayer.tsx | 281 - .../src/pages/Hubble/Bridge/SelectToken.tsx | 204 - .../pages/Hubble/Bridge/Transfer/index.tsx | 464 -- .../Bridge/Transfer/private/useInputs.ts | 110 - .../private/useTransferButtonProps.tsx | 422 -- .../pages/Hubble/Bridge/Withdraw/index.tsx | 425 -- .../Bridge/Withdraw/private/useInputs.ts | 60 - .../private/useWithdrawButtonProps.tsx | 426 -- .../src/pages/Hubble/Wrapper/SelectToken.tsx | 214 - .../src/pages/Hubble/Wrapper/Unwrap/index.tsx | 128 - .../Unwrap/private/useUnwrapButtonProps.tsx | 242 - .../private/useUnwrapFeeDetailsProps.tsx | 109 - .../src/pages/Hubble/Wrapper/Wrap/index.tsx | 131 - .../Wrap/private/useWrapButtonProps.tsx | 260 - .../Wrap/private/useWrapFeeDetailsProps.tsx | 234 - apps/bridge-dapp/src/public/favicon.png | Bin 16585 -> 0 bytes apps/bridge-dapp/src/public/index.html | 63 - apps/bridge-dapp/src/public/logo.png | Bin 16585 -> 0 bytes apps/bridge-dapp/src/public/manifest.json | 20 - apps/bridge-dapp/src/react-app-env.d.ts | 5 - apps/bridge-dapp/src/routes/index.tsx | 251 - apps/bridge-dapp/src/styles.css | 12 - apps/bridge-dapp/src/types/index.ts | 7 - apps/bridge-dapp/src/utils/downloadNotes.ts | 23 - .../src/utils/downloadTxHistory.ts | 22 - apps/bridge-dapp/src/utils/errors.ts | 116 - .../src/utils/formatDateTimeByTimestamp.ts | 39 - apps/bridge-dapp/src/utils/getCardTitle.ts | 78 - .../src/utils/getCurrentTimestamp.ts | 3 - .../src/utils/getEstimatedGasFeesByChain.ts | 38 - .../src/utils/getNoteSerializations.ts | 7 - apps/bridge-dapp/src/utils/getParam.ts | 12 - .../src/utils/getRelayerFeePercentage.ts | 28 - apps/bridge-dapp/src/utils/getTokenURI.ts | 12 - .../src/utils/getVAnchorActionClass.ts | 23 - .../src/utils/handleMutateNoteIndex.ts | 25 - apps/bridge-dapp/src/utils/handleStoreNote.ts | 17 - apps/bridge-dapp/src/utils/handleTxError.ts | 31 - apps/bridge-dapp/src/utils/index.ts | 17 - apps/bridge-dapp/src/utils/isValidNote.ts | 11 - apps/bridge-dapp/src/utils/safeParseJson.ts | 15 - apps/bridge-dapp/tailwind.config.js | 23 - apps/bridge-dapp/tsconfig.app.json | 27 - apps/bridge-dapp/tsconfig.json | 19 - apps/bridge-dapp/tsconfig.spec.json | 28 - apps/bridge-dapp/webpack.base.cjs | 336 - apps/bridge-dapp/webpack.dev.cjs | 51 - apps/bridge-dapp/webpack.prod.cjs | 38 - apps/faucet/.eslintrc.js | 43 - apps/faucet/CHANGELOG.md | 114 - apps/faucet/README.md | 67 - apps/faucet/index.d.ts | 6 - apps/faucet/jest.config.ts | 11 - apps/faucet/netlify.toml | 3 - apps/faucet/next-env.d.ts | 5 - apps/faucet/next.config.js | 19 - apps/faucet/package.json | 7 - apps/faucet/postcss.config.js | 17 - apps/faucet/project.json | 41 - apps/faucet/public/.gitkeep | 0 apps/faucet/public/static/assets/favicon.png | Bin 1506 -> 0 bytes .../public/static/assets/og-optimize.png | Bin 830447 -> 0 bytes apps/faucet/public/static/assets/og.png | Bin 453722 -> 0 bytes apps/faucet/src/components/ChainDropdown.tsx | 84 - apps/faucet/src/components/Header.tsx | 74 - .../faucet/src/components/ProcessingModal.tsx | 312 - .../src/components/RecipientAddressInput.tsx | 180 - apps/faucet/src/components/TokenDropdown.tsx | 116 - apps/faucet/src/components/TwitterLink.tsx | 44 - apps/faucet/src/config/client.ts | 18 - apps/faucet/src/config/server.ts | 20 - apps/faucet/src/config/shared.ts | 32 - apps/faucet/src/config/tokens.ts | 15 - apps/faucet/src/constants/index.ts | 6 - apps/faucet/src/constants/sidebar.ts | 106 - .../faucet/src/containers/InputsContainer.tsx | 174 - .../src/containers/LoginWithTwitter.tsx | 289 - .../src/containers/MintButtonContainer.tsx | 243 - apps/faucet/src/errors/FaucetError.ts | 122 - apps/faucet/src/errors/FaucetErrorCode.ts | 73 - apps/faucet/src/errors/FaucetErrorPayload.ts | 110 - apps/faucet/src/lottie/failed.json | 1 - apps/faucet/src/lottie/processing.json | 1 - apps/faucet/src/lottie/success.json | 1 - apps/faucet/src/pages/_app.tsx | 55 - apps/faucet/src/pages/_document.tsx | 15 - .../src/pages/api/auth/refresh/twitter.ts | 58 - .../src/pages/api/auth/signin/twitter.ts | 88 - apps/faucet/src/pages/index.tsx | 124 - apps/faucet/src/provider/index.tsx | 125 - apps/faucet/src/specs/index.spec.tsx | 10 - apps/faucet/src/store/index.ts | 181 - apps/faucet/src/styles/globals.css | 19 - apps/faucet/src/types/index.ts | 205 - apps/faucet/src/utils/addTokenToMetamask.ts | 51 - .../faucet/src/utils/handleTwitterApiError.ts | 27 - .../src/utils/isAllowSubstrateAddress.ts | 18 - .../src/utils/isTooManyClaimResponse.ts | 24 - .../src/utils/isTwitterRateLimitError.ts | 11 - apps/faucet/src/utils/loginWithTwitter.ts | 80 - apps/faucet/src/utils/parseErrorFromResult.ts | 42 - apps/faucet/src/utils/parseTokensResponse.ts | 36 - .../faucet/src/utils/parseTwitterLoginBody.ts | 42 - .../utils/parseTwitterRefreshTokensBody.ts | 36 - apps/faucet/src/utils/refreshTwitterTokens.ts | 72 - apps/faucet/src/utils/safeParseJSON.ts | 26 - apps/faucet/src/utils/sidebar.ts | 28 - apps/faucet/tailwind.config.js | 40 - apps/faucet/tsconfig.json | 23 - apps/faucet/tsconfig.spec.json | 20 - apps/hubble-stats/.eslintrc.json | 34 - apps/hubble-stats/.vscode/settings.json | 4 - apps/hubble-stats/CHANGELOG.md | 93 - apps/hubble-stats/README.md | 49 - apps/hubble-stats/app/api/hello/route.ts | 3 - apps/hubble-stats/app/layout.tsx | 63 - apps/hubble-stats/app/page.tsx | 34 - apps/hubble-stats/app/pool/[slug]/page.tsx | 65 - apps/hubble-stats/app/providers.tsx | 13 - .../components/Breadcrumbs/Breadcrumbs.tsx | 73 - .../components/Breadcrumbs/index.ts | 1 - .../components/Breadcrumbs/types.ts | 11 - .../CopyIconWithTooltip.tsx | 16 - .../components/CopyIconWithTooltip/index.ts | 1 - .../components/CopyIconWithTooltip/types.ts | 3 - .../HeaderChipItem/HeaderChipItem.tsx | 56 - .../components/HeaderChipItem/index.ts | 1 - .../components/HeaderChipItem/types.ts | 10 - .../KeyMetricItem/KeyMetricItem.tsx | 85 - .../components/KeyMetricItem/index.ts | 1 - .../components/KeyMetricItem/types.ts | 10 - .../PoolInfoCardItem/PoolInfoCardItem.tsx | 119 - .../components/PoolInfoCardItem/index.ts | 1 - .../components/PoolInfoCardItem/types.ts | 10 - .../ExplorerUrlsDropdown.tsx | 107 - .../PoolMetadataTable/PoolMetadataTable.tsx | 91 - .../WrappingFeesDropdown.tsx | 66 - .../components/PoolMetadataTable/index.ts | 1 - .../components/PoolMetadataTable/types.ts | 16 - .../PoolOverviewTable/PoolOverviewTable.tsx | 128 - .../components/PoolOverviewTable/index.ts | 1 - .../components/PoolOverviewTable/types.ts | 33 - .../PoolTransactionsTable.tsx | 122 - .../components/PoolTransactionsTable/index.ts | 1 - .../components/PoolTransactionsTable/types.ts | 16 - .../components/PoolTypeChip/PoolTypeChip.tsx | 15 - .../components/PoolTypeChip/index.ts | 1 - .../components/PoolTypeChip/types.ts | 6 - .../PoolWrappingTable/PoolWrappingTable.tsx | 158 - .../components/PoolWrappingTable/index.ts | 1 - .../components/PoolWrappingTable/types.ts | 43 - .../ShieldedAssetsTable.tsx | 143 - .../components/ShieldedAssetsTable/index.ts | 1 - .../components/ShieldedAssetsTable/types.ts | 19 - .../ShieldedPoolsTable/ShieldedPoolsTable.tsx | 123 - .../components/ShieldedPoolsTable/index.ts | 1 - .../components/ShieldedPoolsTable/types.ts | 19 - .../TableFilterButton/TableFilterButton.tsx | 138 - .../components/TableFilterButton/index.ts | 2 - .../components/TableFilterButton/types.ts | 12 - .../components/charts/AreaChart.tsx | 93 - .../components/charts/BarChart.tsx | 93 - .../components/charts/ChartToolTipContent.tsx | 47 - .../components/charts/VolumeChart.tsx | 85 - apps/hubble-stats/components/charts/index.ts | 3 - apps/hubble-stats/components/charts/types.ts | 45 - apps/hubble-stats/components/index.ts | 17 - .../components/sideBar/SideBar.tsx | 23 - .../components/sideBar/SideBarMenu.tsx | 12 - .../hubble-stats/components/sideBar/index.tsx | 2 - .../components/sideBar/sideBarProps.tsx | 78 - .../components/skeleton/ContainerSkeleton.tsx | 36 - .../components/skeleton/PoolChartSkeleton.tsx | 9 - .../hubble-stats/components/skeleton/index.ts | 2 - .../hubble-stats/components/skeleton/types.ts | 4 - .../components/tableCells/ActivityCell.tsx | 17 - .../components/tableCells/DestinationCell.tsx | 23 - .../components/tableCells/HeaderCell.tsx | 27 - .../components/tableCells/NumberCell.tsx | 42 - .../components/tableCells/ShieldedCell.tsx | 38 - .../components/tableCells/TimeCell.tsx | 21 - .../components/tableCells/index.ts | 6 - .../components/tableCells/types.ts | 33 - apps/hubble-stats/constants/index.ts | 2 - apps/hubble-stats/constants/subgraphs.ts | 27 - apps/hubble-stats/constants/vanchor.ts | 135 - .../HeaderChipsContainer.tsx | 38 - .../containers/HeaderChipsContainer/index.ts | 1 - .../KeyMetricsTableContainer.tsx | 83 - .../KeyMetricsTableContainer/index.ts | 1 - .../hubble-stats/containers/Layout/Header.tsx | 63 - .../hubble-stats/containers/Layout/Layout.tsx | 32 - apps/hubble-stats/containers/Layout/index.ts | 1 - .../PoolInfoCardContainer/ItemsContainer.tsx | 42 - .../PoolInfoCardContainer.tsx | 67 - .../containers/PoolInfoCardContainer/index.ts | 1 - .../PoolMetadataTableContainer.tsx | 78 - .../PoolMetadataTableContainer/index.ts | 1 - .../PoolOverviewChartsContainer.tsx | 61 - .../PoolOverviewChartsContainer/index.ts | 1 - .../PoolOverviewTableContainer.tsx | 110 - .../PoolOverviewTableContainer/index.ts | 1 - .../PoolTransactionsTableContainer.tsx | 24 - .../TransactionsTable.tsx | 46 - .../PoolTransactionsTableContainer/index.ts | 1 - .../PoolTransactionsTableContainer/tabs.ts | 4 - .../PoolWrappingChartsContainer.tsx | 47 - .../PoolWrappingChartsContainer/index.ts | 1 - .../PoolWrappingTableContainer.tsx | 79 - .../PoolWrappingTableContainer/index.ts | 1 - .../ShieldedAssetsTableContainer.tsx | 12 - .../ShieldedPoolsTableContainer.tsx | 12 - .../ShieldedTablesContainer.tsx | 63 - .../ShieldedTablesContainer/index.ts | 1 - .../charts/OverviewTvlChartContainer.tsx | 28 - .../charts/OverviewVolumeChartContainer.tsx | 33 - .../PoolRelayerEarningsChartContainer.tsx | 35 - .../charts/PoolTvlChartContainer.tsx | 27 - .../charts/PoolTwlChartContainer.tsx | 27 - .../charts/PoolVolumeChartContainer.tsx | 33 - .../charts/PoolWrappingFeesChartContainer.tsx | 35 - .../client/AreaChartContainerClient.tsx | 35 - .../charts/client/BarChartContainerClient.tsx | 35 - .../client/VolumeChartContainerClient.tsx | 34 - .../containers/charts/client/index.ts | 3 - .../containers/charts/client/types.ts | 19 - apps/hubble-stats/containers/charts/index.ts | 7 - apps/hubble-stats/containers/charts/types.ts | 9 - apps/hubble-stats/containers/index.ts | 11 - .../data/charts/getOverviewTvlChartData.ts | 45 - .../data/charts/getOverviewVolumeChartData.ts | 71 - .../charts/getPoolRelayerEarningsChartData.ts | 93 - .../data/charts/getPoolTvlChartData.ts | 55 - .../data/charts/getPoolTwlChartData.ts | 78 - .../data/charts/getPoolVolumeChartData.ts | 97 - .../charts/getPoolWrappingFeesChartData.ts | 79 - apps/hubble-stats/data/charts/index.ts | 7 - .../headerChips/getHistoricalDepositData.ts | 31 - apps/hubble-stats/data/headerChips/index.ts | 2 - apps/hubble-stats/data/index.ts | 6 - .../getKeyMetricDepositData.ts | 23 - .../getKeyMetricRelayerFeesData.ts | 32 - .../keyMetricsTable/getKeyMetricTvlData.ts | 51 - .../getKeyMetricWrappingFeesData.ts | 33 - .../data/keyMetricsTable/index.ts | 4 - .../getPoolInfoCardDepositData.ts | 33 - .../poolInfoCard/getPoolInfoCardTvlData.ts | 59 - apps/hubble-stats/data/poolInfoCard/index.ts | 2 - .../poolTables/getPoolDepositTableData.ts | 47 - .../poolTables/getPoolMetadataTableData.ts | 81 - .../getPoolRelayerEarningsTableData.ts | 39 - .../poolTables/getPoolTransactionTableData.ts | 0 .../getPoolTransactionsTableData.ts | 59 - .../data/poolTables/getPoolTwlTableData.ts | 87 - .../poolTables/getPoolWithdrawalTableData.ts | 50 - .../getPoolWrappingFeesTableData.ts | 104 - apps/hubble-stats/data/poolTables/index.ts | 7 - .../getShieldedAssetsTableData.ts | 86 - .../getShieldedPoolsTableData.ts | 45 - .../hubble-stats/data/shieldedTables/index.ts | 2 - .../data/utils/getDepositInTimeRange.ts | 37 - .../utils/getDepositInTimeRangeByVAnchor.ts | 36 - apps/hubble-stats/data/utils/getTvl.ts | 30 - .../data/utils/getTvlByVAnchor.ts | 30 - apps/hubble-stats/data/utils/index.ts | 4 - apps/hubble-stats/index.d.ts | 6 - apps/hubble-stats/jest.config.ts | 11 - apps/hubble-stats/netlify.toml | 3 - apps/hubble-stats/next-env.d.ts | 5 - apps/hubble-stats/next.config.js | 48 - apps/hubble-stats/package.json | 6 - apps/hubble-stats/postcss.config.js | 17 - apps/hubble-stats/project.json | 48 - apps/hubble-stats/public/.gitkeep | 0 apps/hubble-stats/public/favicon.ico | Bin 15086 -> 0 bytes apps/hubble-stats/public/favicon.png | Bin 16585 -> 0 bytes .../public/static/assets/bg-dark.jpeg | Bin 101853 -> 0 bytes .../hubble-stats/public/static/assets/bg.jpeg | Bin 100024 -> 0 bytes apps/hubble-stats/tailwind.config.js | 32 - apps/hubble-stats/tsconfig.json | 37 - apps/hubble-stats/tsconfig.spec.json | 20 - apps/hubble-stats/types/index.ts | 30 - apps/hubble-stats/utils/date.ts | 29 - apps/hubble-stats/utils/getAggregateValue.ts | 11 - .../utils/getChainNamesByTypedId.ts | 7 - apps/hubble-stats/utils/getChangeRate.ts | 14 - .../utils/getExplorerUrlByAddressByChains.ts | 26 - .../utils/getFormattedDataForBasicChart.ts | 17 - .../utils/getFormattedDataForVolumeChart.ts | 32 - .../getRoundedDownNumberWith2Decimals.ts | 10 - .../hubble-stats/utils/getShortenChainName.ts | 8 - .../utils/getSortedTypedChainIds.ts | 27 - ...etWrappingFeesPercentageByFungibleToken.ts | 23 - apps/hubble-stats/utils/index.ts | 13 - apps/hubble-stats/utils/serializeEpochData.ts | 14 - apps/stats-dapp/.eslintrc.json | 19 - apps/stats-dapp/.gitignore | 3 - apps/stats-dapp/.graphqlconfig | 10 - apps/stats-dapp/CHANGELOG.md | 176 - apps/stats-dapp/README.md | 49 - apps/stats-dapp/browserslist | 13 - apps/stats-dapp/codegen.yml | 20 - apps/stats-dapp/jest.config.ts | 11 - apps/stats-dapp/package.json | 6 - apps/stats-dapp/postcss.config.js | 17 - apps/stats-dapp/project.json | 37 - apps/stats-dapp/src/App.tsx | 14 - apps/stats-dapp/src/assets/.gitkeep | 0 .../components/CountryIcon/CountryIcon.tsx | 35 - .../src/components/Header/Header.tsx | 161 - .../stats-dapp/src/components/Header/index.ts | 1 - .../NetworkSelector/NetworkSelector.tsx | 301 - .../src/components/NetworkSelector/types.ts | 0 apps/stats-dapp/src/components/index.ts | 1 - apps/stats-dapp/src/constants/index.ts | 1 - .../AuthoritiesTable/AuthoritiesTable.tsx | 314 - .../src/containers/AuthoritiesTable/index.ts | 1 - .../src/containers/AuthoritiesTable/types.ts | 8 - .../AuthorityDetail/AuthorityDetail.tsx | 452 -- .../src/containers/AuthorityDetail/index.ts | 1 - .../src/containers/KeyDetail/KeyDetail.tsx | 445 -- .../src/containers/KeyDetail/index.ts | 1 - .../src/containers/KeyDetail/types.d.ts | 37 - .../KeyStatusCardContainer.tsx | 49 - .../KeyStatusCardContainer/index.ts | 1 - .../KeyStatusCardContainer/types.d.ts | 8 - .../containers/KeygenTable/KeygenTable.tsx | 389 -- .../src/containers/KeygenTable/index.ts | 1 - .../src/containers/Layout/Layout.tsx | 164 - .../stats-dapp/src/containers/Layout/index.ts | 1 - .../NavBlocksInfoContainer.tsx | 134 - .../NavBlocksInfoContainer/index.ts | 1 - .../NavBlocksInfoContainer/types.ts | 0 .../ProposalDetail/ProposalDetail.tsx | 336 - .../src/containers/ProposalDetail/index.ts | 1 - .../ProposalsTable/ProposalsTable.tsx | 314 - .../src/containers/ProposalsTable/index.ts | 2 - .../src/containers/ProposalsTable/utils.ts | 40 - .../ProposersTable/ProposersTable.tsx | 3 - .../src/containers/ProposersTable/index.ts | 1 - .../StackedAreaChartContainer.tsx | 3 - .../StackedAreaChartContainer/index.ts | 1 - apps/stats-dapp/src/containers/index.ts | 10 - apps/stats-dapp/src/gql/authorites.graphql | 116 - apps/stats-dapp/src/gql/fragments.graphql | 54 - apps/stats-dapp/src/gql/metadata.graphql | 44 - apps/stats-dapp/src/gql/proposals.graphql | 33 - apps/stats-dapp/src/gql/public-keys.graphql | 68 - apps/stats-dapp/src/gql/sessions.graphql | 113 - apps/stats-dapp/src/hooks/index.ts | 5 - .../src/hooks/useAuthoritiesSeedData.ts | 58 - .../src/hooks/useProposalsSeedData.ts | 0 apps/stats-dapp/src/i18n/en.json | 1 - apps/stats-dapp/src/i18n/zh.json | 1 - apps/stats-dapp/src/index.tsx | 9 - apps/stats-dapp/src/pages/Authorities.tsx | 227 - .../src/pages/AuthoritiesHistory.tsx | 233 - .../src/pages/AuthorityDetailDrawer.tsx | 24 - .../src/pages/AuthorityDetailPage.tsx | 7 - apps/stats-dapp/src/pages/KeyDetailDrawer.tsx | 21 - apps/stats-dapp/src/pages/KeyDetailPage.tsx | 7 - apps/stats-dapp/src/pages/Keys.tsx | 16 - .../src/pages/ProposalDetailDrawer.tsx | 24 - .../src/pages/ProposalDetailPage.tsx | 9 - apps/stats-dapp/src/pages/Proposals.tsx | 48 - apps/stats-dapp/src/provider/DemoTable.tsx | 57 - apps/stats-dapp/src/provider/hooks/index.ts | 10 - .../src/provider/hooks/mappers/index.ts | 42 - .../src/provider/hooks/mappers/thresholds.ts | 34 - apps/stats-dapp/src/provider/hooks/types.ts | 84 - .../src/provider/hooks/useAuthorities.ts | 717 -- .../src/provider/hooks/useBlocks.ts | 86 - .../src/provider/hooks/useCurrentMetaData.ts | 21 - apps/stats-dapp/src/provider/hooks/useKeys.ts | 599 -- .../src/provider/hooks/useProposals.ts | 187 - .../src/provider/hooks/useReputation.ts | 66 - .../src/provider/hooks/useSession.ts | 89 - apps/stats-dapp/src/provider/index.ts | 3 - .../src/provider/stats-provider.tsx | 417 -- apps/stats-dapp/src/public/favicon.png | Bin 1506 -> 0 bytes apps/stats-dapp/src/public/i18n.json | 8 - apps/stats-dapp/src/public/index.html | 57 - apps/stats-dapp/src/public/logo.png | Bin 539103 -> 0 bytes apps/stats-dapp/src/public/manifest.json | 18 - apps/stats-dapp/src/public/robots.txt | 2 - apps/stats-dapp/src/public/tangle-seo.jpg | Bin 402312 -> 0 bytes apps/stats-dapp/src/routes/index.tsx | 123 - apps/stats-dapp/src/styles.css | 3 - apps/stats-dapp/src/utils/ChainNameToLogo.ts | 26 - .../src/utils/getChipColorByKeyType.ts | 43 - .../src/utils/getChipColorByProposalType.ts | 24 - apps/stats-dapp/src/utils/getProposalsData.ts | 258 - apps/stats-dapp/src/utils/index.ts | 5 - apps/stats-dapp/src/utils/networkSelector.ts | 26 - apps/stats-dapp/tailwind.config.js | 12 - apps/stats-dapp/tsconfig.app.json | 14 - apps/stats-dapp/tsconfig.json | 19 - apps/stats-dapp/tsconfig.spec.json | 13 - apps/stats-dapp/types/index.ts | 55 - apps/stats-dapp/webpack.config.js | 391 -- apps/tangle-cloud/specs/index.spec.tsx | 11 - apps/zk-explorer/.eslintrc.json | 37 - apps/zk-explorer/.gitattributes | 1 - apps/zk-explorer/CHANGELOG.md | 37 - apps/zk-explorer/README.md | 49 - apps/zk-explorer/app/dashboard/page.tsx | 12 - apps/zk-explorer/app/layout.tsx | 47 - apps/zk-explorer/app/page.tsx | 48 - .../project/[owner]/[name]/[circuit]/page.tsx | 23 - .../app/project/[owner]/[name]/page.tsx | 35 - apps/zk-explorer/app/providers.tsx | 19 - apps/zk-explorer/app/submit/layout.tsx | 15 - apps/zk-explorer/app/submit/page.tsx | 23 - apps/zk-explorer/components/CircuitCard.tsx | 64 - .../components/ComputedBreadcrumbs.tsx | 66 - .../components/DashboardOverviewTab.tsx | 157 - .../components/DashboardSettingsTab.tsx | 226 - apps/zk-explorer/components/DashboardTabs.tsx | 58 - apps/zk-explorer/components/FeedbackCard.tsx | 25 - .../components/FileUploadAreaWithList.tsx | 86 - .../components/FilterAndSortBy.tsx | 116 - apps/zk-explorer/components/GitHubAvatar.tsx | 46 - .../components/GitHubIconWithLink.tsx | 25 - apps/zk-explorer/components/Header.tsx | 15 - apps/zk-explorer/components/ItemGrid.tsx | 65 - .../components/LargeSquareAvatar.tsx | 15 - apps/zk-explorer/components/LinkCard.tsx | 43 - apps/zk-explorer/components/OverlayMask.tsx | 63 - apps/zk-explorer/components/ProjectCard.tsx | 108 - .../CollapsibleCard.tsx | 31 - .../ProofGenerationStepCards/IdentityItem.tsx | 28 - .../ServiceTierCard.tsx | 79 - .../ProofGenerationStepCards/StepCard.tsx | 53 - .../StepTrackerSidebar.tsx | 143 - .../ProofGenerationStepCards/index.tsx | 375 -- .../ProofGenerationStepCards/types.ts | 26 - apps/zk-explorer/components/RadioCard.tsx | 107 - .../RunCircuitServiceModalTrigger.tsx | 152 - apps/zk-explorer/components/SearchInput.tsx | 117 - .../components/SidebarAndItemGrid.tsx | 233 - apps/zk-explorer/components/SmallChip.tsx | 26 - .../components/StepTrackerSidebarAndCards.tsx | 30 - .../components/SubmitPageControls.tsx | 91 - apps/zk-explorer/components/Tabs.tsx | 175 - apps/zk-explorer/constants/index.ts | 17 - apps/zk-explorer/constants/mock.ts | 493 -- .../containers/Filters/FilterCheckboxItem.tsx | 36 - apps/zk-explorer/containers/Filters/index.tsx | 124 - apps/zk-explorer/containers/Filters/types.ts | 11 - .../containers/GitHubOAuthButton/index.tsx | 128 - .../containers/GitHubOAuthButton/types.ts | 46 - .../HeaderControls/SidebarCloseButton.tsx | 46 - .../containers/HeaderControls/index.tsx | 138 - .../ProjectDetailTabs/Circuits/Circuits.tsx | 8 - .../Circuits/client/Header.tsx | 50 - .../Circuits/client/NavSideBar.tsx | 143 - .../Circuits/client/index.tsx | 109 - .../ProjectDetailTabs/ProjectDetailTabs.tsx | 82 - .../containers/ProjectDetailTabs/Summary.tsx | 19 - .../TrustedSetup/ContributorListTable.tsx | 79 - .../TrustedSetup/TrustedSetupItem.tsx | 83 - .../ProjectDetailTabs/TrustedSetup/index.tsx | 14 - .../ProjectGitHubInfo/ProjectGitHubInfo.tsx | 16 - .../ProjectGitHubInfo/client/index.tsx | 386 -- apps/zk-explorer/containers/ProjectHeader.tsx | 87 - .../RelatedProjectsContainer.tsx | 33 - .../client/RelatedProjectsCarousel.tsx | 66 - .../RelatedProjects/client/index.ts | 1 - .../containers/RelatedProjects/index.ts | 1 - apps/zk-explorer/context/SidebarContext.ts | 45 - apps/zk-explorer/context/SidebarProvider.tsx | 52 - apps/zk-explorer/context/TabsContext.ts | 15 - apps/zk-explorer/hooks/useAuth.tsx | 133 - .../zk-explorer/hooks/useFilterConstraints.ts | 49 - .../hooks/useTailwindBreakpoint.ts | 40 - apps/zk-explorer/index.d.ts | 6 - apps/zk-explorer/jest.config.ts | 11 - apps/zk-explorer/netlify.toml | 3 - apps/zk-explorer/next-env.d.ts | 5 - apps/zk-explorer/next.config.js | 50 - apps/zk-explorer/package.json | 6 - apps/zk-explorer/postcss.config.js | 9 - apps/zk-explorer/project.json | 40 - apps/zk-explorer/public/.gitkeep | 0 apps/zk-explorer/public/header-bg.png | Bin 1211858 -> 0 bytes apps/zk-explorer/server/auth.ts | 18 - apps/zk-explorer/server/circuits.ts | 36 - apps/zk-explorer/server/filters.ts | 25 - apps/zk-explorer/server/projectDetails.ts | 142 - apps/zk-explorer/server/projects.ts | 50 - apps/zk-explorer/server/services.ts | 38 - apps/zk-explorer/server/user.ts | 17 - apps/zk-explorer/styles/globals.css | 68 - apps/zk-explorer/tailwind.config.js | 31 - apps/zk-explorer/tsconfig.json | 40 - apps/zk-explorer/tsconfig.spec.json | 20 - apps/zk-explorer/utils/api.ts | 131 - apps/zk-explorer/utils/index.ts | 282 - commitlint.config.cjs | 5 - .../src/components/WebsiteFooter/utils.ts | 12 - .../webb-ui-components/src/constants/index.ts | 30 +- nx.json | 4 - package.json | 89 +- storybook-migration-summary.md | 62 - tools/scripts/bridge.sh | 44 - tools/scripts/local-bridge-network.sh | 35 - tsconfig.base.json | 1 - yarn.lock | 4250 +----------- 687 files changed, 238 insertions(+), 57999 deletions(-) delete mode 100644 .github/workflows/deploy-bridge-dapp-dev.yml delete mode 100644 .github/workflows/deploy-faucet.yml delete mode 100644 .github/workflows/deploy-stats-dapp-dev.yml delete mode 100755 .husky/commit-msg delete mode 100755 .husky/pre-push delete mode 100644 apps/bridge-dapp/.browserslistrc delete mode 100644 apps/bridge-dapp/.eslintrc.json delete mode 100644 apps/bridge-dapp/CHANGELOG.md delete mode 100644 apps/bridge-dapp/README.md delete mode 100644 apps/bridge-dapp/jest.config.ts delete mode 100644 apps/bridge-dapp/package.json delete mode 100644 apps/bridge-dapp/postcss.config.js delete mode 100644 apps/bridge-dapp/project.json delete mode 100644 apps/bridge-dapp/scripts/localSubstrate.ts delete mode 100644 apps/bridge-dapp/scripts/localTangle.ts delete mode 100644 apps/bridge-dapp/scripts/utils/addAssetMetadata.ts delete mode 100644 apps/bridge-dapp/scripts/utils/addAssetToPool.ts delete mode 100644 apps/bridge-dapp/scripts/utils/createPoolShare.ts delete mode 100644 apps/bridge-dapp/scripts/utils/createVAnchor.ts delete mode 100644 apps/bridge-dapp/scripts/utils/getKeyRing.ts delete mode 100644 apps/bridge-dapp/scripts/utils/getLocalApi.ts delete mode 100644 apps/bridge-dapp/scripts/utils/transferAsset.ts delete mode 100644 apps/bridge-dapp/src/App.tsx delete mode 100644 apps/bridge-dapp/src/assets/.gitkeep delete mode 100644 apps/bridge-dapp/src/components/ConnectWalletMobileContent/ConnectWalletMobileContent.tsx delete mode 100644 apps/bridge-dapp/src/components/ConnectWalletMobileContent/index.ts delete mode 100644 apps/bridge-dapp/src/components/EducationCard/EducationCard.tsx delete mode 100644 apps/bridge-dapp/src/components/EducationCard/index.ts delete mode 100644 apps/bridge-dapp/src/components/EducationCard/types.ts delete mode 100644 apps/bridge-dapp/src/components/Header/ActiveChainDropdown.tsx delete mode 100644 apps/bridge-dapp/src/components/Header/Header.tsx delete mode 100644 apps/bridge-dapp/src/components/Header/TxProgressDropdown/TxItem.tsx delete mode 100644 apps/bridge-dapp/src/components/Header/TxProgressDropdown/index.tsx delete mode 100644 apps/bridge-dapp/src/components/Header/WalletDropdown/ClearDataModal.tsx delete mode 100644 apps/bridge-dapp/src/components/Header/WalletDropdown/NoteAccountAction.tsx delete mode 100644 apps/bridge-dapp/src/components/Header/WalletDropdown/NoteAccountKey.tsx delete mode 100644 apps/bridge-dapp/src/components/Header/WalletDropdown/index.tsx delete mode 100644 apps/bridge-dapp/src/components/Header/index.ts delete mode 100644 apps/bridge-dapp/src/components/Header/types.d.ts delete mode 100644 apps/bridge-dapp/src/components/InteractiveFeedbackView/DefaultErrorView.tsx delete mode 100644 apps/bridge-dapp/src/components/InteractiveFeedbackView/InteractiveFeedbackView.tsx delete mode 100644 apps/bridge-dapp/src/components/InteractiveFeedbackView/UnselectedNetworkView.tsx delete mode 100644 apps/bridge-dapp/src/components/InteractiveFeedbackView/index.ts delete mode 100644 apps/bridge-dapp/src/components/InteractiveFeedbackView/types.d.ts delete mode 100644 apps/bridge-dapp/src/components/NoteAccountAvatarWithKey.tsx delete mode 100644 apps/bridge-dapp/src/components/ReceiveModal.tsx delete mode 100644 apps/bridge-dapp/src/components/RelayerFeeDetails.tsx delete mode 100644 apps/bridge-dapp/src/components/SlideAnimation/SlideAnimation.tsx delete mode 100644 apps/bridge-dapp/src/components/SlideAnimation/index.ts delete mode 100644 apps/bridge-dapp/src/components/SubmittedTxModal/SubmittedTxModal.tsx delete mode 100644 apps/bridge-dapp/src/components/SubmittedTxModal/index.ts delete mode 100644 apps/bridge-dapp/src/components/SubmittedTxModal/types.ts delete mode 100644 apps/bridge-dapp/src/components/TxInfoItem/TxInfoItem.tsx delete mode 100644 apps/bridge-dapp/src/components/TxInfoItem/index.ts delete mode 100644 apps/bridge-dapp/src/components/TxInfoItem/types.ts delete mode 100644 apps/bridge-dapp/src/components/index.ts delete mode 100644 apps/bridge-dapp/src/components/tables/EmptyTable.tsx delete mode 100644 apps/bridge-dapp/src/components/tables/FilterButton.tsx delete mode 100644 apps/bridge-dapp/src/components/tables/LoadingTable.tsx delete mode 100644 apps/bridge-dapp/src/components/tables/index.ts delete mode 100644 apps/bridge-dapp/src/components/tables/types.d.ts delete mode 100644 apps/bridge-dapp/src/constants/breadcrumb.tsx delete mode 100644 apps/bridge-dapp/src/constants/index.ts delete mode 100644 apps/bridge-dapp/src/constants/links.ts delete mode 100644 apps/bridge-dapp/src/constants/paths.ts delete mode 100644 apps/bridge-dapp/src/constants/sidebar.ts delete mode 100644 apps/bridge-dapp/src/constants/signIn.ts delete mode 100644 apps/bridge-dapp/src/constants/tooltipContent.ts delete mode 100644 apps/bridge-dapp/src/containers/ClearTxHistoryModal/ClearTxHistoryModal.tsx delete mode 100644 apps/bridge-dapp/src/containers/ClearTxHistoryModal/index.ts delete mode 100644 apps/bridge-dapp/src/containers/CreateAccountModal/CreateAccountModal.tsx delete mode 100644 apps/bridge-dapp/src/containers/CreateAccountModal/congrats.json delete mode 100644 apps/bridge-dapp/src/containers/CreateAccountModal/index.ts delete mode 100644 apps/bridge-dapp/src/containers/CreateAccountModal/privacy-security.json delete mode 100644 apps/bridge-dapp/src/containers/CreateAccountModal/types.d.ts delete mode 100644 apps/bridge-dapp/src/containers/DeleteNotesModal/DeleteNotesModal.tsx delete mode 100644 apps/bridge-dapp/src/containers/DeleteNotesModal/index.ts delete mode 100644 apps/bridge-dapp/src/containers/DeleteNotesModal/types.d.ts delete mode 100644 apps/bridge-dapp/src/containers/DepositConfirmContainer/DepositConfirmContainer.tsx delete mode 100644 apps/bridge-dapp/src/containers/DepositConfirmContainer/index.ts delete mode 100644 apps/bridge-dapp/src/containers/DepositConfirmContainer/types.ts delete mode 100644 apps/bridge-dapp/src/containers/HubbleContainer/HubbleContainer.tsx delete mode 100644 apps/bridge-dapp/src/containers/HubbleContainer/index.ts delete mode 100644 apps/bridge-dapp/src/containers/Layout/Layout.tsx delete mode 100644 apps/bridge-dapp/src/containers/Layout/index.ts delete mode 100644 apps/bridge-dapp/src/containers/PageTabsContainer/PageTabsContainer.tsx delete mode 100644 apps/bridge-dapp/src/containers/PageTabsContainer/index.ts delete mode 100644 apps/bridge-dapp/src/containers/PageTabsContainer/types.ts delete mode 100644 apps/bridge-dapp/src/containers/TransferConfirmContainer/TransferConfirmContainer.tsx delete mode 100644 apps/bridge-dapp/src/containers/TransferConfirmContainer/index.ts delete mode 100644 apps/bridge-dapp/src/containers/TransferConfirmContainer/shared.tsx delete mode 100644 apps/bridge-dapp/src/containers/TransferConfirmContainer/types.ts delete mode 100644 apps/bridge-dapp/src/containers/TxDetailContainer/InputOrOutputNotes.tsx delete mode 100644 apps/bridge-dapp/src/containers/TxDetailContainer/SourceOrDestinationWalletInfo.tsx delete mode 100644 apps/bridge-dapp/src/containers/TxDetailContainer/TxBasicInfo.tsx delete mode 100644 apps/bridge-dapp/src/containers/TxDetailContainer/TxDetailContainer.tsx delete mode 100644 apps/bridge-dapp/src/containers/TxDetailContainer/Wrapper.tsx delete mode 100644 apps/bridge-dapp/src/containers/TxDetailContainer/index.ts delete mode 100644 apps/bridge-dapp/src/containers/TxDetailContainer/types.ts delete mode 100644 apps/bridge-dapp/src/containers/TxInfoContainer/TxInfoContainer.tsx delete mode 100644 apps/bridge-dapp/src/containers/TxInfoContainer/index.ts delete mode 100644 apps/bridge-dapp/src/containers/TxTableContainer/TxTableContainer.tsx delete mode 100644 apps/bridge-dapp/src/containers/TxTableContainer/index.ts delete mode 100644 apps/bridge-dapp/src/containers/TxTableContainer/types.ts delete mode 100644 apps/bridge-dapp/src/containers/UploadSpendNoteModal/PasteModalContent.tsx delete mode 100644 apps/bridge-dapp/src/containers/UploadSpendNoteModal/UploadModalContent.tsx delete mode 100644 apps/bridge-dapp/src/containers/UploadSpendNoteModal/UploadSpendNoteModal.tsx delete mode 100644 apps/bridge-dapp/src/containers/UploadSpendNoteModal/index.ts delete mode 100644 apps/bridge-dapp/src/containers/UploadSpendNoteModal/types.ts delete mode 100644 apps/bridge-dapp/src/containers/UploadTxHistoryModal/UploadTxHistoryModal.tsx delete mode 100644 apps/bridge-dapp/src/containers/UploadTxHistoryModal/index.ts delete mode 100644 apps/bridge-dapp/src/containers/UploadTxHistoryModal/types.ts delete mode 100644 apps/bridge-dapp/src/containers/WalletModalContainer/WalletModalContainer.tsx delete mode 100644 apps/bridge-dapp/src/containers/WalletModalContainer/index.ts delete mode 100644 apps/bridge-dapp/src/containers/WithdrawConfirmContainer/WithdrawConfirmContainer.tsx delete mode 100644 apps/bridge-dapp/src/containers/WithdrawConfirmContainer/index.ts delete mode 100644 apps/bridge-dapp/src/containers/WithdrawConfirmContainer/shared.tsx delete mode 100644 apps/bridge-dapp/src/containers/WithdrawConfirmContainer/types.ts delete mode 100644 apps/bridge-dapp/src/containers/index.ts delete mode 100644 apps/bridge-dapp/src/containers/note-account-tables/ActionWithTooltip.tsx delete mode 100644 apps/bridge-dapp/src/containers/note-account-tables/MoreOptionsDropdown.tsx delete mode 100644 apps/bridge-dapp/src/containers/note-account-tables/ShieldedAssetsTableContainer/ShieldedAssetsTableContainer.tsx delete mode 100644 apps/bridge-dapp/src/containers/note-account-tables/ShieldedAssetsTableContainer/index.ts delete mode 100644 apps/bridge-dapp/src/containers/note-account-tables/ShieldedAssetsTableContainer/types.ts delete mode 100644 apps/bridge-dapp/src/containers/note-account-tables/SpendNotesTableContainer/SpendNotesTableContainer.tsx delete mode 100644 apps/bridge-dapp/src/containers/note-account-tables/SpendNotesTableContainer/index.ts delete mode 100644 apps/bridge-dapp/src/containers/note-account-tables/SpendNotesTableContainer/types.ts delete mode 100644 apps/bridge-dapp/src/containers/note-account-tables/index.ts delete mode 100644 apps/bridge-dapp/src/containers/note-account-tables/types.ts delete mode 100644 apps/bridge-dapp/src/containers/note-account-tables/useNoteAction.ts delete mode 100644 apps/bridge-dapp/src/containers/types.d.ts delete mode 100644 apps/bridge-dapp/src/environments/environment.prod.ts delete mode 100644 apps/bridge-dapp/src/environments/environment.ts delete mode 100644 apps/bridge-dapp/src/hooks/index.ts delete mode 100644 apps/bridge-dapp/src/hooks/useAddCurrency.ts delete mode 100644 apps/bridge-dapp/src/hooks/useAmountWithRoute.ts delete mode 100644 apps/bridge-dapp/src/hooks/useChainsFromNote.ts delete mode 100644 apps/bridge-dapp/src/hooks/useChainsFromRoute.ts delete mode 100644 apps/bridge-dapp/src/hooks/useConnectButtonProps.ts delete mode 100644 apps/bridge-dapp/src/hooks/useCurrenciesFromRoute.ts delete mode 100644 apps/bridge-dapp/src/hooks/useCurrentTx.ts delete mode 100644 apps/bridge-dapp/src/hooks/useDefaultChainAndPool.ts delete mode 100644 apps/bridge-dapp/src/hooks/useEducationCardStep.ts delete mode 100644 apps/bridge-dapp/src/hooks/useEnqueueSubmittedTx.tsx delete mode 100644 apps/bridge-dapp/src/hooks/useInProgressTxInfo.ts delete mode 100644 apps/bridge-dapp/src/hooks/useLatestTransactionStage.ts delete mode 100644 apps/bridge-dapp/src/hooks/useMaxFeeInfo.ts delete mode 100644 apps/bridge-dapp/src/hooks/useNavigateWithPersistParams.ts delete mode 100644 apps/bridge-dapp/src/hooks/useReceiveModal/index.ts delete mode 100644 apps/bridge-dapp/src/hooks/useReceiveModal/subjects.ts delete mode 100644 apps/bridge-dapp/src/hooks/useRelayerManager.ts delete mode 100644 apps/bridge-dapp/src/hooks/useRelayerWithRoute.ts delete mode 100644 apps/bridge-dapp/src/hooks/useShieldedAssets.ts delete mode 100644 apps/bridge-dapp/src/hooks/useSidebarProps.ts delete mode 100644 apps/bridge-dapp/src/hooks/useSpendNotes.ts delete mode 100644 apps/bridge-dapp/src/hooks/useStateWithRoute.ts delete mode 100644 apps/bridge-dapp/src/hooks/useTransferFeeCalculation.ts delete mode 100644 apps/bridge-dapp/src/hooks/useTryAnotherWalletWithView.tsx delete mode 100644 apps/bridge-dapp/src/hooks/useTxTabFromRoute.ts delete mode 100644 apps/bridge-dapp/src/hooks/useWithdrawFeeCalculation.ts delete mode 100644 apps/bridge-dapp/src/hooks/useWrapperTabFromRoute.ts delete mode 100644 apps/bridge-dapp/src/index.tsx delete mode 100644 apps/bridge-dapp/src/pages/Account/AccountSummaryCard.tsx delete mode 100644 apps/bridge-dapp/src/pages/Account/NoTx.tsx delete mode 100644 apps/bridge-dapp/src/pages/Account/Transactions/TransactionDetail/index.tsx delete mode 100644 apps/bridge-dapp/src/pages/Account/Transactions/index.tsx delete mode 100644 apps/bridge-dapp/src/pages/Account/index.tsx delete mode 100644 apps/bridge-dapp/src/pages/Ecosystem.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/Deposit/index.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/Deposit/private/useDepositButtonProps.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/Deposit/private/useWatchSearchParams.ts delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/SelectChain.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/SelectPool.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/SelectRelayer.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/SelectToken.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/Transfer/index.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/Transfer/private/useInputs.ts delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/Transfer/private/useTransferButtonProps.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/Withdraw/index.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/Withdraw/private/useInputs.ts delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Bridge/Withdraw/private/useWithdrawButtonProps.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Wrapper/SelectToken.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Wrapper/Unwrap/index.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Wrapper/Unwrap/private/useUnwrapButtonProps.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Wrapper/Unwrap/private/useUnwrapFeeDetailsProps.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Wrapper/Wrap/index.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Wrapper/Wrap/private/useWrapButtonProps.tsx delete mode 100644 apps/bridge-dapp/src/pages/Hubble/Wrapper/Wrap/private/useWrapFeeDetailsProps.tsx delete mode 100644 apps/bridge-dapp/src/public/favicon.png delete mode 100644 apps/bridge-dapp/src/public/index.html delete mode 100644 apps/bridge-dapp/src/public/logo.png delete mode 100644 apps/bridge-dapp/src/public/manifest.json delete mode 100644 apps/bridge-dapp/src/react-app-env.d.ts delete mode 100644 apps/bridge-dapp/src/routes/index.tsx delete mode 100644 apps/bridge-dapp/src/styles.css delete mode 100644 apps/bridge-dapp/src/types/index.ts delete mode 100644 apps/bridge-dapp/src/utils/downloadNotes.ts delete mode 100644 apps/bridge-dapp/src/utils/downloadTxHistory.ts delete mode 100644 apps/bridge-dapp/src/utils/errors.ts delete mode 100644 apps/bridge-dapp/src/utils/formatDateTimeByTimestamp.ts delete mode 100644 apps/bridge-dapp/src/utils/getCardTitle.ts delete mode 100644 apps/bridge-dapp/src/utils/getCurrentTimestamp.ts delete mode 100644 apps/bridge-dapp/src/utils/getEstimatedGasFeesByChain.ts delete mode 100644 apps/bridge-dapp/src/utils/getNoteSerializations.ts delete mode 100644 apps/bridge-dapp/src/utils/getParam.ts delete mode 100644 apps/bridge-dapp/src/utils/getRelayerFeePercentage.ts delete mode 100644 apps/bridge-dapp/src/utils/getTokenURI.ts delete mode 100644 apps/bridge-dapp/src/utils/getVAnchorActionClass.ts delete mode 100644 apps/bridge-dapp/src/utils/handleMutateNoteIndex.ts delete mode 100644 apps/bridge-dapp/src/utils/handleStoreNote.ts delete mode 100644 apps/bridge-dapp/src/utils/handleTxError.ts delete mode 100644 apps/bridge-dapp/src/utils/index.ts delete mode 100644 apps/bridge-dapp/src/utils/isValidNote.ts delete mode 100644 apps/bridge-dapp/src/utils/safeParseJson.ts delete mode 100644 apps/bridge-dapp/tailwind.config.js delete mode 100644 apps/bridge-dapp/tsconfig.app.json delete mode 100644 apps/bridge-dapp/tsconfig.json delete mode 100644 apps/bridge-dapp/tsconfig.spec.json delete mode 100644 apps/bridge-dapp/webpack.base.cjs delete mode 100644 apps/bridge-dapp/webpack.dev.cjs delete mode 100644 apps/bridge-dapp/webpack.prod.cjs delete mode 100644 apps/faucet/.eslintrc.js delete mode 100644 apps/faucet/CHANGELOG.md delete mode 100644 apps/faucet/README.md delete mode 100644 apps/faucet/index.d.ts delete mode 100644 apps/faucet/jest.config.ts delete mode 100644 apps/faucet/netlify.toml delete mode 100644 apps/faucet/next-env.d.ts delete mode 100644 apps/faucet/next.config.js delete mode 100644 apps/faucet/package.json delete mode 100644 apps/faucet/postcss.config.js delete mode 100644 apps/faucet/project.json delete mode 100644 apps/faucet/public/.gitkeep delete mode 100644 apps/faucet/public/static/assets/favicon.png delete mode 100644 apps/faucet/public/static/assets/og-optimize.png delete mode 100644 apps/faucet/public/static/assets/og.png delete mode 100644 apps/faucet/src/components/ChainDropdown.tsx delete mode 100644 apps/faucet/src/components/Header.tsx delete mode 100644 apps/faucet/src/components/ProcessingModal.tsx delete mode 100644 apps/faucet/src/components/RecipientAddressInput.tsx delete mode 100644 apps/faucet/src/components/TokenDropdown.tsx delete mode 100644 apps/faucet/src/components/TwitterLink.tsx delete mode 100644 apps/faucet/src/config/client.ts delete mode 100644 apps/faucet/src/config/server.ts delete mode 100644 apps/faucet/src/config/shared.ts delete mode 100644 apps/faucet/src/config/tokens.ts delete mode 100644 apps/faucet/src/constants/index.ts delete mode 100644 apps/faucet/src/constants/sidebar.ts delete mode 100644 apps/faucet/src/containers/InputsContainer.tsx delete mode 100644 apps/faucet/src/containers/LoginWithTwitter.tsx delete mode 100644 apps/faucet/src/containers/MintButtonContainer.tsx delete mode 100644 apps/faucet/src/errors/FaucetError.ts delete mode 100644 apps/faucet/src/errors/FaucetErrorCode.ts delete mode 100644 apps/faucet/src/errors/FaucetErrorPayload.ts delete mode 100644 apps/faucet/src/lottie/failed.json delete mode 100644 apps/faucet/src/lottie/processing.json delete mode 100644 apps/faucet/src/lottie/success.json delete mode 100644 apps/faucet/src/pages/_app.tsx delete mode 100644 apps/faucet/src/pages/_document.tsx delete mode 100644 apps/faucet/src/pages/api/auth/refresh/twitter.ts delete mode 100644 apps/faucet/src/pages/api/auth/signin/twitter.ts delete mode 100644 apps/faucet/src/pages/index.tsx delete mode 100644 apps/faucet/src/provider/index.tsx delete mode 100644 apps/faucet/src/specs/index.spec.tsx delete mode 100644 apps/faucet/src/store/index.ts delete mode 100644 apps/faucet/src/styles/globals.css delete mode 100644 apps/faucet/src/types/index.ts delete mode 100644 apps/faucet/src/utils/addTokenToMetamask.ts delete mode 100644 apps/faucet/src/utils/handleTwitterApiError.ts delete mode 100644 apps/faucet/src/utils/isAllowSubstrateAddress.ts delete mode 100644 apps/faucet/src/utils/isTooManyClaimResponse.ts delete mode 100644 apps/faucet/src/utils/isTwitterRateLimitError.ts delete mode 100644 apps/faucet/src/utils/loginWithTwitter.ts delete mode 100644 apps/faucet/src/utils/parseErrorFromResult.ts delete mode 100644 apps/faucet/src/utils/parseTokensResponse.ts delete mode 100644 apps/faucet/src/utils/parseTwitterLoginBody.ts delete mode 100644 apps/faucet/src/utils/parseTwitterRefreshTokensBody.ts delete mode 100644 apps/faucet/src/utils/refreshTwitterTokens.ts delete mode 100644 apps/faucet/src/utils/safeParseJSON.ts delete mode 100644 apps/faucet/src/utils/sidebar.ts delete mode 100644 apps/faucet/tailwind.config.js delete mode 100644 apps/faucet/tsconfig.json delete mode 100644 apps/faucet/tsconfig.spec.json delete mode 100644 apps/hubble-stats/.eslintrc.json delete mode 100644 apps/hubble-stats/.vscode/settings.json delete mode 100644 apps/hubble-stats/CHANGELOG.md delete mode 100644 apps/hubble-stats/README.md delete mode 100644 apps/hubble-stats/app/api/hello/route.ts delete mode 100644 apps/hubble-stats/app/layout.tsx delete mode 100644 apps/hubble-stats/app/page.tsx delete mode 100644 apps/hubble-stats/app/pool/[slug]/page.tsx delete mode 100644 apps/hubble-stats/app/providers.tsx delete mode 100644 apps/hubble-stats/components/Breadcrumbs/Breadcrumbs.tsx delete mode 100644 apps/hubble-stats/components/Breadcrumbs/index.ts delete mode 100644 apps/hubble-stats/components/Breadcrumbs/types.ts delete mode 100644 apps/hubble-stats/components/CopyIconWithTooltip/CopyIconWithTooltip.tsx delete mode 100644 apps/hubble-stats/components/CopyIconWithTooltip/index.ts delete mode 100644 apps/hubble-stats/components/CopyIconWithTooltip/types.ts delete mode 100644 apps/hubble-stats/components/HeaderChipItem/HeaderChipItem.tsx delete mode 100644 apps/hubble-stats/components/HeaderChipItem/index.ts delete mode 100644 apps/hubble-stats/components/HeaderChipItem/types.ts delete mode 100644 apps/hubble-stats/components/KeyMetricItem/KeyMetricItem.tsx delete mode 100644 apps/hubble-stats/components/KeyMetricItem/index.ts delete mode 100644 apps/hubble-stats/components/KeyMetricItem/types.ts delete mode 100644 apps/hubble-stats/components/PoolInfoCardItem/PoolInfoCardItem.tsx delete mode 100644 apps/hubble-stats/components/PoolInfoCardItem/index.ts delete mode 100644 apps/hubble-stats/components/PoolInfoCardItem/types.ts delete mode 100644 apps/hubble-stats/components/PoolMetadataTable/ExplorerUrlsDropdown.tsx delete mode 100644 apps/hubble-stats/components/PoolMetadataTable/PoolMetadataTable.tsx delete mode 100644 apps/hubble-stats/components/PoolMetadataTable/WrappingFeesDropdown.tsx delete mode 100644 apps/hubble-stats/components/PoolMetadataTable/index.ts delete mode 100644 apps/hubble-stats/components/PoolMetadataTable/types.ts delete mode 100644 apps/hubble-stats/components/PoolOverviewTable/PoolOverviewTable.tsx delete mode 100644 apps/hubble-stats/components/PoolOverviewTable/index.ts delete mode 100644 apps/hubble-stats/components/PoolOverviewTable/types.ts delete mode 100644 apps/hubble-stats/components/PoolTransactionsTable/PoolTransactionsTable.tsx delete mode 100644 apps/hubble-stats/components/PoolTransactionsTable/index.ts delete mode 100644 apps/hubble-stats/components/PoolTransactionsTable/types.ts delete mode 100644 apps/hubble-stats/components/PoolTypeChip/PoolTypeChip.tsx delete mode 100644 apps/hubble-stats/components/PoolTypeChip/index.ts delete mode 100644 apps/hubble-stats/components/PoolTypeChip/types.ts delete mode 100644 apps/hubble-stats/components/PoolWrappingTable/PoolWrappingTable.tsx delete mode 100644 apps/hubble-stats/components/PoolWrappingTable/index.ts delete mode 100644 apps/hubble-stats/components/PoolWrappingTable/types.ts delete mode 100644 apps/hubble-stats/components/ShieldedAssetsTable/ShieldedAssetsTable.tsx delete mode 100644 apps/hubble-stats/components/ShieldedAssetsTable/index.ts delete mode 100644 apps/hubble-stats/components/ShieldedAssetsTable/types.ts delete mode 100644 apps/hubble-stats/components/ShieldedPoolsTable/ShieldedPoolsTable.tsx delete mode 100644 apps/hubble-stats/components/ShieldedPoolsTable/index.ts delete mode 100644 apps/hubble-stats/components/ShieldedPoolsTable/types.ts delete mode 100644 apps/hubble-stats/components/TableFilterButton/TableFilterButton.tsx delete mode 100644 apps/hubble-stats/components/TableFilterButton/index.ts delete mode 100644 apps/hubble-stats/components/TableFilterButton/types.ts delete mode 100644 apps/hubble-stats/components/charts/AreaChart.tsx delete mode 100644 apps/hubble-stats/components/charts/BarChart.tsx delete mode 100644 apps/hubble-stats/components/charts/ChartToolTipContent.tsx delete mode 100644 apps/hubble-stats/components/charts/VolumeChart.tsx delete mode 100644 apps/hubble-stats/components/charts/index.ts delete mode 100644 apps/hubble-stats/components/charts/types.ts delete mode 100644 apps/hubble-stats/components/index.ts delete mode 100644 apps/hubble-stats/components/sideBar/SideBar.tsx delete mode 100644 apps/hubble-stats/components/sideBar/SideBarMenu.tsx delete mode 100644 apps/hubble-stats/components/sideBar/index.tsx delete mode 100644 apps/hubble-stats/components/sideBar/sideBarProps.tsx delete mode 100644 apps/hubble-stats/components/skeleton/ContainerSkeleton.tsx delete mode 100644 apps/hubble-stats/components/skeleton/PoolChartSkeleton.tsx delete mode 100644 apps/hubble-stats/components/skeleton/index.ts delete mode 100644 apps/hubble-stats/components/skeleton/types.ts delete mode 100644 apps/hubble-stats/components/tableCells/ActivityCell.tsx delete mode 100644 apps/hubble-stats/components/tableCells/DestinationCell.tsx delete mode 100644 apps/hubble-stats/components/tableCells/HeaderCell.tsx delete mode 100644 apps/hubble-stats/components/tableCells/NumberCell.tsx delete mode 100644 apps/hubble-stats/components/tableCells/ShieldedCell.tsx delete mode 100644 apps/hubble-stats/components/tableCells/TimeCell.tsx delete mode 100644 apps/hubble-stats/components/tableCells/index.ts delete mode 100644 apps/hubble-stats/components/tableCells/types.ts delete mode 100644 apps/hubble-stats/constants/index.ts delete mode 100644 apps/hubble-stats/constants/subgraphs.ts delete mode 100644 apps/hubble-stats/constants/vanchor.ts delete mode 100644 apps/hubble-stats/containers/HeaderChipsContainer/HeaderChipsContainer.tsx delete mode 100644 apps/hubble-stats/containers/HeaderChipsContainer/index.ts delete mode 100644 apps/hubble-stats/containers/KeyMetricsTableContainer/KeyMetricsTableContainer.tsx delete mode 100644 apps/hubble-stats/containers/KeyMetricsTableContainer/index.ts delete mode 100644 apps/hubble-stats/containers/Layout/Header.tsx delete mode 100644 apps/hubble-stats/containers/Layout/Layout.tsx delete mode 100644 apps/hubble-stats/containers/Layout/index.ts delete mode 100644 apps/hubble-stats/containers/PoolInfoCardContainer/ItemsContainer.tsx delete mode 100644 apps/hubble-stats/containers/PoolInfoCardContainer/PoolInfoCardContainer.tsx delete mode 100644 apps/hubble-stats/containers/PoolInfoCardContainer/index.ts delete mode 100644 apps/hubble-stats/containers/PoolMetadataTableContainer/PoolMetadataTableContainer.tsx delete mode 100644 apps/hubble-stats/containers/PoolMetadataTableContainer/index.ts delete mode 100644 apps/hubble-stats/containers/PoolOverviewChartsContainer/PoolOverviewChartsContainer.tsx delete mode 100644 apps/hubble-stats/containers/PoolOverviewChartsContainer/index.ts delete mode 100644 apps/hubble-stats/containers/PoolOverviewTableContainer/PoolOverviewTableContainer.tsx delete mode 100644 apps/hubble-stats/containers/PoolOverviewTableContainer/index.ts delete mode 100644 apps/hubble-stats/containers/PoolTransactionsTableContainer/PoolTransactionsTableContainer.tsx delete mode 100644 apps/hubble-stats/containers/PoolTransactionsTableContainer/TransactionsTable.tsx delete mode 100644 apps/hubble-stats/containers/PoolTransactionsTableContainer/index.ts delete mode 100644 apps/hubble-stats/containers/PoolTransactionsTableContainer/tabs.ts delete mode 100644 apps/hubble-stats/containers/PoolWrappingChartsContainer/PoolWrappingChartsContainer.tsx delete mode 100644 apps/hubble-stats/containers/PoolWrappingChartsContainer/index.ts delete mode 100644 apps/hubble-stats/containers/PoolWrappingTableContainer/PoolWrappingTableContainer.tsx delete mode 100644 apps/hubble-stats/containers/PoolWrappingTableContainer/index.ts delete mode 100644 apps/hubble-stats/containers/ShieldedTablesContainer/ShieldedAssetsTableContainer.tsx delete mode 100644 apps/hubble-stats/containers/ShieldedTablesContainer/ShieldedPoolsTableContainer.tsx delete mode 100644 apps/hubble-stats/containers/ShieldedTablesContainer/ShieldedTablesContainer.tsx delete mode 100644 apps/hubble-stats/containers/ShieldedTablesContainer/index.ts delete mode 100644 apps/hubble-stats/containers/charts/OverviewTvlChartContainer.tsx delete mode 100644 apps/hubble-stats/containers/charts/OverviewVolumeChartContainer.tsx delete mode 100644 apps/hubble-stats/containers/charts/PoolRelayerEarningsChartContainer.tsx delete mode 100644 apps/hubble-stats/containers/charts/PoolTvlChartContainer.tsx delete mode 100644 apps/hubble-stats/containers/charts/PoolTwlChartContainer.tsx delete mode 100644 apps/hubble-stats/containers/charts/PoolVolumeChartContainer.tsx delete mode 100644 apps/hubble-stats/containers/charts/PoolWrappingFeesChartContainer.tsx delete mode 100644 apps/hubble-stats/containers/charts/client/AreaChartContainerClient.tsx delete mode 100644 apps/hubble-stats/containers/charts/client/BarChartContainerClient.tsx delete mode 100644 apps/hubble-stats/containers/charts/client/VolumeChartContainerClient.tsx delete mode 100644 apps/hubble-stats/containers/charts/client/index.ts delete mode 100644 apps/hubble-stats/containers/charts/client/types.ts delete mode 100644 apps/hubble-stats/containers/charts/index.ts delete mode 100644 apps/hubble-stats/containers/charts/types.ts delete mode 100644 apps/hubble-stats/containers/index.ts delete mode 100644 apps/hubble-stats/data/charts/getOverviewTvlChartData.ts delete mode 100644 apps/hubble-stats/data/charts/getOverviewVolumeChartData.ts delete mode 100644 apps/hubble-stats/data/charts/getPoolRelayerEarningsChartData.ts delete mode 100644 apps/hubble-stats/data/charts/getPoolTvlChartData.ts delete mode 100644 apps/hubble-stats/data/charts/getPoolTwlChartData.ts delete mode 100644 apps/hubble-stats/data/charts/getPoolVolumeChartData.ts delete mode 100644 apps/hubble-stats/data/charts/getPoolWrappingFeesChartData.ts delete mode 100644 apps/hubble-stats/data/charts/index.ts delete mode 100644 apps/hubble-stats/data/headerChips/getHistoricalDepositData.ts delete mode 100644 apps/hubble-stats/data/headerChips/index.ts delete mode 100644 apps/hubble-stats/data/index.ts delete mode 100644 apps/hubble-stats/data/keyMetricsTable/getKeyMetricDepositData.ts delete mode 100644 apps/hubble-stats/data/keyMetricsTable/getKeyMetricRelayerFeesData.ts delete mode 100644 apps/hubble-stats/data/keyMetricsTable/getKeyMetricTvlData.ts delete mode 100644 apps/hubble-stats/data/keyMetricsTable/getKeyMetricWrappingFeesData.ts delete mode 100644 apps/hubble-stats/data/keyMetricsTable/index.ts delete mode 100644 apps/hubble-stats/data/poolInfoCard/getPoolInfoCardDepositData.ts delete mode 100644 apps/hubble-stats/data/poolInfoCard/getPoolInfoCardTvlData.ts delete mode 100644 apps/hubble-stats/data/poolInfoCard/index.ts delete mode 100644 apps/hubble-stats/data/poolTables/getPoolDepositTableData.ts delete mode 100644 apps/hubble-stats/data/poolTables/getPoolMetadataTableData.ts delete mode 100644 apps/hubble-stats/data/poolTables/getPoolRelayerEarningsTableData.ts delete mode 100644 apps/hubble-stats/data/poolTables/getPoolTransactionTableData.ts delete mode 100644 apps/hubble-stats/data/poolTables/getPoolTransactionsTableData.ts delete mode 100644 apps/hubble-stats/data/poolTables/getPoolTwlTableData.ts delete mode 100644 apps/hubble-stats/data/poolTables/getPoolWithdrawalTableData.ts delete mode 100644 apps/hubble-stats/data/poolTables/getPoolWrappingFeesTableData.ts delete mode 100644 apps/hubble-stats/data/poolTables/index.ts delete mode 100644 apps/hubble-stats/data/shieldedTables/getShieldedAssetsTableData.ts delete mode 100644 apps/hubble-stats/data/shieldedTables/getShieldedPoolsTableData.ts delete mode 100644 apps/hubble-stats/data/shieldedTables/index.ts delete mode 100644 apps/hubble-stats/data/utils/getDepositInTimeRange.ts delete mode 100644 apps/hubble-stats/data/utils/getDepositInTimeRangeByVAnchor.ts delete mode 100644 apps/hubble-stats/data/utils/getTvl.ts delete mode 100644 apps/hubble-stats/data/utils/getTvlByVAnchor.ts delete mode 100644 apps/hubble-stats/data/utils/index.ts delete mode 100644 apps/hubble-stats/index.d.ts delete mode 100644 apps/hubble-stats/jest.config.ts delete mode 100644 apps/hubble-stats/netlify.toml delete mode 100644 apps/hubble-stats/next-env.d.ts delete mode 100644 apps/hubble-stats/next.config.js delete mode 100644 apps/hubble-stats/package.json delete mode 100644 apps/hubble-stats/postcss.config.js delete mode 100644 apps/hubble-stats/project.json delete mode 100644 apps/hubble-stats/public/.gitkeep delete mode 100644 apps/hubble-stats/public/favicon.ico delete mode 100644 apps/hubble-stats/public/favicon.png delete mode 100644 apps/hubble-stats/public/static/assets/bg-dark.jpeg delete mode 100644 apps/hubble-stats/public/static/assets/bg.jpeg delete mode 100644 apps/hubble-stats/tailwind.config.js delete mode 100644 apps/hubble-stats/tsconfig.json delete mode 100644 apps/hubble-stats/tsconfig.spec.json delete mode 100644 apps/hubble-stats/types/index.ts delete mode 100644 apps/hubble-stats/utils/date.ts delete mode 100644 apps/hubble-stats/utils/getAggregateValue.ts delete mode 100644 apps/hubble-stats/utils/getChainNamesByTypedId.ts delete mode 100644 apps/hubble-stats/utils/getChangeRate.ts delete mode 100644 apps/hubble-stats/utils/getExplorerUrlByAddressByChains.ts delete mode 100644 apps/hubble-stats/utils/getFormattedDataForBasicChart.ts delete mode 100644 apps/hubble-stats/utils/getFormattedDataForVolumeChart.ts delete mode 100644 apps/hubble-stats/utils/getRoundedDownNumberWith2Decimals.ts delete mode 100644 apps/hubble-stats/utils/getShortenChainName.ts delete mode 100644 apps/hubble-stats/utils/getSortedTypedChainIds.ts delete mode 100644 apps/hubble-stats/utils/getWrappingFeesPercentageByFungibleToken.ts delete mode 100644 apps/hubble-stats/utils/index.ts delete mode 100644 apps/hubble-stats/utils/serializeEpochData.ts delete mode 100644 apps/stats-dapp/.eslintrc.json delete mode 100644 apps/stats-dapp/.gitignore delete mode 100644 apps/stats-dapp/.graphqlconfig delete mode 100644 apps/stats-dapp/CHANGELOG.md delete mode 100644 apps/stats-dapp/README.md delete mode 100644 apps/stats-dapp/browserslist delete mode 100644 apps/stats-dapp/codegen.yml delete mode 100644 apps/stats-dapp/jest.config.ts delete mode 100644 apps/stats-dapp/package.json delete mode 100644 apps/stats-dapp/postcss.config.js delete mode 100644 apps/stats-dapp/project.json delete mode 100644 apps/stats-dapp/src/App.tsx delete mode 100644 apps/stats-dapp/src/assets/.gitkeep delete mode 100644 apps/stats-dapp/src/components/CountryIcon/CountryIcon.tsx delete mode 100644 apps/stats-dapp/src/components/Header/Header.tsx delete mode 100644 apps/stats-dapp/src/components/Header/index.ts delete mode 100644 apps/stats-dapp/src/components/NetworkSelector/NetworkSelector.tsx delete mode 100644 apps/stats-dapp/src/components/NetworkSelector/types.ts delete mode 100644 apps/stats-dapp/src/components/index.ts delete mode 100644 apps/stats-dapp/src/constants/index.ts delete mode 100644 apps/stats-dapp/src/containers/AuthoritiesTable/AuthoritiesTable.tsx delete mode 100644 apps/stats-dapp/src/containers/AuthoritiesTable/index.ts delete mode 100644 apps/stats-dapp/src/containers/AuthoritiesTable/types.ts delete mode 100644 apps/stats-dapp/src/containers/AuthorityDetail/AuthorityDetail.tsx delete mode 100644 apps/stats-dapp/src/containers/AuthorityDetail/index.ts delete mode 100644 apps/stats-dapp/src/containers/KeyDetail/KeyDetail.tsx delete mode 100644 apps/stats-dapp/src/containers/KeyDetail/index.ts delete mode 100644 apps/stats-dapp/src/containers/KeyDetail/types.d.ts delete mode 100644 apps/stats-dapp/src/containers/KeyStatusCardContainer/KeyStatusCardContainer.tsx delete mode 100644 apps/stats-dapp/src/containers/KeyStatusCardContainer/index.ts delete mode 100644 apps/stats-dapp/src/containers/KeyStatusCardContainer/types.d.ts delete mode 100644 apps/stats-dapp/src/containers/KeygenTable/KeygenTable.tsx delete mode 100644 apps/stats-dapp/src/containers/KeygenTable/index.ts delete mode 100644 apps/stats-dapp/src/containers/Layout/Layout.tsx delete mode 100644 apps/stats-dapp/src/containers/Layout/index.ts delete mode 100644 apps/stats-dapp/src/containers/NavBlocksInfoContainer/NavBlocksInfoContainer.tsx delete mode 100644 apps/stats-dapp/src/containers/NavBlocksInfoContainer/index.ts delete mode 100644 apps/stats-dapp/src/containers/NavBlocksInfoContainer/types.ts delete mode 100644 apps/stats-dapp/src/containers/ProposalDetail/ProposalDetail.tsx delete mode 100644 apps/stats-dapp/src/containers/ProposalDetail/index.ts delete mode 100644 apps/stats-dapp/src/containers/ProposalsTable/ProposalsTable.tsx delete mode 100644 apps/stats-dapp/src/containers/ProposalsTable/index.ts delete mode 100644 apps/stats-dapp/src/containers/ProposalsTable/utils.ts delete mode 100644 apps/stats-dapp/src/containers/ProposersTable/ProposersTable.tsx delete mode 100644 apps/stats-dapp/src/containers/ProposersTable/index.ts delete mode 100644 apps/stats-dapp/src/containers/StackedAreaChartContainer/StackedAreaChartContainer.tsx delete mode 100644 apps/stats-dapp/src/containers/StackedAreaChartContainer/index.ts delete mode 100644 apps/stats-dapp/src/containers/index.ts delete mode 100644 apps/stats-dapp/src/gql/authorites.graphql delete mode 100644 apps/stats-dapp/src/gql/fragments.graphql delete mode 100644 apps/stats-dapp/src/gql/metadata.graphql delete mode 100644 apps/stats-dapp/src/gql/proposals.graphql delete mode 100644 apps/stats-dapp/src/gql/public-keys.graphql delete mode 100644 apps/stats-dapp/src/gql/sessions.graphql delete mode 100644 apps/stats-dapp/src/hooks/index.ts delete mode 100644 apps/stats-dapp/src/hooks/useAuthoritiesSeedData.ts delete mode 100644 apps/stats-dapp/src/hooks/useProposalsSeedData.ts delete mode 100644 apps/stats-dapp/src/i18n/en.json delete mode 100644 apps/stats-dapp/src/i18n/zh.json delete mode 100644 apps/stats-dapp/src/index.tsx delete mode 100644 apps/stats-dapp/src/pages/Authorities.tsx delete mode 100644 apps/stats-dapp/src/pages/AuthoritiesHistory.tsx delete mode 100644 apps/stats-dapp/src/pages/AuthorityDetailDrawer.tsx delete mode 100644 apps/stats-dapp/src/pages/AuthorityDetailPage.tsx delete mode 100644 apps/stats-dapp/src/pages/KeyDetailDrawer.tsx delete mode 100644 apps/stats-dapp/src/pages/KeyDetailPage.tsx delete mode 100644 apps/stats-dapp/src/pages/Keys.tsx delete mode 100644 apps/stats-dapp/src/pages/ProposalDetailDrawer.tsx delete mode 100644 apps/stats-dapp/src/pages/ProposalDetailPage.tsx delete mode 100644 apps/stats-dapp/src/pages/Proposals.tsx delete mode 100644 apps/stats-dapp/src/provider/DemoTable.tsx delete mode 100644 apps/stats-dapp/src/provider/hooks/index.ts delete mode 100644 apps/stats-dapp/src/provider/hooks/mappers/index.ts delete mode 100644 apps/stats-dapp/src/provider/hooks/mappers/thresholds.ts delete mode 100644 apps/stats-dapp/src/provider/hooks/types.ts delete mode 100644 apps/stats-dapp/src/provider/hooks/useAuthorities.ts delete mode 100644 apps/stats-dapp/src/provider/hooks/useBlocks.ts delete mode 100644 apps/stats-dapp/src/provider/hooks/useCurrentMetaData.ts delete mode 100644 apps/stats-dapp/src/provider/hooks/useKeys.ts delete mode 100644 apps/stats-dapp/src/provider/hooks/useProposals.ts delete mode 100644 apps/stats-dapp/src/provider/hooks/useReputation.ts delete mode 100644 apps/stats-dapp/src/provider/hooks/useSession.ts delete mode 100644 apps/stats-dapp/src/provider/index.ts delete mode 100644 apps/stats-dapp/src/provider/stats-provider.tsx delete mode 100644 apps/stats-dapp/src/public/favicon.png delete mode 100644 apps/stats-dapp/src/public/i18n.json delete mode 100644 apps/stats-dapp/src/public/index.html delete mode 100644 apps/stats-dapp/src/public/logo.png delete mode 100644 apps/stats-dapp/src/public/manifest.json delete mode 100644 apps/stats-dapp/src/public/robots.txt delete mode 100644 apps/stats-dapp/src/public/tangle-seo.jpg delete mode 100644 apps/stats-dapp/src/routes/index.tsx delete mode 100644 apps/stats-dapp/src/styles.css delete mode 100644 apps/stats-dapp/src/utils/ChainNameToLogo.ts delete mode 100644 apps/stats-dapp/src/utils/getChipColorByKeyType.ts delete mode 100644 apps/stats-dapp/src/utils/getChipColorByProposalType.ts delete mode 100644 apps/stats-dapp/src/utils/getProposalsData.ts delete mode 100644 apps/stats-dapp/src/utils/index.ts delete mode 100644 apps/stats-dapp/src/utils/networkSelector.ts delete mode 100644 apps/stats-dapp/tailwind.config.js delete mode 100644 apps/stats-dapp/tsconfig.app.json delete mode 100644 apps/stats-dapp/tsconfig.json delete mode 100644 apps/stats-dapp/tsconfig.spec.json delete mode 100644 apps/stats-dapp/types/index.ts delete mode 100644 apps/stats-dapp/webpack.config.js delete mode 100644 apps/tangle-cloud/specs/index.spec.tsx delete mode 100644 apps/zk-explorer/.eslintrc.json delete mode 100644 apps/zk-explorer/.gitattributes delete mode 100644 apps/zk-explorer/CHANGELOG.md delete mode 100644 apps/zk-explorer/README.md delete mode 100644 apps/zk-explorer/app/dashboard/page.tsx delete mode 100644 apps/zk-explorer/app/layout.tsx delete mode 100644 apps/zk-explorer/app/page.tsx delete mode 100644 apps/zk-explorer/app/project/[owner]/[name]/[circuit]/page.tsx delete mode 100644 apps/zk-explorer/app/project/[owner]/[name]/page.tsx delete mode 100644 apps/zk-explorer/app/providers.tsx delete mode 100644 apps/zk-explorer/app/submit/layout.tsx delete mode 100644 apps/zk-explorer/app/submit/page.tsx delete mode 100644 apps/zk-explorer/components/CircuitCard.tsx delete mode 100644 apps/zk-explorer/components/ComputedBreadcrumbs.tsx delete mode 100644 apps/zk-explorer/components/DashboardOverviewTab.tsx delete mode 100644 apps/zk-explorer/components/DashboardSettingsTab.tsx delete mode 100644 apps/zk-explorer/components/DashboardTabs.tsx delete mode 100644 apps/zk-explorer/components/FeedbackCard.tsx delete mode 100644 apps/zk-explorer/components/FileUploadAreaWithList.tsx delete mode 100644 apps/zk-explorer/components/FilterAndSortBy.tsx delete mode 100644 apps/zk-explorer/components/GitHubAvatar.tsx delete mode 100644 apps/zk-explorer/components/GitHubIconWithLink.tsx delete mode 100644 apps/zk-explorer/components/Header.tsx delete mode 100644 apps/zk-explorer/components/ItemGrid.tsx delete mode 100644 apps/zk-explorer/components/LargeSquareAvatar.tsx delete mode 100644 apps/zk-explorer/components/LinkCard.tsx delete mode 100644 apps/zk-explorer/components/OverlayMask.tsx delete mode 100644 apps/zk-explorer/components/ProjectCard.tsx delete mode 100644 apps/zk-explorer/components/ProofGenerationStepCards/CollapsibleCard.tsx delete mode 100644 apps/zk-explorer/components/ProofGenerationStepCards/IdentityItem.tsx delete mode 100644 apps/zk-explorer/components/ProofGenerationStepCards/ServiceTierCard.tsx delete mode 100644 apps/zk-explorer/components/ProofGenerationStepCards/StepCard.tsx delete mode 100644 apps/zk-explorer/components/ProofGenerationStepCards/StepTrackerSidebar.tsx delete mode 100644 apps/zk-explorer/components/ProofGenerationStepCards/index.tsx delete mode 100644 apps/zk-explorer/components/ProofGenerationStepCards/types.ts delete mode 100644 apps/zk-explorer/components/RadioCard.tsx delete mode 100644 apps/zk-explorer/components/RunCircuitServiceModalTrigger.tsx delete mode 100644 apps/zk-explorer/components/SearchInput.tsx delete mode 100644 apps/zk-explorer/components/SidebarAndItemGrid.tsx delete mode 100644 apps/zk-explorer/components/SmallChip.tsx delete mode 100644 apps/zk-explorer/components/StepTrackerSidebarAndCards.tsx delete mode 100644 apps/zk-explorer/components/SubmitPageControls.tsx delete mode 100644 apps/zk-explorer/components/Tabs.tsx delete mode 100644 apps/zk-explorer/constants/index.ts delete mode 100644 apps/zk-explorer/constants/mock.ts delete mode 100644 apps/zk-explorer/containers/Filters/FilterCheckboxItem.tsx delete mode 100644 apps/zk-explorer/containers/Filters/index.tsx delete mode 100644 apps/zk-explorer/containers/Filters/types.ts delete mode 100644 apps/zk-explorer/containers/GitHubOAuthButton/index.tsx delete mode 100644 apps/zk-explorer/containers/GitHubOAuthButton/types.ts delete mode 100644 apps/zk-explorer/containers/HeaderControls/SidebarCloseButton.tsx delete mode 100644 apps/zk-explorer/containers/HeaderControls/index.tsx delete mode 100644 apps/zk-explorer/containers/ProjectDetailTabs/Circuits/Circuits.tsx delete mode 100644 apps/zk-explorer/containers/ProjectDetailTabs/Circuits/client/Header.tsx delete mode 100644 apps/zk-explorer/containers/ProjectDetailTabs/Circuits/client/NavSideBar.tsx delete mode 100644 apps/zk-explorer/containers/ProjectDetailTabs/Circuits/client/index.tsx delete mode 100644 apps/zk-explorer/containers/ProjectDetailTabs/ProjectDetailTabs.tsx delete mode 100644 apps/zk-explorer/containers/ProjectDetailTabs/Summary.tsx delete mode 100644 apps/zk-explorer/containers/ProjectDetailTabs/TrustedSetup/ContributorListTable.tsx delete mode 100644 apps/zk-explorer/containers/ProjectDetailTabs/TrustedSetup/TrustedSetupItem.tsx delete mode 100644 apps/zk-explorer/containers/ProjectDetailTabs/TrustedSetup/index.tsx delete mode 100644 apps/zk-explorer/containers/ProjectGitHubInfo/ProjectGitHubInfo.tsx delete mode 100644 apps/zk-explorer/containers/ProjectGitHubInfo/client/index.tsx delete mode 100644 apps/zk-explorer/containers/ProjectHeader.tsx delete mode 100644 apps/zk-explorer/containers/RelatedProjects/RelatedProjectsContainer.tsx delete mode 100644 apps/zk-explorer/containers/RelatedProjects/client/RelatedProjectsCarousel.tsx delete mode 100644 apps/zk-explorer/containers/RelatedProjects/client/index.ts delete mode 100644 apps/zk-explorer/containers/RelatedProjects/index.ts delete mode 100644 apps/zk-explorer/context/SidebarContext.ts delete mode 100644 apps/zk-explorer/context/SidebarProvider.tsx delete mode 100644 apps/zk-explorer/context/TabsContext.ts delete mode 100644 apps/zk-explorer/hooks/useAuth.tsx delete mode 100644 apps/zk-explorer/hooks/useFilterConstraints.ts delete mode 100644 apps/zk-explorer/hooks/useTailwindBreakpoint.ts delete mode 100644 apps/zk-explorer/index.d.ts delete mode 100644 apps/zk-explorer/jest.config.ts delete mode 100644 apps/zk-explorer/netlify.toml delete mode 100644 apps/zk-explorer/next-env.d.ts delete mode 100644 apps/zk-explorer/next.config.js delete mode 100644 apps/zk-explorer/package.json delete mode 100644 apps/zk-explorer/postcss.config.js delete mode 100644 apps/zk-explorer/project.json delete mode 100644 apps/zk-explorer/public/.gitkeep delete mode 100644 apps/zk-explorer/public/header-bg.png delete mode 100644 apps/zk-explorer/server/auth.ts delete mode 100644 apps/zk-explorer/server/circuits.ts delete mode 100644 apps/zk-explorer/server/filters.ts delete mode 100644 apps/zk-explorer/server/projectDetails.ts delete mode 100644 apps/zk-explorer/server/projects.ts delete mode 100644 apps/zk-explorer/server/services.ts delete mode 100644 apps/zk-explorer/server/user.ts delete mode 100644 apps/zk-explorer/styles/globals.css delete mode 100644 apps/zk-explorer/tailwind.config.js delete mode 100644 apps/zk-explorer/tsconfig.json delete mode 100644 apps/zk-explorer/tsconfig.spec.json delete mode 100644 apps/zk-explorer/utils/api.ts delete mode 100644 apps/zk-explorer/utils/index.ts delete mode 100644 storybook-migration-summary.md delete mode 100755 tools/scripts/bridge.sh delete mode 100644 tools/scripts/local-bridge-network.sh diff --git a/.env.example b/.env.example index 5ec4ec9a97..de88af1cd7 100644 --- a/.env.example +++ b/.env.example @@ -1,29 +1,3 @@ -# Faucet DApp -export NEXT_PUBLIC_AMOUNT="20" -export NEXT_PUBLIC_NATIVE_AMOUNT="0.5" -export NEXT_PUBLIC_FAUCET_BACKEND_URL="http://127.0.0.1:8000" -export NEXT_PUBLIC_TWITTER_CLIENT_ID="" -export TWITTER_CLIENT_SECRET="" - -# Bridge DApp -# Make sure all the env vars of bridge DApp prefixed with BRIDGE_DAPP -# because webpack will load and expose them to the browser -export BRIDGE_DAPP_DOMAIN="http:localhost:3000" - -export BRIDGE_DAPP_POLKADOT_TEST_ACCOUNT_ADDRESS="" - -export BRIDGE_DAPP_WALLET_CONNECT_PROJECT_ID="" - -# If you want to enable the local orbit integration, -# you need to set the local anchor addresses of the local orbit instance -export BRIDGE_DAPP_LOCAL_ORBIT_ANCHOR_ADDRESS="" - -# If you want to support Multicall3 contract for Orbit chains -export BRIDGE_DAPP_LOCAL_ORBIT_MULTICALL3_ADDRESS="" -export BRIDGE_DAPP_LOCAL_ATHENA_MULTICALL3_DEPLOYMENT_BLOCK=0 -export BRIDGE_DAPP_LOCAL_HERMES_MULTICALL3_DEPLOYMENT_BLOCK=0 -export BRIDGE_DAPP_LOCAL_DEMETER_MULTICALL3_DEPLOYMENT_BLOCK=0 - # Put an empty string to indicate the usage of the TANGLE_RPC_ENDPOINT # constant as the default Tangle RPC endpoint. Otherwise, "ws://127.0.0.1:9944" # will be used. Note that this value can be overridden by the user via @@ -40,10 +14,6 @@ export TESTNET_LEADERBOARD_GUIDELINES_URL="" export TESTNET_LEADERBOARD_REQUEST_POINTS_URL="" export TESTNET_LEADERBOARD_BACKEND_URL="" -# ZK Explorer -export ZK_EXPLORER_GITHUB_CLIENT_ID="" -export ZK_EXPLORER_API_BASE_URL="/api" - # OFAC export OFAC_COUNTRY_CODES='[""]' export OFAC_REGIONS='[""]' diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 1ea8c06348..b7bb34b8a6 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -58,11 +58,11 @@ This repository adheres to the [Conventional Commits](https://www.conventionalco * All rules from [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). * Commit body is disabled completely: Since it has not been used in this repository, it is disabled to avoid confusion and maintain consistency. -* Scope should be one of the following: `bridge-dapp`, `faucet`, `hubble-stats`, `stats-dapp`, `tangle-dapp`, `testnet-leaderboard`, `zk-explorer`, `webb-ui`, `icons`, `tools`. +* Scope should be one of the following: `tangle-dapp`, `testnet-leaderboard`, `webb-ui`, `icons`, `tools`. Here are some examples to follow: -* `feat(bridge-dapp): Fixed a certain bug (#123)` +* `feat(tangle-dapp): Fixed a certain bug (#123)` * `docs: Added documentation for commit message guidelines` * `chore: Bump X dependency to latest version` diff --git a/.github/workflows/deploy-bridge-dapp-dev.yml b/.github/workflows/deploy-bridge-dapp-dev.yml deleted file mode 100644 index 5734f03950..0000000000 --- a/.github/workflows/deploy-bridge-dapp-dev.yml +++ /dev/null @@ -1,88 +0,0 @@ -# This action deploys a draft deployment using Netlify to view changes prior to being -# merged. This does NOT deploy to production site and will only be triggered -# on changes in the specified paths below. -name: deploy-bridge-dapp 🌐 - -on: - # Temporary disable as the backend has been changed and it breaks the build - # pull_request: - # types: [opened, synchronize, reopened, ready_for_review] - # branches: [develop, feature/**] - # paths: - # - 'apps/bridge-dapp/**' - - workflow_dispatch: - -jobs: - preview: - runs-on: ubuntu-latest - if: github.ref != 'refs/heads/develop' && github.event.pull_request.draft == false - strategy: - matrix: - node-version: ['>=18.12.x'] - steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.12.1 - with: - access_token: ${{ github.token }} - - - uses: actions/checkout@v4 - - - name: Enable corepack - run: | - corepack enable - corepack prepare yarn@4.2.2 --activate - yarn set version 4.2.2 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.4 - with: - node-version: ${{ matrix.node-version }} - cache: yarn - - - name: Install dependencies - run: yarn install - - - name: create env file - run: | - touch .env - echo BRIDGE_DAPP_DOMAIN=${{ secrets.BRIDGE_DAPP_DOMAIN }} >> .env - echo BRIDGE_DAPP_WALLET_CONNECT_PROJECT_ID=${{ secrets.BRIDGE_DAPP_WALLET_CONNECT_PROJECT_ID }} >> .env - - - name: Build project - run: yarn build:bridge - # Fix: JavaScript heap out of memory - # https://github.com/actions/runner-images/issues/70#issuecomment-1191708172 - env: - NODE_OPTIONS: '--max_old_space_size=4096' - - - name: Deploy to Netlify - id: deploy-netlify - uses: netlify/actions/cli@master - env: - NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - NETLIFY_SITE_ID: ${{ secrets.NETLIFY_BRIDGE_SITE_ID }} - with: - args: deploy context=deploy-preview site=$NETLIFY_BRIDGE_SITE_ID --dir=./dist/apps/bridge-dapp/ --filter=@webb-tools/bridge-dapp - - - name: Netlify Preview URL - # Use master branch to fix issue with entrypoint.sh script - # https://github.com/unsplash/comment-on-pr/issues/51 - uses: unsplash/comment-on-pr@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - OUTPUT: | - Deploy Preview for *bridge-dapp development* is ready! Thanks for the contribution @${{ github.actor }} - - | Name | Link | - |---------------------------------|------------------------| - | Latest commit | [${{ github.event.pull_request.head.sha }}](https://github.com/tangle-network/dapp/commit/${{ github.event.pull_request.head.sha }}) | - | Latest deploy log | ${{ steps.deploy-netlify.outputs.NETLIFY_LOGS_URL }} | - | Deploy Preview | [${{ steps.deploy-netlify.outputs.NETLIFY_URL }}](${{ steps.deploy-netlify.outputs.NETLIFY_URL }}) | - --- - - _To edit notification comments on pull requests, go to your [Netlify site settings](https://app.netlify.com/sites/development-hubble-bridge/settings/deploys#deploy-notifications)._ - - with: - msg: ${{ env.OUTPUT }} - check_for_duplicate_msg: false # OPTIONAL diff --git a/.github/workflows/deploy-faucet.yml b/.github/workflows/deploy-faucet.yml deleted file mode 100644 index 9d457e91d3..0000000000 --- a/.github/workflows/deploy-faucet.yml +++ /dev/null @@ -1,106 +0,0 @@ -# This action deploys a draft deployment using Netlify to view changes prior to being -# merged. This does NOT deploy to production site and will only be triggered -# on changes in the specified paths below. -name: deploy-faucet 🌐 - -on: - # Temporary disable as the backend has been changed and it breaks the build - # pull_request: - # types: [opened, synchronize, reopened, ready_for_review] - # branches: [develop, feature/**] - # paths: - # - 'apps/faucet/**' - - workflow_dispatch: - -env: - NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - NETLIFY_FAUCET_ID: ${{ secrets.NETLIFY_FAUCET_ID }} - -jobs: - preview: - runs-on: ubuntu-latest - if: github.ref != 'refs/heads/develop' && github.event.pull_request.draft == false - strategy: - matrix: - node-version: ['>=18.12.x'] - steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.12.1 - with: - access_token: ${{ secrets.GITHUB_TOKEN }} - - - uses: actions/checkout@v4 - - - name: Enable corepack - run: | - corepack enable - corepack prepare yarn@4.2.2 --activate - yarn set version 4.2.2 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.4 - with: - node-version: ${{ matrix.node-version }} - cache: yarn - - - name: Copy deployment config to root - run: cp apps/faucet/netlify.toml netlify.toml - - - name: Install dependencies - run: yarn install - - - name: create env file - run: | - touch .env - echo NEXT_PUBLIC_FAUCET_BACKEND_URL=${{ secrets.NEXT_PUBLIC_FAUCET_BACKEND_URL }} >> .env - echo NEXT_PUBLIC_TWITTER_CLIENT_ID=${{ secrets.NEXT_PUBLIC_TWITTER_CLIENT_ID }} >> .env - echo TWITTER_CLIENT_SECRET=${{ secrets.TWITTER_CLIENT_SECRET }} >> .env - - - name: Build project - # Fix: JavaScript heap out of memory - # https://github.com/actions/runner-images/issues/70#issuecomment-1191708172 - env: - NODE_OPTIONS: '--max_old_space_size=4096' - run: yarn build:faucet - - - name: Deploy site - id: deploy-netlify - shell: bash - run: | - COMMAND=$(echo "yarn netlify deploy --build context=deploy-preview --site $NETLIFY_FAUCET_ID --auth $NETLIFY_AUTH_TOKEN --dir=./dist/apps/faucet/.next --filter=@webb-tools/faucet" ) - OUTPUT=$(sh -c "$COMMAND") - echo "response<> $GITHUB_OUTPUT - echo "$OUTPUT" >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT - - - name: Set variables for GH bot - id: deploy-details - shell: bash - run: | - URL=$(echo "${{ steps.deploy-netlify.outputs.response }}" | grep -Eo '(http|https)://[a-zA-Z0-9./?=_-]*(--webb-faucet.netlify.app)') - LOGS_URL=$(echo "${{ steps.deploy-netlify.outputs.response }}" | grep -Eo '(http|https)://app.netlify.com/sites/webb-faucet/deploys[a-zA-Z0-9./?=_-]*') - echo "NETLIFY_URL=$URL" >> $GITHUB_OUTPUT - echo "NETLIFY_LOGS_URL=$LOGS_URL" >> $GITHUB_OUTPUT - - - name: Netlify Preview URL - # Use master branch to fix issue with entrypoint.sh script - # https://github.com/unsplash/comment-on-pr/issues/51 - uses: unsplash/comment-on-pr@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - MSG: | - Deploy Preview for *webb faucet* is ready! Thanks for the contribution @${{ github.actor }} - - | Name | Link | - |---------------------------------|------------------------| - | Latest commit | [${{ github.event.pull_request.head.sha }}](https://github.com/tangle-network/dapp/commit/${{ github.event.pull_request.head.sha }}) | - | Latest deploy log | ${{ steps.deploy-details.outputs.NETLIFY_LOGS_URL }} | - | Deploy Preview | [${{ steps.deploy-details.outputs.NETLIFY_URL }}](${{ steps.deploy-details.outputs.NETLIFY_URL }}) | - --- - - _To edit notification comments on pull requests, go to your [Netlify site settings](https://app.netlify.com/sites/webb-faucet/settings/deploys#deploy-notifications)._ - - with: - msg: ${{ env.MSG }} - check_for_duplicate_msg: false # OPTIONAL diff --git a/.github/workflows/deploy-stats-dapp-dev.yml b/.github/workflows/deploy-stats-dapp-dev.yml deleted file mode 100644 index 490f9c50c4..0000000000 --- a/.github/workflows/deploy-stats-dapp-dev.yml +++ /dev/null @@ -1,82 +0,0 @@ -# This action deploys a draft deployment using Netlify to view changes prior to being -# merged. This does NOT deploy to production site and will only be triggered -# on changes in the specified paths below. -name: deploy-stats-dapp 🌐 - -on: - # Temporary disable as the backend has been changed and it breaks the build - # pull_request: - # types: [opened, synchronize, reopened, ready_for_review] - # branches: [develop, feature/**] - # paths: - # - 'apps/stats-dapp/**' - - workflow_dispatch: - -jobs: - preview: - runs-on: ubuntu-latest - if: github.ref != 'refs/heads/develop' && github.event.pull_request.draft == false - strategy: - matrix: - node-version: ['>=18.12.x'] - steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.12.1 - with: - access_token: ${{ secrets.GITHUB_TOKEN }} - - - uses: actions/checkout@v4 - - - name: Enable corepack - run: | - corepack enable - corepack prepare yarn@4.2.2 --activate - yarn set version 4.2.2 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.4 - with: - node-version: ${{ matrix.node-version }} - cache: yarn - - - name: Install dependencies - run: yarn install - - - name: Build project - run: yarn build:stats - # Fix: JavaScript heap out of memory - # https://github.com/actions/runner-images/issues/70#issuecomment-1191708172 - env: - NODE_OPTIONS: '--max_old_space_size=4096' - - - name: Deploy to Netlify - id: deploy-netlify - uses: netlify/actions/cli@master - env: - NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} - with: - args: deploy context=deploy-preview site=$NETLIFY_SITE_ID --dir=./dist/apps/stats-dapp/ --filter=@webb-tools/stats-dapp - - - name: Netlify Preview URL - # Use master branch to fix issue with entrypoint.sh script - # https://github.com/unsplash/comment-on-pr/issues/51 - uses: unsplash/comment-on-pr@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - OUTPUT: | - Deploy Preview for *stats-dapp development* is ready! Thanks for the contribution @${{ github.actor }} - - | Name | Link | - |---------------------------------|------------------------| - | Latest commit | [${{ github.event.pull_request.head.sha }}](https://github.com/tangle-dapp/dapp/commit/${{ github.event.pull_request.head.sha }}) | - | Latest deploy log | ${{ steps.deploy-netlify.outputs.NETLIFY_LOGS_URL }} | - | Deploy Preview | [${{ steps.deploy-netlify.outputs.NETLIFY_URL }}](${{ steps.deploy-netlify.outputs.NETLIFY_URL }}) | - --- - - _To edit notification comments on pull requests, go to your [Netlify site settings](https://app.netlify.com/sites/development-stats/settings/deploys#deploy-notifications)._ - - with: - msg: ${{ env.OUTPUT }} - check_for_duplicate_msg: false # OPTIONAL diff --git a/.gitignore b/.gitignore index 10d1ec45a2..bcda58e2ec 100644 --- a/.gitignore +++ b/.gitignore @@ -92,7 +92,6 @@ tmp /tools/scripts/protocol-solidity/ /tools/scripts/relayer/ /tools/scripts/webb-dapp/ -apps/stats-dapp/graphql.schema.json .direnv # Generated by json files @@ -102,4 +101,4 @@ apps/stats-dapp/graphql.schema.json /cache/ # TypeScript build info -/**/tsconfig.tsbuildinfo \ No newline at end of file +/**/tsconfig.tsbuildinfo diff --git a/.husky/commit-msg b/.husky/commit-msg deleted file mode 100755 index fd2bf708ee..0000000000 --- a/.husky/commit-msg +++ /dev/null @@ -1 +0,0 @@ -npx --no-install commitlint --edit $1 diff --git a/.husky/pre-push b/.husky/pre-push deleted file mode 100755 index dee9833faa..0000000000 --- a/.husky/pre-push +++ /dev/null @@ -1,6 +0,0 @@ -yarn lint && yarn format:check - -if [ $? -ne 0 ]; then - echo "Lint or format check(s) failed, aborting push." - exit 1 -fi diff --git a/.prettierignore b/.prettierignore index 9ff2db658f..5d79db5b10 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,12 +4,10 @@ /coverage /build /apps/bridge-dapp/build/**/* -/apps/stats-dapp/build/**/* /node_modules /.vscode /**/.next /**/.netlify -apps/stats-dapp/graphql.schema.json /**/generated -/.nx/cache \ No newline at end of file +/.nx/cache diff --git a/.storybook/main.ts b/.storybook/main.ts index 66cea275d3..e1315dec48 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -4,6 +4,9 @@ import { dirname, join } from 'node:path'; export default { stories: [], + core: { + disableTelemetry: true, + }, addons: [ getAbsolutePath('@storybook/addon-actions'), getAbsolutePath('@storybook/addon-essentials'), diff --git a/README.md b/README.md index 7517996f3e..45a997ed6d 100644 --- a/README.md +++ b/README.md @@ -56,11 +56,6 @@ Great! Now your **Node** environment is ready!

Applications

- [tangle-dapp](./apps/tangle-dapp/README.md): the central hub to managing Tangle Network assets and MPC (Multi-Party Computation) services. -- [bridge-dapp](./apps/bridge-dapp/README.md): an interface for interacting and bridging assets cross-chain using Webb's Asset Protocol. -- [faucet](./apps/faucet/README.md): an interface for requesting cryptocurrencies (assets) on the Webb Protocol System. -- [hubble-stats](./apps/hubble-stats/README.md): an interface for displaying statistical data of the Cross-chain Bridging System. -- [stats-dapp](./apps/stats-dapp/README.md): an interface for displaying statistical data of Webb's Tangle Network (DKG system). -- [zk-explorer](./apps/zk-explorer/README.md): a platform for discovering and learning about zero-knowledge proof projects and circuits, featuring detailed project insights, filtering options, and more. @@ -138,9 +133,7 @@ yarn format yarn build ``` -Additionally, to ensure commit message consistency, this repository uses [commitlint](https://commitlint.js.org/#/) and [husky](https://typicode.github.io/husky/#/). Please refer to the [Commit Message Guidelines](./.github/CONTRIBUTING.md#commit-message-guidelines) for more information. - -Without proper linting, formatting, or commit message, husky will prevent you from either committing or pushing your changes. +Additionally, to ensure commit message consistency, this repository uses [commitlint](https://commitlint.js.org/#/). Please refer to the [Commit Message Guidelines](./.github/CONTRIBUTING.md#commit-message-guidelines) for more information. diff --git a/apps/bridge-dapp/.browserslistrc b/apps/bridge-dapp/.browserslistrc deleted file mode 100644 index f1d12df4fa..0000000000 --- a/apps/bridge-dapp/.browserslistrc +++ /dev/null @@ -1,16 +0,0 @@ -# This file is used by: -# 1. autoprefixer to adjust CSS to support the below specified browsers -# 2. babel preset-env to adjust included polyfills -# -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries -# -# If you need to support different browsers in production, you may tweak the list below. - -last 1 Chrome version -last 1 Firefox version -last 2 Edge major versions -last 2 Safari major version -last 2 iOS major versions -Firefox ESR -not IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file diff --git a/apps/bridge-dapp/.eslintrc.json b/apps/bridge-dapp/.eslintrc.json deleted file mode 100644 index 6ba84fb128..0000000000 --- a/apps/bridge-dapp/.eslintrc.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "extends": [ - "plugin:@nx/react", - "../../.eslintrc.json", - "plugin:react-hooks/recommended" - ], - "ignorePatterns": ["!**/*", "node_modules/**", "build/**"], - "plugins": ["unused-imports"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ], - "rules": {} -} diff --git a/apps/bridge-dapp/CHANGELOG.md b/apps/bridge-dapp/CHANGELOG.md deleted file mode 100644 index 54e36dec81..0000000000 --- a/apps/bridge-dapp/CHANGELOG.md +++ /dev/null @@ -1,229 +0,0 @@ -# Changelog - -All notable changes to this app will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -### Added - -- New feature or functionality -- New file or resource - -### Changed - -- Updates to existing features -- Changes to existing files or resources - -### Deprecated - -- Features or functionality that will be removed in future versions -- Files or resources that will be removed in future versions - -### Removed - -- Features or functionality that have been removed -- Files or resources that have been removed - -### Fixed - -- Bug fixes -- Corrections to existing files or resources - -### Security - -- Security-related changes, such as vulnerability patches - -## [0.0.2] - 2023-04-17 - -### Added - -- Relayer filter by environment -- Relayer fee and refund support -- Added liquidity check on withdrawal -- Added failed transaction monitoring -- Added max fee calculation - -### Changed - -- Updated confirmation cards UI - -### Fixed - -- Fixed balance calculation - -## [0.0.3] - 2023-04-25 - -### Added - -- 2 new chains - Avalanche & Scroll: https://github.com/webb-tools/webb-dapp/pull/1048 -- 8-sided Bridge with DKG Deployment: https://github.com/webb-tools/webb-dapp/pull/1048 - -## [0.0.4] - 2023-04-27 - -### Added - -- Fixes quick action prompts: https://github.com/webb-tools/webb-dapp/pull/1147 - -## [0.0.5] - 2023-04-29 - -### Fixed - -- Only query approval for non-native tokens -- Small UI nits - -## [0.0.6] - 2023-05-03 - -### Added - -- VAnchor Substrate Implementation (Missing Withdraw/Transfer Flows): https://github.com/webb-tools/webb-dapp/pull/1139 - -### [0.0.7] - 2023-05-12 - -- Hot fix: Fee only subtracted when relayer is selected -- Hot fix: Fee should be 0 when no relayer is selected - -### [0.0.8] - 2023-05-12 - -### Fixed - -- Add executorWithTimeout to execute a promise with timeout to prevent handling on the bridge - -### Changed - -- walletConnectionState payload to pass more info -- Handle Metamask connect wallet error more gracefully -- Parse the relayer error message and display on the bridge dApp -- Initialize the API config with on-chain data after Metamask pop-up - -### Added - -- Use newer library to detect Metamask extension - -### Removed - -- eventsWatcher check when filtering the relayer: https://github.com/webb-tools/webb-dapp/pull/1205 - -## [0.0.9] - 2023-05-15 - -### Fixed - -- Dark/Light theme switching issue: https://github.com/webb-tools/webb-dapp/pull/1222 - -[Unreleased]: https://github.com/webb-tools/webb-dapp/compare/v0.0.1...HEAD -[0.0.8]: https://github.com/webb-tools/webb-dapp/releases/tag/v0.0.8 -[0.0.9]: https://github.com/webb-tools/webb-dapp/releases/tag/v0.0.9 - -## [0.0.10] - 2023-06-02 - -### Fixed, Changed and Added - -- Footer is now bottom bound -- Upgrade and remove unused/deprecated dependencies -- Unifying `dist` Dirs for all Apps -- Fix Next App Builds -- Disable NX Caching in the CI -- Fix bridge link -- Bridge Improvements ([#1264](https://github.com/webb-tools/webb-dapp/pull/1264)) -- Update new deployments -- Add Nix flake devenv -- Fix Bridge Hanging Issue - -## [0.0.11] - 2023-06-09 - -### Fixed, Changed and Added - -- Update Orbit Network 06/06/2023 ([#1313](https://github.com/webb-tools/webb-dapp/pull/1313)) -- Adds estimated transaction fee tooltip ([#1315](https://github.com/webb-tools/webb-dapp/pull/1315)) -- Bridge Mobile UI ([#1285](https://github.com/webb-tools/webb-dapp/pull/1285)) -- UI updates for improved transaction flow on bridge ([#1316](https://github.com/webb-tools/webb-dapp/pull/1316)) -- Add breakpoint 480px to show one column layout ([#1321](https://github.com/webb-tools/webb-dapp/pull/1321)) - -## [0.0.12] - 2023-06-28 - -### Fixed, Changed and Added - -- Add token to wallet ([#1341](https://github.com/webb-tools/webb-dapp/pull/1341)) -- Optimize fetching contracts data ([#1350](https://github.com/webb-tools/webb-dapp/pull/1350)) -- Add Faucet link in navigation menu ([#1350](https://github.com/webb-tools/webb-dapp/pull/1355)) -- Utilize Circom Proving for Substrate, Centralized the shared types, Move fetchOnChainConfig logic into webpack ([#1361](https://github.com/webb-tools/webb-dapp/pull/1361)) -- Close confirm containers when txn is dismissed ([#1362](https://github.com/webb-tools/webb-dapp/pull/1362)) -- Removes extra bg image on bridge ([#1367](https://github.com/webb-tools/webb-dapp/pull/1367)) -- Relayer URL and Disable Radio When No Chains To Select ([#1379](https://github.com/webb-tools/webb-dapp/pull/1379)) - -## [1.0.0] - 2023-09-09 - -### Fixed, Changed and Added - -- Release new Hubble Bridge UI -- Custom the relayer enpoint -- Inputs sync with the URL -- User interaction without wallet connected -- New complete transaction flow with modal -- Refund feature on the transfer flow -- Leaf index validation with edge data on chain on withdraw and transfer flow - -## [1.0.1] - 2023-09-19 - -### Fixed, Changed and Added - -- UI improvements -- Leaf Index Checking & Relayer State -- Adopt use-query-params Hook, Eliminate Excessive useEffect for Default State Handling -- Fix Invalid BigNumber String on Tranfer flow - -## [1.0.2] - 2023-09-20 - -### Fixed, Changed and Added - -- Adding SEO for Hubble Bridge -- New Orbit & Tangle bridge deployment - -## [1.0.3] - 2023-09-21 - -### Fixed, Changed and Added - -- Iterative Improvement For Hubble Bridge ([#1662](https://github.com/webb-tools/webb-dapp/pull/1662)) - -## [1.0.4] - 2023-09-30 - -### Fixed, Changed and Added - -- Content fixes, spelling fix ([#1685](https://github.com/webb-tools/webb-dapp/pull/1695)) -- Updates bridge header dropdown menu items ([#1701](https://github.com/webb-tools/webb-dapp/pull/1701)) -- Remove forced goerli connection on wallet reconnect ([#1709](https://github.com/webb-tools/webb-dapp/pull/1709)) -- Fix warning badge 0 balance state ([#1715](https://github.com/webb-tools/webb-dapp/pull/1715)) -- Sort all non-active chains alphabetically ([#1716](https://github.com/webb-tools/webb-dapp/pull/1716)) - -## [1.0.5] - 2023-09-30 - -### Fixed, Changed and Added - -- Fix Connect Wallet Modal When Connect Wallet Button Is Clicked [#1723](https://github.com/webb-tools/webb-dapp/pull/1723) - -## [1.0.6] - 2023-10-04 - -### Fixed, Changed and Added - -- Adds faucet banner link to bridge dapp [#1734](https://github.com/webb-tools/webb-dapp/pull/1734) -- Adding Support For Multiple Note Accounts [#1731](https://github.com/webb-tools/webb-dapp/pull/1731) -- Fixes hubble bridge layout issues [#1738](https://github.com/webb-tools/webb-dapp/pull/1738) - -## [1.0.7] - 2023-10-05 - -### Fixed, Changed and Added - -- Fix UI issues on bridge dapp -- Disable amount input for destination accross flows [#1739](https://github.com/webb-tools/webb-dapp/pull/1739) - -## [1.0.8] - 2023-10-24 - -### Fixed, Changed and Added - -- Improve balance display across all flows on Hubble Bridge [#1746](https://github.com/webb-tools/webb-dapp/pull/1746) -- Removal of Chain Selection Option in Withdrawal Flow on Destination Input [#1747](https://github.com/webb-tools/webb-dapp/pull/1747) -- Fix bridge mobile view [#1765](https://github.com/webb-tools/webb-dapp/pull/1765) -- Fix Hubble Bridge QA Checklist 2 [#1771](https://github.com/webb-tools/webb-dapp/pull/1771) -- Improve Wallet Connection Flow [#1768](https://github.com/webb-tools/webb-dapp/pull/1768) diff --git a/apps/bridge-dapp/README.md b/apps/bridge-dapp/README.md deleted file mode 100644 index 79e6269b5a..0000000000 --- a/apps/bridge-dapp/README.md +++ /dev/null @@ -1,201 +0,0 @@ - - -# Webb Hubble Bridge - -

- Private cross-chain bridge for digital assets -
-

- -## Run Hubble Bridge - -Once the development environment is set up, you may proceed to install the required dependencies and run the dapp locally. - -1. Clone this repo - - ```bash - git clone git@github.com:webb-tools/webb-dapp.git - ``` - -2. Install dependencies by `yarn` - - ```bash - yarn install - ``` - -3. Start the bridge-dapp: - - ```bash - yarn start:bridge - ``` - -Visit `http://localhost:3000/` to see the Webb Bridge Dapp UI! - -### Run local Webb relayer and local network alongside Hubble bridge - -To make local development and testing easier we can run a local EVM network and a local Webb relayer. In doing so, we will have access to a large supply of test tokens, access to both relayer and network logs to observe any unexpected issues during development. To accomplish this follow the below instructions. - -#### Setting up local testnet - -Before setting up a local testnet, we first need to clear our local storage in the browser for dApp to work correctly with our local evm testnet. - -**1. Clear local storage in the browser** - -Next, we will open a separate terminal window and execute the following instructions. For more in-depth the Orbit setup please refer to the [`README.md`](https://github.com/webb-tools/orbit#-quick-start--) - -**2. Clone the [orbit](https://github.com/webb-tools/orbit) repo** - -``` -git clone https://github.com/webb-tools/orbit -cd orbit -``` - -**3. Start the network using [Docker](https://www.docker.com/)** - -You can follow the instructions [here](https://docs.docker.com/get-docker/) to install Docker on your machine. Then run the following command to start the network: - -``` -docker compose up -``` - -to stop the network run: - -``` -docker compose down -``` - -⚠️ **NOTE:** If you already ran the network before, you may need to remove the old data and logs before starting the network again. To do so, run the following commands: - -``` -rm -rf data logs -``` - -**4. Open a new window and navigate to the deploy directory** - -``` -cd deploy -``` - -**5. Populate fixtures** - -⚠️ **NOTE:** Prerequisites for fetching fixtures is to have [dvc](https://dvc.org/) installed locally. You can view installation instructions [here](https://dvc.org/doc/install). For macos it is recommended to install using `pip install dvc`. - -``` -yarn dvc:pull -``` - -**6. Install the npm dependencies for running deploy scripts** - -``` -yarn install -``` - -**7. Run the deploy script and faucet script** - -Run the deploy script to deploy the contracts to the local running network. - -``` -yarn deploy --deployWeth --allowWrappingNativeToken --allowWrappingNativeToken -``` - -Run the faucet script to send test tokens to your account (replace the recipient address with your own address and the erc20Address with the address of the ERC20 token you want to send) - -```sh -yarn faucet --recipients="YOUR_WALLET_ADDRESS" --nativeTokenAmount=1000 --erc20Address="DEPLOYED_ERC20_ADDRESS" --erc20Amount=1000 -``` - -Great! Now you have a running local EVM test network. - -> ⚠️️ Note: After deploying the contracts, maybe you need to restart the bridge-dapp and update the environment variables in the `.env` file with the deployed contract addresses and deploy block number. - -#### Setting up local relayer - -To make use of a local relayer we will open a separate terminal window and execute the following instructions. For more in-depth relayer setup please refer to the relayer [`README.md`](https://github.com/webb-tools/relayer#-getting-started---) - -**1. Clone the [relayer](https://github.com/webb-tools/relayer) repo** - -``` -git clone https://github.com/webb-tools/relayer -cd relayer -``` - -**2. Compile the relayer** - -``` -cargo build --release --features cli -``` - -**3. Setup `.env` file** - -You will need to add `.env` file to run the Webb relayer. - -``` -touch .env -``` - -Then update with the following values: - -``` -# EVM LOCAL NET -GOVERNOR_PRIVATE_KEY=0x0000000000000000000000000000000000000000000000000000000000000001 - -WEBB_EVM_ATHENA_ENABLED=true -WEBB_EVM_DEMETER_ENABLED=true -WEBB_EVM_HERMES_ENABLED=true - -ATHENA_PRIVATE_KEY=0x0000000000000000000000000000000000000000000000000000000000000001 -HERMES_PRIVATE_KEY=0x0000000000000000000000000000000000000000000000000000000000000001 -DEMETER_PRIVATE_KEY=0x0000000000000000000000000000000000000000000000000000000000000001 - -ATHENA_HTTP_URL=http://127.0.0.1:5005 -DEMETER_HTTP_URL=http://127.0.0.1:5006 -HERMES_HTTP_URL=http://127.0.0.1:5004 -ATHENA_WS_URL=wss://127.0.0.1:5005 -DEMETER_WS_URL=wss://127.0.0.1:5006 -HERMES_WS_URL=wss://127.0.0.1:5004 -``` - -**4. Run a local relayer** - -``` -./target/release/webb-relayer -c config/development/evm-localnet/ -vv -``` - -Great! Now you have a running local relayer. - -We now have our local environment running, next we will want to setup our MetaMask wallet to add test tokens and **reset the account** on Metamask to reset the account’s nonce and tx history. Please refer to the support article [here](https://metamask.zendesk.com/hc/en-us/articles/360015488891-How-to-reset-an-account) for instructions on how to reset a MetaMask account. - -Lastly, we will want to one of the following accounts to obtain test tokens. - -``` -// Any of these keys has 1000 ETH on each testnet -0x0000000000000000000000000000000000000000000000000000000000000001 -0x0000000000000000000000000000000000000000000000000000000000000002 -0xc0d375903fd6f6ad3edafc2c5428900c0757ce1da10e5dd864fe387b32b91d7e -``` - -If you are unfamiliar with how to import an account with MetaMask, please refer to the support article [here](https://metamask.zendesk.com/hc/en-us/articles/360015489331-How-to-import-an-account#:~:text=Click%20the%20circle%20icon%20at,key%20and%20click%20%E2%80%9CImport%E2%80%9D). - -You have now successfully setup: - -- local evm test network -- local Webb relayer -- local Hubble bridge -- configured your MetaMask wallet for testing / development - -Happy hacking! - -

Need help?

- -If you need help or you want to additional information please: - -- Refer to the [Webb Official Documentation](https://docs.webb.tools/). -- If you have feedback on how to improve the Webb Dapp interface or you have a specific question? Check out the [Webb Dapp Feedback Discussion](https://github.com/webb-tools/feedback/discussions/categories/webb-dapp-feedback). -- If you found a bug please [open an issue](https://github.com/webb-tools/webb-dapp/issues/new/choose) or [join our Discord](https://discord.gg/jUDeFpggrR) server to report it. diff --git a/apps/bridge-dapp/jest.config.ts b/apps/bridge-dapp/jest.config.ts deleted file mode 100644 index 01cf925b37..0000000000 --- a/apps/bridge-dapp/jest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'bridge-dapp', - preset: '../../jest.preset.js', - transform: { - '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nx/react/plugins/jest', - '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nx/react/babel'] }], - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '../../coverage/apps/bridge-dapp', -}; diff --git a/apps/bridge-dapp/package.json b/apps/bridge-dapp/package.json deleted file mode 100644 index b4129c1d62..0000000000 --- a/apps/bridge-dapp/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@webb-tools/bridge-dapp", - "version": "1.0.8", - "type": "module", - "license": "Apache-2.0" -} diff --git a/apps/bridge-dapp/postcss.config.js b/apps/bridge-dapp/postcss.config.js deleted file mode 100644 index 1c0efe8c1c..0000000000 --- a/apps/bridge-dapp/postcss.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { dirname, join } from 'node:path'; -import { fileURLToPath } from 'node:url'; - -const dirname_ = dirname(fileURLToPath(import.meta.url)); - -// Note: If you use library-specific PostCSS/Tailwind configuration then you should remove the `postcssConfig` build -// option from your application's configuration (i.e. project.json). -// -// See: https://nx.dev/guides/using-tailwind-css-in-react#step-4:-applying-configuration-to-libraries -export default { - plugins: { - 'postcss-import': {}, - 'postcss-nested': {}, - 'tailwindcss/nesting': {}, - tailwindcss: { - config: join(dirname_, 'tailwind.config.js'), - }, - autoprefixer: {}, - }, -}; diff --git a/apps/bridge-dapp/project.json b/apps/bridge-dapp/project.json deleted file mode 100644 index eb7957660f..0000000000 --- a/apps/bridge-dapp/project.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "bridge-dapp", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "apps/bridge-dapp/src", - "projectType": "application", - "targets": { - "serve": { - "executor": "@nx/webpack:dev-server", - "options": { - "buildTarget": "bridge-dapp:build", - "webpackConfig": "apps/bridge-dapp/webpack.dev.cjs" - }, - "configurations": { - "production": { - "buildTarget": "bridge-dapp:build:production", - "webpackConfig": "apps/bridge-dapp/webpack.prod.cjs" - } - } - }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "apps/bridge-dapp/jest.config.ts" - } - }, - "run-local-tangle": { - "executor": "nx:run-commands", - "options": { - "command": "tsx --no-warnings apps/bridge-dapp/scripts/localTangle" - } - }, - "run-local-substrate": { - "executor": "nx:run-commands", - "options": { - "command": "tsx --no-warnings apps/bridge-dapp/scripts/localSubstrate" - } - } - }, - "tags": [] -} diff --git a/apps/bridge-dapp/scripts/localSubstrate.ts b/apps/bridge-dapp/scripts/localSubstrate.ts deleted file mode 100644 index 6c86cc587c..0000000000 --- a/apps/bridge-dapp/scripts/localSubstrate.ts +++ /dev/null @@ -1,143 +0,0 @@ -/** - * Copyright 2024 Webb Technologies Inc. - * SPDX-License-Identifier: Apache-2.0 - * - * This script is used to setup a local protocol substrate and create a pool share asset - * for the bridge dapp to use (mostly for testing purposes) - * - * Dependency: - * - @webb-tools/protocol-substrate: https://github.com/webb-tools/protocol-substrate - * Please start the `protocol-substrate` repo first and then run this script to - * setup the nessary assets for the bridge dapp to use. - */ - -import { ApiPromise } from '@polkadot/api'; -import { BN } from 'bn.js'; -import chalk from 'chalk'; -import { config } from 'dotenv'; - -import addAssetMetadata from './utils/addAssetMetadata'; -import createPoolShare from './utils/createPoolShare'; -import createVAnchor from './utils/createVAnchor'; -import getKeyring from './utils/getKeyRing'; -import getLocalApi from './utils/getLocalApi'; -import transferAsset from './utils/transferAsset'; - -// Load env variables -config(); - -const ALICE_PORT = 9944; -const ALICE_KEY_URI = '//Alice'; -const BOB_URI = '//Bob'; - -const NATIVE_ASSET_ID = '0'; -const NATIVE_ASSET = 'tTNT'; - -const FUNGIBLE_ASSET = 'webbtTNT'; - -const TEST_ACCOUNT = process.env.BRIDGE_DAPP_POLKADOT_TEST_ACCOUNT_ADDRESS; - -const AMOUNT = 1_000_000; - -async function main() { - // Start the nodes - console.log(chalk.blue('Starting local substrate protocol...')); - - // Wait until we are ready and connected - console.log(chalk.blue('Waiting for API to be ready...')); - - const aliceApi = await getLocalApi(ALICE_PORT); - - console.log(chalk`=> {green.bold API is ready!}`); - - await initPoolShare(aliceApi); -} - -async function initPoolShare(api: ApiPromise) { - const sudoKey = getKeyring(ALICE_KEY_URI); - const bobKey = getKeyring(BOB_URI); - - // Create pool share asset - console.log(chalk`[+] {blue Creating pool share asset...}`); - const poolShareAssetId = await createPoolShare( - api, - FUNGIBLE_ASSET, - +NATIVE_ASSET_ID, - sudoKey, - ); - console.log( - chalk` => {green Pool share asset ${FUNGIBLE_ASSET} created with id \`${poolShareAssetId}\`}`, - ); - - // Add assets metadata - console.log(chalk`[+] {blue Adding assets metadata...}`); - await addAssetMetadata(api, sudoKey, NATIVE_ASSET_ID, NATIVE_ASSET); - await addAssetMetadata( - api, - sudoKey, - poolShareAssetId.toString(), - FUNGIBLE_ASSET, - ); - console.log(chalk` => {green Assets metadata added}`); - - console.log( - chalk`[+] {blue Creating VAnchor for asset ${FUNGIBLE_ASSET}...}`, - ); - const vanchorId = await createVAnchor(api, poolShareAssetId, sudoKey); - console.log(chalk` => {green VAnchor with id \`${vanchorId}\` created}`); - - // Wrapping the token to initialize the fee recipient account - console.log( - chalk`[+] {blue Wrapping ${AMOUNT} ${NATIVE_ASSET} to initialize the fee recipient account...}`, - ); - const wrappingAmount = new BN(AMOUNT).mul(new BN(10).pow(new BN(18))); - - const wrappingTx = await api.tx.tokenWrapper - .wrap(NATIVE_ASSET_ID, poolShareAssetId, wrappingAmount, bobKey.address) - .signAsync(bobKey); - - const wrappingHash = await new Promise((resolve, reject) => { - wrappingTx - .send((result) => { - if (result.isInBlock) { - resolve(result.status.asInBlock.toString()); - } else if (result.isFinalized) { - resolve(result.status.asFinalized.toString()); - } else if (result.isError) { - reject(result); - } - }) - .catch(reject); - }); - - console.log(chalk` => {green Token wrapped with hash \`${wrappingHash}\`}`); - - // Transfer some tokens to the test account - if (TEST_ACCOUNT) { - console.log( - chalk`[+] {blue Transferring ${AMOUNT} ${NATIVE_ASSET} to test account...}`, - ); - const hash = await transferAsset( - api, - sudoKey, - TEST_ACCOUNT, - 0, - new BN(AMOUNT).mul(new BN(10).pow(new BN(18))), - ); - - console.log( - chalk` => {green Token transferred to test account with hash \`${hash}\`}`, - ); - } -} - -main() - .then(() => { - console.log(chalk.green.bold('✅ Protocol Substrate ready to use!!!')); - process.exit(0); - }) - .catch((error) => { - console.log(chalk.red.bold('❌ Protocol Substrate failed to start!!!')); - console.log(error); - process.exit(1); - }); diff --git a/apps/bridge-dapp/scripts/localTangle.ts b/apps/bridge-dapp/scripts/localTangle.ts deleted file mode 100644 index e7ee2764f3..0000000000 --- a/apps/bridge-dapp/scripts/localTangle.ts +++ /dev/null @@ -1,145 +0,0 @@ -/** - * Copyright 2024 Webb Technologies Inc. - * SPDX-License-Identifier: Apache-2.0 - * - * This script is used to setup a local tangle network and create a pool share asset - * for the bridge dapp to use (mostly for testing purposes) - * - * Dependency: - * - @webb-tools/tangle: https://github.com/webb-tools/tangle - * Please run the `tangle` repo first and then run this script to - * setup the nessary assets for the bridge dapp to use. - */ - -import { ApiPromise } from '@polkadot/api'; -import { BN } from 'bn.js'; -import chalk from 'chalk'; - -import addAssetMetadata from './utils/addAssetMetadata'; -import createPoolShare from './utils/createPoolShare'; -import createVAnchor from './utils/createVAnchor'; -import getKeyring from './utils/getKeyRing'; -import getLocalApi from './utils/getLocalApi'; -import transferAsset from './utils/transferAsset'; - -const ALICE_PORT = 9944; - -const TANGLE_SUDO_URI = '//Alice'; - -const BOB_URI = '//Bob'; - -const NATIVE_ASSET_ID = '0'; -const NATIVE_ASSET = 'tTNT'; - -const FUNGIBLE_ASSET = 'webbtTNT'; - -const TEST_ACCOUNT = process.env.BRIDGE_DAPP_POLKADOT_TEST_ACCOUNT_ADDRESS; - -const AMOUNT = 1_000_000; - -async function main() { - // Start the nodes - console.log(chalk.blue('Starting local tangle network...')); - - // Wait until we are ready and connected - console.log(chalk.blue('Waiting for API to be ready...')); - - const aliceApi = await getLocalApi(ALICE_PORT); - - console.log(chalk`=> {green.bold API is ready!}`); - - await initPoolShare(aliceApi); -} - -async function initPoolShare(api: ApiPromise) { - const sudoKey = getKeyring(TANGLE_SUDO_URI); - const bobKey = getKeyring(BOB_URI); - - // Create pool share asset - console.log(chalk`[+] {blue Creating pool share asset ${FUNGIBLE_ASSET}...}`); - const poolShareAssetId = await createPoolShare( - api, - FUNGIBLE_ASSET, - +NATIVE_ASSET_ID, - sudoKey, - ); - console.log( - chalk` => {green Pool share asset ${FUNGIBLE_ASSET} created with id ${poolShareAssetId}}`, - ); - - // Add assets metadata - console.log(chalk`[+] {blue Adding metadata for ${NATIVE_ASSET}...}`); - await addAssetMetadata(api, sudoKey, NATIVE_ASSET_ID, NATIVE_ASSET); - - console.log(chalk`[+] {blue Adding metadata for ${FUNGIBLE_ASSET}...}`); - await addAssetMetadata( - api, - sudoKey, - poolShareAssetId.toString(), - FUNGIBLE_ASSET, - ); - console.log(chalk` => {green Assets metadata added}`); - - console.log( - chalk`[+] {blue Creating VAnchor for asset ${FUNGIBLE_ASSET}...}`, - ); - - const vanchorId = await createVAnchor(api, poolShareAssetId, sudoKey); - - console.log(chalk` => {green VAnchor with id ${vanchorId} created}`); - - // Transfer some tokens to the test account - if (TEST_ACCOUNT) { - console.log( - chalk`[+] {blue Transferring ${AMOUNT} ${NATIVE_ASSET} to test account...}`, - ); - const hash = await transferAsset( - api, - sudoKey, - TEST_ACCOUNT, - 0, - new BN(AMOUNT).mul(new BN(10).pow(new BN(18))), - ); - - console.log( - chalk` => {green Token transferred to test account with hash \`${hash}\`}`, - ); - } - - // Wrapping the token to initialize the fee recipient account - console.log( - chalk`[+] {blue Wrapping ${AMOUNT} ${NATIVE_ASSET} to initialize the fee recipient account...}`, - ); - const wrappingAmount = new BN(AMOUNT).mul(new BN(10).pow(new BN(18))); - - const wrappingTx = await api.tx.tokenWrapper - .wrap(NATIVE_ASSET_ID, poolShareAssetId, wrappingAmount, bobKey.address) - .signAsync(bobKey); - - const wrappingHash = await new Promise((resolve, reject) => { - wrappingTx - .send((result) => { - if (result.isInBlock) { - resolve(result.status.asInBlock.toString()); - } else if (result.isFinalized) { - resolve(result.status.asFinalized.toString()); - } else if (result.isError) { - reject(result); - } - }) - .catch(reject); - }); - - console.log(chalk` => {green Token wrapped with hash \`${wrappingHash}\`}`); -} - -main() - .then(() => { - console.log(chalk.green.bold('✅ Tangle network ready to use!!!')); - process.exit(0); - }) - .catch((error) => { - console.log(chalk.red.bold('❌ Tangle Network failed to start!!!')); - console.log(error); - process.exit(1); - }); diff --git a/apps/bridge-dapp/scripts/utils/addAssetMetadata.ts b/apps/bridge-dapp/scripts/utils/addAssetMetadata.ts deleted file mode 100644 index ec46cf8926..0000000000 --- a/apps/bridge-dapp/scripts/utils/addAssetMetadata.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { ApiPromise } from '@polkadot/api'; -import { KeyringPair } from '@polkadot/keyring/types'; -import { polkadotTx } from '@webb-tools/test-utils'; - -/** - * Utility function to add asset metadata to the asset registry - * @param apiPromise the polkadot api instance - * @param signer the signer to sign the transaction - * @param assetId the asset id - * @param assetSymbol the asset symbol - * @param decimals the asset decimals (denomination) - */ -async function addAssetMetadata( - apiPromise: ApiPromise, - signer: KeyringPair, - assetId: string, - assetSymbol: string, - decimals = 18, -) { - await polkadotTx( - apiPromise, - { - section: 'sudo', - method: 'sudo', - }, - [apiPromise.tx.assetRegistry.setMetadata(assetId, assetSymbol, decimals)], - signer, - ); -} - -export default addAssetMetadata; diff --git a/apps/bridge-dapp/scripts/utils/addAssetToPool.ts b/apps/bridge-dapp/scripts/utils/addAssetToPool.ts deleted file mode 100644 index faa7f14879..0000000000 --- a/apps/bridge-dapp/scripts/utils/addAssetToPool.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { ApiPromise } from '@polkadot/api'; -import { KeyringPair } from '@polkadot/keyring/types'; -import { polkadotTx } from '@webb-tools/test-utils'; - -/** - * Adding an asset to a existing pool - * @param apiPromise the polkadot api instance - * @param assetId the asset id - * @param poolAssetId the pool asset id - * @param signer the signer to sign the transaction - */ -async function addAssetToPool( - apiPromise: ApiPromise, - assetId: string, - poolAssetId: string, - signer: KeyringPair, -) { - await polkadotTx( - apiPromise, - { - section: 'sudo', - method: 'sudo', - }, - [apiPromise.tx.assetRegistry.addAssetToPool(poolAssetId, Number(assetId))], - signer, - ); -} - -export default addAssetToPool; diff --git a/apps/bridge-dapp/scripts/utils/createPoolShare.ts b/apps/bridge-dapp/scripts/utils/createPoolShare.ts deleted file mode 100644 index ae35f9182e..0000000000 --- a/apps/bridge-dapp/scripts/utils/createPoolShare.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { ApiPromise } from '@polkadot/api'; -import { KeyringPair } from '@polkadot/keyring/types'; -import { Option, U32 } from '@polkadot/types'; -import { polkadotTx } from '@webb-tools/test-utils'; -import { BN } from 'bn.js'; - -/** - * Create a new pool share and add it to the asset registry - * @param apiPromise the polkadot api instance - * @param name the pool share token name - * @param nativeAssetId the native asset id to wrap into the pool share - * @param signer the signer to sign the transaction - * @param existentialDeposit the existential deposit of the pool share - * @returns the newly created pool share id - */ -async function createPoolShare( - apiPromise: ApiPromise, - name: string, - nativeAssetId: number, - signer: KeyringPair, - existentialDeposit = new BN(10).mul(new BN(10).pow(new BN(18))), -) { - await polkadotTx( - apiPromise, - { - section: 'sudo', - method: 'sudo', - }, - [ - apiPromise.tx.assetRegistry.register( - name, - { - PoolShare: [nativeAssetId], - }, - existentialDeposit, - ), - ], - signer, - ); - const nextAssetId = await apiPromise.query.assetRegistry.nextAssetId(); - const id = nextAssetId.toNumber() - 1; - const tokenWrapperNonce = - await apiPromise.query.tokenWrapper.proposalNonce>(name); - const nonce = tokenWrapperNonce.unwrapOr(new BN(0)).toNumber() + 1; - await polkadotTx( - apiPromise, - { - section: 'sudo', - method: 'sudo', - }, - [apiPromise.tx.tokenWrapper.setWrappingFee(1, id, nonce)], - signer, - ); - return id; -} - -export default createPoolShare; diff --git a/apps/bridge-dapp/scripts/utils/createVAnchor.ts b/apps/bridge-dapp/scripts/utils/createVAnchor.ts deleted file mode 100644 index c5d0dc49cc..0000000000 --- a/apps/bridge-dapp/scripts/utils/createVAnchor.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { ApiPromise } from '@polkadot/api'; -import { KeyringPair } from '@polkadot/keyring/types'; -import { polkadotTx } from '@webb-tools/test-utils'; - -/** - * Creates a vanchor on the substrate chain - * @param apiPromise the polkadot api instance - * @param assetId the asset of the vanchor - * @param signer the signer of the transaction - * @returns the id of the newly created vanchor - */ -async function createVAnchor( - apiPromise: ApiPromise, - assetId: number, - signer: KeyringPair, -): Promise { - await polkadotTx( - apiPromise, - { - section: 'sudo', - method: 'sudo', - }, - [apiPromise.tx.vAnchorBn254.create(1, 30, assetId)], - signer, - ); - const nextTreeId = await apiPromise?.query.merkleTreeBn254.nextTreeId(); - return nextTreeId.toNumber() - 1; -} - -export default createVAnchor; diff --git a/apps/bridge-dapp/scripts/utils/getKeyRing.ts b/apps/bridge-dapp/scripts/utils/getKeyRing.ts deleted file mode 100644 index 898e564957..0000000000 --- a/apps/bridge-dapp/scripts/utils/getKeyRing.ts +++ /dev/null @@ -1,13 +0,0 @@ -import Keyring from '@polkadot/keyring'; - -/** - * Utility function to get a keyring instance from a uri - * @param uri the uri of the keyring - * @returns the keyring instance - */ -function getKeyring(uri: string) { - const k = new Keyring({ type: 'sr25519' }); - return k.addFromUri(uri); -} - -export default getKeyring; diff --git a/apps/bridge-dapp/scripts/utils/getLocalApi.ts b/apps/bridge-dapp/scripts/utils/getLocalApi.ts deleted file mode 100644 index 6abae2ec53..0000000000 --- a/apps/bridge-dapp/scripts/utils/getLocalApi.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ApiPromise, WsProvider } from '@polkadot/api'; - -function getLocalApi(port: number): Promise { - const endpoint = `ws://127.0.0.1:${port}`; - const wsProvider = new WsProvider(endpoint); - return ApiPromise.create({ - provider: wsProvider, - noInitWarn: true, - }); -} - -export default getLocalApi; diff --git a/apps/bridge-dapp/scripts/utils/transferAsset.ts b/apps/bridge-dapp/scripts/utils/transferAsset.ts deleted file mode 100644 index 9cd94daaee..0000000000 --- a/apps/bridge-dapp/scripts/utils/transferAsset.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { ApiPromise } from '@polkadot/api'; -import { KeyringPair } from '@polkadot/keyring/types'; -import { BN } from '@polkadot/util'; - -/** - * Transfers an asset from one account to another - * @param apiPromise the polkadot api instance - * @param sender the sender of the transaction - * @param recipient the recipient of the transaction - * @param assetId the asset id of the asset to transfer - * @param amount the amount of the asset to transfer (u128 format) - * @returns the hash of the transaction - */ -async function transferAsset( - apiPromise: ApiPromise, - sender: KeyringPair, - recipient: string, - assetId: number, - amount: BN, -): Promise { - // If assetId is 0, then interact with balances pallet - if (assetId === 0) { - const tx = await apiPromise.tx.balances - .transfer(recipient, amount) - .signAsync(sender); - - return new Promise((resolve, reject) => { - tx.send((result) => { - if (result.status.isFinalized) { - resolve(result.status.asFinalized.toString()); - } - }).catch((e) => reject(e)); - }); - } - - // Otherwise, interact with tokens pallet - const tx = await apiPromise.tx.tokens - .transfer(recipient, assetId, amount) - .signAsync(sender); - - return new Promise((resolve, reject) => { - tx.send((result) => { - if (result.status.isFinalized) { - resolve(result.status.asFinalized.toString()); - } - }).catch((e) => reject(e)); - }); -} - -export default transferAsset; diff --git a/apps/bridge-dapp/src/App.tsx b/apps/bridge-dapp/src/App.tsx deleted file mode 100644 index 3c1414cc35..0000000000 --- a/apps/bridge-dapp/src/App.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { AppEvent, WebbProvider } from '@webb-tools/api-provider-environment'; -import { WebbUIProvider } from '@webb-tools/webb-ui-components/provider'; -import { FC } from 'react'; -import AppRoutes from './routes'; - -// Singleton app event instance -export const appEvent = new AppEvent(); - -const App: FC = () => { - return ( - - - - - - ); -}; - -export default App; diff --git a/apps/bridge-dapp/src/assets/.gitkeep b/apps/bridge-dapp/src/assets/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/apps/bridge-dapp/src/components/ConnectWalletMobileContent/ConnectWalletMobileContent.tsx b/apps/bridge-dapp/src/components/ConnectWalletMobileContent/ConnectWalletMobileContent.tsx deleted file mode 100644 index a520b8789e..0000000000 --- a/apps/bridge-dapp/src/components/ConnectWalletMobileContent/ConnectWalletMobileContent.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { Typography } from '@webb-tools/webb-ui-components'; -import { BRIDGE_URL } from '@webb-tools/webb-ui-components/constants'; -import { FC } from 'react'; - -export const ConnectWalletMobileContent: FC = () => { - return ( - <> - - A complete mobile experience for Hubble Bridge is in the works. For now, - enjoy all features on a desktop device. - - - Visit the link on desktop below to start transacting privately! - - - {BRIDGE_URL} - - - ); -}; diff --git a/apps/bridge-dapp/src/components/ConnectWalletMobileContent/index.ts b/apps/bridge-dapp/src/components/ConnectWalletMobileContent/index.ts deleted file mode 100644 index 080a6a4ad8..0000000000 --- a/apps/bridge-dapp/src/components/ConnectWalletMobileContent/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './ConnectWalletMobileContent'; diff --git a/apps/bridge-dapp/src/components/EducationCard/EducationCard.tsx b/apps/bridge-dapp/src/components/EducationCard/EducationCard.tsx deleted file mode 100644 index 87d510c933..0000000000 --- a/apps/bridge-dapp/src/components/EducationCard/EducationCard.tsx +++ /dev/null @@ -1,258 +0,0 @@ -import { Transition } from '@headlessui/react'; -import { Close, HelpLineIcon, UsageGuideIcon } from '@webb-tools/icons'; -import { Button, Typography } from '@webb-tools/webb-ui-components'; -import { WEBB_DOCS_URL } from '@webb-tools/webb-ui-components/constants'; -import cx from 'classnames'; -import { forwardRef, useEffect, useState } from 'react'; -import { twMerge } from 'tailwind-merge'; -import { BRIDGE_OVERVIEW_PATH, USAGE_GUIDE_PATH } from '../../constants/links'; -import { useEducationCardStep } from '../../hooks/useEducationCardStep'; -import { EducationCardProps } from './types'; - -const links = [ - { - label: 'Usage Guide', - getLink: (tab: EducationCardProps['currentTab']) => { - return new URL( - `${USAGE_GUIDE_PATH}/${tab.toLowerCase()}`, - WEBB_DOCS_URL, - ).toString(); - }, - Icon: UsageGuideIcon, - }, - { - label: 'Getting Started', - href: new URL(BRIDGE_OVERVIEW_PATH, WEBB_DOCS_URL).toString(), - Icon: UsageGuideIcon, - }, -]; - -const howItWorksContent: { - [key in EducationCardProps['currentTab']]: Array<{ - title: string; - description: string; - }>; -} = { - Deposit: [ - { - title: 'Create Note Account', - description: - 'Create a Note account and connect it to your MetaMask address to start depositing tokens.', - }, - { - title: 'Select Token', - description: 'Choose the token you want to deposit.', - }, - { - title: 'Select Desired Chains and Amount', - description: - 'Select the source, destination chains and specify the deposit amount for your deposit.', - }, - { - title: 'Confirm Deposit', - description: - 'Review and confirm the details of your deposit before submitting it.', - }, - ], - Transfer: [ - { - title: 'Connect to Destination chain', - description: - 'Connect to the destination chain with a balance of the shielded token you want to transfer.', - }, - { - title: 'Select Token and Amount', - description: - 'Choose the shielded token you want to transfer and specify the deposit amount.', - }, - { - title: 'Enter Public Note Account Key', - description: - 'Provide the public key for the note account you want to transfer to.', - }, - { - title: 'Confirm Transfer', - description: - 'Review and confirm the details of your transfer before submitting it.', - }, - ], - Withdraw: [ - { - title: 'Connect to Destination chain', - description: - 'Connect to the destination chain with a balance of the token you want to withdraw.', - }, - { - title: 'Specify the Withdrawal Amount', - description: - 'Choose the amount you want to withdraw. For maximum privacy, we recommend using fixed withdrawal amounts.', - }, - { - title: 'Choose a Relayer', - description: - 'Select a relayer to maximize your privacy and facilitate your transaction.', - }, - { - title: 'Confirm Withdraw', - description: - 'Review and confirm the details of your withdraw before submitting it.', - }, - ], -}; - -const commonTransitionClass = cx('transition-all !duration-150'); - -export const EducationCard = forwardRef( - ({ currentTab, defaultOpen = true, ...props }, ref) => { - const [isOpen, setIsOpen] = useState(defaultOpen); - - const { educationCardStep } = useEducationCardStep(); - - useEffect(() => { - // Reset the state when the defaultOpen prop changes - setIsOpen(defaultOpen); - }, [defaultOpen]); - - return ( -
-
- - - -
- - Privacy for everyone, everything, everywhere. - - -
- {links.map(({ label, href, getLink, Icon }, idx) => ( - - ))} -
- - - How it works? - - -
- {howItWorksContent[currentTab].map((content, index) => { - const isCurrentStep = index + 1 === educationCardStep; - - return ( -
- {/** Vertical line */} - - -
- - {index + 1} - -
- -
- - {content.title} - - - - {content.description} - -
-
- ); - })} -
-
-
-
-
- ); - }, -); diff --git a/apps/bridge-dapp/src/components/EducationCard/index.ts b/apps/bridge-dapp/src/components/EducationCard/index.ts deleted file mode 100644 index 4d3d42a4b9..0000000000 --- a/apps/bridge-dapp/src/components/EducationCard/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './EducationCard'; diff --git a/apps/bridge-dapp/src/components/EducationCard/types.ts b/apps/bridge-dapp/src/components/EducationCard/types.ts deleted file mode 100644 index 68e7d9d669..0000000000 --- a/apps/bridge-dapp/src/components/EducationCard/types.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { PropsOf } from '@webb-tools/webb-ui-components/types'; - -export interface EducationCardProps extends PropsOf<'div'> { - /** - * The current active tab - */ - currentTab: 'Deposit' | 'Withdraw' | 'Transfer'; - - /** - * If `true`, the education card will be closed by default - */ - defaultOpen?: boolean; -} diff --git a/apps/bridge-dapp/src/components/Header/ActiveChainDropdown.tsx b/apps/bridge-dapp/src/components/Header/ActiveChainDropdown.tsx deleted file mode 100644 index 13cdaa3d30..0000000000 --- a/apps/bridge-dapp/src/components/Header/ActiveChainDropdown.tsx +++ /dev/null @@ -1,98 +0,0 @@ -import { DropdownMenuTrigger } from '@radix-ui/react-dropdown-menu'; -import { - useConnectWallet, - useWebContext, -} from '@webb-tools/api-provider-environment'; -import type { ChainConfig } from '@webb-tools/dapp-config/chains/chain-config.interface'; -import getChainFromConfig from '@webb-tools/dapp-config/utils/getChainFromConfig'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types/WebbError'; -import { ChainIcon } from '@webb-tools/icons/ChainIcon'; -import { calculateTypedChainId } from '@webb-tools/sdk-core/typed-chain-id'; -import { - Dropdown, - DropdownBody, - DropdownMenuItem, -} from '@webb-tools/webb-ui-components/components/Dropdown'; -import { ScrollArea } from '@webb-tools/webb-ui-components/components/ScrollArea'; -import ChainOrTokenButton from '@webb-tools/webb-ui-components/components/buttons/ChainOrTokenButton'; -import { useWebbUI } from '@webb-tools/webb-ui-components/hooks/useWebbUI'; -import { useCallback, useMemo } from 'react'; -import useChainsFromRoute from '../../hooks/useChainsFromRoute'; - -const ActiveChainDropdown = () => { - const { activeChain, activeWallet, apiConfig, switchChain, loading } = - useWebContext(); - const { toggleModal } = useConnectWallet(); - const { srcTypedChainId } = useChainsFromRoute(); - const { notificationApi } = useWebbUI(); - - const chain = useMemo(() => { - if (activeChain) { - return activeChain; - } - - // Default to the chain from route if no active chain - if (typeof srcTypedChainId === 'number' && activeChain !== null) { - return apiConfig.chains[srcTypedChainId]; - } - }, [activeChain, apiConfig.chains, srcTypedChainId]); - - const selectableChains = useMemo( - () => apiConfig.getSupportedChains({ withEnv: true }), - [apiConfig], - ); - - const handleSelectChain = useCallback( - async (chainCfg: ChainConfig) => { - const chain = getChainFromConfig(chainCfg); - - if (!activeWallet || !chain.wallets.includes(activeWallet.id)) { - toggleModal(true, calculateTypedChainId(chain.chainType, chain.id)); - } else { - const api = await switchChain(chain, activeWallet); - if (!api) { - notificationApi.addToQueue({ - variant: 'error', - message: WebbError.getErrorMessage(WebbErrorCodes.SwitchChainFailed) - .message, - }); - } - } - }, - [activeWallet, notificationApi, switchChain, toggleModal], - ); - - return ( - - - - - - -
    - {selectableChains.map((chain) => { - return ( -
  • - } - onSelect={() => handleSelectChain(chain)} - > - {chain.name} - -
  • - ); - })} -
-
-
-
- ); -}; - -export default ActiveChainDropdown; diff --git a/apps/bridge-dapp/src/components/Header/Header.tsx b/apps/bridge-dapp/src/components/Header/Header.tsx deleted file mode 100644 index 4688956c01..0000000000 --- a/apps/bridge-dapp/src/components/Header/Header.tsx +++ /dev/null @@ -1,228 +0,0 @@ -import { - useConnectWallet, - useWebContext, -} from '@webb-tools/api-provider-environment'; -import { TANGLE_TESTNET_NATIVE_EXPLORER_URL } from '@webb-tools/dapp-config/constants/tangle'; -import { WebbLogoIcon } from '@webb-tools/icons'; -import { - Breadcrumbs, - BreadcrumbsItem, - Button, - ConnectWalletMobileButton, - DropdownMenuItem, - Logo, - NavigationMenu, - NavigationMenuContent, - NavigationMenuTrigger, - SideBarMenu, - getHumanFileSize, - useCheckMobile, -} from '@webb-tools/webb-ui-components'; -import { - GITHUB_REQUEST_FEATURE_URL, - SOCIAL_URLS_RECORD, - WEBB_DOCS_URL, - WEBB_FAUCET_URL, - WEBB_MKT_URL, -} from '@webb-tools/webb-ui-components/constants'; -import { - useCallback, - useEffect, - useMemo, - useState, - type ComponentProps, - type FC, -} from 'react'; -import { NavLink, useLocation } from 'react-router-dom'; -import { BREADCRUMBS_RECORD } from '../../constants/breadcrumb'; -import useChainsFromRoute from '../../hooks/useChainsFromRoute'; - -import { ACTION_BUTTON_PROPS } from '../../constants'; -import useSidebarProps from '../../hooks/useSidebarProps'; -import { ConnectWalletMobileContent } from '../ConnectWalletMobileContent'; -import ActiveChainDropdown from './ActiveChainDropdown'; -import TxProgressDropdown from './TxProgressDropdown'; -import { WalletDropdown } from './WalletDropdown'; -import { HeaderProps } from './types'; - -/** - * The statistic `Header` for `Layout` container - */ -export const Header: FC = () => { - const { activeAccount, activeWallet, loading, isConnecting } = - useWebContext(); - - const { toggleModal } = useConnectWallet(); - const { srcTypedChainId } = useChainsFromRoute(); - - const { isMobile } = useCheckMobile(); - - const location = useLocation(); - - const items = location.pathname.split('/').filter((item) => item !== ''); - - const sidebarProps = useSidebarProps(); - - const breadcrumbItems = useMemo( - () => - items.map((item, index, arr) => { - const preCfgBreadcrumb = BREADCRUMBS_RECORD[item]; - const href = '/' + arr.slice(0, index + 1).join('/'); - - return ( - - - {preCfgBreadcrumb?.label ?? - (index === 2 && items[1].toLowerCase() === 'transactions' - ? 'Tx Detail' - : item.split('-').join(' '))} - - - ); - }), - [items], - ); - - return ( -
-
-
- - - {/* Show Logo with name on table */} - - - {/* Show Logo without name on mobile */} - - - - {breadcrumbItems} - -
- -
- - -
- - {isConnecting || loading || !activeWallet || !activeAccount ? ( - isMobile ? ( - - - - ) : ( - - ) - ) : ( - - )} -
- - - - {/** TODO: Refactor these links into a config file and make the menu items dynamically based on the config */} - window.open(WEBB_DOCS_URL, '_blank')} - onTestnetClick={() => - window.open(TANGLE_TESTNET_NATIVE_EXPLORER_URL, '_blank') - } - onFaucetClick={() => { - window.open(WEBB_FAUCET_URL, '_blank'); - }} - onHelpCenterClick={() => - window.open(SOCIAL_URLS_RECORD.telegram, '_blank') - } - onRequestFeaturesClick={() => - window.open(GITHUB_REQUEST_FEATURE_URL, '_blank') - } - onAboutClick={() => window.open(WEBB_MKT_URL, '_blank')} - extraMenuItems={[]} - /> - -
-
- - {breadcrumbItems} -
- ); -}; - -function ClearCacheMenuItem(): React.ReactElement< - ComponentProps, - typeof DropdownMenuItem -> { - const [storageSize, setStorageSize] = useState(); - - useEffect(() => { - let isSubscribed = true; - - async function getStorageSize() { - if (typeof window === 'undefined') { - return; - } - - try { - const { usage } = await window.navigator.storage.estimate(); - - if (isSubscribed) { - setStorageSize(usage); - } - } catch { - // ignore - } - } - - getStorageSize(); - - return () => { - isSubscribed = false; - }; - }, []); - - const handleClearCache = useCallback(async () => { - if (typeof window === 'undefined') { - return; - } - - localStorage.clear(); - sessionStorage.clear(); - - const cachesKeys = await caches.keys(); - await Promise.all(cachesKeys.map((key) => caches.delete(key))); - - // Reload the page - window.location.reload(); - }, []); - - return ( - - Clear cache{' '} - {typeof storageSize === 'number' ? ( - {`(${getHumanFileSize(storageSize, true)})`} - ) : ( - '' - )} - - ); -} diff --git a/apps/bridge-dapp/src/components/Header/TxProgressDropdown/TxItem.tsx b/apps/bridge-dapp/src/components/Header/TxProgressDropdown/TxItem.tsx deleted file mode 100644 index 0e1831f97d..0000000000 --- a/apps/bridge-dapp/src/components/Header/TxProgressDropdown/TxItem.tsx +++ /dev/null @@ -1,133 +0,0 @@ -import type { TransactionExecutor } from '@webb-tools/abstract-api-provider/transaction'; -import type { WebbProviderType } from '@webb-tools/abstract-api-provider/types'; -import { - getTxMessageFromStatus, - transactionItemStatusFromTxStatus, -} from '@webb-tools/api-provider-environment/transaction/useTransactionQueue'; -import { getExplorerURI } from '@webb-tools/api-provider-environment/transaction/utils'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import Button from '@webb-tools/webb-ui-components/components/buttons/Button'; -import { TxProgressor } from '@webb-tools/webb-ui-components/components/TxProgressor'; -import type { TxInfo } from '@webb-tools/webb-ui-components/components/TxProgressor/types'; -import type { ButtonProps } from '@webb-tools/webb-ui-components/components/buttons/types'; -import type { TransactionItemStatus } from '@webb-tools/webb-ui-components/containers/TransactionProgressCard/types'; -import Decimal from 'decimal.js'; -import type { FC } from 'react'; - -import { NOTE_ACCOUNT_PATH } from '../../../constants/paths'; - -const TxItem: FC<{ - tx: TransactionExecutor; - isOnAccountPage?: boolean; -}> = ({ tx, isOnAccountPage }) => { - const { activeApi, apiConfig, txQueue } = useWebContext(); - const { api } = txQueue; - - let srcAccountType: TxInfo['accountType'] | undefined = undefined; - let destAccountType: TxInfo['accountType'] | undefined = undefined; - - let srcTokenType: TxInfo['tokenType'] | undefined = undefined; - let destTokenType: TxInfo['tokenType'] | undefined = undefined; - - if (tx.name === 'Deposit') { - srcAccountType = 'wallet'; - destAccountType = 'note'; - - srcTokenType = 'unshielded'; - destTokenType = 'shielded'; - } else if (tx.name === 'Transfer') { - srcAccountType = 'note'; - destAccountType = 'note'; - - srcTokenType = 'shielded'; - destTokenType = 'shielded'; - } else if (tx.name === 'Withdraw') { - srcAccountType = 'note'; - destAccountType = 'wallet'; - - srcTokenType = 'shielded'; - destTokenType = 'unshielded'; - } - - const blockExplorer = - apiConfig.chains[tx.metaData.wallets.src].blockExplorers?.default?.url; - - const status = transactionItemStatusFromTxStatus(tx.currentStatus[0]); - - const externalUrl = getExternalUrl(blockExplorer, activeApi?.type, tx.txHash); - - const btnProps = isOnAccountPage - ? ({ - onClick: () => { - api.dismissTransaction(tx.id); - }, - children: 'Dismiss', - } satisfies ButtonProps) - : ({ - href: `/#/${NOTE_ACCOUNT_PATH}`, - children: 'View Account', - } satisfies ButtonProps); - - return ( - - - - } - externalUrl={externalUrl} - steppedProgressProps={{ - steps: tx.totalSteps, - activeStep: tx.stepSubject.getValue(), - }} - /> - - ); -}; - -export default TxItem; - -const getExternalUrl = ( - explorer?: string, - provider?: WebbProviderType, - txHash?: string, -) => { - if (!txHash) { - return undefined; - } - - if (!explorer || !provider) { - return new URL(`/address/${txHash}`, window.location.origin); - } - - return getExplorerURI(explorer, txHash, 'tx', provider); -}; - -const getFooterStatus = (txStatus: TransactionItemStatus) => - txStatus === 'completed' - ? 'success' - : txStatus === 'warning' - ? 'error' - : 'info'; diff --git a/apps/bridge-dapp/src/components/Header/TxProgressDropdown/index.tsx b/apps/bridge-dapp/src/components/Header/TxProgressDropdown/index.tsx deleted file mode 100644 index ddfd0a95f6..0000000000 --- a/apps/bridge-dapp/src/components/Header/TxProgressDropdown/index.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import { DropdownMenuTrigger as DropdownTrigger } from '@radix-ui/react-dropdown-menu'; -import type { TransactionExecutor } from '@webb-tools/abstract-api-provider/transaction'; -import { transactionItemStatusFromTxStatus } from '@webb-tools/api-provider-environment/transaction'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { - Dropdown, - DropdownBody, -} from '@webb-tools/webb-ui-components/components/Dropdown'; -import LoadingPill from '@webb-tools/webb-ui-components/components/buttons/LoadingPill'; -import type { LoadingPillStatus } from '@webb-tools/webb-ui-components/components/buttons/types'; -import type { TransactionItemStatus } from '@webb-tools/webb-ui-components/containers/TransactionProgressCard'; -import { useEffect, useMemo, useState } from 'react'; -import { useLocation } from 'react-router'; -import { NOTE_ACCOUNT_PATH } from '../../../constants/paths'; -import useCurrentTx from '../../../hooks/useCurrentTx'; -import TxItem from './TxItem'; - -const TxProgressDropdown = () => { - const { txQueue: txQueue_ } = useWebContext(); - const { pathname } = useLocation(); - - const { txQueue, currentTxId } = txQueue_; - - const [pillStatus, setPillStatus] = useState('loading'); - - // Sort the latest tx to the top - const sortedTxQueue = useSortedTxQueue(txQueue); - - const currentTx = useCurrentTx(sortedTxQueue, currentTxId, { latest: true }); - - const isOnAccountPage = useMemo( - () => pathname.includes(`/${NOTE_ACCOUNT_PATH}`), - [pathname], - ); - - useEffect(() => { - if (!currentTx) { - return; - } - - const sub = currentTx.$currentStatus.subscribe(([state]) => { - const status = transactionItemStatusFromTxStatus(state); - const nextPillStatus = getPillStatus(status); - setPillStatus(nextPillStatus); - }); - - return () => { - sub.unsubscribe(); - }; - }, [currentTx]); - - if (!txQueue.length) { - return null; - } - - return ( - - - - - - - {sortedTxQueue.map((tx) => { - return ( - - ); - })} - - - ); -}; - -export default TxProgressDropdown; - -const useSortedTxQueue = (txQueue: Array>) => { - return useMemo( - () => - txQueue - .slice() - .sort((a, b) => b.timestamp.getTime() - a.timestamp.getTime()), - [txQueue], - ); -}; - -const getPillStatus = (txStatus: TransactionItemStatus): LoadingPillStatus => - txStatus === 'completed' - ? 'success' - : txStatus === 'warning' - ? 'error' - : 'loading'; diff --git a/apps/bridge-dapp/src/components/Header/WalletDropdown/ClearDataModal.tsx b/apps/bridge-dapp/src/components/Header/WalletDropdown/ClearDataModal.tsx deleted file mode 100644 index 28f2cf1cc8..0000000000 --- a/apps/bridge-dapp/src/components/Header/WalletDropdown/ClearDataModal.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import { - Button, - CheckBox, - Modal, - ModalContent, - ModalFooter, - ModalHeader, - Typography, -} from '@webb-tools/webb-ui-components'; -import { WEBB_DOCS_URL } from '@webb-tools/webb-ui-components/constants'; -import { FC, useCallback, useState } from 'react'; - -const ClearDataModal: FC<{ - isOpen: boolean; - setIsOpen: (isOpen: boolean) => void; - onClearData: () => void; - onSaveBackups: () => void; - noteSize: number; -}> = ({ isOpen, setIsOpen, onClearData, noteSize, onSaveBackups }) => { - const [isChecked, setIsChecked] = useState(false); - - const handleClearData = useCallback(() => { - onClearData(); - setIsOpen(false); - setIsChecked(false); - }, [onClearData, setIsOpen]); - - return ( - setIsOpen(open)}> - - setIsOpen(false)}>Clear Data? - -
-
- - All ({noteSize}) spend note(s) that you have will be permenently - deleted from local storage. You may want to{' '} - {' '} - of these secret notes before deleting. - - - - This cannot be undone. Please ensure that you are deleting the - correct account. - -
- - setIsChecked((prev) => !prev)} - wrapperClassName="items-center" - > - I understand this action is irreversible. - -
- - - - - -
-
- ); -}; - -export default ClearDataModal; diff --git a/apps/bridge-dapp/src/components/Header/WalletDropdown/NoteAccountAction.tsx b/apps/bridge-dapp/src/components/Header/WalletDropdown/NoteAccountAction.tsx deleted file mode 100644 index 96633efa01..0000000000 --- a/apps/bridge-dapp/src/components/Header/WalletDropdown/NoteAccountAction.tsx +++ /dev/null @@ -1,135 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { ThreeDotsVerticalIcon } from '@webb-tools/icons/ThreeDotsVerticalIcon'; -import { useNoteAccount } from '@webb-tools/react-hooks/useNoteAccount'; -import type { Note } from '@webb-tools/sdk-core'; -import { - Dropdown, - DropdownBasicButton, - DropdownBody, - DropdownMenuItem, -} from '@webb-tools/webb-ui-components/components/Dropdown'; -import Button from '@webb-tools/webb-ui-components/components/buttons/Button'; -import { useWebbUI } from '@webb-tools/webb-ui-components/hooks/useWebbUI'; -import flatten from 'lodash/flatten'; -import { useCallback, useMemo, useState } from 'react'; -import { downloadNotes } from '../../../utils/downloadNotes'; -import ClearDataModal from './ClearDataModal'; - -const NoteAccountAction = () => { - const { - allNotes, - hasNoteAccount, - syncNotesProgress, - isSyncingNote, - syncNotes: handleSyncNotes, - setOpenNoteAccountModal, - } = useNoteAccount(); - - // Clear data modal - const [isOpen, setIsOpen] = useState(false); - - const { noteManager } = useWebContext(); - const { notificationApi, logger } = useWebbUI(); - - const noteSize = useMemo( - () => - Array.from(allNotes.values()).reduce((acc, curr) => acc + curr.length, 0), - [allNotes], - ); - - // TODO: Implement a function when user click on the new notes link - // on the notification - const handleNewNotes = useCallback( - async (notes: Note[]) => { - logger.info(`Handle ${notes.length} new notes`); - logger.warn('New notes function is not implemented yet'); - }, - [logger], - ); - - // Clear data function - const handleClearData = useCallback(async () => { - if (!noteManager) { - notificationApi({ - variant: 'error', - message: 'Note manager is not initialized', - }); - return; - } - - // Clear all notes - try { - await noteManager.removeAllNotes(); - - notificationApi({ - variant: 'success', - message: 'All notes are cleared', - }); - } catch (error) { - logger.error('Error inside clear data', error); - notificationApi({ - variant: 'error', - message: 'Failed to clear notes', - }); - } - }, [logger, noteManager, notificationApi]); - - // Save backups function - const handleSaveBackups = useCallback(async () => { - if (!allNotes.size) { - notificationApi({ - variant: 'error', - message: 'No notes to backup', - }); - return; - } - - downloadNotes(flatten(Array.from(allNotes.values()))); - }, [allNotes, notificationApi]); - - if (!hasNoteAccount) { - return ( - - ); - } - - return ( - <> - - - - - - - - setIsOpen(true)}> - Clear data - - - - - setIsOpen(open)} - /> - - ); -}; - -export default NoteAccountAction; diff --git a/apps/bridge-dapp/src/components/Header/WalletDropdown/NoteAccountKey.tsx b/apps/bridge-dapp/src/components/Header/WalletDropdown/NoteAccountKey.tsx deleted file mode 100644 index d02e65dd7e..0000000000 --- a/apps/bridge-dapp/src/components/Header/WalletDropdown/NoteAccountKey.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { InformationLine } from '@webb-tools/icons/InformationLine'; -import { Typography } from '@webb-tools/webb-ui-components/typography/Typography/Typography'; -import cx from 'classnames'; -import { useMemo } from 'react'; -import { NOTE_ACCOUNT_DOCS_URL } from '../../../constants/links'; -import NoteAccountAvatarWithKey from '../../NoteAccountAvatarWithKey'; - -const NoteAccountKey = () => { - const { noteManager } = useWebContext(); - - // Get the note account keypair to display public + encryption key - const keyPairStr = useMemo( - () => noteManager?.getKeypair().toString(), - [noteManager], - ); - - return ( -
- {keyPairStr ? ( - - ) : ( - <> -
- -
- - - No note account linked. Create a note account to start private - transactions.{' '} - - (Learn More) - - - - )} -
- ); -}; - -export default NoteAccountKey; diff --git a/apps/bridge-dapp/src/components/Header/WalletDropdown/index.tsx b/apps/bridge-dapp/src/components/Header/WalletDropdown/index.tsx deleted file mode 100644 index 6051c6e202..0000000000 --- a/apps/bridge-dapp/src/components/Header/WalletDropdown/index.tsx +++ /dev/null @@ -1,157 +0,0 @@ -import { Trigger as DropdownTrigger } from '@radix-ui/react-dropdown-menu'; -import { Account } from '@webb-tools/abstract-api-provider'; -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { ManagedWallet, WalletConfig } from '@webb-tools/dapp-config'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types'; -import { - ExternalLinkLine, - LoginBoxLineIcon, - WalletLineIcon, -} from '@webb-tools/icons'; -import { useWallets } from '@webb-tools/react-hooks'; -import { WebbWeb3Provider, isViemError } from '@webb-tools/web3-api-provider'; -import { - Button, - Dropdown, - DropdownBody, - KeyValueWithButton, - Typography, - WalletButton, - useWebbUI, -} from '@webb-tools/webb-ui-components'; -import { FC, useCallback, useMemo } from 'react'; -import NoteAccountAction from './NoteAccountAction'; -import NoteAccountKey from './NoteAccountKey'; - -export const WalletDropdown: FC<{ account: Account; wallet: WalletConfig }> = ({ - account, - wallet, -}) => { - const { activeApi, activeChain, inactivateApi } = useWebContext(); - - const { notificationApi } = useWebbUI(); - - // Get all managed wallets - const { wallets } = useWallets(); - - const currentManagedWallet = useMemo(() => { - return wallets.find((w) => w.connected); - }, [wallets]); - - // Calculate the account explorer url - const accountExplorerUrl = useMemo(() => { - if (!activeChain?.blockExplorers) return '#'; - - const url = activeChain.blockExplorers.default.url; - - return new URL(`/address/${account.address}`, url).toString(); - }, [activeChain, account]); - - // Funciton to switch account within the connected wallet - const handleSwitchAccount = useCallback(async () => { - // Switch account only support on web3 provider - if (!activeApi || !(activeApi instanceof WebbWeb3Provider)) { - return; - } - - try { - const walletClient = activeApi.walletClient; - - await walletClient.requestPermissions({ eth_accounts: {} }); - } catch (error) { - let message = WebbError.from(WebbErrorCodes.SwitchAccountFailed).message; - - if (isViemError(error)) { - message = error.shortMessage; - } - - notificationApi({ variant: 'error', message }); - } - }, [activeApi, notificationApi]); - - // Disconnect function - // TODO: The disconnect function does not work properly - const handleDisconnect = useCallback(async () => { - try { - if (currentManagedWallet && currentManagedWallet.canEndSession) { - currentManagedWallet.endSession(); - } - - await inactivateApi(); - } catch { - const message = WebbError.getErrorMessage( - WebbErrorCodes.FailedToDisconnect, - ).message; - - notificationApi({ variant: 'error', message }); - } - }, [currentManagedWallet, inactivateApi, notificationApi]); - - return ( - - - - - - -
-
- {wallet.Logo} - -
- - {account.name || wallet.name} - - -
- - - - - -
-
-
-
- - - -
-
- -
- - -
- -
-
-
-
- ); -}; diff --git a/apps/bridge-dapp/src/components/Header/index.ts b/apps/bridge-dapp/src/components/Header/index.ts deleted file mode 100644 index 266dec8a1b..0000000000 --- a/apps/bridge-dapp/src/components/Header/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './Header'; diff --git a/apps/bridge-dapp/src/components/Header/types.d.ts b/apps/bridge-dapp/src/components/Header/types.d.ts deleted file mode 100644 index 5db90938d4..0000000000 --- a/apps/bridge-dapp/src/components/Header/types.d.ts +++ /dev/null @@ -1 +0,0 @@ -export interface HeaderProps {} diff --git a/apps/bridge-dapp/src/components/InteractiveFeedbackView/DefaultErrorView.tsx b/apps/bridge-dapp/src/components/InteractiveFeedbackView/DefaultErrorView.tsx deleted file mode 100644 index f0f6accee9..0000000000 --- a/apps/bridge-dapp/src/components/InteractiveFeedbackView/DefaultErrorView.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import { FeedbackEntry } from '@webb-tools/dapp-types'; -import { - Button, - ModalFooter, - Typography, -} from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; -import { DefaultErrorViewProps } from './types'; - -export const DefaultErrorView: FC = ({ - activeFeedback, -}) => { - return ( - <> -
- {activeFeedback.feedbackBody.map((entry, idx) => { - const key = Object.keys(entry)[0] as keyof FeedbackEntry; - const commonProps = { - key: `${key}${idx}`, - }; - - switch (key) { - case 'content': - return ( - - {entry[key]} - - ); - - case 'json': - return ( - -
{JSON.stringify(entry[key], null, 4)}
-
- ); - - case 'header': - return ( - - {entry[key]} - - ); - - case 'any': - return ( -
- {entry[key]?.() ?? null} -
- ); - - default: - return ( -
-
    - {entry[key]?.map((entry) => { - return ( -
  • - - {entry} - -
  • - ); - })} -
-
- ); - } - })} -
- - - {Object.keys(activeFeedback.actions).map((name, idx) => ( - - ))} - - - - - ); -}; diff --git a/apps/bridge-dapp/src/components/InteractiveFeedbackView/InteractiveFeedbackView.tsx b/apps/bridge-dapp/src/components/InteractiveFeedbackView/InteractiveFeedbackView.tsx deleted file mode 100644 index 2a28dbd51e..0000000000 --- a/apps/bridge-dapp/src/components/InteractiveFeedbackView/InteractiveFeedbackView.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { WebbErrorCodes } from '@webb-tools/dapp-types'; -import { Modal, ModalContent } from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; - -import { DefaultErrorView } from './DefaultErrorView'; -import { UnselectedNetworkView } from './UnselectedNetworkView'; -import { InteractiveFeedbackViewProps } from './types'; - -export const InteractiveFeedbackView: FC = ({ - activeFeedback, -}) => { - return ( - - - {activeFeedback && - (activeFeedback.reason === WebbErrorCodes.UnselectedChain ? ( - - ) : ( - - ))} - - - ); -}; diff --git a/apps/bridge-dapp/src/components/InteractiveFeedbackView/UnselectedNetworkView.tsx b/apps/bridge-dapp/src/components/InteractiveFeedbackView/UnselectedNetworkView.tsx deleted file mode 100644 index 55c2b0440f..0000000000 --- a/apps/bridge-dapp/src/components/InteractiveFeedbackView/UnselectedNetworkView.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import { FC } from 'react'; -import { UnselectedNetworkViewProps } from './types'; -import { Close } from '@webb-tools/icons'; -import { FeedbackEntry } from '@webb-tools/dapp-types'; -import { Typography } from '@webb-tools/webb-ui-components'; - -export const UnselectedNetworkView: FC = ({ - activeFeedback, -}) => { - return ( -
-
- -
- -
- {activeFeedback.feedbackBody.map((entry, idx) => { - const key = Object.keys(entry)[0] as keyof FeedbackEntry; - const commonProps = { - key: `${key}${idx}`, - }; - - switch (key) { - case 'content': - return ( -
- - {entry[key]} - -
- ); - - case 'header': - return ( - - {entry[key]} - - ); - - case 'any': - return
{entry[key]?.() ?? null}
; - - default: - return null; - } - })} -
-
- ); -}; diff --git a/apps/bridge-dapp/src/components/InteractiveFeedbackView/index.ts b/apps/bridge-dapp/src/components/InteractiveFeedbackView/index.ts deleted file mode 100644 index 5b93875c36..0000000000 --- a/apps/bridge-dapp/src/components/InteractiveFeedbackView/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './DefaultErrorView'; -export * from './InteractiveFeedbackView'; -export * from './UnselectedNetworkView'; diff --git a/apps/bridge-dapp/src/components/InteractiveFeedbackView/types.d.ts b/apps/bridge-dapp/src/components/InteractiveFeedbackView/types.d.ts deleted file mode 100644 index 4325efeede..0000000000 --- a/apps/bridge-dapp/src/components/InteractiveFeedbackView/types.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { InteractiveFeedback } from '@webb-tools/dapp-types'; - -export interface InteractiveFeedbackViewProps { - activeFeedback: InteractiveFeedback | null; -} - -export interface UnselectedNetworkViewProps { - activeFeedback: InteractiveFeedback; -} - -export interface DefaultErrorViewProps extends UnselectedNetworkViewProps {} diff --git a/apps/bridge-dapp/src/components/NoteAccountAvatarWithKey.tsx b/apps/bridge-dapp/src/components/NoteAccountAvatarWithKey.tsx deleted file mode 100644 index 38507aafd0..0000000000 --- a/apps/bridge-dapp/src/components/NoteAccountAvatarWithKey.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import { useHiddenValue } from '@webb-tools/webb-ui-components'; -import { Avatar } from '@webb-tools/webb-ui-components/components/Avatar'; -import { IconWithTooltip } from '@webb-tools/webb-ui-components/components/IconWithTooltip'; -import { KeyValueWithButton } from '@webb-tools/webb-ui-components/components/KeyValueWithButton'; -import { useCopyable } from '@webb-tools/webb-ui-components/hooks/useCopyable'; -import type { PropsOf } from '@webb-tools/webb-ui-components/types'; -import type { ComponentProps, ElementRef } from 'react'; -import { forwardRef } from 'react'; -import { twMerge } from 'tailwind-merge'; - -type Props = { - keyValue: string; - iconTooltipContent: string; - label?: string; - fontWeight?: ComponentProps['valueFontWeight']; -}; - -const NoteAccountAvatarWithKey = forwardRef< - ElementRef<'div'>, - PropsOf<'div'> & Props ->((props, ref) => { - const { - keyValue, - label, - iconTooltipContent, - className, - fontWeight, - ...divProps - } = props; - - const [isHiddenValue] = useHiddenValue(); - - const copyableResult = useCopyable(); - - return ( -
- } - content={iconTooltipContent} - /> - - '*') - .join('') - : keyValue - } - isDisabledTooltip={isHiddenValue} - copyProps={isHiddenValue ? copyableResult : undefined} - onCopyButtonClick={ - isHiddenValue ? () => copyableResult.copy(keyValue) : undefined - } - valueFontWeight={fontWeight} - size="sm" - labelVariant="body1" - valueVariant="body1" - /> -
- ); -}); - -export default NoteAccountAvatarWithKey; diff --git a/apps/bridge-dapp/src/components/ReceiveModal.tsx b/apps/bridge-dapp/src/components/ReceiveModal.tsx deleted file mode 100644 index 84771d3880..0000000000 --- a/apps/bridge-dapp/src/components/ReceiveModal.tsx +++ /dev/null @@ -1,100 +0,0 @@ -import { type FC, useCallback } from 'react'; -import { - Button, - Modal, - ModalContent, - ModalHeader, - ModalFooter, - Typography, - useCopyable, -} from '@webb-tools/webb-ui-components'; -import { QRScanLineIcon } from '@webb-tools/icons'; -import { shortenHex } from '@webb-tools/webb-ui-components/utils/shortenHex'; -import { useReceiveModal } from '../hooks'; -import { NOTE_ACCOUNT_DOCS_URL } from '../constants/links'; - -const ReceiveModal: FC = () => { - const { copy, isCopied } = useCopyable(); - const { isModalOpen, toggleModal, publicKey } = useReceiveModal(); - - const handleOpenChange = useCallback( - (isOpen: boolean) => { - toggleModal(isOpen); - }, - [toggleModal], - ); - - const closeModal = useCallback(() => { - toggleModal(false); - }, [toggleModal]); - - return ( - - - - Receive - - -
-
-
- -
-
- - Receiving Shielded Funds - - - To receive shielded funds via transfers on the Hubble Bridge, - simply copy and share your shielded account public key. This - unique identifier allows others to transfer spend notes to your - account. - -
-
-
- - Account Public Key: - - - {publicKey ? shortenHex(publicKey, 5) : '--'} - -
-
- - - {publicKey !== undefined && ( - - )} - - -
-
- ); -}; - -export default ReceiveModal; diff --git a/apps/bridge-dapp/src/components/RelayerFeeDetails.tsx b/apps/bridge-dapp/src/components/RelayerFeeDetails.tsx deleted file mode 100644 index 1dcc5f1895..0000000000 --- a/apps/bridge-dapp/src/components/RelayerFeeDetails.tsx +++ /dev/null @@ -1,115 +0,0 @@ -import type { OptionalActiveRelayer } from '@webb-tools/abstract-api-provider/relayer/types'; -import type { ChainConfig } from '@webb-tools/dapp-config/chains/chain-config.interface'; -import type { CurrencyConfig } from '@webb-tools/dapp-config/currencies/currency-config.interface'; -import { ExternalLinkLine } from '@webb-tools/icons/ExternalLinkLine'; -import GasStationFill from '@webb-tools/icons/GasStationFill'; -import FeeDetails from '@webb-tools/webb-ui-components/components/FeeDetails'; -import type { FeeItem } from '@webb-tools/webb-ui-components/components/FeeDetails/types'; -import { Typography } from '@webb-tools/webb-ui-components/typography/Typography'; -import { formatEther } from 'viem'; -import getRelayerFeePercentage from '../utils/getRelayerFeePercentage'; -import { type FC, useMemo } from 'react'; -import { calculateTypedChainId } from '@webb-tools/sdk-core/typed-chain-id'; - -interface RelayerFeeDetailsProps { - totalFeeWei: bigint | undefined; - totalFeeToken: string | undefined; - gasFees: number | undefined; - relayerFees: number | undefined; - isFeeLoading: boolean | undefined; - srcChainCfg: ChainConfig | undefined; - fungibleCfg: CurrencyConfig | undefined; - activeRelayer: OptionalActiveRelayer; - info?: string; -} - -const RelayerFeeDetails: FC = ({ - activeRelayer, - fungibleCfg, - gasFees, - isFeeLoading, - relayerFees, - srcChainCfg, - totalFeeToken, - totalFeeWei, - info, -}) => { - const relayerFeePercentage = useMemo(() => { - if (!activeRelayer || !srcChainCfg) { - return; - } - - const typedChainId = calculateTypedChainId( - srcChainCfg.chainType, - srcChainCfg.id, - ); - - return getRelayerFeePercentage(activeRelayer, typedChainId); - }, [activeRelayer, srcChainCfg]); - - return ( - , - value: gasFees, - tokenSymbol: srcChainCfg?.nativeCurrency.symbol, - } satisfies FeeItem) - : undefined, - typeof relayerFees !== 'undefined' - ? ({ - name: `Relayer Fee ${ - typeof relayerFeePercentage === 'number' - ? `(${relayerFeePercentage.toFixed(2)}%)` - : '' - }`.trim(), - isLoading: isFeeLoading, - value: relayerFees, - tokenSymbol: fungibleCfg?.symbol, - } satisfies FeeItem) - : undefined, - activeRelayer?.beneficiary - ? ({ - name: 'Relayer', - value: ( -
- - {new URL(activeRelayer.endpoint).host} - - - - - -
- ), - } satisfies FeeItem) - : undefined, - ].filter((item) => Boolean(item)) as Array - } - /> - ); -}; - -export default RelayerFeeDetails; diff --git a/apps/bridge-dapp/src/components/SlideAnimation/SlideAnimation.tsx b/apps/bridge-dapp/src/components/SlideAnimation/SlideAnimation.tsx deleted file mode 100644 index 6974445e96..0000000000 --- a/apps/bridge-dapp/src/components/SlideAnimation/SlideAnimation.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { HTMLMotionProps, motion } from 'framer-motion'; -import { FC } from 'react'; -import { twMerge } from 'tailwind-merge'; - -const SlideAnimation: FC> = ({ children, ...props }) => { - return ( - - {children} - - ); -}; - -export default SlideAnimation; diff --git a/apps/bridge-dapp/src/components/SlideAnimation/index.ts b/apps/bridge-dapp/src/components/SlideAnimation/index.ts deleted file mode 100644 index 725550b8b7..0000000000 --- a/apps/bridge-dapp/src/components/SlideAnimation/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import SlideAnimation from './SlideAnimation'; - -export default SlideAnimation; diff --git a/apps/bridge-dapp/src/components/SubmittedTxModal/SubmittedTxModal.tsx b/apps/bridge-dapp/src/components/SubmittedTxModal/SubmittedTxModal.tsx deleted file mode 100644 index e232f5e654..0000000000 --- a/apps/bridge-dapp/src/components/SubmittedTxModal/SubmittedTxModal.tsx +++ /dev/null @@ -1,83 +0,0 @@ -import { useModalQueueManager } from '@webb-tools/api-provider-environment/modal-queue-manager'; -import { ExternalLinkLine } from '@webb-tools/icons'; -import ShieldedCheckLineIcon from '@webb-tools/icons/ShieldedCheckLineIcon'; -import { KeyValueWithButton } from '@webb-tools/webb-ui-components/components/KeyValueWithButton'; -import { - Modal, - ModalContent, - ModalFooter, - ModalHeader, -} from '@webb-tools/webb-ui-components/components/Modal'; -import Button from '@webb-tools/webb-ui-components/components/buttons/Button'; -import { Typography } from '@webb-tools/webb-ui-components/typography/Typography'; -import { type FC, useMemo } from 'react'; -import { SubmittedTxModalProps } from './types'; - -const SubmittedTxModal: FC = ({ txType, ...props }) => { - const { dequeue } = useModalQueueManager(); - - const isWrapperType = useMemo( - () => txType && txType.includes('wrap'), - [txType], - ); - - return ( - - - - {`${ - isWrapperType || txType === undefined - ? 'Transaction' - : txType.toUpperCase() - } Submitted!`} - - -
- - - - {isWrapperType - ? `Your ${txType}ping request has successfully been queued.` - : 'Please allow 5-20 minutes for the funds to arrive at destination address.'} - - - {'txExplorerUrl' in props && props.txExplorerUrl != null ? ( - - ) : 'txHash' in props ? ( - - ) : null} -
- - - - -
-
- ); -}; - -export default SubmittedTxModal; diff --git a/apps/bridge-dapp/src/components/SubmittedTxModal/index.ts b/apps/bridge-dapp/src/components/SubmittedTxModal/index.ts deleted file mode 100644 index 24e7cd64fe..0000000000 --- a/apps/bridge-dapp/src/components/SubmittedTxModal/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import SubmittedTxModal from './SubmittedTxModal'; - -export default SubmittedTxModal; diff --git a/apps/bridge-dapp/src/components/SubmittedTxModal/types.ts b/apps/bridge-dapp/src/components/SubmittedTxModal/types.ts deleted file mode 100644 index bc1b480d8c..0000000000 --- a/apps/bridge-dapp/src/components/SubmittedTxModal/types.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { BRIDGE_TABS, WRAPPER_TABS } from '../../constants'; - -interface Props { - /** - * The transaction type to display in the modal - * if not provided, the modal will display the default - * transaction type - */ - txType?: (typeof BRIDGE_TABS)[number] | (typeof WRAPPER_TABS)[number]; -} - -interface PropsWithExplorerUrl extends Props { - /** - * Explorer url to the transaction - */ - txExplorerUrl: URL; -} - -interface PropsWithTxHash extends Props { - /** - * The transaction hash - */ - txHash: string; -} - -export type SubmittedTxModalProps = PropsWithExplorerUrl | PropsWithTxHash; diff --git a/apps/bridge-dapp/src/components/TxInfoItem/TxInfoItem.tsx b/apps/bridge-dapp/src/components/TxInfoItem/TxInfoItem.tsx deleted file mode 100644 index 32a8b9945c..0000000000 --- a/apps/bridge-dapp/src/components/TxInfoItem/TxInfoItem.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import { CornerDownRightLine } from '@webb-tools/icons/CornerDownRightLine'; -import { TitleWithInfo, Typography } from '@webb-tools/webb-ui-components'; -import { cloneElement, forwardRef } from 'react'; -import { twMerge } from 'tailwind-merge'; -import { TxInfoItemProps } from './types'; - -const TxInfoItem = forwardRef, TxInfoItemProps>( - ({ leftContent, rightIcon, rightText, className, ...props }, ref) => { - return ( -
-
- - - -
- -
- {rightIcon && - cloneElement(rightIcon, { - ...rightIcon.props, - className: twMerge('!fill-current', rightIcon.props.className), - })} - - {rightText && ( - - {rightText} - - )} -
-
- ); - }, -); - -export default TxInfoItem; diff --git a/apps/bridge-dapp/src/components/TxInfoItem/index.ts b/apps/bridge-dapp/src/components/TxInfoItem/index.ts deleted file mode 100644 index 7a38734abb..0000000000 --- a/apps/bridge-dapp/src/components/TxInfoItem/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TxInfoItem from './TxInfoItem'; - -export default TxInfoItem; diff --git a/apps/bridge-dapp/src/components/TxInfoItem/types.ts b/apps/bridge-dapp/src/components/TxInfoItem/types.ts deleted file mode 100644 index 2835e65094..0000000000 --- a/apps/bridge-dapp/src/components/TxInfoItem/types.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { IconBase } from '@webb-tools/icons/types'; -import { TitleWithInfo } from '@webb-tools/webb-ui-components'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import { ComponentProps } from 'react'; - -export interface TxInfoItemProps extends PropsOf<'div'> { - /** - * The props of TitleWithInfo component to render - * the title with tooltip info. - */ - leftContent: ComponentProps; - - /** - * The right icon of the item. - */ - rightIcon?: React.ReactElement; - - /** - * The right text to display. - */ - rightText: string; -} diff --git a/apps/bridge-dapp/src/components/index.ts b/apps/bridge-dapp/src/components/index.ts deleted file mode 100644 index 9a98226eaf..0000000000 --- a/apps/bridge-dapp/src/components/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './EducationCard'; -export * from './Header'; -export * from './InteractiveFeedbackView'; -export * from './ConnectWalletMobileContent'; -export { default as SlideAnimation } from './SlideAnimation'; -export { default as SubmittedTxModal } from './SubmittedTxModal'; -export { default as TxInfoItem } from './TxInfoItem'; diff --git a/apps/bridge-dapp/src/components/tables/EmptyTable.tsx b/apps/bridge-dapp/src/components/tables/EmptyTable.tsx deleted file mode 100644 index e94ff9f692..0000000000 --- a/apps/bridge-dapp/src/components/tables/EmptyTable.tsx +++ /dev/null @@ -1,124 +0,0 @@ -import { Button, Typography } from '@webb-tools/webb-ui-components'; -import React, { FC } from 'react'; -import { EmptyTableProps } from './types'; - -export const EmptyTable: FC = ({ - buttonText, - description, - onClick, - title, -}) => { - return ( -
-
-
- - - - {title} - - - - {description} - -
-
- -
- - Don't see your shielded asset?
- -
-
-
- ); -}; - -function ShieldedAssetIllustration(props: React.SVGProps) { - return ( - - - - - - - - - - - - - - - - - - - - - - ); -} diff --git a/apps/bridge-dapp/src/components/tables/FilterButton.tsx b/apps/bridge-dapp/src/components/tables/FilterButton.tsx deleted file mode 100644 index 507c604737..0000000000 --- a/apps/bridge-dapp/src/components/tables/FilterButton.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment'; -import type { ChainConfig } from '@webb-tools/dapp-config/chains/chain-config.interface'; -import { ChainIcon, FilterIcon2, Search } from '@webb-tools/icons'; -import { - Accordion, - AccordionButton, - AccordionContent, - AccordionItem, - Button, - CheckBoxMenuGroup, - Dropdown, - DropdownBasicButton, - DropdownBody, - Input, - Typography, -} from '@webb-tools/webb-ui-components'; -import { useMemo, type FC } from 'react'; -import { type FilterButtonProps } from './types'; - -export const FilterButton: FC = ({ - destinationChains, - setSelectedChains, - selectedChains, - searchPlaceholder, - globalSearchText, - setGlobalSearchText, - clearAllFilters, -}) => { - const { apiConfig } = useWebContext(); - - const chains = useMemo(() => { - return Object.keys(apiConfig.chains) - .map<[string, ChainConfig]>((key) => [key, apiConfig.chains[Number(key)]]) - .filter((val) => destinationChains.includes(val['1'].name)); - }, [apiConfig.chains, destinationChains]); - - return ( - - - - - - -
- - Filters - - -
- -
- } - value={globalSearchText} - onChange={setGlobalSearchText} - debounceTime={300} - /> -
- - - - Destination Chain - -
- { - setSelectedChains(v); - }} - iconGetter={([, chainConfig]) => ( -
- -
- )} - labelGetter={([, chain]) => chain.name} - keyGetter={([chainId]) => `Filter_proposals${chainId}`} - /> -
-
-
-
-
-
- ); -}; diff --git a/apps/bridge-dapp/src/components/tables/LoadingTable.tsx b/apps/bridge-dapp/src/components/tables/LoadingTable.tsx deleted file mode 100644 index e097baebeb..0000000000 --- a/apps/bridge-dapp/src/components/tables/LoadingTable.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import { Spinner } from '@webb-tools/icons'; -import { useNoteAccount } from '@webb-tools/react-hooks'; -import { Typography } from '@webb-tools/webb-ui-components'; -import { useEffect, useState } from 'react'; - -export const LoadingTable = () => { - const { syncNotesProgress } = useNoteAccount(); - - return ( -
-
-
- -
- - - Syncing notes{' '} - {Number.isNaN(syncNotesProgress) - ? '' - : `${syncNotesProgress.toFixed(2)}%`} - - - -
-
- ); -}; - -/*********************** - * Internal components * - ***********************/ - -const LoadingText = () => { - // State for number of dots for loading - const [dots, setDots] = useState(1); - - // Update dots every 500ms - useEffect(() => { - const interval = setInterval(() => { - setDots((dots) => (dots === 3 ? 1 : dots + 1)); - }, 500); - - return () => clearInterval(interval); - }, []); - - return ( - - Please wait a few minutes{`...`.slice(0, dots)} - - ); -}; diff --git a/apps/bridge-dapp/src/components/tables/index.ts b/apps/bridge-dapp/src/components/tables/index.ts deleted file mode 100644 index a74e7e8c6a..0000000000 --- a/apps/bridge-dapp/src/components/tables/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './EmptyTable'; -export * from './LoadingTable'; -export * from './FilterButton'; diff --git a/apps/bridge-dapp/src/components/tables/types.d.ts b/apps/bridge-dapp/src/components/tables/types.d.ts deleted file mode 100644 index 8db5c86c25..0000000000 --- a/apps/bridge-dapp/src/components/tables/types.d.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { Button } from '@webb-tools/webb-ui-components'; -import { ComponentProps } from 'react'; -export interface EmptyTableProps { - /** - * The empty table title - */ - title: string; - - /** - * The empty table description - */ - description: string; - - /** - * The empty table button text - */ - buttonText: string; - - /** - * The callback when user hit the link - */ - onClick?: ComponentProps['onClick']; -} - -export interface FilterButtonProps { - /** - * Available destination chains to filter - * */ - destinationChains: string[]; - - /** - * Set destination chains to filter - * */ - setSelectedChains: (chains: 'all' | [string, ChainConfig][]) => void; - - /** - * Selected destination chains to filter - * */ - selectedChains: 'all' | [string, ChainConfig][]; - - /** - * Search input placeholder - * */ - searchPlaceholder: string; - - /** - * Search input value - * */ - globalSearchText: string; - - /** - * Set search input value - * */ - setGlobalSearchText: (text: string) => void; - - /** - * Clear all applied filters - * */ - clearAllFilters: () => void; -} diff --git a/apps/bridge-dapp/src/constants/breadcrumb.tsx b/apps/bridge-dapp/src/constants/breadcrumb.tsx deleted file mode 100644 index 6a7d45de3b..0000000000 --- a/apps/bridge-dapp/src/constants/breadcrumb.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { ContrastTwoLine } from '@webb-tools/icons/ContrastTwoLine'; -import UserFillIcon from '@webb-tools/icons/UserFillIcon'; -import type { IconBase } from '@webb-tools/icons/types'; -import type React from 'react'; -import { - BRIDGE_PATH, - ECOSYSTEM_PATH, - NOTE_ACCOUNT_PATH, - WRAPPER_PATH, -} from './paths'; - -export const BREADCRUMBS_RECORD: Record< - string, - { - label: string; - Icon?: React.ReactElement; - } -> = { - [BRIDGE_PATH]: { - label: 'Hubble Bridge', - Icon: , - }, - [WRAPPER_PATH]: { - label: 'Hubble Wrapper', - Icon: , - }, - [NOTE_ACCOUNT_PATH]: { - label: 'Account Dashboard', - Icon: , - }, - [ECOSYSTEM_PATH]: { - label: 'Ecosystem', - }, -} as const; diff --git a/apps/bridge-dapp/src/constants/index.ts b/apps/bridge-dapp/src/constants/index.ts deleted file mode 100644 index 4210cb07d8..0000000000 --- a/apps/bridge-dapp/src/constants/index.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { - DEPOSIT_PATH, - TRANSFER_PATH, - UNWRAP_PATH, - WITHDRAW_PATH, - WRAP_PATH, -} from './paths'; -import { ButtonProps, populateDocsUrl } from '@webb-tools/webb-ui-components'; -import { WEBB_DOC_ROUTES_RECORD } from '@webb-tools/webb-ui-components/constants'; - -export * from '@webb-tools/webb-ui-components/constants'; -export * from './signIn'; -export * from './links'; -export * from './paths'; - -export const BRIDGE_TABS = [ - DEPOSIT_PATH, - WITHDRAW_PATH, - TRANSFER_PATH, -] as const; - -export const WRAPPER_TABS = [WRAP_PATH, UNWRAP_PATH] as const; - -export const ACTION_BUTTON_PROPS: ButtonProps[] = [ - { - children: 'Learn more', - variant: 'secondary', - isFullWidth: true, - href: populateDocsUrl( - WEBB_DOC_ROUTES_RECORD.projects['hubble-bridge'].overview, - ), - }, -]; diff --git a/apps/bridge-dapp/src/constants/links.ts b/apps/bridge-dapp/src/constants/links.ts deleted file mode 100644 index a30ac50a54..0000000000 --- a/apps/bridge-dapp/src/constants/links.ts +++ /dev/null @@ -1,16 +0,0 @@ -import populateDocsUrl from '@webb-tools/webb-ui-components/utils/populateDocsUrl'; -import { WEBB_DOC_ROUTES_RECORD } from '.'; - -export const NOTE_ACCOUNT_DOCS_URL = populateDocsUrl( - WEBB_DOC_ROUTES_RECORD.projects['hubble-bridge']['usage-guide'].account, -); - -export const USAGE_GUIDE_PATH = '/docs/projects/hubble-bridge/usage-guide'; - -export const BRIDGE_OVERVIEW_PATH = '/docs/projects/hubble-bridge/overview'; - -export const RECIPIENT_PUBLIC_KEY_DOCS_URL = populateDocsUrl( - WEBB_DOC_ROUTES_RECORD.projects['hubble-bridge']['usage-guide'].transfer[ - '#6-input-recipient-shielded-address' - ], -); diff --git a/apps/bridge-dapp/src/constants/paths.ts b/apps/bridge-dapp/src/constants/paths.ts deleted file mode 100644 index 76c88569a7..0000000000 --- a/apps/bridge-dapp/src/constants/paths.ts +++ /dev/null @@ -1,58 +0,0 @@ -export const BRIDGE_PATH = 'bridge'; -export const WRAPPER_PATH = 'wrapper'; -export const NOTE_ACCOUNT_PATH = 'account'; -export const ECOSYSTEM_PATH = 'ecosystem'; - -export const DEPOSIT_PATH = 'deposit'; -export const TRANSFER_PATH = 'transfer'; -export const WITHDRAW_PATH = 'withdraw'; - -export const WRAP_PATH = 'wrap'; -export const UNWRAP_PATH = 'unwrap'; -export const WRAP_FULL_PATH = `/${WRAPPER_PATH}/${WRAP_PATH}`; -export const UNWRAP_FULL_PATH = `/${WRAPPER_PATH}/${UNWRAP_PATH}`; - -export const SELECT_SOURCE_CHAIN_PATH = 'select-source-chain'; -export const SELECT_DESTINATION_CHAIN_PATH = 'select-destination-chain'; -export const SELECT_TOKEN_PATH = 'select-token'; -export const SELECT_SHIELDED_POOL_PATH = 'select-shielded-pool'; -export const SELECT_RELAYER_PATH = 'select-relayer'; - -export const SELECT_SOURCE_TOKEN_PATH = 'select-source-token'; -export const SELECT_DESTINATION_TOKEN_PATH = 'select-destination-token'; - -export const ACCOUNT_TRANSACTIONS_PATH = 'transactions'; -export const ACCOUNT_TRANSACTIONS_FULL_PATH = `/${NOTE_ACCOUNT_PATH}/${ACCOUNT_TRANSACTIONS_PATH}`; - -/** Key for source chain query params */ -export const SOURCE_CHAIN_KEY = 'source'; - -/** Key for destination chain query params */ -export const DEST_CHAIN_KEY = 'dest'; - -/** Key for wrappable currency query param */ -export const TOKEN_KEY = 'token'; - -/** Key for fungible currency query param */ -export const POOL_KEY = 'pool'; - -/** Key for fixed amount or custom amount */ -export const IS_CUSTOM_AMOUNT_KEY = 'isCustomAmount'; - -/** Key for transaction amount query param */ -export const AMOUNT_KEY = 'amount'; - -/** Key for has reund query param */ -export const HAS_REFUND_KEY = 'hasRefund'; - -/** Key for refund recipient query param */ -export const REFUND_RECIPIENT_KEY = 'refundRecipient'; - -/** Key for recipient query param */ -export const RECIPIENT_KEY = 'recipient'; - -/** Key for no relayer query params */ -export const NO_RELAYER_KEY = 'noRelayer'; - -/** Key for relayer endpoint query param */ -export const RELAYER_ENDPOINT_KEY = 'relayer'; diff --git a/apps/bridge-dapp/src/constants/sidebar.ts b/apps/bridge-dapp/src/constants/sidebar.ts deleted file mode 100644 index 954cf2c592..0000000000 --- a/apps/bridge-dapp/src/constants/sidebar.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { ContrastTwoLine } from '@webb-tools/icons/ContrastTwoLine'; -import { DocumentationIcon } from '@webb-tools/icons/DocumentationIcon'; -import { Tangle } from '@webb-tools/icons/Tangle'; -import { - type SideBarFooterType, - type SideBarItemProps, - type SidebarProps, -} from '@webb-tools/webb-ui-components'; -import { Logo } from '@webb-tools/webb-ui-components/components/Logo'; -import { - DKG_STATS_URL, - HUBBLE_STATS_URL, - TANGLE_MKT_URL, - WEBB_DOCS_URL, - WEBB_FAUCET_URL, - WEBB_MKT_URL, -} from '@webb-tools/webb-ui-components/constants'; -import { BRIDGE_PATH, WRAPPER_PATH } from './paths'; - -const items: SideBarItemProps[] = [ - { - name: 'Hubble', - isInternal: true, - href: '', - Icon: ContrastTwoLine, - subItems: [ - { - name: 'Bridge', - isInternal: true, - href: `/${BRIDGE_PATH}`, - }, - { - name: 'Wrapper', - isInternal: true, - href: `/${WRAPPER_PATH}`, - }, - { - name: 'Explorer', - isInternal: false, - href: HUBBLE_STATS_URL, - }, - { - name: 'Faucet', - isInternal: false, - href: WEBB_FAUCET_URL, - }, - ], - }, - { - name: 'Tangle Network', - isInternal: false, - href: '', - Icon: Tangle, - subItems: [ - { - name: 'DKG Explorer', - isInternal: false, - href: DKG_STATS_URL, - }, - { - name: 'Homepage', - isInternal: false, - href: TANGLE_MKT_URL, - }, - ], - }, -]; - -const footer: SideBarFooterType = { - name: 'Webb Docs', - isInternal: false, - href: WEBB_DOCS_URL, - Icon: DocumentationIcon, -}; - -const sidebar: SidebarProps = { - items: items, - Logo: Logo, - logoLink: WEBB_MKT_URL, - footer: footer, -}; - -export default sidebar; diff --git a/apps/bridge-dapp/src/constants/signIn.ts b/apps/bridge-dapp/src/constants/signIn.ts deleted file mode 100644 index 5abba06f2f..0000000000 --- a/apps/bridge-dapp/src/constants/signIn.ts +++ /dev/null @@ -1,23 +0,0 @@ -const domain = process.env.BRIDGE_DAPP_DOMAIN ?? 'localhost'; - -const origin = `http${domain === 'localhost' ? '' : 's'}://${domain}/login`; - -export const SIGN_IN_MESSAGE = ` -Logging into Webb's Hubble Bridge! - -Domain: {domain} -Origin: {origin} -Address: {address} - -To access your account and continue your journey, please sign in with your Ethereum account. - -Your privacy is important to us. We will never store or share your private keys. - -By signing in, you acknowledge and agree to our terms of service and privacy policy. -`; - -export function createSignInMessage(address: string) { - return SIGN_IN_MESSAGE.replace('{domain}', domain) - .replace('{origin}', origin) - .replace('{address}', address); -} diff --git a/apps/bridge-dapp/src/constants/tooltipContent.ts b/apps/bridge-dapp/src/constants/tooltipContent.ts deleted file mode 100644 index 5583624899..0000000000 --- a/apps/bridge-dapp/src/constants/tooltipContent.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const FIXED_AMOUNT_TOOLTIP_CONTENT = - 'Fixed amounts improve both pool and user privacy.'; - -export const CUSTOM_AMOUNT_TOOLTIP_CONTENT = - 'Custom amounts offer more flexibility but are not as private.'; diff --git a/apps/bridge-dapp/src/containers/ClearTxHistoryModal/ClearTxHistoryModal.tsx b/apps/bridge-dapp/src/containers/ClearTxHistoryModal/ClearTxHistoryModal.tsx deleted file mode 100644 index d5d0e15037..0000000000 --- a/apps/bridge-dapp/src/containers/ClearTxHistoryModal/ClearTxHistoryModal.tsx +++ /dev/null @@ -1,110 +0,0 @@ -import { type FC, useCallback, useState } from 'react'; -import { - Button, - CheckBox, - Modal, - ModalContent, - ModalHeader, - ModalFooter, - Typography, -} from '@webb-tools/webb-ui-components'; -import { DeleteBinIcon } from '@webb-tools/icons'; -import { useWebbUI } from '@webb-tools/webb-ui-components'; -import { getErrorMessage } from '../../utils'; - -const ClearTxHistoryModal: FC<{ - isOpen: boolean; - setIsOpen: (isOpen: boolean) => void; - clearTxHistory: () => Promise; - downloadTxHistory: () => void; -}> = ({ isOpen, setIsOpen, clearTxHistory, downloadTxHistory }) => { - const { notificationApi } = useWebbUI(); - - const [isCheckboxChecked, setIsCheckboxChecked] = useState(false); - - const closeModal = useCallback(() => { - setIsOpen(false); - setIsCheckboxChecked(false); - }, [setIsOpen]); - - const handleClearTxHistory = useCallback(async () => { - try { - await clearTxHistory(); - notificationApi.addToQueue({ - variant: 'success', - message: 'Transaction history deleted', - }); - } catch (error) { - const message = getErrorMessage(error); - notificationApi.addToQueue({ - variant: 'error', - message: 'Failed to delete transaction history', - secondaryMessage: message, - }); - } finally { - closeModal(); - } - }, [clearTxHistory, closeModal, notificationApi]); - - return ( - setIsOpen(isOpen)}> - - Clear Data - -
-
-
- -
-
- - All transaction history will be permanently deleted from local - storage. You may want to download of these before deleting. - - - This cannot be undone. Please ensure that you are deleting the - correct account. - -
-
- - { - setIsCheckboxChecked(!isCheckboxChecked); - }} - > - I understand this action is irreversible. - -
- - - - - -
-
- ); -}; - -export default ClearTxHistoryModal; diff --git a/apps/bridge-dapp/src/containers/ClearTxHistoryModal/index.ts b/apps/bridge-dapp/src/containers/ClearTxHistoryModal/index.ts deleted file mode 100644 index 8a0d3830cb..0000000000 --- a/apps/bridge-dapp/src/containers/ClearTxHistoryModal/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import ClearTxHistoryModal from './ClearTxHistoryModal'; - -export default ClearTxHistoryModal; diff --git a/apps/bridge-dapp/src/containers/CreateAccountModal/CreateAccountModal.tsx b/apps/bridge-dapp/src/containers/CreateAccountModal/CreateAccountModal.tsx deleted file mode 100644 index eab28fbc5a..0000000000 --- a/apps/bridge-dapp/src/containers/CreateAccountModal/CreateAccountModal.tsx +++ /dev/null @@ -1,215 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types'; -import { - Download, - ExchangeLine, - InformationLine, - WalletLineIcon, -} from '@webb-tools/icons'; -import { WebbWeb3Provider } from '@webb-tools/web3-api-provider'; -import { - Button, - CheckBox, - Modal, - ModalContent, - ModalFooter, - ModalHeader, - Typography, -} from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import Lottie from 'lottie-react'; -import { FC, useCallback, useState } from 'react'; -import { NOTE_ACCOUNT_DOCS_URL } from '../../constants/links'; -import { createSignInMessage } from '../../constants/signIn'; -import congratsJson from './congrats.json'; -import privacySecurityJson from './privacy-security.json'; -import { CreateAccountModalProps } from './types'; - -const successBridgeInfo = [ - { - title: 'Deposit', - description: - "Making a deposit will utilize your note account's public key to create a unique UTXO record that can only be spent by you.", - icon: , - }, - { - title: 'Storage', - description: - 'Your notes are stored locally as you transact through this application and encrypted on-chain for persistent storage.', - icon: , - }, - { - title: 'Withdraw/Transfer', - description: - "Using your note account's private key, you can generate the zero-knowledge proofs necessary for spending your stored UTXOs.", - icon: , - }, - { - title: 'Privacy', - description: - 'To maximize your privacy and protect yourself while transacting, read through our recommended user behaviors.', - icon: , - }, -]; - -export const CreateAccountModal: FC = ({ - isOpen, - onOpenChange, - isSuccess, - onIsSuccessChange: setIsSuccess, -}) => { - // The checkbox state - const [isChecked, setIsChecked] = useState(false); - - // Loading button when user hits create account - const [isCreating, setIsCreating] = useState(false); - - const { loginNoteAccount, activeApi } = useWebContext(); - - const loginWithMetamask = useCallback(async () => { - try { - setIsCreating(true); - - if (!activeApi) { - throw WebbError.from(WebbErrorCodes.ApiNotReady); - } - - if (!(activeApi instanceof WebbWeb3Provider)) { - throw WebbError.from(WebbErrorCodes.NotImplemented); - } - - const account = activeApi.accounts.activeOrDefault; - if (!account) { - throw WebbError.from(WebbErrorCodes.NoAccountAvailable); - } - - const msg = createSignInMessage(account.address); - - const signedString = await activeApi.sign(msg); - - await loginNoteAccount(signedString.slice(0, 66), account.address); - - setIsSuccess?.(true); - } catch (error) { - console.log('Error occurs when creating note account'); - console.log(error); - } finally { - setIsCreating(false); - } - }, [activeApi, loginNoteAccount, setIsSuccess]); - - const handleOpenChange = useCallback( - async (nextOpen: boolean) => { - onOpenChange(nextOpen); - }, - [onOpenChange], - ); - - const handleCloseAutoFocus = useCallback(() => { - setIsChecked(false); - setIsSuccess?.(false); - }, [setIsSuccess]); - - return ( - - - handleOpenChange(false)}> - {isSuccess ? 'Congrats!' : 'Create Note Account'} - - - {/** Modal Body */} -
- - {isSuccess - ? 'You can now start transacting privately!' - : 'The note account requires a wallet signature to help you manage cross-chain assets privately and with ease.'} - - - - - {isSuccess ? ( - - ) : ( - <> - - Your note account will be used to derive secrets that will be - used to transact on the bridge. You should never share these - secrets or your note account with anyone, including sharing the - signature that was used to generate your account. - -
- setIsChecked((prev) => !prev)} - spacingClassName="ml-2" - labelVariant="body2" - > - By selecting “Create Note Account”, you agree to Webb's Terms - of Use and Privacy Policy. - -
- - )} - - {/** Confetti animation */} - {isSuccess && ( - - )} -
- - - - - -
-
- ); -}; - -const SuccessModalBody = () => { - return ( -
- {successBridgeInfo.map((info, idx) => ( -
-
{info.icon}
- -
- - {info.title} - - {info.description} -
-
- ))} -
- ); -}; diff --git a/apps/bridge-dapp/src/containers/CreateAccountModal/congrats.json b/apps/bridge-dapp/src/containers/CreateAccountModal/congrats.json deleted file mode 100644 index 07c9ba6ddb..0000000000 --- a/apps/bridge-dapp/src/containers/CreateAccountModal/congrats.json +++ /dev/null @@ -1,5913 +0,0 @@ -{ - "v": "5.7.11", - "fr": 30, - "ip": 0, - "op": 110, - "w": 720, - "h": 960, - "nm": "Draw_confetti", - "ddd": 0, - "assets": [ - { - "id": "comp_0", - "layers": [ - { - "ddd": 0, - "ind": 1, - "ty": 0, - "nm": "Circle_blue", - "refId": "comp_1", - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [592, 342, 0], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [350, 450, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [70, 70, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "w": 700, - "h": 900, - "ip": 0, - "op": 300, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 2, - "ty": 0, - "nm": "Triangle_blue", - "refId": "comp_2", - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [584, 342, 0], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [400, 450, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [70, 70, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "w": 800, - "h": 900, - "ip": 0, - "op": 300, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 3, - "ty": 0, - "nm": "Square_blue", - "refId": "comp_3", - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [542, 342, 0], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [400, 450, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [70, 70, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "w": 800, - "h": 900, - "ip": 0, - "op": 300, - "st": 0, - "bm": 0 - } - ] - }, - { - "id": "comp_1", - "layers": [ - { - "ddd": 0, - "ind": 1, - "ty": 4, - "nm": "Circle_01_blue 10", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 29, - "s": [100] - }, - { - "t": 86, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 9, - "s": [723, 586.295, 0], - "to": [-99.167, -398.667, 0], - "ti": [43.167, -468.333, 0] - }, - { - "t": 84, - "s": [420, 270.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [249, 129, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [27.245, 27.245], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 20, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.737254901961, 0.819607843137, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [247.027, 128.501], - "ix": 2 - }, - "a": { - "a": 0, - "k": [-0.595, -0.122], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 4, - "op": 154, - "st": 4, - "bm": 0 - }, - { - "ddd": 0, - "ind": 2, - "ty": 4, - "nm": "Circle_01_blue 9", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 34, - "s": [100] - }, - { - "t": 91, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 14, - "s": [723, 586.295, 0], - "to": [-117.167, -298.667, 0], - "ti": [-48.833, -94.333, 0] - }, - { - "t": 89, - "s": [554, 610.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [249, 129, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [27.245, 27.245], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 20, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.737254901961, 0.819607843137, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [247.027, 128.501], - "ix": 2 - }, - "a": { - "a": 0, - "k": [-0.595, -0.122], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 9, - "op": 159, - "st": 9, - "bm": 0 - }, - { - "ddd": 0, - "ind": 3, - "ty": 4, - "nm": "Circle_01_blue 8", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 39, - "s": [100] - }, - { - "t": 96, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 19, - "s": [723, 586.295, 0], - "to": [-29.167, -342.667, 0], - "ti": [287.167, -180.333, 0] - }, - { - "t": 94, - "s": [172, 262.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [249, 129, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [27.245, 27.245], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 20, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.478431372549, 0.647058823529, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [247.027, 128.501], - "ix": 2 - }, - "a": { - "a": 0, - "k": [-0.595, -0.122], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 14, - "op": 164, - "st": 14, - "bm": 0 - }, - { - "ddd": 0, - "ind": 4, - "ty": 4, - "nm": "Circle_01_blue 7", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 44, - "s": [100] - }, - { - "t": 101, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 24, - "s": [723, 586.295, 0], - "to": [-73.167, -332.667, 0], - "ti": [181.167, -496.333, 0] - }, - { - "t": 99, - "s": [190, 528.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [249, 129, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [27.245, 27.245], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 20, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.137254901961, 0.43137254902, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [247.027, 128.501], - "ix": 2 - }, - "a": { - "a": 0, - "k": [-0.595, -0.122], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 19, - "op": 169, - "st": 19, - "bm": 0 - }, - { - "ddd": 0, - "ind": 5, - "ty": 4, - "nm": "Circle_01_blue 6", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 47, - "s": [100] - }, - { - "t": 104, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 27, - "s": [721, 579.295, 0], - "to": [-117.167, -298.667, 0], - "ti": [-26.833, -494.333, 0] - }, - { - "t": 102, - "s": [212, 480.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [249, 129, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [27.245, 27.245], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 20, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0, 0.294117647059, 0.866666666667, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [247.027, 128.501], - "ix": 2 - }, - "a": { - "a": 0, - "k": [-0.595, -0.122], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 22, - "op": 172, - "st": 22, - "bm": 0 - }, - { - "ddd": 0, - "ind": 6, - "ty": 4, - "nm": "Circle_01_blue 5", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 44, - "s": [100] - }, - { - "t": 101, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 24, - "s": [723, 586.295, 0], - "to": [-117.167, -298.667, 0], - "ti": [7.167, -230.333, 0] - }, - { - "t": 99, - "s": [346, 598.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [249, 129, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [27.245, 27.245], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 20, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.737254901961, 0.819607843137, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [247.027, 128.501], - "ix": 2 - }, - "a": { - "a": 0, - "k": [-0.595, -0.122], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 19, - "op": 169, - "st": 19, - "bm": 0 - }, - { - "ddd": 0, - "ind": 7, - "ty": 4, - "nm": "Circle_01_blue 4", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 39, - "s": [100] - }, - { - "t": 96, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 19, - "s": [723, 586.295, 0], - "to": [-117.167, -298.667, 0], - "ti": [-48.833, -212.333, 0] - }, - { - "t": 94, - "s": [440, 814.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [249, 129, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [27.245, 27.245], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 20, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.737254901961, 0.819607843137, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [247.027, 128.501], - "ix": 2 - }, - "a": { - "a": 0, - "k": [-0.595, -0.122], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 14, - "op": 164, - "st": 14, - "bm": 0 - }, - { - "ddd": 0, - "ind": 8, - "ty": 4, - "nm": "Circle_01_blue 3", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 34, - "s": [100] - }, - { - "t": 91, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 14, - "s": [723, 586.295, 0], - "to": [-53.167, -346.667, 0], - "ti": [413.167, -326.333, 0] - }, - { - "t": 89, - "s": [74, 210.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [249, 129, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [27.245, 27.245], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 20, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.478431372549, 0.647058823529, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [247.027, 128.501], - "ix": 2 - }, - "a": { - "a": 0, - "k": [-0.595, -0.122], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 9, - "op": 159, - "st": 9, - "bm": 0 - }, - { - "ddd": 0, - "ind": 9, - "ty": 4, - "nm": "Circle_01_blue 2", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 29, - "s": [100] - }, - { - "t": 86, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 9, - "s": [723, 586.295, 0], - "to": [-117.167, -298.667, 0], - "ti": [19.167, -598.333, 0] - }, - { - "t": 84, - "s": [62, 666.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [249, 129, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [27.245, 27.245], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 20, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.137254901961, 0.43137254902, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [247.027, 128.501], - "ix": 2 - }, - "a": { - "a": 0, - "k": [-0.595, -0.122], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 4, - "op": 154, - "st": 4, - "bm": 0 - }, - { - "ddd": 0, - "ind": 10, - "ty": 4, - "nm": "Circle_01_blue", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 25, - "s": [100] - }, - { - "t": 82, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 5, - "s": [721, 579.295, 0], - "to": [-117.167, -298.667, 0], - "ti": [-26.833, -494.333, 0] - }, - { - "t": 80, - "s": [298, 838.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [249, 129, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [27.245, 27.245], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 20, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0, 0.294117647059, 0.866666666667, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [247.027, 128.501], - "ix": 2 - }, - "a": { - "a": 0, - "k": [-0.595, -0.122], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 150, - "st": 0, - "bm": 0 - } - ] - }, - { - "id": "comp_2", - "layers": [ - { - "ddd": 0, - "ind": 1, - "ty": 4, - "nm": "Triangle_blue 12", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 41, - "s": [100] - }, - { - "t": 78, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.17], - "y": [1] - }, - "o": { - "x": [0.12], - "y": [0] - }, - "t": 0, - "s": [0] - }, - { - "t": 91, - "s": [720] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 0, - "s": [771, 579.295, 0], - "to": [-9.167, -146.667, 0], - "ti": [425.167, -800.333, 0] - }, - { - "t": 75, - "s": [72, 395.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [251.5, 126.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [248, 113.5], - [239.5, 135.5], - [266.5, 127] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0, 0.294117647059, 0.866666666667, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Shape 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 300, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 2, - "ty": 4, - "nm": "Triangle_blue 11", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 44, - "s": [100] - }, - { - "t": 81, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.17], - "y": [1] - }, - "o": { - "x": [0.12], - "y": [0] - }, - "t": 3, - "s": [0] - }, - { - "t": 94, - "s": [720] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 3, - "s": [771, 579.295, 0], - "to": [-9.167, -146.667, 0], - "ti": [19.167, -632.333, 0] - }, - { - "t": 78, - "s": [118, 859.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [251.5, 126.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [248, 113.5], - [239.5, 135.5], - [266.5, 127] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.921568627451, 0.945098039216, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Shape 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 3, - "op": 303, - "st": 3, - "bm": 0 - }, - { - "ddd": 0, - "ind": 3, - "ty": 4, - "nm": "Triangle_blue 10", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 47, - "s": [100] - }, - { - "t": 84, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.17], - "y": [1] - }, - "o": { - "x": [0.12], - "y": [0] - }, - "t": 6, - "s": [0] - }, - { - "t": 97, - "s": [720] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 6, - "s": [771, 579.295, 0], - "to": [-9.167, -146.667, 0], - "ti": [177.167, -170.333, 0] - }, - { - "t": 81, - "s": [546, 349.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [251.5, 126.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [248, 113.5], - [239.5, 135.5], - [266.5, 127] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.137254901961, 0.43137254902, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Shape 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 6, - "op": 306, - "st": 6, - "bm": 0 - }, - { - "ddd": 0, - "ind": 4, - "ty": 4, - "nm": "Triangle_blue 9", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 50, - "s": [100] - }, - { - "t": 87, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.17], - "y": [1] - }, - "o": { - "x": [0.12], - "y": [0] - }, - "t": 9, - "s": [0] - }, - { - "t": 100, - "s": [720] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 9, - "s": [771, 579.295, 0], - "to": [48.833, -362.667, 0], - "ti": [57.167, -202.333, 0] - }, - { - "t": 84, - "s": [444, 407.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [251.5, 126.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [248, 113.5], - [239.5, 135.5], - [266.5, 127] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.478431372549, 0.647058823529, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Shape 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 9, - "op": 309, - "st": 9, - "bm": 0 - }, - { - "ddd": 0, - "ind": 5, - "ty": 4, - "nm": "Triangle_blue 8", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 52, - "s": [100] - }, - { - "t": 89, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.17], - "y": [1] - }, - "o": { - "x": [0.12], - "y": [0] - }, - "t": 11, - "s": [0] - }, - { - "t": 102, - "s": [720] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 11, - "s": [771, 579.295, 0], - "to": [38.833, -314.667, 0], - "ti": [589.167, -262.333, 0] - }, - { - "t": 86, - "s": [36, 113.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [251.5, 126.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [248, 113.5], - [239.5, 135.5], - [266.5, 127] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0, 0.294117647059, 0.866666666667, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Shape 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 11, - "op": 311, - "st": 11, - "bm": 0 - }, - { - "ddd": 0, - "ind": 6, - "ty": 4, - "nm": "Triangle_blue 7", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 54, - "s": [100] - }, - { - "t": 91, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.17], - "y": [1] - }, - "o": { - "x": [0.12], - "y": [0] - }, - "t": 13, - "s": [0] - }, - { - "t": 104, - "s": [720] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 13, - "s": [771, 579.295, 0], - "to": [-117.167, -298.667, 0], - "ti": [-26.833, -494.333, 0] - }, - { - "t": 88, - "s": [32, 713.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [251.5, 126.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [248, 113.5], - [239.5, 135.5], - [266.5, 127] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.478431372549, 0.647058823529, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Shape 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 13, - "op": 313, - "st": 13, - "bm": 0 - }, - { - "ddd": 0, - "ind": 7, - "ty": 4, - "nm": "Triangle_blue 6", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 56, - "s": [100] - }, - { - "t": 93, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.17], - "y": [1] - }, - "o": { - "x": [0.12], - "y": [0] - }, - "t": 15, - "s": [0] - }, - { - "t": 106, - "s": [720] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 15, - "s": [771, 579.295, 0], - "to": [-9.167, -146.667, 0], - "ti": [-106.833, -194.333, 0] - }, - { - "t": 90, - "s": [654, 767.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [251.5, 126.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [248, 113.5], - [239.5, 135.5], - [266.5, 127] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.921568627451, 0.945098039216, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Shape 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 15, - "op": 315, - "st": 15, - "bm": 0 - }, - { - "ddd": 0, - "ind": 8, - "ty": 4, - "nm": "Triangle_blue 5", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 54, - "s": [100] - }, - { - "t": 91, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.17], - "y": [1] - }, - "o": { - "x": [0.12], - "y": [0] - }, - "t": 13, - "s": [0] - }, - { - "t": 104, - "s": [720] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 13, - "s": [771, 579.295, 0], - "to": [-9.167, -146.667, 0], - "ti": [-40.833, -358.333, 0] - }, - { - "t": 88, - "s": [358, 781.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [251.5, 126.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [248, 113.5], - [239.5, 135.5], - [266.5, 127] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.921568627451, 0.945098039216, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Shape 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 13, - "op": 313, - "st": 13, - "bm": 0 - }, - { - "ddd": 0, - "ind": 9, - "ty": 4, - "nm": "Triangle_blue 4", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 50, - "s": [100] - }, - { - "t": 87, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.17], - "y": [1] - }, - "o": { - "x": [0.12], - "y": [0] - }, - "t": 9, - "s": [0] - }, - { - "t": 100, - "s": [720] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 9, - "s": [771, 579.295, 0], - "to": [-9.167, -146.667, 0], - "ti": [69.167, -170.333, 0] - }, - { - "t": 84, - "s": [570, 539.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [251.5, 126.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [248, 113.5], - [239.5, 135.5], - [266.5, 127] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.137254901961, 0.43137254902, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Shape 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 9, - "op": 309, - "st": 9, - "bm": 0 - }, - { - "ddd": 0, - "ind": 10, - "ty": 4, - "nm": "Triangle_blue 3", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 46, - "s": [100] - }, - { - "t": 83, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.17], - "y": [1] - }, - "o": { - "x": [0.12], - "y": [0] - }, - "t": 5, - "s": [0] - }, - { - "t": 96, - "s": [720] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 5, - "s": [771, 579.295, 0], - "to": [-81.167, -270.667, 0], - "ti": [161.167, -122.333, 0] - }, - { - "t": 80, - "s": [384, 325.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [251.5, 126.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [248, 113.5], - [239.5, 135.5], - [266.5, 127] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.478431372549, 0.647058823529, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Shape 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 5, - "op": 305, - "st": 5, - "bm": 0 - }, - { - "ddd": 0, - "ind": 11, - "ty": 4, - "nm": "Triangle_blue 2", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 43, - "s": [100] - }, - { - "t": 80, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.17], - "y": [1] - }, - "o": { - "x": [0.12], - "y": [0] - }, - "t": 2, - "s": [0] - }, - { - "t": 93, - "s": [720] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 2, - "s": [771, 579.295, 0], - "to": [6.833, -296.667, 0], - "ti": [327.167, -266.333, 0] - }, - { - "t": 77, - "s": [368, 135.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [251.5, 126.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [248, 113.5], - [239.5, 135.5], - [266.5, 127] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0, 0.294117647059, 0.866666666667, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Shape 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 2, - "op": 302, - "st": 2, - "bm": 0 - }, - { - "ddd": 0, - "ind": 12, - "ty": 4, - "nm": "Triangle_blue", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 41, - "s": [100] - }, - { - "t": 78, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.17], - "y": [1] - }, - "o": { - "x": [0.12], - "y": [0] - }, - "t": 0, - "s": [0] - }, - { - "t": 91, - "s": [720] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.01, - "y": 0 - }, - "t": 0, - "s": [771, 579.295, 0], - "to": [-117.167, -298.667, 0], - "ti": [-26.833, -494.333, 0] - }, - { - "t": 75, - "s": [212, 605.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [251.5, 126.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [248, 113.5], - [239.5, 135.5], - [266.5, 127] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.478431372549, 0.647058823529, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Shape 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 300, - "st": 0, - "bm": 0 - } - ] - }, - { - "id": "comp_3", - "layers": [ - { - "ddd": 0, - "ind": 1, - "ty": 4, - "nm": "Shape Layer 7", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 42, - "s": [100] - }, - { - "t": 79, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 1, - "s": [0] - }, - { - "t": 47, - "s": [82] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.333, - "y": 0 - }, - "t": 1, - "s": [822, 575.295, 0], - "to": [-67.167, -590.667, 0], - "ti": [85.167, -206.333, 0] - }, - { - "t": 76, - "s": [180, 477.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [415.5, 128.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 1, - "k": [ - { - "i": { - "x": [0.825, 0.825, 0.825], - "y": [1, 1, 1] - }, - "o": { - "x": [0.301, 0.301, 0.301], - "y": [0, 0, 0] - }, - "t": 1, - "s": [100, 100, 100] - }, - { - "i": { - "x": [0.833, 0.833, 0.833], - "y": [1, 1, 1] - }, - "o": { - "x": [0.167, 0.167, 0.167], - "y": [0, 0, 0] - }, - "t": 47, - "s": [63, 43, 100] - }, - { - "t": 91, - "s": [100, 80, 100] - } - ], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [17.814, 18.689], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.737254901961, 0.819607843137, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [415.907, 127.345], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 1, - "op": 301, - "st": 1, - "bm": 0 - }, - { - "ddd": 0, - "ind": 2, - "ty": 4, - "nm": "Shape Layer 6", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 45, - "s": [100] - }, - { - "t": 82, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 4, - "s": [0] - }, - { - "t": 50, - "s": [82] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.333, - "y": 0 - }, - "t": 4, - "s": [822, 575.295, 0], - "to": [-29.167, -356.667, 0], - "ti": [89.167, -310.333, 0] - }, - { - "t": 79, - "s": [364, 429.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [415.5, 128.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 1, - "k": [ - { - "i": { - "x": [0.649, 0.649, 0.649], - "y": [1, 0.728, 1] - }, - "o": { - "x": [0.301, 0.301, 0.301], - "y": [0, 0, 0] - }, - "t": 4, - "s": [100, 100, 100] - }, - { - "i": { - "x": [0.825, 0.825, 0.825], - "y": [1, 1, 1] - }, - "o": { - "x": [0.409, 0.409, 0.409], - "y": [0, 0.588, 0] - }, - "t": 20, - "s": [71, 71.669, 100] - }, - { - "i": { - "x": [0.833, 0.833, 0.833], - "y": [1, 1, 1] - }, - "o": { - "x": [0.167, 0.167, 0.167], - "y": [0, 0, 0] - }, - "t": 50, - "s": [96, 43, 100] - }, - { - "t": 94, - "s": [100, 91, 100] - } - ], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [17.814, 18.689], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0, 0.294117647059, 0.866666666667, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [415.907, 127.345], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 4, - "op": 304, - "st": 4, - "bm": 0 - }, - { - "ddd": 0, - "ind": 3, - "ty": 4, - "nm": "Shape Layer 5", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 49, - "s": [100] - }, - { - "t": 86, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 8, - "s": [0] - }, - { - "t": 54, - "s": [82] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.333, - "y": 0 - }, - "t": 8, - "s": [822, 575.295, 0], - "to": [-67.167, -590.667, 0], - "ti": [-322.833, -540.333, 0] - }, - { - "t": 83, - "s": [228, 809.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [415.5, 128.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 1, - "k": [ - { - "i": { - "x": [0.649, 0.649, 0.649], - "y": [1, 1.173, 1] - }, - "o": { - "x": [0.301, 0.301, 0.301], - "y": [0, 0, 0] - }, - "t": 8, - "s": [100, 100, 100] - }, - { - "i": { - "x": [0.825, 0.825, 0.825], - "y": [1, 1, 1] - }, - "o": { - "x": [0.409, 0.409, 0.409], - "y": [0, 0.166, 0] - }, - "t": 24, - "s": [71, 144.669, 100] - }, - { - "i": { - "x": [0.833, 0.833, 0.833], - "y": [1, 1, 1] - }, - "o": { - "x": [0.167, 0.167, 0.167], - "y": [0, 0, 0] - }, - "t": 54, - "s": [9, 43, 100] - }, - { - "t": 98, - "s": [100, 80, 100] - } - ], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [17.814, 18.689], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.137254901961, 0.43137254902, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [415.907, 127.345], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 8, - "op": 308, - "st": 8, - "bm": 0 - }, - { - "ddd": 0, - "ind": 4, - "ty": 4, - "nm": "Shape Layer 4", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 47, - "s": [100] - }, - { - "t": 84, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 6, - "s": [0] - }, - { - "t": 52, - "s": [82] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.333, - "y": 0 - }, - "t": 6, - "s": [822, 575.295, 0], - "to": [-67.167, -590.667, 0], - "ti": [-86.833, -162.333, 0] - }, - { - "t": 81, - "s": [468, 209.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [415.5, 128.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 1, - "k": [ - { - "i": { - "x": [0.649, 0.649, 0.649], - "y": [1, 1.173, 1] - }, - "o": { - "x": [0.301, 0.301, 0.301], - "y": [0, 0, 0] - }, - "t": 6, - "s": [100, 100, 100] - }, - { - "i": { - "x": [0.825, 0.825, 0.825], - "y": [1, 1, 1] - }, - "o": { - "x": [0.409, 0.409, 0.409], - "y": [0, 0.166, 0] - }, - "t": 22, - "s": [71, 144.669, 100] - }, - { - "i": { - "x": [0.833, 0.833, 0.833], - "y": [1, 1, 1] - }, - "o": { - "x": [0.167, 0.167, 0.167], - "y": [0, 0, 0] - }, - "t": 52, - "s": [9, 43, 100] - }, - { - "t": 96, - "s": [100, 80, 100] - } - ], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [17.814, 18.689], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.737254901961, 0.819607843137, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [415.907, 127.345], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 6, - "op": 306, - "st": 6, - "bm": 0 - }, - { - "ddd": 0, - "ind": 5, - "ty": 4, - "nm": "Shape Layer 3", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 45, - "s": [100] - }, - { - "t": 82, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 4, - "s": [0] - }, - { - "t": 50, - "s": [82] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.333, - "y": 0 - }, - "t": 4, - "s": [822, 575.295, 0], - "to": [-29.167, -356.667, 0], - "ti": [-184.833, -308.333, 0] - }, - { - "t": 79, - "s": [514, 657.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [415.5, 128.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 1, - "k": [ - { - "i": { - "x": [0.649, 0.649, 0.649], - "y": [1, 1.173, 1] - }, - "o": { - "x": [0.301, 0.301, 0.301], - "y": [0, 0, 0] - }, - "t": 4, - "s": [100, 100, 100] - }, - { - "i": { - "x": [0.825, 0.825, 0.825], - "y": [1, 1, 1] - }, - "o": { - "x": [0.409, 0.409, 0.409], - "y": [0, 0.166, 0] - }, - "t": 20, - "s": [71, 144.669, 100] - }, - { - "i": { - "x": [0.833, 0.833, 0.833], - "y": [1, 1, 1] - }, - "o": { - "x": [0.167, 0.167, 0.167], - "y": [0, 0, 0] - }, - "t": 50, - "s": [9, 43, 100] - }, - { - "t": 94, - "s": [100, 80, 100] - } - ], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [17.814, 18.689], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.737254901961, 0.819607843137, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [415.907, 127.345], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 4, - "op": 304, - "st": 4, - "bm": 0 - }, - { - "ddd": 0, - "ind": 6, - "ty": 4, - "nm": "Shape Layer 2", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 43, - "s": [100] - }, - { - "t": 80, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 2, - "s": [0] - }, - { - "t": 48, - "s": [82] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.333, - "y": 0 - }, - "t": 2, - "s": [822, 575.295, 0], - "to": [-67.167, -590.667, 0], - "ti": [299.167, -510.333, 0] - }, - { - "t": 77, - "s": [64, 441.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [415.5, 128.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 1, - "k": [ - { - "i": { - "x": [0.649, 0.649, 0.649], - "y": [1, 1.173, 1] - }, - "o": { - "x": [0.301, 0.301, 0.301], - "y": [0, 0, 0] - }, - "t": 2, - "s": [100, 100, 100] - }, - { - "i": { - "x": [0.825, 0.825, 0.825], - "y": [1, 1, 1] - }, - "o": { - "x": [0.409, 0.409, 0.409], - "y": [0, 0.166, 0] - }, - "t": 18, - "s": [71, 144.669, 100] - }, - { - "i": { - "x": [0.833, 0.833, 0.833], - "y": [1, 1, 1] - }, - "o": { - "x": [0.167, 0.167, 0.167], - "y": [0, 0, 0] - }, - "t": 48, - "s": [9, 43, 100] - }, - { - "t": 92, - "s": [100, 80, 100] - } - ], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [17.814, 18.689], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.921568627451, 0.945098039216, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [415.907, 127.345], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 2, - "op": 302, - "st": 2, - "bm": 0 - }, - { - "ddd": 0, - "ind": 7, - "ty": 4, - "nm": "Shape Layer 1", - "sr": 1, - "ks": { - "o": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 41, - "s": [100] - }, - { - "t": 78, - "s": [0] - } - ], - "ix": 11 - }, - "r": { - "a": 1, - "k": [ - { - "i": { - "x": [0.833], - "y": [1] - }, - "o": { - "x": [0.333], - "y": [0] - }, - "t": 0, - "s": [0] - }, - { - "t": 46, - "s": [82] - } - ], - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0, - "y": 1 - }, - "o": { - "x": 0.333, - "y": 0 - }, - "t": 0, - "s": [822, 575.295, 0], - "to": [-117.167, -298.667, 0], - "ti": [-26.833, -494.333, 0] - }, - { - "t": 75, - "s": [212, 605.295, 0] - } - ], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [415.5, 128.5, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 1, - "k": [ - { - "i": { - "x": [0.649, 0.649, 0.649], - "y": [1, 0.422, 1] - }, - "o": { - "x": [0.301, 0.301, 0.301], - "y": [0, 0, 0] - }, - "t": 0, - "s": [100, 100, 100] - }, - { - "i": { - "x": [0.825, 0.825, 0.825], - "y": [1, 1, 1] - }, - "o": { - "x": [0.409, 0.409, 0.409], - "y": [0, 0.386, 0] - }, - "t": 16, - "s": [71, 86.669, 100] - }, - { - "i": { - "x": [0.833, 0.833, 0.833], - "y": [1, 1, 1] - }, - "o": { - "x": [0.167, 0.167, 0.167], - "y": [0, 0, 0] - }, - "t": 46, - "s": [123, 43, 100] - }, - { - "t": 90, - "s": [100, 80, 100] - } - ], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [17.814, 18.689], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.921568627451, 0.945098039216, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [415.907, 127.345], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 300, - "st": 0, - "bm": 0 - } - ] - } - ], - "layers": [ - { - "ddd": 0, - "ind": 1, - "ty": 0, - "nm": "right", - "refId": "comp_0", - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 10, - "ix": 10 - }, - "p": { - "a": 0, - "k": [320, 524, 0], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [360, 480, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [-100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "w": 720, - "h": 960, - "ip": 0, - "op": 150, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 2, - "ty": 0, - "nm": "right", - "refId": "comp_0", - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": -10, - "ix": 10 - }, - "p": { - "a": 0, - "k": [396, 524, 0], - "ix": 2, - "l": 2 - }, - "a": { - "a": 0, - "k": [360, 480, 0], - "ix": 1, - "l": 2 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6, - "l": 2 - } - }, - "ao": 0, - "w": 720, - "h": 960, - "ip": 0, - "op": 150, - "st": 0, - "bm": 0 - } - ], - "markers": [] -} diff --git a/apps/bridge-dapp/src/containers/CreateAccountModal/index.ts b/apps/bridge-dapp/src/containers/CreateAccountModal/index.ts deleted file mode 100644 index 46f7af421b..0000000000 --- a/apps/bridge-dapp/src/containers/CreateAccountModal/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './CreateAccountModal'; diff --git a/apps/bridge-dapp/src/containers/CreateAccountModal/privacy-security.json b/apps/bridge-dapp/src/containers/CreateAccountModal/privacy-security.json deleted file mode 100644 index 11596248ca..0000000000 --- a/apps/bridge-dapp/src/containers/CreateAccountModal/privacy-security.json +++ /dev/null @@ -1,4557 +0,0 @@ -{ - "v": "5.6.10", - "fr": 30, - "ip": 0, - "op": 180, - "w": 2048, - "h": 2048, - "nm": "privacy_security", - "ddd": 0, - "assets": [ - { - "id": "comp_0", - "layers": [ - { - "ddd": 0, - "ind": 1, - "ty": 4, - "nm": "eye_matte_upper", - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0.833, - "y": 0.833 - }, - "o": { - "x": 0.167, - "y": 0.167 - }, - "t": 34, - "s": [1023.519, 1277.585, 0], - "to": [0, 0, 0], - "ti": [0, 0, 0] - }, - { - "t": 40, - "s": [1023.519, 1277.585, 0] - } - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 1, - "k": [ - { - "i": { - "x": [0.34, 0.34, 0.34], - "y": [1, 1, 1] - }, - "o": { - "x": [0.14, 0.14, 0.14], - "y": [0, 0.245, 0] - }, - "t": 35, - "s": [1200, 0, 100] - }, - { - "i": { - "x": [0.34, 0.34, 0.34], - "y": [1, 1, 1] - }, - "o": { - "x": [0.14, 0.14, 0.14], - "y": [0, 0, 0] - }, - "t": 40, - "s": [1200, -750, 100] - }, - { - "i": { - "x": [0.1, 0.1, 0.1], - "y": [1, 1, 1] - }, - "o": { - "x": [0.9, 0.9, 0.9], - "y": [0, 0, 0] - }, - "t": 80, - "s": [1200, -750, 100] - }, - { - "i": { - "x": [0.1, 0.1, 0.1], - "y": [1, 1, 1] - }, - "o": { - "x": [0.9, 0.9, 0.9], - "y": [0, 0, 0] - }, - "t": 86, - "s": [1200, 0, 100] - }, - { - "i": { - "x": [0.1, 0.1, 0.1], - "y": [1, 1, 1] - }, - "o": { - "x": [0.9, 0.9, 0.9], - "y": [0, 0, 0] - }, - "t": 94, - "s": [1200, 0, 100] - }, - { - "i": { - "x": [0.833, 0.833, 0.833], - "y": [1, 1, 1] - }, - "o": { - "x": [0.14, 0.14, 0.14], - "y": [0, 0, 0] - }, - "t": 100, - "s": [1200, -750, 100] - }, - { - "i": { - "x": [0.34, 0.34, 0.34], - "y": [1, 1, 1] - }, - "o": { - "x": [0.167, 0.167, 0.167], - "y": [0, 0, 0] - }, - "t": 150, - "s": [1200, -750, 100] - }, - { - "t": 155, - "s": [1200, 0, 100] - } - ], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [-30.41, -23.5], - [30.41, -23.5], - [30.41, 23.5], - [-30.41, 23.5] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [1, 1, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 211, - "st": 0, - "bm": 0 - } - ] - } - ], - "layers": [ - { - "ddd": 0, - "ind": 1, - "ty": 3, - "nm": "circle_ctrl", - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 0, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [1024, 1024, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 1, - "k": [ - { - "i": { - "x": [0.1, 0.1, 0.1], - "y": [1, 1, 1] - }, - "o": { - "x": [0.9, 0.9, 0.9], - "y": [0, 0, 0] - }, - "t": 10, - "s": [100, 100, 100] - }, - { - "i": { - "x": [0.833, 0.833, 0.833], - "y": [1, 1, 1] - }, - "o": { - "x": [0.167, 0.167, 0.167], - "y": [0, 0, 0] - }, - "t": 40, - "s": [200, 200, 100] - }, - { - "i": { - "x": [0.833, 0.833, 0.833], - "y": [1, 1, 1] - }, - "o": { - "x": [0.167, 0.167, 0.167], - "y": [0, 0, 0] - }, - "t": 150, - "s": [200, 200, 100] - }, - { - "t": 165, - "s": [0, 0, 100] - } - ], - "ix": 6 - } - }, - "ao": 0, - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 2, - "ty": 4, - "nm": "circle_matte1", - "parent": 1, - "td": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [0, 0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [48, 48, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "d": 1, - "ty": "el", - "s": { - "a": 0, - "k": [2048, 2048], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "nm": "Ellipse Path 1", - "mn": "ADBE Vector Shape - Ellipse", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [1, 1, 1, 1], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 2, - "ix": 5 - }, - "lc": 1, - "lj": 1, - "ml": 4, - "bm": 0, - "nm": "Stroke 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [1, 0, 0, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Ellipse 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 3, - "ty": 4, - "nm": "alert_1", - "parent": 28, - "tt": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [50.888, 21.467, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [7.861, 5.989], - [-9.794, -1.324], - [-7.861, -5.989], - [9.794, 1.324] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 4, - "ty": 4, - "nm": "circle_matte2", - "parent": 1, - "td": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [0, 0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [48, 48, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "d": 1, - "ty": "el", - "s": { - "a": 0, - "k": [2048, 2048], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "nm": "Ellipse Path 1", - "mn": "ADBE Vector Shape - Ellipse", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [1, 1, 1, 1], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 2, - "ix": 5 - }, - "lc": 1, - "lj": 1, - "ml": 4, - "bm": 0, - "nm": "Stroke 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [1, 0, 0, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Ellipse 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 5, - "ty": 4, - "nm": "alert_2", - "parent": 28, - "tt": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [50.885, -20.668, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [7.865, -6], - [-9.795, 1.34], - [-7.855, 6], - [9.795, -1.34] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 6, - "ty": 4, - "nm": "circle_matte3", - "parent": 1, - "td": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [0, 0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [48, 48, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "d": 1, - "ty": "el", - "s": { - "a": 0, - "k": [2048, 2048], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "nm": "Ellipse Path 1", - "mn": "ADBE Vector Shape - Ellipse", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [1, 1, 1, 1], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 2, - "ix": 5 - }, - "lc": 1, - "lj": 1, - "ml": 4, - "bm": 0, - "nm": "Stroke 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [1, 0, 0, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Ellipse 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 7, - "ty": 4, - "nm": "alert_3", - "parent": 28, - "tt": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [-50.831, -20.669, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [7.894, 6.003], - [-9.826, -1.337], - [-7.894, -6.003], - [9.826, 1.337] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 8, - "ty": 4, - "nm": "circle_matte4", - "parent": 1, - "td": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [0, 0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [48, 48, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "d": 1, - "ty": "el", - "s": { - "a": 0, - "k": [2048, 2048], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "nm": "Ellipse Path 1", - "mn": "ADBE Vector Shape - Ellipse", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [1, 1, 1, 1], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 2, - "ix": 5 - }, - "lc": 1, - "lj": 1, - "ml": 4, - "bm": 0, - "nm": "Stroke 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [1, 0, 0, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Ellipse 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 9, - "ty": 4, - "nm": "alert_4", - "parent": 28, - "tt": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [-58.06, 0.407, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [-12.63, -2.525], - [12.63, -2.525], - [12.63, 2.525], - [-12.63, 2.525] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 10, - "ty": 4, - "nm": "circle_matte5", - "parent": 1, - "td": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [0, 0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [48, 48, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "d": 1, - "ty": "el", - "s": { - "a": 0, - "k": [2048, 2048], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "nm": "Ellipse Path 1", - "mn": "ADBE Vector Shape - Ellipse", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [1, 1, 1, 1], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 2, - "ix": 5 - }, - "lc": 1, - "lj": 1, - "ml": 4, - "bm": 0, - "nm": "Stroke 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [1, 0, 0, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Ellipse 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 11, - "ty": 4, - "nm": "alert_5", - "parent": 28, - "tt": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [58.15, 0.407, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [-12.63, -2.525], - [12.63, -2.525], - [12.63, 2.525], - [-12.63, 2.525] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 12, - "ty": 4, - "nm": "circle_matte6", - "parent": 1, - "td": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [0, 0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [48, 48, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "d": 1, - "ty": "el", - "s": { - "a": 0, - "k": [2048, 2048], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "nm": "Ellipse Path 1", - "mn": "ADBE Vector Shape - Ellipse", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [1, 1, 1, 1], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 2, - "ix": 5 - }, - "lc": 1, - "lj": 1, - "ml": 4, - "bm": 0, - "nm": "Stroke 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [1, 0, 0, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Ellipse 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 13, - "ty": 4, - "nm": "alert_6", - "parent": 28, - "tt": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [-50.791, 21.455, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [-9.794, 1.324], - [7.861, -5.989], - [9.794, -1.324], - [-7.861, 5.989] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 14, - "ty": 4, - "nm": "circle_matte7", - "parent": 1, - "td": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [0, 0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [48, 48, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "d": 1, - "ty": "el", - "s": { - "a": 0, - "k": [2048, 2048], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "nm": "Ellipse Path 1", - "mn": "ADBE Vector Shape - Ellipse", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [1, 1, 1, 1], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 2, - "ix": 5 - }, - "lc": 1, - "lj": 1, - "ml": 4, - "bm": 0, - "nm": "Stroke 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [1, 0, 0, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Ellipse 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 15, - "ty": 4, - "nm": "alert_7", - "parent": 28, - "tt": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [-58.06, 0.407, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [-12.63, -2.525], - [12.63, -2.525], - [12.63, 2.525], - [-12.63, 2.525] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 16, - "ty": 4, - "nm": "circle_matte8", - "parent": 1, - "td": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [0, 0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [48, 48, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "d": 1, - "ty": "el", - "s": { - "a": 0, - "k": [2048, 2048], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "nm": "Ellipse Path 1", - "mn": "ADBE Vector Shape - Ellipse", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [1, 1, 1, 1], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 2, - "ix": 5 - }, - "lc": 1, - "lj": 1, - "ml": 4, - "bm": 0, - "nm": "Stroke 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [1, 0, 0, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Ellipse 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 17, - "ty": 4, - "nm": "alert_8", - "parent": 28, - "tt": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [58.15, 0.407, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [-12.63, -2.525], - [12.63, -2.525], - [12.63, 2.525], - [-12.63, 2.525] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 18, - "ty": 4, - "nm": "lock_alpha", - "parent": 27, - "td": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [0, 0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [728, 150], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "st", - "c": { - "a": 0, - "k": [1, 1, 1, 1], - "ix": 3 - }, - "o": { - "a": 0, - "k": 100, - "ix": 4 - }, - "w": { - "a": 0, - "k": 2, - "ix": 5 - }, - "lc": 1, - "lj": 1, - "ml": 4, - "bm": 0, - "nm": "Stroke 1", - "mn": "ADBE Vector Graphic - Stroke", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [1, 0, 0, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [-2, 25], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 3, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 19, - "ty": 4, - "nm": "lock", - "parent": 27, - "tt": 2, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0.1, - "y": 1 - }, - "o": { - "x": 0.9, - "y": 0 - }, - "t": 0, - "s": [0.539, -360, 0], - "to": [0, 24, 0], - "ti": [0, -16, 0] - }, - { - "i": { - "x": 0.1, - "y": 1 - }, - "o": { - "x": 0.9, - "y": 0 - }, - "t": 30, - "s": [0.539, -216, 0], - "to": [0, 16, 0], - "ti": [0, 8, 0] - }, - { - "i": { - "x": 0.1, - "y": 0.1 - }, - "o": { - "x": 0.9, - "y": 0.9 - }, - "t": 35, - "s": [0.539, -264, 0], - "to": [0, 0, 0], - "ti": [0, 0, 0] - }, - { - "i": { - "x": 0.1, - "y": 1 - }, - "o": { - "x": 0.9, - "y": 0 - }, - "t": 157, - "s": [0.539, -264, 0], - "to": [0, -16, 0], - "ti": [0, 16, 0] - }, - { - "t": 162, - "s": [0.539, -360, 0] - } - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [1200, 1200, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0.006, -13.952], - [0, 0], - [0, 0], - [0, 0], - [-8.367, 0], - [-0.003, 0], - [0, 0], - [-0.006, -8.367], - [0, -0.003], - [0, 0], - [0, 0], - [0, 0], - [13.951, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0], - [0, -8.367], - [0.003, 0], - [0, 0], - [8.367, -0.006], - [0, 0.003], - [0, 0], - [0, 0], - [0, 0], - [0, -13.951], - [0, 0], - [0, 0], - [-13.952, 0] - ], - "v": [ - [-25.265, 7.575], - [-25.318, 27.018], - [-15.208, 27.018], - [-15.155, 7.575], - [-0.005, -7.575], - [0.005, -7.575], - [0.005, -7.575], - [15.165, 7.565], - [15.165, 7.575], - [15.165, 17.685], - [25.265, 17.685], - [25.265, 7.575], - [0.005, -17.685], - [0.005, -17.685], - [0.005, -17.685] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 20, - "ty": 4, - "nm": "lock_hole_r", - "parent": 27, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [243.119, -51.815, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [1200, 1200, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [-2.789, 0], - [0, -1.397], - [2.789, 0], - [0, 1.397] - ], - "o": [ - [2.789, 0], - [0, 1.397], - [-2.789, 0], - [0, -1.397] - ], - "v": [ - [0, -2.53], - [5.05, 0], - [0, 2.53], - [-5.05, 0] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 21, - "ty": 4, - "nm": "lock_hole_l", - "parent": 27, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [-241.921, -51.815, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [1200, 1200, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [-2.789, 0], - [0, -1.397], - [2.789, 0], - [0, 1.397] - ], - "o": [ - [2.789, 0], - [0, 1.397], - [-2.789, 0], - [0, -1.397] - ], - "v": [ - [0, -2.53], - [5.05, 0], - [0, 2.53], - [-5.05, 0] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 22, - "ty": 4, - "nm": "eyeball", - "parent": 24, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0.1, - "y": 1 - }, - "o": { - "x": 0.9, - "y": 0 - }, - "t": 60, - "s": [-0.05, 20.253, 0], - "to": [-1.658, 0, 0], - "ti": [1.658, 0, 0] - }, - { - "i": { - "x": 0.1, - "y": 0.1 - }, - "o": { - "x": 0.9, - "y": 0.9 - }, - "t": 75, - "s": [-10, 20.253, 0], - "to": [0, 0, 0], - "ti": [0, 0, 0] - }, - { - "i": { - "x": 0.1, - "y": 1 - }, - "o": { - "x": 0.9, - "y": 0 - }, - "t": 90, - "s": [-10, 20.253, 0], - "to": [3.333, 0, 0], - "ti": [-3.333, 0, 0] - }, - { - "i": { - "x": 0.1, - "y": 0.1 - }, - "o": { - "x": 0.9, - "y": 0.9 - }, - "t": 120, - "s": [10, 20.253, 0], - "to": [0, 0, 0], - "ti": [0, 0, 0] - }, - { - "i": { - "x": 0.1, - "y": 1 - }, - "o": { - "x": 0.9, - "y": 0 - }, - "t": 135, - "s": [10, 20.253, 0], - "to": [-1.675, 0, 0], - "ti": [1.675, 0, 0] - }, - { - "t": 150, - "s": [-0.05, 20.253, 0] - } - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 1, - "k": [ - { - "i": { - "x": [0.24, 0.24, 0.24], - "y": [1, 1, 1] - }, - "o": { - "x": [0.76, 0.76, 0.76], - "y": [0, 0, 0] - }, - "t": 30, - "s": [75, 75, 100] - }, - { - "i": { - "x": [0.24, 0.24, 0.24], - "y": [1, 1, 1] - }, - "o": { - "x": [0.76, 0.76, 0.76], - "y": [0, 0, 0] - }, - "t": 45, - "s": [100, 100, 100] - }, - { - "i": { - "x": [0.24, 0.24, 0.24], - "y": [1, 1, 1] - }, - "o": { - "x": [0.76, 0.76, 0.76], - "y": [0, 0, 0] - }, - "t": 60, - "s": [100, 100, 100] - }, - { - "i": { - "x": [0.24, 0.24, 0.24], - "y": [1, 1, 1] - }, - "o": { - "x": [0.76, 0.76, 0.76], - "y": [0, 0, 0] - }, - "t": 75, - "s": [75, 75, 100] - }, - { - "i": { - "x": [0.24, 0.24, 0.24], - "y": [1, 1, 1] - }, - "o": { - "x": [0.76, 0.76, 0.76], - "y": [0, 0, 0] - }, - "t": 90, - "s": [75, 75, 100] - }, - { - "i": { - "x": [0.24, 0.24, 0.24], - "y": [1, 1, 1] - }, - "o": { - "x": [0.76, 0.76, 0.76], - "y": [0, 0, 0] - }, - "t": 105, - "s": [90, 90, 100] - }, - { - "i": { - "x": [0.24, 0.24, 0.24], - "y": [1, 1, 1] - }, - "o": { - "x": [0.76, 0.76, 0.76], - "y": [0, 0, 0] - }, - "t": 120, - "s": [75, 75, 100] - }, - { - "i": { - "x": [0.24, 0.24, 0.24], - "y": [1, 1, 1] - }, - "o": { - "x": [0.76, 0.76, 0.76], - "y": [0, 0, 0] - }, - "t": 135, - "s": [75, 75, 100] - }, - { - "t": 150, - "s": [100, 100, 100] - } - ], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [3.921, -3.967], - [-3.967, -3.921], - [-3.921, 3.967], - [0.011, 2.673], - [0, 0] - ], - "o": [ - [-3.967, -3.921], - [-3.921, 3.967], - [3.967, 3.921], - [1.879, -1.901], - [0, 0], - [0, 0] - ], - "v": [ - [7.1, -7.183], - [-7.183, -7.1], - [-7.1, 7.183], - [7.183, 7.1], - [10.1, -0.043], - [-0.04, -0.043] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 23, - "ty": 0, - "nm": "eye_blinking", - "parent": 27, - "td": 1, - "refId": "comp_0", - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [0, 0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [1024, 1024, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6 - } - }, - "ao": 0, - "w": 2048, - "h": 2048, - "ip": 0, - "op": 183, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 24, - "ty": 4, - "nm": "eye", - "parent": 27, - "tt": 1, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [-0.541, 251.224, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [-0.095, 20.203, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [1200, 1200, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [9.297, 0.008], - [4.65, 8.055], - [-12.451, -7.153], - [-2.293, -3.991] - ], - "o": [ - [-9.301, 0.012], - [7.153, -12.451], - [3.991, 2.293], - [-4.649, 8.052] - ], - "v": [ - [-0.09, 33.23], - [-22.64, 20.23], - [12.856, 10.636], - [22.45, 20.23] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [1, 1, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 25, - "ty": 4, - "nm": "body", - "parent": 27, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [0.599, 8.785, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [1200, 1200, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [-30.5, 0], - [-30.5, 40.42], - [30.31, 40.42], - [30.31, 0] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 2", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [ - 0.09411764705882353, 0.12156862745098039, 0.16862745098039217, - 1 - ], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 26, - "ty": 4, - "nm": "top", - "parent": 27, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [-0.481, 169.585, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [1200, 1200, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ind": 0, - "ty": "sh", - "ix": 1, - "ks": { - "a": 0, - "k": { - "i": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "o": [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], - "v": [ - [-30.41, -23.5], - [30.41, -23.5], - [30.41, 23.5], - [-30.41, 23.5] - ], - "c": true - }, - "ix": 2 - }, - "nm": "Path 1", - "mn": "ADBE Vector Shape - Group", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [1, 1, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Group 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 181, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 27, - "ty": 3, - "nm": "local", - "parent": 28, - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 0, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 1, - "k": [ - { - "i": { - "x": 0.1, - "y": 1 - }, - "o": { - "x": 0.9, - "y": 0 - }, - "t": 15, - "s": [0, 0, 0], - "to": [0, 1.667, 0], - "ti": [0, 0, 0] - }, - { - "i": { - "x": 0.1, - "y": 1 - }, - "o": { - "x": 0.9, - "y": 0 - }, - "t": 20, - "s": [0, 10, 0], - "to": [0, 0, 0], - "ti": [0, 1.667, 0] - }, - { - "i": { - "x": 0.1, - "y": 0.1 - }, - "o": { - "x": 0.9, - "y": 0.9 - }, - "t": 30, - "s": [0, 0, 0], - "to": [0, 0, 0], - "ti": [0, 0, 0] - }, - { - "i": { - "x": 0.1, - "y": 1 - }, - "o": { - "x": 0.9, - "y": 0 - }, - "t": 157, - "s": [0, 0, 0], - "to": [0, -0.833, 0], - "ti": [0, 0, 0] - }, - { - "i": { - "x": 0.1, - "y": 1 - }, - "o": { - "x": 0.9, - "y": 0 - }, - "t": 162, - "s": [0, -5, 0], - "to": [0, 0, 0], - "ti": [0, -0.833, 0] - }, - { - "t": 164, - "s": [0, 0, 0] - } - ], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [8.333, 8.333, 100], - "ix": 6 - } - }, - "ao": 0, - "ip": 0, - "op": 182, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 28, - "ty": 3, - "nm": "Null 35", - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 0, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [1024, 1024, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [1200, 1200, 100], - "ix": 6 - } - }, - "ao": 0, - "ip": 0, - "op": 182, - "st": 0, - "bm": 0 - }, - { - "ddd": 0, - "ind": 29, - "ty": 4, - "nm": "bg", - "sr": 1, - "ks": { - "o": { - "a": 0, - "k": 100, - "ix": 11 - }, - "r": { - "a": 0, - "k": 0, - "ix": 10 - }, - "p": { - "a": 0, - "k": [1024, 1024, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100, 100], - "ix": 6 - } - }, - "ao": 0, - "shapes": [ - { - "ty": "gr", - "it": [ - { - "ty": "rc", - "d": 1, - "s": { - "a": 0, - "k": [2048, 2048], - "ix": 2 - }, - "p": { - "a": 0, - "k": [0, 0], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 4 - }, - "nm": "Rectangle Path 1", - "mn": "ADBE Vector Shape - Rect", - "hd": false - }, - { - "ty": "fl", - "c": { - "a": 0, - "k": [0.9254901960784314, 0.9568627450980393, 1, 1], - "ix": 4 - }, - "o": { - "a": 0, - "k": 100, - "ix": 5 - }, - "r": 1, - "bm": 0, - "nm": "Fill 1", - "mn": "ADBE Vector Graphic - Fill", - "hd": false - }, - { - "ty": "tr", - "p": { - "a": 0, - "k": [0, 0], - "ix": 2 - }, - "a": { - "a": 0, - "k": [0, 0], - "ix": 1 - }, - "s": { - "a": 0, - "k": [100, 100], - "ix": 3 - }, - "r": { - "a": 0, - "k": 0, - "ix": 6 - }, - "o": { - "a": 0, - "k": 100, - "ix": 7 - }, - "sk": { - "a": 0, - "k": 0, - "ix": 4 - }, - "sa": { - "a": 0, - "k": 0, - "ix": 5 - }, - "nm": "Transform" - } - ], - "nm": "Rectangle 1", - "np": 2, - "cix": 2, - "bm": 0, - "ix": 1, - "mn": "ADBE Vector Group", - "hd": false - } - ], - "ip": 0, - "op": 182, - "st": 0, - "bm": 0 - } - ], - "markers": [] -} diff --git a/apps/bridge-dapp/src/containers/CreateAccountModal/types.d.ts b/apps/bridge-dapp/src/containers/CreateAccountModal/types.d.ts deleted file mode 100644 index 61337b1ef8..0000000000 --- a/apps/bridge-dapp/src/containers/CreateAccountModal/types.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -export interface CreateAccountModalProps { - /** - * Boolean value to control the component - */ - isOpen: boolean; - - /** - * Callback to control the component - */ - onOpenChange: (open: boolean) => void; - - /** - * The state indicating if the account is being created - */ - isSuccess?: boolean; - - /** - * Callback to change the state indicating if the account is being created - * @param isSuccess Next value of the isSuccess state - */ - onIsSuccessChange?: (isSuccess: boolean) => void; -} diff --git a/apps/bridge-dapp/src/containers/DeleteNotesModal/DeleteNotesModal.tsx b/apps/bridge-dapp/src/containers/DeleteNotesModal/DeleteNotesModal.tsx deleted file mode 100644 index 04a56a54d5..0000000000 --- a/apps/bridge-dapp/src/containers/DeleteNotesModal/DeleteNotesModal.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import { - Button, - Modal, - ModalContent, - ModalFooter, - ModalHeader, - Typography, -} from '@webb-tools/webb-ui-components'; -import { FC, useCallback, useMemo } from 'react'; -import { downloadNotes } from '../../utils'; -import { DeleteNotesModalProps } from './types'; -import { useVAnchor } from '@webb-tools/react-hooks'; - -export const DeleteNotesModal: FC = ({ - notes, - setNotes, -}) => { - const { removeNoteFromNoteManager } = useVAnchor(); - - const isOpen = useMemo( - () => Array.isArray(notes) && notes.length > 0, - [notes], - ); - - const handleOpenChange = useCallback( - (isOpen: boolean) => { - if (!isOpen) { - setNotes?.(undefined); - } - }, - [setNotes], - ); - - const handleDownloadNotes = useCallback(() => { - if (notes) { - downloadNotes(notes); - setNotes?.(undefined); - } - }, [notes, setNotes]); - - const handleDeleteNotes = useCallback(async () => { - if (!notes) { - console.trace('No notes or note manager found'); - return; - } - - try { - await Promise.all(notes.map((note) => removeNoteFromNoteManager(note))); - setNotes?.(undefined); - } catch (error) { - console.error('Error deleting notes:', error); - } - }, [notes, setNotes, removeNoteFromNoteManager]); - - if (!notes) { - return null; - } - - return ( - - - setNotes?.(undefined)}> - Delete Note{notes.length > 1 ? 's' : ''} - - -
- - Attention! Deleting the selected ({notes.length}) spend note - {notes.length > 1 ? 's' : ''} will permanently remove them from your - local storage. Consider{' '} - {' '} - a copy of the spend notes before proceeding with deletion. - - - - This action cannot be undone, so please ensure that you are deleting - the correct item. - -
- - - - - - -
-
- ); -}; diff --git a/apps/bridge-dapp/src/containers/DeleteNotesModal/index.ts b/apps/bridge-dapp/src/containers/DeleteNotesModal/index.ts deleted file mode 100644 index 4edd86475c..0000000000 --- a/apps/bridge-dapp/src/containers/DeleteNotesModal/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './DeleteNotesModal'; diff --git a/apps/bridge-dapp/src/containers/DeleteNotesModal/types.d.ts b/apps/bridge-dapp/src/containers/DeleteNotesModal/types.d.ts deleted file mode 100644 index 9232d09faa..0000000000 --- a/apps/bridge-dapp/src/containers/DeleteNotesModal/types.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Note } from '@webb-tools/sdk-core'; - -export interface DeleteNotesModalProps { - /** - * The notes to be deleted - */ - notes?: Note[]; - - /** - * The callback to set the notes to be deleted - * @param notes - */ - setNotes?: (notes?: Note[]) => void; -} diff --git a/apps/bridge-dapp/src/containers/DepositConfirmContainer/DepositConfirmContainer.tsx b/apps/bridge-dapp/src/containers/DepositConfirmContainer/DepositConfirmContainer.tsx deleted file mode 100644 index 267791f824..0000000000 --- a/apps/bridge-dapp/src/containers/DepositConfirmContainer/DepositConfirmContainer.tsx +++ /dev/null @@ -1,347 +0,0 @@ -import { - Currency, - NewNotesTxResult, - TransactionExecutor, - TransactionState, -} from '@webb-tools/abstract-api-provider'; -import { getExplorerURI } from '@webb-tools/api-provider-environment/transaction/utils'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { useTxClientStorage } from '@webb-tools/api-provider-environment/transaction'; -import { chainsConfig } from '@webb-tools/dapp-config/chains/chain-config'; -import { GasStationFill } from '@webb-tools/icons'; -import { useVAnchor } from '@webb-tools/react-hooks'; -import { useBalancesFromNotes } from '@webb-tools/react-hooks/currency/useBalancesFromNotes'; -import { isViemError } from '@webb-tools/web3-api-provider'; -import { DepositConfirm, FeeDetails } from '@webb-tools/webb-ui-components'; -import { forwardRef, useCallback, useMemo, useState } from 'react'; -import { ContractFunctionRevertedError, formatEther, formatUnits } from 'viem'; -import { useEnqueueSubmittedTx } from '../../hooks'; -import useInProgressTxInfo from '../../hooks/useInProgressTxInfo'; -import { - getErrorMessage, - getTokenURI, - getTransactionHash, - handleMutateNoteIndex, - handleStoreNote, - getNoteSerializations, - getCurrentTimestamp, -} from '../../utils'; -import { DepositConfirmContainerProps } from './types'; - -const DepositConfirmContainer = forwardRef< - HTMLDivElement, - DepositConfirmContainerProps ->( - ( - { - amount, - fungibleTokenId, - note, - onResetState, - onClose, - sourceTypedChainId: sourceTypedChainIdProp, - destTypedChainId: destTypedChainIdProp, - wrappableTokenId, - }, - ref, - ) => { - const [checked, setChecked] = useState(false); - const { - api, - startNewTransaction, - addNoteToNoteManager, - removeNoteFromNoteManager, - } = useVAnchor(); - - const { activeApi, activeAccount, activeChain, apiConfig, txQueue } = - useWebContext(); - - const enqueueSubmittedTx = useEnqueueSubmittedTx(); - - const { addNewTransaction } = useTxClientStorage(); - - const { api: txQueueApi } = txQueue; - - const { balances } = useBalancesFromNotes(); - - const fungibleToken = useMemo(() => { - return new Currency(apiConfig.currencies[fungibleTokenId]); - }, [apiConfig.currencies, fungibleTokenId]); - - const wrappableToken = useMemo(() => { - if (typeof wrappableTokenId === 'undefined') { - return; - } - - return new Currency(apiConfig.currencies[wrappableTokenId]); - }, [wrappableTokenId, apiConfig.currencies]); - - const wrappingFlow = useMemo( - () => typeof wrappableTokenId !== 'undefined', - [wrappableTokenId], - ); - - const { - cardTitle, - currentStep, - inProgressTxId, - setInProgressTxId, - setTotalStep, - totalStep, - txStatus, - txStatusMessage, - } = useInProgressTxInfo(wrappingFlow, onResetState); - - const sourceTypedChainId = useMemo( - () => sourceTypedChainIdProp ?? +note.note.sourceChainId, - [sourceTypedChainIdProp, note.note.sourceChainId], - ); - - const destTypedChainId = useMemo( - () => destTypedChainIdProp ?? +note.note.targetChainId, - [destTypedChainIdProp, note.note.targetChainId], - ); - - const newBalance = useMemo(() => { - const balance = balances?.[fungibleTokenId]?.[destTypedChainId]; - if (!balance) return amount; - return Number(formatEther(balance)) + amount; - }, [balances, fungibleTokenId, destTypedChainId, amount]); - - const poolAddress = useMemo( - () => apiConfig.anchors[fungibleTokenId][destTypedChainId], - [apiConfig, fungibleTokenId, destTypedChainId], - ); - - const blockExplorerUrl = useMemo( - () => chainsConfig[destTypedChainId]?.blockExplorers?.default.url, - [destTypedChainId], - ); - - const poolExplorerUrl = useMemo(() => { - if (!blockExplorerUrl) return undefined; - - return getExplorerURI( - blockExplorerUrl, - poolAddress, - 'address', - 'web3', - ).toString(); - }, [blockExplorerUrl, poolAddress]); - - const handleExecuteDeposit = useCallback( - async () => { - if (!api || !activeApi || !activeChain) { - return; - } - - // Set transaction payload for transaction processing card - // Start a new transaction - if (inProgressTxId.length > 0) { - startNewTransaction(); - onResetState?.(); - return; - } - - const { - amount, - denomination, - sourceChainId: sourceTypedChainId, - targetChainId: destTypedChainId, - sourceIdentifyingData, - targetIdentifyingData, - tokenSymbol, - } = note.note; - - // Calculate the amount - const formattedAmount = formatUnits(BigInt(amount), +denomination); - - // Get the deposit token symbol - let srcTokenSymbol = tokenSymbol; - - if (wrappableToken) { - srcTokenSymbol = wrappableToken.view.symbol; - } - - // Get the destination token symbol - const destToken = tokenSymbol; - - const currency = apiConfig.getCurrencyBySymbolAndTypedChainId( - tokenSymbol, - +destTypedChainId, - ); - if (!currency) { - console.error(`Currency not found for symbol ${tokenSymbol}`); - return; - } - - const tokenURI = getTokenURI(currency, destTypedChainId); - - const tx = TransactionExecutor.new('Deposit', { - amount: +formattedAmount, - tokens: [srcTokenSymbol, destToken], - wallets: { - src: +sourceTypedChainId, - dest: +destTypedChainId, - }, - token: tokenSymbol, - tokenURI, - providerType: activeApi.type, - address: activeAccount?.address, - recipient: targetIdentifyingData, - }); - setInProgressTxId(tx.id); - setTotalStep(tx.totalSteps); - txQueueApi.registerTransaction(tx); - - try { - const args = await api?.prepareTransaction( - tx, - note, - wrappableToken?.getAddressOfChain(+sourceTypedChainId) ?? '', - ); - if (!args) { - return txQueueApi.cancelTransaction(tx.id); - } - - const nextIdx = Number( - await api.getNextIndex(+sourceTypedChainId, fungibleTokenId), - ); - - const indexBeforeInsert = nextIdx === 0 ? nextIdx : nextIdx - 1; - - const transactionHash = await api.transact(...args); - - await handleStoreNote(note, addNoteToNoteManager); - - enqueueSubmittedTx( - transactionHash, - apiConfig.chains[+sourceTypedChainId], - 'deposit', - ); - - await api.waitForFinalization(transactionHash); - - const indexedNote = await handleMutateNoteIndex( - api, - transactionHash, - note, - indexBeforeInsert, - sourceIdentifyingData, - ); - - await removeNoteFromNoteManager(note); - await addNoteToNoteManager(indexedNote); - - // Notification Success Transaction - tx.next(TransactionState.Done, { - txHash: transactionHash, - outputNotes: [indexedNote], - }); - - // add new DEPOSIT transaction to client storage - await addNewTransaction({ - hash: transactionHash, - activity: 'deposit', - amount: +formattedAmount, - fromAddress: activeAccount?.address ?? '', - recipientAddress: targetIdentifyingData, - fungibleTokenSymbol: fungibleToken.view.symbol, - wrapTokenSymbol: wrappableToken?.view.symbol, - timestamp: getCurrentTimestamp(), - outputNoteSerializations: getNoteSerializations([indexedNote]), - explorerUri: blockExplorerUrl - ? getExplorerURI( - blockExplorerUrl, - transactionHash, - 'tx', - 'web3', - ).toString() - : undefined, - sourceTypedChainId: +sourceTypedChainId, - destinationTypedChainId: +destTypedChainId, - }); - } catch (error) { - console.error(error); - removeNoteFromNoteManager(note); - tx.txHash = getTransactionHash(error); - - let errorMessage = getErrorMessage(error); - if (isViemError(error)) { - errorMessage = error.shortMessage; - - const revertError = error.walk( - (err) => err instanceof ContractFunctionRevertedError, - ); - - if (revertError instanceof ContractFunctionRevertedError) { - errorMessage = revertError.reason ?? revertError.shortMessage; - } - } - - tx.fail(errorMessage); - } - }, - // prettier-ignore - [activeAccount?.address, activeApi, activeChain, addNoteToNoteManager, api, apiConfig, enqueueSubmittedTx, fungibleTokenId, inProgressTxId.length, note, onResetState, removeNoteFromNoteManager, setInProgressTxId, setTotalStep, startNewTransaction, txQueueApi, wrappableToken, blockExplorerUrl, fungibleToken.view.symbol, addNewTransaction], - ); - - return ( - setChecked((prev) => !prev), - }} - totalProgress={totalStep} - progress={currentStep} - amount={amount} - wrappingAmount={amount} - fungibleTokenSymbol={fungibleToken.view.symbol} - sourceTypedChainId={sourceTypedChainId} - destTypedChainId={destTypedChainId} - sourceAddress={activeAccount?.address ?? ''} - destAddress={note.note.targetIdentifyingData} - poolAddress={poolAddress} - poolExplorerUrl={poolExplorerUrl} - newBalance={newBalance} - wrappableTokenSymbol={wrappableToken?.view.symbol} - txStatusColor={ - txStatus === 'completed' - ? 'green' - : txStatus === 'warning' - ? 'red' - : undefined - } - txStatusMessage={txStatusMessage} - onClose={onClose} - feesSection={ - , - }, - ]} - /> - } - /> - ); - }, -); - -export default DepositConfirmContainer; diff --git a/apps/bridge-dapp/src/containers/DepositConfirmContainer/index.ts b/apps/bridge-dapp/src/containers/DepositConfirmContainer/index.ts deleted file mode 100644 index 1605bf6d5e..0000000000 --- a/apps/bridge-dapp/src/containers/DepositConfirmContainer/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import DepositConfirmContainer from './DepositConfirmContainer'; - -export default DepositConfirmContainer; diff --git a/apps/bridge-dapp/src/containers/DepositConfirmContainer/types.ts b/apps/bridge-dapp/src/containers/DepositConfirmContainer/types.ts deleted file mode 100644 index f690613148..0000000000 --- a/apps/bridge-dapp/src/containers/DepositConfirmContainer/types.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Note } from '@webb-tools/sdk-core/note'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; - -export interface DepositConfirmContainerProps extends PropsOf<'div'> { - /** - * The deposit payload - */ - note: Note; - - /** - * The deposit amount - */ - amount: number; - - /** - * The source chain - */ - sourceTypedChainId?: number; - - /** - * The destination chain - */ - destTypedChainId?: number; - - /** - * The fungible token id - */ - fungibleTokenId: number; - - /** - * The wrapped token id - */ - wrappableTokenId?: number; - - /** - * The callback to reset the parent state - * @returns void - */ - onResetState?: () => void; - - /** - * The callback to close the card - */ - onClose?: () => void; -} diff --git a/apps/bridge-dapp/src/containers/HubbleContainer/HubbleContainer.tsx b/apps/bridge-dapp/src/containers/HubbleContainer/HubbleContainer.tsx deleted file mode 100644 index cefeec64af..0000000000 --- a/apps/bridge-dapp/src/containers/HubbleContainer/HubbleContainer.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment'; -import LoggerService from '@webb-tools/browser-utils/logger/LoggerService'; -import { ArrowRightUp } from '@webb-tools/icons'; -import { useNoteAccount } from '@webb-tools/react-hooks'; -import { - WebbUIErrorBoudary as ErrorBoundary, - Typography, -} from '@webb-tools/webb-ui-components'; -import { HUBBLE_STATS_URL } from '@webb-tools/webb-ui-components/constants'; -import cx from 'classnames'; -import { type FC, type PropsWithChildren } from 'react'; -import { Outlet } from 'react-router-dom'; -import { InteractiveFeedbackView } from '../../components'; -import { CreateAccountModal, WalletModalContainer } from '../../containers'; -import { useTryAnotherWalletWithView } from '../../hooks'; - -const logger = LoggerService.get('HubbleContainer'); - -const HubbleContainer: FC = () => { - const { activeFeedback } = useWebContext(); - - const { - isOpenNoteAccountModal, - isSuccessfullyCreatedNoteAccount, - setOpenNoteAccountModal, - setSuccessfullyCreatedNoteAccount, - } = useNoteAccount(); - - // Try again for try another wallet link in the token list - const { TryAnotherWalletModal } = useTryAnotherWalletWithView(); - - return ( - <> - - - - - - - - - setOpenNoteAccountModal(isOpen)} - isSuccess={isSuccessfullyCreatedNoteAccount} - onIsSuccessChange={(success) => - setSuccessfullyCreatedNoteAccount(success) - } - /> - - - - ); -}; - -export default HubbleContainer; diff --git a/apps/bridge-dapp/src/containers/HubbleContainer/index.ts b/apps/bridge-dapp/src/containers/HubbleContainer/index.ts deleted file mode 100644 index 3243236525..0000000000 --- a/apps/bridge-dapp/src/containers/HubbleContainer/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import HubbleContainer from './HubbleContainer'; - -export default HubbleContainer; diff --git a/apps/bridge-dapp/src/containers/Layout/Layout.tsx b/apps/bridge-dapp/src/containers/Layout/Layout.tsx deleted file mode 100644 index 582cbbe2e7..0000000000 --- a/apps/bridge-dapp/src/containers/Layout/Layout.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import { Transition } from '@headlessui/react'; -import { ContrastTwoLine } from '@webb-tools/icons'; -import { - Banner, - Footer, - SideBar, -} from '@webb-tools/webb-ui-components/components'; -import cx from 'classnames'; -import { useState, type FC } from 'react'; -import { Outlet } from 'react-router'; -import { Header } from '../../components/Header'; -import { WEBB_FAUCET_URL } from '../../constants'; -import useSidebarProps from '../../hooks/useSidebarProps'; - -const heightClsx = cx('h-screen'); - -export const Layout: FC = () => { - const [showBanner, setShowBanner] = useState(true); - - const onCloseHandler = () => { - setShowBanner(false); - }; - - const sidebarProps = useSidebarProps(); - - return ( -
-
- - -
- - - - -
-
-
-
- -
- -
-
- -
-
-
-
-
-
- ); -}; diff --git a/apps/bridge-dapp/src/containers/Layout/index.ts b/apps/bridge-dapp/src/containers/Layout/index.ts deleted file mode 100644 index 9877e7f4ae..0000000000 --- a/apps/bridge-dapp/src/containers/Layout/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './Layout'; diff --git a/apps/bridge-dapp/src/containers/PageTabsContainer/PageTabsContainer.tsx b/apps/bridge-dapp/src/containers/PageTabsContainer/PageTabsContainer.tsx deleted file mode 100644 index 7aead5f5b7..0000000000 --- a/apps/bridge-dapp/src/containers/PageTabsContainer/PageTabsContainer.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import cx from 'classnames'; -import { type FC, useMemo } from 'react'; -import { Link, useLocation } from 'react-router-dom'; -import { twMerge } from 'tailwind-merge'; -import { - BRIDGE_TABS, - WRAPPER_TABS, - BRIDGE_PATH, - WRAPPER_PATH, -} from '../../constants'; -import type { PageTabsContainerProps } from './types'; - -const PageTabsContainer: FC = ({ - children, - pageType, - settingBtnProps, - className, - ...props -}) => { - const { pathname } = useLocation(); - - const rootPath = useMemo( - () => (pageType === 'bridge' ? BRIDGE_PATH : WRAPPER_PATH), - [pageType], - ); - - const tabs = useMemo( - () => (pageType === 'bridge' ? BRIDGE_TABS : WRAPPER_TABS), - [pageType], - ); - - // Find active tab from pathname - const activeTab = useMemo( - () => - pathname.split('/').find((path) => !!tabs.find((tab) => tab === path)), - [pathname, tabs], - ); - - return ( -
-
    - {tabs.map((tab, idx) => ( -
  • - - {`${tab[0].toUpperCase()}${tab.substring(1)}`} - -
  • - ))} -
- - {children} -
- ); -}; - -export default PageTabsContainer; diff --git a/apps/bridge-dapp/src/containers/PageTabsContainer/index.ts b/apps/bridge-dapp/src/containers/PageTabsContainer/index.ts deleted file mode 100644 index 265b986846..0000000000 --- a/apps/bridge-dapp/src/containers/PageTabsContainer/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import PageTabsContainer from './PageTabsContainer'; - -export default PageTabsContainer; diff --git a/apps/bridge-dapp/src/containers/PageTabsContainer/types.ts b/apps/bridge-dapp/src/containers/PageTabsContainer/types.ts deleted file mode 100644 index 6f984c5364..0000000000 --- a/apps/bridge-dapp/src/containers/PageTabsContainer/types.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { PropsOf } from '@webb-tools/webb-ui-components/types'; - -export interface PageTabsContainerProps extends PropsOf<'div'> { - /** - * The type of the page - */ - pageType: 'bridge' | 'wrapper'; - - /** - * The props of the setting button. - */ - settingBtnProps?: PropsOf<'button'>; -} diff --git a/apps/bridge-dapp/src/containers/TransferConfirmContainer/TransferConfirmContainer.tsx b/apps/bridge-dapp/src/containers/TransferConfirmContainer/TransferConfirmContainer.tsx deleted file mode 100644 index 6cd7ae959b..0000000000 --- a/apps/bridge-dapp/src/containers/TransferConfirmContainer/TransferConfirmContainer.tsx +++ /dev/null @@ -1,562 +0,0 @@ -import { - NewNotesTxResult, - OptionalActiveRelayer, - TransactionExecutor, - TransactionState, - TransferTransactionPayloadType, -} from '@webb-tools/abstract-api-provider'; -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { useTxClientStorage } from '@webb-tools/api-provider-environment/transaction'; -import { getExplorerURI } from '@webb-tools/api-provider-environment/transaction/utils/getExplorerURI'; -import LoggerService from '@webb-tools/browser-utils/logger/LoggerService'; -import { ZERO_BIG_INT } from '@webb-tools/dapp-config'; -import { chainsConfig } from '@webb-tools/dapp-config/chains/chain-config'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types/WebbError'; -import { - useNoteAccount, - useRelayers, - useVAnchor, -} from '@webb-tools/react-hooks'; -import { useBalancesFromNotes } from '@webb-tools/react-hooks/currency/useBalancesFromNotes'; -import { ChainType, calculateTypedChainId } from '@webb-tools/sdk-core'; -import { ZERO_ADDRESS } from '@webb-tools/utils'; -import { isViemError } from '@webb-tools/web3-api-provider'; -import { - TransferConfirm, - getRoundedAmountString, -} from '@webb-tools/webb-ui-components'; -import { forwardRef, useMemo, useState, type ComponentProps } from 'react'; -import type { Hash } from 'viem'; -import { ContractFunctionRevertedError, formatEther } from 'viem'; -import RelayerFeeDetails from '../../components/RelayerFeeDetails'; -import useEnqueueSubmittedTx from '../../hooks/useEnqueueSubmittedTx'; -import useInProgressTxInfo from '../../hooks/useInProgressTxInfo'; -import useTransferFeeCalculation from '../../hooks/useTransferFeeCalculation'; -import { - getCurrentTimestamp, - getErrorMessage, - getNoteSerializations, - getTokenURI, - getTransactionHash, - handleMutateNoteIndex, - handleStoreNote, -} from '../../utils'; -import { RecipientPublicKeyTooltipContent } from './shared'; -import { TransferConfirmContainerProps } from './types'; - -const logger = LoggerService.get('TransferConfirmContainer'); - -const TransferConfirmContainer = forwardRef< - HTMLDivElement, - TransferConfirmContainerProps ->( - ( - { - amount, - changeAmount, - currency, - srcChain, - destChain, - recipient, - relayer, - activeChain, - note: changeNote, - changeUtxo, - transferUtxo, - inputNotes, - onResetState, - onClose, - feeInWei, - feeToken, - refundRecipient, - refundAmount, - refundToken, - ...props - }, - ref, - ) => { - // State for tracking the status of the change note checkbox - const [isChecked, setIsChecked] = useState(false); - - const { apiConfig, activeApi, noteManager } = useWebContext(); - - const { balances } = useBalancesFromNotes(); - - const { - cardTitle, - currentStep, - inProgressTxId, - setInProgressTxId, - setTotalStep, - totalStep, - txStatus, - txStatusMessage, - } = useInProgressTxInfo( - false, // Wrap/unwrap doesn't support on transfer flow - onResetState, - ); - - const srcTypedChainId = useMemo( - () => calculateTypedChainId(srcChain.chainType, srcChain.id), - [srcChain], - ); - - const targetChainId = useMemo( - () => calculateTypedChainId(destChain.chainType, destChain.id), - [destChain], - ); - - const poolAddress = useMemo( - () => apiConfig.anchors[currency.id][targetChainId], - [apiConfig, currency.id, targetChainId], - ); - - const blockExplorerUrl = useMemo( - () => chainsConfig[targetChainId]?.blockExplorers?.default.url, - [targetChainId], - ); - - const poolExplorerUrl = useMemo(() => { - if (!blockExplorerUrl) return undefined; - return getExplorerURI( - blockExplorerUrl, - poolAddress, - 'address', - 'web3', - ).toString(); - }, [blockExplorerUrl, poolAddress]); - - const { - relayersState: { activeRelayer }, - } = useRelayers({ - typedChainId: targetChainId, - target: activeApi?.state.activeBridge - ? activeApi.state.activeBridge.targets[targetChainId] - : undefined, - }); - - const { - gasFeeInfo, - isLoading: isFeeLoading, - relayerFeeInfo, - totalFeeToken, - totalFeeWei, - } = useTransferFeeCalculation({ - activeRelayer, - recipientErrorMsg: undefined, - typedChainId: srcTypedChainId, - }); - - const gasFees = useMemo( - () => - gasFeeInfo - ? parseFloat(formatEther(gasFeeInfo).slice(0, 10)) - : undefined, - [gasFeeInfo], - ); - - const relayerFees = useMemo( - () => - relayerFeeInfo - ? parseFloat(formatEther(relayerFeeInfo.estimatedFee).slice(0, 10)) - : undefined, - [relayerFeeInfo], - ); - - const handleTransferExecute = useTransferExecuteHandler({ - activeRelayer, - inputNotes, - onResetState, - amount, - recipient, - changeUtxo, - feeInWei, - transferUtxo, - refundAmount, - refundRecipient, - note: changeNote, - currency, - inProgressTxId, - setInProgressTxId, - setTotalStep, - targetTypedChainId: targetChainId, - blockExplorerUrl, - relayerFees, - gasFees, - refundToken, - }); - - const newBalance = useMemo(() => { - const currentBalance = balances?.[currency.id]?.[srcTypedChainId]; - if (!currentBalance) return undefined; - const updatedBalance = Number(formatEther(currentBalance)) - amount; - if (updatedBalance < 0) return undefined; - return updatedBalance; - }, [balances, currency.id, srcTypedChainId, amount]); - - const formattedFee = useMemo(() => { - if (!feeInWei) { - return undefined; - } - - const amountNum = Number(formatEther(feeInWei)); - - return getRoundedAmountString(amountNum, 3, { - roundingFunction: Math.round, - }); - }, [feeInWei]); - - return ( - , - }} - recipientPublicKey={recipient} - relayerAddress={relayer?.beneficiary} - relayerExternalUrl={relayer?.endpoint} - fungibleTokenSymbol={currency.view.symbol} - relayerAvatarTheme={ - activeChain?.chainType === ChainType.EVM ? 'ethereum' : 'polkadot' - } - fee={formattedFee} - feeToken={feeToken} - onClose={onClose} - checkboxProps={{ - isChecked, - onChange: () => setIsChecked((prev) => !prev), - }} - actionBtnProps={{ - isDisabled: changeNote ? !isChecked : false, - onClick: handleTransferExecute, - children: - inProgressTxId.length > 0 ? 'Make Another Transaction' : 'Transfer', - }} - txStatusColor={ - txStatus === 'completed' - ? 'green' - : txStatus === 'warning' - ? 'red' - : undefined - } - txStatusMessage={txStatusMessage} - refundAmount={ - typeof refundAmount === 'bigint' - ? Number(formatEther(refundAmount)) - : undefined - } - refundToken={refundToken} - refundRecipient={refundRecipient} - newBalance={newBalance} - feesSection={ - - } - /> - ); - }, -); - -export default TransferConfirmContainer; - -type Args = Pick< - ComponentProps, - | 'inputNotes' - | 'onResetState' - | 'amount' - | 'recipient' - | 'changeUtxo' - | 'feeInWei' - | 'transferUtxo' - | 'refundAmount' - | 'refundRecipient' - | 'note' - | 'currency' - | 'refundToken' -> & - Pick< - ReturnType, - 'inProgressTxId' | 'setInProgressTxId' | 'setTotalStep' - > & { - activeRelayer: OptionalActiveRelayer; - targetTypedChainId: number; - blockExplorerUrl?: string; - relayerFees?: number; - gasFees?: number; - }; - -const useTransferExecuteHandler = (args: Args) => { - const { - amount, - changeUtxo, - feeInWei: feeAmount, - inProgressTxId, - inputNotes, - onResetState, - recipient, - refundAmount, - refundRecipient, - setInProgressTxId, - setTotalStep, - transferUtxo, - note: changeNote, - activeRelayer, - currency, - targetTypedChainId, - blockExplorerUrl, - relayerFees, - gasFees, - refundToken, - } = args; - - const { - activeApi, - apiConfig, - noteManager, - activeChain, - txQueue: { api: txQueueApi }, - } = useWebContext(); - - const { addNoteToNoteManager, removeNoteFromNoteManager } = useVAnchor(); - - const enqueueSubmittedTx = useEnqueueSubmittedTx(); - - const { addNewTransaction } = useTxClientStorage(); - - const { syncNotes } = useNoteAccount(); - - return async () => { - if (inputNotes.length === 0) { - logger.error('No input notes provided'); - return; - } - - const vAnchorApi = activeApi?.methods.variableAnchor.actions.inner; - - if (!vAnchorApi || !activeApi || !activeChain) { - logger.error('No vAnchor API provided'); - return; - } - - if (inProgressTxId.length > 0) { - txQueueApi.startNewTransaction(); - onResetState?.(); - return; - } - - const tokenSymbol = currency.view.symbol; - const srcTypedChainId = calculateTypedChainId( - activeChain.chainType, - activeChain.id, - ); - - const destCurrency = apiConfig.getCurrencyBySymbolAndTypedChainId( - tokenSymbol, - +targetTypedChainId, - ); - if (!destCurrency) { - console.error(`Currency not found for symbol ${tokenSymbol}`); - return; - } - const tokenURI = getTokenURI(destCurrency, targetTypedChainId.toString()); - - const tx = TransactionExecutor.new('Transfer', { - amount, - tokens: [tokenSymbol, tokenSymbol], - wallets: { - src: srcTypedChainId, - dest: targetTypedChainId, - }, - token: tokenSymbol, - tokenURI, - providerType: activeApi.type, - address: noteManager?.getKeypair().toString(), - recipient, - }); - - setInProgressTxId(tx.id); - setTotalStep(tx.totalSteps); - txQueueApi.registerTransaction(tx); - - try { - const srcAnchorId = apiConfig.getAnchorIdentifier( - currency.id, - srcTypedChainId, - ); - - const destAnchorId = apiConfig.getAnchorIdentifier( - currency.id, - targetTypedChainId, - ); - - if (!srcAnchorId || !destAnchorId) { - throw WebbError.from(WebbErrorCodes.AnchorIdNotFound); - } - - const txPayload: TransferTransactionPayloadType = { - notes: inputNotes, - changeUtxo, - transferUtxo, - feeAmount: feeAmount ?? ZERO_BIG_INT, - refundAmount: refundAmount ?? ZERO_BIG_INT, - refundRecipient: refundRecipient ?? ZERO_ADDRESS, - }; - - const args = await vAnchorApi.prepareTransaction(tx, txPayload, ''); - - const outputNotes = changeNote ? [changeNote] : []; - - let indexBeforeInsert: number | undefined; - - // Use for auto sync note if the recipient is the same as the sender - const blockNumberBeforeInsert = - activeApi.getBlockNumber() ?? ZERO_BIG_INT; - - if (changeNote) { - const nextIdx = Number( - await vAnchorApi.getNextIndex(srcTypedChainId, currency.id), - ); - - indexBeforeInsert = nextIdx === 0 ? nextIdx : nextIdx - 1; - } - - let transactionHash: Hash; - - if (activeRelayer) { - transactionHash = await vAnchorApi.transactWithRelayer( - activeRelayer, - args, - outputNotes, - ); - - await handleStoreNote(changeNote, addNoteToNoteManager); - - enqueueSubmittedTx( - transactionHash, - apiConfig.chains[srcTypedChainId], - 'transfer', - ); - } else { - transactionHash = await vAnchorApi.transact(...args); - - enqueueSubmittedTx( - transactionHash, - apiConfig.chains[srcTypedChainId], - 'transfer', - ); - - await handleStoreNote(changeNote, addNoteToNoteManager); - - await vAnchorApi.waitForFinalization(transactionHash); - - // Notification Success Transaction - tx.next(TransactionState.Done, { - txHash: transactionHash, - outputNotes, - }); - } - - if (typeof indexBeforeInsert === 'number' && changeNote) { - const noteWithIdx = await handleMutateNoteIndex( - vAnchorApi, - transactionHash, - changeNote, - indexBeforeInsert, - srcAnchorId, - ); - - await removeNoteFromNoteManager(changeNote); - await addNoteToNoteManager(noteWithIdx); - } - - // Cleanup NoteAccount state - for (const note of inputNotes) { - await removeNoteFromNoteManager(note); - } - - const isSendToSelf = recipient === noteManager?.getKeypair().toString(); - // Sync note to add the transfered note if the recipient is the same as the sender - // This is to make sure the note is added to the note account - if (isSendToSelf) { - await syncNotes(undefined, undefined, blockNumberBeforeInsert); - } - - // add new TRANSFER transaction to client storage - await addNewTransaction({ - hash: transactionHash, - activity: 'transfer', - amount: amount, - fromAddress: noteManager?.getKeypair().toString() ?? '', - recipientAddress: recipient, - fungibleTokenSymbol: currency.view.symbol, - timestamp: getCurrentTimestamp(), - relayerName: activeRelayer?.account, - relayerUri: activeRelayer ? activeRelayer.infoUri : undefined, - relayerFeesAmount: relayerFees ?? gasFees, - refundAmount: - typeof refundAmount !== 'undefined' - ? parseFloat(formatEther(refundAmount).slice(0, 10)) - : undefined, - refundRecipientAddress: refundRecipient, - refundTokenSymbol: refundToken, - inputNoteSerializations: getNoteSerializations(inputNotes), - outputNoteSerializations: getNoteSerializations(outputNotes), - explorerUri: blockExplorerUrl - ? getExplorerURI( - blockExplorerUrl, - transactionHash, - 'tx', - 'web3', - ).toString() - : undefined, - sourceTypedChainId: srcTypedChainId, - destinationTypedChainId: targetTypedChainId, - }); - } catch (error) { - console.error('Error occured while transferring', error); - changeNote && (await removeNoteFromNoteManager(changeNote)); - tx.txHash = getTransactionHash(error); - - let errorMessage = getErrorMessage(error); - if (isViemError(error)) { - errorMessage = error.shortMessage; - - const revertError = error.walk( - (err) => err instanceof ContractFunctionRevertedError, - ); - - if (revertError instanceof ContractFunctionRevertedError) { - errorMessage = revertError.reason ?? revertError.shortMessage; - } - } - - tx.fail(errorMessage); - } - }; -}; diff --git a/apps/bridge-dapp/src/containers/TransferConfirmContainer/index.ts b/apps/bridge-dapp/src/containers/TransferConfirmContainer/index.ts deleted file mode 100644 index e858269a8e..0000000000 --- a/apps/bridge-dapp/src/containers/TransferConfirmContainer/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TransferConfirmContainer from './TransferConfirmContainer'; - -export default TransferConfirmContainer; diff --git a/apps/bridge-dapp/src/containers/TransferConfirmContainer/shared.tsx b/apps/bridge-dapp/src/containers/TransferConfirmContainer/shared.tsx deleted file mode 100644 index 50c18c6226..0000000000 --- a/apps/bridge-dapp/src/containers/TransferConfirmContainer/shared.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { Button, Typography } from '@webb-tools/webb-ui-components'; -import { RECIPIENT_PUBLIC_KEY_DOCS_URL } from '../../constants'; - -export const RecipientPublicKeyTooltipContent = () => ( -
- - Recipient public key - - - - { - "The recipient public key\nrepresents the shielded address linked to the intended recipient's account for the transfer." - } - - - -
-); diff --git a/apps/bridge-dapp/src/containers/TransferConfirmContainer/types.ts b/apps/bridge-dapp/src/containers/TransferConfirmContainer/types.ts deleted file mode 100644 index 41f58718da..0000000000 --- a/apps/bridge-dapp/src/containers/TransferConfirmContainer/types.ts +++ /dev/null @@ -1,134 +0,0 @@ -import { ActiveWebbRelayer, Currency } from '@webb-tools/abstract-api-provider'; -import { Chain } from '@webb-tools/dapp-config'; -import { Note, Utxo } from '@webb-tools/sdk-core'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import { BridgeTabContainerProps } from '../types'; - -export type CurrencyRecord = Record; - -export type ChainRecord = Record; - -/** - * The currencies record with key as currency id and value as currency - * along with destination chains corresponding to the currency - */ -export type CurrencyRecordWithChainsType = Record< - Currency['id'], - { - currency: Currency; - destChainRecord: ChainRecord; - } ->; - -/** - * The currency balance on different chains - */ -export type CurrencyBalanceRecordType = Record< - Currency['id'], - Record // chainId -> balance ->; - -export interface TransferContainerProps - extends BridgeTabContainerProps, - PropsOf<'div'> {} - -export interface TransferConfirmContainerProps - extends Omit, 'onCopy'> { - /** - * The transfer bridging asset - */ - currency: Currency; - - /** - * The source chain - */ - srcChain: Chain; - - /** - * The destination chain - */ - destChain: Chain; - - /** - * The amount to transfer - */ - amount: number; - - /** - * The change amount - */ - changeAmount: number; - - /** - * The active relayer - */ - relayer: ActiveWebbRelayer | null; - - /** - * The recipient public key - */ - recipient: string; - - /** - * The change note - */ - note?: Note; - - /** - * The input notes to transfer - */ - inputNotes: Note[]; - - /** - * The generated change utxo, - * this will be stored on-chain - */ - changeUtxo: Utxo; - - /** - * The generated transfer utxo, - * this will be stored on-chain - */ - transferUtxo: Utxo; - - /** - * The callbacl to reset the parent state - * @returns void - */ - onResetState?: () => void; - - /** - * The callback to close the card - */ - onClose?: () => void; - - /** - * The fee amount - */ - feeInWei?: bigint | null; - - /** - * The fee token - */ - feeToken?: string; - - /** - * The refund recipient - */ - refundRecipient?: string; - - /** - * The refund amount - */ - refundAmount?: bigint; - - /** - * The refund token - */ - refundToken?: string; - - /** - * The active chain - */ - activeChain: Chain; -} diff --git a/apps/bridge-dapp/src/containers/TxDetailContainer/InputOrOutputNotes.tsx b/apps/bridge-dapp/src/containers/TxDetailContainer/InputOrOutputNotes.tsx deleted file mode 100644 index 6123e87c9f..0000000000 --- a/apps/bridge-dapp/src/containers/TxDetailContainer/InputOrOutputNotes.tsx +++ /dev/null @@ -1,127 +0,0 @@ -import { type FC, useMemo } from 'react'; -import { formatEther } from 'viem'; -import cx from 'classnames'; -import { - AddressChip, - ChainChip, - CopyWithTooltip, - Typography, -} from '@webb-tools/webb-ui-components'; -import { ArrowLeft } from '@webb-tools/icons'; -import { chainsConfig } from '@webb-tools/dapp-config'; - -import { SectionWrapper, NoteOrAmountWrapper } from './Wrapper'; -import { InputOrOutputNotesProps } from './types'; - -const InputOrOutputNotes: FC = ({ - activity, - type, - notes, - fungibleTokenSymbol, - typedChainId, - noteAccountAddress, -}) => { - return ( - -
- - {type === 'input' ? 'Source' : 'Destination'} - -
- {typedChainId && ( - - )} - -
-
- {notes.map((note) => { - const amount = note.note.amount; - const serialization = note.serialize(); - const shortenNoteSerialization = `${serialization - .split('') - .slice(0, 14) - .join('')}...${serialization.split('').slice(-8).join('')}`; - return ( - -
- Note -
- - {shortenNoteSerialization} - - -
-
- -
- - {formatEther(BigInt(amount))} {fungibleTokenSymbol} - - -
-
- ); - })} -
- ); -}; - -export default InputOrOutputNotes; - -/** @internal */ -const ArrowBadge: FC> = ({ - activity, - type, -}) => { - const badgeColor = useMemo(() => { - let color: 'green' | 'blue' | 'yellow' | undefined; - - switch (true) { - case activity === 'deposit' && type === 'output': - color = 'green'; - break; - case activity === 'deposit' && type === 'input': - color = undefined; - break; - case type === 'input': - color = 'blue'; - break; - case type === 'output': - color = 'yellow'; - break; - default: - color = undefined; - break; - } - - return color; - }, [activity, type]); - - if (!badgeColor) return null; - - return ( -
- -
- ); -}; diff --git a/apps/bridge-dapp/src/containers/TxDetailContainer/SourceOrDestinationWalletInfo.tsx b/apps/bridge-dapp/src/containers/TxDetailContainer/SourceOrDestinationWalletInfo.tsx deleted file mode 100644 index 727e05ed0d..0000000000 --- a/apps/bridge-dapp/src/containers/TxDetailContainer/SourceOrDestinationWalletInfo.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import { type FC } from 'react'; -import { - AddressChip, - ChainChip, - Typography, -} from '@webb-tools/webb-ui-components'; -import { chainsConfig } from '@webb-tools/dapp-config'; - -import { SectionWrapper, NoteOrAmountWrapper } from './Wrapper'; -import { SourceOrDestinationWalletInfoProps } from './types'; - -const SourceOrDestinationWalletInfo: FC = ({ - type, - typedChainId, - walletAddress, - amount, - fungibleTokenSymbol, - wrapTokenSymbol, - unwrapTokenSymbol, -}) => { - return ( - -
- - {type === 'source' ? 'Source' : 'Destination'} - -
- - -
-
- - Amount - - {`${amount} ${ - wrapTokenSymbol ?? unwrapTokenSymbol ?? fungibleTokenSymbol - }`} - - -
- ); -}; - -export default SourceOrDestinationWalletInfo; diff --git a/apps/bridge-dapp/src/containers/TxDetailContainer/TxBasicInfo.tsx b/apps/bridge-dapp/src/containers/TxDetailContainer/TxBasicInfo.tsx deleted file mode 100644 index de47f9b6ed..0000000000 --- a/apps/bridge-dapp/src/containers/TxDetailContainer/TxBasicInfo.tsx +++ /dev/null @@ -1,176 +0,0 @@ -import { type FC, useCallback, useMemo } from 'react'; -import { - CopyWithTooltip, - Typography, - shortenHex, -} from '@webb-tools/webb-ui-components'; -import { getExplorerURI } from '@webb-tools/api-provider-environment/transaction/utils/getExplorerURI'; -import { chainsConfig } from '@webb-tools/dapp-config'; -import { ExternalLinkIcon } from '@radix-ui/react-icons'; - -import { SectionWrapper } from './Wrapper'; -import type { TxBasicInfoProps } from './types'; -import { formatDateTimeByTimestamp } from '../../utils'; - -const TxBasicInfo: FC = ({ - hash, - amount, - recipientAddress, - fungibleTokenSymbol, - wrapTokenSymbol, - unwrapTokenSymbol, - timestamp, - relayerUri, - relayerName, - relayerFeesAmount, - refundAmount, - refundTokenSymbol, - refundRecipientAddress, - destinationTypedChainId, -}) => { - const blockExplorerUrl = useMemo( - () => chainsConfig[destinationTypedChainId]?.blockExplorers?.default.url, - [destinationTypedChainId], - ); - - const getAddressTypeValueComponent = useCallback( - (hash: string, isTx?: boolean) => { - return blockExplorerUrl ? ( - - ) : ( - - ); - }, - [blockExplorerUrl], - ); - - return ( - - {/* Tx Hash */} - - - {/* Tx Amount */} - - - {/* Recipient */} - - - {/* Relayer Name */} - {(relayerName || relayerUri) && ( - - ) : ( - - ) - } - /> - )} - - {/* Relayer Fees */} - {relayerFeesAmount && ( - - )} - - {/* Refund Recipient */} - {refundRecipientAddress && ( - - )} - - {/* Refund Amount */} - {refundAmount && refundTokenSymbol && ( - - )} - - {/* Time */} - - - ); -}; - -export default TxBasicInfo; - -/** @internal */ -const TxBasicInfoItem: FC<{ label: string; value: React.ReactNode }> = ({ - label, - value, -}) => { - return ( -
- - {label} - - - {value} - -
- ); -}; - -/** @internal */ -const ValueWithCopyTooltip: FC<{ value: string; copyText?: string }> = ({ - value, - copyText, -}) => { - return ( -
- {value} - -
- ); -}; - -/** @internal */ -const ValueWithExternalLink: FC<{ value: string; href: string }> = ({ - value, - href, -}) => { - return ( -
- {value} - - - -
- ); -}; diff --git a/apps/bridge-dapp/src/containers/TxDetailContainer/TxDetailContainer.tsx b/apps/bridge-dapp/src/containers/TxDetailContainer/TxDetailContainer.tsx deleted file mode 100644 index b5bfb7c8d3..0000000000 --- a/apps/bridge-dapp/src/containers/TxDetailContainer/TxDetailContainer.tsx +++ /dev/null @@ -1,168 +0,0 @@ -import { type FC, useState, useEffect, useMemo } from 'react'; -import { Typography } from '@webb-tools/webb-ui-components'; -import { Note } from '@webb-tools/sdk-core'; -import type { TransactionType } from '@webb-tools/abstract-api-provider'; - -import InputOrOutputNotes from './InputOrOutputNotes'; -import SourceOrDestinationWalletInfo from './SourceOrDestinationWalletInfo'; -import TxBasicInfo from './TxBasicInfo'; - -const TxDetailContainer: FC = ({ - hash, - activity, - amount, - fromAddress, - recipientAddress, - fungibleTokenSymbol, - wrapTokenSymbol, - unwrapTokenSymbol, - timestamp, - relayerName, - relayerFeesAmount, - relayerUri, - refundAmount, - refundRecipientAddress, - refundTokenSymbol, - inputNoteSerializations, - outputNoteSerializations, - sourceTypedChainId, - destinationTypedChainId, -}) => { - const [inputNotes, setInputNotes] = useState([]); - const [outputNotes, setOutputNotes] = useState([]); - - const walletAddress = useMemo(() => { - if (activity === 'deposit') return fromAddress; - if (activity === 'withdraw') return recipientAddress; - return undefined; - }, [activity, fromAddress, recipientAddress]); - - const noteAccountAddress = useMemo(() => { - if (activity === 'deposit') return recipientAddress; - return fromAddress; - }, [activity, fromAddress, recipientAddress]); - - useEffect(() => { - async function getInputNotes() { - if (!inputNoteSerializations) return; - const inputNotes = await Promise.all( - inputNoteSerializations.map(async (serialization) => { - return await Note.deserialize(serialization); - }), - ); - setInputNotes(inputNotes); - } - - getInputNotes(); - }, [inputNoteSerializations]); - - useEffect(() => { - async function getOutputNotes() { - if (!outputNoteSerializations) return; - const outputNotes = await Promise.all( - outputNoteSerializations.map(async (serialization) => { - return await Note.deserialize(serialization); - }), - ); - setOutputNotes(outputNotes); - } - - getOutputNotes(); - }, [outputNoteSerializations]); - - return ( -
- {/* Basic Info */} - - - {/* Source Wallet */} - {activity === 'deposit' && sourceTypedChainId && walletAddress && ( -
- - Source wallet - - -
- )} - - {/* Input Notes */} - {activity !== 'deposit' && - inputNotes.length > 0 && - sourceTypedChainId && ( -
- - Inputs ({inputNotes.length}) - - -
- )} - - {/* Output Notes */} - {outputNotes.length > 0 && destinationTypedChainId && ( -
- - Outputs ({outputNotes.length}) - - -
- )} - - {/* Destination Wallet */} - {activity === 'withdraw' && destinationTypedChainId && walletAddress && ( -
- - Destination wallet - - -
- )} -
- ); -}; - -export default TxDetailContainer; diff --git a/apps/bridge-dapp/src/containers/TxDetailContainer/Wrapper.tsx b/apps/bridge-dapp/src/containers/TxDetailContainer/Wrapper.tsx deleted file mode 100644 index cc7661a4e2..0000000000 --- a/apps/bridge-dapp/src/containers/TxDetailContainer/Wrapper.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { type FC, type PropsWithChildren } from 'react'; -import { twMerge } from 'tailwind-merge'; - -export const SectionWrapper: FC = ({ - children, - className, -}) => { - return ( -
- {children} -
- ); -}; - -export const NoteOrAmountWrapper: FC< - PropsWithChildren & { className?: string } -> = ({ children, className }) => { - return ( -
- {children} -
- ); -}; diff --git a/apps/bridge-dapp/src/containers/TxDetailContainer/index.ts b/apps/bridge-dapp/src/containers/TxDetailContainer/index.ts deleted file mode 100644 index 99c432a682..0000000000 --- a/apps/bridge-dapp/src/containers/TxDetailContainer/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { default as TxDetailContainer } from './TxDetailContainer'; - -export default TxDetailContainer; diff --git a/apps/bridge-dapp/src/containers/TxDetailContainer/types.ts b/apps/bridge-dapp/src/containers/TxDetailContainer/types.ts deleted file mode 100644 index eb86a19cb6..0000000000 --- a/apps/bridge-dapp/src/containers/TxDetailContainer/types.ts +++ /dev/null @@ -1,39 +0,0 @@ -import type { TransactionType } from '@webb-tools/abstract-api-provider'; -import { Note } from '@webb-tools/sdk-core'; - -export interface TxBasicInfoProps - extends Pick< - TransactionType, - | 'hash' - | 'amount' - | 'recipientAddress' - | 'fungibleTokenSymbol' - | 'wrapTokenSymbol' - | 'unwrapTokenSymbol' - | 'relayerUri' - | 'relayerName' - | 'relayerFeesAmount' - | 'refundAmount' - | 'refundRecipientAddress' - | 'refundTokenSymbol' - | 'timestamp' - | 'destinationTypedChainId' - > {} - -export interface SourceOrDestinationWalletInfoProps - extends Pick< - TransactionType, - 'amount' | 'fungibleTokenSymbol' | 'wrapTokenSymbol' | 'unwrapTokenSymbol' - > { - type: 'source' | 'destination'; - typedChainId: number; - walletAddress: string; -} - -export interface InputOrOutputNotesProps - extends Pick { - type: 'input' | 'output'; - notes: Note[]; - typedChainId: number; - noteAccountAddress: string; -} diff --git a/apps/bridge-dapp/src/containers/TxInfoContainer/TxInfoContainer.tsx b/apps/bridge-dapp/src/containers/TxInfoContainer/TxInfoContainer.tsx deleted file mode 100644 index bf78afa0eb..0000000000 --- a/apps/bridge-dapp/src/containers/TxInfoContainer/TxInfoContainer.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import WalletFillIcon from '@webb-tools/icons/WalletFillIcon'; -import TxInfoItem from '../../components/TxInfoItem'; -import ShieldKeyholeFillIcon from '@webb-tools/icons/ShieldKeyholeFillIcon'; - -const TxInfoContainer = ({ - hasRefund, - refundAmount, - refundToken, - newBalance, - newBalanceToken, - txType, -}: { - hasRefund?: boolean; - refundAmount?: string; - refundToken?: string; - newBalance?: number; - newBalanceToken?: string; - txType: 'deposit' | 'withdraw' | 'transfer'; -}) => { - return ( -
- {refundAmount && hasRefund && ( - } - rightText={`${refundAmount.slice(0, 10)} ${refundToken ?? ''}`.trim()} - /> - )} - } - rightText={ - typeof newBalance === 'number' - ? `${newBalance.toString().slice(0, 10)} ${ - newBalanceToken ?? '' - }`.trim() - : '--' - } - /> -
- ); -}; - -export default TxInfoContainer; diff --git a/apps/bridge-dapp/src/containers/TxInfoContainer/index.ts b/apps/bridge-dapp/src/containers/TxInfoContainer/index.ts deleted file mode 100644 index 174d593a62..0000000000 --- a/apps/bridge-dapp/src/containers/TxInfoContainer/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TxInfoContainer from './TxInfoContainer'; - -export default TxInfoContainer; diff --git a/apps/bridge-dapp/src/containers/TxTableContainer/TxTableContainer.tsx b/apps/bridge-dapp/src/containers/TxTableContainer/TxTableContainer.tsx deleted file mode 100644 index 25c1556af8..0000000000 --- a/apps/bridge-dapp/src/containers/TxTableContainer/TxTableContainer.tsx +++ /dev/null @@ -1,214 +0,0 @@ -import { - Row, - getCoreRowModel, - getFilteredRowModel, - getPaginationRowModel, - getSortedRowModel, - useReactTable, - type SortingState, - type ColumnDef, -} from '@tanstack/react-table'; -import { ArrowLeft, ExternalLinkLine } from '@webb-tools/icons'; -import type { TransactionType } from '@webb-tools/abstract-api-provider'; -import { chainsConfig } from '@webb-tools/dapp-config/chains'; -import { - ChainChip, - Table, - fuzzyFilter, - Typography, - getTimeDetailByEpoch, - shortenHex, - formatTokenAmount, - HiddenValue, -} from '@webb-tools/webb-ui-components'; -import { type FC, useState, useCallback, useMemo } from 'react'; -import { twMerge } from 'tailwind-merge'; -import { useNavigate } from 'react-router'; - -import type { TxTableContainerProps } from './types'; -import { ACCOUNT_TRANSACTIONS_FULL_PATH } from '../../constants'; - -const staticColumns: ColumnDef[] = [ - { - header: 'Activity', - accessorKey: 'activity', - cell: (props) => ( - - {props.row.original.activity} - - ), - }, - { - header: 'Amount', - accessorKey: 'amount', - cell: (props) => ( - - - {`${ - props.row.original.activity === 'deposit' ? '+' : '-' - }${formatTokenAmount(props.row.original.amount.toString())}`} - {' '} - {props.row.original.wrapTokenSymbol ?? - props.row.original.unwrapTokenSymbol ?? - props.row.original.fungibleTokenSymbol} - - ), - }, - { - header: 'Source', - accessorKey: 'sourceTypedChainId', - cell: (props) => ( - - ), - }, - { - header: 'Destination', - accessorKey: 'destinationTypedChainId', - cell: (props) => ( - - ), - }, - { - accessorKey: 'recipient', - header: 'Recipient', - cell: (props) => { - const { recipientAddress, explorerUri } = props.row.original; - return ( -
- - {recipientAddress ? shortenHex(recipientAddress) : '-'} - - {explorerUri && ( - - - - )} -
- ); - }, - }, -]; - -const TxTableContainer: FC = ({ - data, - pageSize, - hideRecipientCol = false, - className, - allowSorting = true, -}) => { - const navigate = useNavigate(); - const [sorting, setSorting] = useState([ - { - id: 'timestamp', - desc: true, - }, - ]); - - const columns = useMemo[]>(() => { - const displayStaticColumns = hideRecipientCol - ? staticColumns.filter((col) => col.header !== 'Recipient') - : staticColumns; - return [ - ...displayStaticColumns, - { - accessorKey: 'timestamp', - header: (header) => { - const sortingState = header.column.getIsSorted(); - return ( -
{ - if (!allowSorting) return; - setSorting([ - { - id: header.column.id, - desc: sortingState === 'asc' ? true : false, - }, - ]); - }} - > -

Time

- {allowSorting && sortingState && ( - - )} -
- ); - }, - cell: (props) => ( - - {getTimeDetailByEpoch(props.row.original.timestamp)} - - ), - }, - ]; - }, [hideRecipientCol, allowSorting, setSorting]); - - const onRowClick = useCallback( - (row: Row) => { - navigate(`${ACCOUNT_TRANSACTIONS_FULL_PATH}/${row.original.hash}`); - }, - [navigate], - ); - - const table = useReactTable({ - data, - columns, - initialState: { - pagination: { - pageSize, - }, - }, - state: { - sorting, - }, - filterFns: { - fuzzy: fuzzyFilter, - }, - globalFilterFn: fuzzyFilter, - onSortingChange: setSorting, - getCoreRowModel: getCoreRowModel(), - getFilteredRowModel: getFilteredRowModel(), - getSortedRowModel: getSortedRowModel(), - getPaginationRowModel: getPaginationRowModel(), - enableSortingRemoval: false, - }); - - return ( -
- - - ); -}; - -export default TxTableContainer; diff --git a/apps/bridge-dapp/src/containers/TxTableContainer/index.ts b/apps/bridge-dapp/src/containers/TxTableContainer/index.ts deleted file mode 100644 index fb47e8ae41..0000000000 --- a/apps/bridge-dapp/src/containers/TxTableContainer/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TxTableContainer from './TxTableContainer'; - -export default TxTableContainer; diff --git a/apps/bridge-dapp/src/containers/TxTableContainer/types.ts b/apps/bridge-dapp/src/containers/TxTableContainer/types.ts deleted file mode 100644 index a31779f235..0000000000 --- a/apps/bridge-dapp/src/containers/TxTableContainer/types.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { TransactionType } from '@webb-tools/abstract-api-provider'; - -export interface TxTableContainerProps { - data: TransactionType[]; - pageSize: number; - hideRecipientCol?: boolean; - className?: string; - allowSorting?: boolean; -} diff --git a/apps/bridge-dapp/src/containers/UploadSpendNoteModal/PasteModalContent.tsx b/apps/bridge-dapp/src/containers/UploadSpendNoteModal/PasteModalContent.tsx deleted file mode 100644 index 653d8e0354..0000000000 --- a/apps/bridge-dapp/src/containers/UploadSpendNoteModal/PasteModalContent.tsx +++ /dev/null @@ -1,167 +0,0 @@ -import { - Button, - FileUploadField, - FileUploadItem, - FileUploadList, - TokenPairIcons, - Typography, - useWebbUI, -} from '@webb-tools/webb-ui-components'; -import { FC, useCallback, useMemo, useState } from 'react'; -import { uniqueId } from 'lodash'; -import { Note, calculateTypedChainId } from '@webb-tools/sdk-core'; -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { - chainsPopulated, - getNativeCurrencyFromConfig, -} from '@webb-tools/dapp-config'; -import { PasteModalContentProps } from './types'; -import { isValidNote } from '../../utils'; -import { formatUnits } from 'viem'; - -const initialNotes = { - [uniqueId()]: '', -}; - -export const PasteModalContent: FC = ({ - onNotesChange, - onRemoveNote, -}) => { - const { - apiConfig: { currencies }, - } = useWebContext(); - - const { notificationApi } = useWebbUI(); - - // The raw notes string array from the user - const [rawNotes, setRawNotes] = - useState>(initialNotes); - - // The derialized notes record - const [notes, setNotes] = useState>({}); - - // The error message record when deserializing notes - const [errors, setErrors] = useState>({}); - - // The note size memo - const noteSize = useMemo(() => Object.keys(notes).length, [notes]); - - // Handle upload note - const handleUpload = useCallback( - async (id: string) => { - try { - const rawNote = rawNotes[id]; - if (!isValidNote(rawNote)) { - notificationApi({ - variant: 'error', - message: 'Incorrect note format', - }); - - return; - } - - const note = await Note.deserialize(rawNote); - setNotes((prevNotes) => ({ ...prevNotes, [id]: note })); - onNotesChange?.(id, note); - } catch { - setErrors((prevErrors) => ({ - ...prevErrors, - [id]: 'Error: incorrect format', - })); - } - }, - [rawNotes, onNotesChange, notificationApi], - ); - - return ( - <> - - {Object.entries(rawNotes).map(([id, note]) => ( - { - setRawNotes((prev) => ({ - ...prev, - [id]: value, - })); - }} - onUpload={() => handleUpload(id)} - error={errors[id]} - /> - ))} - - - - - {!!noteSize && ( - - {Object.entries(notes).map(([id, note]) => { - const sourceChainId = Number(note.note.sourceChainId); - const sourceChain = chainsPopulated[sourceChainId]; - - const destChainId = Number(note.note.targetChainId); - const destChain = chainsPopulated[destChainId]; - - if (!sourceChain || !destChain) { - return null; - } - - const sourceCurrency = getNativeCurrencyFromConfig( - currencies, - calculateTypedChainId(sourceChain.chainType, sourceChain.id), - ); - const destCurrency = getNativeCurrencyFromConfig( - currencies, - calculateTypedChainId(destChain.chainType, destChain.id), - ); - - if (!sourceCurrency || !destCurrency) { - return null; - } - - const balance = formatUnits( - BigInt(note.note.amount), - +note.note.denomination, - ); - - return ( - - } - extraInfo={ - - Note balance: {balance} - - } - onRemove={() => { - onRemoveNote?.(id); - setNotes((prevNotes) => { - const { [id]: _, ...rest } = prevNotes; - return rest; - }); - }} - /> - ); - })} - - )} - - ); -}; diff --git a/apps/bridge-dapp/src/containers/UploadSpendNoteModal/UploadModalContent.tsx b/apps/bridge-dapp/src/containers/UploadSpendNoteModal/UploadModalContent.tsx deleted file mode 100644 index 2f8f28dbdd..0000000000 --- a/apps/bridge-dapp/src/containers/UploadSpendNoteModal/UploadModalContent.tsx +++ /dev/null @@ -1,229 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { - chainsPopulated, - getNativeCurrencyFromConfig, -} from '@webb-tools/dapp-config'; -import { KeyIcon } from '@webb-tools/icons'; -import { Note, calculateTypedChainId } from '@webb-tools/sdk-core'; -import { - FileUploadArea, - FileUploadItem, - FileUploadList, - Progress, - TokenPairIcons, - Typography, - getHumanFileSize, - notificationApi, -} from '@webb-tools/webb-ui-components'; -import { uniqueId } from 'lodash'; -import { - forwardRef, - useCallback, - useEffect, - useImperativeHandle, - useMemo, - useState, -} from 'react'; -import { RefHandle, UploadModalContentProps } from './types'; -import { formatUnits } from 'viem'; -import { safeParseJson } from '../../utils'; - -export const UploadModalContent = forwardRef< - RefHandle, - UploadModalContentProps ->(({ onNotesChange, onRemoveAllNotes, onRemoveNote }, ref) => { - const { - apiConfig: { currencies }, - } = useWebContext(); - - // State for uploaded file - const [file, setFile] = useState(); - - // State for processed notes - const [notes, setNotes] = useState>({}); - - // State for note processing value - const [progress, setProgress] = useState(0); - - // Event handler for uploading files - const handleUpload = useCallback( - (files: File[]) => { - if (files.length) { - onRemoveAllNotes?.(); - setNotes({}); - setFile(files[0]); - } - }, - [onRemoveAllNotes], - ); - - const handleRemoveAllNotes = useCallback(() => { - setFile(undefined); - setNotes({}); - onRemoveAllNotes?.(); - }, [onRemoveAllNotes]); - - useImperativeHandle(ref, () => ({ - removeAllNotes: handleRemoveAllNotes, - })); - - // useMemo for note size - const noteSize = useMemo(() => Object.keys(notes).length, [notes]); - - // Effect run when file changes - useEffect(() => { - async function processFile() { - if (!file) { - return; - } - - const reader = new FileReader(); - reader.readAsText(file); - reader.onload = async () => { - const text = reader.result as string; - - const [err, parsedNote] = safeParseJson(text); - - if (err) { - notificationApi({ - variant: 'error', - message: 'Invalid note format', - }); - return; - } - - if (typeof parsedNote === 'string') { - const note = await Note.deserialize(parsedNote); - setProgress(100); - const id = uniqueId(); - setNotes((prev) => ({ ...prev, [id]: note })); - onNotesChange?.(id, note); - - return; - } - - if ( - Array.isArray(parsedNote) && - parsedNote.length && - typeof parsedNote[0] === 'string' - ) { - const notes = parsedNote as string[]; - - await Promise.all( - notes.map(async (note, index) => { - const parsedNote = await Note.deserialize(note); - const id = uniqueId(); - setProgress(((index + 1) / notes.length) * 100); - setNotes((prev) => ({ ...prev, [id]: parsedNote })); - onNotesChange?.(id, parsedNote); - }), - ); - - return; - } - - console.log('Invalid note format'); - notificationApi({ - variant: 'error', - message: 'Invalid note format', - }); - }; - } - - processFile(); - }, [file, onNotesChange, handleRemoveAllNotes]); - - return ( - <> - {!noteSize && } - - {!!file && ( - - - - - } - fileName={file.name} - extraInfo={ - <> - - {getHumanFileSize(file.size, true, 0)} - - - - } - onRemove={handleRemoveAllNotes} - /> - - )} - - {noteSize ? ( - - {Object.entries(notes).map(([id, note]) => { - const sourceChainId = Number(note.note.sourceChainId); - const sourceChain = chainsPopulated[sourceChainId]; - - const destChainId = Number(note.note.targetChainId); - const destChain = chainsPopulated[destChainId]; - - if (!sourceChain || !destChain) { - return null; - } - - const sourceCurrency = getNativeCurrencyFromConfig( - currencies, - calculateTypedChainId(sourceChain.chainType, sourceChain.id), - ); - const destCurrency = getNativeCurrencyFromConfig( - currencies, - calculateTypedChainId(destChain.chainType, destChain.id), - ); - - if (!sourceCurrency || !destCurrency) { - return null; - } - - const balance = formatUnits( - BigInt(note.note.amount), - +note.note.denomination, - ); - - return ( - - } - fileName="WebbETH/WETH" - extraInfo={ - - Note balance: {balance} - - } - onRemove={() => { - setNotes((prev) => { - const { [id]: _, ...rest } = prev; - return rest; - }); - onRemoveNote?.(id); - }} - /> - ); - })} - - ) : null} - - ); -}); diff --git a/apps/bridge-dapp/src/containers/UploadSpendNoteModal/UploadSpendNoteModal.tsx b/apps/bridge-dapp/src/containers/UploadSpendNoteModal/UploadSpendNoteModal.tsx deleted file mode 100644 index 5d330984d9..0000000000 --- a/apps/bridge-dapp/src/containers/UploadSpendNoteModal/UploadSpendNoteModal.tsx +++ /dev/null @@ -1,147 +0,0 @@ -import { useVAnchor } from '@webb-tools/react-hooks'; -import { Note } from '@webb-tools/sdk-core'; -import { - Button, - Modal, - ModalContent, - ModalFooter, - ModalHeader, - notificationApi, - TabContent, - TabsList, - TabsRoot, - TabTrigger, -} from '@webb-tools/webb-ui-components'; -import { FC, useCallback, useMemo, useRef, useState } from 'react'; -import { PasteModalContent } from './PasteModalContent'; -import { RefHandle, UploadSpendNoteModalProps } from './types'; -import { UploadModalContent } from './UploadModalContent'; - -export const UploadSpendNoteModal: FC = ({ - isOpen, - setIsOpen, -}) => { - // State for uploaded notes - const [notes, setNotes] = useState>({}); - - // State for saving notes - const [saving, setSaving] = useState(false); - - // Ref for reset upload file and notes - const ref = useRef(null); - - const { addNoteToNoteManager } = useVAnchor(); - - // Handle save uploaded notes function - const handleSave = useCallback(async () => { - try { - setSaving(true); - - await Promise.all( - Object.entries(notes).map(([, note]) => addNoteToNoteManager(note)), - ); - - notificationApi({ - variant: 'success', - message: 'Notes saved successfully', - }); - } catch { - notificationApi({ - variant: 'error', - message: 'Failed to save notes', - }); - } finally { - setSaving(false); - setIsOpen(false); - } - }, [addNoteToNoteManager, notes, setIsOpen]); - - // Handle set new note - const handleNotesChange = useCallback((id: string, note: Note) => { - setNotes((prevNotes) => ({ ...prevNotes, [id]: note })); - }, []); - - // Handle remove all notes - const handleRemoveAll = useCallback(() => { - setNotes({}); - }, []); - - // Handle remove note by id - const handleRemoveNote = useCallback((id: string) => { - setNotes((prevNotes) => { - const { [id]: _, ...rest } = prevNotes; - return rest; - }); - }, []); - - // useMemo to memoize the note size - const noteSize = useMemo(() => Object.keys(notes).length, [notes]); - - return ( - setIsOpen(isOpen)}> - - { - setIsOpen(false); - setNotes({}); - }} - > - Upload Spend Note - - - setNotes({})} - defaultValue="upload" - className="p-8 space-y-8" - > - - Upload - Paste - - - - - - - - - - - - - - - {noteSize > 0 && ( - - )} - - - - ); -}; diff --git a/apps/bridge-dapp/src/containers/UploadSpendNoteModal/index.ts b/apps/bridge-dapp/src/containers/UploadSpendNoteModal/index.ts deleted file mode 100644 index e9ee587506..0000000000 --- a/apps/bridge-dapp/src/containers/UploadSpendNoteModal/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './UploadSpendNoteModal'; diff --git a/apps/bridge-dapp/src/containers/UploadSpendNoteModal/types.ts b/apps/bridge-dapp/src/containers/UploadSpendNoteModal/types.ts deleted file mode 100644 index ec40853de4..0000000000 --- a/apps/bridge-dapp/src/containers/UploadSpendNoteModal/types.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Note } from '@webb-tools/sdk-core'; - -export interface UploadSpendNoteModalProps { - /** - * Represents the prop to control to modal - */ - isOpen: boolean; - - /** - * Function to control the modal - * @param isOpen new value for isOpen - */ - setIsOpen: (isOpen: boolean) => void; -} - -// The base upload modal content props -export interface BaseUploadModalContentProps { - /** - * The callback to set the new notes - */ - onNotesChange?: (id: string, note: Note) => void; - - /** - * The callback to remove all notes - */ - onRemoveAllNotes?: () => void; - - /** - * The callback to remove a note - * @param id the id of the note to remove - */ - onRemoveNote?: (id: string) => void; -} - -export interface UploadModalContentProps extends BaseUploadModalContentProps {} - -export interface PasteModalContentProps extends BaseUploadModalContentProps {} - -export type RefHandle = { - removeAllNotes: () => void; -}; diff --git a/apps/bridge-dapp/src/containers/UploadTxHistoryModal/UploadTxHistoryModal.tsx b/apps/bridge-dapp/src/containers/UploadTxHistoryModal/UploadTxHistoryModal.tsx deleted file mode 100644 index a4d87fd4b8..0000000000 --- a/apps/bridge-dapp/src/containers/UploadTxHistoryModal/UploadTxHistoryModal.tsx +++ /dev/null @@ -1,206 +0,0 @@ -import { type FC, useCallback, useEffect, useState } from 'react'; -import type { TransactionType } from '@webb-tools/abstract-api-provider'; -import { useTxClientStorage } from '@webb-tools/api-provider-environment'; -import { - Button, - Modal, - ModalContent, - ModalHeader, - ModalFooter, - Typography, - FileUploadArea, - FileUploadItem, - FileUploadList, - Progress, - getHumanFileSize, - notificationApi, -} from '@webb-tools/webb-ui-components'; -import { - CheckboxCircleLine, - KeyIcon, - InformationLine, -} from '@webb-tools/icons'; -import { safeParseJson, getErrorMessage } from '../../utils'; -import { twMerge } from 'tailwind-merge'; -import { txArraySchema } from './types'; - -const UploadTxHistoryModal: FC<{ - isOpen: boolean; - setIsOpen: (isOpen: boolean) => void; -}> = ({ isOpen, setIsOpen }) => { - const { addTransactions } = useTxClientStorage(); - const [file, setFile] = useState(); - const [transactions, setTransactions] = useState([]); - const [isError, setIsError] = useState(false); - - const handleUploadFile = useCallback((files: File[]) => { - if (files.length) { - const file = files[0]; - setFile(file); - } - }, []); - - const reset = useCallback(() => { - setFile(undefined); - setTransactions([]); - setIsError(false); - }, []); - - const closeModal = useCallback(() => { - setIsOpen(false); - reset(); - }, [setIsOpen, reset]); - - const handleSaveTxHistory = useCallback(async () => { - try { - await addTransactions(transactions); - notificationApi({ - variant: 'success', - message: 'Transactions saved successfully', - }); - closeModal(); - } catch { - notificationApi({ - variant: 'error', - message: 'Error saving transactions', - secondaryMessage: - 'Data extracted from the file might have duplicate item(s) with the existing data.', - }); - setIsError(true); - } - }, [transactions, closeModal, addTransactions]); - - useEffect(() => { - const processFile = async () => { - if (!file) return; - - const reader = new FileReader(); - reader.readAsText(file); - reader.onload = async () => { - try { - const text = reader.result as string; - // Validate file type - const [err, parsedData] = safeParseJson(text); - if (err) { - throw new Error( - 'Invalid file type: Only JSON files are supported.', - ); - } - const data = parsedData as TransactionType[]; - - // Validate data to check if it has valid format or not - try { - txArraySchema.parse(data); - setTransactions(data); - notificationApi({ - variant: 'success', - message: 'File uploaded successfully', - }); - } catch { - throw new Error( - 'Invalid format of data: Please ensure the data is in the correct format.', - ); - } - } catch (error) { - notificationApi({ - variant: 'error', - message: 'Invalid', - secondaryMessage: getErrorMessage(error), - }); - setIsError(true); - } - }; - }; - - processFile(); - }, [file]); - - return ( - setIsOpen(isOpen)}> - - - Upload Transaction History - - -
- {file === undefined && ( - - )} - - {file !== undefined && ( -
- - - -
- } - fileName={file.name} - extraInfo={ - <> - - {getHumanFileSize(file.size, true, 0)} - - - - } - onRemove={reset} - /> - - -
- )} - - - - {/* TODO: update onClick */} - - {file !== undefined && ( - - )} - -
-
- ); -}; - -export default UploadTxHistoryModal; - -/** @internal */ -const UploadedMessage: FC<{ isError: boolean }> = ({ isError }) => { - return ( -
- {isError ? ( - - ) : ( - - )} - - {isError ? 'Error' : 'Loaded File Successfully'} - -
- ); -}; diff --git a/apps/bridge-dapp/src/containers/UploadTxHistoryModal/index.ts b/apps/bridge-dapp/src/containers/UploadTxHistoryModal/index.ts deleted file mode 100644 index cfc3d75864..0000000000 --- a/apps/bridge-dapp/src/containers/UploadTxHistoryModal/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import UploadTxHistoryModal from './UploadTxHistoryModal'; - -export default UploadTxHistoryModal; diff --git a/apps/bridge-dapp/src/containers/UploadTxHistoryModal/types.ts b/apps/bridge-dapp/src/containers/UploadTxHistoryModal/types.ts deleted file mode 100644 index 9cd750b203..0000000000 --- a/apps/bridge-dapp/src/containers/UploadTxHistoryModal/types.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { z } from 'zod'; -import type { TransactionType } from '@webb-tools/abstract-api-provider'; - -export const txArraySchema = z - .object({ - hash: z.string(), - activity: z.enum(['deposit', 'transfer', 'withdraw']), - amount: z.number(), - fromAddress: z.string(), - recipientAddress: z.string(), - fungibleTokenSymbol: z.string(), - wrapTokenSymbol: z.string().optional(), - unwrapTokenSymbol: z.string().optional(), - timestamp: z.number(), - relayerName: z.string().optional(), - relayerFeesAmount: z.number().optional(), - relayerUri: z.string().optional(), - refundAmount: z.number().optional(), - refundRecipientAddress: z.string().optional(), - refundTokenSymbol: z.string().optional(), - inputNoteSerializations: z.array(z.string()).optional(), - outputNoteSerializations: z.array(z.string()).optional(), - explorerUri: z.string().optional(), - sourceTypedChainId: z.number(), - destinationTypedChainId: z.number(), - }) - .array() satisfies z.ZodType; diff --git a/apps/bridge-dapp/src/containers/WalletModalContainer/WalletModalContainer.tsx b/apps/bridge-dapp/src/containers/WalletModalContainer/WalletModalContainer.tsx deleted file mode 100644 index f9e3e9321b..0000000000 --- a/apps/bridge-dapp/src/containers/WalletModalContainer/WalletModalContainer.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { - useConnectWallet, - useWebContext, -} from '@webb-tools/api-provider-environment'; -import getPlatformMetaData from '@webb-tools/browser-utils/platform/getPlatformMetaData'; -import { WalletModal, useWebbUI } from '@webb-tools/webb-ui-components'; - -export const WalletModalContainer = () => { - const { - connectingWalletId, - failedWalletId, - isModalOpen, - resetState, - selectedWallet, - connectWallet, - toggleModal, - connectError, - supportedWallets, - } = useConnectWallet(); - - const { notificationApi } = useWebbUI(); - - const { apiConfig } = useWebContext(); - - return ( - - ); -}; diff --git a/apps/bridge-dapp/src/containers/WalletModalContainer/index.ts b/apps/bridge-dapp/src/containers/WalletModalContainer/index.ts deleted file mode 100644 index 1204f7e287..0000000000 --- a/apps/bridge-dapp/src/containers/WalletModalContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './WalletModalContainer'; diff --git a/apps/bridge-dapp/src/containers/WithdrawConfirmContainer/WithdrawConfirmContainer.tsx b/apps/bridge-dapp/src/containers/WithdrawConfirmContainer/WithdrawConfirmContainer.tsx deleted file mode 100644 index b127a05a08..0000000000 --- a/apps/bridge-dapp/src/containers/WithdrawConfirmContainer/WithdrawConfirmContainer.tsx +++ /dev/null @@ -1,474 +0,0 @@ -import { - NewNotesTxResult, - TransactionExecutor, - TransactionState, - WithdrawTransactionPayloadType, -} from '@webb-tools/abstract-api-provider'; -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { useTxClientStorage } from '@webb-tools/api-provider-environment/transaction'; -import { getExplorerURI } from '@webb-tools/api-provider-environment/transaction/utils/getExplorerURI'; -import { ZERO_BIG_INT, chainsPopulated } from '@webb-tools/dapp-config'; -import { chainsConfig } from '@webb-tools/dapp-config/chains/chain-config'; -import { useRelayers, useVAnchor } from '@webb-tools/react-hooks'; -import { useBalancesFromNotes } from '@webb-tools/react-hooks/currency/useBalancesFromNotes'; -import { ChainType, Note } from '@webb-tools/sdk-core'; -import { isViemError } from '@webb-tools/web3-api-provider'; -import { - WithdrawConfirm, - getRoundedAmountString, -} from '@webb-tools/webb-ui-components'; -import { forwardRef, useCallback, useMemo, useState } from 'react'; -import { - ContractFunctionRevertedError, - Hash, - formatEther, - formatUnits, -} from 'viem'; -import RelayerFeeDetails from '../../components/RelayerFeeDetails'; -import useEnqueueSubmittedTx from '../../hooks/useEnqueueSubmittedTx'; -import useInProgressTxInfo from '../../hooks/useInProgressTxInfo'; -import useWithdrawFeeCalculation from '../../hooks/useWithdrawFeeCalculation'; -import { - getCurrentTimestamp, - getErrorMessage, - getNoteSerializations, - getTokenURI, - getTransactionHash, - handleMutateNoteIndex, - handleStoreNote, -} from '../../utils'; -import { WithdrawConfirmContainerProps } from './types'; - -const WithdrawConfirmContainer = forwardRef< - HTMLDivElement, - WithdrawConfirmContainerProps ->( - ( - { - amount, - amountAfterFee, - availableNotes, - changeAmount, - changeNote, - changeUtxo, - fee, - feeInfo, - fungibleCurrency: fungibleCurrencyProp, - isRefund, - onResetState, - receivingInfo, - recipient, - refundToken, - sourceTypedChainId, - targetTypedChainId, - refundAmount, - unwrapCurrency: { value: unwrapCurrency } = {}, - onClose, - ...props - }, - ref, - ) => { - const { value: fungibleCurrency } = fungibleCurrencyProp; - - const { - api: vAnchorApi, - addNoteToNoteManager, - removeNoteFromNoteManager, - } = useVAnchor(); - - const enqueueSubmittedTx = useEnqueueSubmittedTx(); - - const { activeApi, apiConfig, txQueue } = useWebContext(); - - const { balances } = useBalancesFromNotes(); - - const { api: txQueueApi } = txQueue; - - const { addNewTransaction } = useTxClientStorage(); - - const { - relayersState: { activeRelayer }, - } = useRelayers({ - typedChainId: targetTypedChainId, - target: activeApi?.state.activeBridge - ? activeApi.state.activeBridge.targets[targetTypedChainId] - : undefined, - }); - - const [checked, setChecked] = useState(false); - - const { - cardTitle, - currentStep, - inProgressTxId, - setInProgressTxId, - setTotalStep, - totalStep, - txStatus, - txStatusMessage, - } = useInProgressTxInfo( - typeof unwrapCurrency !== 'undefined', - onResetState, - ); - - const { - gasFeeInfo, - isLoading: isFeeLoading, - relayerFeeInfo, - totalFeeToken, - totalFeeWei, - } = useWithdrawFeeCalculation({ - activeRelayer, - recipientErrorMsg: undefined, - typedChainId: sourceTypedChainId, - }); - - const avatarTheme = useMemo(() => { - return chainsPopulated[targetTypedChainId].chainType === ChainType.EVM - ? 'ethereum' - : 'substrate'; - }, [targetTypedChainId]); - - const poolAddress = useMemo( - () => apiConfig.anchors[fungibleCurrency.id][targetTypedChainId], - [apiConfig, fungibleCurrency.id, targetTypedChainId], - ); - - const blockExplorerUrl = useMemo( - () => chainsConfig[targetTypedChainId]?.blockExplorers?.default.url, - [targetTypedChainId], - ); - - const poolExplorerUrl = useMemo(() => { - if (!blockExplorerUrl) return undefined; - return getExplorerURI( - blockExplorerUrl, - poolAddress, - 'address', - 'web3', - ).toString(); - }, [blockExplorerUrl, poolAddress]); - - const newBalance = useMemo(() => { - const currentBalance = - balances?.[fungibleCurrency.id]?.[sourceTypedChainId]; - if (!currentBalance) return undefined; - const updatedBalance = Number(formatEther(currentBalance)) - amount; - if (updatedBalance < 0) return undefined; - return updatedBalance; - }, [balances, fungibleCurrency.id, sourceTypedChainId, amount]); - - const gasFees = useMemo( - () => - gasFeeInfo - ? parseFloat(formatEther(gasFeeInfo).slice(0, 10)) - : undefined, - [gasFeeInfo], - ); - - const relayerFees = useMemo( - () => - relayerFeeInfo - ? parseFloat(formatEther(relayerFeeInfo.estimatedFee).slice(0, 10)) - : undefined, - [relayerFeeInfo], - ); - - // The main action onClick handler - const handleExecuteWithdraw = useCallback( - async () => { - if (availableNotes.length === 0 || !vAnchorApi || !activeApi) { - return; - } - - if (inProgressTxId.length > 0) { - txQueueApi.startNewTransaction(); - onResetState?.(); - return; - } - - const note: Note = availableNotes[0]; - const { - sourceChainId: sourceTypedChainId, - sourceIdentifyingData, - targetChainId: destTypedChainId, - denomination, - tokenSymbol, - } = note.note; - - const unwrapTokenSymbol = unwrapCurrency?.view.symbol ?? tokenSymbol; - - const currency = apiConfig.getCurrencyBySymbolAndTypedChainId( - tokenSymbol, - +destTypedChainId, - ); - if (!currency) { - console.error(`Currency not found for symbol ${tokenSymbol}`); - return; - } - const tokenURI = getTokenURI(currency, destTypedChainId); - - const amount = Number(formatUnits(amountAfterFee, +denomination)); - - const tx = TransactionExecutor.new('Withdraw', { - amount, - tokens: [tokenSymbol, unwrapTokenSymbol], - wallets: { - src: +sourceTypedChainId, - dest: +destTypedChainId, - }, - token: tokenSymbol, - tokenURI, - providerType: activeApi.type, - address: sourceIdentifyingData, - recipient, - }); - setInProgressTxId(tx.id); - setTotalStep(tx.totalSteps); - txQueueApi.registerTransaction(tx); - - try { - const refund = refundAmount ?? ZERO_BIG_INT; - - const txPayload: WithdrawTransactionPayloadType = { - notes: availableNotes, - changeUtxo, - recipient, - refundAmount: refund, - feeAmount: fee, - }; - - const args = await vAnchorApi.prepareTransaction( - tx, - txPayload, - unwrapCurrency?.getAddressOfChain(+destTypedChainId) ?? '', - ); - - const outputNotes = changeNote ? [changeNote] : []; - - let indexBeforeInsert: number | undefined; - if (changeNote) { - const nextIdx = Number( - await vAnchorApi.getNextIndex(+sourceTypedChainId, currency.id), - ); - - indexBeforeInsert = nextIdx === 0 ? nextIdx : nextIdx - 1; - } - - let transactionHash: Hash; - - if (activeRelayer) { - transactionHash = await vAnchorApi.transactWithRelayer( - activeRelayer, - args, - outputNotes, - ); - - await handleStoreNote(changeNote, addNoteToNoteManager); - - enqueueSubmittedTx( - transactionHash, - apiConfig.chains[+destTypedChainId], - 'withdraw', - ); - } else { - transactionHash = await vAnchorApi.transact(...args); - - enqueueSubmittedTx( - transactionHash, - apiConfig.chains[+sourceTypedChainId], - 'transfer', - ); - - await handleStoreNote(changeNote, addNoteToNoteManager); - - await vAnchorApi.waitForFinalization(transactionHash); - - // Notification Success Transaction - tx.txHash = transactionHash; - tx.next(TransactionState.Done, { - txHash: transactionHash, - outputNotes, - }); - } - - if (typeof indexBeforeInsert === 'number' && changeNote) { - const noteWithIdx = await handleMutateNoteIndex( - vAnchorApi, - transactionHash, - changeNote, - indexBeforeInsert, - sourceIdentifyingData, - ); - - await removeNoteFromNoteManager(changeNote); - await addNoteToNoteManager(noteWithIdx); - } - - // Cleanup NoteAccount state - await Promise.all( - availableNotes.map((note) => removeNoteFromNoteManager(note)), - ); - - // add new TRANSFER transaction to client storage - await addNewTransaction({ - hash: transactionHash, - activity: 'withdraw', - amount: amount, - fromAddress: sourceIdentifyingData, - recipientAddress: recipient, - fungibleTokenSymbol: tokenSymbol, - unwrapTokenSymbol, - timestamp: getCurrentTimestamp(), - relayerName: activeRelayer?.account, - relayerUri: activeRelayer ? activeRelayer.infoUri : undefined, - relayerFeesAmount: relayerFees ?? gasFees, - refundAmount: - typeof refundAmount !== 'undefined' - ? parseFloat(formatEther(refundAmount).slice(0, 10)) - : undefined, - refundTokenSymbol: refundToken, - refundRecipientAddress: recipient, - inputNoteSerializations: getNoteSerializations(availableNotes), - outputNoteSerializations: getNoteSerializations(outputNotes), - explorerUri: blockExplorerUrl - ? getExplorerURI( - blockExplorerUrl, - transactionHash, - 'tx', - 'web3', - ).toString() - : undefined, - sourceTypedChainId: +sourceTypedChainId, - destinationTypedChainId: +destTypedChainId, - }); - } catch (error) { - console.log('Error while executing withdraw', error); - changeNote && (await removeNoteFromNoteManager(changeNote)); - tx.txHash = getTransactionHash(error); - - let errorMessage = getErrorMessage(error); - if (isViemError(error)) { - errorMessage = error.shortMessage; - - const revertError = error.walk( - (err) => err instanceof ContractFunctionRevertedError, - ); - - if (revertError instanceof ContractFunctionRevertedError) { - errorMessage = revertError.reason ?? revertError.shortMessage; - } - } - - tx.fail(errorMessage); - } - }, - // prettier-ignore - [activeApi, activeRelayer, addNoteToNoteManager, amountAfterFee, apiConfig, availableNotes, changeNote, changeUtxo, enqueueSubmittedTx, fee, inProgressTxId.length, onResetState, recipient, refundAmount, removeNoteFromNoteManager, setInProgressTxId, setTotalStep, txQueueApi, unwrapCurrency, vAnchorApi, addNewTransaction, blockExplorerUrl, refundToken, relayerFees, gasFees], - ); - - const formattedFee = useMemo(() => { - const feeInEthers = formatEther(fee); - - if (activeRelayer) { - const formattedRelayerFee = getRoundedAmountString( - Number(feeInEthers), - 3, - { roundingFunction: Math.round }, - ); - return `${formattedRelayerFee} ${fungibleCurrency.view.symbol}`; - } - - return `${feeInEthers} ${refundToken ?? ''}`; // Refund token here is the native token - }, [activeRelayer, fee, fungibleCurrency.view.symbol, refundToken]); - - const remainingAmount = useMemo(() => { - const amountInEthers = Number(formatEther(amountAfterFee)); - - return getRoundedAmountString(amountInEthers, 3, { - roundingFunction: Math.round, - }); - }, [amountAfterFee]); - - return ( - setChecked((prev) => !prev), - }} - refundAmount={ - isRefund && refundAmount - ? Number(formatEther(refundAmount)) - : undefined - } - refundToken={isRefund ? refundToken : undefined} - receivingInfo={receivingInfo} - amount={amount} - remainingAmount={remainingAmount} - feeInfo={feeInfo} - fee={formattedFee} - note={changeNote?.serialize()} - changeAmount={changeAmount} - sourceTypedChainId={sourceTypedChainId} - destTypedChainId={targetTypedChainId} - sourceAddress={ - availableNotes.length > 0 - ? availableNotes[0].note.sourceIdentifyingData - : '' - } - destAddress={recipient} - poolAddress={poolAddress} - poolExplorerUrl={poolExplorerUrl} - newBalance={newBalance} - relayerAddress={activeRelayer?.beneficiary} - relayerExternalUrl={activeRelayer?.endpoint} - relayerAvatarTheme={avatarTheme} - fungibleTokenSymbol={fungibleCurrency.view.symbol} - wrappableTokenSymbol={unwrapCurrency?.view.symbol} - txStatusColor={ - txStatus === 'completed' - ? 'green' - : txStatus === 'warning' - ? 'red' - : undefined - } - txStatusMessage={txStatusMessage} - onClose={onClose} - feesSection={ - - } - /> - ); - }, -); - -export default WithdrawConfirmContainer; diff --git a/apps/bridge-dapp/src/containers/WithdrawConfirmContainer/index.ts b/apps/bridge-dapp/src/containers/WithdrawConfirmContainer/index.ts deleted file mode 100644 index d6eac2563f..0000000000 --- a/apps/bridge-dapp/src/containers/WithdrawConfirmContainer/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import WithdrawConfirmContainer from './WithdrawConfirmContainer'; - -export default WithdrawConfirmContainer; diff --git a/apps/bridge-dapp/src/containers/WithdrawConfirmContainer/shared.tsx b/apps/bridge-dapp/src/containers/WithdrawConfirmContainer/shared.tsx deleted file mode 100644 index cff8e12751..0000000000 --- a/apps/bridge-dapp/src/containers/WithdrawConfirmContainer/shared.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { Typography } from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; - -export const ExchangeRateInfo: FC<{ - exchangeRate: number | string; - fungibleTokenSymbol?: string; - nativeTokenSymbol?: string; -}> = ({ exchangeRate, fungibleTokenSymbol, nativeTokenSymbol }) => { - return ( -
- - Exchange Rate: - - - 1 {nativeTokenSymbol} = {exchangeRate} {fungibleTokenSymbol} - - - - Note: rates may change based on network activity; received token - amounts will adjust accordingly. - -
- ); -}; - -export const TransactionFeeInfo: FC<{ - estimatedFee: number | string; - refundFee?: number | string; - fungibleTokenSymbol?: string; -}> = ({ estimatedFee, refundFee, fungibleTokenSymbol }) => { - return ( -
- - Transaction Fee:{' '} - - {estimatedFee} {fungibleTokenSymbol ?? ''} - - - - {refundFee && ( - - Refund Fee:{' '} - - {refundFee} {fungibleTokenSymbol ?? ''} - - - )} -
- ); -}; diff --git a/apps/bridge-dapp/src/containers/WithdrawConfirmContainer/types.ts b/apps/bridge-dapp/src/containers/WithdrawConfirmContainer/types.ts deleted file mode 100644 index 28f746631c..0000000000 --- a/apps/bridge-dapp/src/containers/WithdrawConfirmContainer/types.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { Currency } from '@webb-tools/abstract-api-provider'; -import { Note, Utxo } from '@webb-tools/sdk-core'; -import { TitleWithInfo } from '@webb-tools/webb-ui-components'; -import { TokenType } from '@webb-tools/webb-ui-components/components/BridgeInputs/types'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import { ComponentProps } from 'react'; -import { BridgeTabContainerProps } from '../types'; - -export interface WithdrawContainerProps - extends BridgeTabContainerProps, - PropsOf<'div'> {} - -export type CurrencyWithBalance = { value: Currency } & Omit< - TokenType, - 'symbol' ->; - -export interface WithdrawConfirmContainerProps extends PropsOf<'div'> { - /** - * The change utxo (or dummy utxo if the changeAmount is `0`), - * this will be added on chain - */ - changeUtxo: Utxo; - - /** - * The note which controls change after the withdraw - */ - changeNote?: Note; - - /** - * The available notes - */ - availableNotes: Note[]; - - /** - * The withdraw amount - */ - amount: number; - - /** - * The change amount - */ - changeAmount: number; - - /** - * The fee number - */ - fee: bigint; - - /** - * The amount after fee - */ - amountAfterFee: bigint; - - /** - * Recipient address - */ - recipient: string; - - /** - * Source typed chain id - */ - sourceTypedChainId: number; - - /** - * The typed chain id - */ - targetTypedChainId: number; - - /** - * The token to withdraw - */ - fungibleCurrency: CurrencyWithBalance; - - /** - * The unwrap token - */ - unwrapCurrency?: CurrencyWithBalance; - - /** - * Refund amount - */ - refundAmount?: bigint; - - /** - * Refund token - */ - refundToken?: string; - - /** - * The receiving info - */ - receivingInfo?: ComponentProps['info']; - - /** - * The fee info - */ - feeInfo?: ComponentProps['info']; - - /** - * The boolean to check if the user selected refund - */ - isRefund?: boolean; - - /** - * The callbacl to reset the parent state - * @returns void - */ - onResetState?: () => void; - - /** - * The callback to close the card - */ - onClose?: () => void; -} diff --git a/apps/bridge-dapp/src/containers/index.ts b/apps/bridge-dapp/src/containers/index.ts deleted file mode 100644 index cc7fecfb2f..0000000000 --- a/apps/bridge-dapp/src/containers/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export { default as ClearTxHistoryModal } from './ClearTxHistoryModal'; -export * from './CreateAccountModal'; -export * from './DeleteNotesModal'; -export { default as DepositConfirmContainer } from './DepositConfirmContainer'; -export * from './Layout'; -export { default as PageTabsContainer } from './PageTabsContainer'; -export { default as TransferConfirmContainer } from './TransferConfirmContainer'; -export { default as TxDetailContainer } from './TxDetailContainer'; -export { default as TxInfoContainer } from './TxInfoContainer'; -export { default as TxTableContainer } from './TxTableContainer'; -export * from './UploadSpendNoteModal'; -export { default as UploadTxHistoryModal } from './UploadTxHistoryModal'; -export { default as WithdrawConfirmContainer } from './WithdrawConfirmContainer'; -export * from './WalletModalContainer'; diff --git a/apps/bridge-dapp/src/containers/note-account-tables/ActionWithTooltip.tsx b/apps/bridge-dapp/src/containers/note-account-tables/ActionWithTooltip.tsx deleted file mode 100644 index e2d717d870..0000000000 --- a/apps/bridge-dapp/src/containers/note-account-tables/ActionWithTooltip.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { - Button, - Tooltip, - TooltipBody, - TooltipTrigger, - Typography, -} from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; -import { twMerge } from 'tailwind-merge'; - -import { ActionWithTooltipProps } from './types'; - -export const ActionWithTooltip: FC = ({ - tooltipContent, - ...buttonProps -}) => { - return ( - - -
- - ); -}; diff --git a/apps/bridge-dapp/src/containers/note-account-tables/ShieldedAssetsTableContainer/index.ts b/apps/bridge-dapp/src/containers/note-account-tables/ShieldedAssetsTableContainer/index.ts deleted file mode 100644 index 3ac6dcb7f7..0000000000 --- a/apps/bridge-dapp/src/containers/note-account-tables/ShieldedAssetsTableContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './ShieldedAssetsTableContainer'; diff --git a/apps/bridge-dapp/src/containers/note-account-tables/ShieldedAssetsTableContainer/types.ts b/apps/bridge-dapp/src/containers/note-account-tables/ShieldedAssetsTableContainer/types.ts deleted file mode 100644 index 85ce8360d5..0000000000 --- a/apps/bridge-dapp/src/containers/note-account-tables/ShieldedAssetsTableContainer/types.ts +++ /dev/null @@ -1,72 +0,0 @@ -import type { Currency } from '@webb-tools/abstract-api-provider'; -import type { Chain } from '@webb-tools/dapp-config'; -import type { Note } from '@webb-tools/sdk-core'; - -import type { NoteAccountTableContainerProps } from '../types'; - -/** - * The shielded asset data type for table - * - * @param {string} chain - Asset chain - * @param {string} token1Symbol - The first token symbol for displaying - * @param {string} token2Symbol - The second token symbol for displaying - * @param {string} assetsUrl - The external url of assets pair - * @param {number} availableBalance - The total available balance of all notes - * @param {number} numberOfNotesFound - The total number of notes - */ -export interface ShieldedAssetDataType { - /** - * Asset chain - */ - chain: string; - - /** - * The shielded asset symbol (fungible token) - * @example "ETH" - */ - fungibleTokenSymbol: string; - - /** - * The external url of assets pair - */ - assetsUrl: string; - - /** - * The wrappable asset symbols for the shielded asset - */ - composition: string[]; - - /** - * The total available balance of all notes - */ - availableBalance: number; - - /** - * The total number of notes - */ - numberOfNotesFound: number; - - /** - * The raw destination chain object - */ - rawChain: Chain; - - /** - * The raw fungible currency object - */ - rawFungibleCurrency: Currency | undefined; - - /** - * The raw notes array - */ - rawNotes: Note[]; -} - -export interface ShieldedAssetsTableContainerProps - extends NoteAccountTableContainerProps { - /** - * The shielded assets data - * @default [] - */ - data?: ShieldedAssetDataType[]; -} diff --git a/apps/bridge-dapp/src/containers/note-account-tables/SpendNotesTableContainer/SpendNotesTableContainer.tsx b/apps/bridge-dapp/src/containers/note-account-tables/SpendNotesTableContainer/SpendNotesTableContainer.tsx deleted file mode 100644 index 1697efdc81..0000000000 --- a/apps/bridge-dapp/src/containers/note-account-tables/SpendNotesTableContainer/SpendNotesTableContainer.tsx +++ /dev/null @@ -1,233 +0,0 @@ -import { - createColumnHelper, - getCoreRowModel, - getFilteredRowModel, - useReactTable, -} from '@tanstack/react-table'; -import { - ChainIcon, - ExternalLinkLine, - SendPlanLineIcon, - WalletLineIcon, -} from '@webb-tools/icons'; -import { useNoteAccount } from '@webb-tools/react-hooks'; -import { - HiddenValue, - IconWithTooltip, - IconsGroup, - KeyValueWithButton, - Table, - TitleWithInfo, - Typography, - formatTokenAmount, - fuzzyFilter, - numberToString, -} from '@webb-tools/webb-ui-components'; -import { FC, useMemo } from 'react'; - -import { EmptyTable, LoadingTable } from '../../../components/tables'; -import { downloadNotes } from '../../../utils'; -import { ActionWithTooltip } from '../ActionWithTooltip'; -import { MoreOptionsDropdown } from '../MoreOptionsDropdown'; -import useNoteAction from '../useNoteAction'; -import { SpendNoteDataType, SpendNotesTableContainerProps } from './types'; -import { parseEther } from 'viem'; - -const columnHelper = createColumnHelper(); - -const staticColumns = [ - columnHelper.accessor('chain', { - header: 'Chain', - cell: (props) => ( -
- ()} />} - content={props.getValue()} - /> -
- ), - }), - - columnHelper.accessor('fungibleTokenSymbol', { - header: 'Shielded Asset', - cell: (props) => { - const fungibleTokenSymbol = props.getValue(); - const tokenUrl = props.row.original.assetsUrl; - - return ( -
- - {fungibleTokenSymbol} - - - - - -
- ); - }, - }), - - columnHelper.accessor('composition', { - header: 'Composition', - cell: (props) => { - const composition = props.getValue(); - if (!composition.length) { - return ( - - No composition - - ); - } - - return ; - }, - }), - - columnHelper.accessor('balance', { - header: 'Balance', - cell: (props) => ( - - - {formatTokenAmount(props.getValue().toString())} - - - ), - }), - - columnHelper.accessor('subsequentDeposits', { - header: () => ( - - Subsequent Deposits - - ), - cell: (props) => ( - - {props.getValue()} - - ), - }), - - columnHelper.accessor('note', { - header: () => ( - - ), - cell: (props) => ( -
- -
- ), - }), -] as const; - -export const SpendNotesTableContainer: FC = ({ - data = [], - onDeleteNotesChange, - onUploadSpendNote, - globalSearchText, -}) => { - const { isSyncingNote } = useNoteAccount(); - - const noteActionHandler = useNoteAction(); - - const columns = useMemo(() => { - return [ - ...staticColumns, - - columnHelper.accessor('assetsUrl', { - header: '', - cell: (props) => { - const data = props.row.original; - - return ( -
- - noteActionHandler( - 'transfer', - data.rawChain, - data.rawFungibleCurrency, - parseEther(numberToString(data.balance)), - ) - } - > - - - - - noteActionHandler( - 'withdraw', - data.rawChain, - data.rawFungibleCurrency, - parseEther(numberToString(data.balance)), - ) - } - > - - - - downloadNotes([data.rawNote])} - onDeleteNotes={() => onDeleteNotesChange?.([data.rawNote])} - /> -
- ); - }, - }), - ]; - }, [noteActionHandler, onDeleteNotesChange]); - - const table = useReactTable({ - data, - columns, - state: { - globalFilter: globalSearchText, - }, - filterFns: { - fuzzy: fuzzyFilter, - }, - globalFilterFn: fuzzyFilter, - getCoreRowModel: getCoreRowModel(), - getFilteredRowModel: getFilteredRowModel(), - }); - - if (isSyncingNote) { - return ; - } - - if (!data.length) { - return ( - - ); - } - - return ( -
-
- - ); -}; diff --git a/apps/bridge-dapp/src/containers/note-account-tables/SpendNotesTableContainer/index.ts b/apps/bridge-dapp/src/containers/note-account-tables/SpendNotesTableContainer/index.ts deleted file mode 100644 index 045bbfcc30..0000000000 --- a/apps/bridge-dapp/src/containers/note-account-tables/SpendNotesTableContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './SpendNotesTableContainer'; diff --git a/apps/bridge-dapp/src/containers/note-account-tables/SpendNotesTableContainer/types.ts b/apps/bridge-dapp/src/containers/note-account-tables/SpendNotesTableContainer/types.ts deleted file mode 100644 index ac263eea53..0000000000 --- a/apps/bridge-dapp/src/containers/note-account-tables/SpendNotesTableContainer/types.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Currency } from '@webb-tools/abstract-api-provider'; -import { Chain } from '@webb-tools/dapp-config'; - -import { NoteAccountTableContainerProps } from '../types'; -import { Note } from '@webb-tools/sdk-core'; - -export interface SpendNotesTableContainerProps {} - -export interface SpendNoteDataType { - /** - * Asset chain - */ - chain: string; - - /** - * Symbol of the fungible (webb) asset - */ - fungibleTokenSymbol: string; - - /** - * The external url of assets pair - */ - assetsUrl: string; - - /** - * The wrappable asset symbols for the shielded asset - */ - composition: string[]; - - /** - * The note balance - */ - balance: number; - - /** - * Created time - */ - createdTime: Date; - - /** - * Subsepent deposits - */ - subsequentDeposits: string; - - /** - * The actual note - */ - note: string; - - /** - * The raw destination chain object - */ - rawChain: Chain; - - /** - * The raw note object - */ - rawNote: Note; - - /** - * The raw fungible currency object - */ - rawFungibleCurrency: Currency | undefined; -} - -export interface SpendNotesTableContainerProps - extends NoteAccountTableContainerProps { - /** - * The spend notes data - * @default [] - */ - data?: SpendNoteDataType[]; -} diff --git a/apps/bridge-dapp/src/containers/note-account-tables/index.ts b/apps/bridge-dapp/src/containers/note-account-tables/index.ts deleted file mode 100644 index ee5e5fbe00..0000000000 --- a/apps/bridge-dapp/src/containers/note-account-tables/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './ShieldedAssetsTableContainer'; -export * from './SpendNotesTableContainer'; diff --git a/apps/bridge-dapp/src/containers/note-account-tables/types.ts b/apps/bridge-dapp/src/containers/note-account-tables/types.ts deleted file mode 100644 index 8258a8b5bf..0000000000 --- a/apps/bridge-dapp/src/containers/note-account-tables/types.ts +++ /dev/null @@ -1,44 +0,0 @@ -import type { Note } from '@webb-tools/sdk-core'; -import { ButtonProps } from '@webb-tools/webb-ui-components'; - -export interface MoreOptionsDropdownProps { - /** - * Callback to download notes - * @param notes the notes to download - * @returns void - */ - onDownloadNotes: () => void; - - /** - * Callback to delete notes - * @param notes the notes to delete - * @returns void - */ - onDeleteNotes: () => void; -} - -export interface NoteAccountTableContainerProps { - /** - * The upload spend note callback - */ - onUploadSpendNote?: () => void; - - /** - * The callback to delete notes - * @param {Note[]} notes - The notes to delete - * @returns void - */ - onDeleteNotesChange?: (notes: Note[]) => void; - - /** - * Global search text - * */ - globalSearchText: string; -} - -export interface ActionWithTooltipProps extends ButtonProps { - /** - * The tooltip content - */ - tooltipContent: string; -} diff --git a/apps/bridge-dapp/src/containers/note-account-tables/useNoteAction.ts b/apps/bridge-dapp/src/containers/note-account-tables/useNoteAction.ts deleted file mode 100644 index 4f4690f43f..0000000000 --- a/apps/bridge-dapp/src/containers/note-account-tables/useNoteAction.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Currency } from '@webb-tools/abstract-api-provider'; -import { Chain } from '@webb-tools/dapp-config'; -import { calculateTypedChainId } from '@webb-tools/sdk-core/typed-chain-id'; -import { useCallback } from 'react'; -import { useNavigate } from 'react-router'; -import { - AMOUNT_KEY, - BRIDGE_PATH, - POOL_KEY, - SOURCE_CHAIN_KEY, - TRANSFER_PATH, - WITHDRAW_PATH, -} from '../../constants'; - -function useNoteAction() { - const navigate = useNavigate(); - - const handleNoteAction = useCallback( - async ( - action: 'transfer' | 'withdraw', - chain: Chain, - fungibleCurrency?: Currency, - amount?: bigint, - ) => { - const actionPaths: { - [key in typeof action]: string; - } = { - transfer: TRANSFER_PATH, - withdraw: WITHDRAW_PATH, - }; - - const typedChainId = calculateTypedChainId(chain.chainType, chain.id); - - const searchParams = new URLSearchParams({ - [SOURCE_CHAIN_KEY]: typedChainId.toString(), - }); - - if (fungibleCurrency) { - searchParams.set(POOL_KEY, fungibleCurrency.id.toString()); - } - - if (typeof amount === 'bigint') { - searchParams.set(AMOUNT_KEY, amount.toString()); - } - - navigate({ - pathname: `/${BRIDGE_PATH}/${actionPaths[action]}`, - search: searchParams.toString(), - }); - }, - [navigate], - ); - - return handleNoteAction; -} - -export default useNoteAction; diff --git a/apps/bridge-dapp/src/containers/types.d.ts b/apps/bridge-dapp/src/containers/types.d.ts deleted file mode 100644 index fb8b540e75..0000000000 --- a/apps/bridge-dapp/src/containers/types.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -// Shared container types for the bridge dapp -// Copyright 2024 @webb-tools/ - -import { Currency } from '@webb-tools/abstract-api-provider'; -import { Chain } from '@webb-tools/dapp-config'; - -export interface BridgeTabContainerProps { - /** - * The default destination chain - */ - defaultDestinationChain?: Chain; - - /** - * The default fungible currency - */ - defaultFungibleCurrency?: Currency; - - /** - * The on try another wallet callback - */ - onTryAnotherWallet?: () => void; -} diff --git a/apps/bridge-dapp/src/environments/environment.prod.ts b/apps/bridge-dapp/src/environments/environment.prod.ts deleted file mode 100644 index c9669790be..0000000000 --- a/apps/bridge-dapp/src/environments/environment.prod.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const environment = { - production: true, -}; diff --git a/apps/bridge-dapp/src/environments/environment.ts b/apps/bridge-dapp/src/environments/environment.ts deleted file mode 100644 index 7ed83767ff..0000000000 --- a/apps/bridge-dapp/src/environments/environment.ts +++ /dev/null @@ -1,6 +0,0 @@ -// This file can be replaced during build by using the `fileReplacements` array. -// When building for production, this file is replaced with `environment.prod.ts`. - -export const environment = { - production: false, -}; diff --git a/apps/bridge-dapp/src/hooks/index.ts b/apps/bridge-dapp/src/hooks/index.ts deleted file mode 100644 index 5bfb902700..0000000000 --- a/apps/bridge-dapp/src/hooks/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -export * from './useAddCurrency'; -export { default as useAmountWithRoute } from './useAmountWithRoute'; -export { default as useChainsFromNote } from './useChainsFromNote'; -export { default as useChainsFromRoute } from './useChainsFromRoute'; -export { default as useConnectButtonProps } from './useConnectButtonProps'; -export { default as useCurrenciesFromRoute } from './useCurrenciesFromRoute'; -export { default as useCurrentTx } from './useCurrentTx'; -export { default as useDefaultChainAndPool } from './useDefaultChainAndPool'; -export { default as useEnqueueSubmittedTx } from './useEnqueueSubmittedTx'; -export { default as useInProgressTxInfo } from './useInProgressTxInfo'; -export * from './useLatestTransactionStage'; -export * from './useMaxFeeInfo'; -export { default as useNavigateWithPersistParams } from './useNavigateWithPersistParams'; -export { default as useReceiveModal } from './useReceiveModal'; -export * from './useReceiveModal'; -export * from './useRelayerManager'; -export { default as useRelayerWithRoute } from './useRelayerWithRoute'; -export { default as useTransferFeeCalculation } from './useTransferFeeCalculation'; -export * from './useShieldedAssets'; -export { default as useSidebarProps } from './useSidebarProps'; -export * from './useSpendNotes'; -export { default as useStateWithRoute } from './useStateWithRoute'; -export * from './useTryAnotherWalletWithView'; -export { default as useTxTabFromRoute } from './useTxTabFromRoute'; -export { default as useWithdrawFeeCalculation } from './useWithdrawFeeCalculation'; -export { default as useWrapperTabFromRoute } from './useWrapperTabFromRoute'; diff --git a/apps/bridge-dapp/src/hooks/useAddCurrency.ts b/apps/bridge-dapp/src/hooks/useAddCurrency.ts deleted file mode 100644 index bcd4256e45..0000000000 --- a/apps/bridge-dapp/src/hooks/useAddCurrency.ts +++ /dev/null @@ -1,134 +0,0 @@ -import { Currency } from '@webb-tools/abstract-api-provider'; -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { Chain } from '@webb-tools/dapp-config'; -import { useCurrentResourceId } from '@webb-tools/react-hooks'; -import { ResourceId, calculateTypedChainId } from '@webb-tools/sdk-core'; -import { WebbWeb3Provider } from '@webb-tools/web3-api-provider'; -import { useCallback } from 'react'; - -const IMAGE_URL_TEMPLATE = - 'https://raw.githubusercontent.com/spothq/cryptocurrency-icons/master/128/color/{symbol}.png'; - -const getCurrencyImageUrl = async (symbol: string): Promise => { - try { - const url = IMAGE_URL_TEMPLATE.replace('{symbol}', symbol.toLowerCase()); - - // Try to fetch the image and check if it exists - const resp = await fetch(url); - if (!resp.ok) { - throw new Error('Image not found'); - } - - return url; - } catch { - return ''; - } -}; - -export const recordAddedToken = ( - accountAddress: string, - resourceId: ResourceId, - tokenAddress: string, -) => { - // Retrieve existing token storage - const storedTokens = JSON.parse(localStorage.getItem('addedTokens') || '{}'); - - // Check if account address exists in storage - if (!storedTokens[accountAddress]) { - storedTokens[accountAddress] = {}; - } - - // Check if resourceId exists for the account - if (!storedTokens[accountAddress][resourceId.toString()]) { - storedTokens[accountAddress][resourceId.toString()] = {}; - } - - // Check if the token is already marked as added for the account and resourceId - if (!storedTokens[accountAddress][resourceId.toString()][tokenAddress]) { - storedTokens[accountAddress][resourceId.toString()][tokenAddress] = true; - localStorage.setItem('addedTokens', JSON.stringify(storedTokens)); - } -}; - -export const isTokenAddedToMetamask = ( - currency: Currency, - activeChain?: Chain, - accountAddress?: string, - resourceId?: ResourceId | null, -): boolean => { - // Validate required parameters. - if (!currency || !activeChain || !accountAddress || !resourceId) { - return false; - } - - const typedChainId = calculateTypedChainId( - activeChain.chainType, - activeChain.id, - ); - - const tokenAddress = currency.getAddressOfChain(typedChainId); - - if (!resourceId || !tokenAddress) { - return false; - } - - const storedTokens = JSON.parse(localStorage.getItem('addedTokens') || '{}'); - - // Check if the token is marked as added for the account and resourceId - return Boolean( - storedTokens[accountAddress]?.[resourceId.toString()]?.[tokenAddress], - ); -}; - -/** - * Get a function that adds a token to the user's wallet (only works with Web3Provider) - * @returns a function that adds a token to the user's wallet and returns a boolean indicating success - */ -export const useAddCurrency = () => { - const { activeApi, activeChain, activeAccount } = useWebContext(); - - const currentResourceId = useCurrentResourceId(); - - return useCallback( - async (currency: Currency): Promise => { - if (!activeApi || !activeChain || !activeAccount) { - return false; - } - - const accountAddress = activeAccount.address; - - if (!(activeApi instanceof WebbWeb3Provider)) { - return false; - } - - const typedChainId = calculateTypedChainId( - activeChain.chainType, - activeChain.id, - ); - - const address = currency.getAddressOfChain(typedChainId); - - if (!address) { - console.warn('Not found address on the current chain ', currency); - return false; - } - - try { - await activeApi.watchAsset( - currency, - await getCurrencyImageUrl(currency.view.symbol), - ); - - if (accountAddress && currentResourceId && address) { - recordAddedToken(accountAddress, currentResourceId, address); - } - - return true; - } catch (error) { - console.error(error); - return false; - } - }, - [activeApi, activeChain, activeAccount, currentResourceId], - ); -}; diff --git a/apps/bridge-dapp/src/hooks/useAmountWithRoute.ts b/apps/bridge-dapp/src/hooks/useAmountWithRoute.ts deleted file mode 100644 index 6df875e344..0000000000 --- a/apps/bridge-dapp/src/hooks/useAmountWithRoute.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { useCallback, useEffect, useMemo, useState } from 'react'; -import { useSearchParams } from 'react-router-dom'; -import { formatEther, parseEther } from 'viem'; -import { AMOUNT_KEY } from '../constants'; -import { StringParam, useQueryParam } from 'use-query-params'; - -const useAmountWithRoute = (key = AMOUNT_KEY) => { - const [searchParams] = useSearchParams(); - - const amountStr = useMemo(() => { - const amountStr = searchParams.get(key) ?? ''; - if (amountStr.length === 0) { - return ''; - } - - try { - return formatEther(BigInt(amountStr)); - } catch (error) { - console.error(error); - return ''; - } - }, [key, searchParams]); - - const [amount, setAmount] = useState(amountStr); - - useEffect(() => { - setAmount(amountStr); - }, [amountStr]); - - const [, setAmountParam] = useQueryParam(AMOUNT_KEY, StringParam); - - const onAmountChange = useCallback( - (amount: string) => { - const validationRegex = /^\d*\.?\d*$/; - const isValid = validationRegex.test(amount); - if (isValid) { - setAmount(amount); - } - }, - [setAmount], - ); - - // Update amount on search params with debounce - useEffect(() => { - function updateParams() { - if (!amount) { - setAmountParam(undefined); - return; - } - - // users need to type 0.00 before getting to 0.001 - // we need to check for zero number (ex: 0.00, .00, 00.0) to prevent the input to reset to 0 in those cases - const zeroNumberRegex = /^0*\.0*$/; - if (zeroNumberRegex.test(amount)) { - return; - } - - try { - setAmountParam(parseEther(amount).toString()); - } catch (error) { - console.error(error); - } - } - - const timeout = setTimeout(updateParams, 500); - - return () => { - clearTimeout(timeout); - }; - }, [amount, key, setAmountParam]); - - return [amount, onAmountChange] as const; -}; - -export default useAmountWithRoute; diff --git a/apps/bridge-dapp/src/hooks/useChainsFromNote.ts b/apps/bridge-dapp/src/hooks/useChainsFromNote.ts deleted file mode 100644 index ab8b12067b..0000000000 --- a/apps/bridge-dapp/src/hooks/useChainsFromNote.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { useEffect, useState } from 'react'; - -const useChainsFromNote = () => { - const { noteManager } = useWebContext(); - - const [typedChainIds, setTypedChainIds] = useState>( - new Set(), - ); - - useEffect(() => { - if (!noteManager) { - return; - } - - noteManager.$notesUpdated.subscribe(() => { - const allNotes = noteManager.getAllNotes(); - - const nextTypedChainIds = new Set(); - - Array.from(allNotes.values()).forEach((notes) => { - notes.forEach((note) => { - const { - note: { targetChainId }, - } = note; - const destChainId = Number(targetChainId); - nextTypedChainIds.add(destChainId); - }); - }); - - setTypedChainIds(nextTypedChainIds); - }); - }, [noteManager]); - - return typedChainIds; -}; - -export default useChainsFromNote; diff --git a/apps/bridge-dapp/src/hooks/useChainsFromRoute.ts b/apps/bridge-dapp/src/hooks/useChainsFromRoute.ts deleted file mode 100644 index 6884cf2cfa..0000000000 --- a/apps/bridge-dapp/src/hooks/useChainsFromRoute.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { useMemo } from 'react'; -import { NumberParam, useQueryParams } from 'use-query-params'; -import { DEST_CHAIN_KEY, SOURCE_CHAIN_KEY } from '../constants'; - -/** - * Get the source chain and destination chain info from search params - * @returns an object containing: - * - srcChainCfg: the source chain config - * - srcTypedChainId: the source chain typed chain id - * - destChainCfg: the destination chain config - * - destTypedChainId: the destination chain typed chain id - */ -function useChainsFromRoute() { - const { apiConfig } = useWebContext(); - - const [ - { [SOURCE_CHAIN_KEY]: srcTypedChainId, [DEST_CHAIN_KEY]: destTypedChainId }, - ] = useQueryParams({ - [SOURCE_CHAIN_KEY]: NumberParam, - [DEST_CHAIN_KEY]: NumberParam, - }); - - const srcChainCfg = useMemo(() => { - if (typeof srcTypedChainId !== 'number') { - return; - } - - return apiConfig.chains[srcTypedChainId]; - }, [apiConfig.chains, srcTypedChainId]); - - const destChainCfg = useMemo(() => { - if (typeof destTypedChainId !== 'number') { - return; - } - - return apiConfig.chains[destTypedChainId]; - }, [apiConfig.chains, destTypedChainId]); - - return { - destChainCfg, - destTypedChainId, - srcChainCfg, - srcTypedChainId, - }; -} - -export default useChainsFromRoute; diff --git a/apps/bridge-dapp/src/hooks/useConnectButtonProps.ts b/apps/bridge-dapp/src/hooks/useConnectButtonProps.ts deleted file mode 100644 index 8168db29d9..0000000000 --- a/apps/bridge-dapp/src/hooks/useConnectButtonProps.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { - useWebContext, - useConnectWallet, -} from '@webb-tools/api-provider-environment'; -import chainsPopulated from '@webb-tools/dapp-config/chains/chainsPopulated'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types/WebbError'; -import useCurrentTypedChainId from '@webb-tools/react-hooks/useCurrentTypedChainId'; -import { useNoteAccount } from '@webb-tools/react-hooks/useNoteAccount'; -import { useCallback, useMemo } from 'react'; - -function useConnectButtonProps( - typedChainId?: number | null, - notCheckNoteAcc?: boolean, -) { - const { activeApi = null, activeWallet, switchChain } = useWebContext(); - - const { toggleModal } = useConnectWallet(); - - const { hasNoteAccount, setOpenNoteAccountModal } = useNoteAccount(); - - const activeTypedChainId = useCurrentTypedChainId(); - - const content = useMemo( - () => { - if (!activeWallet) { - return 'Connect Wallet' as const; - } - - const chainName = - typeof typedChainId === 'number' - ? chainsPopulated[typedChainId]?.name - : undefined; - - // There is a case where the user has a wallet connected but the chain is not supported - if (activeTypedChainId === null) { - return chainName - ? `Switch to ${chainName}` - : 'Switch to a supported chain'; - } - - if (!hasNoteAccount && !notCheckNoteAcc) { - return 'Create Note Account' as const; - } - - if (activeTypedChainId !== typedChainId) { - return `Switch ${chainName ? `to ${chainName}` : 'Chain'}` as const; - } - }, - // prettier-ignore - [activeTypedChainId, activeWallet, hasNoteAccount, typedChainId, notCheckNoteAcc], - ); - - const handleConnect = useCallback( - async (typedChainId: number) => { - const nextChain = chainsPopulated[typedChainId]; - if (!nextChain) { - throw WebbError.from(WebbErrorCodes.UnsupportedChain); - } - - if (!activeWallet) { - toggleModal(true, typedChainId); - return null; - } - - const nextChainSupported = nextChain.wallets.includes(activeWallet.id); - - // Handle the case where the user has a wallet connected but the chain is not supported - if (activeTypedChainId === null) { - if (nextChainSupported) { - return switchChain(nextChain, activeWallet); - } else { - toggleModal(true, typedChainId); - return null; - } - } - - if (!hasNoteAccount && !notCheckNoteAcc) { - setOpenNoteAccountModal(true); - return null; - } - - const isNextChainActive = activeTypedChainId === typedChainId; - if (isNextChainActive) { - return activeApi; - } - - if (nextChain.wallets.includes(activeWallet.id)) { - return switchChain(nextChain, activeWallet); - } else { - toggleModal(true, typedChainId); - return null; - } - }, - // prettier-ignore - [activeApi, activeTypedChainId, activeWallet, hasNoteAccount, notCheckNoteAcc, setOpenNoteAccountModal, switchChain, toggleModal], - ); - - return { - /** - * The button content - */ - content, - - /** - * The callback to handle connect - * return the active api if connected, - * `null` if perform other actions or failed to connect - * **throw `UnsupportedChain` error** if the `typedChainId` is not supported - */ - handleConnect, - }; -} - -export default useConnectButtonProps; diff --git a/apps/bridge-dapp/src/hooks/useCurrenciesFromRoute.ts b/apps/bridge-dapp/src/hooks/useCurrenciesFromRoute.ts deleted file mode 100644 index 755a6c6582..0000000000 --- a/apps/bridge-dapp/src/hooks/useCurrenciesFromRoute.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { Currency } from '@webb-tools/abstract-api-provider/currency'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { CurrencyConfig } from '@webb-tools/dapp-config/currencies/currency-config.interface'; -import { CurrencyRole } from '@webb-tools/dapp-types/Currency'; -import { useMemo } from 'react'; -import { useSearchParams } from 'react-router-dom'; -import { POOL_KEY, SOURCE_CHAIN_KEY, TOKEN_KEY } from '../constants'; -import { getParam } from '../utils'; -import { NumberParam } from 'use-query-params'; - -function useCurrenciesFromRoute(typedChainId?: number) { - const { - apiConfig: { currencies, fungibleToWrappableMap }, - } = useWebContext(); - - const [searhParams] = useSearchParams(); - - const srcTypedChainId = useMemo(() => { - return getParam(searhParams, SOURCE_CHAIN_KEY, NumberParam); - }, [searhParams]); - - const fungibleCfg = useMemo(() => { - const fungibleId = getParam(searhParams, POOL_KEY, NumberParam); - if (typeof fungibleId !== 'number') { - return undefined; - } - - return currencies[fungibleId]; - }, [currencies, searhParams]); - - const wrappableCfg = useMemo(() => { - const tokenId = getParam(searhParams, TOKEN_KEY, NumberParam); - if (typeof tokenId !== 'number') { - return undefined; - } - - return currencies[tokenId]; - }, [currencies, searhParams]); - - const fungibleCurrencies = useMemo(() => { - const currencyCfgs = Object.values(currencies).filter( - (currencyCfg) => currencyCfg.role === CurrencyRole.Governable, - ); - - const typedChainIdToUse = typedChainId ?? srcTypedChainId; - if (typeof typedChainIdToUse !== 'number') { - return currencyCfgs; - } - - return currencyCfgs.filter((currencyCfg) => - Array.from(currencyCfg.addresses.keys()).includes(typedChainIdToUse), - ); - }, [currencies, srcTypedChainId, typedChainId]); - - const wrappableCurrencies = useMemo>( - () => { - if (!fungibleCfg) { - return []; - } - - const wrappableMap = fungibleToWrappableMap.get(fungibleCfg.id); - if (!wrappableMap) { - return []; - } - - const typedChainIdToUse = typedChainId ?? srcTypedChainId; - if (typeof typedChainIdToUse !== 'number') { - return []; - } - - const wrappableSet = wrappableMap.get(typedChainIdToUse); - if (!wrappableSet) { - return []; - } - - return Array.from(wrappableSet.values()).map((id) => currencies[id]); - }, - // prettier-ignore - [currencies, fungibleCfg, fungibleToWrappableMap, srcTypedChainId, typedChainId], - ); - - const allCurrencyCfgs = useMemo(() => { - return [...fungibleCurrencies, ...wrappableCurrencies]; - }, [fungibleCurrencies, wrappableCurrencies]); - - const allCurrencies = useMemo(() => { - return allCurrencyCfgs.map((currencyCfg) => new Currency(currencyCfg)); - }, [allCurrencyCfgs]); - - return { - allCurrencies, - allCurrencyCfgs, - fungibleCfg, - fungibleCurrencies, - wrappableCfg, - wrappableCurrencies, - }; -} - -export default useCurrenciesFromRoute; diff --git a/apps/bridge-dapp/src/hooks/useCurrentTx.ts b/apps/bridge-dapp/src/hooks/useCurrentTx.ts deleted file mode 100644 index 41ba4a9467..0000000000 --- a/apps/bridge-dapp/src/hooks/useCurrentTx.ts +++ /dev/null @@ -1,32 +0,0 @@ -import type { TransactionExecutor } from '@webb-tools/abstract-api-provider/transaction'; -import { useMemo } from 'react'; - -/** - * Get the current transaction from the transaction queue - * @param txQueue the transaction queue to search - * @param txId the optional transaction id to search for - * @returns the transaction if found, otherwise the latest transaction - */ -const useCurrentTx = ( - txQueue: Array>, - txId?: string | null, - opts?: { - /** - * If true, return the latest tx if the txId is not found - */ - latest?: boolean; - }, -) => { - return useMemo(() => { - if (typeof txId === 'string') { - return txQueue.find((tx) => tx.id === txId); - } - - // Get the latest tx - if (opts?.latest) { - return txQueue[0]; - } - }, [opts?.latest, txId, txQueue]); -}; - -export default useCurrentTx; diff --git a/apps/bridge-dapp/src/hooks/useDefaultChainAndPool.ts b/apps/bridge-dapp/src/hooks/useDefaultChainAndPool.ts deleted file mode 100644 index cd4fa1661f..0000000000 --- a/apps/bridge-dapp/src/hooks/useDefaultChainAndPool.ts +++ /dev/null @@ -1,90 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { calculateTypedChainId } from '@webb-tools/sdk-core/typed-chain-id'; -import { useEffect, useMemo } from 'react'; -import { NumberParam, useQueryParams } from 'use-query-params'; -import { POOL_KEY, SOURCE_CHAIN_KEY } from '../constants'; - -/** - * Hook containing side effects to set default source chain and pool id - */ -const useDefaultChainAndPool = () => { - const { loading, isConnecting, apiConfig, activeChain, activeApi } = - useWebContext(); - - const [query, setQuery] = useQueryParams({ - [SOURCE_CHAIN_KEY]: NumberParam, - [POOL_KEY]: NumberParam, - }); - - const { [SOURCE_CHAIN_KEY]: srcTypedChainId } = query; - - const hasDefaultChain = useMemo(() => { - // If the app is loading or connecting, no need to check - if (loading || isConnecting) { - return true; - } - - if (typeof srcTypedChainId === 'number') { - return true; - } - - return false; - }, [loading, isConnecting, srcTypedChainId]); - - // Side effect to set default source chain - useEffect(() => { - if (hasDefaultChain) { - return; - } - - const defaultChain = Object.values(apiConfig.chains)[0]; - const typedChainId = activeChain - ? calculateTypedChainId(activeChain.chainType, activeChain.id) - : calculateTypedChainId(defaultChain.chainType, defaultChain.id); - - setQuery({ [SOURCE_CHAIN_KEY]: typedChainId }); - }, [activeChain, apiConfig.chains, hasDefaultChain, setQuery]); - - const activeBridge = useMemo(() => { - return activeApi?.state.activeBridge; - }, [activeApi]); - - // Find default pool id when source chain is changed - const defaultPoolId = useMemo(() => { - if (typeof srcTypedChainId !== 'number') { - return; - } - - const activeBridgeSupported = - activeBridge && - Object.keys(activeBridge.targets).includes(`${srcTypedChainId}`); - - if (activeBridgeSupported) { - return activeBridge.currency.id; - } - - const anchor = Object.entries(apiConfig.anchors).find( - ([, anchorsRecord]) => { - return Object.keys(anchorsRecord).includes(`${srcTypedChainId}`); - }, - ); - - const pool = anchor?.[0]; - if (typeof pool !== 'string') { - return; - } - - return Number(pool); - }, [activeBridge, apiConfig.anchors, srcTypedChainId]); - - // Side effect to set default pool id - useEffect(() => { - if (typeof defaultPoolId !== 'number') { - return; - } - - setQuery({ [POOL_KEY]: defaultPoolId }); - }, [defaultPoolId, setQuery]); -}; - -export default useDefaultChainAndPool; diff --git a/apps/bridge-dapp/src/hooks/useEducationCardStep.ts b/apps/bridge-dapp/src/hooks/useEducationCardStep.ts deleted file mode 100644 index 235eb32f06..0000000000 --- a/apps/bridge-dapp/src/hooks/useEducationCardStep.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { BehaviorSubject } from 'rxjs'; -import { useObservableState } from 'observable-hooks'; - -type UseEducationCardStepReturnType = { - educationCardStep: number; - setEducationCardStep: (step: number) => void; -}; - -const defaultStep = 0; - -const step$ = new BehaviorSubject(defaultStep); - -const setEducationCardStep = (step: number) => step$.next(step); - -export const useEducationCardStep = (): UseEducationCardStepReturnType => { - const step = useObservableState(step$, defaultStep); - - return { educationCardStep: step, setEducationCardStep }; -}; diff --git a/apps/bridge-dapp/src/hooks/useEnqueueSubmittedTx.tsx b/apps/bridge-dapp/src/hooks/useEnqueueSubmittedTx.tsx deleted file mode 100644 index 533c69a67a..0000000000 --- a/apps/bridge-dapp/src/hooks/useEnqueueSubmittedTx.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { useModalQueueManager } from '@webb-tools/api-provider-environment/modal-queue-manager'; -import { getExplorerURI } from '@webb-tools/api-provider-environment/transaction/utils/getExplorerURI'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { type ChainConfig } from '@webb-tools/dapp-config/chains/chain-config.interface'; -import { useCallback } from 'react'; -import SubmittedTxModal from '../components/SubmittedTxModal'; -import { BRIDGE_TABS, WRAPPER_TABS } from '../constants'; - -function useEnqueueSubmittedTx() { - const { activeApi } = useWebContext(); - const { enqueue } = useModalQueueManager(); - - return useCallback( - ( - transactionHash: string, - chain?: ChainConfig, - txType?: (typeof BRIDGE_TABS)[number] | (typeof WRAPPER_TABS)[number], - ) => { - const explorer = chain?.blockExplorers?.default?.url; - - const url = - explorer && activeApi - ? getExplorerURI(explorer, transactionHash, 'tx', activeApi.type) - : undefined; - - enqueue( - , - ); - }, - [activeApi, enqueue], - ); -} - -export default useEnqueueSubmittedTx; diff --git a/apps/bridge-dapp/src/hooks/useInProgressTxInfo.ts b/apps/bridge-dapp/src/hooks/useInProgressTxInfo.ts deleted file mode 100644 index 9877b67ff3..0000000000 --- a/apps/bridge-dapp/src/hooks/useInProgressTxInfo.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { useEffect, useMemo, useState } from 'react'; -import { useLatestTransactionStage } from './useLatestTransactionStage'; -import useCurrentTx from './useCurrentTx'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { getCardTitle } from '../utils/getCardTitle'; - -/** - * Hook to get the information of the current tx in progress - * for the confirmation card UI. - * @param isWrapOrUnwrapFlow optional flag to indicate if the current tx has wrap or unwrap flow - * @param onTransactionDismiss optional callback to be called when the current tx is dismissed - * @returns an object containing: - * - cardTitle: the title of the confirmation card of the current tx - * - currentStep: the current step of the current tx - * - inProgressTxId: the current tx id in progress - * - setInProgressTxId: a function to set the current tx id - * - setTotalStep: a function to set the total step of the current tx - * - totalStep: the total step of the current tx - * - txStatus: the transaction status of the current tx - * - txStatusMessage: the transaction status message of the current tx - */ -const useInProgressTxInfo = ( - isWrapOrUnwrapFlow?: boolean, - onTransactionDismiss?: () => void, -) => { - const { txQueue } = useWebContext(); - - const [inProgressTxId, setInProgressTxId] = useState(''); - - const [totalStep, setTotalStep] = useState(); - - const stage = useLatestTransactionStage(inProgressTxId); - - const inProgressTx = useCurrentTx(txQueue.txQueue, inProgressTxId); - - const cardTitle = useMemo(() => { - if (!inProgressTx) { - return undefined; - } - - return getCardTitle(stage, inProgressTx.name, isWrapOrUnwrapFlow).trim(); - }, [inProgressTx, stage, isWrapOrUnwrapFlow]); - - const [txStatusMessage, currentStep, txStatus] = useMemo(() => { - if (!inProgressTxId) { - return ['', undefined, undefined]; - } - - const { txPayloads } = txQueue; - - const txPayload = txPayloads.find( - (txPayload) => txPayload.id === inProgressTxId, - ); - const message = txPayload - ? txPayload.txStatus.message?.replace('...', '') - : ''; - - const step = txPayload?.currentStep; - const status = txPayload?.txStatus.status; - - return [message, step, status]; - }, [inProgressTxId, txQueue]); - - // Side effect to watch the current tx in the txQueue and - // the current tx id which is being set by the parent component - // if the tx id has a value but there is no tx in the txQueue - // that means the tx has been dismissed so we call the callback - // to notify the parent component - useEffect(() => { - if (inProgressTxId && !inProgressTx) { - onTransactionDismiss?.(); - } - }, [inProgressTxId, inProgressTx, onTransactionDismiss]); - - return { - cardTitle, - currentStep, - inProgressTxId, - setInProgressTxId, - setTotalStep, - totalStep, - txStatus, - txStatusMessage, - }; -}; - -export default useInProgressTxInfo; diff --git a/apps/bridge-dapp/src/hooks/useLatestTransactionStage.ts b/apps/bridge-dapp/src/hooks/useLatestTransactionStage.ts deleted file mode 100644 index d00055cd41..0000000000 --- a/apps/bridge-dapp/src/hooks/useLatestTransactionStage.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { TransactionState } from '@webb-tools/abstract-api-provider'; -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { useEffect, useState } from 'react'; - -export const useLatestTransactionStage = (transactionId?: string | null) => { - const [stage, setStage] = useState(TransactionState.Ideal); - - const { - txQueue: { txQueue }, - } = useWebContext(); - - // Effect to subscribe to the latest tx and update the stage - useEffect(() => { - const tx = txQueue.find((tx) => tx.id === transactionId); - if (!tx) { - return; - } - - const sub = tx.$currentStatus.subscribe(([status]) => { - setStage(status); - }); - - return () => { - sub.unsubscribe(); - }; - }, [transactionId, txQueue]); - - return stage; -}; diff --git a/apps/bridge-dapp/src/hooks/useMaxFeeInfo.ts b/apps/bridge-dapp/src/hooks/useMaxFeeInfo.ts deleted file mode 100644 index 6e22443dd7..0000000000 --- a/apps/bridge-dapp/src/hooks/useMaxFeeInfo.ts +++ /dev/null @@ -1,220 +0,0 @@ -import { - ActiveWebbRelayer, - RelayerFeeInfo, -} from '@webb-tools/abstract-api-provider'; -import { useWebContext } from '@webb-tools/api-provider-environment'; -import gasLimit from '@webb-tools/dapp-config/gasLimitConfig'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types'; -import { PolkadotProvider } from '@webb-tools/polkadot-api-provider'; -import { calculateTypedChainId } from '@webb-tools/sdk-core/typed-chain-id'; -import { WebbWeb3Provider } from '@webb-tools/web3-api-provider'; -import { useWebbUI } from '@webb-tools/webb-ui-components'; -import { useCallback, useEffect, useMemo, useState } from 'react'; -import { getErrorMessage, getEstimatedGasFeesByChain } from '../utils'; - -/** - * Get the max fee info for the current active chain - * @returns an object with the following properties: - * - feeInfo: RelayerFeeInfo | null - * - fetchMaxFeeInfo: () => Promise | never - * - fetchMaxFeeInfoFromRelayer: (relayer: ActiveWebbRelayer) => Promise | never - * - resetMaxFeeInfo: () => void - * - isLoading: boolean - * - error: unknown | null - */ -type UseMaxFeeInfoReturnType = { - /** - * The max fee info for the current active chain - */ - feeInfo: RelayerFeeInfo | bigint | null; - - /** - * Fetch the max fee info from the relayer if the active relayer is provided - * Otherwise, calculate the max fee info from the gas price * hard-coded gas limit - * @param activeRelayer The optional relayer to fetch the fee info from - * @returns void - */ - fetchFeeInfo: (activeRelayer?: ActiveWebbRelayer | null) => Promise; - - /** - * Reset the states inside the hook - */ - resetMaxFeeInfo: () => void; - - /** - * Whether the hook is fetching the max fee info - */ - isLoading: boolean; - - /** - * The error if any - * @type {unknown | null} - */ - error: unknown | null; -}; - -/** - * The option to customize the hook - * @property {boolean} isHiddenNotiError Whether to hide the error notification - */ -export type MaxFeeInfoOption = { - /** - * Whether to hide the error notification - */ - isHiddenNotiError?: boolean; - - /** - * Fungible currency id - */ - fungibleCurrencyId?: number; - - /** - * The typed chain id if not provided, the hook will calculate the typed chain id from the active chain - */ - typedChainId?: number; -}; - -/** - * Get the max fee info for the current active chain - * @param {MaxFeeInfoOption} opt The option to customize the hook - * @returns an object with the following properties: - * - feeInfo: RelayerFeeInfo | bigint | null - * - fetchMaxFeeInfo: () => Promise | never - * - fetchMaxFeeInfoFromRelayer: (relayer: ActiveWebbRelayer) => Promise | never - * - resetMaxFeeInfo: () => void - */ -export const useMaxFeeInfo = ( - opt?: MaxFeeInfoOption, -): UseMaxFeeInfoReturnType => { - const { notificationApi } = useWebbUI(); - const { activeApi, activeChain, apiConfig } = useWebContext(); - - // State to store the max fee info - const [feeInfo, setFeeInfo] = useState(null); - - // State to store the loading state - const [isLoading, setIsLoading] = useState(false); - - // State to store the error - const [error, setError] = useState(null); - - const typedChainId = useMemo(() => { - if (typeof opt?.typedChainId === 'number') { - return opt.typedChainId; - } - - if (!activeChain) { - return undefined; - } - - return calculateTypedChainId(activeChain.chainType, activeChain.id); - }, [activeChain, opt?.typedChainId]); - - const fetchMaxFeeInfoFromRelayer = useCallback( - async (relayer: ActiveWebbRelayer): Promise => { - try { - if (typeof typedChainId !== 'number') { - throw new Error('No typed chain id selected'); - } - - if (!relayer) { - throw new Error('No relayer selected'); - } - - if (!opt?.fungibleCurrencyId) { - throw new Error('No fungible currency id selected'); - } - - setError(null); - setIsLoading(true); - - const vanchorId = apiConfig.getAnchorIdentifier( - opt.fungibleCurrencyId, - typedChainId, - ); - if (!vanchorId) { - console.error('No anchor address in current active chain'); - return; - } - - const gasAmount = gasLimit[typedChainId] ?? gasLimit.default; - const feeInfo = await relayer.getFeeInfo( - typedChainId, - vanchorId, - gasAmount, - ); - setFeeInfo(feeInfo); - } catch (error) { - setError(error); - setFeeInfo(null); - } finally { - setIsLoading(false); - } - }, - [apiConfig, opt?.fungibleCurrencyId, typedChainId], - ); - - const calculateFeeInfo = useCallback(async () => { - try { - setIsLoading(true); - - if (!activeApi || typeof typedChainId !== 'number') { - return; - } - - const gasAmount = gasLimit[typedChainId] ?? gasLimit.default; - const provider = activeApi.getProvider(); - if (provider instanceof PolkadotProvider) { - // On Substrate, we use partial fee dirrectly - setFeeInfo(gasAmount); - setIsLoading(false); - } else if (activeApi instanceof WebbWeb3Provider) { - const feeInfo = await getEstimatedGasFeesByChain(typedChainId); - setFeeInfo(feeInfo); - } else { - throw WebbError.from(WebbErrorCodes.UnsupportedProvider); - } - } catch (error) { - setError(error); - } finally { - setIsLoading(false); - } - }, [activeApi, typedChainId]); - - const fetchFeeInfo = useCallback( - async (activeRelayer?: ActiveWebbRelayer | null) => { - if (activeRelayer) { - return fetchMaxFeeInfoFromRelayer(activeRelayer); - } else { - return calculateFeeInfo(); - } - }, - [calculateFeeInfo, fetchMaxFeeInfoFromRelayer], - ); - - const resetMaxFeeInfo = useCallback(() => { - setError(null); - setIsLoading(false); - setFeeInfo(null); - }, []); - - // Side effect to show notification when fetching fee info fails - useEffect(() => { - if (error && !opt?.isHiddenNotiError) { - const message = getErrorMessage(error); - notificationApi.addToQueue({ - variant: 'error', - message: 'Failed to fetch max fee info', - secondaryMessage: message, - }); - } - }, [error, notificationApi, opt?.isHiddenNotiError]); - - return { - feeInfo, - fetchFeeInfo, - resetMaxFeeInfo, - isLoading, - error, - }; -}; diff --git a/apps/bridge-dapp/src/hooks/useNavigateWithPersistParams.ts b/apps/bridge-dapp/src/hooks/useNavigateWithPersistParams.ts deleted file mode 100644 index 3b32e31743..0000000000 --- a/apps/bridge-dapp/src/hooks/useNavigateWithPersistParams.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { useCallback } from 'react'; -import { NavigateOptions, To, useLocation, useNavigate } from 'react-router'; -import { useSearchParams } from 'react-router-dom'; -import merge from 'lodash/merge'; - -/** - * Custom the `useNaviagte` hook from `react-router` to persist the search params - * @returns a navigate function that will persist the search params - */ -const useNavigateWithPersistParams = (): ReturnType => { - const navigate = useNavigate(); - const [searchParams] = useSearchParams(); - const { pathname } = useLocation(); - - return useCallback( - (toOrDelta: To | number, options?: NavigateOptions) => { - if (typeof toOrDelta === 'number') { - const path = pathname.split('/').slice(0, -1).join('/'); - const args = - toOrDelta !== -1 - ? toOrDelta - : ({ - search: searchParams.toString(), - pathname: path, - } satisfies To); - - typeof args === 'number' ? navigate(args) : navigate(args, options); - } else if (typeof toOrDelta === 'string') { - navigate( - { search: searchParams.toString(), pathname: toOrDelta }, - options, - ); - } else { - navigate( - merge({ search: searchParams.toString() }, toOrDelta), - options, - ); - } - }, - [navigate, pathname, searchParams], - ); -}; - -export default useNavigateWithPersistParams; diff --git a/apps/bridge-dapp/src/hooks/useReceiveModal/index.ts b/apps/bridge-dapp/src/hooks/useReceiveModal/index.ts deleted file mode 100644 index 7831539803..0000000000 --- a/apps/bridge-dapp/src/hooks/useReceiveModal/index.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { useCallback, useMemo } from 'react'; -import { useObservableState } from 'observable-hooks'; -import { useWebContext } from '@webb-tools/api-provider-environment'; - -import subjects from './subjects'; - -export type UseReceiveModalReturnType = { - /** - * Boolean to check if the receive modal is open - */ - isModalOpen: boolean; - - /** - * Toggle or set state of the wallet modal - */ - toggleModal: (isOpen?: boolean) => void; - - /** - * Public key of current account - */ - publicKey?: string; -}; - -const useReceiveModal = (): UseReceiveModalReturnType => { - const isModalOpen = useObservableState(subjects.isReceiveModalOpenSubject); - - const { noteManager } = useWebContext(); - - /** - * Toggle or set state of the wallet modal - */ - const toggleModal = useCallback((isOpenArg?: boolean) => { - const isOpen = isOpenArg ?? !subjects.isReceiveModalOpenSubject.getValue(); - - subjects.setReceiveModalOpen(isOpen); - }, []); - - const publicKey = useMemo( - () => noteManager?.getKeypair().toString(), - [noteManager], - ); - - return { - isModalOpen, - toggleModal, - publicKey, - }; -}; - -export default useReceiveModal; diff --git a/apps/bridge-dapp/src/hooks/useReceiveModal/subjects.ts b/apps/bridge-dapp/src/hooks/useReceiveModal/subjects.ts deleted file mode 100644 index af08bec253..0000000000 --- a/apps/bridge-dapp/src/hooks/useReceiveModal/subjects.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BehaviorSubject } from 'rxjs'; - -const isReceiveModalOpenSubject = new BehaviorSubject(false); -const setReceiveModalOpen = (isOpen: boolean) => - isReceiveModalOpenSubject.next(isOpen); - -export default { - isReceiveModalOpenSubject, - setReceiveModalOpen, -}; diff --git a/apps/bridge-dapp/src/hooks/useRelayerManager.ts b/apps/bridge-dapp/src/hooks/useRelayerManager.ts deleted file mode 100644 index 0e01856e12..0000000000 --- a/apps/bridge-dapp/src/hooks/useRelayerManager.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Capabilities, WebbRelayer } from '@webb-tools/abstract-api-provider'; -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { getRelayerManagerFactory } from '@webb-tools/relayer-manager-factory'; -import { useCallback } from 'react'; - -type RelayerManagerApi = { - getInfo: (endpoint: string) => Promise; - addRelayer: (endpoint: string) => Promise; -}; - -export const useRelayerManager = (): RelayerManagerApi => { - const { activeApi } = useWebContext(); - - const addRelayer = useCallback( - async (endpoint: string) => { - const relayerManagerFactory = await getRelayerManagerFactory(); - const relayerCapabilities = - await relayerManagerFactory.addRelayer(endpoint); - const relayer = new WebbRelayer(endpoint, relayerCapabilities[endpoint]); - activeApi?.relayerManager.addRelayer(relayer); - return relayer; - }, - [activeApi], - ); - - const getInfo = useCallback(async (endpoint: string) => { - const relayerManagerFactory = await getRelayerManagerFactory(); - return relayerManagerFactory.fetchCapabilities(endpoint); - }, []); - - return { - addRelayer, - getInfo, - }; -}; diff --git a/apps/bridge-dapp/src/hooks/useRelayerWithRoute.ts b/apps/bridge-dapp/src/hooks/useRelayerWithRoute.ts deleted file mode 100644 index 91af0b5205..0000000000 --- a/apps/bridge-dapp/src/hooks/useRelayerWithRoute.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { type OptionalActiveRelayer } from '@webb-tools/abstract-api-provider/relayer/types'; -import { WebbRelayer } from '@webb-tools/abstract-api-provider/relayer/webb-relayer'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { useEffect, useMemo } from 'react'; -import { - BooleanParam, - NumberParam, - StringParam, - useQueryParams, -} from 'use-query-params'; -import { - HAS_REFUND_KEY, - NO_RELAYER_KEY, - POOL_KEY, - REFUND_RECIPIENT_KEY, - RELAYER_ENDPOINT_KEY, -} from '../constants'; - -const useRelayerWithRoute = (typedChainId?: number | null) => { - const { activeApi, apiConfig } = useWebContext(); - - // State for active relayer - const [query, setQuery] = useQueryParams({ - [RELAYER_ENDPOINT_KEY]: StringParam, - [POOL_KEY]: NumberParam, - [NO_RELAYER_KEY]: BooleanParam, - [HAS_REFUND_KEY]: BooleanParam, - [REFUND_RECIPIENT_KEY]: StringParam, - }); - - const { - [RELAYER_ENDPOINT_KEY]: relayerUrl, - [NO_RELAYER_KEY]: noRelayer, - [POOL_KEY]: poolId, - } = query; - - // Side effect for active relayer subsription - useEffect(() => { - const sub = activeApi?.relayerManager.activeRelayerWatcher.subscribe( - (relayer) => { - setQuery({ - [RELAYER_ENDPOINT_KEY]: relayer?.endpoint, - ...(relayer == null - ? { - [HAS_REFUND_KEY]: undefined, - [REFUND_RECIPIENT_KEY]: undefined, - } - : {}), - }); - }, - ); - - return () => sub?.unsubscribe(); - }, [activeApi?.relayerManager.activeRelayerWatcher, setQuery]); - - const anchorId = useMemo(() => { - if (typeof poolId !== 'number' || typeof typedChainId !== 'number') { - return; - } - - return apiConfig.anchors[poolId]?.[typedChainId]; - }, [apiConfig.anchors, poolId, typedChainId]); - - // Side effect to check if active relayer is supported - // If not, set the first supported relayer as active - useEffect(() => { - if (typeof anchorId !== 'string' || typeof typedChainId !== 'number') { - return; - } - - if (noRelayer || !activeApi?.relayerManager) { - return; - } - - const manager = activeApi.relayerManager; - const supportedRelayers = manager.getRelayersByChainAndAddress( - typedChainId, - anchorId, - ); - - if (!supportedRelayers || supportedRelayers.length === 0) { - manager.setActiveRelayer(null, typedChainId); - return; - } - - const active = manager.activeRelayer; - const isActiveRelayerSupported = supportedRelayers.find( - (r) => r.endpoint === active?.endpoint, - ); - if (isActiveRelayerSupported) { - return; - } - - manager.setActiveRelayer(supportedRelayers[0], typedChainId); - }, [activeApi?.relayerManager, anchorId, noRelayer, typedChainId]); - - const activeRelayer = useMemo(() => { - if (!relayerUrl || !activeApi?.relayerManager) { - return null; - } - - if (typeof typedChainId !== 'number') { - return null; - } - - const relayers = activeApi.relayerManager.getRelayers({}); - const relayer = relayers.find((r) => r.endpoint === relayerUrl); - if (!relayer) { - return null; - } - - return WebbRelayer.intoActiveWebRelayer(relayer, { - typedChainId, - basedOn: activeApi.relayerManager.cmdKey, - }); - }, [relayerUrl, activeApi?.relayerManager, typedChainId]); - - return activeRelayer; -}; - -export default useRelayerWithRoute; diff --git a/apps/bridge-dapp/src/hooks/useShieldedAssets.ts b/apps/bridge-dapp/src/hooks/useShieldedAssets.ts deleted file mode 100644 index 0d5ef0e967..0000000000 --- a/apps/bridge-dapp/src/hooks/useShieldedAssets.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { chainsPopulated } from '@webb-tools/dapp-config'; -import { useCurrencies, useNoteAccount } from '@webb-tools/react-hooks'; -import { calculateTypedChainId } from '@webb-tools/sdk-core'; -import numberToString from '@webb-tools/webb-ui-components/utils/numberToString'; -import React from 'react'; -import { formatUnits, parseUnits } from 'viem'; -import { ShieldedAssetDataType } from '../containers/note-account-tables/ShieldedAssetsTableContainer/types'; - -export const useShieldedAssets = (): ShieldedAssetDataType[] => { - const { allNotes } = useNoteAccount(); - - const { allFungibleCurrencies: fungibleCurrencies, getWrappableCurrencies } = - useCurrencies(); - - // Group notes by destination chain and symbol - const groupedNotes = React.useMemo(() => { - return Array.from(allNotes.values()).reduce((acc, notes) => { - notes.forEach((note) => { - const { - targetChainId, - tokenSymbol, - amount: amountStr, - denomination: denominationStr, - } = note.note; - - const amount = BigInt(amountStr); - const denomination = Number(denominationStr); - - const chain = chainsPopulated[Number(targetChainId)]; - // This could happen in the case of a chain being removed from the - // config, but the user still has notes from that chain. - if (!chain) { - console.warn(`Typed Chain (${targetChainId}) not supported anymore!`); - return; - } - - const existedChain = acc.find( - (item) => - item.chain === chain.name && - item.fungibleTokenSymbol === tokenSymbol, - ); - - if (existedChain) { - const parsedAvailableBalance = parseUnits( - numberToString(existedChain.availableBalance), - denomination, - ); - - const summedBalance = amount + parsedAvailableBalance; - - existedChain.availableBalance = Number( - formatUnits(summedBalance, denomination), - ); - - existedChain.numberOfNotesFound += 1; - existedChain.rawNotes.push(note); - return; - } - - const compositionSet = new Set(); - const fungibleCurrency = fungibleCurrencies.find( - (currency) => currency.view.symbol === tokenSymbol, - ); - - if (fungibleCurrency) { - const foundCurrencies = getWrappableCurrencies( - fungibleCurrency.id, - false, - ); - - foundCurrencies.forEach((c) => - compositionSet.add(c.view.symbol.toUpperCase()), - ); - } - - let assetsUrl = '#'; - const explorerUrl = chain.blockExplorers?.default.url; - const address = fungibleCurrency?.getAddressOfChain( - calculateTypedChainId(chain.chainType, chain.id), - ); - - if (explorerUrl && address) { - assetsUrl = explorerUrl.endsWith('/') - ? `${explorerUrl}address/${address}` - : `${explorerUrl}/address/${address}`; - } - - acc.push({ - chain: chain.name, - fungibleTokenSymbol: tokenSymbol, - assetsUrl, - composition: Array.from(compositionSet), - availableBalance: Number(formatUnits(amount, denomination)), - numberOfNotesFound: 1, - rawChain: chain, - rawFungibleCurrency: fungibleCurrency, - rawNotes: [note], - }); - }); - - return acc; - }, [] as ShieldedAssetDataType[]); - }, [allNotes, fungibleCurrencies, getWrappableCurrencies]); - - return groupedNotes; -}; diff --git a/apps/bridge-dapp/src/hooks/useSidebarProps.ts b/apps/bridge-dapp/src/hooks/useSidebarProps.ts deleted file mode 100644 index fa337097e8..0000000000 --- a/apps/bridge-dapp/src/hooks/useSidebarProps.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { - useWebContext, - useConnectWallet, -} from '@webb-tools/api-provider-environment'; -import BillFillIcon from '@webb-tools/icons/BillFillIcon'; -import { useNoteAccount } from '@webb-tools/react-hooks/useNoteAccount'; -import type { SideBarItemProps } from '@webb-tools/webb-ui-components/components/SideBar/types'; -import type { EventFor } from '@webb-tools/webb-ui-components/types'; -import { useLocation } from 'react-router'; -import sidebar from '../constants/sidebar'; -import useChainsFromRoute from './useChainsFromRoute'; - -const accountItemCfg = { - name: 'Account', - isInternal: true, - href: '/account', - Icon: BillFillIcon, - subItems: [], -} satisfies SideBarItemProps; - -/** - * Function to get the sidebar props for the sidebar component. - * **Must be used inside the `WebbProvider` component**. - */ -function useSidebarProps() { - const { pathname } = useLocation(); - const { srcTypedChainId } = useChainsFromRoute(); - - const { activeWallet, noteManager } = useWebContext(); - const { hasNoteAccount, setOpenNoteAccountModal } = useNoteAccount(); - const { toggleModal } = useConnectWallet(); - - const handleClick = (event: EventFor<'a', 'onClick'>) => { - event.preventDefault(); - - if (typeof srcTypedChainId !== 'number') { - return; - } - - if (!activeWallet) { - return toggleModal(true, srcTypedChainId); - } - - if (!hasNoteAccount) { - setOpenNoteAccountModal(true); - } - }; - - const accountItem = { - ...accountItemCfg, - onClick: noteManager && activeWallet ? undefined : handleClick, - } satisfies SideBarItemProps; - - sidebar.items = [ - accountItem, - ...sidebar.items.filter((item) => item.name !== accountItem.name), - ]; - - return { - ...sidebar, - pathnameOrHash: pathname, - } satisfies typeof sidebar; -} - -export default useSidebarProps; diff --git a/apps/bridge-dapp/src/hooks/useSpendNotes.ts b/apps/bridge-dapp/src/hooks/useSpendNotes.ts deleted file mode 100644 index bf272753cf..0000000000 --- a/apps/bridge-dapp/src/hooks/useSpendNotes.ts +++ /dev/null @@ -1,218 +0,0 @@ -import { randRecentDate } from '@ngneat/falso'; -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { CurrencyRole } from '@webb-tools/dapp-types'; -import { - useCurrencies, - useNoteAccount, - useVAnchor, -} from '@webb-tools/react-hooks'; -import { - ResourceId, - calculateTypedChainId, - parseTypedChainId, -} from '@webb-tools/sdk-core'; -import { hexToU8a } from '@webb-tools/utils'; -import { ArrayElement } from '@webb-tools/webb-ui-components/types'; -import { useEffect, useMemo, useState } from 'react'; - -import { formatUnits } from 'viem'; -import { SpendNoteDataType } from '../containers/note-account-tables/SpendNotesTableContainer/types'; -import { getVAnchorActionClass } from '../utils'; - -const createdTime = randRecentDate(); - -export const useSpendNotes = (): SpendNoteDataType[] => { - const { allNotes } = useNoteAccount(); - - const { allFungibleCurrencies: fungibleCurrencies, getWrappableCurrencies } = - useCurrencies(); - - const { apiConfig, chains } = useWebContext(); - - const { api: vAnchorApi } = useVAnchor(); - - const [nextIndices, setNextIndices] = useState< - { fungibleCurrencyId: number; typedChainId: number; nextIndex: number }[] - >([]); - - // Get no overlap sourceChainId and sourceIdentifyingData from allNotes - const filterChainIdsAndAddresses = useMemo(() => { - if (!apiConfig) { - return []; - } - - return Array.from(allNotes.values()).reduce( - (acc, notes) => { - notes.forEach((note) => { - const { sourceChainId, tokenSymbol } = note.note; - - const fungible = Object.values(apiConfig.currencies) - .filter((c) => c.role === CurrencyRole.Governable) - .find( - (c) => - c.symbol === tokenSymbol && c.addresses.has(+sourceChainId), - ); - if (!fungible) { - return acc; - } - - const isExisted = acc.find( - (val) => - val.fungibleCurrencyId === fungible.id && - val.typedChainId === Number(sourceChainId), - ); - - if (!isExisted) { - acc.push({ - fungibleCurrencyId: fungible.id, - typedChainId: Number(sourceChainId), - }); - } - }); - - return acc; - }, - [] as Array, 'nextIndex'>>, - ); - }, [apiConfig, allNotes]); - - const notes = useMemo( - () => { - return Array.from(allNotes.entries()).reduce( - (acc, [resourceIdStr, notes]) => { - const resourceId = ResourceId.fromBytes(hexToU8a(resourceIdStr)); - const typedChainId = calculateTypedChainId( - resourceId.chainType, - resourceId.chainId, - ); - - const chain = chains[typedChainId]; - if (!chain) { - console.trace('Chain not found with typedChainId: ', typedChainId); - return acc; - } - - // if (chain.tag !== activeChain?.tag) { - // return acc; - // } - - notes.forEach((note) => { - const nextIndex = nextIndices.find((item) => { - const fungible = apiConfig.currencies[item.fungibleCurrencyId]; - if (!fungible) { - console.error( - 'Fungible currency not found with id: ', - item.fungibleCurrencyId, - ); - return false; - } - - return ( - item.fungibleCurrencyId === fungible.id && - item.typedChainId === Number(note.note.sourceChainId) - ); - })?.nextIndex; - - const subsequentDepositsNumber = nextIndex - ? nextIndex - Number(note.note.index) - : '?'; - - // Calculate the wrappable currencies - const compositionSet = new Set(); - const fungibleCurrency = fungibleCurrencies.find((currency) => { - return ( - currency.view.symbol === note.note.tokenSymbol && - currency.hasChain(+note.note.targetChainId) - ); - }); - if (fungibleCurrency) { - const foundCurrencies = getWrappableCurrencies( - fungibleCurrency.id, - false, - ); - foundCurrencies.forEach((c) => - compositionSet.add(c.view.symbol.toUpperCase()), - ); - } - - // Calculate the assets url - let assetsUrl = '#'; - const explorerUrl = chain.blockExplorers?.default.url; - const address = fungibleCurrency?.getAddressOfChain( - calculateTypedChainId(chain.chainType, chain.id), - ); - - if (explorerUrl && address) { - assetsUrl = explorerUrl.endsWith('/') - ? `${explorerUrl}address/${address}` - : `${explorerUrl}/address/${address}`; - } - - acc.push({ - fungibleTokenSymbol: note.note.tokenSymbol, - chain: chain.name.toLowerCase(), - note: note.serialize(), - assetsUrl, - composition: Array.from(compositionSet), - createdTime, // TODO: get the actual created time - balance: Number( - formatUnits(BigInt(note.note.amount), +note.note.denomination), - ), - subsequentDeposits: note.note.index - ? subsequentDepositsNumber.toString() - : '0', - rawFungibleCurrency: fungibleCurrency, - rawChain: chain, - rawNote: note, - }); - }); - - return acc; - }, - [] as Array, - ); - }, - // prettier-ignore - [allNotes, chains, nextIndices, fungibleCurrencies, apiConfig.currencies, getWrappableCurrencies], - ); - - // Effect to get next indices asynchorously - useEffect(() => { - const getIndices = async () => { - if (!vAnchorApi) { - return; - } - - try { - const indices = await Promise.all( - filterChainIdsAndAddresses.map( - async ({ fungibleCurrencyId, typedChainId }) => { - const { chainType } = parseTypedChainId(typedChainId); - const VAnchorAction = getVAnchorActionClass(chainType); - - const idx = await VAnchorAction.getNextIndex( - apiConfig, - typedChainId, - fungibleCurrencyId, - ); - - return { - fungibleCurrencyId, - typedChainId, - nextIndex: Number(idx), - }; - }, - ), - ); - - setNextIndices(indices); - } catch (error) { - console.log('Error while getting next indices', error); - } - }; - - getIndices(); - }, [apiConfig, filterChainIdsAndAddresses, vAnchorApi]); - - return notes; -}; diff --git a/apps/bridge-dapp/src/hooks/useStateWithRoute.ts b/apps/bridge-dapp/src/hooks/useStateWithRoute.ts deleted file mode 100644 index 42c9ad04c8..0000000000 --- a/apps/bridge-dapp/src/hooks/useStateWithRoute.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { useQueryParam, type QueryParamConfig } from 'use-query-params'; - -const QueryParamConfig = { - encode: (value) => value, - decode: (value) => { - if (value == null) { - return ''; - } - - return String(value); - }, -} satisfies QueryParamConfig; - -const useStateWithRoute = (key: string) => { - return useQueryParam(key, QueryParamConfig); -}; - -export default useStateWithRoute; diff --git a/apps/bridge-dapp/src/hooks/useTransferFeeCalculation.ts b/apps/bridge-dapp/src/hooks/useTransferFeeCalculation.ts deleted file mode 100644 index 995ce62dd3..0000000000 --- a/apps/bridge-dapp/src/hooks/useTransferFeeCalculation.ts +++ /dev/null @@ -1,169 +0,0 @@ -import { OptionalActiveRelayer } from '@webb-tools/abstract-api-provider/relayer/types'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import chainsPopulated from '@webb-tools/dapp-config/chains/chainsPopulated'; -import { numberToString } from '@webb-tools/webb-ui-components'; -import { useEffect, useMemo } from 'react'; -import { BooleanParam, StringParam, useQueryParams } from 'use-query-params'; -import { formatEther, parseEther } from 'viem'; -import { - AMOUNT_KEY, - HAS_REFUND_KEY, - RECIPIENT_KEY, - REFUND_RECIPIENT_KEY, -} from '../constants'; -import useCurrenciesFromRoute from './useCurrenciesFromRoute'; -import { useMaxFeeInfo, type MaxFeeInfoOption } from './useMaxFeeInfo'; - -export default function useTransferFeeCalculation(args: { - typedChainId?: number | null; - activeRelayer?: OptionalActiveRelayer; - refundRecipientError?: string; - recipientErrorMsg?: string; -}) { - const { - activeRelayer, - refundRecipientError, - recipientErrorMsg, - typedChainId, - } = args; - - const { activeApi, apiConfig } = useWebContext(); - - const [query] = useQueryParams({ - [AMOUNT_KEY]: StringParam, - [RECIPIENT_KEY]: StringParam, - [HAS_REFUND_KEY]: BooleanParam, - [REFUND_RECIPIENT_KEY]: StringParam, - }); - - const { - [AMOUNT_KEY]: amount, - [HAS_REFUND_KEY]: hasRefund, - [REFUND_RECIPIENT_KEY]: refundRecipient, - [RECIPIENT_KEY]: recipient, - } = query; - - const { fungibleCfg } = useCurrenciesFromRoute(); - - const feeArgs = useMemo( - () => - ({ - fungibleCurrencyId: fungibleCfg?.id, - typedChainId: - typeof typedChainId === 'number' ? typedChainId : undefined, - }) satisfies MaxFeeInfoOption, - [fungibleCfg?.id, typedChainId], - ); - - const { isLoading, feeInfo, fetchFeeInfo, resetMaxFeeInfo } = - useMaxFeeInfo(feeArgs); - - const gasFeeInfo = useMemo(() => { - if (typeof feeInfo === 'bigint') { - return feeInfo; - } - - return undefined; - }, [feeInfo]); - - const relayerFeeInfo = useMemo(() => { - if (typeof feeInfo === 'object' && feeInfo != null) { - return feeInfo; - } - - return undefined; - }, [feeInfo]); - - const refundAmount = useMemo(() => { - if (!relayerFeeInfo) { - return; - } - - return relayerFeeInfo.maxRefund; - }, [relayerFeeInfo]); - - const totalFeeWei = useMemo(() => { - if (typeof gasFeeInfo === 'bigint') { - return gasFeeInfo; - } - - if (!relayerFeeInfo) { - return; - } - - let total = relayerFeeInfo.estimatedFee; - if (hasRefund && refundAmount) { - const parsedRefund = parseFloat(formatEther(refundAmount)); - const parsedExchangeRate = parseFloat( - formatEther(relayerFeeInfo.refundExchangeRate), - ); - - const refundCost = parsedRefund * parsedExchangeRate; - total += parseEther(numberToString(refundCost)); - } - - return total; - }, [gasFeeInfo, hasRefund, refundAmount, relayerFeeInfo]); - - const totalFeeToken = useMemo(() => { - if (activeRelayer) { - return fungibleCfg?.symbol; - } - - if (typeof typedChainId !== 'number') { - return; - } - - return chainsPopulated[typedChainId].nativeCurrency.symbol; - }, [activeRelayer, fungibleCfg?.symbol, typedChainId]); - - const anchorId = useMemo(() => { - if (typeof typedChainId !== 'number' || !fungibleCfg) { - return; - } - - return apiConfig.getAnchorIdentifier(fungibleCfg.id, typedChainId); - }, [apiConfig, fungibleCfg, typedChainId]); - - // Side effect for auto fetching fee info - // when all inputs are filled and valid - useEffect( - () => { - if (!amount || !anchorId || typeof typedChainId !== 'number') { - return; - } - - if (!recipient || recipientErrorMsg) { - return; - } - - // If refund is enabled, refund recipient must be filled and valid - if (hasRefund && (!refundRecipient || refundRecipientError)) { - return; - } - - const hasSupport = - activeRelayer && - activeApi?.relayerManager && - activeRelayer.isSupported( - typedChainId, - anchorId, - activeApi.relayerManager.cmdKey, - ); - - fetchFeeInfo(hasRefund && hasSupport ? activeRelayer : undefined); - }, - // prettier-ignore - [activeApi?.relayerManager, activeRelayer, amount, anchorId, fetchFeeInfo, hasRefund, recipient, recipientErrorMsg, refundRecipient, refundRecipientError, typedChainId], - ); - - return { - gasFeeInfo, - isLoading, - refundAmount, - relayerFeeInfo, - resetMaxFeeInfo, - totalFeeToken, - totalFeeWei, - }; -} diff --git a/apps/bridge-dapp/src/hooks/useTryAnotherWalletWithView.tsx b/apps/bridge-dapp/src/hooks/useTryAnotherWalletWithView.tsx deleted file mode 100644 index b789afcb95..0000000000 --- a/apps/bridge-dapp/src/hooks/useTryAnotherWalletWithView.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { - useWebContext, - useConnectWallet, -} from '@webb-tools/api-provider-environment'; -import { - Modal, - ModalContent, - WalletConnectionCard, -} from '@webb-tools/webb-ui-components'; -import { FC, useCallback, useState } from 'react'; - -export const useTryAnotherWalletWithView = () => { - const { connectingWalletId, failedWalletId, selectedWallet } = - useConnectWallet(); - const [isModalOpen, setIsModalOpen] = useState(false); - - const { activeChain: chain, apiConfig, switchChain } = useWebContext(); - - const TryAnotherWalletModal = useCallback( - () => { - if (!chain) { - return null; - } - - return ( - setIsModalOpen(open)}> - - apiConfig.wallets[id])} - onWalletSelect={async (wallet) => { - await switchChain(chain, wallet); - }} - onClose={() => setIsModalOpen(false)} - connectingWalletId={connectingWalletId} - failedWalletId={failedWalletId} - onTryAgainBtnClick={async () => { - if (!selectedWallet) { - throw new Error( - 'There is no wallet selected. Please select a wallet and try again.', - ); - } - await switchChain(chain, selectedWallet); - }} - /> - - - ); - }, - // prettier-ignore - [apiConfig.wallets, chain, connectingWalletId, failedWalletId, isModalOpen, selectedWallet, switchChain], - ); - - const onTryAnotherWallet = useCallback(() => { - setIsModalOpen(true); - }, []); - - return { - onTryAnotherWallet, - TryAnotherWalletModal, - }; -}; diff --git a/apps/bridge-dapp/src/hooks/useTxTabFromRoute.ts b/apps/bridge-dapp/src/hooks/useTxTabFromRoute.ts deleted file mode 100644 index 913fbbf1d9..0000000000 --- a/apps/bridge-dapp/src/hooks/useTxTabFromRoute.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { useMemo } from 'react'; -import { useLocation } from 'react-router'; -import { BRIDGE_TABS } from '../constants'; - -/** - * Returns the current transaction tab on the bridge - * based on the current location pathname - * @returns the current transaction tab on the bridge, - * available values are `deposit`, `withdraw`, `transfer` or `undefined` - */ -const useTxTabFromRoute = () => { - const { pathname } = useLocation(); - - return useMemo(() => { - return BRIDGE_TABS.find((tab) => pathname.includes(tab)); - }, [pathname]); -}; - -export default useTxTabFromRoute; diff --git a/apps/bridge-dapp/src/hooks/useWithdrawFeeCalculation.ts b/apps/bridge-dapp/src/hooks/useWithdrawFeeCalculation.ts deleted file mode 100644 index 7577b4c197..0000000000 --- a/apps/bridge-dapp/src/hooks/useWithdrawFeeCalculation.ts +++ /dev/null @@ -1,159 +0,0 @@ -import { OptionalActiveRelayer } from '@webb-tools/abstract-api-provider/relayer/types'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import chainsPopulated from '@webb-tools/dapp-config/chains/chainsPopulated'; -import numberToString from '@webb-tools/webb-ui-components/utils/numberToString'; -import { useEffect, useMemo } from 'react'; -import { BooleanParam, StringParam, useQueryParams } from 'use-query-params'; -import { formatEther, parseEther } from 'viem'; -import { AMOUNT_KEY, HAS_REFUND_KEY, RECIPIENT_KEY } from '../constants'; -import useCurrenciesFromRoute from './useCurrenciesFromRoute'; -import { MaxFeeInfoOption, useMaxFeeInfo } from './useMaxFeeInfo'; - -export default function useWithdrawFeeCalculation(args: { - activeRelayer?: OptionalActiveRelayer; - recipientErrorMsg?: string; - typedChainId?: number | null; -}) { - const { activeRelayer, recipientErrorMsg, typedChainId } = args; - - const [query] = useQueryParams({ - [AMOUNT_KEY]: StringParam, - [HAS_REFUND_KEY]: BooleanParam, - [RECIPIENT_KEY]: StringParam, - }); - - const { - [AMOUNT_KEY]: amount, - [HAS_REFUND_KEY]: hasRefund, - [RECIPIENT_KEY]: recipient, - } = query; - - const chain = useMemo(() => { - if (typeof typedChainId === 'number') { - return chainsPopulated[typedChainId]; - } - }, [typedChainId]); - - const { activeApi, apiConfig } = useWebContext(); - - const { fungibleCfg, wrappableCfg } = useCurrenciesFromRoute(); - - const feeArgs = useMemo( - () => - ({ - fungibleCurrencyId: fungibleCfg?.id, - typedChainId: - typeof typedChainId === 'number' ? typedChainId : undefined, - }) satisfies MaxFeeInfoOption, - [fungibleCfg?.id, typedChainId], - ); - - const { isLoading, feeInfo, fetchFeeInfo, resetMaxFeeInfo } = - useMaxFeeInfo(feeArgs); - - const gasFeeInfo = useMemo(() => { - if (typeof feeInfo !== 'bigint') { - return; - } - - return feeInfo; - }, [feeInfo]); - - const relayerFeeInfo = useMemo(() => { - if (typeof feeInfo !== 'object' || feeInfo == null) { - return; - } - - return feeInfo; - }, [feeInfo]); - - const refundAmount = useMemo(() => { - if (!relayerFeeInfo) { - return; - } - - return relayerFeeInfo.maxRefund; - }, [relayerFeeInfo]); - - const totalFeeWei = useMemo(() => { - if (typeof gasFeeInfo === 'bigint') { - return gasFeeInfo; - } - - if (!relayerFeeInfo) { - return; - } - - let total = relayerFeeInfo.estimatedFee; - if (hasRefund && refundAmount) { - const parsedRefund = parseFloat(formatEther(refundAmount)); - const parsedExchangeRate = parseFloat( - formatEther(relayerFeeInfo.refundExchangeRate), - ); - - const refundCost = parsedRefund * parsedExchangeRate; - total += parseEther(numberToString(refundCost)); - } - - return total; - }, [gasFeeInfo, hasRefund, refundAmount, relayerFeeInfo]); - - const totalFeeToken = useMemo(() => { - if (activeRelayer) { - return fungibleCfg?.symbol; - } - - return chain?.nativeCurrency.symbol; - }, [activeRelayer, chain?.nativeCurrency.symbol, fungibleCfg?.symbol]); - - const anchorId = useMemo(() => { - if (typeof typedChainId !== 'number' || !fungibleCfg) { - return; - } - - return apiConfig.getAnchorIdentifier(fungibleCfg.id, typedChainId); - }, [apiConfig, fungibleCfg, typedChainId]); - - const allInputFilled = useMemo(() => { - return [amount, wrappableCfg, chain, recipient, !recipientErrorMsg].every( - (item) => Boolean(item), - ); - }, [amount, chain, recipient, recipientErrorMsg, wrappableCfg]); - - // Side effect for auto fetching fee info - // when all inputs are filled and valid - useEffect( - () => { - if (!allInputFilled) { - return; - } - - if (typeof typedChainId !== 'number' || !anchorId) { - return; - } - - const hasSupport = - activeRelayer && - activeApi?.relayerManager && - activeRelayer.isSupported( - typedChainId, - anchorId, - activeApi.relayerManager.cmdKey, - ); - - fetchFeeInfo(hasRefund && hasSupport ? activeRelayer : undefined); - }, - // prettier-ignore - [activeApi?.relayerManager, activeRelayer, allInputFilled, anchorId, fetchFeeInfo, hasRefund, typedChainId], - ); - - return { - gasFeeInfo, - isLoading, - relayerFeeInfo, - refundAmount, - resetMaxFeeInfo, - totalFeeToken, - totalFeeWei, - }; -} diff --git a/apps/bridge-dapp/src/hooks/useWrapperTabFromRoute.ts b/apps/bridge-dapp/src/hooks/useWrapperTabFromRoute.ts deleted file mode 100644 index 5c5441f935..0000000000 --- a/apps/bridge-dapp/src/hooks/useWrapperTabFromRoute.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { useMemo } from 'react'; -import { useLocation } from 'react-router'; - -/** - * Returns the current wrapper tab on the bridge - * based on the current location pathname - * @returns the current transaction tab on the bridge, - * available values are `wrap`, `unwrap` or `undefined` - */ -const useWrapperTabFromRoute = () => { - const { pathname } = useLocation(); - - return useMemo(() => { - if (pathname.includes('unwrap')) return 'unwrap'; - if (pathname.includes('wrap')) return 'wrap'; - return undefined; - }, [pathname]); -}; - -export default useWrapperTabFromRoute; diff --git a/apps/bridge-dapp/src/index.tsx b/apps/bridge-dapp/src/index.tsx deleted file mode 100644 index 47325d55d7..0000000000 --- a/apps/bridge-dapp/src/index.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import '@webb-tools/webb-ui-components/tailwind.css'; -import './styles.css'; - -import { createRoot } from 'react-dom/client'; - -import App from './App'; - -const container = document.getElementById('root'); -// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -const root = createRoot(container!); // createRoot(container!) if you use TypeScript -root.render(); diff --git a/apps/bridge-dapp/src/pages/Account/AccountSummaryCard.tsx b/apps/bridge-dapp/src/pages/Account/AccountSummaryCard.tsx deleted file mode 100644 index 7da915cdb8..0000000000 --- a/apps/bridge-dapp/src/pages/Account/AccountSummaryCard.tsx +++ /dev/null @@ -1,353 +0,0 @@ -import { DropdownMenuTrigger } from '@radix-ui/react-dropdown-menu'; -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { ZERO_BIG_INT } from '@webb-tools/dapp-config/constants'; -import ArrowLeftRightLineIcon from '@webb-tools/icons/ArrowLeftRightLineIcon'; -import { ArrowRightUp } from '@webb-tools/icons/ArrowRightUp'; -import { ChevronDown } from '@webb-tools/icons/ChevronDown'; -import QRScanLineIcon from '@webb-tools/icons/QRScanLineIcon'; -import { TokenIcon } from '@webb-tools/icons/TokenIcon'; -import type { IconBase } from '@webb-tools/icons/types'; -import { useBalancesFromNotes } from '@webb-tools/react-hooks/currency/useBalancesFromNotes'; -import { - DropdownMenuItem, - HiddenValue, - HiddenValueEye, - getRoundedAmountString, -} from '@webb-tools/webb-ui-components'; -import { - Dropdown, - DropdownBody, -} from '@webb-tools/webb-ui-components/components/Dropdown'; -import { ScrollArea } from '@webb-tools/webb-ui-components/components/ScrollArea'; -import IconButton from '@webb-tools/webb-ui-components/components/buttons/IconButton'; -import type { PropsOf } from '@webb-tools/webb-ui-components/types'; -import { Typography } from '@webb-tools/webb-ui-components/typography/Typography'; -import cx from 'classnames'; -import capitalize from 'lodash/capitalize'; -import type { ComponentProps, ElementRef } from 'react'; -import { forwardRef, useEffect, useMemo, useState, type FC } from 'react'; -import { useNavigate } from 'react-router'; -import { twMerge } from 'tailwind-merge'; -import { formatEther } from 'viem'; -import NoteAccountAvatarWithKey from '../../components/NoteAccountAvatarWithKey'; -import { - BRIDGE_PATH, - DEPOSIT_PATH, - TRANSFER_PATH, - WITHDRAW_PATH, -} from '../../constants'; -import useReceiveModal from '../../hooks/useReceiveModal'; - -const AccountSummaryCard = forwardRef, PropsOf<'div'>>( - ({ className, ...props }, ref) => { - const { noteManager } = useWebContext(); - const keypair = noteManager?.getKeypair(); - - if (!keypair) { - return null; - } - - return ( -
-
-
- -
- - - - -
- - -
- ); - }, -); - -export default AccountSummaryCard; - -/** @internal */ -function useShieldedBalances() { - const { initialized, balances } = useBalancesFromNotes(); - - if (!initialized) { - return; - } - - return Object.entries(balances).reduce( - (acc, [currencyId, balancesRecord]) => { - const existedRecord = acc.get(+currencyId); - const totalCurrentRecord = Object.values(balancesRecord).reduce( - (acc, balance) => acc + balance, - ZERO_BIG_INT, - ); - - acc.set( - +currencyId, - typeof existedRecord === 'bigint' - ? existedRecord + totalCurrentRecord - : totalCurrentRecord, - ); - - return acc; - }, - new Map(), - ); -} - -/** @internal */ -function TotalShieldedBalance() { - const [currencyId, setCurrencyId] = useState(); - - const { apiConfig } = useWebContext(); - const balances = useShieldedBalances(); - - useEffect(() => { - if (!balances || balances.size === 0) { - return; - } - - const [currencyId] = Array.from(balances.entries())[0]; - setCurrencyId(currencyId); - }, [balances]); - - const formatedBalance = useMemo(() => { - if (!balances || typeof currencyId !== 'number') { - return '0'; - } - - const balance = balances.get(currencyId); - if (typeof balance !== 'bigint') { - return '0'; - } - - return getRoundedAmountString(Number(formatEther(balance))); - }, [balances, currencyId]); - - const tokenSymbol = useMemo(() => { - if (typeof currencyId !== 'number') { - return ''; - } - - return apiConfig.currencies[currencyId]?.symbol ?? ''; - }, [apiConfig.currencies, currencyId]); - - const availableCurrencyCfgs = useMemo(() => { - if (!balances) { - return []; - } - - return Array.from(balances.keys()) - .map((currencyId) => apiConfig.currencies[currencyId]) - .filter(Boolean); - }, [apiConfig.currencies, balances]); - - return ( -
-
- - Total Shielded Balance - - - -
- -
- - {formatedBalance} - - - - - - {tokenSymbol} - - - - - - - -
    - {availableCurrencyCfgs.map(({ name, symbol, id }) => ( -
  • - } - onSelect={() => setCurrencyId(id)} - textTransform="normal-case" - > - {symbol} - -
  • - ))} -
-
-
-
-
-
- ); -} - -/** @internal */ -const paths = [DEPOSIT_PATH, TRANSFER_PATH, WITHDRAW_PATH] as const; - -/** @internal */ -const icons = [ - , - , - , -] as const; - -/** @internal */ -const actionItems = paths.map((path, idx) => ({ - label: capitalize(path), - path: `/${BRIDGE_PATH}/${path}`, - icon: icons[idx], -})); - -/** @internal */ -const ActionItem = (props: { - icon: React.ReactElement; - label: string; - onClick?: ComponentProps<'button'>['onClick']; -}) => { - const { icon, label, onClick } = props; - - return ( -

- - {icon} - - - - {label} - -

- ); -}; - -/** @internal */ -function Actions() { - const navigate = useNavigate(); - const { toggleModal } = useReceiveModal(); - - return ( -
- } - label="Receive" - onClick={() => toggleModal()} - /> - {actionItems.map(({ path, ...restItem }) => ( - navigate(path)} /> - ))} -
- ); -} - -/** @internal */ -const Logo: FC<{ className?: string }> = ({ className }) => { - return ( -
- - - - - - - - - - - - - - - - - - - -
- ); -}; diff --git a/apps/bridge-dapp/src/pages/Account/NoTx.tsx b/apps/bridge-dapp/src/pages/Account/NoTx.tsx deleted file mode 100644 index 72d4dab113..0000000000 --- a/apps/bridge-dapp/src/pages/Account/NoTx.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { type FC } from 'react'; -import { Typography } from '@webb-tools/webb-ui-components'; -import { TimerLine } from '@webb-tools/icons'; - -const NoTx: FC = () => { - return ( -
-
- - - Your transaction history will appear here. - - - Either you have not made any transactions yet, or your transaction - history has been deleted. - -
-
- ); -}; - -export default NoTx; diff --git a/apps/bridge-dapp/src/pages/Account/Transactions/TransactionDetail/index.tsx b/apps/bridge-dapp/src/pages/Account/Transactions/TransactionDetail/index.tsx deleted file mode 100644 index 374d4b7e07..0000000000 --- a/apps/bridge-dapp/src/pages/Account/Transactions/TransactionDetail/index.tsx +++ /dev/null @@ -1,83 +0,0 @@ -import { type FC, useState, useEffect } from 'react'; -import { useNavigate, useParams } from 'react-router-dom'; -import { - Button, - Drawer, - DrawerCloseButton, - DrawerContent, - Typography, -} from '@webb-tools/webb-ui-components'; -import { TransactionType } from '@webb-tools/abstract-api-provider'; -import { useTxClientStorage } from '@webb-tools/api-provider-environment'; - -import TxDetailContainer from '../../../../containers/TxDetailContainer'; -import { ACCOUNT_TRANSACTIONS_FULL_PATH } from '../../../../constants'; - -const TransactionDetail: FC = () => { - const navigate = useNavigate(); - - const [txDetail, setTxDetail] = useState(); - const { txHash = '' } = useParams<{ txHash: string }>(); - - const { getTxDetailByHash } = useTxClientStorage(); - - useEffect(() => { - const getTxDetail = async () => { - const txDetail = await getTxDetailByHash(txHash); - setTxDetail(txDetail); - }; - - getTxDetail(); - }, [txHash, getTxDetailByHash]); - - if (!txDetail) { - return null; - } - - return ( - - !isOpen && navigate(ACCOUNT_TRANSACTIONS_FULL_PATH) - } - > - - {/* Header */} -
- - {txDetail.activity} Details - - -
- - {/* Content */} - - - {/* Footer */} -
- {/* TODO: Explorer Link */} - - -
-
-
- ); -}; - -export default TransactionDetail; diff --git a/apps/bridge-dapp/src/pages/Account/Transactions/index.tsx b/apps/bridge-dapp/src/pages/Account/Transactions/index.tsx deleted file mode 100644 index 79c34cc0da..0000000000 --- a/apps/bridge-dapp/src/pages/Account/Transactions/index.tsx +++ /dev/null @@ -1,124 +0,0 @@ -import { type FC, useState, useCallback } from 'react'; -import { Outlet } from 'react-router-dom'; -import { - ActionsDropdown, - HiddenValueEye, - Typography, -} from '@webb-tools/webb-ui-components'; -import { DeleteBinIcon, UploadLine, Download } from '@webb-tools/icons'; -import { useTxClientStorage } from '@webb-tools/api-provider-environment'; - -import ClearTxHistoryModal from '../../../containers/ClearTxHistoryModal'; -import UploadTxHistoryModal from '../../../containers/UploadTxHistoryModal'; -import NoTx from '../NoTx'; -import TxTableContainer from '../../../containers/TxTableContainer'; -import downloadTxHistory from '../../../utils/downloadTxHistory'; - -const AccountTransactions: FC = () => { - const { transactions, clearTxHistory } = useTxClientStorage(); - - const { uploadTxModalOpen, setUploadTxModalOpen, openUploadTxModal } = - useUploadTxModal(); - const { clearTxModalOpen, setClearTxModalOpen, openClearTxModal } = - useClearTxModal(); - - const handleDownloadHistory = useCallback(() => { - downloadTxHistory(transactions); - }, [transactions]); - - return ( - <> -
-
-
- - All Transactions - - -
- , - onClick: openUploadTxModal, - }, - { - label: 'Delete', - icon: , - onClick: openClearTxModal, - }, - ]} - /> -
- - {transactions.length > 0 ? ( - - ) : ( - - )} - -
- - [Download JSON Export] - - -
-
- - - - - - - - ); -}; - -export default AccountTransactions; - -/** @internal */ -function useUploadTxModal() { - // Upload modal state - const [uploadTxModalOpen, setUploadTxModalOpen] = useState(false); - - const openUploadTxModal = useCallback(() => { - setUploadTxModalOpen(true); - }, []); - - return { - uploadTxModalOpen, - setUploadTxModalOpen, - openUploadTxModal, - }; -} - -/** @internal */ -function useClearTxModal() { - const [clearTxModalOpen, setClearTxModalOpen] = useState(false); - - const openClearTxModal = useCallback(() => { - setClearTxModalOpen(true); - }, []); - - return { - clearTxModalOpen, - setClearTxModalOpen, - openClearTxModal, - }; -} diff --git a/apps/bridge-dapp/src/pages/Account/index.tsx b/apps/bridge-dapp/src/pages/Account/index.tsx deleted file mode 100644 index 39ee66fc51..0000000000 --- a/apps/bridge-dapp/src/pages/Account/index.tsx +++ /dev/null @@ -1,289 +0,0 @@ -import type { ChainConfig } from '@webb-tools/dapp-config/chains/chain-config.interface'; -import { useNoteAccount } from '@webb-tools/react-hooks/useNoteAccount'; -import { Download, UploadCloudIcon } from '@webb-tools/icons'; -import type { Note } from '@webb-tools/sdk-core'; -import { TableAndChartTabs } from '@webb-tools/webb-ui-components/components/TableAndChartTabs'; -import { TabContent } from '@webb-tools/webb-ui-components/components/Tabs'; -import { useWebbUI } from '@webb-tools/webb-ui-components/hooks/useWebbUI'; -import { useTxClientStorage } from '@webb-tools/api-provider-environment'; -import { - Typography, - Button, - ActionsDropdown, -} from '@webb-tools/webb-ui-components'; -import { type FC, useCallback, useMemo, useState } from 'react'; -import { useNavigate } from 'react-router'; -import { FilterButton } from '../../components/tables'; -import ReceiveModal from '../../components/ReceiveModal'; -import { DeleteNotesModal } from '../../containers/DeleteNotesModal'; -import { UploadSpendNoteModal } from '../../containers/UploadSpendNoteModal'; -import { - ShieldedAssetsTableContainer, - SpendNotesTableContainer, -} from '../../containers/note-account-tables'; -import type { NoteAccountTableContainerProps } from '../../containers/note-account-tables/types'; -import { TxTableContainer } from '../../containers'; -import { useShieldedAssets } from '../../hooks/useShieldedAssets'; -import { useSpendNotes } from '../../hooks/useSpendNotes'; -import { downloadNotes } from '../../utils/downloadNotes'; -import AccountSummaryCard from './AccountSummaryCard'; -import NoTx from './NoTx'; -import { ACCOUNT_TRANSACTIONS_FULL_PATH } from '../../constants'; - -const shieldedAssetsTab = 'Shielded Assets'; -const spendNotesTab = 'Available Spend Notes'; - -const Account: FC = () => { - const [activeTable, setActiveTable] = useState< - typeof shieldedAssetsTab | typeof spendNotesTab - >(shieldedAssetsTab); - - const { notificationApi } = useWebbUI(); - const { allNotes, hasNoteAccount, allNotesInitialized } = useNoteAccount(); - - const { uploadModalOpen, setUploadModalOpen, openUploadModal } = - useNoteUploadModalProps(); - - const { globalSearchText, selectedChains, ...restFilterProps } = - useFilterProps(); - - // Shielded assets table data - const shieldedAssetsTableData = useShieldedAssets(); - - // Spend notes table data - const spendNotesTableData = useSpendNotes(); - - // Transaction from client storage - const { transactions } = useTxClientStorage(); - - const destinationChains = useMemo(() => { - return shieldedAssetsTableData.map((asset) => asset.chain); - }, [shieldedAssetsTableData]); - - const navigate = useNavigate(); - - // download all notes - const handleDownloadAllNotes = useCallback(async () => { - if (!allNotes.size) { - notificationApi({ - variant: 'error', - message: 'No notes to download', - }); - return; - } - - // Serialize all notes to array of string - const notes = Array.from(allNotes.values()).reduce((acc, curr) => { - return acc.concat(curr); - }, [] as Note[]); - - downloadNotes(notes); - }, [allNotes, notificationApi]); - - const [deleteNotes, setDeleteNotes] = useState(undefined); - - const sharedNoteAccountTableContainerProps = - useMemo( - () => ({ - onUploadSpendNote: openUploadModal, - onDeleteNotesChange: (notes) => setDeleteNotes(notes), - globalSearchText: globalSearchText, - }), - [globalSearchText, openUploadModal], - ); - - if (!hasNoteAccount || !allNotesInitialized) { - return null; - } - - return ( - <> -
-
- - -
-
- - Recent Transactions - - -
- - {transactions.length > 0 ? ( - - ) : ( - - )} -
-
- - setActiveTable(val as typeof activeTable)} - additionalActionsCmp={ - - } - > - {/* Shielded Assets Table */} - - - - - {/* Spend Notes Table */} - - - - -
- - setDeleteNotes(notes)} - /> - - setUploadModalOpen(isOpen)} - /> - - - - ); -}; - -export default Account; - -/** @internal */ -function useNoteUploadModalProps() { - // Upload modal state - const [uploadModalOpen, setUploadModalOpen] = useState(false); - - const openUploadModal = useCallback(() => { - setUploadModalOpen(true); - }, []); - - const closeUploadModal = useCallback(() => { - setUploadModalOpen(false); - }, []); - - return { - uploadModalOpen, - setUploadModalOpen, - openUploadModal, - closeUploadModal, - }; -} - -/** @internal */ -type SelectedChain = 'all' | [string, ChainConfig][]; - -/** @internal */ -function useFilterProps() { - const [selectedChains, setSelectedChains] = useState('all'); - - const [globalSearchText, setGlobalSearchText] = useState(''); - - const clearAllFilters = useCallback(() => { - setSelectedChains('all'); - setGlobalSearchText(''); - }, []); - - return { - selectedChains, - setSelectedChains, - globalSearchText, - setGlobalSearchText, - clearAllFilters, - }; -} - -/** @internal */ -function RightButtonsContainer( - props: { - onUpload: () => void; - onDownloadAllNotes: () => void; - destChains: string[]; - activeTable: typeof shieldedAssetsTab | typeof spendNotesTab; - } & ReturnType, -) { - const { - onUpload, - onDownloadAllNotes, - destChains, - activeTable, - ...filterProps - } = props; - - return ( -
- , - onClick: onUpload, - }, - { - label: 'Download All', - icon: , - onClick: onDownloadAllNotes, - }, - ]} - /> - -
- ); -} - -/** @internal */ -function getFilterData>( - selectedChains: SelectedChain, - data: T, -): T { - if (selectedChains === 'all') { - return data; - } - - return data.filter((asset) => - selectedChains.some( - (chain) => chain['1'].name.toLowerCase() === asset.chain.toLowerCase(), - ), - ) as T; -} diff --git a/apps/bridge-dapp/src/pages/Ecosystem.tsx b/apps/bridge-dapp/src/pages/Ecosystem.tsx deleted file mode 100644 index 81bbdae88e..0000000000 --- a/apps/bridge-dapp/src/pages/Ecosystem.tsx +++ /dev/null @@ -1,9 +0,0 @@ -const Ecosystem = () => { - return ( -
-

Ecosystem Page

-
- ); -}; - -export default Ecosystem; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/Deposit/index.tsx b/apps/bridge-dapp/src/pages/Hubble/Bridge/Deposit/index.tsx deleted file mode 100644 index 1ee9652a59..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/Deposit/index.tsx +++ /dev/null @@ -1,179 +0,0 @@ -import { ArrowRight, GasStationFill } from '@webb-tools/icons'; -import { formatEther } from 'viem'; -import { useCurrenciesBalances } from '@webb-tools/react-hooks'; -import { useBalancesFromNotes } from '@webb-tools/react-hooks/currency/useBalancesFromNotes'; -import { - Button, - ConnectWalletMobileButton, - FeeDetails, - TransactionInputCard, - useCheckMobile, -} from '@webb-tools/webb-ui-components'; -import { useMemo } from 'react'; -import { Outlet, useLocation } from 'react-router'; -import SlideAnimation from '../../../../components/SlideAnimation'; -import { - BRIDGE_TABS, - SELECT_DESTINATION_CHAIN_PATH, - SELECT_SHIELDED_POOL_PATH, - SELECT_SOURCE_CHAIN_PATH, - SELECT_TOKEN_PATH, - ACTION_BUTTON_PROPS, -} from '../../../../constants'; -import PageTabsContainer from '../../../../containers/PageTabsContainer'; -import useNavigateWithPersistParams from '../../../../hooks/useNavigateWithPersistParams'; -import useDepositButtonProps from './private/useDepositButtonProps'; -import useWatchSearchParams from './private/useWatchSearchParams'; -import { ConnectWalletMobileContent } from '../../../../components'; - -const Deposit = () => { - const navigate = useNavigateWithPersistParams(); - - const { isMobile } = useCheckMobile(); - - const { pathname } = useLocation(); - - const { - allCurrencies, - amount, - destTypedChainId, - fungibleCfg, - onAmountChange, - srcTypedChainId, - wrappableCfg, - } = useWatchSearchParams(); - - const { balances: walletBalances } = useCurrenciesBalances( - allCurrencies, - srcTypedChainId, - ); - - const { balances: shieldedBalances } = useBalancesFromNotes(); - - const { depositConfirmComponent, ...depositBtnProps } = useDepositButtonProps( - { - balance: wrappableCfg ? walletBalances[wrappableCfg.id] : undefined, - fungible: fungibleCfg, - }, - ); - - const amountProps = useMemo( - () => ({ - amount, - onAmountChange, - }), - [amount, onAmountChange], - ); - - const totalFungibleAmount = useMemo(() => { - if (typeof destTypedChainId !== 'number') { - return; - } - - if (fungibleCfg && shieldedBalances[fungibleCfg.id]?.[destTypedChainId]) { - return Number( - formatEther(shieldedBalances[fungibleCfg.id][destTypedChainId]), - ); - } - }, [shieldedBalances, fungibleCfg, destTypedChainId]); - - const lastPath = useMemo(() => pathname.split('/').pop(), [pathname]); - if (lastPath && !BRIDGE_TABS.find((tab) => lastPath === tab)) { - return ; - } - - if (depositConfirmComponent !== null) { - return ( - - {depositConfirmComponent} - - ); - } - - return ( - -
-
- - - navigate(SELECT_SOURCE_CHAIN_PATH)} - /> - - - - navigate(SELECT_TOKEN_PATH), - }} - /> - - - - - - - navigate(SELECT_DESTINATION_CHAIN_PATH)} - /> - - - - navigate(SELECT_SHIELDED_POOL_PATH), - }} - customAmountProps={{ - isDisabled: true, - className: 'text-mono-200 dark:text-mono-0 cursor-not-allowed', - }} - /> - -
- -
- {/* TODO: Calculate gas */} - , - }, - ]} - /> - - {!isMobile ? ( -
-
-
- ); -}; - -export default Deposit; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/Deposit/private/useDepositButtonProps.tsx b/apps/bridge-dapp/src/pages/Hubble/Bridge/Deposit/private/useDepositButtonProps.tsx deleted file mode 100644 index 16e4e40873..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/Deposit/private/useDepositButtonProps.tsx +++ /dev/null @@ -1,283 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { ZERO_BIG_INT, chainsPopulated } from '@webb-tools/dapp-config'; -import { CurrencyConfig } from '@webb-tools/dapp-config/currencies/currency-config.interface'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types'; -import numberToString from '@webb-tools/webb-ui-components/utils/numberToString'; -import { ComponentProps, useCallback, useMemo, useState } from 'react'; -import { useNavigate } from 'react-router-dom'; -import { NumberParam, StringParam, useQueryParams } from 'use-query-params'; -import { formatEther, parseEther } from 'viem'; -import { - AMOUNT_KEY, - BRIDGE_PATH, - DEPOSIT_PATH, - DEST_CHAIN_KEY, - POOL_KEY, - SOURCE_CHAIN_KEY, - TOKEN_KEY, -} from '../../../../../constants'; -import DepositConfirmContainer from '../../../../../containers/DepositConfirmContainer/DepositConfirmContainer'; -import useConnectButtonProps from '../../../../../hooks/useConnectButtonProps'; -import handleTxError from '../../../../../utils/handleTxError'; - -function useDepositButtonProps({ - balance, - fungible, -}: { - balance?: number; - fungible?: CurrencyConfig; -}) { - const { activeApi, apiConfig, noteManager, loading, isConnecting } = - useWebContext(); - - const navigate = useNavigate(); - - const [generatingNote, setGeneratingNote] = useState(false); - - const [depositConfirmComponent, setDepositConfirmComponent] = - useState, - typeof DepositConfirmContainer - > | null>(null); - - const [query] = useQueryParams({ - [AMOUNT_KEY]: StringParam, - [POOL_KEY]: NumberParam, - [TOKEN_KEY]: NumberParam, - [SOURCE_CHAIN_KEY]: NumberParam, - [DEST_CHAIN_KEY]: NumberParam, - }); - - const { - [AMOUNT_KEY]: amount, - [POOL_KEY]: poolId, - [TOKEN_KEY]: tokenId, - [SOURCE_CHAIN_KEY]: srcTypedId, - [DEST_CHAIN_KEY]: destTypedId, - } = query; - - const { content: connectBtnCnt, handleConnect } = - useConnectButtonProps(srcTypedId); - - const validAmount = useMemo(() => { - if (typeof amount !== 'string' || amount.length === 0) { - return false; - } - - const amountBI = BigInt(amount); // amount from search params is parsed already - - // If balance is not a number, but amount is entered and > 0, - // it means user not connected to wallet but entered amount - // so we allow it - if (typeof balance !== 'number' && amountBI > 0) { - return true; - } - - if (!balance || amountBI <= 0) { - return false; - } - - const parsedBalance = parseEther(numberToString(balance)); - - return amountBI !== ZERO_BIG_INT && amountBI <= parsedBalance; - }, [amount, balance]); - - const inputCnt = useMemo(() => { - if (typeof tokenId !== 'number') { - return 'Select token'; - } - - if (typeof destTypedId !== 'number') { - return 'Select destination chain'; - } - - if (typeof amount !== 'string' || amount.length === 0) { - return 'Enter amount'; - } - - if (typeof poolId !== 'number') { - return 'Select pool'; - } - - if (typeof srcTypedId !== 'number') { - return 'Select source chain'; - } - - return undefined; - }, [amount, destTypedId, poolId, srcTypedId, tokenId]); - - const amountCnt = useMemo(() => { - if (typeof amount !== 'string' || BigInt(amount) === ZERO_BIG_INT) { - return 'Enter amount'; - } - - if (!validAmount) { - return 'Insufficient balance'; - } - }, [amount, validAmount]); - - const children = useMemo(() => { - if (connectBtnCnt) { - return connectBtnCnt; - } - - if (inputCnt) { - return inputCnt; - } - - if (amountCnt) { - return amountCnt; - } - - if (tokenId !== poolId) { - return 'Wrap and Deposit'; - } - - return 'Deposit'; - }, [amountCnt, connectBtnCnt, inputCnt, poolId, tokenId]); - - const isDisabled = useMemo( - () => { - if (connectBtnCnt) { - return false; - } - - const allInputsFilled = - !!amount && !!tokenId && !!poolId && !!srcTypedId && !!destTypedId; - - if (!allInputsFilled || !validAmount) { - return true; - } - - return false; - }, - // prettier-ignore - [amount, connectBtnCnt, destTypedId, poolId, srcTypedId, tokenId, validAmount], - ); - - const isLoading = useMemo(() => { - return loading || isConnecting || generatingNote; - }, [generatingNote, isConnecting, loading]); - - const loadingText = useMemo(() => { - if (generatingNote) { - return 'Generating note...'; - } - - return 'Connecting...'; - }, [generatingNote]); - - const handleBtnClick = useCallback( - async () => { - let actualApi = activeApi; - - try { - if (connectBtnCnt && typeof srcTypedId === 'number') { - const nextApi = await handleConnect(srcTypedId); - if (!nextApi?.noteManager) { - return; - } - - actualApi = nextApi; - } - - if (!noteManager || !actualApi) { - throw WebbError.from(WebbErrorCodes.ApiNotReady); - } - - if (!fungible) { - throw WebbError.from(WebbErrorCodes.NoFungibleTokenAvailable); - } - - const srcTypedIdNum = Number(srcTypedId); - const destTypedIdNum = Number(destTypedId); - const poolIdNum = Number(poolId); - - if ( - Number.isNaN(srcTypedIdNum) || - Number.isNaN(destTypedIdNum) || - Number.isNaN(poolIdNum) - ) { - throw WebbError.from(WebbErrorCodes.UnsupportedChain); - } - - const srcChain = chainsPopulated[srcTypedIdNum]; - const destChain = chainsPopulated[destTypedIdNum]; - - if (!srcChain || !destChain) { - throw WebbError.from(WebbErrorCodes.UnsupportedChain); - } - - if (typeof amount !== 'string' || amount.length === 0) { - throw WebbError.from(WebbErrorCodes.InvalidAmount); - } - - setGeneratingNote(true); - - const srcAnchorId = apiConfig.getAnchorIdentifier( - poolIdNum, - srcTypedIdNum, - ); - - const destAnchorId = apiConfig.getAnchorIdentifier( - poolIdNum, - destTypedIdNum, - ); - - if (!srcAnchorId || !destAnchorId) { - throw WebbError.from(WebbErrorCodes.AnchorIdNotFound); - } - - const amountBig = BigInt(amount); - const transactNote = await noteManager.generateNote( - actualApi.backend, - srcTypedIdNum, - srcAnchorId, - destTypedIdNum, - destAnchorId, - fungible.symbol, - amountBig, - ); - - setGeneratingNote(false); - - setDepositConfirmComponent( - { - setDepositConfirmComponent(null); - navigate(`/${BRIDGE_PATH}/${DEPOSIT_PATH}`); - }} - onClose={() => { - setDepositConfirmComponent(null); - }} - />, - ); - } catch (error) { - handleTxError(error, 'Deposit'); - } - }, - // prettier-ignore - [activeApi, amount, apiConfig, connectBtnCnt, destTypedId, fungible, handleConnect, navigate, noteManager, poolId, srcTypedId, tokenId], - ); - - return { - children, - isLoading, - loadingText, - onClick: handleBtnClick, - isDisabled, - depositConfirmComponent, - }; -} - -export default useDepositButtonProps; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/Deposit/private/useWatchSearchParams.ts b/apps/bridge-dapp/src/pages/Hubble/Bridge/Deposit/private/useWatchSearchParams.ts deleted file mode 100644 index a785fd5dd5..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/Deposit/private/useWatchSearchParams.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { NumberParam, useQueryParams } from 'use-query-params'; -import { DEST_CHAIN_KEY, SOURCE_CHAIN_KEY } from '../../../../../constants'; -import useAmountWithRoute from '../../../../../hooks/useAmountWithRoute'; -import useCurrenciesFromRoute from '../../../../../hooks/useCurrenciesFromRoute'; -import useDefaultChainAndPool from '../../../../../hooks/useDefaultChainAndPool'; - -function useWatchSearchParams() { - const { allCurrencies, fungibleCfg, wrappableCfg } = useCurrenciesFromRoute(); - - const [query] = useQueryParams({ - [SOURCE_CHAIN_KEY]: NumberParam, - [DEST_CHAIN_KEY]: NumberParam, - }); - - const { - [SOURCE_CHAIN_KEY]: srcTypedChainId, - [DEST_CHAIN_KEY]: destTypedChainId, - } = query; - - const [amount, setAmount] = useAmountWithRoute(); - - useDefaultChainAndPool(); - - return { - allCurrencies, - amount, - destTypedChainId: destTypedChainId ?? undefined, - fungibleCfg, - onAmountChange: setAmount, - srcTypedChainId: srcTypedChainId ?? undefined, - wrappableCfg, - }; -} - -export default useWatchSearchParams; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/SelectChain.tsx b/apps/bridge-dapp/src/pages/Hubble/Bridge/SelectChain.tsx deleted file mode 100644 index 046aaf7dc8..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/SelectChain.tsx +++ /dev/null @@ -1,300 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { type ApiConfig } from '@webb-tools/dapp-config/api-config'; -import type { ChainConfig } from '@webb-tools/dapp-config/chains/chain-config.interface'; -import chainsPopulated from '@webb-tools/dapp-config/chains/chainsPopulated'; -import { calculateTypedChainId } from '@webb-tools/sdk-core/typed-chain-id'; -import ChainListCard from '@webb-tools/webb-ui-components/components/ListCard/ChainListCard'; -import type { - ChainListCardProps, - ChainType, -} from '@webb-tools/webb-ui-components/components/ListCard/types'; -import { useCallback, useMemo, type FC } from 'react'; -import { useLocation } from 'react-router'; -import { useSearchParams } from 'react-router-dom'; -import { NumberParam } from 'use-query-params'; -import SlideAnimation from '../../../components/SlideAnimation'; -import { - DEST_CHAIN_KEY, - POOL_KEY, - SOURCE_CHAIN_KEY, - TOKEN_KEY, -} from '../../../constants'; -import useChainsFromRoute from '../../../hooks/useChainsFromRoute'; -import useCurrenciesFromRoute from '../../../hooks/useCurrenciesFromRoute'; -import useNavigateWithPersistParams from '../../../hooks/useNavigateWithPersistParams'; -import useTxTabFromRoute from '../../../hooks/useTxTabFromRoute'; -import getParam from '../../../utils/getParam'; - -const SelectChain: FC<{ chainType: ChainListCardProps['chainType'] }> = ({ - chainType, -}) => { - const { activeChain, loading } = useWebContext(); - - const { pathname } = useLocation(); - const [searchParams] = useSearchParams(); - const navigate = useNavigateWithPersistParams(); - - const chainsCfg = useChains(chainType); - - const updateParams = useUpdateParams(); - - const chains = useMemo>( - () => - chainsCfg.map( - ([typedChainId, c]) => - ({ - typedChainId, - name: c.name, - tag: c.tag, - }) satisfies ChainType, - ), - [chainsCfg], - ); - - const handleClose = useCallback( - (nextTypedChainId?: number) => { - const path = pathname.split('/').slice(0, -1).join('/'); - let nextParams = new URLSearchParams(searchParams); - - if (typeof nextTypedChainId === 'number') { - nextParams = updateParams(nextParams, nextTypedChainId, chainType); - } - - navigate({ - pathname: path, - search: nextParams.toString(), - }); - }, - [chainType, navigate, pathname, searchParams, updateParams], - ); - - const handleChainChange = useCallback( - async ({ name, tag }: ChainType) => { - const chain = Object.values(chainsPopulated).find( - (chainCfg) => chainCfg.name === name && chainCfg.tag === tag, - ); - - if (!chain) { - return; - } - - return handleClose(calculateTypedChainId(chain.chainType, chain.id)); - }, - [handleClose], - ); - - const { defaultCategory, onlyCategory } = useChainCategoryProps(chainType); - - return ( - - handleClose()} - /> - - ); -}; - -export default SelectChain; - -/** - * Get the chains to select for the given chain type - * @param chainType the chain type for getting the chains - * @returns the chains to select for the given chain type - */ -const useChains = ( - chainType: ChainListCardProps['chainType'] = 'source', -): ReadonlyArray<[number, ChainConfig]> => { - const { apiConfig } = useWebContext(); - - const { fungibleCfg } = useCurrenciesFromRoute(); - - if (chainType === 'source') { - return apiConfig - .getSupportedChains({ withEnv: true }) - .map( - (chain) => - [calculateTypedChainId(chain.chainType, chain.id), chain] as const, - ); - } - - if (!fungibleCfg) { - return []; - } - - const anchorRec = apiConfig.anchors[fungibleCfg.id]; - if (!anchorRec) { - return []; - } - - return Object.keys(anchorRec) - .map<[number, ChainConfig]>((typedChainId) => { - return [+typedChainId, apiConfig.chains[parseInt(typedChainId)]]; - }) - .filter(([, chain]) => chain !== undefined); -}; - -/** - * Get the default and only category for the chain list card - * - * - Default category: - * + Deposit & Transfer - * * Chain type: source => activeChain ?? 'test' - * * Chain type: dest => undefined - * + Withdraw => source => active chain ?? 'test' - * - * - Only category: - * + Deposit & Transfer - * * Chain type: source => undefined - * * Chain type: dest => category of source chain ?? undefined - * + Withdraw => undefined - * - * @param chainType whether 'source' or 'dest' (default: 'source') - * @return {defaultCategory, onlyCategory} - */ -const useChainCategoryProps = ( - chainType: ChainListCardProps['chainType'] = 'source', -) => { - const { activeChain } = useWebContext(); - - const currentTx = useTxTabFromRoute(); - - const { srcChainCfg } = useChainsFromRoute(); - - const defaultCategory = useMemo(() => { - if (chainType === 'source') { - return srcChainCfg?.tag ?? activeChain?.tag ?? 'test'; - } - }, [activeChain?.tag, chainType, srcChainCfg?.tag]); - - const onlyCategory = useMemo(() => { - if ( - (currentTx === 'deposit' || currentTx === 'transfer') && - chainType === 'dest' - ) { - return srcChainCfg?.tag; - } - }, [chainType, currentTx, srcChainCfg?.tag]); - - return { defaultCategory, onlyCategory }; -}; - -/** - * Check whether the current token id is supported for the given typed chain id - * @param params the query params to get the token id and pool id to check - * @param nextTypedChainId the typed chain id for checking the token id - * @param apiCfg the api config - * @returns Check whether the token id is supported for the given typed chain id - */ -const isTokenSupported = ( - params: URLSearchParams, - nextTypedChainId: number, - fungibleToWrappableMap: ApiConfig['fungibleToWrappableMap'], -): boolean => { - const poolId = getParam(params, POOL_KEY, NumberParam); - if (typeof poolId !== 'number') { - return false; - } - - const tokenId = getParam(params, TOKEN_KEY, NumberParam); - if (typeof tokenId !== 'number') { - return false; - } - - const wrappableMap = fungibleToWrappableMap.get(poolId); - if (!wrappableMap) { - return false; - } - - const wrappableSet = wrappableMap.get(nextTypedChainId); - if (!wrappableSet) { - return false; - } - - return wrappableSet.has(tokenId); -}; - -/** - * Check whether the dest chain id is supported for the given typed chain id - * @param params the query params to get the dest chain id - * @param nextTypedChainId the next typed chain id for checking the dest chain id - * @param anchorsCfg the anchor config - * @returns Check whether the dest chain id is supported for the given typed chain id - */ -const isDestChainSupported = ( - params: URLSearchParams, - nextTypedChainId: number, - anchorsCfg: ApiConfig['anchors'], -): boolean => { - const destChainId = getParam(params, DEST_CHAIN_KEY, NumberParam); - if (typeof destChainId !== 'number') { - return false; - } - - // Check if exist in the anchors config - // at least one record has the dest chain id and the next typed chain id - return Object.values(anchorsCfg).some((anchorRecord) => { - const keys = Object.keys(anchorRecord); - - const includeDest = keys.includes(destChainId.toString()); - const includeNext = keys.includes(nextTypedChainId.toString()); - - return includeDest && includeNext; - }); -}; - -const useUpdateParams = () => { - const { apiConfig } = useWebContext(); - - return useCallback( - ( - prevParams: URLSearchParams, - nextTypedChainId: number, - chainType: ChainListCardProps['chainType'], - ) => { - const nextParams = new URLSearchParams(prevParams); - const key = chainType === 'source' ? SOURCE_CHAIN_KEY : DEST_CHAIN_KEY; - nextParams.set(key, nextTypedChainId.toString()); - - if (chainType === 'dest') { - return nextParams; - } - - // For source chain, we need to check - // 1. Whether the current selected token is still supported - // 2. Whether the current destination chain is still supported - - const tokenSupported = isTokenSupported( - nextParams, - nextTypedChainId, - apiConfig.fungibleToWrappableMap, - ); - if (!tokenSupported) { - nextParams.delete(TOKEN_KEY); - } - - const destChainSupported = isDestChainSupported( - nextParams, - nextTypedChainId, - apiConfig.anchors, - ); - if (!destChainSupported) { - nextParams.delete(DEST_CHAIN_KEY); - } - - return nextParams; - }, - [apiConfig.anchors, apiConfig.fungibleToWrappableMap], - ); -}; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/SelectPool.tsx b/apps/bridge-dapp/src/pages/Hubble/Bridge/SelectPool.tsx deleted file mode 100644 index 08f1731d9c..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/SelectPool.tsx +++ /dev/null @@ -1,223 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { ChainConfig } from '@webb-tools/dapp-config/chains/chain-config.interface'; -import { CurrencyConfig } from '@webb-tools/dapp-config/currencies/currency-config.interface'; -import { - BalancesFromNotesType, - useBalancesFromNotes, -} from '@webb-tools/react-hooks/currency/useBalancesFromNotes'; -import { calculateTypedChainId } from '@webb-tools/sdk-core/typed-chain-id'; -import { TokenListCard } from '@webb-tools/webb-ui-components'; -import { AssetType } from '@webb-tools/webb-ui-components/components/ListCard/types'; -import { FC, useCallback, useMemo } from 'react'; -import { useLocation, useNavigate, useSearchParams } from 'react-router-dom'; -import { formatEther } from 'viem'; -import SlideAnimation from '../../../components/SlideAnimation'; -import { POOL_KEY, SOURCE_CHAIN_KEY } from '../../../constants'; -import useChainsFromRoute from '../../../hooks/useChainsFromRoute'; -import useCurrenciesFromRoute from '../../../hooks/useCurrenciesFromRoute'; -import useTxTabFromRoute from '../../../hooks/useTxTabFromRoute'; - -const SelectPool: FC = () => { - const [searhParams] = useSearchParams(); - const { pathname } = useLocation(); - const navigate = useNavigate(); - - const currentTxType = useTxTabFromRoute(); - - const { apiConfig } = useWebContext(); - - const { srcChainCfg, srcTypedChainId } = useChainsFromRoute(); - - const blockExplorer = useMemo(() => { - return srcChainCfg?.blockExplorers?.default.url; - }, [srcChainCfg]); - - const { fungibleCurrencies } = useCurrenciesFromRoute( - srcTypedChainId ?? undefined, - ); - - const { balances: balancesFromNotes, initialized } = useBalancesFromNotes(); - - const pools = useMemo>( - () => { - return fungibleCurrencies.map((currencyCfg) => { - const chainName = getChainName( - apiConfig.chains, - currentTxType, - srcTypedChainId, - ); - - const assetBalanceProps = getBalanceProps( - currencyCfg, - balancesFromNotes, - chainName, - currentTxType, - srcTypedChainId, - ); - - const addr = getAddress(currencyCfg, currentTxType, srcTypedChainId); - - const explorerUrl = getExplorerUrl(blockExplorer, addr); - - return { - name: currencyCfg.name, - symbol: currencyCfg.symbol, - tokenType: 'shielded', - explorerUrl, - assetBalanceProps, - chainName, - isLoadingMetadata: !initialized, - } satisfies AssetType; - }); - }, - // prettier-ignore - [apiConfig.chains, balancesFromNotes, blockExplorer, currentTxType, fungibleCurrencies, initialized, srcTypedChainId], - ); - - const poolsFromBalance = useMemo>( - () => { - if (currentTxType === 'deposit') { - return []; - } - - return Object.keys(balancesFromNotes).reduce((acc, id) => { - const balanceRec = balancesFromNotes[+id]; - const currency = apiConfig.currencies[+id]; - - Object.entries(balanceRec).forEach(([typedId, balance]) => { - if (currentTxType && typedId === srcTypedChainId?.toString()) { - return; - } - - const chainCfg = apiConfig.chains[+typedId]; - if (typeof balance === 'bigint') { - acc.push({ - name: currency.name, - symbol: currency.symbol, - tokenType: 'shielded', - assetBalanceProps: { - balance: +formatEther(balance), - subContent: chainCfg.name, - }, - chainName: chainCfg.name, - isLoadingMetadata: !initialized, - } satisfies AssetType); - } - }); - - return acc; - }, [] as Array); - }, - // prettier-ignore - [apiConfig.chains, apiConfig.currencies, balancesFromNotes, currentTxType, initialized, srcTypedChainId], - ); - - const alertTitle = useMemo(() => { - switch (currentTxType) { - case 'deposit': - return 'The availability of shielded pools is determined by your selected source chain and token.'; - default: - return 'The availability of shielded pools is subject to the balance in your account.'; - } - }, [currentTxType]); - - const handleClose = useCallback( - (selectedCfg?: CurrencyConfig, chainName?: string) => { - const params = new URLSearchParams(searhParams); - if (selectedCfg) { - params.set(POOL_KEY, `${selectedCfg.id}`); - } - - const chain = chainName - ? Object.values(apiConfig.chains).find((cfg) => cfg.name === chainName) - : undefined; - - if (chain) { - params.set( - SOURCE_CHAIN_KEY, - calculateTypedChainId(chain.chainType, chain.id).toString(), - ); - } - - const path = pathname.split('/').slice(0, -1).join('/'); - navigate({ - pathname: path, - search: params.toString(), - }); - }, - [apiConfig.chains, navigate, pathname, searhParams], - ); - - const handleTokenChange = useCallback( - ({ name, symbol, chainName }: AssetType) => { - const currencyCfg = Object.values(apiConfig.currencies).find( - (cfg) => cfg.name === name && cfg.symbol === symbol, - ); - - handleClose(currencyCfg, chainName); - }, - [apiConfig.currencies, handleClose], - ); - - return ( - - handleClose()} - alertTitle={alertTitle} - /> - - ); -}; - -export default SelectPool; - -const getAddress = ( - currencyCfg: CurrencyConfig, - txType?: string, - srcTypedChainId?: number | null, -) => - txType && typeof srcTypedChainId === 'number' - ? currencyCfg.addresses.get(srcTypedChainId) - : undefined; - -const getExplorerUrl = (blockExplorer?: string, address?: string) => - blockExplorer && address - ? new URL(`/address/${address}`, blockExplorer).toString() - : undefined; - -const getBalanceProps = ( - currency: CurrencyConfig, - balances: BalancesFromNotesType, - chainName?: string, - txType?: string, - srcTypedChainId?: number | null, -) => { - if (!txType || typeof srcTypedChainId !== 'number') { - return; - } - const balance = balances[currency.id]?.[srcTypedChainId] ?? 0; - - return { - balance: +formatEther(balance), - subContent: chainName, - }; -}; - -const getChainName = ( - chainsConfig: Record, - txType?: string, - srcTypedChainId?: number | null, -) => { - if (!txType || typeof srcTypedChainId !== 'number') { - return; - } - - return chainsConfig[srcTypedChainId]?.name; -}; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/SelectRelayer.tsx b/apps/bridge-dapp/src/pages/Hubble/Bridge/SelectRelayer.tsx deleted file mode 100644 index 6ade0bed68..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/SelectRelayer.tsx +++ /dev/null @@ -1,281 +0,0 @@ -import { - useWebContext, - useConnectWallet, -} from '@webb-tools/api-provider-environment'; -import isValidUrl from '@webb-tools/dapp-types/utils/isValidUrl'; -import { Search } from '@webb-tools/icons/Search'; -import { Spinner } from '@webb-tools/icons/Spinner'; -import WalletFillIcon from '@webb-tools/icons/WalletFillIcon'; -import { useRelayers } from '@webb-tools/react-hooks'; -import { - ChainType, - calculateTypedChainId, -} from '@webb-tools/sdk-core/typed-chain-id'; -import { RelayerListCard } from '@webb-tools/webb-ui-components/components/ListCard'; -import { RelayerType } from '@webb-tools/webb-ui-components/components/ListCard/types'; -import ToggleCard from '@webb-tools/webb-ui-components/components/ToggleCard'; -import Button from '@webb-tools/webb-ui-components/components/buttons/Button'; -import IconButton from '@webb-tools/webb-ui-components/components/buttons/IconButton'; -import cx from 'classnames'; -import { useCallback, useMemo, useState } from 'react'; -import { useLocation } from 'react-router-dom'; -import { BooleanParam, NumberParam, useQueryParams } from 'use-query-params'; -import SlideAnimation from '../../../components/SlideAnimation'; -import { - BRIDGE_PATH, - NO_RELAYER_KEY, - POOL_KEY, - SELECT_SOURCE_CHAIN_PATH, - SOURCE_CHAIN_KEY, -} from '../../../constants'; -import useNavigateWithPersistParams from '../../../hooks/useNavigateWithPersistParams'; -import { useRelayerManager } from '../../../hooks/useRelayerManager'; - -const SelectRelayer = () => { - const { pathname } = useLocation(); - - const { apiConfig, loading, isConnecting, activeApi } = useWebContext(); - - const navigate = useNavigateWithPersistParams(); - - const { toggleModal } = useConnectWallet(); - - const [customRelayer, setCustomRelayer] = useState(''); - const [customerRelayerError, setCustomerRelayerError] = useState(''); - const [customRelayerLoading, setCustomRelayerLoading] = useState(false); - - const [query, setQuery] = useQueryParams({ - [NO_RELAYER_KEY]: BooleanParam, - [SOURCE_CHAIN_KEY]: NumberParam, - [POOL_KEY]: NumberParam, - }); - - const { - [NO_RELAYER_KEY]: noRelayer, - [SOURCE_CHAIN_KEY]: typedChainId, - [POOL_KEY]: poolId, - } = query; - - const useRelayersArgs = useMemo( - () => ({ - typedChainId: typedChainId ?? undefined, - target: - typeof poolId === 'number' && typeof typedChainId === 'number' - ? apiConfig.anchors[poolId]?.[typedChainId] - : undefined, - }), - [apiConfig.anchors, typedChainId, poolId], - ); - - // Given the user inputs above, fetch relayers state - const { - relayersState: { relayers, activeRelayer }, - setRelayer, - } = useRelayers(useRelayersArgs); - - const { getInfo, addRelayer } = useRelayerManager(); - - const chainCfg = useMemo(() => { - if (typeof typedChainId !== 'number') { - return; - } - - return apiConfig.chains[typedChainId]; - }, [apiConfig.chains, typedChainId]); - - const relayersForDisplay = useMemo>(() => { - if (!chainCfg) { - return []; - } - - return relayers - .map((relayer) => { - const relayerData = relayer.capabilities.supportedChains[ - chainCfg.chainType === ChainType.EVM ? 'evm' : 'substrate' - ].get(calculateTypedChainId(chainCfg.chainType, chainCfg.id)); - - if (!relayerData?.beneficiary) { - return undefined; - } - - const theme: RelayerType['theme'] = - chainCfg.chainType === ChainType.EVM ? 'ethereum' : 'substrate'; - - const r: RelayerType = { - address: relayerData.beneficiary, - name: new URL(relayer.endpoint).host, - externalUrl: relayer.infoUri, - theme, - isDisabled: Boolean(noRelayer), - percentage: relayerData.relayerFeeConfig?.maxRefundAmount, - }; - - return r; - }) - .filter((r): r is RelayerType => r !== undefined); - }, [noRelayer, chainCfg, relayers]); - - const selectedRelayer = useMemo(() => { - return activeRelayer?.beneficiary && chainCfg - ? ({ - address: activeRelayer.beneficiary, - externalUrl: activeRelayer.infoUri, - theme: - chainCfg.chainType === ChainType.EVM ? 'ethereum' : 'substrate', - } satisfies RelayerType) - : undefined; - }, [activeRelayer?.beneficiary, activeRelayer?.infoUri, chainCfg]); - - const isDisconnected = useMemo( - () => !loading && !isConnecting && !activeApi?.relayerManager, - [activeApi?.relayerManager, isConnecting, loading], - ); - - const handleClose = useCallback(() => { - navigate(pathname.split('/').slice(0, -1).join('/')); - }, [navigate, pathname]); - - const handleRelayerChange = useCallback( - (nextRelayer_: RelayerType) => { - const nextRelayer = - relayers.find((relayer) => { - return relayer.infoUri === nextRelayer_.externalUrl; - }) ?? null; - - // Next relayer is null or equal to active relayer - if (nextRelayer && nextRelayer.endpoint !== activeRelayer?.endpoint) { - setRelayer(nextRelayer); - } else { - setRelayer(null); - } - }, - [relayers, activeRelayer, setRelayer], - ); - - const handleConnectWallet = useCallback(() => { - if (chainCfg) { - toggleModal(true, calculateTypedChainId(chainCfg.chainType, chainCfg.id)); - } else { - navigate(`/${BRIDGE_PATH}/${SELECT_SOURCE_CHAIN_PATH}`); - } - }, [chainCfg, navigate, toggleModal]); - - const testAndAddCustomRelayer = useCallback(async () => { - if (!customRelayer) { - return; - } - - const error = 'Invalid input. Pleas check your search and try again.'; - if (!isValidUrl(customRelayer)) { - setCustomerRelayerError(error); - return; - } - - const relayer = relayers.find((r) => r.endpoint === customRelayer); - if (relayer) { - return; // If relayer already exists, do nothing - } - - setCustomRelayerLoading(true); - const info = await getInfo(customRelayer); - if (!info) { - setCustomerRelayerError(error); - } else { - await addRelayer(customRelayer); - setCustomerRelayerError(''); - } - - setCustomRelayerLoading(false); - }, [addRelayer, customRelayer, getInfo, relayers]); - - const handleCustomRelayerChange = useCallback((nextRelayer: string) => { - setCustomRelayer(nextRelayer); - setCustomerRelayerError(''); - }, []); - - const toggleNoRelayer = useCallback( - (nextChecked: boolean) => { - if (!nextChecked) { - setQuery({ [NO_RELAYER_KEY]: undefined }); - return; - } - - // If no relayer is selected, set the active relayer to null - setQuery({ [NO_RELAYER_KEY]: nextChecked }); - setRelayer(null); - }, - [setQuery, setRelayer], - ); - - const isDisabled = useMemo(() => { - if (relayersForDisplay.length === 0 && !noRelayer) { - return true; - } - - if (relayersForDisplay.length > 0 && !selectedRelayer && !noRelayer) { - return true; - } - - return false; - }, [relayersForDisplay.length, noRelayer, selectedRelayer]); - - const relayerBtnText = useMemo(() => { - if (noRelayer) { - return 'No relayer'; - } else { - return 'Use selected relayer'; - } - }, [noRelayer]); - - return ( - - testAndAddCustomRelayer()} - > - {customRelayerLoading ? : } - - ), - value: customRelayer, - onChange: handleCustomRelayerChange, - errorMessage: customerRelayerError, - }} - Footer={ -
- } - switcherProps={{ - checked: Boolean(noRelayer), - onCheckedChange: toggleNoRelayer, - }} - title="No relayer (not recommended)" - info="For maximum privacy it is recommended to make use of a relayer to perform the transaction. The relayer will be the one to submit the transaction to the chain and send the funds to the recipient address." - /> - - -
- } - /> -
- ); -}; - -export default SelectRelayer; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/SelectToken.tsx b/apps/bridge-dapp/src/pages/Hubble/Bridge/SelectToken.tsx deleted file mode 100644 index 5c56059038..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/SelectToken.tsx +++ /dev/null @@ -1,204 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { ZERO_BIG_INT } from '@webb-tools/dapp-config/constants'; -import { CurrencyConfig } from '@webb-tools/dapp-config/currencies/currency-config.interface'; -import { CurrencyRole } from '@webb-tools/dapp-types/Currency'; -import { useCurrenciesBalances } from '@webb-tools/react-hooks'; -import { TokenListCard } from '@webb-tools/webb-ui-components'; -import { AssetType } from '@webb-tools/webb-ui-components/components/ListCard/types'; -import { FC, useCallback, useMemo } from 'react'; -import { useLocation, useNavigate, useSearchParams } from 'react-router-dom'; -import SlideAnimation from '../../../components/SlideAnimation'; -import { POOL_KEY, TOKEN_KEY } from '../../../constants'; -import useChainsFromRoute from '../../../hooks/useChainsFromRoute'; -import useCurrenciesFromRoute from '../../../hooks/useCurrenciesFromRoute'; -import useTxTabFromRoute from '../../../hooks/useTxTabFromRoute'; - -const SelectToken: FC = () => { - const [searhParams] = useSearchParams(); - const { pathname } = useLocation(); - const navigate = useNavigate(); - - const currentTxType = useTxTabFromRoute(); - - const { apiConfig } = useWebContext(); - - const { srcChainCfg, srcTypedChainId } = useChainsFromRoute(); - - const blockExplorer = useMemo(() => { - return srcChainCfg?.blockExplorers?.default.url; - }, [srcChainCfg]); - - const { allCurrencies, allCurrencyCfgs } = useCurrenciesFromRoute( - srcTypedChainId ?? undefined, - ); - - const fungibleAddress = useMemo(() => { - const poolId = searhParams.get(POOL_KEY); - if (!poolId) { - return; - } - - const fungible = apiConfig.currencies[Number(poolId)]; - if (!fungible) { - return; - } - - if (typeof srcTypedChainId === 'number') { - return fungible.addresses.get(srcTypedChainId); - } - - return undefined; - }, [apiConfig.currencies, searhParams, srcTypedChainId]); - - const alertTitle = useMemo(() => { - switch (currentTxType) { - case 'deposit': - return 'The availability of shielded pools is determined by your selected source chain and token.'; - default: - return 'The availability of shielded pools is subject to the balance in your account.'; - } - }, [currentTxType]); - - const { balances, isLoading: isBalancesLoading } = useCurrenciesBalances( - allCurrencies, - srcTypedChainId ?? undefined, - currentTxType === 'withdraw' ? fungibleAddress : undefined, - ); - - const selectTokens = useMemo>( - () => - allCurrencyCfgs.map((currencyCfg) => { - const balanceProps = getBalanceProps( - currencyCfg, - balances, - isBalancesLoading, - currentTxType, - ); - - const badgeProps = getBadgeProps( - currencyCfg, - balances, - isBalancesLoading, - currentTxType, - ); - - const address = getAddress(currencyCfg, srcTypedChainId ?? undefined); - const explorerUrl = getExplorerUrl(address, blockExplorer); - - return { - name: currencyCfg.name, - symbol: currencyCfg.symbol, - tokenType: 'unshielded', - explorerUrl: explorerUrl, - assetBalanceProps: balanceProps, - assetBadgeProps: badgeProps, - isLoadingMetadata: isBalancesLoading, - } satisfies AssetType; - }), - // prettier-ignore - [allCurrencyCfgs, balances, blockExplorer, currentTxType, isBalancesLoading, srcTypedChainId], - ); - - const handleClose = useCallback( - (selectedCfg?: CurrencyConfig) => { - const params = new URLSearchParams(searhParams); - if (selectedCfg) { - params.set(TOKEN_KEY, `${selectedCfg.id}`); - } - - const path = pathname.split('/').slice(0, -1).join('/'); - navigate({ - pathname: path, - search: params.toString(), - }); - }, - [navigate, pathname, searhParams], - ); - - const handleTokenChange = useCallback( - ({ name, symbol }: AssetType) => { - const currencyCfg = Object.values(apiConfig.currencies).find( - (cfg) => cfg.name === name && cfg.symbol === symbol, - ); - - handleClose(currencyCfg); - }, - [apiConfig.currencies, handleClose], - ); - - return ( - - handleClose()} - alertTitle={alertTitle} - /> - - ); -}; - -export default SelectToken; - -const getAddress = (currencyCfg: CurrencyConfig, srcTypedChainId?: number) => - typeof srcTypedChainId === 'number' - ? currencyCfg.addresses.get(srcTypedChainId) - : undefined; - -const getBalanceProps = ( - currencyCfg: CurrencyConfig, - balances: Record, - isLoading?: boolean, - txType?: string, -) => { - if (isLoading) { - return; - } - - const currencyBalance = balances[currencyCfg.id]; - - // Deposit means wrap tokens, uses the users balance from balances record - if (txType === 'deposit' && currencyBalance) { - return { - balance: currencyBalance, - }; - } - - // Withdraw means unwrap tokens - if (txType === 'withdraw') { - // For fungible/governable tokens, users can withdraw unlimited amount - if (currencyCfg.role === CurrencyRole.Governable) { - return { balance: Infinity }; - } - - // For non-fungible/non-governable tokens, use the balance from balances record - if (currencyBalance) { - return { balance: currencyBalance }; - } - } -}; - -const getBadgeProps = ( - currencyCfg: CurrencyConfig, - balances: Record, - isLoading?: boolean, - txType?: string, -) => - !isLoading && - !balances[currencyCfg.id] && - (txType !== 'withdraw' || currencyCfg.role !== CurrencyRole.Governable) - ? { - variant: 'warning' as const, - children: - txType === 'withdraw' ? 'Insufficient liquidity' : 'No balance', - } - : undefined; - -const getExplorerUrl = (addr?: string, blockExplorer?: string) => - blockExplorer && addr && BigInt(addr) !== ZERO_BIG_INT - ? new URL(`/address/${addr}`, blockExplorer).toString() - : undefined; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/Transfer/index.tsx b/apps/bridge-dapp/src/pages/Hubble/Bridge/Transfer/index.tsx deleted file mode 100644 index 4d47b219d7..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/Transfer/index.tsx +++ /dev/null @@ -1,464 +0,0 @@ -import { Transition } from '@headlessui/react'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { - AccountCircleLineIcon, - ArrowRight, - ClipboardLineIcon, - FileCopyLine, - GasStationFill, - SettingsFillIcon, -} from '@webb-tools/icons'; -import { useBalancesFromNotes } from '@webb-tools/react-hooks/currency/useBalancesFromNotes'; -import { calculateTypedChainId } from '@webb-tools/sdk-core/typed-chain-id'; -import { - Button, - ConnectWalletMobileButton, - IconWithTooltip, - TextField, - TitleWithInfo, - ToggleCard, - TransactionInputCard, - useCheckMobile, - useCopyable, - useWebbUI, -} from '@webb-tools/webb-ui-components'; -import { FC, useCallback, useMemo } from 'react'; -import { Outlet, useLocation } from 'react-router'; -import { formatEther, parseEther } from 'viem'; -import SlideAnimation from '../../../../components/SlideAnimation'; -import RelayerFeeDetails from '../../../../components/RelayerFeeDetails'; -import { - ACTION_BUTTON_PROPS, - BRIDGE_TABS, - SELECT_DESTINATION_CHAIN_PATH, - SELECT_RELAYER_PATH, - SELECT_SHIELDED_POOL_PATH, - SELECT_SOURCE_CHAIN_PATH, -} from '../../../../constants'; -import PageTabsContainer from '../../../../containers/PageTabsContainer'; -import TxInfoContainer from '../../../../containers/TxInfoContainer'; -import useChainsFromRoute from '../../../../hooks/useChainsFromRoute'; -import useCurrenciesFromRoute from '../../../../hooks/useCurrenciesFromRoute'; -import useNavigateWithPersistParams from '../../../../hooks/useNavigateWithPersistParams'; -import useRelayerWithRoute from '../../../../hooks/useRelayerWithRoute'; -import useTransferFeeCalculation from '../../../../hooks/useTransferFeeCalculation'; -import useInputs from './private/useInputs'; -import useTransferButtonProps from './private/useTransferButtonProps'; -import { ConnectWalletMobileContent } from '../../../../components'; - -const Transfer = () => { - const { pathname } = useLocation(); - - const { balances } = useBalancesFromNotes(); - - const navigate = useNavigateWithPersistParams(); - - const { isMobile } = useCheckMobile(); - - const { activeAccount, activeChain, noteManager } = useWebContext(); - - const { notificationApi } = useWebbUI(); - - const { - amount, - hasRefund, - recipient, - recipientErrorMsg, - refundRecipient, - refundRecipientErrorMsg, - setAmount, - setHasRefund, - setRecipient, - setRefundRecipient, - } = useInputs(); - - const { srcChainCfg, srcTypedChainId, destChainCfg, destTypedChainId } = - useChainsFromRoute(); - - const { fungibleCfg } = useCurrenciesFromRoute(); - - const fungibleMaxAmount = useMemo(() => { - if (typeof srcTypedChainId !== 'number') { - return; - } - - if (fungibleCfg && balances[fungibleCfg.id]?.[srcTypedChainId]) { - return Number(formatEther(balances[fungibleCfg.id][srcTypedChainId])); - } - }, [balances, fungibleCfg, srcTypedChainId]); - - const handleChainClick = useCallback( - (destChain?: boolean) => { - navigate( - destChain ? SELECT_DESTINATION_CHAIN_PATH : SELECT_SOURCE_CHAIN_PATH, - ); - }, - [navigate], - ); - - const handleTokenClick = useCallback(() => { - navigate(SELECT_SHIELDED_POOL_PATH); - }, [navigate]); - - const handlePasteButtonClick = useCallback(async () => { - try { - const addr = await window.navigator.clipboard.readText(); - - setRecipient(addr); - } catch { - notificationApi({ - message: 'Failed to read clipboard', - secondaryMessage: - 'Please change your browser settings to allow clipboard access.', - variant: 'warning', - }); - } - }, [notificationApi, setRecipient]); - - const handleSendToSelfRefundClick = useCallback(() => { - if (!activeAccount) { - notificationApi({ - message: 'Failed to get account', - secondaryMessage: 'Please connect your wallet first.', - variant: 'warning', - }); - return; - } - - setRefundRecipient(activeAccount.address); - }, [activeAccount, notificationApi, setRefundRecipient]); - - const handleSendToSelfClick = useCallback(() => { - if (!noteManager) { - notificationApi({ - message: 'Failed to get note account', - secondaryMessage: 'Please create a note account first.', - variant: 'warning', - }); - return; - } - const noteAccPub = noteManager.getKeypair().toString(); - setRecipient(noteAccPub); - }, [noteManager, notificationApi, setRecipient]); - - const typedChainId = useMemo(() => { - if (typeof srcTypedChainId === 'number') { - return srcTypedChainId; - } - - if (activeChain) { - return calculateTypedChainId(activeChain.chainType, activeChain.id); - } - }, [activeChain, srcTypedChainId]); - - const activeRelayer = useRelayerWithRoute(typedChainId); - - const { - gasFeeInfo, - isLoading: isFeeLoading, - refundAmount, - relayerFeeInfo, - resetMaxFeeInfo, - totalFeeToken, - totalFeeWei, - } = useTransferFeeCalculation({ - typedChainId: typedChainId, - activeRelayer, - recipientErrorMsg, - refundRecipientError: refundRecipientErrorMsg, - }); - - const receivingAmount = useMemo(() => { - if (!amount) { - return 0; - } - - const parsedAmount = parseFloat(amount); - if (!activeRelayer) { - return parsedAmount; - } - - if (typeof totalFeeWei !== 'bigint') { - return parsedAmount; - } - - const remain = parseEther(amount) - totalFeeWei; - return parseFloat(formatEther(remain)); - }, [activeRelayer, amount, totalFeeWei]); - - const gasFees = useMemo( - () => - gasFeeInfo ? parseFloat(formatEther(gasFeeInfo).slice(0, 10)) : undefined, - [gasFeeInfo], - ); - - const relayerFees = useMemo( - () => - relayerFeeInfo - ? parseFloat(formatEther(relayerFeeInfo.estimatedFee).slice(0, 10)) - : undefined, - [relayerFeeInfo], - ); - - const remainingBalance = useMemo(() => { - if (!fungibleCfg?.id || !srcTypedChainId) { - return; - } - - const balance = balances[fungibleCfg.id]?.[srcTypedChainId]; - if (typeof balance !== 'bigint') { - return; - } - - if (!amount) { - return Number(formatEther(balance)); - } - - const remain = balance - parseEther(amount); - if (remain < 0) { - return; - } - - return Number(formatEther(remain)); - }, [amount, balances, fungibleCfg?.id, srcTypedChainId]); - - const { transferConfirmComponent, ...buttonProps } = useTransferButtonProps({ - balances, - receivingAmount, - isFeeLoading, - totalFeeWei, - feeToken: totalFeeToken, - activeRelayer, - refundAmount, - refundToken: destChainCfg?.nativeCurrency.symbol, - resetFeeInfo: resetMaxFeeInfo, - refundRecipientError: refundRecipientErrorMsg, - }); - - const lastPath = useMemo(() => pathname.split('/').pop(), [pathname]); - if (lastPath && !BRIDGE_TABS.find((tab) => lastPath === tab)) { - return ; - } - - if (transferConfirmComponent !== null) { - return ( - - {transferConfirmComponent} - - ); - } - - return ( - -
-
- - - handleChainClick()} - /> - - - - handleTokenClick(), - }} - /> - - - - - - - handleChainClick(true)} - /> - } - onClick={() => navigate(SELECT_RELAYER_PATH)} - > - Relayer - - - - handleTokenClick(), - }} - customAmountProps={{ - isDisabled: true, - className: 'text-mono-200 dark:text-mono-0 cursor-not-allowed', - }} - /> - - -
-
- - -
- - - - - -
-
- -
-
- } - description={ - destChainCfg - ? `Get ${destChainCfg.nativeCurrency.symbol} on transactions on ${destChainCfg.name}` - : undefined - } - className="max-w-none" - switcherProps={{ - checked: hasRefund, - disabled: !activeRelayer, - onCheckedChange: () => setHasRefund((prev) => !prev), - }} - /> - - - - -
- - {!isMobile ? ( -
-
-
- ); -}; - -export default Transfer; - -type RecipientInputProps = { - error?: string; - value: string; - onValueChange: (value: string) => void; - onSendToSelfClick: () => void; - onPasteButtonClick: () => void; -}; - -const RecipientInput: FC = ({ - onPasteButtonClick, - onSendToSelfClick, - onValueChange, - value, - error, -}) => { - const { copy, isCopied } = useCopyable(); - - return ( - - onValueChange(e.target.value)} - /> - - - {value ? ( - } - content={isCopied ? 'Copied' : 'Copy'} - overrideTooltipTriggerProps={{ - onClick: isCopied ? undefined : () => copy(value), - }} - /> - ) : ( - <> - - } - content="Send to self" - overrideTooltipTriggerProps={{ - onClick: onSendToSelfClick, - }} - /> - } - content="Paste from clipboard" - overrideTooltipTriggerProps={{ - onClick: onPasteButtonClick, - }} - /> - - )} - - - ); -}; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/Transfer/private/useInputs.ts b/apps/bridge-dapp/src/pages/Hubble/Bridge/Transfer/private/useInputs.ts deleted file mode 100644 index acbb0d5847..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/Transfer/private/useInputs.ts +++ /dev/null @@ -1,110 +0,0 @@ -import isValidAddress from '@webb-tools/dapp-types/utils/isValidAddress'; -import isValidPublicKey from '@webb-tools/dapp-types/utils/isValidPublicKey'; -import { useCallback, useEffect, useState } from 'react'; -import { - BooleanParam, - StringParam, - useQueryParams, - type UrlUpdateType, -} from 'use-query-params'; -import { - HAS_REFUND_KEY, - RECIPIENT_KEY, - REFUND_RECIPIENT_KEY, -} from '../../../../../constants'; -import useAmountWithRoute from '../../../../../hooks/useAmountWithRoute'; -import useDefaultChainAndPool from '../../../../../hooks/useDefaultChainAndPool'; - -const useInputs = () => { - const [amount, setAmount] = useAmountWithRoute(); - - const [query, setQuery] = useQueryParams({ - [RECIPIENT_KEY]: StringParam, - [HAS_REFUND_KEY]: BooleanParam, - [REFUND_RECIPIENT_KEY]: StringParam, - }); - - const { - [RECIPIENT_KEY]: recipient, - [HAS_REFUND_KEY]: hasRefund, - [REFUND_RECIPIENT_KEY]: refundRecipient, - } = query; - - const [recipientErrorMsg, setRecipientErrorMsg] = useState(''); - - const [refundRecipientErrorMsg, setRefundRecipientErrorMsg] = useState(''); - - useDefaultChainAndPool(); - - // Validate recipient public key after 0.5s - useEffect(() => { - const timeout = setTimeout(() => { - if (recipient && !isValidPublicKey(recipient)) { - setRecipientErrorMsg('Invalid shielded account'); - } else { - setRecipientErrorMsg(''); - } - }, 500); - - return () => clearTimeout(timeout); - }, [recipient]); - - // Validate refund recipient wallet address after 0.5s - useEffect(() => { - const timeout = setTimeout(() => { - if (refundRecipient && !isValidAddress(refundRecipient)) { - setRefundRecipientErrorMsg('Invalid wallet address'); - } else { - setRefundRecipientErrorMsg(''); - } - }, 500); - - return () => clearTimeout(timeout); - }, [refundRecipient]); - - const onHasRefundChange = useCallback( - ( - newValue: - | typeof hasRefund - | ((latestValue: typeof hasRefund) => typeof hasRefund), - updateType?: UrlUpdateType, - ) => { - let nextValue: typeof hasRefund; - if (typeof newValue === 'function') { - nextValue = newValue(hasRefund); - } else { - nextValue = newValue; - } - - setQuery( - { - [HAS_REFUND_KEY]: nextValue, - ...(Boolean(nextValue) === false - ? { - [REFUND_RECIPIENT_KEY]: undefined, - } - : {}), - }, - updateType, - ); - }, - [hasRefund, setQuery], - ); - - return { - amount, - hasRefund: Boolean(hasRefund), - recipient: recipient ?? '', - recipientErrorMsg, - refundRecipient: refundRecipient ?? '', - refundRecipientErrorMsg, - setAmount, - setHasRefund: onHasRefundChange, - setRecipient: (recipient: string) => - setQuery({ [RECIPIENT_KEY]: recipient }), - setRefundRecipient: (refundRecipient: string) => - setQuery({ [REFUND_RECIPIENT_KEY]: refundRecipient }), - }; -}; - -export default useInputs; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/Transfer/private/useTransferButtonProps.tsx b/apps/bridge-dapp/src/pages/Hubble/Bridge/Transfer/private/useTransferButtonProps.tsx deleted file mode 100644 index 2b5c56a3c0..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/Transfer/private/useTransferButtonProps.tsx +++ /dev/null @@ -1,422 +0,0 @@ -import { Currency } from '@webb-tools/abstract-api-provider/currency'; -import { OptionalActiveRelayer } from '@webb-tools/abstract-api-provider/relayer/types'; -import utxoFromVAnchorNote from '@webb-tools/abstract-api-provider/utils/utxoFromVAnchorNote'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import chainsPopulated from '@webb-tools/dapp-config/chains/chainsPopulated'; -import { ZERO_BIG_INT } from '@webb-tools/dapp-config/constants'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types/WebbError'; -import type { Nullable } from '@webb-tools/dapp-types/utils/types'; -import { NoteManager } from '@webb-tools/note-manager/'; -import { useBalancesFromNotes } from '@webb-tools/react-hooks/currency/useBalancesFromNotes'; -import { Keypair, calculateTypedChainId } from '@webb-tools/sdk-core'; -import { ComponentProps, useCallback, useMemo, useState } from 'react'; -import { useNavigate } from 'react-router'; -import { BooleanParam, StringParam, useQueryParams } from 'use-query-params'; -import { formatEther } from 'viem'; -import { - AMOUNT_KEY, - BRIDGE_PATH, - HAS_REFUND_KEY, - RECIPIENT_KEY, - REFUND_RECIPIENT_KEY, - TRANSFER_PATH, -} from '../../../../../constants'; -import TransferConfirmContainer from '../../../../../containers/TransferConfirmContainer/TransferConfirmContainer'; -import useChainsFromRoute from '../../../../../hooks/useChainsFromRoute'; -import useConnectButtonProps from '../../../../../hooks/useConnectButtonProps'; -import useCurrenciesFromRoute from '../../../../../hooks/useCurrenciesFromRoute'; -import handleTxError from '../../../../../utils/handleTxError'; - -export type UseTransferButtonPropsArgs = { - balances: ReturnType['balances']; - receivingAmount?: number; - isFeeLoading?: boolean; - totalFeeWei?: bigint; - feeToken?: string; - resetFeeInfo?: () => void; - activeRelayer: OptionalActiveRelayer; - refundAmount?: bigint; - refundToken?: string; - refundRecipientError?: string; -}; - -function useTransferButtonProps({ - balances, - receivingAmount, - isFeeLoading, - totalFeeWei, - feeToken, - refundAmount, - refundToken, - resetFeeInfo, - activeRelayer, - refundRecipientError, -}: UseTransferButtonPropsArgs) { - const navigate = useNavigate(); - - const { activeApi, activeChain, isConnecting, loading, noteManager } = - useWebContext(); - - const [query] = useQueryParams({ - [AMOUNT_KEY]: StringParam, - [RECIPIENT_KEY]: StringParam, - [HAS_REFUND_KEY]: BooleanParam, - [REFUND_RECIPIENT_KEY]: StringParam, - }); - - const { - [AMOUNT_KEY]: amount, - [RECIPIENT_KEY]: recipient, - [HAS_REFUND_KEY]: hasRefund, - [REFUND_RECIPIENT_KEY]: refundRecipient, - } = query; - - const { - srcChainCfg: srcChain, - srcTypedChainId, - destChainCfg: destChain, - destTypedChainId, - } = useChainsFromRoute(); - - const { fungibleCfg } = useCurrenciesFromRoute(); - - const { content: connectBtnCnt, handleConnect } = - useConnectButtonProps(srcTypedChainId); - - const isValidAmount = useMemo(() => { - if (!fungibleCfg) { - return false; - } - - if (typeof srcTypedChainId !== 'number') { - return false; - } - - if (typeof amount !== 'string' || amount.length === 0) { - return false; - } - - const balance = balances[fungibleCfg.id]?.[srcTypedChainId]; - - if (!balance || typeof receivingAmount !== 'number') { - return false; - } - - try { - const amountBI = BigInt(amount); - return ( - amountBI > ZERO_BIG_INT && amountBI <= balance && receivingAmount >= 0 - ); - } catch (error) { - console.error(error); - return false; - } - }, [amount, balances, srcTypedChainId, fungibleCfg, receivingAmount]); - - const inputCnt = useMemo( - () => { - if (typeof srcTypedChainId !== 'number') { - return 'Select source chain'; - } - - if (typeof destTypedChainId !== 'number') { - return 'Select destination chain'; - } - - if (!fungibleCfg) { - return 'Select pool'; - } - - const amountFilled = typeof amount === 'string' && amount.length > 0; - if (amountFilled && BigInt(amount) <= ZERO_BIG_INT) { - return 'Enter amount'; - } - - if (!recipient) { - return 'Enter recipient'; - } - - if (hasRefund && !refundRecipient) { - return 'Enter refund recipient'; - } - - if (!isValidAmount) { - return 'Insufficient balance'; - } - }, - // prettier-ignore - [srcTypedChainId, destTypedChainId, fungibleCfg, amount, recipient, hasRefund, refundRecipient, isValidAmount], - ); - - const btnText = useMemo(() => { - if (connectBtnCnt) { - return connectBtnCnt; - } - - if (inputCnt) { - return inputCnt; - } - - return 'Transfer'; - }, [connectBtnCnt, inputCnt]); - - const isDisabled = useMemo( - () => { - if (connectBtnCnt) { - return false; - } - - const allInputsFilled = - typeof amount === 'string' && - amount.length > 0 && - !!fungibleCfg && - !!recipient && - typeof destTypedChainId === 'number'; - - const refundFilled = hasRefund ? !!refundRecipient : true; - - const userInputValid = - allInputsFilled && - refundFilled && - isValidAmount && - !refundRecipientError; - - if (!userInputValid || isFeeLoading) { - return true; - } - - const isSrcChainActive = - srcChain && - srcChain.id === activeChain?.id && - srcChain.chainType === activeChain?.chainType; - - if (!activeChain || !isSrcChainActive) { - return false; - } - - return false; - }, - // prettier-ignore - [activeChain, amount, connectBtnCnt, destTypedChainId, fungibleCfg, hasRefund, isFeeLoading, isValidAmount, recipient, refundRecipient, refundRecipientError, srcChain], - ); - - const isLoading = useMemo(() => { - return loading || isConnecting; - }, [isConnecting, loading]); - - const [transferConfirmComponent, setTransferConfirmComponent] = - useState, - typeof TransferConfirmContainer - > | null>(null); - - const handleTransferBtnClick = useCallback( - async () => { - let actualApi: Nullable = activeApi; - - // For type assertion - const _validAmount = - isValidAmount && !!amount && typeof receivingAmount === 'number'; - - const allInputsFilled = - !!srcChain && - !!fungibleCfg && - !!srcTypedChainId && - !!destTypedChainId && - !!recipient && - (hasRefund ? !!refundRecipient : true) && - _validAmount; - - try { - if (connectBtnCnt && typeof srcTypedChainId === 'number') { - const nextApi = await handleConnect(srcTypedChainId); - - const nextApiReady = [ - nextApi?.noteManager, - nextApi?.state.activeBridge, - nextApi?.methods.variableAnchor.actions, - allInputsFilled, - ].every((v) => Boolean(v)); - - if (!nextApiReady) { - return; - } - - actualApi = nextApi; - } - - const vAnchorApi = actualApi?.methods.variableAnchor.actions.inner; - - const doesApiReady = - !!actualApi?.state.activeBridge && !!vAnchorApi && !!noteManager; - - if (!allInputsFilled || !doesApiReady || !destChain || !actualApi) { - throw WebbError.from(WebbErrorCodes.ApiNotReady); - } - - if (actualApi.state.activeBridge?.currency.id !== fungibleCfg.id) { - throw WebbError.from(WebbErrorCodes.InvalidArguments); - } - - const anchorId = actualApi.state.activeBridge.targets[srcTypedChainId]; - if (!anchorId) { - throw WebbError.from(WebbErrorCodes.AnchorIdNotFound); - } - - const resourceId = await vAnchorApi.getResourceId( - anchorId, - srcChain.id, - srcChain.chainType, - ); - - const avaiNotes = ( - noteManager.getNotesOfChain(resourceId.toString()) ?? [] - ).filter( - (note) => - note.note.tokenSymbol === fungibleCfg.symbol && - !!fungibleCfg.addresses.get(parseInt(note.note.targetChainId)), - ); - - const amountBig = BigInt(amount); - - // Get the notes that will be spent for this withdraw - const inputNotes = NoteManager.getNotesFifo(avaiNotes, amountBig); - if (!inputNotes) { - throw WebbError.from(WebbErrorCodes.NoteParsingFailure); - } - - // Validate the input notes - const valid = await vAnchorApi.validateInputNotes( - inputNotes, - srcTypedChainId, - fungibleCfg.id, - ); - - if (!valid) { - throw WebbError.from(WebbErrorCodes.NotesNotReady); - } - - // Sum up the amount of the input notes to calculate the change amount - const totalAmountInput = inputNotes.reduce( - (acc, note) => acc + BigInt(note.note.amount), - ZERO_BIG_INT, - ); - - const changeAmount = totalAmountInput - amountBig; - if (changeAmount < 0) { - throw WebbError.from(WebbErrorCodes.InvalidArguments); - } - - const keypair = noteManager.getKeypair(); - if (!keypair.privkey) { - throw WebbError.from(WebbErrorCodes.KeyPairNotFound); - } - - // Setup the recipient's keypair. - const recipientKeypair = Keypair.fromString(recipient); - - const utxoAmount = - activeRelayer && typeof totalFeeWei == 'bigint' - ? amountBig - totalFeeWei - : amountBig; - - const transferUtxo = await actualApi.generateUtxo({ - curve: noteManager.defaultNoteGenInput.curve, - backend: actualApi.backend, - amount: utxoAmount.toString(), - chainId: destTypedChainId.toString(), - keypair: recipientKeypair, - originChainId: srcTypedChainId.toString(), - index: actualApi.state.defaultUtxoIndex.toString(), - }); - - const changeNote = - changeAmount > 0 - ? await noteManager.generateNote( - actualApi.backend, - srcTypedChainId, - anchorId, - srcTypedChainId, - anchorId, - fungibleCfg.symbol, - changeAmount, - ) - : undefined; - - // Generate change utxo (or dummy utxo if the changeAmount is `0`) - const changeUtxo = changeNote - ? await utxoFromVAnchorNote( - changeNote.note, - changeNote.note.index ? parseInt(changeNote.note.index) : 0, - ) - : await actualApi.generateUtxo({ - curve: noteManager.defaultNoteGenInput.curve, - backend: actualApi.backend, - amount: changeAmount.toString(), - chainId: `${srcTypedChainId}`, - keypair, - originChainId: `${srcTypedChainId}`, - index: actualApi.state.defaultUtxoIndex.toString(), - }); - - if (!activeChain) { - throw new Error('Active chain not found'); - } - - setTransferConfirmComponent( - { - resetFeeInfo?.(); - setTransferConfirmComponent(null); - navigate(`/${BRIDGE_PATH}/${TRANSFER_PATH}`); - }} - onClose={() => { - setTransferConfirmComponent(null); - }} - refundAmount={refundAmount} - refundToken={refundToken} - refundRecipient={refundRecipient ?? ''} // Already checked in `allInputsFilled` - activeChain={activeChain} - />, - ); - } catch (error) { - handleTxError(error, 'Transfer'); - } - }, - // prettier-ignore - [activeApi, activeRelayer, amount, connectBtnCnt, destChain, destTypedChainId, feeToken, fungibleCfg, handleConnect, hasRefund, isValidAmount, navigate, noteManager, receivingAmount, recipient, refundAmount, refundRecipient, refundToken, resetFeeInfo, srcChain, srcTypedChainId, totalFeeWei, activeChain], - ); - - return { - isLoading, - isDisabled, - children: btnText, - transferConfirmComponent, - onClick: handleTransferBtnClick, - }; -} - -export default useTransferButtonProps; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/Withdraw/index.tsx b/apps/bridge-dapp/src/pages/Hubble/Bridge/Withdraw/index.tsx deleted file mode 100644 index d976fd989c..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/Withdraw/index.tsx +++ /dev/null @@ -1,425 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { - AccountCircleLineIcon, - ArrowRight, - ClipboardLineIcon, - FileCopyLine, - GasStationFill, - SettingsFillIcon, -} from '@webb-tools/icons'; -import { useBalancesFromNotes } from '@webb-tools/react-hooks/currency/useBalancesFromNotes'; -import { calculateTypedChainId } from '@webb-tools/sdk-core/typed-chain-id'; -import { - Button, - ConnectWalletMobileButton, - IconWithTooltip, - TextField, - TitleWithInfo, - ToggleCard, - TransactionInputCard, - useCheckMobile, - useCopyable, - useWebbUI, -} from '@webb-tools/webb-ui-components'; -import RelayerFeeDetails from '../../../../components/RelayerFeeDetails'; -import { useCallback, useMemo } from 'react'; -import { Outlet, useLocation } from 'react-router-dom'; -import { BooleanParam, useQueryParam } from 'use-query-params'; -import { formatEther, parseEther } from 'viem'; -import SlideAnimation from '../../../../components/SlideAnimation'; -import { - ACTION_BUTTON_PROPS, - BRIDGE_TABS, - NO_RELAYER_KEY, - SELECT_RELAYER_PATH, - SELECT_SHIELDED_POOL_PATH, - SELECT_SOURCE_CHAIN_PATH, - SELECT_TOKEN_PATH, -} from '../../../../constants'; -import { - CUSTOM_AMOUNT_TOOLTIP_CONTENT, - FIXED_AMOUNT_TOOLTIP_CONTENT, -} from '../../../../constants/tooltipContent'; -import PageTabsContainer from '../../../../containers/PageTabsContainer'; -import TxInfoContainer from '../../../../containers/TxInfoContainer'; -import useChainsFromRoute from '../../../../hooks/useChainsFromRoute'; -import useCurrenciesFromRoute from '../../../../hooks/useCurrenciesFromRoute'; -import useNavigateWithPersistParams from '../../../../hooks/useNavigateWithPersistParams'; -import useRelayerWithRoute from '../../../../hooks/useRelayerWithRoute'; -import useWithdrawFeeCalculation from '../../../../hooks/useWithdrawFeeCalculation'; -import useInputs from './private/useInputs'; -import useWithdrawButtonProps from './private/useWithdrawButtonProps'; -import { ConnectWalletMobileContent } from '../../../../components'; - -const Withdraw = () => { - const { pathname } = useLocation(); - - const navigate = useNavigateWithPersistParams(); - - const { isMobile } = useCheckMobile(); - - const { balances } = useBalancesFromNotes(); - - const { activeAccount, activeChain } = useWebContext(); - - const { notificationApi } = useWebbUI(); - - const { copy, isCopied } = useCopyable(); - - const { - amount, - hasRefund, - isCustom, - recipient, - recipientErrorMsg, - setAmount, - setCustomAmount, - setHasRefund, - setRecipient, - } = useInputs(); - - const [noRelayer] = useQueryParam(NO_RELAYER_KEY, BooleanParam); - - const { fungibleCfg, wrappableCfg } = useCurrenciesFromRoute(); - const { srcChainCfg, srcTypedChainId } = useChainsFromRoute(); - - const typedChainId = useMemo(() => { - if (typeof srcTypedChainId === 'number') { - return srcTypedChainId; - } - - if (activeChain) { - return calculateTypedChainId(activeChain.chainType, activeChain.id); - } - }, [activeChain, srcTypedChainId]); - - const activeRelayer = useRelayerWithRoute(typedChainId); - - const fungibleMaxAmount = useMemo(() => { - if (typeof srcTypedChainId !== 'number') { - return; - } - - if (fungibleCfg && balances[fungibleCfg.id]?.[srcTypedChainId]) { - return Number(formatEther(balances[fungibleCfg.id][srcTypedChainId])); - } - }, [balances, fungibleCfg, srcTypedChainId]); - - const handleChainClick = useCallback(() => { - navigate(SELECT_SOURCE_CHAIN_PATH); - }, [navigate]); - - const handleTokenClick = useCallback( - (isShielded?: boolean) => { - navigate(isShielded ? SELECT_SHIELDED_POOL_PATH : SELECT_TOKEN_PATH); - }, - [navigate], - ); - - const handlePasteButtonClick = useCallback(async () => { - try { - const addr = await window.navigator.clipboard.readText(); - - setRecipient(addr.slice(0, 200)); // limit to 200 chars - } catch { - notificationApi({ - message: 'Failed to read clipboard', - secondaryMessage: - 'Please change your browser settings to allow clipboard access.', - variant: 'warning', - }); - } - }, [notificationApi, setRecipient]); - - const handleSendToSelfClick = useCallback(() => { - if (!activeAccount) { - notificationApi({ - message: 'Failed to get active account', - secondaryMessage: 'Please check your wallet connection and try again.', - variant: 'warning', - }); - return; - } - - setRecipient(activeAccount.address); - }, [activeAccount, notificationApi, setRecipient]); - - const { - gasFeeInfo, - isLoading: isFeeLoading, - refundAmount, - relayerFeeInfo, - resetMaxFeeInfo, - totalFeeToken, - totalFeeWei, - } = useWithdrawFeeCalculation({ - activeRelayer, - recipientErrorMsg, - typedChainId: srcTypedChainId, - }); - - const receivingAmount = useMemo(() => { - if (!amount) { - return 0; - } - - const parsedAmount = parseFloat(amount); - if (!activeRelayer) { - return parsedAmount; - } - - if (typeof totalFeeWei !== 'bigint') { - return parsedAmount; - } - - const remain = parseEther(amount) - totalFeeWei; - return parseFloat(formatEther(remain)); - }, [activeRelayer, amount, totalFeeWei]); - - const remainingBalance = useMemo(() => { - if (!fungibleCfg?.id || typeof srcTypedChainId !== 'number') { - return; - } - - const balance = balances[fungibleCfg.id]?.[srcTypedChainId]; - if (typeof balance !== 'bigint') { - return; - } - - if (!amount) { - return Number(formatEther(balance)); - } - - const remain = balance - parseEther(amount); - if (remain < 0) { - return; - } - - return Number(formatEther(remain)); - }, [amount, balances, fungibleCfg?.id, srcTypedChainId]); - - const gasFees = useMemo( - () => - gasFeeInfo ? parseFloat(formatEther(gasFeeInfo).slice(0, 10)) : undefined, - [gasFeeInfo], - ); - - const relayerFees = useMemo( - () => - relayerFeeInfo - ? parseFloat(formatEther(relayerFeeInfo.estimatedFee).slice(0, 10)) - : undefined, - [relayerFeeInfo], - ); - - const { withdrawConfirmComponent, ...buttonProps } = useWithdrawButtonProps({ - balances, - receivingAmount, - isFeeLoading, - totalFeeWei, - refundAmount, - resetFeeInfo: resetMaxFeeInfo, - }); - - const lastPath = useMemo(() => pathname.split('/').pop(), [pathname]); - if (lastPath && !BRIDGE_TABS.find((tab) => lastPath === tab)) { - return ; - } - - if (withdrawConfirmComponent !== null) { - return ( - - {withdrawConfirmComponent} - - ); - } - - return ( - -
-
- setCustomAmount(!isCustom)} - > - - - - - - handleTokenClick(true), - }} - fixedAmountProps={{ - step: 0.01, - }} - /> - - - - - - - setCustomAmount(!isCustom)} - > - - - } - onClick={() => navigate(SELECT_RELAYER_PATH)} - > - {noRelayer ? 'No Relayer' : 'Relayer'} - - - - handleTokenClick(), - }} - customAmountProps={{ - isDisabled: true, - className: 'text-mono-200 dark:text-mono-0 cursor-not-allowed', - }} - /> - - -
-
- - - - setRecipient(e.target.value)} - /> - - - {recipient ? ( - - } - content={isCopied ? 'Copied' : 'Copy'} - overrideTooltipTriggerProps={{ - onClick: isCopied ? undefined : () => copy(recipient), - }} - /> - ) : ( - <> - - } - content="Send to self" - overrideTooltipTriggerProps={{ - onClick: handleSendToSelfClick, - }} - /> - - } - content="Patse from clipboard" - overrideTooltipTriggerProps={{ - onClick: handlePasteButtonClick, - }} - /> - - )} - - -
-
-
- -
-
- } - description={ - srcChainCfg - ? `Get ${srcChainCfg.nativeCurrency.symbol} on transactions on ${srcChainCfg.name}` - : undefined - } - className="max-w-none" - switcherProps={{ - checked: hasRefund, - disabled: !activeRelayer, - onCheckedChange: () => setHasRefund(!hasRefund), - }} - /> - - - - -
- - {!isMobile ? ( -
-
-
- ); -}; - -export default Withdraw; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/Withdraw/private/useInputs.ts b/apps/bridge-dapp/src/pages/Hubble/Bridge/Withdraw/private/useInputs.ts deleted file mode 100644 index 5c9b3dabc5..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/Withdraw/private/useInputs.ts +++ /dev/null @@ -1,60 +0,0 @@ -import isValidAddress from '@webb-tools/dapp-types/utils/isValidAddress'; -import { useEffect, useState } from 'react'; -import { BooleanParam, StringParam, useQueryParams } from 'use-query-params'; -import { - HAS_REFUND_KEY, - IS_CUSTOM_AMOUNT_KEY, - RECIPIENT_KEY, -} from '../../../../../constants'; -import useAmountWithRoute from '../../../../../hooks/useAmountWithRoute'; -import useDefaultChainAndPool from '../../../../../hooks/useDefaultChainAndPool'; - -const useInputs = () => { - const [amount, setAmount] = useAmountWithRoute(); - - const [query, setQuery] = useQueryParams({ - [RECIPIENT_KEY]: StringParam, - [HAS_REFUND_KEY]: BooleanParam, - [IS_CUSTOM_AMOUNT_KEY]: BooleanParam, - }); - - const { - [RECIPIENT_KEY]: recipient, - [HAS_REFUND_KEY]: hasRefund, - [IS_CUSTOM_AMOUNT_KEY]: isCustom, - } = query; - - const [recipientErrorMsg, setRecipientErrorMsg] = useState(''); - - useDefaultChainAndPool(); - - // Validate recipient input address after 1s - useEffect(() => { - const timeout = setTimeout(() => { - if (recipient && !isValidAddress(recipient)) { - setRecipientErrorMsg('Invalid address'); - } else { - setRecipientErrorMsg(''); - } - }, 500); - - return () => clearTimeout(timeout); - }, [recipient]); - - return { - amount, - setAmount, - recipient: recipient ?? '', - hasRefund: Boolean(hasRefund), - isCustom: Boolean(isCustom), - setRecipient: (recipient: string) => - setQuery({ [RECIPIENT_KEY]: recipient }), - setHasRefund: (hasRefund: boolean) => - setQuery({ [HAS_REFUND_KEY]: hasRefund }), - setCustomAmount: (isCustom: boolean) => - setQuery({ [IS_CUSTOM_AMOUNT_KEY]: isCustom }), - recipientErrorMsg, - }; -}; - -export default useInputs; diff --git a/apps/bridge-dapp/src/pages/Hubble/Bridge/Withdraw/private/useWithdrawButtonProps.tsx b/apps/bridge-dapp/src/pages/Hubble/Bridge/Withdraw/private/useWithdrawButtonProps.tsx deleted file mode 100644 index 03a3e68995..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Bridge/Withdraw/private/useWithdrawButtonProps.tsx +++ /dev/null @@ -1,426 +0,0 @@ -import { Currency } from '@webb-tools/abstract-api-provider/currency/currency'; -import utxoFromVAnchorNote from '@webb-tools/abstract-api-provider/utils/utxoFromVAnchorNote'; -import { useWebContext } from '@webb-tools/api-provider-environment'; -import { ZERO_BIG_INT } from '@webb-tools/dapp-config/constants'; -import { CurrencyRole } from '@webb-tools/dapp-types/Currency'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types/WebbError'; -import type { Nullable } from '@webb-tools/dapp-types/utils/types'; -import { NoteManager } from '@webb-tools/note-manager/note-manager'; -import { - useBalancesFromNotes, - useCurrencyBalance, -} from '@webb-tools/react-hooks'; -import { ComponentProps, useCallback, useMemo, useState } from 'react'; -import { useNavigate } from 'react-router-dom'; -import { BooleanParam, StringParam, useQueryParams } from 'use-query-params'; -import { formatEther, formatUnits, parseEther, parseUnits } from 'viem'; -import { - AMOUNT_KEY, - BRIDGE_PATH, - HAS_REFUND_KEY, - RECIPIENT_KEY, - WITHDRAW_PATH, -} from '../../../../../constants'; -import WithdrawConfirmContainer from '../../../../../containers/WithdrawConfirmContainer/WithdrawConfirmContainer'; -import useChainsFromRoute from '../../../../../hooks/useChainsFromRoute'; -import useConnectButtonProps from '../../../../../hooks/useConnectButtonProps'; -import useCurrenciesFromRoute from '../../../../../hooks/useCurrenciesFromRoute'; -import handleTxError from '../../../../../utils/handleTxError'; - -export type UseWithdrawButtonPropsArgs = { - balances: ReturnType['balances']; - receivingAmount?: number; - refundAmount?: bigint; - isFeeLoading?: boolean; - totalFeeWei?: bigint; - resetFeeInfo?: () => void; -}; - -function useWithdrawButtonProps({ - balances, - isFeeLoading, - receivingAmount, - refundAmount, - resetFeeInfo, - totalFeeWei, -}: UseWithdrawButtonPropsArgs) { - const navigate = useNavigate(); - - const { activeApi, activeChain, isConnecting, loading, noteManager } = - useWebContext(); - - const [query] = useQueryParams({ - [AMOUNT_KEY]: StringParam, - [RECIPIENT_KEY]: StringParam, - [HAS_REFUND_KEY]: BooleanParam, - }); - - const { - [AMOUNT_KEY]: amountStr, - [RECIPIENT_KEY]: recipient, - [HAS_REFUND_KEY]: hasRefund, - } = query; - - const amount = useMemo(() => { - if (typeof amountStr !== 'string' || amountStr.length === 0) { - return; - } - - try { - return formatEther(BigInt(amountStr)); - } catch (error) { - console.error(error); - } - }, [amountStr]); - - const { fungibleCfg, wrappableCfg } = useCurrenciesFromRoute(); - const { srcChainCfg, srcTypedChainId } = useChainsFromRoute(); - - const { content: connectBtnCnt, handleConnect } = - useConnectButtonProps(srcTypedChainId); - - const fungibleAddress = useMemo(() => { - if (typeof srcTypedChainId !== 'number' || !fungibleCfg) { - return undefined; - } - - return fungibleCfg.addresses.get(srcTypedChainId); - }, [fungibleCfg, srcTypedChainId]); - - const liquidityPool = useCurrencyBalance( - wrappableCfg && wrappableCfg.role !== CurrencyRole.Governable - ? wrappableCfg.id - : undefined, - fungibleAddress, - srcTypedChainId ?? undefined, - ); - - const isSucficientLiq = useMemo(() => { - if (!wrappableCfg) { - // No wrappable selected, no need to check - return true; - } - - // Wrappable is the same as fungible, no unwrap - if (wrappableCfg.id === fungibleCfg?.id) { - return true; - } - - // No amount, no need to check - if (!amount) { - return true; - } - - const amountFloat = Number(amount); - - if (typeof liquidityPool !== 'number' && amountFloat > 0) { - return true; - } - - if (!liquidityPool) { - return false; - } - - return liquidityPool >= amountFloat; - }, [amount, fungibleCfg?.id, liquidityPool, wrappableCfg]); - - const isValidAmount = useMemo(() => { - if (!fungibleCfg) { - return false; - } - - if (typeof srcTypedChainId !== 'number') { - return false; - } - - if (!amount) { - return false; - } - - const amountFloat = parseFloat(amount); - const balance = balances[fungibleCfg.id]?.[srcTypedChainId]; - - if (!balance || amountFloat <= 0) { - return false; - } - - if (typeof receivingAmount !== 'number') { - return false; - } - - return parseEther(amount) <= balance && receivingAmount >= 0; - }, [amount, balances, srcTypedChainId, fungibleCfg, receivingAmount]); - - const inputCnt = useMemo( - () => { - if (typeof srcTypedChainId !== 'number') { - return 'Select chain'; - } - - if (!fungibleCfg) { - return 'Select pool'; - } - - if (!amount) { - return 'Enter amount'; - } - - if (!wrappableCfg) { - return 'Select withdraw token'; - } - - if (!recipient) { - return 'Enter recipient'; - } - - if (!isSucficientLiq) { - return 'Insufficient liquidity'; - } - - if (!isValidAmount) { - return 'Insufficient balance'; - } - }, - // prettier-ignore - [amount, srcTypedChainId, fungibleCfg, isSucficientLiq, isValidAmount, recipient, wrappableCfg], - ); - - const btnText = useMemo(() => { - if (connectBtnCnt) { - return connectBtnCnt; - } - - if (inputCnt) { - return inputCnt; - } - - if (fungibleCfg && fungibleCfg.id !== wrappableCfg?.id) { - return 'Withdraw and Unwrap'; - } - - return 'Withdraw'; - }, [connectBtnCnt, fungibleCfg, inputCnt, wrappableCfg?.id]); - - const isDisabled = useMemo( - () => { - if (connectBtnCnt) { - return false; - } - - const allInputsFilled = - !!amount && !!fungibleCfg && !!wrappableCfg && !!recipient; - - const userInputValid = - allInputsFilled && isSucficientLiq && isValidAmount; - - if (!userInputValid || isFeeLoading) { - return true; - } - - const isChainActive = - srcChainCfg && - srcChainCfg.id === activeChain?.id && - srcChainCfg.chainType === activeChain?.chainType; - if (!activeChain || !isChainActive) { - return false; - } - - return false; - }, - // prettier-ignore - [activeChain, amount, connectBtnCnt, fungibleCfg, isFeeLoading, isSucficientLiq, isValidAmount, recipient, srcChainCfg, wrappableCfg], - ); - - const isLoading = useMemo(() => { - return loading || isConnecting; - }, [isConnecting, loading]); - - const [withdrawConfirmComponent, setWithdrawConfirmComponent] = - useState, - typeof WithdrawConfirmContainer - > | null>(null); - - const handleWithdrawBtnClick = useCallback( - async () => { - let actualApi: Nullable = activeApi; - - // For type assertion - const _validAmount = - isValidAmount && !!amount && typeof receivingAmount === 'number'; - - const allInputsFilled = - !!srcChainCfg && - !!fungibleCfg && - !!srcTypedChainId && - !!recipient && - _validAmount; - - try { - if (connectBtnCnt && typeof srcTypedChainId === 'number') { - const nextApi = await handleConnect(srcTypedChainId); - - const nextApiReady = [ - nextApi?.noteManager, - nextApi?.state.activeBridge, - nextApi?.methods.variableAnchor.actions, - allInputsFilled, - ].every((key) => Boolean(key)); - if (!nextApiReady) { - return; - } - - actualApi = nextApi; - } - - const vAnchorApi = actualApi?.methods.variableAnchor.actions.inner; - - const doesApiReady = - !!actualApi?.state.activeBridge && !!vAnchorApi && !!noteManager; - - if (!allInputsFilled || !doesApiReady || !actualApi) { - throw WebbError.from(WebbErrorCodes.ApiNotReady); - } - - if (actualApi.state.activeBridge?.currency.id !== fungibleCfg.id) { - throw WebbError.from(WebbErrorCodes.InvalidArguments); - } - - const anchorId = actualApi.state.activeBridge.targets[srcTypedChainId]; - if (!anchorId) { - throw WebbError.from(WebbErrorCodes.AnchorIdNotFound); - } - - const resourceId = await vAnchorApi.getResourceId( - anchorId, - srcChainCfg.id, - srcChainCfg.chainType, - ); - - const avaiNotes = ( - noteManager.getNotesOfChain(resourceId.toString()) ?? [] - ).filter( - (note) => - note.note.tokenSymbol === fungibleCfg.symbol && - !!fungibleCfg.addresses.get(parseInt(note.note.targetChainId)), - ); - - const fungibleDecimals = fungibleCfg.decimals; - const amountFloat = parseFloat(amount); - const amountBig = parseUnits(amount, fungibleDecimals); - - // Get the notes that will be spent for this withdraw - const inputNotes = NoteManager.getNotesFifo(avaiNotes, amountBig); - if (!inputNotes) { - throw WebbError.from(WebbErrorCodes.NoteParsingFailure); - } - - // Validate the input notes - const valid = await vAnchorApi.validateInputNotes( - inputNotes, - srcTypedChainId, - fungibleCfg.id, - ); - - if (!valid) { - throw WebbError.from(WebbErrorCodes.NotesNotReady); - } - - // Sum up the amount of the input notes to calculate the change amount - const totalAmountInput = inputNotes.reduce( - (acc, note) => acc + BigInt(note.note.amount), - ZERO_BIG_INT, - ); - - const changeAmount = totalAmountInput - amountBig; - if (changeAmount < 0) { - throw WebbError.from(WebbErrorCodes.InvalidArguments); - } - - const keypair = noteManager.getKeypair(); - if (!keypair.privkey) { - throw WebbError.from(WebbErrorCodes.KeyPairNotFound); - } - - const changeNote = - changeAmount > 0 - ? await noteManager.generateNote( - actualApi.backend, - srcTypedChainId, - anchorId, - srcTypedChainId, - anchorId, - fungibleCfg.symbol, - changeAmount, - ) - : undefined; - - // Generate change utxo (or dummy utxo if the changeAmount is `0`) - const changeUtxo = changeNote - ? await utxoFromVAnchorNote( - changeNote.note, - changeNote.note.index ? parseInt(changeNote.note.index) : 0, - ) - : await actualApi.generateUtxo({ - curve: noteManager.defaultNoteGenInput.curve, - backend: actualApi.backend, - amount: changeAmount.toString(), - chainId: `${srcTypedChainId}`, - keypair, - originChainId: `${srcTypedChainId}`, - index: actualApi.state.defaultUtxoIndex.toString(), - }); - - setWithdrawConfirmComponent( - { - resetFeeInfo?.(); - setWithdrawConfirmComponent(null); - navigate(`/${BRIDGE_PATH}/${WITHDRAW_PATH}`); - }} - onClose={() => { - setWithdrawConfirmComponent(null); - }} - />, - ); - } catch (error) { - handleTxError(error, 'Withdraw'); - } - }, - // prettier-ignore - [activeApi, amount, connectBtnCnt, fungibleCfg, handleConnect, hasRefund, isValidAmount, navigate, noteManager, receivingAmount, recipient, refundAmount, resetFeeInfo, srcChainCfg, srcTypedChainId, totalFeeWei, wrappableCfg], - ); - - return { - isLoading, - isDisabled, - children: btnText, - withdrawConfirmComponent, - onClick: handleWithdrawBtnClick, - }; -} - -export default useWithdrawButtonProps; diff --git a/apps/bridge-dapp/src/pages/Hubble/Wrapper/SelectToken.tsx b/apps/bridge-dapp/src/pages/Hubble/Wrapper/SelectToken.tsx deleted file mode 100644 index dd85aec7c4..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Wrapper/SelectToken.tsx +++ /dev/null @@ -1,214 +0,0 @@ -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { ZERO_BIG_INT } from '@webb-tools/dapp-config/constants'; -import { CurrencyConfig } from '@webb-tools/dapp-config/currencies/currency-config.interface'; -import { Currency } from '@webb-tools/abstract-api-provider/currency'; -import { useCurrenciesBalances } from '@webb-tools/react-hooks'; -import { TokenListCard } from '@webb-tools/webb-ui-components'; -import { AssetType } from '@webb-tools/webb-ui-components/components/ListCard/types'; -import { FC, useCallback, useMemo } from 'react'; -import { useLocation, useNavigate, useSearchParams } from 'react-router-dom'; -import SlideAnimation from '../../../components/SlideAnimation'; -import { POOL_KEY, TOKEN_KEY } from '../../../constants'; -import useChainsFromRoute from '../../../hooks/useChainsFromRoute'; -import useCurrenciesFromRoute from '../../../hooks/useCurrenciesFromRoute'; -import useWrapperTabFromRoute from '../../../hooks/useWrapperTabFromRoute'; - -type SelectTokenType = 'src' | 'dest'; - -const SelectToken: FC<{ type: SelectTokenType }> = ({ type }) => { - const [searchParams] = useSearchParams(); - const { pathname } = useLocation(); - const navigate = useNavigate(); - - const currentWrapperType = useWrapperTabFromRoute(); - - const { apiConfig } = useWebContext(); - - const { srcChainCfg, srcTypedChainId } = useChainsFromRoute(); - - const blockExplorer = useMemo(() => { - return srcChainCfg?.blockExplorers?.default.url; - }, [srcChainCfg]); - - const { - wrappableCurrencies: wrappableCurrencyCfgs, - fungibleCurrencies: fungibleCurrencyCfgs, - } = useCurrenciesFromRoute(srcTypedChainId ?? undefined); - - const isFungibleTokenList = useMemo( - () => - (currentWrapperType === 'wrap' && type === 'dest') || - (currentWrapperType === 'unwrap' && type === 'src'), - [currentWrapperType, type], - ); - - const currencyCfgs = useMemo( - () => (isFungibleTokenList ? fungibleCurrencyCfgs : wrappableCurrencyCfgs), - [isFungibleTokenList, fungibleCurrencyCfgs, wrappableCurrencyCfgs], - ); - - const currencies = useMemo( - () => currencyCfgs.map((currencyCfg) => new Currency(currencyCfg)), - [currencyCfgs], - ); - - const fungibleAddress = useMemo(() => { - const poolId = searchParams.get(POOL_KEY); - if (!poolId) { - return; - } - - const fungible = apiConfig.currencies[Number(poolId)]; - if (!fungible) { - return; - } - - if (typeof srcTypedChainId === 'number') { - return fungible.addresses.get(srcTypedChainId); - } - - return undefined; - }, [apiConfig.currencies, searchParams, srcTypedChainId]); - - const { balances, isLoading: isBalancesLoading } = useCurrenciesBalances( - currencies, - srcTypedChainId ?? undefined, - // track available liquidity of tokens in the contract when the user is unwrapping - // otherwise, check user's wallet balance - currentWrapperType === 'unwrap' && type === 'dest' - ? fungibleAddress - : undefined, - ); - - const selectTokens = useMemo>( - () => - currencyCfgs.map((currencyCfg) => { - const badgeProps = getBadgeProps( - currencyCfg, - balances, - type, - currentWrapperType, - isBalancesLoading, - ); - - const balanceProps = - badgeProps === undefined - ? getBalanceProps(currencyCfg, balances, isBalancesLoading) - : undefined; - - const address = getAddress(currencyCfg, srcTypedChainId ?? undefined); - const explorerUrl = getExplorerUrl(address, blockExplorer); - - return { - name: currencyCfg.name, - symbol: currencyCfg.symbol, - tokenType: 'unshielded', - explorerUrl: explorerUrl, - assetBalanceProps: balanceProps, - assetBadgeProps: badgeProps, - isLoadingMetadata: isBalancesLoading, - } satisfies AssetType; - }), - // prettier-ignore - [currencyCfgs, balances, type, currentWrapperType, isBalancesLoading, srcTypedChainId, blockExplorer], - ); - - const targetParam = useMemo( - () => (isFungibleTokenList ? POOL_KEY : TOKEN_KEY), - [isFungibleTokenList], - ); - - const alertTitle = useMemo(() => { - if (currentWrapperType === undefined) return; - if (type === 'src') { - return `Tokens available for ${currentWrapperType}ping based on the composition of shielded pools.`; - } - return `Available webb tokens for ${currentWrapperType}ping based on source token selection.`; - }, [currentWrapperType, type]); - - const handleClose = useCallback( - (selectedCfg?: CurrencyConfig) => { - const params = new URLSearchParams(searchParams); - if (selectedCfg) { - params.set(targetParam, `${selectedCfg.id}`); - } - - const path = pathname.split('/').slice(0, -1).join('/'); - navigate({ - pathname: path, - search: params.toString(), - }); - }, - [navigate, pathname, searchParams, targetParam], - ); - - const handleTokenChange = useCallback( - ({ name, symbol }: AssetType) => { - const currencyCfg = Object.values(apiConfig.currencies).find( - (cfg) => cfg.name === name && cfg.symbol === symbol, - ); - - handleClose(currencyCfg); - }, - [apiConfig.currencies, handleClose], - ); - - return ( - - handleClose()} - alertTitle={alertTitle} - /> - - ); -}; - -export default SelectToken; - -/** @internal */ -const getAddress = (currencyCfg: CurrencyConfig, srcTypedChainId?: number) => - typeof srcTypedChainId === 'number' - ? currencyCfg.addresses.get(srcTypedChainId) - : undefined; - -/** @internal */ -const getBalanceProps = ( - currencyCfg: CurrencyConfig, - balances: Record, - isLoading?: boolean, -) => { - if (isLoading) return; - const currencyBalance = balances[currencyCfg.id]; - return { balance: currencyBalance }; -}; - -/** @internal */ -const getBadgeProps = ( - currencyCfg: CurrencyConfig, - balances: Record, - selectTokenType: SelectTokenType, - wrapperType: ReturnType, - isLoading?: boolean, -) => { - if (wrapperType === 'wrap' && selectTokenType === 'dest') return; - - if (!isLoading && !balances[currencyCfg.id]) { - return { - variant: 'warning' as const, - children: - selectTokenType === 'dest' ? 'Insufficient liquidity' : 'No balance', - }; - } -}; - -/** @internal */ -const getExplorerUrl = (addr?: string, blockExplorer?: string) => - blockExplorer && addr && BigInt(addr) !== ZERO_BIG_INT - ? new URL(`/address/${addr}`, blockExplorer).toString() - : undefined; diff --git a/apps/bridge-dapp/src/pages/Hubble/Wrapper/Unwrap/index.tsx b/apps/bridge-dapp/src/pages/Hubble/Wrapper/Unwrap/index.tsx deleted file mode 100644 index f897ae5c26..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Wrapper/Unwrap/index.tsx +++ /dev/null @@ -1,128 +0,0 @@ -import { type FC, useMemo } from 'react'; -import { Outlet, useLocation } from 'react-router'; -import { ArrowRight } from '@webb-tools/icons'; -import { - Button, - ConnectWalletMobileButton, - TransactionInputCard, - useCheckMobile, - FeeDetails, -} from '@webb-tools/webb-ui-components'; - -import PageTabsContainer from '../../../../containers/PageTabsContainer'; -import useAmountWithRoute from '../../../../hooks/useAmountWithRoute'; -import useChainsFromRoute from '../../../../hooks/useChainsFromRoute'; -import useCurrenciesFromRoute from '../../../../hooks/useCurrenciesFromRoute'; -import useNavigateWithPersistParams from '../../../../hooks/useNavigateWithPersistParams'; -import useDefaultChainAndPool from '../../../../hooks/useDefaultChainAndPool'; -import useUnwrapButtonProps from './private/useUnwrapButtonProps'; -import { useCurrenciesBalances } from '@webb-tools/react-hooks'; -import useUnwrapFeeDetailsProps from './private/useUnwrapFeeDetailsProps'; - -import { - SELECT_SOURCE_CHAIN_PATH, - SELECT_SOURCE_TOKEN_PATH, - SELECT_DESTINATION_TOKEN_PATH, - WRAPPER_TABS, -} from '../../../../constants'; - -const Unwrap: FC = () => { - const { pathname } = useLocation(); - - const { isMobile } = useCheckMobile(); - - const navigate = useNavigateWithPersistParams(); - - useDefaultChainAndPool(); - - const [amount, setAmount] = useAmountWithRoute(); - const { srcTypedChainId } = useChainsFromRoute(); - const { allCurrencies, fungibleCfg, wrappableCfg } = useCurrenciesFromRoute(); - - const { balances: walletBalances } = useCurrenciesBalances( - allCurrencies, - srcTypedChainId ?? undefined, - ); - - const { ...unwrapBtnProps } = useUnwrapButtonProps({ - balance: fungibleCfg ? walletBalances[fungibleCfg.id] : undefined, - fungibleCfg, - wrappableCfg, - }); - - const feeDetailsProps = useUnwrapFeeDetailsProps({ - balance: wrappableCfg ? walletBalances[wrappableCfg.id] : undefined, - }); - - const amountProps = useMemo( - () => ({ - amount, - onAmountChange: setAmount, - }), - [amount, setAmount], - ); - - const lastPath = useMemo(() => pathname.split('/').pop(), [pathname]); - if (lastPath && !WRAPPER_TABS.find((tab) => lastPath === tab)) { - return ; - } - - return ( - -
-
- - - navigate(SELECT_SOURCE_CHAIN_PATH)} - /> - - - - navigate(SELECT_SOURCE_TOKEN_PATH), - }} - /> - - - - - - navigate(SELECT_DESTINATION_TOKEN_PATH), - }} - customAmountProps={{ - isDisabled: true, - className: 'text-mono-200 dark:text-mono-0 cursor-not-allowed', - }} - /> - -
- -
- {/* TODO: calculate gas */} - - - {!isMobile ? ( -
-
-
- ); -}; - -export default Unwrap; diff --git a/apps/bridge-dapp/src/pages/Hubble/Wrapper/Unwrap/private/useUnwrapButtonProps.tsx b/apps/bridge-dapp/src/pages/Hubble/Wrapper/Unwrap/private/useUnwrapButtonProps.tsx deleted file mode 100644 index 38d3d014e8..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Wrapper/Unwrap/private/useUnwrapButtonProps.tsx +++ /dev/null @@ -1,242 +0,0 @@ -import { useCallback, useMemo, useState } from 'react'; -import { NumberParam, StringParam, useQueryParams } from 'use-query-params'; -import { parseEther } from 'viem'; -import { useNavigate } from 'react-router'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { ZERO_BIG_INT, ensureHex } from '@webb-tools/dapp-config'; -import { CurrencyConfig } from '@webb-tools/dapp-config/currencies/currency-config.interface'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types'; -import getViemClient from '@webb-tools/web3-api-provider/utils/getViemClient'; -import { WebbWeb3Provider } from '@webb-tools/web3-api-provider'; -import { FungibleTokenWrapper__factory } from '@webb-tools/contracts'; -import numberToString from '@webb-tools/webb-ui-components/utils/numberToString'; -import { - AMOUNT_KEY, - POOL_KEY, - SOURCE_CHAIN_KEY, - TOKEN_KEY, - UNWRAP_FULL_PATH, -} from '../../../../../constants'; -import { - useConnectButtonProps, - useEnqueueSubmittedTx, -} from '../../../../../hooks'; -import handleTxError from '../../../../../utils/handleTxError'; - -export default function useUnwrapButtonProps({ - balance, - fungibleCfg, - wrappableCfg, -}: { - balance?: number; - fungibleCfg?: CurrencyConfig; - wrappableCfg?: CurrencyConfig; -}) { - const { activeApi, loading, isConnecting, apiConfig } = useWebContext(); - const enqueueSubmittedTx = useEnqueueSubmittedTx(); - const navigate = useNavigate(); - - const [query] = useQueryParams({ - [AMOUNT_KEY]: StringParam, - [TOKEN_KEY]: NumberParam, - [POOL_KEY]: NumberParam, - [SOURCE_CHAIN_KEY]: NumberParam, - }); - - const { - [AMOUNT_KEY]: amount, - [TOKEN_KEY]: wrappableTokenId, - [POOL_KEY]: fungibleTokenId, - [SOURCE_CHAIN_KEY]: srcTypedId, - } = query; - - const { content: connectBtnCnt, handleConnect } = useConnectButtonProps( - srcTypedId, - true, - ); - - const [isUnwrapping, setIsUnwrapping] = useState(false); - - const isValidAmount = useMemo(() => { - if (typeof amount !== 'string' || amount.length === 0) { - return false; - } - - const amountBI = BigInt(amount); // amount from search params is parsed already - - // If balance is not a number, but amount is entered and > 0, - // it means user not connected to wallet but entered amount - // so we allow it - if (typeof balance !== 'number' && amountBI > 0) { - return true; - } - - if (!balance || amountBI <= 0) { - return false; - } - - const parsedBalance = parseEther(numberToString(balance)); - - return amountBI !== ZERO_BIG_INT && amountBI <= parsedBalance; - }, [amount, balance]); - - const inputCnt = useMemo(() => { - if (typeof fungibleTokenId !== 'number') { - return 'Select token to be unwrapped'; - } - - if (typeof amount !== 'string' || amount.length === 0) { - return 'Enter amount'; - } - - if (typeof wrappableTokenId !== 'number') { - return 'Select unwrapped token'; - } - - if (typeof srcTypedId !== 'number') { - return 'Select chain'; - } - - return undefined; - }, [amount, fungibleTokenId, wrappableTokenId, srcTypedId]); - - const amountCnt = useMemo(() => { - if (typeof amount !== 'string' || BigInt(amount) === ZERO_BIG_INT) { - return 'Enter amount'; - } - - if (!isValidAmount) { - return 'Insufficient balance'; - } - }, [amount, isValidAmount]); - - const children = useMemo(() => { - if (connectBtnCnt) { - return connectBtnCnt; - } - - if (inputCnt) { - return inputCnt; - } - - if (amountCnt) { - return amountCnt; - } - - if (isUnwrapping) { - return 'Unwrapping'; - } - - return 'Unwrap'; - }, [amountCnt, connectBtnCnt, inputCnt, isUnwrapping]); - - const isDisabled = useMemo( - () => { - if (connectBtnCnt) { - return false; - } - - const allInputsFilled = - !!amount && !!wrappableTokenId && !!fungibleTokenId && !!srcTypedId; - - if (!allInputsFilled || !isValidAmount || isUnwrapping) { - return true; - } - - return false; - }, - // prettier-ignore - [amount, connectBtnCnt, fungibleTokenId, srcTypedId, wrappableTokenId, isValidAmount, isUnwrapping], - ); - - const isLoading = useMemo(() => { - return loading || isConnecting; - }, [isConnecting, loading]); - - const handleBtnClick = useCallback( - async () => { - let actualApi = activeApi; - - try { - if (connectBtnCnt && typeof srcTypedId === 'number') { - const nextApi = await handleConnect(srcTypedId); - if (!nextApi) { - return; - } - - actualApi = nextApi; - } - - if (!actualApi || !(actualApi instanceof WebbWeb3Provider)) { - throw WebbError.from(WebbErrorCodes.ApiNotReady); - } - - if (!fungibleCfg) { - throw WebbError.from(WebbErrorCodes.NoFungibleTokenAvailable); - } - - const srcTypedIdNum = Number(srcTypedId); - - if (Number.isNaN(srcTypedIdNum)) { - throw WebbError.from(WebbErrorCodes.UnsupportedChain); - } - - const fungibleContractAddr = fungibleCfg?.addresses.get(srcTypedIdNum); - if (fungibleContractAddr === undefined) { - throw WebbError.from(WebbErrorCodes.NoFungibleTokenAvailable); - } - - const wrappableTokenAddr = wrappableCfg?.addresses.get(srcTypedIdNum); - if (wrappableCfg === undefined || wrappableTokenAddr === undefined) { - throw WebbError.from(WebbErrorCodes.NoWrappableTokenAvailable); - } - - const srcChain = apiConfig.chains[srcTypedIdNum]; - - if (!srcChain) { - throw WebbError.from(WebbErrorCodes.UnsupportedChain); - } - - if (typeof amount !== 'string' || amount.length === 0) { - throw WebbError.from(WebbErrorCodes.InvalidAmount); - } - - setIsUnwrapping(true); - const client = getViemClient(srcTypedIdNum); - const unwrapTokenAddrHex = ensureHex(wrappableTokenAddr); - const fungibleContractHex = ensureHex(fungibleContractAddr); - - const walletClient = actualApi.walletClient; - const { request } = await client.simulateContract({ - address: fungibleContractHex, - abi: FungibleTokenWrapper__factory.abi, - functionName: 'unwrap', - args: [unwrapTokenAddrHex, BigInt(amount)], - account: walletClient.account, - }); - const txHash = await walletClient.writeContract(request); - - enqueueSubmittedTx(txHash, srcChain, 'unwrap'); - - // navigate back to unwrap page to clear query params - navigate(UNWRAP_FULL_PATH); - } catch (error) { - console.error(error); - - handleTxError(error, 'Unwrap'); - } finally { - setIsUnwrapping(false); - } - }, - // prettier-ignore - [activeApi, amount, fungibleCfg, wrappableCfg, connectBtnCnt, srcTypedId, handleConnect, enqueueSubmittedTx, apiConfig, navigate], - ); - - return { - children, - isLoading, - loadingText: 'Connecting...', - onClick: handleBtnClick, - isDisabled, - }; -} diff --git a/apps/bridge-dapp/src/pages/Hubble/Wrapper/Unwrap/private/useUnwrapFeeDetailsProps.tsx b/apps/bridge-dapp/src/pages/Hubble/Wrapper/Unwrap/private/useUnwrapFeeDetailsProps.tsx deleted file mode 100644 index a62d165566..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Wrapper/Unwrap/private/useUnwrapFeeDetailsProps.tsx +++ /dev/null @@ -1,109 +0,0 @@ -import { useState, useEffect, useMemo } from 'react'; -import { useQueryParams, NumberParam, StringParam } from 'use-query-params'; -import { parseEther, formatEther } from 'viem'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { notificationApi } from '@webb-tools/webb-ui-components'; -import { ZERO_BIG_INT } from '@webb-tools/dapp-config'; -import numberToString from '@webb-tools/webb-ui-components/utils/numberToString'; -import { GasStationFill } from '@webb-tools/icons'; -import type { - FeeDetailsProps, - FeeItem, -} from '@webb-tools/webb-ui-components/components/FeeDetails/types'; - -import { getEstimatedGasFeesByChain } from '../../../../../utils'; -import { AMOUNT_KEY, SOURCE_CHAIN_KEY } from '../../../../../constants'; - -export default function useUnwrapFeeDetailsProps({ - balance, -}: { - balance?: number; -}) { - const [gasFees, setGasFees] = useState(); - const [isLoadingGasFees, setIsLoadingGasFees] = useState(false); - - const { apiConfig } = useWebContext(); - - const [query] = useQueryParams({ - [AMOUNT_KEY]: StringParam, - [SOURCE_CHAIN_KEY]: NumberParam, - }); - - const { [AMOUNT_KEY]: amount, [SOURCE_CHAIN_KEY]: srcTypedId } = query; - - const srcChainCfg = useMemo(() => { - if (typeof srcTypedId !== 'number') { - return; - } - - return apiConfig.chains[srcTypedId]; - }, [apiConfig.chains, srcTypedId]); - - const isValidAmount = useMemo(() => { - if (typeof amount !== 'string' || amount.length === 0) { - return false; - } - - const amountBI = BigInt(amount); - - // If balance is not a number, but amount is entered and > 0, - // it means user not connected to wallet but entered amount - // so we allow it - if (typeof balance !== 'number' && amountBI > 0) { - return true; - } - - if (!balance || amountBI <= 0) { - return false; - } - - const parsedBalance = parseEther(numberToString(balance)); - - return amountBI !== ZERO_BIG_INT && amountBI <= parsedBalance; - }, [amount, balance]); - - const gasFeeDetailProps = useMemo(() => { - return { - name: 'Gas', - Icon: , - info: 'Fees required to execute the wrapping transaction.', - value: gasFees, - isLoading: isLoadingGasFees, - tokenSymbol: srcChainCfg?.nativeCurrency.symbol, - }; - }, [gasFees, isLoadingGasFees, srcChainCfg]); - - useEffect(() => { - const updateGasFees = async () => { - if (!srcTypedId || BigInt(amount ?? 0) === ZERO_BIG_INT) return; - try { - setIsLoadingGasFees(true); - const estimatedGasFees = await getEstimatedGasFeesByChain(srcTypedId); - setGasFees(parseFloat(formatEther(estimatedGasFees))); - } catch { - notificationApi.addToQueue({ - variant: 'error', - message: 'Failed to estimate gas fees', - }); - } finally { - setIsLoadingGasFees(false); - } - }; - - updateGasFees(); - }, [srcTypedId, amount]); - - useEffect(() => { - if (!isValidAmount) { - setGasFees(undefined); - return; - } - }, [isValidAmount]); - - return { - items: [gasFeeDetailProps], - totalFee: gasFees, - totalFeeToken: gasFeeDetailProps.tokenSymbol, - isTotalLoading: isLoadingGasFees, - } satisfies FeeDetailsProps; -} diff --git a/apps/bridge-dapp/src/pages/Hubble/Wrapper/Wrap/index.tsx b/apps/bridge-dapp/src/pages/Hubble/Wrapper/Wrap/index.tsx deleted file mode 100644 index 8a7760a800..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Wrapper/Wrap/index.tsx +++ /dev/null @@ -1,131 +0,0 @@ -import { type FC, useMemo } from 'react'; -import { Outlet, useLocation } from 'react-router'; -import { ArrowRight } from '@webb-tools/icons'; -import { - Button, - ConnectWalletMobileButton, - TransactionInputCard, - useCheckMobile, - FeeDetails, -} from '@webb-tools/webb-ui-components'; - -import PageTabsContainer from '../../../../containers/PageTabsContainer'; -import { useCurrenciesBalances } from '@webb-tools/react-hooks'; -import useAmountWithRoute from '../../../../hooks/useAmountWithRoute'; -import useChainsFromRoute from '../../../../hooks/useChainsFromRoute'; -import useCurrenciesFromRoute from '../../../../hooks/useCurrenciesFromRoute'; -import useNavigateWithPersistParams from '../../../../hooks/useNavigateWithPersistParams'; -import useDefaultChainAndPool from '../../../../hooks/useDefaultChainAndPool'; -import useWrapButtonProps from './private/useWrapButtonProps'; -import useWrapFeeDetailsProps from './private/useWrapFeeDetailsProps'; - -import { - SELECT_SOURCE_CHAIN_PATH, - SELECT_SOURCE_TOKEN_PATH, - SELECT_DESTINATION_TOKEN_PATH, - WRAPPER_TABS, -} from '../../../../constants'; - -const Wrap: FC = () => { - const { pathname } = useLocation(); - - const { isMobile } = useCheckMobile(); - - const navigate = useNavigateWithPersistParams(); - - useDefaultChainAndPool(); - - const [amount, setAmount] = useAmountWithRoute(); - const { srcTypedChainId } = useChainsFromRoute(); - const { allCurrencies, fungibleCfg, wrappableCfg } = useCurrenciesFromRoute(); - - const { balances: walletBalances } = useCurrenciesBalances( - allCurrencies, - srcTypedChainId ?? undefined, - ); - - const { ...wrapBtnProps } = useWrapButtonProps({ - balance: wrappableCfg ? walletBalances[wrappableCfg.id] : undefined, - fungibleCfg, - wrappableCfg, - }); - - const feeDetailsProps = useWrapFeeDetailsProps({ - balance: wrappableCfg ? walletBalances[wrappableCfg.id] : undefined, - fungibleCfg, - wrappableCfg, - }); - - const amountProps = useMemo( - () => ({ - amount, - onAmountChange: setAmount, - }), - [amount, setAmount], - ); - - const lastPath = useMemo(() => pathname.split('/').pop(), [pathname]); - if (lastPath && !WRAPPER_TABS.find((tab) => lastPath === tab)) { - return ; - } - - return ( - -
-
- - - navigate(SELECT_SOURCE_CHAIN_PATH)} - /> - - - - navigate(SELECT_SOURCE_TOKEN_PATH), - }} - /> - - - - - - navigate(SELECT_DESTINATION_TOKEN_PATH), - }} - customAmountProps={{ - isDisabled: true, - className: 'text-mono-200 dark:text-mono-0 cursor-not-allowed', - }} - /> - -
- -
- - - {!isMobile ? ( -
-
-
- ); -}; - -export default Wrap; diff --git a/apps/bridge-dapp/src/pages/Hubble/Wrapper/Wrap/private/useWrapButtonProps.tsx b/apps/bridge-dapp/src/pages/Hubble/Wrapper/Wrap/private/useWrapButtonProps.tsx deleted file mode 100644 index 92ea8666a9..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Wrapper/Wrap/private/useWrapButtonProps.tsx +++ /dev/null @@ -1,260 +0,0 @@ -import { useCallback, useMemo, useState } from 'react'; -import { useQueryParams, NumberParam, StringParam } from 'use-query-params'; -import { useNavigate } from 'react-router'; -import { parseEther } from 'viem'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { ZERO_BIG_INT } from '@webb-tools/dapp-config'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types'; -import { CurrencyConfig } from '@webb-tools/dapp-config/currencies/currency-config.interface'; -import { ensureHex } from '@webb-tools/dapp-config'; -import { FungibleTokenWrapper__factory } from '@webb-tools/contracts'; -import getViemClient from '@webb-tools/web3-api-provider/utils/getViemClient'; -import numberToString from '@webb-tools/webb-ui-components/utils/numberToString'; -import { ZERO_ADDRESS } from '@webb-tools/utils'; -import { WebbWeb3Provider } from '@webb-tools/web3-api-provider'; - -import { - useEnqueueSubmittedTx, - useConnectButtonProps, -} from '../../../../../hooks'; -import { handleTxError } from '../../../../../utils'; -import { - AMOUNT_KEY, - POOL_KEY, - SOURCE_CHAIN_KEY, - TOKEN_KEY, - WRAP_FULL_PATH, -} from '../../../../../constants'; - -export default function useWrapButtonProps({ - balance, - fungibleCfg, - wrappableCfg, -}: { - balance?: number; - fungibleCfg?: CurrencyConfig; - wrappableCfg?: CurrencyConfig; -}) { - const { activeApi, loading, isConnecting, apiConfig } = useWebContext(); - const enqueueSubmittedTx = useEnqueueSubmittedTx(); - const navigate = useNavigate(); - - const [query] = useQueryParams({ - [AMOUNT_KEY]: StringParam, - [TOKEN_KEY]: NumberParam, - [POOL_KEY]: NumberParam, - [SOURCE_CHAIN_KEY]: NumberParam, - }); - - const { - [AMOUNT_KEY]: amount, - [TOKEN_KEY]: wrappableTokenId, - [POOL_KEY]: fungibleTokenId, - [SOURCE_CHAIN_KEY]: srcTypedId, - } = query; - - const { content: connectBtnCnt, handleConnect } = useConnectButtonProps( - srcTypedId, - true, - ); - - const [isWrapping, setIsWrapping] = useState(false); - - const isValidAmount = useMemo(() => { - if (typeof amount !== 'string' || amount.length === 0) { - return false; - } - - const amountBI = BigInt(amount); // amount from search params is parsed already - - // If balance is not a number, but amount is entered and > 0, - // it means user not connected to wallet but entered amount - // so we allow it - if (typeof balance !== 'number' && amountBI > 0) { - return true; - } - - if (!balance || amountBI <= 0) { - return false; - } - - const parsedBalance = parseEther(numberToString(balance)); - - return amountBI !== ZERO_BIG_INT && amountBI <= parsedBalance; - }, [amount, balance]); - - const inputCnt = useMemo(() => { - if (typeof wrappableTokenId !== 'number') { - return 'Select token to be wrapped'; - } - - if (typeof amount !== 'string' || amount.length === 0) { - return 'Enter amount'; - } - - if (typeof fungibleTokenId !== 'number') { - return 'Select wrapped token'; - } - - if (typeof srcTypedId !== 'number') { - return 'Select source chain'; - } - - return undefined; - }, [amount, fungibleTokenId, wrappableTokenId, srcTypedId]); - - const amountCnt = useMemo(() => { - if (typeof amount !== 'string' || BigInt(amount) === ZERO_BIG_INT) { - return 'Enter amount'; - } - - if (!isValidAmount) { - return 'Insufficient balance'; - } - }, [amount, isValidAmount]); - - const children = useMemo(() => { - if (connectBtnCnt) { - return connectBtnCnt; - } - - if (inputCnt) { - return inputCnt; - } - - if (amountCnt) { - return amountCnt; - } - - if (isWrapping) { - return 'Wrapping'; - } - - return 'Wrap'; - }, [amountCnt, connectBtnCnt, inputCnt, isWrapping]); - - const isDisabled = useMemo( - () => { - if (connectBtnCnt) { - return false; - } - - const allInputsFilled = - !!amount && !!wrappableTokenId && !!fungibleTokenId && !!srcTypedId; - - if (!allInputsFilled || !isValidAmount || isWrapping) { - return true; - } - - return false; - }, - // prettier-ignore - [amount, connectBtnCnt, fungibleTokenId, srcTypedId, wrappableTokenId, isValidAmount, isWrapping], - ); - - const isLoading = useMemo(() => { - return loading || isConnecting; - }, [isConnecting, loading]); - - const handleBtnClick = useCallback( - async () => { - let actualApi = activeApi; - - try { - if (connectBtnCnt && typeof srcTypedId === 'number') { - const nextApi = await handleConnect(srcTypedId); - if (!nextApi) { - return; - } - - actualApi = nextApi; - } - - if (!actualApi || !(actualApi instanceof WebbWeb3Provider)) { - throw WebbError.from(WebbErrorCodes.ApiNotReady); - } - - if (fungibleCfg === undefined) { - throw WebbError.from(WebbErrorCodes.NoFungibleTokenAvailable); - } - - const fungibleTokenIdNum = Number(fungibleTokenId); - if (Number.isNaN(fungibleTokenIdNum)) { - throw WebbError.from(WebbErrorCodes.NoFungibleTokenAvailable); - } - - const srcTypedIdNum = Number(srcTypedId); - if (Number.isNaN(srcTypedIdNum)) { - throw WebbError.from(WebbErrorCodes.UnsupportedChain); - } - - const fungibleContractAddr = fungibleCfg?.addresses.get(srcTypedIdNum); - if (fungibleContractAddr === undefined) { - throw WebbError.from(WebbErrorCodes.NoFungibleTokenAvailable); - } - - const wrappableTokenAddr = wrappableCfg?.addresses.get(srcTypedIdNum); - if (wrappableCfg === undefined || wrappableTokenAddr === undefined) { - throw WebbError.from(WebbErrorCodes.NoWrappableTokenAvailable); - } - - const srcChain = apiConfig.chains[srcTypedIdNum]; - if (!srcChain) { - throw WebbError.from(WebbErrorCodes.UnsupportedChain); - } - - if (typeof amount !== 'string' || amount.length === 0) { - throw WebbError.from(WebbErrorCodes.InvalidAmount); - } - - setIsWrapping(true); - const client = getViemClient(srcTypedIdNum); - const wrapTokenAddrHex = ensureHex(wrappableTokenAddr); - const fungibleContractHex = ensureHex(fungibleContractAddr); - - const walletClient = actualApi.walletClient; - const { request } = await client.simulateContract({ - address: fungibleContractHex, - abi: FungibleTokenWrapper__factory.abi, - functionName: 'wrap', - args: [ - wrapTokenAddrHex, - // if native token, amount is 0 - wrapTokenAddrHex === ZERO_ADDRESS - ? parseEther('0') - : BigInt(amount), - ], - account: walletClient.account, - // if native token, tx value is equal amount - value: - wrapTokenAddrHex === ZERO_ADDRESS - ? BigInt(amount) - : parseEther('0'), - }); - - const txHash = await walletClient.writeContract(request); - - enqueueSubmittedTx(txHash, srcChain, 'wrap'); - - // navigate back to wrap page to clear query params - navigate(WRAP_FULL_PATH); - } catch (error) { - console.error(error); - - handleTxError(error, 'Wrap'); - } finally { - setIsWrapping(false); - } - }, - // prettier-ignore - [activeApi, amount, fungibleTokenId, connectBtnCnt, srcTypedId, handleConnect, fungibleCfg, wrappableCfg, enqueueSubmittedTx, apiConfig, navigate], - ); - - return { - children, - isLoading, - loadingText: 'Connecting...', - onClick: handleBtnClick, - isDisabled, - }; -} diff --git a/apps/bridge-dapp/src/pages/Hubble/Wrapper/Wrap/private/useWrapFeeDetailsProps.tsx b/apps/bridge-dapp/src/pages/Hubble/Wrapper/Wrap/private/useWrapFeeDetailsProps.tsx deleted file mode 100644 index e2dae57243..0000000000 --- a/apps/bridge-dapp/src/pages/Hubble/Wrapper/Wrap/private/useWrapFeeDetailsProps.tsx +++ /dev/null @@ -1,234 +0,0 @@ -import { useState, useEffect, useMemo } from 'react'; -import { useQueryParams, NumberParam, StringParam } from 'use-query-params'; -import { parseEther, formatEther } from 'viem'; -import { useWebContext } from '@webb-tools/api-provider-environment/webb-context'; -import { notificationApi } from '@webb-tools/webb-ui-components'; -import getViemClient from '@webb-tools/web3-api-provider/utils/getViemClient'; -import { CurrencyConfig } from '@webb-tools/dapp-config/currencies/currency-config.interface'; -import { ensureHex } from '@webb-tools/dapp-config'; -import { FungibleTokenWrapper__factory } from '@webb-tools/contracts'; -import { ZERO_BIG_INT } from '@webb-tools/dapp-config'; -import numberToString from '@webb-tools/webb-ui-components/utils/numberToString'; -import { GasStationFill } from '@webb-tools/icons'; -import { Typography } from '@webb-tools/webb-ui-components'; -import type { - FeeDetailsProps, - FeeItem, -} from '@webb-tools/webb-ui-components/components/FeeDetails/types'; - -import { getEstimatedGasFeesByChain } from '../../../../../utils'; -import { AMOUNT_KEY, SOURCE_CHAIN_KEY } from '../../../../../constants'; - -export default function useWrapFeeDetailsProps({ - balance, - fungibleCfg, - wrappableCfg, -}: { - balance?: number; - fungibleCfg?: CurrencyConfig; - wrappableCfg?: CurrencyConfig; -}) { - const [gasFees, setGasFees] = useState(); - const [isLoadingGasFees, setIsLoadingGasFees] = useState(false); - const [wrappingFees, setWrappingFees] = useState(); - const [isLoadingWrappingFees, setIsLoadingWrappingFees] = useState(false); - const [wrappingFeesPercentage, setWrappingFeesPercentage] = useState< - number | undefined - >(); - - const { apiConfig } = useWebContext(); - - const [query] = useQueryParams({ - [AMOUNT_KEY]: StringParam, - [SOURCE_CHAIN_KEY]: NumberParam, - }); - - const { [AMOUNT_KEY]: amount, [SOURCE_CHAIN_KEY]: srcTypedId } = query; - - const srcChainCfg = useMemo(() => { - if (typeof srcTypedId !== 'number') { - return; - } - - return apiConfig.chains[srcTypedId]; - }, [apiConfig.chains, srcTypedId]); - - const isValidAmount = useMemo(() => { - if (typeof amount !== 'string' || amount.length === 0) { - return false; - } - - const amountBI = BigInt(amount); - - // If balance is not a number, but amount is entered and > 0, - // it means user not connected to wallet but entered amount - // so we allow it - if (typeof balance !== 'number' && amountBI > 0) { - return true; - } - - if (!balance || amountBI <= 0) { - return false; - } - - const parsedBalance = parseEther(numberToString(balance)); - - return amountBI !== ZERO_BIG_INT && amountBI <= parsedBalance; - }, [amount, balance]); - - const client = useMemo( - () => (srcTypedId ? getViemClient(srcTypedId) : undefined), - [srcTypedId], - ); - - const gasFeeDetailProps = useMemo(() => { - return { - name: 'Gas', - Icon: , - info: 'Fees required to execute the wrapping transaction.', - value: gasFees, - isLoading: isLoadingGasFees, - tokenSymbol: srcChainCfg?.nativeCurrency.symbol, - }; - }, [gasFees, isLoadingGasFees, srcChainCfg]); - - const wrappingFeeDetailProps = useMemo( - () => { - return { - name: - wrappingFeesPercentage !== undefined - ? `Wrapping Fee (${wrappingFeesPercentage}%)` - : 'Wrapping Fee', - info: 'Fees required to wrap the token.', - value: wrappingFees, - isLoading: isLoadingWrappingFees, - tokenSymbol: wrappableCfg?.symbol, - }; - }, - // prettier-ignore - [wrappingFeesPercentage, wrappingFees, isLoadingWrappingFees, wrappableCfg], - ); - - const totalFeeCmp = useMemo(() => { - if (gasFees === undefined && wrappingFees === undefined) return undefined; - if ( - typeof gasFeeDetailProps.tokenSymbol === 'string' && - typeof wrappingFeeDetailProps.tokenSymbol === 'string' && - gasFeeDetailProps.tokenSymbol === wrappingFeeDetailProps.tokenSymbol - ) { - return ( - - {numberToString((gasFees ?? 0) + (wrappingFees ?? 0)).slice(0, 10)}{' '} - {gasFeeDetailProps.tokenSymbol} - - ); - } - return ( - - {typeof gasFees === 'number' && - typeof gasFeeDetailProps.tokenSymbol === 'string' - ? `${numberToString(gasFees).slice(0, 10)} ${ - gasFeeDetailProps.tokenSymbol - }` - : '--'}{' '} - +{' '} - {typeof wrappingFees === 'number' && - typeof wrappingFeeDetailProps.tokenSymbol === 'string' - ? `${numberToString(wrappingFees).slice(0, 10)} ${ - wrappingFeeDetailProps.tokenSymbol - }` - : '--'} - - ); - }, [gasFees, wrappingFees, gasFeeDetailProps, wrappingFeeDetailProps]); - - useEffect( - () => { - const updateWrappingFees = async () => { - if ( - !client || - !isValidAmount || - !srcTypedId || - !fungibleCfg || - typeof amount !== 'string' || - amount.length === 0 - ) - return; - const fungibleContractAddr = fungibleCfg.addresses.get(srcTypedId); - - if (!fungibleContractAddr) return; - - const fungibleContractHex = ensureHex(fungibleContractAddr); - - try { - setIsLoadingWrappingFees(true); - - const wrappingFeesPromise = client.readContract({ - address: fungibleContractHex, - abi: FungibleTokenWrapper__factory.abi, - functionName: 'getFeeFromAmount', - args: [BigInt(amount)], - }); - const wrappingFeesPercentagePromise = client.readContract({ - address: fungibleContractHex, - abi: FungibleTokenWrapper__factory.abi, - functionName: 'feePercentage', - }); - - const [wrappingFees, wrappingFeesPercentage] = await Promise.all([ - wrappingFeesPromise, - wrappingFeesPercentagePromise, - ]); - - setWrappingFees(parseFloat(formatEther(wrappingFees))); - setWrappingFeesPercentage(wrappingFeesPercentage); - } catch { - notificationApi.addToQueue({ - variant: 'error', - message: 'Failed to get wrapping fees', - }); - } finally { - setIsLoadingWrappingFees(false); - } - }; - - updateWrappingFees(); - }, - // prettier-ignore - [client, isValidAmount, srcTypedId, fungibleCfg, amount, srcChainCfg], - ); - - useEffect(() => { - const updateGasFees = async () => { - if (!srcTypedId || BigInt(amount ?? 0) === ZERO_BIG_INT) return; - try { - setIsLoadingGasFees(true); - const estimatedGasFees = await getEstimatedGasFeesByChain(srcTypedId); - setGasFees(parseFloat(formatEther(estimatedGasFees))); - } catch { - notificationApi.addToQueue({ - variant: 'error', - message: 'Failed to estimate gas fees', - }); - } finally { - setIsLoadingGasFees(false); - } - }; - - updateGasFees(); - }, [srcTypedId, amount]); - - useEffect(() => { - if (!isValidAmount) { - setGasFees(undefined); - setWrappingFees(undefined); - return; - } - }, [isValidAmount]); - - return { - items: [gasFeeDetailProps, wrappingFeeDetailProps], - isTotalLoading: isLoadingGasFees || isLoadingWrappingFees, - totalFeeCmp, - } satisfies FeeDetailsProps; -} diff --git a/apps/bridge-dapp/src/public/favicon.png b/apps/bridge-dapp/src/public/favicon.png deleted file mode 100644 index 7883f106472a140759b8b90fc314c35a5ead731a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16585 zcmbWfRajfk7cLyE1SlnxVl5Edo#NKu#ogWAp*S=I=nrji*Wy;(Em(01#l2W@*C1c| zKi~DaI2U=6%$~{YWY3zlUfKCiRaq7n`zLOx-+ z%ISFk03Cz>9w^7eLa4|_6c2S-2|(32*&gx@x(!4L0sz#+;XIgO001A1KT1I~eNc{8 zR9rLXe0LGM?JHkDL?veEG?v$@Ukr~kE`aovx8)rVX?Kgz*^evFbkK#x zI83ZyFALOXGQZauA2kA1jOvbJEBO~$Gr977vk(qwkk@h~rb>8Cm4^`V7+(sJ`V3fj zUiDD^6fCaw=ELh+t(XCX@Px+`>Bpa0I)%>CZ_8>E{}ZW}NxptAW3MSWl%sEP16K|^ zSy&2>SRzIzEDb^|{%Uu4n-HZaS|=+?Pqf~68a;4W*dMz%yiQucukn2@SS8BXw)aB( zKF1_Sp+D@Ijk*%OF`OuCwWReo?r+V(xbZNh7MsI4eyncYd=hrw6l>CUDQ{RR-l~h$ z8~;QLqQPIWlT#v!$_?zrSdK(g|M%efR{l81Yx%>*0RLKoQqOW*(^bCz5Jb#8o_RctWx6fZNbj-Wh#?|?h02cb(2{>fl+m&?{o@FsK;!`H$u z^u~5Td@aVm^JGY$6m2?}>ae$oVaolv*yZP;J;6ZTM8pZhOg|3u&L37$*VsQ`iK?tl z8Iny#u>d74_K`ze3GhY{%~HavO-d@m`Ye^7+xh2NVA$Eq^x{*|XwHG&9i{-h3`>#} z3V7AMlkPX%Z}SPKYFo#1i#Ys+Y^i<-kIr{OIVam3By~m$(-)(p6UFA(MecuUNwSLb z_woC4fA1$H>;|>4TQIW0cI)p&(}(YIo*7fnHU5hj|Fzs(a5XvtuE5%Pf%c2Wi`mF7 zR)~>}4)(b0qGLJTU@?LHYU}t)w@6gf=;0dMAc>7aNcO_1W#ZbKBkNUjA(~sjLliMb zTTW>5I({efacRfpAg2k;`lM({!c#v+ZM#uSUc}YO7eM zv$K^Rl_&oQAHVBh_Nh>7l_bF35ME2BTk=2=dAAfhY-U+(V|f=Rct~T1_p}t{a+%oj z0KxC8D+R9aPm|w}7nKXGIpcD6{4J&B&*-?kcN`fYcP<=dm(cS0?J^=7O z7Vel-KT0Zm1+78pLu5C1#~vSAa%71WMUkC?j+ZC$@Xi}7B7T@)C;{TWlQh36|M?9@ zEfOhc8of{X<)oEap0nZj`9WosDr9gobpF#!_NCXR4xAx!Y|*QSao<~Q6<=!Cz(q_% z7se|F?o-iHaRe5rtM$~7yHNYt&z?Nrh#UDW&qWi$yL`2@7cfN{XV%&W97vW1llr|H zsgzi@8+|o;g6_bZ`+~w&(*S1PKz-Xa>2*ms$%};TN&V_!grEK) zctDLGI{wIj0L=QOeGEF$OmERxc$K5xV( zc8@IX4V*dJc_g>~CX`vfus%;ghl?}{k6;(G09wl%Sz0X_{%XUd#a?OmbiWMra3If1 z_6jeXGoW~*Bm!@$+w^^AK~ZP;D>EJSYHWE)Ua}W>+1=b8kgv2a3N~(0_BL8J@+4AQ z*3SuNI9Uo6b}2+~Ap&IzgKUZrk(V;P!Xo@4nm_{@)*rxb_F9)_$BHknI5y34$X*nv zy{A~^7cmsp4@*`j5vh>h;-I&Y_Vg*U4%=iU=6X zk52yjPr_kl|4%$676L6loU(ni{pqea^hr3`MO(H0X~cqi+w@+y;=EH?s_5;U^Q zw)a_5H%S%vku5a)H7~kas=T-ISM-9UaLV-1s>yCD$7oeibW83HGc8ncFzXlDByUgZ zzrcR0idPiyPuh`eJYEn1X5O7Jh6&4X(3fZha`m1G3B{tRu4><0(D5<$S_RNAd@gV* z5dke&DnC7qs}u(hA$zon1K%>jc*@opqup%>zqi;WwNjQvM+AG~)T$CoS!qV-r)m-R zsS+zDf7``SD?RUwRVsvkVC2@p!fO(GyTO#i2^cM*Vm4DIjw~?WDn|vR>S@9O04WI| z8UTbv^%C%b7RCtxd;|TzHBxeJXCMBoH@~Bxg@RsyG_|>w6UdEZfDFiYA%Y2|R4@Vv z5Dh4=wGS;xWcq9gf@5iHn1wA^_?XDryj%;_L^jaCxS}*|!(?o>d?Bxa8;PXI4y4~3 zFbz0nG4Rvq{?}Ie`}jT3d^EcQn+i0tQt21tWWGlU)3_njpGp;#Ndm=wXO3#W#zIbK zQ+bLOnr6W*$nXVj=}Dz70c2240u8WI1M`P2y&&AcjXo=xacoYHdhZir4nB0Q_vk~E zFoI&4WZlfLG)t_|$zvz3(~r1RnL=JD?Q#ll>ljA1a3QKi)aB6cAhRs^jXBO z$@o_zBt(6M;h=0(ncJQ;k|aEgy<9r-(Z`&w=3%CQJ=ck=vTu$LD(UEx63v9DO@+@ep!$*E}i#_j8SR0q` zb#t|{^RcaS6Ucb2PeD~Br|a?|8IsMcBqMv<%Xo|)5cQWQM^ma8#ieuplV@N|>yjlYIKe%)MNv4)*+N?zP9KOIgr&7S|#egkVJh%@>tI>ooCq8TuX6a&i08M0PO~O?iPfkgpVTkzzFukf770&yu$W z{6;_?j?73cZTYytc?z~Ysg{VT7fyR;w|wu5E$H@DQ8<@tlF|$bXg?=SZ3?zLuyhUN z(a60*_LvM;P7!DQyTt;o2S3&2Nz9k2iqgWX6Q9N$Sf}1b_~Xu@+qpaKVLl&8LoMYV zXC`;ZA@Q2vz#S6OsjhZrgW)q9JI>mK(soTps$RL{=Rf^y8;_Zcbu?*uVs|#r30b6Q zrzno){TD6la!NZOF8jCgCA2Ih= zyk&Gf-UJ4ihu07LP~l9=e2dRtW2%9PlPdK@Tb#Pyzo*< zyHa98H%Z&2m|TJJseL*~Z7R)iHT0?Z-ZO&8b8$KMDbl~F9+@y{B7W%j>gyXGekDnw z^M`Bop`Xb;Ja8f+re||#_)aD^D-~{d}W&Qbd6}UiXzwrLI`%zZWnaKbjdFdBE%{-8N2+n z-m;H1p_dM=+*qacipY2%JrlV`d-}hoPmJ+6DPd>)T2wi;pyeya7w!; z(cQ=_>*wtAZ%>ay)L#gSYO@2G9c+X~H{zhzmzsNW{B54@zOCa~>@NZc?c8vtJWr2y z6IN6VtOdb$X+me9>!8Q<3KEug$H7@)kUg_(pO+%E#mcg6wchr=^~`jM`RA4MQSH@5 zGJ_neWDWO$x=d7ucfN8lY_!rCevHqN?^lFyrDhbEka?j(Q@FnFvu=%+}`cpGY^e zl5GRoN9Ikc&;IBqsJe= zg2YZUbfPR~0}cw=<e@4OGz%B(>nY0`jqGx%h|cok=A4<>>rtmMPlV;CPr|?J zr6)mRA4pWf8gVuqY@FQe?p+J-Dx}8fp+B^dDabB+> z*s0nBU-2&?w~K6GHjx+v`)=+*Xklhsg}LrfdyAF0@j1J)pw&TZpt(nGO$zN z{4N=;85s$`teI*;vzjdhKHOq`aX_v)fSPeFzfo%;pLyU{NzmXoESc-d3~6AF8(y&k z)HT}hlHc>_6Rj$Du;Zr9%1X-edc=+3t6xh=Rh?3RxLA1~iO3J9DVnYk?zZ(MX!)Ws zXtTJ(%2(bTQ$ZAXR3eb&JTj%#k*x=?2S5&V6a4h2%-`J+xHJ1Syqj$52y?~y7nU9o z?mku2&MlEXN~*1h=SP(kL#F!vevFF;0Cr+3vY$vesRWW;ht7|U@o<28|b&v`kKA?mnzfxgo%;%0)g7w>6F+K0{EJ}zg*+Bhwf)M@$NM50(**$ zpK@uwKtamrGp_HwcEZtqCMFEO?)QWk!dxXv!Z%gRHm0sv*z~8E%5-}HOwHiUMk+6vT}mDag4_bk-w37zmPfk~>eG@<8tU1NTbL#N6t$*yH&c~PL*(_^U#?=RL=nRN)k%Qe^_l)@>gQU1h&!{v+3%Th453gLp4>kh~aH(F>}~ z7iH_fR2*f4>L&kR5s{`JoGF@FM#2%$Vr=9#Qw|LT%wa%EhY5F}(>oJM>=I#=6kmQB zC-|=KNdjd(cW0;r44{+ek@!2KMIUOMm`29yR1dJCjs13#f_Hu-Fi8Przf-@1lFXJs zi)Cw6S$Ia!&wf38%VF(HH-@>=cH)j@^=#bnUE=V!G}tVH`eZLq0`{%Cn%+(i1ECjA zwg+NBiIF-Z-~WU|i|0Zsi4Pi)m`4cPM1oi4iIl-yNtk(~`x?zh0hBx(>tDw~&^+uxGuCYek#7W@WiVTZ{K2ZKJDTAz5vg3r9>b;Bfs&iar4lD z*obv-_Wa>(U9KLAXa;Zt09>~Pt_!;VE8s^Dv&7~~J;NjgtVyU0xlsk)qWZkLD{Iza zn>BiG8F|-Y!ZKxf{OKAWPDdS5KozpP{12DgE7lNqv1{~K2h6e@J|f9gSFGdr->r$a z$#3?`C>b5LrkYka<>W7wR7h@mZ;%yW77ob{4wZ;m5ZG16l7~Q$1;{kPEf~CGQ_I#( z<=ok9_8T`crk%=ePq#rQdwY4eMH;9wS#6R)Xt5HI_${51g23T5v1!)rh1m`Ksky zf7W^s@6F6`<*-KU$J0M%u+!AYeVwSgwN^@!G84sgyzP!iBkpuIt2DuK^8@NML?N1Y z<7jNjF^NUvN*5wetFGe*CAkD~oFp*r=h!3P^3Sx4uW*(|=YWGEPjui`&$Fvm-I%@o zQ3~pU<$^L@o$$Zc#3e>GjdpHR5U;Y{nf1ySA`N;Bs+Nj~@OVN#T4 z`3CNcSbP3{7xR7YKM-8<9H-ik`bjn9H<8aMpZ-MmXj`*e@pVn6{!kz5e_XrEV78&u zdZ5jMw^8JhXiY}&+=HJia%;o;GR*&K+N94tMmXg2!dB=_LWOrv2_Nn9h1Yah$6569 zlA%lXe~UeoFmS>AiNA#QO6JJ{%;iJX{#8%844<7aTHT)iyDkGR`Zmg6Ih92#)5i_E zgxpjCa&BwYOhg9w?Np*~+GmUwc2-SHugNq!s(1r_$+;T{dgzc>KYqV!XheTMM`h^9 zrk_Yh+^Uc^tha=>(wb|??y9u2daCVAO0$&aAXqm{nrif4#EBWC*T-6-S(kGg{#)xu z!=E27AJ6$0MgQj9fM*_Ctl4cV5&d~@6TW6VnusRF8J18~nR-0q>1-TpMk5{whDzN( z-<_?*tW{dmU+n&!vufRv5jW~wd?+xKf1gBkNc>T)L*`o>WHct6um3T%Rh*@V`J5s**Eps znA<{u9oD2#P4TZbCYmrxS@GL9-Yh|ZtGQJ!woYzta~*?iUM%`4a@<@k&&_TA?udZt z(~d#a$QBcgCC+>n?$F<dPY$#5^ z+L-8_Gl71Xd8aQ-pl1>0-V$)S80jn7S4CzlAix&QMSir`phzTy&i(3Ew9ENJ3zy{4 zE<@UUekHBMEq`@u*}uWJFSeJ)MTt8#JGYq@M;T7qdJ2s*XV*oOhZgm!Yh_3#_{E=D z$}W5|9gTk--+^O%`MiFEu9qSW-#Ld$a-m*eT3Aj!?D)f_|InrF{Zm=84P1=d{1-U7 za#U<{B zm+elTD_W+7>1;D;3){4Q+hX1Y){fR2Bf6B8JXtWOPE+1>IcX|dDY(wdMKwUfTz>^M zYMSNU_3K#cj86x#PmDbWJWHssogB%g9*t^GAmtSDi#l98%R4Myj!J$NyodHN+K{z& z<`k^;(}zl_XM~at3PE?F@5yu5r!;_AEc=3^%Sh86hQNe0kPIcVHxem zR@5O8$u{0*X|tD}i(OcDCD<=cocY82=lJU2-KT|k0jmd* z(i7GpjiLimhZ-JdZib{8#;|wu1-}GFUudXq`9f$w^<}!Ihn!-aptG zPJnC1Qrpj!h)>ee2O-p@JJ3FuO4~s7Z7^x*5G;&|U@PwW673zNRyUegkWfSPx*<~zh$sg}`G?@^8{Z|~ z-PGPKeYKTL>Be=`Wy_*3TmLvc;5KtQPZdzCR-Z%4C7p{*=OV79k^Q>bIv7?Z;ti=> zJ}Mxs(=Box+&FT$w;DT;rif&58PiaV#UHn9{k2s^yHbn^K3n^)LT*fytY^>wwprI( z{rT88VTb`YNhQE2MoQHao_NO`h_+X*k(sfd!5qBzfRw02Q3aBDwIx$dz)#a)?GosS zPATW)N9mg4nV$zx_1nPSh-b$w5c@THofXZCV18EvRiT?FWBkPN>O||$+Hd`8Cqap& z-aemae^MzDl8y0}t#iI4gm9{`X_K7NQu2_7X$>*Q2kv!l zmeFSGq(6JnvhyU7(vw`YAwIg>}>Mw7bI)U@l&1txWIL- zB$o0^@ioytbbUU7JT3{N6=XKEy8KtA>m?yP84wHi0t?mW_YV2V6Ox79l~KNy1Y%kj z>a_1jhH+N@75M!V7s9y`4T|ltEMorxN5a$8*5_SSstV?S0_vZdjTk+a$#|bxuF? zeRf+1X^-SrkW>sip@hU&xckbyk-5*>?qS)e$XNuk77*g*ibTQRThR7~aYohtDIsa3 zN9lg~Rs?nukO7F@A&?*eSkHW*TDBUIAq%qdl=Vgj$WK?|-5 zgCQ}x%}cF+($b$hu}e02;9yw*EkKo;C46r{ARK6>JRF&CzEuVI@LwXEe9hJq7%l9F zdlNHYl$Hkh#lyYd14f%#DMe=fyq7{wxs%EjJ`JLoG+X>7GtW#AN_eLV$dzJ$DG<$s z%F@`J86l7Cli1bX^MjKmGC`f38Rh};IV5PkO`_#04z#latElx58*6yRSW%wn8>fZ_k8`C4&-$OqZ6X_I|-;d0fo6JM0<{oq#l8;jlpcySBuJFeat7wtl3tvpifZ(x>ed5ul?js*oLnEwr6L=)pDgR(}^vIb|6DVYij$fy4*o}7g|!gN|EIHvJ8wZ z4JA?ZpTYwP4ffZ>1+MNMuThve)Gs}hF3)G?w=7t4zu!C?s9;YETkI zVuB6!OWoI1d|K4%+E+zHJt0EgK!1*QhJ*UTh)olYxo~H!_-%tJXJ~|dvt`<)5VYnF zz*p3|oz2Dzk&_1CwSo?Q{0I9XYv9M|d*(;wtIbmu$z56>)vLxyges6;gF2s~3q&-Q zS)-3o{{Bg~I62*OVr2DM+n4+3S0u%>iSt7v1R%@h4e%$xF`LM_wbZk{q;<%Q<~8yY zU7aq>#im%gsb1+&e4;x&el&;!e=N0B|iwR}0OLzqQ< zTE)sCo8?a^Ky2D<`<6AAO_XnOl7_L&h1>Lb z93#559po6QkepF)v)VUD=@{S8Q{1x6qGaa)>00jvr`=6- zJhPMWa`lt{>aFcKY8*@)(^U$G9!>(NzJPn1bHcI>^D!P7P0m(R5){x~-jM5Dt-iji z2yD2MZIL3PgW)~wXz3*d`M0u9%UcbC=Z2VcFGeQtIS#E4=r^BcBeu-_cJ*L0yE^;^ zdb-F&G>h?}7k4okxOz_LWF6e{bw7f6@h(zRsD^oUQwrD2CB59d>$dE?w7w*0<1wY{ z`ENeg4tbi#Q^k>r_;I#)&V27NqZnD6dgVJVuV+MP+~#n!NVR#u&)L8fSa;SJ!^jbr z-@%s?YjKfmQh08V1CGH3wVFGg+ONe#&9eVdz%h%MqN6HhosUx#NL*80RF*3IRzzRz zxVW@Ch?i$PKZ-y1>LeH@-n!z<$GjQGkF{H@Hf}N+UcH`ip!Z*5s*f3oR|JCPM533p zx8CAZpVB^G6$k6`rWt0Zw3wIs6(YJD)hmLcq*aRC(}-NB+`EJpIue9*GE7c>l6_={ z;k_}d__OGL-r5)NwMEdxVN2diXVy;GLYIepAZQ~gNhz4z%$~utW`-fq#1W@9@R@hrt% zL+ve(;q-w`a0(LcJU)QgBXV35ets#TWRYM{=9kOYyAhAPbN&6LPz2SRt zAFrD;->bQ?G+Ei6qOR6)ld{vi+x4;Kt!IY#39pQn2Hlfj^-2ZJ6+=rmS$$!TtB%vW zj!_M`zBqb1G2Pd6eJzPzlC|Th$`3hn3*>0wG)(( z*f#5tFnf`J>|f$lOEqig-Lv#{At4HHYj`!i-rJ+c@V?yP)7p$SXw>AE0tr0-Lqa3x{?x-(O5PSNk0%DDacnRV zmB`pbX7%ETxgH_&Bj43qkAb@KX7nDBM=_7?A-9VzYr#v=_BtpiTf0)<$j_VQ7vVUU z8sP+`HiSX`s_~m+7=XfvK2HMa^SOv0>;^4KC>*;PrkHL7`X2oL4aUd%cH;ctJVSD9udH~?VygWiu9`ZPLM%ku z019Dk9ZG(tj4AeLxms}Q(L8suwIF&>OMEFb-9vVYu7;(8gX;6X(_ww-CRM&ZZ+fch z?h7EBmdIKO4b>;0Y~)-rwkwk!5mj>xjL$1ena31CnvF{R5x<#HL{J6{ZE9vc7pkG( zfZLR@>Z(}974zX+IuIT(A61JcGsoDHlG5}SB+Ggir}Nyz1O2bywX$9fUMe7)va9L7 zmeN$Y1m+nuX&0!D}5pP!};6kRNxpvV%o;ukQnI}bfdq&A}e zw>K;c@st=@T@FDVG>qiPBRf#Z@)~s^wo%OD&&&cyww%s!1jxa2_)huDTVG?4fifZ4 zE2_-Md}<35S65~Q)=7DJBM>1=K2q4y_-3^n_)b=-)o6!`;76-l(?EX3Em2`D6EGa4 z9G*=m1qU!I7i7_E!ssev2sRj~%G6^%j! zlRsJ+fXJva(dl3)ef1XwJ9ZKRsK^oWbY$d7oICGO$gq%8(3lVczDQp+BE>Fbjh-2~ z1!V-90a87*S&#n8{qL1l>CXS(rjt?Z0eORTn~n0bJAV0sG>F~F0A;2AuST?s7#vG# zY8Z-XCq5h>9}eK$U0rTAAeKU!%DOX0O2P}MkjKW4KDvAaVIa@7m+?Jc!2}LxF*g^I z{D!$=YaT$GD>8{pozq(X>2ZzPV>&&W@ETG{y68Krt%`qbtsSkDVy*b8E?(MlgAm~0 z?ASi^&F}9Gy2Pf+SKsGA=(51U1m}8_L^McCKhpFa zVdF>hL-DYY5~cNiXP^sN;nTnhILo1lGkuFu&~@*^)=Fw&=-=P0-27xA_^@qa%PYT6 z=%q{FV#)#5h`W7*@on12@}IXuS(}EGzE=H!f9;zRoa*U)A+Ph zJPX3eLYMSS6&+bPmM)jwR4XVHk@d;WFz&+yzgFjrtFE?am~`1Fug zFOEnEYTM$2Uxd8?UF&&A%-S>|GYS=%L=8z)V2_4EA(e~x2pS`2*+xBy1-nQ5>{g9* zspBKx`=sBOOW%f96{Z%)FnWF%F$uQ(Qc0=iduAk7L{D-}vz45PPxs7eMZ$soRXT|L zzCBTOovMR7aD)5mkjUvTsrf(NNpFKQ=fLr+>^yZ+m$)?_=>?3$5pU@%gEpAQDF`X_C^?=vr zi{i$jD{rEs<$b1r>qr*B>n=Fktk9Mc88#P+Y!|&ldDIldNvE{<-51t_V+f9s=Nm4} zWz6%PffECJ-NRIhIw#K?k@BJlS)d9wibyr^PdD(7Wlf+RdVK-IXF#?MZ>gohIe&3; zD$UpOv0Z(cq)?G54V{ZiL}mpqQjT}Kedm3j!d-#=H7&W~@v|!s7Aas=bhJ3_pxLh? z1B@F6_w|UGij=V>4b#~j9RlTVkTYvn4y~Hac*eVzdmk~3RX1P^Qp04=_$Q1(Y>N{Q z>zj-%n%BvKf4EEfYa)3G}gu@sFM-XjBHXe=}gdUTtKTODnHi#WT0)V+G#kG3Wi4$fd9gbY(4|Y zsg_u>n2+k+EQM2Qv46cvekbCkJp6ccwUd^%YWD%?AJmhyh+{tE!fi87yg{SUU)$|-@H~NpP3F;OFFVXmvf8j?zckXk)EXG8;cheqR~9_}%r(2Q;`*p6&2w zM{X;ZUV$^UyC$3F5B^ofp47!Aue3AKUxfozn=2Z>oW8K4s3B#CEktER z?vQ@6dJ(*H!62Wko3vJ0F*M=E7Rmd>-7w z(?rFuJi2=Q5TtWnOhl!ps|utLLm{XDQQZ+zYxzw%ZfWQu?!SQX!-TS1k~4cL{w|Eu zgQ$BI&v3@1w0(>DkKtGLa<-ca)ATYaos5ZwXlAsmbSu=gTf}9)`u^F=ZO#0R!o~9?Qh;ds>1=#G6&0J|Bh)DHTgN%x`Ux zNAj*hxmP-K$FF#ANs-Hh=sgMSPK`AyA<3c?UK&$W00dI6( zaZzzaSx_pUp}~EPgAWB5-hbr=H?B*)zvzxOAKciTtR(j%5Jjy?B82Qkd;7*ptuIX> zGd{)AM=>$jqsWg*=166$7`{vNTa9#Eh2oD%3IeFj|0lOcE;5+MRffmmnKcmGO3F3~ zdfcE4ZY@o*s(w^M`k2gAaR)cbHgE>DdSxSA-5$W7P-S%%EaKK^2@TqiB1%zovL^s( z!Xh)k1(U;9j1@oz8GN2t5B7FMc7=m~51^Dt(-r67a^RCK5W$?X3h z`%xo~>(Z;Ablf;h~msZft4ZGVqdFKswhq!_j zPA&q^@R|zjqz8*6{2AZ(I>ZVNFz+#Pb19ev9ACvnTf`YV&dAGxh}i5#xmb{nE#PI| zmChq*T!5Rs)m-cHRk@dBx%Q*vmpO8eQtFov7M#=ym=|!wk*z4pm(k_dFrA9{olDA5 z262vxml6fHiuXA92&zMlSsBAwZ}e}eOQ@sOhM?u_%ShjiXqLX$zg(iIUsxHx^iWKK z*rH=b)p5s0D!^YM6&S5l;@$`D`hrbPJvV_E95cS3vV)nHhLu@{A%cbV1vGo$*rXP1 zDI-wIMg*nUtE27!bv5PSokj`-*+MFnuhRz8> z1*xw*(|BNYf7JW+>lJE<@74_#0X&4{g+!{xj3G#g{)4fCrH3Rg&LGn~>4EO@OD4UKTdBJtbx29YSF}8>!gxen znkFkpkRtLP9qMx6C;N!&f}Ook?@I}G#o<8<($A=0MqD(^!#q{9LRD(b)j%o3gBmNF z4Va)T{8sm#zr;BCH!7pt712>WP5B0GEr1V}W!Fd@EPH+|bOJ%;*maABZn>Qd_<&kA zbpV9kw(ZObW9HmQ-bUO!f;qt;vQRLeUPA%47@%k|Sb zCSWR8{#D{A8FObR(5&1EB5>coF94AHoF}Z)DqTuO0I&bvtKLB`7vXNM>KU$W>!=ge zB0r6v*jGQ7QQVbSXVR&nJ4Oh(vz0EEB@K}&4xiq9-Oaprep!!@JG z*X-R!-jG5bQQT+#y|-g=4=E2+Y?hgF2%oDUW;n$`2{MG4e9Ey=gYKTr_9fvAJM+x* z!a}ep`_!Z<0;JolGe|fwLix?h5cSRSjY#IO-c-Lu2eIRmI*aFl>O?+zVnvz8CRRCv zXBnK3giK-IRaLzsRZ)&w8O7Aua&4aS{6uOZlaJWo%2wLeBA1 z_7|Q{->XNmFENhuJikRu{q(k#RH32}plaBAU3h{d-`S^^lt4iU?pq?I1jd>04>0O~d7fbAtGW7mt5>kX{$I%3X}mi;M1x@NDA> zY~0VxK9O%KwXCuxH*X=4YIOm(@!^A{tgsIAt9&bH5U4Y2NaWO$rOd1h65RMjUSJKaRo&+uKL){LWeb-ZvxG?#|u7 z1?c-V;2%hfplKUxWt`x#YwRs$BN9`kE-?RGu3KwbwSv=w;n~4*UjCJ7Ws#5jHV3=G zE$+D7E?GGncUqHA%bu;$9tUGcmr~i#1AL`bk!NN}=CHq9r8(YJa~p=7O_`5&gs-UG z{8UG%YAE=@=ewwBs@oyRC-Hy z_oBzmxTu(XI!U2Rv+2BVSp04P>n&oBUa4C%fpd)AO;vbY@5 zms`lQ;j6GLX9{=rZvdff|oO3y@O*0Way9Dt6$iS-kGcKF#H>}l{b8wDV5D5 zW-H9mdWx%dM?u5@!@KQg>sXCM9D3b2NK0Jwl<$OV*7D)uD;nYtIOmp5ebs|c;L_U$ zqv%Y&yv^Tl$gpB-eyh0*600crT1Pl^>Bxk~Zqe93%%*eZJfe}LL_rCJPmtdD#XNqv zz8K(5<9k&8#df0?;fz1*>bB{8M6kz;G$OQOFN96^&Fa3%W2rrY&UHjMF?gSfu~s5K z_G&cVv#!-{;^H5{>qLGX5O9ZYSM9hhNLlfr00I`CQL#R1ShMZaT_gW_0Ps;-S*l9H6#D-G D(ybpE diff --git a/apps/bridge-dapp/src/public/index.html b/apps/bridge-dapp/src/public/index.html deleted file mode 100644 index fabea8431b..0000000000 --- a/apps/bridge-dapp/src/public/index.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - Webb Network - - - - - -
-
- - diff --git a/apps/bridge-dapp/src/public/logo.png b/apps/bridge-dapp/src/public/logo.png deleted file mode 100644 index 7883f106472a140759b8b90fc314c35a5ead731a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16585 zcmbWfRajfk7cLyE1SlnxVl5Edo#NKu#ogWAp*S=I=nrji*Wy;(Em(01#l2W@*C1c| zKi~DaI2U=6%$~{YWY3zlUfKCiRaq7n`zLOx-+ z%ISFk03Cz>9w^7eLa4|_6c2S-2|(32*&gx@x(!4L0sz#+;XIgO001A1KT1I~eNc{8 zR9rLXe0LGM?JHkDL?veEG?v$@Ukr~kE`aovx8)rVX?Kgz*^evFbkK#x zI83ZyFALOXGQZauA2kA1jOvbJEBO~$Gr977vk(qwkk@h~rb>8Cm4^`V7+(sJ`V3fj zUiDD^6fCaw=ELh+t(XCX@Px+`>Bpa0I)%>CZ_8>E{}ZW}NxptAW3MSWl%sEP16K|^ zSy&2>SRzIzEDb^|{%Uu4n-HZaS|=+?Pqf~68a;4W*dMz%yiQucukn2@SS8BXw)aB( zKF1_Sp+D@Ijk*%OF`OuCwWReo?r+V(xbZNh7MsI4eyncYd=hrw6l>CUDQ{RR-l~h$ z8~;QLqQPIWlT#v!$_?zrSdK(g|M%efR{l81Yx%>*0RLKoQqOW*(^bCz5Jb#8o_RctWx6fZNbj-Wh#?|?h02cb(2{>fl+m&?{o@FsK;!`H$u z^u~5Td@aVm^JGY$6m2?}>ae$oVaolv*yZP;J;6ZTM8pZhOg|3u&L37$*VsQ`iK?tl z8Iny#u>d74_K`ze3GhY{%~HavO-d@m`Ye^7+xh2NVA$Eq^x{*|XwHG&9i{-h3`>#} z3V7AMlkPX%Z}SPKYFo#1i#Ys+Y^i<-kIr{OIVam3By~m$(-)(p6UFA(MecuUNwSLb z_woC4fA1$H>;|>4TQIW0cI)p&(}(YIo*7fnHU5hj|Fzs(a5XvtuE5%Pf%c2Wi`mF7 zR)~>}4)(b0qGLJTU@?LHYU}t)w@6gf=;0dMAc>7aNcO_1W#ZbKBkNUjA(~sjLliMb zTTW>5I({efacRfpAg2k;`lM({!c#v+ZM#uSUc}YO7eM zv$K^Rl_&oQAHVBh_Nh>7l_bF35ME2BTk=2=dAAfhY-U+(V|f=Rct~T1_p}t{a+%oj z0KxC8D+R9aPm|w}7nKXGIpcD6{4J&B&*-?kcN`fYcP<=dm(cS0?J^=7O z7Vel-KT0Zm1+78pLu5C1#~vSAa%71WMUkC?j+ZC$@Xi}7B7T@)C;{TWlQh36|M?9@ zEfOhc8of{X<)oEap0nZj`9WosDr9gobpF#!_NCXR4xAx!Y|*QSao<~Q6<=!Cz(q_% z7se|F?o-iHaRe5rtM$~7yHNYt&z?Nrh#UDW&qWi$yL`2@7cfN{XV%&W97vW1llr|H zsgzi@8+|o;g6_bZ`+~w&(*S1PKz-Xa>2*ms$%};TN&V_!grEK) zctDLGI{wIj0L=QOeGEF$OmERxc$K5xV( zc8@IX4V*dJc_g>~CX`vfus%;ghl?}{k6;(G09wl%Sz0X_{%XUd#a?OmbiWMra3If1 z_6jeXGoW~*Bm!@$+w^^AK~ZP;D>EJSYHWE)Ua}W>+1=b8kgv2a3N~(0_BL8J@+4AQ z*3SuNI9Uo6b}2+~Ap&IzgKUZrk(V;P!Xo@4nm_{@)*rxb_F9)_$BHknI5y34$X*nv zy{A~^7cmsp4@*`j5vh>h;-I&Y_Vg*U4%=iU=6X zk52yjPr_kl|4%$676L6loU(ni{pqea^hr3`MO(H0X~cqi+w@+y;=EH?s_5;U^Q zw)a_5H%S%vku5a)H7~kas=T-ISM-9UaLV-1s>yCD$7oeibW83HGc8ncFzXlDByUgZ zzrcR0idPiyPuh`eJYEn1X5O7Jh6&4X(3fZha`m1G3B{tRu4><0(D5<$S_RNAd@gV* z5dke&DnC7qs}u(hA$zon1K%>jc*@opqup%>zqi;WwNjQvM+AG~)T$CoS!qV-r)m-R zsS+zDf7``SD?RUwRVsvkVC2@p!fO(GyTO#i2^cM*Vm4DIjw~?WDn|vR>S@9O04WI| z8UTbv^%C%b7RCtxd;|TzHBxeJXCMBoH@~Bxg@RsyG_|>w6UdEZfDFiYA%Y2|R4@Vv z5Dh4=wGS;xWcq9gf@5iHn1wA^_?XDryj%;_L^jaCxS}*|!(?o>d?Bxa8;PXI4y4~3 zFbz0nG4Rvq{?}Ie`}jT3d^EcQn+i0tQt21tWWGlU)3_njpGp;#Ndm=wXO3#W#zIbK zQ+bLOnr6W*$nXVj=}Dz70c2240u8WI1M`P2y&&AcjXo=xacoYHdhZir4nB0Q_vk~E zFoI&4WZlfLG)t_|$zvz3(~r1RnL=JD?Q#ll>ljA1a3QKi)aB6cAhRs^jXBO z$@o_zBt(6M;h=0(ncJQ;k|aEgy<9r-(Z`&w=3%CQJ=ck=vTu$LD(UEx63v9DO@+@ep!$*E}i#_j8SR0q` zb#t|{^RcaS6Ucb2PeD~Br|a?|8IsMcBqMv<%Xo|)5cQWQM^ma8#ieuplV@N|>yjlYIKe%)MNv4)*+N?zP9KOIgr&7S|#egkVJh%@>tI>ooCq8TuX6a&i08M0PO~O?iPfkgpVTkzzFukf770&yu$W z{6;_?j?73cZTYytc?z~Ysg{VT7fyR;w|wu5E$H@DQ8<@tlF|$bXg?=SZ3?zLuyhUN z(a60*_LvM;P7!DQyTt;o2S3&2Nz9k2iqgWX6Q9N$Sf}1b_~Xu@+qpaKVLl&8LoMYV zXC`;ZA@Q2vz#S6OsjhZrgW)q9JI>mK(soTps$RL{=Rf^y8;_Zcbu?*uVs|#r30b6Q zrzno){TD6la!NZOF8jCgCA2Ih= zyk&Gf-UJ4ihu07LP~l9=e2dRtW2%9PlPdK@Tb#Pyzo*< zyHa98H%Z&2m|TJJseL*~Z7R)iHT0?Z-ZO&8b8$KMDbl~F9+@y{B7W%j>gyXGekDnw z^M`Bop`Xb;Ja8f+re||#_)aD^D-~{d}W&Qbd6}UiXzwrLI`%zZWnaKbjdFdBE%{-8N2+n z-m;H1p_dM=+*qacipY2%JrlV`d-}hoPmJ+6DPd>)T2wi;pyeya7w!; z(cQ=_>*wtAZ%>ay)L#gSYO@2G9c+X~H{zhzmzsNW{B54@zOCa~>@NZc?c8vtJWr2y z6IN6VtOdb$X+me9>!8Q<3KEug$H7@)kUg_(pO+%E#mcg6wchr=^~`jM`RA4MQSH@5 zGJ_neWDWO$x=d7ucfN8lY_!rCevHqN?^lFyrDhbEka?j(Q@FnFvu=%+}`cpGY^e zl5GRoN9Ikc&;IBqsJe= zg2YZUbfPR~0}cw=<e@4OGz%B(>nY0`jqGx%h|cok=A4<>>rtmMPlV;CPr|?J zr6)mRA4pWf8gVuqY@FQe?p+J-Dx}8fp+B^dDabB+> z*s0nBU-2&?w~K6GHjx+v`)=+*Xklhsg}LrfdyAF0@j1J)pw&TZpt(nGO$zN z{4N=;85s$`teI*;vzjdhKHOq`aX_v)fSPeFzfo%;pLyU{NzmXoESc-d3~6AF8(y&k z)HT}hlHc>_6Rj$Du;Zr9%1X-edc=+3t6xh=Rh?3RxLA1~iO3J9DVnYk?zZ(MX!)Ws zXtTJ(%2(bTQ$ZAXR3eb&JTj%#k*x=?2S5&V6a4h2%-`J+xHJ1Syqj$52y?~y7nU9o z?mku2&MlEXN~*1h=SP(kL#F!vevFF;0Cr+3vY$vesRWW;ht7|U@o<28|b&v`kKA?mnzfxgo%;%0)g7w>6F+K0{EJ}zg*+Bhwf)M@$NM50(**$ zpK@uwKtamrGp_HwcEZtqCMFEO?)QWk!dxXv!Z%gRHm0sv*z~8E%5-}HOwHiUMk+6vT}mDag4_bk-w37zmPfk~>eG@<8tU1NTbL#N6t$*yH&c~PL*(_^U#?=RL=nRN)k%Qe^_l)@>gQU1h&!{v+3%Th453gLp4>kh~aH(F>}~ z7iH_fR2*f4>L&kR5s{`JoGF@FM#2%$Vr=9#Qw|LT%wa%EhY5F}(>oJM>=I#=6kmQB zC-|=KNdjd(cW0;r44{+ek@!2KMIUOMm`29yR1dJCjs13#f_Hu-Fi8Przf-@1lFXJs zi)Cw6S$Ia!&wf38%VF(HH-@>=cH)j@^=#bnUE=V!G}tVH`eZLq0`{%Cn%+(i1ECjA zwg+NBiIF-Z-~WU|i|0Zsi4Pi)m`4cPM1oi4iIl-yNtk(~`x?zh0hBx(>tDw~&^+uxGuCYek#7W@WiVTZ{K2ZKJDTAz5vg3r9>b;Bfs&iar4lD z*obv-_Wa>(U9KLAXa;Zt09>~Pt_!;VE8s^Dv&7~~J;NjgtVyU0xlsk)qWZkLD{Iza zn>BiG8F|-Y!ZKxf{OKAWPDdS5KozpP{12DgE7lNqv1{~K2h6e@J|f9gSFGdr->r$a z$#3?`C>b5LrkYka<>W7wR7h@mZ;%yW77ob{4wZ;m5ZG16l7~Q$1;{kPEf~CGQ_I#( z<=ok9_8T`crk%=ePq#rQdwY4eMH;9wS#6R)Xt5HI_${51g23T5v1!)rh1m`Ksky zf7W^s@6F6`<*-KU$J0M%u+!AYeVwSgwN^@!G84sgyzP!iBkpuIt2DuK^8@NML?N1Y z<7jNjF^NUvN*5wetFGe*CAkD~oFp*r=h!3P^3Sx4uW*(|=YWGEPjui`&$Fvm-I%@o zQ3~pU<$^L@o$$Zc#3e>GjdpHR5U;Y{nf1ySA`N;Bs+Nj~@OVN#T4 z`3CNcSbP3{7xR7YKM-8<9H-ik`bjn9H<8aMpZ-MmXj`*e@pVn6{!kz5e_XrEV78&u zdZ5jMw^8JhXiY}&+=HJia%;o;GR*&K+N94tMmXg2!dB=_LWOrv2_Nn9h1Yah$6569 zlA%lXe~UeoFmS>AiNA#QO6JJ{%;iJX{#8%844<7aTHT)iyDkGR`Zmg6Ih92#)5i_E zgxpjCa&BwYOhg9w?Np*~+GmUwc2-SHugNq!s(1r_$+;T{dgzc>KYqV!XheTMM`h^9 zrk_Yh+^Uc^tha=>(wb|??y9u2daCVAO0$&aAXqm{nrif4#EBWC*T-6-S(kGg{#)xu z!=E27AJ6$0MgQj9fM*_Ctl4cV5&d~@6TW6VnusRF8J18~nR-0q>1-TpMk5{whDzN( z-<_?*tW{dmU+n&!vufRv5jW~wd?+xKf1gBkNc>T)L*`o>WHct6um3T%Rh*@V`J5s**Eps znA<{u9oD2#P4TZbCYmrxS@GL9-Yh|ZtGQJ!woYzta~*?iUM%`4a@<@k&&_TA?udZt z(~d#a$QBcgCC+>n?$F<dPY$#5^ z+L-8_Gl71Xd8aQ-pl1>0-V$)S80jn7S4CzlAix&QMSir`phzTy&i(3Ew9ENJ3zy{4 zE<@UUekHBMEq`@u*}uWJFSeJ)MTt8#JGYq@M;T7qdJ2s*XV*oOhZgm!Yh_3#_{E=D z$}W5|9gTk--+^O%`MiFEu9qSW-#Ld$a-m*eT3Aj!?D)f_|InrF{Zm=84P1=d{1-U7 za#U<{B zm+elTD_W+7>1;D;3){4Q+hX1Y){fR2Bf6B8JXtWOPE+1>IcX|dDY(wdMKwUfTz>^M zYMSNU_3K#cj86x#PmDbWJWHssogB%g9*t^GAmtSDi#l98%R4Myj!J$NyodHN+K{z& z<`k^;(}zl_XM~at3PE?F@5yu5r!;_AEc=3^%Sh86hQNe0kPIcVHxem zR@5O8$u{0*X|tD}i(OcDCD<=cocY82=lJU2-KT|k0jmd* z(i7GpjiLimhZ-JdZib{8#;|wu1-}GFUudXq`9f$w^<}!Ihn!-aptG zPJnC1Qrpj!h)>ee2O-p@JJ3FuO4~s7Z7^x*5G;&|U@PwW673zNRyUegkWfSPx*<~zh$sg}`G?@^8{Z|~ z-PGPKeYKTL>Be=`Wy_*3TmLvc;5KtQPZdzCR-Z%4C7p{*=OV79k^Q>bIv7?Z;ti=> zJ}Mxs(=Box+&FT$w;DT;rif&58PiaV#UHn9{k2s^yHbn^K3n^)LT*fytY^>wwprI( z{rT88VTb`YNhQE2MoQHao_NO`h_+X*k(sfd!5qBzfRw02Q3aBDwIx$dz)#a)?GosS zPATW)N9mg4nV$zx_1nPSh-b$w5c@THofXZCV18EvRiT?FWBkPN>O||$+Hd`8Cqap& z-aemae^MzDl8y0}t#iI4gm9{`X_K7NQu2_7X$>*Q2kv!l zmeFSGq(6JnvhyU7(vw`YAwIg>}>Mw7bI)U@l&1txWIL- zB$o0^@ioytbbUU7JT3{N6=XKEy8KtA>m?yP84wHi0t?mW_YV2V6Ox79l~KNy1Y%kj z>a_1jhH+N@75M!V7s9y`4T|ltEMorxN5a$8*5_SSstV?S0_vZdjTk+a$#|bxuF? zeRf+1X^-SrkW>sip@hU&xckbyk-5*>?qS)e$XNuk77*g*ibTQRThR7~aYohtDIsa3 zN9lg~Rs?nukO7F@A&?*eSkHW*TDBUIAq%qdl=Vgj$WK?|-5 zgCQ}x%}cF+($b$hu}e02;9yw*EkKo;C46r{ARK6>JRF&CzEuVI@LwXEe9hJq7%l9F zdlNHYl$Hkh#lyYd14f%#DMe=fyq7{wxs%EjJ`JLoG+X>7GtW#AN_eLV$dzJ$DG<$s z%F@`J86l7Cli1bX^MjKmGC`f38Rh};IV5PkO`_#04z#latElx58*6yRSW%wn8>fZ_k8`C4&-$OqZ6X_I|-;d0fo6JM0<{oq#l8;jlpcySBuJFeat7wtl3tvpifZ(x>ed5ul?js*oLnEwr6L=)pDgR(}^vIb|6DVYij$fy4*o}7g|!gN|EIHvJ8wZ z4JA?ZpTYwP4ffZ>1+MNMuThve)Gs}hF3)G?w=7t4zu!C?s9;YETkI zVuB6!OWoI1d|K4%+E+zHJt0EgK!1*QhJ*UTh)olYxo~H!_-%tJXJ~|dvt`<)5VYnF zz*p3|oz2Dzk&_1CwSo?Q{0I9XYv9M|d*(;wtIbmu$z56>)vLxyges6;gF2s~3q&-Q zS)-3o{{Bg~I62*OVr2DM+n4+3S0u%>iSt7v1R%@h4e%$xF`LM_wbZk{q;<%Q<~8yY zU7aq>#im%gsb1+&e4;x&el&;!e=N0B|iwR}0OLzqQ< zTE)sCo8?a^Ky2D<`<6AAO_XnOl7_L&h1>Lb z93#559po6QkepF)v)VUD=@{S8Q{1x6qGaa)>00jvr`=6- zJhPMWa`lt{>aFcKY8*@)(^U$G9!>(NzJPn1bHcI>^D!P7P0m(R5){x~-jM5Dt-iji z2yD2MZIL3PgW)~wXz3*d`M0u9%UcbC=Z2VcFGeQtIS#E4=r^BcBeu-_cJ*L0yE^;^ zdb-F&G>h?}7k4okxOz_LWF6e{bw7f6@h(zRsD^oUQwrD2CB59d>$dE?w7w*0<1wY{ z`ENeg4tbi#Q^k>r_;I#)&V27NqZnD6dgVJVuV+MP+~#n!NVR#u&)L8fSa;SJ!^jbr z-@%s?YjKfmQh08V1CGH3wVFGg+ONe#&9eVdz%h%MqN6HhosUx#NL*80RF*3IRzzRz zxVW@Ch?i$PKZ-y1>LeH@-n!z<$GjQGkF{H@Hf}N+UcH`ip!Z*5s*f3oR|JCPM533p zx8CAZpVB^G6$k6`rWt0Zw3wIs6(YJD)hmLcq*aRC(}-NB+`EJpIue9*GE7c>l6_={ z;k_}d__OGL-r5)NwMEdxVN2diXVy;GLYIepAZQ~gNhz4z%$~utW`-fq#1W@9@R@hrt% zL+ve(;q-w`a0(LcJU)QgBXV35ets#TWRYM{=9kOYyAhAPbN&6LPz2SRt zAFrD;->bQ?G+Ei6qOR6)ld{vi+x4;Kt!IY#39pQn2Hlfj^-2ZJ6+=rmS$$!TtB%vW zj!_M`zBqb1G2Pd6eJzPzlC|Th$`3hn3*>0wG)(( z*f#5tFnf`J>|f$lOEqig-Lv#{At4HHYj`!i-rJ+c@V?yP)7p$SXw>AE0tr0-Lqa3x{?x-(O5PSNk0%DDacnRV zmB`pbX7%ETxgH_&Bj43qkAb@KX7nDBM=_7?A-9VzYr#v=_BtpiTf0)<$j_VQ7vVUU z8sP+`HiSX`s_~m+7=XfvK2HMa^SOv0>;^4KC>*;PrkHL7`X2oL4aUd%cH;ctJVSD9udH~?VygWiu9`ZPLM%ku z019Dk9ZG(tj4AeLxms}Q(L8suwIF&>OMEFb-9vVYu7;(8gX;6X(_ww-CRM&ZZ+fch z?h7EBmdIKO4b>;0Y~)-rwkwk!5mj>xjL$1ena31CnvF{R5x<#HL{J6{ZE9vc7pkG( zfZLR@>Z(}974zX+IuIT(A61JcGsoDHlG5}SB+Ggir}Nyz1O2bywX$9fUMe7)va9L7 zmeN$Y1m+nuX&0!D}5pP!};6kRNxpvV%o;ukQnI}bfdq&A}e zw>K;c@st=@T@FDVG>qiPBRf#Z@)~s^wo%OD&&&cyww%s!1jxa2_)huDTVG?4fifZ4 zE2_-Md}<35S65~Q)=7DJBM>1=K2q4y_-3^n_)b=-)o6!`;76-l(?EX3Em2`D6EGa4 z9G*=m1qU!I7i7_E!ssev2sRj~%G6^%j! zlRsJ+fXJva(dl3)ef1XwJ9ZKRsK^oWbY$d7oICGO$gq%8(3lVczDQp+BE>Fbjh-2~ z1!V-90a87*S&#n8{qL1l>CXS(rjt?Z0eORTn~n0bJAV0sG>F~F0A;2AuST?s7#vG# zY8Z-XCq5h>9}eK$U0rTAAeKU!%DOX0O2P}MkjKW4KDvAaVIa@7m+?Jc!2}LxF*g^I z{D!$=YaT$GD>8{pozq(X>2ZzPV>&&W@ETG{y68Krt%`qbtsSkDVy*b8E?(MlgAm~0 z?ASi^&F}9Gy2Pf+SKsGA=(51U1m}8_L^McCKhpFa zVdF>hL-DYY5~cNiXP^sN;nTnhILo1lGkuFu&~@*^)=Fw&=-=P0-27xA_^@qa%PYT6 z=%q{FV#)#5h`W7*@on12@}IXuS(}EGzE=H!f9;zRoa*U)A+Ph zJPX3eLYMSS6&+bPmM)jwR4XVHk@d;WFz&+yzgFjrtFE?am~`1Fug zFOEnEYTM$2Uxd8?UF&&A%-S>|GYS=%L=8z)V2_4EA(e~x2pS`2*+xBy1-nQ5>{g9* zspBKx`=sBOOW%f96{Z%)FnWF%F$uQ(Qc0=iduAk7L{D-}vz45PPxs7eMZ$soRXT|L zzCBTOovMR7aD)5mkjUvTsrf(NNpFKQ=fLr+>^yZ+m$)?_=>?3$5pU@%gEpAQDF`X_C^?=vr zi{i$jD{rEs<$b1r>qr*B>n=Fktk9Mc88#P+Y!|&ldDIldNvE{<-51t_V+f9s=Nm4} zWz6%PffECJ-NRIhIw#K?k@BJlS)d9wibyr^PdD(7Wlf+RdVK-IXF#?MZ>gohIe&3; zD$UpOv0Z(cq)?G54V{ZiL}mpqQjT}Kedm3j!d-#=H7&W~@v|!s7Aas=bhJ3_pxLh? z1B@F6_w|UGij=V>4b#~j9RlTVkTYvn4y~Hac*eVzdmk~3RX1P^Qp04=_$Q1(Y>N{Q z>zj-%n%BvKf4EEfYa)3G}gu@sFM-XjBHXe=}gdUTtKTODnHi#WT0)V+G#kG3Wi4$fd9gbY(4|Y zsg_u>n2+k+EQM2Qv46cvekbCkJp6ccwUd^%YWD%?AJmhyh+{tE!fi87yg{SUU)$|-@H~NpP3F;OFFVXmvf8j?zckXk)EXG8;cheqR~9_}%r(2Q;`*p6&2w zM{X;ZUV$^UyC$3F5B^ofp47!Aue3AKUxfozn=2Z>oW8K4s3B#CEktER z?vQ@6dJ(*H!62Wko3vJ0F*M=E7Rmd>-7w z(?rFuJi2=Q5TtWnOhl!ps|utLLm{XDQQZ+zYxzw%ZfWQu?!SQX!-TS1k~4cL{w|Eu zgQ$BI&v3@1w0(>DkKtGLa<-ca)ATYaos5ZwXlAsmbSu=gTf}9)`u^F=ZO#0R!o~9?Qh;ds>1=#G6&0J|Bh)DHTgN%x`Ux zNAj*hxmP-K$FF#ANs-Hh=sgMSPK`AyA<3c?UK&$W00dI6( zaZzzaSx_pUp}~EPgAWB5-hbr=H?B*)zvzxOAKciTtR(j%5Jjy?B82Qkd;7*ptuIX> zGd{)AM=>$jqsWg*=166$7`{vNTa9#Eh2oD%3IeFj|0lOcE;5+MRffmmnKcmGO3F3~ zdfcE4ZY@o*s(w^M`k2gAaR)cbHgE>DdSxSA-5$W7P-S%%EaKK^2@TqiB1%zovL^s( z!Xh)k1(U;9j1@oz8GN2t5B7FMc7=m~51^Dt(-r67a^RCK5W$?X3h z`%xo~>(Z;Ablf;h~msZft4ZGVqdFKswhq!_j zPA&q^@R|zjqz8*6{2AZ(I>ZVNFz+#Pb19ev9ACvnTf`YV&dAGxh}i5#xmb{nE#PI| zmChq*T!5Rs)m-cHRk@dBx%Q*vmpO8eQtFov7M#=ym=|!wk*z4pm(k_dFrA9{olDA5 z262vxml6fHiuXA92&zMlSsBAwZ}e}eOQ@sOhM?u_%ShjiXqLX$zg(iIUsxHx^iWKK z*rH=b)p5s0D!^YM6&S5l;@$`D`hrbPJvV_E95cS3vV)nHhLu@{A%cbV1vGo$*rXP1 zDI-wIMg*nUtE27!bv5PSokj`-*+MFnuhRz8> z1*xw*(|BNYf7JW+>lJE<@74_#0X&4{g+!{xj3G#g{)4fCrH3Rg&LGn~>4EO@OD4UKTdBJtbx29YSF}8>!gxen znkFkpkRtLP9qMx6C;N!&f}Ook?@I}G#o<8<($A=0MqD(^!#q{9LRD(b)j%o3gBmNF z4Va)T{8sm#zr;BCH!7pt712>WP5B0GEr1V}W!Fd@EPH+|bOJ%;*maABZn>Qd_<&kA zbpV9kw(ZObW9HmQ-bUO!f;qt;vQRLeUPA%47@%k|Sb zCSWR8{#D{A8FObR(5&1EB5>coF94AHoF}Z)DqTuO0I&bvtKLB`7vXNM>KU$W>!=ge zB0r6v*jGQ7QQVbSXVR&nJ4Oh(vz0EEB@K}&4xiq9-Oaprep!!@JG z*X-R!-jG5bQQT+#y|-g=4=E2+Y?hgF2%oDUW;n$`2{MG4e9Ey=gYKTr_9fvAJM+x* z!a}ep`_!Z<0;JolGe|fwLix?h5cSRSjY#IO-c-Lu2eIRmI*aFl>O?+zVnvz8CRRCv zXBnK3giK-IRaLzsRZ)&w8O7Aua&4aS{6uOZlaJWo%2wLeBA1 z_7|Q{->XNmFENhuJikRu{q(k#RH32}plaBAU3h{d-`S^^lt4iU?pq?I1jd>04>0O~d7fbAtGW7mt5>kX{$I%3X}mi;M1x@NDA> zY~0VxK9O%KwXCuxH*X=4YIOm(@!^A{tgsIAt9&bH5U4Y2NaWO$rOd1h65RMjUSJKaRo&+uKL){LWeb-ZvxG?#|u7 z1?c-V;2%hfplKUxWt`x#YwRs$BN9`kE-?RGu3KwbwSv=w;n~4*UjCJ7Ws#5jHV3=G zE$+D7E?GGncUqHA%bu;$9tUGcmr~i#1AL`bk!NN}=CHq9r8(YJa~p=7O_`5&gs-UG z{8UG%YAE=@=ewwBs@oyRC-Hy z_oBzmxTu(XI!U2Rv+2BVSp04P>n&oBUa4C%fpd)AO;vbY@5 zms`lQ;j6GLX9{=rZvdff|oO3y@O*0Way9Dt6$iS-kGcKF#H>}l{b8wDV5D5 zW-H9mdWx%dM?u5@!@KQg>sXCM9D3b2NK0Jwl<$OV*7D)uD;nYtIOmp5ebs|c;L_U$ zqv%Y&yv^Tl$gpB-eyh0*600crT1Pl^>Bxk~Zqe93%%*eZJfe}LL_rCJPmtdD#XNqv zz8K(5<9k&8#df0?;fz1*>bB{8M6kz;G$OQOFN96^&Fa3%W2rrY&UHjMF?gSfu~s5K z_G&cVv#!-{;^H5{>qLGX5O9ZYSM9hhNLlfr00I`CQL#R1ShMZaT_gW_0Ps;-S*l9H6#D-G D(ybpE diff --git a/apps/bridge-dapp/src/public/manifest.json b/apps/bridge-dapp/src/public/manifest.json deleted file mode 100644 index 804b3053b7..0000000000 --- a/apps/bridge-dapp/src/public/manifest.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "short_name": "webb network", - "name": "Webb Network", - "icons": [ - { - "src": "favicon.png", - "sizes": "128x128", - "type": "image/png" - }, - { - "src": "logo.png", - "type": "image/png", - "sizes": "521x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/apps/bridge-dapp/src/react-app-env.d.ts b/apps/bridge-dapp/src/react-app-env.d.ts deleted file mode 100644 index 4e39a38adf..0000000000 --- a/apps/bridge-dapp/src/react-app-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// - -interface Window { - ethereum: any; -} diff --git a/apps/bridge-dapp/src/routes/index.tsx b/apps/bridge-dapp/src/routes/index.tsx deleted file mode 100644 index 634f564ced..0000000000 --- a/apps/bridge-dapp/src/routes/index.tsx +++ /dev/null @@ -1,251 +0,0 @@ -import RequireNoteAccountRoute from '@webb-tools/api-provider-environment/RequireNoteAccountRoute'; -import CSuspense from '@webb-tools/webb-ui-components/components/Suspense'; -import { AnimatePresence } from 'framer-motion'; -import qs from 'query-string'; -import { lazy } from 'react'; -import { Navigate, Route, Routes } from 'react-router'; -import { HashRouter } from 'react-router-dom'; -import { QueryParamProvider } from 'use-query-params'; -import { ReactRouter6Adapter } from 'use-query-params/adapters/react-router-6'; -import { - ACCOUNT_TRANSACTIONS_PATH, - BRIDGE_PATH, - DEPOSIT_PATH, - ECOSYSTEM_PATH, - NOTE_ACCOUNT_PATH, - SELECT_DESTINATION_CHAIN_PATH, - SELECT_RELAYER_PATH, - SELECT_SHIELDED_POOL_PATH, - SELECT_SOURCE_CHAIN_PATH, - SELECT_TOKEN_PATH, - TRANSFER_PATH, - WITHDRAW_PATH, - WRAPPER_PATH, - WRAP_PATH, - UNWRAP_PATH, - SELECT_SOURCE_TOKEN_PATH, - SELECT_DESTINATION_TOKEN_PATH, -} from '../constants'; -import { Layout } from '../containers'; -import Deposit from '../pages/Hubble/Bridge/Deposit'; -import SelectChain from '../pages/Hubble/Bridge/SelectChain'; -import SelectPool from '../pages/Hubble/Bridge/SelectPool'; -import SelectRelayer from '../pages/Hubble/Bridge/SelectRelayer'; -import BridgeSelectToken from '../pages/Hubble/Bridge/SelectToken'; -import Transfer from '../pages/Hubble/Bridge/Transfer'; -import Withdraw from '../pages/Hubble/Bridge/Withdraw'; - -import WrapperSelectToken from '../pages/Hubble/Wrapper/SelectToken'; - -const HubbleWrapper = lazy(() => import('../containers/HubbleContainer')); -const Wrap = lazy(() => import('../pages/Hubble/Wrapper/Wrap')); -const Unwrap = lazy(() => import('../pages/Hubble/Wrapper/Unwrap')); -const Account = lazy(() => import('../pages/Account')); -const AccountTransactions = lazy(() => import('../pages/Account/Transactions')); -const AccountTransactionDetail = lazy( - () => import('../pages/Account/Transactions/TransactionDetail'), -); -const Ecosystem = lazy(() => import('../pages/Ecosystem')); - -const AppRoutes = () => { - return ( - - - - qs.stringify(encodedParams, { - skipEmptyString: true, - skipNull: true, - }), - updateType: 'replaceIn', - }} - > - - - - - } - > - - - - } - > - {/** Deposit */} - }> - } - /> - } - /> - } - /> - } - /> - - - {/** Transfer */} - }> - } - /> - } - /> - } - /> - } - /> - - - {/** Withdraw */} - }> - } - /> - } - /> - } - /> - } - /> - - - } /> - - - - - - } - > - - - - } - > - } - /> - } - /> - } - /> - - - - - } - > - } - /> - } - /> - } - /> - - } /> - - - - - - - - - } - /> - - - - - - } - > - - - - - - } - /> - - - - - - - } - /> - - } /> - - - - - - ); -}; - -export default AppRoutes; diff --git a/apps/bridge-dapp/src/styles.css b/apps/bridge-dapp/src/styles.css deleted file mode 100644 index 581c012d34..0000000000 --- a/apps/bridge-dapp/src/styles.css +++ /dev/null @@ -1,12 +0,0 @@ -@import 'tailwindcss/base'; -@import 'tailwindcss/components'; -@import 'tailwindcss/utilities'; - -[hidden] { - display: none !important; -} - -:root { - --card-height: 700px; - --dropdown-height: 300px; -} diff --git a/apps/bridge-dapp/src/types/index.ts b/apps/bridge-dapp/src/types/index.ts deleted file mode 100644 index 1d3ccf67c2..0000000000 --- a/apps/bridge-dapp/src/types/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -// Shared types for the bridge dapp - -import { DEST_CHAIN_KEY, SOURCE_CHAIN_KEY } from '../constants'; - -export type QueryParamsType = { - [key in typeof SOURCE_CHAIN_KEY | typeof DEST_CHAIN_KEY]: string | undefined; -}; diff --git a/apps/bridge-dapp/src/utils/downloadNotes.ts b/apps/bridge-dapp/src/utils/downloadNotes.ts deleted file mode 100644 index 77aa9d931a..0000000000 --- a/apps/bridge-dapp/src/utils/downloadNotes.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { downloadString } from '@webb-tools/browser-utils'; -import type { Note } from '@webb-tools/sdk-core'; - -/** - * Convert notes to strings and download them as json file - * @param notes the notes to download - * @returns boolean - true if the download was successful - */ -export const downloadNotes = (notes: Note[]): boolean => { - const serializedNotes = notes.map((note) => note.serialize()); - - try { - downloadString( - JSON.stringify(serializedNotes), - `notes-${Date.now()}.json`, - '.json', - ); - return true; - } catch (error) { - console.log('Error while downloading notes', error); - return false; - } -}; diff --git a/apps/bridge-dapp/src/utils/downloadTxHistory.ts b/apps/bridge-dapp/src/utils/downloadTxHistory.ts deleted file mode 100644 index 05aaf198df..0000000000 --- a/apps/bridge-dapp/src/utils/downloadTxHistory.ts +++ /dev/null @@ -1,22 +0,0 @@ -import type { TransactionType } from '@webb-tools/abstract-api-provider'; -import { downloadString } from '@webb-tools/browser-utils'; - -/** - * Convert tx history to json and download it - * @param transactions transactions to be downloaded - */ -const downloadTxHistory = (transactions: TransactionType[]): boolean => { - try { - downloadString( - JSON.stringify(transactions), - `txHistory-${Date.now()}.json`, - '.json', - ); - return true; - } catch (error) { - console.log('Error while downloading notes', error); - return false; - } -}; - -export default downloadTxHistory; diff --git a/apps/bridge-dapp/src/utils/errors.ts b/apps/bridge-dapp/src/utils/errors.ts deleted file mode 100644 index a6d7861b88..0000000000 --- a/apps/bridge-dapp/src/utils/errors.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { WebbError } from '@webb-tools/dapp-types'; -import { SnackBarOpts } from '@webb-tools/webb-ui-components'; -import { Transaction, TransactionReceipt } from 'viem'; - -export const DEPOSIT_FAILURE_MSG: Omit = { - variant: 'error', - message: 'Deposit failed', - secondaryMessage: 'Something went wrong when depositing', -}; - -/** - * Check if an unknown error has a `message` property - * @param error The `unknown` error to check - * @returns true if the error has a `message` property - */ -const hasMessage = (error: unknown): error is { message: string } => { - return ( - typeof error === 'object' && - error !== null && - 'message' in error && - Boolean(error.message) - ); -}; - -/** - * Check if an unknown error has a `reason` property - * @param error The `unknown` error to check - * @returns true if the error has a `reason` property - */ -const hasReason = (error: unknown): error is { reason: string } => { - return ( - typeof error === 'object' && - error !== null && - 'reason' in error && - Boolean(error.reason) - ); -}; - -/** - * Get the error message from an unknown type error - * @param error The `unknown` error to check - * @returns the error mssage from the unknown error - */ -export const getErrorMessage = (error: unknown) => { - if (hasReason(error)) { - return error.reason; - } - - if (error instanceof WebbError) { - return error.errorMessage.message; - } - - if (error instanceof Error) { - return error.message; - } - - if (typeof error === 'string') { - return error; - } - - if (hasMessage(error)) { - return error.message; - } - - return 'An unknown error occurred'; -}; - -/** - * Check if an unknown error has a `transactionHash` property - */ -const hasTransactionHash = ( - error: unknown, -): error is { transactionHash: string } => { - return ( - typeof error === 'object' && error !== null && 'transactionHash' in error - ); -}; - -/** - * Check if an unknown error has a `transaction` property - */ -const hasTransaction = ( - error: unknown, -): error is { transaction: Transaction } => { - return typeof error === 'object' && error !== null && 'transaction' in error; -}; - -/** - * Check if an unknown error has a `receipt` property - */ -const hasReceipt = ( - error: unknown, -): error is { receipt: TransactionReceipt } => { - return typeof error === 'object' && error !== null && 'receipt' in error; -}; - -/** - * Get the transaction hash from an unknown type error - * @param error The `unknown` error to parse and get the transaction hash from - * @returns the transaction hash from the unknown error or '' if not found - */ -export const getTransactionHash = (error: unknown) => { - if (hasTransactionHash(error)) { - return error.transactionHash; - } - - if (hasTransaction(error)) { - return error.transaction?.hash ?? ''; - } - - if (hasReceipt(error)) { - return error.receipt?.transactionHash ?? ''; - } - - return ''; -}; diff --git a/apps/bridge-dapp/src/utils/formatDateTimeByTimestamp.ts b/apps/bridge-dapp/src/utils/formatDateTimeByTimestamp.ts deleted file mode 100644 index da9c38582f..0000000000 --- a/apps/bridge-dapp/src/utils/formatDateTimeByTimestamp.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Return date time detail by epoch - * @param {number} epoch - * @returns {number} formatted time (Ex: 2023-07-28 13:16:04 (2 minutes ago)) - */ -const formatDateTimeByTimestamp = (epoch: number): string => { - const date = new Date(epoch * 1000); - const day = date.getDate().toString().padStart(2, '0'); - const month = (date.getMonth() + 1).toString().padStart(2, '0'); - const year = date.getFullYear(); - const hours = date.getHours().toString().padStart(2, '0'); - const minutes = date.getMinutes().toString().padStart(2, '0'); - const seconds = date.getSeconds().toString().padStart(2, '0'); - const dateTimeDetail = `${year}-${day}-${month} ${hours}:${minutes}:${seconds}`; - - const now = Date.now() / 1000; - const secondsAgo = now - epoch; - - if (secondsAgo < 60) { - return ( - dateTimeDetail + - ` (${Math.floor(secondsAgo)} ${ - secondsAgo === 1 ? 'second' : 'seconds' - } ago)` - ); - } else if (secondsAgo < 3600) { - const minutesAgo = Math.floor(secondsAgo / 60); - return ( - dateTimeDetail + ` (${minutesAgo} minute${minutesAgo > 1 ? 's' : ''} ago)` - ); - } else if (secondsAgo < 86400) { - const hoursAgo = Math.floor(secondsAgo / 3600); - return dateTimeDetail + ` (${hoursAgo} hour${hoursAgo > 1 ? 's' : ''} ago)`; - } - - return dateTimeDetail; -}; - -export default formatDateTimeByTimestamp; diff --git a/apps/bridge-dapp/src/utils/getCardTitle.ts b/apps/bridge-dapp/src/utils/getCardTitle.ts deleted file mode 100644 index 1e61d6331b..0000000000 --- a/apps/bridge-dapp/src/utils/getCardTitle.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { - type TransactionName, - TransactionState, -} from '@webb-tools/abstract-api-provider/transaction'; - -export const getCardTitle = ( - stage: TransactionState, - txName: TransactionName, - wrappingFlow?: boolean, -) => { - let status = ''; - - switch (stage) { - case TransactionState.Ideal: { - break; - } - - case TransactionState.Done: { - status = 'Completed'; - break; - } - - case TransactionState.Failed: { - status = 'Failed'; - break; - } - - default: { - status = 'in Progress...'; - break; - } - } - - if (!status) { - return getDefaultTitle(txName, wrappingFlow); - } - return getStatusTitle(status, txName, wrappingFlow); -}; - -const getDefaultTitle = (txName: TransactionName, wrappingFlow?: boolean) => { - switch (txName) { - case 'Deposit': { - return wrappingFlow ? 'Confirm Wrap and Deposit' : 'Confirm Deposit'; - } - - case 'Withdraw': { - return wrappingFlow ? 'Confirm Unwrap and Withdraw' : 'Confirm Withdraw'; - } - - case 'Transfer': { - return 'Confirm Transfer'; - } - } -}; - -const getStatusTitle = ( - status: string, - txName: TransactionName, - wrappingFlow?: boolean, -) => { - switch (txName) { - case 'Deposit': { - return wrappingFlow - ? `Wrapping and Depositing ${status}` - : `Depositing ${status}`; - } - - case 'Withdraw': { - return wrappingFlow - ? `Unwrapping and Withdrawing ${status}` - : `Withdrawing ${status}`; - } - - case 'Transfer': { - return `Transferring ${status}`; - } - } -}; diff --git a/apps/bridge-dapp/src/utils/getCurrentTimestamp.ts b/apps/bridge-dapp/src/utils/getCurrentTimestamp.ts deleted file mode 100644 index 8834ebad4d..0000000000 --- a/apps/bridge-dapp/src/utils/getCurrentTimestamp.ts +++ /dev/null @@ -1,3 +0,0 @@ -const getCurrentTimestamp = () => Math.floor(new Date().getTime() / 1000); - -export default getCurrentTimestamp; diff --git a/apps/bridge-dapp/src/utils/getEstimatedGasFeesByChain.ts b/apps/bridge-dapp/src/utils/getEstimatedGasFeesByChain.ts deleted file mode 100644 index 84abbf9241..0000000000 --- a/apps/bridge-dapp/src/utils/getEstimatedGasFeesByChain.ts +++ /dev/null @@ -1,38 +0,0 @@ -import getWagmiCfg from '@webb-tools/dapp-config/wagmi-config'; -import { estimateFeesPerGas, getPublicClient } from 'wagmi/actions'; -import { parseTypedChainId } from '@webb-tools/sdk-core/typed-chain-id'; -import gasLimit from '@webb-tools/dapp-config/gasLimitConfig'; -import assert from 'assert'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types/WebbError'; - -export default async function getEstimatedGasFeesByChain(typedChainId: number) { - const wagmiCfg = getWagmiCfg(); - - const gasAmount = gasLimit[typedChainId] ?? gasLimit.default; - - const chainId = parseTypedChainId(typedChainId).chainId; - const publicClient = getPublicClient(wagmiCfg, { chainId }); - - assert( - publicClient, - WebbError.getErrorMessage(WebbErrorCodes.NoClientAvailable).message, - ); - - const { maxFeePerGas, maxPriorityFeePerGas, gasPrice } = - await estimateFeesPerGas(wagmiCfg, { chainId }); - - let actualGasPrice = await publicClient.getGasPrice(); - if (gasPrice && gasPrice > actualGasPrice) { - actualGasPrice = gasPrice; - } - - if (maxFeePerGas && maxFeePerGas > actualGasPrice) { - actualGasPrice = maxFeePerGas; - } - - if (maxPriorityFeePerGas && maxPriorityFeePerGas > actualGasPrice) { - actualGasPrice = maxPriorityFeePerGas; - } - - return gasAmount * actualGasPrice; -} diff --git a/apps/bridge-dapp/src/utils/getNoteSerializations.ts b/apps/bridge-dapp/src/utils/getNoteSerializations.ts deleted file mode 100644 index 96c3f73d2e..0000000000 --- a/apps/bridge-dapp/src/utils/getNoteSerializations.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { Note } from '@webb-tools/sdk-core'; - -const getNoteSerializations = (notes: Note[]) => { - return notes.map((note) => note.serialize()); -}; - -export default getNoteSerializations; diff --git a/apps/bridge-dapp/src/utils/getParam.ts b/apps/bridge-dapp/src/utils/getParam.ts deleted file mode 100644 index ab4f3b7c97..0000000000 --- a/apps/bridge-dapp/src/utils/getParam.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { QueryParamConfig } from 'use-query-params'; - -const getParam = ( - params: URLSearchParams, - key: string, - ParamConfig: QueryParamConfig, -) => { - const value = params.get(key); - return ParamConfig.decode(value); -}; - -export default getParam; diff --git a/apps/bridge-dapp/src/utils/getRelayerFeePercentage.ts b/apps/bridge-dapp/src/utils/getRelayerFeePercentage.ts deleted file mode 100644 index e307f1c526..0000000000 --- a/apps/bridge-dapp/src/utils/getRelayerFeePercentage.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { WebbRelayer } from '@webb-tools/abstract-api-provider'; -import { - ChainType, - parseTypedChainId, -} from '@webb-tools/sdk-core/typed-chain-id'; - -function getRelayerFeePercentage( - relayer: WebbRelayer, - typedChainId: number, -): number | undefined { - const chainType = parseTypedChainId(typedChainId).chainType; - - if (chainType === ChainType.Substrate) { - console.warn( - '[getRelayerFeePercentage] Relayer does not support Substrate yet', - ); - return; - } - - const cap = relayer.capabilities.supportedChains.evm.get(typedChainId); - if (!cap) { - return; - } - - return cap.relayerFeeConfig?.relayerProfitPercent; -} - -export default getRelayerFeePercentage; diff --git a/apps/bridge-dapp/src/utils/getTokenURI.ts b/apps/bridge-dapp/src/utils/getTokenURI.ts deleted file mode 100644 index 1a178b7828..0000000000 --- a/apps/bridge-dapp/src/utils/getTokenURI.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { CurrencyConfig, chainsConfig } from '@webb-tools/dapp-config'; - -export const getTokenURI = (currency: CurrencyConfig, typedChainId: string) => { - const explorerUrl = - chainsConfig[Number(typedChainId)]?.blockExplorers?.default.url ?? ''; - - if (!explorerUrl) return '#'; - - const addr = currency.addresses.get(parseInt(typedChainId)); - - return new URL(`/address/${addr ?? ''}`, explorerUrl).toString(); -}; diff --git a/apps/bridge-dapp/src/utils/getVAnchorActionClass.ts b/apps/bridge-dapp/src/utils/getVAnchorActionClass.ts deleted file mode 100644 index 69c5fb8c52..0000000000 --- a/apps/bridge-dapp/src/utils/getVAnchorActionClass.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { PolkadotVAnchorActions } from '@webb-tools/polkadot-api-provider'; -import { ChainType } from '@webb-tools/sdk-core'; -import { Web3VAnchorActions } from '@webb-tools/web3-api-provider'; - -const VAnchorActionClasses = { - [ChainType.EVM]: Web3VAnchorActions, - [ChainType.Substrate]: PolkadotVAnchorActions, -}; - -type SupportedChainType = keyof typeof VAnchorActionClasses; - -const isSupportedChainType = ( - chainType: ChainType, -): chainType is SupportedChainType => { - return chainType in VAnchorActionClasses; -}; - -export default function getVAnchorActionClass(chainType: ChainType) { - if (!isSupportedChainType(chainType)) { - throw new Error(`Unsupported chain type: ${chainType}`); - } - return VAnchorActionClasses[chainType]; -} diff --git a/apps/bridge-dapp/src/utils/handleMutateNoteIndex.ts b/apps/bridge-dapp/src/utils/handleMutateNoteIndex.ts deleted file mode 100644 index ed1b1cb971..0000000000 --- a/apps/bridge-dapp/src/utils/handleMutateNoteIndex.ts +++ /dev/null @@ -1,25 +0,0 @@ -import type { VAnchorActions } from '@webb-tools/abstract-api-provider/vanchor/vanchor-actions'; -import { Note } from '@webb-tools/sdk-core/note'; -import type { Hash } from 'viem'; - -const handleMutateNoteIndex = async ( - vanchorApi: VAnchorActions, // TODO: remove any - txHash: Hash, - note: Note, - indexBeforeInsert: number, - anchorId: string, -) => { - const noteIndex = await vanchorApi.getLeafIndex( - txHash, - note, - indexBeforeInsert, - anchorId, - ); - - const indexedNote = await Note.deserialize(note.serialize()); - indexedNote.mutateIndex(noteIndex.toString()); - - return indexedNote; -}; - -export default handleMutateNoteIndex; diff --git a/apps/bridge-dapp/src/utils/handleStoreNote.ts b/apps/bridge-dapp/src/utils/handleStoreNote.ts deleted file mode 100644 index 27dac2a554..0000000000 --- a/apps/bridge-dapp/src/utils/handleStoreNote.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Note } from '@webb-tools/sdk-core/note'; -import { downloadNotes } from './downloadNotes'; - -async function handleStoreNote( - note?: Note, - addNoteToNoteManager?: (note: Note) => Promise, -) { - if (!note) { - return; - } - - downloadNotes([note]); - - await addNoteToNoteManager?.(note); -} - -export default handleStoreNote; diff --git a/apps/bridge-dapp/src/utils/handleTxError.ts b/apps/bridge-dapp/src/utils/handleTxError.ts deleted file mode 100644 index e908e13a58..0000000000 --- a/apps/bridge-dapp/src/utils/handleTxError.ts +++ /dev/null @@ -1,31 +0,0 @@ -import type { TransactionName } from '@webb-tools/abstract-api-provider/transaction'; -import type { WrapperEventType } from '@webb-tools/abstract-api-provider/wrap-unwrap'; -import { WebbError, WebbErrorCodes } from '@webb-tools/dapp-types/WebbError'; -import { notificationApi } from '@webb-tools/webb-ui-components/components/Notification/NotificationStacked'; - -function handleTxError( - error: unknown, - txType?: TransactionName | WrapperEventType, -) { - let displayErrorMessage = WebbError.getErrorMessage( - WebbErrorCodes.UnknownError, - ).message; - - if (error instanceof WebbError) { - displayErrorMessage = error.message; - } else if (error instanceof Error) { - displayErrorMessage = error.message; - } else { - console.error('Detected unknown error', error); - } - - notificationApi({ - variant: 'error', - message: `${txType ?? 'Transaction'} failed`, - secondaryMessage: txType?.toLowerCase().includes('wrap') - ? 'Transaction rejected. Please authorize in your wallet to proceed.' - : displayErrorMessage, - }); -} - -export default handleTxError; diff --git a/apps/bridge-dapp/src/utils/index.ts b/apps/bridge-dapp/src/utils/index.ts deleted file mode 100644 index da45ebe1b7..0000000000 --- a/apps/bridge-dapp/src/utils/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -export * from './downloadNotes'; -export * from './downloadTxHistory'; -export * from './errors'; -export { default as formatDateTimeByTimestamp } from './formatDateTimeByTimestamp'; -export * from './getCardTitle'; -export { default as getCurrentTimestamp } from './getCurrentTimestamp'; -export { default as getEstimatedGasFeesByChain } from './getEstimatedGasFeesByChain'; -export { default as getNoteSerializations } from './getNoteSerializations'; -export { default as getParam } from './getParam'; -export { default as getRelayerFeePercentage } from './getRelayerFeePercentage'; -export * from './getTokenURI'; -export { default as getVAnchorActionClass } from './getVAnchorActionClass'; -export { default as handleMutateNoteIndex } from './handleMutateNoteIndex'; -export { default as handleStoreNote } from './handleStoreNote'; -export { default as handleTxError } from './handleTxError'; -export * from './isValidNote'; -export { default as safeParseJson } from './safeParseJson'; diff --git a/apps/bridge-dapp/src/utils/isValidNote.ts b/apps/bridge-dapp/src/utils/isValidNote.ts deleted file mode 100644 index 8fbebea65d..0000000000 --- a/apps/bridge-dapp/src/utils/isValidNote.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Checks if a note is valid - * @param note - Note to be checked - * @returns - True if the note is valid - */ -export const isValidNote = (note: string): boolean => { - const regex = - /^webb:\/\/v\d+:vanchor\/\d+:\d+\/0x[a-fA-F0-9]+:0x[a-fA-F0-9]+\/[a-fA-F0-9]+:[a-fA-F0-9]+:[a-fA-F0-9]+:[a-fA-F0-9]+\/\?curve=\w+&width=\d+&exp=\d+&hf=\w+&backend=\w+&token=\w+&denom=\d+&amount=\d+(&index=\d+)?$/g; - - return regex.test(note); -}; diff --git a/apps/bridge-dapp/src/utils/safeParseJson.ts b/apps/bridge-dapp/src/utils/safeParseJson.ts deleted file mode 100644 index 8156c4e918..0000000000 --- a/apps/bridge-dapp/src/utils/safeParseJson.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Parse JSON string and return error if any - * @param str - The JSON string to parse - * @returns [error, parsed] - */ - -const safeParseJson = (str: string) => { - try { - return [null, JSON.parse(str)]; - } catch (err) { - return [err]; - } -}; - -export default safeParseJson; diff --git a/apps/bridge-dapp/tailwind.config.js b/apps/bridge-dapp/tailwind.config.js deleted file mode 100644 index d7228086bb..0000000000 --- a/apps/bridge-dapp/tailwind.config.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createGlobPatternsForDependencies } from '@nx/react/tailwind'; -import preset from '../../tailwind.preset.cjs'; -import { dirname, join } from 'node:path'; -import { fileURLToPath } from 'node:url'; - -const dirname_ = __dirname || dirname(fileURLToPath(import.meta.url)); - -/** @type {import('tailwindcss').Config} */ -export default { - presets: [preset], - content: [ - join(dirname_, 'src/**/*!(*.stories|*.spec).{ts,tsx,html}'), - ...createGlobPatternsForDependencies(dirname_), - ], - theme: { - extend: { - screens: { - mob: '481px', - }, - }, - }, - plugins: [], -}; diff --git a/apps/bridge-dapp/tsconfig.app.json b/apps/bridge-dapp/tsconfig.app.json deleted file mode 100644 index f4eb6f7cd2..0000000000 --- a/apps/bridge-dapp/tsconfig.app.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "types": [ - "node", - "../../node_modules/@nx/react/typings/cssmodule.d.ts", - "../../node_modules/@nx/react/typings/image.d.ts" - ], - "strict": true - }, - "files": [ - "../../node_modules/@nx/react/typings/cssmodule.d.ts", - "../../node_modules/@nx/react/typings/image.d.ts" - ], - "exclude": [ - "jest.config.ts", - "**/*.spec.ts", - "**/*.test.ts", - "**/*.spec.tsx", - "**/*.test.tsx", - "**/*.spec.js", - "**/*.test.js", - "**/*.spec.jsx", - "**/*.test.jsx" - ], - "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"] -} diff --git a/apps/bridge-dapp/tsconfig.json b/apps/bridge-dapp/tsconfig.json deleted file mode 100644 index 4390f13b36..0000000000 --- a/apps/bridge-dapp/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "target": "es2015" - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.spec.json" - }, - { - "path": "../../tsconfig.base.json" - } - ] -} diff --git a/apps/bridge-dapp/tsconfig.spec.json b/apps/bridge-dapp/tsconfig.spec.json deleted file mode 100644 index ed302d714b..0000000000 --- a/apps/bridge-dapp/tsconfig.spec.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "types": [ - "jest", - "node", - "../../node_modules/@nx/react/typings/cssmodule.d.ts", - "../../node_modules/@nx/react/typings/image.d.ts" - ] - }, - "include": [ - "jest.config.ts", - "**/*.test.ts", - "**/*.spec.ts", - "**/*.test.tsx", - "**/*.spec.tsx", - "**/*.test.js", - "**/*.spec.js", - "**/*.test.jsx", - "**/*.spec.jsx", - "**/*.d.ts" - ], - "files": [ - "../../node_modules/@nx/react/typings/cssmodule.d.ts", - "../../node_modules/@nx/react/typings/image.d.ts" - ] -} diff --git a/apps/bridge-dapp/webpack.base.cjs b/apps/bridge-dapp/webpack.base.cjs deleted file mode 100644 index 9b34def287..0000000000 --- a/apps/bridge-dapp/webpack.base.cjs +++ /dev/null @@ -1,336 +0,0 @@ -// Copyriget 2017-2022 @polkadot/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -/* eslint-disable camelcase */ -require('dotenv').config(); - -const fs = require('fs'); -const path = require('path'); -const chalk = require('chalk'); -const CopyWebpackPlugin = require('copy-webpack-plugin'); -const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const webpack = require('webpack'); -const TerserPlugin = require('terser-webpack-plugin'); -const { workspaceRoot } = require('nx/src/utils/workspace-root'); -const merge = require('lodash/merge'); - -const findPackages = require('../../tools/scripts/findPackages.cjs'); -const packageJson = require(path.resolve(__dirname, 'package.json')); -const packageVersion = packageJson.version; - -function mapChunks(name, regs, inc) { - return regs.reduce( - (result, test, index) => - Object.assign(result, { - [`${name}${index}`]: { - chunks: 'initial', - enforce: true, - name: `${name}.${`0${index + (inc || 0)}`.slice(-2)}`, - test, - }, - }), - {}, - ); -} - -async function createWebpack(env, mode = 'production') { - // Use dynamic import here as `execa` is an esm only module - const { execa } = await import('execa'); - - await execa({ - cwd: workspaceRoot, - stdio: 'inherit', - })`yarn fetch:onChainConfig`; - - console.log(chalk.cyan('Running webpack in: ', mode)); - const isDevelopment = mode === 'development'; - const alias = findPackages().reduce((alias, { dir, name }) => { - alias[name] = path.resolve(__dirname, `../../libs/${dir}/src`); - - return alias; - }, {}); - alias['@webb-tools/bridge-dapp'] = path.resolve(__dirname, `src`); - const plugins = fs.existsSync(path.join(env.context, 'src/public')) - ? [ - new CopyWebpackPlugin({ - patterns: [ - { - from: 'src/public', - globOptions: { - dot: true, - ignore: ['**/index.html'], - }, - }, - ], - }), - ] - : []; - - // Load bridge dapp specific env vars by prefixing with BRIDGE_DAPP_ - const bridgeEnvVars = Object.keys(process.env) - .filter((key) => key.startsWith('BRIDGE_DAPP_')) - .reduce((envVars, key) => { - envVars[`process.env.${key}`] = JSON.stringify(process.env[key]); - return envVars; - }, {}); - - return { - experiments: { - asyncWebAssembly: true, - }, - context: env.context, - entry: [path.resolve(__dirname, 'src', 'index.tsx')], - mode, - module: { - rules: [ - { - scheme: 'data', - type: 'asset/resource', - }, - { - test: /\.s?[ac]ss$/i, - use: [ - isDevelopment - ? 'style-loader' - : { - // save the css to external file - loader: MiniCssExtractPlugin.loader, - options: { - esModule: true, - }, - }, - { - // becombine other css files into one - // https://www.npmjs.com/package/css-loader - loader: 'css-loader', - options: { - esModule: true, - importLoaders: 1, // 1 other loader used first, postcss-loader. - sourceMap: isDevelopment, - }, - }, - 'postcss-loader', - ], - }, - { - // exclude all node_modules except @webb-tools/contracts - exclude: /node_modules\/(?!(@webb-tools\/contracts(\/.*)?)).*/, - test: /\.(js|mjs|ts|tsx)$/, - use: [ - require.resolve('thread-loader'), - { - loader: require.resolve('babel-loader'), - options: { - sourceType: 'unambiguous', - presets: [ - [ - '@nx/react/babel', - { - runtime: 'automatic', - useBuiltIns: 'usage', - }, - ], - [ - '@babel/preset-env', - { - modules: false, - useBuiltIns: 'entry', - corejs: '3', - }, - ], - '@babel/preset-typescript', - ['@babel/preset-react', { development: isDevelopment }], - ], - plugins: [ - isDevelopment && [ - require.resolve('react-refresh/babel'), - { skipEnvCheck: true }, - ], - ].filter(Boolean), - }, - }, - ], - }, - { - test: /\.md$/, - use: [ - require.resolve('html-loader'), - require.resolve('markdown-loader'), - ], - }, - { - exclude: [/semantic-ui-css/], - test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/], - type: 'asset/resource', - generator: { - filename: 'static/[name].[contenthash:8].[ext]', - }, - }, - { - exclude: [/semantic-ui-css/], - test: [/\.eot$/, /\.ttf$/, /\.woff$/, /\.woff2$/], - type: 'asset/resource', - generator: { - filename: 'static/[name].[contenthash:8].[ext]', - }, - }, - { - include: [/semantic-ui-css/], - test: [ - /\.bmp$/, - /\.gif$/, - /\.jpe?g$/, - /\.png$/, - /\.eot$/, - /\.ttf$/, - /\.woff$/, - /\.woff2$/, - ], - use: [ - { - loader: require.resolve('null-loader'), - }, - ], - }, - // Svgr for asset SVG & React component in the same project - // @see https://react-svgr.com/docs/webpack/#use-svgr-and-asset-svg-in-the-same-project - { - test: /\.svg$/i, - type: 'asset', - resourceQuery: /url/, // *.svg?url - }, - { - test: /\.svg$/i, - resourceQuery: { not: [/url/] }, // exclude react component if *.svg?url - use: ['@svgr/webpack'], - }, - ], - }, - node: { - __dirname: true, - __filename: false, - }, - optimization: { - minimize: mode === 'production', - minimizer: [ - new TerserPlugin({ - terserOptions: { - compress: { - drop_console: true, - }, - }, - }), - ], - splitChunks: { - cacheGroups: merge( - mapChunks('robohash', [ - /* 00 */ /RoboHash\/(backgrounds|sets\/set1)/, - /* 01 */ /RoboHash\/sets\/set(2|3)/, - /* 02 */ /RoboHash\/sets\/set(4|5)/, - ]), - mapChunks('polkadot', [ - /* 00 */ /node_modules\/@polkadot\/(wasm)/, - /* 01 */ /node_modules\/(@polkadot\/(api|metadata|rpc|types))/, - /* 02 */ /node_modules\/(@polkadot\/(extension|keyring|networks|react|ui|util|vanitygen|x-)|@acala-network|@edgeware|@laminar|@ledgerhq|@open-web3|@sora-substrate|@subsocial|@zondax|edgeware)/, - ]), - mapChunks('react', [ - /* 00 */ /node_modules\/(@fortawesome)/, - /* 01 */ /node_modules\/(@emotion|@semantic-ui-react|@stardust|classnames|chart\.js|codeflask|copy-to-clipboard|file-selector|file-saver|hoist-non-react|i18next|jdenticon|keyboard-key|mini-create-react|popper\.js|prop-types|qrcode-generator|react|remark-parse|semantic-ui|styled-components)/, - ]), - mapChunks('other', [ - /* 00 */ /node_modules\/(@babel|ansi-styles|asn1|browserify|buffer|history|html-parse|inherit|lodash|object|path-|parse-asn1|pbkdf2|process|public-encrypt|query-string|readable-stream|regenerator-runtime|repeat|rtcpeerconnection-shim|safe-buffer|stream-browserify|store|tslib|unified|unist-util|util|vfile|vm-browserify|webrtc-adapter|whatwg-fetch)/, - /* 01 */ /node_modules\/(attr|brorand|camelcase|core|chalk|color|create|cuint|decode-uri|deep-equal|define-properties|detect-browser|es|event|evp|ext|function-bind|has-symbols|ieee754|ip|is|lru|markdown|minimalistic-|moment|next-tick|node-libs-browser|random|regexp|resolve|rxjs|scheduler|sdp|setimmediate|timers-browserify|trough)/, - /* 03 */ /node_modules\/(base-x|base64-js|blakejs|bip|bn\.js|cipher-base|crypto|des\.js|diffie-hellman|elliptic|hash|hmac|js-sha3|md5|miller-rabin|ripemd160|secp256k1|scryptsy|sha\.js|xxhashjs)/, - ]), - ), - }, - }, - output: { - chunkFilename: '[name].[chunkhash:8].js', - filename: '[name].[contenthash:8].js', - globalObject: "(typeof self !== 'undefined' ? self : this)", - hashFunction: 'xxhash64', - path: path.join(env.context, '../../dist/apps/bridge-dapp'), - publicPath: '', - }, - performance: { - hints: false, - }, - plugins: [ - new webpack.ProvidePlugin({ - Buffer: ['buffer', 'Buffer'], - process: 'process/browser.js', - React: 'react', - }), - new webpack.IgnorePlugin({ - contextRegExp: /moment$/, - resourceRegExp: /^\.\/locale$/, - }), - new webpack.DefinePlugin( - merge( - { - 'process.env.BRIDGE_VERSION': JSON.stringify(packageVersion), - 'process.env.NODE_ENV': JSON.stringify(mode), - }, - bridgeEnvVars, - ), - ), - new webpack.optimize.SplitChunksPlugin(), - new MiniCssExtractPlugin({ - filename: '[name].[contenthash:8].css', - }), - - /** - * Ignore the critical dependency warning for @webb-tools/utils - * as the library uses dynamic imports for the fixtures in fixtures.ts - */ - new webpack.ContextReplacementPlugin( - /\/@webb-tools\/utils\//, - (/** @type {{ dependencies: { critical: any; }[]; }} */ data) => { - delete data.dependencies[0].critical; - return data; - }, - ), - ].concat(plugins), - resolve: { - alias: merge(alias, { - 'react/jsx-runtime': require.resolve('react/jsx-runtime'), - }), - extensions: ['.js', '.jsx', '.mjs', '.ts', '.tsx'], - fallback: { - assert: require.resolve('assert/'), - crypto: require.resolve('crypto-browserify'), - http: require.resolve('stream-http'), - https: require.resolve('https-browserify'), - os: require.resolve('os-browserify/browser'), - path: require.resolve('path-browserify'), - stream: require.resolve('stream-browserify'), - zlib: require.resolve('browserify-zlib'), - constants: false, - fs: false, - url: false, - vm: false, - }, - }, - - // https://webpack.js.org/configuration/dev-server/ - devServer: { - port: 3000, - host: '0.0.0.0', - compress: true, - allowedHosts: 'all', - // This option fix the error `originalOnListen is not a function` when using `webpack-dev-server` - onListening: function (devServer) { - if (!devServer) { - throw new Error('webpack-dev-server is not defined'); - } - - const port = devServer.server.address().port; - console.log('Listening on port:', port); - }, - hot: true, - }, - }; -} - -module.exports = createWebpack; diff --git a/apps/bridge-dapp/webpack.dev.cjs b/apps/bridge-dapp/webpack.dev.cjs deleted file mode 100644 index f57a90e2e7..0000000000 --- a/apps/bridge-dapp/webpack.dev.cjs +++ /dev/null @@ -1,51 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 - -const { composePlugins, withNx } = require('@nx/webpack'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin'); -const path = require('path'); -const { merge } = require('webpack-merge'); - -const baseConfig = require('./webpack.base.cjs'); - -module.exports = composePlugins( - withNx({ - target: 'node', - }), - async (_config, env) => { - env.context = __dirname; - - const base = await baseConfig(env, 'development'); - - return merge(base, { - devtool: 'eval-source-map', - devServer: { - hot: true, - open: false, - port: 3000, - static: path.resolve(__dirname, '../../dist/apps/bridge-dapp'), - client: { - logging: 'error', - overlay: { - errors: true, - warnings: false, // Hide overlay warnings as they present on the terminal - }, - }, - }, - plugins: [ - new HtmlWebpackPlugin({ - filename: './index.html', - inject: true, - template: './src/public/index.html', - }), - new ReactRefreshWebpackPlugin(), - ], - watchOptions: { - // 5.66.0 work-around (was reduced to 20, then started failing) - // https://github.com/webpack/webpack/commit/96da7660021e8aa31e163bacd3515960eb253422#diff-13cf5374edb5eced5f3770d5f346c59252f87a90de91bc57306077693c8b95e2R52 - aggregateTimeout: 600, - ignored: ['.yarn', 'build', 'node_modules'], - }, - }); - }, -); diff --git a/apps/bridge-dapp/webpack.prod.cjs b/apps/bridge-dapp/webpack.prod.cjs deleted file mode 100644 index cfd95cb492..0000000000 --- a/apps/bridge-dapp/webpack.prod.cjs +++ /dev/null @@ -1,38 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 - -const { composePlugins, withNx } = require('@nx/webpack'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const { merge } = require('webpack-merge'); - -const baseConfig = require('./webpack.base.cjs'); - -module.exports = composePlugins( - withNx({ - target: 'node', - }), - async (_config, env) => { - env.context = __dirname; - - const base = await baseConfig(env, 'production'); - - return merge(base, { - devtool: process.env.BUILD_ANALYZE ? 'source-map' : false, - devServer: { - client: { - logging: 'error', - overlay: { - errors: true, - warnings: false, - }, - }, - }, - plugins: [ - new HtmlWebpackPlugin({ - filename: './index.html', - inject: true, - template: './src/public/index.html', - }), - ], - }); - }, -); diff --git a/apps/faucet/.eslintrc.js b/apps/faucet/.eslintrc.js deleted file mode 100644 index c6223f8675..0000000000 --- a/apps/faucet/.eslintrc.js +++ /dev/null @@ -1,43 +0,0 @@ -module.exports = { - plugins: ['simple-import-sort', 'sort-keys-fix', 'neverthrow'], - extends: [ - 'plugin:@nx/react-typescript', - 'next', - 'next/core-web-vitals', - '../../.eslintrc.json', - ], - ignorePatterns: ['!**/*', '.next/**/*'], - overrides: [ - { - files: ['*.ts', '*.tsx', '*.js', '*.jsx'], - rules: { - '@next/next/no-html-link-for-pages': ['error', 'apps/faucet/src/pages'], - }, - }, - { - files: ['*.ts', '*.tsx'], - rules: {}, - }, - { - files: ['*.js', '*.jsx'], - rules: {}, - }, - ], - rules: { - '@next/next/no-html-link-for-pages': 'off', - 'simple-import-sort/imports': 'error', - 'simple-import-sort/exports': 'error', - 'sort-keys-fix/sort-keys-fix': 'error', - 'neverthrow/must-use-result': 'error', - }, - parser: '@typescript-eslint/parser', - env: { - jest: true, - }, - parserOptions: { - ecmaVersion: 2021, - sourceType: 'module', - project: ['./tsconfig.json'], - tsconfigRootDir: __dirname, - }, -}; diff --git a/apps/faucet/CHANGELOG.md b/apps/faucet/CHANGELOG.md deleted file mode 100644 index 4682ea9bce..0000000000 --- a/apps/faucet/CHANGELOG.md +++ /dev/null @@ -1,114 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -### Added - -- New feature or functionality -- New file or resource - -### Changed - -- Updates to existing features -- Changes to existing files or resources - -### Deprecated - -- Features or functionality that will be removed in future versions -- Files or resources that will be removed in future versions - -### Removed - -- Features or functionality that have been removed -- Files or resources that have been removed - -### Fixed - -- Bug fixes -- Corrections to existing files or resources - -### Security - -- Security-related changes, such as vulnerability patches - -## [0.0.1] - 2023-05-02 - -### Added - -- Initial UI setup and build: https://github.com/webb-tools/webb-dapp/pull/1075 - -## [0.0.2] - 2023-05-03 - -### Added - -- .env.example template: https://github.com/webb-tools/webb-dapp/pull/1139 - -### Changed - -- Node version upgraded to v18.x: https://github.com/webb-tools/webb-dapp/pull/1139 - -[Unreleased]: https://github.com/webb-tools/webb-dapp/compare/v0.0.1...HEAD -[0.0.1]: https://github.com/webb-tools/webb-dapp/releases/tag/v0.0.1 -[0.0.2]: https://github.com/webb-tools/webb-dapp/releases/tag/v0.0.2 - -## [0.0.3] - 2023-06-02 - -### Fixed, Changed and Added - -- Replaces swirl BG image in faucet app to include tangle token. -- Typography system to unify Webbsite/Tangle Site/Faucet. - -## [0.0.4] - 2023-06-09 - -### Fixed, Changed and Added - -- Update copy - closes #1323 ([#1324](https://github.com/webb-tools/webb-dapp/pull/1324)) -- Integrates Faucet App with Faucet Backend ([#1327](https://github.com/webb-tools/webb-dapp/pull/1327)) - -## [0.0.5] - 2023-06-28 - -### Fixed, Changed and Added - -- Setup Secure Headers and Detect Inactive Issues ([#1370](https://github.com/webb-tools/webb-dapp/pull/1370)) - -## [0.0.6] - 2023-08-07 - -- Improve the Faucet UI ([#1454](https://github.com/webb-tools/webb-dapp/pull/1454)). - -## [0.0.7] - 2023-09-19 - -- Unifying background to webb-ui-kit - -## [0.0.8] - 2023-09-20 - -- Update new deployment - -## [0.0.9] - 2023-09-30 - -- Downgrade next to 13.4.19 to fix netlify/next runtime issue [#1724](https://github.com/webb-tools/webb-dapp/pull/1724). - -## [0.0.10] - 2023-10-04 - -- Substrate Support on Faucet [#1735](https://github.com/webb-tools/webb-dapp/pull/1735) - -## [0.0.11] - 2023-10-05 - -- Hotfix faucet respone object. - -## [0.0.12] - 2023-10-05 - -- Hotfix faucet footer width. - -## [0.0.13] - 2023-10-24 - -### Fixed, Changed and Added - -- Add Tangle Sidebar to Faucet [#1774](https://github.com/webb-tools/webb-dapp/pull/1774) -- chore: ui update on buttons and containers [#1778](https://github.com/webb-tools/webb-dapp/pull/1778) -- Faucet Responsive + Fix Flicker [#1782](https://github.com/webb-tools/webb-dapp/pull/1782) -- Update faucet SEO metadata & container texts [#1785](https://github.com/webb-tools/webb-dapp/pull/1785) diff --git a/apps/faucet/README.md b/apps/faucet/README.md deleted file mode 100644 index 5c949c225b..0000000000 --- a/apps/faucet/README.md +++ /dev/null @@ -1,67 +0,0 @@ - - -# Webb Faucet - -

- Funding cryptocurrencies (assets) on the Webb Protocol System. -
-

- -## Run the Faucet - -After setting up the development environment, you can proceed to run the faucet dapp locally by installing the required dependencies, copying the environment variables and running the faucet. - -1. Clone this repo - - ```bash - git clone git@github.com:webb-tools/webb-dapp.git - ``` - -2. Install dependencies by `yarn` - - ```bash - yarn install - ``` - -3. Prepare the Twitter Application for Development - -To run the faucet app locally, you need to create a new Twitter Application for development purposes. You can find the instructions for doing so [here](https://developer.twitter.com/en/docs/twitter-api/getting-started/getting-access-to-the-twitter-api). - -**Notes**: - -- For 'App permissions', select 'Read' permissions. -- For 'Type of App', select 'Native App'. -- For 'App info', fill in the 'Website URL' and 'Callback URLs' fields. Set the 'Callback URLs' field to `http://127.0.0.1:4200` and `http://localhost:4200`. - -Next, initialize the environment variables by running the following command: - -```bash - cp .env.example .env && cp apps/faucet/.env.local.example apps/faucet/.env.local -``` - -Replace the placeholder values for `NEXT_PUBLIC_TWITTER_CLIENT_ID` and `TWITTER_CLIENT_SECRET` with your Twitter Client ID and Twitter Client Secret, respectively. You can find these values in your created Twitter Application on the developer portal. Read more about this process [here](https://developer.twitter.com/en/docs/authentication/oauth-1-0a/api-key-and-secret). - -Visit `http://localhost:4200/` to see the Webb Faucet UI! - -## Run with the Faucet backend - -To use the faucet backend, follow the instructions here to set it up. - -Then, update the `NEXT_PUBLIC_FAUCET_BACKEND_URL` in the `apps/faucet/.env.local` file to point to the locally running faucet backend. - -Happy hacking! - -

Need help?

- -If you need help or you want to additional information please: - -- Refer to the [Webb Official Documentation](https://docs.webb.tools/). -- If you have feedback on how to improve the Webb Dapp interface or you have a specific question? Check out the [Webb Dapp Feedback Discussion](https://github.com/webb-tools/feedback/discussions/categories/webb-dapp-feedback). -- If you found a bug please [open an issue](https://github.com/webb-tools/webb-dapp/issues/new/choose) or [join our Discord](https://discord.gg/jUDeFpggrR) server to report it. diff --git a/apps/faucet/index.d.ts b/apps/faucet/index.d.ts deleted file mode 100644 index 7ba08fa17c..0000000000 --- a/apps/faucet/index.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -declare module '*.svg' { - const content: any; - export const ReactComponent: any; - export default content; -} diff --git a/apps/faucet/jest.config.ts b/apps/faucet/jest.config.ts deleted file mode 100644 index 57785fc56c..0000000000 --- a/apps/faucet/jest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'faucet', - preset: '../../jest.preset.js', - transform: { - '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nx/react/plugins/jest', - '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nx/next/babel'] }], - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '../../coverage/apps/faucet', -}; diff --git a/apps/faucet/netlify.toml b/apps/faucet/netlify.toml deleted file mode 100644 index 8316a1ea67..0000000000 --- a/apps/faucet/netlify.toml +++ /dev/null @@ -1,3 +0,0 @@ -[build] -command = "yarn nx build faucet --verbose --skip-nx-cache" -publish = "./dist/apps/faucet/.next" diff --git a/apps/faucet/next-env.d.ts b/apps/faucet/next-env.d.ts deleted file mode 100644 index 4f11a03dc6..0000000000 --- a/apps/faucet/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/apps/faucet/next.config.js b/apps/faucet/next.config.js deleted file mode 100644 index 1982e127b9..0000000000 --- a/apps/faucet/next.config.js +++ /dev/null @@ -1,19 +0,0 @@ -const { withNx } = require('@nx/next/plugins/with-nx'); -const nextCfgBase = require('../../next.config'); - -/** - * @type {import('@nx/next/plugins/with-nx').WithNxOptions} - **/ -const nextConfig = { - ...nextCfgBase, - - reactStrictMode: true, - - nx: { - // Set this to true if you would like to to use SVGR - // See: https://github.com/gregberge/svgr - svgr: false, - }, -}; - -module.exports = withNx(nextConfig); diff --git a/apps/faucet/package.json b/apps/faucet/package.json deleted file mode 100644 index 745b88c97c..0000000000 --- a/apps/faucet/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "@webb-tools/faucet", - "version": "0.0.13", - "license": "Apache-2.0", - "description": "Official Webb Faucet", - "type": "module" -} diff --git a/apps/faucet/postcss.config.js b/apps/faucet/postcss.config.js deleted file mode 100644 index 15d89344f9..0000000000 --- a/apps/faucet/postcss.config.js +++ /dev/null @@ -1,17 +0,0 @@ -const { join } = require('path'); - -// Note: If you use library-specific PostCSS/Tailwind configuration then you should remove the `postcssConfig` build -// option from your application's configuration (i.e. project.json). -// -// See: https://nx.dev/guides/using-tailwind-css-in-react#step-4:-applying-configuration-to-libraries - -module.exports = { - plugins: { - 'postcss-import': {}, - 'tailwindcss/nesting': {}, - tailwindcss: { - config: join(__dirname, 'tailwind.config.js'), - }, - autoprefixer: {}, - }, -}; diff --git a/apps/faucet/project.json b/apps/faucet/project.json deleted file mode 100644 index 96139caef3..0000000000 --- a/apps/faucet/project.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "faucet", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "apps/faucet", - "projectType": "application", - "targets": { - "serve": { - "executor": "@nx/next:server", - "defaultConfiguration": "development", - "options": { - "port": 4300, - "buildTarget": "faucet:build", - "dev": true - }, - "configurations": { - "development": { - "buildTarget": "faucet:build:development", - "dev": true - }, - "production": { - "buildTarget": "faucet:build:production", - "dev": false - } - } - }, - "export": { - "executor": "@nx/next:export", - "options": { - "buildTarget": "faucet:build:production" - } - }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "apps/faucet/jest.config.ts" - } - } - }, - "tags": [] -} diff --git a/apps/faucet/public/.gitkeep b/apps/faucet/public/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/apps/faucet/public/static/assets/favicon.png b/apps/faucet/public/static/assets/favicon.png deleted file mode 100644 index 055e8634fd0c09bbd557903ee0045136e69b9282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1506 zcmV<81s(c{P)H&#MTT*dDaRsMJLFPYjFL0||g48Cv`-bnmee10A)5;Yla(2D@-pn`iX1*B{{nv%_ zU&2}x#G1y0`3<}&i+QMs%vH>vay!^PDZ*33$Ykp3qjzN@sXS{^s*3-r63GY{_fiO z;sl3h;wmX#un&nloTy{rb?(q6nXbaPCv%!)%!Zq(^~nu&%)C1{8T|zC&slebm;N5{ zuY6zU)y+C;;p4Iyma~?oM%N+wC@^PZVPuuEaUK(Vt$phFd+jJrN75nv~s}5o%w*~>B*HzP2 z1LB8s7_oa3|Mx+RBhQu{u^^D@rY*w@r?p9}z}0ETWH@fyG07v;U{68fIRN++wVI23 zDPe7bY`(8ZzO^sinj{a{r$eHtA|6PNsFZR7|NPZd;ka)Xuki^k>Um}!M-iLwRLvq~ z&Q^H$iM*w@tWGxEeR>SrHrjuV>@td>{ zQM6ytX)f4!YudN?JH6Ph9F@eQ$aotyE&PH`j~MoKsb1Tmd~p_vaE4}fVhL!K;P(O5Qk^cnBn%cjiVxgx|J z?&iV74KU55SU5Kya@QWg5X&vB2rMGzu9jpG-KK4Kd2X{~FIMiJxq$)2QflN;M`=A} zo||K_nWfXcobEk@n^({>#?z2<)r;aXZjSMEHLhZcSa9C7*EOF&*Xz(O^7$zljlE7nQ;3@B^uX{imecXp=GLf`0^ zO~{1+?U=gCCN>W=4}3Nuheh*YL=KHqR?uj=F0q2z$Lp0rbRZW>mP5=G0sw790}rKQ z=e}KJ<{cSPl!T@j&~%K7A8>P3Ty-Ep=k_vQucOq_5p6;v>Tq5!_QrjY<()tn;~<7fvLD$1@&aGhN5jLXthu8#<3de~_)g z{;QW~inSgSUV1y3M{S?Y|DfoR3UeO`Y3>2r==o_LY)eo*mQ?Alr^HW^g8*I5@z&ha0HRntRQN8ozKzutt5Bx9x0z8`53Iw$vnE(I)07*qo IM6N<$g1VQ-o&W#< diff --git a/apps/faucet/public/static/assets/og-optimize.png b/apps/faucet/public/static/assets/og-optimize.png deleted file mode 100644 index a1f88f018b09d554d107047cb64c6f36a7643b8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 830447 zcmY(qWmKHO(lrVpNP>q1cL*9JxVyXCpaFur1Q{R%hu{|69R>+7I6;C28)WdoVHhOH z;Bxcc`+e^@_s6q(tzP}>sjjMBd+(0X(on>GP5v4M1qD}GNlpg^<&`B0%F81xjDI^X z58846Ew9{_jJ;4$h~NLuhpMc@`1ju?s+W$U3<_wH68=92?WEPEQBWEau^+6^QE+O) zmF1-M{7{b`jlnx@lS~+4vC-YUHHW$2-jgS1F!Ve=^Z6Neb{>C>4PILd9`>qcyC$F$ zQHp(|gi6cefS(mp;b+fIp$Z>xo_!xY;I)}LOK}e0k0$|~@2DaJd%La1T-)pTs ziHj)t#Arhi#~F9O5lG^DtO$!9i9v~T@hP4j}yeAAJB!PGmx{sY>MqvVOA!wx3)o(C@ALGLQdSJF%!C}4r3AW=@nU?noIEsPt=Ml z39{f=yS^zt^cWhQdV>EYbN<~u(mDbQ4l-S01m9&fx$0$$2Q%ero>yJoWL3iSIyi!v zlzpkVMhhW5%$UWT77VA+9ZSWUrxJ<8a?^o+4I~x4S?6L!pWDH6Poq z=5+B7eapQ!FxV>MTB+M4=6KI8GXUeSdUL{tX8o^UAUex>0=BNNDA;x|Xe@r-yD7Wws>;~*u3D-54FNr@|P5p2Z|2~g} zuds!@^|d&a&U-%a31gdbif7S%0KiCH(1p#@p>tG*iZp6tbOE zT`aG6B|JK}86kvz7?7mo&60%Sl_f5)x*TkVkV>vMdMppVGVpcfNo*oC2{x+gxe|Kd z4@Tu+l+=u~lq##4)$wUKXJ-eh=UNOyC+QT-8~F1z(Zs}Zw=nQSy9lEx#Xp}-yP@jdDVT6gU;Z5?Nj1 zkC@Iat`pTA>6FQBJ6Y~cIGE(fSnz6txsiZ&lv(5lWq~5iyr}pJ8(xnI?`%I6CbG4q zK3UI#ULl^2hvGEW$19)amGuJH3#8w1o$mjem;YaS{=Evvm+?Cpoca=RTxP557v-cS z8Q77)=NO#%^uq9}lmSs*jp&#V3Nq-lB)t0ZPAt~z_>S4-b2unx#E^RVDj$!6bC*UN zSzq;J7~Z7OtDnj(^Syh~mufH)XOx-lHru4txT>q}DH=>`;Su0*-n^@A+XDO|PZ^%) zrEzvYfW85Tql3U6%dgmP&1K0 zTXvAUtrmFmS<6xW<+8_F{*5zb^w-(ZKKPTxh*vk0jJ}gtd8&r12TuMe{6%9^#nFOa z5HH?fWOLoefuf4KU?#l5EY(4EcOS7bn>-2priVZ$2Ay-AjgAM?gt-&C<98n;y(H@J zbQWh`GIP8tOmD4V@PY@pakg~K!w-W8g51*8N6Xi0-}iTGP2?03<4*YOoEm9h&)M{c zl9T9}s|TsLzyb&Q=Sc(;n?dc=Fdd+3ea6v9fu-x!fQ69bp9l`-ch+Ora!m0OCbs~H z(qp>@^XRZkHC(o?B{BsD(LXGJEQjCEF0{nRI$cI?of8l0`LgPU zDtJv|t52dOX_UMYnMr2g*`dVcTBrGlVaCTRjB@f<`oZW23H@Qm>vlX_rV%5d0);Q? z9mLA9>F;AR#`P)s18fCt+N(Z2&QVLj%)c4kzNvK9IG8Fx^&fLDP-6bi<+#ykpg-79 ztg)WZaCD!_trb7YqsHvCP^xxeFrE^ugf8#>G_b7}H6(1T-VY%Rf2w&xn_ji5rd_D3 zCClf^3|-Egtt??;)J=w5LsU{{t>_J;jTj!jM~H)TqeM)tRWl(}yLMv^;Kd(RT`A@q zd91f-cq!&SRC8B5)RGXuT^0{#CQ&syNzoBp(Hl9P z1-bLBvE%lPj9iiYl=-c9_Tx!Fs@z;^N!>id*!{6VxMVEa3_}G!v$j9Ls_tqgZ9dg^ zd{uMvZNg<&qT)4zK`d%**L=nLYjXH3T&&?^ZST#}xkU0xJQWYTM z$j@fQmt$6tRmfd_i0-X06=U}yf`+kAoGO3JVjNE9Y)aPcxk@|Q{Tx5eVIRb?{3-+D zglJjV)e@Nx$;Ioo)rPgh>U^QzkOg`bWKMpc7IY@S%0+XoF_GJ|lm`G8vS-%9<$Fwf zy**UZ3Tp46i)VEa&ISVZ>edCYfmuLj@LWNeC&GOKI7^-b7~A#U+{@sAR)q4IgTJ#@ ztv5SCw5`ozae0Omx?A=D>Z=Cc$i}3%&*&^UwJpKHY@V6zV?O)_v_wShYvAwDC#fY7%;l3%O(9K z5qO2Qncd-Vd%`z;!*qC_aFy9oNL6nH%@E@Z;n@FI#osW($`+WFM@8SHX+Xr>ZK$Ho zgu)yB925JRi55s-rGWwDfu>Z!71JNhaeqXoOwc_!B^=q zr*y8D3sqO28`CB6ebs|nw+_9tM*(AD15WM%U?xe8{Isafy;*OZ&Ep|)AN5&<8!yk0 z_17S(i|h5APpq0#xr#0LoE3`sdXpJKuj^XWe`YAzmthNf=l~)pTAGn~9H}|h?ROQI zWUCD#pQkDwoAJ@X9CxPXXsbV9O+R&m?;Ehjec&h=nOan=iAPhfdDMZHSKPfdO3|DH zhgaunZD~2!vXA`plK&Z%zgjMa@NbCN$BB$@ICPb}Jr%Q`R z6aHY)+UmdrrAyFaVNNR(0y6x!uMzSGEKAGpMGwcW5{nHPYbS%(terBCI@9Vpe79VY z{4Eb^J|*40Dy<8>EnhhMc}#-oUlpXI74=cWcJrMU z3g?;2n!stg7J;<#Pv=O~2NL{{`+ME*c0v6~CoB0Dt{%g+o42ofAJ0i2LrOdM280Q0 zJGvhgVg>PDidWzYy(#&<19>}CWJicF+llRpeJHW;6)qktIYb@yxcd{b@kMmr1UU(Z zrpTIkX;Oe)y&KE{EA4)WvQ&5ah~MX?+jNG~H#3L2i44^fr9A=&9H6MmuG3`-WI?34 zpYKe^xX!cLT1L0P)YJ(tZjfvds@Qyi+rq8&C@p$=HK^=g`7wAfcU{*NPqes;16laZ zDZR$&o+r^TadSS$&dobdF_kad1zgltSu%8>fV6Y*uWOOlDe@l$iE4i7C@0Osi#jfS zKOzB|65awZchRq-`4yhxN}`WCD2kH*Z@LdmeYF`dUhy21{OZ47(<1g<6!O!PqwAu? zii9lIZ|3_*txP>vRN#=^`1aunV(efheqPbKSF5mLLS}{fl}Wd0XV;I~SJSGxB93=8rGv|8Z|?4vETqrQp%vaTPGPN&_sYt9!iVtCj!Z3xPd z31X;^rn&|iN8yLfasBTl2Ap*ROPmp_N%}Imn|SX}7zU>7@?T9>AN! zKK#vQ;o8V(Yd*Zs{Z?aHrq3Ezbe%wt6A18I?XrxhdO5^sw0itYnlM{P9nV zt?T=Z<`MFUT;&3=cPH+3S9bBp=V~Ua#~>m`gmw$;oUk$R;j#y=#@5zX6w(I5*x)8guY4+4HYgCJ|tAg_9L0u_j>}2_I zPjn^{x7g8ErU$2qX^(z+7vE*op41GpU&&cFeDMMAj|~_1zx7N_LJVZvjkRt&pFmQG zr967#ci|-lOKIYAe?@DzD4Y6TsP7?K`jCrxIl<-5trt!qmvURG`8?;IhI|&?0`}SU-S%XK5ZN>8Q(=&%nKQ^wXI;8B$S;W?9Xxm2|=9{Ql zhSihciiXtraRl-SJ}+?DKs3dTA_kKj0GU+G5+sWL*;PSa68A8vv<^*`R$UYGZC@&G zNoh$m8{{|yg^)k6P)2iq?gAd6Y%D$L5Bj@|8VM~&GJRURDi$hzZ{@k|^H4*zU_RfZD&5MBIG z8xcJa24rzy5u%C6neVoy9g|jI<7&xbcdDLO9PGHbVduRL(86ACe{llFK<7V701Kmoem2r(OpNLk zLl=S4a)HdNRb|x2G2%tU2HT}OuD)lsOSS9I`dft`sk5q0fg`fDlo1@VO^FL|7OK}x zcy>e%&9BzU!XfnuPIp;_bxwJTDHW)@So=V9aZ629lx5#lmz;T~>pQW0S|IXHIo3Nt zhgs8cI&I*#x-0YEwO&(kEN2{hFtPHI)fvUTBU4C$e&jJEz4tQ?#m(wIqM^j#uSH(u z<+vUF$i9B)f% z?$+}eTe)AuGgRrFMA*mzVVG4{L@yLdVal1B0az#x6DH6m`n|Xf(GDQPERN58UR5c@ zU0MFL*$QCBJQR&=-nh)58%0F;;%IF@M@uZJko=h3 z>dyV-0SQ+Yym|WxX0ZBJ_pBSqbXb_%dm;O9ttKS2v$rxo)XuLUx%3qyh{lQrlI6)4 zNq}pD__VeFS(YPzAz}mdFmGLm{sk!8Zb-)|j-EHl3C07}r3P^L1f9v739|yyC%^2W z3U}YdYsqL_cQt;=hEF8U2BJ*5xARN`FLT=}5^(=Ne(!(EL_=P9`V6;)y*$?pOOZ}q zI<0g)urB|-@rX_IGN@-?Ijv=7!|uETrT5K?0A6_q=*EbsiWRUuMZ8|ukkeJ);`V2e zgx%D(bNrm!VPzQ`oqNEw)H(lzfQwd2L$$|@E`F}WVq_;o6>c|wljV5i!$K2LCnxCA z@y))xA=&QDw;h_zgjXdy{}2GDhmnYa``3%zw*v+FAouS0zvrGVV~Kmp1-=8Zy{8&c zw1~4!H6m-NlYtb_D$=3 z>BB@(8!Lf5iBm~eT)pB7^tSYFL1LIP3=D|r?Kqf@dHtW$JT#A?2>X{{5tW2YHeSI` zQ;gBO$RtvoT+^j2o3IPZr4)0MZq*>~JEumU#{Dsn+Y3Yv0q&XHPb_F^_~*t{n`^x9 ze(KYHJ%6W-Cis}I-gTk`W_{-mABp$itqpQzsIsSCGM36)tr#leyHK&;5wd z&o2z()2SFk+nm(5Lni{CI03VhIh!*TfJ}-)Dz7N`U>ff@iE9GC;LzG`sF*~VkGv?p zlbcQjr3dqnM;B@)UswFrT1W0(Ac9;w*{oyo9JR$5?Z^b~AGH2r4o?+=tL1@@7IbVz zSruLXF7C`26m@HrI~|~L;ypi$6nLL($hRPzhvVX}N6pMUXF-!}m>^MpA*|L@ygZ-o z@Lu>o*>8FCl&p^b6aGW+#V@uDwb+6pcBi@z9dY65sznp;@V?Tb-uU)?Aoj?|%IRkp zO~}zRc9w_>sHNtxG3(}eWDB%Kpa+wb3CCX)KYktgj(q^BC?lCPOllbWlcSyV?V%VO z(AsM1?6!1Z_i5I@<1yfYU)=Z8D5vIflZVCftPoB3^|@^63rnK89?W=gAG>zb#a++H zi|!}ReY%D1o5Oh|neU{hwFo`O4yh)yP{GPApG0*2)!G&qG%gYwKCe%Guo9bE!hvZW z$JMi2?=q3B=kL>|0HujRBOHkx*r=FzC-X3pT2dbJZ(wwnxMi)63%OZdk3&n|by6}~ zZfQx+U@x&#Pv7bl#2X~DJILZj^arr(0XC}>7L-yFeryx{mS?9d#s-?zVu|7^_F&X? zWhc}sGmp+@goa#exPG+Qo!ckouC~x7vZ$kRO{L_Vw|&Y3zvzlbM2#~tAFJ`=RHWx_ z710NeVC!jiYj2nEx7+WiS_eT%Yat8AiocaRw6VkaK&9u0ez=hh;-%b;jO7<2hf>l% zwH)>m=1pUj-qn4ikFdJ!zPKhfEAvLVhn6kmYVXesf&1aj?G_gf=h_vNe8|ldTgQ(~ z(*D*(j)G$>JGOZ`Jc|2MJf!wR=eJqPq1I)3I$oq@6^jE!4=UBb#TsKp0^)m$ozPk>o1rR32O%~aG(BFs4H;Ifu zpcpI!e>|=JlDEbCSXp;im1SA#Mp`f~bIF+daVWd_6Tkf)eN;)SKL-u*m}$@I=K zGDg`C8&B>gSOWhqqCPQspRF$tB`K>$wJo3xxI07Jf z=82{ow$PtGU?4b+6Wa_jyAI8PLJYS5IIB~0*fT3R*3MapBYT+>4a^_&IxwL0`BEWN zULr#F&2gI8RoC2H&C89GaA|djUT2IK9qI(GTAeI=Z3YLt#gTo&DD>Fcc6_z1!VN(~ zu;ZkuXmWL(Cohq5T&;;(?QeDeW-&hB$CjiS+Pt~!C0gMxr_s4+kV_k7zrwTmISHYn zYN`1A>7s{dJ=|XJdU%;u!8TOzVBo(?44->{{b%Z3>o%t2lv>@WZub?R4FV3^kv-Dq zahRecO-;IF(9MbqvYsk1L2 zrx^-OGHr+zaV?tPH}RAKGWkR`l0@rSF?VodEQ!rpP}+ehx_Znj0+W*`F3Ksfq(5VK zQ;`4bEiXHlHWpB!yey0gfRMglcnfVT%A%HQ&lKIR9y5`tyMCHYn~wf~R+#}?d!Nnz zO5bFx4{3O{y3m=I3Hm1Jfb3a)BIfjnkFfpw9$>8)4E&o$A0I&SSA4|Q^A4H>xokBK z8YmpCsj_y(v0?HE3wcMgcTt+)CgEXp`p{~d>yW5b5)8e&mMU>tb4#F=wSQ$R?jbAz z?q&)iIpG-yn??qpRRJ}VZcDEShnEU_>8i(#kS&+hYmU@5_if*jAdol+U8H|`Eyu=p z70!^h;s=SDS+OP)sfIs3`RTa{n5p_t35b=S3`U}jZ|9f3n*FA3R4~wy3DI;O6It>c z*ce-_O+M=WI^^o2_Q0L@ztd>gCT4ifGiy)tMIqNX>zf3%{R{kvtQV508BGZ9??QsS zrppdlBPLPw97S<5mh`z&WhPby{a2e0RIfW>20uG|4Xf;jw{V5T-u~mXL5p`>=zD{} zE(I=UBG3p5d*HJMgnXS)ZJXU;N&I70!g0M^!;ZBmWh!2^06$+567}-t{OZQoBzS5$ z;Tbvpp0JvF>hFVRyj=DEeob|kd)xS|xaJLZ=S8k2^UbakeVVBvL9fizUx3dIbR>4*SXLzf)8zyVFC4lA@zik z51}HT=5c(ZKGaK1`Q8rmDmga%Dtp=C#4~>~mc~~S{Wcco=_Ri1|27vK4C+M#9rR2K zlTVa9?P@abF*)UV2!rd+h1jyJFSZb+y2$W_fb?(_LGi}n2fR_~(hr8iUlu>HQb<{8 zLb?VIUWX#QrDBW{WNTfl@l01Rq~z~iJm#=L5xDKc)P3{vRM1fUwT&yJs!)19o9_1P z*^iHHB<&V=kdsTZ(5#hpiWJEhmEqg)>$J7)#LWki(5W+b;l5j7tbSnUeaFCw!7?H+ zsJri&*q4B^8s*X*deGBJM zXd&SP5FdZP4SV4qFYceI{wkT#pK9w-=O0R~rfOdQhDNxnVvQ!{Y`raYMA3!$@YkCgf=1r^60%ApkEC$&`piOd4=hoaMaobA^%KL2 z`laR21)p_+RvYs2J%HKtsnatK=%%SlvIlk_`oFB)ykNKyK=WXub!OZI!Ih+sP4f~I zI^|y&jPT?}`Umro;y8tWBoWZTqUh}EGG{JM%4JTXAEryH7n2JvA=C+eoeS;c9Z>^| zIJ4^}ja69XJ1lzCG}GlZqb-P&eYs;=sKFbyox@pu*J!Uxh_$q(H2GVWH} zY)C4nFzDc{H^kr9HQ@tXl$H0ed_K+a*B)o8uxZ2SG#jUfrVWg~N0eK;Ecbs0?QQ_; z1ngT}ZphZD$r!1+g7b~%*KBC3_rK-(jxRHs@gjYVvV@smQpIMD=1LSW>=A$3r%SXb zyW~iIy(elFUxFBaSCD1{sm-#zQAs07-$K4b@#qYBFVOw5T^=tFer!|Ecq0<6YO=Fc z8YHv_*wieH`!AFvSDWzJtH)tns2K>sYp!$$yVm(ipZ$iTE|$kg?2pq%n}YtR@--Tw9gT<^@qXO+Uu5NY%;gcU8E_8aztF zja`bD!&ZSUoamY^iSKHOKGz?T-yo`vT~s?b^7KN#?DlQRzR7u8(p^*QD)D!;#!@OrtDAbfVe~l% z#@)(MPd5gY-T7$2vFVfARep~+lyn0Vp;Fkgd^n`u?N}9jdAmTm zrm|kt-zK&!EG>F+J;zT16U|h1;hN}65mRr^zFGH%@VrHyr=z|eX4QfwUQR2FO4w)w zv1<)cxw^9AeC}c0w@(91j4SC+{vpy}l`|F$9Fd|?>CxH3S_1iNN)5=~Kkcs-`3e2^ zlr4>RXw(fUY8hOxTI@Sp&uN-&2e8 z^*;ctzi@1XUK8CY^xPr@0tY=;iSH|X`a#_-vSy8hwPdhyq;n+jr5 z@eHQ*a6g%oX#PpJSw!mGpRDY5+eEkT5DVQsyG<$k*_MY;A*wHrCQIbKmh4ZnUbN+1 znQ$X%^;AqUtJ%cABtuIkMNM7c@FBzHk}wZim0ZA>du`i#+=_@F-<{U3Rrv4E?)eir zgv2R>TXUJJA78eMZFZKQ2s!6y|I56qHjZ$Y6|D7IyWyTEDdvvEV~H{`=0!mDDjP;NQfa+J+~5n=D4|4qR}98)j2P z%u{$u!T7eF$`_b8>#-cW|F}g_sVjLPcpT@xd#OYj09>?dJT4 zI7@yz({2Ja>nOkS4H`@8`Hz2pI{-6U#5|$T5ifiD0Fr`9DvncK=AN7laZrbbsyI6t z4c~V=_|N3W_CPldHMRwXUMSuqUs=Y%I-qXvZ?pE?m4>l`#mjCFHa#OVp%lQtfUL({ zj_^y=`s=Cj+n1T+uc&FJrqSX-*rz2t&-Jm`89XxYmjjb@N%WK+rK&qVh)@ z_Q_3%72uI;dY$ez7A)rFB7{ zCzC;`Qmp^O`M{Ghg-=G4#lU`kGftGz%oQ%A`^p80N6|2Bh}5_?%5IhvSa_?oq~(n8K0Ul(^|#e!T&`F7h1dwc#9MB)H9Q<4 zyc5c+`6aW*mi@P+@=+}TLP%EkV3KK~*qHe7Q*-4jW8+R?=h7FAkEuMrZdH8qn1*+~ z^}2xaS*T_I;W67F}oYQ1!B2ayU4~9)m4&D~r510BaQaTlX3gx9p>a+A?4!_+4 zdb$f2Z10dM(V4t3_%YPK_j1#X)Rj9Q$oSo+9V5(2T1Xv!=^iU;YG(Dlf>~Kf)YiW( zKg!$Y040(J$Idk~=__?>wStC192r~V&K?z@(57dX*W14%JT7kF!0l+_<~Trge=~ow zaP3g?f7&)8(GLr!fj_4hB7jf?042 zHhyN}9cVO%zNiY3aW!+IRAwvcC8G2w^_qdKla^r>*in>dwYuUa^jIn4G@3noWEpsr z@5a{pm?7aKS1@pv(vzFJC3-OQ*(i*fv!d;tL%coPYq#`Ow`o%#ds*zCjt#;2RS{}L zsL!!+rf0rP2E$t>t@?qRc-%zuGst9M&5Z)AE|Gf27k^-vP{tBTzesGuK+(e_W3Y&H zCN%@D6!l!YZy2?Ui$tG$ir^m$CH7mwO#3rDl19`Wag_0=x(ic$9=_wto&37`FZeo8 zA?<=7DAv_vAbE3wA7sW3 zz@~XdC3dQXp7iBs4AJEkx@IQdSX>Vb z9UnE*3a1~51ha;jTLulkSYtDsy{bEJljv+IaQvm7rYCav*%6yj#(-&+AJI6Yh&Zil zerw{T@YG|AV-MNn;XCGn%aFY&jf%{8>b|HdeI^W2>EF;P_%x2WHW3iuj!C?lt8+aX zkayaCo2EtTdU)mPT>#Fu;1QUz3Y>qF`NP)5fo$wbY&I6(t`0G9CmPXZ-sSSMmsJ8C z4kxPo5B2!Z=Y+Q8tDU6Lv{o1_Q8odOLTH6^05fj`m6x;iE?Vkve62aljvb@X_ZYKY zZZbV??Kh0%x_n&ki^bY;q%zG+rA|E@EP2JhmF6?jEi@WYb(qQ)b;jEQr0dRGz($Rr zf(V|M;h^NxXK%QP-= zlO2J9I>2AI-rt6!nz1#1gn;6=Aq_`K0@TVkB7^>id^k4#iubI5BtJC0tQNOYyx9$1 z58Ah$|6^qq2`4${+Mn%88MGFQP{rpufMI@G&ZVPN_9MsJm$EUAdtR9u{1~sfC`9lm zbb73m%Ok!MldaTHv1;ne!Tdm8e4Ud?cH(vMSwLf8@kO6-f_GJ~YMyc2b+*v;&Ki9x zK(7^#F~Pkd-zEc-hoj-car{?4&VVr&WSO~=k8TJw4Z6}BxXnk@>+9_K`2JM zD2}ZpXdBV9(&-0{n_c%d;!U^LtQ2miGA0l^+3|deQ=S$Xg+H+rX0KxOlmiK6`Bcv8h{A zI@O#4uE`h-4kjX}Ujx0c6mPi{zEIG07&eB>MbK-A{t&ay@BfOvTT}q%Rb6QsgAZ%J zsV&9%MWUd;@9v0bR`~8}z`dih=7>O>GecZgrdqK5a_!9+SM&$-NrV?a`njy@LKSrw z*SPvs??X@rR*wYpOt&v~a(LOXb@~&qDOO1<`9Nqb;GSS#a?^Rqw!?H3G;M15S5Je1 zSpTk$=gpA1ojbk(8Pr^9i}p%zNfcr;^s=(;`$OG z$VX0fJ%>Cm#OB6QRF7cT<^!YDHTDx)A9@Gwy+3Zt+-d?riq~rd_3?E8PWOSQ%cbgE z=_@IOiNy>lYUG2MKm4wEkJt@$@l9a|RFZFv?c^2CMcv#3;}uR&z9r1Ue+G;&@C=op zKVCASp^ufP4v_Szn^ih}hLNWgc3sJSbzx6E_!MYc4uXA0k>{JKHum+c8`wB3aMNS{ zFS?l<>(@@6h_ga#(461CopY^W^Q`naMFi05Usq9e z02NT{uaBXV@URn;iG>^j;t5ORf^xt5m2xV+tLGR<9*Pt8IVrx zTNUdHQ9iG8ZnRSEQRGx7(ltChJDm?M7fHAamMAEOiM=INroE0i3FxjmD)0d3(;_4c z(S`dkp8mR@obzsSPgX=c+P1*LI(wF%<1Vy1n!V=>he?>F9W^O?NdkfKq(h+_AqKO$i9aB>*-ba(>-%0iiaX5+ff~yY(4q~fV-!uU!g`+(l^^OqdnsG zd4fQT=+qwsG%*6}BEwUW3u%M_gZ69v)2Qv5>O<5BUCFn(VMDSt{5KWf_@n-d;=qwa zf0N9ZnmyL$TtdO@8RzAYS=*YoPx^Mho1SgEMjg zczZxw>yHv5SLUOFU@`j;j52dvUTI%-zG4*YZqA5M)>?(zrzhHf_xlG@o(;@eX) zyBMUwPg##_^Ky!pK43Y?E!K*`q16<&v92SfFrlt7caD zkL7C!68b^)l@8G3A?eqpGh7}yJKJ0ab15aO^l+Ncw!jF)#Sv|qgnhbF`4FJo8Yw?H zT5`G3A80hAcb8qHF~RC1InQJ1WdiTm>k;^8IvX_!w&bo5OuV^8tAKsWD$9k*c{T*! zS9By0SGMjS#@($2h!!F9?&6VK5M;AM9Sl&bZj!Yb&nH;uVH~6!qzp1N{hXJeQu8^g z^T{WMjcW|ufBoHsDk~>>ExSeO#-hrorz!n!s4MaEr#j1R7g2&> zgtt`-MZoJ1XG0>sE8M2+BIM)cYgSC1xE+x;x@OMCXWr>m#waUCWN;yYY_+#8Wae*Z zyoy&ozKy(tZz3wRjr<^eWuqv0$aB_E+0A<3)Qz+bPrXeFQb(;&x+2}cHr?3VCI52h zAJ8*-ksB^WetY%s`Y$E$2<+XpIpBZ(JIz79fb!hO`HaKC1`2nS6wKvzaGh_vy5og8%6;@V!_ zq;r)Gh{I5CBmte7g(}U&gp4Yl#b?>fDz`Sq@Vv{G3t4u`RQiCs=lr|seawjoB_}nl zN3HCzfZ>364*&O5tj&j{k{!gM={Wc+#37XRSr;&J8__VsdQ}*jV~P%5iB3P;+P5jA zcR8bms^#Y?-8@vOTEf1@#l;o`TT4dhUB|OEEDPq7{)m%m9jzzSwPo zE4B`xLuO@unMlYs&D;zAe7tFI*lF|OT&Xr=?6+Alm1t^kfYu?V>)tfKWjn8Y@T)Xu z1yKA8;jB(X)9zjMFQ3v&pC|1fUBKIRjs5bGDo)sb#GI{FC zJJ)wnpMWmYUgL`D`LWht)AS<$_-lvc=_dDl({6DF8oz$%N0 zRfWc_ccpllr=(Avb#Ntqt=DjBWp{jo*qM^juC8u@AacflUrf9WHFwa$R z{X4^>Ym9hA({`V zt@p@SDZy#q%O_;%KvzHi1UQ6WUMWujx%xjvsQDZn9Lbq;CAA!UaHTq^GOg?vuhsL> zdm22+iL)v_<40Kiq=E+e@xC#@m#8+y<9K#IwtLM24C2jlYuv{Cru0vWm;8l5a6F0k zu1fK8f4Zxx9aapvu6e(ORaW!wp+Qu5*_miiX?@Iq0p1`r)pxX+1#8W0KBmdkUjJ|e zm?SCb^xYFMAR=lUp1=Pl<803;sozA7-I3CEEzpuOI-IwHQom8JNH0u>D8o0&^WFMC zJf$6=>}X@>vB)VP+Eb;nPcGAGY41HR_0xUpMx=f&lz-Qu57&g!0?I1*wbUtNEMw#Y zYI2as$m1a~n6Uibss`rJ?-&HIc5)&k6F*)ezuzjw2-?=?ol?5^ItMEa*g9n3ei|_D z1ka>viV;E1(#FHQ+yHZeeRGR%_q*UoqL@OX@q_N@<)P3 zqe0^;f(TS&CU{eV-DP<$dKCJ*&UQi66z+SjBh%DI(D7kOjN%JcYqYmp;r|Z`h;9%k zE__d14`pLOC@j%v6(g?&wJf~m^1rC{rMQ&ng8-atDTOC8L;bJFOUfHI60_Ab*E4h8 zzS584V7VO;bhImKW>60ZC1rYE9OY>J^G~L*acGVo;X111|Iu;S*y*T6nTU1CKlQRb zM!xy#r;yB9%TjM;Fh1jqLk1#QBdbr3aHnBz2{m4~=!Mek)rT)L@0UkW$3ZSmTBTeA zLifUHP{e_l1}Tk=e>e|bknytpnnYYY*>69X8=`*biP(N@*~P+5>U`e)X_neTH=jgi zJ!+hcbKl*2*(q0+hj3hQ50P}en}2nJ8uN7J{lRLH(8*H0F73Hu7cqO6{qMQbpg}>V z2kp&ybJB8g0{+WkZt9_!xRjx{iAj6A@3u6&|Ggytb-NQAPtikCJkwy%>u$`2CHnB(Ey)Ga<}IUEPc_~##%o+meI`Cyvw`>ni3 z*A{BkBi&OBLLXM$^~74O0hFu{Yggdw3%pCTZP}T3IKz#e!(8{m0pInhXlz$?eEA67 ztDkMYQ)1Fm`t`EbfK0FJvRgRvEH#@J@Ot)OftO~X&^5p6Mno-DgDo*NbGxi@HQSnX zY1xPMvch9$xBR$Y(I?2oIA_kKZ;{z#rCqh7b;zA?O8gI^6ZY|dwI0H6j^{to{@nKf zkA8r0v>^!gKAg0D9iTfX96R|}%KpQKhix*4Uy5lG21vX)txg1t;dE|UL#7A2vxz{? zetj8-QVywGM0ejP`5vP??Qv$9w@i6FaeC5HV@SQs<6ooHa(sl-(~u~1|A@NR7YrTJ zJwA?0JYS5UYW~OI~DbRRo;&_8ZNCm zI%!M*7@gbQGk4fz@9;x$-Czrr8c{pPS2?VAR{&{U8XxkO;L5Dj5XRuJS@_$>cbkjN z9s%QR`p?@tT0!0AFfbqqtue$pWQAB#7s}7SLlvK4p~7K@hADG7Y!DpGiCdHCL2Fb0m>#I;=5)%Jl2`X+mqZMe-D=-_@tfr^gMn z9yYvF^q`&8*`GtP5c_|qdaJmoyZ8HB1PN&n5a||>QgTQE=?3YP?rs>QQM$Wh=D0CVL%wVn`eF}|L6Xm%+VZvUf14xU2DCUmO$2wb{l2*;R4x?e$37zPCm48Q}8b# z@HcC{WMOZ!wqs|H>Cw`( zzfvq9%R&OmMoHPAD8nk-2q(S%=%1B&%=D_(1e=a*Ey$l?Er4IsFg>2RoPjMu%v?h{esgi-1nW;e~u#wQSPbxf-Vaa<4yq&Q6uP~q0yvW zgUd*XQw56`*(af`}X4+V$QE1#)+6`*07#(wm;SqI*(6xR1W(e|rn* z4b0oInSHJ#M~~vTspE_R{bTj>0fsJWeU+9O>!S()ug@B7)pYx(FIwpvV(LiS``SLn zO5Y#0ot`8kJ6F>&gZ$-dHDoaLMkn~n**+ujk^bI(Dw4kr3KH6Eq;Qa5lUZ!}cD!&M z&q%gNt+rJwp1S|F@XF#Rqtc9C!>b~nK#%UU2lBP>W-JA^qUPC4!st%jm}Z=o6i`?A z-+DdY%elDd*PopW-W<_Z_AFpzC(L&IYuTX)^q#DtTxa&%S&+|2}BeU+3C`%3j$>)6tv_6_`W42pitE{~IyHKf-S4?qyJ#e@AlU zSG$DmY0^Ah#G&Ki#mfEQ5Qe`CSKk#WBjf;3KHf$sLr0}{t@qQV_t3plkR8E zGpt21meKktqjo`ZY6gf+l(-8%mB3TYQL3BV==9o%2rnZL#!uqnenEzaiKWpu~Qw zczGM5_q?;fbJ7z#9LV32Bw+K()w@~zLhS24!O}zimkkFkUgf1pHp&oeKWV-F!hijG zOnL3(pOh1;rO_PDC%k%HRssSGftVf_mHP z9`DKpufK6&EftUu6lrw*luqIXE2fy=K_kTdP3Bw@t8RLWPCyKttpb)V15&;pL2o&a z4UMn+;zw`@QOftS)Po6o%HEuvuggeFKN|A9IhJp4 zayt>uCce@uX(mkhj{@znaQ)%H_xVVN zFdX1hYHz&lTm@|EI7SMqkmeiK27AnQgjSpSNxU%t%5miUL2q1~Q)1uF1j|GRn_6mspJNvtj6EbBZ8M5fuFk?1{$KAC3%fkxxE%iM$ke%xpU z*J}psd$*(umy7U^hOW9L!iWuS=#Vt7QP>!L_+s?E;#f+}8bU87kGRM(zOVWIifOfh z?-e+mDG|Lfkrie)>EcA%2tIFmBYW%Bt1FF>ac-OL?(@5~M_`qkqFXvZZYV2tCQ{yL zPY2s04=t`l-8C53hzewD`7(J9ApXZ9c z@7{t7#aT5xAep}CbQRHYoG&0ap|OE^)gmSoKE{F{0gpNbT9RHtBkc#Yx`r zE$xmpZat1k&bG^PVRKQdlAA@J*eB@%JK^=&efSxum|8-}S$}(~5>oH+KJ(CLPlQl< zh||yD-*38zMrrKi{muV3b$0LPs7{4hU?1)EUjrJE8)Lbr1Td${h_jra=iOa(nrE4e zsGPyU$-5*U(}(cgJFv_b`nx_1S}x2?>LG~a@Hu4{{UN5m8w>kjj=+=TX#1Nzr{)m@ zLfKEcwWxfM8_906^2L-wS9452K$6EZ^Cw6R!s;exgw3~S z;$PO^Dv5M^pD@wFqK7fE3x2~U%A$3RUy6bHKC8w$Hg|u^1vTK>xi4{1rt$-k;BC?K zdyn4HkVI;xxOPfP)FvfiU`f_7!t)VvVcuuC3biZ%+FtVD^nd8UX>)0(KmGFbV zTK$04Fkw={8eK%r^Lyavu)U;xvW}$Eo-1#QR z#NK;n(Pa2%@39NUwcl3X*0@SLQ;t?u?M_||UFUTWxNX6yWrJ>zk`~$#yrIG+;eXsNV|RfbbNY-j9k zt|?Y(vMc^Hku>{@!+he9G>spZ zj;ZY(~x)b-D%AE7mB04W#kc1Jma~0)i721wL|}e83;*1G|z}3zZr2rl#(pYM` zz+R1{*)(xG6F6Ck)(j;CNS^ldQ>Vks=79yg=rM;-xr!BSf?gSBUA*=g$$B)gS9d>A zDQ;=yc~HsD1XQ?0sYa!iv<6YuO(f8n&1w{zz0f^w&kt(4dwKbo8Y01<=_P9!dFhC@VC zqIHL{$ed-qlf~ce^Uh2C!kefqI>o0yeE%{W?{MAeXzP)EJgmd+h;GJNTs+7#)2f>F zE(q#Wv0j(=PObg1$7+X}<$l_vTMSG-t&6E?WOXZ5GoDdjX=90}AF``(jid$2{X2L1 z)_hPY!svEaw&whPvo>qEtxY*d!T?gkLH%IhQ#*v~{SHH3e2k=9`dF2o3QKP2RPYu6 zR(eLnmRGP@4>!NWv~%5`yM$_azI5c6K8J_TD#*n9oo3;dKZDJ}zJsX{Zt95W*%+hb z?x=*WWaMc~s8}O@E3475|BH)A4^@Cr-xcp~=*QCMz1*4`Kdsv_N24F<-iLF5mV2=p z<>Vk|>QOgKxvxrTgLf0K0TT@XdnM17x;b0O2VJzi9UNc6v{3iERg_EOqPTYQXc3;$ zcITLl=pDAabb3TYez?f?_ta|~Nh3>o0aydRwh(lw?pEFDACnO2atoR!tXnFcM}q5_JhqY$G!Cy zOLq1BUO2#Ps4!#>DgNJ_tDM=JD7tgFG*|B(suX>9dE^YM2+`^lPvao@3n}i->=3T| z%LC4rzCP37eij1Q-Y1sQ>c)@~iC@Y&cS?-@nGccWaXdckT2?1rH?Mq%Rv+e)|8obz zazr^;ZoZumHtfED*7|6jejq#iHs_%It|wwXyaAhLS)$gn?OTtr=O}$;tDfRBwjc*% z#m)uhs3|?_n}n3i2tXevg=%T(MvA>qN|S_EY?@*d+a&bFaMEZ+i$q{utKPLUoM&WA z%Y4^XH`I6LSSn-tH-CA_f+<%k%gd9i@w7`+n?(TcfzdSH;c&}yL4yVu1fE)UZk{~ z(b>WsgPQckf2;`7@z=`Cfvtl?8X#`qLtu;_OD$CE@Z+HeJn~gsOAr9YvVINt5npi6 z#U3oj5lSI!S=9DvZO)d%bLw$HFs$uQ?OqMNCvbO_-7laqx*A<}QC~Rd zXp6!lio$Ji_QtD@kETK31sZXj=qt0TQ~FZAD&fJV+Hr7oq&<|5d>0t&?WFWCu%%3_ z)9v3Fa&@DlHtVJmw@3e0b1^FR&a_PR47R9Ne)6?MGayoUL!lq`pU(jJfxI3%6X;Xf zD*(9_tmr7Aq3Pm|g^^LN2@nuFGnutu*nYHz~9fa%B;tGb}DqiOtU>i=Kd-wl0wQ$s)aK7;$Y zzOWTjdSriqnDVD)i8Hm^=a!VUQK|${k*wp{apq%2G-`5b{whJ5wL)bPX}shI`+M#?=FsgK=q!yT(@q{F4EVT2e!rHIQAOp0r&jFJ4G)2la;%c`I=Ln z#W18}HafYX`wXAnc`+YZv!reQj>k`rsJ4VWmVM+qGKB_ehG5k((@)JeDxc6<41RkI zx;t}ceXe|)8bi+i&Vjx5v1(FuVww`uWR(BylFSvc`+wpBVYzR4&VJLs^Y+rZ{lP@u z@>T-Fl@{=bEhZcp31~i~#x}6+h|Vozg9FNEeYKX)(0wUE8=OUS8(}8iYhRWNf+$=< zPIIh;>YYO5yxyDv5@~@y-mf{ZuZ%Z5rzg3$(UbY`S~@pR)#J*a_VZ~cCI>b6aFG*l zxm(1_@XD|6&qBGE1tO#$;DnT1S-BI0LrW(Y>k|k09@+NGeJaQ4y-%=c_Xw2f7KDreM@Yj6 z=x4#nnFa-HnKFR8>@Po_UmD68y0}t&&d7(oct)l&y|&4Ws+8}I|Hgem9MtjDWxuwz|(=j;jmYHPlck@4XN7Cx2~RtU!vYk9-UaGrg<-Cq!N=w=DYJV^k3vDO%_bI26J_^R$ioiQrz zdNl1seZUD7`y(fP#3KXiS2R^}_#k?&OKuj%J)%qzL%V*Q3*q78-I1gKzQ*Z4rbBNU zwILr&GWD0IlRrC?Qlmcl^f~X>LX&)A{QH#SwYgHq44zU!-WD(W>A-t~q-bJmMG6}x z+VUt70m@0|)IzdM+E2GzRnfrZ+R@-E`iD3F7}MJy*Lhdl|5-gutYfIM@TDrwo7!&e zjY6v#93UU@KK2&y5@f=i@8_*u?$pwXJfH2>$mLJw-;JbyL`ING3J)d1_dw{(^ z@kZ*9Yx?E(4372|b}hc}u*A4G4*Tcgb<6%!oC)emKP8_=)K)yLQ8g3VSLgk4TBp6-{KENb!kH8+4kILUmopjY7s((*MBD9#gpS;uQl0t)mwWBJ|<@ zy7SZxN+?%9NGd=i%;@XbV>;p>RMM{CET3s4`uihB^_-JCxdOiQXT39YvlcR)=N6_) zk?>nxF)ABM)e>4lXA)*TsWs%-*0#B$YF*^!{=<2FcNy=t$qDM+b&*NQ(0DNIo7qGW>8s(Qv!OA8etI~TSfbNtBA1y z+=)+=8M&|`X1LHmeu;M&z@JA|^!;jO`C51_?H{NsB)t_5H;7ezFWNBK+S%@qhjl_D zc(g(ksh(-YTCRV99&$5SEpYiX|38Z;yu+qF3Jjt)3^Y~Vcx0Ncr4mNN`R2;#_JpA- zBopZ?SNdovf7R#s_D4Untu+>r0Nj`jNxbtQLhVIuhXmKIwXqM#Bdm881r)#;TYhZG z$wLwo6wBAj5^qj^DR)PlhLDr*GHuUXB3&q%P`-Vge53wy4vveQW&50h@(u6@ph2=* zhk@_j{|PdI+CM-XJ?8#zMXgW_z)tWxGFBS5ot}x1@ypp;&wzS)O^)WNU89ycI-Z{? z$2vzryLH*|pE#KyhkDD~68qP0FkRNOLP8;RegDc3L>zDSy$gT8SZngAUlGgXpg3L; zFQ9ic{Y0ebfIv`2pYBdUZZxtgNN{HA-8VcJUw*t5pe1=k((aZE_yN=Ltn@3hw{9*? zi7$Wd9|L01q8;RU7lMO&#GBuhda{X@?XXON-4KGIwGrrXxGlA1#(^nVlUpyh^r#0g zQ#P=Zg-%l#DD2(3>ABBg6|KWpT_mP68V`WUm#Fw-(eC5li%!yo4qO&tjqnO;f6m0B zlYjkJKV;d)1?=P>RDG-+Lz){!leNmp6a(UiG+TAZjbjb<1yf;mmMx30qn>F~m#IFP zr|g3cVHfUu8P}wkCebbf#v*K~a7aw^Or_{y+t6nJM#W`x-Kw2Yw_4suy>GAdj#pdy z_Mt7u!^tfupe?v~e|wLPu44iiBkQrlE7AS_MA1#{_aOyHZ}iqF{XfHplQWNeo(el5 zYM^X)SD_=n&foonU4&5EZG;aZ(`er4w~2LUa|Wpj4Iz>0bI>l7ZeF^hs?4Y?lDI2q z;P-1Q{@jPd2l{3Fm9RE%zk?3?q#HSqqX07ikTV*>lohoZbq4&i7<1{WIdI)_G9-7~ zY%k^*lql-rRF}!|^;NHD;)=RI5s)1K3pt&?cgCg-v29yW82ons<{U$^fU(d*>$YeZ zfORczcLm#YiM@uCBaNhfgth4_Ipz3SnK0#UzE~w%&#b=lm;hj#CP0-4ncd1vvG3%9 zsX~$Cp*;K7fB5m_wPUeHx@C&7>tb<14{4+&6gw+J_+e{Maj=-a&_Gkt&4sN1hC3Da*^|RQfjB`duPC_ zt{lIvuoZxE8jmXD7g@T$vkN$dz;||3?S=ppK&M1hyUsEyGh+K6`VU^myFia*ha zBJHkgn@J;v@WFxAGco!}RpE_%P8)((3}c1cP83JA0Z!-3+*=6pgUpeetcfY3d9?Ln zv<&w)W}x`q+nxo27!j-hq?#Jj#*S9s^u3Xk3`3i$FG1+BnUkq8a3W_LrH-ty1X)!e zLH(gkQwXf^@kfsH^cYY)D7B(!w71h(6`9Ci|UOAb@f ze>{rI+V^~x=RL}D1ITe^n)dCb8EOpdzoOXt$GB)GBx|fz`*)Eh8lGQvI>w%ULIpPQ zJg&V{_l`Z?usfq`!b}tStEBC?Wm^uVe2owH3mO{w;`eaw_tMGcha|O6)?|v09@cFm_@`MlO zrIEqC>l@a2Y-efU1YR>A7hZSZn98H1rncXqJss-Abo>G^qIOGeHD4 zxPCm(AL}Nky$YeIKy^wqVN6KuwZ^9jJ=w6Guw1~W7gcaeTZb9+sYW=|^H@M^iZ>D( zlJ+7UV2r}f-roVaNA)UrwZGkfw699b_sZuMO-_K)i|V0}@be6()pJ4y50!WP zO5fjCd|Wmvez+7nqP^4jD6R_k5$L|+yy_N1cW$}t{Y)vC^gHp7%-_pr)WunU zrS}H(DaOll?w?%D^sZui1OE*W8>!de3wfv`spT zpdtqJ&hhjXTL8pEE*jZ63_A`W46}2DiN4KoEF;!{sBK25W+@0ERh@qg=(djcIGxtG;+f}ro9~#V40NpZd2NY16X9b*ap{&N4>=KyoBXaC@2u3-4e zvs_<^LkTAo5HkuH?fXir*m$|@3%w*Bw#VNkPwCtvtm6VIvaFWXDnXKM?Yd@j zs3gMm{X7=dun2BY9U=rUavptf_q;V+bL-Uhntp0-W1yS1Qm`xD6vIJpp8NL`XD4z5 zJesa8lXyDLt4mnS$vhhSh0a`-k9~jE$USO{-naRe&&P}H#-E1$m2TR-qnDv}Nt&A! z$!2VG>)_EyIOhP{PDO#wnt1PT`VV}|Ru^HY$m5b#k0gCU@64)8gZp6Y*$awK&du@< z#j!Q**JMi{eY1{5u~Y_JzzlDN!QH){JWtOsIK%Vv^~6B7Ppf(br=gMKg(d&d0pfBE z0&AwUHD$Nj&Wt`|kw;LzNBi;AH7M;$&G~xk?yP4Zdk6Re6*#6`Tp{0q%-ZUI>0?hx zy|5O@4*#3ojsq3Dbfwlr`81l&f}NoM@r`}4EKJr~_cH@Qk98cyx#8dN4{;h4)&~rr z#B=q2^dpoZSTR`LyXadz0u(`+0gqE5Kaw1_!B?Pfyw~*m`M!^goGDr8Q%mSNS79hO zaS>VB`gM)DOrlm*EU%;E@*Fn4yKt2V;ft8XRrsl7igoPELeN?Rzsi+P?3WGgtVVNJ zA9??XjIkmY*(V&`Oav{|YVUGk^(zg&2$~n^Mev*QSlR0%2mL=`Q38go&uq4{kAIGd ze-LV&%mBXSqfZT@hl7#tv&Yh&_3D#-=Fh6GP22)?5?bc^O3y{nI&@mn&%kLW~geW}zq}c~z%ay`D|kV&Zbi zsIxV&dz)Zg>#f+a+W%D7e;l4vcKLzn$D&sY$U^XO1pDmE@nJl+4Q1XYi}&UJ*alEZ z)IgC@^9}&K%e+uKFBf87ow7#21p!3+{`oCN29h|evq(6sEDI7eDfPvwjOtnpx%ZP< z9>e=;f?MoqD;DR;?@VAf3cbI3*jrlU7YX|ab(of4`4?j)84S$32lfd$PxLO?-1Z~- zLx3NuMDrKIAG(HWvA)NO45bd#}@;LWE7>|@}?1k(a}HXq)xs%3Mp#e zR8Z}tVM#W1Um6CG$$C7bb#W12sgEB&WL)_wh2K)jcIsHnciZ=3!AI8m!0T5TNm`@Y zV*C1I*X((v{;xI0qZsuuo#MdpcY8Xn4JA)3*)LYbv zOTO2llYN@Q!Sa?`wlMjlRwCUL1l4Ze9<6#3ekb*1$aZY=67pdqQ_I&NA?jxjb{ubu zxPMgwVcPzBt_HxxHgPF;m+9m&klSf&m3{(R)s|~79quNEJ2j`IRy=xtXQ%*8JNZ`2 znG%=du6w}tN9L5GB>OVt=Ao0y#NBKwsq;N+bmoq~ph%rK3BOlxb_qZQiW>D%9AJ}TXYyH{>6y$ zA^rH*3reFnkgP6P=C#U^1uVT${((qG%UjLWbm&QKZ$uwnQTRIb1n0>kk@?HK=qEuv z#qQKvGdk>}99ivj-Y-h~U3xL1QIqe(-N!am$SUs}GOxO~K{H6=`uc+Y{{#S5u}n zF`38$O(lw{0qaX#$C;>JuDQTZP*mYrO8Bbaf|koJTJAHM`H@!zOf}L#cu%%{w=?5> z{cRN*9gBf{3{Xj?NLiCn;UZexvMsBe?KF6w`=qGGMb8;fI=x(!kpBz5r`UDcq;3-W z=5^k>nn4E}Vx{FeD_U`Mfb`ZBuhm^A^lKwaEDM}7Pvmoer^_;x2ffJ~`^>8Tt{&mq z|7@MGaxr+EE#4kBZ}_2qe3%ThqIk1JD^qt3QlfAo&5AZ9Vw|4{^GS@b=Kpk4+>Xm; z0pLreSmk(j5XbFU3yH>iP0B==FEl)9sy5U+D3UA?(-7TWJN~UZS8wz*u^mVwHbGxD z?GVdj}=`>PDD%dpEHXOPtKn`X7OA=G|DMSk;^oyYQ$2%!ew8AswaWr~TaCMq$WI zzAA2KY}w)-LN^o|9cm`3>?WQN&Qkukx3O(mJ|>v0W;80O8)}N$wYL{41T;}sZ>tW| z4_;J`bjxVmU>`XWs2Ke_X*?In;zAYW{yX(qZ+-y{p;R0?g-z&3>?}1UNZmw^|e0-hMKdLy6FK#W~fXWb~6~yss71^yz zyZW49zf7Qmp@oOtXJ|sNMxM0mBH99ry9Qf-6=^J6D3w}dwZBE^*hRS%OVa`xSfD}t zDzR2O;kRRpDJHw9Tgwa$MUg>LQIi_VXCGsUUKXqc6H2$mN-nuj9>%WL;6dD!_-|O8 zaOs%PusUT$A(w3HEdA%q_!@n|oCAr>$Vk+zLF8amFkRJuKeH3`m=GRO^%LJl5fs*k zV6(Ahofs4zj4@=Y-Mk7V0owQSK?#Tb+4i!>77TN$b*w3LhhIM0`XGrcueiD`4X_-p zI(IqMF8x&ZbM`6gRw(*S58C&{Vf7E0HEJT${95_Jq}gKI zBduF=!&NBh9m^llQs9ZI|IQ)2GwNxB8e3OQ~2~(@3Ms2p7GN zm*q0r8s1CYq0pxO=&0HX<@e<#KraMj3}F^V#DMciA5GBmNIauCx&oej0uiZ%tHqWp z9)Ct0lp6YzmC{4&O!0@vAZOt7*j9w zHZ1HYpOjEB7I9iyi*_7GG8R`QS2(eWjK7 z6x;3DU@@3mTFtdoYOy`Q`a*uGp51xB6!^D+S9T|#q0gs9xMjvPy|3@sMq(Y1i3F+f z`z`}SucFFpnCwm48MV4Tn;-aouMro)EexNr0eH4=%q^T~lU$cjroltirj}6F6GwVi zKHo&|2eYI?{N?6fZ07t?T5yvYAL%{z%bod2BWK`MqX2Z@U910IVb?!wk0~rkod$k9 z{CskorbwASTi?+tuyyVmJn1elz^-0F`^Hzp{vv<-qn-*UzRx|_FD)^ z&6j)|B|Zz%TDCGbuiQlwepu~b)DcFYDys4?N!F}y>8?pu%FOzqEaw73awD_## z*_t;KP2)R#{%s&^`lRq7*Cc0=efXyDo|uyhmywuUruhf7*GruUfjJ)9En>Lsa|a4Y zkGX}R$)5^@6^ck?T=4gwX{I)XL;wEH4S4y9P!u2gm$Z_@sE9Irv%G4`yH7YDIZInU z8PdgH{4rMPfq~{xE0v$bKC)qa>f~wv?^riv%!X?cqq`8NPj3aKwN=i5TXN|FFtVekFXd#i;^aiy(_oHRuNJseDH3*bAt zmG6sW6Gh3C{NwmO{J&+aa5kt2(v$XANl`r`hbpXh5kdVcpI|*|X9K01W3Di^(?71HU0zkwvuEzpn)ClPt=r(* zBv_~7tnKh5_!#PO^E#ao&%T!znA*^3byJ`2oEAn}9$#TzA@|v5bas-o>blR_JjJW|-c&saL=os3lT zwKbz`;_IqObw!y)ofl_#tbQUR-vgeRwMp#->QMr@$~5;C5Ah7 z%EvmV(?1{Oj@JaI!d$K6$1g`BMX89>!RQ;)@BHuXN$mAU5bS#97MdLEFUN|de9KSe z5<8hk5%W5pUXlL;=Mnj$J9SSL=(AXSGgnoOd+=VI+{ipEC<PeztChJ6z^8*(E_KvdXy6=U3 zPUPF30j>>)UX8}zK8(Vo7Z(o0^`D7dQdr&3Y`appDF^P{+r?F$+_UlEhpNy?Zy5p3 zmJz`4M1I5aj0xm4>4(CW^-aaQ_q^P$>O_0@9~cFV(8)@A#oHTQQ-V!qez*y&36Fcv zS+YQ!vdI3mid%LU6)G&WKI;L8-3`5m^31tf@S;C}WYr&QOFAaH_XGq0hc2o`V7v z`&-{WY&W<4)jcF7s*nbIfmqi)6VT!CIUn_R3Z59O%6t!l_Zd|uTvy9FZW}{UKIhM8 z+#a`+64KHPmtsJYic&qZGPSUib@9E;n)V#RDmSMZ=cux7RCCuebTe-0F)82Ktx1g`}yvuq4S2GQVaP2!DUpB zPWrakIE!068~f{$fml6e#hC1|UbU$^Rap9yN4hTzDuY5*fi>wkEl9zQ&3PMd zgVbZW91M(U+%O0w=Le>Kg_Jy z+sg31w-Z!f2Jz-GYRxRME)! z$>DuGi2A#z1jKa!&wt(Zb4xbzR~kHADt0C>q>nM@Fg%ROn=^O7T{@i!d4#<-eyy$o zcM~-C6;IyBO9hK6zXC({I*Xw*RIDM!oY?&=$CTyYw(gQwC@4?u#sXE>P)6#BBC%u; zlDkM-v*Fh=b&3+5+DXu*=D?8$^4qOlU#yA;Z<`ObOS3W3g`laXa~bzp zJtJ#OGZB$WBWRlA`WPA!w(bQpkL8@nz~i)v$w{>CRN4x1^^q>j!9co|zp8Uxgk(|^ z$84&WQdLIq7)d{gp4CktGyy4h%tr6d0LzyA4O$_bp@X@ch1b*Mz(*G-^b?G*8bCrX_zJBzfZbR)+9 zmC!pe7&8Y!e}4PtE3_bItPSgs;g~xvt2WCll*($~3AL(;Rs3;~;rLvAQ1YEh!6?$> z;q?$}t8wBa^cHuNM@UvZrU1rR9uAjVn;3vJcI44T7 z_{)n?fu#p-|8DI1-l7-(s=y;f;DI2*%E(ezu4puRjTPbsLNOt!sI18J0RPVX(FSvz zr1BW~u&NPW)|tf!QG`|_G}ZdpLiyfZ`sl7Nl&v2tf|ZbRXcrU6c}h{Vx9zAZ@#Kl?|V6GXe7_eW2E||DF>Ry3{W0Qow*`f z0gSVH1tyHf_15C3=}%#Arg&>6e1rP8`9=sCoEcger5PecT5-B5q2-VC_ zw200js9aHU())jBY)Od6M#BSb=%g9c7E=Fv``AD}t(NK=@8zco%kdoa4fJn zG3KA|IP|emR*JXu9H^PUpjsn(%2(Apto zlDxBrAc$qdD%|$q%69(w=P8NDHAaU?Xm={2n|G`HyJru`^W^*K5d<^q_>O(gb=8fA z8JWfItQd%bR*fq&tIYmZ0HopLD2iR(18JB7+(pL+uEg ztw=}4>XqcOMx)ZW-u=@am`Li1bc4jZ zf%AFJvSKd}rb16I`MgkJf9A_yjZOQ}hw>&SK7Os^Sbp|x8f&(m!7Bussm1X$bzuS& zW&Cf2pEM$M!@FF|`X3jEw`RK5AJkj-1AgpgaxRAOaXsIs*8CN(STAcqvjyZ|PrP#P z;HFHdGZcTV8ZNMWAnTvq-EoMzd(~7J5XOfw!@CdGv`BFm$SsJcIUbI1D_$qpFzA~s zyQYhMsDPYxd2Gp<=^9qO4;l}8s|UIuds4W1qc%ufj@?Ba93MXWrbDmw8EzKbA@w@h@n3t2j!bvBkr8UE z!P?Uo^6%&a)!JP18mR1}P_Lg?JX(VKTc#C4llqLxXHWtSh@3*wXlKKGWsF{gbNZj=kguy(EM^~eH*n5rB=3fM&2SY>`jSM#+3HiB9#hBkMhy<| zhqmCQeXgh@bC3qp2{og~rTx05Mc%WV%kbOnRkKtelPDn*E?w-ED7Z_q!0dFx`s~&# zM!Ndx{ED{ZVVxgOdYB6bCHI-lsmM=BbF4cW|NObnsC#hg0uifXTXt>t9TzjN?3Onn zrw6&$r~@6n{c<{&#$qf^AQ0l_1DvFG8+cbLir7}E?e=9~z>1I>siOZy0L3B$%_a8X zrQujU8W~e}_0)VcXZsy&Y=@4=)Y!3mdUd!gKUZl%Cmme2A1VFG_-^axA_s*kv%!xk zzl>Q&25woC8RQ;KD;eplD;cQ8)QaT37~6PKR!e1OvVQ2H&|c&2;$6mt$aurgb_FfJ z1s}>b-ljhe%o}Bk`r%&e1E`tzH7Uv{E&%V#+_&yetnF&8B3YFVtnSM{XvRI=uaVvO zUr|Z>xtz+DBLGnU4-XJVMOjJF`#o1-a>m-4Y=TrbJ3)jaVuPmY-H%04lYkEh;lQd zx4bc&(Sji-gDM|%7j@QG+2twJp8?TRYKe|G(1AMh_-h++Fv=&1bJo%=6C>c#@y7Oy zxpS%)eSYLniM4^imQ1sljJJ1NvFXY?7!a2nokf^IdX`G}*}ke;V-3-1ABCK6%gU^% zkJ*R%MFJvCw1eoB*z)M$d627!{Xc4M;Am&@?4tLDV;0Es_2{_|YZwbc%=A!P(RC{F z08zVDjumG0y010Lywdk~F?ZVEb#jVK>@eNVzudi-i6n~XZs{%UR3lZR#8|x=0Ml>+ zpaR=`0slg}=~q)y5xwvnSL?6HKO@~S*gM{>fQxz-GILKg2lw56K!b7kcBQI#hIYB< zZUC{ianf)%*EIP6J#;Bu)OKFsNxCbviPhe%kLN@&v)5|^_IFmi6IbH!B`u+#bZsUOA&x{kj%%7Ib!)}w;Go*@vXTWzqA z;U@fvBkF24Pf&y{uG-MB#@RA&F%`0U^3fmBR)mu5VB5V93%Bxf&N``9(n|gRs5%R# zIJ;#&<>mVnDnu#og)yP#+bw?$h~WJ zE<|NaYC+`bkd!nxUl!j24^ zg5^KK;19K^uzPk|j85L?8SvQ8PqIyH*b^@bV~hq?+h8t@D96)|gX!E3uC*=Ud#qwoaU&|I>ocG>OY8U8jXl50r&ky%Leqw+pY zbc{&O)|e0ovb&uNRU;JOn5#r9B{JkUe4R$Q%=yM)PP4PL_WGQ6wqENH@GM~0FfSac z`pa)J9L&S%i`I`v;>*plQswC&ItN?fRLKg=RAW{U7K5no4vOohCa|scH410^dOI>- zL+KwgnvT+UFSdJ*Vra=({h6Zs70^nreyynJ`f&3%Jbf3^)V12#Smb%XS(mgK@;XK> z5CWLT81ntYFCksmgJfRu58(inKJrN0m4f1_gn8G0Hvocb9P5)L+g*Pe(NuxUw<%`p zdFG){i3*%p)#jPT_3ZNS^GY-Qu7)D4&(u~gClqhIQhwc(JC(;pXhi$V5_5#y8_wO!ktUwg%S{*H1a=fK5^uU%n*VyOAV z*Wr^~^Kp3`T*b!w{?-Z^X-?PLYz$hc8t(|D3ZT!5&d9&jXd~XXp79`U0Ed zkQJaHAc0!Vj-B>hglOeQC#8YSGb^)X0Vf6$ozvqs_xNh*C%?%ZD-N6I9ct{%F10kK zq-W{~8quF;qiJ`)s2eHg-wKCuFkB$vejhY`bx6yN}6qMA^Gd zwa1wCEPbJ*hA=9My7HgGt(FN)#85Fvm%Obb{?a(dMUGP~WBx6)@%?MyUp!+oda9`AbI#5f z?0V>fD7mqj;+8)6Q>0D*#K>FuV*BOOk^%kf6 zsxVsKa$KE`oe%0T5zBED!M;3oy#ZOK*J^$`XFq3D;`~A;J~sZdHD2PetZ@t!9*{Wm z#y|PxqYiB>|KB&P53|gQsGou#6(E4n^^xr2q01`|BYrKWZdTUyVDo|hHqyhEjq1d+ zKIZ4o;oX81{{V8MJy2W?s(X+%x^cu;qGNKig^sb}<-r*d8 z$m`CJ_e)75=P0C(*=!Uxfq}%IwR)2svGL5<)y5EA011lxpWGYbB4r-Bu4m0aTb_g! zV(c1iFV?W>>{uI$F{8*-Q5Uv6h7(cJH3VD zsyD3z+;FWKJ!hR<+NRP^x`DIS#owezu*H81hdQO$>Wnp^3z6RTC+DB7+uk!w2x@>k z|M%?RLoX}B9B(Vq6@sG{o~eM4AmJ5E+N6`Iu)1unQ%}3u-LkCYfrvXw`(|d!9|K>! z=f;qGZvXY?c6)nxG6u64P2aC@V-&&oy*Eov@*BXAc8d#^vB%eL+iR(=%=xm!hbnD( z^x+Vj$AWA6(M-$+by7~1UF{;(L)uMf%~>Gv-LTD6Sfr;(d@5UEA3i=7Zm51U{&>Jl z^lYY@L(J`;Yp8w)^C^!5D0cMwiaFORM@B!jvAV1&sQNY3zBMxTa^#V$)w%HH+Trk$ z?a;B|-O0vKt~#~5TS@v6PpKaUx=TetB(e|w3tmn$49_+HTqk#hX?I=Pu${5|U`HIT zxJLkO`L58%gV0m2D1(!eFuBgwmry`gi$@P1^5hl{V+Hxnm=3_6FqMH+kFYNo1Fr z0}COoU1Fs>P96+YcHMYx1zX?vfrGfu%SK8mV2I^_@W(u>mnfe#x$ zu>R<347nALOgEvhw<=$8R!|YGm4P% zWy#69LU8oFxwx3`KV^M>REDo+yFb@bH?n^$K~#Te9z&!pv{BQ|=8;#VLls?4upZql zAODBTho0ucT|AYDM4LDTbqGKm5@!7KcKjC93>^Ex@gpoF=iAe+tqeveM8y-02q`~q znRl61Wn!mX_iT%+uq}Strl|}4`a@%4cT3eg<1kWwxis&|ez$K|$TY0wPUb+ZVyJYn zYe@BYr2Odv6VCOObLaE#u$He=z#(}jEY&!NJ1RbmEQKaPK?;i2!GNjbvRk5kP~47a zi$~z>PEZuwKhX*~J4GNtpToU>PLAP@hujd}mFp{1%AM3kC@z?@YWZHc+c0DEIp(MM zkzGy0pD~M#zNH$+41ch5NksB&{XC*K@w2{{{cjcL*1OVvuUl)e#AZSmrQGIWO^D$^ z!jl`Ry2(exgV&Gsx9c9~ME&eFQE@+solJ0a!Br$=`rVt`HtDMEw|AF09G!*lja98F zIZPs~tQh#$JgQ1949F;tL-0Q&GVmH-yNcs(SP386U6Ll|4YI>BSGcc(elp8n>)D*` zUO92zRVi*!aArx9t`r*g@Aj$YCfXZEW$rvOwRJ&6CSj;TT&q7EF8K%>;t&){&ZK0H zUPnG+r2yb~`_o793#LCc9{Bhwb(Nx?`k@^w#EFf5s6=Nadv`mw@zY9FTL5dBq_8?z zCGTtvY(A)H|ChRA%-(?~qZjKv7l;61*51j-%>A){`b(g`fgn{$#WbY2Yw@#=o zDHCf*KfLw(=ORd&gfUknx^U;UDdC|Ty=`wf#|$dB2n!%o6|cy1vUoZIbhFr&POVq4 z8K+w%l`>A7=NtD5eo=kMeJ@>EFr?*B_B)0ock39u0>ji~fAA&v0G#1Cl< zEQne85n_?`G>=2ZQn-jCT<{I?2!#)@@HH59ku_!xu1%U(da3_X$yhXh?_S#_-`Cu= zjbDgo@5f`|<>6Ne)F-WD;&M;qNP8pgA&Ethjkccb^s?Lj6G8_&!}Am)CO zQ^)u11&Ck|n-Ob>!)ZN$+$(QObkjwT4?|y9iEKx-V)`g(^`0Px4F2+ z1oONeDT}~E5pV~7_CWBPps2N8s`G>H9HwTW*AQ-#)OWX005;F})0ZI=y-_qK$Yz00 zDR!w(b)cC(cJ7>x5t$OxJVi)n(kEA{KXwjTxwGXo@&aNvhidOzyk$P6tD-%lj}5+Q zk>CbbWuuuJZaaOZ>|`y0>ANO7&U?(}><8(1A=1AgecFsLX% zx{(Q-Q#ABBu+Onh6;2aQpwO22@55QT3jk~5#gBen=EQ{eXE@RS>J+`kycjb|$4o?n z@XMqflf0Ui{0+q1ADF{*Lz3tzIxbByhR7OXf^kNmpF=uZelT3&1;r8D3~O zRZVDJ55ICIkpt3IJyc*OcYwiFoN=nRok-X(s=sZA>WwO1V7t-AzManBV@?(4?iRac z&Bj6;Dtx^uCJ^LFsfjfGdiHc9Mbg+{4UYNI!_>bFUuMgAdAhAyzZx!k2Hyk_b6Hux zFcA=nB+yn%1|m@>h<<6!Ql6dEM$_akV8Bh4*vNc+C z)LP7T8{Ms`&ty=(UQ+WFj{&#BsI;dgdV3Om1DB4}}4r!Krw zbq;?S-KT?9YklJH7{)i&BgID~V}Gl-+Gd@#%#92Bf=tAmYXX5q(XK&SUk(UGJXcUq$&yKsJ6Uu2;*J=7#tC)!y8JKQO7|RQNjy!->LLDEy}gb44y91w6dbYE*QUmDmtVvBzW1Wd=pRP$ zLyrTF zTdI>00K&JSl)dWS6;Lhf$4|?{dHQ~Mcy%Cs1HH2lUjwUsADdN(EBlil&fgQ?-d6lS zKU^XAIJ~26c0ZHN-iNW#2N_o@-2L;`%M$OByz+dxJsU?eubS?iB^%M?MQ2clM$y`X zK@-6KP%CClJl&x2^K=6|lv7YdoV=@Hw?UcU{=-qWqvsXR6 z1L*bCIbPLX;>Bt z$-tlFdo`r3`Z@V=JXci?oVT~s5aoXd?57V_^O&i{(XsZq~N(EWg zGO%xNdNOWFl+d7+Ldult4F{@68M;v&T-A5U5_j%kT1pjXn#9yOhZ5%kDGhN@OuGxV z;gGxuptWZ8fzQ#J#3nclbm4AB8Y}+RLUJuj$~VC>MMvVb+&-y?D--r8mAfFJ2Wo5J z#3wIow}d!}hRse-!jn^hY<^GjKif!<-3)HZjI3 z#dSv~guAw{y(06ZxrOTP@|k0~rm5ie>60RN)its;u>h-aSM2CG(x$kM(`L7vVgAs1 z%%`-MIZ?x-kH~b4`VO;wC>i*=#htc`AngDh{jY|j z2O8&(cWhq=S9st1qe)h@l&^X*JGT9}0bc8BQF=79uL07JMu$2>^ z>3H4yG6!y@$))vI#7U^x)Ae#7j#UD>4oAtpt+oG}^HroZd1&z%#dc;8IF=gIJMM#g zQnHthImvN5v#MTzmR=op*3R4{uq5%=CoS?Q)v?YX21}2(3qi+dKE#8aU6l=*?ZlrQ z&XaS;^%kZA8+38)Bn~w z2Fs&%|E7iQ!l!5fBXlNBpeohgoDR}eO4!m}iZ`<{))!Xu*OVzc29YR0x*#{R>`UbD zMvRJ%^1h-Tg(+u0gMwVF_CUc97vtNTf;fzLV&OG6E?>i%++do3|Nr+>;5F#9z$xqDfWeqgXeL4&)qD69so_cU-G!(W)x!#A;Pe7Kv4i3RzNK2r!iOrT)?o+q+o zn%BP+)j8GxyBpXm6$ge<`uh6+2-|8(>b)$*~D8B$rce>yRj#puv+gVxy>wt*Mx&Ir*!N0~Vy3j&!Sj&|;gCX-M)7Q^4ZC=b zRJ<=$zWC5j=Oy(?ha~Fs{kSGWCca+o&J|^pO>DUaibRKkKn{+3ECBpYp1OOo&P@*) zUM~v&veZYCUlfeG1$*{@1GmXm}@oKB`yiYe@;;1_GLtD1SETItwuQ_v~ zQP6Umed!A^-Qyes0dX{JZ`kRcsEm`-WJlEdEfBuN(4n>(fM5+(!)EvaWIX8Tbj}rT z3Q$)sF~YeJvmc}93%FykJWiMIyR^9DLi8mOv z`XURq?l%;gejik@SPVFQNEhq{5+P(sj3VgH)p-pXqU#Rel$~fSPlh2D_59R3Ayk_e z&v88~9m{F81`~eRgQX~x_Cki$$S{LLG|3>^q+I~z_;`xix}#m``L8}v-2wS0#Z;>9 zVmiJs$fAmARUbZFU$@_1>(>)Vu2qZ){IrLBFVwr&OZ=~@iZ6`5%nEcDa|$L5yI;`I zTPI4F(#}LK1b&N-U#ojgC^5IWhHuwdWH|zLd$$sac)5EOGuRR@ zLcAEd?=P5B4_*G6XmAJ5%CosaW1eaKg*J%7W9(>ETJQ&=lEH58z$&Wa_fBVMuC`(= zdj(dHZ#i;$@V=;AC8_3WQd55=PJ?)UiPxY(fuB|3C_dwbPeFI;f?91z)@$CAT1f5n zsc2GKQ3k*AO?n;Z$?>|C0 zY3yTP7K+xL8?Ik8v-=ghb_N9s!bbJ{PD;nf+v|6B(rVYgI@HFyl=g8s)FoU?`u*-V zDZF5evK-qdr9Lp|zhjo44>GE~?HKbfQBG7W^6_#BM3ZduB6{HoQSf8y;yzRI1-=;inU~<^g#@BdCi`*ZzLB9P(t_^4>@`N`r0o ziFUQtLee_yt_uSS%-yI;zgqA79=`hO47!v9>|SP|NMV#uqtghyny05Fb6l0hxU&;U zY!s<^>!DZCXgTbM-*-_>eNaAeM=D5$1wL-es%rVUu3`b5dQS^jYtPx3b-l)e{nn?X z8Svw(xmzTnBj7g%-b;}Gs^K;R@B0O~nuD0^Uy~GY-NmMJx$A+(vC|MA{-YluTJY|( zNUrkNuzipN8zlorbkHG_`v~Z93>YvcHdFn1AquJbQim7AGKRfW{D{jH{zyehZHdK` z#h`E!h@jo$mNT$^{nbX1aJcfHmg$KTXDd6)5*&JoQ1<7b;|KjV{)(!wKC#L}d6uU9 z;00sWzR%huWLl$gul?B0UbHhpr~NFf87?y|@s2l&7Ff%yVaK4kmcwl6BR~2w{t=}i z3{9Rpggl29G5@cH6ehPAnQaH#kY0y#MNtqcH4mLLfHC$s;+*ETao>npPaKq$4W<;+ z_325r-yfZe3K7-K)Vy|**V;g!vR}68bnC>F{vaX-i-WG`-6TjSt1a^_K~^Zv+*ksJ zL3Nfk5v}nJQ1=hvZh9E(rtQBN6f<9&2l+p8Y~Doz=!ST!nD>cI$`60_DW;cuT}JCF ze2}#XyTfyh`}Wde<+A{!`?WsoKqSckbwxZ%;h(bdoWM_NOwS%{6}uHD@?e8=llLnl z>4(?Lv!1tSXkEud?_N}p(fiRKaObuXsS*Wf$A!S%zo=XB&OB~dAxWR7F&zX>ouAxT z6W7hS{#X`99MKG zX1RAH$J&D1JO(1`J5a4wnXRr#cSLW}b-iDoLb#tiSb^ACp(g9Mu_x$(XXcowBC}tN zs_#B|mip|7`fLz~e-S4`8yJAbu&V5X!N-aUWZPlS9dBMr(#|)NSlOel*${ zAGgJrBxfm_h`osey&r73tTg(|nfDoH~nT-fu z1DXVX!@q|>7XZR)S^U*tlS=Hb-`2x9{azg0o;#0<=pdj3eD^E9LvQ8N3;f}333;B# zf7~~{#>ST_Y}yF|0uWBxj=a%E`%>QYRc9Qxr0P@!S*;P5`b%AF5}Mb#%5NAhZ+9T* zn%d$H6-L%r!koO!T*pE3^KiG1#N^G_C){(^A^$fAce38it^d*WMPAU+{GP+06wOyT z&=i~|6KNghHxyp@?RkSYT=Fa*{HEAQIBFx3Y@m*8EIWjsdZo}Nl8nz0N#1JhC?kTr z0MNSfE`AZXouB&D;V;6%KgrsE!Iw}|L*yjea+8$4u_@0d-KNJ#c|iQYQ!Kuq z>7xvti+%#^|9#Q4n=l-JP>XBX)esJvW6d^dHIln#daMhFOlBtN zxVIXP(t>v^Y-GQ?>d9Yq+#eHRh)JFHSQXkRDw)&@$-*&ruYV|KbvQR&E^E)>Wi&AO zGFffVbH6I%v_s0atWGxg)No@vK~?sqQ|PL;f#AD47(D`RS%istsw9@PEF){&m(Qw# zU-qL(nav0)ahdbFQL(`;WJ{OksAzX^i}KoRZbl6@!E>_^R8a;U7U}TCHIphu9{*u2 zbxL2o^p~zwR40kQ?LF*+9A(*zRs|Q&0gU+6ApF#}sR#!dKw zg7&nbH=&40PB+C0Es&$McVn%sz~?IQT|Od_4`j@H@CyU z*(-*M7v!4rJ@**pl33u?Ovr9r<9q0}tEwKR?g9z*#O-x;ov0E1pH{^5ZMN@s~#nUf8cXmFKM-1Qp1}^+UbXRdjaz_T$c* zRS*iSve1_G^)s`ry<6H*1hdUc;m?EcWY^Z!c?)JB{W}%n@O{i+7HQ#>;!me=<68(M z^x38~JTuXL<~!_7Tpnz99b)2&-zz4C6~`;P0xST(8Z|ma@hrH`;Zy(pO{Ln$o?&r? zy+YF_jU=gQIX;0DS331V6l1D|uvvN7PDlXU1>bB~jAs;=G3`{2wGU!^CE|GoD`nwb zJLe%K$4OTU{PI?dnVFFnZa7?Eap7bxQd(*P76bZLz5Qkuei?+0GRy}jj`LCc;hljX zhq*kjWxENG1LA2$2;#2_r7nz$I9R1D_@h&qM3*M9uFnwC;A)E86MC;Xo-4`4oabcYv5jL(arhz8PT@Jxr`%iMwvB*1+`m3W^gG>~^!EcX4UMoqFx3S2 z?en3>SrjHJax7s3T20_fDT+H3?1vAa%=95MA*Fcq8EZ#DwK_n6bXiAzz!1>{px0!)jm!?7qnmxxV*uH z4OMgG(z1CzZ`WTGMwYuj5Fqx=4dM=wN6enAKH(S^gR zfTnC+D~VNhxSvHn_q?%0lws`1khPo(JFy09%u3?~&FPH4Ci-&aJuA6_@);N57C3r<+5(nY&ek2Y1> z(!iBbj@oxKCl^;)GUop8;P!}n=Vtg^k{9K7sNnAJdO`N?4SYfRp-(E?CpZ4b`;B}j zQB~h)_DrREqiC&$c+|+i^eNGFjd=zrH7`QHhPYvQ@t|1E1Xu3+-)&?EA5uC(=>I(=k_;18s2o2s%SSfW&B2| zd=wL_lWE%6O<0WPcXnv}x>sL0w$geXQS_pMZ~0F#aK1Sq6gy^{&J#TvSEvc zr2v8hQ(?t?hd8aV7NEp?NSYYDGN{@SyNV_{ApXu-SSr_&ob!L$l_-#>>FX^M$5CB& zd&>73Y1Pnlz*86Y_`z32X8VGm{c?*t6m@&@UtdB=PayI70@lmT2Tvs~l{b1bR#j}M zb%PTr$^yo+t~DCx3lGaP=iL0(U+An}RJ!AI596|=bvboN{#2AN>}DUJ!}t<4R;dAC zOH=AC{T6mt^7|9aLZdbSYf+-cw|V<=EPaZt9oL4-x&o!5)S&svy z{mV=Cy7N~bE9twDn0A{s8A%q+kFPWtbdMESi)s{l+H67Q<`$$PxtgCu#k!v8g_1E4 zgUw;>x)FK)J04xgPSsTss|IhT%)72 zDQ^kLZ36fpAl#2W39KA|x;pxpzt<0x%*Q%M+$%7?1UxG@&MlyCT~fIh`F1T;V>B4t z`Yx(N-6om03>c|Obic=d?c>tu2k_|q3<+6@RkH`SNjDaJ_7S-$E`Hf)Q`~*dYfE&T z26w7}>)QjDy?f&37Z$%DkMUjYA#6xZ^#|X;G`DH*g{YR{<+$F*z6%FbO)oMS*=ovc z_HTbJe8UX8@YN!3vfq$K@v7~DD!Yz0>peYqdx1mshuysh=9NI89<_bQ-xb|~%8Iz% zp!xj0_ElIY(8`K8J)=$!(p)g>OkQw2=%`BCMkfNFza9GqE4WnW8rK?EQYWbLzG#yv!BQPy~PV0A8>a>eoJ$@oi7#Fv9Ma#XkQTa z4}+&gAt(Mx#*?ZWzVjM2#po;i{rGGr59X1R;^CiZBSzq?=j`(CsIv8kjXK&-D8)D5 z-~coxfQpA=nrO$3<5r2rZzNN3I!k2=Q^`vw8y?L}N`L6Svic+aa`VhMh+EpMP35%6 zSsm>J9a)#m?Xy^V^F=|3Cj5uDZ3IdO-;@Bk{}aMIs2e@fzF2OWPON z$L~UZs@`JH`|H&7>^Blk*%@?cvLe}oBp@Vvt})1%GM6?iEw!elxb>-VL2-ZB<+2@K zdsvIcUdzAx3pzTmUG4c~8&f$wI3-LOopR}j7(pB6VCV+VN1t_tEJ_5uU?l3)--1jh zJyuV+gpXvh{$WWjA4lC^9se~9(V^b(@LrBBt7;}iX+s(1uorVj`q+DVIfBRNU{W4( z38kGvi|o)O_pzXeh8PlZMdHyAHZMYswZ*9_I_b*LMl^X-vegl>!%BUW*2uNN}k zHN&$j`om<=LB@o_cE{5Qi0SBq=TpWCldhbR8vATKE97UrXAtE$ePO;|j__nvLhA=goV!8T^T^ z%fIbteYW)k(GQ-ZzGcgb0B4W>5?qgt=`m zHge)ux#F@>Q}*XIwL3DvD|Gvng8MXEX00+aRos{7S}zDcwR{^{F2G3o9y_aK=R`g? zs26dM@hdis?hC6zX^^=-i)eDf*#HZGsd@US^l)Hw!#=_XR*R1dP8Uv+L)(Bk>p*6G~ z55*dG^NdbuwS1$K6y824qi@{!ce&pWswY~U6a}~U^m9L9H>pFyBD3#Oa74nT!ymrdMiAn56j2niW z?xvp7EN@&~I)2&Vk85zV^Ic~OG79F{A@k}PerWr#8G(SZzcZHv(NBfvrmI2j*EVpx-WL4;btf{LzhHtl8 zY_@=UY~2JIB?xFUR^&so%gwUIzS7x%zIF}B__F=WkJiXAHkUy&R&G{Js^@kd=}1@l zUTnjdxej+>=;b*q2ImX78X(QCLS*vL#5~!*>$q?c5BN@KvUN~=p3t1Bx ztT=v{7ccIHkMyTriWQXhqq8dpJ?o~bkeIe9wYDnsCTCWx*;gpoPNPt`_`N#aZwiA) z_$>`XL?>qPFTO8oqyH0DkR+6DdWAI&6u$H%6h2s$I!KmT+l{-N`n9|ADrN9q3&;hm zJ$a?y!G)W*s5FK!6gZu5pxnk7ea2+u*`qKSo#0cC%K)`r2N35D!wxsV+kh|Pzjm97 zSeqUctiaa9pc_n1eRh$o_&ChX?Z)!77igBt`SIT<1If;@Z=G@p>lgMj;2AuR)M0vN zDypmxS$61I*rCu5jJoh!Lm~-EGsc-GLBta`nv~aud)oh_s*|B@2jSBV;xAFrulz&Q zm^cbcW*NHUi@&38?qqnwA9^IH1CFRrom~ZhhdFGy+6C+Izd~l94VJyT2Qf zi5qaUzl{o?Lir_8v_2yx{*y|7<0Z1fAODJX#p-uw8u%$KG1w7DGWZn{cW>76VI1kI zczbvXi90x>*JU*jTLgau>ljDM=UIIAY-limzU1HfIWLl5>kos`2s<)m z5)VD->M0q}7hsrdv6#SoYdBt)E}ZtpSA3KI#M>Oh7p|!LSKiq~cK6;2o>j1kmCtJk zBWXv%PK`is^YRpG+Ve&-1!xtDrO9lMAsQsrUiu*ICNcsXKCA1VyzC2yhu(;L(u97h z8m%Gb<{>0E$|B#tt{tSm6HTCgAD=QgB24c5NnI6H>WU5lPjTbx0>#mb`D~KtU3P^u zH1VS%r(x%OW-6SO+2X>JmrZL&` zC`Hlj;$o;X_Rs|)L-=XcxeSQ6`KfT!^=s=2yR;<{HoGb!wGD)$*oG)crO}Z4lm0Hb)g;PZw zo6w)aZTi$rQwP?*Q08cr!N0dc%h- zQRXKXmc>bN)vLaHBUYmHZj1nVE4<+bxQGA7wO9UjCIH`hkfkdru_w+`%Yf`CgWhd8 zNsIu&NR&;9O3AwdfRlcB`{^oeq&JSkM0j$F&)M&>v3ac>upTuY07liYq* zJB$zDn+du4|8U2L|vA|yGLcR8RfASKu-pQo-+0)H<#{Zy+QDP9cOQBtR? zkIxaC2mfn%3O+okcjn6H&%6tH@N^>>J%Dl{{=V$IyybVe79)EHFf?Tw_5DK6p0xZ;SkSsA5j^d$oYgO{atoymO)_BE_m zhKZN>T+?6^!0>teL))Sc5G5iEF#PqGQ^7%USob)+P7T{lQd$8KuvfhnctY;*8KKe5 zr-C>f2_J17ChS>L86Pn^mvU|udN0E9rAPNZ)RH&Zlbhc+eFC9>7akX4c(E~zC5^== z<8jWxb!t$)1|<9+D^pOfM~-ON=?-jBjj2AxdP<=kzS7Vi@UpVcQgc(>(O>0~`?!hkKi*wj6|LUA}hv^1R zF5yu3llvLDmLVSfC?NGcWNZ54q&-gDbDb%HhF>2EPmvmPF zpTiWjo_LuXc};+WZ=d9<7jKJpX|%6~mDtQw9F~t7lYM2R1WXfVLvK@mzXJKgh!re+ z5A=zIK4}bE6wa7E`iX=s{8@cYG#FIQ^m0I&&oc&bU$24UK9FgrMyX0E!ybFCy-l~+ zfV2Hp_&H9yc8}R-q_KtqtB7J4El7$6hr9zAQORp4ZUl>Wjimp zo_98EFC;v%aEet>ZO&!7lck|zj(M3HnAVV8<|OF;*Gcq(W4t2%B%^$-a8w*nOZ4ED zzfKMh9}tayE**#{6+?(LHAK)h5sBrnqGDcPfa&m+ry(G?*2K0srA9}-#dB6$n2>Kl zJ{C2@ZI=mV^pMsBK}o6`?${>@#tc-4k|hr`lk(*>IR#CA>UdM=>3*pGl4?83Mxfl^ zwPd={VKcLwb+wLt{a75z{i`-SM)T~j@ip*9jBBRX=VePh4%ZkAT`IhN z=Y?0op2>P2o?41aWGH*HYda62shVab%w9O`i@ADqg=BYXmRc^P_MNifa>%z?t&JRt zGzs^0ABIGB6sisUs5BZhPwlpdRE|oNeq^F20Qd$|Nbc#BB?;3ansd>Nf?dLunfGkG zkkH`lrNbeX<(~uv?Ol`0Y5j1wHG@r=)LW&F(ZzEyT@~0a7Kz6e|&jN^e2gtaHXWCuot6s(1 zqHwS(8Ay2_MthUn^6vKCj4MtZhriB7EckN&Q2JO2C;_QjslY#AV(6~MGJK`sX_8sw zH1(YqDUn7%rP#fxtq$_<4L|$93Wu%BeV||Bc0gXdVRm);!pFbMy3asT!k_oD+F>>i z@h2X*5}+=U;g{3hradMrXM9uC95r4`KKY|N#~W3fHI;E_q*hzUU{E}+;olh{^kcVy z$I=%~Xo?tl{{yWH3rHu9*gWS-Jy6jx2g&hWDcFuWApqGuaa#JL`JzFe)mM|EnD9!( z85_N)Bb4_?E4mN`3y}b{{~k1Ue1OR{tCIcqyi=Y8q^*XCyN2C`pggzn+Ksb_C!|wj z*O&rw7&EM-Qrf~w{Ak-)-`4^LuGOuX7b@SSx_jKmKD$0dtQz(!4L0t6O`_ZS-|Hb} z-APCFD-Ewr!2Z<09M*xnKnnYhU0MBqWXV4q&lwSPlw+ z#hm4!7MKrHtNKcXd*G*1aNz&<>{1mzpL{un!j&cLrKmM+EMU0%=xYiuwQ4xq0Z!~$ z$0rWbV(eUvjGr$T$zS=*tkh(*0Z;V*Mzdkxvt&YTzZ237fm!Zgjad)i@&q`~e*`yQ4(apfqBVfmW*)NxK^~i26dH0F$P_UXRzFOajGL7~&xCo>i%hNmj$xMvrx9CmrT`KyZ<6iQ0< zA!J6?HTKj!qc4EHtM9s=M&F<+8N_Z8`8_@Jl$4Z5z(fChxI_nfOQ2mYO(aYZhu35s z3~e|z*8G+#hPkqF==n51|u3ubvhUaUB5YHu6E#VQ1PpB$aT&Sn;=Apf$yO7Fea3Ca6M9;)3s#rJR01S&4g_rB$1D(@A}Jhk<` z$mZ%zZbJ@=_dkDhh;HFlPvGDwjuku8uN_n9)OoVo)vpFD#Ll%ofWwW1?~6>pg;%Ce z3OXK`!-rCV8YBn|%bPiq4=%0Yk*HO;)2$9Emmt32ET_z;8Z08RvbdP4)}8d3B*ybN zz|p#-VR`>{;s8gLYdf0oALCyZ<^gIw+?E@{1;!rBS33jDIg#M1O#art-bLd#ABQEQ-}Z}P zu;a6o2uH+kWm{a5)Dk$PzQ1LiqixsUW&WBySqb?;ts_jXmNK7 zw)36*`+bgck}=l2*P8RPsXgEH_c$|x0Df}vz4w&|ob~>;08y8**xvRry62|};EfdJ z*1>D1mimwI1rqOQ2(}L4d^zPLmZw7E+6ss%x4f|vwBdjd1|c)gK|5Zhqf$@*$YsRi z`81rz!)5C>7;CX^Go&))%jW7%AVqKkK`Q4%72!~zYR}_B43e3~GR4_;@%cN&^|`gH zdD6qPt2Yiq!eCLWhl5w}HgJP=$0Dpq#z$sGl=LZG1wPK?3G`y#_Cl;U73WZr@w+kS z%f4|YN7CEZmJK8y;SZ@CyX1B(=OKG&^O2bC=kALpyc-!R1 zSem>RJXS#sGaS|kU)LM3BcB)JiWfe1E6CL+`u{pcT50!$sPzO|0Su4G98~T-**A>s zk`K>R)RsTgV^3%OXgvO!Dv4XmhfNS0#Soi-eR(jOZ-0sZJnsLWT$=wwBAyxj)iaw7 zQ)8?xg$5ju;sRa2!y0qf)}$Cg-tF#HVFkQ4RCj-7!x-mzD7~}cAEV8?04uw&ekcTc zPA9gbYA&#}73I3nN9FOWcKTX#>Q_0d43=$Nal?OEKd`zJ*Pw&vTrmgR-!VKt1akzveFS|ldCy` zd|AM(^)TX{E!>&XM+HnQ*`d54#^~{KFkF6X+Yv zUT`Sdp>{U^Ugl+&*R3!78_;)H5KyO&P;!TM3)OSHEfhD|BBh`^l&L9F{WvXS|9fII z;p^41GMVwtAWJ#+7FQ4W>t6*C)(DDPJVDpH2xe0eBmA;VewFoe$AgeS=Br(3tYA7; zJQipC?3&l|qinFZw(;<5(T^eSh5HcFLpwRIqXB(4h&nB04}s}!Zc3zU^GODxV)Ntc zE(hwvGEiHMtyr}<_gtdal;^!-1z**&UDq7M>E4#*&%8bY!J^Dli<)mGX#x>;-6TsV zuUY4!A)@c~(1OX@=-{xPY;dB~u~d3dgV>#E8g9_7@k+4ldErT6Gz_V9^Y3)dtVNa` z(&(5+9%El}p^0!Mw&{Fk6$B(2&%ZL*b0#kcHxvw_99DtfeG#K%f{bCv6z5sS%!q%5 zDEYj_#PLIFSdhpV-!frLA4B&zj8KGas2t7zd5!0be{s>O?VFAH)?>N>O}noOF>QhL z*=qmMHza6rqp4x}`GpjDzk}g?8XPlkh2DST>urlJjV`%JQ53SWR&x4Akis&M)#?}d zx$F|knCMq|>(0)ir-i70)&`~wpOZ2yzb-*nVZ~jgx-ENNMWb^09IlhH(1$-hJI3m( z@A{d-6hkJml1p1>A@g&LdUNosbjG49X%)B#%kpquA1)P;~5dFUNA8Q7F2#Lj#*X zLsepOl$yU!11R2gPk9`R{RfK_LnZy&Zw7Iww^!nh{aTVU^B$agGR+s9cRiSbdoNU$ z|8~Ep5RphP*UY6WH}uRj(zos@zl(0kvGEGAppqPj$(?xR zO>xD|4c8-RxLK_EBeyDXM(dY^$@}kZf8KK64C*_a9DQ1xl(PZkGpm;*MSrG?V^XKi z2t~7`Vt2(nsL8x{9xOl$vr^AWnxl|IZS8VO3c_)?FnR#@cf;OOw;Gdvj7L}=vGSA+Tq@m38mZOyWoYY{I zAM9Q{wAQxPL}cHAqi*z#ay$r4>S!jPJwpX8oh4a2nF7R`9IS!Y!@Zw(fA6si00ahl zrT$pku3R}gZhiu_)F5nqDeOYQzabrO(*a%WP4bH67>G{*!*7x#CntpEW&NGk%Al~{ zO6>$(KRq0Onv4>xCm?-|Eu*5CGayw^gn^ARYk{DB8++y989drA3&U;vyGCzR|Efv? zby4z9iyXV^TtyKpH51|Rlc(!527k|UcINb(HX%22k%pJh0Ey%cOh7pgn022yyW<5h zZSweedd<04@HvO0qY6$0Wm}~`vq>t!a6;*SLi)SIf`ufO|BEgDp^URL)WFIZOmk)p z`QE%HYvAx?v!|zLrLtR|X5$q18Q0dp0{XS;t-KiVXXG*`-S>|Rb%o^zpn;HzEB-_UX&T?#(=6uIFZ_@WDG!|~9u;*W|o z<8?}yfp+;jj<-vTkSR5mNHhbQeNd@3G?FR)5&e@oBD^ZwgQh`2a5=xqp7I1RTO&{! zDIzZdAXN^{m-2cCj;m*PwHs(MCVwJoSdnrpKLTD?vP+m|y#3pJ_4mYgwgAqQ&wRzv z9;LsjO`7hbKezpy_*&w2gCgMuHbE->cAhfEyzI#MCI#ywr{Q^8EcU70uQYZw$fT1B z=#zaexBqGPduN}9FT%E?8YTy1PD^g>tLj^VrkD~%t!LyTh$yHB0-*`*M8%GgZ3K+2 ze|D7a=6=_WrF{>-?Vvu8@%>XOq7Y$D%ixly>9aSb3=B4QoOC6om9UDGu@weW1U_FC zfO?++laITJXl(6mFV($Fs9TXa925!Pqc=U$km!IpY8{#svXa-rNS)|w7}U1~Oto$r zo)hy;HT=-Jo5uSh_14WuFC5p&wqu`@XHIFhS4&rD`T@mwe0(y=3`_IgvSKFK7<17w z^Z~(nsgo(?hfI@GNtEx6rebTTHvt!3mEC~t)S?Ayt(S(yw|vW#IEn;WitE9tFUV?L zQF58NQDvBSTR*)2hnM?fDojCYD+l27Hk7;{u*@#3QtO~sUUmGXCo$`k#mVJv0+UbGwBl}?Q*K zGhLFGnvcUF6xW9z*z1~<@tt5TGHFIz_oD*R7rmDvh3MoUUvur=JAf)11N?QYb6^MVc0m9r66tCjVNn#|92VB|G|!8bfs*__vzy|g#z`;=qOUH${UZn*C5n6uL%uF^W=5O+Egu| z3?tJGejs6y{UxQAR;6YDs3z71TlP=&FYeu?rani~!Lr<6fJDSZ-gvX4LW*|{T(t=1 zVWQu%QzK(O(jSP2^-H*3hn^Dzbwp8#%2Mbjnb$3+jtNeL9pNC%n<&Mo5dptOMwQ(g zM`dXWu@!1j!CwaKO0lXdi1o3Ln~fC39!-_`B#fPXOuF42i)0Ci{2=vvH?A+c2+CWs zmg@Z^RE;8|Uasbm*96y6VteNmb3YmX?ae5WLo z{3F(bN+~omU*-D_%m2RXqSVqSpGx{^4F|(qNS!wJnrK4LkyfrjlMtqa`hA%r$gMmu zI;n9(v9&uPIm(_@D)lGIi(ERTEKS}Fz7#aBkOrcH-#JNx$H_SB?AyFl-Lvt0jA&%S z@J#97XsHk2;aiYc387RH)02r^ZQf8=ay88B^lLe$G0QT>t=01^WSu?7Cgm_W<_l2m zV%*#}6tlXWUJj1?`7-%i?0Bc9rtnAaZRC8>n(p%em_b#h zlM}w-30dViUU~g14P%3X0>!#Y*)GN z)3>t;UKbOUjUOtvdK(YJ^DNfnA6$cQZ&pJ`vS*q<*+x&1MW{jM?lVbHUCEXYkq!w` zxAk4E*JF#TY1&opzchW$69O$*GmE$s2)MACr&h2eC8sNDl79qMAFFjT9ZzJs@)A&g z*VLF*2wt?cop8QE9Z9~+bBQh(B!Y{L{J{8mM*eT_-z`RUB&$sU1DW_CzOPt*&`bYB zc+bi(Q2~Q)Oo#tfOZ+j-gr9mvEXP@q(P(Zy7%Q+aOW1_0oHW)Q9A?Ej@Hd>s&Peyv zH&-F>Z}2sYNt8YcX|F$+wxjFDYGCRbiQPTQ2#w~7>m zThe8H!Zq%VCza*1jh5w#O1^(k>+7p}O*O>@^l%N_%S>_Hv;lu()(S4#{31qLuK1P( zbVmmrC?0;gF-4;o{Q}#60USzf7+gOpKC5ww4!PTrf9q22-RD#|R$^9A=#yz|e0|or71jnE^6};i(*D!jBcW{u z)K>{z8q1b;!I?Fxz3gEZoeD_wRo@mwc67k!KuB+l9R71YL_9&oSRwmmZEDOcX7EVU zBk!uM-oggpQTJTwhJgN}CIq;SWKNlhBgU!3&LI)R);ao+W9x*PM#EPF!VOxx#a5(6#rQ?$l7XeY%zQZnECl_^nT|?RT=%@jvSYpHfy?6+x z$bACoP$+KPeW$B0d5SL^9YDWCoNT=;A+h_qmvPkgx1dgQ!V%;!@s21h%YcK3vaaz| z2{!$V>9~Wt%vmuZf{PJrI-_p(%`1ZrOR&R18{d^@O^eOVZNq#0p*j#0L$+qcfw%cx)ay{A4fgQmY?KpZ|njHQ~nkjmOzSka}~ADMR*3r96QLw15J_jU%Z#N5#P zaUG=`0o@{GC>0vuZuy(*uEEEyW8@GJPYvi&i!^kU;D9Ao;l3Mk_>e~*U>wqJT9%OG zDG@ZP?m1vdIjdDSMB-Tkpk3NTtao%y|zN^Si6T zcbwLD4pq0yn1L^))VFYS_Xy8(v&X{nWYE`tYn3sAx}s_>HF%P)X(4!&{8uLQj@W+c za`js2kix)Pl3SiE^1ED5s6Tnfy2eJpp{!-)Q{chb7vln-PNg0QTY$^Chw0PL|Jx;|hQx{WwrppXuVG%6@{=emes$5hMl-voO(XLOYR$5f z_1m?Vkk{gdIaMqVnoam?Aqt&EnPnDD^A!KSGt|^sDOzYm@O*`iq<{5|`ZLMfh;eSgM1?qf@k_&+?~*BglI@eO`0%dWEUNyzm=b*DJC!Sc}( zqw)FreE31p7vtXcXiNU_W{Mf?H4256t!jPV#IIhx*iZ-TCvd!JTzNkw@bQC7dhLs9 z)@mG}TNQjdS@<^Dkg#HiSsZ&@lXkT6-J5D*MYdXkDhKtuG1=HuA`Q(Thy0^WHVYE` z7siTtNyHyNjGQ_S{4NJT4G^hiTw78Cht7KWCtRkThxyVg+*AaKCkiPCL7NL<0nE93 zLNTgcFZ2;vAavjnn|uJh`P4{O1sxGLKqBsgY#FR*4iY4v~ z^q2XDCSA`KCl)y70(=}t&D6=-=x@Z|**fyzEQntB`5p;+jC*`;qBwDT>AG`L0`C(9 ztv;#3p#0U0Uv?JxMB{^A@r=C~IeSPyCRg?sKZ(ww4AZFe{(j_c=SLat0;-FlCSa95 zYlby3y!&^T)`Ov}Si>Y%$_D4+Mg2@85NOv@Ybp-_<|9Ho9Yd-?*G549E^ES z0rT5AZNLF@5T4oOq=qMDcC&~XzBz@q)B32y$kA|z1z?zS{!zGyC{CoC=!ixQu0)W~ zFP#L@X}zzEsA$xLRoqO}1VMrEJa3QNY>y+-#RDZ?o=tw+X@Yy)wX3%u=M5(S+qL|Jlj1}CY+>@KU{2VkoF;FLf>Dy)mL`nYp zzFZQ~IaUV2m4<2|aUH9OEkuH1+V6c(`<{KE0H!819DwQQRo6yRp3n>aC$40I1n&wK zz!U&Z@MXFhhd>Y_1LsT4WGRFe*uri0RS#W5V+8yCQfqNf(PkTeG;G=qiN)$zk~{s=_!u8gG;4=m3{!nY%XlH+ z9?>^5SXHnglU$3_%X|2C(2L#m#2%fezA~wSx#tIQJ(y2_0*l(Vg{@A%P^AoSr_4f9 zK2(%Hn#t=S(mG;db^!)ry-pt=L&l3%0pz1O5vz3*#ufA4As0~0CoWRS#JOY-=#hW^ z)8Fz)jCe;m8NCSmJjJ^JvpzjDzj(pH}&i=~gDF37=j^(;K<$F{Wn&&eXg<;n2A zkE+Z+9>3&Kivx(28oMp<<11tBgRlyDP!#{hLgAO-S1`ED(S_kx*H7^N9$v}h$(vg5 zBPKS>>BWag_{54g;dtui`oTgX0w)Z5fo~OfFmeX58@kUjJg_?k&u*|k9HAQ|m=bb# z{TkAKU9|kw+^*iBc{^K8CRMV7i4*s|r}wX~T5{t1QwJyQ&5tW{IolaZ^I^Ls!zM$L z<6>WQe=hs(>vb?0Gotr!L3gCUl(~TlRZF=qA?}=2q!v^#lw9Zz+ z0E=G$O#i#hAsC;lU*Vkw24IF>Hy~#A!LR@JI;bW92IVul2ycmkG|$Dvaz-J zK`i*C(6Nx~;W)|$V=;C*0IRs%K?wrn7&#RAj#@;nrRi$HzfRf)Ug%yjYT5@+t^#h> zcM{e?R{eX5_QtM$f6|nYvBSbAFL004Gr=-gUHnm|O#sA#ixGccj7c%b!L|sgro$uT zHK>^^5~~ircgT~jVke;-ojO}m0YgnSOMwK%SzL4Wa_;oMqr5O&J++sgct_|>{!OGQ zWEK4zO(U5FC-sv5>EqJ5ZLi)gZrxxy5!eC3R#END*``yhu{~6*B zwZj^sVhTxMZ$uwF^IRJp{n>%@uI0^j$9Ixl0g2uA;TUXR#%mYy zEgm&S+|XIU<98+4il7}~e)PaQ4*1ICq$`?#iuX+`t|-5z|JD=B3`%b7puP2|c(RU7H=I9(29sm`VMu zN!@H(1m!7l0^z#=lcCXD7nJKE%AcPxIp_D;ZQJ-e$}q^e%#|z26l5pOlj6xFkBU>v zg^Hr4J!60QO{B(#DNDU6XuVhQ)+}nwjve_G8zn_9tN|((Roa~lVag>Z+!HmLvYAqu zD*J3R={YMtO%>GMHa}T$w=UiN{cC6r=A6@19EHt)}?GN&>AJT$R-DChrI` z?yrx9R!S+jOyh;h!S5txcjQ7It=FxR7U<^Wrapof@&424Q=p8izA@A)KJZbH%+Q}A zm&9u$M^_Iqs!E5N%NJ2eO^a43Q5p4OQWY4DEx$9@%vj$)-K zdQ57~);BCvk0+OT>X28FRsCiY2;aI5We7*~x}Hl%a_!-fkr7_)H&>zVIjnoMRYB+8 zRx?~ynV#~GaCS)AO(EUSW@vsdE!G#%hH@HHn@-O^uXzWs^0CS?&K-v*KPS2UbA2}z z#N+j~RVy$hcSbt5dd@Sd{u7E~bb;!!Z+C3Yzq!J2qi!>FbI}cptT8Umc_iX;u#%Wn zrFVH}D#oW89NI#AcTcLy7Dk%N7F1MtL1G;kElMySZ{L?amI#C$Wh%mVQeju4e^c?FLzj(;*g=~sz@ddEVi$`NOU#N9urKE3aWvT6d z;_ti&9Cw&{hk_dvDu+EoTUjiYGyRXkAhHyVwz%a{MZ^+HprL?Xbezc*5#?U`f?MWq zo(8olHX3f*$Llyaxf0;`nF{vxAS2drLQ0NL^CHs#3tPjDx54d=y3O=Ae*dzTD&@I1 z-jJE0U8yRC_U(-H9>NCUwL~&A#LV;PEk`QP zE8ztq9{E1XrS{rfnlnL;XrP|j3`?w8PA2rVwtMI!=!@Dwl`nBN)f^i`_!7dV1g49@ zH^X5mYG1PO{al3ql^8^B_qN<-{yO=LLVdYbNS14HLMJwKCb0~W#%iEtFdY9Z#6JvoH$>|+?}<`rszD+*p& z#F1S2x#(N{uf-hG{_-r(5z;VCzc&hULn6f0-&I?)9Lx_p5kcXt+Q~K^gj^^8WZ=4= ztrhjeOr>#tW}Lg;Bn+wb&8}Ha8VOSouw;j=(-YoS1u)y{HIZ)}z9DB6$m>+Do5TD}+j+Hi(54%w4l9kFI|5DQrASd*p*o4n*<|OB31|*CMj$B%f8P;14RIU(8^kKyH;D7e=fHU3p`ab&76$&UN$6g9DP^-n5IlA^m)c`p1by)OKvTk}^=q ztTE;@X#eX{`gC%!>m7>)^iPiY>wjVOnvXA$KbPoR zG}u37jsD*9soY0c2>reIoG!)Dwv+%S{il70HkMrW8~opmA3ML6n&Q!|E25q5MUG#> zo=zot)1nU{>ECGd_^VbC8Lejq1S4oI_3fdlpNR@X*7OZ zz(nb1kHRme!>_~6?|^QO*5qezG1}`ihO#^07@p_dof%c$FK;8?Szuwhg~8&j#{Iq% zw=_eR(P^~LPz9)&3K=Ymy>=#;r;!?%lY+=wZpv;Pr+bwdn)8&^*zfCniVCgmCV4T{ z_+eQUH_5$~%!)4{u4VG{f$JeHTKT?dt#rgIiGdT(mld(WDDIX8bT_Y#6gjp zN&dvQJno?KVM@lcc(O;aa%~UQsjDXGl#oW-xQkJ1uDs#1gDN}0W>$x&>_5DJ5jh0T zek@xdPPZthE!e*I?sgBSeg+lse%CGg7b66C&tq@5u!}Azt~xLh!UfY0t*>-VvC9a( zVmtaS_4WBw?Mc@BdN(6$^E7HD*GtT`^!~3?Zv{eQj{G+%S|&!B>QUv0$BL2%i)c8a zqmZyysKvjz{kK&BW~&H^V@L21;UmLN3ZFQ|PTzJl%=!w8dGJ`oXA=q{l}vcd==0CD zY=!UBANL;~GJ@f6C@gddl1GA4`c_W>F<>*;q!;3j@%IXHO713EGesz3*Opt*sXnAR z3*w?SEut@a%N3t*>Mp_0okmPoK>OpEVBQG0f=6GEThF&h30|=mYmL%Vp9x55=-JEG zbOhLvO8H2QARAjYpCqztV$NE#cW?%kZDSuH(en4JwAkcWW*Ar|1c9LJ{nO(ExY%E8 zpZBBTc!3Say<6K($5;t?hSwU?R3aJjC}rzk|BAI<-9@|F$~pc7fQ4G#zKW3kxd8yI z$W?5ny1R-eGo;QHwK`tvJP1pCpXn&)I?FoW-Xm+3QU|BAp;DiG&F>`b`x5?pHKk!n zXafgoNt^U0mE$u9|WO(tav-luVMybX@cLb%{Q;O}k0B2|7`x&RR>hTUe0$E6AE)2KDz;$y zwx@`27reme2l{r;gPilVT8f_tTy|)^qzpeQ5iF>1OAas%-=9XX>M?*XHC4{2n?L29 zG<%IE5R6WVlqCLM4NIKi<&Cc6W84`h(TEndkITa}(3A2UfWmS7D@JLEJpKUrmVde{ zdZFejIn)HNb5Ipc-P|kwD9$%7Wn>YwV0E zw&AwD(i;gJgSd^=f4)2aIl9$2Si)Zf?y+OsvF@pQe#c(J1E+{VV=?)<_?& z(XpCl-p2hXc9yl2vMMN5&LkJ-z@k?z7~jDJ>0CupXToGjr`f$=M?%51 zCoU_vFWkO`)Tnj0+(?>(Vsj~ZBxBNXH9tm1c%6)p_hwI@=!#-4R$5%KIk}k+?Ewl65bpYb7l#%L-vJF9osCk= z4IC~AvQ-}i#ZTJHBSy->-fR;3;_RDnl1)w?lTDkQnor`7UtY7TU8(lx+KVyqQD_t1+TCD>VvPmnBh15(U>&N2g z;V$!$CC;jIAo~=Zjv4JKzjJNBz}p&^`I9I4cJALiYAW_GKC?%@?hr-~`DP8;1_F7` z*_UATa_5c#zbk&c=R1BOJuyAEe=11Aiyil$p11vsTC5f>GTtuU<@mM*z8!6tF#lQv z;ayePFr(-9hw3{RcE1u>*Xr{-zxiUcoZI5*kEO58Kqq^^HcoR!9GmQCVL$@_~q6s*Dsp@ z*JmEosVD^Xq#&p%HZ*kM*hkCH$d3YY?4NSSI5293hoYO0e z2CqzAb_^|~lTyM}Xkk^oujIekNquPSN2Ow{*j0r{YrClXV05UWr(nA<24Qli#7+XV&d(Lf}KW(KjVc zg0D&@3X7zjpxsB%3u0WkU4FrU<%sNoJkPtoGVJu*gb@Hbj^w?PC$#36wry*e{%Jik z!)mgL*NXfB#MoJSJiS9zgSsy+?{~W(`}s4ine=|@dRH~fnI~-D) zWzvTU^|}Di>_)r(O-e(%@{3H*RjYo1=#48TCY?di4RsAs$0wq1hI$_UT_c`-99k+L zqHW+1`YES=`y^1CE7K#;?fs$Dn?X3sDW8K^bs_3-u!=_c-@*0c;NMG9W$ZS$?0|Ga zh()|*X{rg1Qo4R23uMxr(o-|lLFj`bflX2L$~*^?!bYKNVnj2CNMF87g=r&8;~UTj zkNMw+uk%8yY45ZWD>_#|wXVqLjc>JalV2ivb0_toX%bOSenmGG4}-c1%yR9+Dsr|}WvJq7b@nCW$}WsrAQJU9C@&O3H+jvE=NqO+_^($XsO&Wg ztv}Rzm#xYylV2ACv))(?Ze2F=sM8#8d*NG5=LMydTOoCdPMl`fAV!F8n~WT8{1Xe(B0K4aolZz-Og~GOV6wuDzaJ4Jii>k%yj8Y{8q3I>AcDL;~9S zcKeAP1#NIB_#siUHuIy7Jj%FJ-)IiArUZQ9I^RhdQ1ajpVk*y9{Zs)YQDoMD;Onga zOcbggqLpu?mKj+YAyLXF0&$(@jl2YA72zwxUypbJM@e-rWXO0-;mEIIGkvzIKkJNb zancJ$TMzaY3)CEyU(0RVoy^-tp zU+$eYLUb1TvI3tVvS9{U{?u7MR~}{Znkl-7MqSfF1NJSqxfOBCD7{=BZ;lxJu;lzF zzonj(ZoTrU?q~jeXJ370Nqi4ba`{+;qz^mr8~5De+rzuLh~Wb8ak~UEvI*ME?0hwC zRpYu7@+?Q0MVwT06z!q>L`dJW{E+16xy1?w7QlR?tkDRT>3Potz>FvlEKg)kpYQ8y zt^y*BFnu7Dksp!GarOFC6aGChw@j2{PrU#CoxCs|(m%}Z7nqGu{&z11{Qmumh4-;? zBytFtouNSqwmE7Wl+$H&wtgIwW>hZq7h_muw|FC%V5Q^}(QuWUJH8!eM`W zpQ*igB_lyKNwsKSSWRgpX430?C?GB+VhJI%jianlPm5mSIDWRK4?|2&3*)+0#53T4 z36m35;E^vBSQYO{GX^E66DbX_Q$Pb z5kmMYnqA9Mx_1-~O!)zI|wA&TOH(Gph@N0wn zup#dM0cypl6UKU=Q3yf~D6?cH6OHa)Y!nuOxmvGlt|y=H^+fmG@3omk@OKX=6%2Nvqf>|9YbVMAzY zLo!)Fpw(#9k=y;J?s43I2DJ{?eWNg@$#)yusbY6EC6NAscR{L|Lto_QCNZLiyhD{7 zk!=3G50-tX?0o?5-QBw7)l{NYq@IP3$XBY8bPw;)1GPq<+0s+w!w=C7bu5GoR@mc z!)`R!UEOmVDYE7wX4#ESAou84k6?y_7h5Q^e2*X=Qa-$*NBPevwKSt$NgQ9>3@w95 z|CAXH_bci@AI2OJ0>UEZx*VY*nidX0^xV9crM`-5(oEPAlkk`d1^BsIZ<^5ky^@M8e?=VKh?R&ijZ+)jt*ZzvX^ZY!e8EQN+sjf6rW#;?BNhqp zVF+%9QlxXMefar`WmfbUSQ|~BWkk}UaOq81{nq0yVho5inxv)EVc-&@~ z;De3xCV(7mN*wV&6Xz6eV$~t-L}8?-k3{*EgkbQAmRq{9+m2zLJqR9sh9yLPKBev? zfQE#Gs`x}Wl~*?LXh!sd@;0fHjf`zBRVkr*`Q>L z2a(AT+moJ`bB#9mHGa~l0h`n?rwBpTD!y9YMsSjt#IRCz2{a`o2bKJ{+|iQTY+QK{ zI+?1C&QQ@coFDQ+!EiTxc!jVTb(e2G=Lh=TZ}`kWSH;QD%)C*>;amKTyxV_Pq|lu- zfBOC6INL;3b+348C)>_I+u=)W+)%uh2QIwqmY=n5HrBDyI~6d8*3r}`=lZw>*ssLM zQ4R6SKE8s+CSV)&dhdsVZZiMbK@XiN1KUliYbIBY>kpf4B5>+rA-U9FoBaMx`M5Rz zWFietRe@n=-Puymi7oNKm8hhgncyn0{kY1Af2#nHSw;5xKvwidy@j8Nme~9i#(}Hj?`q-4IzQL zJ?rypWKz*!@0991N>j$H32TnQDtM4~J-8O1z~F<)jt2fn*T|nz71PPxJ8PA;)yr(| zW~QA;A9OYN_>4O;iRwDOXfZ?fm1ED=+N`^|&-Xu+(>&SppXTWfHViwXTYVE{9`>A$ zQ$Od#d|G}fy+|9HYgepNZacojec2z!vL)Sr4Ha;40NotPt0Yhh`G@^1GN8G3z3D`` zhwIf#2>AOl8yh5x2xnd*fSO10qktxKT4YHD<4}AqYgIHz&9y^>NFK>KQmZX}+yo7K zyYGK=Kd{=HrablNa-iGd5d1(7xsHrZG(IBAW6+Cw6SkW+BKp`PA znSasgZGVZts*U9gE~I*95%haEa8EVc&L^7=4U*MV?v;H1M3O#kx`UW)4p_%>j) zd>kFfa^gg5IxnQ$AJ1*NhQGFi`KVm=!h4K_5>#q7D>(Od)4|KCi|7q~gx9e~tem8= zjFg;uz?QOT?A6`(j3_q%tXb7G{FN|x;T-2uR+;s&Kqk~7*Go{3Y%gFDvLuF7UY30; zgCpt`_2{}X0+wcd#iW6f&bCO$NjDs0i*nFKOpDNOGj=U12@{|PPU4SR2TE8a6VjF5 zMlE3d3XiLkqqrkCRX-kf3z7>>Rd{cXF8y1jbS?AF{IO(9T=<1|mk+&w7iVAK3_rjS z`wZHYUApq!UD~+CcTS_~I(X{40(w6!`~nv;ZrOlYxDg2zpp8JIvJ#G+F9?+qJM<@A zhdhm>(ou!h^0Z9mtb1NWS}&g64)Y|`~gx6v!ntJeYJjoppu2#>ElpA zKH7SV%3T_O371&;Y-1HNBI{iCkgL$tp|^dv&2QkI_%Y{hi28yc_5)X%A|Y9S;1@OX z2Sl_lkg%#4$}8bEE^ec{n4!%mD(6+hh?~oAO485SOEHC9qD6bodk?}$!V!!{{{cO+ z@nky)c9ue;S4FL+8b%}}NS5IoBsl~(vQxqtFIRuQ3P^NplY-)ju9ncI*}pS6-lOTz zm)kEq#5sF4XhJSv%KVF?1W5;3HEo}O?RH<{qK8zW-S2xlKM18xbCv&Q#|Ls)rYfGz zAx7AK(;6r^{V)g1m}{vE(2Nz7HyEn^U7v@5y?pcY&F>W`)^l5d{W|}4hWZKxX7%mw zqsha$=Q2T}-=3}at5kR^&+jjObZe`(LEWleIrq(RUIN{BnAz%gZg}aT1bYhrI?+OQ zDzSvqkjTf#nB9%E{B7`-cy4z)BWM1+f=tWGsViGx|gQ`a4pY1oVEiegSCRLS!$@}5)aTuk& zDU{0{RfaUJA}xeVDw$N1iUb#?8q`B2WlB&aLIk9Wn_V-aS;LF{if=+VXoBVd$|EsN zSm6E;sF<5X$sTbMzjgI4Ha*A@6A!yK)@CEn3HqR}9zDuFZDaW-tC2>c1aH3Z~h_cYiUes};cx-?85d4$ef=kLv z&`|ta2d_=@WL@algwX_q)~X4?V|;A&-?#@%egC0s!Rh+9VV1Z@ii zqllG>7vMJD6U-SN{~uRx-4<2%{((xDbV_$gOGtNjBb_4M&Cp19N(e}IGxQJ& z2-3}v(lLNE0|RG%=Z|xJpYsxC&)R$4_a}8YW{84#av-D`g%dTR#5{qs|3~+E1>9b# zxfmLeIFR_h6$S{k(|G1)cAfoRzbX+Xn2)aUW6khqR{)&L<&=25HtCm8@}}dXyp4%T z+*z#Au`QShcog{~46?bKEQpdj4P=kugZSG=NU z+yT(j)~nOQ9u)Is11>(A^(^uFanKMSvLw-2r4{QVJ3ib(dYEw6s@9Psx878%H3+)-PjHY%o>Cj3Dv}U)xvEkT>*qv!r4FhCig1NkkBuEEc}2pQ z$yQtv2X-FA|4*a*|IW#*sk2#(!CG<*65?sDw%)8XnZKFxs~9qFt?kN))5f^(d$!Js zeXNEyo+^Z51w5OQu+#GENVn9HnVQC==UQuzZ7V}8G`jDET);FZZyh3?En@oX72HZ= zi!7dN+9%m%Qr&OQMP+bWsza`BTIOBBFN0Nj7n^TG*j85nvNT}60Kw@A%F_vR<---sI8u zR!?~DkXDXI{6@S|OrK@c%|90R(x_kVKBR5aSZN*#wpS36VI zvD(^|po>|JGUg`4d`Q${^Eek6KPNu~*@={F|oU2ClNQaYwQLDS``EOK7iOIvSF zDV)#~UU-bQrJ2i4x6dgQe2XM^&qLz+1$}f)JVBi*gJ{RPPmk%HDw<#+6cMMzZV@> zUb5b!B)u_vLB>7O#Adem@1k#n*Y=6(^HgF-OtHD;8Md-E2xXvJjl0?f4bW5U5<_`* zoSE4(;8gONDL#-%o zcee?Z_9P{|*9A+x+d(orJDo66-2M={;gx#&bblIk#o7nI0nm}n(d0k1$>yviK@7ssICfUVVcs9vbiU<*vTqJ?I#XQXH5^3n z{CvuYGz%6Wm%gN;B%{%eU<3#@@8=%$iXQsl8tWTGvw1*1$usDEYc?cqs%y zOY6?I79wchwkG?DC`<@ZVI0+{!3A`t1s^gF5SV?QTJWw2Fjk6$Yh_nY_3>;vCWipM!1_jRry$4bIjSRL3 zW1Xp1S`7j5*E<=9%^}LU!|gFczH~GjdP@1Blb8FGM>K^Iv6DG87O}~K|Fl!{gqWtn zB-f^hBV;Ag5tt_kX~Cc6S8H*cr&rQ+1V^=v6)QXnNiJ;xis?;Kgh5|oKx|H-NUHV@ zSU}8oBj|4r&xli4g}IhB#+Hjn9BX@SBjHFk>iI>PF3xYmnUMY$zy=iUO+y1puRq)N zS??{~k6qHb9L~k?7s2W$?01eTRQ8+Rp-Iz~vr#RR)R zOqWK~w|QPF;@Z)^Hhb1>>Y&qh-{irH_9IXCH&^IUg!9C=me_-Jo+@7(Qf)^>GUg9o z*N6M)WdF=4&^z&qfAeIyrvm_#`Z5!>LZQ3qvP+j~vfdbr%2P~cx!HE*DHS<4)cA2R zAU&{uYkGTfVa+B9D=te&)RioZS{3WI=be2{UN=ul(dC-&Ew_c^iQL-2#7>lc&l+~8kpT;wTbRDNg@zMqMH|1VF#^NcKkx>vo zUv(YgC+2=;s=b`jQQR5k^sH7gBne8NAe;~XDWBU z3yS-UzRRivDbU6V7bbU_S!koSa<+nJnmgEBbGh^=(pl~8MuRJVWU$@dh1TjLfF67> zaPLvXB=|3fh1%o4wr{AAeKl7c3+x;Qk;PSqU)LgLtA<@;P5(OuvaogQ6>lpUT4AJa zDuuNoZWdsffeZ-e znom{ky*XD;V~m9-UqfFnXtrGX6BsA-0*2UYl+FLF;G7MJK_4+S8_4?f37v=U-y)*6omUDxM9j)+$x@MTZ-H*xIYps}K-`qe z-?zj>`WP`X9~_1sKhLIkFq6H-3;-J-?y?}8EB<%BBBOa9PXN3R+C-g%kY^_UUm8vw zxltkUuo z?keDV_bRTgS-a%fBDN8C*Ps$l-O|H{D+TBc3N%!WOH0$QT8QZ=7^W~V2@zS7Bqhc2 zi8SFPDGcGk&^;ePX$0s?CeG`J85=e(n7D?JZLS(Rua*m4Y#-K z_w}GTPn=+@cQGv@Bx+ox`<&JLy84#B$3IYX?60Al)selNOof6ziaGJyn`Ja6bTsJK z|D{$@BU|Pb@tZ?~(UE~xL5Ng}9c!6g(cWQE@hU(K)=;I`C4ufuxH25pgW3<9-wfyi zur9+O=3fLGXzaM*nq=XH>(dpHn?d5D|H9G#8UX2V+4JGn%qAWXa8>o!uBy`M*z|pDZh$_VS7@7{Scl$<2-=vzY<{}F zx7s@CHrut3?M+WkuIOt`SaSPkJWy$o4G#u(RQ&~%T)4c2Cwe`}Ctfb{`)>K$*o};w zn}AZv+vdvG=w_6(uX;V&z&)MpJNqoe&wj7>+zTD4hdGbDO1|~4m<(1BKd^@6D(KP~ z-CiVJ%}{zJKz1+l#ec=|%`-Z`hA?*_^t9|#kBrv7&aLd0*PQ2RRBC)Ik#Xr6x>2); z?z83SU&>S$fGs6Dqk)wa=FKN-qFy4n*|abu70K%P8$83iVHy4+>jFTPe{ju8y?E?2 zqP+PAH8%S~z0UzeGo+y*{bBn*^vZrRNEy)WCq`68&_Mb3o;9)0lw2dqq`3YPTDmsP zHVjH=}3(6O29zXO4jomhwKv&7?+og|39wGh5?-e~sy!M&On2EsA{{Yti z*69c_{&sy6cUJsao!0~j(4Bgf>f1v=OwA>_k5&n6QV+d@k-AQV^hDYOHJ1t+f~POQ*(#)Wb=J4xJ{GvRAkN z)$vk0Tz0|pB(eh^*nlH1Ba4_#bvzDyr2mcSGG(}o!ZDq?R~Bbj1s-;(z3@x|Ka06j+F)MA7dZ=SS6A7X#_-W1h163jPmu&UAtuQu9#K>ngexD_QnV_ zy&3$^Dbed9qiXhlL;z;1q{y|E`ab8@gD=+t*m=z7TpLe8LN+bO>m?yP;z1aa76 zev_?YDt~Qu5!7A^u>dYhm(UwydOSe!%3dXy9@!OR*hpn#Q{Bf9ZDk=e?>>bQ?HbFM zhc$?QMAsc1k_4G%|0v2nsa#O!i_tD*C#6sPxy^0aZ!WF$B&~6yC@0M_9TH+V9WQec z?m}(N_T?Z{RFmYIW+fSrH1!Et*5{mhsc99mEfo5U)eC3@5QW#~VrmRt=S8*o_Z z{yDXrDDJvrPj4Y$(8fWtsKbi5+W69~^OHx6o6ziZ@;;~&xyTi=0RRZ$bQC}mph8i8zJ2{#ys45jwV z$r1=SFM)`c3>=Y=K(%J96ZWYb4`}c;V!v7(J+Oz8eZ&i#=ummgPDO@>&}{7}_b}L= ze%KgvjFx600km}rTf(Ulu`C*qO0qL4dS)IheIY*x#_`{YLV9jSdz`4x+JkT}{u0FW zR~Hon&_ysvUXDW!MPL8V5}1}e)Z;2!H1loBZ~J8I;D|)YqfE*g9D!pSQYztQ4m8`h z3TXIt^byudHt&Kccy(#$4|A+L4lKt}3h34MX#K)f%@TD>eru*XI|VzFdt>&roVhIx zA62E^UP_QR-if;Y(_hAp`aZUJX9>||pTZZAB*0aIJFxpHqDI8qw|}|P`a=5~h`*h{ zHWUl{pUvqHhX+x^C>dBUX~V3TlxD#2Nqcspyf=8>6h+a#-d?6{-6v+EC1GX+< z;osQ8{0L%QFbEV$&u&J_Yq4H&7!>%>!|Y&ncKzn59@%?#p+~_*=woM-sjxnHE1_c} zrxCLqLJKD${OzK4@8Vf6VlM9LIch&B)SosEjXNrQtB7}cx9DSgft1;&3^uJq`Zloq z=IOTNRvmT;<17GmM%R*J`NNJ$$4L!In4&D5r}W#ulpE6e%JiLaOcXQze; zMGle`D}m@kAh0nmbyWKKhq3=&jXCK?mtf zD&<=7u8K|BjfDZr=aujr#aS-XP8geY{z^Pvqx@UB2;{o!57kN~f8s2~gtqgN896?+ z3+=1-a=7Xm0bdsHmNwFA4>XU)4J^wR@IMvtRv6>hq}n<$r&`D9*y#q6Sw@xa|8REu zE1=9j$e;M!TBUO9F3)?dGi(1HlUJcsIe*x>gExkaEk-RjUK{)Ub5=2M0=j>Cj{&gIEVvwOSKe4r zlgO_39unQ2M4k@)?@`!Y{UHQIzfOUoK9Vi}gW&<1@ZNV%&i=8^EF8ldXVf}Tk8m@@ zSpD?OdPYbdcC60mQmwe=9W*3E^9nXJ<||u2_Acf z=D&98g3({{Un`E3Z4XS%Lyg;tvY;kjJtOG;4gqD%Ldt1mvGkOjvnTk8lNAa z^})bCho@~4>hp{3UkN#vf1$*^FMIO_KzBxt$QI)^n2vP2>0k&@+m<7>{oItEFMf%) z#VEGqSfqRKd^_X8i*@9~n?OO&-0wZC%^rN6GB_bwVWwI+}SzU9>n`IBbx!tbL zLrRs{c39=RUnVzDNnHABC(3s}l&wir6tSUAXCb9!XDH(0pF3DXbp$w2m})G=w& zk-|f?p84xjX#7srobU1GuMd3d8zO5b^jZ9Z>r+lX^^0+ssGGHUp^C_9C~=7)4s2zA zQ5hX2xzgLnHP3YR2^A1pl_FGU82(1+QxHEBohCYk+MMq+g*_{YlXd;{5vVCr#Fw^0 zwT8Aa{0+3df*W`zD|yRvUI`a+8fr7%xH|E}Qbg|8tNXt{Ns;`yN4HhFlWtjbO^K>? z3F_5nOacONA=YitLhxnw;6=NbpeB168TJ*z7&G$UeW{`sk;= zTkz`v%M!T&Zg_2G$k)#&Q@LTjDbaA?DdI}^;E2brUdfZYuKmNlq&SHLGTP9XL76pc z`ZOUc1>BWLY#*K0O1sIzKB)_8`B2FvRT3PTnGxz8F8i#I8Ie1nCZ^XBc=TR%1ycl> zrlVf=f*1gs`9bNpOOzXEr2~(!sYuf5d9fx-|8V?c3b4{Nu8sS|te%b=Jcs{5<$7A) zEi1n_)+2er4hgcmStb5j@zEYZr`vX6P#(TahK1apqq@>~x7E6Je=&UBpWdo|E)scp z9v1C1;{5G_%V!R++>32tU62h#j|Z(DeFs*~^kV&PkncA~LY!3xYD%0G$2qmaWR(M0yXF798+7n7m2VVVH=lH}KP-uN#g*R_wR_U-xtx*7CZw zGbW#@t8J0TsoWo-?#!%emzQgoTRvyjz>r+WJhhd<9~~OfV41XgPhazajU*@4Wp0YK z!0x@;m$7#}YCYbUVrKyi7*yUEjH-0f$0@I!F-0(aj2uJa)jt!M!nZ30AB-&IT7k92fQPTX+ zByJvKBe3Rs#)yTD-XV$g!Ho^<^(~NLS{+FOF-Jf2(`jns0?S*tkkf=Ecs20Kn76){ z+;-y+Gd5*pu;r7eBDrLEV}PRxorT_5sKO$Aj`Hlpf`2D->JNf@NDAuNtKL^f`1~AE zlCN`;O!2Hd*!R?Cqeg*CjfH);acYussY5ojglnijDM)2fX3vl4i3z~Zs(C$$R)<#r zkoyVpfsMZ~lA6H|qxlOwLv{W;0CGFJ8DYALqQgR(m)MnTY*B)rk0Y1eyJDNdx&E?O zxpyEITpc2VXb?0kuY=qkO%~sbHl1^7k=XoFG!N?9&3G@m$hEj!;w4zj1$`ETA=8F- zerzeX(8PJYBke45+FyNDAzN-AuT`Drp+>5V`R((BoVauDyWyMV<(8@IYJGo-4R7+< z&IevtZg5e9VAp=`ubp3e1R>{E^;^g*5Ucr+)aE~X?~}})-XD7OMBn@2HW_m*_-ikx zNRpH|y`_<`W)$yZJ{q&_ylCOLYJBJUPxA6>t|QA*hqNQ$F0C~5sJ|>a|7|S&q6K_H zAXsW zye%if=zTdlI;|;FHjm>voV|Eo|H3DBnFJOBmV1QbM*aU|DN+b*yvSWj#Rc<{_36<= zHL?j8TLpCPYI7~DxMX~JL>r&1`BFajq%jIlIhlwM2kJ2?1j+D84P>9+7q*QK-W~dP zID*&~56wp3dnPchVc^DhG#cLl@3;4QTE9G=40J zX$~Y<2!_kiH9@yBr}~`ojX<9v@y$Mmg~#5<1_Kd)st=TRu-Gq9iCG(3#Qsh?b>EkE zz0k;(MjZR9O;O^`)5xfVQ>wbD`|aKvr?~E(psnopmObEsU%&K4K@Hm{C&uOFS_Z1O z)&T8}&{MOZUZ5s&i;^G$NV-V9&LSCi#B{>5^XtJw=m9kO;1WqkM2+*1P|jMy_dqJF z)DW{ntTh4C^;d@r>^ImfH`Xo~Ui)A!Kh)i6)Nz`xboZ*6goIDdGAHydceX41uFc3O7Enk7Mt9 zE;D0vK*KQQoLx0dPG4cjVa4It^>j45P4SJ!dP0nN{NXW?6KEOXD2|kzCc{q&q{w|9 zck31O`MHjXE|tGKw*XC;&EcJA0k@6M-er=pZL5abiEso>FPnY~nOWJLzXsI@Mg!JI z9l~C`9^dAHDg!^r;pxTZ&~RWWx{+Us6Y(SFuoAUX|I148@bfuwICiO_RTN!K9CSdf_E<6|rj;xM70rW0tD)R*@d=>`aBsBizWzv`7xRf8>95 zF}k?$nKrQAk_0#|GYJ0ua~QL`Mwn9xmqvo92f8p${vU@HT#AcUe| z5_eWiKr$(*2o1)kBV7O2j)CPbR`cI)Tp9F*6TdJ~P{F<9Sz4UUW+hO?G@855K~m!# z-1>49&ZlQ;1N#YxQ(RF{q9IZB(bw{)lYb?Pb{hk}r3@P@EmTEhJ2s_skua+Q-;uBC zpPxMIe(tYQkIU~qK6Tf>ti5)CT`GZe-`W5kzBu~rWcWb}Cq5=5KhBKLrTOI#Npru> zO#GG=wJOrQu)$dI1c3Bn$U7yva_N zPj%~(qIL-kpLgb-^ zjXvuJS-EzOHj>pIpJMMJZpKkgQ3c#?m#r^wgI!+x2bV3@j+cKEeD8NT>J}O%8GMiG zdQQD92|L$}Pi$|5?{bu4u6~z(pw|!2lNJCJ3$Dh(W{kl^mfM*GLV1X=iE6Rj_MbHf zxqKF9d`n|akghPZ3~pO>{%U4Sk?A8ZRiR*a&6GiCnlEhEsH+&~E`=Ijh)XRXH*XHt z$N-kxkiUl{&>#tY;kSADxg-cG*l=A|)Z?!!r7bb6+E`_*D`?1YFdNaYNGtK)v zIob8$;C195!Vk0FaLs3qkZ%*oM8a1o-HST; z3kP9T1d3)g$q^MoWI1xm*NCS#@8Hf&c{Y;Tk0`pah+U+zQ}SfBUUe9Dd$b=YC4DXt zG!*F~2(Y4_hFBaPT-5uzv|LsoWn2o5>oRt1fNK7hV0!hhbI{Q4grz|CYo}=@tE4L` znQU!oV~x`tn%%u6K6EJ9}Zw} z$R{W)=9c8nDCDk@8P!$x;qI;^g($oGMMvlh_Pa^P?f`p>{Dt1!Ybj|#w#w-gGOyJm zc$6sbyJmqef}hYUHga?VLb^QY<&=#oJB3zxqA2~$yuogJMy*;jtDdEx?hhMJ3lGUWy_MLinB4D zi3%(4-6E$mCYci6m3(HX0r&F1IS8ia8!xF~drYajimGs(T#GVmU zKgV@K?o)#gq@tw9rGfBx@*nIykkvcwcjK=M(6Y1v9ZnTi#P?V5V6(k4nrI~a+4qM9 zvM*cf9vxk%y1~V4G$ow*>4zkgTNa+ecnquO!x8h6bixt{f0nQgKcpk$^AeCC`jOSv zAga8(iw0NekV4iIZplbh-uAa{Enssxd#%N`JA`RBjT6YG&i?sK{JoBf|I;k4eszBM zmW2G!m=#dNO6H(RN!Q_%kM4Cit0Fa1te(hp2v6oxq*bU?rM!}` z-L2Z;U)5QcOTPt(edoluji!${w{2=7^{ch-CAecFUnnVlfNB3>5B7NO-RUhlxpUNJa4??zCfK)&1@-O8kF5`k)m7?%+IQ=U07?G#~ZM zeMBC_Y&ny_)|j!k%FrqoNmV7oNLl9^O_vn)M^NP$Z}Ia!^Tu6I%m8Jqdp;2l6gLx+ z=WWggB0xoqEA*N_x@}Ao?fg>9MXKKdqajA4*X@uDkzkd)CiE`58{MCHz7!ez`ZQrPI%+|pZJ`dC-(Nh`G&tOrta0bp+)305 z->_-zGbWA}8s|QD3qG>zZ_-&QH-+TAG3w>eZ<@|9&+|Sd{U}KrlA-und=viNGhUTo z(t$mk-%+1aFJF#cY!2*x#&UB#*YmCg3qtTqO%~hJn>WwfI7Vihot_?II;Lra@;MMm zvJM(JMP$-m(o{=Bl^npjCf@_ET4-dxVo;fFc`lvzhujwdN{_)M?kllA;T6?V^k>MT2f5kF5(JgSZ z3uTPV6Tb+1oaY?2!n^!jCaObOLpi)5oF#kb1d3xGB0-c5n!B?L!47nXd>*l>H zE!*F8_HtSJaBc6iM8|)+^TJIGJN9udGRbG-3Hs9}EN!<_m2NPfk+!-$Heb8m4yO@M>y=$g4F%C!oZ! zmA7OqPprpld`XRVPf;l?nX=H{vLR6x9@QZ$$ZH!f@h3cW_Cna zAGi8|qS zi{DT7swz0fO*}Fnk$K$lsBG>oIc$lCEnF%c_{ru+QlSJJq(9Mk>;S?-%Ir9R$ zgK!4lpZBdfrvBp}&>GB7-u}8HFd_B8{)%c<8E4(O!}=pimm_$7xc;vSOmzgX%`fTS zO~XDYz~3ykw`pYNGOwNFxl~^86vdWvomw0%rHP~Zd#a23*V@DhS}J3g!xU6~lDnId zmAND1Ad6R0NB62A2yjAb>9!iisJ6vaYC$D~_v8F@Gq-%?f>sR=z(G&sF)qH)+X}M3 zk^Enh@a>2uMh7H|ujTD;1B5wLyGMdIB76n||8TQ~Cm%h@JY8~@NP9d5ZIAW{n{E?U z&uZim5&(*I;e(BYIoRT#(9S?njTo`MOma}>71|Bl`dT!>Q`B=;3YHH-Oj&ZV0ktm;c96_@#La}MXBLKUnkrCPG5WEG_I76`d zJoOU`S08A5jACE8rY+&0Sk_>A;lC{>lc6hT+}i6t0mZUwzQ-{%OR&6XC?fP==@d=h z*T=VE>bMS;P?qr{)eQ%kK&B?21yk*I9NhaV?q&H0 zdWtR@Jte=-sF6)5lA=HMRB(J0k|O0$4HCdyP7Q; zL1g%;+-w_YFSV!@A<+MVvG50s8XtYMpBN%$1eY!Yk`X*9KK!*}_!)&mCqEQ#m^|@Y zeZm#DHw4c$kMIC|N>Q`10AMp3iNuVI<9&!1|Cx>R>u6K;*9x@&h3M;;Z2FXM5=*mZ zn%W_xY!z?ES5u|G1)PBQkR12p3|P6u2ST_nR-;*{=b8$GEW7D10ctB>5`!T z6e&zQON@ZTU;VDXd8)$c>?fe)t%(~~73*b*=PU#r>29F-PbzFiH6^X-Ej-*KvtFI5 zR0MLLN1Hi+lpAID6f@%RrlF`Rhas$O>t0ZSSo}TT1LU9Y`yDv;G;Cd-!IP(-7$yJs zA?Lk%6Lk3%jIzFEE!RZe{{qoS>oMRc#Kvbxy<_a>|oYXf8xtP{CJYzcska5 z@8i>-bWN8y+s=67Ll?R4gTS$2)DOxja@m32lKhA@)7=!fKZoE#9(tpJZlK6%i6_j4 z2J?<zCl zw8rn-lu;J%-l@dnnH-?&3LAa++J{dSameg}NqD7DuQV|19|+nXI@4;C>2pHSvT8)4pR{Xpxmun7jwg2fe(OxtoETxn20(4i4#wFuZ-S zFG#Q^yHMb5eEmDG#vmQ;BG&BAjU#yg!%WH2xk+t4zVuW$0tv~{c{)JDe}+2Q^plEfqE zf>ZKMV1s(uPHlBVtf4#X-Tq^N+hF6Bm;0@SCNtH0IW%leGtPh?J%Wg`Y?hb5AIF4k z43Soga4Sfe)&?ky3L#bj9Z2BcG)y}y+(($xOIyDOpgv~98!o4{VApNv{%J=&X7&Ve zSuybAPbE7nh;F72w^*QA5H#jloy|g)V=HI=G`Q?`NnQOsKVa>j~fltkYx#o~HOI8s^=WdDfAJ~@#%V)g@y zPkofPz!oI1l$r18L(JYC(eCbaYYn@eB!rlS!PIYS6C|(u{v36DFyQQ7o!BId73I0D zTCHd17iBtWo}Mt4)LB79OLdtNw@t42x>d5bRuCT%M(tQic1C1Db8d@#?v_yH_w8(w zT_WMB3Cs-p#ViBy1W|zk3(feZ>3~$H!+QsSnb2f_QI;z*N8g|z_Swdd$yd1G>|y@i zZ3pyP^nyb+O@W(_-P_mWM!HJQewz2)Yo1?n{fR~l*&Pz5aC6PC&`&<$>(eT|KYEVF zR<>3QFQLK^$6MudG1JexHxW`SGBTb5Ow|)j#8c2!#gKUwEXFLQ@Xdb@@4jez6qu=V zA*QNTdM#EOdJ%BxpYY#UiS)Q}>0#I{!~gdEFUbi%sfoJS*zq*gf43nT(Lj?_T4$}O zPj);-ozZ`uT&_(^BRP&m`7vi#UAD_;OEo5)z2HfqqV%LkFH(pk3IoQHV8m$_9m?JmGTXMWB~Qh^P8AgFf&p|p z9W>kzyOWGHmoJ>>UrV_g2IkRz_906>t1&0NFuttt`V%U0l!|tYg{D4W{9U;nM(ZlO zVz%tM_!Fqrr;4RHdX|v}dSsjNd@6x)3@|L<}P(vzT0b_6Z9hCtxs81gyi`gONZgt0`d|_GTdN8$-se@?{lm&nIXl3E#-=-o?ytg zr^2Qe1U+MlNadsPL8r&r{-9XP1jLT zxl}C6vu`EP-tg#9dL8x<*|23%@}$E){i(CcqG_pFT(AqUvqf6iF6i}9rJc#_St9IO zRg!<^$t@#_+XPK{nb(aW%|yQ<*3kW-04toIOM3H`P}IJr+krtrP!v;ab}EJN$H(Ny zrWY}UI^VMw`~Rgr2OqTDe<0fBv7wr9rOHvp)5_#!#QxkooKaHkkRZY9*wP4hslA%_ zal!{hy=6KShL#2(rVEb#X!i<%(>_myQKE_Tiz~mnmkB(aM1+q79=@0DCh~EyLZ&g^ zlXz|F?$Y4xGM)n=m9VG$*QUsvBJ_vKSL>ZN{OcGQr8aL)*K9N={<-b_{NZ~y3jfZW zrVajv%dyVHv&FfV*@@4WeJF>?T@|Ut$ga{o;!Mj|?~DWNNkt!?5AW+=eTwW)1+HcH zz)q6^A+H-2M2{!`u5h>-8`gF|u-3}=wulUNlp`vekX6^shJL`i2H$jpVQCn1%ePGqJc=RYA34w-ETsLZb9Z_;5Dn~t&D~&7W*!m* zC*bLQocqC{lf6y&J)0>$RN7;Oszf@=p^h6(rw7pLLp&zkWs(ZG1wl7z=qctQyF+Qg zmEiAsQuWvP1#Tk)_A}OO>-!NZj zz1vZFBXO)B_Si(%qbw1N9KTGmQ8MUYfN*5vGrWz06!5WQuNlrzcwT zM|>4ygnIQD=#W1GmUnk%Bj(TaP+}@_3ZfAIdei8nS!>m*Xpbk z{l>vA|76NovO^|*l8`Pu&)`lkC}V};kuZZoMEqh3-NACjxV8gZpNvy9Na7|q>CSw; zDnP9NyYrW1sgej2^l$_N)PStUBf8=-G~s>g0KLk`0O3o~`RRlW$_%X3BYI2u8)?DH zs$-1PiOD{XhmZb)@C50fx^7dyD!^fFT-y>-*p5jwP0m@6W`TVHX-vvFm7=B2J+@mO z(#-#m#-)!7Dr z?ClHED}v`m=s{$9tGxGWW+vxTg5^VtdtQ36W@XGyANBNa0yDdn)#;=jAAOCT)z#{y zg>jjEyQ=TY^;jp_?u!aUgh9JwMJIBh(a@<`$$v{Yiw&z0cr+nCWDbAnsJ@~n8*wr9 zG%{B2@rFC`VW`4paN2|sBvya3SZVJQAa2+wm&r0>e?@~j+bpYDl48!ic&xN;mf+EJ z0{(Nz-bQXJcolb9yA#Jrl-w)J#qqe-Od|X%QS&Q=P2u^pK@Q#dB5Nn5m?^&1Al*sn zURc75#DG(zKoL@RSdEr;le?%)c_Zbxl5iX3u6l79u(j&LIqJN1bor~f_1BcD5gOl$ zmHShJc3EX(D9iRdw`yk~f?^n@5VBe7o7-ulqCi~t>yB`m{@R^$gXI0#sxR&$%3Ena!2#KD<}q{#W^&Okf^A z{Dp{SF5$>wTHkOhJ=A(X6%`c|<8peV@tcOSzd;*ce;}xt~a2a@LarHa(jKNmgArb#|M!Uw57rq1EOh5(Nu>Q^xu& z?5%ZRs>LhZ94Bfg-8@li@;NA@Uf!9`Ay8PCMfT*gwMAz0zi%H%*jPNyOrd%w)=XDt zF?_4ybQ4^IAE(rbpFY#~$OwAWG|tDliOel(8RGn86HYB3fP!y42OTHamm61+X2-cs zkCvyf6Z4|3%ibnR(_tFv5t~|=4-5xlrBES{?PcVGhl* zdJf%BEx2~{q5lt8=h$9Z*R0V_(ox5@ZFOwhwryJ-cI>2M+qP}nww>(c?Dyky)?Zlj zny4BzZt@fwAP@o0vrPgr;l_f*mma`JYLXq3z#$a%D%;JIF}Z}d$Q{7Gv*h4NWza-T z*pz{1DUDt|88^*_lvnb-_+w)k&D9&2)nh{8$}xpx)LBY56sM^YgmEc%|OT`3*_RT`+i zw^F6jqB+b@Dyx&D3>u{6Y$34FZWn7knIxwt9=n3g6wBBL(|a=sT2)m1Y=*?pG;|6V zh}e5eW^P`Ywna{U-JEe>u?Vfi*X9bASFaPMHBq|gIp;`AlObGCe&JNa*=f?2pwX zTL@59lC4rrW2Ka7>q-eGGi$*Fo1;;j`AICon`+Asla8Gi?KwpadTI`R`rV;5EZTA0 zP@V(f1B9KPkSRCF9G&dw`%9o|BD9%U-_;WQ`frqC-TE4Jy6(qj*AM1jNEUyh-ig#h z?V-XKwWN+l&R4DDve4TDWi>ahIv2f|O#vBR_Tx)TkW@iIv5T_XWduq@dDvzoiW*(A zv$KV`O?<@A6_LSYxYB~TT}gU^zQGUd3Kmh&gADp#fA5yy zE_*g^Pwhv-Y7yk;LH}D|Rx}V_=4TsblbgUGq8JRlw{Z%6EbtNULJ)p5L0h=QJt=+= zD$?~GJpC6K*TtlKZKT*3;|0y2mrPg=VYkDks}C=d)lI~?+AD+8S1c2HSNg}?4P~2Z zG_Powdg1Z;u=;Y>!ztt3rQ!wo>ou19^?HW;mHoRU87QtFu}O0d6I4Gl@q&Bd0`Ykm z!Q70eraE>he<~FJH*_sK6yj>J#Xhn|@dVMC!3# zC`?cI{veR7u%ni9FY()-zg@}3Ctd{Qj{~WP5aqC_IiJ zmpo8v!$HB`(bbN@3db88U)p5-fWORL8qvS?hcP56l0FPr{)AQ@ml2JyTxAd#l%*rX zSV99Gg@k@k$R##JJA>g%;&Tnm4q61?1)jEFm)#(9Qr|Vo`tS&-ZrRdt3GJDZEF>M%LMgqp6*R4U-^xrZyp&a6 zMG*`G>T=V0jr_-=e2^yi0?bHR7GyB^6N|W|ldr!ZD155_i-sAj9%C4$(Pn8L-`bW! zBt)R0MK1Oc&v-B}jQI%JcB93?-3_QjuQ0G-y>KEB$h!;5;YHjg@27*iVix>Kqyah@WBl2D?a!nI*)-&yd0bEV+y6|+X5}!{PX7VJ^RrG z>wR9nO=B-_=iy8+KJq9d#PapEI5gC;0oP!W5AoqHq z76R7L+Xjh6|J59~-p$`;{CkWRon$_m)SH}5Zh+RDFE>W%m1&EEpXb`K;4Itm^GMRx zP`M&&0YwJ(uTQQ9Rw>lg9hx<$%{nVD5*gH@-d>-ty0j1+y(PhY2oXiUgZe6y^Bo94 z?-&xUYCDOoG*`OTFSzezh@KwA#Sed5CXk{P;SWx2va&Cs%GE9NfWM7@%JMeiMmCb` zu<6}mPx}feAH~edQbL?W4?=FI69=6`8u>ucM=GL6L8+6Nb~$r_zfqGZk^8kGh89VV z()p!t+!wM&lYAy{?_Gl6Rp?$$$BqO91A`5uckl_wPrf z5h2}~&)PTdsG8XxDJks^`Ptsm1t>lJ&(GUbtu@xLQ)y;OlG85aAA5GGj(Fmtmm*kv z2#MQYTQ)B9Iez*B6DtzEQXTeTp8HHWpjT^bryVb>Je$(3J&CnDiW^1{HtXPz+^ena zY0h<{A&i+h4=ZzJ4<*qS>a%NX+&$tH6GONf(jLv)65p^%l^ zV8kd$4fAerdW=Z(HacV*xBYe~^?}(M3aa3lRS~hFVDTt6M5%GfB+k@6`j#?baoWiP=R)=v_N?-RH*nT~o8s(I>A6_^%kPGY?UF0_Zf)z;Q!2YpUaAsxC_nG6qTM~gT zB*7OwLNy73{Kc?}Ea62mR+d(lv)4p3(eAb@gSlIcY}@fGm6_&%aN5$VBk(HvUXhAh zWD9(6J0k8p0$>8s# zGl)_3ZiO?|t>9Eh`8@#ffi9_)T7lNd!5`-C?v7#~6jd_l)f4vQhLDj3PgT17*T|zX?;)QnP=wBtKr_lE(-ec3XLJjT3ZoLqD5xf%2FfknGP z^T{Ej+X}=1APF7&68+90>)|Fdl8NP{_V)hQfeDM03yVPchCClU3O4q~j(|^P*m+^gRt11{+!4uWNnO1y0+I(>Qkk-H&R$rbe@|rcotl#6A z(y`x+IV*zy;&AW@f;eTPs=%)1*BuyILf=GrM8mZ?e%`!3=|J^e%dRC0V+9UIEq2~= zDQUw$EHnmnXK&eoy}Yd7YBi%gUD8ri{!{P`$|eyVLpCOmnRLg!?^6hlT> zytm22r@0m(5yak632<5rv`hvJhXejK=4`ZQ*8)jbiA+!h;}b;1LQ)K?MDwqh*dpmi zhjTdR?7p;LfLfes0*S&v=+W2LIL;_>3d8?+%M2LF1vkuWo>%UgAL8j}PQ(o%g~Ir* z@7?@}3|c}6z^`|tIkNJH9JH`?J_C)T-8RshjC0>M3ztP(B+z|Y< zKCb($x#(2HXm6Hsx*1&L)vpxgU=I@}wl!uxH%w5pgffG$?=WZ$kF5(lUTn&Zp>icb z+gEA>9}P-)0jl+;&fqJznm@plZ=EAHt^F5XBVu7=;F8!JRZpt56+uFq>B zOwYRKxDFs?<;3M+_1neSJGj2ZkM0pyXQ{GvpapS!IsT(@_;1jA_7tn)<)FeA^MEx8 zyep|AR$W+ZpSa&96~&Gh0kY#x1^QT^LI;QyQ88-Ru$IRrUd!E*32whDpYz;W!Zt=& zJ3BiG{dae9wdl|td>uhz)wN%*kGqIp7_%AhH<$o`7xvq?C-6=V?eiA$+>X#Y$a+lt z)};;6<)*Ekt_3+{6yO;BZJy6gitbMWDhH|3mXrXEFz&(CVdv^SolsvJ--5UfwWG}p zp^Hv``-rogf*|FQ3cDW1Vn1A2gP4!|psQD63Lfv2kkf66e7z+mE;xkN)++imR+*>> zrKKQ#rP%tdoT#M41FyUm5b`cE0r$j>Y}iwg#-q@M>{W{3PY))RRDqq?0CXf`aDs9S z@t*%oFWuD{E~|M`2=sLPq2wZf2>2%U$j-g4xid_&(Aa`W!>lSp6#h*s6{h?QY1+`V zCr)&)s0PXh$X9u4u`UY-J_1qLQlbvaJlIS}#1B*Irv9AkdO1ML4#VVv(P=W=d_2q4 zoNcrqe_aEayPU6y|HW&lkh1(5c!d?oikFbiD;}nU#Cd&pZ#t)_5$;5U zo!Fbl;oti_dslGrVr%9g>;U_ama^vi#TZ{kuV=GYq2CjBq$&Fx;?Gmcv1$=gLl}@~ z=ELol{nu}4;}dW}W<=xX(`x|QzW9aIZM{Ed7QiZaH;ndYcH90-*+gI zokycAdDhPK?OV;ydCmacm(!x1yi1Fin^y5#iuq zd~)_j@c2;vxPt332WAOuXAEsVfr{`}-Y9=` zOt1-NPLf`pn{zlqx11kNou33#C*TdaBkip74yCBZ?Hkr6v8tC?f9)qN=QiK0Yy*kT z+S~4E-9-@D2Cn-#$J;!Y`sq{C^lTElCGz63-iPlN?Qu)u7MMd6!Ls&h7DJw*Hx>dy(D}lbhGp)Yb=*2v?J2>cs>Zrl zSPI(%V#_S5D_k92-;)k5-;cc}1zbz`H}-VSi?S-5CO<{%k0fttnVL)j@UM65&K5~= z#(2CQc22Lq4zH`N_0{lgBB_Rc=MjPfp^NrHs#%}$jzYnU34-+t3aYcFrW$sr*?QeN zpd8dlP&SaGZTTWPGJ@G+ z3V0dI|6O@>D zd?75*U)3|@Rq?Vn5^QtT?^WMFB*BFjsk4@o6NA3oRA>{6O_hBu%hDt^u3jQk(9ZMo zyDS){)o<_jLCim^9Jv z%(a5D8rIt8fSgy%Inu!(%2zGdk>EdHl`j~cq~mx+a9)mD^rTPq+R{5v3$EIMaDgT23hZ&^S^TYVduvYM z6ILJ{?Okn)58+Bj>?aCe2dt#}-kskWIB}`m7J8QfOavRxT;F?s za6Kw8wqU3r6TwBQo}%tmth4^?BiF1t?(z4hul-(n!UTS+b{n{1%g@521bM9f)9H!S z1PR>jWnQG&NqUP@ti@saJ5@H!Q#pbq7F`k>a@eM%gs?v~YZrSzlHhNoV3-C4KCKfW z2J)|(a>xb2#}p4XK=Tk`O#wGXn|2Z5tXN4g+X!boOpxb!AtF7H1>XONq8^*-`SAor z|GSc7u@l%KD`kp{|8UqQlf?8cim8diLC?3C%sG zZoaCPzBT&I@BqkwkB#AYmQI^>TL_Cx_Wp;1*FUz*s`K<0&}SnMi)_L5Gx$HFE6dfy z?b$HrqnLyuIO(HH&t?ToA>I`Z5lJNW&Z)p^JpS~I*IPCCm}A2 zwt52DO#oLc!cFpxxvO8EgobHT0A?+8C;6O?KH98qM)PKCEJ;evy(EP%X8g0#C|znK z?tWy}FmCu6ZaC_t^Iu0o2X@Lwd*W13$==b7aETD0p)|SvCu~Q3Wx3y%KPCK6*KSEX z=8@mP%f2OdNi?Ui%u&&CT~2C(?Ml(Hx=ePCy|c9q|9eu?Xc8~KcH_$__VQG#U%J*r zS`;#5g)bqTquK58I_gMQna`z!XfzRZ)cDgN?T2xE>3bM2C%HaWzFOQT_(5cc{|^@z z=n_M4Ql8(kc)aYNOv+8}S*DtO`My7BB8}KUV6M>>fbl?AzXpqE4=dpJySqM_WN1)o z;Xz}L2FxHk+M#2u4Z4*q0ZjC$qEW2{{*58o*MJP%AVXo%eQ8;QZrT6$8o-=E@A8z_ zxWx2q)s%lW!JTsqFPwPx2<^Q>saVeTbDMiV)*3hg(D^*B-ZW-?Uw1t_6MtM?$Huz>8o2Ja7*Ke^?8kV)2`icdg&_5hd>AO1DH#)-^GK+ z++c^rf1*qlpMPBw$@C^Dp)@^9K-lrur?)ly3UU;o#qcWOuES#(;{~A!J3}{)Ip+8< zMoKTPmGH&lgk8uCr>J97sy$N0{HpfN6M;p^rt zs0-)3e8@S1@4WbF9G_%kl;n9JRM%02w^oi7uA)TkR=Gyed=~TJ^kca>XaGGp=#t1v zZHN7buV3owH&%l_9jNR~!j~i;ro^H^) z0W8!P7?01MFA~Pz4(qlra6Fan4jVBSOKVC+8R3HGa72{2O0yT5cdBFND=x)WP5v6yf6v?3V+(n^xAsC!Ld=oL{`BBidXiE01qopTp;%mOl7+ z(1@-Sa&0TIX|dCbYG0_(su#=e=Q&%w6*D&*Zy0Qo5G};0BI#tq+r)^9;rTBYB2R8O z@6&1-f*?6mi7KD4%$uef9>MG^wQD zKMBK|Fe(X(nvfOpCPdNNQJhnx=3-lPRtE{ZX0VsH_uc#%eoCA<7Shaar(s`Uj` zTPn4M$m76iBC^9Ej4+#RIGcB?+SFYew@rm4^#tx78_gfW8`oXSAREEYhU)ajL`42t ztBvwqFINM7M^=Uaa-8QR)?53^uevdN6FB1eE;G3`S0n4v96Oi1d#4p3K`C4c%s-Kk zqc^fMJ-oc1lV=T1Xg4*7HHFB5qR5M7UCpEHvoIOmX< zjt@LQ6lvv+xMa;hHHm&{2&kI*x%KDapOsNR>(GD7Wqlm;`Fe+kO&1B-dWzkywHB0%G$#TBK#qB z5f%!ft0Pi0VeilwDxWMLpB#Bar@D*cvB8 zy6Me)iBs+3T+yz&V&#Ju#kQpIa1sS6nlk#)a(yhE4Z){W3=`|i3RZvo;-I8$jIrqn z$BmQ^9Iwa}`OW(K3Bp8CaIPnbfXwvAW3!mTW=s8S^V((wQ`1*QeNf3`hW0itXVN6% zm}NEaUU>)I~ZF#O}SsW5VwV6iyq5>kB@GWnK`s z=sI5w0E-ZnH{~Aow=W;ncw$8bE>KHkYN4=OlPo4Dglo%#yg&S@V(pN#v@A|!mNsEn z+~W$ll51QncI$9{tLdE{ZWkE}OStNEY?f0Knk6k~r;9Pi@^UD&e}HLF>c)K4_0c7# zf_nN*zBLDJTAXZ5aq}j*ImpNT>4g(VQK!9Ewf2>MS&+KzHz3sC6Xb4fKo(v_jLlQy zg#e9K9QJB3RA^%5|GD@95izP_QCGTn_*$sdSH4-!cyx81p{((hfzT*ku@TST_We`e_x2Mp^XtW&yy?g=9qp3T;BLY;lk0I!|b6abmOdDBTnM2<#7bOrczT*yQ zs1t|8Xt;3}8)jcw+Lj2!~o=mxh;$j3nz$>PT|ONzXMrq8^I+vInSB{ z>n}P_p`{;Vu#6P8+Lxx(Xy?qR5IPAhgKfzDKI@R`&6Rb2rkZ2Fb^lEhe6A%Q;Oy zxXAws{%c>qcY3c*084;HIEz!RNz?1@RQSYQtGnHFIg}IN^+aqT8Kh%|1V#U8pih|B zH;s<3JZ~c?GDfj5arU=xJa=C4{y6w#@MIKsLpJo7Z!5S&5v4t!vY_5LYmBK^Tmn7@ z_lDdaML-EmmU`+lBmFU4?RroeCFjwc!{({Z(Z6DKkFBme8HITnaR=FO-lHFzqLbWj zw$8jAmI#20Sjej0coN%etr-?jbm8IL5ac!24=Fzr0P58v#9kk(X7122M@mswhI$A6 zSH0W3@V)}Yf**O-uhmuCeM{hB4+4GZ(TuDbUEw!)<=4dw*V=l8>RbpFvl?*5&SUA3 z6rszIXsyB&bU7eHcj4*#N}yH)|zz< zUba=6R$S<|7&U!%)zQ5T3y-Uf=Vy0!S;ke}wQRqqRxst7=y~Mk6h=ZS);0Mr@ELn` zT6oR1*JovJPp@VD@|*~x)0!`AFo09Mt3ERdOHS_51c;DYAuRivh8R@CIz?eDfqg>J zF$!d6MtH3WR@rk}6x@O<6vwHiE^b@(|6Bf;sAIyvpb7W%;(gZQwR(^dmnJHqu^8YE zq|b&!$#nKwmk-jdhxd#0*hNa8&ir)4H?hd`Fv@72j0$iMNSjhD8F=^G&B=E69m`+~ z^!*ftyX?I||0$!4u0U@-rwl_2hB9G>!hMntja$ZLAi0=59=dvy>}}Ni&O2`)NI7UP zoTZr1yY~JN>-VEDbl#u_UD3#v4exb6%eDZiUb3rfL0ec~mo}$Uw3S}1x!~GznN?+Y zwbCt8otm=*-4BwtGw`erTM%!F@L|;q%KAh_*(jlB%akvAs4gm%1qn9JNb5AQnSg_V zuD+x0Fi{?`^M+Y6%Ci{}jo%*qm0_bFL|nIfqze_WNNqdXEHk9+d6E!tyc*)v1~pR8 z3Pc{VCn>*srD#4t$h>&HJezDg1B&Y7rH*(AeiGR_VuUp|5h@Z*!l&;K4@#zodM`}VQM%P{wkObIbstGt2!VjwQ@<5mg5mCr zCUBwy#?vurj&57?X)gaTq6V-JN~$rJXA{*w@={m>5Y1WF$u95`I%3NBeB&qyenF8nWxGdIn#4OYdq&YgW^sa~miSO``&YCzEN zA0aEazvqPck}QHSGTiVcly%W}9Rtj?M}zqMT=q|C{|kYGreC2u>&9{053aXS zrrm-az&RZaZjUbJ?3&AiIy*4MNJ2%<ZH|u6VY|9(w<87g9K;UML$l_*}{EPwBh3VQ{L|fjW+Y9-`J|xI_)n;xt$s zMv->yEVG$vu)b|}iN^Le5f$4%=EHcH2lMlJ|DSu!B$a&(MLD73ykArB8zcP0lLdB^MNX<&k>?v#+k;uNgK(wud9Zzppzkv%hV>Jh?R0H3AAPI)m@;y6cSMW|Xu`Bff)=4-b=V&BiM%mMbBRRc~pd zUB^b7*xZ@rD6G|)ZUDp&8&T7kkPzxU1QkDUnRZksD6l#?ww6wnH5GvHnT~MRcEj&t zFnCO%QOzs4B?gx}#rL&(sv7Pu$6wvmd!1hB=0!ih9d;==X(?&sys|4M?IYvB8NFcZ zCAH>>bfTYH#?;AW{5wX3Hyvy)=zFs%F7~^m;P&1NMh&_?M0~(Vf`{t=EE$1N9Q|_J zDs=v)tUV&IBY5?KK4O^3Yn{`EMBk}KyOWB~KY#R_b0(~&q1^jf-s6!!vEg>qqhZaU z+bX*M1S(R(V5j`*8@T5x#_=edM|%I)O%|1$FOYn^08c z-X5sJ^|#ZQ=H2ghIPLmN?6YO=X&A^zM6T%D?@?Nh!C2p^_V*FTYM}L(z<5SncW3<= zpUp}|4)Ru`zD{QrB#*)nIk-stbC0LpLKb-eOB*b+6Jh3FVxFOsJ(DZC2#w8*gqH_)9FU zFIsq+fL28WgXq-ddTE?Upu|zw8RxsPOCR&oY1|ZEgo~D9y3sre)p$M+&}lcjyiV?p zW{rJ?3-<788XTiMdL*E5rsNu#ES}}fuSMLuA3X$j%Mw79<%XL%E3 zG$onb5UGKA{*-P&aeJf?I6NJnMm92*)z}|a)l`Uf99PSudkI=p5~W(5jifoE$K`^y z;WAaXaowS>%HCGkrI3}a=FqI$cW}h1!|w||wVxuRo}XF)Ohk237kXQg>`^t`1i#W% z=++4GAjl#AcXC$2K2WCjmC%uPW5j~zMat|M#~dtP`zznfElp@}bC z4&0#8@pl%|fTsI2YUEkd$&=p;LY^(;X{|v$Tjs3mG`2Zx$q6`Z3T4S3dp~XAu2e+b zdNj4Hsd-=%tKkuUdoS57cg*JRCA7q_6x(qS6lD+_C4;*Drz>2}XKpY8KNa@}=%X7% zK*a>Qp3lNhckVQmUIeCy_AtYyQ0mCOFCu`KwrfJLFsyo4!6lJGOIueZ;m(B5@L&oIauB&EB^P|Do7Bs~w-INXtbv+Q zX<|IqAI0>KZD0_p?md3fgF&T14DOQ|oOBckk{2w{4QVRHw6IovU$(ZY7I+m`&_&t4 zX>`!4dMrO$NQfp{gI&qPkadvJHO@@*u`)#v#v_=zP>n^`={q~rJAIo1BPpyks!pZv z4t=0wFVOk)ctct?u!|=g5?) zpmyGxE=M<_uX$?Gi5%B1cOLc+f5pnGUh1JGk0p0%O5AgDN9AL>e-hDk_RTNt*U ztAQCeyyD7U@qZ%_^M)0WcM0rc&l`k>SWHXvSGqKzQICAQ5NL%J)n{R-k+ovJE6%(U>z}}&`|SAkgPh@` zS#)z|=&{{9u2=oZV(MO77(G#j|2BCoJuC-Njh`YpZAn6>FDDYsPfo|?rb%zYnQ6_iik`%keYKxv5~4H60bO@1Y|0ENL_YB}M$_h{#5~C~ z6sY0;{NSefr*n;pL7hlmqy9u&N7p`i3a^ED@Vff4_yq`HU$M8@BAq+8c`1fF3LdX& z8b3wo($rlz#Q=V*LY8mFRi#tMjuQw^d#EV{IQDGndth*e=f~p-^kj1oV_fs) zgE>me?>uQP%V7>{C(c8P{UTKiiddX#4I@A>{*J(^Esn)AU2yHG9rfrkZ<$){Dnnko z9!PyhsWSECvp?%}07A~_q!13{?m76*{zvdtw<3y` zFzVw+GG3^|dj%T*;Fwx0Qr(4Xf;rdq`+@%T)6IlrU^~bNInGy;XJx&zvFoWHA`DCl z4Az0caN)Wp4_1gWczZpOAAwvRqL~xUI7>Bt6vB!-rm>MGONMU$*0elf9uj^V`;p)_ znX|^}+=QenlJiXg3)p}0*cS-ME*pF^xiy6fa4_!313MJ$G& zX`#*SSjR}2*1lZUc}6n^p6bJumhY^BF^ttb&94lG%1y`_?xc)SJ4ay+RhVgzvh$)h z+|ofHuAYd(mXcr$`xLaE)?%#sct@+-CK2uqyD-WjjYj0!_NmMIo8_LR`O z)<_8wzG0<${_VP>aMlYG85e8xLY{$((av6W3ry!37lut6#!3EmlSh9KLFrWABbHd0 zjh&E{r`1s*CuigjN23QFf$UxMY=(CURUleuwRnm-K{E^<_~k9KToWOr6W!%R6+w zw>z3rhZBsM6l5(11YH=E8Fhggb9hhM1hrAI%wHsqyUb-(-zHP;P#2d1PjI`?3>B;r zR0*jFY$V7JzliosbVDcjd&vo4BF|A9w8^Gfo;E0Cajm#t2L6G?i;Y91m3zZOg4$x4 zXVLjKY+ZcFFNkqMwX}GzhGXOFS1!UcN;LDLI=^$Psyq9HXU1JItFN^A-XpF#*8n== z+Jsg#>GenG!`iC>&M7pJLXJ_;`8D?mT52slVn4r1~L;wtdx@)yNvpFyM&(u=Sj5w&4?TkWs#1l zD+!6Ev1&dJ$Y71~+>pO~=&lYRxe<^WW%+6JzaezvWEUh+RA2l;_kTu3_kY41XPD0Q znA+s^eLcB;^U zD|XwtJIgk*TF-Y{~W$M(w#wMNKUfU&Bd;T z%(n7Mvm0Fz!V_3F)a%&`S{HjLn?>}`TIpd&*t>@^y#*zr?wdO~a$E4+`D<(sG(8#^x$uKgNQFTv2}@NEpK zhoy82bI$3|^BiqI&a&BW^Aeq4ywU>m@*b^!cqxG$3zf*WDS~}z0z+(IP_)c{>IkZu zNcBzSQoO&Wxp7YhV=4^!{6x*8Ww+Nv^|J0G4)UO!!%^FKdV9|1K)kCzF@Oi2l+U<+ zP-rr_+Y$B?f6$ZAXXoh!prz;XF*G zeYw_0y1mv&<8v}oucGox45%rIEA%vONccy`KNYvb#p!d24}bG9;zU_m+x@X{7=_)C-MN z4sO!9Y_pw$Rq1^$1!&C7l@SEi)ErI9hmMUJKXw`Bq=9ye7R4W44$} zDm5c@!IpK|0a8@W=oT3ek}p=k zjuyR4msf*}avC3E?3IgWB7cu5dAjVnEpVMZs<%4gIxes0+PgKZz-8%jlTukiNk1*r zC*1apusb}PfSqiKk7!$0_iKH-rA!ZLTox|YJ;b?zbJwH|D?W#<%3%tH3#Q!X8vz_cTYk`I_zsE&VDj2Nm&T_eRp34s3qMG$a;H z8LI;j`~s3@vrGmQ+#)p!dZhY>JF3P_0+1Am05!Z#yXWzsg7X{DKdwD6Mm%uww+^Ny zGer7F!$tE$qjDy2F5MbpS>qZ z;bmD^A}@OkNXZ)53|1R@^fG(oUFem8FZjcTOBPbX3wh_!MynK70i!w5aXJd59;1?KZ;2_m0^ zcH83Lq~6>PpeGaN>Vw)yC;IClJDh;X6cIfHb>p5f+t-+A>5oQP^6%0~w1*6sKV?W^ zOD4|LrD4fHrA47Mk&tMFc9%DM^1ODETFbXJu$H({ebX36sv6=)u`KJ_W`uklmt%ud zmO9fMqQnL_4`IdkWp6lk`MvfobN*w2)m0m#1W)C}LY%u0%ATn-p+FYf{rJpAqkf(( zaA=={`=;=cg7XuM-+t0gcnp4s1(LX@bCWsIt?B1=e;|i0L$YwhL;+@XG!@|LK9~h8&?OYw7@hgyZREJ*_xDI!wdgYFzW1m#Ig^_izn&IX`Hs*`_fiRe z3ZoARh`l?GnKBjfPI-WpEuT<)efI=n2k4+`Q8Nju>k3KpP_1pAM@PVZbMRu&=toq0 zN16SFT71c5${)LLOnVbx$MZaiO>)9VD-*E=+Pz+FXQG|_s*+`aEQtXJoLym#9r=}yE2pAf6HsAM^>lZvfR*s5oYvWk}o+Z45(yv1FR zh`-?S!3}vzMq{~`b@*48$L)61OB$yQAWjVR?nZ7(2!qYUvH$7VRFPtZI<3lrjog83 zAKUmpuFkTpt*%kR#oeJmad&NtySqzphvF1>DPD@Z6Wp}~x8Uv?+}+)JI3J()FXY-; zYwwwRW}*hJ=*5z=N4Fby)J(!%YXtzG@3wTho5}DP^#K&_=nvI4oUzyFGb-=_Jfh~D z)<@sRjQR-Z+_J8HLxuGOBURsO-DZ&{VHWo7VcJGN3%%*!H>cIl#@o5wyF!)3GA$W! zUtS3Vy2rWE+8-+}s!^DKwuD?a9ZdN)!##oc{p+;!u*)YQaNly*!TSOCOmT;B6@0$G z?yGCh9QHR1?M*b3o$9Ad2IOO&&SBhA>uaPFW768^?y8BX%Flx=BvT-Afo29BEixP> zej&6y47}6aCYI}&`wGqC7SGoSiNS;qw0u7MFot2(9Q0r-53&{cU*_`|0dBM9!!UeA zxdpki4|goa&G19)0g5|69*R+y%mVV4=ENpcw~k!?T!(zR)*qz)`tAB7;1F$1EM8z=EV1tSPJ)AGy3bJIcE?`uta%HN$6=&8xQX$v z2iu`q*Yn99X0pr9xb3JzLJ^;l4#no)xmaglPPScWhA!)OoVuvtPX|J9{m+&9JtrO+ znuT}DemLm0A2bUL%J(32?h1P9%E|l7-5p!c=PR_Ns4pQ?eiCwobkwr>DwhkiXKo%? zab_fm>m?!b#vK2;^=2OgOVgSoOISJ3ZaAU#*5nnKFhjb&hSVYg)T$sQ2%&y!%UOJF z-*VvF;ma8v$aq~9c?RK?leu3NFjMLIn@e>R)L1vr8^q=pvKY-U~KM!Za-fD;O${JMbler+ypBB&3C=ZwX!%5VNdFg-ovBh5i)lqJ zB2Kgzly`}5O)SK)e-^@BKX*;|8_XU^E8LDeEOA(=5Qe}=p60&Sf}dlPW?d7Dk7kjW zHqxXOz#$}IxgbX@-nUJB2et^sR=_l?7(N|bmO%ODZ9%;}zvGnO200fEZf!`vksy4F z9k97fWD}von86WHbR7mqx3*jJe2z7KA00A!UL0GkZx0Sptgd&o>kV}5hwL)nShrn? zGDGuin0nseeU()J-m6IOX9Th>+Wb5GJWkY*jz-@enek!1ZTav$6$^>sa z^kZLfWnfZPI$n6l!cO#L6U&rd&&}E15H<#5M)TgB*=`3~EvjYd^%2}SGGFz;_SwP_ z!&##BWCy_sN$lQ|uTJ*cKH6Sgqzl6~{72~Wc{i-68J5?iu07nDoSn>pDMBW`mYr&b z-Tg(^v4dfR|0j9e-j=-?Az+yW_YEq$1b)joPP1&CCrv9Oh(CsHk+>TOP@fIr-J6k{5Gf zW$vfV?xnJS4pKdL5QnYYlSQJ7rOEQs0PoMgHc741Mc9`K^=HzMbcsSQK<|1?z2KQ{ zC<1C)Gv7MXv023z>jTD*!sWOPAPeLfkN&G1*jjej$u3`q(=qoI)}0Y`#9Nnc76sQc zaoZ74NT{s@|Du_EjGLKecubi7_B$7U?n7pa*PzMRdJ@)vKd&<==aL)EmF&EpmB{Vs z=!E}@sM4Sm=`?cLi@rdizX@>6CnL@Lv2SFfdW5|>)c;?*&DRRJaE{7<2$j-M=2jlg zn8+Lp=psVPdYm?_%K)W1u_MVBu(#tt^*(!*lH`;2BC6qrvGFDLo2rU5c4ymCw|mX^ zf6sm&m+;gD5iFhznl%Y{s7{Q0a!pW)SI5@;GJpf(itedMv$lR7QC0Y{u|F6Ws zR>IBB6E(VBAQ^z@(n*|Y`AghD6xlNwCTT?o!OTjS=ZmM>I;QzD+?X(xa`W{Nd)f%_ z_IJ?VMReisKa~&_yKT&&c%xdHU2v-JxW(w%+z(-l)uh<=F)4q=>f9q&G~*u8NPtbz zVXG!r+2u&_gi?JiVlcKuN=Xbp(O$xWL@wl0`0XpA zxlkj*+?CB52FP}vRfX|9H0@`}jtlLCd}Nt|ZT0Hk)bNw5CfTuQSJW}Ni|5F{wCbo@ z9E{|AwhTd2s~S$sq9&r#H+^Ktf;D{p@iTw2Mn`Q&qc5XbzE(!#6V5NKi)Hl{>PjtC zSY{J}08mG9n!{3xlR{I6T@n{v?2nFVn9t6%Y(flM_g)3-eccG3p4RqF<3*gc?oPgz zw!u4+UTn6(XH`1fS6zo_dMw`M)0c4bpOg)B9i^S1ldXoEQMbD)dxe%3aAU#>eN2J^ zZN}4w3J2O%mg_jELgSd<3Kn}>Osx&f9&!Phk`Q&>>uiL7SFh>q9-Z7+7*XDc2}*!D zA}w=f^dlZif+$tTQj_&=BA5}|g5y{Vm3;}ihqCPIn#&nQ4cAGyr+roO92KXT1;659 zw7!RSi|}-(mlq|>^`@485mZCyc*|_(u$Hjh|D|vdd)Ft>ImaobSr&=I?Km+iQ`KFS znHlD<6Ai6q)(g%5)wfB>3F2(r^GC~Ut^6V8)FR^u*~8wgyz80Q^|^e06D~9Uz@_dg z;0?R%fa^WYmMkWZz|`}$<}bP zN5zEZqj@1fHd#t22X0SyP;gWUk>_oXlvfwys3o;``rrN6PaUMfNjs_hNZ7ND8lMvK zBPlnd^QrB#R=lg_I2Gg}-ym=yd)Y?BA^X|*ajfXqHjz5suHdSzDGV}jO|Bj=h2 zeLb$wv?~5&y6^A=xJmWzb+K7elh&_uf$^(K>$uL7Rp_TTfiKyt)L+LUKSwfi0P}OFbaBK+6Xyvqj%pXsPXd}~JD#e# zJTe`wJ24u{MnVH^G`qJYP{~kVvL)8mE~`KPj<_=jNw4Ip*IchHy&9p_TJ93JzAe!- zlRWmeM^GadRC?a|Qxla-%3+ltzbE|JneMxgbMI;RavplzLeMh_@=54^D3oC5xKwFO zuQ-*6Y9HL+H&Dy4%bD=Ek~#d@c9$0;t}G6I^h{407fxcB-Ktyv(RY%LivRSP8m}_- z@dGr|+u6UUZwbwh)-G;7lXl+flscN3=hUPa`XJnywo(ue6WaPrc>S)_-gcm|m?yj= zL*nT;6gq%jIGJE=z-4s!_HfkSzm$<(lgqyRi5Pp?oMUQ%$+$9ii1wILN-3sh`S025 zMyJ39&4d_vx`_MPOzEWanxE3~d0Uvxw5z=gCV{Dy0p_4acIgd4BAwVYC7Xi6DF1H8 zB#4{Lvxkoj4do20;*(#DTGZz6$|AdYHNPfK`zX0%7g+x3Iy=R&puC@`=n~9!tUB}| z1PEexH)8axQbBebLw5y(Q`I%xXH%00$9Uy8`uuwo_Njai3C#{Jdxf{TOdq4{6OEYS zpf&EVj?8PsBpk{X{*MZ5zeA;qP>_njV%e7H;tP}VMGeC!!1flm4BK0@WNij*_gVK# zRc_sba@5g3L3~ymgq=d+1TE_JmHs$41H%GJ-IvwyOMGYn1DGb%5gZNvklqx*Vw?_{ zoeSjlr2VBK0;U~&2dpY@HZAbADO`>flSz0ZpFV+UO6vLb3CUldKr3N*?24QEmq62< z9KnjshJf~82LYYIqcvY14T6{OReXJ*w;PBaS$D?INXyTQ|M@6Sx`}LFCpe#u?tej# zHd5nKx!_()tA|z9Ds0cepS{ELATBh2&KoEd9|&E&c8;%DG`LVS3wc70&Bi^wIVc%z z6^&}I-xmmkgY=;Wt8W?nW1LG{p1Z@`H%}G}z(pExnW#e~RzEry=^XKoP-dZ**j;uc zSVvjseLCh@Wc`m8GVlOj-LloQ=~%!$ZKdEz*O7l>g0yU^@1)6vz6{Yp9TxZL9|<2> zw-QxLy=F`r60e4X>{C)L&A#m78vE&j5hjtBEiHRw zjicLmb_OqGo!GL5AEG0%fi4J?3mK{X8twk|QlnO|HBzYB&4x!NFh6NzcD`YfZEM#K zqXfSV7>n9E690GG(=O_cCh+k2JK&BeSdu-5at!ti1)7+@;!SY(NHN;Q5T2XVmws78 zXt4l~`YyF2dRCF@``a z!5d%r!~yZII5vJ;_yh9Pv2w!jz#R z1r}Ass1)68AgE|qD<-IY-|vua685y|5KkU_rwJi}S=Ar3H}ANtbATQob1uhf9AG6` zR+4=);*E^0W*9jFhLrL7w`o;q#dj#N-m9>Dbk3h{p~m9d=gRS%fOhXFzAk8yYC?ip!dkYLVUy2bCTmb}#+Mk|P#VkSC=L1+eoE{v z)tiBcKVl+_RE65~*@~7oy`|1?psU%!kplBp>pY^UZ$L&Vuvi{`r2&4d9+nL@zGC0V zG?TfoAiT3D(X@~d)mT??7P}8UohL0t-|fSTi&D0;IfT>HYk!46-Ood;yB=ozXRVs4 ze-Dtew4FEm>wG!`c3{BO%aLMhR{cRY?fd3>OT9h0#J)82X9rDB?UY=!fVhWVdO}`& z7r7E^qF}D27wd4@6eZ*0uRA|;1B)2=t(?vp4pT0c0Cnbg!M=6*uuY9Ko#k(PDr<+xjr zZm$s4T!8u0c-4)Clfh?VZ;DyJ3ssdB@6Qd_UMFP|16en|k*g zA;Ajoe{ug4;vCJLCFSz<_H!5UNacXd=6jfoKp(ln zVR9jNsY5CaeMt5abQ!bEkS%1GC)^CtP?=y66isQ0mk(<*rLtCYVswl~$q>AgPsSyb zx#|b)`bRe6W?ywv2(OKM?~hl{PyO9S@d>|SWo~%zWw&)IQIbiM^pE&Jz8aTltKKTa zEBDX`7Uaj;{g{rFYApBmuS3Y6tdc(&&tRD4bk&>CB}=4{StVd%tVqLo?WAuX?kVjO zxk-ErGGrdfeEFZ_j?8%Bm^8uHBGvv)#nVX;U5D~|0S1i_CHr(Jf6lzp(m(Uqf@y0h zJF8Knt!1~_L3rABOlZFGCEWel6z(#Z3@;nY2waj2qu-J2^!9o4nx!<`$vv|wQYBTCu6E zoQe-z*`~3ppjoINXQhxeuijIWU=wDRXub}>FxjlW%iN*(pum*;Pdwd@BUJQ_dZ6x;8-n7k$o z#8EJ+44}%8M7N@IDu@9ZhyL36omOTx+UK)c$^ARrnMrhv;UVi>-up2XvWFdUXYnI* z)4j&`~4`iw$JtZvt)FoUZ>Lu`w#h&FLZM_<0! znciX4{S$*B^vAPlSaW)d15j8H5{szgJFz;$8}J*Hj+tdivmjPRuA8{kTNN&tFcVHu z!$K)VL>$2=LGLu=O9SRl!7GLvuQU3O4=|HP0+b{oEp>e^ZK3Qcm!Ow0n3nKl+ zr>7WY`K3&K`=zo;v+1`H${CAo&6#jBe~kQdpm8!Ss9Xr4sDpz+0zb>5_Lp3sA%4F~w z@Ez$Scvc*aT!Fa=f&sRJWDj4gA^*@F9i#NHM)FmZoKxfpPRm=|kPZF;K{4}BfW6Rd zaZsNMfSFa=uzGxH;cH<)DX|<^GPj1i-RYRMcKK-~3!*yybXE|Z29(@{LENz~M=@|? zO2fO{z7)rD5vfIc)B>r^56vepC`anA2T|{W>uA&wX1Ow=5E9e3w26**1-C{^=>_0Z zmGcA6W_+YDE$)mG&$@Be^106qa3iAH*Xod zyP+TV+3qieL~yY`ukF6fcHJN^;QKtj#v1iJg*RPJE3bn;T3j9;HcxVegHE)cV410n zk~gwM-Vhu&+YrD1JbPX$ZnM^2L-TJey}bjrf*&`x@-6}y4Kwn}4l3b|fJflp-9kzG z6g2|twHd@HV;*)2L!<{U?s)??HuY)z`)k~4iGMc5Q{M^&iIJ~8XFQ-W>|X4uO6w!-JQ(osR9Jo?Zr$%28<=4t8HAe$$r6oGn@oc-68-2U9=RnseGqS(2CaGi zd!(|9IW1iJI*Ma_d@X32SJ|`XQ&&>WEiMg&O!14Qkx)Gsxuq)OX^QGZcR#vdYZYUb zA)A_0ZdEm*b20sWLjnlEdERQ2X0yiqx!cF<9@n(GY59D)UldZj@KHHf`l*rj08&mJ z@7{`;3pbJyhDC6qY$#ZTnsq$g-mge|7=r z^7f=lHXIr2rPS=9abbobGg!HA#&!)HNhZYZfI%R4FnVvKG0~`+co#gzhckHJRQgS} zXst1h6GEMH{F zaT}eZH3L4?q482GyIwy7rZ!s&EgLHW@s(EjfT1#%attyxLwW;7$B0|$>?oCh;uWTO zM^l;Xla@s@JL2Igbw*;yX`WC3ZJrF_~}`m;rb@o6Dlz5C=;QzIG=_ zH&;j+@dJsZhsP%q-ZH)=?^V3I`$Dk30gV?T&O*?w*t5|@rFyry8ZuvG#$OqudzqSF zD$`nCGr9f0w4;MW;MT*D8-zp(PkKY}Xxoq;&&z`>XB7uLuz&ZclgZ<@n~3kAi8lRSPv7LnxK!5 zlx`5b{+uWy>@g;zm?kzvIO+;^O=!Vc$nu#@1DtH;Mp0CU2MEio5#{qC8ioGs>GPM# z7AS>3*NI`>iA!T%T6|7+pxco0wM&cm>7nS0p|E-L76*r zLGCbByK9){K?#~Mxua#>yRG(>%Mu%hz*-Ns4`s7ckqWg$x`#M|WA#;Oxux{l)Q{XkzFip| z_I_4!QJLs;qaMlmtCO#o70inub{#UH2EVW+>KFsp`FTkHI+-jrle352CQ0SoUG9D~Fmm~~2TnthoshIYp+6zdHh!who@^DQ!seHj?1k!nO25uLn8RUleE?l2(QH=w zN=NKXS-~w>lyZf7_hS86wbV z1|4zGnCE|@=2#Qb+8rG|MnC`co5bJo5+Xn4y~clgmhvAhd`{X)P+39-Y2d3QaF(n7YkZRn6S<6iv4!F!S))B^vO{U`lsg%&hcohT-=a!I zHJqwyRw#!W(fHc+&U3K4TD{yAt4tuF-X7#%JVU%~C-snjOivJY=s<^5lF{h>R^G6sy#&IeJZ`(3$>tlVlRiKK} zxZj+#+;)ODW{;!(0=YbQ;Q63#!o}e^j`h7UErB=nl7Px&uY0%586gt0G%-KsC19>_ z(n@v3gmzV#8=>wNsIi$qy_~vSCw2=J|AbB4w{FGmJ_x$6)GKf1~2; zOXv~y^(!jstqnAN_^xThMOP64tx~U7q98{_Y;Q|5tzmj?9b3#s0jYC-W+qt9CcaJt zj}k4i{7hJISWeDqNR!s#G1}-1K$n^2bW^VtPWJjp>HE-_^Bec|6+iE4l-K$eqZXe2GlwMJiK$FALw5^|RQe3_| z7gU$TPH6LeBGXqOOI>l}7{Ip&-Vgt+5q7h~s`@Lv)6}7bWjlT<%D8N>10>0K-w%(6ysZdu7V0F*cVSG4*CwNX2;yCs zH>?>U|9S9t+K_YOZZM;m=30Ry+&bdz%GtilhD5NDiX4asC~{M_uW4kd!$r4fm8}ag zeBggUMv?(@txsn1PIcckc~gW~x!c^B`F-B|cP2nC6nOD_1(U7<2}bUab03V_<>M;k zlL^p`N})n{J^>O2KSZB`C37RkB`f@dS?IfiRxeLRU@pZMtOrIn(U|@ zhSvPLvnOj1*HBH-t@+7U)=$N&?A~W70+Z`sE-CU50piVR#YhS1&yK=pA(%A!nIQ4v z>qt#-bknTf@76(3j60|DMI

G=>p^@Yrj$9Pn&G%*Qm!em;y{B4zZPsL4x@6}dw^ zYif!Tni<^tbKi0m@!XYEHgz{ z=(zfBBPkZV4u*i{0}jsOUQ?6vSyAx6g0tOf7LbB*IJq6N=vyrg9Y26M`J=Y0yi`|V z&ib=F)DRRK6tT3h#x{q1m)Q@0RaS8nx*VqrL@A*Ss*ryB^FTukn-y4KyG(Pw*YU&H zO;=pi?YgZNBfuA_qCxQE@9>#bsP%07-s#E?#wCcfK`HlCQDyYpG7@$uaUR>D$)|bwlysYr z0OVFcTe;f|>y6>FhE}{@Gv~%uOkGKV{*ag&y0bMBANy999pmWY_(dZpE^EnCte;HR zeWJsfa~SiJOCL)c-vH!SUVvhWbd$$D~R@P8#PZ z#r}MaO3O_ZUhx5)vbKNcWf=s-r)~=^5~Ct+&U}7>Qhv)JkefS{L+iDNW?6y0|(NKizU;H(tKk{jED>WS~lVCVM#A)yqx3DE}Q)*ivt|HSE(r$g(NUC)$w{)su()%q#TOUZ|>%U zr-UJI6ye`6=WL}~alQJ(>`O2ga@B7A>ds!oMRHp7zwBw2hWagHq@v81b+6M?ExzxZ zq~J&u)twyyzX_$m{4__0Eu7?+%&)i41q$#Y9!0>4zDm{D^PJDS5yb~Bif}7&iQWBN ztGVXEcs$62o#nOQ~B5 zQV**hHu&v({3qidYT&}}u*kN~RwF7na&~&uXXN6Ij{M^qWc4;>V!AFJS0q@qx3l&p zlN~M)@otgknT(UEAm2Sj=LJild_M%%E{q4{&%7iR9{oI2P3uHtAu;4p^49m>=ZWdE7 zpP!}HBrd#Uew`S=K%{ar$&pZ2W#a@>GW^K}ukng2GD(sG&3Q9ItDYM|fH54`R)}*; zJJ|G+oE>Brhd&hmAQWMU*om14Un=4d8(PYQXCc+1|8*rmueu_*hQ!bG%bL+OoiO+A z5hYoa$%e4NLgegoAvVwpyZQqfcw4S@+>hvDn}*`WI0fk8osr3CF9R~0hlMq`usmjJ zWD;Ok+pBKI|H7K>v6qW=zTgo*ie~@as<*WYQZN&@>N=2`87~Y3dav3o{+duAo#O=> ze8=-!HGsw!#Ir3V`P}yUU3ahnFIkEO9Nad+7}|F4h!qbHu^{WxcMlq!&~hPJZ%>A28r9QUF$TGwTY1PVO$%9T?A@+t2Ri3Dy4Q)3-I}+jXD#gGPju$VyIl*nPz-Wcvg}agX{F9?v7g2Ep zr)Z_VO4bt$F3hyAx@Ij`Gty*uQKsErN;kc)Fbm?v^dgQ}eGZoaFhuY>kzc;N+I{%) z-Sgwsidy4U8Qg^da*F^%ejz&hvGuHx%&6f; z(={Bmz5W5#ax$v&)fl;cq8@iBchB=sVn(+4NN4zytf1@!Zf-w%jO5QcDbU+6SYZXW z)4G3anMY1JOWm7x-fj}bSdS1ep~K2r zNBB$Wp(@L=zE=i%S&NWm3}+C?YJGJ72y-3%>}1WVLMV$pMInaR20+kG+ddyFR-tm9ht7db*jQw}hrRAv0%>Ojn@TJ_M0L1peu>{5XKYw=E@Go55U!h-T%@Z8; zxQSqQpk$j^cmw4Y?W7|FP*I#5yI0&tcPWz(+qOAweFVv7=f!*~5_Wn+{LaehUk2cJ zK*3=^dr9{l*mG%pi9yMEJiQys=s!x`Z&!W9FJ^M3?MrD`OoLvYQLcM)iYqB3UtUiC znpxghMBBboA`!bgUheTmVZ^tFt%gmq>cxReekLe6nloOrA2#VeM?|9AKHj`+*lG*tC$1hggT>p=|l=;C|x|^IrwpkK6bWd?j?}x z?(@N{^izM5QLGr8-Ps(ttc7PwFU)^W)ni6qM>C#xS6cz2ub_Fx999kO~!rWh+w zgmjkmPNl4yvu5yqUGt+<^>0W#e&zN-vS0~@t#oEF_EH5Og+G#{M$XRFCpcaIC>hc| zJVO@Le>)`eg$z3ab=TRDki0@p8ou~nZ1{){6tEtUIV8R4bwoB7y?|75Te^ju>-CR` z$`78(=tEaBpDo*h_x&rXNuT2|!>B92x4yEJzLQ7Vrd;~OeZ?2s`Fbkj5=^NfXm4=fn*T_>r{WcO8nj-B*6rew)7>;f)_|B|*ABY2vxi zZPc)C4Ws0UNEi)V`{i^dVuFNk2thCh$ey)rp|D6`t1!;8O^L3Pw&*XkR6^t_-K1Do z&r}J~@?n8Kg`Jk?1riFv%z5eA&UhO%PpE^4E}Ji68+L&-F2ky|BpK^7&qii)?KRpH zLJh#sn_%`g5NdV6>*WNkGFRjB*2*@|X{Mh=3EA`Rrpf7Wh({iUD!USN$ zzkEFHLo&jp$*R%5y!VFj;judz;9YWGylGn0<2kE-k<<0WX86f(6 znCjfhmNYM-PUU4kedm&)-S)8>&3(aQZ>s&nP8&b=4il#ZL8YEP#p_Q?_SgN17Vf>; zQiDB3YGRVzv^4rb|AG<^0<`U=5fXCrj)7q@Mhw6lNe`+C4`Dx&oo4dY^_WX04f8PZ z!wM}@8|ueS>MZZFMD1#Lw|MG7Z-6|j0D?^1^?&_<&I8Yb-Sj?`WDk6{V#D$n0DOx) z6qe=40Dj$1h6;M)%aBm_<}wOKl?+`XHt8UH!I6jSgcFcyd2Za3y9V-fHg=_(vOQCr zL))!8?91NrVMf8<>%a%Wx--Sej*eN$OM$0@Kyt0+6VQYb3MsOw9y_Er*{`y*?+}V< zf4m>`mB&Q4G;uKm!|SxZZ*E6Z22>-iJnJ;iI4|&(n{cQ2}jv+&c!_clMHU z8+Me=AFch#PNA6GvBi*=(adMmuUrtIj`OeApw-xqOzB471)CE4RxvV~#rhnz-d8Ck zoNEKZ!M-GF*QQT?*=jI(dZ3)!)*I%VQM7rEaQ3YiF#*|(Uy{ic6zcsd5{%(a$xlC# z=P+QYmQlkb&J4?yYcqJBbPkaW8j~&$8@`YVcAS#3erU}%wmdCMy~_whfJ!3z)CXnG zRuqZlz*6_xVEJZ;8e@#6+Ek)a6PVO(rc!t496RNeN^zq-6_POuKU@!7f(H{bhy`_9H=JKD8MXgv% zpDh&I;lG11fG!s>38tAD9OUY#d%7!h1LF=AGEXh_#Z-+nhWBsLjDr{`h;po@W1?}YQxY;(`8$)>G=t*`J)bvhs2XaA&WhRkV!e|BeI#s*xa{-Gh!9mzz75Kj56c9}><~8BHr(QqL*@ck-*)M#rCJpZGS~afr9Sj3p-~OcF;l z8*-paF#bunnj%JQ{E6-S-Fw@i{9oP;l&Xn0A@x>&O_6Uncaj}d@4FxUFMUj?M6Zw` z@=jGh23NZe`FN24$m;I*=jB3cBW#(SBJf+pe-FDQ-v z{qm7VB6n^x+yrHBos}7eu>TRr?m<2_jPoTz-D^LIqZlSCr0Cx-LE!i6moB-=mQRHy z>9Nn{O6bpLuoMHsjY0!ddkFHWYG7GHAN{_0aEU|yYm^gnUMPUj}Pr1CE7w25o zC#v0fY}a#QiAUBptmUfyAzzYH;V#_YE;CvtN29~_Tj!lx`SW*{4i7qP(&?KGXhGxU zyQBqfj*x)}EsuM|_GnN^d4e~G1di{jS)fL}7LY@tW@}SW zHWO-|UAerh7FDL z@R_HNA5Zh=3S4x^i5Ls0)8ycbM7gR4%Rl>r;pbj(e#+ zlerZi>;^u1NVZ3e!PF#?*o0SRW;h?dW|95)NvmpM&l&6K5bVqA2a32*ajtv#=UPUt zaAb_aWDSqkyi)unf;f%vEywh0bw!dOmlXKgzMa9~ti8;Zr$~H^iy#4KW|UZ4qyM!J zh=VWogZ$61d{Oke1XaCyw(SS07U$Z^$1Lh?B=d3++#9LVNmhUT95`?%*CR0>4KnBm6sSRpx z<@A)wI2VY33q@|xw)S=K-Z=dGGxr8~eEf5#zZcR*dwbZy+Cj~_mecIr6XYK4bQ2kL zjeLn@+O-C*aO@1Taf7ayZ8+tuacrv9RY217qLM z0`bf5u~TqgzJwy5eC$^dcbyIE1$?qs7uR!5gb6yx$r)#?*NVc~&#_DUDagOq?K*}S zZ3N83lr_Ds_OSWbiW0nCH*W&oY+4_gp12Qn3{Q(IS%k5NKPI@GQ^L`>0a3m`uu>bt zNj%iYN9@J^Q+lG*kO;_$=*ML=5J5C3&b55EzjHXe_^$E7kFkzXorco&IwfJ)uJ`@F zm3y6ERqoL!pl0r;UgjynPn`qxKY0kUHMUEhi;xR&;$%;cU`C`mKsQL~AeAYyb4rn8 z;cR)MRcf5%+eDKPDr3tUR3(mY*r;IhZ^l8e;1>|B&)V9e?=liIteEW+yjTCL)j=a*{b2)mt?^nFl6aSY;DC$J zm_ALz%{G7Ga-5qWee|97mu&jnMI3RL(F=m$d;a(sf(*>FYT(`dwsA;7enDd>I!Yj;$R69r9xu#&E*MJ5p%r@XL_;p4R#yk% zJ{DlSHjQs;Lkzx}5}_km0%q2SwnqBIh$-vHY)a02zTqOE&=6u;c&JSH==7%;V85{# zAShCs$i>>_oPXUB2c(9xzla$Ef4_%?8di(lt)JN>!wYi=x}??PzJ3cILgK*i^K#(x zhA$o3(uzAxMEBE_i?SC=DOq0G2aFO3D#+HZWj#wULxnK@9;HMG*9g|D7HZ0tMqjUn zja#o1_~ZC7u}i-dXSKU|X4_S^HE*;5E+DHmeshJwoe<^^J#qY0owLz>cCW+z$hP%* z+jLodbrA4|ClKIPBw+A1D*O-6_vRY={djRQIdf*spLEaK#RabG`Q{&bj_)m!z|(HS zsqf)3@+kO2@E#4N)L-^=_0A_4G3xS8vnQ%)Ypvme^L5fv+IT+<*oGP2+@HRE==3S& ziE;`x3{wg4TWz#{=mN~Fu4vUY6?uyX{km9Ygw1_)vvcSFe!sL68L&~mV^;sm#2K|@ zeW)eXCs7y|n{T&0GKrZ^BL}Gf43*E9_hQbV+i~E-6mDgwO{NIyi?pQ}vHta^Tv4E> zr=9EQ>k4#)OX z9auS`F3W>9pj3_(BaD3}cD{{}{Czuu{RVk2T286`!Eg53X_RSivSc{Pl$(U&noURg z@w4w1rV$s>O}|U(b=OMf(M)1ASfCp=uKrG!5YaGhUAM04eKu!Gbl4_j#^hpPH5t5w zj5c|_m~b8at`}c2VVKmsADlcHMTzegyZc>KFhVsN_V+Agg#jv2KdUC`?CjoMSYMjr z^uhjNxyQRv#r^z_@sx;m5I#pvy67Va+S=hfg4`e8uFyZBlXAwYdcNw9nb-i(IEJa! z^z-R*g!cYHxOli$)rPO1Rh6(8vNEV7-LLvQ!ON!6o;`peAI$*VD03>;-vAM}3Yl6Q z+)}*g4t21eJHMszY3!39gzO@YC7UH-xE1p9P%A4S7`Y!7mhg$vXXhdiCfEq!$`qrn zLZ$M$xYnNhOhx%7t)y_TzhwV4NouU*%u9d)L5fpbLV-M$t|d1qcr^V(`oxt^W{kWz zU**O=hDh0y;ET1e0zYbvP<6$q@Ku`RJ?Y8QkqNuH-tMDYDGVIlFJI?rPES7j-|fja zx372KENWj`;QxER){5s`fq8~@sB3Cz2`XMM+sPmE*j)ThaeDkkD~chgN(=+QTYVT4 zqPQrPnRDm33Wc#a*WLYVtLe)w+EIBxU;|y`y)+j5^x4n8{^WFGnInV5UIAf$zmkEo zDYT2JIzcXAdj&DcazK>lyEx{!G#bm-^DUsytjN;M==CUnrCf@F-^OpWe0O1-H}HT2 zg1n}SqQdT~jt)v^=Y6m6T{luV)^@!cdHH9X@CSs828aJ9L{a-HzZX-ncA@1hpuyNi zUN0e=rwCT+m7q!XP)evCyFE$WoBU;&6H*GhvrW+8lXD+YpYQvcGPXGCkeP;F<|^tp z(0%%z5UlTvKnU+e{foD-Y?+T3lPi@vE+PAi&?Vd%93O#oTtu3XY8txo4};HZZZL%g ztddLVwy9j4A0Tat-v%)vB!@6Dk?I9N90Bms)O3GSheZO2uYei`%>vHtw&3_EKc!RO zs_Z=-nO<>pl+_Z8X*fXE5S;Bs@2`we5Qfed{XOXo$~Qu)ag4NajGoffq1DpNvXtu{ zU)ve_`0jyTc3N2^_$OmY??8bcJ%+CME|9j$g20!U6v@_tkd+1Q2}rBj^**XXoxjVW z*IfFUSe{ipQH_cqmHZzZia$8uLUCo2s`siDKe^89CqyASQJz7t7nyN+;h`I^YQ0S-*@=; zu7GzY&%1l6_?no|V(ZQ4arvdyj|SL{9%po@3ftJsGg2jOrZc%2XeCVTC~Q(>?l$=H zeE8d~Wa23n&Lj$xeg}9pt`55Ifdojls|#}zs6Exku|_T2ltxn6;AEUx3j8{bSW2V4 zR-B3S(kHKC=%bw^^g5z;ierneWlIeAxDps>M_C>$dk;mYAPKjIbBxXxO@heIC7G_w z3UzXvw@rssHk_Lf@sT39{yR0%@bQlG->ZBXK8*iKt-w=}VRY=@R4=5_4gq45Znp~~ zsq^V;?j&Ylfe1+Co|Pb}L~oV`>%FCzt&KD1JD&GVb~@<8 zk%$d~?#p36Eml%QQ zEuC_uLEDCfW3iwP+opT4VJ(=;0p_n8ceDzB>!zDF>jA$MPoY2JzR1+p!$eS^*S%zy zfDyWzuN``yP2~MHHdkh|2lt*p$;rcEq51T3S}GF1i$hm>utvZHjmh{p&S(IA>APfd zvTbIz9;iy3(Ez<%WnUv$H8g~^6?fEbf;`D)b@>^B!%9K>REClyOQV?469piwgMcz|KkHiLzlnJlISgrJu?f3%nwf|$_rA_6Fxo%DRN(C@NZ38` z#q-X+^?hffjrBg!bjsXOuySs*Nq)TC> zyFrHT?vfl*nxVV-=ljo|_i!KVqrL8XueGism^)P&>_thKaKteVeA2#cgqF$7K;h{#ukU!+zsv2 zPb!?>O7x&Af|d>w_|&hQ+&z-@F-f(j@X0|)@GQOa43iB%BY=^p0EWC#^ecHl${!$E z?;I?zE)T+alsIhF65o>CiBeFD! zXd{B}MoXQJVA8vHJLNSJ%yT$7r4#eXyRGa!SfUIS;M>0FkMlWIek5luP%|JZ*&^p7 zTilUdLk$Mp^4*WsS6tiBZxk+=EiXJC)TXVOwf-a@;`~CFLwFD^-k)(B?XFqwN#1n8 z86DumX9)8a_?23=Z_D6M1vD(maFDrd>$&5g%$J7|%M0K~3k+4{&gR){oy>oMb?pzk ziZ?GcZ)+sKf*O~5>TE?nCm32DsWBSsSjib$>5j9MRD<#1Vxtyom$u;Ix%V|xe|2)!>H zo3JWj@Sc?U;@p=5QH?E6%H80h$sB|Dn1;Sc9-&wMD|*&!N`7wXr6Gi?_MG9Hq;l++ z9ml2L)97KwwglH+U6%^PKew@W7h=f;zx4v)jjjn_ThX?LRM z;Cg!nZJM9T-e3wq-eZi=@L@T4k_U|TRQ9kx(sD)}!fOT|_jdbUMys3!dM zW!L_jbjeTRJ7#;N@QndNhu%e@@;kiGf(FU*{O*)suWCqWKkL8v+XYpm)Awep#P!Uu zlue-f#bO^~_X|gde5*Z`e6^nfdlRSxx1goehO_25a{UyUVb$>hY9BO`@Ao%4YTsd<)5ePeZ2H?tH^|xSV~g%=mjLZM3FeQnIX2!3k3TOamJ!UAjO;z@f*ZWkUV3K+i? zjuzJ`JUYl)_~w2Ltzq=zmS?*NZ^;->V#hI0<#L6az3Z5X0_51B)TwWWb_VNcxBRHH z5%}b}yheN5bKM+H>qru1fMVn+kT8~o<^S}EUfm`?rMuA?&Yjbx?qb~KjUfPmvECUB zwicS8vU$Uy72!cJnvSs8B1XFpnrx@kKW*&;aR1p{T9Bdcnw_dq2c+kA4|(r1!OAqo zLT9y!dP_fpwq=R6OQfAeIzNa@;7Nb2c?Kb)b@Kaa%^I`mvYAd)c2UQUJhM^5eXoZU zz0R9s2s;I>Q0MFo`bPgt-3A?Iw9PB&UZR=OGC@a2bkEL~`kpdS`VK?NhBg{N& z)yTtBvHHH}H0KM>N4yashm=nrnJkOj?ZZ}9h=%{`aPZyVX%n}`KC|)D=(THmZ^HsY zsIVmwURh4oH2ssBWtok%AXB-LwTLNPe$xvb9)`(+Yh>ejr{KoBvyuXPkH|3f^_qxF zNu?;?)M`hHR_dB;cQ7{3O{Q#kQJjB4Xn5Hx5X5Zi+9ww=bM5^v4cdLlLMdX%HU%1O z2$>!Pm!f-gd~$#;HL`y4sF?IKB#CLJ?+^B5$~}2tAflaiLP=Csi1mMJRfmwSdGmcC;DVLq!-)gmF5-}Mm7ZwdT7 z9CjGJZP?eZ@}ErHc9$+SE`$≫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 z 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�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�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

7H%VRQABr{@EVTwD$-J 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%0Ax6B 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

-hZP*>K0a{D8^0~_wgw~0}PffK=M9#TL= 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℞Cr!m}ZV1uzy2Fp+F0M`9! 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

mTA1_O7uFS2JDo;_AzttMEdO~VYY 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

;2B7oaaI2^qCDvi`jwwQ#loJl> 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 m19NZkHP1cs#P_rgApQq?nYM8GX3EF_0000 { - // State to hold the selected chain - const [typedChainId, setTypedChainId] = useState(); - - const { config, inputValues$ } = useFaucetContext(); - - const chains = useMemo( - () => - Object.keys(config) - .map((c) => chainsConfig[+c]) - .filter(Boolean), - [config], - ); - - const chainInputVal = useMemo( - () => - typedChainId ? { name: chainsConfig[typedChainId].name } : undefined, - [typedChainId], - ); - - const handleValueChange = useCallback( - (nextTypedChainId: string) => { - const val = +nextTypedChainId; - setTypedChainId(+val); - const currentVal = inputValues$.getValue(); - inputValues$.next({ ...currentVal, chain: val }); - }, - [inputValues$], - ); - - return ( - - - - - - - - {chains.map((chain, i) => ( - - } - > - {chain.name} - - - ))} - - - - ); -}; - -export default ChainDropdown; diff --git a/apps/faucet/src/components/Header.tsx b/apps/faucet/src/components/Header.tsx deleted file mode 100644 index 748e38cff3..0000000000 --- a/apps/faucet/src/components/Header.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import { TANGLE_TESTNET_NATIVE_EXPLORER_URL } from '@webb-tools/dapp-config/constants/tangle'; -import { FaucetIcon, TangleIcon } from '@webb-tools/icons'; -import { - Breadcrumbs, - BreadcrumbsItem, - Button, - NavigationMenu, - NavigationMenuContent, - NavigationMenuTrigger, - SideBarMenu, - TangleLogo, -} from '@webb-tools/webb-ui-components'; -import { - BRIDGE_URL, - GITHUB_REQUEST_FEATURE_URL, - SOCIAL_URLS_RECORD, - TANGLE_MKT_URL, -} from '@webb-tools/webb-ui-components/constants'; -import Link from 'next/link'; -import { type FC } from 'react'; - -import { TANGLE_DOCS_URL } from '../constants'; -import sideBarProps from '../constants/sidebar'; - -const Header: FC = () => { - return ( -

-
- - - - {/* Show Icon on mobile */} - - - {/* Show Logo with name on mobile */} - - - - - } isLast={true}> - Faucet - - -
- - {/* */} -
- - - - - {/** TODO: Refactor these links into a config file and make the menu items dynamically based on the config */} - window.open(TANGLE_DOCS_URL, '_blank')} - onTestnetClick={() => - window.open(TANGLE_TESTNET_NATIVE_EXPLORER_URL, '_blank') - } - onHelpCenterClick={() => - window.open(SOCIAL_URLS_RECORD.telegram, '_blank') - } - onRequestFeaturesClick={() => - window.open(GITHUB_REQUEST_FEATURE_URL, '_blank') - } - onAboutClick={() => window.open(TANGLE_MKT_URL, '_blank')} - /> - -
-
- ); -}; - -export default Header; diff --git a/apps/faucet/src/components/ProcessingModal.tsx b/apps/faucet/src/components/ProcessingModal.tsx deleted file mode 100644 index 8d7e0ca060..0000000000 --- a/apps/faucet/src/components/ProcessingModal.tsx +++ /dev/null @@ -1,312 +0,0 @@ -import getExplorerURI from '@webb-tools/api-provider-environment/transaction/utils/getExplorerURI'; -import { chainsConfig } from '@webb-tools/dapp-config/chains/chain-config'; -import isValidUrl from '@webb-tools/dapp-types/utils/isValidUrl'; -import { MetaMaskIcon, WalletLineIcon } from '@webb-tools/icons'; -import { - calculateTypedChainId, - ChainType, -} from '@webb-tools/sdk-core/typed-chain-id'; -import { - Button, - KeyValueWithButton, - Modal, - ModalContent, - ModalFooter, - ModalHeader, - populateDocsUrl, - Typography, -} from '@webb-tools/webb-ui-components'; -import { - BRIDGE_URL, - GITHUB_BUG_REPORT_URL, - WEBB_DOC_ROUTES_RECORD, -} from '@webb-tools/webb-ui-components/constants'; -import cx from 'classnames'; -import Lottie from 'lottie-react'; -import { useObservableState } from 'observable-hooks'; -import { type ComponentProps, type FC, useCallback, useMemo } from 'react'; - -import FaucetError from '../errors/FaucetError'; -import failedAnimation from '../lottie/failed.json'; -import processingAnimation from '../lottie/processing.json'; -import successAnimation from '../lottie/success.json'; -import { useFaucetContext } from '../provider'; -import type { MintTokenBody, MintTokenResult } from '../types'; -import addTokenToMetamask from '../utils/addTokenToMetamask'; -import parseErrorFromResult from '../utils/parseErrorFromResult'; - -const sharedExternalLinkProps = { - rel: 'noopener noreferrer', - target: '_blank', -} satisfies ComponentProps<'a'>; - -const ProcessingModal: FC = () => { - const { - isMintingModalOpen$, - isMintingSuccess$, - inputValues$, - mintTokenResult$, - } = useFaucetContext(); - - const inputValues = useObservableState(inputValues$); - - const isModalOpen = useObservableState(isMintingModalOpen$); - const isSuccess = useObservableState(isMintingSuccess$); - - const mintTokenRes = useObservableState(mintTokenResult$); - - const isFailed = useMemo(() => { - if (!FaucetError.isFaucetError(mintTokenRes)) return false; - - return true; - }, [mintTokenRes]); - - const animationData = useMemo( - () => - isSuccess - ? successAnimation - : isFailed // If there is an error, use the failed animation - ? failedAnimation - : processingAnimation, - [isSuccess, isFailed], - ); - - const errorMessage = useMemo( - () => parseErrorFromResult(mintTokenRes), - [mintTokenRes], - ); - - const handleOpenChange = useCallback( - (nextOpen: boolean) => { - // Only close the modal when the minting is successful or failed - if ((isSuccess || isFailed) && !nextOpen) { - isMintingModalOpen$.next(nextOpen); - } else { - isMintingModalOpen$.next(true); - } - }, - [isMintingModalOpen$, isSuccess, isFailed], - ); - - const handleCloseAutoFocus = useCallback(() => { - isMintingSuccess$.next(false); - mintTokenResult$.next(null); - }, [isMintingSuccess$, mintTokenResult$]); - - const handleAddTokenToMetamask = useCallback(() => { - const input = { - address: inputValues.contractAddress ?? '', - decimals: 18, - image: '', - symbol: inputValues.token ?? '', - }; - - addTokenToMetamask(input); - }, [inputValues]); - - return ( - - - handleOpenChange(false)} /> - -
- - - - {isSuccess - ? 'Transfer Successful' - : isFailed - ? 'Transfer Failed' - : 'Request in Progress'} - - - - {isSuccess - ? getSuccessMessage() - : isFailed - ? errorMessage - : 'Your request is in progress. It may take up to a few seconds to complete the request.'} - - - -
- - {/* Hide the footer while transaction is in-progress */} - - {isSuccess ? ( - <> - - - - ) : ( - <> - - - - )} - -
-
- ); -}; - -export default ProcessingModal; - -const MintTxLinkOrHash = (props: { - mintTokenResult: MintTokenResult | null; -}) => { - const { mintTokenResult } = props; - - const txLinkOrTxHash = useMemo(() => { - if (!mintTokenResult) return ''; - - if (FaucetError.isFaucetError(mintTokenResult)) return ''; - - const { hash, typedChainId, isSubstrate } = - parseMintResult(mintTokenResult); - - const chain = chainsConfig[typedChainId]; - - if (!chain) { - console.warn( - `Typed chain id ${typedChainId} is not in the chains config`, - ); - return hash; - } - - if (!chain.blockExplorers || !hash) { - return hash; - } - - try { - return getExplorerURI( - chain.blockExplorers.default.url, - hash, - 'tx', - isSubstrate ? 'polkadot' : 'web3', - ).toString(); - } catch (error) { - console.error(error); - return hash; - } - }, [mintTokenResult]); - - if (!txLinkOrTxHash) return null; - - if (isValidUrl(txLinkOrTxHash)) { - return ( - - ); - } - - return ( - - ); -}; - -const usageUrl = populateDocsUrl( - WEBB_DOC_ROUTES_RECORD['projects']['hubble-bridge']['usage-guide'].route, -); - -const getSuccessMessage = () => { - return ( - <> - This transfer has been made to your wallet address. Experience private - bridging on Hubble or explore token usages on the{' '} -
- doc site - - ! - - ); -}; - -const parseMintResult = ( - result: MintTokenBody, -): { - isSubstrate: boolean; - hash: string; - typedChainId: number; -} => { - const { typed_chain_id, tx_result } = result; - - if ('Substrate' in tx_result) { - return { - hash: tx_result.Substrate.block_hash, - isSubstrate: true, - typedChainId: calculateTypedChainId( - ChainType.Substrate, - typed_chain_id.id, - ), - }; - } - - return { - hash: tx_result.Evm.transactionHash, - isSubstrate: false, - typedChainId: calculateTypedChainId(ChainType.EVM, typed_chain_id.id), - }; -}; diff --git a/apps/faucet/src/components/RecipientAddressInput.tsx b/apps/faucet/src/components/RecipientAddressInput.tsx deleted file mode 100644 index 826aeb2740..0000000000 --- a/apps/faucet/src/components/RecipientAddressInput.tsx +++ /dev/null @@ -1,180 +0,0 @@ -import { Transition } from '@headlessui/react'; -import { isEthereumAddress } from '@polkadot/util-crypto'; -import isSubstrateAddress from '@webb-tools/dapp-types/utils/isSubstrateAddress'; -import isValidAddress from '@webb-tools/dapp-types/utils/isValidAddress'; -import { RecipientInput } from '@webb-tools/webb-ui-components/components/BridgeInputs/RecipientInput'; -import { Typography } from '@webb-tools/webb-ui-components/typography/Typography'; -import cx from 'classnames'; -import { useObservableState } from 'observable-hooks'; -import { - type ComponentProps, - useCallback, - useEffect, - useMemo, - useState, -} from 'react'; -import { map } from 'rxjs'; - -import { useFaucetContext } from '../provider'; -import useStore, { StoreKey } from '../store'; -import type { AddressType } from '../types'; -import isAllowSubstrateAddress from '../utils/isAllowSubstrateAddress'; - -const RecipientAddressInput = () => { - const { inputValues$ } = useFaucetContext(); - - const [getStore] = useStore(); - - const [error, setError] = useState(''); - - const recipientAddress = useObservableState( - inputValues$.pipe(map((inputValues) => inputValues.recepient)), - ); - - const typedChainId = useObservableState( - inputValues$.pipe(map((inputValues) => inputValues.chain)), - ); - - const tokenAddress = useObservableState( - inputValues$.pipe(map((inputValues) => inputValues.contractAddress)), - ); - - const twitterHandle = useMemo(() => { - return getStore(StoreKey.twitterHandle); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [getStore(StoreKey.twitterHandle)]); - - const inputProps = useMemo(() => { - const placeholder = getInputPlaceholder(typedChainId, tokenAddress); - - return { - isDisabled: !twitterHandle, - placeholder, - } satisfies ComponentProps['overrideInputProps']; - }, [tokenAddress, twitterHandle, typedChainId]); - - const updateRecipientAddress = useCallback( - (address: string) => { - const isValidAddr = validateAddress(address, typedChainId, tokenAddress); - - // Only show error when user has typed something - if (address && !isValidAddr) { - setError(getErrorMessage(typedChainId, tokenAddress)); - } else { - setError(''); - } - - const addrType = getAddressType(address); - - const inputValues = inputValues$.getValue(); - inputValues$.next({ - ...inputValues, - isValidRecipientAddress: isValidAddr, - recepient: address, - recepientAddressType: addrType, - }); - }, - [inputValues$, tokenAddress, typedChainId], - ); - - useEffect(() => { - if (!twitterHandle) { - updateRecipientAddress(''); - } - }, [twitterHandle, updateRecipientAddress]); - - return ( -
- - - {/** Set min height to prevent UI shift when error message appears */} -
- - - {error} - - -
-
- ); -}; - -export default RecipientAddressInput; - -const getInputPlaceholder = (typedChainId?: number, tokenAddress?: string) => { - if (typeof typedChainId !== 'number') { - return 'Enter wallet address'; - } - - if (isAllowSubstrateAddress(typedChainId, tokenAddress)) { - return 'Enter EVM or Substrate wallet address'; - } - - return 'Enter EVM wallet address'; -}; - -const getErrorMessage = (typedChainId?: number, tokenAddress?: string) => { - const suffix = - typeof typedChainId === 'number' - ? isAllowSubstrateAddress(typedChainId, tokenAddress) - ? 'EVM or Substrate' - : 'EVM' - : ''; - - return `*Invalid input: Please use a valid ${`${suffix} wallet address.`.trim()}`; -}; - -const validateAddress = ( - address: string, - typedChainId?: number, - tokenAddress?: string, -) => { - if (!address) { - return false; - } - - if ( - typeof typedChainId !== 'number' || - isAllowSubstrateAddress(typedChainId, tokenAddress) - ) { - return isValidAddress(address); - } - - return isEthereumAddress(address); -}; - -const getAddressType = (address: string): AddressType | undefined => { - if (!address) { - return; - } - - if (isEthereumAddress(address)) { - return 'ethereum'; - } - - if (isSubstrateAddress(address)) { - return 'substrate'; - } -}; diff --git a/apps/faucet/src/components/TokenDropdown.tsx b/apps/faucet/src/components/TokenDropdown.tsx deleted file mode 100644 index b70a5db8c3..0000000000 --- a/apps/faucet/src/components/TokenDropdown.tsx +++ /dev/null @@ -1,116 +0,0 @@ -import { RadioGroup, RadioItem } from '@radix-ui/react-dropdown-menu'; -import { ZERO_BIG_INT } from '@webb-tools/dapp-config/constants'; -import { TokenIcon } from '@webb-tools/icons'; -import { - Dropdown, - DropdownBasicButton, - DropdownBody, - DropdownMenuItem, - TokenInput, -} from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import { useObservableState } from 'observable-hooks'; -import React, { useCallback, useEffect, useMemo } from 'react'; -import { map } from 'rxjs'; - -import constants from '../config/shared'; -import { useFaucetContext } from '../provider'; - -const TokenDropdown = () => { - const { config, inputValues$, amount$ } = useFaucetContext(); - - const token = useObservableState( - inputValues$.pipe(map((inputValues) => inputValues.token)), - ); - - const setToken = useCallback( - (token: string | undefined, contractAddress?: string) => { - const currentVal = inputValues$.getValue(); - - // If the contract address is 0, then we are using the native token - if (contractAddress && BigInt(contractAddress) === ZERO_BIG_INT) { - amount$.next(constants.nativeAmount); - } else if (contractAddress) { - amount$.next(constants.amount); - } - - inputValues$.next({ - ...currentVal, - contractAddress, - token, - }); - }, - [amount$, inputValues$], - ); - - const selectedChain = useObservableState( - inputValues$.pipe(map((inputValues) => inputValues.chain)), - ); - - const currentChainData = useMemo(() => { - if (!selectedChain) return undefined; - - return config[selectedChain]; - }, [config, selectedChain]); - - const tokenNames = useMemo(() => { - if (!selectedChain || !currentChainData) { - return []; - } - - return Object.keys(currentChainData.tokenAddresses); - }, [currentChainData, selectedChain]); - - const tokenInputVal = useMemo( - () => (token ? { symbol: token } : undefined), - [token], - ); - - const handleValueChange = React.useCallback( - (val: string) => { - setToken(val, currentChainData?.tokenAddresses[val]); - }, - [currentChainData?.tokenAddresses, setToken], - ); - - // Effect to reset the token value when the chain changes - useEffect(() => { - if (tokenNames.length > 0 && currentChainData) { - const defaultToken = tokenNames[0]; - setToken(defaultToken, currentChainData.tokenAddresses[defaultToken]); - } - }, [currentChainData, setToken, tokenNames]); - - return ( - - - - - - - - {tokenNames.map((tokenName, i) => ( - - } - > - {tokenName} - - - ))} - - - - ); -}; - -export default TokenDropdown; diff --git a/apps/faucet/src/components/TwitterLink.tsx b/apps/faucet/src/components/TwitterLink.tsx deleted file mode 100644 index f27779fb40..0000000000 --- a/apps/faucet/src/components/TwitterLink.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { FOLLOW_WEBB_TWITTER_URL } from '@webb-tools/webb-ui-components/constants'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import cx from 'classnames'; -import { forwardRef } from 'react'; -import { twMerge } from 'tailwind-merge'; - -const TwitterLink = forwardRef< - HTMLAnchorElement, - PropsOf<'a'> & { isInheritFont?: boolean } ->( - ( - { - className, - href = FOLLOW_WEBB_TWITTER_URL, - rel = 'noopener noreferrer', - target = '_blank', - children = '@webbprotocol', - isInheritFont, - ...props - }, - ref, - ) => { - return ( - - {children} - - ); - }, -); - -TwitterLink.displayName = 'TwitterLink'; - -export default TwitterLink; diff --git a/apps/faucet/src/config/client.ts b/apps/faucet/src/config/client.ts deleted file mode 100644 index 29df127cbc..0000000000 --- a/apps/faucet/src/config/client.ts +++ /dev/null @@ -1,18 +0,0 @@ -// Load the env variables and fallback to defaults -// This file is used by the client (browser) - -import sharedConfig from './shared'; - -// The URL to call to login with twitter -const twitterLoginUrl = `${sharedConfig.faucetBackendUrl}/login/twitter`; - -// Mints fund URL -const mintTokensUrl = `${sharedConfig.faucetBackendUrl}/faucet`; - -const config = { - ...sharedConfig, - mintTokensUrl, - twitterLoginUrl, -}; - -export default config; diff --git a/apps/faucet/src/config/server.ts b/apps/faucet/src/config/server.ts deleted file mode 100644 index e424f9e7aa..0000000000 --- a/apps/faucet/src/config/server.ts +++ /dev/null @@ -1,20 +0,0 @@ -// Load the env variables and fallback to defaults -// This file is used by the server (node) - -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; -import sharedConfig from './shared'; - -const twitterClientSecret = process.env.TWITTER_CLIENT_SECRET || ''; -if (!twitterClientSecret) { - throw FaucetError.from(FaucetErrorCode.MISSING_ENV_VAR, { - envVar: 'TWITTER_CLIENT_SECRET', - }); -} - -const config = { - ...sharedConfig, - twitterClientSecret, -}; - -export default config; diff --git a/apps/faucet/src/config/shared.ts b/apps/faucet/src/config/shared.ts deleted file mode 100644 index e7058afe20..0000000000 --- a/apps/faucet/src/config/shared.ts +++ /dev/null @@ -1,32 +0,0 @@ -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; - -const faucetBackendUrl = - process.env.NEXT_PUBLIC_FAUCET_BACKEND_URL || 'http://127.0.0.1:8000'; - -/** - * The amount of tokens to send to the user. Defaults to 20. - */ -const amount = process.env.NEXT_PUBLIC_AMOUNT - ? +process.env.NEXT_PUBLIC_AMOUNT - : 20; - -const nativeAmount = process.env.NEXT_PUBLIC_NATIVE_AMOUNT - ? +process.env.NEXT_PUBLIC_NATIVE_AMOUNT - : 0.5; - -const twitterClientId = process.env.NEXT_PUBLIC_TWITTER_CLIENT_ID || ''; -if (!twitterClientId) { - throw FaucetError.from(FaucetErrorCode.MISSING_ENV_VAR, { - envVar: 'NEXT_PUBLIC_TWITTER_CLIENT_ID', - }); -} - -const config = { - amount, - faucetBackendUrl, - nativeAmount, - twitterClientId, -}; - -export default config; diff --git a/apps/faucet/src/config/tokens.ts b/apps/faucet/src/config/tokens.ts deleted file mode 100644 index dd3ce2ce18..0000000000 --- a/apps/faucet/src/config/tokens.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { PresetTypedChainId } from '@webb-tools/dapp-types/ChainId'; -import { zeroAddress } from 'viem'; - -// Record of token symbol to token address -type TokenConfigType = Record; - -// TODO: We should fetch the token info (e.g. symbol, decimals, name, ...) from the chain -const tokens: Record = { - [PresetTypedChainId.TangleTestnetEVM]: { - tTNT: zeroAddress, - webbtTNT: '0x210898d3D331803aCef9a5E39d9B252914D760EF', - }, -}; - -export default tokens; diff --git a/apps/faucet/src/constants/index.ts b/apps/faucet/src/constants/index.ts deleted file mode 100644 index 36ab5e9b40..0000000000 --- a/apps/faucet/src/constants/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { WEBB_DOC_ROUTES_RECORD } from '@webb-tools/webb-ui-components/constants'; -import populateDocsUrl from '@webb-tools/webb-ui-components/utils/populateDocsUrl'; - -export const TANGLE_DOCS_URL = populateDocsUrl( - WEBB_DOC_ROUTES_RECORD['tangle-network'].overview, -); diff --git a/apps/faucet/src/constants/sidebar.ts b/apps/faucet/src/constants/sidebar.ts deleted file mode 100644 index 96717c42ec..0000000000 --- a/apps/faucet/src/constants/sidebar.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { - TANGLE_TESTNET_EVM_EXPLORER_URL, - TANGLE_TESTNET_NATIVE_EXPLORER_URL, -} from '@webb-tools/dapp-config/constants/tangle'; -import { - AppsLine, - DocumentationIcon, - FaucetIcon, - GlobalLine, - KeyIcon, -} from '@webb-tools/icons'; -import { - type SideBarFooterType, - type SideBarItemProps, - type SidebarProps, - TangleLogo, -} from '@webb-tools/webb-ui-components'; -import { SidebarTangleClosedIcon } from '@webb-tools/webb-ui-components/components'; -import { - DKG_STATS_AUTHORITIES_URL, - DKG_STATS_KEYS_URL, - DKG_STATS_PROPOSALS_URL, - TANGLE_DOCS_URL, - TANGLE_MKT_URL, -} from '@webb-tools/webb-ui-components/constants'; - -const items: SideBarItemProps[] = [ - // NOTE: these are under development - // { - // name: 'Dashboard', - // isInternal: false, - // href: '/', - // Icon: GridFillIcon, - // subItems: [], - // }, - // { - // name: 'EVM Staking', - // isInternal: false, - // href: '/', - // Icon: FundsLine, - // subItems: [], - // }, - { - Icon: KeyIcon, - href: '', - isInternal: false, - name: 'DKG Explorer', - subItems: [ - { - href: DKG_STATS_KEYS_URL, - isInternal: false, - name: 'Keys', - }, - { - href: DKG_STATS_AUTHORITIES_URL, - isInternal: false, - name: 'Authorities', - }, - { - href: DKG_STATS_PROPOSALS_URL, - isInternal: false, - name: 'Proposals', - }, - ], - }, - { - Icon: FaucetIcon, - href: '/', - isInternal: true, - isNext: true, - name: 'Faucet', - subItems: [], - }, - { - Icon: AppsLine, - href: TANGLE_TESTNET_NATIVE_EXPLORER_URL, - isInternal: false, - name: 'Substrate Portal', - subItems: [], - }, - { - Icon: GlobalLine, - href: TANGLE_TESTNET_EVM_EXPLORER_URL, - isInternal: false, - name: 'EVM Explorer', - subItems: [], - }, -]; - -const footer: SideBarFooterType = { - Icon: DocumentationIcon, - href: TANGLE_DOCS_URL, - isInternal: false, - name: 'Tangle Docs', - useNextThemesForThemeToggle: true, -}; - -const sidebar: SidebarProps = { - ClosedLogo: SidebarTangleClosedIcon, - Logo: TangleLogo, - footer: footer, - items: items, - logoLink: TANGLE_MKT_URL, -}; - -export default sidebar; diff --git a/apps/faucet/src/containers/InputsContainer.tsx b/apps/faucet/src/containers/InputsContainer.tsx deleted file mode 100644 index 9c274eaedc..0000000000 --- a/apps/faucet/src/containers/InputsContainer.tsx +++ /dev/null @@ -1,174 +0,0 @@ -import { chainsConfig } from '@webb-tools/dapp-config/chains/chain-config'; -import { ZERO_BIG_INT } from '@webb-tools/dapp-config/constants'; -import { ExternalLinkLine } from '@webb-tools/icons'; -import { - Button, - Chip, - Label, - shortenHex, - Typography, -} from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import { useObservableState } from 'observable-hooks'; -import { useMemo } from 'react'; -import { map } from 'rxjs'; - -import ChainDropdown from '../components/ChainDropdown'; -import RecipientAddressInput from '../components/RecipientAddressInput'; -import TokenDropdown from '../components/TokenDropdown'; -import { useFaucetContext } from '../provider'; -import useStore, { StoreKey } from '../store'; -import MintButtonContainer from './MintButtonContainer'; - -const InputsContainer = () => { - return ( -
-
-
-
- - -
-
- - {/** Recipient address input */} - - - - - {/** Token info */} - - - {/** Amount */} - - - -
- - -
- ); -}; - -export default InputsContainer; - -const InputWrapper = ({ - children, - title, - align = 'vertical', -}: { - children: React.ReactNode; - title: string; - align?: 'horizontal' | 'vertical'; -}) => { - return ( -
- - - {children} -
- ); -}; - -const AmountChip = () => { - const { amount$, inputValues$ } = useFaucetContext(); - - const [getStore] = useStore(); - - const amount = useObservableState(amount$); - - const token = useObservableState( - inputValues$.pipe(map((inputValues) => inputValues.token)), - ); - - const twitterHandle = useMemo(() => { - return getStore(StoreKey.twitterHandle); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [getStore(StoreKey.twitterHandle)]); - - if (Number.isNaN(amount)) { - return ( - - -- - - ); - } - - return ( - - {amount} {token} - - ); -}; - -const TokenInfo = () => { - const { inputValues$ } = useFaucetContext(); - - const tokenAddress = useObservableState( - inputValues$.pipe(map((inputValues) => inputValues.contractAddress)), - ); - - const typedChainId = useObservableState( - inputValues$.pipe(map((inputValues) => inputValues.chain)), - ); - - const tokenSymbol = useObservableState( - inputValues$.pipe(map((inputValue) => inputValue.token)), - ); - - const isNative = useMemo(() => { - if (!tokenAddress) { - return false; - } - - return BigInt(tokenAddress) === ZERO_BIG_INT; - }, [tokenAddress]); - - // Calculate the token explorer link - const tokenExplorerLink = useMemo(() => { - if (!tokenAddress || !typedChainId) return ''; - - return `${chainsConfig[typedChainId]?.blockExplorers?.default.url}/token/${tokenAddress}`; - }, [tokenAddress, typedChainId]); - - return ( - - {!tokenAddress || isNative ? ( - - {tokenSymbol ?? '--'} - - ) : ( - - )} - - ); -}; diff --git a/apps/faucet/src/containers/LoginWithTwitter.tsx b/apps/faucet/src/containers/LoginWithTwitter.tsx deleted file mode 100644 index 19fd21ca69..0000000000 --- a/apps/faucet/src/containers/LoginWithTwitter.tsx +++ /dev/null @@ -1,289 +0,0 @@ -import { Transition } from '@headlessui/react'; -import { LoggerService } from '@webb-tools/browser-utils'; -import { CheckboxCircleLine } from '@webb-tools/icons'; -import { Button, Typography } from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import { useSearchParams } from 'next/navigation'; -import { useRouter } from 'next/router'; -import { useObservableState } from 'observable-hooks'; -import { useCallback, useEffect, useMemo, useState } from 'react'; -import { map } from 'rxjs'; - -import TwitterLink from '../components/TwitterLink'; -import clientConfig from '../config/client'; -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; -import { useFaucetContext } from '../provider'; -import useStore, { StoreKey } from '../store'; -import { TwitterLoginResponse } from '../types'; -import loginWithTwitter from '../utils/loginWithTwitter'; -import refreshTwitterTokens from '../utils/refreshTwitterTokens'; - -const LoginWithTwitter = () => { - const [getStore, setStore] = useStore(); - - const twitterHandle = useMemo(() => { - return getStore(StoreKey.twitterHandle); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [getStore(StoreKey.twitterHandle)]); - - const expiresIn = useMemo(() => { - return getStore(StoreKey.expiresIn); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [getStore(StoreKey.expiresIn)]); - - const refreshToken = useMemo(() => { - return getStore(StoreKey.refreshToken); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [getStore(StoreKey.refreshToken)]); - - const router = useRouter(); - - const searchParams = useSearchParams(); - - const { code, state, error } = useMemo(() => { - return { - code: searchParams.get('code'), - error: searchParams.get('error'), - state: searchParams.get('state'), - }; - }, [searchParams]); - - // Loading by default and reset in the effect - const [isLoggingIn, setIsLoggingIn] = useState(true); - - // State for login error - const [loginError, setLoginError] = useState(''); - - // Handle login button click - const handleLoginButtonClick = useCallback(async () => { - // Update the logging state for the UI - setIsLoggingIn(true); - }, []); - - // Handle logout - const handleLogout = useCallback(() => { - setStore({}); - }, [setStore]); - - // Handle response from twitter - const handleResponse = useCallback( - (twLoginResp: TwitterLoginResponse) => { - const { accessToken, expiresIn, refreshToken, twitterHandle } = - twLoginResp; - - // Calculate the expiration date - const expiresAt = new Date(); - expiresAt.setSeconds(expiresAt.getSeconds() + expiresIn); - - // Update the store - setStore({ - accessToken, - expiresIn: expiresAt.toISOString(), - refreshToken, - twitterHandle, - }); - }, - [setStore], - ); - - // Handle error - const handleError = useCallback( - (error: FaucetError, abortSignal: AbortSignal) => { - if (abortSignal?.aborted) { - // Ignore the error if the request was aborted - return; - } - - const logger = LoggerService.get(error.name); - logger.error(error.message); - - setLoginError(error.getDisplayMessage()); - }, - [], - ); - - // Effect for checking the query params and reset the loading state - useEffect(() => { - if (!code) { - setIsLoggingIn(false); - } - }, [code]); - - // Effect for handling the login when the code and state are available - useEffect(() => { - // The abort controller for the login request - const abortController = new AbortController(); - - const loginWithTw = async () => { - if (!code || !state || error || !window) { - if (state && error) { - handleError( - FaucetError.fromTwitterError(error), - abortController.signal, - ); - router.replace(router.pathname, undefined, { shallow: true }); - } - return; - } - - setIsLoggingIn(true); - setLoginError(''); - - const uri = window.location.origin; - - const result = await loginWithTwitter(code, uri, abortController.signal); - if (!result) { - setIsLoggingIn(false); - return; - } - - result.match(handleResponse, (error) => { - handleError(error, abortController.signal); - }); - - setIsLoggingIn(false); - - // Delete the query params - router.replace(router.pathname, undefined, { shallow: true }); - }; - - loginWithTw(); - - return () => { - abortController.abort(); - }; - }, [code, state, error, router, handleResponse, handleError]); - - // Effect for re-fetching the tokens when tokens are expired - useEffect(() => { - // The abort controller for the request - const abortContr = new AbortController(); - - const refreshTokens = async () => { - if (!expiresIn || !refreshToken) { - return; - } - - const expiresAt = new Date(expiresIn).getTime(); - const current = new Date().getTime(); - - // If the tokens are not expired, return - if (expiresAt > current) { - return; - } - - setLoginError(''); - setIsLoggingIn(true); - - const result = await refreshTwitterTokens( - refreshToken, - abortContr.signal, - ); - if (!result) { - setIsLoggingIn(false); - return; - } - - result.match(handleResponse, (_) => { - // Ignore the error and clear the store if the request was failed - if (!abortContr.signal.aborted) { - setStore({}); - } - }); - - setIsLoggingIn(false); - }; - - refreshTokens(); - - return () => { - abortContr.abort(); - }; - }, [expiresIn, handleResponse, refreshToken, setStore]); - - return ( -
- - - {twitterHandle ? ( - - ) : ( - loginError && ( - <> - - {loginError} - - - - - ) - )} -
- ); -}; - -export default LoginWithTwitter; - -const Info = () => { - const { inputValues$ } = useFaucetContext(); - - const [getStore] = useStore(); - - const twitterHandle = useMemo(() => { - return getStore(StoreKey.twitterHandle); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [getStore(StoreKey.twitterHandle)]); - const selectedChain = useObservableState( - inputValues$.pipe(map((inputValues) => inputValues.chain)), - ); - const selectedToken = useObservableState( - inputValues$.pipe(map((inputValues) => inputValues.token)), - ); - - const isDisplayed = !twitterHandle && !!selectedChain && !!selectedToken; - - return ( - - - *Please follow {' '} - {' on Twitter and login again to get authenticated.'} - - - ); -}; diff --git a/apps/faucet/src/containers/MintButtonContainer.tsx b/apps/faucet/src/containers/MintButtonContainer.tsx deleted file mode 100644 index f17569a482..0000000000 --- a/apps/faucet/src/containers/MintButtonContainer.tsx +++ /dev/null @@ -1,243 +0,0 @@ -import { LoggerService } from '@webb-tools/browser-utils'; -import { ZERO_BIG_INT } from '@webb-tools/dapp-config/constants'; -import { SubstrateChainId } from '@webb-tools/dapp-types/SubstrateChainId'; -import isValidAddress from '@webb-tools/dapp-types/utils/isValidAddress'; -import { Button } from '@webb-tools/webb-ui-components'; -import { err, ok, Result } from 'neverthrow'; -import { useObservableState } from 'observable-hooks'; -import { useCallback, useMemo } from 'react'; - -import clientConfig from '../config/client'; -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; -import { - FaucetContextType, - InputValuesType, - useFaucetContext, -} from '../provider'; -import useStore, { StoreKey } from '../store'; -import { - ChainType, - MintTokenBody, - MintTokenErrorCodes, - TooManyClaimResponse, -} from '../types'; -import isAllowSubstrateAddress from '../utils/isAllowSubstrateAddress'; -import isTooManyClaimResponse from '../utils/isTooManyClaimResponse'; -import safeParseJSON from '../utils/safeParseJSON'; - -const logger = LoggerService.get('MintButtonContainer'); - -const mintTokens = async ( - accessToken: string, - inputValues: InputValuesType, - config: FaucetContextType['config'], - abortSignal?: AbortSignal, -): Promise>> => { - const { - chain: typedChainId, - recepient, - recepientAddressType, - contractAddress, - } = inputValues; - - if (!contractAddress) { - return err(FaucetError.from(FaucetErrorCode.MISSING_CONTRACT_ADDRESS)); - } - - if (!typedChainId) { - return err(FaucetError.from(FaucetErrorCode.INVALID_SELECTED_CHAIN)); - } - - const chain = config[typedChainId]; - if (!chain) { - return err( - FaucetError.from(FaucetErrorCode.INVALID_SELECTED_CHAIN, { - selectedChain: chain, - }), - ); - } - - const headers = { - 'Access-Control-Allow-Origin': '*', - Authorization: `Bearer ${accessToken}`, - 'Content-Type': 'application/x-www-form-urlencoded', - } as const satisfies HeadersInit; - - type T = { - [chainType in ChainType]: { - type: chainType; - id: number; - }; - }[ChainType]; - - const useSubstrate = - isAllowSubstrateAddress(typedChainId, contractAddress) && - recepientAddressType === 'substrate'; - - const typedChainIdReq: T = useSubstrate - ? { - id: SubstrateChainId.TangleTestnetNative, - type: 'Substrate', - } - : { - id: chain.chainId, - type: chain.type, - }; - - const onlyNativeToken = BigInt(contractAddress) === ZERO_BIG_INT; - - const body = { - faucet: { - onlyNativeToken, - typedChainId: { - id: typedChainIdReq.id, - type: typedChainIdReq.type, - }, - walletAddress: { - type: recepientAddressType, - value: recepient, - }, - }, - }; - - try { - const response = await fetch(clientConfig.mintTokensUrl, { - body: JSON.stringify(body), - headers, - method: 'POST', - signal: abortSignal, - }); - - if (!response.ok) { - const result = await safeParseJSON< - { code: number; message: string } | TooManyClaimResponse - >(response); - if (result.isOk()) { - const data = result.value; - - if (!isTooManyClaimResponse(data)) { - return err( - FaucetError.from(FaucetErrorCode.MINT_TOKENS_FAILED, { - extraInfo: data.message, - status: data.code, - }), - ); - } else { - return err( - FaucetError.from(FaucetErrorCode.TOO_MANY_CLAIM_REQUESTS, { - claimPeriod: data.time_to_wait_between_claims_ms ?? undefined, - error: data.error, - lastClaimedDate: data.last_claimed_date - ? new Date(data.last_claimed_date) - : undefined, - reason: data.reason, - }), - ); - } - } else { - return err(result.error); - } - } - - const result = await safeParseJSON(response); - if (result.isErr()) { - return err(result.error); - } - - return ok(result.value); // TODO: Determine the type of the response - } catch (error) { - return err( - FaucetError.from(FaucetErrorCode.MINT_TOKENS_FAILED, { - extraInfo: JSON.stringify(error, null, 2), - }), - ); - } -}; - -const MintButtonContainer = () => { - const { - config, - inputValues$, - isMintingModalOpen$, - isMintingSuccess$, - mintTokenResult$, - } = useFaucetContext(); - - const [getStore] = useStore(); - - const accessToken = useMemo(() => { - return getStore(StoreKey.accessToken); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [getStore(StoreKey.accessToken)]); - - const twitterHandle = useMemo( - () => getStore(StoreKey.twitterHandle), - // eslint-disable-next-line react-hooks/exhaustive-deps - [getStore(StoreKey.twitterHandle)], - ); - - const inputValues = useObservableState(inputValues$); - - const isValidRecipient = useMemo(() => { - return ( - inputValues?.recepientAddressType === 'ethereum' || - inputValues?.recepientAddressType === 'substrate' || - !inputValues.recepient || - !isValidAddress(inputValues.recepient) - ); - }, [inputValues.recepient, inputValues?.recepientAddressType]); - - const isDisabled = useMemo( - () => { - return ( - !inputValues?.token || - !inputValues?.chain || - !inputValues?.contractAddress || - !isValidRecipient || - !twitterHandle || - !inputValues.isValidRecipientAddress - ); - }, - // prettier-ignore - [inputValues?.chain, inputValues?.contractAddress, inputValues.isValidRecipientAddress, inputValues?.token, isValidRecipient, twitterHandle], - ); - - // Mocked implementation of minting tokens - const handleMintTokens = useCallback( - async () => { - if (!accessToken) { - return; - } - - isMintingModalOpen$.next(true); - const result = await mintTokens(accessToken, inputValues, config); - result.match( - (res) => { - mintTokenResult$.next(res); - isMintingSuccess$.next(true); - }, - (err) => { - logger.error('Minting tokens failed', err.message); - mintTokenResult$.next(err); - }, - ); - }, - // prettier-ignore - [accessToken, config, inputValues, isMintingModalOpen$, isMintingSuccess$, mintTokenResult$], - ); - - return ( - <> - - - ); -}; - -export default MintButtonContainer; diff --git a/apps/faucet/src/errors/FaucetError.ts b/apps/faucet/src/errors/FaucetError.ts deleted file mode 100644 index 75bd652f62..0000000000 --- a/apps/faucet/src/errors/FaucetError.ts +++ /dev/null @@ -1,122 +0,0 @@ -import FaucetErrorCode from './FaucetErrorCode'; -import ErrorPayload from './FaucetErrorPayload'; - -const errorMessages: { - [key in FaucetErrorCode]: string; -} = { - [FaucetErrorCode.MISSING_ENV_VAR]: 'Missing environment variable', - [FaucetErrorCode.INVALID_STORE_KEY]: 'Invalid store key', - [FaucetErrorCode.TWITTER_LOGIN_FAILED]: 'Twitter login failed', - [FaucetErrorCode.INVALID_RESPONSE]: 'Invalid response', - [FaucetErrorCode.MISSING_CONTRACT_ADDRESS]: - 'Missing contract address in the operation', - [FaucetErrorCode.INVALID_REQUEST_BODY]: 'Invalid request body', - [FaucetErrorCode.REFRESH_TOKENS_FAILED]: 'Refresh tokens failed', - [FaucetErrorCode.TWITTER_LOGIN_DENIED]: 'Twitter login denied', - [FaucetErrorCode.UNKNOWN]: 'Unknown error', - [FaucetErrorCode.UNKNOWN_TWITTER_ERROR]: 'Unknown Twitter error', - [FaucetErrorCode.JSON_PARSE_ERROR]: 'JSON parse error', - [FaucetErrorCode.MINT_TOKENS_FAILED]: 'Mint tokens failed', - [FaucetErrorCode.INVALID_SELECTED_CHAIN]: - 'No chain selected or invalid chain selected', - [FaucetErrorCode.TOO_MANY_CLAIM_REQUESTS]: 'Too many claim requests', -}; - -/** - * Custom error class for the faucet - */ -class FaucetError extends Error { - // Private prevent mutation - private code: Code; - private payload?: ErrorPayload[Code]; - private displayMessage: string; - - /** - * Private constructor to prevent direct instantiation - * @param message Error message - */ - private constructor(errorCode: Code, payload?: ErrorPayload[Code]) { - const payloadString = payload ? JSON.stringify(payload, null, 2) : ''; - const message = `${errorMessages[errorCode]} with payload: ${payloadString}`; - super(message); - - this.code = errorCode; - this.payload = payload; - this.displayMessage = errorMessages[errorCode] || 'Unknown error'; - this.name = 'FaucetError'; - - // Set the prototype explicitly. - Object.setPrototypeOf(this, FaucetError.prototype); - } - - /** - * Get the FaucetErrorCode - * @returns The FaucetErrorCode - */ - getErrorCode(): FaucetErrorCode { - return this.code; - } - - /** - * Get the payload if it exists - * @returns The payload if it exists, otherwise undefined - */ - getPayload(): ErrorPayload[Code] | undefined { - return this.payload; - } - - /** - * Get the display message - */ - getDisplayMessage(): string { - return this.displayMessage; - } - - /** - * Create a new FaucetError instance - * @param errorCode The FaucetErrorCode - * @param payload Optional payload to be included in the error message - * @returns A new FaucetError instance - */ - static from( - errorCode: Code, - payload?: ErrorPayload[Code], - ): FaucetError { - return new FaucetError(errorCode, payload); - } - - /** - * Create a new FaucetError instance from a Twitter error - * @param error the error which is parsed from the search params - * @returns a FaucetError instance - */ - static fromTwitterError( - error: string, - ): - | FaucetError - | FaucetError { - if (error === 'access_denied') { - return FaucetError.from(FaucetErrorCode.TWITTER_LOGIN_DENIED); - } - - return FaucetError.from(FaucetErrorCode.UNKNOWN_TWITTER_ERROR, { error }); - } - - /** - * Get the error message for the given FaucetErrorCode - * @param code The FaucetErrorCode to get the error message for - * @returns The error message for the given FaucetErrorCode - */ - static getErrorMessage(code: FaucetErrorCode): string { - return errorMessages[code]; - } - - /** - * Static helper to check if an error is a FaucetError - */ - static isFaucetError(error: unknown): error is FaucetError { - return error instanceof FaucetError; - } -} - -export default FaucetError; diff --git a/apps/faucet/src/errors/FaucetErrorCode.ts b/apps/faucet/src/errors/FaucetErrorCode.ts deleted file mode 100644 index d0fa6b70ff..0000000000 --- a/apps/faucet/src/errors/FaucetErrorCode.ts +++ /dev/null @@ -1,73 +0,0 @@ -enum FaucetErrorCode { - /** - * The environment variable is missing - */ - MISSING_ENV_VAR, - - /** - * The provided key is not existent in the store - */ - INVALID_STORE_KEY, - - /** - * Twitter login failed - */ - TWITTER_LOGIN_FAILED, - - /** - * Invalid response from the next server - */ - INVALID_RESPONSE, - - /** - * Invalid request body - */ - INVALID_REQUEST_BODY, - - /** - * Missing contract address in the operation - */ - MISSING_CONTRACT_ADDRESS, - - /** - * Inavlid selected chain - */ - INVALID_SELECTED_CHAIN, - - /** - * Refresh tokens failed - */ - REFRESH_TOKENS_FAILED, - - /** - * The user denied the login request to Twitter - */ - TWITTER_LOGIN_DENIED, - - /** - * The error when call `.json()` on the response - */ - JSON_PARSE_ERROR, - - /** - * To many requests at the same time - */ - TOO_MANY_CLAIM_REQUESTS, - - /** - * Mint tokens failed - */ - MINT_TOKENS_FAILED, - - /** - * Unknown error - */ - UNKNOWN, - - /** - * Unknown twitter error - */ - UNKNOWN_TWITTER_ERROR, -} - -export default FaucetErrorCode; diff --git a/apps/faucet/src/errors/FaucetErrorPayload.ts b/apps/faucet/src/errors/FaucetErrorPayload.ts deleted file mode 100644 index 4cac465cd3..0000000000 --- a/apps/faucet/src/errors/FaucetErrorPayload.ts +++ /dev/null @@ -1,110 +0,0 @@ -import FaucetErrorCode from './FaucetErrorCode'; - -type ErrorPayload = { - /** - * The environment variable is missing - */ - [FaucetErrorCode.MISSING_ENV_VAR]: { - envVar: string; - }; - - /** - * The key which is not existent in the store - */ - [FaucetErrorCode.INVALID_STORE_KEY]: { - storeKey: string; - }; - - /** - * The parameters which are invalid - */ - [FaucetErrorCode.INVALID_REQUEST_BODY]: { - extraInfo: string; - }; - - /** - * Extra info for the twitter login failed error - */ - [FaucetErrorCode.TWITTER_LOGIN_FAILED]: { - status: number; - message: string; - }; - - /** - * Extra info for the refresh tokens failed error - */ - [FaucetErrorCode.REFRESH_TOKENS_FAILED]: { - status: number; - message: string; - }; - - /** - * Extra info for the unknown error - */ - [FaucetErrorCode.UNKNOWN]: { - extraInfo: string; - }; - - /** - * Extra info for the unknown twitter error, - * which can be parsed from the search params - */ - [FaucetErrorCode.UNKNOWN_TWITTER_ERROR]: { - error: string; - }; - - /** - * Extra info for the JSON parse error - */ - [FaucetErrorCode.JSON_PARSE_ERROR]: { - context: string; - }; - - /** - * Extra info for the invalid response error - */ - [FaucetErrorCode.INVALID_RESPONSE]: { - context: string; - }; - - /** - * No payload for this error - */ - [FaucetErrorCode.MISSING_CONTRACT_ADDRESS]: undefined; - - /** - * Extra info for the mint tokens failed error - */ - [FaucetErrorCode.MINT_TOKENS_FAILED]: - | { - status?: number; - extraInfo: string; - } - | undefined; - - /** - * The selected chain is invalid - */ - [FaucetErrorCode.INVALID_SELECTED_CHAIN]: - | { - selectedChain: string; - } - | undefined; - - // No payload for these errors - [FaucetErrorCode.TWITTER_LOGIN_DENIED]: undefined; - - /** - * Extra info for the too many claim requests error - * @param lastClaimedDate The last claimed date - * @param claimPerid The claim period in milliseconds - */ - [FaucetErrorCode.TOO_MANY_CLAIM_REQUESTS]: { - error: string; - lastClaimedDate?: Date; - reason: string; - claimPeriod?: number; - }; -}; - -export default ErrorPayload; diff --git a/apps/faucet/src/lottie/failed.json b/apps/faucet/src/lottie/failed.json deleted file mode 100644 index 2f5dce3ef6..0000000000 --- a/apps/faucet/src/lottie/failed.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"4.8.0","meta":{"g":"LottieFiles AE 3.1.1","a":"","k":"","d":"","tc":""},"fr":30,"ip":79,"op":203,"w":1080,"h":1080,"nm":"Cross_loop","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":45,"ix":10},"p":{"a":0,"k":[555.24,540,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[125.721,-125.721],[-147.273,147.273]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":60,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":38,"s":[0]},{"t":44,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":21,"op":203,"st":21,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-45,"ix":10},"p":{"a":0,"k":[540,524.76,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[125.721,-125.721],[-147.273,147.273]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":60,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":34,"s":[0]},{"t":40,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":203,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Cross Icon","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-45,"ix":10},"p":{"a":0,"k":[540,540,0],"ix":2},"a":{"a":0,"k":[540,540,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.901,0.901,0.333],"y":[0,0,0]},"t":34,"s":[90,90,100]},{"t":38,"s":[100,100,100]}],"ix":6}},"ao":0,"w":1080,"h":1080,"ip":0,"op":203,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Bulet","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[547.688,527.801,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.078,0.078,0.667],"y":[1,1,1]},"o":{"x":[0.208,0.208,0.333],"y":[0,0,0]},"t":30,"s":[100,100,100]},{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.901,0.901,0.333],"y":[0,0,0]},"t":34,"s":[90,90,100]},{"t":38,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[578.508,578.508],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.348],"y":[1]},"o":{"x":[0.76],"y":[0]},"t":0,"s":[0]},{"t":30,"s":[100]}],"ix":1},"e":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.956862745098,0.388235294118,0.388235294118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":33,"ix":5},"lc":2,"lj":1,"ml":1,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-7.688,12.199],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862747669,0.388235300779,0.388235300779,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.258],"y":[1]},"o":{"x":[0.882],"y":[0]},"t":31,"s":[0]},{"t":34,"s":[100]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":204,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Bayang 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62,"s":[100]},{"t":78,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[547.688,527.801,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":38,"s":[100,100,100]},{"t":78,"s":[150,150,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[578.508,578.508],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":100,"ix":1},"e":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.956862745098,0.388235294118,0.388235294118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":2,"lj":1,"ml":1,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-7.688,12.199],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862747669,0.388235300779,0.388235300779,1],"ix":4},"o":{"a":0,"k":40,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":38,"op":79,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Bayang 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":114,"s":[100]},{"t":140,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[547.688,527.801,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":78,"s":[100,100,100]},{"t":140,"s":[150,150,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[578.508,578.508],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":100,"ix":1},"e":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.956862745098,0.388235294118,0.388235294118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":2,"lj":1,"ml":1,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-7.688,12.199],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862747669,0.388235300779,0.388235300779,1],"ix":4},"o":{"a":0,"k":40,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":78,"op":141,"st":40,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Bayang 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":177,"s":[100]},{"t":203,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[547.688,527.801,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":141,"s":[100,100,100]},{"t":203,"s":[150,150,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[578.508,578.508],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":100,"ix":1},"e":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.956862745098,0.388235294118,0.388235294118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":2,"lj":1,"ml":1,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-7.688,12.199],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.956862747669,0.388235300779,0.388235300779,1],"ix":4},"o":{"a":0,"k":40,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":141,"op":204,"st":103,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/apps/faucet/src/lottie/processing.json b/apps/faucet/src/lottie/processing.json deleted file mode 100644 index c9b10d1080..0000000000 --- a/apps/faucet/src/lottie/processing.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.8.1","fr":30,"ip":0,"op":71,"w":500,"h":500,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[70,220.5,0],"to":[58.583,1,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[421.5,226.5,0],"to":[0,0,0],"ti":[58.583,1,0]},{"t":70,"s":[70,220.5,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-117,-23,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[106,106],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0,1,0.760368975471,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.882352941176,0.228373688343,0.458818143957,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-117,-23],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":40,"op":151,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[250,249,0],"to":[0,10.167,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":17,"s":[250,310,0],"to":[0,0,0],"ti":[0,19.333,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[250,249,0],"to":[0,-19.333,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":53,"s":[250,194,0],"to":[0,0,0],"ti":[0,-9.167,0]},{"t":70,"s":[250,249,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[199,199],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.901960784314,0.901960784314,0.901960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.96470600203,0.923090975892,0.937754971373,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-1.5,-25.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":151,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"boder","tt":1,"sr":1,"ks":{"o":{"a":0,"k":63,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[250,249,0],"to":[0,10.167,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":17,"s":[250,310,0],"to":[0,0,0],"ti":[0,19.333,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[250,249,0],"to":[0,-19.333,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":53,"s":[250,194,0],"to":[0,0,0],"ti":[0,-9.167,0]},{"t":70,"s":[250,249,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[199,199],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.941176470588,0.941176470588,0.941176470588,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":9,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-1.5,-25.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":151,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"glass 2","sr":1,"ks":{"o":{"a":0,"k":40,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[250,249,0],"to":[0,10.167,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":17,"s":[250,310,0],"to":[0,0,0],"ti":[0,19.333,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[250,249,0],"to":[0,-19.333,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":53,"s":[250,194,0],"to":[0,0,0],"ti":[0,-9.167,0]},{"t":70,"s":[250,249,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[199,199],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0,1,0.760368975471,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.96470600203,0.923090975892,0.937754971373,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-1.5,-25.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":151,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"1","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[250,249,0],"to":[0,10.167,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":17,"s":[250,310,0],"to":[0,0,0],"ti":[0,19.333,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[250,249,0],"to":[0,-19.333,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":53,"s":[250,194,0],"to":[0,0,0],"ti":[0,-9.167,0]},{"t":70,"s":[250,249,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[199,199],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0,1,0.760368975471,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.96470600203,0.923090975892,0.937754971373,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-1.5,-25.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"1","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[70,220.5,0],"to":[58.583,1,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[421.5,226.5,0],"to":[0,0,0],"ti":[58.583,1,0]},{"t":70,"s":[70,220.5,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-117,-23,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":1,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":21.6,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":0,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[106,106],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0,1,0.760368975471,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.882352941176,0.228373688343,0.458818143957,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-117,-23],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[250,249,0],"to":[0,10.167,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":17,"s":[250,310,0],"to":[0,0,0],"ti":[0,19.333,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":35,"s":[250,249,0],"to":[0,-19.333,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":53,"s":[250,194,0],"to":[0,0,0],"ti":[0,-9.167,0]},{"t":70,"s":[250,249,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[199,199],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0,1,0.760368975471,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.96470600203,0.923090975892,0.937754971373,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-1.5,-25.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"2","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[70,220.5,0],"to":[58.583,1,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":40,"s":[421.5,226.5,0],"to":[0,0,0],"ti":[58.583,1,0]},{"t":70,"s":[70,220.5,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-117,-23,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[106,106],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0,1,0.760368975471,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.882352941176,0.228373688343,0.458818143957,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-117,-23],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/apps/faucet/src/lottie/success.json b/apps/faucet/src/lottie/success.json deleted file mode 100644 index 7dcf702ed8..0000000000 --- a/apps/faucet/src/lottie/success.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.7.3","fr":60,"ip":0,"op":180,"w":1920,"h":1920,"nm":"animation","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Tick","parent":4,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":3.115,"s":[100]},{"t":20.796875,"s":[100]}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":12,"s":[-165]},{"t":39,"s":[0]}],"ix":10},"p":{"a":0,"k":[346.916,346.917,0],"ix":2},"a":{"a":0,"k":[278.033,227.218,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":19.533,"s":[20,20,100]},{"t":38.48046875,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-153.033,0.588],[-51.404,102.218],[153.032,-102.218]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":55,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[278.033,227.218],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.33],"y":[1]},"o":{"x":[0.67],"y":[0]},"t":20.164,"s":[0]},{"t":38.48046875,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Glow Mask","td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":3.115,"s":[100]},{"t":20.796875,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.783,"y":0.48},"o":{"x":0.506,"y":0},"t":0,"s":[1099.01,1187.835,0],"to":[-51.058,-20.951,0],"ti":[23.519,29.424,0]},{"i":{"x":0.576,"y":1},"o":{"x":0.337,"y":0.496},"t":19.533,"s":[989.155,1114.015,0],"to":[-26.997,-33.775,0],"ti":[3.563,56.649,0]},{"t":32.1640625,"s":[947.01,981.835,0]}],"ix":2},"a":{"a":0,"k":[346.917,346.917,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":19.533,"s":[20,20,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":38.48,"s":[110,110,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":51.109,"s":[95,95,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":58.688,"s":[102,102,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":63.74,"s":[98,98,100]},{"t":70.0546875,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-191.459],[191.459,0],[0,191.458],[-191.458,0]],"o":[[0,191.458],[-191.458,0],[0,-191.459],[191.459,0]],"v":[[346.667,0],[0,346.667],[-346.667,0],[0,-346.666]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.118000000598,0.442999985639,0.929000016755,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[346.916,346.917],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Glow","tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":3.115,"s":[100]},{"i":{"x":[0.833],"y":[0.643]},"o":{"x":[0.72],"y":[0]},"t":70.055,"s":[100]},{"t":89,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.788},"o":{"x":0.72,"y":0},"t":59.951,"s":[56,440,0],"to":[226.667,131.333,0],"ti":[-226.667,-131.333,0]},{"t":89,"s":[1416,1228,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[348.655,1.947],[0,0],[35.647,880.072]],"o":[[0,0],[-8.868,-0.049],[0,0],[-3.819,-94.283]],"v":[[211.999,-440],[-480,280],[-136,648],[483.999,-312]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.76862745098,0.823067997951,1,1],"ix":4},"o":{"a":0,"k":30,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Background Circle (Blue)","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":8,"s":[100]},{"t":20.796875,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[960,960,0],"ix":2},"a":{"a":0,"k":[346.917,346.917,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":19.533,"s":[20,20,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":39,"s":[110,110,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":51.109,"s":[95,95,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":58.688,"s":[102,102,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":63.74,"s":[98,98,100]},{"t":70.0546875,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-191.459],[191.459,0],[0,191.458],[-191.458,0]],"o":[[0,191.458],[-191.458,0],[0,-191.459],[191.459,0]],"v":[[346.667,0],[0,346.667],[-346.667,0],[0,-346.666]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.313725490196,0.81568627451,0.360784313725,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[346.916,346.917],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Element 11","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":10.793,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":12.871,"s":[100]},{"i":{"x":[0.833],"y":[0.601]},"o":{"x":[0.72],"y":[0]},"t":27.42,"s":[100]},{"t":56,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.33,"y":1},"o":{"x":0.174,"y":0},"t":15.99,"s":[957.368,957.581,0],"to":[-154.333,61,0],"ti":[34.333,-69,0]},{"t":32.615234375,"s":[774.545,1455.048,0]}],"ix":2},"a":{"a":0,"k":[88.379,84.132,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-17.539,13.457],[-12.743,-16.607],[0,0]],"o":[[-12.743,-16.608],[17.539,-13.458],[0,0],[0,0]],"v":[[-25.635,34.132],[-16.894,-20.673],[38.306,-14.931],[38.379,-14.837]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.255000005984,0.685999971278,0.501999978458,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[88.378,84.131],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":1815,"st":15,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Element 10","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":10.793,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":12.871,"s":[100]},{"i":{"x":[0.833],"y":[0.601]},"o":{"x":[0.72],"y":[0]},"t":27.42,"s":[100]},{"t":56,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.33,"y":1},"o":{"x":0.229,"y":0},"t":15.99,"s":[960,960,0],"to":[59.019,77.842,0],"ti":[-71.667,-48,0]},{"t":34.6953125,"s":[1314.113,1427.051,0]}],"ix":2},"a":{"a":0,"k":[33.514,41.664,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.281,-1.895],[0,0],[1.894,3.281],[0,0],[-3.281,1.894],[0,0],[-1.894,-3.282],[0,0]],"o":[[0,0],[-3.281,1.894],[0,0],[-1.894,-3.283],[0,0],[3.281,-1.895],[0,0],[1.894,3.281]],"v":[[28.859,29.055],[10.732,39.52],[1.361,37.009],[-31.37,-19.681],[-28.859,-29.053],[-10.732,-39.519],[-1.361,-37.008],[31.37,19.683]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.275,0.513999968884,0.961000031116,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[33.514,41.664],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":1815,"st":15,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Element 9","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":10.793,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":12.871,"s":[100]},{"i":{"x":[0.833],"y":[0.601]},"o":{"x":[0.72],"y":[0]},"t":27.42,"s":[100]},{"t":56,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.33,"y":1},"o":{"x":0.189,"y":0},"t":15.99,"s":[961.262,961.213,0],"to":[70.333,-5.667,0],"ti":[-62.333,-30.333,0]},{"t":33.134765625,"s":[1420.768,1239.936,0]}],"ix":2},"a":{"a":0,"k":[60.548,78.82,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[2.886,-21.917],[20.753,2.734],[0.039,0.005]],"o":[[20.754,2.733],[-2.886,21.918],[-0.04,-0.005],[0,0]],"v":[[-12.409,-41.32],[20.162,3.615],[-22.93,38.586],[-23.048,38.571]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.972549019608,0.149019607843,0.505882352941,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[60.548,78.82],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":1815,"st":15,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Element 8","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":10.793,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":12.871,"s":[100]},{"i":{"x":[0.833],"y":[0.601]},"o":{"x":[0.72],"y":[0]},"t":27.42,"s":[100]},{"t":56,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.33,"y":1},"o":{"x":0.263,"y":0},"t":15.99,"s":[959.692,959.692,0],"to":[46.333,-81.667,0],"ti":[-98.333,51.667,0]},{"t":46.126953125,"s":[1397.413,873.271,0]}],"ix":2},"a":{"a":0,"k":[47.326,47.325,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-11.644,-3.948],[0,0],[-3.912,2.92],[0,0],[0.157,-12.294],[0,0],[-3.985,-2.819],[0,0],[11.74,-3.65],[0,0],[1.449,-4.662],[0,0],[7.098,10.038],[0,0],[4.882,-0.063],[0,0],[-7.354,9.853],[0,0],[1.569,4.624],[0,0]],"o":[[0,0],[4.623,1.568],[0,0],[9.854,-7.353],[0,0],[-0.062,4.882],[0,0],[10.038,7.099],[0,0],[-4.662,1.449],[0,0],[-3.649,11.74],[0,0],[-2.82,-3.986],[0,0],[-12.293,0.156],[0,0],[2.92,-3.913],[0,0],[-3.948,-11.644]],"v":[[-17.558,-36.37],[-13.481,-34.987],[0.154,-37.147],[3.606,-39.722],[27.31,-27.644],[27.255,-23.339],[33.522,-11.038],[37.038,-8.552],[32.877,17.724],[28.763,19.002],[19.003,28.764],[17.724,32.876],[-8.551,37.037],[-11.037,33.522],[-23.338,27.255],[-27.644,27.31],[-39.721,3.606],[-37.146,0.155],[-34.987,-13.481],[-36.37,-17.558]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.736999990426,0.195999998205,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[47.325,47.325],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":1815,"st":15,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Element 7","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":10.793,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":12.871,"s":[100]},{"i":{"x":[0.833],"y":[0.601]},"o":{"x":[0.72],"y":[0]},"t":27.42,"s":[100]},{"t":56,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.33,"y":1},"o":{"x":0.229,"y":0},"t":15.99,"s":[958.09,958.244,0],"to":[18.333,-110,0],"ti":[-64.333,76,0]},{"t":34.6953125,"s":[1316.148,645.839,0]}],"ix":2},"a":{"a":0,"k":[77.856,74.774,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-12.731,9.768],[-9.249,-12.055],[-0.018,-0.022]],"o":[[-9.249,-12.055],[12.73,-9.768],[0.018,0.023],[0,0]],"v":[[-18.607,24.774],[-12.262,-15.006],[27.805,-10.838],[27.857,-10.77]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.972549019608,0.149019607843,0.505882352941,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[77.856,74.774],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":1815,"st":15,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Element 6","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":10.793,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":12.871,"s":[100]},{"i":{"x":[0.833],"y":[0.601]},"o":{"x":[0.72],"y":[0]},"t":27.42,"s":[100]},{"t":56,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.33,"y":1},"o":{"x":0.189,"y":0},"t":15.99,"s":[959.693,959.693,0],"to":[-138,24.333,0],"ti":[110,-64.333,0]},{"t":33.134765625,"s":[529.471,1363.811,0]}],"ix":2},"a":{"a":0,"k":[47.326,47.325,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-11.644,-3.948],[0,0],[-3.913,2.92],[0,0],[0.157,-12.294],[0,0],[-3.986,-2.819],[0,0],[11.74,-3.65],[0,0],[1.449,-4.662],[0,0],[7.099,10.038],[0,0],[4.881,-0.062],[0,0],[-7.353,9.853],[0,0],[1.568,4.624],[0,0]],"o":[[0,0],[4.623,1.567],[0,0],[9.853,-7.352],[0,0],[-0.063,4.882],[0,0],[10.038,7.1],[0,0],[-4.662,1.449],[0,0],[-3.649,11.741],[0,0],[-2.819,-3.987],[0,0],[-12.293,0.157],[0,0],[2.92,-3.913],[0,0],[-3.948,-11.644]],"v":[[-17.558,-36.37],[-13.481,-34.987],[0.154,-37.147],[3.605,-39.723],[27.31,-27.644],[27.255,-23.339],[33.521,-11.038],[37.037,-8.553],[32.875,17.724],[28.763,19.002],[19.003,28.764],[17.724,32.875],[-8.552,37.037],[-11.039,33.522],[-23.339,27.254],[-27.645,27.31],[-39.722,3.606],[-37.146,0.154],[-34.987,-13.481],[-36.37,-17.558]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.737254901961,0.196078446332,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[47.325,47.325],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":1815,"st":15,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Element 5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":10.793,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":12.871,"s":[100]},{"i":{"x":[0.833],"y":[0.601]},"o":{"x":[0.72],"y":[0]},"t":27.42,"s":[100]},{"t":56,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.33,"y":1},"o":{"x":0.283,"y":0},"t":15.99,"s":[960,960,0],"to":[-178.333,3,0],"ti":[124.333,-150,0]},{"t":47.166015625,"s":[517.297,1177.159,0]}],"ix":2},"a":{"a":0,"k":[30.771,30.771,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-16.856],[16.856,0],[0,16.856],[-16.857,0]],"o":[[0,16.856],[-16.857,0],[0,-16.856],[16.856,0]],"v":[[30.521,0],[0,30.521],[-30.521,0],[0,-30.521]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.972549019608,0.149019607843,0.505882352941,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[30.771,30.771],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":1815,"st":15,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Element 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":10.793,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":12.871,"s":[100]},{"i":{"x":[0.833],"y":[0.601]},"o":{"x":[0.72],"y":[0]},"t":27.42,"s":[100]},{"t":56,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.33,"y":1},"o":{"x":0.273,"y":0},"t":15.99,"s":[960,960,0],"to":[-94.667,-86.667,0],"ti":[140.667,20.667,0]},{"t":46.64453125,"s":[446.624,934.727,0]}],"ix":2},"a":{"a":0,"k":[42,25.144,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.829,-3.697],[0,0],[3.698,-0.828],[0,0],[0.83,3.697],[0,0],[-3.697,0.828],[0,0]],"o":[[0,0],[0.829,3.697],[0,0],[-3.697,0.828],[0,0],[-0.828,-3.697],[0,0],[3.697,-0.828]],"v":[[36.343,-18.872],[40.921,1.552],[35.727,9.747],[-28.148,24.066],[-36.344,18.872],[-40.922,-1.553],[-35.728,-9.747],[28.148,-24.066]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.313725490196,0.81568627451,0.360784313725,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[42,25.144],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":1815,"st":15,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Element 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":10.793,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":12.871,"s":[100]},{"i":{"x":[0.833],"y":[0.601]},"o":{"x":[0.72],"y":[0]},"t":27.42,"s":[100]},{"t":56,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.33,"y":1},"o":{"x":0.174,"y":0},"t":15.99,"s":[959.693,959.692,0],"to":[-113.667,-146,0],"ti":[119.667,22.5,0]},{"t":42.48828125,"s":[529.471,736.071,0]}],"ix":2},"a":{"a":0,"k":[47.326,47.325,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-11.644,-3.948],[0,0],[-3.913,2.92],[0,0],[0.157,-12.294],[0,0],[-3.986,-2.819],[0,0],[11.74,-3.65],[0,0],[1.449,-4.662],[0,0],[7.099,10.038],[0,0],[4.881,-0.063],[0,0],[-7.353,9.854],[0,0],[1.568,4.624],[0,0]],"o":[[0,0],[4.623,1.568],[0,0],[9.853,-7.353],[0,0],[-0.063,4.882],[0,0],[10.038,7.099],[0,0],[-4.662,1.449],[0,0],[-3.649,11.74],[0,0],[-2.819,-3.986],[0,0],[-12.293,0.157],[0,0],[2.92,-3.912],[0,0],[-3.948,-11.644]],"v":[[-17.558,-36.37],[-13.481,-34.987],[0.154,-37.147],[3.605,-39.722],[27.31,-27.644],[27.255,-23.339],[33.521,-11.038],[37.037,-8.552],[32.875,17.724],[28.763,19.002],[19.003,28.764],[17.724,32.876],[-8.552,37.037],[-11.039,33.522],[-23.339,27.255],[-27.645,27.309],[-39.722,3.605],[-37.146,0.154],[-34.987,-13.481],[-36.37,-17.558]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.274509803922,0.513725490196,0.960784313725,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[47.325,47.325],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":1815,"st":15,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Element 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":10.793,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":12.871,"s":[100]},{"i":{"x":[0.833],"y":[0.601]},"o":{"x":[0.72],"y":[0]},"t":27.42,"s":[100]},{"t":56,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.33,"y":1},"o":{"x":0.292,"y":0},"t":15.99,"s":[960,960,0],"to":[-95.667,-127,0],"ti":[3.667,95,0]},{"t":47.6875,"s":[788.638,547.457,0]}],"ix":2},"a":{"a":0,"k":[33.515,41.664,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.281,-1.895],[0,0],[1.895,3.281],[0,0],[-3.281,1.894],[0,0],[-1.895,-3.281],[0,0]],"o":[[0,0],[-3.282,1.895],[0,0],[-1.895,-3.281],[0,0],[3.281,-1.894],[0,0],[1.895,3.282]],"v":[[28.859,29.054],[10.733,39.519],[1.36,37.008],[-31.37,-19.683],[-28.859,-29.054],[-10.732,-39.52],[-1.36,-37.009],[31.37,19.682]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.274509803922,0.513725490196,0.960784313725,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[33.515,41.664],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":1815,"st":15,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Element 1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10.793,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":12.871,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":27.42,"s":[100]},{"t":56,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.33,"y":1},"o":{"x":0.252,"y":0},"t":15.99,"s":[960,960,0],"to":[22,-151.667,0],"ti":[40,75.667,0]},{"t":45.607421875,"s":[1027.199,504.507,0]}],"ix":2},"a":{"a":0,"k":[30.771,30.771,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-16.856],[16.856,0],[0,16.857],[-16.857,0]],"o":[[0,16.857],[-16.857,0],[0,-16.856],[16.856,0]],"v":[[30.522,-0.001],[0,30.522],[-30.522,-0.001],[0,-30.522]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.255000005984,0.685999971278,0.501999978458,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[30.771,30.772],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":15,"op":1815,"st":15,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/apps/faucet/src/pages/_app.tsx b/apps/faucet/src/pages/_app.tsx deleted file mode 100644 index 9850fb3cc4..0000000000 --- a/apps/faucet/src/pages/_app.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import '@webb-tools/webb-ui-components/tailwind.css'; -import '../styles/globals.css'; - -import { WEBB_FAUCET_URL } from '@webb-tools/webb-ui-components/constants'; -import { AppProps } from 'next/app'; -import { DefaultSeo, DefaultSeoProps } from 'next-seo'; - -import Provider from '../provider'; - -export const metadata: DefaultSeoProps = { - additionalLinkTags: [ - { - href: '/static/assets/favicon.png', - rel: 'icon', - }, - ], - defaultTitle: 'Tangle Network Faucet', - description: - 'Receive Test Tokens on Devnet and Testnet supported by Tangle Network and Webb Protocol for development and experimental purposes.', - openGraph: { - images: [ - { - alt: 'Optimized Og Image Alt', - height: 630, - url: 'https://webb-assets.s3.amazonaws.com/og-optimize.png', - width: 1200, - }, - ], - locale: 'en_US', - siteName: 'Tangle Network Faucet', - type: 'website', - url: WEBB_FAUCET_URL, - }, - themeColor: '#ffffff', - titleTemplate: 'Webb | %s', - twitter: { - cardType: 'summary_large_image', - handle: '@webbprotocol', - site: '@webbprotocol', - }, -}; - -const App = ({ Component, pageProps }: AppProps) => { - return ( - - - -
- -
-
- ); -}; - -export default App; diff --git a/apps/faucet/src/pages/_document.tsx b/apps/faucet/src/pages/_document.tsx deleted file mode 100644 index bf1561f9ff..0000000000 --- a/apps/faucet/src/pages/_document.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { Head, Html, Main, NextScript } from 'next/document'; - -const Document = () => { - return ( - - - -
- - - - ); -}; - -export default Document; diff --git a/apps/faucet/src/pages/api/auth/refresh/twitter.ts b/apps/faucet/src/pages/api/auth/refresh/twitter.ts deleted file mode 100644 index 59489e44e7..0000000000 --- a/apps/faucet/src/pages/api/auth/refresh/twitter.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { NextApiRequest, NextApiResponse } from 'next'; -import { TwitterApi } from 'twitter-api-v2'; - -import serverConfig from '../../../../config/server'; -import handleTwitterApiError from '../../../../utils/handleTwitterApiError'; -import parseTwitterRefreshTokensBody from '../../../../utils/parseTwitterRefreshTokensBody'; - -async function POST(req: NextApiRequest, res: NextApiResponse) { - return new Promise((resolve) => { - parseTwitterRefreshTokensBody(req.body).match( - async (body) => { - const { clientId, refreshToken } = body; - - try { - const client = new TwitterApi({ - clientId, - clientSecret: serverConfig.twitterClientSecret, - }); - - const { - client: refreshedClient, - accessToken, - refreshToken: newRefreshToken, - expiresIn, - } = await client.refreshOAuth2Token(refreshToken); - const { data: userObject } = await refreshedClient.v2.me(); - - resolve( - res.status(200).json({ - accessToken, - expiresIn, - refreshToken: newRefreshToken, - twitterHandle: userObject.username, - }), - ); - } catch (error) { - resolve(handleTwitterApiError(error, res)); - } - }, - async (err) => { - resolve( - res.status(400).json({ - extraInfo: err.getPayload()?.extraInfo, - message: err.message, - }), - ); - }, - ); - }); -} - -export default function route(req: NextApiRequest, res: NextApiResponse) { - if (req.method === 'POST') { - return POST(req, res); - } else { - res.status(405).json({ message: 'Method Not Allowed' }); - } -} diff --git a/apps/faucet/src/pages/api/auth/signin/twitter.ts b/apps/faucet/src/pages/api/auth/signin/twitter.ts deleted file mode 100644 index a1e235c4c4..0000000000 --- a/apps/faucet/src/pages/api/auth/signin/twitter.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { NextApiRequest, NextApiResponse } from 'next'; -import { TwitterApi } from 'twitter-api-v2'; - -import serverConfig from '../../../../config/server'; -import handleTwitterApiError from '../../../../utils/handleTwitterApiError'; -import isTwitterRateLimitError from '../../../../utils/isTwitterRateLimitError'; -import parseTwitterLoginBody from '../../../../utils/parseTwitterLoginBody'; - -async function POST(req: NextApiRequest, res: NextApiResponse) { - return new Promise((resolve) => { - parseTwitterLoginBody(req.body).match( - async (body) => { - const { clientId, code, codeVerifier, redirectUri } = body; - - try { - const client = new TwitterApi({ - clientId: clientId, - clientSecret: serverConfig.twitterClientSecret, - }); - - const { - accessToken, - refreshToken, - expiresIn, - client: loggedClient, - } = await client.loginWithOAuth2({ code, codeVerifier, redirectUri }); - - const twitterHandle = await getTwitterHandle(loggedClient); - - resolve( - res.status(200).json({ - accessToken, - expiresIn, - refreshToken, - twitterHandle, - }), - ); - } catch (error) { - resolve(handleTwitterApiError(error, res)); - } - }, - async (err) => { - resolve( - res.status(400).json({ - extraInfo: err.getPayload()?.extraInfo, - message: err.getDisplayMessage(), - }), - ); - }, - ); - }); -} - -export default function route(req: NextApiRequest, res: NextApiResponse) { - if (req.method === 'POST') { - return POST(req, res); - } else { - res.status(405).json({ message: 'Method Not Allowed' }); - } -} - -async function getTwitterHandle(authorizedClient: TwitterApi) { - try { - const { data } = await authorizedClient.v2.me(); - return data.username; - } catch (error) { - // Return a fallback value if the error is a rate limit error - if (isTwitterRateLimitError(error)) { - if (error.rateLimit) { - console.warn( - `You just hit the rate limit! Limit for this endpoint is ${error.rateLimit.limit} requests!`, - ); - const resetDate = new Date(error.rateLimit.reset * 1000); // Convert seconds to milliseconds - const resetLocaleTime = resetDate.toLocaleTimeString(); - const resetLocaleDate = resetDate.toLocaleDateString(); - console.log( - `Request counter will reset at timestamp ${resetLocaleDate} ${resetLocaleTime}.`, - ); - console.log( - `You have ${error.rateLimit.remaining} requests left before hitting the rate limit.`, - ); - } - return 'Unknown'; - } - - throw error; - } -} diff --git a/apps/faucet/src/pages/index.tsx b/apps/faucet/src/pages/index.tsx deleted file mode 100644 index 4b2908ac36..0000000000 --- a/apps/faucet/src/pages/index.tsx +++ /dev/null @@ -1,124 +0,0 @@ -import { Footer, SideBar, Typography } from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import type { GetServerSideProps } from 'next'; -import { NextSeo, NextSeoProps } from 'next-seo'; - -import Header from '../components/Header'; -import ProcessingModal from '../components/ProcessingModal'; -import TwitterLink from '../components/TwitterLink'; -import sideBarProps from '../constants/sidebar'; -import InputsContainer from '../containers/InputsContainer'; -import LoginWithTwitter from '../containers/LoginWithTwitter'; -import { - getSideBarStateFromCookie, - setSideBarCookieOnToggle, -} from '../utils/sidebar'; - -interface PageProps { - sideBarInitialState?: boolean; -} - -export const metadata: NextSeoProps = { - additionalMetaTags: [ - { - content: 'Faucet, Webb Faucet, Webb Protocol, Crypto Faucet', - property: 'keywords', - }, - { - content: 'Webb Developers', - property: 'author', - }, - ], -}; - -export default function Page({ sideBarInitialState }: PageProps) { - return ( -
- -
-
-
-
- -
- - - {/** The Faucet Card */} -
-
- {/** Static content */} -
-
- - Get tokens - - - Tangle Network Faucet - -
- - Receive Test Tokens on Devnet and Testnet supported by - Tangle Network and Webb Protocol for development and - experimental purposes. - - - Follow - { - " on Twitter and authenticate yourself by clicking the 'Login with Twitter' below to start the process. *You can claim faucet every 24 hours on each network." - } - -
- - {/** Logic content */} -
- - -
-
-
- - -
-
- -
-
-
-
- ); -} - -export const getServerSideProps: GetServerSideProps = async ({ - req, - res, -}) => { - return { - props: { - sideBarInitialState: getSideBarStateFromCookie({ req, res }), - }, - }; -}; diff --git a/apps/faucet/src/provider/index.tsx b/apps/faucet/src/provider/index.tsx deleted file mode 100644 index efea61ff63..0000000000 --- a/apps/faucet/src/provider/index.tsx +++ /dev/null @@ -1,125 +0,0 @@ -import NextThemeProvider from '@webb-tools/api-provider-environment/NextThemeProvider'; -import { chainsConfig } from '@webb-tools/dapp-config/chains/chain-config'; -import { ChainType } from '@webb-tools/sdk-core/typed-chain-id'; -import { createContext, FC, PropsWithChildren, useContext } from 'react'; -import { BehaviorSubject } from 'rxjs'; - -import tokens from '../config/tokens'; -import { AddressType, FaucetChainDataType, MintTokenResult } from '../types'; - -/** - * An object to hold the all input values for the faucet form - */ -export type InputValuesType = { - /** - * Current selected typed chain id - */ - chain?: number; - - /** - * Current selected token symbol - */ - token?: string; - - /** - * Current selected token contract address - */ - contractAddress?: string; - - /** - * Recipient address - */ - recepient?: string; - - /** - * The recipient address type - */ - recepientAddressType?: AddressType; - - /** - * Boolean to check if the recipient address is valid or not - */ - isValidRecipientAddress?: boolean; -}; - -/** - * The FaucetContext type - */ -export type FaucetContextType = { - /** - * The default amount to send - */ - amount$: BehaviorSubject; - - /** - * The faucet config contains the supported chains and tokens - * (typed chain id -> supported token symbol -> contract address) - */ - config: { [typedChainId: number]: FaucetChainDataType }; - - /** - * The observer to hold the all input values for the faucet form - */ - inputValues$: BehaviorSubject; - - /** - * Boolean to show the minting process modal - */ - isMintingModalOpen$: BehaviorSubject; - - /** - * Boolean to show the minting success modal - */ - isMintingSuccess$: BehaviorSubject; - - /** - * The mint token result observable - */ - mintTokenResult$: BehaviorSubject; -}; - -// Serialize the tokens config to the FaucetChainDataType -const config = Object.entries(tokens).reduce( - (acc, [typedChainIdStr, tokensRecord]) => { - const typedChainId = +typedChainIdStr; - const chain = chainsConfig[+typedChainId]; - - if (!chain) { - alert(`Typed chain id ${typedChainId} is not in the chains config`); - return acc; - } - - acc[typedChainId] = { - chainId: chain.id, - name: chain.name, - tokenAddresses: tokensRecord, - type: chain.chainType === ChainType.Substrate ? 'Substrate' : 'Evm', - } as const satisfies FaucetChainDataType; - - return acc; - }, - {} as Record, -); - -const defaultContextValue = { - amount$: new BehaviorSubject(NaN), - config, - inputValues$: new BehaviorSubject({}), - isMintingModalOpen$: new BehaviorSubject(false), - isMintingSuccess$: new BehaviorSubject(false), - mintTokenResult$: new BehaviorSubject(null), -} satisfies FaucetContextType; - -const FaucetContext = createContext(defaultContextValue); - -const Provider: FC = ({ children }) => { - return ( - - {children} - - ); -}; - -export const useFaucetContext = () => useContext(FaucetContext); - -export default Provider; diff --git a/apps/faucet/src/specs/index.spec.tsx b/apps/faucet/src/specs/index.spec.tsx deleted file mode 100644 index 92ff888aa2..0000000000 --- a/apps/faucet/src/specs/index.spec.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from '@testing-library/react'; - -import Index from '../pages/index'; - -describe('Index', () => { - it('should render successfully', () => { - const { baseElement } = render(); - expect(baseElement).toBeTruthy(); - }); -}); diff --git a/apps/faucet/src/store/index.ts b/apps/faucet/src/store/index.ts deleted file mode 100644 index c4ef6c89fd..0000000000 --- a/apps/faucet/src/store/index.ts +++ /dev/null @@ -1,181 +0,0 @@ -import { useCallback, useMemo } from 'react'; -import useLocalStorageState from 'use-local-storage-state'; - -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; - -export enum StoreKey { - accessToken = 'accessToken', - refreshToken = 'refreshToken', - expiresIn = 'expiresIn', - twitterHandle = 'twitterHandle', -} - -export const isStoreKey = (key: any): key is StoreKey => { - return Object.values(StoreKey).includes(key); -}; - -/** - * The store type - */ -export type StoreType = { - /** - * The access token of the user - */ - [StoreKey.accessToken]?: string; - - /** - * The refresh token of the user - */ - [StoreKey.refreshToken]?: string; - - /** - * The expiration date of the access token - */ - [StoreKey.expiresIn]?: string; - - /** - * The twitter username of the user - */ - [StoreKey.twitterHandle]?: string; -}; - -const handleInvalidKey = (key: StoreKey): void => { - const err = FaucetError.from(FaucetErrorCode.INVALID_STORE_KEY, { - storeKey: key, - }); - - console.error(err); -}; - -/** - * Hook for accessing the store (localStorage) from anywhere in the app - * @returns a getter and setter for the store - */ -const useStore = () => { - const [accessToken, setAccessToken, { removeItem: removeAccessToken }] = - useLocalStorageState(StoreKey.accessToken); - - const [refreshToken, setRefreshToken, { removeItem: removeRefreshToken }] = - useLocalStorageState( - StoreKey.refreshToken, - ); - - const [expiresIn, setExpiresIn, { removeItem: removeExpiresIn }] = - useLocalStorageState(StoreKey.expiresIn); - - const [twitterHandle, setTwitterHandle, { removeItem: removeTwitterHandle }] = - useLocalStorageState( - StoreKey.twitterHandle, - ); - - const store = useMemo( - () => ({ - [StoreKey.accessToken]: accessToken, - [StoreKey.refreshToken]: refreshToken, - [StoreKey.expiresIn]: expiresIn, - [StoreKey.twitterHandle]: twitterHandle, - }), - [accessToken, expiresIn, refreshToken, twitterHandle], - ); - - const getStore = useCallback( - ( - key?: K, - ): K extends StoreKey ? StoreType[K] : StoreType => { - if (key === undefined) { - return store as K extends StoreKey ? StoreType[K] : StoreType; - } - return store[key] as K extends StoreKey ? StoreType[K] : StoreType; - }, - [store], - ); - - const setStoreByKey = useCallback( - (key: StoreKey, value: StoreType[StoreKey]): void => { - switch (key) { - case StoreKey.accessToken: - setAccessToken(value); - break; - case StoreKey.refreshToken: - setRefreshToken(value); - break; - case StoreKey.expiresIn: - setExpiresIn(value); - break; - case StoreKey.twitterHandle: - setTwitterHandle(value); - break; - default: { - handleInvalidKey(key); - } - } - }, - [setAccessToken, setExpiresIn, setRefreshToken, setTwitterHandle], - ); - - const removeStore = useCallback( - (key: StoreKey): void => { - switch (key) { - case StoreKey.accessToken: - removeAccessToken(); - break; - case StoreKey.refreshToken: - removeRefreshToken(); - break; - case StoreKey.expiresIn: - removeExpiresIn(); - break; - case StoreKey.twitterHandle: - removeTwitterHandle(); - break; - default: - handleInvalidKey(key); - } - }, - [removeAccessToken, removeExpiresIn, removeRefreshToken, removeTwitterHandle], // prettier-ignore - ); - - const setStore = useCallback( - (key: StoreType | StoreKey, value?: StoreType[StoreKey]): void => { - if (isStoreKey(key)) { - const storeKey = key as StoreKey; - const setValue = value as StoreType[StoreKey]; - setStoreByKey(storeKey, setValue); - } else { - const newStore = key as StoreType; - if (newStore[StoreKey.accessToken]) { - setStoreByKey(StoreKey.accessToken, newStore[StoreKey.accessToken]); - } else { - removeStore(StoreKey.accessToken); - } - - if (newStore[StoreKey.refreshToken]) { - setStoreByKey(StoreKey.refreshToken, newStore[StoreKey.refreshToken]); - } else { - removeStore(StoreKey.refreshToken); - } - - if (newStore[StoreKey.expiresIn]) { - setStoreByKey(StoreKey.expiresIn, newStore[StoreKey.expiresIn]); - } else { - removeStore(StoreKey.expiresIn); - } - - if (newStore[StoreKey.twitterHandle]) { - setStoreByKey( - StoreKey.twitterHandle, - newStore[StoreKey.twitterHandle], - ); - } else { - removeStore(StoreKey.twitterHandle); - } - } - }, - [removeStore, setStoreByKey], - ); - - return [getStore, setStore] as const; -}; - -export default useStore; diff --git a/apps/faucet/src/styles/globals.css b/apps/faucet/src/styles/globals.css deleted file mode 100644 index cf3a4c0b3e..0000000000 --- a/apps/faucet/src/styles/globals.css +++ /dev/null @@ -1,19 +0,0 @@ -/* Font Family Satoshi Variable */ - -/** TODO: Consider moving this to tailwind-preset if these classes is shared with other apps */ - -.input-height { - @apply h-[74px]; -} - -.lottie-size { - @apply w-[200px] h-[200px]; -} - -.lottie-size-sm { - @apply w-[120px] h-[120px]; -} - -.w-modal { - @apply w-[500px]; -} diff --git a/apps/faucet/src/types/index.ts b/apps/faucet/src/types/index.ts deleted file mode 100644 index 9294a6d77b..0000000000 --- a/apps/faucet/src/types/index.ts +++ /dev/null @@ -1,205 +0,0 @@ -// File contains all shared types used in the app - -import { UserV2 } from 'twitter-api-v2'; -import { TransactionReceipt } from 'viem'; - -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; - -/** - * Supported wallet address types - */ -export type AddressType = 'ethereum' | 'substrate'; - -/** - * The chain type - */ -export type ChainType = 'Evm' | 'Substrate'; - -/** - * The twitter login response type - */ -export type TwitterLoginResponse = { - /** - * The twitter access token - */ - accessToken: string; - - /** - * The twitter access token expiration time in seconds - * @example 3600 - */ - expiresIn: number; - - /** - * The twitter refresh token used to refresh the access token - */ - refreshToken: string; - - /** - * The twitter handle of the user - * @example 'webbprotocol' - */ - twitterHandle: string; -}; - -/** - * The twitter login body type - */ -export type TwitterLoginBody = { - /** - * The twitter client id - */ - clientId: string; - - /** - * The twitter code (extract from the search params when redirected from twitter) - */ - code: string; - - /** - * The twitter code verifier - */ - codeVerifier: 'challenge'; - - /** - * The twitter grant type - */ - grantType: 'authorization_code'; - - /** - * The twitter redirect uri - */ - redirectUri: string; -}; - -/** - * The twitter refresh tokens body type - */ -export type TwitterRefreshTokensBody = { - /* - * The twitter client id - */ - clientId: string; - - /** - * The refresh token used to refresh the access token - */ - refreshToken: string; -}; - -/** - * The token input type used in the addTokenToMetamask function - */ -export type TokenInput = { - /** - * The token address - */ - address: string; - - /** - * The token decimals - */ - decimals: number; - - /** - * The token image url - */ - image: string; - - /** - * The token symbol - */ - symbol: string; -}; - -/** - * The chain data type - */ -export type FaucetChainDataType = { - /** - * The chain name (used for display and render the `ChainIcon`) - */ - name: string; - - /** - * The chain type (Evm or Substrate) - */ - type: ChainType; - - /** - * The chain id - */ - chainId: number; - - /** - * The token address record - * (token symbol -> contract address) - */ - tokenAddresses: Record; -}; - -/** - * The mint token body response type - */ -export type MintTokenBody = { - /** - * The wallet requested to mint the token - */ - wallet: { - type: AddressType; - value: string; - }; - - /** - * The typed chain id - */ - typed_chain_id: { - id: number; - type: ChainType; - }; - - /** - * The last claimed date - */ - last_claimed_date: string; - - /** - * The twitter user data - */ - user: UserV2; - - /** - * The transaction receipt - */ - tx_result: - | { - Evm: TransactionReceipt; - } - | { - Substrate: { - block_hash: string; - tx_hash: string; - }; - }; -}; - -export type TooManyClaimResponse = { - error: string; - reason: string; - last_claimed_date: string | null; - time_to_wait_between_claims_ms: number | null; -}; - -export type MintTokenErrorCodes = - | FaucetErrorCode.INVALID_SELECTED_CHAIN - | FaucetErrorCode.MINT_TOKENS_FAILED - | FaucetErrorCode.JSON_PARSE_ERROR - | FaucetErrorCode.TOO_MANY_CLAIM_REQUESTS - | FaucetErrorCode.MISSING_CONTRACT_ADDRESS; - -/** - * The mint token result type - * (can be a tx hash or an EvmMintTokenBody) - */ -export type MintTokenResult = MintTokenBody | FaucetError; diff --git a/apps/faucet/src/utils/addTokenToMetamask.ts b/apps/faucet/src/utils/addTokenToMetamask.ts deleted file mode 100644 index 0f4783677b..0000000000 --- a/apps/faucet/src/utils/addTokenToMetamask.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { TokenInput } from '../types'; - -const getProvider = () => { - if ( - typeof window !== 'undefined' && - typeof (window as any).web3 !== 'undefined' - ) { - const provider = - (window as any).ethereum || (window as any).web3.currentProvider; - - if (provider) { - return provider; - } - } -}; - -const addTokenToMetamask = async (tokenInput: TokenInput) => { - const { address, decimals, image, symbol } = tokenInput; - - if (!address || !symbol) { - alert('Missing token address or symbol'); - return; - } - - const provider = getProvider(); - - if (provider) { - try { - await provider.request({ - method: 'wallet_watchAsset', - params: { - options: { - address, - decimals, - image, - symbol, - }, - type: 'ERC20', - }, - }); - - console.log('Token added to Metamask'); - } catch (error) { - console.error(error); - } - } else { - alert(`Please install Metamask to add ${symbol} to your wallet`); - } -}; - -export default addTokenToMetamask; diff --git a/apps/faucet/src/utils/handleTwitterApiError.ts b/apps/faucet/src/utils/handleTwitterApiError.ts deleted file mode 100644 index cfd771b41e..0000000000 --- a/apps/faucet/src/utils/handleTwitterApiError.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { NextApiResponse } from 'next'; -import { - ApiPartialResponseError, - ApiRequestError, - ApiResponseError, -} from 'twitter-api-v2'; - -const handleTwitterApiError = (error: unknown, res: NextApiResponse) => { - // Handle twitter api errors - if (error instanceof ApiResponseError) { - return res.status(error.code).json(error.toJSON()); - } - - if (error instanceof ApiRequestError) { - return res.status(502).json(error.toJSON()); - } - - if (error instanceof ApiPartialResponseError) { - return res.status(502).json(error.toJSON()); - } - - // Fall back to a generic error - const message = error instanceof Error ? error.message : 'Bad Request'; - res.status(400).json({ message }); -}; - -export default handleTwitterApiError; diff --git a/apps/faucet/src/utils/isAllowSubstrateAddress.ts b/apps/faucet/src/utils/isAllowSubstrateAddress.ts deleted file mode 100644 index e60c397240..0000000000 --- a/apps/faucet/src/utils/isAllowSubstrateAddress.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { ZERO_BIG_INT } from '@webb-tools/dapp-config/constants'; -import { PresetTypedChainId } from '@webb-tools/dapp-types/ChainId'; - -function isAllowSubstrateAddress(typedChainId: number, tokenAddress?: string) { - let isNative = false; - - try { - if (tokenAddress) { - isNative = BigInt(tokenAddress) === ZERO_BIG_INT; - } - } catch { - // Ignore error - } - - return typedChainId === PresetTypedChainId.TangleTestnetEVM && isNative; -} - -export default isAllowSubstrateAddress; diff --git a/apps/faucet/src/utils/isTooManyClaimResponse.ts b/apps/faucet/src/utils/isTooManyClaimResponse.ts deleted file mode 100644 index dffc165b28..0000000000 --- a/apps/faucet/src/utils/isTooManyClaimResponse.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { TooManyClaimResponse } from '../types'; - -const isTooManyClaimResponse = ( - response: unknown, -): response is TooManyClaimResponse => { - if (typeof response !== 'object' || response === null) { - return false; - } - - return ( - 'error' in response && - typeof response['error'] === 'string' && - 'reason' in response && - typeof response['reason'] === 'string' && - 'last_claimed_date' in response && - (typeof response['last_claimed_date'] === 'string' || - response['last_claimed_date'] === null) && - 'time_to_wait_between_claims_ms' in response && - (typeof response['time_to_wait_between_claims_ms'] === 'number' || - response['time_to_wait_between_claims_ms'] === null) - ); -}; - -export default isTooManyClaimResponse; diff --git a/apps/faucet/src/utils/isTwitterRateLimitError.ts b/apps/faucet/src/utils/isTwitterRateLimitError.ts deleted file mode 100644 index 7f0ee0b33b..0000000000 --- a/apps/faucet/src/utils/isTwitterRateLimitError.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ApiResponseError } from 'twitter-api-v2'; - -const isTwitterRateLimitError = (error: unknown): error is ApiResponseError => { - return ( - error instanceof ApiResponseError && - !!error.rateLimitError && - !!error.rateLimit - ); -}; - -export default isTwitterRateLimitError; diff --git a/apps/faucet/src/utils/loginWithTwitter.ts b/apps/faucet/src/utils/loginWithTwitter.ts deleted file mode 100644 index 7a934fb39a..0000000000 --- a/apps/faucet/src/utils/loginWithTwitter.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { err, Result } from 'neverthrow'; - -import clientConfig from '../config/client'; -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; -import { TwitterLoginBody, TwitterLoginResponse } from '../types'; -import parseTokensResponse from './parseTokensResponse'; -import safeParseJSON from './safeParseJSON'; - -type LoginReturnType = Result< - TwitterLoginResponse, - | FaucetError - | FaucetError - | FaucetError ->; - -/** - * Login with twitter and return the tokens response - * @param code the code returned from twitter - * @param abortSignal the abort signal - * @returns the tokens response or throw an error - */ -const loginWithTwitter = async ( - code: string, - redirectUri: string, - abortSignal?: AbortSignal, -): Promise => { - const body: TwitterLoginBody = { - clientId: clientConfig.twitterClientId, - code, - codeVerifier: 'challenge', - grantType: 'authorization_code', - redirectUri: redirectUri, - }; - - const headers = { - 'Content-Type': 'application/json', - }; - - try { - const resp = await fetch('/api/auth/signin/twitter', { - body: JSON.stringify(body), - headers, - method: 'POST', - signal: abortSignal, - }); - - if (!resp.ok) { - let msg = ''; - - try { - const json = await resp.json(); - console.group('ERROR JSON'); - console.log(json); - console.groupEnd(); - msg = json.message || resp.statusText; - } catch (error) { - msg = resp.statusText; - } - - return err( - FaucetError.from(FaucetErrorCode.TWITTER_LOGIN_FAILED, { - message: msg, - status: resp.status, - }), - ); - } - - const jsonResult = await safeParseJSON(resp); - if (jsonResult.isErr()) { - return err(jsonResult.error); - } - - return parseTokensResponse(jsonResult.value); - } catch (error) { - // Ignore abort error - } -}; - -export default loginWithTwitter; diff --git a/apps/faucet/src/utils/parseErrorFromResult.ts b/apps/faucet/src/utils/parseErrorFromResult.ts deleted file mode 100644 index 2efec2a3ae..0000000000 --- a/apps/faucet/src/utils/parseErrorFromResult.ts +++ /dev/null @@ -1,42 +0,0 @@ -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; -import ErrorPayload from '../errors/FaucetErrorPayload'; -import { MintTokenResult } from '../types'; - -const formatTimeLeft = (timeLeft: number): string => { - const hours = Math.floor(timeLeft / 3600000); - const minutes = Math.floor((timeLeft % 3600000) / 60000); - const hoursStr = hours > 0 ? `${hours} hour${hours > 1 ? 's' : ''}` : ''; - const minutesStr = - minutes > 0 ? `${minutes} minute${minutes > 1 ? 's' : ''}` : ''; - return `${hoursStr} ${minutesStr}`.trim(); -}; - -/** - * Parses the error message from a mintTokens call result - * @param result the result of the mintTokens call - * @returns a string containing the error message to display to the user - */ -const parseErrorFromResult = (result: MintTokenResult | null): string => { - const defaultMessage = 'Oops, the transfer could not be completed.'; - - if (!result || !FaucetError.isFaucetError(result)) return defaultMessage; - - if (result.getErrorCode() !== FaucetErrorCode.TOO_MANY_CLAIM_REQUESTS) - return defaultMessage; - - const payload = - result.getPayload() as ErrorPayload[FaucetErrorCode.TOO_MANY_CLAIM_REQUESTS]; - - if (payload?.lastClaimedDate && payload?.claimPeriod) { - const timeLeft = - Date.now() - payload.lastClaimedDate.getTime() + payload.claimPeriod; - const timeStr = formatTimeLeft(timeLeft); - - return `You have already claimed within the specified time period. Please wait ${timeStr} before making another claim.`; - } - - return defaultMessage; -}; - -export default parseErrorFromResult; diff --git a/apps/faucet/src/utils/parseTokensResponse.ts b/apps/faucet/src/utils/parseTokensResponse.ts deleted file mode 100644 index b2fd232a42..0000000000 --- a/apps/faucet/src/utils/parseTokensResponse.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { err, ok, Result } from 'neverthrow'; - -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; -import { TwitterLoginResponse } from '../types'; - -/** - * Parse the tokens response from the server - * @param json the json response from the server - * @returns the tokens response or throw an error - */ -const parseTokensResponse = ( - json: any, -): Result< - TwitterLoginResponse, - FaucetError -> => { - const { accessToken, expiresIn, refreshToken, twitterHandle } = json; - - if (!accessToken || !expiresIn || !refreshToken || !twitterHandle) { - return err( - FaucetError.from(FaucetErrorCode.INVALID_RESPONSE, { - context: 'parseTokensResponse()', - }), - ); - } - - return ok({ - accessToken, - expiresIn, - refreshToken, - twitterHandle, - }); -}; - -export default parseTokensResponse; diff --git a/apps/faucet/src/utils/parseTwitterLoginBody.ts b/apps/faucet/src/utils/parseTwitterLoginBody.ts deleted file mode 100644 index 42b373ad65..0000000000 --- a/apps/faucet/src/utils/parseTwitterLoginBody.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { err, ok, Result } from 'neverthrow'; - -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; -import { TwitterLoginBody } from '../types'; - -const requiredFields = [ - 'clientId', - 'code', - 'codeVerifier', - 'grantType', - 'redirectUri', -] as const; - -/** - * Parses and validates the body of a Twitter login request - * @param body the body of the request - * @returns the parsed body - */ -export default function parseTwitterLoginBody( - body: any, -): Result> { - const { clientId, code, codeVerifier, grantType, redirectUri } = body; - - if (!clientId || !code || !codeVerifier || !grantType || !redirectUri) { - return err( - FaucetError.from(FaucetErrorCode.INVALID_REQUEST_BODY, { - extraInfo: `Missing fields: ${requiredFields - .filter((field) => !body[field]) - .join(', ')}`, - }), - ); - } - - return ok({ - clientId, - code, - codeVerifier, - grantType, - redirectUri, - }); -} diff --git a/apps/faucet/src/utils/parseTwitterRefreshTokensBody.ts b/apps/faucet/src/utils/parseTwitterRefreshTokensBody.ts deleted file mode 100644 index be5d86d6a2..0000000000 --- a/apps/faucet/src/utils/parseTwitterRefreshTokensBody.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { err, ok, Result } from 'neverthrow'; - -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; -import { TwitterRefreshTokensBody } from '../types'; - -const requiredFields = ['clientId', 'refreshToken'] as const; - -/** - * Parses and validates the body of a Twitter refresh tokens request - * @param body the body of the request - */ -const parseTwitterRefreshTokensBody = ( - body: any, -): Result< - TwitterRefreshTokensBody, - FaucetError -> => { - const { clientId, refreshToken } = body; - if (!clientId || !refreshToken) { - return err( - FaucetError.from(FaucetErrorCode.INVALID_REQUEST_BODY, { - extraInfo: `Missing fields: ${requiredFields - .filter((field) => !body[field]) - .join(', ')}`, - }), - ); - } - - return ok({ - clientId, - refreshToken, - }); -}; - -export default parseTwitterRefreshTokensBody; diff --git a/apps/faucet/src/utils/refreshTwitterTokens.ts b/apps/faucet/src/utils/refreshTwitterTokens.ts deleted file mode 100644 index 75ce375bdb..0000000000 --- a/apps/faucet/src/utils/refreshTwitterTokens.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { LoggerService } from '@webb-tools/browser-utils'; -import { err, Result } from 'neverthrow'; - -import clientConfig from '../config/client'; -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; -import { TwitterLoginResponse, TwitterRefreshTokensBody } from '../types'; -import parseTokensResponse from './parseTokensResponse'; -import safeParseJSON from './safeParseJSON'; - -const logger = LoggerService.get('refreshTwitterTokens()'); - -const refreshTwitterTokens = async ( - refreshToken: string, - abortSignal?: AbortSignal, -): Promise< - | Result< - TwitterLoginResponse, - | FaucetError - | FaucetError - | FaucetError - > - | undefined -> => { - const body: TwitterRefreshTokensBody = { - clientId: clientConfig.twitterClientId, - refreshToken, - }; - - const headers = { - 'Content-Type': 'application/json', - }; - - try { - const resp = await fetch('/api/auth/refresh/twitter', { - body: JSON.stringify(body), - headers, - method: 'POST', - signal: abortSignal, - }); - - if (!resp.ok) { - let msg = ''; - - try { - const json = await resp.json(); - logger.error('JSON ERROR: ', JSON.stringify(json, null, 2)); - msg = json.message || resp.statusText; - } catch (error) { - msg = resp.statusText; - } - - return err( - FaucetError.from(FaucetErrorCode.REFRESH_TOKENS_FAILED, { - message: msg, - status: resp.status, - }), - ); - } - - const jsonResult = await safeParseJSON(resp); - if (jsonResult.isErr()) { - return err(jsonResult.error); - } - - return parseTokensResponse(jsonResult.value); - } catch (error) { - // Ignore abort errors - } -}; - -export default refreshTwitterTokens; diff --git a/apps/faucet/src/utils/safeParseJSON.ts b/apps/faucet/src/utils/safeParseJSON.ts deleted file mode 100644 index 3de4603afb..0000000000 --- a/apps/faucet/src/utils/safeParseJSON.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { err, ok, Result } from 'neverthrow'; - -import FaucetError from '../errors/FaucetError'; -import FaucetErrorCode from '../errors/FaucetErrorCode'; - -/** - * The safer function for parsing json from the response - * @param response - response from the fetch - * @returns {Promise>>} - parsed json - */ -const safeParseJSON = async ( - response: Response, -): Promise>> => { - try { - const json = await response.json(); - return ok(json); - } catch (e) { - return err( - FaucetError.from(FaucetErrorCode.JSON_PARSE_ERROR, { - context: JSON.stringify(e, null, 2), - }), - ); - } -}; - -export default safeParseJSON; diff --git a/apps/faucet/src/utils/sidebar.ts b/apps/faucet/src/utils/sidebar.ts deleted file mode 100644 index 17e82313c1..0000000000 --- a/apps/faucet/src/utils/sidebar.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { SIDEBAR_OPEN_KEY } from '@webb-tools/webb-ui-components/constants'; -import { getCookie, setCookie } from 'cookies-next'; - -/** - * Set the sidebar state in the cookie on client side - */ -export const setSideBarCookieOnToggle = () => { - const sideBarStateFromCookie = getCookie(SIDEBAR_OPEN_KEY); - - if (sideBarStateFromCookie === 'false') { - setCookie(SIDEBAR_OPEN_KEY, 'true'); - } else { - setCookie(SIDEBAR_OPEN_KEY, 'false'); - } -}; - -/** - * Getting the sidebar state from the on server side to prevent hydration error - * NOTE: this function only works on getServerSideProps according to cookies-next doc - * @param options options required to get the cookie from the server - * @returns the state of the sidebar that is stored in the cookie - */ -export function getSideBarStateFromCookie( - options: Parameters[1], -) { - const sideBarStateFromCookie = getCookie(SIDEBAR_OPEN_KEY, options); - return sideBarStateFromCookie === 'false' ? false : true; -} diff --git a/apps/faucet/tailwind.config.js b/apps/faucet/tailwind.config.js deleted file mode 100644 index 2fcfbe24aa..0000000000 --- a/apps/faucet/tailwind.config.js +++ /dev/null @@ -1,40 +0,0 @@ -const preset = require('../../tailwind.preset.cjs'); - -const { createGlobPatternsForDependencies } = require('@nx/next/tailwind'); -const { join } = require('path'); - -/** @type {import('tailwindcss').Config} */ -module.exports = { - presets: [preset], - content: [ - join( - __dirname, - 'src/{pages,app,components,containers,provider}/**/*!(*.stories|*.spec).{ts,tsx,html}', - ), - join( - __dirname, - '../../libs/webb-ui-components', - 'src/**/*!(*.stories|*.spec).{ts,tsx,html}', - ), - ...createGlobPatternsForDependencies(__dirname), - ], - theme: { - extend: { - fontFamily: { - 'satoshi-var': [ - 'Satoshi Variable', - '-apple-system', - 'BlinkMacSystemFont', - 'Arial', - 'sans-serif', - ], - }, - backgroundImage: { - glass: - 'linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%)', - glass_dark: - 'linear-gradient(180deg, rgba(100, 103, 120, 0.20) 0%, rgba(33, 34, 45, 0.20) 100%)', - }, - }, - }, -}; diff --git a/apps/faucet/tsconfig.json b/apps/faucet/tsconfig.json deleted file mode 100644 index bc0f994f23..0000000000 --- a/apps/faucet/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "jsx": "preserve", - "allowJs": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "resolveJsonModule": true, - "isolatedModules": true, - "incremental": true, - "types": ["jest", "node"] - }, - "include": ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx", "next-env.d.ts"], - "exclude": [ - "node_modules", - "jest.config.ts", - "src/**/*.spec.ts", - "src/**/*.test.ts" - ] -} diff --git a/apps/faucet/tsconfig.spec.json b/apps/faucet/tsconfig.spec.json deleted file mode 100644 index e62c9eecd9..0000000000 --- a/apps/faucet/tsconfig.spec.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "types": ["jest", "node"], - "jsx": "react" - }, - "include": [ - "jest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.test.tsx", - "src/**/*.spec.tsx", - "src/**/*.test.js", - "src/**/*.spec.js", - "src/**/*.test.jsx", - "src/**/*.spec.jsx", - "src/**/*.d.ts" - ] -} diff --git a/apps/hubble-stats/.eslintrc.json b/apps/hubble-stats/.eslintrc.json deleted file mode 100644 index af23ce730f..0000000000 --- a/apps/hubble-stats/.eslintrc.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "extends": [ - "plugin:@nx/react-typescript", - "next", - "next/core-web-vitals", - "../../.eslintrc.json" - ], - "ignorePatterns": ["!**/*", ".next/**/*"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": { - "@next/next/no-html-link-for-pages": [ - "error", - "apps/hubble-stats/pages" - ] - } - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ], - "rules": { - "@next/next/no-html-link-for-pages": "off" - }, - "env": { - "jest": true - } -} diff --git a/apps/hubble-stats/.vscode/settings.json b/apps/hubble-stats/.vscode/settings.json deleted file mode 100644 index 4d2a59426f..0000000000 --- a/apps/hubble-stats/.vscode/settings.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "typescript.tsdk": "../../../node_modules/typescript/lib", - "typescript.enablePromptUseWorkspaceTsdk": true -} diff --git a/apps/hubble-stats/CHANGELOG.md b/apps/hubble-stats/CHANGELOG.md deleted file mode 100644 index 2aa4a79ff6..0000000000 --- a/apps/hubble-stats/CHANGELOG.md +++ /dev/null @@ -1,93 +0,0 @@ -# Changelog - -All notable changes to this app will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -### Added - -- New feature or functionality -- New file or resource - -### Changed - -- Updates to existing features -- Changes to existing files or resources - -### Deprecated - -- Features or functionality that will be removed in future versions -- Files or resources that will be removed in future versions - -### Removed - -- Features or functionality that have been removed -- Files or resources that have been removed - -### Fixed - -- Bug fixes -- Corrections to existing files or resources - -### Security - -- Security-related changes, such as vulnerability patches - -## [0.0.1] - 2023-09-09 - -### Added - -- Initial release of the Hubble Stats app -- Include the overview page of the Hubble Bridge system -- Include the pool detail page - -## [0.0.2] - 2023-09-19 - -### Chaged, Added and Fixed - -- Fix Bugs in Pool Wrapping Table -- Add TVL change rate + Add Explorer Urls -- Fix Hubble Stats Theme Flickering - -## [0.0.3] - 2023-09-21 - -### Chaged, Added and Fixed - -- Fix current major issues on Hubble Stats ([#1651](https://github.com/webb-tools/webb-dapp/pull/1651)) -- Fix chart tooltip bug ([#1664](https://github.com/webb-tools/webb-dapp/pull/1664)) - -## [0.0.4] - 2023-09-30 - -### Chaged, Added and Fixed - -- Upgrade next apps to latest version to support adding features and fixing bugs ([#1684](https://github.com/webb-tools/webb-dapp/pull/1684)) -- Add metadata in layout in Hubble Stats ([#1688](https://github.com/webb-tools/webb-dapp/pull/1688)) - -## [0.0.5] - 2023-09-30 - -### Chaged, Added and Fixed - -- Downgrade next to 13.4.19 to fix netlify/next runtime issue ([#1724](https://github.com/webb-tools/webb-dapp/pull/1724)). - -## [0.0.6] - 2023-10-04 - -### Chaged, Added and Fixed - -- Hubble Stats Streaming Data ([#1694](https://github.com/webb-tools/webb-dapp/pull/1694)). -- Improve Hubble Stats Timeout ([#1732](https://github.com/webb-tools/webb-dapp/pull/1732)). - -## [0.0.7] - 2023-10-05 - -### Chaged, Added and Fixed - -- Fix Sidebar not keep consistent state when refreshing pages ([#1740](https://github.com/webb-tools/webb-dapp/pull/1740)) - -## [0.0.8] - 2023-10-24 - -### Chaged, Added and Fixed - -- Bump Netlify Next.js Runtime ([#1780](https://github.com/webb-tools/webb-dapp/pull/1780)). -- Client Side Fetching for Hubble Stats ([#1787](https://github.com/webb-tools/webb-dapp/pull/1787)). diff --git a/apps/hubble-stats/README.md b/apps/hubble-stats/README.md deleted file mode 100644 index 9ef4b0f42b..0000000000 --- a/apps/hubble-stats/README.md +++ /dev/null @@ -1,49 +0,0 @@ - - -# Webb Hubble Bridge Statistics - -

- An interface for displaying statistical data of the Cross-chain Bridging System. -
-

- -## Run Hubble Stats - -Once the development environment is set up, you may proceed to install the required dependencies and run the dapp locally. - -1. Clone this repo - - ```bash - git clone git@github.com:webb-tools/webb-dapp.git - ``` - -2. Install dependencies by `yarn` - - ```bash - yarn install - ``` - -3. Start the dApp by the following command: - - ```bash - yarn nx serve hubble-stats - ``` - -Visit `http://localhost:4200/` to see the Hubble Stats app! - -Happy hacking! - -

Need help?

- -If you need help or you want to additional information please: - -- Refer to the [Webb Official Documentation](https://docs.webb.tools/). -- If you have feedback on how to improve the Webb Dapp interface or you have a specific question? Check out the [Webb Dapp Feedback Discussion](https://github.com/webb-tools/feedback/discussions/categories/webb-dapp-feedback). -- If you found a bug please [open an issue](https://github.com/webb-tools/webb-dapp/issues/new/choose) or [join our Discord](https://discord.gg/jUDeFpggrR) server to report it. diff --git a/apps/hubble-stats/app/api/hello/route.ts b/apps/hubble-stats/app/api/hello/route.ts deleted file mode 100644 index 2e2fab54d3..0000000000 --- a/apps/hubble-stats/app/api/hello/route.ts +++ /dev/null @@ -1,3 +0,0 @@ -export async function GET(request: Request) { - return new Response('Hello, from API!!!'); -} diff --git a/apps/hubble-stats/app/layout.tsx b/apps/hubble-stats/app/layout.tsx deleted file mode 100644 index 8bb9f02e7d..0000000000 --- a/apps/hubble-stats/app/layout.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import '@webb-tools/webb-ui-components/tailwind.css'; - -import Providers from './providers'; -import { HUBBLE_STATS_URL } from '@webb-tools/webb-ui-components/constants'; -import type { Metadata, Viewport } from 'next'; - -import { Layout } from '../containers'; - -export const viewport: Viewport = { - themeColor: [ - { media: '(prefers-color-scheme: light)', color: '#fff' }, - { media: '(prefers-color-scheme: dark)', color: '#252836' }, - ], -}; - -export const metadata: Metadata = { - title: { - default: 'Hubble Stats', - template: 'Hubble Stats | %s', - }, - description: 'Welcome to Hubble Stats!', - metadataBase: process.env.URL ? new URL(process.env.URL) : null, - openGraph: { - title: 'Hubble Stats', - description: 'Welcome to Hubble Stats!', - url: HUBBLE_STATS_URL, - siteName: 'Hubble Stats', - images: [ - { - alt: 'Optimized Og Image Alt', - height: 630, - url: 'https://webb-assets.s3.amazonaws.com/og-optimize.png', - width: 1200, - }, - ], - locale: 'en_US', - type: 'website', - }, - icons: { - icon: '/favicon.png', - }, - twitter: { - card: 'summary_large_image', - title: 'Hubble Stats', - description: 'Welcome to Hubble Stats!', - }, -}; - -export default function RootLayout({ - children, -}: { - children: React.ReactNode; -}) { - return ( - - - - {children} - - - - ); -} diff --git a/apps/hubble-stats/app/page.tsx b/apps/hubble-stats/app/page.tsx deleted file mode 100644 index d659090df8..0000000000 --- a/apps/hubble-stats/app/page.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { - KeyMetricsTableContainer, - ShieldedTablesContainer, -} from '../containers'; -import { - OverviewTvlChartContainer, - OverviewVolumeChartContainer, -} from '../containers/charts'; -import { getDateDataForPage } from '../utils'; - -export default function Index() { - const { epochStart, epochNow, numDatesFromStart } = getDateDataForPage(); - - const chartProps = { - numDatesFromStart, - startingEpoch: epochStart, - epochNow, - }; - - return ( -
- {/** Overview charts */} -
- - - -
- - - - -
- ); -} diff --git a/apps/hubble-stats/app/pool/[slug]/page.tsx b/apps/hubble-stats/app/pool/[slug]/page.tsx deleted file mode 100644 index 5fd884e6d0..0000000000 --- a/apps/hubble-stats/app/pool/[slug]/page.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import { notFound } from 'next/navigation'; -import { Suspense } from 'react'; -import { VANCHORS_MAP } from '../../../constants'; -import { Breadcrumbs } from '../../../components'; -import { - PoolInfoCardContainer, - PoolMetadataTableContainer, - PoolOverviewChartsContainer, - PoolOverviewTableContainer, - PoolTransactionsTableContainer, - PoolWrappingChartsContainer, - PoolWrappingTableContainer, -} from '../../../containers'; -import { getDateDataForPage } from '../../../utils'; - -export default function Pool({ params }: { params: { slug: string } }) { - const poolAddress = params.slug; - - // if poolAddress slug is not valid, return 404 - if (!VANCHORS_MAP[poolAddress]) { - notFound(); - } - - const { epochStart, epochNow, numDatesFromStart } = getDateDataForPage(); - - const chartProps = { - poolAddress, - numDatesFromStart, - startingEpoch: epochStart, - epochNow, - }; - - const tableProps = { - poolAddress, - epochNow, - availableTypedChainIds: VANCHORS_MAP[poolAddress].supportedChains, - }; - - return ( -
- - -
- - - -
- -
- - -
- - - - - - -
- ); -} diff --git a/apps/hubble-stats/app/providers.tsx b/apps/hubble-stats/app/providers.tsx deleted file mode 100644 index 29cdd8fb01..0000000000 --- a/apps/hubble-stats/app/providers.tsx +++ /dev/null @@ -1,13 +0,0 @@ -'use client'; - -import NextThemeProvider from '@webb-tools/api-provider-environment/NextThemeProvider'; -import { PropsWithChildren } from 'react'; -import { SWRConfig } from 'swr'; - -export default function providers({ children }: PropsWithChildren) { - return ( - - {children} - - ); -} diff --git a/apps/hubble-stats/components/Breadcrumbs/Breadcrumbs.tsx b/apps/hubble-stats/components/Breadcrumbs/Breadcrumbs.tsx deleted file mode 100644 index 383277a3a0..0000000000 --- a/apps/hubble-stats/components/Breadcrumbs/Breadcrumbs.tsx +++ /dev/null @@ -1,73 +0,0 @@ -'use client'; - -import { CoinIcon, ContrastLine } from '@webb-tools/icons'; -import { - Breadcrumbs as BreadcrumbsCmp, - BreadcrumbsItem, -} from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import Link from 'next/link'; -import { usePathname } from 'next/navigation'; -import { useMemo, type FC } from 'react'; - -import { VANCHORS_MAP } from '../../constants'; -import type { BreadcrumbsType, BreadcrumbItemType } from './types'; - -const Breadcrumbs: FC = ({ className }) => { - const pathname = usePathname(); - - const breadCrumbs = useMemo(() => { - // check if current path is /pool/<0x...> - if (/^\/pool\/0x\w+/.test(pathname)) { - const poolAddress = pathname.split('/')[2]; - if (VANCHORS_MAP[poolAddress]) { - return [ - { - label: 'Hubble Overview', - isLast: false, - icon: , - href: '/', - }, - { - label: VANCHORS_MAP[poolAddress].fungibleTokenName, - isLast: true, - icon: , - href: '#', - }, - ]; - } - } - - return [ - { - label: 'Hubble Overview', - isLast: true, - icon: , - href: '/', - }, - ]; - }, [pathname]); - - return ( - - {breadCrumbs.map((breadcrumb, index) => ( - /** - * Data on the client-side needs to be up-to-date when the user navigates to a page - * Therefore, do not need to prefetch routes in breadcrumb items - */ - - - {breadcrumb.label} - - - ))} - - ); -}; - -export default Breadcrumbs; diff --git a/apps/hubble-stats/components/Breadcrumbs/index.ts b/apps/hubble-stats/components/Breadcrumbs/index.ts deleted file mode 100644 index 0835ba0b68..0000000000 --- a/apps/hubble-stats/components/Breadcrumbs/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as Breadcrumbs } from './Breadcrumbs'; diff --git a/apps/hubble-stats/components/Breadcrumbs/types.ts b/apps/hubble-stats/components/Breadcrumbs/types.ts deleted file mode 100644 index d151ec8fa4..0000000000 --- a/apps/hubble-stats/components/Breadcrumbs/types.ts +++ /dev/null @@ -1,11 +0,0 @@ -export type BreadcrumbsType = { - className?: string; -}; - -export type BreadcrumbItemType = { - label: string; - isLast: boolean; - icon: JSX.Element; - href: string; - className?: string; -}; diff --git a/apps/hubble-stats/components/CopyIconWithTooltip/CopyIconWithTooltip.tsx b/apps/hubble-stats/components/CopyIconWithTooltip/CopyIconWithTooltip.tsx deleted file mode 100644 index 11b4b0abba..0000000000 --- a/apps/hubble-stats/components/CopyIconWithTooltip/CopyIconWithTooltip.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { FC } from 'react'; -import { CopyWithTooltip } from '@webb-tools/webb-ui-components'; - -import { CopyIconWithTooltipProps } from './types'; - -const CopyIconWithTooltip: FC = ({ textToCopy }) => { - return ( - - ); -}; - -export default CopyIconWithTooltip; diff --git a/apps/hubble-stats/components/CopyIconWithTooltip/index.ts b/apps/hubble-stats/components/CopyIconWithTooltip/index.ts deleted file mode 100644 index 379a334e7f..0000000000 --- a/apps/hubble-stats/components/CopyIconWithTooltip/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as CopyIconWithTooltip } from './CopyIconWithTooltip'; diff --git a/apps/hubble-stats/components/CopyIconWithTooltip/types.ts b/apps/hubble-stats/components/CopyIconWithTooltip/types.ts deleted file mode 100644 index f1d0c032e0..0000000000 --- a/apps/hubble-stats/components/CopyIconWithTooltip/types.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface CopyIconWithTooltipProps { - textToCopy: string; -} diff --git a/apps/hubble-stats/components/HeaderChipItem/HeaderChipItem.tsx b/apps/hubble-stats/components/HeaderChipItem/HeaderChipItem.tsx deleted file mode 100644 index 16653203ac..0000000000 --- a/apps/hubble-stats/components/HeaderChipItem/HeaderChipItem.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import { - Chip, - SkeletonLoader, - Tooltip, - TooltipBody, - TooltipTrigger, - Typography, -} from '@webb-tools/webb-ui-components'; -import { useMemo } from 'react'; - -import getRoundedDownNumberWith2Decimals from '../../utils/getRoundedDownNumberWith2Decimals'; -import { HeaderChipItemProps } from './types'; - -function HeaderChipItem({ - Icon, - label, - hasTooltip = false, - tooltipContent, - isLoading, - value, -}: HeaderChipItemProps) { - const mainContent = useMemo( - () => ( - - - {label}:{' '} - {isLoading ? ( - - ) : ( - <> - {typeof value === 'number' - ? getRoundedDownNumberWith2Decimals(value) - : '-'}{' '} - webbtTNT - - )} - - ), - [Icon, isLoading, label, value], - ); - - if (hasTooltip && tooltipContent) { - return ( - - {mainContent} - - {tooltipContent} - - - ); - } - - return mainContent; -} - -export default HeaderChipItem; diff --git a/apps/hubble-stats/components/HeaderChipItem/index.ts b/apps/hubble-stats/components/HeaderChipItem/index.ts deleted file mode 100644 index 3d2978a54d..0000000000 --- a/apps/hubble-stats/components/HeaderChipItem/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as HeaderChipItem } from './HeaderChipItem'; diff --git a/apps/hubble-stats/components/HeaderChipItem/types.ts b/apps/hubble-stats/components/HeaderChipItem/types.ts deleted file mode 100644 index 13a63dd3f4..0000000000 --- a/apps/hubble-stats/components/HeaderChipItem/types.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { type IconBase } from '@webb-tools/icons/types'; - -export interface HeaderChipItemProps { - Icon: (props: IconBase) => JSX.Element; - label: string; - hasTooltip?: boolean; - tooltipContent?: string; - isLoading?: boolean; - value?: T; -} diff --git a/apps/hubble-stats/components/KeyMetricItem/KeyMetricItem.tsx b/apps/hubble-stats/components/KeyMetricItem/KeyMetricItem.tsx deleted file mode 100644 index 67addbb1f5..0000000000 --- a/apps/hubble-stats/components/KeyMetricItem/KeyMetricItem.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { - InfoIconWithTooltip, - SkeletonLoader, - Typography, -} from '@webb-tools/webb-ui-components'; -import { getRoundedAmountString } from '@webb-tools/webb-ui-components/utils'; -import cx from 'classnames'; - -import { getRoundedDownNumberWith2Decimals } from '../../utils'; -import { MetricItemProps } from './types'; - -function KeyMetricItem({ - title, - tooltip, - isLoading, - value, - ...restProps -}: MetricItemProps) { - return ( -
-
- - {title} - - {tooltip && } -
- - {isLoading || !value ? ( - - ) : ( - - )} -
- ); -} - -export default KeyMetricItem; - -function KeyMetricItemValue( - props: Omit, 'title' | 'tooltip' | 'isLoading'>, -) { - const { value: { changeRate, value } = {}, prefix, suffix } = props; - - return ( -
- {/* Value */} -
- - {typeof value === 'number' && (prefix ?? '')} - {getRoundedDownNumberWith2Decimals(value)} - - {typeof value === 'number' && suffix && ( - - {suffix} - - )} -
- - {/* Change Rate */} - {typeof changeRate === 'number' && - Number.isFinite(changeRate) && - !Number.isNaN(changeRate) && ( - = 0, - '!text-red-70': changeRate < 0, - })} - > - ({changeRate >= 0 ? `+` : `-`} - {getRoundedAmountString(Math.abs(changeRate), 2)}%) - - )} -
- ); -} diff --git a/apps/hubble-stats/components/KeyMetricItem/index.ts b/apps/hubble-stats/components/KeyMetricItem/index.ts deleted file mode 100644 index d04fbc8229..0000000000 --- a/apps/hubble-stats/components/KeyMetricItem/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as KeyMetricItem } from './KeyMetricItem'; diff --git a/apps/hubble-stats/components/KeyMetricItem/types.ts b/apps/hubble-stats/components/KeyMetricItem/types.ts deleted file mode 100644 index cd62235068..0000000000 --- a/apps/hubble-stats/components/KeyMetricItem/types.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { MetricType } from '../../types'; - -export interface MetricItemProps { - title: string; - prefix?: string; - suffix?: string; - tooltip?: string; - value: LoadingType extends true ? undefined : MetricType; - isLoading: LoadingType; -} diff --git a/apps/hubble-stats/components/PoolInfoCardItem/PoolInfoCardItem.tsx b/apps/hubble-stats/components/PoolInfoCardItem/PoolInfoCardItem.tsx deleted file mode 100644 index 3a766bea28..0000000000 --- a/apps/hubble-stats/components/PoolInfoCardItem/PoolInfoCardItem.tsx +++ /dev/null @@ -1,119 +0,0 @@ -import { ArrowRight } from '@webb-tools/icons'; -import { SkeletonLoader, Typography } from '@webb-tools/webb-ui-components'; -import { getRoundedAmountString } from '@webb-tools/webb-ui-components/utils'; -import cx from 'classnames'; - -import { getRoundedDownNumberWith2Decimals } from '../../utils'; -import { PoolInfoCardItemProps } from './types'; - -function PoolInfoCardItem({ - title, - prefix = '', - suffix = '', - className, - isLoading, - value, -}: PoolInfoCardItemProps) { - return ( -
- {isLoading || !value ? ( - - ) : ( - - )} -
- ); -} - -export default PoolInfoCardItem; - -function PoolInfoCardItemValue({ - title, - prefix, - suffix, - value: { value, changeRate } = {}, -}: Omit, 'className' | 'isLoading'>) { - return ( - <> -
- - {typeof value === 'number' && prefix} - {getRoundedDownNumberWith2Decimals(value)} - - {typeof value === 'number' && suffix && ( - - {suffix} - - )} -
- -
- - {title} - - {typeof changeRate === 'number' && ( - = 0, - '!text-red-70': changeRate < 0, - }, - )} - > - = 0, - 'rotate-90 !fill-red-70': changeRate < 0, - })} - /> - {getRoundedAmountString(Math.abs(changeRate), 2)}% - - )} -
- - ); -} - -function SuspenseFallback({ - title, -}: Pick, 'title'>) { - return ( - <> -
- -
- -
- - {title} - -
- - ); -} diff --git a/apps/hubble-stats/components/PoolInfoCardItem/index.ts b/apps/hubble-stats/components/PoolInfoCardItem/index.ts deleted file mode 100644 index 6fbd92ce2a..0000000000 --- a/apps/hubble-stats/components/PoolInfoCardItem/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolOverviewCardItem } from './PoolInfoCardItem'; diff --git a/apps/hubble-stats/components/PoolInfoCardItem/types.ts b/apps/hubble-stats/components/PoolInfoCardItem/types.ts deleted file mode 100644 index a71f169480..0000000000 --- a/apps/hubble-stats/components/PoolInfoCardItem/types.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { MetricType } from '../../types'; - -export interface PoolInfoCardItemProps { - title: string; - prefix?: string; - suffix?: string; - className?: string; - isLoading: LoadingType; - value: LoadingType extends true ? undefined : MetricType; -} diff --git a/apps/hubble-stats/components/PoolMetadataTable/ExplorerUrlsDropdown.tsx b/apps/hubble-stats/components/PoolMetadataTable/ExplorerUrlsDropdown.tsx deleted file mode 100644 index 29e3ec8ba3..0000000000 --- a/apps/hubble-stats/components/PoolMetadataTable/ExplorerUrlsDropdown.tsx +++ /dev/null @@ -1,107 +0,0 @@ -import { FC, useMemo } from 'react'; -import { - Dropdown, - DropdownBasicButton, - DropdownBody, - Typography, -} from '@webb-tools/webb-ui-components'; -import { shortenHex } from '@webb-tools/webb-ui-components/utils'; -import { ChainIcon, ExternalLinkLine, ChevronDown } from '@webb-tools/icons'; -import { chainsConfig } from '@webb-tools/dapp-config/chains/chain-config'; - -import { CopyIconWithTooltip } from '../CopyIconWithTooltip'; -import { AddressWithExplorerUrlsType } from './types'; -import { getShortenChainName } from '../../utils'; - -const ExplorerUrlsDropdownItem: FC<{ - typedChainId: number; - href: string | undefined; -}> = ({ href, typedChainId }) => { - const chainIconAndName = useMemo( - () => ( -
- - - {getShortenChainName(typedChainId)} - -
- ), - [typedChainId], - ); - - if (href === undefined) { - return ( -
- {chainIconAndName} -
- ); - } - - return ( - { - e.preventDefault(); - window.open(href, '_blank'); - }} - > - {chainIconAndName} - - - ); -}; - -const ExplorerUrlsDropdown: FC<{ - data: AddressWithExplorerUrlsType; -}> = ({ data }) => { - return ( -
- - {shortenHex(data.address)} - - - - {Object.keys(data.urls).length > 0 && ( - - -
- - View on Explorer - - -
-
- - - {Object.keys(data.urls).map((typedChainId) => ( - - ))} - -
- )} -
- ); -}; - -export default ExplorerUrlsDropdown; diff --git a/apps/hubble-stats/components/PoolMetadataTable/PoolMetadataTable.tsx b/apps/hubble-stats/components/PoolMetadataTable/PoolMetadataTable.tsx deleted file mode 100644 index dd18f08ce5..0000000000 --- a/apps/hubble-stats/components/PoolMetadataTable/PoolMetadataTable.tsx +++ /dev/null @@ -1,91 +0,0 @@ -'use client'; - -import { - createColumnHelper, - getCoreRowModel, - useReactTable, -} from '@tanstack/react-table'; -import { Table, Typography, fuzzyFilter } from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import { FC } from 'react'; - -import { HeaderCell } from '../tableCells'; -import ExplorerUrlsDropdown from './ExplorerUrlsDropdown'; -import WrappingFeesDropdown from './WrappingFeesDropdown'; -import { PoolAttributeType, PoolMetadataTableProps } from './types'; - -const columnHelper = createColumnHelper(); - -const columns = [ - columnHelper.accessor('name', { - header: () => , - cell: (props) => ( - - {props.getValue()} - - ), - }), - columnHelper.accessor('detail', { - header: () => , - cell: (props) => { - const details = props.getValue(); - // if detail is a string - if (typeof details === 'string') - return ( - - {details} - - ); - // if detail is Address with Block explorer - if ( - typeof details === 'object' && - 'address' in details && - 'urls' in details - ) { - return ; - } - // if details is Wrapping Fees by Chain - if (typeof details === 'object') { - return ; - } - return '-'; - }, - }), -]; - -const PoolMetadataTable: FC = ({ data }) => { - const table = useReactTable({ - data, - columns, - filterFns: { - fuzzy: fuzzyFilter, - }, - globalFilterFn: fuzzyFilter, - getCoreRowModel: getCoreRowModel(), - }); - - return ( -
-

1CBPO%uw67o**9ib-OB++hX?C>pb+C!7 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 ltiZxmcvwvpHywcQNLVX|_#@%`3T@!6j%B)!( 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 j*`MvS?F^8_ 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%0ARQOYFez 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 z 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ðful`UYse#5F#SQ6Go~mXFO_SEF$)NPZ@$ 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

- - ); -}; - -export default PoolMetadataTable; diff --git a/apps/hubble-stats/components/PoolMetadataTable/WrappingFeesDropdown.tsx b/apps/hubble-stats/components/PoolMetadataTable/WrappingFeesDropdown.tsx deleted file mode 100644 index d9cccbc1b8..0000000000 --- a/apps/hubble-stats/components/PoolMetadataTable/WrappingFeesDropdown.tsx +++ /dev/null @@ -1,66 +0,0 @@ -import { FC } from 'react'; -import { - Dropdown, - DropdownBasicButton, - DropdownBody, - Typography, -} from '@webb-tools/webb-ui-components'; -import { ChainIcon, ChevronDown } from '@webb-tools/icons'; -import { chainsConfig } from '@webb-tools/dapp-config/chains/chain-config'; - -import { WrappingFeesByChainType } from './types'; -import { - getShortenChainName, - getRoundedDownNumberWith2Decimals, -} from '../../utils'; - -const WrappingFeesDropdown: FC<{ - feesByChain: WrappingFeesByChainType; -}> = ({ feesByChain }) => { - return ( -
- - -
- - View by Network - - -
-
- - - {Object.keys(feesByChain).map((typedChainId) => ( -
- - - {getShortenChainName(+typedChainId)}:{' '} - {feesByChain[+typedChainId] !== undefined - ? `${getRoundedDownNumberWith2Decimals( - feesByChain[+typedChainId], - )}%` - : '-'} - -
- ))} -
-
-
- ); -}; - -export default WrappingFeesDropdown; diff --git a/apps/hubble-stats/components/PoolMetadataTable/index.ts b/apps/hubble-stats/components/PoolMetadataTable/index.ts deleted file mode 100644 index 7244882e16..0000000000 --- a/apps/hubble-stats/components/PoolMetadataTable/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolMetadataTable } from './PoolMetadataTable'; diff --git a/apps/hubble-stats/components/PoolMetadataTable/types.ts b/apps/hubble-stats/components/PoolMetadataTable/types.ts deleted file mode 100644 index 7a9f95e58d..0000000000 --- a/apps/hubble-stats/components/PoolMetadataTable/types.ts +++ /dev/null @@ -1,16 +0,0 @@ -export type WrappingFeesByChainType = Record; -export type ExplorerUrlsByChainType = Record; - -export type AddressWithExplorerUrlsType = { - address: string; - urls: ExplorerUrlsByChainType; -}; - -export type PoolAttributeType = { - name: string; - detail?: string | AddressWithExplorerUrlsType | WrappingFeesByChainType; -}; - -export interface PoolMetadataTableProps { - data: PoolAttributeType[]; -} diff --git a/apps/hubble-stats/components/PoolOverviewTable/PoolOverviewTable.tsx b/apps/hubble-stats/components/PoolOverviewTable/PoolOverviewTable.tsx deleted file mode 100644 index 35b69fe1b9..0000000000 --- a/apps/hubble-stats/components/PoolOverviewTable/PoolOverviewTable.tsx +++ /dev/null @@ -1,128 +0,0 @@ -'use client'; - -import { - createColumnHelper, - getCoreRowModel, - useReactTable, -} from '@tanstack/react-table'; -import { chainsConfig } from '@webb-tools/dapp-config/chains'; -import { ShieldedAssetIcon } from '@webb-tools/icons'; -import { - ChainChip, - Table, - Typography, - fuzzyFilter, -} from '@webb-tools/webb-ui-components'; -import { FC, useMemo } from 'react'; - -import { getShortenChainName, getSortedTypedChainIds } from '../../utils'; -import { HeaderCell, NumberCell } from '../tableCells'; -import { PoolOverviewDataType, PoolOverviewTableProps } from './types'; - -const columnHelper = createColumnHelper(); - -const staticColumns = [ - columnHelper.accessor('symbol', { - header: () => null, - cell: (props) => ( -
- - - {props.row.original.symbol} - -
- ), - }), - columnHelper.accessor('aggregate', { - header: () => ( - - ), - cell: (props) => ( - - ), - }), -]; - -const PoolOverviewTable: FC = ({ - typedChainIds = [], - data = [], - prefixUnit = '', -}) => { - const sortedTypedChainIds = useMemo( - () => getSortedTypedChainIds(typedChainIds), - [typedChainIds], - ); - - const columns = useMemo( - () => [ - ...staticColumns, - ...sortedTypedChainIds.map((typedChainId) => - columnHelper.accessor('chainsData', { - id: typedChainId.toString(), - header: () => ( -
- -
- ), - cell: (props) => - typeof props.row.original.chainsData[typedChainId] === 'number' ? ( - - ) : ( - - * - - ), - }), - ), - ], - [sortedTypedChainIds, prefixUnit], - ); - - const table = useReactTable({ - data, - columns, - filterFns: { - fuzzy: fuzzyFilter, - }, - globalFilterFn: fuzzyFilter, - getCoreRowModel: getCoreRowModel(), - }); - - if (typedChainIds.length === 0) { - return ( - No network pool data available - ); - } - - return ( -
-
- - ); -}; - -export default PoolOverviewTable; diff --git a/apps/hubble-stats/components/PoolOverviewTable/index.ts b/apps/hubble-stats/components/PoolOverviewTable/index.ts deleted file mode 100644 index 5cd0ddd24a..0000000000 --- a/apps/hubble-stats/components/PoolOverviewTable/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolOverviewTable } from './PoolOverviewTable'; diff --git a/apps/hubble-stats/components/PoolOverviewTable/types.ts b/apps/hubble-stats/components/PoolOverviewTable/types.ts deleted file mode 100644 index 2c9f1715c0..0000000000 --- a/apps/hubble-stats/components/PoolOverviewTable/types.ts +++ /dev/null @@ -1,33 +0,0 @@ -export type PoolOverviewDataType = { - /** - * The pool symbol - */ - symbol: string; - - /** - * The aggregate of all the values from different chains - */ - aggregate?: number; - - /** - * The value on each chain indexed by typedChainId - */ - chainsData: Record; -}; - -export interface PoolOverviewTableProps { - /** - * The list of all available chains - */ - typedChainIds?: number[]; - - /** - * The data for whole table - */ - data?: Array; - - /** - * The prefix unit of all the values on the table - */ - prefixUnit?: string; -} diff --git a/apps/hubble-stats/components/PoolTransactionsTable/PoolTransactionsTable.tsx b/apps/hubble-stats/components/PoolTransactionsTable/PoolTransactionsTable.tsx deleted file mode 100644 index ef79b0a9f2..0000000000 --- a/apps/hubble-stats/components/PoolTransactionsTable/PoolTransactionsTable.tsx +++ /dev/null @@ -1,122 +0,0 @@ -'use client'; - -import { - Row, - createColumnHelper, - getCoreRowModel, - getFilteredRowModel, - getPaginationRowModel, - getSortedRowModel, - useReactTable, -} from '@tanstack/react-table'; -import { getExplorerURI } from '@webb-tools/api-provider-environment/transaction/utils'; -import { chainsConfig } from '@webb-tools/dapp-config/chains'; -import { ChainChip, Table, fuzzyFilter } from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; - -import { - ActivityCell, - DestinationCell, - HeaderCell, - NumberCell, - TimeCell, -} from '../tableCells'; -import { PoolTransactionType, PoolTransactionsTableProps } from './types'; - -const columnHelper = createColumnHelper(); - -const columns = [ - columnHelper.accessor('activity', { - header: () => , - cell: (props) => , - }), - columnHelper.accessor('tokenAmount', { - header: () => , - cell: (props) => ( - - ), - }), - columnHelper.accessor('sourceTypedChainId', { - header: () => , - cell: (props) => ( - - ), - }), - columnHelper.accessor('destinationTypedChainId', { - header: () => , - cell: (props) => , - }), - columnHelper.accessor('time', { - header: () => , - cell: (props) => ( - - ), - }), -]; - -const PoolTransactionsTable: FC = ({ - data, - pageSize, -}) => { - const table = useReactTable({ - data, - columns, - initialState: { - pagination: { - pageSize, - }, - }, - filterFns: { - fuzzy: fuzzyFilter, - }, - globalFilterFn: fuzzyFilter, - getCoreRowModel: getCoreRowModel(), - getFilteredRowModel: getFilteredRowModel(), - getSortedRowModel: getSortedRowModel(), - getPaginationRowModel: getPaginationRowModel(), - }); - - const onRowClick = (row: Row) => { - const sourceTypedChainId = row.original.sourceTypedChainId; - const txHash = row.original.txHash; - - const blockExplorerUrl = - chainsConfig[sourceTypedChainId]?.blockExplorers?.default?.url; - - if (blockExplorerUrl !== undefined) { - const txExplorerURI = getExplorerURI( - blockExplorerUrl, - txHash, - 'tx', - 'web3', - ); - window.open(txExplorerURI, '_blank'); - } - }; - - return ( -
-
- - ); -}; - -export default PoolTransactionsTable; diff --git a/apps/hubble-stats/components/PoolTransactionsTable/index.ts b/apps/hubble-stats/components/PoolTransactionsTable/index.ts deleted file mode 100644 index cd9c6cd11e..0000000000 --- a/apps/hubble-stats/components/PoolTransactionsTable/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolTransactionsTable } from './PoolTransactionsTable'; diff --git a/apps/hubble-stats/components/PoolTransactionsTable/types.ts b/apps/hubble-stats/components/PoolTransactionsTable/types.ts deleted file mode 100644 index 95078036f7..0000000000 --- a/apps/hubble-stats/components/PoolTransactionsTable/types.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { ActivityType } from '../tableCells/types'; - -export type PoolTransactionType = { - txHash: string; - activity: ActivityType; - tokenAmount: number; - tokenSymbol: string; - sourceTypedChainId: number; - destinationTypedChainId?: number; - time?: string; -}; - -export interface PoolTransactionsTableProps { - data: PoolTransactionType[]; - pageSize: number; -} diff --git a/apps/hubble-stats/components/PoolTypeChip/PoolTypeChip.tsx b/apps/hubble-stats/components/PoolTypeChip/PoolTypeChip.tsx deleted file mode 100644 index 8dcdf6da87..0000000000 --- a/apps/hubble-stats/components/PoolTypeChip/PoolTypeChip.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { FC } from 'react'; -import { Chip, ChipProps } from '@webb-tools/webb-ui-components'; - -import { PoolType, PoolTypeChipProps } from './types'; - -const typeColorMap: Record = { - single: 'purple', - multi: 'blue', -}; - -const PoolTypeChip: FC = ({ type = 'single', name }) => { - return {name ?? type}; -}; - -export default PoolTypeChip; diff --git a/apps/hubble-stats/components/PoolTypeChip/index.ts b/apps/hubble-stats/components/PoolTypeChip/index.ts deleted file mode 100644 index 7204acfd04..0000000000 --- a/apps/hubble-stats/components/PoolTypeChip/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolTypeChip } from './PoolTypeChip'; diff --git a/apps/hubble-stats/components/PoolTypeChip/types.ts b/apps/hubble-stats/components/PoolTypeChip/types.ts deleted file mode 100644 index ded628d4bc..0000000000 --- a/apps/hubble-stats/components/PoolTypeChip/types.ts +++ /dev/null @@ -1,6 +0,0 @@ -export type PoolType = 'single' | 'multi'; - -export interface PoolTypeChipProps { - type?: PoolType; - name?: string; -} diff --git a/apps/hubble-stats/components/PoolWrappingTable/PoolWrappingTable.tsx b/apps/hubble-stats/components/PoolWrappingTable/PoolWrappingTable.tsx deleted file mode 100644 index 77e380ea82..0000000000 --- a/apps/hubble-stats/components/PoolWrappingTable/PoolWrappingTable.tsx +++ /dev/null @@ -1,158 +0,0 @@ -'use client'; - -import { - createColumnHelper, - getCoreRowModel, - getExpandedRowModel, - useReactTable, -} from '@tanstack/react-table'; -import { chainsConfig } from '@webb-tools/dapp-config/chains'; -import { CornerDownRightLine, TokenIcon } from '@webb-tools/icons'; -import { - ChainChip, - Table, - Typography, - fuzzyFilter, -} from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import { FC, useMemo } from 'react'; - -import { getShortenChainName, getSortedTypedChainIds } from '../../utils'; -import { HeaderCell, NumberCell } from '../tableCells'; -import { PoolWrappingDataType, PoolWrappingTableProps } from './types'; - -const columnHelper = createColumnHelper(); - -const staticColumns = [ - columnHelper.accessor('symbol', { - header: () => null, - cell: (props) => { - const isSubToken = !props.row.getCanExpand(); - return ( -
- {isSubToken && } - {/* Token Icon */} - - - {/* Symbol */} - - {props.row.original.symbol} - - - {/* Composition Percentage */} - {isSubToken && props.row.original.compositionPercentage && ( - - {props.row.original.compositionPercentage}% - - )} -
- ); - }, - }), - columnHelper.accessor('aggregate', { - header: () => ( - - ), - cell: (props) => { - const currency = props.row.original.symbol; - return ; - }, - }), -]; - -const PoolWrappingTable: FC = ({ - typedChainIds = [], - data = [], - prefixUnit = '', -}) => { - const sortedTypedChainIds = useMemo( - () => getSortedTypedChainIds(typedChainIds), - [typedChainIds], - ); - - const columns = useMemo( - () => [ - ...staticColumns, - ...sortedTypedChainIds.map((typedChainId) => - columnHelper.accessor('chainsData', { - id: typedChainId.toString(), - header: () => ( -
- -
- ), - cell: (props) => { - const currency = props.row.original.symbol; - - return typeof props.row.original.chainsData[typedChainId] === - 'number' ? ( - - ) : ( - - * - - ); - }, - }), - ), - ], - [sortedTypedChainIds, prefixUnit], - ); - - const table = useReactTable({ - data, - columns, - state: { - expanded: true, - }, - filterFns: { - fuzzy: fuzzyFilter, - }, - getSubRows: (row) => row.tokens, - globalFilterFn: fuzzyFilter, - getCoreRowModel: getCoreRowModel(), - getExpandedRowModel: getExpandedRowModel(), - }); - - if (typedChainIds.length === 0) { - return ( - No network token data available - ); - } - - return ( -
-
- - ); -}; - -export default PoolWrappingTable; diff --git a/apps/hubble-stats/components/PoolWrappingTable/index.ts b/apps/hubble-stats/components/PoolWrappingTable/index.ts deleted file mode 100644 index 947f279e6e..0000000000 --- a/apps/hubble-stats/components/PoolWrappingTable/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolWrappingTable } from './PoolWrappingTable'; diff --git a/apps/hubble-stats/components/PoolWrappingTable/types.ts b/apps/hubble-stats/components/PoolWrappingTable/types.ts deleted file mode 100644 index 45cabb0d86..0000000000 --- a/apps/hubble-stats/components/PoolWrappingTable/types.ts +++ /dev/null @@ -1,43 +0,0 @@ -export type PoolWrappingDataType = { - /** - * The token symbol and render on the TokenIcon - */ - symbol: string; - - /** - * The percentage of the token in the composition (0 - 100) - */ - compositionPercentage?: number | undefined; - - /** - * The aggregate value of all the tokens combine - */ - aggregate?: number | undefined; - - /** - * The detailed data of the tokens on each chain - */ - chainsData: Record; - - /** - * The list all the tokens and their data - */ - tokens?: Array; -}; - -export interface PoolWrappingTableProps { - /** - * The list of all available chains - */ - typedChainIds?: number[]; - - /** - * The data for whole table (list of tokens and subTokens) - */ - data?: Array; - - /** - * The prefix unit of all the values on the table - */ - prefixUnit?: string; -} diff --git a/apps/hubble-stats/components/ShieldedAssetsTable/ShieldedAssetsTable.tsx b/apps/hubble-stats/components/ShieldedAssetsTable/ShieldedAssetsTable.tsx deleted file mode 100644 index f8e89ac3ec..0000000000 --- a/apps/hubble-stats/components/ShieldedAssetsTable/ShieldedAssetsTable.tsx +++ /dev/null @@ -1,143 +0,0 @@ -'use client'; - -import { - Row, - createColumnHelper, - getCoreRowModel, - getFilteredRowModel, - getPaginationRowModel, - getSortedRowModel, - useReactTable, -} from '@tanstack/react-table'; -import { - IconsGroup, - Table, - Typography, - fuzzyFilter, -} from '@webb-tools/webb-ui-components'; -import { useRouter } from 'next/navigation'; -import { useCallback, type FC } from 'react'; - -import { PoolTypeChip } from '..'; -import { getChainNamesByTypedId } from '../../utils'; -import { HeaderCell, NumberCell, ShieldedCell } from '../tableCells'; -import { ShieldedAssetType, ShieldedAssetsTableProps } from './types'; - -const columnHelper = createColumnHelper(); - -const columns = [ - columnHelper.accessor('address', { - header: () => ( - - ), - cell: (props) => ( - - ), - }), - columnHelper.accessor('poolType', { - header: () => , - cell: (props) => ( -
- -
- ), - }), - columnHelper.accessor('composition', { - header: () => , - cell: (props) => - props.getValue().length > 0 ? ( - - ) : ( - - No composition - - ), - }), - columnHelper.accessor('deposits24h', { - header: () => , - cell: (props) => ( - - ), - }), - columnHelper.accessor('withdrawals24h', { - header: () => , - cell: (props) => ( - - ), - }), - columnHelper.accessor('typedChainIds', { - header: () => , - cell: (props) => ( - - ), - }), -]; - -const ShieldedAssetsTable: FC = ({ - data = [], - pageSize, -}) => { - const router = useRouter(); - - const table = useReactTable({ - data, - columns, - initialState: { - pagination: { - pageSize, - }, - }, - filterFns: { - fuzzy: fuzzyFilter, - }, - globalFilterFn: fuzzyFilter, - getCoreRowModel: getCoreRowModel(), - getFilteredRowModel: getFilteredRowModel(), - getSortedRowModel: getSortedRowModel(), - getPaginationRowModel: getPaginationRowModel(), - }); - - const onRowClick = useCallback( - (row: Row) => { - router.push(`/pool/${row.original.poolAddress}`); - }, - [router], - ); - - return ( -
-
- - ); -}; - -export default ShieldedAssetsTable; diff --git a/apps/hubble-stats/components/ShieldedAssetsTable/index.ts b/apps/hubble-stats/components/ShieldedAssetsTable/index.ts deleted file mode 100644 index 97008b7ebd..0000000000 --- a/apps/hubble-stats/components/ShieldedAssetsTable/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as ShieldedAssetsTable } from './ShieldedAssetsTable'; diff --git a/apps/hubble-stats/components/ShieldedAssetsTable/types.ts b/apps/hubble-stats/components/ShieldedAssetsTable/types.ts deleted file mode 100644 index 251fda2c99..0000000000 --- a/apps/hubble-stats/components/ShieldedAssetsTable/types.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { PresetTypedChainId } from '@webb-tools/dapp-types'; - -import { PoolType } from '../PoolTypeChip/types'; -export interface ShieldedAssetType { - address: string; - poolAddress: string; - symbol: string; - url: string | undefined; - poolType: PoolType; - composition: string[]; - deposits24h: number | undefined; - withdrawals24h: number | undefined; - typedChainIds: PresetTypedChainId[]; -} - -export interface ShieldedAssetsTableProps { - data?: ShieldedAssetType[]; - pageSize: number; -} diff --git a/apps/hubble-stats/components/ShieldedPoolsTable/ShieldedPoolsTable.tsx b/apps/hubble-stats/components/ShieldedPoolsTable/ShieldedPoolsTable.tsx deleted file mode 100644 index 84d06c5d40..0000000000 --- a/apps/hubble-stats/components/ShieldedPoolsTable/ShieldedPoolsTable.tsx +++ /dev/null @@ -1,123 +0,0 @@ -'use client'; - -import { - Row, - createColumnHelper, - getCoreRowModel, - getFilteredRowModel, - getPaginationRowModel, - getSortedRowModel, - useReactTable, -} from '@tanstack/react-table'; -import { IconsGroup, Table, fuzzyFilter } from '@webb-tools/webb-ui-components'; -import { useRouter } from 'next/navigation'; -import { FC, useCallback } from 'react'; - -import { PoolTypeChip } from '..'; -import { getChainNamesByTypedId } from '../../utils'; -import { HeaderCell, NumberCell, ShieldedCell } from '../tableCells'; -import { ShieldedPoolType, ShieldedPoolsTableProps } from './types'; - -const columnHelper = createColumnHelper(); - -const columns = [ - columnHelper.accessor('address', { - header: () => ( - - ), - cell: (props) => ( - - ), - }), - columnHelper.accessor('poolType', { - header: () => , - cell: (props) => ( -
- -
- ), - }), - columnHelper.accessor('token', { - header: () => , - cell: (props) => , - }), - columnHelper.accessor('deposits24h', { - header: () => , - cell: (props) => ( - - ), - }), - columnHelper.accessor('tvl', { - header: () => , - cell: (props) => ( - - ), - }), - columnHelper.accessor('typedChainIds', { - header: () => , - cell: (props) => ( - - ), - }), -]; - -const ShieldedPoolsTable: FC = ({ - data = [], - pageSize, -}) => { - const router = useRouter(); - - const table = useReactTable({ - data, - columns, - initialState: { - pagination: { - pageSize, - }, - }, - filterFns: { - fuzzy: fuzzyFilter, - }, - globalFilterFn: fuzzyFilter, - getCoreRowModel: getCoreRowModel(), - getFilteredRowModel: getFilteredRowModel(), - getSortedRowModel: getSortedRowModel(), - getPaginationRowModel: getPaginationRowModel(), - }); - - const onRowClick = useCallback( - (row: Row) => { - router.push(`/pool/${row.original.address}`); - }, - [router], - ); - - return ( -
-
- - ); -}; - -export default ShieldedPoolsTable; diff --git a/apps/hubble-stats/components/ShieldedPoolsTable/index.ts b/apps/hubble-stats/components/ShieldedPoolsTable/index.ts deleted file mode 100644 index d371c31951..0000000000 --- a/apps/hubble-stats/components/ShieldedPoolsTable/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as ShieldedPoolsTable } from './ShieldedPoolsTable'; diff --git a/apps/hubble-stats/components/ShieldedPoolsTable/types.ts b/apps/hubble-stats/components/ShieldedPoolsTable/types.ts deleted file mode 100644 index f26302e30b..0000000000 --- a/apps/hubble-stats/components/ShieldedPoolsTable/types.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { PresetTypedChainId } from '@webb-tools/dapp-types'; - -import { PoolType } from '../PoolTypeChip/types'; - -export interface ShieldedPoolType { - symbol: string; - address: string; - poolType: PoolType; - token: number; - deposits24h: number | undefined; - tvl: number | undefined; - currency: string; - typedChainIds: PresetTypedChainId[]; -} - -export interface ShieldedPoolsTableProps { - data?: ShieldedPoolType[]; - pageSize: number; -} diff --git a/apps/hubble-stats/components/TableFilterButton/TableFilterButton.tsx b/apps/hubble-stats/components/TableFilterButton/TableFilterButton.tsx deleted file mode 100644 index e6a9a5e28f..0000000000 --- a/apps/hubble-stats/components/TableFilterButton/TableFilterButton.tsx +++ /dev/null @@ -1,138 +0,0 @@ -import { FC } from 'react'; -import { - Accordion, - AccordionButton, - AccordionContent, - AccordionItem, - Button, - ChainChip, - CheckBoxMenuGroup, - Dropdown, - DropdownBasicButton, - DropdownBody, -} from '@webb-tools/webb-ui-components'; -import { TokenIcon, ChevronDown } from '@webb-tools/icons'; -import { chainsConfig } from '@webb-tools/dapp-config/chains'; - -import { TableFilterButtonProps } from './types'; - -const TableFilterButton: FC = ({ - tokens, - selectedTokens, - setSelectedTokens, - sourceChains, - selectedSourceChains, - setSelectedSourceChains, - destinationChains, - selectedDestinationChains, - setSelectedDestinationChains, - showAllFn, -}) => { - return ( - - - - - - - {/* Token */} - - - Token - - { - setSelectedTokens(tokens as [number, string][]); - }} - iconGetter={([_, name]) => } - labelGetter={([_, name]) => name} - keyGetter={([tokenId]) => tokenId.toString()} - className="px-0" - labelClassName="uppercase" - showAllLabel={false} - /> - - - - {/* Source Chain */} - - Source Chain - - { - setSelectedSourceChains(chains as number[]); - }} - labelGetter={(typedChainId) => ( - - )} - keyGetter={(typedChainId) => typedChainId.toString()} - className="px-0" - labelClassName="!pl-0" - showAllLabel={false} - /> - - - - {/* Destination Chain */} - - - Destination Chain - - - { - setSelectedDestinationChains(chains as number[]); - }} - labelGetter={(typedChainId) => ( - - )} - keyGetter={(typedChainId) => typedChainId.toString()} - className="px-0" - labelClassName="!pl-0" - showAllLabel={false} - /> - - - - - - - - ); -}; - -export default TableFilterButton; diff --git a/apps/hubble-stats/components/TableFilterButton/index.ts b/apps/hubble-stats/components/TableFilterButton/index.ts deleted file mode 100644 index afe5e19072..0000000000 --- a/apps/hubble-stats/components/TableFilterButton/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { default as TableFilterButton } from './TableFilterButton'; -// Compare diff --git a/apps/hubble-stats/components/TableFilterButton/types.ts b/apps/hubble-stats/components/TableFilterButton/types.ts deleted file mode 100644 index 0195d566e2..0000000000 --- a/apps/hubble-stats/components/TableFilterButton/types.ts +++ /dev/null @@ -1,12 +0,0 @@ -export interface TableFilterButtonProps { - tokens: [number, string][]; - selectedTokens: [number, string][]; - setSelectedTokens: (tokens: [number, string][]) => void; - sourceChains: number[]; - selectedSourceChains: number[]; - setSelectedSourceChains: (chains: number[]) => void; - destinationChains: number[]; - selectedDestinationChains: number[]; - setSelectedDestinationChains: (chains: number[]) => void; - showAllFn: () => void; -} diff --git a/apps/hubble-stats/components/charts/AreaChart.tsx b/apps/hubble-stats/components/charts/AreaChart.tsx deleted file mode 100644 index 5e153860d8..0000000000 --- a/apps/hubble-stats/components/charts/AreaChart.tsx +++ /dev/null @@ -1,93 +0,0 @@ -'use client'; - -import { FC, useMemo } from 'react'; -import { - ResponsiveContainer, - AreaChart as AreaChartCmp, - Area, - Tooltip, - XAxis, -} from 'recharts'; -import { useNextDarkMode as useDarkMode } from '@webb-tools/webb-ui-components'; - -import ChartTooltipContent from './ChartToolTipContent'; -import { AreaChartProps } from './types'; - -const AreaChart: FC = ({ - data, - setDate, - setValue, - width = '100%', - height = 180, - showTooltip = true, - tooltipLabel = '', - tooltipValuePrefix = '', - tooltipValueSuffix = '', -}) => { - const [isDarkMode] = useDarkMode(); - - const fillColor = useMemo( - () => (isDarkMode ? '#C6BBFA' : '#624FBE'), - [isDarkMode], - ); - - return ( - - { - setDate && setDate(null); - setValue && setValue(null); - }} - > - - new Date(date).toLocaleDateString('en-US', { - day: 'numeric', - }) - } - strokeOpacity={0} - tick={{ - fontSize: '16px', - fill: '#9CA0B0', - fontWeight: 400, - }} - tickMargin={16} - interval="preserveStartEnd" - /> - { - return ( - { - setValue && setValue(payload?.[0]?.payload['value']); - setDate && setDate(payload?.[0]?.payload['date']); - }} - hide={!showTooltip || !(active && payload && payload.length)} - /> - ); - }} - /> - - - - ); -}; - -export default AreaChart; diff --git a/apps/hubble-stats/components/charts/BarChart.tsx b/apps/hubble-stats/components/charts/BarChart.tsx deleted file mode 100644 index 4a559cdf24..0000000000 --- a/apps/hubble-stats/components/charts/BarChart.tsx +++ /dev/null @@ -1,93 +0,0 @@ -'use client'; - -import { FC } from 'react'; -import { - ResponsiveContainer, - BarChart as BarChartCmp, - XAxis, - Tooltip, - Bar, -} from 'recharts'; -import { useNextDarkMode as useDarkMode } from '@webb-tools/webb-ui-components'; - -import ChartTooltipContent from './ChartToolTipContent'; -import { BarChartProps } from './types'; - -const BarChart: FC = ({ - data, - setValue, - setDate, - width = '100%', - height = 180, - fillColor: color = 'blue', - showTooltip = true, - tooltipLabel = '', - tooltipValuePrefix = '', - tooltipValueSuffix = '', -}) => { - const [isDarkMode] = useDarkMode(); - - let fillColor: string; - switch (color) { - case 'blue': - fillColor = isDarkMode ? '#81B3F6' : '#3D7BCE'; - break; - case 'purple': - fillColor = '#B5A9F2'; - } - - return ( - - { - setValue && setValue(null); - setDate && setDate(null); - }} - > - - new Date(date).toLocaleDateString('en-US', { - day: 'numeric', - }) - } - strokeOpacity={0} - tick={{ - fontSize: '16px', - fill: '#9CA0B0', - fontWeight: 400, - }} - tickMargin={16} - interval="preserveStartEnd" - /> - { - return ( - { - setValue && setValue(payload?.[0]?.payload['value']); - setDate && setDate(payload?.[0]?.payload['date']); - }} - hide={!showTooltip || !(active && payload && payload.length)} - /> - ); - }} - /> - - - - ); -}; - -export default BarChart; diff --git a/apps/hubble-stats/components/charts/ChartToolTipContent.tsx b/apps/hubble-stats/components/charts/ChartToolTipContent.tsx deleted file mode 100644 index fec684ad48..0000000000 --- a/apps/hubble-stats/components/charts/ChartToolTipContent.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import { FC, useEffect } from 'react'; -import { Typography } from '@webb-tools/webb-ui-components'; - -import { ChartTooltipContentProps } from './types'; -import { getRoundedDownNumberWith2Decimals } from '../../utils'; - -const ChartTooltipContent: FC = ({ - date, - info, - onContentDisplayedFnc, - hide, -}) => { - useEffect(() => { - onContentDisplayedFnc(); - }, [onContentDisplayedFnc]); - - if (hide || date === undefined) { - return null; - } - - return ( -
- - {new Date(date).toLocaleDateString('en-US', { - month: 'short', - day: 'numeric', - year: 'numeric', - })} - - {info.map((item, idx) => ( -
-
- - {item.label}: {item.valuePrefix ?? ''} - {getRoundedDownNumberWith2Decimals(item.value)} - {item.valueSuffix ?? ''} - -
- ))} -
- ); -}; - -export default ChartTooltipContent; diff --git a/apps/hubble-stats/components/charts/VolumeChart.tsx b/apps/hubble-stats/components/charts/VolumeChart.tsx deleted file mode 100644 index 57f2340c00..0000000000 --- a/apps/hubble-stats/components/charts/VolumeChart.tsx +++ /dev/null @@ -1,85 +0,0 @@ -'use client'; - -import { FC } from 'react'; -import { ResponsiveContainer, BarChart, XAxis, Tooltip, Bar } from 'recharts'; -import { useNextDarkMode as useDarkMode } from '@webb-tools/webb-ui-components'; - -import ChartTooltipContent from './ChartToolTipContent'; -import { VolumeChartProps } from './types'; - -const VolumeChart: FC = ({ - data, - setValue, - setDate, - width = '100%', - height = 180, - tooltipValuePrefix = '', - tooltipValueSuffix = '', -}) => { - const [isDarkMode] = useDarkMode(); - - return ( - - { - setValue && setValue(null); - setDate && setDate(null); - }} - barGap={0} - > - - new Date(date).toLocaleDateString('en-US', { - day: 'numeric', - }) - } - strokeOpacity={0} - tick={{ - fontSize: '16px', - fill: '#9CA0B0', - fontWeight: 400, - }} - tickMargin={16} - interval="preserveStartEnd" - /> - { - return ( - { - setValue && setValue(payload?.[0]?.payload['deposit']); - setDate && setDate(payload?.[0]?.payload['date']); - }} - hide={!(active && payload && payload.length)} - /> - ); - }} - /> - - - - - ); -}; - -export default VolumeChart; diff --git a/apps/hubble-stats/components/charts/index.ts b/apps/hubble-stats/components/charts/index.ts deleted file mode 100644 index 6878003257..0000000000 --- a/apps/hubble-stats/components/charts/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { default as AreaChart } from './AreaChart'; -export { default as BarChart } from './BarChart'; -export { default as VolumeChart } from './VolumeChart'; diff --git a/apps/hubble-stats/components/charts/types.ts b/apps/hubble-stats/components/charts/types.ts deleted file mode 100644 index b913f93e2d..0000000000 --- a/apps/hubble-stats/components/charts/types.ts +++ /dev/null @@ -1,45 +0,0 @@ -interface BasicChartProps { - data: Array<{ - date: Date; - value: number; - }>; - setValue: (value: number | null) => void; - setDate: (date: Date | null) => void; - width?: number | string; - height?: number | string; - showTooltip?: boolean; - tooltipLabel?: string; - tooltipValuePrefix?: string; - tooltipValueSuffix?: string; -} - -export interface AreaChartProps extends BasicChartProps {} - -export interface BarChartProps extends BasicChartProps { - fillColor?: 'blue' | 'purple'; -} - -export interface VolumeChartProps - extends Omit { - data: Array<{ - date: Date; - deposit: number; - withdrawal: number; - }>; -} - -export interface ChartTooltipContentProps { - date?: Date; - info: Array<{ - color: string; - label: string; - value?: number; - valuePrefix?: string; - valueSuffix?: string; - }>; - /** - * A function to call when the content of Tooltip is being displayed - */ - onContentDisplayedFnc: () => void; - hide: boolean; -} diff --git a/apps/hubble-stats/components/index.ts b/apps/hubble-stats/components/index.ts deleted file mode 100644 index 50360e5734..0000000000 --- a/apps/hubble-stats/components/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -export * from './Breadcrumbs'; -export * from './CopyIconWithTooltip'; -export * from './HeaderChipItem'; -export * from './KeyMetricItem'; -export * from './PoolMetadataTable'; -export * from './PoolInfoCardItem'; -export * from './PoolOverviewTable'; -export * from './PoolTransactionsTable'; -export * from './PoolTypeChip'; -export * from './PoolWrappingTable'; -export * from './ShieldedAssetsTable'; -export * from './ShieldedPoolsTable'; -export * from './TableFilterButton'; - -export * from './charts'; -export * from './sideBar'; -export * from './skeleton'; diff --git a/apps/hubble-stats/components/sideBar/SideBar.tsx b/apps/hubble-stats/components/sideBar/SideBar.tsx deleted file mode 100644 index d6dbfe78f6..0000000000 --- a/apps/hubble-stats/components/sideBar/SideBar.tsx +++ /dev/null @@ -1,23 +0,0 @@ -'use client'; - -import { type FC } from 'react'; -import { SideBar as SideBarCmp } from '@webb-tools/webb-ui-components'; -import { setSidebarCookieOnToggle } from '@webb-tools/webb-ui-components/next-utils'; -import sideBarProps from './sideBarProps'; - -interface SideBarProps { - isExpandedAtDefault?: boolean; -} - -const SideBar: FC = ({ isExpandedAtDefault }) => { - return ( - setSidebarCookieOnToggle()} - /> - ); -}; - -export default SideBar; diff --git a/apps/hubble-stats/components/sideBar/SideBarMenu.tsx b/apps/hubble-stats/components/sideBar/SideBarMenu.tsx deleted file mode 100644 index eacd69e530..0000000000 --- a/apps/hubble-stats/components/sideBar/SideBarMenu.tsx +++ /dev/null @@ -1,12 +0,0 @@ -'use client'; - -import { FC } from 'react'; -import { SideBarMenu as SideBarMenuCmp } from '@webb-tools/webb-ui-components'; - -import sideBarProps from './sideBarProps'; - -const SideBarMenu: FC = () => { - return ; -}; - -export default SideBarMenu; diff --git a/apps/hubble-stats/components/sideBar/index.tsx b/apps/hubble-stats/components/sideBar/index.tsx deleted file mode 100644 index 07a45eed61..0000000000 --- a/apps/hubble-stats/components/sideBar/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -export { default as SideBar } from './SideBar'; -export { default as SideBarMenu } from './SideBarMenu'; diff --git a/apps/hubble-stats/components/sideBar/sideBarProps.tsx b/apps/hubble-stats/components/sideBar/sideBarProps.tsx deleted file mode 100644 index d4ffc7cf8a..0000000000 --- a/apps/hubble-stats/components/sideBar/sideBarProps.tsx +++ /dev/null @@ -1,78 +0,0 @@ -import { ContrastTwoLine, DocumentationIcon, Tangle } from '@webb-tools/icons'; -import { - Logo, - SideBarFooterType, - SideBarItemProps, - SidebarProps, -} from '@webb-tools/webb-ui-components'; -import { - BRIDGE_URL, - DKG_STATS_URL, - TANGLE_MKT_URL, - WEBB_DOCS_URL, - WEBB_FAUCET_URL, - WEBB_MKT_URL, -} from '@webb-tools/webb-ui-components/constants'; - -const sideBarItems: SideBarItemProps[] = [ - { - name: 'Hubble', - isInternal: true, - isNext: true, - href: '', - Icon: ContrastTwoLine, - subItems: [ - { - name: 'Bridge', - isInternal: false, - href: BRIDGE_URL, - }, - { - name: 'Explorer', - isInternal: true, - isNext: true, - href: '/', - }, - { - name: 'Faucet', - isInternal: false, - href: WEBB_FAUCET_URL, - }, - ], - }, - { - name: 'Tangle Network', - isInternal: false, - href: '', - Icon: Tangle, - subItems: [ - { - name: 'DKG Explorer', - isInternal: false, - href: DKG_STATS_URL, - }, - { - name: 'Homepage', - isInternal: false, - href: TANGLE_MKT_URL, - }, - ], - }, -]; - -const sideBarFooter: SideBarFooterType = { - name: 'Webb Docs', - isInternal: false, - href: WEBB_DOCS_URL, - Icon: DocumentationIcon, - useNextThemesForThemeToggle: true, -}; - -const sideBarProps: SidebarProps = { - Logo, - items: sideBarItems, - footer: sideBarFooter, - logoLink: WEBB_MKT_URL, -}; - -export default sideBarProps; diff --git a/apps/hubble-stats/components/skeleton/ContainerSkeleton.tsx b/apps/hubble-stats/components/skeleton/ContainerSkeleton.tsx deleted file mode 100644 index d559a98678..0000000000 --- a/apps/hubble-stats/components/skeleton/ContainerSkeleton.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { type FC } from 'react'; -import { twMerge } from 'tailwind-merge'; -import { SkeletonLoader } from '@webb-tools/webb-ui-components'; - -import { ContainerSkeletonProps } from './types'; - -const ContainerSkeleton: FC = ({ - numOfRows = 2, - className, -}) => { - return ( -
- {[...Array(numOfRows)].map((_, i) => ( - - ))} -
- ); -}; - -export default ContainerSkeleton; - -const SkeletonRow: FC = () => { - return ( -
- - -
- ); -}; diff --git a/apps/hubble-stats/components/skeleton/PoolChartSkeleton.tsx b/apps/hubble-stats/components/skeleton/PoolChartSkeleton.tsx deleted file mode 100644 index acfa2f9d7c..0000000000 --- a/apps/hubble-stats/components/skeleton/PoolChartSkeleton.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { FC } from 'react'; - -import ContainerSkeleton from './ContainerSkeleton'; - -const PoolChartSkeleton: FC = () => { - return ; -}; - -export default PoolChartSkeleton; diff --git a/apps/hubble-stats/components/skeleton/index.ts b/apps/hubble-stats/components/skeleton/index.ts deleted file mode 100644 index 19457ccb89..0000000000 --- a/apps/hubble-stats/components/skeleton/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { default as ContainerSkeleton } from './ContainerSkeleton'; -export { default as PoolChartSkeleton } from './PoolChartSkeleton'; diff --git a/apps/hubble-stats/components/skeleton/types.ts b/apps/hubble-stats/components/skeleton/types.ts deleted file mode 100644 index 09f6c5f1ad..0000000000 --- a/apps/hubble-stats/components/skeleton/types.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface ContainerSkeletonProps { - numOfRows?: number; - className?: string; -} diff --git a/apps/hubble-stats/components/tableCells/ActivityCell.tsx b/apps/hubble-stats/components/tableCells/ActivityCell.tsx deleted file mode 100644 index b72278b71f..0000000000 --- a/apps/hubble-stats/components/tableCells/ActivityCell.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { FC } from 'react'; -import { Typography } from '@webb-tools/webb-ui-components'; - -import { ActivityCellProps } from './types'; - -const ActivityCell: FC = ({ activity }) => { - return ( - - {activity} - - ); -}; - -export default ActivityCell; diff --git a/apps/hubble-stats/components/tableCells/DestinationCell.tsx b/apps/hubble-stats/components/tableCells/DestinationCell.tsx deleted file mode 100644 index 24e49ad198..0000000000 --- a/apps/hubble-stats/components/tableCells/DestinationCell.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { FC } from 'react'; -import { twMerge } from 'tailwind-merge'; -import { ShieldedAssetIcon } from '@webb-tools/icons'; - -import { DestinationCellProps } from './types'; - -const DestinationCell: FC = ({ className }) => { - return ( - - - shielded - - ); -}; - -export default DestinationCell; diff --git a/apps/hubble-stats/components/tableCells/HeaderCell.tsx b/apps/hubble-stats/components/tableCells/HeaderCell.tsx deleted file mode 100644 index 2d66a6a603..0000000000 --- a/apps/hubble-stats/components/tableCells/HeaderCell.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { - InfoIconWithTooltip, - Typography, -} from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; -import { twMerge } from 'tailwind-merge'; - -import { HeaderCellProps } from './types'; - -const HeaderCell: FC = ({ title, tooltip, className }) => { - return ( - - {title} - {tooltip && } - - ); -}; - -export default HeaderCell; diff --git a/apps/hubble-stats/components/tableCells/NumberCell.tsx b/apps/hubble-stats/components/tableCells/NumberCell.tsx deleted file mode 100644 index e284181f78..0000000000 --- a/apps/hubble-stats/components/tableCells/NumberCell.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { FC } from 'react'; -import { twMerge } from 'tailwind-merge'; -import { Typography } from '@webb-tools/webb-ui-components'; - -import { getRoundedDownNumberWith2Decimals } from '../../utils'; -import { NumberCellProps } from './types'; - -const NumberCell: FC = ({ - value, - prefix, - suffix, - isProtected = false, - className, -}) => { - return ( -
- - {typeof value === 'number' && (prefix ?? '')} - {isProtected ? '****' : getRoundedDownNumberWith2Decimals(value)} - - - {typeof value === 'number' && - (suffix ? ( - - {suffix} - - ) : ( - '' - ))} -
- ); -}; - -export default NumberCell; diff --git a/apps/hubble-stats/components/tableCells/ShieldedCell.tsx b/apps/hubble-stats/components/tableCells/ShieldedCell.tsx deleted file mode 100644 index a51b461e03..0000000000 --- a/apps/hubble-stats/components/tableCells/ShieldedCell.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { FC } from 'react'; -import { Typography } from '@webb-tools/webb-ui-components'; -import { shortenHex } from '@webb-tools/webb-ui-components/utils'; -import ShieldedAssetIcon from '@webb-tools/icons/ShieldedAssetIcon'; -import { ShieldedCellProps } from './types'; - -const ShieldedCell: FC = ({ title, address }) => { - return ( -
- - -
- - {title} - - -
- - {shortenHex(address, 4)} - - {/* TODO: update href */} - {/* - - */} -
-
-
- ); -}; - -export default ShieldedCell; diff --git a/apps/hubble-stats/components/tableCells/TimeCell.tsx b/apps/hubble-stats/components/tableCells/TimeCell.tsx deleted file mode 100644 index f75b42341d..0000000000 --- a/apps/hubble-stats/components/tableCells/TimeCell.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { FC } from 'react'; -import { twMerge } from 'tailwind-merge'; -import { Typography } from '@webb-tools/webb-ui-components'; - -import { TimeCellProps } from './types'; - -const TimeCell: FC = ({ time, className }) => { - return ( - - {time ?? '-'} - - ); -}; - -export default TimeCell; diff --git a/apps/hubble-stats/components/tableCells/index.ts b/apps/hubble-stats/components/tableCells/index.ts deleted file mode 100644 index 24ab1211e5..0000000000 --- a/apps/hubble-stats/components/tableCells/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export { default as ActivityCell } from './ActivityCell'; -export { default as DestinationCell } from './DestinationCell'; -export { default as HeaderCell } from './HeaderCell'; -export { default as NumberCell } from './NumberCell'; -export { default as ShieldedCell } from './ShieldedCell'; -export { default as TimeCell } from './TimeCell'; diff --git a/apps/hubble-stats/components/tableCells/types.ts b/apps/hubble-stats/components/tableCells/types.ts deleted file mode 100644 index 81e17dbe59..0000000000 --- a/apps/hubble-stats/components/tableCells/types.ts +++ /dev/null @@ -1,33 +0,0 @@ -export interface HeaderCellProps { - title: string; - tooltip?: string; - className?: string; -} - -export interface NumberCellProps { - value?: number; - prefix?: string; - suffix?: string; - isProtected?: boolean; - className?: string; -} - -export interface ShieldedCellProps { - title: string; - address: string; -} - -export type ActivityType = 'deposit' | 'transfer' | 'withdraw'; - -export interface ActivityCellProps { - activity: ActivityType; -} - -export interface TimeCellProps { - time?: string; - className?: string; -} - -export interface DestinationCellProps { - className?: string; -} diff --git a/apps/hubble-stats/constants/index.ts b/apps/hubble-stats/constants/index.ts deleted file mode 100644 index 163e8b7dc5..0000000000 --- a/apps/hubble-stats/constants/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './vanchor'; -export * from './subgraphs'; diff --git a/apps/hubble-stats/constants/subgraphs.ts b/apps/hubble-stats/constants/subgraphs.ts deleted file mode 100644 index 22cb74f2a4..0000000000 --- a/apps/hubble-stats/constants/subgraphs.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { PresetTypedChainId } from '@webb-tools/dapp-types'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -const LIVE_SUBGRAPH_MAP = { - [PresetTypedChainId.TangleTestnetEVM]: - vAnchorClient.SubgraphUrl.vAnchorTangleTestnet, -}; - -const LOCAL_SUBGRAPH_MAP = { - [PresetTypedChainId.AthenaLocalnet]: - vAnchorClient.SubgraphUrl.vAnchorAthenaLocal, - [PresetTypedChainId.HermesLocalnet]: - vAnchorClient.SubgraphUrl.vAnchorHermesLocal, - [PresetTypedChainId.DemeterLocalnet]: - vAnchorClient.SubgraphUrl.vAnchorDemeterLocal, -}; - -const LIVE_SUBGRAPH_URLS = Object.values(LIVE_SUBGRAPH_MAP); -const LOCAL_SUBGRAPH_URLS = Object.values(LOCAL_SUBGRAPH_MAP); - -export const ACTIVE_SUBGRAPH_MAP = process.env.USING_LOCAL_SUBGRAPHS - ? LOCAL_SUBGRAPH_MAP - : LIVE_SUBGRAPH_MAP; - -export const ACTIVE_SUBGRAPH_URLS = process.env.USING_LOCAL_SUBGRAPHS - ? LOCAL_SUBGRAPH_URLS - : LIVE_SUBGRAPH_URLS; diff --git a/apps/hubble-stats/constants/vanchor.ts b/apps/hubble-stats/constants/vanchor.ts deleted file mode 100644 index 9902662d3a..0000000000 --- a/apps/hubble-stats/constants/vanchor.ts +++ /dev/null @@ -1,135 +0,0 @@ -import onChainDataJson from '@webb-tools/api-provider-environment/generated/on-chain-config.json'; -import { PresetTypedChainId } from '@webb-tools/dapp-types'; - -import { SubgraphUrlType } from '../types'; -import { PoolType } from '../components/PoolTypeChip/types'; - -import { ACTIVE_SUBGRAPH_MAP } from './subgraphs'; - -type VAnchorType = { - address: string; - poolType: PoolType; - fungibleTokenName: string; - fungibleTokenSymbol: string; - fungibleTokenAddress: string; - isNativeAllowed: boolean; - signatureBridge: string; - treasuryAddress: string; - creationTimestamp: number; - composition: string[]; - supportedChains: PresetTypedChainId[]; - supportedSubgraphs: SubgraphUrlType[]; - nativeTokenByChain: Record; - wrappableTokensByChain: Record; -}; - -const activeChains = Object.keys(ACTIVE_SUBGRAPH_MAP).map( - (typedChainedId) => +typedChainedId, -); - -export const VANCHORS_MAP = Object.keys(onChainDataJson) - .filter((typedChainId) => activeChains.includes(+typedChainId)) - .reduce( - (map, typedChainId) => { - const onChainData = - onChainDataJson[typedChainId as keyof typeof onChainDataJson]; - const nativeCurrency = onChainData.nativeCurrency; - const anchorMetadatas = onChainData.anchorMetadatas; - let updatedMap = map; - - for (const anchorMetadata of anchorMetadatas) { - const { - address: anchorAddress, - fungibleCurrency, - wrappableCurrencies, - isNativeAllowed, - signatureBridge, - treasuryAddress, - creationTimestamp, - } = anchorMetadata; - - const wrappableTokens = wrappableCurrencies.map( - (token: any) => token.symbol, - ); - - if (!map[anchorAddress]) { - const newVAnchor = { - address: anchorAddress, - poolType: 'single', - nativeTokenName: nativeCurrency.name, - nativeTokenSymbol: nativeCurrency.symbol, - fungibleTokenName: fungibleCurrency.name, - fungibleTokenSymbol: fungibleCurrency.symbol, - fungibleTokenAddress: fungibleCurrency.address, - isNativeAllowed, - signatureBridge, - treasuryAddress, - creationTimestamp, - composition: isNativeAllowed - ? [...wrappableTokens, nativeCurrency.symbol] - : wrappableTokens, - supportedChains: [+typedChainId], - supportedSubgraphs: [ACTIVE_SUBGRAPH_MAP[+typedChainId]], - nativeTokenByChain: { - [+typedChainId]: nativeCurrency.symbol, - }, - wrappableTokensByChain: { - [+typedChainId]: wrappableTokens, - }, - } as VAnchorType; - updatedMap = { - ...updatedMap, - [anchorAddress]: newVAnchor, - }; - } else { - const updatedComposition = new Set(map[anchorAddress].composition); - for (const token of wrappableCurrencies) { - updatedComposition.add(token.symbol); - } - - if (isNativeAllowed) { - updatedComposition.add(nativeCurrency.symbol); - } - - const updatedSupportedChains = [ - ...map[anchorAddress].supportedChains, - +typedChainId, - ]; - - const updatedSupportedSubgraphs = [ - ...map[anchorAddress].supportedSubgraphs, - ACTIVE_SUBGRAPH_MAP[+typedChainId], - ]; - - const updatedNativeTokenByChain = { - ...map[anchorAddress].nativeTokenByChain, - [+typedChainId]: nativeCurrency.symbol, - }; - - const updatedWrappableTokensByChain = { - ...map[anchorAddress].wrappableTokensByChain, - [+typedChainId]: wrappableTokens, - }; - - const updatedVAnchor = { - ...map[anchorAddress], - composition: [...updatedComposition], - supportedChains: updatedSupportedChains, - supportedSubgraphs: updatedSupportedSubgraphs, - nativeTokenByChain: updatedNativeTokenByChain, - wrappableTokensByChain: updatedWrappableTokensByChain, - } as VAnchorType; - - updatedMap = { - ...updatedMap, - [anchorAddress]: updatedVAnchor, - }; - } - } - - return updatedMap; - }, - {} as Record, - ); - -export const VANCHOR_ADDRESSES = Object.keys(VANCHORS_MAP); diff --git a/apps/hubble-stats/containers/HeaderChipsContainer/HeaderChipsContainer.tsx b/apps/hubble-stats/containers/HeaderChipsContainer/HeaderChipsContainer.tsx deleted file mode 100644 index 8f33dbc67b..0000000000 --- a/apps/hubble-stats/containers/HeaderChipsContainer/HeaderChipsContainer.tsx +++ /dev/null @@ -1,38 +0,0 @@ -'use client'; - -import { ArrowRightUp, DatabaseLine } from '@webb-tools/icons'; -import useSWR from 'swr'; -import { HeaderChipItem } from '../../components'; -import { getHeaderChipsDepositData, getHeaderChipsTvlData } from '../../data'; - -export default function HeaderChipsContainer() { - const { data: tvlValue, isLoading: tvlLoading } = useSWR( - getHeaderChipsTvlData.name, - getHeaderChipsTvlData, - ); - - const { data: depositValue, isLoading: depositLoading } = useSWR( - getHeaderChipsDepositData.name, - getHeaderChipsDepositData, - ); - - return ( -
- - - -
- ); -} diff --git a/apps/hubble-stats/containers/HeaderChipsContainer/index.ts b/apps/hubble-stats/containers/HeaderChipsContainer/index.ts deleted file mode 100644 index c79d6dc781..0000000000 --- a/apps/hubble-stats/containers/HeaderChipsContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as HeaderChipsContainer } from './HeaderChipsContainer'; diff --git a/apps/hubble-stats/containers/KeyMetricsTableContainer/KeyMetricsTableContainer.tsx b/apps/hubble-stats/containers/KeyMetricsTableContainer/KeyMetricsTableContainer.tsx deleted file mode 100644 index 51fc1289d7..0000000000 --- a/apps/hubble-stats/containers/KeyMetricsTableContainer/KeyMetricsTableContainer.tsx +++ /dev/null @@ -1,83 +0,0 @@ -'use client'; - -import cx from 'classnames'; -import useSWR from 'swr'; -import KeyMetricItem from '../../components/KeyMetricItem/KeyMetricItem'; -import { - getKeyMetricDepositData, - getKeyMetricRelayerFeesData, - getKeyMetricTvlData, - getKeyMetricWrappingFeesData, -} from '../../data'; - -export default function KeyMetricsTableContainer(props: { - epochStart: number; - epochNow: number; -}) { - const { epochNow, epochStart } = props; - - const { data: tvlData, isLoading: tvlLoading } = useSWR( - [getKeyMetricTvlData.name, epochStart, epochNow], - ([, ...args]) => getKeyMetricTvlData(...args), - ); - - const { data: depositData, isLoading: depositLoading } = useSWR( - [getKeyMetricDepositData.name, epochNow], - ([, ...args]) => getKeyMetricDepositData(...args), - ); - - const { data: relayerFeesData, isLoading: relayerFeesLoading } = useSWR( - getKeyMetricRelayerFeesData.name, - getKeyMetricRelayerFeesData, - ); - - const { data: wrappingFeesData, isLoading: wrappingFeesLoading } = useSWR( - getKeyMetricWrappingFeesData.name, - getKeyMetricWrappingFeesData, - ); - - return ( -
-
div]:border-r [&>div]:border-r-mono-40 [&>div]:dark:border-r-mono-160', - '[&>div]:even:border-none', - 'md:[&>div]:even:border-r', - )} - > - - - - -
-
- ); -} diff --git a/apps/hubble-stats/containers/KeyMetricsTableContainer/index.ts b/apps/hubble-stats/containers/KeyMetricsTableContainer/index.ts deleted file mode 100644 index 7f1a53f826..0000000000 --- a/apps/hubble-stats/containers/KeyMetricsTableContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as KeyMetricsTableContainer } from './KeyMetricsTableContainer'; diff --git a/apps/hubble-stats/containers/Layout/Header.tsx b/apps/hubble-stats/containers/Layout/Header.tsx deleted file mode 100644 index a117d37aa2..0000000000 --- a/apps/hubble-stats/containers/Layout/Header.tsx +++ /dev/null @@ -1,63 +0,0 @@ -'use client'; - -import React, { type FC } from 'react'; -import { - Button, - NavigationMenu, - NavigationMenuContent, - NavigationMenuTrigger, - Logo, -} from '@webb-tools/webb-ui-components'; -import { TANGLE_TESTNET_NATIVE_EXPLORER_URL } from '@webb-tools/dapp-config/constants/tangle'; -import { WebbLogoIcon } from '@webb-tools/icons'; -import { Breadcrumbs, SideBarMenu } from '../../components'; -import { - BRIDGE_URL, - WEBB_DOCS_URL, - GITHUB_REQUEST_FEATURE_URL, - SOCIAL_URLS_RECORD, - TANGLE_MKT_URL, -} from '@webb-tools/webb-ui-components/constants'; - -const Header: FC = () => { - return ( -
-
- - - {/* Show Logo without name on mobile */} - - - {/* Show Logo with name on tablet */} - - - -
- -
- - - - - window.open(WEBB_DOCS_URL, '_blank')} - onTestnetClick={() => - window.open(TANGLE_TESTNET_NATIVE_EXPLORER_URL, '_blank') - } - onHelpCenterClick={() => - window.open(SOCIAL_URLS_RECORD.telegram, '_blank') - } - onRequestFeaturesClick={() => - window.open(GITHUB_REQUEST_FEATURE_URL, '_blank') - } - onAboutClick={() => window.open(TANGLE_MKT_URL, '_blank')} - /> - -
-
- ); -}; - -export default Header; diff --git a/apps/hubble-stats/containers/Layout/Layout.tsx b/apps/hubble-stats/containers/Layout/Layout.tsx deleted file mode 100644 index c752b21cfc..0000000000 --- a/apps/hubble-stats/containers/Layout/Layout.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React, { type PropsWithChildren, type FC } from 'react'; -import { Footer } from '@webb-tools/webb-ui-components'; -import { getSidebarStateFromCookie } from '@webb-tools/webb-ui-components/next-utils'; - -import Header from './Header'; -import { SideBar } from '../../components'; - -const Layout: FC = ({ children }) => { - const isSideBarInitiallyExpanded = getSidebarStateFromCookie(); - - return ( - <> - -
-
-
- {/* Header */} -
- - {/* Body */} - {children} -
- - {/* Footer */} -
-
-
- - ); -}; - -export default Layout; diff --git a/apps/hubble-stats/containers/Layout/index.ts b/apps/hubble-stats/containers/Layout/index.ts deleted file mode 100644 index 6c48faec7d..0000000000 --- a/apps/hubble-stats/containers/Layout/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as Layout } from './Layout'; diff --git a/apps/hubble-stats/containers/PoolInfoCardContainer/ItemsContainer.tsx b/apps/hubble-stats/containers/PoolInfoCardContainer/ItemsContainer.tsx deleted file mode 100644 index 56123c7ee1..0000000000 --- a/apps/hubble-stats/containers/PoolInfoCardContainer/ItemsContainer.tsx +++ /dev/null @@ -1,42 +0,0 @@ -'use client'; - -import useSWR from 'swr'; -import { PoolOverviewCardItem } from '../../components/PoolInfoCardItem'; -import { getPoolInfoCardDepositData, getPoolInfoCardTvlData } from '../../data'; - -export default function ItemsContainer(props: { - symbol: string; - poolAddress: string; - epochStart: number; - epochNow: number; -}) { - const { symbol, epochNow, epochStart, poolAddress } = props; - - const { data: tvlData, isLoading: tvlDataLoading } = useSWR( - [getPoolInfoCardTvlData.name, poolAddress, epochStart, epochNow], - ([, ...args]) => getPoolInfoCardTvlData(...args), - ); - - const { data: depositData, isLoading: depositDataLoading } = useSWR( - [getPoolInfoCardDepositData.name, poolAddress, epochNow], - ([, ...args]) => getPoolInfoCardDepositData(...args), - ); - - return ( -
- - -
- ); -} diff --git a/apps/hubble-stats/containers/PoolInfoCardContainer/PoolInfoCardContainer.tsx b/apps/hubble-stats/containers/PoolInfoCardContainer/PoolInfoCardContainer.tsx deleted file mode 100644 index 6771721d86..0000000000 --- a/apps/hubble-stats/containers/PoolInfoCardContainer/PoolInfoCardContainer.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { ShieldedAssetIcon } from '@webb-tools/icons'; -import { Typography } from '@webb-tools/webb-ui-components'; -import { shortenHex } from '@webb-tools/webb-ui-components/utils'; -import cx from 'classnames'; - -import { CopyIconWithTooltip, PoolTypeChip } from '../../components'; -import { VANCHORS_MAP } from '../../constants'; -import ItemsContainer from './ItemsContainer'; - -export default function PoolInfoCardContainer({ - poolAddress, - epochStart, - epochNow, -}: { - poolAddress: string; - epochStart: number; - epochNow: number; -}) { - const { fungibleTokenName: name, fungibleTokenSymbol: symbol } = - VANCHORS_MAP[poolAddress]; - - return ( -
-
-
- {/* Icon */} - - - {/* Name */} - - {name} - - - {/* Address */} -
- - {shortenHex(poolAddress)} - - - -
- - {/* Type (only single for now) */} - -
- - {/* 24h deposits + TVL + 24h fees */} - -
-
- ); -} diff --git a/apps/hubble-stats/containers/PoolInfoCardContainer/index.ts b/apps/hubble-stats/containers/PoolInfoCardContainer/index.ts deleted file mode 100644 index 1a42c9001b..0000000000 --- a/apps/hubble-stats/containers/PoolInfoCardContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolInfoCardContainer } from './PoolInfoCardContainer'; diff --git a/apps/hubble-stats/containers/PoolMetadataTableContainer/PoolMetadataTableContainer.tsx b/apps/hubble-stats/containers/PoolMetadataTableContainer/PoolMetadataTableContainer.tsx deleted file mode 100644 index 59e210a89e..0000000000 --- a/apps/hubble-stats/containers/PoolMetadataTableContainer/PoolMetadataTableContainer.tsx +++ /dev/null @@ -1,78 +0,0 @@ -'use client'; - -import { Typography } from '@webb-tools/webb-ui-components'; - -import { PoolMetadataTable } from '../../components'; -import { PoolAttributeType } from '../../components/PoolMetadataTable/types'; -import { getPoolMetadataTableData } from '../../data'; -import useSWR from 'swr'; - -export default function PoolMetadataTableContainer({ - poolAddress, -}: { - poolAddress: string; -}) { - const { data, isLoading } = useSWR( - [getPoolMetadataTableData.name, poolAddress], - ([, args]) => getPoolMetadataTableData(args), - ); - - if (isLoading || !data) { - return null; - } - - const { - name, - symbol, - signatureBridge, - vAnchor, - fungibleToken, - treasuryAddress, - wrappingFees, - creationDate, - } = data; - - const metadata: PoolAttributeType[] = [ - { - name: 'Pool name', - detail: name, - }, - { - name: 'Pool symbol', - detail: symbol, - }, - { - name: 'Signature Bridge', - detail: signatureBridge, - }, - { - name: 'VAnchor', - detail: vAnchor, - }, - { - name: 'Fungible Token', - detail: fungibleToken, - }, - { - name: 'Treasury Address', - detail: treasuryAddress, - }, - { - name: 'Wrapping Fees', - detail: wrappingFees, - }, - { - name: 'Creation date', - detail: creationDate, - }, - ]; - - return ( -
- - Pool Metadata - - -
- ); -} diff --git a/apps/hubble-stats/containers/PoolMetadataTableContainer/index.ts b/apps/hubble-stats/containers/PoolMetadataTableContainer/index.ts deleted file mode 100644 index d8251d1371..0000000000 --- a/apps/hubble-stats/containers/PoolMetadataTableContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolMetadataTableContainer } from './PoolMetadataTableContainer'; diff --git a/apps/hubble-stats/containers/PoolOverviewChartsContainer/PoolOverviewChartsContainer.tsx b/apps/hubble-stats/containers/PoolOverviewChartsContainer/PoolOverviewChartsContainer.tsx deleted file mode 100644 index 50ca25275e..0000000000 --- a/apps/hubble-stats/containers/PoolOverviewChartsContainer/PoolOverviewChartsContainer.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { Suspense } from 'react'; -import { TableAndChartTabs, TabContent } from '@webb-tools/webb-ui-components'; - -import { - PoolRelayerEarningsChartContainer, - PoolTvlChartContainer, - PoolVolumeChartContainer, -} from '../charts'; -import { PoolChartSkeleton } from '../../components'; -import { PoolChartPropsType } from '../charts/types'; - -const tvlTab = 'TVL'; -const volumeTab = 'Volume'; -const relayerEarningTab = 'Relayer Earnings'; - -export default function PoolOverviewChartsContainer({ - poolAddress, - numDatesFromStart, - startingEpoch, - epochNow, -}: PoolChartPropsType) { - return ( - - {/* TVL */} - - }> - - - - - {/* Volume */} - - }> - - - - - {/* Relayer Earnings */} - - }> - - - - - ); -} diff --git a/apps/hubble-stats/containers/PoolOverviewChartsContainer/index.ts b/apps/hubble-stats/containers/PoolOverviewChartsContainer/index.ts deleted file mode 100644 index 8feb574c28..0000000000 --- a/apps/hubble-stats/containers/PoolOverviewChartsContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolOverviewChartsContainer } from './PoolOverviewChartsContainer'; diff --git a/apps/hubble-stats/containers/PoolOverviewTableContainer/PoolOverviewTableContainer.tsx b/apps/hubble-stats/containers/PoolOverviewTableContainer/PoolOverviewTableContainer.tsx deleted file mode 100644 index 544022e04b..0000000000 --- a/apps/hubble-stats/containers/PoolOverviewTableContainer/PoolOverviewTableContainer.tsx +++ /dev/null @@ -1,110 +0,0 @@ -'use client'; - -import { - TabContent, - TableAndChartTabs, - Typography, -} from '@webb-tools/webb-ui-components'; -import { type FC } from 'react'; - -import useSWR from 'swr'; -import { ContainerSkeleton, PoolOverviewTable } from '../../components'; -import { - getPoolDepositTableData, - getPoolRelayerEarningsTableData, - getPoolWithdrawalTableData, -} from '../../data'; - -const deposit24hTab = 'Deposits 24H' as const; -const withdrawal24hTab = 'Withdrawals 24H' as const; -const relayerEarningsTab = 'Relayer Earnings' as const; - -const PoolOverviewTableContainer: FC<{ - poolAddress: string; - epochNow: number; - availableTypedChainIds: number[]; -}> = ({ poolAddress, epochNow, availableTypedChainIds }) => { - const { data: depositData, isLoading: depositLoading } = useSWR( - [ - getPoolDepositTableData.name, - poolAddress, - epochNow, - availableTypedChainIds, - ], - ([, ...args]) => getPoolDepositTableData(...args), - ); - - const { data: withdrawalData, isLoading: withdrawalLoading } = useSWR( - [ - getPoolWithdrawalTableData.name, - poolAddress, - epochNow, - availableTypedChainIds, - ], - ([, ...args]) => getPoolWithdrawalTableData(...args), - ); - - const { data: relayerEarningsData, isLoading: relayerEarningsLoading } = - useSWR( - [ - getPoolRelayerEarningsTableData.name, - poolAddress, - availableTypedChainIds, - ], - ([, ...args]) => getPoolRelayerEarningsTableData(...args), - ); - - return ( -
- - {/* Deposit 24h */} - - {depositLoading ? ( - - ) : ( - - )} - - - {/* Withdrawal 24h */} - - {withdrawalLoading ? ( - - ) : ( - - )} - - - {/* Relayer Earnings */} - - {relayerEarningsLoading ? ( - - ) : ( - - )} - - *HISTORICAL RELAYER EARNINGS - - - -
- ); -}; - -export default PoolOverviewTableContainer; diff --git a/apps/hubble-stats/containers/PoolOverviewTableContainer/index.ts b/apps/hubble-stats/containers/PoolOverviewTableContainer/index.ts deleted file mode 100644 index adf701f018..0000000000 --- a/apps/hubble-stats/containers/PoolOverviewTableContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolOverviewTableContainer } from './PoolOverviewTableContainer'; diff --git a/apps/hubble-stats/containers/PoolTransactionsTableContainer/PoolTransactionsTableContainer.tsx b/apps/hubble-stats/containers/PoolTransactionsTableContainer/PoolTransactionsTableContainer.tsx deleted file mode 100644 index caf4bc4c6c..0000000000 --- a/apps/hubble-stats/containers/PoolTransactionsTableContainer/PoolTransactionsTableContainer.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { TableAndChartTabs } from '@webb-tools/webb-ui-components'; -import { Suspense, type FC } from 'react'; - -import { ContainerSkeleton } from '../../components'; -import TransactionsTable from './TransactionsTable'; -import { allTab, depositsTab, transfersTab, withdrawalsTab } from './tabs'; - -const PoolTransactionsTableContainer: FC<{ - poolAddress: string; -}> = ({ poolAddress }) => { - return ( - - }> - - - - ); -}; - -export default PoolTransactionsTableContainer; diff --git a/apps/hubble-stats/containers/PoolTransactionsTableContainer/TransactionsTable.tsx b/apps/hubble-stats/containers/PoolTransactionsTableContainer/TransactionsTable.tsx deleted file mode 100644 index a553f2b851..0000000000 --- a/apps/hubble-stats/containers/PoolTransactionsTableContainer/TransactionsTable.tsx +++ /dev/null @@ -1,46 +0,0 @@ -'use client'; - -import { TabContent } from '@webb-tools/webb-ui-components/components/Tabs/TabContent'; -import useSWR from 'swr'; -import { PoolTransactionsTable } from '../../components/PoolTransactionsTable'; -import ContainerSkeleton from '../../components/skeleton/ContainerSkeleton'; -import { getPoolTransactionsTableData } from '../../data'; -import { allTab, depositsTab, transfersTab, withdrawalsTab } from './tabs'; - -const pageSize = 10; - -function TransactionsTable({ poolAddress }: { poolAddress: string }) { - const { data: allTransactions = [], isLoading } = useSWR( - [getPoolTransactionsTableData.name, poolAddress], - ([, ...args]) => getPoolTransactionsTableData(...args), - ); - - const deposits = allTransactions.filter((tx) => tx.activity === 'deposit'); - const transfers = allTransactions.filter((tx) => tx.activity === 'transfer'); - const withdrawals = allTransactions.filter( - (tx) => tx.activity === 'withdraw', - ); - - if (isLoading) { - return ; - } - - return ( - <> - - - - - - - - - - - - - - ); -} - -export default TransactionsTable; diff --git a/apps/hubble-stats/containers/PoolTransactionsTableContainer/index.ts b/apps/hubble-stats/containers/PoolTransactionsTableContainer/index.ts deleted file mode 100644 index 9ba6a1f53d..0000000000 --- a/apps/hubble-stats/containers/PoolTransactionsTableContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolTransactionsTableContainer } from './PoolTransactionsTableContainer'; diff --git a/apps/hubble-stats/containers/PoolTransactionsTableContainer/tabs.ts b/apps/hubble-stats/containers/PoolTransactionsTableContainer/tabs.ts deleted file mode 100644 index bba7650175..0000000000 --- a/apps/hubble-stats/containers/PoolTransactionsTableContainer/tabs.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const allTab = 'All Transactions' as const; -export const depositsTab = 'Deposits' as const; -export const transfersTab = 'Transfers' as const; -export const withdrawalsTab = 'Withdrawals' as const; diff --git a/apps/hubble-stats/containers/PoolWrappingChartsContainer/PoolWrappingChartsContainer.tsx b/apps/hubble-stats/containers/PoolWrappingChartsContainer/PoolWrappingChartsContainer.tsx deleted file mode 100644 index be06f2cb62..0000000000 --- a/apps/hubble-stats/containers/PoolWrappingChartsContainer/PoolWrappingChartsContainer.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import { TabContent, TableAndChartTabs } from '@webb-tools/webb-ui-components'; -import { Suspense } from 'react'; - -import { PoolChartSkeleton } from '../../components'; -import { - PoolTwlChartContainer, - PoolWrappingFeesChartContainer, -} from '../charts'; -import { PoolChartPropsType } from '../charts/types'; - -const twlTab = 'TWL'; -const wrappingFeesTab = 'Wrapping Fees'; - -export default function PoolWrappingChartsContainer({ - poolAddress, - numDatesFromStart, - startingEpoch, - epochNow, -}: PoolChartPropsType) { - return ( - - {/* TWL */} - - }> - - - - - {/* Wrapping Fees */} - - }> - - - - - ); -} diff --git a/apps/hubble-stats/containers/PoolWrappingChartsContainer/index.ts b/apps/hubble-stats/containers/PoolWrappingChartsContainer/index.ts deleted file mode 100644 index 86700af8f0..0000000000 --- a/apps/hubble-stats/containers/PoolWrappingChartsContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolWrappingChartsContainer } from './PoolWrappingChartsContainer'; diff --git a/apps/hubble-stats/containers/PoolWrappingTableContainer/PoolWrappingTableContainer.tsx b/apps/hubble-stats/containers/PoolWrappingTableContainer/PoolWrappingTableContainer.tsx deleted file mode 100644 index c7ac4b5508..0000000000 --- a/apps/hubble-stats/containers/PoolWrappingTableContainer/PoolWrappingTableContainer.tsx +++ /dev/null @@ -1,79 +0,0 @@ -'use client'; - -import { - TabContent, - TableAndChartTabs, - Typography, -} from '@webb-tools/webb-ui-components'; -import { type FC } from 'react'; - -import useSWR from 'swr'; -import { ContainerSkeleton, PoolWrappingTable } from '../../components'; -import { getPoolTwlTableData, getPoolWrappingFeesTableData } from '../../data'; - -const twlTab = 'TWL'; -const wrappingFeesTab = 'Wrapping Fees'; - -const PoolWrappingTableContainer: FC<{ - poolAddress: string; - epochNow: number; - availableTypedChainIds: number[]; -}> = ({ poolAddress, availableTypedChainIds }) => { - const { data: twlData, isLoading: twlLoading } = useSWR( - [getPoolTwlTableData.name, poolAddress, availableTypedChainIds], - ([, ...args]) => getPoolTwlTableData(...args), - ); - - const { data: wrappingFeesData, isLoading: wrappingFeesLoading } = useSWR( - [getPoolWrappingFeesTableData.name, poolAddress, availableTypedChainIds], - ([, ...args]) => getPoolWrappingFeesTableData(...args), - ); - - return ( -
- - {/* Deposit 24h */} - - {twlLoading ? ( - - ) : ( - - )} - - *TOTAL WRAPPED LOCKED - - - - {/* Withdrawal 24h */} - - {wrappingFeesLoading ? ( - - ) : ( - - )} - - *HISTORICAL WRAPPING FEES - - - -
- ); -}; - -export default PoolWrappingTableContainer; diff --git a/apps/hubble-stats/containers/PoolWrappingTableContainer/index.ts b/apps/hubble-stats/containers/PoolWrappingTableContainer/index.ts deleted file mode 100644 index 306a3a5e43..0000000000 --- a/apps/hubble-stats/containers/PoolWrappingTableContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as PoolWrappingTableContainer } from './PoolWrappingTableContainer'; diff --git a/apps/hubble-stats/containers/ShieldedTablesContainer/ShieldedAssetsTableContainer.tsx b/apps/hubble-stats/containers/ShieldedTablesContainer/ShieldedAssetsTableContainer.tsx deleted file mode 100644 index 9789256de6..0000000000 --- a/apps/hubble-stats/containers/ShieldedTablesContainer/ShieldedAssetsTableContainer.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { ShieldedAssetsTable } from '../../components'; -import { ShieldedAssetType } from '../../components/ShieldedAssetsTable/types'; - -export default function ShieldedAssetsTableContainer({ - pageSize, - value, -}: { - pageSize: number; - value: ShieldedAssetType[]; -}) { - return ; -} diff --git a/apps/hubble-stats/containers/ShieldedTablesContainer/ShieldedPoolsTableContainer.tsx b/apps/hubble-stats/containers/ShieldedTablesContainer/ShieldedPoolsTableContainer.tsx deleted file mode 100644 index fc254d7a9b..0000000000 --- a/apps/hubble-stats/containers/ShieldedTablesContainer/ShieldedPoolsTableContainer.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { ShieldedPoolsTable } from '../../components'; -import { ShieldedPoolType } from '../../components/ShieldedPoolsTable/types'; - -export default function ShieldedPoolsTableContainer({ - pageSize, - value, -}: { - pageSize: number; - value: ShieldedPoolType[]; -}) { - return ; -} diff --git a/apps/hubble-stats/containers/ShieldedTablesContainer/ShieldedTablesContainer.tsx b/apps/hubble-stats/containers/ShieldedTablesContainer/ShieldedTablesContainer.tsx deleted file mode 100644 index 261e877cd7..0000000000 --- a/apps/hubble-stats/containers/ShieldedTablesContainer/ShieldedTablesContainer.tsx +++ /dev/null @@ -1,63 +0,0 @@ -'use client'; - -import { TabContent, TableAndChartTabs } from '@webb-tools/webb-ui-components'; -import { type FC } from 'react'; -import useSWR from 'swr'; -import { ContainerSkeleton } from '../../components'; -import { - getShieldedAssetsTableData, - getShieldedPoolsTableData, -} from '../../data/shieldedTables'; -import ShieldedAssetsTableContainer from './ShieldedAssetsTableContainer'; -import ShieldedPoolsTableContainer from './ShieldedPoolsTableContainer'; - -const pageSize = 5; -const assetsTableTab = 'Shielded Assets'; -const poolsTableTab = 'Shielded Pools'; - -const ShieldedTablesContainer: FC<{ - epochNow: number; -}> = ({ epochNow }) => { - const { data: shieldedAssetsData, isLoading: shieldedAssetLoading } = useSWR( - [getShieldedAssetsTableData.name, epochNow], - ([, ...args]) => getShieldedAssetsTableData(...args), - ); - - const { data: shieldedPoolsData, isLoading: shieldedPoolsLoading } = useSWR( - [getShieldedPoolsTableData.name, epochNow], - ([, ...args]) => getShieldedPoolsTableData(...args), - ); - - return ( - - {/* Shielded Assets Table */} - - {shieldedAssetLoading || !shieldedAssetsData ? ( - - ) : ( - - )} - - - {/* Shielded Pools Table */} - - {shieldedPoolsLoading || !shieldedPoolsData ? ( - - ) : ( - - )} - - - ); -}; - -export default ShieldedTablesContainer; diff --git a/apps/hubble-stats/containers/ShieldedTablesContainer/index.ts b/apps/hubble-stats/containers/ShieldedTablesContainer/index.ts deleted file mode 100644 index 559358fbeb..0000000000 --- a/apps/hubble-stats/containers/ShieldedTablesContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as ShieldedTablesContainer } from './ShieldedTablesContainer'; diff --git a/apps/hubble-stats/containers/charts/OverviewTvlChartContainer.tsx b/apps/hubble-stats/containers/charts/OverviewTvlChartContainer.tsx deleted file mode 100644 index d91419e023..0000000000 --- a/apps/hubble-stats/containers/charts/OverviewTvlChartContainer.tsx +++ /dev/null @@ -1,28 +0,0 @@ -'use client'; - -import useSWR from 'swr'; -import ContainerSkeleton from '../../components/skeleton/ContainerSkeleton'; -import { getOverviewTvlChartData } from '../../data'; -import { AreaChartContainerClient } from './client'; -import { ChartProps } from './types'; - -export default function OverviewTvlChartContainer(props: ChartProps) { - const { numDatesFromStart, startingEpoch } = props; - - const { data: { tvlData, currentTvl } = {}, isLoading } = useSWR( - [getOverviewTvlChartData.name, startingEpoch, numDatesFromStart], - ([, ...args]) => getOverviewTvlChartData(...args), - ); - - if (isLoading || !tvlData) { - return ; - } - - return ( - - ); -} diff --git a/apps/hubble-stats/containers/charts/OverviewVolumeChartContainer.tsx b/apps/hubble-stats/containers/charts/OverviewVolumeChartContainer.tsx deleted file mode 100644 index 4bcedb961b..0000000000 --- a/apps/hubble-stats/containers/charts/OverviewVolumeChartContainer.tsx +++ /dev/null @@ -1,33 +0,0 @@ -'use client'; - -import useSWR from 'swr'; -import ContainerSkeleton from '../../components/skeleton/ContainerSkeleton'; -import { getOverviewVolumeChartData } from '../../data'; -import { VolumeChartContainerClient } from './client'; -import { ChartProps } from './types'; - -export default function OverviewVolumeChartContainer(props: ChartProps) { - const { numDatesFromStart, startingEpoch, epochNow } = props; - - const { data: { volumeData, deposit24h } = {}, isLoading } = useSWR( - [ - getOverviewVolumeChartData.name, - startingEpoch, - epochNow, - numDatesFromStart, - ], - ([, ...args]) => getOverviewVolumeChartData(...args), - ); - - if (isLoading || !volumeData) { - return ; - } - - return ( - - ); -} diff --git a/apps/hubble-stats/containers/charts/PoolRelayerEarningsChartContainer.tsx b/apps/hubble-stats/containers/charts/PoolRelayerEarningsChartContainer.tsx deleted file mode 100644 index 82cf669d93..0000000000 --- a/apps/hubble-stats/containers/charts/PoolRelayerEarningsChartContainer.tsx +++ /dev/null @@ -1,35 +0,0 @@ -'use client'; - -import useSWR from 'swr'; -import PoolChartSkeleton from '../../components/skeleton/PoolChartSkeleton'; -import { getPoolRelayerEarningsChartData } from '../../data'; -import { BarChartContainerClient } from './client'; -import { PoolChartPropsType } from './types'; - -export default function PoolRelayerEarningsChartContainer( - props: PoolChartPropsType, -) { - const { poolAddress, numDatesFromStart, startingEpoch } = props; - - const { data: { poolRelayerEarningsData, relayerEarnings } = {}, isLoading } = - useSWR( - [ - getPoolRelayerEarningsChartData.name, - poolAddress, - startingEpoch, - numDatesFromStart, - ], - ([, ...args]) => getPoolRelayerEarningsChartData(...args), - ); - - if (isLoading || !poolRelayerEarningsData) { - return ; - } - - return ( - - ); -} diff --git a/apps/hubble-stats/containers/charts/PoolTvlChartContainer.tsx b/apps/hubble-stats/containers/charts/PoolTvlChartContainer.tsx deleted file mode 100644 index 2845c511f5..0000000000 --- a/apps/hubble-stats/containers/charts/PoolTvlChartContainer.tsx +++ /dev/null @@ -1,27 +0,0 @@ -'use client'; - -import useSWR from 'swr'; -import PoolChartSkeleton from '../../components/skeleton/PoolChartSkeleton'; -import { getPoolTvlChartData } from '../../data'; -import { AreaChartContainerClient } from './client'; -import { PoolChartPropsType } from './types'; - -export default function PoolTvlChartContainer(props: PoolChartPropsType) { - const { poolAddress, numDatesFromStart, startingEpoch } = props; - - const { data: { currentPoolTvl, poolTvlData } = {}, isLoading } = useSWR( - [getPoolTvlChartData.name, poolAddress, startingEpoch, numDatesFromStart], - ([, ...args]) => getPoolTvlChartData(...args), - ); - - if (isLoading || !poolTvlData) { - return ; - } - - return ( - - ); -} diff --git a/apps/hubble-stats/containers/charts/PoolTwlChartContainer.tsx b/apps/hubble-stats/containers/charts/PoolTwlChartContainer.tsx deleted file mode 100644 index 5ef30c0af8..0000000000 --- a/apps/hubble-stats/containers/charts/PoolTwlChartContainer.tsx +++ /dev/null @@ -1,27 +0,0 @@ -'use client'; - -import useSWR from 'swr'; -import PoolChartSkeleton from '../../components/skeleton/PoolChartSkeleton'; -import { getPoolTwlChartData } from '../../data'; -import { AreaChartContainerClient } from './client'; -import { PoolChartPropsType } from './types'; - -export default function PoolTwlChartContainer(props: PoolChartPropsType) { - const { poolAddress, numDatesFromStart, startingEpoch } = props; - - const { data: { poolTwlData, currentPoolTwl } = {}, isLoading } = useSWR( - [getPoolTwlChartData.name, poolAddress, startingEpoch, numDatesFromStart], - ([, ...args]) => getPoolTwlChartData(...args), - ); - - if (isLoading || !poolTwlData) { - return ; - } - - return ( - - ); -} diff --git a/apps/hubble-stats/containers/charts/PoolVolumeChartContainer.tsx b/apps/hubble-stats/containers/charts/PoolVolumeChartContainer.tsx deleted file mode 100644 index 2639a212ae..0000000000 --- a/apps/hubble-stats/containers/charts/PoolVolumeChartContainer.tsx +++ /dev/null @@ -1,33 +0,0 @@ -'use client'; - -import useSWR from 'swr'; -import PoolChartSkeleton from '../../components/skeleton/PoolChartSkeleton'; -import { getPoolVolumeChartData } from '../../data'; -import { VolumeChartContainerClient } from './client'; -import { PoolChartPropsType } from './types'; - -export default function PoolVolumeChartContainer(props: PoolChartPropsType) { - const { poolAddress, numDatesFromStart, startingEpoch, epochNow } = props; - - const { data: { poolVolumeData, poolDeposit24h } = {}, isLoading } = useSWR( - [ - getPoolVolumeChartData.name, - poolAddress, - startingEpoch, - epochNow, - numDatesFromStart, - ], - ([, ...args]) => getPoolVolumeChartData(...args), - ); - - if (isLoading || !poolVolumeData) { - return ; - } - - return ( - - ); -} diff --git a/apps/hubble-stats/containers/charts/PoolWrappingFeesChartContainer.tsx b/apps/hubble-stats/containers/charts/PoolWrappingFeesChartContainer.tsx deleted file mode 100644 index cd2c6daf3b..0000000000 --- a/apps/hubble-stats/containers/charts/PoolWrappingFeesChartContainer.tsx +++ /dev/null @@ -1,35 +0,0 @@ -'use client'; - -import useSWR from 'swr'; -import PoolChartSkeleton from '../../components/skeleton/PoolChartSkeleton'; -import { getPoolWrappingFeesChartData } from '../../data'; -import { BarChartContainerClient } from './client'; -import { PoolChartPropsType } from './types'; - -export default function PoolWrappingFeesChartContainer( - props: PoolChartPropsType, -) { - const { poolAddress, numDatesFromStart, startingEpoch } = props; - - const { data: { poolWrappingFeesData, poolWrappingFees } = {}, isLoading } = - useSWR( - [ - getPoolWrappingFeesChartData.name, - poolAddress, - startingEpoch, - numDatesFromStart, - ], - ([, ...args]) => getPoolWrappingFeesChartData(...args), - ); - - if (isLoading || !poolWrappingFeesData) { - return ; - } - - return ( - - ); -} diff --git a/apps/hubble-stats/containers/charts/client/AreaChartContainerClient.tsx b/apps/hubble-stats/containers/charts/client/AreaChartContainerClient.tsx deleted file mode 100644 index acdb9da153..0000000000 --- a/apps/hubble-stats/containers/charts/client/AreaChartContainerClient.tsx +++ /dev/null @@ -1,35 +0,0 @@ -'use client'; - -import { useState } from 'react'; -import { ChartContainer } from '@webb-tools/webb-ui-components/components/ChartContainer'; - -import { AreaChartContainerProps } from './types'; -import AreaChart from '../../../components/charts/AreaChart'; - -export default function AreaChartContainerClient( - props: AreaChartContainerProps, -) { - const { defaultValue, data, heading } = props; - - const [value, setValue] = useState(null); - const [date, setDate] = useState(null); - - return ( - - - - ); -} diff --git a/apps/hubble-stats/containers/charts/client/BarChartContainerClient.tsx b/apps/hubble-stats/containers/charts/client/BarChartContainerClient.tsx deleted file mode 100644 index b1846ace1a..0000000000 --- a/apps/hubble-stats/containers/charts/client/BarChartContainerClient.tsx +++ /dev/null @@ -1,35 +0,0 @@ -'use client'; - -import { useState } from 'react'; -import { ChartContainer } from '@webb-tools/webb-ui-components/components/ChartContainer'; - -import { BarChartContainerProps } from './types'; -import BarChart from '../../../components/charts/BarChart'; - -export default function AreaChartContainerClient( - props: BarChartContainerProps, -) { - const { defaultValue, data, heading } = props; - - const [value, setValue] = useState(null); - const [date, setDate] = useState(null); - - return ( - - - - ); -} diff --git a/apps/hubble-stats/containers/charts/client/VolumeChartContainerClient.tsx b/apps/hubble-stats/containers/charts/client/VolumeChartContainerClient.tsx deleted file mode 100644 index 9b0d3e4a69..0000000000 --- a/apps/hubble-stats/containers/charts/client/VolumeChartContainerClient.tsx +++ /dev/null @@ -1,34 +0,0 @@ -'use client'; - -import { useState } from 'react'; -import { ChartContainer } from '@webb-tools/webb-ui-components'; - -import { VolumeChartContainerProps } from './types'; -import VolumeChart from '../../../components/charts/VolumeChart'; - -export default function VolumeChartContainerClient( - props: VolumeChartContainerProps, -) { - const { deposit24h, data, heading } = props; - - const [volumeValue, setVolumeValue] = useState(null); - const [volumeDate, setVolumeDate] = useState(null); - - return ( - - - - ); -} diff --git a/apps/hubble-stats/containers/charts/client/index.ts b/apps/hubble-stats/containers/charts/client/index.ts deleted file mode 100644 index 94e7ab5470..0000000000 --- a/apps/hubble-stats/containers/charts/client/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { default as AreaChartContainerClient } from './AreaChartContainerClient'; -export { default as BarChartContainerClient } from './BarChartContainerClient'; -export { default as VolumeChartContainerClient } from './VolumeChartContainerClient'; diff --git a/apps/hubble-stats/containers/charts/client/types.ts b/apps/hubble-stats/containers/charts/client/types.ts deleted file mode 100644 index d9ac149894..0000000000 --- a/apps/hubble-stats/containers/charts/client/types.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { - FormattedBasicChartDataType, - FormattedVolumeChartDataType, -} from '../../../types'; - -export interface BasicChartContainerProps { - defaultValue?: number; - data: FormattedBasicChartDataType; - heading?: string; -} - -export interface AreaChartContainerProps extends BasicChartContainerProps {} -export interface BarChartContainerProps extends BasicChartContainerProps {} - -export interface VolumeChartContainerProps { - deposit24h?: number; - data: FormattedVolumeChartDataType; - heading?: string; -} diff --git a/apps/hubble-stats/containers/charts/index.ts b/apps/hubble-stats/containers/charts/index.ts deleted file mode 100644 index 8e0857e4a1..0000000000 --- a/apps/hubble-stats/containers/charts/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export { default as OverviewTvlChartContainer } from './OverviewTvlChartContainer'; -export { default as OverviewVolumeChartContainer } from './OverviewVolumeChartContainer'; -export { default as PoolRelayerEarningsChartContainer } from './PoolRelayerEarningsChartContainer'; -export { default as PoolTvlChartContainer } from './PoolTvlChartContainer'; -export { default as PoolTwlChartContainer } from './PoolTwlChartContainer'; -export { default as PoolVolumeChartContainer } from './PoolVolumeChartContainer'; -export { default as PoolWrappingFeesChartContainer } from './PoolWrappingFeesChartContainer'; diff --git a/apps/hubble-stats/containers/charts/types.ts b/apps/hubble-stats/containers/charts/types.ts deleted file mode 100644 index 9886fbd483..0000000000 --- a/apps/hubble-stats/containers/charts/types.ts +++ /dev/null @@ -1,9 +0,0 @@ -export interface ChartProps { - startingEpoch: number; - numDatesFromStart: number; - epochNow: number; -} - -export interface PoolChartPropsType extends ChartProps { - poolAddress: string; -} diff --git a/apps/hubble-stats/containers/index.ts b/apps/hubble-stats/containers/index.ts deleted file mode 100644 index 84eb1ae117..0000000000 --- a/apps/hubble-stats/containers/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -export { KeyMetricsTableContainer } from './KeyMetricsTableContainer'; -export { Layout } from './Layout'; -export { HeaderChipsContainer } from './HeaderChipsContainer'; -export { PoolMetadataTableContainer } from './PoolMetadataTableContainer'; -export { PoolInfoCardContainer } from './PoolInfoCardContainer'; -export { PoolOverviewChartsContainer } from './PoolOverviewChartsContainer'; -export { PoolOverviewTableContainer } from './PoolOverviewTableContainer'; -export { PoolTransactionsTableContainer } from './PoolTransactionsTableContainer'; -export { PoolWrappingChartsContainer } from './PoolWrappingChartsContainer'; -export { PoolWrappingTableContainer } from './PoolWrappingTableContainer'; -export { ShieldedTablesContainer } from './ShieldedTablesContainer'; diff --git a/apps/hubble-stats/data/charts/getOverviewTvlChartData.ts b/apps/hubble-stats/data/charts/getOverviewTvlChartData.ts deleted file mode 100644 index 7431d01e51..0000000000 --- a/apps/hubble-stats/data/charts/getOverviewTvlChartData.ts +++ /dev/null @@ -1,45 +0,0 @@ -import vAnchorClient from '@webb-tools/vanchor-client'; -import { ACTIVE_SUBGRAPH_URLS, VANCHOR_ADDRESSES } from '../../constants'; -import type { ChartDataRecord } from '../../types'; -import { getFormattedDataForBasicChart, serializeEpochData } from '../../utils'; -import { getTvl } from '../utils'; - -async function getTvlDataByDateRange( - startingEpoch: number, - numDatesFromStart: number, -): Promise { - try { - const fetchedTvlData = - await vAnchorClient.TotalValueLocked.GetVAnchorsTVLByChainsByDateRange( - ACTIVE_SUBGRAPH_URLS, - VANCHOR_ADDRESSES, - startingEpoch, - numDatesFromStart, - ); - - return serializeEpochData(fetchedTvlData); - } catch (e) { - console.error('Error fetching TVL data', e); - } - - return {}; -} - -export default async function getOverviewTvlChartData( - startingEpoch: number, - numDatesFromStart: number, -): Promise<{ - currentTvl?: number; - tvlData: ReturnType; -}> { - // Fetch current TVL and TVL data in parallel - const [currentTvl, tvlData] = await Promise.all([ - getTvl(), - getTvlDataByDateRange(startingEpoch, numDatesFromStart), - ] as const); - - return { - currentTvl, - tvlData: getFormattedDataForBasicChart(tvlData), - }; -} diff --git a/apps/hubble-stats/data/charts/getOverviewVolumeChartData.ts b/apps/hubble-stats/data/charts/getOverviewVolumeChartData.ts deleted file mode 100644 index f29169a71f..0000000000 --- a/apps/hubble-stats/data/charts/getOverviewVolumeChartData.ts +++ /dev/null @@ -1,71 +0,0 @@ -import vAnchorClient from '@webb-tools/vanchor-client'; -import { ACTIVE_SUBGRAPH_URLS, VANCHOR_ADDRESSES } from '../../constants'; -import type { ChartDataRecord } from '../../types'; -import { - getFormattedDataForVolumeChart, - serializeEpochData, - EPOCH_DAY_INTERVAL, -} from '../../utils'; -import { getDepositInTimeRange } from '../utils'; - -async function getDepositDataByDateRange( - startingEpoch: number, - numDatesFromStart: number, -): Promise { - try { - const fetchedDepositData = - await vAnchorClient.Deposit.GetVAnchorsDepositByChainsByDateRange( - ACTIVE_SUBGRAPH_URLS, - VANCHOR_ADDRESSES, - startingEpoch, - numDatesFromStart, - ); - - return serializeEpochData(fetchedDepositData); - } catch (e) { - console.error('Error fetching deposit data', e); - } - - return {}; -} - -async function getWithdrawDataByDateRange( - startingEpoch: number, - numDatesFromStart: number, -): Promise { - try { - const fetchedWithdrawalData = - await vAnchorClient.Withdrawal.GetVAnchorsWithdrawalByChainsByDateRange( - ACTIVE_SUBGRAPH_URLS, - VANCHOR_ADDRESSES, - startingEpoch, - numDatesFromStart, - ); - - return serializeEpochData(fetchedWithdrawalData); - } catch (e) { - console.error('Error fetching withdrawal data', e); - } - - return {}; -} - -export default async function getOverviewVolumeChartData( - startingEpoch: number, - epochNow: number, - numDatesFromStart: number, -): Promise<{ - deposit24h?: number; - volumeData: ReturnType; -}> { - const [deposit24h, depositData, withdrawalData] = await Promise.all([ - getDepositInTimeRange(epochNow - EPOCH_DAY_INTERVAL, epochNow), - getDepositDataByDateRange(startingEpoch, numDatesFromStart), - getWithdrawDataByDateRange(startingEpoch, numDatesFromStart), - ] as const); - - return { - deposit24h, - volumeData: getFormattedDataForVolumeChart(depositData, withdrawalData), - }; -} diff --git a/apps/hubble-stats/data/charts/getPoolRelayerEarningsChartData.ts b/apps/hubble-stats/data/charts/getPoolRelayerEarningsChartData.ts deleted file mode 100644 index 8e2ab4db23..0000000000 --- a/apps/hubble-stats/data/charts/getPoolRelayerEarningsChartData.ts +++ /dev/null @@ -1,93 +0,0 @@ -import vAnchorClient from '@webb-tools/vanchor-client'; -import { formatEther } from 'viem'; - -import { VANCHORS_MAP } from '../../constants'; -import type { ChartDataRecord, SubgraphUrlType } from '../../types'; -import { getFormattedDataForBasicChart } from '../../utils'; - -async function getVAnchorRelayerEarningsData( - vAnchorAddress: string, - subgraphUrls: SubgraphUrlType[], -) { - let relayerEarnings: number | undefined; - try { - const fetchedRelayerEarningsData = - await vAnchorClient.RelayerFee.GetVAnchorRelayerFeeByChains( - subgraphUrls, - vAnchorAddress, - ); - - relayerEarnings = fetchedRelayerEarningsData.reduce( - (total, relayerFeeByChain) => { - return total + +formatEther(BigInt(relayerFeeByChain.profit ?? 0)); - }, - 0, - ); - } catch { - relayerEarnings = undefined; - } - return relayerEarnings; -} - -async function getVAnchorRelayerEarningsDataByDateRange( - vAnchorAddress: string, - startingEpoch: number, - numDatesFromStart: number, - subgraphUrls: SubgraphUrlType[], -): Promise { - try { - const fetchedRelayerFeesData = - await vAnchorClient.RelayerFee.GetVAnchorRelayerFeeByChainsByDateRange( - subgraphUrls, - vAnchorAddress, - startingEpoch, - numDatesFromStart, - ); - - const relayerEarningsData = fetchedRelayerFeesData.reduce( - (relayerEarningsMap, relayerEarningsByChain) => { - Object.keys(relayerEarningsByChain).forEach((epoch) => { - if (!relayerEarningsMap[epoch]) relayerEarningsMap[epoch] = 0; - relayerEarningsMap[epoch] += +formatEther( - BigInt(relayerEarningsByChain[epoch].profit), - ); - }); - return relayerEarningsMap; - }, - {} as { [epoch: string]: number }, - ); - - return relayerEarningsData; - } catch (e) { - console.error('Error fetching Relayer Fees date range data', e); - } - return {}; -} - -export default async function getPoolRelayerEarningsChartData( - poolAddress: string, - startingEpoch: number, - numDatesFromStart: number, -): Promise<{ - relayerEarnings?: number; - poolRelayerEarningsData: ReturnType; -}> { - const { supportedSubgraphs } = VANCHORS_MAP[poolAddress]; - - const [relayerEarnings, poolRelayerEarningsData] = await Promise.all([ - getVAnchorRelayerEarningsData(poolAddress, supportedSubgraphs), - getVAnchorRelayerEarningsDataByDateRange( - poolAddress, - startingEpoch, - numDatesFromStart, - supportedSubgraphs, - ), - ] as const); - - return { - relayerEarnings, - poolRelayerEarningsData: getFormattedDataForBasicChart( - poolRelayerEarningsData, - ), - }; -} diff --git a/apps/hubble-stats/data/charts/getPoolTvlChartData.ts b/apps/hubble-stats/data/charts/getPoolTvlChartData.ts deleted file mode 100644 index 7987f2fd10..0000000000 --- a/apps/hubble-stats/data/charts/getPoolTvlChartData.ts +++ /dev/null @@ -1,55 +0,0 @@ -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { VANCHORS_MAP } from '../../constants'; -import type { ChartDataRecord, SubgraphUrlType } from '../../types'; -import { getFormattedDataForBasicChart, serializeEpochData } from '../../utils'; -import { getTvlByVAnchor } from '../utils'; - -async function getVAnchorTvlDataByDateRange( - vAnchorAddress: string, - startingEpoch: number, - numDatesFromStart: number, - subgraphUrls: SubgraphUrlType[], -): Promise { - try { - const fetchedTvlData = - await vAnchorClient.TotalValueLocked.GetVAnchorTVLByChainsByDateRange( - subgraphUrls, - vAnchorAddress, - startingEpoch, - numDatesFromStart, - ); - - return serializeEpochData(fetchedTvlData); - } catch (e) { - console.error('Error fetching TVL data', e); - } - - return {}; -} - -export default async function getPoolTvlChartData( - poolAddress: string, - startingEpoch: number, - numDatesFromStart: number, -): Promise<{ - currentPoolTvl?: number; - poolTvlData: ReturnType; -}> { - const subgraphUrls = VANCHORS_MAP[poolAddress].supportedSubgraphs; - - const [currentPoolTvl, poolTvlData] = await Promise.all([ - getTvlByVAnchor(poolAddress, subgraphUrls), - getVAnchorTvlDataByDateRange( - poolAddress, - startingEpoch, - numDatesFromStart, - subgraphUrls, - ), - ] as const); - - return { - currentPoolTvl, - poolTvlData: getFormattedDataForBasicChart(poolTvlData), - }; -} diff --git a/apps/hubble-stats/data/charts/getPoolTwlChartData.ts b/apps/hubble-stats/data/charts/getPoolTwlChartData.ts deleted file mode 100644 index cc2c64f95f..0000000000 --- a/apps/hubble-stats/data/charts/getPoolTwlChartData.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { VANCHORS_MAP } from '../../constants'; -import type { ChartDataRecord, SubgraphUrlType } from '../../types'; -import { getFormattedDataForBasicChart, serializeEpochData } from '../../utils'; - -async function getVAnchorTwl( - vAnchorAddress: string, - subgraphUrls: SubgraphUrlType[], -) { - let twl: number | undefined; - try { - const twlVAnchorByChainsData = - await vAnchorClient.TWL.GetVAnchorTWLByChains( - subgraphUrls, - vAnchorAddress, - ); - - twl = twlVAnchorByChainsData.reduce( - (twl, vAnchorByChain) => - twl + +formatEther(BigInt(vAnchorByChain?.total ?? 0)), - 0, - ); - } catch { - twl = undefined; - } - return twl; -} - -async function getVAnchorTwlDataByDateRange( - vAnchorAddress: string, - startingEpoch: number, - numDatesFromStart: number, - subgraphUrls: SubgraphUrlType[], -): Promise { - try { - const fetchedTwlData = - await vAnchorClient.TWL.GetVAnchorTWLByChainsByDateRange( - subgraphUrls, - vAnchorAddress, - startingEpoch, - numDatesFromStart, - ); - - return serializeEpochData(fetchedTwlData); - } catch (e) { - console.error('Error fetching TWL data', e); - } - - return {}; -} - -export default async function getPoolTwlChartData( - poolAddress: string, - startingEpoch: number, - numDatesFromStart: number, -): Promise<{ - currentPoolTwl?: number; - poolTwlData: ReturnType; -}> { - const { supportedSubgraphs } = VANCHORS_MAP[poolAddress]; - - const [currentPoolTwl, poolTwlData] = await Promise.all([ - getVAnchorTwl(poolAddress, supportedSubgraphs), - getVAnchorTwlDataByDateRange( - poolAddress, - startingEpoch, - numDatesFromStart, - supportedSubgraphs, - ), - ] as const); - - return { - currentPoolTwl, - poolTwlData: getFormattedDataForBasicChart(poolTwlData), - }; -} diff --git a/apps/hubble-stats/data/charts/getPoolVolumeChartData.ts b/apps/hubble-stats/data/charts/getPoolVolumeChartData.ts deleted file mode 100644 index 2386992e31..0000000000 --- a/apps/hubble-stats/data/charts/getPoolVolumeChartData.ts +++ /dev/null @@ -1,97 +0,0 @@ -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { VANCHORS_MAP } from '../../constants'; -import type { ChartDataRecord, SubgraphUrlType } from '../../types'; -import { - getFormattedDataForVolumeChart, - serializeEpochData, - EPOCH_DAY_INTERVAL, -} from '../../utils'; -import { getDepositInTimeRangeByVAnchor } from '../utils'; - -async function getVAnchorDepositDataByDateRange( - vAnchorAddress: string, - startingEpoch: number, - numDatesFromStart: number, - subgraphUrls: SubgraphUrlType[], -): Promise { - try { - const fetchedDepositData = - await vAnchorClient.Deposit.GetVAnchorDepositByChainsByDateRange( - subgraphUrls, - vAnchorAddress, - startingEpoch, - numDatesFromStart, - ); - - return serializeEpochData(fetchedDepositData); - } catch (e) { - console.error('Error fetching deposit data', e); - } - return {}; -} - -async function getVAnchorWithdrawalDataByDateRange( - vAnchorAddress: string, - startingEpoch: number, - numDatesFromStart: number, - subgraphUrls: SubgraphUrlType[], -): Promise { - try { - const fetchedWithdrawalData = - await vAnchorClient.Withdrawal.GetVAnchorWithdrawalByChainsByDateRange( - subgraphUrls, - vAnchorAddress, - startingEpoch, - numDatesFromStart, - ); - - return serializeEpochData(fetchedWithdrawalData); - } catch (e) { - console.error('Error fetching withdrawal data', e); - } - - return {}; -} - -export default async function getPoolVolumeChartData( - poolAddress: string, - startingEpoch: number, - epochNow: number, - numDatesFromStart: number, -): Promise<{ - poolDeposit24h?: number; - poolVolumeData: ReturnType; -}> { - const subgraphUrls = VANCHORS_MAP[poolAddress].supportedSubgraphs; - - const [poolDeposit24h, poolDepositData, poolWithdrawalData] = - await Promise.all([ - getDepositInTimeRangeByVAnchor( - poolAddress, - epochNow - EPOCH_DAY_INTERVAL, - epochNow, - subgraphUrls, - ), - getVAnchorDepositDataByDateRange( - poolAddress, - startingEpoch, - numDatesFromStart, - subgraphUrls, - ), - getVAnchorWithdrawalDataByDateRange( - poolAddress, - startingEpoch, - numDatesFromStart, - subgraphUrls, - ), - ] as const); - - return { - poolDeposit24h, - poolVolumeData: getFormattedDataForVolumeChart( - poolDepositData, - poolWithdrawalData, - ), - }; -} diff --git a/apps/hubble-stats/data/charts/getPoolWrappingFeesChartData.ts b/apps/hubble-stats/data/charts/getPoolWrappingFeesChartData.ts deleted file mode 100644 index 9b9be61a3c..0000000000 --- a/apps/hubble-stats/data/charts/getPoolWrappingFeesChartData.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { VANCHORS_MAP } from '../../constants'; -import type { ChartDataRecord, SubgraphUrlType } from '../../types'; -import { getFormattedDataForBasicChart, serializeEpochData } from '../../utils'; - -async function getVAnchorWrappingFees( - vAnchorAddress: string, - subgraphUrls: SubgraphUrlType[], -) { - let wrappingFees: number | undefined; - try { - const wrappingFeesVAnchorByChainsData = - await vAnchorClient.WrappingFee.GetVAnchorWrappingFeeByChains( - subgraphUrls, - vAnchorAddress, - ); - - wrappingFees = wrappingFeesVAnchorByChainsData.reduce( - (fees, vAnchorByChain) => - fees + +formatEther(BigInt(vAnchorByChain?.wrappingFee ?? 0)), - 0, - ); - } catch { - wrappingFees = undefined; - } - - return wrappingFees; -} - -async function getVAnchorWrappingFeesDataByDateRange( - vAnchorAddress: string, - startingEpoch: number, - numDatesFromStart: number, - subgraphUrls: SubgraphUrlType[], -): Promise { - try { - const fetchedWrappingFeesData = - await vAnchorClient.WrappingFee.GetVAnchorWrappingFeeByChainsByDateRange( - subgraphUrls, - vAnchorAddress, - startingEpoch, - numDatesFromStart, - ); - - return serializeEpochData(fetchedWrappingFeesData); - } catch (e) { - console.error('Error fetching wrapping fees data', e); - } - - return {}; -} - -export default async function getPoolWrappingFeesChartData( - poolAddress: string, - startingEpoch: number, - numDatesFromStart: number, -): Promise<{ - poolWrappingFees?: number; - poolWrappingFeesData: ReturnType; -}> { - const { supportedSubgraphs } = VANCHORS_MAP[poolAddress]; - - const [poolWrappingFees, poolWrappingFeesData] = await Promise.all([ - getVAnchorWrappingFees(poolAddress, supportedSubgraphs), - getVAnchorWrappingFeesDataByDateRange( - poolAddress, - startingEpoch, - numDatesFromStart, - supportedSubgraphs, - ), - ] as const); - - return { - poolWrappingFees, - poolWrappingFeesData: getFormattedDataForBasicChart(poolWrappingFeesData), - }; -} diff --git a/apps/hubble-stats/data/charts/index.ts b/apps/hubble-stats/data/charts/index.ts deleted file mode 100644 index 04ffb9593b..0000000000 --- a/apps/hubble-stats/data/charts/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export { default as getOverviewTvlChartData } from './getOverviewTvlChartData'; -export { default as getOverviewVolumeChartData } from './getOverviewVolumeChartData'; -export { default as getPoolRelayerEarningsChartData } from './getPoolRelayerEarningsChartData'; -export { default as getPoolTvlChartData } from './getPoolTvlChartData'; -export { default as getPoolTwlChartData } from './getPoolTwlChartData'; -export { default as getPoolVolumeChartData } from './getPoolVolumeChartData'; -export { default as getPoolWrappingFeesChartData } from './getPoolWrappingFeesChartData'; diff --git a/apps/hubble-stats/data/headerChips/getHistoricalDepositData.ts b/apps/hubble-stats/data/headerChips/getHistoricalDepositData.ts deleted file mode 100644 index f25f7ab975..0000000000 --- a/apps/hubble-stats/data/headerChips/getHistoricalDepositData.ts +++ /dev/null @@ -1,31 +0,0 @@ -import vAnchorClient from '@webb-tools/vanchor-client'; -import { formatEther } from 'viem'; -import { ACTIVE_SUBGRAPH_URLS, VANCHOR_ADDRESSES } from '../../constants'; - -export default async function getHistoricalDepositData() { - let deposit: number | undefined; - - try { - const depositVAnchorsByChainsData = - await vAnchorClient.Deposit.GetVAnchorsDepositByChains( - ACTIVE_SUBGRAPH_URLS, - VANCHOR_ADDRESSES, - ); - - deposit = depositVAnchorsByChainsData?.reduce( - (depositTotal, vAnchorsByChain) => { - const depositVAnchorsByChain = vAnchorsByChain.reduce( - (depositTotalByChain, vAnchorDeposit) => - depositTotalByChain + +formatEther(BigInt(vAnchorDeposit ?? 0)), - 0, - ); - return depositTotal + depositVAnchorsByChain; - }, - 0, - ); - } catch { - deposit = undefined; - } - - return deposit; -} diff --git a/apps/hubble-stats/data/headerChips/index.ts b/apps/hubble-stats/data/headerChips/index.ts deleted file mode 100644 index 353b61c280..0000000000 --- a/apps/hubble-stats/data/headerChips/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { default as getHeaderChipsDepositData } from './getHistoricalDepositData'; -export { getTvl as getHeaderChipsTvlData } from '../utils'; diff --git a/apps/hubble-stats/data/index.ts b/apps/hubble-stats/data/index.ts deleted file mode 100644 index 5dc7d07a60..0000000000 --- a/apps/hubble-stats/data/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './charts'; -export * from './headerChips'; -export * from './keyMetricsTable'; -export * from './poolInfoCard'; -export * from './poolTables'; -export * from './shieldedTables'; diff --git a/apps/hubble-stats/data/keyMetricsTable/getKeyMetricDepositData.ts b/apps/hubble-stats/data/keyMetricsTable/getKeyMetricDepositData.ts deleted file mode 100644 index b5b03342be..0000000000 --- a/apps/hubble-stats/data/keyMetricsTable/getKeyMetricDepositData.ts +++ /dev/null @@ -1,23 +0,0 @@ -import type { MetricType } from '../../types'; -import { EPOCH_DAY_INTERVAL } from '../../utils/date'; -import getChangeRate from '../../utils/getChangeRate'; -import { getDepositInTimeRange } from '../utils'; - -export default async function getKeyMetricDepositData( - epochNow: number, -): Promise { - const [deposit24h, deposit48h] = await Promise.all([ - getDepositInTimeRange(epochNow - EPOCH_DAY_INTERVAL, epochNow), - getDepositInTimeRange( - epochNow - 2 * EPOCH_DAY_INTERVAL, - epochNow - EPOCH_DAY_INTERVAL, - ), - ] as const); - - const depositChangeRate = getChangeRate(deposit24h, deposit48h); - - return { - value: deposit24h, - changeRate: depositChangeRate, - }; -} diff --git a/apps/hubble-stats/data/keyMetricsTable/getKeyMetricRelayerFeesData.ts b/apps/hubble-stats/data/keyMetricsTable/getKeyMetricRelayerFeesData.ts deleted file mode 100644 index cf4e3ab95b..0000000000 --- a/apps/hubble-stats/data/keyMetricsTable/getKeyMetricRelayerFeesData.ts +++ /dev/null @@ -1,32 +0,0 @@ -import vAnchorClient from '@webb-tools/vanchor-client'; -import { formatEther } from 'viem'; -import { ACTIVE_SUBGRAPH_URLS, VANCHOR_ADDRESSES } from '../../constants'; -import { MetricType } from '../../types'; - -export default async function getKeyMetricRelayerFeesData(): Promise { - try { - const fetchedRelayerFeesData = - await vAnchorClient.RelayerFee.GetVAnchorsRelayerFeeByChains( - ACTIVE_SUBGRAPH_URLS, - VANCHOR_ADDRESSES, - ); - - const fees = fetchedRelayerFeesData.reduce( - (relayerFeesTotal, vAnchorsByChain) => { - const relayerFeesVAnchorsByChain = vAnchorsByChain.reduce( - (relayerFeesTotalByChain, vAnchor) => - relayerFeesTotalByChain + +formatEther(BigInt(vAnchor.profit ?? 0)), - 0, - ); - return relayerFeesTotal + relayerFeesVAnchorsByChain; - }, - 0, - ); - - return { value: fees }; - } catch (error) { - console.error('Error while fetching relayer fee data', error); - } - - return {}; -} diff --git a/apps/hubble-stats/data/keyMetricsTable/getKeyMetricTvlData.ts b/apps/hubble-stats/data/keyMetricsTable/getKeyMetricTvlData.ts deleted file mode 100644 index 76e87d710e..0000000000 --- a/apps/hubble-stats/data/keyMetricsTable/getKeyMetricTvlData.ts +++ /dev/null @@ -1,51 +0,0 @@ -import vAnchorClient from '@webb-tools/vanchor-client'; -import { formatEther } from 'viem'; - -import { ACTIVE_SUBGRAPH_URLS, VANCHOR_ADDRESSES } from '../../constants'; -import { MetricType } from '../../types'; -import { getChangeRate, EPOCH_DAY_INTERVAL } from '../../utils'; -import { getTvl } from '../utils'; - -async function getTvl24h(epochStart: number, epochNow: number) { - try { - const latestTvlByVAnchorsByChains = - await vAnchorClient.TotalValueLocked.GetVAnchorsByChainsLatestTVLInTimeRange( - ACTIVE_SUBGRAPH_URLS, - VANCHOR_ADDRESSES, - epochStart, - epochNow - EPOCH_DAY_INTERVAL, - ); - - return Object.values(latestTvlByVAnchorsByChains).reduce( - (total, tvlByVAnchorsByChain) => { - const latestTvlByChain = tvlByVAnchorsByChain.reduce( - (totalByChain, tvlByVAnchor) => - totalByChain + - +formatEther(BigInt(tvlByVAnchor.totalValueLocked ?? 0)), - 0, - ); - return total + latestTvlByChain; - }, - 0, - ); - } catch (error) { - console.error('Error while fetching TVL 24h data', error); - } -} - -export default async function getKeyMetricTvlData( - epochStart: number, - epochNow: number, -): Promise { - const [tvl, tvl24h] = await Promise.all([ - getTvl(), - getTvl24h(epochStart, epochNow), - ] as const); - - const tvlChangeRate = getChangeRate(tvl, tvl24h); - - return { - value: tvl, - changeRate: tvlChangeRate, - }; -} diff --git a/apps/hubble-stats/data/keyMetricsTable/getKeyMetricWrappingFeesData.ts b/apps/hubble-stats/data/keyMetricsTable/getKeyMetricWrappingFeesData.ts deleted file mode 100644 index c3f2e4813d..0000000000 --- a/apps/hubble-stats/data/keyMetricsTable/getKeyMetricWrappingFeesData.ts +++ /dev/null @@ -1,33 +0,0 @@ -import vAnchorClient from '@webb-tools/vanchor-client'; -import { formatEther } from 'viem'; -import { ACTIVE_SUBGRAPH_URLS, VANCHOR_ADDRESSES } from '../../constants'; -import { MetricType } from '../../types'; - -export default async function getKeyMetricWrappingFeesData(): Promise { - try { - const fetchedWrappingFeesData = - await vAnchorClient.WrappingFee.GetVAnchorsWrappingFeeByChains( - ACTIVE_SUBGRAPH_URLS, - VANCHOR_ADDRESSES, - ); - - const fees = fetchedWrappingFeesData?.reduce( - (wrappingFeesTotal, vAnchorsByChain) => { - const wrappingFeesVAnchorsByChain = vAnchorsByChain.reduce( - (wrappingFeesTotalByChain, vAnchor) => - wrappingFeesTotalByChain + - +formatEther(BigInt(vAnchor.wrappingFee ?? 0)), - 0, - ); - return wrappingFeesTotal + wrappingFeesVAnchorsByChain; - }, - 0, - ); - - return { value: fees }; - } catch (error) { - console.error('Error while fetching wrapping fee data', error); - } - - return {}; -} diff --git a/apps/hubble-stats/data/keyMetricsTable/index.ts b/apps/hubble-stats/data/keyMetricsTable/index.ts deleted file mode 100644 index 60b83dc6b9..0000000000 --- a/apps/hubble-stats/data/keyMetricsTable/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { default as getKeyMetricDepositData } from './getKeyMetricDepositData'; -export { default as getKeyMetricRelayerFeesData } from './getKeyMetricRelayerFeesData'; -export { default as getKeyMetricTvlData } from './getKeyMetricTvlData'; -export { default as getKeyMetricWrappingFeesData } from './getKeyMetricWrappingFeesData'; diff --git a/apps/hubble-stats/data/poolInfoCard/getPoolInfoCardDepositData.ts b/apps/hubble-stats/data/poolInfoCard/getPoolInfoCardDepositData.ts deleted file mode 100644 index 6d99bd96b5..0000000000 --- a/apps/hubble-stats/data/poolInfoCard/getPoolInfoCardDepositData.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { MetricType } from '../../types'; -import { getChangeRate, EPOCH_DAY_INTERVAL } from '../../utils'; -import { getDepositInTimeRangeByVAnchor } from '../utils'; -import { VANCHORS_MAP } from '../../constants'; - -export default async function getPoolInfoCardDepositData( - poolAddress: string, - epochNow: number, -): Promise { - const subgraphUrls = VANCHORS_MAP[poolAddress].supportedSubgraphs; - - const [deposit24h, deposit48h] = await Promise.all([ - getDepositInTimeRangeByVAnchor( - poolAddress, - epochNow - EPOCH_DAY_INTERVAL, - epochNow, - subgraphUrls, - ), - getDepositInTimeRangeByVAnchor( - poolAddress, - epochNow - 2 * EPOCH_DAY_INTERVAL, - epochNow - EPOCH_DAY_INTERVAL, - subgraphUrls, - ), - ] as const); - - const depositChangeRate = getChangeRate(deposit24h, deposit48h); - - return { - value: deposit24h, - changeRate: depositChangeRate, - }; -} diff --git a/apps/hubble-stats/data/poolInfoCard/getPoolInfoCardTvlData.ts b/apps/hubble-stats/data/poolInfoCard/getPoolInfoCardTvlData.ts deleted file mode 100644 index 18117f1d9e..0000000000 --- a/apps/hubble-stats/data/poolInfoCard/getPoolInfoCardTvlData.ts +++ /dev/null @@ -1,59 +0,0 @@ -import vAnchorClient from '@webb-tools/vanchor-client'; -import { formatEther } from 'viem'; - -import { VANCHORS_MAP } from '../../constants'; -import { MetricType, SubgraphUrlType } from '../../types'; -import { getChangeRate, EPOCH_DAY_INTERVAL } from '../../utils'; -import { getTvlByVAnchor } from '../utils'; - -async function getTvl24hByVAnchor( - poolAddress: string, - epochStart: number, - epochNow: number, - subgraphUrls: SubgraphUrlType[], -) { - try { - const latestTvlByChains = await Promise.all( - subgraphUrls.map(async (subgraphUrl) => { - const latestTvlByVAnchorByChain = - await vAnchorClient.TotalValueLocked.GetVAnchorByChainLatestTVLInTimeRange( - subgraphUrl, - poolAddress, - epochStart, - epochNow - EPOCH_DAY_INTERVAL, - ); - return latestTvlByVAnchorByChain.totalValueLocked; - }), - ); - - return latestTvlByChains.reduce( - (total, latestTvlByChain) => - total + +formatEther(BigInt(latestTvlByChain ?? 0)), - 0, - ); - } catch (error) { - console.error('Error while fetching TVL 24h data', error); - } - - return undefined; -} - -export default async function getPoolInfoCardTvlData( - poolAddress: string, - epochStart: number, - epochNow: number, -): Promise { - const subgraphUrls = VANCHORS_MAP[poolAddress].supportedSubgraphs; - - const [tvl, tvl24h] = await Promise.all([ - getTvlByVAnchor(poolAddress, subgraphUrls), - getTvl24hByVAnchor(poolAddress, epochStart, epochNow, subgraphUrls), - ] as const); - - const tvlChangeRate = getChangeRate(tvl, tvl24h); - - return { - value: tvl, - changeRate: tvlChangeRate, - }; -} diff --git a/apps/hubble-stats/data/poolInfoCard/index.ts b/apps/hubble-stats/data/poolInfoCard/index.ts deleted file mode 100644 index 6f9f170a91..0000000000 --- a/apps/hubble-stats/data/poolInfoCard/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { default as getPoolInfoCardDepositData } from './getPoolInfoCardDepositData'; -export { default as getPoolInfoCardTvlData } from './getPoolInfoCardTvlData'; diff --git a/apps/hubble-stats/data/poolTables/getPoolDepositTableData.ts b/apps/hubble-stats/data/poolTables/getPoolDepositTableData.ts deleted file mode 100644 index cc0f453d4b..0000000000 --- a/apps/hubble-stats/data/poolTables/getPoolDepositTableData.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { VANCHORS_MAP, ACTIVE_SUBGRAPH_MAP } from '../../constants'; -import { - getAggregateValue, - EPOCH_DAY_INTERVAL, - getDateFromEpoch, -} from '../../utils'; - -export default async function getPoolDepositTableData( - poolAddress: string, - epochNow: number, - availableTypedChainIds: number[], -) { - const { fungibleTokenSymbol } = VANCHORS_MAP[poolAddress]; - - const deposit24hChainsData = {} as Record; - for (const typedChainId of availableTypedChainIds) { - let deposit24hByVAnchorByChain: number | undefined; - try { - const deposit24hData = - await vAnchorClient.Deposit.GetVAnchorDepositByChain15MinsInterval( - ACTIVE_SUBGRAPH_MAP[typedChainId], - poolAddress, - getDateFromEpoch(epochNow - EPOCH_DAY_INTERVAL), - getDateFromEpoch(epochNow), - ); - - deposit24hByVAnchorByChain = deposit24hData.reduce((deposit, item) => { - return deposit + +formatEther(BigInt(item.deposit ?? 0)); - }, 0); - } catch (error) { - deposit24hByVAnchorByChain = undefined; - } - deposit24hChainsData[typedChainId] = deposit24hByVAnchorByChain; - } - const deposit24hAggregate = getAggregateValue(deposit24hChainsData); - - return [ - { - symbol: fungibleTokenSymbol, - aggregate: deposit24hAggregate, - chainsData: deposit24hChainsData, - }, - ]; -} diff --git a/apps/hubble-stats/data/poolTables/getPoolMetadataTableData.ts b/apps/hubble-stats/data/poolTables/getPoolMetadataTableData.ts deleted file mode 100644 index d09b543ef2..0000000000 --- a/apps/hubble-stats/data/poolTables/getPoolMetadataTableData.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { - getDateFromEpoch, - getWrappingFeesPercentageByFungibleToken, - getExplorerUrlByAddressByChains, -} from '../../utils'; -import { VANCHORS_MAP } from '../../constants'; -import { - WrappingFeesByChainType, - AddressWithExplorerUrlsType, -} from '../../components/PoolMetadataTable/types'; - -type PoolMetadataDataType = { - name: string; - symbol: string; - signatureBridge: AddressWithExplorerUrlsType; - vAnchor: AddressWithExplorerUrlsType; - fungibleToken: AddressWithExplorerUrlsType; - treasuryAddress: AddressWithExplorerUrlsType; - wrappingFees: WrappingFeesByChainType; - creationDate: string; -}; - -export default async function getPoolMetadataTableData( - poolAddress: string, -): Promise { - const vAnchor = VANCHORS_MAP[poolAddress]; - const { - creationTimestamp, - supportedChains, - fungibleTokenName, - fungibleTokenSymbol, - fungibleTokenAddress, - signatureBridge, - treasuryAddress, - } = vAnchor; - const creationDate = getDateFromEpoch(creationTimestamp); - - const wrappingFees: WrappingFeesByChainType = {}; - for (const typedChainId of supportedChains) { - let feesPercentage: number | undefined; - try { - feesPercentage = await getWrappingFeesPercentageByFungibleToken( - fungibleTokenAddress, - typedChainId, - ); - } catch { - feesPercentage = undefined; - } - wrappingFees[typedChainId] = feesPercentage; - } - - return { - name: fungibleTokenName, - symbol: fungibleTokenSymbol, - signatureBridge: { - address: signatureBridge, - urls: getExplorerUrlByAddressByChains(signatureBridge, supportedChains), - }, - vAnchor: { - address: poolAddress, - urls: getExplorerUrlByAddressByChains(poolAddress, supportedChains), - }, - fungibleToken: { - address: fungibleTokenAddress, - urls: getExplorerUrlByAddressByChains( - fungibleTokenAddress, - supportedChains, - ), - }, - treasuryAddress: { - address: treasuryAddress, - urls: getExplorerUrlByAddressByChains(treasuryAddress, supportedChains), - }, - wrappingFees, - creationDate: new Date(creationDate).toLocaleDateString('en-US', { - day: 'numeric', - month: 'long', - year: 'numeric', - }), - }; -} diff --git a/apps/hubble-stats/data/poolTables/getPoolRelayerEarningsTableData.ts b/apps/hubble-stats/data/poolTables/getPoolRelayerEarningsTableData.ts deleted file mode 100644 index 653d69495d..0000000000 --- a/apps/hubble-stats/data/poolTables/getPoolRelayerEarningsTableData.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { VANCHORS_MAP, ACTIVE_SUBGRAPH_MAP } from '../../constants'; -import { getAggregateValue } from '../../utils'; - -export default async function getPoolRelayerEarningsTableData( - poolAddress: string, - availableTypedChainIds: number[], -) { - const { fungibleTokenSymbol } = VANCHORS_MAP[poolAddress]; - - const relayerEarningsChainsData = {} as Record; - for (const typedChainId of availableTypedChainIds) { - let relayerEarningsByVAnchorByChain: number | undefined; - try { - const relayerEarningsData = - await vAnchorClient.RelayerFee.GetVAnchorRelayerFeeByChain( - ACTIVE_SUBGRAPH_MAP[typedChainId], - poolAddress, - ); - relayerEarningsByVAnchorByChain = +formatEther( - BigInt(relayerEarningsData.profit ?? 0), - ); - } catch (error) { - relayerEarningsByVAnchorByChain = undefined; - } - relayerEarningsChainsData[typedChainId] = relayerEarningsByVAnchorByChain; - } - const relayerEarningsAggregate = getAggregateValue(relayerEarningsChainsData); - - return [ - { - symbol: fungibleTokenSymbol, - aggregate: relayerEarningsAggregate, - chainsData: relayerEarningsChainsData, - }, - ]; -} diff --git a/apps/hubble-stats/data/poolTables/getPoolTransactionTableData.ts b/apps/hubble-stats/data/poolTables/getPoolTransactionTableData.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/apps/hubble-stats/data/poolTables/getPoolTransactionsTableData.ts b/apps/hubble-stats/data/poolTables/getPoolTransactionsTableData.ts deleted file mode 100644 index f4ac1bf125..0000000000 --- a/apps/hubble-stats/data/poolTables/getPoolTransactionsTableData.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; -import { getTimeDetailByEpoch } from '@webb-tools/webb-ui-components/utils'; - -import { VANCHORS_MAP, ACTIVE_SUBGRAPH_MAP } from '../../constants'; -import { PoolTransactionType } from '../../components/PoolTransactionsTable/types'; - -const TRANSACTIONS_LIMIT = 100; - -export default async function getPoolTransactionsTableData( - poolAddress: string, -): Promise { - const { nativeTokenByChain, supportedSubgraphs } = VANCHORS_MAP[poolAddress]; - - const subgraphByTypedChainIdMap = Object.keys(ACTIVE_SUBGRAPH_MAP).reduce( - (map, typedChainId) => { - map[ACTIVE_SUBGRAPH_MAP[+typedChainId]] = +typedChainId; - return map; - }, - {} as Record, - ); - - let transactions: PoolTransactionType[] = []; - try { - const fetchedTransactions = - await vAnchorClient.Transaction.GetVAnchorTransactionsByChains( - supportedSubgraphs, - poolAddress, - TRANSACTIONS_LIMIT, - ); - - transactions = fetchedTransactions.map((tx) => { - const amount = +formatEther(BigInt(tx.amount)); - const activity = - amount > 0 ? 'deposit' : amount < 0 ? 'withdraw' : 'transfer'; - - const sourceTypedChainId = subgraphByTypedChainIdMap[tx.subgraphUrl]; - // check for native token - const tokenSymbol = - BigInt(tx.tokenAddress) === BigInt(0) - ? nativeTokenByChain[sourceTypedChainId] - : tx.tokenSymbol; - - return { - txHash: tx.txHash, - activity, - tokenAmount: Math.abs(amount), - tokenSymbol, - sourceTypedChainId, - destinationTypedChainId: undefined, - time: getTimeDetailByEpoch(tx.timestamp), - }; - }); - } catch { - transactions = []; - } - - return transactions; -} diff --git a/apps/hubble-stats/data/poolTables/getPoolTwlTableData.ts b/apps/hubble-stats/data/poolTables/getPoolTwlTableData.ts deleted file mode 100644 index 4ceaffce5a..0000000000 --- a/apps/hubble-stats/data/poolTables/getPoolTwlTableData.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { VANCHORS_MAP, ACTIVE_SUBGRAPH_MAP } from '../../constants'; -import { getAggregateValue } from '../../utils'; - -export default async function getPoolTwlTableData( - poolAddress: string, - availableTypedChainIds: number[], -) { - const { - fungibleTokenSymbol, - composition, - nativeTokenByChain, - wrappableTokensByChain, - } = VANCHORS_MAP[poolAddress]; - - const twlChainsData = {} as Record; - for (const typedChainId of availableTypedChainIds) { - let twlByVAnchorByChain: number | undefined; - try { - const twlData = await vAnchorClient.TWL.GetVAnchorTWLByChain( - ACTIVE_SUBGRAPH_MAP[typedChainId], - poolAddress, - ); - - twlByVAnchorByChain = +formatEther(BigInt(twlData.total ?? 0)); - } catch (error) { - twlByVAnchorByChain = undefined; - } - twlChainsData[typedChainId] = twlByVAnchorByChain; - } - const twlAggregate = getAggregateValue(twlChainsData); - - // TWL by tokens - const twlTokensData = await Promise.all( - composition.map(async (token) => { - const twlTokenChainsData = {} as Record; - for (const typedChainId of availableTypedChainIds) { - let twlByVAnchorByChain: number | undefined; - - // if token is not supported in the chain, return undefined - if ( - !wrappableTokensByChain[typedChainId].includes(token) && - token !== nativeTokenByChain[typedChainId] - ) { - twlByVAnchorByChain = undefined; - continue; - } - - try { - const twlData = - await vAnchorClient.TWL.GetVAnchorTWLByChainAndByToken( - ACTIVE_SUBGRAPH_MAP[typedChainId], - poolAddress, - // query for native token needs to convert to ETH - token === nativeTokenByChain[typedChainId] ? 'ETH' : token, - ); - twlByVAnchorByChain = +formatEther(BigInt(twlData.total ?? 0)); - } catch (error) { - twlByVAnchorByChain = undefined; - } - twlTokenChainsData[typedChainId] = twlByVAnchorByChain; - } - const twlTokenAggregate = getAggregateValue(twlTokenChainsData); - const compositionPercentage = - twlAggregate && twlTokenAggregate - ? parseFloat(((twlTokenAggregate / twlAggregate) * 100).toFixed(1)) - : undefined; - return { - symbol: token, - compositionPercentage, - aggregate: twlTokenAggregate, - chainsData: twlTokenChainsData, - }; - }), - ); - - return [ - { - symbol: fungibleTokenSymbol, - aggregate: twlAggregate, - chainsData: twlChainsData, - tokens: twlTokensData, - }, - ]; -} diff --git a/apps/hubble-stats/data/poolTables/getPoolWithdrawalTableData.ts b/apps/hubble-stats/data/poolTables/getPoolWithdrawalTableData.ts deleted file mode 100644 index e6a5b8639a..0000000000 --- a/apps/hubble-stats/data/poolTables/getPoolWithdrawalTableData.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { VANCHORS_MAP, ACTIVE_SUBGRAPH_MAP } from '../../constants'; -import { - getAggregateValue, - EPOCH_DAY_INTERVAL, - getDateFromEpoch, -} from '../../utils'; - -export default async function getPoolWithdrawalTableData( - poolAddress: string, - epochNow: number, - availableTypedChainIds: number[], -) { - const { fungibleTokenSymbol } = VANCHORS_MAP[poolAddress]; - - const withdrawal24hChainsData = {} as Record; - for (const typedChainId of availableTypedChainIds) { - let withdrawal24hByVAnchorByChain: number | undefined; - try { - const withdrawal24hData = - await vAnchorClient.Withdrawal.GetVAnchorWithdrawalByChain15MinsInterval( - ACTIVE_SUBGRAPH_MAP[typedChainId], - poolAddress, - getDateFromEpoch(epochNow - EPOCH_DAY_INTERVAL), - getDateFromEpoch(epochNow), - ); - - withdrawal24hByVAnchorByChain = withdrawal24hData.reduce( - (withdrawal, item) => { - return withdrawal + +formatEther(BigInt(item.withdrawal ?? 0)); - }, - 0, - ); - } catch (error) { - withdrawal24hByVAnchorByChain = undefined; - } - withdrawal24hChainsData[typedChainId] = withdrawal24hByVAnchorByChain; - } - const withdrawal24hAggregate = getAggregateValue(withdrawal24hChainsData); - - return [ - { - symbol: fungibleTokenSymbol, - aggregate: withdrawal24hAggregate, - chainsData: withdrawal24hChainsData, - }, - ]; -} diff --git a/apps/hubble-stats/data/poolTables/getPoolWrappingFeesTableData.ts b/apps/hubble-stats/data/poolTables/getPoolWrappingFeesTableData.ts deleted file mode 100644 index d9c1736599..0000000000 --- a/apps/hubble-stats/data/poolTables/getPoolWrappingFeesTableData.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { VANCHORS_MAP, ACTIVE_SUBGRAPH_MAP } from '../../constants'; -import { getAggregateValue } from '../../utils'; - -export default async function getPoolWrappingFeesTableData( - poolAddress: string, - availableTypedChainIds: number[], -) { - const { - fungibleTokenSymbol, - composition, - nativeTokenByChain, - wrappableTokensByChain, - } = VANCHORS_MAP[poolAddress]; - - const wrappingFeesChainsData = {} as Record; - for (const typedChainId of availableTypedChainIds) { - let wrappingFeesByVAnchorByChain: number | undefined; - try { - const wrappingFeesData = - await vAnchorClient.WrappingFee.GetVAnchorWrappingFeeByChain( - ACTIVE_SUBGRAPH_MAP[typedChainId], - poolAddress, - ); - - wrappingFeesByVAnchorByChain = +formatEther( - BigInt(wrappingFeesData.wrappingFee ?? 0), - ); - } catch (error) { - wrappingFeesByVAnchorByChain = undefined; - } - wrappingFeesChainsData[typedChainId] = wrappingFeesByVAnchorByChain; - } - const wrappingFeesAggregate = getAggregateValue(wrappingFeesChainsData); - - // WRAPPING FEES by tokens - const wrappingFeesTokesData = await Promise.all( - composition.map(async (token) => { - const wrappingFeesTokenChainsData = {} as Record< - number, - number | undefined - >; - for (const typedChainId of availableTypedChainIds) { - let wrappingFeesByVAnchorByChain: number | undefined; - - // if token is not supported in the chain, return undefined - if ( - !wrappableTokensByChain[typedChainId].includes(token) && - token !== nativeTokenByChain[typedChainId] - ) { - wrappingFeesByVAnchorByChain = undefined; - continue; - } - - try { - const wrappingFeesData = - await vAnchorClient.WrappingFee.GetVAnchorWrappingFeeByChainAndByToken( - ACTIVE_SUBGRAPH_MAP[typedChainId], - poolAddress, - // query for native token needs to convert to ETH - token === nativeTokenByChain[typedChainId] ? 'ETH' : token, - ); - - wrappingFeesByVAnchorByChain = +formatEther( - BigInt(wrappingFeesData.wrappingFee ?? 0), - ); - } catch (error) { - wrappingFeesByVAnchorByChain = undefined; - } - wrappingFeesTokenChainsData[typedChainId] = - wrappingFeesByVAnchorByChain; - } - const wrappingFeesTokenAggregate = getAggregateValue( - wrappingFeesTokenChainsData, - ); - const compositionPercentage = - wrappingFeesAggregate && wrappingFeesTokenAggregate - ? parseFloat( - ( - (wrappingFeesTokenAggregate / wrappingFeesAggregate) * - 100 - ).toFixed(1), - ) - : undefined; - return { - symbol: token, - compositionPercentage, - aggregate: wrappingFeesTokenAggregate, - chainsData: wrappingFeesTokenChainsData, - }; - }), - ); - - return [ - { - symbol: fungibleTokenSymbol, - aggregate: wrappingFeesAggregate, - chainsData: wrappingFeesChainsData, - tokens: wrappingFeesTokesData, - }, - ]; -} diff --git a/apps/hubble-stats/data/poolTables/index.ts b/apps/hubble-stats/data/poolTables/index.ts deleted file mode 100644 index d8854513c8..0000000000 --- a/apps/hubble-stats/data/poolTables/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export { default as getPoolDepositTableData } from './getPoolDepositTableData'; -export { default as getPoolMetadataTableData } from './getPoolMetadataTableData'; -export { default as getPoolRelayerEarningsTableData } from './getPoolRelayerEarningsTableData'; -export { default as getPoolTransactionsTableData } from './getPoolTransactionsTableData'; -export { default as getPoolTwlTableData } from './getPoolTwlTableData'; -export { default as getPoolWithdrawalTableData } from './getPoolWithdrawalTableData'; -export { default as getPoolWrappingFeesTableData } from './getPoolWrappingFeesTableData'; diff --git a/apps/hubble-stats/data/shieldedTables/getShieldedAssetsTableData.ts b/apps/hubble-stats/data/shieldedTables/getShieldedAssetsTableData.ts deleted file mode 100644 index bdfd89ab5a..0000000000 --- a/apps/hubble-stats/data/shieldedTables/getShieldedAssetsTableData.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { EPOCH_DAY_INTERVAL, getDateFromEpoch } from '../../utils'; -import { getDepositInTimeRangeByVAnchor } from '../utils'; -import { VANCHORS_MAP, VANCHOR_ADDRESSES } from '../../constants'; -import { ShieldedAssetType } from '../../components/ShieldedAssetsTable/types'; -import { SubgraphUrlType } from '../../types'; - -const getWithdrawals24h = async ( - supportedSubgraphs: Array, - vAnchorAddress: string, - tokenSymbol: string, - epochNow: number, -) => { - try { - const withdrawalVAnchorsByChainsData = - await vAnchorClient.Withdrawal.GetVAnchorWithdrawalByChainsAndByToken15MinsInterval( - supportedSubgraphs, - vAnchorAddress, - tokenSymbol, - getDateFromEpoch(epochNow - EPOCH_DAY_INTERVAL), - getDateFromEpoch(epochNow), - ); - - return withdrawalVAnchorsByChainsData.reduce( - (withdrawal, vAnchorsByChain) => { - const withdrawalVAnchorsByChain = vAnchorsByChain.reduce( - (withdrawalByChain, vAnchorWithdrawal) => - withdrawalByChain + - +formatEther(BigInt(vAnchorWithdrawal.withdrawal ?? 0)), - 0, - ); - return withdrawal + withdrawalVAnchorsByChain; - }, - 0, - ); - } catch { - return; - } -}; - -const getAssetInfoFromVAnchor = async ( - vAnchorAddress: string, - epochNow: number, -) => { - const vanchor = VANCHORS_MAP[vAnchorAddress]; - const { fungibleTokenSymbol: tokenSymbol, supportedSubgraphs } = vanchor; - - const [deposits24h, withdrawals24h] = await Promise.all([ - getDepositInTimeRangeByVAnchor( - vAnchorAddress, - epochNow - EPOCH_DAY_INTERVAL, - epochNow, - supportedSubgraphs, - ), - getWithdrawals24h( - supportedSubgraphs, - vAnchorAddress, - tokenSymbol, - epochNow, - ), - ]); - - return { - address: vanchor.fungibleTokenAddress, - poolAddress: vAnchorAddress, - symbol: vanchor.fungibleTokenSymbol, - url: undefined, - poolType: vanchor.poolType, - composition: vanchor.composition, - deposits24h, - withdrawals24h, - typedChainIds: vanchor.supportedChains, - }; -}; - -export default async function getShieldedAssetsTableData( - epochNow: number, -): Promise { - return await Promise.all( - VANCHOR_ADDRESSES.map((vanchor) => - getAssetInfoFromVAnchor(vanchor, epochNow), - ), - ); -} diff --git a/apps/hubble-stats/data/shieldedTables/getShieldedPoolsTableData.ts b/apps/hubble-stats/data/shieldedTables/getShieldedPoolsTableData.ts deleted file mode 100644 index 8771cd28e5..0000000000 --- a/apps/hubble-stats/data/shieldedTables/getShieldedPoolsTableData.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { VANCHORS_MAP, VANCHOR_ADDRESSES } from '../../constants'; -import { ShieldedPoolType } from '../../components/ShieldedPoolsTable/types'; -import { getTvlByVAnchor, getDepositInTimeRangeByVAnchor } from '../utils'; -import { EPOCH_DAY_INTERVAL } from '../../utils'; - -const getPoolInfoFromVAnchor = async ( - vAnchorAddress: string, - epochNow: number, -) => { - const vAnchor = VANCHORS_MAP[vAnchorAddress]; - - // plus one for fungible token - const tokenNum = vAnchor.composition.length + 1; - - const [deposits24h, tvl] = await Promise.all([ - getDepositInTimeRangeByVAnchor( - vAnchorAddress, - epochNow - EPOCH_DAY_INTERVAL, - epochNow, - vAnchor.supportedSubgraphs, - ), - getTvlByVAnchor(vAnchorAddress, vAnchor.supportedSubgraphs), - ]); - - return { - address: vAnchorAddress, - symbol: vAnchor.fungibleTokenName, - poolType: vAnchor.poolType, - token: tokenNum, - deposits24h, - tvl, - currency: vAnchor.fungibleTokenSymbol, - typedChainIds: vAnchor.supportedChains, - }; -}; - -export default async function getShieldedPoolsTableData( - epochNow: number, -): Promise { - return await Promise.all( - VANCHOR_ADDRESSES.map((vAnchor) => - getPoolInfoFromVAnchor(vAnchor, epochNow), - ), - ); -} diff --git a/apps/hubble-stats/data/shieldedTables/index.ts b/apps/hubble-stats/data/shieldedTables/index.ts deleted file mode 100644 index 42dc0c7d6b..0000000000 --- a/apps/hubble-stats/data/shieldedTables/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { default as getShieldedAssetsTableData } from './getShieldedAssetsTableData'; -export { default as getShieldedPoolsTableData } from './getShieldedPoolsTableData'; diff --git a/apps/hubble-stats/data/utils/getDepositInTimeRange.ts b/apps/hubble-stats/data/utils/getDepositInTimeRange.ts deleted file mode 100644 index 856b89dc58..0000000000 --- a/apps/hubble-stats/data/utils/getDepositInTimeRange.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { VANCHOR_ADDRESSES, ACTIVE_SUBGRAPH_URLS } from '../../constants'; -import { getDateFromEpoch } from '../../utils'; - -export default async function getDepositInTimeRange( - epochStart: number, - epochEnd: number, -) { - let deposit: number | undefined; - try { - const depositVAnchorsByChainsData = - await vAnchorClient.Deposit.GetVAnchorsDepositByChains15MinsInterval( - ACTIVE_SUBGRAPH_URLS, - VANCHOR_ADDRESSES, - getDateFromEpoch(epochStart), - getDateFromEpoch(epochEnd), - ); - - deposit = depositVAnchorsByChainsData?.reduce( - (depositTotal, vAnchorsByChain) => { - const depositVAnchorsByChain = vAnchorsByChain.reduce( - (depositTotalByChain, vAnchor) => - depositTotalByChain + +formatEther(BigInt(vAnchor.deposit ?? 0)), - 0, - ); - return depositTotal + depositVAnchorsByChain; - }, - 0, - ); - } catch { - deposit = undefined; - } - - return deposit; -} diff --git a/apps/hubble-stats/data/utils/getDepositInTimeRangeByVAnchor.ts b/apps/hubble-stats/data/utils/getDepositInTimeRangeByVAnchor.ts deleted file mode 100644 index ce9f8fb6e2..0000000000 --- a/apps/hubble-stats/data/utils/getDepositInTimeRangeByVAnchor.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { getDateFromEpoch } from '../../utils'; -import { SubgraphUrlType } from '../../types'; - -export default async function getDepositInTimeRangeByVAnchor( - vAnchorAddress: string, - epochStart: number, - epochEnd: number, - subgraphUrls: SubgraphUrlType[], -) { - let deposit: number | undefined; - try { - const depositVAnchorByChainsData = - await vAnchorClient.Deposit.GetVAnchorDepositByChains15MinsInterval( - subgraphUrls, - vAnchorAddress, - getDateFromEpoch(epochStart), - getDateFromEpoch(epochEnd), - ); - - deposit = depositVAnchorByChainsData.reduce((deposit, vAnchorsByChain) => { - const depositVAnchorsByChain = vAnchorsByChain.reduce( - (depositByChain, vAnchorDeposit) => - depositByChain + +formatEther(BigInt(vAnchorDeposit.deposit ?? 0)), - 0, - ); - return deposit + depositVAnchorsByChain; - }, 0); - } catch { - deposit = undefined; - } - - return deposit; -} diff --git a/apps/hubble-stats/data/utils/getTvl.ts b/apps/hubble-stats/data/utils/getTvl.ts deleted file mode 100644 index 94df42d788..0000000000 --- a/apps/hubble-stats/data/utils/getTvl.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { VANCHOR_ADDRESSES, ACTIVE_SUBGRAPH_URLS } from '../../constants'; - -const getTvl = async (): Promise => { - let tvl: number | undefined; - try { - const tvlVAnchorsByChainsData = - await vAnchorClient.TotalValueLocked.GetVAnchorsTotalValueLockedByChains( - ACTIVE_SUBGRAPH_URLS, - VANCHOR_ADDRESSES, - ); - - tvl = tvlVAnchorsByChainsData?.reduce((tvlTotal, vAnchorsByChain) => { - const tvlVAnchorsByChain = vAnchorsByChain.reduce( - (tvlTotalByChain, vAnchor) => - tvlTotalByChain + +formatEther(BigInt(vAnchor.totalValueLocked ?? 0)), - 0, - ); - return tvlTotal + tvlVAnchorsByChain; - }, 0); - } catch { - tvl = undefined; - } - - return tvl; -}; - -export default getTvl; diff --git a/apps/hubble-stats/data/utils/getTvlByVAnchor.ts b/apps/hubble-stats/data/utils/getTvlByVAnchor.ts deleted file mode 100644 index c94d6e2a29..0000000000 --- a/apps/hubble-stats/data/utils/getTvlByVAnchor.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { formatEther } from 'viem'; -import vAnchorClient from '@webb-tools/vanchor-client'; - -import { SubgraphUrlType } from '../../types'; - -const getTvlByVAnchor = async ( - vAnchorAddress: string, - subgraphUrls: SubgraphUrlType[], -): Promise => { - let tvl: number | undefined; - try { - const tvlVAnchorByChainsData = - await vAnchorClient.TotalValueLocked.GetVAnchorTotalValueLockedByChains( - subgraphUrls, - vAnchorAddress, - ); - - tvl = tvlVAnchorByChainsData.reduce( - (tvl, vAnchorByChain) => - tvl + +formatEther(BigInt(vAnchorByChain?.totalValueLocked ?? 0)), - 0, - ); - } catch { - tvl = undefined; - } - - return tvl; -}; - -export default getTvlByVAnchor; diff --git a/apps/hubble-stats/data/utils/index.ts b/apps/hubble-stats/data/utils/index.ts deleted file mode 100644 index c6ef0d84de..0000000000 --- a/apps/hubble-stats/data/utils/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { default as getDepositInTimeRange } from './getDepositInTimeRange'; -export { default as getDepositInTimeRangeByVAnchor } from './getDepositInTimeRangeByVAnchor'; -export { default as getTvl } from './getTvl'; -export { default as getTvlByVAnchor } from './getTvlByVAnchor'; diff --git a/apps/hubble-stats/index.d.ts b/apps/hubble-stats/index.d.ts deleted file mode 100644 index 7ba08fa17c..0000000000 --- a/apps/hubble-stats/index.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -declare module '*.svg' { - const content: any; - export const ReactComponent: any; - export default content; -} diff --git a/apps/hubble-stats/jest.config.ts b/apps/hubble-stats/jest.config.ts deleted file mode 100644 index 12df35a939..0000000000 --- a/apps/hubble-stats/jest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'hubble-stats', - preset: '../../jest.preset.js', - transform: { - '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nx/react/plugins/jest', - '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nx/next/babel'] }], - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '../../coverage/apps/hubble-stats', -}; diff --git a/apps/hubble-stats/netlify.toml b/apps/hubble-stats/netlify.toml deleted file mode 100644 index e7fb38c363..0000000000 --- a/apps/hubble-stats/netlify.toml +++ /dev/null @@ -1,3 +0,0 @@ -[build] -command = "yarn nx build hubble-stats --verbose --skip-nx-cache" -publish = "./dist/apps/hubble-stats/.next" diff --git a/apps/hubble-stats/next-env.d.ts b/apps/hubble-stats/next-env.d.ts deleted file mode 100644 index 4f11a03dc6..0000000000 --- a/apps/hubble-stats/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/apps/hubble-stats/next.config.js b/apps/hubble-stats/next.config.js deleted file mode 100644 index 1e32011080..0000000000 --- a/apps/hubble-stats/next.config.js +++ /dev/null @@ -1,48 +0,0 @@ -//@ts-check - -const { composePlugins, withNx } = require('@nx/next'); -const nextConfigBase = require('../../next.config.js'); - -/** - * @type {import('@nx/next/plugins/with-nx').WithNxOptions} - **/ -const nextConfig = { - ...nextConfigBase, - - // at default environment variable is only accessible by the server, resulting in hydration mismatch - // make environment variable accessible by both the server and client - env: { - USING_LOCAL_SUBGRAPHS: process.env.USING_LOCAL_SUBGRAPHS ?? '', - }, - - nx: { - // Set this to true if you would like to use SVGR - // See: https://github.com/gregberge/svgr - svgr: false, - }, - - // webpack config for wasm support - // following this approach: https://github.com/vercel/next.js/issues/29362#issuecomment-1149903338 - webpack: (config) => { - // Hide Critical dependency warning from @graphql-mesh/* packages - // https://github.com/i18next/next-i18next/issues/1545#issuecomment-1005990731 - // NOTE: This is a workaround as - // @graphql-mesh/config is not compatible to React or any other environment that uses bundler or something else - // Check this issue https://github.com/Urigo/graphql-mesh/issues/2256#issuecomment-852846813 - config.module = { - ...config.module, - exprContextCritical: false, - }; - - return config; - }, - - transpilePackages: ['@webb-tools/vanchor-client'], -}; - -const plugins = [ - // Add more Next.js plugins to this list if needed. - withNx, -]; - -module.exports = composePlugins(...plugins)(nextConfig); diff --git a/apps/hubble-stats/package.json b/apps/hubble-stats/package.json deleted file mode 100644 index 2d45b190f4..0000000000 --- a/apps/hubble-stats/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@webb-tools/hubble-stats", - "version": "0.0.8", - "license": "Apache-2.0", - "type": "module" -} diff --git a/apps/hubble-stats/postcss.config.js b/apps/hubble-stats/postcss.config.js deleted file mode 100644 index 15d89344f9..0000000000 --- a/apps/hubble-stats/postcss.config.js +++ /dev/null @@ -1,17 +0,0 @@ -const { join } = require('path'); - -// Note: If you use library-specific PostCSS/Tailwind configuration then you should remove the `postcssConfig` build -// option from your application's configuration (i.e. project.json). -// -// See: https://nx.dev/guides/using-tailwind-css-in-react#step-4:-applying-configuration-to-libraries - -module.exports = { - plugins: { - 'postcss-import': {}, - 'tailwindcss/nesting': {}, - tailwindcss: { - config: join(__dirname, 'tailwind.config.js'), - }, - autoprefixer: {}, - }, -}; diff --git a/apps/hubble-stats/project.json b/apps/hubble-stats/project.json deleted file mode 100644 index b53806b8b9..0000000000 --- a/apps/hubble-stats/project.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "hubble-stats", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "apps/hubble-stats", - "projectType": "application", - "targets": { - "serve": { - "executor": "@nx/next:server", - "defaultConfiguration": "development", - "options": { - "buildTarget": "hubble-stats:build", - "dev": true - }, - "dependsOn": ["fetch-on-chain-config", "^serve"], - "configurations": { - "development": { - "buildTarget": "hubble-stats:build:development", - "dev": true - }, - "production": { - "buildTarget": "hubble-stats:build:production", - "dev": false - } - } - }, - "fetch-on-chain-config": { - "executor": "nx:run-commands", - "options": { - "command": "yarn fetch:onChainConfig", - "color": true - } - }, - "export": { - "executor": "@nx/next:export", - "options": { - "buildTarget": "hubble-stats:build:production" - } - }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "apps/hubble-stats/jest.config.ts" - } - } - }, - "tags": [] -} diff --git a/apps/hubble-stats/public/.gitkeep b/apps/hubble-stats/public/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/apps/hubble-stats/public/favicon.ico b/apps/hubble-stats/public/favicon.ico deleted file mode 100644 index 317ebcb2336e0833a22dddf0ab287849f26fda57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 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 D(ybpE diff --git a/apps/hubble-stats/public/static/assets/bg-dark.jpeg b/apps/hubble-stats/public/static/assets/bg-dark.jpeg deleted file mode 100644 index 53d5ef5ed140e5fd93e9dff1571f1401cc583c31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101853 zcmd444|E*Wc{hA#v};x?o2=!PVhp9TicD6*q8Muaq|lDmGF=QL>qT&`KehHx&%fZZ3s>~$ zpY6Tu%1`I7&Y$(vUHY=Cbh}ET($n3X7(6rNgkh z2A!;bFgLz%uDVD2w^uLLoXyHr$A0OkFW5h@=M_gCr%n4#y{*!sj4gr@ryP4&IGV zpHKuuvFL$>cv-v;W05rVDdKSY{n!1Q>pEj^UA@@VvZ^q()Lzp3fZ>>HT zJzRu}JM&4F89RMqkAatyD5ueYH)Vu_uBFhUc&Up&6O+%c6ld0_n5$J|?9SsJ@WEnN z_EoMk*41+D)M=wimPMIS#>=-Tal!kWoZa~Oq5;R_G6ry#(&>*G`=(c~?2Ts(Jx`Ra zu_OSky1lAl(LhhLNeZ58pr>&snsE8T^@nykdSTkYimP~ulHK{*8Sg0BxSpdw!keJX z1=D*xcY>D$r9xn2M!1mC(%`Q|DS>~reP-br+)H>=4V|$tcvEMF3|}$H*n<8254do^ zSmCYgVFxUNog57~y|Did*G4E-)cET$xwj9{h=@=2feIL@xRh&FW z&o6EJV9#g{)MPNbD`tN7_2=8SnGzAN6X*mDa=>skkyIHWoK(o7fz%$LP!%vi^4fPx zPTKbF9y#wu|BLP4I(xC^zBK!+n@Zm*_&^ph95*T1EeCEqpK-u|qzG|b4AKD##q~R1mNwNf>>p-2}Qb_HAW>G+vW4NhgSa(W}E&cP#Cpsm)W)Hc9 zJ`DkuYo()AK9zGSJ!%yS+q_PbNJkH>-+XRVOGnaLlrcSLQexA<)vX2tQ&kFZ7XPP( zhtW#``2uMyf^#5{fnzg|PV6a0q7lZR1sIsJa-Z+n*=u?t*N^*NVyu0p0PW-|USmYL z`Fe+J<6WJSGOnX3SD3%?e04-M1mgH)(JVmYx6nsXoUK}YE}ekWpsf|CGm?`4jdWV- z+0#bz9I!mg16py1>@zyJuhc0<^XbxZZCjOc;3VegyNqz+sMD!OoZ=;YJHIknWGVrO z_YWy3P}ehfRCC=+L`s^#G`JKJB2d}*Buk{smQC}?MwyYspX*j{MV-kXiydwDHd}RY zoYR2h&0dx}eR`8-^*4`PQkv&whWDEXZ09E+CwnnZ5TTZaoTm=4Yr#QgPaMb|1D`1n z8y!j5(>h&B01ES;bT)JW=oXTsHtKrvyN$~(PtYKKMSbH%NCI~OKe-`(@&m7y6N*?L=D6EL-;8DC{k}i42ss(v3u-kU6B>z1l%cU#NE4tdEE3$36_|s(By(kG z+oq&J7$m+1rTUeY{(U7iwZs3SxWSM2gooxB&_^er&o}PjU1%0voItyP*)mQ{N)&LgAdy&gc z(sSTeG~yiq@%(SBoMuHWt$`}RoC{wh-V-dyPplEdu_d!}hQ+pa>h5Mw4RpBlK2IBK zxi&TGYTGh3YPcF4PC3Z~1=;}rR}^6Ik-t*nRNmSY0YdIOU{c+y$Cp)ct1Ox;kRG`>^PRxx>^%>WTkFU`H?ba2!zsvPz(# zbzG$nHQ7=)FKep?vz=tn0z^=_@eOm8#7dbEB}|n(tTx1sL<0sQ1jg~lO37pnqHCC? zG&I#J@qZe+tO_;E8+c&sSF0cQ4i&wyY-1VnoD`m}9G}?ZVmvZZ*!q`l1pbP^7|U!; z^CP$qv6lt!-^WdZU#{Do9y?vCM@AUZV zUQ34VusjNo6%aHA)(#3h$9v0Q9u3T_W* zRf|R#P?d|3Ek^MMRG=L;VhEh!g8+;$4VIk3Y^doZus2AGD2LDC=LiU>d|6#+S*0AQ#=m*b|( z>87~OZ>{$u{@V0u56o5FwW^SEzZ?ZY6K^kQM#~T-pePo*$B?A;_kVDTSe5hNPgIz$j9SxsltNOQX#9701$psPyaF(GN)5NkHhi0z# zMc5LN^y;cEN0Rwp>{%#2-9NF7N6dNZ(ApdHBt=64Zn^zOL*bvjq(9J)F|RIcs$ z#914yc{q*-cK)O0sN!^faGR$EjZc1vs4lS^!aZEh8EA|R&FtBUqbR1BEV6lcb7j-2aA^QLuq9f3BFp3dr7!~5u za(5VPF{3oU@G#=kM3*9lqC!-_W-b{eb=mawV+?ixBqm`GikysS6bO?A(_^nNfK7$B ziPI3DvwM&GC^6hvc+;Ivr6iHl0<&nOY2b;oHbTHbd(pdvyeD%R@I64Z2{iH|j=&yi zLnu5FJse$>d*lF5myv@&UlOAvDFrlSt~g8;bF^>=q?bGK%6v+-DrY`HTgE6@7G*RY z64+&&mf&d%y2PZp>V`;(QWz<+s{f@?5|R`Yf?Va22sR7+0xRr7Gbz)DD9Pd~ui&;W z1sJ3hd%Wqws&|q_Ei1lfRYr*``!TZSUyy&_e0@I841vBZIG9c{+M|Cj7bO}Jzfx8P}Pz76tqKzBFzlFan}e5R|rH0W;kROo|?bfboj+M z;XdKS`I;rTd-mW)4~hE4_y8D18o>B?--uwsXoB>ExoAf$DRj>LRGLwAaO)@!-U3Vx z7^n_(n8h%&S8~jtfs7JrG7Fh4)_Le-ba1}eD+bM*5A6QtX@+~C>hKp@)j zBv}a#5+V}!6UM|+8!jQsJ%d;qK*EMQv2h(o4hY(=00$E4IkdRdf=#XEV+~mI*6HdIpycL)0Ko zz{!$9RhSY3Q7}W8jQ~y*fR55Ny=@~M>nX^UTi&JjwnghlH+kFUhpI6N`E2{BP`Zc) zK{Pt-Vv>|p<(LCzlglPXLAGR;k&gq>!=J)2)8SBAAXn@0TYT&w>zermAflenI+yH8=hyB<|=Le6rblqmMO03`Tm6jN2$MWU`fMX>sgv zoRwi5lYAU2Ekh&>aN<6oFahQyl>wRrYe~=pD`hMxS_h=TUVd8(bI}} zi3eD`Vpu01JpK;P_C_Hy#-OLcXGIA9O~4pz42lM24A>qcKqB5i?=(0NaDt90I0jr& zT*L;9@NX6BfWkxRR$G`OmVim@58Petv_Thm)^3n61SQcLG@>0cD*%!x0x;q+Xl7sw zRxkkyoNasmMg~U|rkGJGMnG?ZAW@~&UbvfUIH(aZ5Qns0*rJ2Sru>&lVNjUH)hltl zu@c}ciOHnf5O?TO$O0i&BM4DcP$`&CCuj*_F`l&J>EZUNJs?c1pUD$VQUnNpKvq

sC+aLHMxb1O`4wUfO_#<|Gklo>b;20Y1l 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 P`D<0tG}gQ(RI%s|$%BN+O#9 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 UWcju)KqrASK}!t~leY%{1@cE~JOBUy diff --git a/apps/hubble-stats/tailwind.config.js b/apps/hubble-stats/tailwind.config.js deleted file mode 100644 index 141c3345ce..0000000000 --- a/apps/hubble-stats/tailwind.config.js +++ /dev/null @@ -1,32 +0,0 @@ -const { createGlobPatternsForDependencies } = require('@nx/react/tailwind'); -const { join } = require('path'); - -const preset = require('../../tailwind.preset.cjs'); - -/** @type {import('tailwindcss').Config} */ -module.exports = { - presets: [preset], - content: [ - join( - __dirname, - '{src,pages,components,containers,app}/**/*!(*.stories|*.spec).{ts,tsx,html}', - ), - join( - __dirname, - '../../libs/webb-ui-components', - 'src/{pages,components}/**/*!(*.stories|*.spec).{ts,tsx,html}', - ), - ...createGlobPatternsForDependencies(__dirname), - ], - theme: { - extend: { - backgroundImage: { - glass: - 'linear-gradient(180deg,rgba(255,255,255,0.80) 0%,rgba(255,255,255,0.00) 100%)', - glass_dark: - 'linear-gradient(180deg,rgba(43,47,64,0.80) 0%,rgba(43,47,64,0.00) 100%)', - }, - }, - }, - plugins: [], -}; diff --git a/apps/hubble-stats/tsconfig.json b/apps/hubble-stats/tsconfig.json deleted file mode 100644 index fd0241e72c..0000000000 --- a/apps/hubble-stats/tsconfig.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "jsx": "preserve", - "allowJs": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "resolveJsonModule": true, - "isolatedModules": true, - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], - "types": ["jest", "node"], - "skipLibCheck": true - }, - "include": [ - "**/*.ts", - "**/*.tsx", - "**/*.js", - "**/*.jsx", - "next-env.d.ts", - "../../apps/hubble-stats/.next/types/**/*.ts", - "../../dist/apps/hubble-stats/.next/types/**/*.ts" - ], - "exclude": [ - "node_modules", - "jest.config.ts", - "src/**/*.spec.ts", - "src/**/*.test.ts" - ] -} diff --git a/apps/hubble-stats/tsconfig.spec.json b/apps/hubble-stats/tsconfig.spec.json deleted file mode 100644 index e62c9eecd9..0000000000 --- a/apps/hubble-stats/tsconfig.spec.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "types": ["jest", "node"], - "jsx": "react" - }, - "include": [ - "jest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.test.tsx", - "src/**/*.spec.tsx", - "src/**/*.test.js", - "src/**/*.spec.js", - "src/**/*.test.jsx", - "src/**/*.spec.jsx", - "src/**/*.d.ts" - ] -} diff --git a/apps/hubble-stats/types/index.ts b/apps/hubble-stats/types/index.ts deleted file mode 100644 index 23fa9695da..0000000000 --- a/apps/hubble-stats/types/index.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { ACTIVE_SUBGRAPH_MAP } from '../constants'; - -export type ChartDataRecord = { [epoch: string]: number }; - -/** - * The epoch response from the vAnchor client. - * TODO: Extract this type from the vAnchor client. - */ -export type EpochResponse = { - [epoch: string]: bigint; -}; - -export type MetricType = { - value?: number; - changeRate?: number; -}; - -export type FormattedBasicChartDataType = { - date: Date; - value: number; -}[]; - -export type FormattedVolumeChartDataType = { - date: Date; - deposit: number; - withdrawal: number; -}[]; - -export type SubgraphUrlType = - (typeof ACTIVE_SUBGRAPH_MAP)[keyof typeof ACTIVE_SUBGRAPH_MAP]; diff --git a/apps/hubble-stats/utils/date.ts b/apps/hubble-stats/utils/date.ts deleted file mode 100644 index 50bac3ef48..0000000000 --- a/apps/hubble-stats/utils/date.ts +++ /dev/null @@ -1,29 +0,0 @@ -export const getDateFromEpoch = (epoch: number): Date => { - const d = new Date(0); - d.setUTCSeconds(epoch); - return d; -}; - -export const EPOCH_DAY_INTERVAL = 24 * 60 * 60; - -const getEpochNow = () => Math.floor(new Date().getTime() / 1000); - -const EPOCH_START = process.env.HUBBLE_STATS_EPOCH_START - ? +process.env.HUBBLE_STATS_EPOCH_START - : 1692144000; - -const getEpochStart = () => { - return EPOCH_START; -}; - -export const getDateDataForPage = () => { - const epochStart = getEpochStart(); - const epochNow = getEpochNow(); - - return { - epochStart, - epochNow, - numDatesFromStart: - 1 + Math.floor((epochNow - epochStart) / EPOCH_DAY_INTERVAL), - }; -}; diff --git a/apps/hubble-stats/utils/getAggregateValue.ts b/apps/hubble-stats/utils/getAggregateValue.ts deleted file mode 100644 index 9960b648ec..0000000000 --- a/apps/hubble-stats/utils/getAggregateValue.ts +++ /dev/null @@ -1,11 +0,0 @@ -const getAggregateValue = ( - object: Record, -): number | undefined => { - return Object.values(object).reduce((total, value) => { - const currentTotal = typeof total === 'number' ? total : 0; - if (value === undefined) return currentTotal; - return currentTotal + value; - }, 0); -}; - -export default getAggregateValue; diff --git a/apps/hubble-stats/utils/getChainNamesByTypedId.ts b/apps/hubble-stats/utils/getChainNamesByTypedId.ts deleted file mode 100644 index ad6ace5bce..0000000000 --- a/apps/hubble-stats/utils/getChainNamesByTypedId.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { chainsConfig } from '@webb-tools/dapp-config/chains'; - -const getChainNamesByTypedId = (typedChainIds: number[]) => { - return typedChainIds.map((typedChainId) => chainsConfig[typedChainId].name); -}; - -export default getChainNamesByTypedId; diff --git a/apps/hubble-stats/utils/getChangeRate.ts b/apps/hubble-stats/utils/getChangeRate.ts deleted file mode 100644 index 2c98961e08..0000000000 --- a/apps/hubble-stats/utils/getChangeRate.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * A function to calculate the percentage change between two numbers - * @param value1 - * @param value2 - * @returns the percentage change - */ -const getChangeRate = ( - value1: number | undefined, - value2: number | undefined, -) => { - return value1 && value2 ? ((value1 - value2) / value2) * 100 : undefined; -}; - -export default getChangeRate; diff --git a/apps/hubble-stats/utils/getExplorerUrlByAddressByChains.ts b/apps/hubble-stats/utils/getExplorerUrlByAddressByChains.ts deleted file mode 100644 index a3b1148ced..0000000000 --- a/apps/hubble-stats/utils/getExplorerUrlByAddressByChains.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { chainsConfig } from '@webb-tools/dapp-config/chains'; -import { getExplorerURI } from '@webb-tools/api-provider-environment/transaction/utils'; - -const getExplorerUrlByAddressByChains = ( - address: string, - typedChainIds: number[], -): Record => { - return typedChainIds.reduce((map, typedChainId) => { - const blockExplorerUrl = - chainsConfig[typedChainId]?.blockExplorers?.default?.url; - - return { - ...map, - [typedChainId]: blockExplorerUrl - ? getExplorerURI( - blockExplorerUrl, - address, - 'address', - 'web3', - ).toString() - : undefined, - }; - }, {}); -}; - -export default getExplorerUrlByAddressByChains; diff --git a/apps/hubble-stats/utils/getFormattedDataForBasicChart.ts b/apps/hubble-stats/utils/getFormattedDataForBasicChart.ts deleted file mode 100644 index 5a7f8e42b6..0000000000 --- a/apps/hubble-stats/utils/getFormattedDataForBasicChart.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { ChartDataRecord, FormattedBasicChartDataType } from '../types'; -import { getDateFromEpoch } from './date'; - -const getFormattedDataForBasicChart = ( - data: ChartDataRecord, -): FormattedBasicChartDataType => { - return Object.keys(data).map((epoch) => { - return { - date: JSON.parse( - JSON.stringify(getDateFromEpoch(+epoch)), - ) satisfies Date as Date, - value: data[+epoch], - }; - }); -}; - -export default getFormattedDataForBasicChart; diff --git a/apps/hubble-stats/utils/getFormattedDataForVolumeChart.ts b/apps/hubble-stats/utils/getFormattedDataForVolumeChart.ts deleted file mode 100644 index 025e4b4fd5..0000000000 --- a/apps/hubble-stats/utils/getFormattedDataForVolumeChart.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { ChartDataRecord, FormattedVolumeChartDataType } from '../types'; -import { getDateFromEpoch } from './date'; - -type VolumeDataType = { - [epoch: string]: { deposit: number; withdrawal: number }; -}; - -const getFormattedDataForVolumeChart = ( - depositData: ChartDataRecord, - withdrawalData: ChartDataRecord, -): FormattedVolumeChartDataType => { - const volumeData: VolumeDataType = Object.keys(depositData).reduce( - (volumeMap, epoch) => { - volumeMap[epoch] = { - deposit: depositData[epoch] ? depositData[epoch] : 0, - withdrawal: withdrawalData[epoch] ? withdrawalData[epoch] : 0, - }; - return volumeMap; - }, - {} as VolumeDataType, - ); - - return Object.keys(volumeData).map((epoch) => { - return { - date: JSON.parse(JSON.stringify(getDateFromEpoch(+epoch))), - deposit: volumeData[+epoch].deposit, - withdrawal: volumeData[+epoch].withdrawal, - }; - }); -}; - -export default getFormattedDataForVolumeChart; diff --git a/apps/hubble-stats/utils/getRoundedDownNumberWith2Decimals.ts b/apps/hubble-stats/utils/getRoundedDownNumberWith2Decimals.ts deleted file mode 100644 index 3cf9d628a9..0000000000 --- a/apps/hubble-stats/utils/getRoundedDownNumberWith2Decimals.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { getRoundedAmountString } from '@webb-tools/webb-ui-components/utils'; - -const getRoundedDownNumberWith2Decimals = (number: number | undefined) => { - return getRoundedAmountString(number, 2, { - roundingFunction: Math.floor, - totalLength: 0, - }); -}; - -export default getRoundedDownNumberWith2Decimals; diff --git a/apps/hubble-stats/utils/getShortenChainName.ts b/apps/hubble-stats/utils/getShortenChainName.ts deleted file mode 100644 index 7cb8184091..0000000000 --- a/apps/hubble-stats/utils/getShortenChainName.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { chainsConfig } from '@webb-tools/dapp-config/chains'; - -const getShortenChainName = (typedChainId: number) => { - const fullChainName = chainsConfig[typedChainId].name; - return fullChainName.split(' ').pop(); -}; - -export default getShortenChainName; diff --git a/apps/hubble-stats/utils/getSortedTypedChainIds.ts b/apps/hubble-stats/utils/getSortedTypedChainIds.ts deleted file mode 100644 index f70491ea59..0000000000 --- a/apps/hubble-stats/utils/getSortedTypedChainIds.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { chainsConfig } from '@webb-tools/dapp-config/chains'; - -/** - * A function to sort typedChainIds by name - * @param chainIds - * @returns sorted chain ids - */ -const getSortedTypedChainIds = (chainIds: number[]) => { - return chainIds.sort((chain1, chain2) => { - const chain1Group = chainsConfig[chain1].group; - const chain2Group = chainsConfig[chain2].group; - - // if the chain groups are the same or one of the groups is undefined, sort by name - if ( - chain1Group === chain2Group || - chain1Group === undefined || - chain2Group === undefined - ) { - return chainsConfig[chain1].name.localeCompare(chainsConfig[chain2].name); - } - - // otherwise, sort by chain group - return chain1Group.localeCompare(chain2Group); - }); -}; - -export default getSortedTypedChainIds; diff --git a/apps/hubble-stats/utils/getWrappingFeesPercentageByFungibleToken.ts b/apps/hubble-stats/utils/getWrappingFeesPercentageByFungibleToken.ts deleted file mode 100644 index 7510bfc269..0000000000 --- a/apps/hubble-stats/utils/getWrappingFeesPercentageByFungibleToken.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { getContract } from 'viem'; -import { FungibleTokenWrapper__factory } from '@webb-tools/contracts'; -import getViemClient from '@webb-tools/web3-api-provider/utils/getViemClient'; -import ensureHex from '@webb-tools/dapp-config/utils/ensureHex'; - -const getWrappingFeesPercentageByFungibleToken = async ( - address: string, - typedChainId: number, -) => { - const client = getViemClient(typedChainId); - const addressHex = ensureHex(address); - - const fungibleTokenContract = getContract({ - address: addressHex, - abi: FungibleTokenWrapper__factory.abi, - client, - }); - - const feesPercentage = await fungibleTokenContract.read.feePercentage(); - return feesPercentage; -}; - -export default getWrappingFeesPercentageByFungibleToken; diff --git a/apps/hubble-stats/utils/index.ts b/apps/hubble-stats/utils/index.ts deleted file mode 100644 index 4fcdbe8094..0000000000 --- a/apps/hubble-stats/utils/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -export { default as getAggregateValue } from './getAggregateValue'; -export { default as getChainNamesByTypedId } from './getChainNamesByTypedId'; -export { default as getChangeRate } from './getChangeRate'; -export { default as getExplorerUrlByAddressByChains } from './getExplorerUrlByAddressByChains'; -export { default as getFormattedDataForBasicChart } from './getFormattedDataForBasicChart'; -export { default as getFormattedDataForVolumeChart } from './getFormattedDataForVolumeChart'; -export { default as getRoundedDownNumberWith2Decimals } from './getRoundedDownNumberWith2Decimals'; -export { default as getShortenChainName } from './getShortenChainName'; -export { default as getSortedTypedChainIds } from './getSortedTypedChainIds'; -export { default as getWrappingFeesPercentageByFungibleToken } from './getWrappingFeesPercentageByFungibleToken'; -export { default as serializeEpochData } from './serializeEpochData'; - -export * from './date'; diff --git a/apps/hubble-stats/utils/serializeEpochData.ts b/apps/hubble-stats/utils/serializeEpochData.ts deleted file mode 100644 index b2ac51da21..0000000000 --- a/apps/hubble-stats/utils/serializeEpochData.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { formatEther } from 'viem'; -import type { ChartDataRecord, EpochResponse } from '../types'; - -function serializeEpochData(epochData: Array): ChartDataRecord { - return epochData.reduce((prev, current) => { - Object.keys(current).forEach((epoch) => { - if (!prev[epoch]) prev[epoch] = 0; - prev[epoch] += +formatEther(BigInt(current[epoch])); - }); - return prev; - }, {} as ChartDataRecord); -} - -export default serializeEpochData; diff --git a/apps/stats-dapp/.eslintrc.json b/apps/stats-dapp/.eslintrc.json deleted file mode 100644 index 905d643b40..0000000000 --- a/apps/stats-dapp/.eslintrc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": ["../../.eslintrc.json"], - "ignorePatterns": ["!**/*"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": { - } - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ] -} diff --git a/apps/stats-dapp/.gitignore b/apps/stats-dapp/.gitignore deleted file mode 100644 index 991bcf2a66..0000000000 --- a/apps/stats-dapp/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -build/ -src/generated/ -./graphql.schema.json \ No newline at end of file diff --git a/apps/stats-dapp/.graphqlconfig b/apps/stats-dapp/.graphqlconfig deleted file mode 100644 index cc534533cc..0000000000 --- a/apps/stats-dapp/.graphqlconfig +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extensions": { - "endpoints": { - "url": "https://standalone-subql.webb.tools/graphql", - "subscription": "https://standalone-subql.webb.tools/graphql" - }, - "schemaPath": "./schema.graphql" - } -} - diff --git a/apps/stats-dapp/CHANGELOG.md b/apps/stats-dapp/CHANGELOG.md deleted file mode 100644 index c8891df4b9..0000000000 --- a/apps/stats-dapp/CHANGELOG.md +++ /dev/null @@ -1,176 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -### Added - -- New feature or functionality -- New file or resource - -### Changed - -- Updates to existing features -- Changes to existing files or resources - -### Deprecated - -- Features or functionality that will be removed in future versions -- Files or resources that will be removed in future versions - -### Removed - -- Features or functionality that have been removed -- Files or resources that have been removed - -### Fixed - -- Bug fixes -- Corrections to existing files or resources - -### Security - -- Security-related changes, such as vulnerability patches - -## [0.0.2] - 2023-04-17 - -### Fixed - -- Bug fix for authorities progress bar: https://github.com/webb-tools/webb-dapp/commit/82b8a3a120fb44fa87e4bf0e01c62f778649bdbd -- Bug fix for keygen table: https://github.com/webb-tools/webb-dapp/commit/86dd345497d7a5798be4a19b1a6e3fca80680d26 - -## [0.0.3] - 2023-04-21 - -### Fixed - -- Bug fix for authorities table in authorities page: https://github.com/webb-tools/webb-dapp/pull/1125 - -## [0.0.4] - 2023-04-25 - -### Fixed - -- Bug fix to resolve displaying the next DKG key issue: https://github.com/webb-tools/webb-dapp/pull/1140 - -## [0.0.5] - 2023-04-26 - -### Fixed - -- Removes tx hash from stats-dapp: https://github.com/webb-tools/webb-dapp/pull/1144 -- Fixes prev and next proposal buttons: https://github.com/webb-tools/webb-dapp/pull/1144 -- Removes open governance chip from details page: https://github.com/webb-tools/webb-dapp/pull/1144 -- Replaces Webb avatar logo with Tangle logo: https://github.com/webb-tools/webb-dapp/pull/1144 -- Fixes proposal chart to start at first data point: https://github.com/webb-tools/webb-dapp/pull/1145 - -## [0.0.6] - 2023-04-27 - -### Fixed - -- Fixes proposers not being displayed in proposal drawer: https://github.com/webb-tools/webb-dapp/pull/1149 -- Updates stats-dapp build script to include codegen generation: https://github.com/webb-tools/webb-dapp/pull/1149 - -## [0.0.7] - 2023-04-28 - -### Fixed - -- Bug fix to display correct timeline of proposal events: https://github.com/webb-tools/webb-dapp/pull/1154 - -### Changed - -- Timeline Item component's date & time format: https://github.com/webb-tools/webb-dapp/pull/1154 - -## [0.0.8] - 2023-05-12 - -### Fixed - -- Typescale and proposals table removed status display: https://github.com/webb-tools/webb-dapp/pull/1206 - -[Unreleased]: https://github.com/webb-tools/webb-dapp/compare/v0.0.1...HEAD -[0.0.7]: https://github.com/webb-tools/webb-dapp/releases/tag/v0.0.7 -[0.0.8]: https://github.com/webb-tools/webb-dapp/releases/tag/v0.0.8 - -## [0.0.9] - 2023-06-02 - -### Fixed, Changed and Added - -- Fix stats-dapp Netlify build fail -- Fixes Network Thresholds History Chart -- Adds swirl BG image to stats dapp -- Fixes stats keys page refresh issue -- Fixes cumulative proposals graph -- Adds a check for proposal data on proposal detail page to prevent from crashing -- Updates proposals query's fetch policy to always fetch latest data - -## [0.0.10] - 2023-06-09 - -### Fixed, Changed and Added - -- Fixes proposal table buggy pagination ([#1310](https://github.com/webb-tools/webb-dapp/pull/1310)) - -## [0.0.11] - 2023-06-28 - -### Fixed, Changed and Added - -- Fixes stats keys table pagination ([#1338](https://github.com/webb-tools/webb-dapp/pull/1338)) -- Fixes stats progress bar session length ([#1358](https://github.com/webb-tools/webb-dapp/pull/1358)) -- Fixes inconsistent stats background image ([#1359](https://github.com/webb-tools/webb-dapp/pull/1359)) -- Fixes keys table real-time update & progress bar reset ([#1371](https://github.com/webb-tools/webb-dapp/pull/1371)) - -## [0.0.12] - 2023-08-07 - -### Fixed, Changed and Added - -- Remove proposal page and addresses bugs in keys and authorities page ([#1501](https://github.com/webb-tools/webb-dapp/pull/1501)). - -## [0.0.13] - 2023-09-02 - -### Fixed, Changed and Added - -- Adds proposal hooks in stats-dapp to fetch batched proposals ([#1511](https://github.com/webb-tools/webb-dapp/pull/1511)) -- Adds proposal table, proposal status container, fixes theme toggle and dropdown issue ([#1525](https://github.com/webb-tools/webb-dapp/pull/1525)) -- Adds Proposal Details Page to stats-dapp ([#1549](https://github.com/webb-tools/webb-dapp/pull/1549)) -- Stats dApp Fixes: footer, compressed key flex & proposal detail page color ([#1554](https://github.com/webb-tools/webb-dapp/pull/1554)) -- Use PolkadotAPI to show live chain data and Bug fixes in stats-dapp ([#1566](https://github.com/webb-tools/webb-dapp/pull/1566)) -- Stats dApp fixes and adds rotated key status to key timeline ([#1576](https://github.com/webb-tools/webb-dapp/pull/1576)) - -## [0.0.14] - 2023-09-09 - -### Fixed, Changed and Added - -- DKG Stats Bug Fixes and UI enhancements ([#1560](https://github.com/webb-tools/webb-dapp/pull/1560)) - -## [0.0.15] - 2023-09-19 - -### Fixed, Changed and Added - -- UI improvements -- Unifying backend to `webb-ui-kit` - -## [0.0.16] - 2023-09-21 - -### Fixed, Changed and Added - -- DKG stats-dapp QA (Sept 13, 2023) fixes part 1 ([#1639](https://github.com/webb-tools/webb-dapp/pull/1639)). - -## [0.0.17] - 2023-09-30 - -### Fixed, Changed and Added - -- Show chain name in proposal detail ([#1689](https://github.com/webb-tools/webb-dapp/pull/1689)). -- Fix prev session's active period incorrect progress bar ([#1713](https://github.com/webb-tools/webb-dapp/pull/1713)). - -## [0.0.18] - 2023-09-30 - -### Fixed, Changed and Added - -- Update DKG Stats favicon to match with Tangle Marketing favicon [#1725](https://github.com/webb-tools/webb-dapp/pull/1725). - -## [0.0.19] - 2023-10-05 - -### Fixed, Changed and Added - -- Fixes incorrect threshold values in key detail page [#1743](https://github.com/webb-tools/webb-dapp/pull/1743). -- Updated SEO description [#1744](https://github.com/webb-tools/webb-dapp/pull/1744). diff --git a/apps/stats-dapp/README.md b/apps/stats-dapp/README.md deleted file mode 100644 index 3d68149a08..0000000000 --- a/apps/stats-dapp/README.md +++ /dev/null @@ -1,49 +0,0 @@ -

- -# Webb DKG Statistics - -

- An interface for displaying statistical data of Webb's Tangle Network (DKG system). -
-

- -## Run DKG Stats DApp - -After setting up the development environment, you can proceed to run the DKG stats dApp locally by installing the required dependencies and running the DKG stats dApp. - -1. Clone this repo - - ```bash - git clone git@github.com:webb-tools/webb-dapp.git - ``` - -2. Install dependencies by `yarn` - - ```bash - yarn install - ``` - -3. Start the dApp by the following command: - - ```bash - yarn start:stats - ``` - -Visit `http://localhost:3001/` to see the Webb Stats UI! If you would like to setup a local SubQuery backend please refer to the instructions [here](https://github.com/webb-tools/webb-subql#webb-subquery). - -Happy hacking! - -

Need help?

- -If you need help or you want to additional information please: - -- Refer to the [Webb Official Documentation](https://docs.webb.tools/). -- If you have feedback on how to improve the Webb Dapp interface or you have a specific question? Check out the [Webb Dapp Feedback Discussion](https://github.com/webb-tools/feedback/discussions/categories/webb-dapp-feedback). -- If you found a bug please [open an issue](https://github.com/webb-tools/webb-dapp/issues/new/choose) or [join our Discord](https://discord.gg/jUDeFpggrR) server to report it. diff --git a/apps/stats-dapp/browserslist b/apps/stats-dapp/browserslist deleted file mode 100644 index 8d6179367e..0000000000 --- a/apps/stats-dapp/browserslist +++ /dev/null @@ -1,13 +0,0 @@ -# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries -# -# If you need to support different browsers in production, you may tweak the list below. - -last 1 Chrome version -last 1 Firefox version -last 2 Edge major versions -last 2 Safari major version -last 2 iOS major versions -Firefox ESR -not IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file diff --git a/apps/stats-dapp/codegen.yml b/apps/stats-dapp/codegen.yml deleted file mode 100644 index e9eb1d527a..0000000000 --- a/apps/stats-dapp/codegen.yml +++ /dev/null @@ -1,20 +0,0 @@ -overwrite: true -schema: "https://standalone-subql.webb.tools/graphql" -documents: - - "apps/stats-dapp/src/**/*.graphql" -generates: - apps/stats-dapp/src/generated/graphql.tsx: - plugins: - - "typescript" - - "typescript-operations" - - "typescript-react-apollo" - - apps/stats-dapp/graphql.schema.json: - plugins: - - "introspection" - config: - withComponent: true - withHooks: true - withMutationFn: true - withRefetchFn: true - skipTypename: true diff --git a/apps/stats-dapp/jest.config.ts b/apps/stats-dapp/jest.config.ts deleted file mode 100644 index 1970e0c09c..0000000000 --- a/apps/stats-dapp/jest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'stats-dapp', - preset: '../../jest.preset.js', - setupFilesAfterEnv: ['/src/test-setup.ts'], - transform: { - '^.+\\.[tj]s$': 'babel-jest', - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/apps/stats-dapp', -}; diff --git a/apps/stats-dapp/package.json b/apps/stats-dapp/package.json deleted file mode 100644 index 615721b1b5..0000000000 --- a/apps/stats-dapp/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@webb-tools/stats-dapp", - "version": "0.0.19", - "type": "module", - "license": "Apache-2.0" -} diff --git a/apps/stats-dapp/postcss.config.js b/apps/stats-dapp/postcss.config.js deleted file mode 100644 index 15d89344f9..0000000000 --- a/apps/stats-dapp/postcss.config.js +++ /dev/null @@ -1,17 +0,0 @@ -const { join } = require('path'); - -// Note: If you use library-specific PostCSS/Tailwind configuration then you should remove the `postcssConfig` build -// option from your application's configuration (i.e. project.json). -// -// See: https://nx.dev/guides/using-tailwind-css-in-react#step-4:-applying-configuration-to-libraries - -module.exports = { - plugins: { - 'postcss-import': {}, - 'tailwindcss/nesting': {}, - tailwindcss: { - config: join(__dirname, 'tailwind.config.js'), - }, - autoprefixer: {}, - }, -}; diff --git a/apps/stats-dapp/project.json b/apps/stats-dapp/project.json deleted file mode 100644 index eb032977b6..0000000000 --- a/apps/stats-dapp/project.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "stats-dapp", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "projectType": "application", - "sourceRoot": "apps/stats-dapp/src", - "tags": [], - "targets": { - "serve": { - "executor": "@nx/webpack:dev-server", - "dependsOn": ["gql-codegen"], - "options": { - "buildTarget": "stats-dapp:build", - "webpackConfig": "apps/stats-dapp/webpack.config.js" - }, - "configurations": { - "production": { - "buildTarget": "stats-dapp:build:production", - "webpackConfig": "apps/stats-dapp/webpack.config.js" - } - } - }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "apps/stats-dapp/jest.config.ts" - } - }, - "gql-codegen": { - "executor": "nx:run-commands", - "options": { - "command": "yarn gql:codegen", - "color": true - } - } - } -} diff --git a/apps/stats-dapp/src/App.tsx b/apps/stats-dapp/src/App.tsx deleted file mode 100644 index 5e13f8cfbf..0000000000 --- a/apps/stats-dapp/src/App.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { RouterProvider } from '@webb-tools/api-provider-environment'; -import { WebbUIProvider } from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; -import { routes } from './routes'; - -const App: FC = () => { - return ( - - - - ); -}; - -export default App; diff --git a/apps/stats-dapp/src/assets/.gitkeep b/apps/stats-dapp/src/assets/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/apps/stats-dapp/src/components/CountryIcon/CountryIcon.tsx b/apps/stats-dapp/src/components/CountryIcon/CountryIcon.tsx deleted file mode 100644 index 08539f86a4..0000000000 --- a/apps/stats-dapp/src/components/CountryIcon/CountryIcon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { TokenIconBase } from '@webb-tools/icons/types'; -import { getIconSizeInPixel } from '@webb-tools/icons/utils'; -import * as flags from 'country-flag-icons/react/3x2'; -import {} from 'country-flag-icons'; -import { FC } from 'react'; - -export const CountryIcon: FC = ( - props, -) => { - const { - className, - isActive, - name, - onCompleted, - onError, - size = 'md', - ...restProps - } = props; - - const C = flags[name.toUpperCase()]; - if (!C) { - return <>!; - } - const sizeInPx = getIconSizeInPixel(size); - return ( -
- -
- ); -}; diff --git a/apps/stats-dapp/src/components/Header/Header.tsx b/apps/stats-dapp/src/components/Header/Header.tsx deleted file mode 100644 index 0b0d5e4fe6..0000000000 --- a/apps/stats-dapp/src/components/Header/Header.tsx +++ /dev/null @@ -1,161 +0,0 @@ -import { - BookOpenLineIcon, - ExternalLinkLine, - ThreeDotsVerticalIcon, -} from '@webb-tools/icons'; -import { - Button, - Dropdown, - DropdownBasicButton, - DropdownBody, - DropdownMenuItem, - TangleLogo, - ThemeSwitcherButton, -} from '@webb-tools/webb-ui-components'; -import { - Network, - NetworkType, - WEBB_DOC_ROUTES_RECORD, - headerNavs, - tangleLogoConfig, - webbAppConfig, -} from '@webb-tools/webb-ui-components/constants'; -import { Typography } from '@webb-tools/webb-ui-components/typography'; -import populateDocsUrl from '@webb-tools/webb-ui-components/utils/populateDocsUrl'; -import cx from 'classnames'; -import { FC, PropsWithChildren } from 'react'; -import { NavLink } from 'react-router-dom'; -import { NetworkSelector } from '../NetworkSelector/NetworkSelector'; - -type HeaderProps = { - selectedNetwork: Network; - setUserSelectedNetwork: (network: Network) => void; - selectedNetworkType: NetworkType; - setSelectedNetworkType: (networkType: NetworkType) => void; -}; - -export const Header: FC = ({ - selectedNetwork, - setUserSelectedNetwork, - selectedNetworkType, - setSelectedNetworkType, -}) => { - return ( -
-
- - - - - - -
- - - - -
- - - - - - - } - onClick={() => { - window.open(selectedNetwork.polkadotExplorer, '_blank'); - }} - > - - {selectedNetwork.name} - - - - } - onClick={() => { - window.open( - populateDocsUrl( - WEBB_DOC_ROUTES_RECORD.projects['stats-dapp'].overview, - ), - '_blank', - ); - }} - > - - Documentation - - - -
- - Advanced - - - - Data Source - - -
- -
-
-
-
-
-
-
-
- ); -}; - -/*********************** - * Internal components * - ***********************/ - -const NavButton: FC> = ({ - children, - path, -}) => ( -
  • - - {({ isActive }) => ( - - {children} - - )} - -
  • -); diff --git a/apps/stats-dapp/src/components/Header/index.ts b/apps/stats-dapp/src/components/Header/index.ts deleted file mode 100644 index 266dec8a1b..0000000000 --- a/apps/stats-dapp/src/components/Header/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './Header'; diff --git a/apps/stats-dapp/src/components/NetworkSelector/NetworkSelector.tsx b/apps/stats-dapp/src/components/NetworkSelector/NetworkSelector.tsx deleted file mode 100644 index baf8324a06..0000000000 --- a/apps/stats-dapp/src/components/NetworkSelector/NetworkSelector.tsx +++ /dev/null @@ -1,301 +0,0 @@ -import { FC, useState } from 'react'; -import { - NetworkType, - Network, - webbNetworks, -} from '@webb-tools/webb-ui-components/constants'; -import { - Input, - useWebbUI, - RadioGroup, - RadioItem, - IconWithTooltip, -} from '@webb-tools/webb-ui-components'; -import { InformationLine, TangleIcon } from '@webb-tools/icons'; -import { Save, SaveWithBg, DeleteBinWithBg } from '@webb-tools/icons'; -import { isValidSubqueryEndpoint, isValidPolkadotEndpoint } from '../../utils'; - -type NetworkSelectorProps = { - selectedNetwork: Network; - setUserSelectedNetwork: (network: Network) => void; - selectedNetworkType: NetworkType; - setSelectedNetworkType: (networkType: NetworkType) => void; -}; - -export const NetworkSelector: FC = ({ - selectedNetwork, - setUserSelectedNetwork, - selectedNetworkType, - setSelectedNetworkType, -}) => { - const { notificationApi } = useWebbUI(); - - const networkTypes = ['live', 'testnet', 'dev']; - - const [savedEnpoints, setSavedEnpoints] = useState({ - customSubqueryEndpoint: - localStorage.getItem('customSubqueryEndpoint') ?? '', - customPolkadotEndpoint: - localStorage.getItem('customPolkadotEndpoint') ?? '', - }); - - const [customSubqueryEndpoint, setCustomSubqueryEndpoint] = useState( - savedEnpoints.customSubqueryEndpoint ?? '', - ); - - const [customPolkadotEndpoint, setCustomPolkadotEndpoint] = useState( - savedEnpoints.customPolkadotEndpoint ?? '', - ); - - const [customSubqueryEndpointIsValid, setCustomSubqueryEndpointIsValid] = - useState(true); - - const [customPolkadotEndpointIsValid, setCustomPolkadotEndpointIsValid] = - useState(true); - - const filteredNetworkType = webbNetworks.filter( - (network) => network.networkType === selectedNetworkType, - ); - - const setCustomEndpointsAsUserSelected = () => { - if ( - localStorage.getItem('customSubqueryEndpoint') && - localStorage.getItem('customPolkadotEndpoint') - ) { - const customNetwork = { - name: 'Custom Network', - networkType: 'dev', - networkNodeType: 'standalone', - subqueryEndpoint: customSubqueryEndpoint, - polkadotEndpoint: customPolkadotEndpoint, - polkadotExplorer: `https://polkadot.js.org/apps/?rpc=${customPolkadotEndpoint}#/explorer`, - avatar: '', - }; - - setUserSelectedNetwork(customNetwork as Network); - } else { - notificationApi({ - variant: 'warning', - message: 'Please enter valid endpoints', - }); - } - }; - - const setDefaultEndpointsAsUserSelected = () => { - if ( - selectedNetwork.name === 'Custom Network' && - localStorage.getItem('customSubqueryEndpoint') && - localStorage.getItem('customPolkadotEndpoint') - ) { - const defaultNetworkType = webbNetworks.filter( - (network) => network.networkType === 'testnet', - ); - - setUserSelectedNetwork(defaultNetworkType[0].networks[0]); - setSelectedNetworkType('testnet'); - } - }; - - return ( -
    - { - if (val === 'Custom Network') { - setCustomEndpointsAsUserSelected(); - return; - } - - const network = filteredNetworkType[0].networks.filter( - (network) => network.name === val, - ); - - setUserSelectedNetwork(network[0] as Network); - }} - className="pb-4" - > -
    - {filteredNetworkType[0].networks.map((network) => ( -
    - - {network.name} - - {selectedNetworkType !== 'dev' && } -
    - ))} - - {selectedNetworkType === 'dev' && ( -
    -
    -
    - - Custom Network - - } - content={ - - Example endpoints: -
    - Subquery: http://localhost:4000/graphql -
    - Polkadot: ws://127.0.0.1:9944 -
    - } - /> -
    - {selectedNetworkType !== 'dev' && } -
    - -
    - { - setCustomSubqueryEndpoint(val); - }} - onFocus={() => { - setCustomSubqueryEndpointIsValid(true); - }} - rightIcon={ - savedEnpoints.customSubqueryEndpoint ? ( - { - setDefaultEndpointsAsUserSelected(); - localStorage.removeItem('customSubqueryEndpoint'); - setSavedEnpoints({ - ...savedEnpoints, - customSubqueryEndpoint: '', - }); - setCustomSubqueryEndpoint(''); - }} - /> - ) : customSubqueryEndpoint ? ( - { - if ( - await isValidSubqueryEndpoint( - customSubqueryEndpoint, - ) - ) { - localStorage.setItem( - 'customSubqueryEndpoint', - customSubqueryEndpoint, - ); - setSavedEnpoints({ - ...savedEnpoints, - customSubqueryEndpoint, - }); - setCustomSubqueryEndpointIsValid(true); - } else { - localStorage.setItem('customSubqueryEndpoint', ''); - setCustomSubqueryEndpointIsValid(false); - } - }} - /> - ) : ( - - ) - } - /> - { - setCustomPolkadotEndpoint(val); - }} - onFocus={() => { - setCustomPolkadotEndpointIsValid(true); - }} - rightIcon={ - savedEnpoints.customPolkadotEndpoint ? ( - { - setDefaultEndpointsAsUserSelected(); - localStorage.removeItem('customPolkadotEndpoint'); - setSavedEnpoints({ - ...savedEnpoints, - customPolkadotEndpoint: '', - }); - setCustomPolkadotEndpoint(''); - }} - /> - ) : customPolkadotEndpoint ? ( - { - if ( - await isValidPolkadotEndpoint( - customPolkadotEndpoint, - ) - ) { - localStorage.setItem( - 'customPolkadotEndpoint', - customPolkadotEndpoint, - ); - setSavedEnpoints({ - ...savedEnpoints, - customPolkadotEndpoint, - }); - setCustomPolkadotEndpointIsValid(true); - } else { - localStorage.setItem('customPolkadotEndpoint', ''); - setCustomPolkadotEndpointIsValid(false); - } - }} - /> - ) : ( - - ) - } - /> -
    -
    - )} -
    -
    - - setSelectedNetworkType(val as NetworkType)} - className="pb-2 border-t border-mono-40 dark:border-mono-140" - > -
    - {networkTypes.map((networkType) => ( - network.networkType === networkType, - )[0].networks.length === 0, - }} - > - {networkType} - - ))} -
    -
    -
    - ); -}; diff --git a/apps/stats-dapp/src/components/NetworkSelector/types.ts b/apps/stats-dapp/src/components/NetworkSelector/types.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/apps/stats-dapp/src/components/index.ts b/apps/stats-dapp/src/components/index.ts deleted file mode 100644 index 266dec8a1b..0000000000 --- a/apps/stats-dapp/src/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './Header'; diff --git a/apps/stats-dapp/src/constants/index.ts b/apps/stats-dapp/src/constants/index.ts deleted file mode 100644 index 22c5dc6970..0000000000 --- a/apps/stats-dapp/src/constants/index.ts +++ /dev/null @@ -1 +0,0 @@ -const isDev = process.env.NODE_ENV === 'development'; diff --git a/apps/stats-dapp/src/containers/AuthoritiesTable/AuthoritiesTable.tsx b/apps/stats-dapp/src/containers/AuthoritiesTable/AuthoritiesTable.tsx deleted file mode 100644 index bbeca5f78d..0000000000 --- a/apps/stats-dapp/src/containers/AuthoritiesTable/AuthoritiesTable.tsx +++ /dev/null @@ -1,314 +0,0 @@ -import { - ColumnFiltersState, - createColumnHelper, - getCoreRowModel, - getFacetedMinMaxValues, - getFacetedRowModel, - getFacetedUniqueValues, - getFilteredRowModel, - getPaginationRowModel, - PaginationState, - useReactTable, -} from '@tanstack/react-table'; -import { Spinner } from '@webb-tools/icons'; -import { Typography } from '@webb-tools/webb-ui-components'; -import { - Accordion, - AccordionButton, - AccordionContent, - AccordionItem, - Avatar, - Button, - CardTable, - Divider, - Filter, - KeyValueWithButton, - Progress, - Slider, - Table, -} from '@webb-tools/webb-ui-components/components'; -import { CheckBoxMenuGroup } from '@webb-tools/webb-ui-components/components/CheckBoxMenu/CheckBoxMenuGroup'; -import { fuzzyFilter } from '@webb-tools/webb-ui-components/components/Filter/utils'; -import { FC, useMemo, useState } from 'react'; -import { Link } from 'react-router-dom'; -import { CountryIcon } from '../../components/CountryIcon/CountryIcon'; -import { useCountriesQuery } from '../../generated/graphql'; -import { - AuthorisesQuery, - AuthorityListItem, - useAuthorities, -} from '../../provider/hooks'; -import { AuthoritiesTableProps } from './types'; - -const columnHelper = createColumnHelper(); - -const columns = [ - columnHelper.accessor('id', { - header: 'Participant', - enableColumnFilter: false, - cell: (props) => ( -
    - ()} /> - ()} - size="sm" - isHiddenLabel - hasShortenValue={false} - /> -
    - ), - }), - - columnHelper.accessor('location', { - header: 'Location', - enableColumnFilter: false, - cell: (props) => { - const countryCode = props.getValue(); - return ( - - {countryCode ? : `🌎`} - - ); - }, - }), - - columnHelper.accessor('uptime', { - header: 'Uptime', - enableColumnFilter: false, - cell: (props) => ( - - ), - }), - - columnHelper.accessor('reputation', { - header: 'Reputation', - enableColumnFilter: false, - cell: (props) => ( - - ), - }), - - columnHelper.accessor('id', { - header: '', - id: 'details', - cell: (props) => ( - - ), - }), -]; - -export const AuthoritiesTable: FC = ({ - data: dataProp, -}) => { - const [{ pageIndex, pageSize }, setPagination] = useState({ - pageIndex: 0, - pageSize: 20, - }); - - const pagination = useMemo( - () => ({ - pageIndex, - pageSize, - }), - [pageIndex, pageSize], - ); - - const [selectedCountries, setSelectedCountries] = useState<'all' | string[]>( - 'all', - ); - const countriesQuery = useCountriesQuery(); - const countries = useMemo(() => { - return ( - countriesQuery.data?.countryCodes?.nodes?.map((country) => { - return country?.code ?? ''; - }) ?? [] - ); - }, [countriesQuery]); - - const [uptimeFilter, setUptimeFilter] = useState<[number, number]>([0, 100]); - const [reputationFilter, setReputationFilter] = useState<[number, number]>([ - 0, 100, - ]); - const [globalFilter, setGlobalFilter] = useState(''); - - const query = useMemo( - () => ({ - offset: pageIndex * pageSize, - perPage: pageSize, - filter: { - uptime: uptimeFilter, - reputation: reputationFilter, - countries: selectedCountries === 'all' ? countries : selectedCountries, - search: globalFilter, - }, - }), - [ - pageIndex, - pageSize, - uptimeFilter, - reputationFilter, - selectedCountries, - countries, - globalFilter, - ], - ); - - const [columnFilters, setColumnFilters] = useState([]); - - const authorities = useAuthorities(query); - - const data = useMemo(() => { - return authorities.val?.items?.filter((item) => item.isBest === true) || []; - }, [authorities]); - - const totalItems = useMemo(() => data.length, [data]); - - const pageCount = useMemo( - () => Math.ceil(totalItems / pageSize), - [pageSize, totalItems], - ); - - const table = useReactTable({ - data: data ?? ([] as AuthorityListItem[]), - columns, - pageCount, - getCoreRowModel: getCoreRowModel(), - getPaginationRowModel: getPaginationRowModel(), - state: { - pagination, - }, - filterFns: { - fuzzy: fuzzyFilter, - }, - onColumnFiltersChange: setColumnFilters, - onGlobalFilterChange: setGlobalFilter, - onPaginationChange: setPagination, - manualPagination: dataProp === undefined, - getFacetedRowModel: getFacetedRowModel(), - getFacetedUniqueValues: getFacetedUniqueValues(), - getFacetedMinMaxValues: getFacetedMinMaxValues(), - getFilteredRowModel: getFilteredRowModel(), - }); - - return ( - { - setGlobalFilter(nextValue.toString()); - }} - clearAllFilters={() => { - table.setColumnFilters([]); - table.setGlobalFilter(''); - }} - > - - - Location - - - { - setSelectedCountries(c); - }} - /> - - - - - Uptime - - - setUptimeFilter(val as any)} - className="w-full min-w-0" - hasLabel - /> - - - - - Reputation - - setReputationFilter(val as any)} - className="w-full min-w-0" - hasLabel - /> - - - - - } - > - {!authorities.isLoading ? ( -
    - ) : ( -
    - -
    - )} - - ); -}; - -const LocationFilter: FC<{ - selected: 'all' | string[]; - onChange(nextValue: 'all' | string[]): void; - countries: string[]; -}> = ({ countries, onChange, selected }) => { - return ( -
    - { - onChange(v); - }} - iconGetter={(c) => { - return ; - }} - labelGetter={(c) => c} - keyGetter={(c) => c} - /> -
    - ); -}; diff --git a/apps/stats-dapp/src/containers/AuthoritiesTable/index.ts b/apps/stats-dapp/src/containers/AuthoritiesTable/index.ts deleted file mode 100644 index a3f54021cd..0000000000 --- a/apps/stats-dapp/src/containers/AuthoritiesTable/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './AuthoritiesTable'; diff --git a/apps/stats-dapp/src/containers/AuthoritiesTable/types.ts b/apps/stats-dapp/src/containers/AuthoritiesTable/types.ts deleted file mode 100644 index cddf75fdc8..0000000000 --- a/apps/stats-dapp/src/containers/AuthoritiesTable/types.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { KeyGenAuthority } from '../../provider/hooks'; - -export interface AuthoritiesTableProps { - /** - * The data property to display the table. If it's empty, the table will use the the server side data - */ - data?: KeyGenAuthority[]; -} diff --git a/apps/stats-dapp/src/containers/AuthorityDetail/AuthorityDetail.tsx b/apps/stats-dapp/src/containers/AuthorityDetail/AuthorityDetail.tsx deleted file mode 100644 index 5536e090cc..0000000000 --- a/apps/stats-dapp/src/containers/AuthorityDetail/AuthorityDetail.tsx +++ /dev/null @@ -1,452 +0,0 @@ -import { - createColumnHelper, - getCoreRowModel, - getPaginationRowModel, - PaginationState, - useReactTable, -} from '@tanstack/react-table'; -import { - ArrowLeft, - CheckboxBlankCircleLine, - Close, - Expand, - KeyIcon, - Link as LinkIcon, - Mail, - QRCode, - Spinner, - TwitterFill, -} from '@webb-tools/icons'; -import { - Avatar, - AvatarGroup, - Button, - CardTable, - Divider, - DrawerCloseButton, - KeyValueWithButton, - Progress, - Table, - TitleWithInfo, -} from '@webb-tools/webb-ui-components/components'; -import { fuzzyFilter } from '@webb-tools/webb-ui-components/components/Filter/utils'; -import { Typography } from '@webb-tools/webb-ui-components/typography'; -import { shortenString } from '@webb-tools/webb-ui-components/utils'; -import cx from 'classnames'; -import { FC, useMemo, useState } from 'react'; -import { Link, useLocation, useParams } from 'react-router-dom'; -import { twMerge } from 'tailwind-merge'; -import { - AuthorityQuery, - AuthoritySet, - AuthorityStats, - KeyGenKeyListItem, - useAuthority, - useAuthorityAccount, -} from '../../provider/hooks'; -import { useStatsContext } from '../../provider/stats-provider'; - -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import { CountryIcon } from '../../components/CountryIcon/CountryIcon'; -import { headerConfig } from '../KeygenTable'; - -const columnHelper = createColumnHelper(); - -const columns = [ - columnHelper.accessor('height', { - header: () => ( - - ), - enableColumnFilter: false, - }), - - columnHelper.accessor('session', { - header: () => ( - - ), - enableColumnFilter: false, - }), - - columnHelper.accessor('publicKey', { - header: () => ( - - ), - cell: (props) => ( - ()} - size="sm" - /> - ), - enableColumnFilter: false, - }), - - columnHelper.accessor('authority', { - header: () => ( - - ), - cell: (props) => { - const authorities = props.getValue(); - return ( - - {authorities.firstElements.map((au, idx) => ( - - ))} - - ); - }, - enableColumnFilter: false, - }), - - columnHelper.accessor('id', { - header: '', - cell: (props) => { - const id = props.row.original.id; - return ( - - - - ); - }, - enableColumnFilter: false, - }), -]; - -export const AuthorityDetail = () => { - const { pathname } = useLocation(); - const { authorityId = '' } = useParams<{ authorityId: string }>(); - const { - metaData: { activeSession }, - } = useStatsContext(); - - const isPage = useMemo(() => !pathname.includes('drawer'), [pathname]); - const [{ pageIndex, pageSize }, setPagination] = useState({ - pageIndex: 0, - pageSize: 10, - }); - const authorityQuery: AuthorityQuery = useMemo(() => { - return { - offset: pageIndex * pageSize, - perPage: pageSize, - filter: { - authorityId, - }, - }; - }, [authorityId, pageSize, pageIndex]); - const authority = useAuthority(authorityQuery); - - const stats = useMemo(() => authority.stats.val, [authority]); - - const isStatsLoading = useMemo( - () => authority.stats.isLoading || stats === null, - [authority.stats.isLoading, stats], - ); - - const pagination = useMemo( - () => ({ - pageIndex, - pageSize, - }), - [pageIndex, pageSize], - ); - - const totalItems = useMemo( - () => authority.keyGens.val?.pageInfo.count ?? 0, - [authority], - ); - const pageCount = useMemo( - () => Math.ceil(totalItems / pageSize), - [pageSize, totalItems], - ); - - const keyGens = useMemo( - () => authority.keyGens.val?.items ?? [], - [authority], - ); - const table = useReactTable({ - data: keyGens, - columns, - pageCount, - getCoreRowModel: getCoreRowModel(), - state: { - pagination, - }, - onPaginationChange: setPagination, - manualPagination: true, - getPaginationRowModel: getPaginationRowModel(), - filterFns: { - fuzzy: fuzzyFilter, - }, - }); - - return ( -
    - - - {/** Keygen table */} - -
    - - - ); -}; - -/*********************** - * Internal components * - ***********************/ - -const DetailsView: FC<{ - stats: AuthorityStats | null; - isLoading?: boolean; - isPage: boolean; - id: string; -}> = ({ id, isLoading, isPage, stats }) => { - const location = stats?.location; - const account = id; - const accountDetails = useAuthorityAccount(account); - - const validatorMetaData = useMemo(() => { - const loading = accountDetails.isLoading; - const activeColor = - 'text-blue-50 hover:text-blue-10 dark:text-blue-50 dark:hover:text-blue-10'; - const disabledColor = 'dark:text-blue-100 text-blue-10'; - const twitter = accountDetails.val?.twitter; - const web = accountDetails.val?.web; - const email = accountDetails.val?.email; - const id = accountDetails.val?.id ?? ''; - function getProps(value?: string | null): PropsOf<'a'> { - const disabled = loading || !value; - return { - style: { - pointerEvents: disabled ? 'none' : undefined, - }, - className: disabled ? disabledColor : activeColor, - }; - } - return ( - <> - - - - - - - - - - - - - - - - - ); - }, [accountDetails]); - - return ( -
    - - - {(isLoading || stats === null) && ( -
    - -
    - )} - - {!isLoading && stats !== null && ( - <> - {/** Title */} -
    -
    - -
    - -
    - -
    - -
    - - {`${shortenString(id, 4)} `}{' '} - - {location && ( - - )} - - - -
    -
    - -
    - {validatorMetaData} -
    -
    -
    - - {/** Content */} -
    -
    - -
    - Keygen Threshold - Keygen Authority - - - Current - {stats.keyGenThreshold.val} - - {stats.keyGenThreshold.inTheSet ? ( - - ) : ( - '-' - )} - - - - Next - - {stats.nextKeyGenThreshold.val} - - - {stats.nextKeyGenThreshold.inTheSet ? ( - - ) : ( - '-' - )} - - - - -
    -
    - - {stats.numberOfKeys} - - - # of keygens - -
    - - - - -
    - - - )} - - ); -}; - -const Row: FC<{ children: React.ReactNode; hasDivider?: boolean }> = ({ - children, - hasDivider, -}) => ( -
    - {hasDivider && } -
    {children}
    -
    -); - -const Col: FC<{ children?: React.ReactNode; className?: string }> = ({ - children, - className, -}) => ( - - {children} - -); diff --git a/apps/stats-dapp/src/containers/AuthorityDetail/index.ts b/apps/stats-dapp/src/containers/AuthorityDetail/index.ts deleted file mode 100644 index aa76603558..0000000000 --- a/apps/stats-dapp/src/containers/AuthorityDetail/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './AuthorityDetail'; diff --git a/apps/stats-dapp/src/containers/KeyDetail/KeyDetail.tsx b/apps/stats-dapp/src/containers/KeyDetail/KeyDetail.tsx deleted file mode 100644 index af602222f9..0000000000 --- a/apps/stats-dapp/src/containers/KeyDetail/KeyDetail.tsx +++ /dev/null @@ -1,445 +0,0 @@ -import { - createColumnHelper, - getCoreRowModel, - getPaginationRowModel, - useReactTable, -} from '@tanstack/react-table'; -import { - ArrowLeft, - ArrowRight, - Close, - Expand, - Spinner, -} from '@webb-tools/icons'; -import { - Avatar, - Button, - CardTable, - Chip, - DrawerCloseButton, - KeyCard, - KeyValueWithButton, - LabelWithValue, - Progress, - Table, - TimeLine, - TimeLineItem, - TimeProgress, - TitleWithInfo, -} from '@webb-tools/webb-ui-components/components'; -import { fuzzyFilter } from '@webb-tools/webb-ui-components/components/Filter/utils'; -import { POLKADOT_JS_EXPLORER_URL } from '@webb-tools/webb-ui-components/constants'; -import { Typography } from '@webb-tools/webb-ui-components/typography'; -import cx from 'classnames'; -import getUnicodeFlagIcon from 'country-flag-icons/unicode'; -import { ECPairFactory } from 'ecpair'; -import { forwardRef, useCallback, useEffect, useMemo } from 'react'; -import { Link, useNavigate, useParams } from 'react-router-dom'; -import * as tinysecp from 'tiny-secp256k1'; -import { - KeyGenAuthority, - SessionKeyStatus, - useKey, -} from '../../provider/hooks'; -import { useStatsContext, useSubQLtime } from '../../provider/stats-provider'; -import { getChipColorByKeyStatus } from '../../utils'; -import { KeyDetailProps, KeyGenAuthoredTableProps } from './types'; -import { AddressType } from '@webb-tools/dapp-config/types'; - -export const KeyDetail = forwardRef( - ({ isPage }, ref) => { - const { keyId = '' } = useParams<{ keyId: string }>(); - const navigate = useNavigate(); - - const { key, prevAndNextKey: prevAndNextKeyResp } = useKey(keyId); - - const { sessionHeight } = useStatsContext(); - - const keysList = useMemo(() => { - const keys = localStorage.getItem('keys'); - - return keys ? JSON.parse(keys) : []; - }, [keyId]); - - const { key: latestKey } = useKey(keysList[0]); - - const { error, isFailed, isLoading, val: keyDetail } = key; - - const { val: latestKeyDetail } = latestKey; - - const { val: prevAndNextKey } = prevAndNextKeyResp; - - const commonCardClsx = useMemo( - () => 'rounded-lg bg-mono-0 dark:bg-mono-180', - [], - ); - const time = useSubQLtime(); - - useEffect(() => { - const isKeyMatch = - keysList && keysList.length > 1 && keysList[1] === keyId; - - if (isKeyMatch && latestKeyDetail?.start && keyDetail?.start) { - const latestKeyStartTime = - new Date(latestKeyDetail.start).getTime() / 1000; - const currentKeyStartTime = new Date(keyDetail.start).getTime() / 1000; - const timeDifference = latestKeyStartTime - currentKeyStartTime; - - if (timeDifference < sessionHeight) { - keyDetail.end = latestKeyDetail.start; - } - } - }, [keyId, keyDetail, latestKeyDetail]); - - const onNextKey = useCallback(() => { - if (prevAndNextKey?.nextKeyId) { - navigate(`/keys${isPage ? '' : '/drawer'}/${prevAndNextKey.nextKeyId}`); - } - }, [isPage, navigate, prevAndNextKey]); - - const onPreviousKey = useCallback(() => { - if (prevAndNextKey?.previousKeyId) { - navigate( - `/keys${isPage ? '' : '/drawer'}/${prevAndNextKey.previousKeyId}`, - ); - } - }, [isPage, navigate, prevAndNextKey]); - - if (isLoading || keyDetail === null) { - return ( -
    - -
    - ); - } - - if (isFailed) { - return ( -
    - - {error ?? 'Unexpected error'} - -
    - ); - } - - if (!keyDetail) { - return null; // Not display anything - } - - return ( -
    - {/** Key detail */} -
    - {/** Title */} -
    - {/** Title with info and expand button */} -
    - - {isPage ? ( -
    - -
    - ) : ( - - )} - - -
    - - {/** Right buttons */} -
    -
    - {/** Previous/Next Buttons */} -
    - - -
    - - {/** Close modal */} - {!isPage && ( - - - - )} -
    -
    -
    - - {/** Session number */} -
    - - {keyDetail.isDone - ? 'Previous' - : keyDetail.isCurrent - ? 'Current' - : 'Next'} - - -
    - - {/** Active Period */} -
    - - - -
    - - {/** Compressed/Uncompressed Keys */} -
    - - -
    -
    - - {/** Key history */} -
    - - - - {keyDetail.history.map((hist, idx) => { - const { at, hash, status } = hist; - - switch (status) { - case SessionKeyStatus.Generated: { - return ( - - ); - } - - case SessionKeyStatus.Signed: { - return ( - - ); - } - - case SessionKeyStatus.Rotated: { - return ( - - ); - } - - default: { - throw new Error( - 'Unknown SessionKeyStatus in KeyDetail component', - ); - } - } - })} - -
    - - {/** Stats */} -
    -
    - - {keyDetail.signatureThreshold ?? '--'} - - - Signature Threshold - -
    - -
    - - {keyDetail.keyGenThreshold ?? '--'} - - - Keygen Threshold - -
    -
    - - {/** Authorities Table */} - - - -
    - ); - }, -); - -const columnHelper = createColumnHelper(); - -const columns = [ - columnHelper.accessor('id', { - header: 'Participant', - cell: (props) => ( -
    - ()} /> - ()} - size="sm" - isHiddenLabel - /> -
    - ), - }), - - columnHelper.accessor('location', { - header: 'Location', - cell: (props) => { - const countryCode = getUnicodeFlagIcon(props.getValue()); - return ( - - {countryCode ? `🌎` : countryCode} - - ); - }, - }), - - columnHelper.accessor('uptime', { - header: 'Uptime', - cell: (props) => ( - - ), - }), - - columnHelper.accessor('reputation', { - header: 'Reputation', - cell: (props) => ( - - ), - }), - - columnHelper.accessor('id', { - header: '', - id: 'detail', - cell: (props) => ( - - ), - }), -]; - -const KeyGenAuthoredTable: React.FC = ({ data }) => { - const table = useReactTable({ - data: data, - columns, - pageCount: data.length, - getCoreRowModel: getCoreRowModel(), - getPaginationRowModel: getPaginationRowModel(), - - filterFns: { - fuzzy: fuzzyFilter, - }, - manualPagination: false, - }); - return ( -
    - ); -}; - -const uncompressPublicKey = (compressed: string): AddressType => { - const ECPair = ECPairFactory(tinysecp); - const dkgPubKey = ECPair.fromPublicKey( - Buffer.from(compressed.slice(2), 'hex'), - { - compressed: false, - }, - ).publicKey.toString('hex'); - // now we remove the `04` prefix byte and return it. - return `0x${dkgPubKey.slice(2)}`; -}; diff --git a/apps/stats-dapp/src/containers/KeyDetail/index.ts b/apps/stats-dapp/src/containers/KeyDetail/index.ts deleted file mode 100644 index a4eb8bde74..0000000000 --- a/apps/stats-dapp/src/containers/KeyDetail/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './KeyDetail'; diff --git a/apps/stats-dapp/src/containers/KeyDetail/types.d.ts b/apps/stats-dapp/src/containers/KeyDetail/types.d.ts deleted file mode 100644 index c20f9c0b9c..0000000000 --- a/apps/stats-dapp/src/containers/KeyDetail/types.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -import type { KeyGenAuthority } from '../../provider/hooks'; - -import { - PropsOf, - WebbComponentBase, -} from '@webb-tools/webb-ui-components/types'; - -export interface KeyDetailProps extends PropsOf<'div'>, WebbComponentBase { - /** - * If `true`, the component will render as separate page. - * By default, the component render as it's in a drawer - */ - isPage?: boolean; - /** - * The key id (uncompressed key) to get detail info to display - */ - keyId?: string; - /** - * The previous key id for nagivation - */ - previousKeyId?: string; - /** - * The next key id for navigation - */ - nextKeyId?: string; -} - -export type AuthorityRowType = KeyGenAuthority & { detaillUrl: string }; - -export type KeyDetailLocationState = Pick< - KeyDetailProps, - 'previousKeyId' | 'nextKeyId' -> | null; - -export type KeyGenAuthoredTableProps = { - data: KeyGenAuthority[]; -}; diff --git a/apps/stats-dapp/src/containers/KeyStatusCardContainer/KeyStatusCardContainer.tsx b/apps/stats-dapp/src/containers/KeyStatusCardContainer/KeyStatusCardContainer.tsx deleted file mode 100644 index 6b0a3274f8..0000000000 --- a/apps/stats-dapp/src/containers/KeyStatusCardContainer/KeyStatusCardContainer.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import { KeyStatusCard } from '@webb-tools/webb-ui-components/components/KeyStatusCard'; -import { useStatsContext } from '../../provider/stats-provider'; -import { useBlocks } from '../../provider/hooks'; -import { useMemo } from 'react'; - -/** - * The wrapper of UI component. Handle logic and mapping fields between backend API and component API - */ -export const KeyStatusCardContainer = () => { - const { - dkgDataFromPolkadotAPI: { - currentSessionNumber, - currentKey, - currentSessionTimeFrame: { start: sessionStart, end: sessionEnd }, - currentAuthorities, - }, - } = useStatsContext(); - - const { time } = useStatsContext(); - - const { val: blocksData } = useBlocks(); - - const showDetails = useMemo(() => { - if (blocksData?.finalized && blocksData?.latestIndexedBlock) { - if (blocksData.finalized - blocksData.latestIndexedBlock < 5) { - return true; - } - } - - return false; - }, [blocksData]); - - return ( - (currentAuthorities) ?? new Set()} - totalAuthorities={0} - fullDetailUrl={currentKey ? `drawer/${currentKey}` : ''} - showDetails={showDetails} - /> - ); -}; diff --git a/apps/stats-dapp/src/containers/KeyStatusCardContainer/index.ts b/apps/stats-dapp/src/containers/KeyStatusCardContainer/index.ts deleted file mode 100644 index f5e702e141..0000000000 --- a/apps/stats-dapp/src/containers/KeyStatusCardContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './KeyStatusCardContainer'; diff --git a/apps/stats-dapp/src/containers/KeyStatusCardContainer/types.d.ts b/apps/stats-dapp/src/containers/KeyStatusCardContainer/types.d.ts deleted file mode 100644 index b560d8e01c..0000000000 --- a/apps/stats-dapp/src/containers/KeyStatusCardContainer/types.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { PublicKey } from '../../provider/hooks'; -import { ISubQlTime } from '@webb-tools/dapp-types'; - -export interface KeyStatusCardContainerProps { - keyType: 'current' | 'next'; - data?: PublicKey; - now: ISubQlTime; -} diff --git a/apps/stats-dapp/src/containers/KeygenTable/KeygenTable.tsx b/apps/stats-dapp/src/containers/KeygenTable/KeygenTable.tsx deleted file mode 100644 index e42200f778..0000000000 --- a/apps/stats-dapp/src/containers/KeygenTable/KeygenTable.tsx +++ /dev/null @@ -1,389 +0,0 @@ -import { - Column, - ColumnFiltersState, - createColumnHelper, - getCoreRowModel, - getFacetedMinMaxValues, - getFacetedRowModel, - getFacetedUniqueValues, - getFilteredRowModel, - getPaginationRowModel, - getSortedRowModel, - PaginationState, - useReactTable, -} from '@tanstack/react-table'; -import { Spinner } from '@webb-tools/icons'; -import { - Accordion, - AccordionButton, - AccordionContent, - AccordionItem, - Avatar, - AvatarGroup, - Button, - CardTable, - Divider, - Filter, - KeyValueWithButton, - Slider, - Table, - TitleWithInfo, -} from '@webb-tools/webb-ui-components/components'; -import { fuzzyFilter } from '@webb-tools/webb-ui-components/components/Filter/utils'; -import { KeygenType } from '@webb-tools/webb-ui-components/types'; -import { FC, useCallback, useEffect, useMemo, useState } from 'react'; -import { Link } from 'react-router-dom'; -import { - PageInfoQuery, - PublicKey, - useActiveKeys, - useKeys, -} from '../../provider/hooks'; - -const columnHelper = createColumnHelper(); - -export const headerConfig = { - common: { - titleComponent: 'span' as const, - }, - height: { - title: 'Height', - info: 'Number of blocks', - }, - session: { - title: 'Session', - info: 'A session is a period that has a constant set of validators. Validators can only join or exit the validator set at a session change.', - }, - key: { - title: 'Key', - info: 'The public key of the DKG protocol that is currently active.', - }, - keygenThreshold: { - title: 'Keygen Threshold', - info: 'Minimum number of signers needed in order to produce a valid signature.', - }, - signatureThreshold: { - title: 'Signature Threshold', - info: "The 't' in (t-out-of-n) threshold signatures used in the DKG signing system. Required of DKG authorities to generate signatures.", - }, - authorities: { - title: 'Authority Set', - info: 'A set of DKG authorities', - }, -}; - -const columns = [ - columnHelper.accessor('height', { - header: () => ( - - ), - enableColumnFilter: false, - }), - - columnHelper.accessor('session', { - header: () => ( - - ), - enableColumnFilter: false, - }), - - columnHelper.accessor('key', { - header: () => ( - - ), - cell: (props) => ( - ()} - size="sm" - className="flex justify-center" - /> - ), - enableColumnFilter: false, - }), - - columnHelper.accessor('keygenThreshold', { - header: () => ( - - ), - }), - - columnHelper.accessor('signatureThreshold', { - header: () => ( - - ), - }), - - columnHelper.accessor('authorities', { - header: () => ( - - ), - cell: (props) => { - const auth = Array.from(props.getValue>()); - if (auth.length === 0) { - return '-'; - } - return ( - - {auth.map((au, idx) => ( - - ))} - - ); - }, - enableColumnFilter: false, - }), - - columnHelper.accessor('keyId', { - header: '', - cell: (props) => ( - - - - ), - enableColumnFilter: false, - }), -]; - -export const KeygenTable: FC = () => { - const [loading, setLoading] = useState(true); - - // Filters - const [columnFilters, setColumnFilters] = useState([]); - const [globalFilter, setGlobalFilter] = useState(''); - - const { error, isFailed, isLoading, val: activeKeyData } = useActiveKeys(); - - const { currentKey } = useMemo<{ - currentKey: PublicKey | null | undefined; - }>(() => { - return { - currentKey: activeKeyData ? activeKeyData[0] : null, - }; - }, [activeKeyData]); - - // Pagination state - const [{ pageIndex, pageSize }, setPagination] = useState({ - pageIndex: 0, - pageSize: 10, - }); - const [totalItems, setTotalItems] = useState(0); - - const pagination = useMemo( - () => ({ - pageIndex, - pageSize, - }), - [pageIndex, pageSize], - ); - - const pageQuery: PageInfoQuery = useMemo( - () => ({ - offset: pagination.pageIndex * pageSize, - perPage: pagination.pageSize, - filter: null, - }), - [pageSize, pagination.pageIndex, pagination.pageSize], - ); - - const pageCount = useMemo( - () => Math.ceil(totalItems / pageSize), - [pageSize, totalItems], - ); - - const keysStats = useKeys(pageQuery, currentKey); - - useEffect(() => { - if (keysStats.val) { - const keysList = keysStats.val.items.map((item) => { - return item.compressed; - }); - - localStorage.setItem('keys', JSON.stringify(keysList)); - } - }, [keysStats]); - - const data = useMemo(() => { - if (keysStats.val) { - return keysStats.val.items - .filter((v) => { - return v.keyGenThreshold && v.signatureThreshold; - }) - .map( - (item): KeygenType => ({ - height: Number(item.height), - session: Number(item.session), - key: item.compressed, - authorities: new Set(item.keyGenAuthorities), - keygenThreshold: item.keyGenThreshold ?? 0, - keyId: item.compressed, - totalAuthorities: item.keyGenAuthorities.length, - signatureThreshold: item.signatureThreshold ?? 0, - previousKeyId: item.previousKeyId, - nextKeyId: item.nextKeyId, - }), - ); - } - return [] as KeygenType[]; - }, [keysStats, totalItems]); - - useEffect(() => { - if (keysStats.val) { - setTotalItems(keysStats.val.pageInfo.count); - setLoading(false); - } - }, [keysStats]); - - const table = useReactTable({ - data, - columns, - pageCount, - getCoreRowModel: getCoreRowModel(), - state: { - pagination, - columnFilters, - globalFilter, - }, - onPaginationChange: setPagination, - manualPagination: true, - onColumnFiltersChange: setColumnFilters, - onGlobalFilterChange: setGlobalFilter, - getFilteredRowModel: getFilteredRowModel(), - getSortedRowModel: getSortedRowModel(), - getPaginationRowModel: getPaginationRowModel(), - getFacetedRowModel: getFacetedRowModel(), - getFacetedUniqueValues: getFacetedUniqueValues(), - getFacetedMinMaxValues: getFacetedMinMaxValues(), - filterFns: { - fuzzy: fuzzyFilter, - }, - globalFilterFn: fuzzyFilter, - }); - - const headers = useMemo( - () => - table - .getHeaderGroups() - .map((headerGroup) => headerGroup.headers.map((header) => header)), - [table], - ); - - const [{ column: keygenFilterCol }, { column: signatureFilterCol }] = useMemo( - () => headers[0].filter((header) => header.column.getCanFilter()), - [headers], - ); - - const getSliderDefaultValue = useCallback( - (column: Column) => - column.getFacetedMinMaxValues()?.[0] === - column.getFacetedMinMaxValues()?.[1] - ? [ - column.getFacetedMinMaxValues()?.[0] ?? 0, - column.getFacetedMinMaxValues()?.[1] ?? 0, - ] - : (column.getFacetedMinMaxValues() ?? [0, 0]), - [], - ); - - return ( - { - table.setColumnFilters([]); - table.setGlobalFilter(''); - }} - searchText={globalFilter} - onSearchChange={(nextValue: string | number) => { - setGlobalFilter(nextValue.toString()); - }} - > - - - Keygen Threshold - - - - keygenFilterCol.setFilterValue(nextValue) - } - className="w-full min-w-0" - hasLabel - /> - - - - Signature Threshold - - - signatureFilterCol.setFilterValue(nextValue) - } - className="w-full min-w-0" - hasLabel - /> - - - - - } - className="h-fit-content" - > - {data.length > 0 ? ( -
    - ) : ( -
    - -
    - )} - - ); -}; diff --git a/apps/stats-dapp/src/containers/KeygenTable/index.ts b/apps/stats-dapp/src/containers/KeygenTable/index.ts deleted file mode 100644 index a70243a058..0000000000 --- a/apps/stats-dapp/src/containers/KeygenTable/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './KeygenTable'; diff --git a/apps/stats-dapp/src/containers/Layout/Layout.tsx b/apps/stats-dapp/src/containers/Layout/Layout.tsx deleted file mode 100644 index 2ab23b543e..0000000000 --- a/apps/stats-dapp/src/containers/Layout/Layout.tsx +++ /dev/null @@ -1,164 +0,0 @@ -import { - ApolloClient, - ApolloProvider, - from, - HttpLink, - InMemoryCache, -} from '@apollo/client'; -import { onError } from '@apollo/client/link/error'; -import { Header } from '../../components'; -import { StatsProvider } from '../../provider'; -import { FC, PropsWithChildren, useMemo, useState } from 'react'; -import { Footer, useWebbUI } from '@webb-tools/webb-ui-components'; -import { RetryLink } from '@apollo/client/link/retry'; -import { NavBoxInfoContainer } from '../NavBlocksInfoContainer'; -import { - webbNetworks, - Network, - NetworkType, -} from '@webb-tools/webb-ui-components/constants'; -import { isValidSubqueryEndpoint } from '../../utils'; -import cx from 'classnames'; - -export const Layout: FC = ({ children }) => { - const { notificationApi } = useWebbUI(); - - const defaultNetworkType = webbNetworks.filter( - (network) => network.networkType === 'testnet', - ); - - const [selectedNetwork, setSelectedNetwork] = useState((): Network => { - const storedSelectedNetwork = localStorage.getItem('selectedNetwork'); - - if (storedSelectedNetwork) { - return JSON.parse(storedSelectedNetwork); - } - - return defaultNetworkType[0].networks[0]; - }); - - const [selectedNetworkType, setSelectedNetworkType] = - useState('testnet'); - - const [errorMessage, setErrorMessage] = useState(null); - - const retryLink = new RetryLink({ - delay: () => { - return 0; - }, - attempts: () => { - return Promise.resolve(true); - }, - }); - - const apolloClient = useMemo(() => { - const errorLink = onError( - ({ graphQLErrors, networkError, forward, operation }) => { - if (graphQLErrors) { - graphQLErrors.forEach(({ locations, message, path }) => { - console.log( - `[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`, - ); - setErrorMessage( - `[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`, - ); - }); - return forward(operation); - } - if (networkError) { - console.log(`[Network error]: ${networkError}`); - setErrorMessage(`[Network error]: ${networkError}`); - } - }, - ); - - const httpLink = new HttpLink({ - uri: selectedNetwork.subqueryEndpoint, - }); - - return new ApolloClient({ - cache: new InMemoryCache(), - link: from([errorLink, retryLink, httpLink]), - }); - }, [selectedNetwork, setErrorMessage]); - - const setUserSelectedNetwork = async (network: Network) => { - const handleSuccess = () => { - notificationApi({ - variant: 'success', - message: `Connected to ${network.name}`, - }); - localStorage.setItem('selectedNetwork', JSON.stringify(network)); - setSelectedNetwork(network); - }; - - const handleClose = () => { - notificationApi({ - variant: 'error', - message: `Please make sure you have a running node at the selected network.`, - }); - localStorage.setItem( - 'selectedNetwork', - JSON.stringify(defaultNetworkType[0].networks[0]), - ); - setSelectedNetwork(defaultNetworkType[0].networks[0]); - }; - - try { - if (await isValidSubqueryEndpoint(network.subqueryEndpoint)) { - const ws = new WebSocket(network.polkadotEndpoint); - - const handleOpen = () => { - handleSuccess(); - ws.removeEventListener('open', handleOpen); - }; - - const handleCloseEvent = () => { - handleClose(); - ws.removeEventListener('close', handleCloseEvent); - }; - - ws.addEventListener('open', handleOpen); - ws.addEventListener('close', handleCloseEvent); - } else { - handleClose(); - } - } catch (error) { - handleClose(); - } - }; - - const subqueryEndpoint = useMemo( - () => selectedNetwork.subqueryEndpoint, - [selectedNetwork], - ); - const polkadotEndpoint = useMemo( - () => selectedNetwork.polkadotEndpoint, - [selectedNetwork], - ); - - return ( -
    -
    - - - - -
    {children}
    -
    -
    - -
    -
    -
    -
    - ); -}; diff --git a/apps/stats-dapp/src/containers/Layout/index.ts b/apps/stats-dapp/src/containers/Layout/index.ts deleted file mode 100644 index 9877e7f4ae..0000000000 --- a/apps/stats-dapp/src/containers/Layout/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './Layout'; diff --git a/apps/stats-dapp/src/containers/NavBlocksInfoContainer/NavBlocksInfoContainer.tsx b/apps/stats-dapp/src/containers/NavBlocksInfoContainer/NavBlocksInfoContainer.tsx deleted file mode 100644 index 747536443d..0000000000 --- a/apps/stats-dapp/src/containers/NavBlocksInfoContainer/NavBlocksInfoContainer.tsx +++ /dev/null @@ -1,134 +0,0 @@ -import { useMemo } from 'react'; -import { - GridFillIcon, - KeyIcon, - ShieldKeyholeLineIcon, - TeamFillIcon, - UserStarFillIcon, - FoldersFillIcon, - FileCodeLineIcon, - GraphIcon, - BlockIcon, - Spinner, - RefreshLineIcon, -} from '@webb-tools/icons'; -import { - Breadcrumbs, - BreadcrumbsItem, - Chip, -} from '@webb-tools/webb-ui-components'; -import { useBlocks } from '../../provider/hooks'; -import { NavLink, useLocation } from 'react-router-dom'; -import { useStatsContext } from '../../provider/stats-provider'; - -export const NavBoxInfoContainer = () => { - const location = useLocation(); - const pathnames = location.pathname.split('/').filter((x) => x); - const currentPage = useMemo(() => pathnames[0], [pathnames]); - const subPage = useMemo(() => pathnames[1], [pathnames]); - const { - dkgDataFromPolkadotAPI: { currentSessionNumber }, - } = useStatsContext(); - - const { val: blocksData } = useBlocks(); - - const { bestBlock, finalizedBlock } = useMemo<{ - bestBlock: number | null | undefined; - finalizedBlock: number | null | undefined; - }>(() => { - return { - bestBlock: blocksData ? blocksData.best : null, - finalizedBlock: blocksData ? blocksData.finalized : null, - }; - }, [blocksData]); - - return ( -
    - - - }> - Tangle Explorer - - - 1 ? `/${currentPage}` : ''}> - - ) : currentPage === 'authorities' ? ( - - ) : currentPage === 'proposals' ? ( - - ) : null - } - isLast={pathnames.length === 1 ? true : false} - > - {currentPage === 'keys' - ? 'Keys Overview' - : currentPage === 'authorities' - ? 'Authorities Overview' - : currentPage === 'proposals' - ? 'Proposals Overview' - : ''} - - - {pathnames.length > 1 && ( - - ) : currentPage === 'authorities' && subPage !== 'history' ? ( - - ) : currentPage === 'authorities' && subPage === 'history' ? ( - - ) : currentPage === 'proposals' ? ( - - ) : null - } - isLast - > - {currentPage === 'keys' - ? 'Keygen details' - : currentPage === 'authorities' && subPage !== 'history' - ? 'Authority details' - : currentPage === 'authorities' && subPage === 'history' - ? 'History' - : currentPage === 'proposals' - ? 'Proposal details' - : ''} - - )} - - -
    - - {' '} - {finalizedBlock ? ( - `Finalized: ${Number(finalizedBlock).toLocaleString()}` - ) : ( - - )} - - - {' '} - {bestBlock ? ( - `Best: ${Number(bestBlock).toLocaleString()}` - ) : ( - - )} - - - {' '} - {currentSessionNumber ? ( - `Session: ${currentSessionNumber}` - ) : ( - - )} - -
    -
    - ); -}; diff --git a/apps/stats-dapp/src/containers/NavBlocksInfoContainer/index.ts b/apps/stats-dapp/src/containers/NavBlocksInfoContainer/index.ts deleted file mode 100644 index f3ff60f92f..0000000000 --- a/apps/stats-dapp/src/containers/NavBlocksInfoContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './NavBlocksInfoContainer'; diff --git a/apps/stats-dapp/src/containers/NavBlocksInfoContainer/types.ts b/apps/stats-dapp/src/containers/NavBlocksInfoContainer/types.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/apps/stats-dapp/src/containers/ProposalDetail/ProposalDetail.tsx b/apps/stats-dapp/src/containers/ProposalDetail/ProposalDetail.tsx deleted file mode 100644 index ff689775a7..0000000000 --- a/apps/stats-dapp/src/containers/ProposalDetail/ProposalDetail.tsx +++ /dev/null @@ -1,336 +0,0 @@ -import { - Button, - Chip, - DrawerCloseButton, -} from '@webb-tools/webb-ui-components/components'; -import { useBatchedProposal } from '../../provider/hooks/useProposals'; -import { FC, useCallback, useEffect, useMemo, useState } from 'react'; -import { getProposalsData } from '../../utils/getProposalsData'; -import { - ArrowLeft, - ArrowRight, - Close, - Expand, - ChainIcon, - ProposalVariant, -} from '@webb-tools/icons'; -import { Link, useLocation, useNavigate, useParams } from 'react-router-dom'; -import { ProposalBatchStatus, ProposalType } from '../../generated/graphql'; -import { Typography } from '@webb-tools/webb-ui-components'; -import ProposalBadge from '@webb-tools/icons/ProposalBadge/ProposalBadge'; -import { StatusChip } from '../ProposalsTable'; -import { mapChainNameToLogo } from '../../utils'; - -export const ProposalDetail = () => { - const { pathname } = useLocation(); - const navigate = useNavigate(); - const { proposalBatchId = '' } = useParams<{ proposalBatchId: string }>(); - - const batchedProposal = useBatchedProposal(proposalBatchId); - - const isPage = useMemo(() => { - return !pathname.includes('drawer'); - }, [pathname]); - - const proposalsWithCount = useMemo(() => { - if (batchedProposal.val) { - return batchedProposal.val.proposals.reduce< - { - type: string; - count: number; - }[] - >((acc, item) => { - const found = acc.find( - (e: { type: string; count: number }) => e.type === item.type, - ); - if (found) { - found.count++; - } else { - acc.push({ type: item.type, count: 1 }); - } - return acc; - }, []); - } - - return []; - }, [batchedProposal]); - - const [proposalIds, setProposalIds] = useState([]); - - useEffect(() => { - const proposalIds = localStorage.getItem('proposalIds'); - if (proposalIds) { - setProposalIds(JSON.parse(proposalIds).reverse()); - } - }, [proposalBatchId]); - - const nextProposalBatchId = - proposalIds[proposalIds.indexOf(proposalBatchId) + 1]; - - const previousProposalBatchId = - proposalIds[proposalIds.indexOf(proposalBatchId) - 1]; - - const handleNextProposalBatch = useCallback(() => { - if (nextProposalBatchId) { - navigate(`/proposals${isPage ? '' : '/drawer'}/${nextProposalBatchId}`); - } - }, [isPage, navigate, nextProposalBatchId]); - - const handlePrevProposalBatch = useCallback(() => { - if (previousProposalBatchId) { - navigate( - `/proposals${isPage ? '' : '/drawer'}/${previousProposalBatchId}`, - ); - } - }, [isPage, navigate, previousProposalBatchId]); - - const proposals = useMemo(() => { - if (batchedProposal.val) { - const proposalsArr = batchedProposal.val.proposals.map((proposal) => { - return { - ...proposal, - decodedData: getProposalsData( - proposal.type as ProposalType, - proposal.data, - ), - }; - }); - - return proposalsArr; - } - - return []; - }, [batchedProposal]); - - const [proposalToShow, setProposalToShow] = useState(0); - - const handleNextProposal = () => { - if (proposalToShow < proposals.length - 1) { - setProposalToShow((prevIndex) => prevIndex + 1); - } - }; - - const handlePreviousProposal = () => { - if (proposalToShow > 0) { - setProposalToShow((prevIndex) => prevIndex - 1); - } - }; - - const currentProposal = useMemo(() => { - return proposals[proposalToShow]; - }, [proposalToShow, proposals]); - - return ( -
    - {/* General Container */} -
    -
    -
    - - {isPage ? ( -
    - -
    - ) : ( - - )} - - - {batchedProposal.val?.status && ( - - )} - - - Proposal Details - -
    - -
    - - - - - {!isPage && ( - - - - )} -
    -
    - -
    - - Proposals: - - - {proposalsWithCount.map((proposal, idx) => { - return ( -
    - - - {proposal.type} - - ({proposal.count}) -
    - ); - })} -
    - -
    -
    - - Block Height: - - - - {batchedProposal.val?.height} - -
    - -
    - - Batch ID: - - - {batchedProposal.val?.id} -
    - -
    - - Chain: - - - - - - {mapChainNameToLogo(batchedProposal.val?.chain as string)} - -
    -
    -
    - - {/* Proposal Details Container */} -
    -
    -
    - - Proposal Details - - -
    - - Proposal: - - -
    - - - - {currentProposal ? currentProposal.type : ''} - -
    -
    - -
    -
    - - Type: {currentProposal ? currentProposal.type : ''} - -
    - -
    - -
    - - {`Proposal(s) ${proposalToShow + 1} out of ${ - proposals.length - }`} - - -
    - - - -
    -
    -
    -
    -
    -
    -
    - ); -}; - -const ProposalDecodedData: FC<{ data: Record }> = ({ data }) => { - const knowProposal = useMemo(() => { - const keys = Object.keys(data); - return keys.length === 1 && keys[0] === 'data'; - }, [data]); - - return ( -
    - {JSON.stringify(knowProposal ? data.data : data, null, 4)} -
    - ); -}; diff --git a/apps/stats-dapp/src/containers/ProposalDetail/index.ts b/apps/stats-dapp/src/containers/ProposalDetail/index.ts deleted file mode 100644 index 5f70a61ded..0000000000 --- a/apps/stats-dapp/src/containers/ProposalDetail/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './ProposalDetail'; diff --git a/apps/stats-dapp/src/containers/ProposalsTable/ProposalsTable.tsx b/apps/stats-dapp/src/containers/ProposalsTable/ProposalsTable.tsx deleted file mode 100644 index 67da8955f8..0000000000 --- a/apps/stats-dapp/src/containers/ProposalsTable/ProposalsTable.tsx +++ /dev/null @@ -1,314 +0,0 @@ -import { - createColumnHelper, - getCoreRowModel, - getPaginationRowModel, - PaginationState, - useReactTable, -} from '@tanstack/react-table'; -import { ChainConfig, chainsConfig } from '@webb-tools/dapp-config'; -import { ChainIcon, Spinner } from '@webb-tools/icons'; -import { - Accordion, - AccordionButton, - AccordionContent, - AccordionItem, - Button, - CardTable, - CheckBoxMenuGroup, - Chip, - Divider, - Filter, - ProposalsBadgeGroup, - Table, -} from '@webb-tools/webb-ui-components/components'; -import { fuzzyFilter } from '@webb-tools/webb-ui-components/components/Filter/utils'; -import React, { useMemo, useState } from 'react'; -import { Link } from 'react-router-dom'; -import { - ProposalBatchesOrderBy, - ProposalBatchStatus, - ProposalType, -} from '../../generated/graphql'; -import { - BatchedProposalsQuery, - ProposalBatch, - useBatchedProposals, -} from '../../provider/hooks'; -import { getChipColorByProposalType, mapChainNameToLogo } from '../../utils'; -import { - mapProposalStatusToChipColor, - PROPOSAL_STATUS, - PROPOSAL_TYPES, -} from './utils'; - -const columnHelper = createColumnHelper(); - -const columns = [ - columnHelper.accessor('status', { - header: 'Status', - cell: (props) => ( - ()} /> - ), - }), - - columnHelper.accessor('height', { - header: 'Height', - cell: (props) => props.getValue(), - }), - - columnHelper.accessor('proposals', { - header: 'Proposal(s)', - cell: (props) => { - const proposalTypes = props.getValue().map((proposal: any) => { - return proposal.type; - }); - return proposalTypes.length > 0 ? ( - - ) : ( - '--' - ); - }, - }), - - columnHelper.accessor('chain', { - header: 'Chain', - cell: (props) => { - const logoName = mapChainNameToLogo(props.getValue()); - return ; - }, - }), - - columnHelper.accessor('id', { - header: '', - cell: (props) => { - const isDisabled = - props.row.original.proposals.length === 0 ? true : false; - - return ( - - ); - }, - }), -]; - -export const ProposalsTable = () => { - const [{ pageIndex, pageSize }, setPagination] = useState({ - pageIndex: 0, - pageSize: 10, - }); - - const pagination = useMemo( - () => ({ - pageIndex, - pageSize, - }), - [pageIndex, pageSize], - ); - - const chains = useMemo>( - () => - Object.keys(chainsConfig).map((key: any) => [ - String(key), - chainsConfig[key], - ]), - [], - ); - - const [globalFilter, setGlobalFilter] = useState(''); - const [selectedProposalsStatuses, setSelectedProposalStatuses] = useState< - 'all' | ProposalBatchStatus[] - >('all'); - const [selectedProposalTypes, setSelectedProposalTypes] = useState< - 'all' | ProposalType[] - >('all'); - const [selectedChains, setSelectedChains] = useState< - 'all' | [string, ChainConfig][] - >('all'); - - const pageQuery: BatchedProposalsQuery = useMemo( - () => ({ - offset: pagination.pageIndex * pageSize, - perPage: pagination.pageSize, - orderBy: ProposalBatchesOrderBy.BlockNumberDesc, - filter: null, - }), - [ - pageSize, - pagination.pageIndex, - pagination.pageSize, - selectedProposalTypes, - selectedProposalsStatuses, - selectedChains, - ], - ); - - const batchedProposals = useBatchedProposals(pageQuery); - - const totalItems = useMemo(() => { - if (batchedProposals.val) { - return batchedProposals.val.pageInfo.count; - } - return 0; - }, [batchedProposals]); - - const pageCount = useMemo( - () => Math.ceil(totalItems / pageSize), - [pageSize, totalItems], - ); - - const data = useMemo(() => { - if (batchedProposals.val) { - const proposalIds = batchedProposals.val.items.map((item) => item.id); - localStorage.setItem('proposalIds', JSON.stringify(proposalIds)); - - return batchedProposals.val.items; - } - - return [] as ProposalBatch[]; - }, [batchedProposals]); - - const table = useReactTable({ - columns, - data: data, - pageCount: pageCount, - getCoreRowModel: getCoreRowModel(), - state: { - pagination, - }, - onPaginationChange: setPagination, - manualPagination: true, - getPaginationRowModel: getPaginationRowModel(), - filterFns: { - fuzzy: fuzzyFilter, - }, - }); - - return ( - { - setGlobalFilter(nextValue.toString()); - }} - clearAllFilters={() => { - table.setColumnFilters([]); - table.setGlobalFilter(''); - setSelectedProposalTypes('all'); - setSelectedProposalStatuses('all'); - setSelectedChains('all'); - }} - > - - - Type - - -
    - { - setSelectedProposalTypes(v); - }} - labelGetter={(proposalType) => ( - {proposalType} - )} - keyGetter={(proposalType) => - `Filter_proposals${proposalType}` - } - /> -
    -
    -
    - - Status - - -
    - { - setSelectedProposalStatuses(v); - }} - labelGetter={(proposalStatus) => ( - - {proposalStatus} - - )} - keyGetter={(proposalStatus) => - `Filter_proposals${proposalStatus}` - } - /> -
    -
    -
    - - - Chain - -
    - { - setSelectedChains(v); - }} - iconGetter={([_key, chainConfig]) => ( -
    - {/* {} */} -
    - )} - labelGetter={([_, chain]) => chain.name} - keyGetter={([chainId]) => `Filter_proposals${chainId}`} - /> -
    -
    -
    -
    - - } - className="h-fit-content" - > - {data.length > 0 ? ( -
    - ) : ( -
    - -
    - )} - - ); -}; - -interface StatusChipProps { - status: ProposalBatchStatus; -} - -export const StatusChip: React.FC = ({ status }) => { - return {status}; -}; diff --git a/apps/stats-dapp/src/containers/ProposalsTable/index.ts b/apps/stats-dapp/src/containers/ProposalsTable/index.ts deleted file mode 100644 index 8fd4ee1b57..0000000000 --- a/apps/stats-dapp/src/containers/ProposalsTable/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './ProposalsTable'; -export * from './utils'; diff --git a/apps/stats-dapp/src/containers/ProposalsTable/utils.ts b/apps/stats-dapp/src/containers/ProposalsTable/utils.ts deleted file mode 100644 index 33c86e1531..0000000000 --- a/apps/stats-dapp/src/containers/ProposalsTable/utils.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { ChipColors } from '@webb-tools/webb-ui-components'; -import { ProposalBatchStatus, ProposalType } from '../../generated/graphql'; - -export const PROPOSAL_TYPES: ProposalType[] = [ - ProposalType.AnchorCreate, - ProposalType.AnchorUpdate, - ProposalType.Evm, - ProposalType.FeeRecipientUpdate, - ProposalType.MaxDepositLimitUpdate, - ProposalType.MinWithdrawalLimitUpdate, - ProposalType.Refresh, - ProposalType.RescueTokens, - ProposalType.ResourceIdUpdate, - ProposalType.ResourceIdUpdate, - ProposalType.SetTreasuryHandler, - ProposalType.SetVerifier, - ProposalType.TokenAdd, - ProposalType.TokenRemove, - ProposalType.WrappingFeeUpdate, -]; -export const PROPOSAL_STATUS: ProposalBatchStatus[] = [ - ProposalBatchStatus.Signed, - ProposalBatchStatus.Removed, - ProposalBatchStatus.Expired, -]; - -export const mapProposalStatusToChipColor = ( - status: ProposalBatchStatus, -): ChipColors => { - switch (status) { - case ProposalBatchStatus.Signed: - return 'green'; - case ProposalBatchStatus.Removed: - return 'red'; - case ProposalBatchStatus.Expired: - return 'yellow'; - } - - return 'purple'; -}; diff --git a/apps/stats-dapp/src/containers/ProposersTable/ProposersTable.tsx b/apps/stats-dapp/src/containers/ProposersTable/ProposersTable.tsx deleted file mode 100644 index da7723b0ca..0000000000 --- a/apps/stats-dapp/src/containers/ProposersTable/ProposersTable.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export const ProposersTable = () => { - return
    Proposers Table
    ; -}; diff --git a/apps/stats-dapp/src/containers/ProposersTable/index.ts b/apps/stats-dapp/src/containers/ProposersTable/index.ts deleted file mode 100644 index 8e9d10d7c7..0000000000 --- a/apps/stats-dapp/src/containers/ProposersTable/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './ProposersTable'; diff --git a/apps/stats-dapp/src/containers/StackedAreaChartContainer/StackedAreaChartContainer.tsx b/apps/stats-dapp/src/containers/StackedAreaChartContainer/StackedAreaChartContainer.tsx deleted file mode 100644 index cde82139e5..0000000000 --- a/apps/stats-dapp/src/containers/StackedAreaChartContainer/StackedAreaChartContainer.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export const StackedAreaChartContainer = () => { - return
    Proposals Stacked Area Chart
    ; -}; diff --git a/apps/stats-dapp/src/containers/StackedAreaChartContainer/index.ts b/apps/stats-dapp/src/containers/StackedAreaChartContainer/index.ts deleted file mode 100644 index 01cb329ced..0000000000 --- a/apps/stats-dapp/src/containers/StackedAreaChartContainer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './StackedAreaChartContainer'; diff --git a/apps/stats-dapp/src/containers/index.ts b/apps/stats-dapp/src/containers/index.ts deleted file mode 100644 index 6bf0ddd8b0..0000000000 --- a/apps/stats-dapp/src/containers/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -export * from './AuthoritiesTable'; -export * from './AuthorityDetail'; -export * from './KeyDetail'; -export * from './KeygenTable'; -export * from './KeyStatusCardContainer'; -export * from './Layout'; -export * from './NavBlocksInfoContainer'; -export * from './ProposalDetail'; -export * from './ProposalsTable'; -export * from './ProposersTable'; diff --git a/apps/stats-dapp/src/gql/authorites.graphql b/apps/stats-dapp/src/gql/authorites.graphql deleted file mode 100644 index dee6e06886..0000000000 --- a/apps/stats-dapp/src/gql/authorites.graphql +++ /dev/null @@ -1,116 +0,0 @@ -query ValidatorListing( - $sessionId: String! - $perPage: Int! - $offset: Int! - $uptimeFilter: IntFilter - $reputationFilter: IntFilter - $validatorId: StringFilter -) { - sessionValidators( - orderBy: [BLOCK_NUMBER_DESC] - filter: { - validatorId: $validatorId - reputation: $reputationFilter - uptime: $uptimeFilter - sessionId: { equalTo: $sessionId } - } - offset: $offset - first: $perPage - ) { - nodes { - ...SessionAuthValidatorNode - validator { - ...ValidatorMeta - } - } - - totalCount - pageInfo { - ...PageInfoMeta - } - } -} - -query ValidatorSessions( - $keyGen: Boolean - $validatorId: String! - $perPage: Int! - $offset: Int! -) { - sessionValidators( - orderBy: [BLOCK_NUMBER_DESC] - filter: { - isBest: { equalTo: $keyGen } - validatorId: { equalTo: $validatorId } - } - offset: $offset - first: $perPage - ) { - nodes { - validator { - ...ValidatorMeta - } - session { - id - publicKey { - id - compressed - block { - id - number - } - } - sessionValidators(first: 3) { - ...SessionAuthValidator - totalCount - } - } - } - totalCount - pageInfo { - ...PageInfoMeta - } - } -} - -query ValidatorOfSession($validatorId: String!, $sessionValidatorId: String!) { - sessionValidator(id: $sessionValidatorId) { - ...SessionAuthValidatorNode - session { - thresholds { - ...ThresholdValue - } - } - } - sessionValidators( - orderBy: [BLOCK_NUMBER_DESC] - filter: { - validatorId: { equalTo: $validatorId } - isBest: { equalTo: true } - } - ) { - aggregates { - distinctCount { - id - } - } - } -} -fragment AccountMetaData on Account { - id - twitter - email - web - legal - countryCode { - id - code - } - pgpFingerprint - riot -} -query AccountMetaData($accountId: String!) { - account(id: $accountId) { - ...AccountMetaData - } -} diff --git a/apps/stats-dapp/src/gql/fragments.graphql b/apps/stats-dapp/src/gql/fragments.graphql deleted file mode 100644 index a3a58d8031..0000000000 --- a/apps/stats-dapp/src/gql/fragments.graphql +++ /dev/null @@ -1,54 +0,0 @@ -fragment ValidatorMeta on Validator { - authorityId - id - account { - id - countryCodeId - } -} -fragment PageInfoMeta on PageInfo { - endCursor - hasNextPage - hasPreviousPage - startCursor -} -fragment SessionAuthValidatorNode on SessionValidator { - id - sessionId - validator { - ...ValidatorMeta - } - reputation - uptime - isBest - isNext - isNextBest - bestOrder - nextBestOrder -} - -fragment SessionAuthValidator on SessionValidatorsConnection { - edges { - node { - ...SessionAuthValidatorNode - } - } -} - -fragment ThresholdValueElement on Threshold { - next - current - pending - variant -} -fragment ThresholdValue on ThresholdsConnection { - nodes { - ...ThresholdValueElement - } -} - -fragment SessionAuth on Session { - sessionValidators { - ...SessionAuthValidator - } -} diff --git a/apps/stats-dapp/src/gql/metadata.graphql b/apps/stats-dapp/src/gql/metadata.graphql deleted file mode 100644 index fb5b4f7e65..0000000000 --- a/apps/stats-dapp/src/gql/metadata.graphql +++ /dev/null @@ -1,44 +0,0 @@ -query MetaData { - sessions( - first: 1 - orderBy: [BLOCK_NUMBER_DESC] - filter: { publicKeyId: { isNull: false } } - ) { - nodes { - id - blockNumber - } - } - _metadata { - targetHeight - lastProcessedHeight - } -} - -query LastBlock { - blocks( - first: 1 - filter: { timestamp: { isNull: false } } - orderBy: [NUMBER_DESC] - ) { - nodes { - timestamp - number - } - } -} - -query countries { - countryCodes { - nodes { - code - id - } - } -} - -query LatestIndexedBlock { - blocks { - totalCount - } -} diff --git a/apps/stats-dapp/src/gql/proposals.graphql b/apps/stats-dapp/src/gql/proposals.graphql deleted file mode 100644 index 8e58ced08a..0000000000 --- a/apps/stats-dapp/src/gql/proposals.graphql +++ /dev/null @@ -1,33 +0,0 @@ -query ProposalBatches($perPage: Int!, $offset: Int!, $orderBy: [ProposalBatchesOrderBy!]) { - proposalBatches(offset: $offset, first: $perPage, orderBy: $orderBy) { - totalCount - - nodes { - id - blockNumber - timestamp - proposals - chain - status - } - - pageInfo { - endCursor - hasNextPage - hasPreviousPage - startCursor - } - } -} - -query ProposalBatch($batchId: String!) { - proposalBatch(id: $batchId) { - id - blockNumber - timestamp - proposals - chain - status - timeline - } -} diff --git a/apps/stats-dapp/src/gql/public-keys.graphql b/apps/stats-dapp/src/gql/public-keys.graphql deleted file mode 100644 index 1ca7414589..0000000000 --- a/apps/stats-dapp/src/gql/public-keys.graphql +++ /dev/null @@ -1,68 +0,0 @@ -query PublicKeys($PerPage: Int, $offset: Int) { - publicKeys(first: $PerPage, offset: $offset, orderBy: [SESSIONS_SUM_BLOCK_NUMBER_DESC]) { - nodes { - id - compressed - history - block { - timestamp - number - } - sessions(first: 1) { - nodes { - id - ...SessionAuth - thresholds { - ...ThresholdValue - } - block { - timestamp - number - } - } - } - } - pageInfo { - hasNextPage - hasPreviousPage - startCursor - endCursor - } - totalCount - } -} -query PublicKey($id: String!) { - publicKey(id: $id) { - id - compressed - history - block { - timestamp - number - } - sessions(first: 1) { - nodes { - id - ...SessionAuth - thresholds { - ...ThresholdValue - } - block { - timestamp - number - } - } - } - } -} - -query SessionKeyIds($keys: [String!]!) { - sessions(filter: { id: { in: $keys } }) { - nodes { - id - publicKey { - id - } - } - } -} diff --git a/apps/stats-dapp/src/gql/sessions.graphql b/apps/stats-dapp/src/gql/sessions.graphql deleted file mode 100644 index 92232f6f52..0000000000 --- a/apps/stats-dapp/src/gql/sessions.graphql +++ /dev/null @@ -1,113 +0,0 @@ -query CurrentSessionAuthorities { - sessions(first: 1, orderBy: [BLOCK_NUMBER_DESC]) { - nodes { - id - blockId - ...SessionAuth - publicKey { - compressed - } - thresholds { - ...ThresholdValue - } - block { - id - timestamp - } - } - } -} - -query SessionKeys($SessionId: [String!]!) { - sessions(filter: { id: { in: $SessionId } }) { - nodes { - id - ...SessionAuth - block { - timestamp - number - } - publicKey { - id - compressed - block { - timestamp - number - } - } - } - } -} -query SessionThresholdHistory($offset: Int!, $perPage: Int!) { - sessions(first: $perPage, offset: $offset, orderBy: [BLOCK_NUMBER_DESC]) { - nodes { - id - thresholds { - ...ThresholdValue - } - block { - id - timestamp - } - } - pageInfo { - ...PageInfoMeta - } - totalCount - } -} -query SessionThresholds($sessionId: String!) { - session(id: $sessionId) { - id - thresholds { - ...ThresholdValue - } - proposersCount: sessionProposers { - totalCount - } - ...SessionAuth - block { - timestamp - number - } - publicKey { - id - compressed - - block { - timestamp - number - } - } - } -} - -query LatestThresholds($first: Int, $filter: SessionFilter) { - sessions(first: $first, filter: $filter, orderBy: [BLOCK_NUMBER_DESC]) { - nodes { - id - thresholds { - ...ThresholdValue - } - } - } -} - -query LatestSessionId { - sessions { - totalCount - } -} - -query AuthorityUptimes { - authorityUpTimes { - totalCount - nodes { - authorityId - uptime - totalHeartbeats - sessionNumber - blockNumber - } - } -} diff --git a/apps/stats-dapp/src/hooks/index.ts b/apps/stats-dapp/src/hooks/index.ts deleted file mode 100644 index 56bd7f20da..0000000000 --- a/apps/stats-dapp/src/hooks/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2024 @webb-tools -// SPDX-License-Identifier: Apache-2.0 - -export * from './useAuthoritiesSeedData'; -// export * from './useProposalsSeedData'; diff --git a/apps/stats-dapp/src/hooks/useAuthoritiesSeedData.ts b/apps/stats-dapp/src/hooks/useAuthoritiesSeedData.ts deleted file mode 100644 index 8e407efac4..0000000000 --- a/apps/stats-dapp/src/hooks/useAuthoritiesSeedData.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { randBic, randBrand, randCountryCode, randNumber } from '@ngneat/falso'; -import { WEBB_MKT_URL } from '@webb-tools/webb-ui-components/constants'; -import { arrayFrom } from '@webb-tools/webb-ui-components/utils'; -import { AuthorityRowType } from '../containers/KeyDetail/types'; - -/** - * Get a new seeded keygen - * @returns {KeygenType} - */ -const getNewAuthority = (): AuthorityRowType => { - return { - id: randBrand() + randBic(), - account: randBrand() + randBic(), - location: randCountryCode(), - uptime: randNumber({ min: 90, max: 100 }), - reputation: randNumber({ min: 90, max: 100 }), - detaillUrl: WEBB_MKT_URL, - }; -}; - -/** - * Get the keygen seeded data, use in keygen table - * @param sizeArg Represents the size of the data array (default will be a random number in range 50..100 inclusive) - */ -export const useAuthoritiesSeedData = ( - sizeArg?: number, -): AuthorityRowType[] => { - const size = sizeArg ?? randNumber({ min: 50, max: 100 }); - - return arrayFrom(size, () => getNewAuthority()); -}; - -// Seeded data for pagination -const DATA = arrayFrom(randNumber({ min: 10, max: 20 }), () => - getNewAuthority(), -); - -/** - * Fake fetch function to get keygen seeded data - * @param options Object contains `pageIndex` and `pageSize` to pagination - * @returns Paginated keygen data - */ -export const fetchAuthoritiesData = async (options: { - pageIndex: number; - pageSize: number; -}) => { - // Simualte some network latency - await new Promise((r) => setTimeout(r, 500)); - - return { - rows: DATA.slice( - options.pageIndex * options.pageSize, - (options.pageIndex + 1) * options.pageSize, - ), - pageCount: Math.ceil(DATA.length / options.pageSize), - totalItems: DATA.length, - }; -}; diff --git a/apps/stats-dapp/src/hooks/useProposalsSeedData.ts b/apps/stats-dapp/src/hooks/useProposalsSeedData.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/apps/stats-dapp/src/i18n/en.json b/apps/stats-dapp/src/i18n/en.json deleted file mode 100644 index 9e26dfeeb6..0000000000 --- a/apps/stats-dapp/src/i18n/en.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/apps/stats-dapp/src/i18n/zh.json b/apps/stats-dapp/src/i18n/zh.json deleted file mode 100644 index 9e26dfeeb6..0000000000 --- a/apps/stats-dapp/src/i18n/zh.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/apps/stats-dapp/src/index.tsx b/apps/stats-dapp/src/index.tsx deleted file mode 100644 index 27bcc1017e..0000000000 --- a/apps/stats-dapp/src/index.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import '@webb-tools/webb-ui-components/tailwind.css'; -import { createRoot } from 'react-dom/client'; -import App from './App'; -import './styles.css'; - -const container = - document.getElementById('root') ?? document.createElement('div'); -const root = createRoot(container); // createRoot(container!) if you use TypeScript -root.render(); diff --git a/apps/stats-dapp/src/pages/Authorities.tsx b/apps/stats-dapp/src/pages/Authorities.tsx deleted file mode 100644 index 385cc39abb..0000000000 --- a/apps/stats-dapp/src/pages/Authorities.tsx +++ /dev/null @@ -1,227 +0,0 @@ -import { - ColumnDef, - createColumnHelper, - getCoreRowModel, - Table as RTTable, - useReactTable, -} from '@tanstack/react-table'; -import { useStatsContext } from '../provider/stats-provider'; -import { - Avatar, - AvatarGroup, - Button, - Card, - CardTable, - Chip, - KeyValueWithButton, - LabelWithValue, - Stats, - Table, - TimeProgress, - TitleWithInfo, -} from '@webb-tools/webb-ui-components'; -import { fuzzyFilter } from '@webb-tools/webb-ui-components'; -import { Spinner } from '@webb-tools/icons'; -import { Typography } from '@webb-tools/webb-ui-components'; -import { ComponentProps, useMemo } from 'react'; -import { Link } from 'react-router-dom'; -import { Outlet } from 'react-router-dom'; -import { AuthoritiesTable } from '../containers'; -import { AuthoritySet, UpcomingThreshold } from '../provider/hooks'; -import { getChipColorByKeyType } from '../utils'; - -const columnHelper = createColumnHelper(); - -const columns = [ - columnHelper.accessor('stats', { - header: 'Status', - cell: (props) => ( - - {props.getValue()} - - ), - }), - - columnHelper.accessor('session', { - header: 'Session', - }), - - columnHelper.accessor('keyGen', { - header: 'Keygen', - }), - - columnHelper.accessor('signature', { - header: 'Signature', - }), - - columnHelper.accessor('authoritySet', { - header: () => ( - - Authority Set - - ), - - cell: (props) => { - const authorities = props.getValue(); - - if (!authorities.count) { - return ( - - - - - ); - } - - return ( - - {authorities.firstElements.map((au, idx) => ( - - ))} - - ); - }, - }), -]; - -const Authorities = () => { - const { - dkgDataFromPolkadotAPI: { - keygenThreshold, - signatureThreshold, - currentKey, - currentSessionNumber, - currentSessionTimeFrame: { start: sessionStart, end: sessionEnd }, - nextAuthorities, - }, - } = useStatsContext(); - - const statsItems = useMemo['items']>(() => { - return [ - { - titleProps: { - title: 'Keygen', - }, - value: keygenThreshold ?? 'loading..', - }, - { - titleProps: { - title: 'Signature', - }, - value: signatureThreshold ?? 'loading..', - }, - ]; - }, [keygenThreshold, signatureThreshold]); - - const data: UpcomingThreshold[] = useMemo(() => { - return [ - { - stats: 'Next' as const, - session: String(currentSessionNumber + 1), - keyGen: String(keygenThreshold), - signature: String(signatureThreshold), - authoritySet: { - count: nextAuthorities.length, - firstElements: nextAuthorities, - }, - proposer: '', - }, - ]; - }, [ - currentSessionNumber, - keygenThreshold, - nextAuthorities, - signatureThreshold, - ]); - - const table = useReactTable({ - columns, - data, - getCoreRowModel: getCoreRowModel(), - filterFns: { - fuzzy: fuzzyFilter, - }, - }); - - const isLoading = - !currentSessionNumber || - !keygenThreshold || - !signatureThreshold || - nextAuthorities.length === 0 || - !sessionStart || - !sessionEnd; - - return ( -
    - - - - {isLoading ? ( -
    - -
    - ) : ( - <> - - - - -
    -
    - - {currentSessionNumber ? 'Current' : 'Next'} - - - - / - - - - -
    - - {/* */} -
    - - )} -
    - - - {isLoading ? ( -
    - -
    - ) : ( -
    - )} - - - - - - - ); -}; - -export default Authorities; diff --git a/apps/stats-dapp/src/pages/AuthoritiesHistory.tsx b/apps/stats-dapp/src/pages/AuthoritiesHistory.tsx deleted file mode 100644 index a48ee3c98d..0000000000 --- a/apps/stats-dapp/src/pages/AuthoritiesHistory.tsx +++ /dev/null @@ -1,233 +0,0 @@ -import { useSessionThreshold } from '../provider/hooks/useSession'; -import { - Button, - DropdownMenu, - TitleWithInfo, -} from '@webb-tools/webb-ui-components'; -import { useDarkMode } from '@webb-tools/webb-ui-components'; -import { ArrowLeft } from '@webb-tools/icons'; -import { Typography } from '@webb-tools/webb-ui-components'; -import { - BarElement, - CategoryScale, - Chart as ChartJS, - ChartData, - ChartOptions, - Legend as CLegend, - LinearScale, - Title, - Tooltip, - PointElement, - LineElement, -} from 'chart.js'; -import cx from 'classnames'; -import React, { - ComponentProps, - FC, - useCallback, - useMemo, - useState, -} from 'react'; -import { Line } from 'react-chartjs-2'; -import { Link } from 'react-router-dom'; -import { WebbColorsType } from '@webb-tools/webb-ui-components/types'; -import resolveConfig from 'tailwindcss/resolveConfig'; - -import tailwindConfig from /* preval */ '../../tailwind.config.js'; -import { Config } from 'tailwindcss'; - -const fullConfig = resolveConfig(tailwindConfig as Config); - -const webbColors = fullConfig.theme?.colors as unknown as WebbColorsType; - -ChartJS.register( - CategoryScale, - LinearScale, - BarElement, - Title, - Tooltip, - CLegend, - PointElement, - LineElement, -); - -const AuthoritiesHistory = () => { - const historyOpts = useMemo(() => ['lastest session', 'all time'], []); - const [selectedIdx, setSelectedIdx] = useState(0); - - const [isDarkMode, _] = useDarkMode(); - - const menuOptions = useMemo< - ComponentProps['menuOptions'] - >( - () => - historyOpts.reduce( - (acc, cur) => { - return [...acc, { value: cur }]; - }, - [] as ComponentProps['menuOptions'], - ), - [historyOpts], - ); - - const onChange = useCallback( - (nextVal: string) => { - setSelectedIdx(historyOpts.indexOf(nextVal)); - }, - [historyOpts], - ); - - const isLatest = useMemo(() => selectedIdx === 0, [selectedIdx]); - - const thresholdHistory = useSessionThreshold(isLatest); - - const data = useMemo>(() => { - const labels = - thresholdHistory.val?.map((i) => i.sessionId).reverse() ?? []; - const sig = - thresholdHistory.val?.map((i) => i.signatureThreshold).reverse() ?? []; - const keygen = - thresholdHistory.val?.map((i) => i.keygenThreshold).reverse() ?? []; - - return { - labels, - datasets: [ - { - label: 'Keygen Threshold', - data: keygen, - borderColor: webbColors.purple['100'], - tension: 0.1, - }, - { - label: 'Signature Threshold', - data: sig, - borderColor: webbColors.purple['60'], - tension: 0.1, - }, - ], - }; - }, [thresholdHistory, isLatest]); - - const options = useMemo>( - () => ({ - scales: { - x: { - grid: { - display: false, - borderColor: webbColors.mono['80'], - }, - ticks: { - color: isDarkMode ? webbColors.mono['60'] : webbColors.mono['200'], - callback: function (value, index, values) { - return index === 0 ? '' : value; - }, - }, - }, - y: { - type: 'linear', - grid: { - display: false, - borderColor: webbColors.mono['80'], - }, - ticks: { - color: isDarkMode ? webbColors.mono['60'] : webbColors.mono['200'], - callback: (value: any) => { - if (value % 1 === 0) { - return value; - } - }, - }, - min: 0, - max: 5, - stepSize: 1, - }, - }, - responsive: true, - plugins: { - legend: { - display: false, - position: 'bottom' as const, - }, - title: { - display: false, - position: 'bottom' as const, - text: 'Session', - }, - }, - }), - [isDarkMode, selectedIdx], - ); - - return ( -
    - - - - - {/** Graph */} -
    - {/** Title */} -
    - - - -
    - -
    - -
    - - - -
    - - {selectedIdx ? 'Average ' : ''}Keygen Threshold - - - {selectedIdx ? 'Average ' : ''}Signature Threshold - -
    -
    -
    - ); -}; - -/*********************** - * Internal components * - ***********************/ - -const Legend: FC<{ bgColorClsx: string; children: React.ReactNode }> = ({ - bgColorClsx, - children, -}) => { - return ( -
    -
    - - - {children} - -
    - ); -}; - -export default AuthoritiesHistory; diff --git a/apps/stats-dapp/src/pages/AuthorityDetailDrawer.tsx b/apps/stats-dapp/src/pages/AuthorityDetailDrawer.tsx deleted file mode 100644 index 0b5c02dd7a..0000000000 --- a/apps/stats-dapp/src/pages/AuthorityDetailDrawer.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { - Drawer, - DrawerContent, -} from '@webb-tools/webb-ui-components/components'; -import { useNavigate } from 'react-router-dom'; - -import { AuthorityDetail } from '../containers'; - -const AuthorityDetailDrawer = () => { - const nagivate = useNavigate(); - - return ( - !isOpen && nagivate('/authorities')} - > - - - - - ); -}; - -export default AuthorityDetailDrawer; diff --git a/apps/stats-dapp/src/pages/AuthorityDetailPage.tsx b/apps/stats-dapp/src/pages/AuthorityDetailPage.tsx deleted file mode 100644 index a6ec48c67e..0000000000 --- a/apps/stats-dapp/src/pages/AuthorityDetailPage.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { AuthorityDetail } from '../containers'; - -const AuthorityDetailPage = () => { - return ; -}; - -export default AuthorityDetailPage; diff --git a/apps/stats-dapp/src/pages/KeyDetailDrawer.tsx b/apps/stats-dapp/src/pages/KeyDetailDrawer.tsx deleted file mode 100644 index e0ba5f81b3..0000000000 --- a/apps/stats-dapp/src/pages/KeyDetailDrawer.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { - Drawer, - DrawerContent, -} from '@webb-tools/webb-ui-components/components'; -import { useNavigate } from 'react-router-dom'; - -import { KeyDetail } from '../containers'; - -const KeyDetailDrawer = () => { - const nagivate = useNavigate(); - - return ( - !isOpen && nagivate('/keys')}> - - - - - ); -}; - -export default KeyDetailDrawer; diff --git a/apps/stats-dapp/src/pages/KeyDetailPage.tsx b/apps/stats-dapp/src/pages/KeyDetailPage.tsx deleted file mode 100644 index 536076df35..0000000000 --- a/apps/stats-dapp/src/pages/KeyDetailPage.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { KeyDetail } from '../containers'; - -const KeyDetailPage = () => { - return ; -}; - -export default KeyDetailPage; diff --git a/apps/stats-dapp/src/pages/Keys.tsx b/apps/stats-dapp/src/pages/Keys.tsx deleted file mode 100644 index 4a71daab4e..0000000000 --- a/apps/stats-dapp/src/pages/Keys.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { Outlet } from 'react-router-dom'; -import { KeygenTable, KeyStatusCardContainer } from '../containers'; - -const Keys = () => { - return ( -
    - - - - - -
    - ); -}; - -export default Keys; diff --git a/apps/stats-dapp/src/pages/ProposalDetailDrawer.tsx b/apps/stats-dapp/src/pages/ProposalDetailDrawer.tsx deleted file mode 100644 index 86e851d46c..0000000000 --- a/apps/stats-dapp/src/pages/ProposalDetailDrawer.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { - Drawer, - DrawerContent, -} from '@webb-tools/webb-ui-components/components'; -import { useNavigate } from 'react-router-dom'; -import { ProposalDetail } from '../containers'; -import { useEffect } from 'react'; - -const ProposalDetailDrawer = () => { - const nagivate = useNavigate(); - - return ( - !isOpen && nagivate('/proposals')} - > - - - - - ); -}; - -export default ProposalDetailDrawer; diff --git a/apps/stats-dapp/src/pages/ProposalDetailPage.tsx b/apps/stats-dapp/src/pages/ProposalDetailPage.tsx deleted file mode 100644 index 5bb33efc00..0000000000 --- a/apps/stats-dapp/src/pages/ProposalDetailPage.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import React from 'react'; - -import { ProposalDetail } from '../containers'; - -const ProposalDetailPage = () => { - return ; -}; - -export default ProposalDetailPage; diff --git a/apps/stats-dapp/src/pages/Proposals.tsx b/apps/stats-dapp/src/pages/Proposals.tsx deleted file mode 100644 index b074794e2e..0000000000 --- a/apps/stats-dapp/src/pages/Proposals.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { Card, Stats, TitleWithInfo } from '@webb-tools/webb-ui-components'; -import { ProposalsTable } from '../containers'; -import { useMemo } from 'react'; -import { useStatsContext } from '../provider'; -import { Outlet } from 'react-router-dom'; - -const Proposals = () => { - const { - dkgDataFromPolkadotAPI: { proposerCount, proposerThreshold }, - } = useStatsContext(); - - const statsItems = useMemo(() => { - return [ - { - titleProps: { - title: 'Proposal Threshold', - }, - value: proposerThreshold, - }, - { - titleProps: { - title: 'Proposers', - }, - value: proposerCount, - }, - ]; - }, [proposerCount, proposerThreshold]); - - return ( -
    - - - - - - - - - -
    - ); -}; - -export default Proposals; diff --git a/apps/stats-dapp/src/provider/DemoTable.tsx b/apps/stats-dapp/src/provider/DemoTable.tsx deleted file mode 100644 index 54bb24c5d2..0000000000 --- a/apps/stats-dapp/src/provider/DemoTable.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import { Loadable, Page } from '../provider/hooks/types'; -import { Spinner } from '@webb-tools/icons'; -import { useMemo } from 'react'; - -export function DemoTable(data: { page: Loadable> }) { - const list = data.page.val; - const isLoading = useMemo( - () => data.page.isLoading || !data.page.val, - [data], - ); - const errorMessage = useMemo( - () => - data.page.isFailed ? data.page.error || 'Something went wrong' : null, - [data], - ); - const keys = useMemo( - () => (list?.items ? Object.keys(list.items[0] as any) : []), - [list], - ); - - if (isLoading || !list) { - return ( -
    - -
    - ); - } - - if (errorMessage) { - return
    {errorMessage}
    ; - } - return ( -
    - - {keys.map((key) => ( - - ))} - - {list.items.map((item) => { - return ( - - {keys.map((key) => ( - - ))} - - ); - })} -
    - {key} -
    {JSON.stringify((item as any)[key])}
    - ); -} diff --git a/apps/stats-dapp/src/provider/hooks/index.ts b/apps/stats-dapp/src/provider/hooks/index.ts deleted file mode 100644 index ce968dbfd4..0000000000 --- a/apps/stats-dapp/src/provider/hooks/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -// export * from './useProposals'; -export * from './useAuthorities'; -export * from './useKeys'; -export * from './useCurrentMetaData'; -export * from './types'; -export * from './mappers'; -export * from './useSession'; -export * from './useBlocks'; -export * from './useProposals'; -export * from './useReputation'; diff --git a/apps/stats-dapp/src/provider/hooks/mappers/index.ts b/apps/stats-dapp/src/provider/hooks/mappers/index.ts deleted file mode 100644 index 5186855a45..0000000000 --- a/apps/stats-dapp/src/provider/hooks/mappers/index.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { - SessionAuthValidatorFragment, - SessionAuthValidatorNodeFragment, -} from '../../../generated/graphql'; - -export type Authority = { - id: string; - location: string | null; - sessionId: string; - reputation: number; - isBest: boolean; - isNext: boolean; - isNextBest: boolean; - bestOrder: number; - nextBestOrder: number; - authorityId: string; - uptime: number; -}; - -export function mapSessionAuthValidatorNode( - node: SessionAuthValidatorNodeFragment, -): Authority { - return { - id: node?.validator?.id ?? '', - sessionId: node.sessionId, - reputation: node.reputation, - uptime: node.uptime, - isBest: node.isBest, - isNext: node.isNext, - isNextBest: node.isNextBest, - bestOrder: node.bestOrder, - nextBestOrder: node.nextBestOrder, - authorityId: node?.validator?.authorityId ?? '', - location: node?.validator?.account?.countryCodeId ?? '', - }; -} - -export function mapAuthorities( - data: SessionAuthValidatorFragment, -): Authority[] { - return data?.edges.map((item: any) => mapSessionAuthValidatorNode(item.node)); -} diff --git a/apps/stats-dapp/src/provider/hooks/mappers/thresholds.ts b/apps/stats-dapp/src/provider/hooks/mappers/thresholds.ts deleted file mode 100644 index a16fcff7cc..0000000000 --- a/apps/stats-dapp/src/provider/hooks/mappers/thresholds.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { - ThresholdValueElementFragment, - ThresholdValueFragment, - AppEnum790A3Fe4Ce as ThresholdVariant, -} from '../../../generated/graphql'; -type Threshold = Omit; - -export function thresholdMap( - thresholds: ThresholdValueFragment, -): Partial> { - const map: Partial> = {}; - thresholds.nodes - .filter((i) => Boolean(i)) - .forEach((element) => { - const threshold = element as any; - map[threshold.variant] = { - pending: threshold.pending, - next: threshold.pending, - current: threshold.pending, - }; - }); - return map; -} - -export function thresholdVariant( - thresholds: ThresholdValueFragment, - variant: ThresholdVariant, -) { - const valid = thresholds.nodes.filter((t) => t && t.variant === variant); - if (variant.length === 0) { - return null; - } - return valid[0]; -} diff --git a/apps/stats-dapp/src/provider/hooks/types.ts b/apps/stats-dapp/src/provider/hooks/types.ts deleted file mode 100644 index d648222cb9..0000000000 --- a/apps/stats-dapp/src/provider/hooks/types.ts +++ /dev/null @@ -1,84 +0,0 @@ -/** - * A Type that wraps an API call value for a list view - * @param T The type of the value - * @param items - list of the items for the page - * @param pageInfo - information about the page - * */ -export type Page = { - items: T[]; - pageInfo: { - count: number; - hasNext: boolean; - hasPrevious: boolean; - }; -}; -/** - * A Type that wraps an API call value - * @param T - The type of the value should be null if the call is not yet complete - * @param isLoading - A boolean that indicates if the call is still loading - * @param isFailed - A boolean that indicates if the call has failed - * @package error - An error message if the call has failed - * */ -export type Loadable = { - val: T | null; - isLoading: boolean; - isFailed: boolean; - error?: string; -}; - -export type PageInfoQuery = { - offset: number; - perPage: number; - filter: Filter; -}; - -export enum SessionKeyStatus { - Generated = 'Generated', - - Signed = 'Signed', - - Rotated = 'Rotated', -} - -export enum ProposalStatus { - Signed = 'Signed', - - Open = 'Open', - - Rejected = 'Rejected', - - Accepted = 'Accepted', - - Removed = 'Removed', - - Executed = 'Executed', - - FailedToExecute = 'FailedToExecute', -} -export interface SessionKeyHistory { - stage: SessionKeyStatus; - - txHash: string; - - blockNumber: string; - - timestamp: string; -} -export interface DKGAuthority { - authorityId: string; - - accountId: string; - - reputation?: string; -} -export interface Threshold { - next: number; - - current: number; - - pending: number; -} -export type AuthorityReputation = { - authority: string; - reputation: string; -}; diff --git a/apps/stats-dapp/src/provider/hooks/useAuthorities.ts b/apps/stats-dapp/src/provider/hooks/useAuthorities.ts deleted file mode 100644 index dab400813e..0000000000 --- a/apps/stats-dapp/src/provider/hooks/useAuthorities.ts +++ /dev/null @@ -1,717 +0,0 @@ -/* eslint-disable @typescript-eslint/no-non-null-assertion */ -import { - AccountMetaDataFragment, - IntFilter, - useAccountMetaDataLazyQuery, - useSessionThresholdHistoryLazyQuery, - useSessionThresholdsLazyQuery, - useValidatorListingLazyQuery, - useValidatorOfSessionLazyQuery, - useValidatorSessionsLazyQuery, - useLatestSessionIdQuery, - useAuthorityUptimesQuery, -} from '../../generated/graphql'; -import { thresholdMap } from '../hooks/mappers/thresholds'; -import { mapAuthorities, mapSessionAuthValidatorNode } from './mappers'; -import { Loadable, Page, PageInfoQuery } from './types'; -import { useCurrentMetaData } from './useCurrentMetaData'; -import { PublicKey } from './useKeys'; -import { useActiveSession } from '../stats-provider'; -import { useEffect, useMemo, useState } from 'react'; -import { useReputations } from './useReputation'; - -export type AuthoritySet = { - count: number; - firstElements: string[]; -}; - -/** - * Threshold values - * @param keyGen - KeyGen threshold - * @param signature - Signature threshold - * @param proposer - Proposer threshold - * @param publicKey - Public key for a session - * - * */ -export type Thresholds = { - keyGen: string; - signature: string; - proposer: string; - publicKey: PublicKey; -}; - -export type UpcomingThresholdStats = 'Next'; - -/** - * Upcoming threshold stats - * @param stats - Indicate the status of upcoming threshold - * @param session - Stats session id - * @param keyGen - KeyGen threshold - * @param signature - Signature threshold - * @param proposer - Proposer threshold - * @param authoritySet - list of the authorities - * - * */ -export type UpcomingThreshold = { - stats: 'Next'; - session: string; - keyGen: string; - signature: string; - proposer: string; - authoritySet: AuthoritySet; -}; - -export type UpcomingThresholds = Record< - Lowercase, - UpcomingThreshold ->; - -/** - * Authority list item - * @param id - Authority account id - * @param location - Authority location - * @param uptime - Validator uptime - * @param authorityId - Authority id - * */ -export type AuthorityListItem = { - id: string; - location?: string; - uptime: number; - reputation: number; - authorityId: string; - isBest: boolean; -}; - -/** - * Proposer threshold and wither an authority is in the set - * val: proposer threshold - * inSet: whether an authority is in the set - * - * */ -type AuthorityThresholdStatus = { - val: string; - inTheSet: boolean; -}; - -/** - * Authority statistics - * @param numberOfKeys - Number of keys the authority had participated in - * @param uptime - The authority validator uptime - * @param reputation - The authority validator reputation - * @param keyGenThreshold - KeyGen threshold and wither the authority is in the set - * @param signatureThreshold - Signature threshold and wither the authority is in the set - * @param pendingKeyGenThreshold - Pending KeyGen threshold - **/ -export type AuthorityStats = { - numberOfKeys: string; - uptime: number; - reputation: number; - location: string | null; - keyGenThreshold: AuthorityThresholdStatus; - nextKeyGenThreshold: AuthorityThresholdStatus; - pendingKeyGenThreshold: AuthorityThresholdStatus; -}; - -/** - * Keygen list items - * @param id - Keygen id - * @param height - Keygen block number - * @param session - Keygen session id - * @param publicKey - Keygen public key - * */ -export type KeyGenKeyListItem = { - id: string; - height: string; - session: string; - publicKey: string; - authority: { - count: number; - firstElements: string[]; - }; -}; - -type AuthorityDetails = { - stats: Loadable; - keyGens: Loadable>; -}; - -/** - * Session threshold - * @param sessionId - Session identifier - * @param keyGenThreshold - KeyGen threshold value - * @param signatureThreshold - Signature threshold value - * */ -type SessionThresholdEntry = { - sessionId: string; - signatureThreshold: string; - keyGenThreshold: string; -}; - -export function useThresholds(): Loadable<[Thresholds, UpcomingThresholds]> { - const [data, setData] = useState>({ - val: null, - isFailed: false, - isLoading: true, - }); - - const session = useCurrentMetaData(); - const activeSession = useActiveSession(); - const [call, query] = useSessionThresholdsLazyQuery(); - - useEffect(() => { - if (session.val) { - call({ variables: { sessionId: session.val.activeSession } }).catch( - () => { - setData({ - val: null, - isFailed: true, - error: 'failed to query the session', - isLoading: false, - }); - }, - ); - } - }, [session, call]); - - useEffect(() => { - const subscription = query.observable - .map((res): Loadable<[Thresholds, UpcomingThresholds]> => { - if (res.data && res.data.session) { - const session = res.data.session; - - const thresholds = thresholdMap(session.thresholds); - const keyGen = thresholds.KEY_GEN; - const signature = thresholds.SIGNATURE; - - const publicKey = session.publicKey ?? { - id: '', - compressed: '', - uncompressed: '', - }; - - const allAuth = mapAuthorities(session?.sessionValidators); - const authSet = allAuth.map((auth) => auth.id); - const nextAuthSet = allAuth - .filter((auth) => auth.isNext) - .map((auth) => auth.id); - - const keyGenThreshold = keyGen; - const signatureThreshold = signature; - const proposersCount = session.proposersCount.totalCount; - const sessionTimeStamp = session.block?.timestamp; - - const threshold: Thresholds = { - keyGen: keyGenThreshold ? String(keyGenThreshold.current) : '-', - publicKey: { - id: publicKey.id, - session: session.id, - end: sessionTimeStamp - ? new Date( - new Date(sessionTimeStamp).getTime() + 60 * 60 * 1000, - ) - : undefined, - start: sessionTimeStamp ? new Date(sessionTimeStamp) : undefined, - compressed: publicKey.compressed ?? '', - uncompressed: '', - keyGenAuthorities: authSet, - isCurrent: activeSession === session.id, - isDone: Number(activeSession) > Number(session.id), - }, - proposer: '', - signature: signatureThreshold - ? String(signatureThreshold.current) - : '-', - }; - - const next: UpcomingThreshold = { - authoritySet: { - count: nextAuthSet.length, - firstElements: nextAuthSet.slice(0, 3), - }, - keyGen: String(keyGenThreshold?.next ?? '-'), - signature: String(signatureThreshold?.next ?? '-'), - proposer: String(proposersCount), - session: String(Number(session.id) + 1), - stats: 'Next', - }; - - return { - isLoading: false, - isFailed: false, - val: [ - threshold, - { - next, - }, - ], - }; - } - - return { - isLoading: res.loading, - isFailed: Boolean(res.error), - error: res.error?.message ?? undefined, - val: null, - }; - }) - .subscribe(setData); - - return () => subscription.unsubscribe(); - }, [query, activeSession]); - - return data; -} - -export type Range = [number | undefined, number | undefined] | []; - -function rangeIntoIntFilter(range: Range): IntFilter | null { - const filter = {} as IntFilter; - - if (typeof range[0] !== 'undefined') { - filter.greaterThanOrEqualTo = range[0]; - } - if (typeof range[1] !== 'undefined') { - filter.lessThanOrEqualTo = range[1]; - } - - if (Object.keys(filter).length === 0) { - return null; - } - return filter; -} - -type AuthorizesFilter = { - uptime?: Range; - reputation?: Range; - countries?: string[]; - search?: string; -}; -export type AuthorisesQuery = PageInfoQuery; - -export function useAuthorities( - reqQuery: PageInfoQuery, -): Loadable> { - const [authorities, setAuthorities] = useState< - Loadable> - >({ - val: null, - isLoading: true, - isFailed: false, - }); - const [call, query] = useValidatorListingLazyQuery(); - const authorityReputations = useReputations(); - - const authoritiesUptime = useAuthorityUptimesQuery({ - pollInterval: 1000, - fetchPolicy: 'network-only', - }); - - const authoritiesUptimes = useMemo(() => { - return authoritiesUptime.data?.authorityUpTimes?.nodes; - }, [authoritiesUptime]); - - const highestReputationScore = useMemo(() => { - if (authorityReputations.highestReputationScore !== -Infinity) { - return authorityReputations.highestReputationScore; - } else { - return 0; - } - }, [authorityReputations]); - - const latestIndexedSessionId = useLatestSessionIdQuery({ - pollInterval: 1000, - fetchPolicy: 'network-only', - }); - - const latestIndexedSessionIdNumber = useMemo(() => { - return Number(latestIndexedSessionId.data?.sessions?.totalCount ?? 0); - }, [latestIndexedSessionId]); - - useEffect(() => { - call({ - variables: { - offset: reqQuery.offset, - perPage: reqQuery.perPage, - sessionId: - latestIndexedSessionIdNumber === 0 - ? '0' - : String(latestIndexedSessionIdNumber - 4), - }, - }).catch((e) => { - setAuthorities({ - val: null, - isFailed: true, - isLoading: false, - error: e.message, - }); - }); - }, [reqQuery, call, latestIndexedSessionIdNumber]); - - useEffect(() => { - const subscription = query.observable - .map((res): Loadable> => { - if (res.data && res.data.sessionValidators) { - const sessionValidators = res.data.sessionValidators; - const items = sessionValidators.nodes - .filter((v) => v !== null) - .map((sessionValidator): AuthorityListItem => { - const auth = mapSessionAuthValidatorNode(sessionValidator as any); - const authority = authoritiesUptimes?.find( - (item) => item?.authorityId === auth.id, - ); - const uptime = authority ? authority.uptime : 0; - - return { - id: auth.id, - location: auth.location ?? undefined, - uptime: uptime, - reputation: auth - ? (auth.reputation / highestReputationScore) * 100 - : 0, - authorityId: auth.authorityId, - isBest: auth.isBest, - }; - }); - return { - isLoading: false, - isFailed: false, - val: { - items, - pageInfo: { - count: sessionValidators.totalCount, - hasPrevious: sessionValidators.pageInfo.hasPreviousPage, - hasNext: sessionValidators.pageInfo.hasNextPage, - }, - }, - }; - } - return { - isLoading: res.loading, - isFailed: Boolean(res.error), - error: res.error?.message ?? undefined, - val: null, - }; - }) - .subscribe(setAuthorities); - return () => subscription.unsubscribe(); - }, [query, authoritiesUptimes, highestReputationScore]); - - return authorities; -} - -export type AuthorityQuery = PageInfoQuery<{ - authorityId: string; -}>; - -export function useAuthority(pageQuery: AuthorityQuery): AuthorityDetails { - const [stats, setStats] = useState({ - isFailed: false, - isLoading: true, - val: null, - }); - const [keyGens, setKeyGens] = useState({ - isFailed: false, - isLoading: true, - val: null, - }); - const latestIndexedSessionId = useLatestSessionIdQuery({ - pollInterval: 1000, - fetchPolicy: 'network-only', - }); - const latestIndexedSessionIdNumber = useMemo(() => { - return Number(latestIndexedSessionId.data?.sessions?.totalCount ?? 0); - }, [latestIndexedSessionId]); - const { authorityId } = pageQuery.filter; - const [callKeyGen, queryKeyGen] = useValidatorSessionsLazyQuery(); - const [callValidatorOfSession, queryValidatorOfSession] = - useValidatorOfSessionLazyQuery(); - const authorityReputations = useReputations(); - const highestReputationScore = useMemo(() => { - if (authorityReputations.highestReputationScore !== -Infinity) { - return authorityReputations.highestReputationScore; - } else { - return 0; - } - }, [authorityReputations]); - - useEffect(() => { - callKeyGen({ - variables: { - offset: pageQuery.offset, - perPage: pageQuery.perPage, - keyGen: true, - validatorId: authorityId, - }, - }).catch((e) => { - setKeyGens({ - val: null, - isFailed: true, - isLoading: false, - error: e.message, - }); - }); - }, [authorityId, callKeyGen, setKeyGens, pageQuery]); - useEffect(() => { - callValidatorOfSession({ - variables: { - sessionValidatorId: `${ - latestIndexedSessionIdNumber === 0 - ? 0 - : latestIndexedSessionIdNumber - 4 - }-${authorityId}`, - validatorId: authorityId, - }, - }).catch((e) => { - setStats({ - val: null, - isFailed: true, - isLoading: false, - error: e.message, - }); - }); - }, [latestIndexedSessionIdNumber, callValidatorOfSession, authorityId]); - useEffect(() => { - const subscription = queryKeyGen.observable - .map((res): AuthorityDetails['keyGens'] => { - if (res.data && res.data.sessionValidators) { - const sessionValidators = res.data.sessionValidators; - const items = sessionValidators.nodes - // Ensure only session with public keys - .filter((n) => Boolean(n?.session?.publicKey)) - .map((node): KeyGenKeyListItem => { - const session = node && node.session ? node.session : null; - const publicKey = - session && session.publicKey - ? session.publicKey - : { - id: '', - compressed: '', - uncompressed: '', - }; - return { - id: publicKey.id, - session: session && session.id ? session.id : '', - publicKey: publicKey.compressed ?? '', - height: `${publicKey.block?.number ?? '-'}`, - authority: { - count: session.sessionValidators.totalCount, - firstElements: session.sessionValidators.edges - .map((i) => i.node?.validator?.id) - .filter((i) => i !== undefined) as string[], - }, - }; - }); - return { - isLoading: false, - isFailed: false, - val: { - items, - pageInfo: { - count: sessionValidators.totalCount, - hasPrevious: sessionValidators.pageInfo.hasPreviousPage, - hasNext: sessionValidators.pageInfo.hasNextPage, - }, - }, - }; - } - return { - isLoading: res.loading, - isFailed: Boolean(res.error), - error: res.error?.message ?? undefined, - val: null, - }; - }) - .subscribe(setKeyGens); - return () => subscription.unsubscribe(); - }, [queryKeyGen]); - useEffect(() => { - const subscription = queryValidatorOfSession.observable - .map((res): AuthorityDetails['stats'] => { - if (res.data && res.data.sessionValidator) { - const sessionValidator = res.data.sessionValidator; - const sessionValidators = res.data.sessionValidators; - const counter = sessionValidators?.aggregates?.distinctCount - ?.id as number; - const session = sessionValidator.session as any; - const thresholds = thresholdMap(session.thresholds); - const keyGen = thresholds.KEY_GEN; - - const auth = mapSessionAuthValidatorNode(sessionValidator); - - const stats: AuthorityStats = { - numberOfKeys: String(counter), - location: auth.location, - keyGenThreshold: { - val: String(keyGen?.current ?? '-'), - inTheSet: auth.isBest, - }, - nextKeyGenThreshold: { - val: String(keyGen?.next ?? '-'), - inTheSet: auth.isNextBest, - }, - pendingKeyGenThreshold: { - val: String(keyGen?.pending ?? '-'), - inTheSet: auth.isBest, - }, - reputation: - (Number(auth.reputation) / highestReputationScore) * 100, - uptime: Number(auth?.uptime ?? 0) * Math.pow(10, -7), - }; - return { - error: '', - isFailed: false, - isLoading: false, - val: stats, - }; - } - return { - isLoading: res.loading, - isFailed: Boolean(res.error), - error: res.error?.message ?? undefined, - val: null, - }; - }) - .subscribe(setStats); - return () => subscription.unsubscribe(); - }, [queryValidatorOfSession, highestReputationScore]); - return useMemo(() => ({ stats, keyGens }), [stats, keyGens]); -} - -export function useSessionHistory( - pageQuery: PageInfoQuery, -): Loadable> { - const [sessionHistory, setSessionHistory] = useState< - Loadable> - >({ - isFailed: false, - isLoading: false, - val: null, - }); - - const [call, query] = useSessionThresholdHistoryLazyQuery(); - - useEffect(() => { - call({ - variables: { - offset: pageQuery.offset, - perPage: pageQuery.perPage, - }, - }).catch((e) => { - setSessionHistory({ - val: null, - isFailed: true, - isLoading: false, - error: e.message, - }); - }); - }, [pageQuery, setSessionHistory, call]); - - useEffect(() => { - const subscription = query.observable - .map((res): Loadable> => { - if (res.data.sessions) { - const items: SessionThresholdEntry[] = res.data.sessions.nodes.map( - (node: any) => { - const thresholds = thresholdMap(node.thresholds); - const keyGen = thresholds.KEY_GEN; - const signature = thresholds.SIGNATURE; - - return { - sessionId: node?.id ?? '', - keyGenThreshold: String(keyGen?.current ?? '-'), - signatureThreshold: String(signature?.current ?? '-'), - }; - }, - ); - return { - error: '', - isFailed: false, - isLoading: false, - val: { - items, - pageInfo: { - count: res.data.sessions.totalCount, - hasPrevious: res.data.sessions.pageInfo.hasPreviousPage, - hasNext: res.data.sessions.pageInfo.hasNextPage, - }, - }, - }; - } - - return { - isLoading: res.loading, - isFailed: Boolean(res.error), - error: res.error?.message ?? undefined, - val: null, - }; - }) - .subscribe(setSessionHistory); - return () => subscription.unsubscribe(); - }, [query]); - - return sessionHistory; -} - -type AuthorityAccountDetailsQuery = Loadable< - Omit ->; - -export function useAuthorityAccount( - accountId?: string, -): AuthorityAccountDetailsQuery { - const [account, setAccount] = useState({ - val: null, - isFailed: false, - isLoading: false, - error: undefined, - }); - const [call, query] = useAccountMetaDataLazyQuery(); - - useEffect(() => { - const sub = query.observable - .map((account): AuthorityAccountDetailsQuery => { - if (account.data?.account) { - const { __typename, ...data } = account.data.account; - return { - isLoading: false, - val: data, - error: undefined, - isFailed: false, - }; - } - return { - val: null, - isLoading: account.loading, - isFailed: Boolean(account.error), - error: account.error?.message, - }; - }) - .subscribe(setAccount); - return () => sub.unsubscribe(); - }, [query, setAccount]); - - useEffect(() => { - if (accountId) { - call({ - variables: { - accountId, - }, - }).catch((e) => { - setAccount({ - val: null, - isFailed: true, - isLoading: false, - error: e.message, - }); - }); - } else { - setAccount({ - isLoading: false, - val: null, - error: undefined, - isFailed: false, - }); - } - }, [accountId]); - return account; -} diff --git a/apps/stats-dapp/src/provider/hooks/useBlocks.ts b/apps/stats-dapp/src/provider/hooks/useBlocks.ts deleted file mode 100644 index 21a1f8dbf0..0000000000 --- a/apps/stats-dapp/src/provider/hooks/useBlocks.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { useEffect, useMemo, useState } from 'react'; -import { useStatsContext } from '../../provider/stats-provider'; -import { Loadable } from '../../provider/hooks/types'; -import { useLatestIndexedBlockQuery } from '../../generated/graphql'; - -/** - * - * Best and finalized block numbers - * @param best - Latest best block number - * @param finalized - Latest finalized block number - * - * */ -type BlocksValue = { - best: number; - finalized: number; - latestIndexedBlock: number; -}; - -type LatestBlocksValue = Loadable; - -/** - * Get Best and finalized block numbers - * */ -export function useBlocks(): LatestBlocksValue { - const { api } = useStatsContext(); - const latestIndexBlockValue = useLatestIndexedBlockQuery({ - pollInterval: 10000, - fetchPolicy: 'network-only', - }); - - const [bestBlock, setBestBlock] = useState(); - const [finalizedBlock, setFinalizedBlock] = useState(); - - const value = useMemo(() => { - if (!bestBlock || !finalizedBlock) { - return { - val: null, - isLoading: true, - isFailed: true, - error: undefined, - }; - } - - return { - val: { - best: bestBlock, - finalized: finalizedBlock, - latestIndexedBlock: latestIndexBlockValue.data?.blocks?.totalCount || 0, - }, - isLoading: false, - isFailed: false, - error: undefined, - }; - }, [bestBlock, finalizedBlock, latestIndexBlockValue]); - - useEffect(() => { - if (api) { - // Array of subscriptions - const subscriptions: Array<() => void> = []; - - // Handler for listenting to new/best headers - const handler = async (): Promise void>> => { - const unsubscribeNewHeads = await api.rpc.chain.subscribeNewHeads( - (lastHeader) => setBestBlock(Number(lastHeader.number)), - ); - - const unsubscribeFinalizedHeads = - await api.rpc.chain.subscribeFinalizedHeads((finalizedHeader) => - setFinalizedBlock(Number(finalizedHeader.number)), - ); - - return [unsubscribeNewHeads, unsubscribeFinalizedHeads]; - }; - - handler().then((cleanup) => { - subscriptions.push(...cleanup); - }); - - return () => { - subscriptions.forEach((unsubscribe) => unsubscribe()); - }; - } - }, [api, setBestBlock, setFinalizedBlock]); - - return value; -} diff --git a/apps/stats-dapp/src/provider/hooks/useCurrentMetaData.ts b/apps/stats-dapp/src/provider/hooks/useCurrentMetaData.ts deleted file mode 100644 index 34a666bc4e..0000000000 --- a/apps/stats-dapp/src/provider/hooks/useCurrentMetaData.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Loadable } from './types'; -import { Metadata, useStatsContext } from '../stats-provider'; -import { useMemo } from 'react'; - -export function useCurrentMetaData(): Loadable { - const { isReady, metaData } = useStatsContext(); - return useMemo(() => { - if (isReady) { - return { - val: metaData, - isFailed: false, - isLoading: false, - }; - } - return { - val: null, - isLoading: true, - isFailed: false, - }; - }, [metaData, isReady]); -} diff --git a/apps/stats-dapp/src/provider/hooks/useKeys.ts b/apps/stats-dapp/src/provider/hooks/useKeys.ts deleted file mode 100644 index cef746c0e3..0000000000 --- a/apps/stats-dapp/src/provider/hooks/useKeys.ts +++ /dev/null @@ -1,599 +0,0 @@ -import { - useAuthorityUptimesQuery, - usePublicKeyLazyQuery, - usePublicKeysLazyQuery, - useSessionKeyIdsLazyQuery, - useSessionKeysLazyQuery, -} from '../../generated/graphql'; -import { mapAuthorities } from './mappers'; -import { thresholdMap } from '../hooks/mappers/thresholds'; -import { useCurrentMetaData } from './useCurrentMetaData'; -import { - useActiveSession, - useStaticConfig, - useStatsContext, -} from '../stats-provider'; -import { useEffect, useMemo, useState } from 'react'; - -import { - Loadable, - Page, - PageInfoQuery, - SessionKeyHistory, - SessionKeyStatus, - Threshold, -} from './types'; -import { useReputations } from './useReputation'; - -/** - * Public key shared content - * @param id - public key id - * @param uncompressed - Uncompressed public key value - * @param compressed - Compressed public key value - * @param start - The time when the public key started taking effect and be the active key - * @param end - The time when the public key stopped taking effect and be the active key - * @param session - The session id for that key (Life time of the key) - * */ -type PublicKeyContent = { - id: string; - - uncompressed: string; - compressed: string; - - start?: Date; - end?: Date; - session: string; -}; - -/** - * Public key with keygen authorities - * @param isCurrent - The key is the current active key - * @param keyGenAuthorities - Authorities set that signed the key - * */ -export interface PublicKey extends PublicKeyContent { - isCurrent: boolean; - isDone: boolean; - keyGenAuthorities: string[]; -} - -/** - * @param height - Block number when the key was generated - * @param keyGenAuthorities - Authorities set that signed the key - * @param keyGenThreshold - keyGenThreshold Active session of that key - * @param SignatureThreshold - SignatureThreshold Active session of that key - * @param session - The session id for that key (Lifetime of the key) - * @param previousKeyId - The previous key id for nagivation on the drawer - * @param nextKeyId - The next key id for nagivation on the drawer - * */ -export interface PublicKeyListView extends PublicKeyContent { - height: string; - keyGenAuthorities: string[]; - keyGenThreshold: number | null; - signatureThreshold: number | null; - session: string; - - previousKeyId?: string; - nextKeyId?: string; -} - -/** - * Public key progress history item - * @param at - The date when the history item took place - * @param hash - Transaction hash of that history item - * @param status - The status of the history item - * */ -type PublicKeyHistoryEntry = { - at: Date; - hash: string; - status: SessionKeyStatus; -}; -/** - * @param id - Authority id - * @param account - account 32 for that authority - * @param location - The location of that authority - * @param uptime - Authority validator uptime - * @params reputation - The P2P reputation of that authority - * - * */ -export type KeyGenAuthority = { - id: string; - account: string; - location: string; - uptime: number; - reputation: number; -}; - -/** - * The full date of that public key - * @param height - Block number when the key was generated - * @param isCurrent - The key is the current active key - * @param history - The progress of that key - * @param keyGenThreshold - keyGenThreshold Active session of that key - * @param signatureThreshold - signatureThreshold Active session of that key - * @param numberOfValidators - The number of the validator running at the key being active - * @param authorities - keygen authorities (Best Authorities) that signed the key - * @param nextKeyId - The id of the next key if any - * @param previousKeyId - the id of the previous key if any - * */ -interface PublicKeyDetails extends PublicKeyContent { - height: string; - isCurrent: boolean; - isDone: boolean; - history: PublicKeyHistoryEntry[]; - keyGenThreshold: number | null; - signatureThreshold: number | null; - numberOfValidators: number | null; - authorities: Array; -} -/** - * - * Next and previous key ids - * @param nextKeyId - The id of the next key if any - * @param previousKeyId - The id of the next key if any - * - * */ -type NextAndPrevKeyStatus = { - nextKeyId: string | null; - previousKeyId: string | null; -}; -/** - * Public key details page - * @param key - Public key details - * @param prevAndNextKey - Information about the next and previous key existence - * */ -type PublicKeyDetailsPage = { - key: Loadable; - prevAndNextKey: Loadable; -}; - -export function sessionFrame( - timestamp?: string, - sessionHeight?: number, -): [startDateTime: Date, endTime: Date] | [] { - if (!timestamp || !sessionHeight) { - return []; - } - - const startDateTime = new Date(timestamp); - - if (isNaN(startDateTime.getTime())) { - console.error(`Invalid timestamp: ${timestamp}`); - return []; - } - - const endTime = new Date(startDateTime.getTime() + sessionHeight * 1000); // block timestamp milliseconds + session height in milliseconds - - return [startDateTime, endTime]; -} - -/** - * List keys for table view - * - * @example - * An example of using previous and next values - * ```jsx - * const KeyDetailsPage = ({key}:{key:string}) => { - * const proposalDetailsPage = useKey(key); - * const nextAndPrevStatus = proposalDetailsPage.nextAndPrevStatus - * const hasNext = useMemo( () => prevAndNextKey.val?.nextKeyId !== null, [nextAndPrevStatus]) - * const hasPrev = useMemo( () => prevAndNextKey.val?.previousKeyId !== null, [nextAndPrevStatus]) - * return
    - * - *
    - * } - * ``` - * */ -export function useKeys( - reqQuery: PageInfoQuery, - currentKey: PublicKey | null | undefined, -): Loadable> { - const [call, query] = usePublicKeysLazyQuery(); - const { sessionHeight } = useStaticConfig(); - const { blockTime } = useStatsContext(); - const [isLoading, setLoading] = useState(false); - const [fetched, setFetched] = useState(false); - const [page, setPage] = useState>>({ - val: null, - isFailed: false, - isLoading: false, - }); - - useEffect(() => { - if (!fetched) { - setLoading(true); - call({ - variables: { - offset: reqQuery.offset, - PerPage: reqQuery.perPage, - }, - pollInterval: 10000, - fetchPolicy: 'network-only', - }) - .then(() => { - setFetched(true); - setLoading(false); - }) - .catch((e) => { - setPage({ - val: null, - isFailed: true, - isLoading: false, - error: e.message, - }); - }); - } - }, [reqQuery, call, currentKey, fetched]); - - useEffect(() => { - setFetched(false); - }, [reqQuery]); - - useEffect(() => { - if (!fetched) return; - - const subscription = query.observable - .map((res): Loadable> => { - if (res.loading) { - return { - val: null, - isFailed: false, - isLoading: true, - }; - } - if (res.error) { - return { - val: null, - error: res.error.message, - isLoading: false, - isFailed: true, - }; - } - if (res.data.publicKeys) { - const data = res.data.publicKeys; - const filteredData = data.nodes.filter((n) => !!n); - - return { - isLoading: false, - isFailed: false, - val: { - items: filteredData.map((node, idx) => { - const session = node?.sessions?.nodes[0]; - const thresholds = thresholdMap( - session ? session.thresholds : { nodes: [] }, - ); - const keyGen = thresholds.KEY_GEN; - const signature = thresholds.SIGNATURE; - const authorities = mapAuthorities(session?.sessionValidators) - ?.filter((auth) => auth.isBest) - .map((auth) => auth.id); - - const previousKeyId = idx - ? filteredData[idx - 1]?.id - : undefined; - const nextKeyId = - idx < filteredData.length - 1 - ? filteredData[idx + 1]?.id - : undefined; - const [start, end] = sessionFrame( - session?.block?.timestamp, - sessionHeight, - ); - return { - height: String(node?.block?.number), - session: session?.id, - keyGenThreshold: keyGen?.current ?? null, - signatureThreshold: signature?.current ?? null, - compressed: node?.compressed, - uncompressed: '', // node?.uncompressed - keyGenAuthorities: authorities, - end, - start, - id: node?.id, - previousKeyId, - nextKeyId, - }; - }), - - pageInfo: { - count: data.totalCount, - hasNext: data.pageInfo.hasNextPage, - hasPrevious: data.pageInfo.hasPreviousPage, - }, - }, - }; - } - return { - val: null, - isFailed: false, - isLoading: false, - }; - }) - .subscribe(setPage); - - return () => subscription.unsubscribe(); - }, [query, blockTime, sessionHeight, fetched]); - - return isLoading ? { isLoading, isFailed: false, val: null } : page; -} - -/** - * Get the current Public key (Current session active) and the next public key (Next session active) - * */ -export function useActiveKeys(): Loadable<[PublicKey, PublicKey]> { - const metaData = useCurrentMetaData(); - const [call, query] = useSessionKeysLazyQuery(); - const { sessionHeight } = useStaticConfig(); - const activeSession = useActiveSession(); - - const [keys, setKeys] = useState>({ - val: null, - isFailed: false, - isLoading: true, - }); - - useEffect(() => { - if (activeSession) { - call({ - variables: { - SessionId: [activeSession, String(Number(activeSession) + 1)], - }, - pollInterval: 10000, - fetchPolicy: 'network-only', - }).catch((e) => { - setKeys({ - val: null, - isFailed: true, - isLoading: false, - error: e.message, - }); - }); - } - }, [activeSession, call]); - - useEffect(() => { - const subscription = query.observable - .map((res): Loadable<[PublicKey, PublicKey]> => { - if (res.data) { - const val: PublicKey[] = - res.data.sessions?.nodes - .filter((i) => i?.publicKey) - .map((i) => { - const keyGenAuthorities = mapAuthorities(i?.sessionValidators) - .filter((auth) => auth.isBest) - .map((auth) => auth.id); - const publicKey = i?.publicKey; - const session = i; - const sessionTimeStamp = session?.block?.timestamp; - const [start, end] = sessionFrame( - sessionTimeStamp, - sessionHeight, - ); - - return { - id: publicKey?.id, - session: session?.id, - end, - start, - compressed: publicKey?.compressed, - uncompressed: '', // publicKey?.uncompressed - keyGenAuthorities, - isCurrent: activeSession === session?.id, - isDone: Number(activeSession) > Number(session?.id), - }; - }) || []; - - const activeKey = val[0]; - const nextKey = val[1]; - - return { - val: [ - activeKey, - { - ...nextKey, - start: activeKey?.end, - }, - ], - isFailed: false, - isLoading: false, - }; - } - - if (res.error) { - return { - val: null, - isFailed: true, - isLoading: false, - error: res.error.message, - }; - } - - return { - val: null, - isFailed: true, - isLoading: false, - }; - }) - .subscribe(setKeys); - - return () => subscription.unsubscribe(); - }, [query, activeSession, sessionHeight, metaData, setKeys]); - - return keys; -} - -/** - * Graphql query to get the public key details - * @param id : public key id - * - * */ -export function useKey(id: string): PublicKeyDetailsPage { - const [call, query] = usePublicKeyLazyQuery(); - const [callSessionKeys, sessionKeysQuery] = useSessionKeyIdsLazyQuery(); - const [key, setKey] = useState>({ - val: null, - isFailed: false, - isLoading: true, - }); - const { sessionHeight } = useStaticConfig(); - const { blockTime } = useStatsContext(); - const activeSession = useActiveSession(); - const [prevAndNextKey, setPrevAndNextKey] = useState< - Loadable - >({ - val: null, - isFailed: false, - isLoading: true, - }); - - const authoritiesUptime = useAuthorityUptimesQuery({ - pollInterval: 1000, - fetchPolicy: 'cache-and-network', - }); - - const authoritiesUptimes = useMemo(() => { - return authoritiesUptime.data?.authorityUpTimes?.nodes; - }, [authoritiesUptime]); - - const authorityReputations = useReputations(); - - useEffect(() => { - call({ - variables: { - id, - }, - }).catch((e) => { - setKey({ - val: null, - isFailed: true, - isLoading: false, - error: e.message, - }); - }); - }, [id, call]); - - useEffect(() => { - const subscription = query.observable - .map((res): Loadable => { - if (res.data) { - const publicKey = res.data.publicKey; - const session = publicKey.sessions?.nodes[0]; - const history: PublicKeyHistoryEntry[] = ( - publicKey.history as SessionKeyHistory[] - ).map((val) => { - return { - at: new Date(val.timestamp), - status: val.stage, - hash: val.txHash, - }; - }); - const sessionAuthorities = mapAuthorities(session.sessionValidators); - const authorities = sessionAuthorities - .filter((auth) => auth.isBest) - .map((auth): KeyGenAuthority => { - const authority = authoritiesUptimes?.find( - (item) => item?.authorityId === auth.id, - ); - const uptime = authority ? authority.uptime : 0; - return { - account: auth.id, - id: auth.id, - location: 'any', - reputation: - (Number(auth.reputation) / - authorityReputations.highestReputationScore) * - 100, - uptime: uptime, - }; - }); - const validators = sessionAuthorities.length; - const [start, end] = sessionFrame( - session.block?.timestamp, - sessionHeight, - ); - const thresholds = thresholdMap(session.thresholds); - const keyGen = thresholds.KEY_GEN; - const signature = thresholds.SIGNATURE; - return { - isFailed: false, - isLoading: false, - val: { - height: publicKey.block?.number, - compressed: publicKey.compressed, - uncompressed: '', // publicKey.uncompressed - id: publicKey.id, - session: session.id, - end, - start, - history, - numberOfValidators: validators, - isCurrent: activeSession === session.id, - isDone: Number(activeSession) > Number(session.id), - authorities, - keyGenThreshold: keyGen?.current ?? null, - signatureThreshold: signature?.current ?? null, - }, - }; - } - return { - val: null, - isFailed: Boolean(res.error), - isLoading: false, - error: res.error?.message, - }; - }) - .subscribe((val) => { - if (val.val) { - const sessionId = Number(val.val.session); - const sessionIds = [Math.max(sessionId - 1, 0), sessionId + 1].map( - (v) => String(v), - ); - callSessionKeys({ - variables: { - keys: sessionIds, - }, - }).catch((e) => { - console.log(e); - }); - } - setKey(val); - }); - return () => subscription.unsubscribe(); - }, [ - callSessionKeys, - query, - activeSession, - sessionHeight, - blockTime, - authoritiesUptimes, - ]); - - useEffect(() => { - const subscription = sessionKeysQuery.observable - .map((res): Loadable => { - if (res.data && res.data.sessions) { - const sessions = res.data.sessions.nodes; - const map = sessions - .filter((s) => s && s.publicKey) - .map((s) => [s.id, s.publicKey.id]); - const [prev, next] = sessionKeysQuery.variables.keys as string[]; - return { - isLoading: false, - val: { - nextKeyId: map.find((i) => i[0] === next)?.[1] || null, - previousKeyId: map.find((i) => i[0] === prev)?.[1] || null, - }, - isFailed: false, - }; - } - return { - val: null, - isFailed: Boolean(res.error), - isLoading: false, - error: res.error?.message, - }; - }) - .subscribe(setPrevAndNextKey); - return () => subscription.unsubscribe(); - }, [sessionKeysQuery, setPrevAndNextKey]); - return { key, prevAndNextKey }; -} diff --git a/apps/stats-dapp/src/provider/hooks/useProposals.ts b/apps/stats-dapp/src/provider/hooks/useProposals.ts deleted file mode 100644 index 31e067bade..0000000000 --- a/apps/stats-dapp/src/provider/hooks/useProposals.ts +++ /dev/null @@ -1,187 +0,0 @@ -import { useEffect, useState } from 'react'; -import { Loadable, Page, PageInfoQuery } from './types'; -import { - useProposalBatchesLazyQuery, - useProposalBatchQuery, - ProposalBatchesOrderBy, -} from '../../generated/graphql'; - -export type ProposalTimeline = { - status: string; - timestamp: string; -}; - -export type Proposal = { - data: string; - type: string; -}; - -export type ProposalBatch = { - id: string; - status: string; - height: number; - proposals: Proposal[]; - chain: string; - timeline: ProposalTimeline[]; -}; - -export type BatchedProposalsQuery = PageInfoQuery & { - orderBy?: ProposalBatchesOrderBy; -}; - -export type BatchedProposals = Loadable>; - -export type BatchedProposalQuery = string; - -export type BatchedProposal = Loadable; - -// FOR BATCHED PROPOSALS TABLE -export const useBatchedProposals = ( - batchedProposalsQuery: BatchedProposalsQuery, -): BatchedProposals => { - const { offset, perPage, orderBy } = batchedProposalsQuery; - - const [call, query] = useProposalBatchesLazyQuery(); - - const [batchedProposals, setBatchedProposals] = useState({ - isLoading: false, - isFailed: false, - val: { - items: [], - pageInfo: { - count: 0, - hasNext: false, - hasPrevious: false, - }, - }, - }); - - useEffect(() => { - call({ - variables: { - offset, - perPage, - orderBy, - }, - pollInterval: 10000, - fetchPolicy: 'network-only', - }); - }, [offset, perPage]); - - useEffect(() => { - const subscription = query.observable - .map((res): BatchedProposals => { - if (res.data) { - const data = res.data.proposalBatches?.nodes - .filter((batch) => batch !== null) - .map((batch) => { - return { - id: batch?.id, - status: batch?.status, - height: Number(batch?.blockNumber), - proposals: batch?.proposals?.map((proposal: any) => { - return { - type: proposal?.kind, - data: proposal?.data, - }; - }), - chain: batch?.chain, - }; - }); - - return { - isFailed: false, - isLoading: false, - val: { - items: data as ProposalBatch[], - pageInfo: { - count: res.data.proposalBatches?.totalCount ?? 0, - hasPrevious: - res.data.proposalBatches?.pageInfo.hasPreviousPage ?? false, - hasNext: - res.data.proposalBatches?.pageInfo.hasNextPage ?? false, - }, - }, - }; - } - - return { - isLoading: res.loading, - isFailed: Boolean(res.error), - error: res.error?.message ?? undefined, - val: null, - }; - }) - .subscribe(setBatchedProposals); - - return () => subscription.unsubscribe(); - }, [query]); - - return batchedProposals; -}; - -// FOR INDIVIDUAL BATCHED PROPOSAL DETAILS -export const useBatchedProposal = ( - batchedProposalQuery: BatchedProposalQuery, -) => { - const { data, error, loading } = useProposalBatchQuery({ - variables: { - batchId: batchedProposalQuery, - }, - pollInterval: 10000, - fetchPolicy: 'network-only', - }); - - const [batchedProposal, setBatchedProposal] = useState({ - isLoading: false, - isFailed: false, - val: null, - }); - - useEffect(() => { - if (data) { - const batch = data.proposalBatch; - - const proposalBatch = { - id: batch?.id, - status: batch?.status, - height: Number(batch?.blockNumber), - proposals: batch?.proposals?.map((proposal: any) => { - return { - type: proposal?.kind, - data: proposal?.data, - }; - }), - chain: batch?.chain, - timeline: batch?.timeline, - }; - - setBatchedProposal({ - isLoading: false, - isFailed: false, - val: proposalBatch as ProposalBatch, - }); - - return; - } - - if (error) { - setBatchedProposal({ - isLoading: false, - isFailed: true, - error: error.message, - val: null, - }); - } - - if (loading) { - setBatchedProposal({ - isLoading: true, - isFailed: false, - val: null, - }); - } - }, [data, error, loading]); - - return batchedProposal; -}; diff --git a/apps/stats-dapp/src/provider/hooks/useReputation.ts b/apps/stats-dapp/src/provider/hooks/useReputation.ts deleted file mode 100644 index 2532337160..0000000000 --- a/apps/stats-dapp/src/provider/hooks/useReputation.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { useState, useEffect } from 'react'; -import { useStatsContext } from '../stats-provider'; -import { ApiPromise } from '@polkadot/api'; -import { AuthorityReputation } from './types'; - -const getAuthorityReputations = async ( - currentAuthorities: string[], - api: ApiPromise, -) => { - const promises = currentAuthorities.map(async (item: string) => { - const reputation = await api.query.dkg.authorityReputations(item); - return { - authority: item, - reputation: reputation.toString(), - }; - }); - - const authorityReputations = await Promise.all(promises); - return authorityReputations; -}; - -/** - * Fetches the reputation scores of all authorities - * - * @returns an object with the following properties: - * - authorityReputations: an array of objects with the following properties: authority - (authority's address) & reputation - (authority's reputation score) - * - highestReputationScore: the highest reputation score among all authorities - */ -export const useReputations = () => { - const { - api, - dkgDataFromPolkadotAPI: { currentAuthorities }, - } = useStatsContext(); - - const [authorityReputations, setAuthorityReputations] = useState< - AuthorityReputation[] - >([]); - const [highestReputationScore, setHighestReputationScore] = - useState(-Infinity); - - useEffect(() => { - if (api) { - const fetchReputations = async () => { - const reputations = await getAuthorityReputations( - currentAuthorities, - api, - ); - - const maxReputation = reputations.reduce((max, entry) => { - const reputationValue = Number(entry.reputation); - return reputationValue > max ? reputationValue : max; - }, -Infinity); - - setAuthorityReputations(reputations); - setHighestReputationScore(maxReputation); - }; - - fetchReputations(); - } - }, [api, currentAuthorities]); - - return { - authorityReputations: authorityReputations, - highestReputationScore: highestReputationScore, - }; -}; diff --git a/apps/stats-dapp/src/provider/hooks/useSession.ts b/apps/stats-dapp/src/provider/hooks/useSession.ts deleted file mode 100644 index 8ed0f49886..0000000000 --- a/apps/stats-dapp/src/provider/hooks/useSession.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { useLatestThresholdsLazyQuery } from '../../generated/graphql'; -import { thresholdMap } from '../../provider/hooks/mappers/thresholds'; -import { Loadable } from '../../provider/hooks/types'; -import { useStatsContext } from '../../provider/stats-provider'; -import { useEffect, useState } from 'react'; - -type SessionThresholdValue = { - sessionId: string; - keygenThreshold: number; - signatureThreshold: number; -}; -type LatestThresholdsValue = Loadable>; -/** - * Network thresholds history - * @param isLatest - When this is set to `true` the hook will fetch only the latest thresholds, When it's set to `false` the hook will fetch last month thresholds - * - * */ -export function useSessionThreshold(isLatest: boolean): LatestThresholdsValue { - const stats = useStatsContext(); - const [value, setValue] = useState({ - val: null, - isLoading: false, - isFailed: false, - error: undefined, - }); - const [call, query] = useLatestThresholdsLazyQuery(); - - useEffect(() => { - const lastBlock = stats.metaData.activeSessionBlock; - const month = (30 * 24 * 60 * 60) / stats.blockTime; - const block = Math.max(lastBlock - month, 0); - call({ - variables: { - first: isLatest ? 25 : undefined, - filter: isLatest - ? undefined - : { - blockNumber: { - greaterThanOrEqualTo: block, - }, - }, - }, - }).catch((e) => { - setValue({ - isFailed: true, - error: e?.message, - val: null, - isLoading: false, - }); - }); - }, [call, stats, isLatest]); - - useEffect(() => { - const subscription = query.observable - .map((res): LatestThresholdsValue => { - if (res.data && res.data.sessions) { - const sessions = res.data.sessions.nodes - .map((s): Partial => { - const session = s; - const map = thresholdMap(session.thresholds); - return { - sessionId: session.id, - keygenThreshold: map.KEY_GEN?.current, - signatureThreshold: map.SIGNATURE?.current, - }; - }) - .filter( - (s) => s.keygenThreshold && s.signatureThreshold, - ) as SessionThresholdValue[]; - - return { - val: sessions, - isFailed: false, - isLoading: false, - }; - } - return { - isLoading: res.loading, - isFailed: Boolean(res.error), - error: res.error?.message ?? undefined, - val: null, - }; - }) - .subscribe(setValue); - return () => subscription.unsubscribe(); - }, [query]); - - return value; -} diff --git a/apps/stats-dapp/src/provider/index.ts b/apps/stats-dapp/src/provider/index.ts deleted file mode 100644 index 405e9d4848..0000000000 --- a/apps/stats-dapp/src/provider/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './hooks'; -export * from './DemoTable'; -export * from './stats-provider'; diff --git a/apps/stats-dapp/src/provider/stats-provider.tsx b/apps/stats-dapp/src/provider/stats-provider.tsx deleted file mode 100644 index 7f0c2f59fa..0000000000 --- a/apps/stats-dapp/src/provider/stats-provider.tsx +++ /dev/null @@ -1,417 +0,0 @@ -import '@webb-tools/dkg-substrate-types'; -import { useLastBlockQuery, useMetaDataQuery } from '../generated/graphql'; -import React, { useContext, useEffect, useMemo, useState } from 'react'; -import { ApiPromise, WsProvider } from '@polkadot/api'; -import { sessionFrame } from './hooks'; - -/** - * Chain metadata - * @param currentBlock - the current block number - * @param lastProcessBlock - The block number where the data syncing is done - * @param activeSession - the current active session - * @param lastSession - the last created session - * - * */ -export type Metadata = { - currentBlock: string; - lastProcessBlock: string; - lastSession: string; - activeSession: string; - activeSessionBlock: number; -}; - -/** - * - * Get the current session from metadata - * */ -export function session(height: string, sessionHeight: number) { - const blockNumber = Number(height); - const currentSessionNumber = Math.floor(blockNumber / sessionHeight); - return currentSessionNumber.toString(); -} - -/** - * - * Get the next session from metadata - * */ -export function nextSession(height: string, sessionHeight: number): string { - const blockNumber = Number(height); - const currentSessionNumber = Math.ceil(blockNumber / sessionHeight); - return currentSessionNumber.toString(); -} - -type StatsProvidervalue = { - children?: React.ReactNode; - // Number of seconds for a block to be generated - blockTime: number; - // Number of blocks for a session * 12 seconds - sessionHeight: number; - //SubQuery synced time object - time: SubQlTime; - // update time - updateTime(time: SubQlTime): void; - metaData: Metadata; - isReady: boolean; - // polkadot api - api?: ApiPromise; - // is dark mode - isDarkMode?: boolean; - // subquery endpoint - subqueryEndpoint: string; - // polkadot endpoint - polkadotEndpoint: string; - // dkg keys data from polkadot api - dkgDataFromPolkadotAPI: { - currentSessionNumber: number; - currentSessionTimeFrame: { - start: Date; - end: Date; - }; - currentKey: string; - currentAuthorities: string[]; - nextAuthorities: string[]; - nextSessionNumber: number; - nextKey: string; - proposerCount: number; - proposerThreshold: number; - keygenThreshold: number; - signatureThreshold: number; - }; -}; - -/** - * Wrapper date object that consumes the SubQuery node blocks fetching as a time source - * */ -class SubQlTime { - private lastSynced: Date; - - constructor(private lastBlockTime: Date) { - this.lastSynced = new Date(); - } - - /** - * Sync the inner date object - * */ - sync(date: Date): SubQlTime { - return new SubQlTime(date); - } - - get current(): Date { - // Calculate the different from the sync point - const diff = new Date().getTime() - this.lastSynced.getTime(); - // add the diff to the block timestamp - return new Date(this.lastBlockTime.getTime() + diff); - } - - syncFromIsString(dateStr: string) { - const date = new Date(dateStr); - return this.sync(date); - } -} - -const statsContext: React.Context = - React.createContext({ - blockTime: 0, - sessionHeight: 0, - time: new SubQlTime(new Date()), - // eslint-disable-next-line @typescript-eslint/no-empty-function - updateTime(_time: SubQlTime): void {}, - metaData: { - activeSession: '0', - currentBlock: '0', - lastSession: '0', - lastProcessBlock: '0', - activeSessionBlock: 0, - }, - isReady: false, - subqueryEndpoint: '', - polkadotEndpoint: '', - dkgDataFromPolkadotAPI: { - currentSessionNumber: 0, - currentSessionTimeFrame: { - start: new Date(), - end: new Date(), - }, - currentKey: '', - currentAuthorities: [], - nextAuthorities: [], - nextSessionNumber: 0, - nextKey: '', - proposerCount: 0, - proposerThreshold: 0, - keygenThreshold: 0, - signatureThreshold: 0, - }, - }); - -export function useStatsContext() { - return useContext(statsContext); -} - -export const useSubQLtime = (): SubQlTime => { - const ctx = useContext(statsContext); - - return ctx.time; -}; - -export const useStaticConfig = () => { - const { sessionHeight } = useStatsContext(); - return useMemo(() => { - return { - sessionHeight, - }; - }, [sessionHeight]); -}; - -export const useActiveSession = () => { - const { - dkgDataFromPolkadotAPI: { currentSessionNumber }, - } = useStatsContext(); - return String(currentSessionNumber); -}; - -export const StatsProvider: React.FC< - Omit< - StatsProvidervalue, - | 'blockTime' - | 'isReady' - | 'metaData' - | 'updateTime' - | 'time' - | 'api' - | 'sessionHeight' - | 'dkgDataFromPolkadotAPI' - > -> = (props) => { - const [blockTime, setBlockTime] = useState(0); - const [time, setTime] = useState(new SubQlTime(new Date())); - const [metaData, setMetaData] = useState({ - activeSession: '0', - currentBlock: '', - lastProcessBlock: '', - lastSession: '', - activeSessionBlock: 0, - }); - const [isReady, setIsReady] = useState(false); - const [api, setApi] = useState(); - const [sessionHeight, setSessionHeight] = useState(0); - const [isDarkMode, setIsDarkMode] = useState(false); - const [dkgDataFromPolkadotAPI, setDkgDataFromPolkadotAPI] = useState({ - currentSessionNumber: 0, - currentSessionTimeFrame: { - start: new Date(), - end: new Date(), - }, - currentKey: '', - currentAuthorities: [] as string[], - nextAuthorities: [] as string[], - nextSessionNumber: 0, - nextKey: '', - proposerCount: 0, - proposerThreshold: 0, - keygenThreshold: 0, - signatureThreshold: 0, - }); - - useEffect(() => { - function getCurrentTheme() { - if (localStorage.getItem('theme') === 'dark') { - setIsDarkMode(true); - } else if (localStorage.getItem('theme') === 'light') { - setIsDarkMode(false); - } - } - - getCurrentTheme(); - - window.addEventListener('storage', getCurrentTheme); - - return () => window.removeEventListener('storage', getCurrentTheme); - }, []); - - const value = useMemo(() => { - return { - blockTime, - time, - sessionHeight, - updateTime: (time: SubQlTime) => { - setTime(time); - }, - isReady, - metaData, - api, - isDarkMode, - subqueryEndpoint: props.subqueryEndpoint, - polkadotEndpoint: props.polkadotEndpoint, - dkgDataFromPolkadotAPI, - }; - }, [ - sessionHeight, - metaData, - isReady, - time, - api, - isDarkMode, - props, - blockTime, - dkgDataFromPolkadotAPI, - ]); - - const query = useLastBlockQuery({ - pollInterval: 10000, - fetchPolicy: 'network-only', - }); - - useEffect(() => { - const getPromiseApi = async (): Promise => { - const wsProvider = new WsProvider(props.polkadotEndpoint); - const apiPromise = await ApiPromise.create({ - provider: wsProvider, - noInitWarn: true, - }); - setApi(apiPromise); - - // Get session height from Polkadot API - const blockTime = - (Number(await apiPromise.consts.timestamp.minimumPeriod) * 2) / 1000; - setBlockTime(blockTime); - const sessionPeriod = await apiPromise.consts.dkg.sessionPeriod; - const sessionHeight = Number(sessionPeriod.toString()) * blockTime; - setSessionHeight(sessionHeight); - - // Get DKG data from Polkadot API - const currentDKGPublicKey = await apiPromise.query.dkg.dkgPublicKey(); - const currentSessionNumber = currentDKGPublicKey[0].toNumber(); - const currentKey = currentDKGPublicKey[1].toString(); - const nextDKGPublicKey = ( - await apiPromise.query.dkg.nextDKGPublicKey() - ).unwrapOr(null); - - let nextSessionNumber = 0; - let nextKey = ''; - if (!nextDKGPublicKey) { - nextSessionNumber = currentSessionNumber + 1; - nextKey = ''; - } else { - nextSessionNumber = nextDKGPublicKey[0].toNumber(); - nextKey = nextDKGPublicKey[1].toString(); - } - const proposerCount = await apiPromise.query.dkgProposals.proposerCount(); - const proposerThreshold = - await apiPromise.query.dkgProposals.proposerThreshold(); - const lastSessionRotationBlockNumber = - await apiPromise.query.dkg.lastSessionRotationBlock(); - const lastSessionRotaionBlockHash = - await apiPromise.rpc.chain.getBlockHash( - lastSessionRotationBlockNumber.toString(), - ); - const lastSessionRotationBlock = await apiPromise.rpc.chain.getBlock( - lastSessionRotaionBlockHash, - ); - const lastSessionRotationBlockTimestamp = - lastSessionRotationBlock.block.extrinsics[0].method.args[0].toJSON(); - const [start, end] = sessionFrame( - new Date(lastSessionRotationBlockTimestamp as string).toString(), - sessionHeight, - ); - const currentAuthoritySet = await apiPromise.query.dkg.authorities(); - const currentAuthorities = currentAuthoritySet.toJSON(); - const keygenThreshold = await apiPromise.query.dkg.keygenThreshold(); - const signatureThreshold = - await apiPromise.query.dkg.signatureThreshold(); - const nextAuthoritiesSet = await apiPromise.query.dkg.nextAuthorities(); - const nextAuthorities = nextAuthoritiesSet.toJSON(); - - setDkgDataFromPolkadotAPI({ - currentSessionNumber, - currentSessionTimeFrame: { - start: start ?? new Date(), - end: end ?? new Date(), - }, - currentKey, - currentAuthorities: currentAuthorities as string[], - nextAuthorities: nextAuthorities as string[], - nextSessionNumber, - nextKey, - proposerCount: Number(proposerCount.toString()), - proposerThreshold: Number(proposerThreshold.toString()), - keygenThreshold: Number(keygenThreshold.toString()), - signatureThreshold: Number(signatureThreshold.toString()), - }); - }; - - getPromiseApi(); - - const intervalId = setInterval(getPromiseApi, 10000); - return () => clearInterval(intervalId); - }, [props.polkadotEndpoint]); - - useEffect(() => { - const subscription = query.observable - .map((res): SubQlTime | null => { - if (res.data?.blocks) { - const lastBlock = res.data.blocks.nodes[0]; - if (!lastBlock || !lastBlock.timestamp) { - return null; - } - const lastBlockTimestamp = lastBlock.timestamp; - return new SubQlTime(new Date(lastBlockTimestamp)); - } - return null; - }) - .subscribe((val) => { - if (val) { - setTime(val); - } - }); - - return () => subscription.unsubscribe(); - }, [query]); - - const metaDataQuery = useMetaDataQuery({ - pollInterval: 10000, - fetchPolicy: 'network-only', - }); - - useEffect(() => { - const unSub = metaDataQuery.observable - .map((r): Metadata | null => { - if (r.data?._metadata) { - const data = r.data._metadata; - const lastSession = r.data.sessions?.nodes[0]; - - if (!lastSession) { - return null; - } - - const currentSessionIsCorrect = - Number(lastSession.id) === - dkgDataFromPolkadotAPI.currentSessionNumber; - - return { - currentBlock: String(data.targetHeight), - lastProcessBlock: String(data.lastProcessedHeight), - activeSession: currentSessionIsCorrect - ? lastSession.id - : String(dkgDataFromPolkadotAPI.currentSessionNumber), - lastSession: lastSession.id, - activeSessionBlock: lastSession.blockNumber, - }; - } - return null; - }) - .subscribe((val) => { - if (val) { - setIsReady(true); - setMetaData(val); - } - }); - return () => unSub.unsubscribe(); - }, [query, metaDataQuery, isReady, sessionHeight, dkgDataFromPolkadotAPI]); - - return ( - - {props.children} - - ); -}; diff --git a/apps/stats-dapp/src/public/favicon.png b/apps/stats-dapp/src/public/favicon.png deleted file mode 100644 index 055e8634fd0c09bbd557903ee0045136e69b9282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1506 zcmV<81s(c{P)H&#MTT*dDaRsMJLFPYjFL0||g48Cv`-bnmee10A)5;Yla(2D@-pn`iX1*B{{nv%_ zU&2}x#G1y0`3<}&i+QMs%vH>vay!^PDZ*33$Ykp3qjzN@sXS{^s*3-r63GY{_fiO z;sl3h;wmX#un&nloTy{rb?(q6nXbaPCv%!)%!Zq(^~nu&%)C1{8T|zC&slebm;N5{ zuY6zU)y+C;;p4Iyma~?oM%N+wC@^PZVPuuEaUK(Vt$phFd+jJrN75nv~s}5o%w*~>B*HzP2 z1LB8s7_oa3|Mx+RBhQu{u^^D@rY*w@r?p9}z}0ETWH@fyG07v;U{68fIRN++wVI23 zDPe7bY`(8ZzO^sinj{a{r$eHtA|6PNsFZR7|NPZd;ka)Xuki^k>Um}!M-iLwRLvq~ z&Q^H$iM*w@tWGxEeR>SrHrjuV>@td>{ zQM6ytX)f4!YudN?JH6Ph9F@eQ$aotyE&PH`j~MoKsb1Tmd~p_vaE4}fVhL!K;P(O5Qk^cnBn%cjiVxgx|J z?&iV74KU55SU5Kya@QWg5X&vB2rMGzu9jpG-KK4Kd2X{~FIMiJxq$)2QflN;M`=A} zo||K_nWfXcobEk@n^({>#?z2<)r;aXZjSMEHLhZcSa9C7*EOF&*Xz(O^7$zljlE7nQ;3@B^uX{imecXp=GLf`0^ zO~{1+?U=gCCN>W=4}3Nuheh*YL=KHqR?uj=F0q2z$Lp0rbRZW>mP5=G0sw790}rKQ z=e}KJ<{cSPl!T@j&~%K7A8>P3Ty-Ep=k_vQucOq_5p6;v>Tq5!_QrjY<()tn;~<7fvLD$1@&aGhN5jLXthu8#<3de~_)g z{;QW~inSgSUV1y3M{S?Y|DfoR3UeO`Y3>2r==o_LY)eo*mQ?Alr^HW^g8*I5@z&ha0HRntRQN8ozKzutt5Bx9x0z8`53Iw$vnE(I)07*qo IM6N<$g1VQ-o&W#< diff --git a/apps/stats-dapp/src/public/i18n.json b/apps/stats-dapp/src/public/i18n.json deleted file mode 100644 index 06f5c6a191..0000000000 --- a/apps/stats-dapp/src/public/i18n.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "en": { - "translations": {} - }, - "zh": { - "translations": {} - } -} \ No newline at end of file diff --git a/apps/stats-dapp/src/public/index.html b/apps/stats-dapp/src/public/index.html deleted file mode 100644 index 386ff0b441..0000000000 --- a/apps/stats-dapp/src/public/index.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Tangle Statistics - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - diff --git a/apps/stats-dapp/src/public/logo.png b/apps/stats-dapp/src/public/logo.png deleted file mode 100644 index 48a9cae88473ae9daa1bfedef151959e0e2650f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 539103 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

    (RockiB6)xfmSY9e& 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 z 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

    0Myz%|@l!K0K= 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%0AlfAxMdTe2@4c&vRHM@P)s+m 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 tmx(=&qvwDFADN0^xn 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 - -# Webb ZK Explorer - -

    - Platform for discovering and learning about zero-knowledge proof projects and circuits, featuring detailed project insights, filtering options, and more. -
    -

    - -## Run ZK Explorer - -Once the development environment is set up, you may proceed to install the required dependencies and run the dapp locally. - -1. Clone this repo - - ```bash - git clone git@github.com:webb-tools/webb-dapp.git - ``` - -2. Install dependencies by `yarn` - - ```bash - yarn install - ``` - -3. Start the dApp by the following command: - - ```bash - yarn nx serve zk-explorer - ``` - -Visit `http://localhost:4200/` to see the ZK Explorer app! - -Happy hacking! - -

    Need help?

    - -If you need help or you want to additional information please: - -- Refer to the [Webb Official Documentation](https://docs.webb.tools/). -- If you have feedback on how to improve the Webb Dapp interface or you have a specific question? Check out the [Webb Dapp Feedback Discussion](https://github.com/webb-tools/feedback/discussions/categories/webb-dapp-feedback). -- If you found a bug please [open an issue](https://github.com/webb-tools/webb-dapp/issues/new/choose) or [join our Discord](https://discord.gg/jUDeFpggrR) server to report it. diff --git a/apps/zk-explorer/app/dashboard/page.tsx b/apps/zk-explorer/app/dashboard/page.tsx deleted file mode 100644 index 05516ccf4c..0000000000 --- a/apps/zk-explorer/app/dashboard/page.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import DashboardTabs from '../../components/DashboardTabs'; -import Header from '../../components/Header'; - -export default function Dashboard() { - return ( -
    -
    - - -
    - ); -} diff --git a/apps/zk-explorer/app/layout.tsx b/apps/zk-explorer/app/layout.tsx deleted file mode 100644 index 4cd8480f7f..0000000000 --- a/apps/zk-explorer/app/layout.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import '@webb-tools/webb-ui-components/tailwind.css'; -import '../styles/globals.css'; - -import { Footer } from '@webb-tools/webb-ui-components'; -import type { Metadata, Viewport } from 'next'; -import Providers from './providers'; - -export const viewport: Viewport = { - themeColor: [ - { media: '(prefers-color-scheme: light)', color: '#fff' }, - { media: '(prefers-color-scheme: dark)', color: '#252836' }, - ], -}; - -export const metadata: Metadata = { - title: { - default: 'ZK Explorer', - template: 'ZK Explorer | %s', - }, - description: 'Welcome to ZK Explorer!', - metadataBase: process.env.URL ? new URL(process.env.URL) : null, - twitter: { - card: 'summary_large_image', - title: 'ZK Explorer', - description: 'Welcome to ZK Explorer!', - }, -}; - -export default function RootLayout({ - children, -}: { - children: React.ReactNode; -}) { - // TODO: Figure out what is injecting 'className="dark"' and 'style="colorScheme: 'dark"' to the html element, since it is producing a hydration error on the console. Might be coming from Webb UI library's theming-related logic. - return ( - - - -
    - {children} -
    -
    -
    - - - ); -} diff --git a/apps/zk-explorer/app/page.tsx b/apps/zk-explorer/app/page.tsx deleted file mode 100644 index 2d86321bc8..0000000000 --- a/apps/zk-explorer/app/page.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { Typography } from '@webb-tools/webb-ui-components'; -import OverlayMask from '../components/OverlayMask'; -import SidebarAndItemGrid from '../components/SidebarAndItemGrid'; -import HeaderControls from '../containers/HeaderControls'; -import { Suspense } from 'react'; - -export default function Index() { - return ( -
    - {/* Custom, landing-page-only header */} - {/* TODO: Need to figure out a way to significantly reduce the size of the background image (it's 1mb right now). Should be <=100kb for optimal SEO. One way would be to trim it to what is actually used in terms of max proportions visible to the user, or reduce its resolution. */} -
    - {/* Background image mask */} - - -
    - -
    - -
    - - Privacy for everyone, everything, everywhere - - - - Zero-Knowledge Explorer - - - - Dive into the future of privacy with advanced cryptography & - zero-knowledge proofs. - -
    -
    - - - - -
    - ); -} diff --git a/apps/zk-explorer/app/project/[owner]/[name]/[circuit]/page.tsx b/apps/zk-explorer/app/project/[owner]/[name]/[circuit]/page.tsx deleted file mode 100644 index 9c0cf31fe7..0000000000 --- a/apps/zk-explorer/app/project/[owner]/[name]/[circuit]/page.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { Typography } from '@webb-tools/webb-ui-components'; -import Header from '../../../../../components/Header'; -import StepTrackerSidebarAndCards from '../../../../../components/StepTrackerSidebarAndCards'; - -export default function ProofGenerationInitiationPage({ - params, -}: { - params: { circuit: string }; -}) { - // TODO: Handle non-existent circuit or missing/invalid circuit slug. - - return ( -
    -
    - - - Proof Generation Service - - - -
    - ); -} diff --git a/apps/zk-explorer/app/project/[owner]/[name]/page.tsx b/apps/zk-explorer/app/project/[owner]/[name]/page.tsx deleted file mode 100644 index 4daf8cf8b0..0000000000 --- a/apps/zk-explorer/app/project/[owner]/[name]/page.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import Header from '../../../../components/Header'; -import { PROJECT_DETAIL_CONTAINER_ID } from '../../../../constants'; -import ProjectDetailTabsContainer from '../../../../containers/ProjectDetailTabs/ProjectDetailTabs'; -import ProjectGitHubInfoContainer from '../../../../containers/ProjectGitHubInfo/ProjectGitHubInfo'; -import ProjectHeaderContainer from '../../../../containers/ProjectHeader'; -import RelatedProjectsContainer from '../../../../containers/RelatedProjects/RelatedProjectsContainer'; - -export default function ProjectPage({ - params: _, -}: { - params: { slug: { owner: string; name: string } }; -}) { - // TODO: Handle invalid project's owner and name - - return ( -
    - {/* Header */} - {/* TODO: update breadcrumb */} -
    - -
    - - - - - -
    - - -
    - ); -} diff --git a/apps/zk-explorer/app/providers.tsx b/apps/zk-explorer/app/providers.tsx deleted file mode 100644 index 80219326a4..0000000000 --- a/apps/zk-explorer/app/providers.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import NextThemeProvider from '@webb-tools/api-provider-environment/NextThemeProvider'; -import { NotificationProvider } from '@webb-tools/webb-ui-components'; -import type { PropsWithChildren } from 'react'; -import SidebarProvider from '../context/SidebarProvider'; -import { AuthProvider } from '../hooks/useAuth'; - -const Providers = ({ children }: PropsWithChildren) => { - return ( - - - - {children} - - - - ); -}; - -export default Providers; diff --git a/apps/zk-explorer/app/submit/layout.tsx b/apps/zk-explorer/app/submit/layout.tsx deleted file mode 100644 index f0f2dbfaf8..0000000000 --- a/apps/zk-explorer/app/submit/layout.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import Header from '../../components/Header'; - -export default function ProjectSubmissionLayout({ - children, -}: { - children: React.ReactNode; -}) { - return ( - <> -
    - - {children} - - ); -} diff --git a/apps/zk-explorer/app/submit/page.tsx b/apps/zk-explorer/app/submit/page.tsx deleted file mode 100644 index ff7c6e2f66..0000000000 --- a/apps/zk-explorer/app/submit/page.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { Card, Typography } from '@webb-tools/webb-ui-components'; -import FeedbackCard from '../../components/FeedbackCard'; -import SubmitPageControls from '../../components/SubmitPageControls'; - -export default function Submit() { - return ( -
    - - Upload Project - - -
    - - GitHub Repository URL: - - - - - -
    -
    - ); -} diff --git a/apps/zk-explorer/components/CircuitCard.tsx b/apps/zk-explorer/components/CircuitCard.tsx deleted file mode 100644 index f63a2ea659..0000000000 --- a/apps/zk-explorer/components/CircuitCard.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { StarIcon } from '@radix-ui/react-icons'; -import { ShieldKeyholeLineIcon } from '@webb-tools/icons'; -import { Avatar, Card, Typography } from '@webb-tools/webb-ui-components'; -import assert from 'assert'; -import { FC } from 'react'; - -export type CircuitItem = { - ownerAvatarUrl: string; - filename: string; - description: string; - stargazerCount: number; - constraintCount: number; -}; - -const CircuitCard: FC = ({ - filename, - description, - constraintCount, - ownerAvatarUrl, - stargazerCount, -}) => { - assert(constraintCount >= 0, 'Constraint count should never be negative.'); - - return ( - -
    - -
    - -
    - - {filename} - - - - {description} - - -
    -
    - {stargazerCount} -
    - -
    - {' '} - {constraintCount} -
    -
    -
    -
    - ); -}; - -export default CircuitCard; diff --git a/apps/zk-explorer/components/ComputedBreadcrumbs.tsx b/apps/zk-explorer/components/ComputedBreadcrumbs.tsx deleted file mode 100644 index 7e2699e9c4..0000000000 --- a/apps/zk-explorer/components/ComputedBreadcrumbs.tsx +++ /dev/null @@ -1,66 +0,0 @@ -'use client'; - -import { CheckCircledIcon, CircleIcon } from '@radix-ui/react-icons'; -import { - Breadcrumbs, - BreadcrumbsItem, - Typography, -} from '@webb-tools/webb-ui-components'; -import Link from 'next/link'; -import { usePathname } from 'next/navigation'; -import { FC } from 'react'; -import { RelativePageUrl, getPathBreadcrumbNames, isPageUrl } from '../utils'; - -const ComputedBreadcrumbs: FC = () => { - const pathName = usePathname(); - - // Remove the first slash and any trailing slashes. - const pathSegments = pathName.split('/').filter((segment) => segment !== ''); - - const segmentBreadcrumbs = getPathBreadcrumbNames(pathSegments); - - const breadcrumbs = segmentBreadcrumbs.map((segmentName, index) => { - const isLast = index === segmentBreadcrumbs.length - 1; - - const possiblyKnownHref = - // For the last segment, don't link to anything. - isLast ? '#' : `/${pathSegments.slice(0, index + 1).join('/')}`; - - // If the href is a known page URL, attach a link to it. - // Otherwise, don't link to anything, since it is an unknown URL, - // and thus could lead to a 404 page. - const href = isPageUrl(possiblyKnownHref) ? possiblyKnownHref : '#'; - - const icon = isLast ? : ; - - return ( - - - - {segmentName} - - - - ); - }); - - return ( - - - }> - - ZK Explorer - - - - - {breadcrumbs} - - ); -}; - -export default ComputedBreadcrumbs; diff --git a/apps/zk-explorer/components/DashboardOverviewTab.tsx b/apps/zk-explorer/components/DashboardOverviewTab.tsx deleted file mode 100644 index 0b2382e5b2..0000000000 --- a/apps/zk-explorer/components/DashboardOverviewTab.tsx +++ /dev/null @@ -1,157 +0,0 @@ -'use client'; - -import { - Button, - Card, - SocialChip, - Typography, -} from '@webb-tools/webb-ui-components'; -import { WEBB_DOCS_URL } from '@webb-tools/webb-ui-components/constants'; -import { FC, useMemo } from 'react'; -import { MOCK_AVATAR_URL } from '../constants/mock'; -import { useRequireAuth } from '../hooks/useAuth'; -import useTailwindBreakpoint, { - TailwindBreakpoint, -} from '../hooks/useTailwindBreakpoint'; -import { formatTimestamp } from '../utils'; -import LargeSquareAvatar from './LargeSquareAvatar'; - -const DashboardOverviewTab: FC = () => { - const { - activatedCircuitCount, - createdAt, - githubUsername, - website, - twitterHandle, - shortBio, - } = useRequireAuth(); - - const creationTimestampString = useMemo( - () => formatTimestamp(createdAt), - [createdAt], - ); - - const breakpoint = useTailwindBreakpoint(); - - return ( -
    - - {breakpoint < TailwindBreakpoint.MD && ( -
    - -
    - )} - -
    - - Activated Circuits - - - - {activatedCircuitCount === 0 ? '-' : activatedCircuitCount} - -
    - - - -
    - - Member Since - - - - {creationTimestampString} - -
    - - - -
    - - Links - - -
    - - - {twitterHandle !== undefined && ( - - )} - - {website !== undefined && ( - - )} -
    -
    - - - -
    - - Short Bio - - - - {shortBio === undefined ? '-' : shortBio} - -
    - - {breakpoint >= TailwindBreakpoint.MD && ( -
    - -
    - )} -
    - - - - Proof Generations - - -
    - - 🔍 -
    Coming Soon! -
    - - - Get ready to unlock the full potential of your ZK circuits! Our ZK - services are on the horizon, designed to seamlessly create and - manage zero-knowledge proofs with unparalleled efficiency. - - - -
    -
    -
    - ); -}; - -/** @internal */ -const Divider: FC = () => { - return ( -
    -
    -
    - ); -}; - -export default DashboardOverviewTab; diff --git a/apps/zk-explorer/components/DashboardSettingsTab.tsx b/apps/zk-explorer/components/DashboardSettingsTab.tsx deleted file mode 100644 index 940cc34737..0000000000 --- a/apps/zk-explorer/components/DashboardSettingsTab.tsx +++ /dev/null @@ -1,226 +0,0 @@ -'use client'; - -import { - Button, - Card, - Input, - Typography, -} from '@webb-tools/webb-ui-components'; -import { FC, useCallback, useMemo, useState } from 'react'; -import { MOCK_AVATAR_URL } from '../constants/mock'; -import { User, useAuth, useRequireAuth } from '../hooks/useAuth'; -import { updateUserProfile } from '../server/user'; -import { computeUserDiff } from '../utils'; -import LargeSquareAvatar from './LargeSquareAvatar'; - -const DashboardSettingsTab: FC = () => { - const user = useRequireAuth(); - const { refreshAuth } = useAuth(); - - const initialUser: User = useMemo( - // Use empty strings as fallbacks for the optional fields. - // This is needed in order to detect whether the user has made - // any changes. - () => ({ - twitterHandle: '', - website: '', - shortBio: '', - ...user, - }), - [user], - ); - - const [email, setEmail] = useState(initialUser.email); - - const [githubUsername, setGithubUsername] = useState( - initialUser.githubUsername, - ); - - const [twitterHandle, setTwitter] = useState(initialUser.twitterHandle || ''); - const [shortBio, setShortBio] = useState(initialUser.shortBio || ''); - const [website, setWebsite] = useState(initialUser.website || ''); - - const wereChangesMade = - email !== initialUser.email || - githubUsername !== initialUser.githubUsername || - twitterHandle !== initialUser.twitterHandle || - website !== initialUser.website || - shortBio !== initialUser.shortBio; - - const restoreChanges = useCallback(() => { - setEmail(initialUser.email); - setGithubUsername(initialUser.githubUsername); - setTwitter(initialUser.twitterHandle || ''); - setWebsite(initialUser.website || ''); - setShortBio(initialUser.shortBio || ''); - }, [ - initialUser.email, - initialUser.githubUsername, - initialUser.shortBio, - initialUser.twitterHandle, - initialUser.website, - ]); - - const saveChanges = useCallback(async () => { - // TODO: Need to ensure that the inputs' values are valid before performing the request. For example, the email input might contain an invalid email address. - - const diff = computeUserDiff(initialUser, { - email, - githubUsername, - twitterHandle, - website, - shortBio, - - // Certain properties are not directly editable by - // the user, but instead are managed by the backend. - id: initialUser.id, - createdAt: initialUser.createdAt, - activatedCircuitCount: initialUser.activatedCircuitCount, - }); - - // TODO: Handle potential API request failure. - await updateUserProfile(diff); - - // After updating the user profile, refresh the auth's - // user object to reflect the changes. - await refreshAuth(); - }, [ - email, - githubUsername, - initialUser, - refreshAuth, - shortBio, - twitterHandle, - website, - ]); - - return ( - -
    - - Profile Settings - - -
    -
    - - GitHub: - - - -
    - -
    - - Email Address: - - - -
    -
    - -
    -
    - - Twitter: - - - -
    - -
    - - Website: - - - -
    -
    - -
    - - Short Bio: - - - -
    - -
    - - - -
    -
    - -
    - - - {/* TODO: Handle upload avatar button. */} - -
    -
    - ); -}; - -export default DashboardSettingsTab; diff --git a/apps/zk-explorer/components/DashboardTabs.tsx b/apps/zk-explorer/components/DashboardTabs.tsx deleted file mode 100644 index 78c914af60..0000000000 --- a/apps/zk-explorer/components/DashboardTabs.tsx +++ /dev/null @@ -1,58 +0,0 @@ -// TODO: Figure out why without this (even though React hooks are not used), the tabs component doesn't work. Ideally, this should be just a direct part of the `Dashboard` page's children, without the need to `use client`. -'use client'; - -import { PlusIcon } from '@radix-ui/react-icons'; -import { Button, Typography } from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; -import { RelativePageUrl } from '../utils'; -import DashboardOverviewTab from './DashboardOverviewTab'; -import DashboardSettingsTab from './DashboardSettingsTab'; -import Tabs from './Tabs'; - -const DashboardTabs: FC = () => { - return ( - - -
    - } - > - - - - - - - - - - - - - ); -}; - -/** @internal */ -const BillingTab: FC = () => { - // TODO: Implement billing tab. - return
    Billing details will be shown here in the future.
    ; -}; - -export default DashboardTabs; diff --git a/apps/zk-explorer/components/FeedbackCard.tsx b/apps/zk-explorer/components/FeedbackCard.tsx deleted file mode 100644 index de87e07cff..0000000000 --- a/apps/zk-explorer/components/FeedbackCard.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { ArrowRightUp } from '@webb-tools/icons'; -import { Typography } from '@webb-tools/webb-ui-components'; -import { WEBB_DAPP_NEW_ISSUE_URL } from '@webb-tools/webb-ui-components/constants'; -import { FC } from 'react'; -import LinkCard from './LinkCard'; - -const FeedbackCard: FC = () => { - return ( - -
    - - Feedback - - - - Have feedback? Reach out to share your thoughts & suggestions! - -
    - - -
    - ); -}; - -export default FeedbackCard; diff --git a/apps/zk-explorer/components/FileUploadAreaWithList.tsx b/apps/zk-explorer/components/FileUploadAreaWithList.tsx deleted file mode 100644 index 6e6284e792..0000000000 --- a/apps/zk-explorer/components/FileUploadAreaWithList.tsx +++ /dev/null @@ -1,86 +0,0 @@ -import { KeyIcon } from '@webb-tools/icons'; -import { - FileUploadArea, - FileUploadItem, - FileUploadList, - Progress, - Typography, - getHumanFileSize, -} from '@webb-tools/webb-ui-components'; -import assert from 'assert'; -import { Dispatch, FC, SetStateAction, useCallback } from 'react'; - -type FileUploadAreaWithListProps = { - file: File | null; - title: string; - filename: string; - setFile: Dispatch>; -}; - -const FileUploadAreaWithList: FC = ({ - file, - title, - filename, - setFile, -}) => { - const handleFileUpload = useCallback( - (acceptedFiles: File[]) => { - // The uploaded file was not accepted; reset the state. - if (acceptedFiles.length === 0) { - setFile(null); - - return; - } - - assert( - acceptedFiles.length === 1, - 'Upload file dialog should allow exactly one file to be provided', - ); - - const uploadedFile = acceptedFiles[0]; - - setFile(uploadedFile); - }, - [setFile], - ); - - return ( - <> - - - {file !== null && ( -
    - - {title} for {filename}: - - - - setFile(null)} - Icon={ -
    - -
    - } - extraInfo={ - <> - - {getHumanFileSize(file.size, true, 0)} - - - - - } - /> -
    -
    - )} - - ); -}; - -export default FileUploadAreaWithList; diff --git a/apps/zk-explorer/components/FilterAndSortBy.tsx b/apps/zk-explorer/components/FilterAndSortBy.tsx deleted file mode 100644 index 68a0f8a083..0000000000 --- a/apps/zk-explorer/components/FilterAndSortBy.tsx +++ /dev/null @@ -1,116 +0,0 @@ -import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'; -import { CheckCircledIcon, CircleIcon } from '@radix-ui/react-icons'; -import { ChevronDown, FilterIcon2 } from '@webb-tools/icons'; -import { - Button, - Dropdown, - DropdownBody, - DropdownMenuItem, - Typography, -} from '@webb-tools/webb-ui-components'; -import { FC, useCallback } from 'react'; -import Filters from '../containers/Filters'; -import { FilterConstraints } from '../containers/Filters/types'; -import { useSidebarContext } from '../context/SidebarContext'; -import useTailwindBreakpoint, { - TailwindBreakpoint, -} from '../hooks/useTailwindBreakpoint'; -import { SearchSortByClause } from '../server/circuits'; - -export type FilterAndSortByProps = { - sortByClause: SearchSortByClause; - onSortByClauseChange: (sortByClause: SearchSortByClause) => void; - onConstraintsChange: (constraints: FilterConstraints) => void; -}; - -const FilterAndSortBy: FC = ({ - onConstraintsChange, - sortByClause, - onSortByClauseChange, -}) => { - const breakpoint = useTailwindBreakpoint(); - const { setSidebarOpen, updateSidebarContent } = useSidebarContext(); - - const prepareAndShowMobileSidebar = useCallback(() => { - updateSidebarContent( - setSidebarOpen(false)} - />, - ); - - setSidebarOpen(true); - }, [onConstraintsChange, setSidebarOpen, updateSidebarContent]); - - return ( -
    - -
    - - - - - -
    - - -
    - - Sort by - -
    - - {Object.values(SearchSortByClause).map((clause, index) => { - const isSelected = clause === sortByClause; - - return ( - onSortByClauseChange(clause)} - rightIcon={isSelected ? : } - > - {clause} - - ); - })} -
    -
    -
    - ); -}; - -export default FilterAndSortBy; diff --git a/apps/zk-explorer/components/GitHubAvatar.tsx b/apps/zk-explorer/components/GitHubAvatar.tsx deleted file mode 100644 index ab6e8cbb4a..0000000000 --- a/apps/zk-explorer/components/GitHubAvatar.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { - Tooltip, - TooltipBody, - TooltipTrigger, -} from '@webb-tools/webb-ui-components'; -import Image from 'next/image'; -import { type FC } from 'react'; - -export type GitHubAvatarProps = { - name: string; - avatarUrl: string; - profileUrl: string; - /** - * The avatar size, possible values: `md` (24px), `lg` (32px) - * @default "md" - */ - size?: 'md' | 'lg'; -}; - -const GitHubAvatar: FC = ({ - name, - avatarUrl, - profileUrl, - size = 'md', -}) => { - const size_ = size === 'lg' ? 32 : 24; - - return ( - - - - {name} - - - {name} - - ); -}; - -export default GitHubAvatar; diff --git a/apps/zk-explorer/components/GitHubIconWithLink.tsx b/apps/zk-explorer/components/GitHubIconWithLink.tsx deleted file mode 100644 index 8d0444011a..0000000000 --- a/apps/zk-explorer/components/GitHubIconWithLink.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { GithubFill } from '@webb-tools/icons'; -import type { IconBase } from '@webb-tools/icons/types'; -import type { FC } from 'react'; - -export interface GitHubIconWithLinkProps extends IconBase { - href: string; -} - -const GitHubIconWithLink: FC = ({ - href, - size = 'md', - ...props -}) => { - return ( - - - - ); -}; - -export default GitHubIconWithLink; diff --git a/apps/zk-explorer/components/Header.tsx b/apps/zk-explorer/components/Header.tsx deleted file mode 100644 index 8f26c183c3..0000000000 --- a/apps/zk-explorer/components/Header.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { FC } from 'react'; -import HeaderControls from '../containers/HeaderControls'; -import ComputedBreadcrumbs from './ComputedBreadcrumbs'; - -const Header: FC = () => { - return ( -
    - - - -
    - ); -}; - -export default Header; diff --git a/apps/zk-explorer/components/ItemGrid.tsx b/apps/zk-explorer/components/ItemGrid.tsx deleted file mode 100644 index 43e9e6c00b..0000000000 --- a/apps/zk-explorer/components/ItemGrid.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import { Search } from '@webb-tools/icons'; -import { Button, Typography } from '@webb-tools/webb-ui-components'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import Link from 'next/link'; -import { FC } from 'react'; -import { ItemType, RelativePageUrl, createProjectDetailPath } from '../utils'; -import CircuitCard, { CircuitItem } from './CircuitCard'; -import ProjectCard, { ProjectItem } from './ProjectCard'; - -export type CardGridProps = PropsOf<'div'> & { - selectedItemType: ItemType; - projects: ProjectItem[]; - circuits: CircuitItem[]; -}; - -const ItemGrid: FC = ({ - selectedItemType, - projects, - circuits, - ...rest -}) => { - const items = selectedItemType === ItemType.Project ? projects : circuits; - const wereResultsFound = items.length > 0; - - return wereResultsFound ? ( -
    - {selectedItemType === ItemType.Project - ? projects.map((project, index) => ( - - - - )) - : circuits.map((circuit, index) => ( - // TODO: Need proper URL for circuits. - - - - ))} -
    - ) : ( -
    - - - - No {selectedItemType.toLowerCase()}s found matching the search criteria - - - - Try adjusting your search constraints or -
    - - - -
    -
    - ); -}; - -export default ItemGrid; diff --git a/apps/zk-explorer/components/LargeSquareAvatar.tsx b/apps/zk-explorer/components/LargeSquareAvatar.tsx deleted file mode 100644 index 536d3ad104..0000000000 --- a/apps/zk-explorer/components/LargeSquareAvatar.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { Avatar, AvatarProps } from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; - -const LargeSquareAvatar: FC = (props) => { - // TODO: Temporary avatar URL, replace with user's avatar. Since the avatars can be uploaded by the user, we need to store them in the database. This means it will likely be sourced from some API route. - return ( - - ); -}; - -export default LargeSquareAvatar; diff --git a/apps/zk-explorer/components/LinkCard.tsx b/apps/zk-explorer/components/LinkCard.tsx deleted file mode 100644 index 547cb4aaed..0000000000 --- a/apps/zk-explorer/components/LinkCard.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { Card } from '@webb-tools/webb-ui-components'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import Link from 'next/link'; -import { FC, useMemo } from 'react'; -import { twMerge } from 'tailwind-merge'; - -export type LinkCardProps = PropsOf & { - href: string; - isExternal?: boolean; -}; - -const LinkCard: FC = ({ - href, - className, - isExternal = false, - children, - ...rest -}) => { - const content = ( - {children} - ); - - const finalClassName = useMemo( - () => - twMerge( - 'block hover:translate-y-[-6px] transition duration-100', - className, - ), - [className], - ); - - return isExternal ? ( - - {content} - - ) : ( - - {content} - - ); -}; - -export default LinkCard; diff --git a/apps/zk-explorer/components/OverlayMask.tsx b/apps/zk-explorer/components/OverlayMask.tsx deleted file mode 100644 index e7b24bc863..0000000000 --- a/apps/zk-explorer/components/OverlayMask.tsx +++ /dev/null @@ -1,63 +0,0 @@ -'use client'; - -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import assert from 'assert'; -import { FC, useEffect } from 'react'; -import { twMerge } from 'tailwind-merge'; - -export type OverlayMaskProps = PropsOf<'div'> & { - /** - * A number between 0 and 1, representing the opacity of the - * overlay. - */ - opacity: number; - - /** - * If true, the overlay will be rendered on top of everything - * else, by having a z-index of 20. - */ - isPrevalent?: boolean; - - /** - * If true, the body will be prevented from scrolling by having - * its overflow set to `hidden`. - */ - doPreventBodyScrolling?: boolean; -}; - -const OverlayMask: FC = ({ - opacity, - className, - children, - isPrevalent, - doPreventBodyScrolling, - ...rest -}) => { - assert(opacity >= 0 && opacity <= 1, 'Opacity must be between 0 and 1'); - - useEffect(() => { - document.body.style.overflow = doPreventBodyScrolling ? 'hidden' : 'auto'; - - return () => { - document.body.style.overflow = 'auto'; - }; - }, [doPreventBodyScrolling]); - - return ( - <> -
    - - {children} - - ); -}; - -export default OverlayMask; diff --git a/apps/zk-explorer/components/ProjectCard.tsx b/apps/zk-explorer/components/ProjectCard.tsx deleted file mode 100644 index 76fa97c21a..0000000000 --- a/apps/zk-explorer/components/ProjectCard.tsx +++ /dev/null @@ -1,108 +0,0 @@ -import { StarIcon } from '@radix-ui/react-icons'; -import { Avatar, Card, Typography } from '@webb-tools/webb-ui-components'; -import assert from 'assert'; -import { FC } from 'react'; -import SmallChip from './SmallChip'; - -export type ProjectItem = { - ownerAvatarUrl: string; - repositoryOwner: string; - repositoryName: string; - description: string; - stargazerCount: number; - circuitCount: number; - contributorAvatarUrls: string[]; -}; - -const ProjectCard: FC = ({ - ownerAvatarUrl, - repositoryOwner, - repositoryName, - description, - stargazerCount, - circuitCount, - contributorAvatarUrls, -}) => { - const MAX_CONTRIBUTOR_AVATAR_URLS = 4; - - assert(circuitCount >= 0, 'Circuit count should never be negative.'); - - return ( - -
    - -
    - -
    -
    - - {repositoryOwner}/{repositoryName} - - -
    - {stargazerCount} -
    -
    - - - {description} - - -
    -
    - - Contributors - - -
    - {contributorAvatarUrls - .slice(0, MAX_CONTRIBUTOR_AVATAR_URLS) - .map((avatarUrl, index) => ( - - ))} - - {contributorAvatarUrls.length > MAX_CONTRIBUTOR_AVATAR_URLS && ( - - +{contributorAvatarUrls.length - MAX_CONTRIBUTOR_AVATAR_URLS} - - )} -
    -
    - -
    - - Circuits - - - {circuitCount} -
    -
    -
    -
    - ); -}; - -export default ProjectCard; diff --git a/apps/zk-explorer/components/ProofGenerationStepCards/CollapsibleCard.tsx b/apps/zk-explorer/components/ProofGenerationStepCards/CollapsibleCard.tsx deleted file mode 100644 index 8d480b5a28..0000000000 --- a/apps/zk-explorer/components/ProofGenerationStepCards/CollapsibleCard.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { ChevronDown, ChevronUp } from '@webb-tools/icons'; -import { Card, Typography } from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; - -type CollapsibleCardProps = { - title: string; - children: React.ReactNode; - isOpen: boolean; -}; - -const CollapsibleCard: FC = ({ - title, - children, - isOpen, -}) => { - return ( - -
    - - {title} - - - {isOpen ? : } -
    - - {isOpen && children} -
    - ); -}; - -export default CollapsibleCard; diff --git a/apps/zk-explorer/components/ProofGenerationStepCards/IdentityItem.tsx b/apps/zk-explorer/components/ProofGenerationStepCards/IdentityItem.tsx deleted file mode 100644 index af7db10a73..0000000000 --- a/apps/zk-explorer/components/ProofGenerationStepCards/IdentityItem.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { ExternalLinkLine } from '@webb-tools/icons'; -import { Avatar, shortenHex } from '@webb-tools/webb-ui-components'; -import { WEBB_DOCS_URL } from '@webb-tools/webb-ui-components/constants'; -import { FC } from 'react'; - -type IdentityItemProps = { - address: string; - avatarUrl: string; -}; - -const IdentityItem: FC = ({ address, avatarUrl }) => { - return ( - - - - {shortenHex(address)} - - - - ); -}; - -export default IdentityItem; diff --git a/apps/zk-explorer/components/ProofGenerationStepCards/ServiceTierCard.tsx b/apps/zk-explorer/components/ProofGenerationStepCards/ServiceTierCard.tsx deleted file mode 100644 index 8fda8cde41..0000000000 --- a/apps/zk-explorer/components/ProofGenerationStepCards/ServiceTierCard.tsx +++ /dev/null @@ -1,79 +0,0 @@ -import { Button, Card, Typography } from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; -import { Plan } from './types'; - -type ServiceTierCardProps = { - plan: Plan; - description: string; - benefits: string[]; - monthlyPrice: number | null; - isSelected?: boolean; - onSelect: (plan: Plan) => void; -}; - -const ServiceTierCard: FC = ({ - plan, - monthlyPrice, - description, - benefits, - isSelected = false, - onSelect, -}) => { - const billingText = - monthlyPrice === null - ? null - : monthlyPrice > 0 - ? `Billed $${monthlyPrice * 12}/year` - : 'Free'; - - return ( - - - {plan} - - - {description} - - {monthlyPrice !== null && ( - <> -
    - - ${monthlyPrice} - - - - /mo - -
    - - - {billingText} - - - )} - -
      - {benefits.map((benefit, index) => ( -
    • - {benefit} -
    • - ))} -
    - - -
    - ); -}; - -export default ServiceTierCard; diff --git a/apps/zk-explorer/components/ProofGenerationStepCards/StepCard.tsx b/apps/zk-explorer/components/ProofGenerationStepCards/StepCard.tsx deleted file mode 100644 index e1223b2d0a..0000000000 --- a/apps/zk-explorer/components/ProofGenerationStepCards/StepCard.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { Button } from '@webb-tools/webb-ui-components'; -import { WEBB_DOCS_URL } from '@webb-tools/webb-ui-components/constants'; -import { FC } from 'react'; -import CollapsibleCard from './CollapsibleCard'; - -type StepCardProps = { - number: number; - activeStep: number; - title: string; - children: React.ReactNode; - isLast?: boolean; - isNextButtonDisabled: boolean; - onNext: (isLast: boolean) => void; -}; - -const StepCard: FC = ({ - number, - title, - children, - activeStep, - isLast = false, - isNextButtonDisabled, - onNext, -}) => { - return ( - -
    - {children} - -
    - {/* TODO: Replace with link to more specific docs, when available. */} - - - -
    -
    -
    - ); -}; - -export default StepCard; diff --git a/apps/zk-explorer/components/ProofGenerationStepCards/StepTrackerSidebar.tsx b/apps/zk-explorer/components/ProofGenerationStepCards/StepTrackerSidebar.tsx deleted file mode 100644 index 766e461bb9..0000000000 --- a/apps/zk-explorer/components/ProofGenerationStepCards/StepTrackerSidebar.tsx +++ /dev/null @@ -1,143 +0,0 @@ -import { Card, Typography } from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; -import { twMerge } from 'tailwind-merge'; - -export type StepTrackerSidebarProps = { - activeStep: number; -}; - -const StepTrackerSidebar: FC = ({ activeStep }) => { - return ( -
    - - - Circuit Setup - - - - - - - - - - - - -
    - ); -}; - -type VerticalStepperItemProps = { - number: number; - isActive?: boolean; - isComplete?: boolean; - isLast?: boolean; -}; - -type StepTrackerItemProps = { - number: number; - title: string; - description: string; - activeStep: number; - isLast?: boolean; -}; - -/** @internal */ -const StepTrackerItem: FC = ({ - title, - description, - number, - activeStep, - isLast, -}) => { - const isComplete = number < activeStep; - const isActive = number === activeStep; - - return ( -
    - - -
    - - {title} - - - - {description} - -
    -
    - ); -}; - -/** @internal */ -const VerticalStepperItem: FC = ({ - isActive = false, - isComplete: wasCompleted = false, - isLast = false, - number, -}) => { - const isActiveOrCompletedClass = - isActive || wasCompleted - ? 'bg-gray-400 dark:text-mono-180' - : 'bg-gray-200 dark:bg-mono-160'; - - return ( -
    - {/* Circle dot */} -
    - {number} -
    - - {/* Vertical line */} - {!isLast && ( -
    - )} -
    - ); -}; - -export default StepTrackerSidebar; diff --git a/apps/zk-explorer/components/ProofGenerationStepCards/index.tsx b/apps/zk-explorer/components/ProofGenerationStepCards/index.tsx deleted file mode 100644 index a25d57809b..0000000000 --- a/apps/zk-explorer/components/ProofGenerationStepCards/index.tsx +++ /dev/null @@ -1,375 +0,0 @@ -'use client'; - -import { - ColumnDef, - getCoreRowModel, - useReactTable, -} from '@tanstack/react-table'; -import { - CheckBox, - Progress, - Table, - fuzzyFilter, -} from '@webb-tools/webb-ui-components'; -import assert from 'assert'; -import { FC, useCallback, useMemo, useState } from 'react'; -import { CONTACT_URL } from '../../constants'; -import { MOCK_MPC_PARTICIPANTS } from '../../constants/mock'; -import { requestProofGeneration } from '../../server/services'; -import { RelativePageUrl } from '../../utils'; -import FileUploadAreaWithList from '../FileUploadAreaWithList'; -import IdentityItem from './IdentityItem'; -import ServiceTierCard from './ServiceTierCard'; -import StepCard from './StepCard'; -import { ColumnKey, Location, MpcParticipant, Plan } from './types'; - -export type ProofGenerationStepCardsProps = { - circuitFilename: string; - activeStep: number; - nextStep: () => void; -}; - -type RowData = { - [ColumnKey.IsChecked]: boolean; - [ColumnKey.Identity]: string; - [ColumnKey.Location]: Location; - [ColumnKey.SlashingIncidents]: number; - [ColumnKey.Uptime]: number; -}; - -const ProofGenerationStepCards: FC = ({ - circuitFilename, - activeStep, - nextStep, -}) => { - const [selectedPlan, setSelectedPlan] = useState(null); - const [r1csFile, setR1csFile] = useState(null); - const [provingKeyFile, setProvingKeyFile] = useState(null); - - // TODO: Need to fetch MPC participants from the backend. Create a request function for this. - const [mpcParticipants, _setMpcParticipants] = useState( - MOCK_MPC_PARTICIPANTS, - ); - - const [selectedMpcParticipantAddresses, setSelectedMpcParticipantAddresses] = - useState([]); - - const [verificationKeyFile, setVerificationKeyFile] = useState( - null, - ); - - const handleNextStep = useCallback( - async (isLast: boolean) => { - if (!isLast) { - nextStep(); - - return; - } - - // If we are on the last step, we should not increment the step, - // but instead initialize the proof generation. - - assert( - selectedPlan !== null, - 'Selected plan should have been selected when the proof generation is initialized', - ); - - assert( - mpcParticipants.length > 0, - 'At least one MPC participant should be selected when the proof generation is initialized', - ); - - assert( - r1csFile !== null, - 'R1CS file should have been uploaded when the proof generation is initialized', - ); - - assert( - provingKeyFile !== null, - 'Proving key file should have been uploaded when the proof generation is initialized', - ); - - assert( - verificationKeyFile !== null, - 'Verification key file should have been uploaded when the proof generation is initialized', - ); - - const response = await requestProofGeneration({ - plan: selectedPlan, - mpcParticipantAddresses: selectedMpcParticipantAddresses, - provingKey: provingKeyFile, - r1cs: r1csFile, - verificationKey: verificationKeyFile, - }); - - // TODO: This is temporary. Consider showing a toast, modal, or redirecting to a new page after a response is received from the backend. - if (response.isSuccess) { - alert('Proof generation has been initialized successfully!'); - window.open(RelativePageUrl.Dashboard, '_self'); - } - }, - [ - mpcParticipants.length, - nextStep, - provingKeyFile, - r1csFile, - selectedMpcParticipantAddresses, - selectedPlan, - verificationKeyFile, - ], - ); - - const getColumnKeyAsTitle = useCallback((key: ColumnKey): string => { - switch (key) { - case ColumnKey.IsChecked: - return 'Select'; - case ColumnKey.Identity: - return 'Identity'; - case ColumnKey.Location: - return 'Location'; - case ColumnKey.SlashingIncidents: - return 'Slashing Incidents'; - case ColumnKey.Uptime: - return 'Uptime'; - } - }, []); - - const handleMpcParticipantSelection = useCallback( - (address: string) => { - const participant = MOCK_MPC_PARTICIPANTS.find( - (participant) => participant.address === address, - ); - - assert( - participant !== undefined, - `MPC participant with address ${address} should exist`, - ); - - const isAlreadySelected = - selectedMpcParticipantAddresses.includes(address); - - if (isAlreadySelected) { - setSelectedMpcParticipantAddresses((current) => - current.filter((address) => address !== participant.address), - ); - - return; - } - - setSelectedMpcParticipantAddresses((current) => [ - ...current, - participant.address, - ]); - }, - [selectedMpcParticipantAddresses], - ); - - const columns = useMemo[]>( - () => [ - { - header: getColumnKeyAsTitle(ColumnKey.IsChecked), - accessorKey: ColumnKey.IsChecked, - cell: (props) => ( - - handleMpcParticipantSelection( - props.row.original[ColumnKey.Identity], - ) - } - /> - ), - }, - { - header: getColumnKeyAsTitle(ColumnKey.Identity), - accessorKey: ColumnKey.Identity, - cell: (props) => ( - - ), - }, - { - header: getColumnKeyAsTitle(ColumnKey.Location), - accessorKey: ColumnKey.Location, - cell: (props) => props.getValue(), - }, - { - header: getColumnKeyAsTitle(ColumnKey.SlashingIncidents), - accessorKey: ColumnKey.SlashingIncidents, - cell: (props) => props.getValue(), - }, - { - header: getColumnKeyAsTitle(ColumnKey.Uptime), - accessorKey: ColumnKey.Uptime, - cell: (props) => ( - - ), - }, - ], - [getColumnKeyAsTitle, handleMpcParticipantSelection], - ); - - const convertMpcParticipantToRowData = useCallback( - (participant: MpcParticipant): RowData => { - return { - [ColumnKey.IsChecked]: selectedMpcParticipantAddresses.includes( - participant.address, - ), - [ColumnKey.Identity]: participant.address, - [ColumnKey.Location]: participant.location, - [ColumnKey.SlashingIncidents]: participant.slashingIncidents, - [ColumnKey.Uptime]: participant.uptime, - }; - }, - [selectedMpcParticipantAddresses], - ); - - const rows: RowData[] = useMemo( - () => mpcParticipants.map(convertMpcParticipantToRowData), - [convertMpcParticipantToRowData, mpcParticipants], - ); - - const mpcParticipantsTableProps = useReactTable({ - columns, - data: rows, - getCoreRowModel: getCoreRowModel(), - filterFns: { - fuzzy: fuzzyFilter, - }, - }); - - const handlePlanSelection = useCallback((plan: Plan) => { - // The enterprise plan requires a contact form, - // so it is handled separately. - if (plan === Plan.Enterprise) { - setSelectedPlan(null); - window.open(CONTACT_URL, '_blank', 'noopener noreferrer'); - - return; - } - - setSelectedPlan(plan); - }, []); - - return ( -
    - - - - - - - - - - - - - -
    - - - - - -
    - - - - - -
    -
    - - ); -}; - -export default ProofGenerationStepCards; diff --git a/apps/zk-explorer/components/ProofGenerationStepCards/types.ts b/apps/zk-explorer/components/ProofGenerationStepCards/types.ts deleted file mode 100644 index cdd06805eb..0000000000 --- a/apps/zk-explorer/components/ProofGenerationStepCards/types.ts +++ /dev/null @@ -1,26 +0,0 @@ -export enum Plan { - Free = 'Free', - Pro = 'Pro', - Enterprise = 'Enterprise', -} - -export enum Location { - UsWest = 'US West', - EuCentral = 'EU Central', - AsiaEast = 'Asia East', -} - -export enum ColumnKey { - IsChecked = 'isChecked', - Identity = 'identity', - Location = 'location', - SlashingIncidents = 'slashingIncidents', - Uptime = 'uptime', -} - -export type MpcParticipant = { - address: string; - location: Location; - slashingIncidents: number; - uptime: number; -}; diff --git a/apps/zk-explorer/components/RadioCard.tsx b/apps/zk-explorer/components/RadioCard.tsx deleted file mode 100644 index 3e574c5127..0000000000 --- a/apps/zk-explorer/components/RadioCard.tsx +++ /dev/null @@ -1,107 +0,0 @@ -import { InfoCircledIcon } from '@radix-ui/react-icons'; -import { IconProps } from '@radix-ui/react-icons/dist/types'; -import { TooltipTrigger } from '@radix-ui/react-tooltip'; -import { - Tooltip, - TooltipBody, - Typography, -} from '@webb-tools/webb-ui-components'; -import { ComponentType, FC, useCallback } from 'react'; -import { twMerge } from 'tailwind-merge'; - -export type RadioCardProps = { - id: string; - title: string; - tooltip?: string; - description?: string; - Icon?: ComponentType; - selectedRadioItem: string | null; - isDisabled?: boolean; - disabledTooltipReason?: string; - setSelectedRadioItem: (id: string) => void; -}; - -const RadioCard: FC = ({ - id, - selectedRadioItem, - title, - tooltip, - description, - isDisabled, - disabledTooltipReason, - Icon, - setSelectedRadioItem, -}) => { - const isChecked = selectedRadioItem === id; - - const handleOnChange = useCallback(() => { - if (isDisabled || selectedRadioItem === id) { - return; - } - - setSelectedRadioItem(id); - }, [id, isDisabled, selectedRadioItem, setSelectedRadioItem]); - - const isCheckedClass = isChecked - ? 'border-mono-180 border-2 dark:bg-mono-0' - : 'border-mono-100 dark:bg-mono-180'; - - const radioButtonClass = twMerge( - 'self-center w-5 h-5 rounded-full border flex-grow', - isCheckedClass, - ); - - const isDisabledClass = isDisabled - ? 'opacity-50' - : 'cursor-pointer dark:hover:bg-mono-140 transition-colors'; - - const content = ( -
    - {Icon && ( - - )} - -
    -
    - - {title} - - - {tooltip !== undefined && ( - // TODO: Use `Tooltip` component, which is not cooperating for some reason. -
    - -
    - )} -
    - - - {description} - -
    - - {/* Radio button */} -
    -
    - ); - - return isDisabled ? ( - - {content} - - - {disabledTooltipReason} - - - ) : ( - content - ); -}; - -export default RadioCard; diff --git a/apps/zk-explorer/components/RunCircuitServiceModalTrigger.tsx b/apps/zk-explorer/components/RunCircuitServiceModalTrigger.tsx deleted file mode 100644 index e293feaba8..0000000000 --- a/apps/zk-explorer/components/RunCircuitServiceModalTrigger.tsx +++ /dev/null @@ -1,152 +0,0 @@ -'use client'; - -import { ClockIcon, RotateCounterClockwiseIcon } from '@radix-ui/react-icons'; -import { - Button, - Modal, - ModalContent, - ModalFooter, - ModalHeader, - Typography, -} from '@webb-tools/webb-ui-components'; -import { WEBB_DOCS_URL } from '@webb-tools/webb-ui-components/constants'; -import assert from 'assert'; -import { useRouter } from 'next/navigation'; -import { FC, useCallback, useState } from 'react'; -import { createProofGenerationUrl } from '../utils'; -import RadioCard from './RadioCard'; - -export type RunCircuitServiceModalTriggerProps = { - owner: string; - repositoryName: string; - - /** - * The unique path of the circuit file under the repository. - * This helps identify the circuit file for which the service is being run. - * - * @remarks - * This is the path of the circuit file relative to the repository root. - * - * If omitted, it is assumed that the user is viewing a file that is not - * a circuit file, and thus cannot choose to run a service. The `Run Service` - * button will be disabled in this case. - * - * @example - * `apps/zk-explorer/circuits/poseidon.circom` - */ - circuitFilePath?: string; -}; - -enum RadioItem { - TrustedSetupService = 'trusted-setup-service', - ProofGenerationService = 'proof-generation-service', -} - -export const RunCircuitServiceModalTrigger: FC< - RunCircuitServiceModalTriggerProps -> = ({ circuitFilePath, owner, repositoryName }) => { - const [isOpen, setIsOpen] = useState(false); - - const [selectedRadioItemId, setSelectedRadioItemId] = useState( - null, - ); - - const router = useRouter(); - - const handleContinue = useCallback(() => { - assert( - circuitFilePath !== undefined, - 'Circuit file path should not be undefined if the user was able to run a service.', - ); - - if (selectedRadioItemId === RadioItem.ProofGenerationService) { - router.push( - createProofGenerationUrl(owner, repositoryName, circuitFilePath), - ); - } - - // TODO: Handle other services: Trusted Setup Service. - }, [circuitFilePath, owner, repositoryName, router, selectedRadioItemId]); - - return ( - <> - - - setIsOpen(open)}> - - setIsOpen(false)}> - Run Circuit Service - - -
    - - With Webb, you can easily and seamlessly run services for your - circuits. -
    -
    - Please choose a service for{' '} - {circuitFilePath}: -
    - -
    - - - -
    -
    - - - - - - -
    -
    - - ); -}; - -export default RunCircuitServiceModalTrigger; diff --git a/apps/zk-explorer/components/SearchInput.tsx b/apps/zk-explorer/components/SearchInput.tsx deleted file mode 100644 index 6709d231d6..0000000000 --- a/apps/zk-explorer/components/SearchInput.tsx +++ /dev/null @@ -1,117 +0,0 @@ -import { Search } from '@webb-tools/icons'; -import { Input } from '@webb-tools/webb-ui-components'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import assert from 'assert'; -import { useRouter } from 'next/navigation'; -import { useQueryState } from 'nuqs'; -import { FC } from 'react'; -import { twMerge } from 'tailwind-merge'; -import useTailwindBreakpoint, { - TailwindBreakpoint, -} from '../hooks/useTailwindBreakpoint'; -import { RelativePageUrl, SearchParamKey, validateSearchQuery } from '../utils'; - -export type SearchInputProps = PropsOf & { - isFullWidth?: boolean; - - /** - * The homepage variant of the search input only differs - * in visual style, not functionality. - */ - isHomepageVariant?: boolean; - - /** - * If `true`, the search input will redirect to the search page - * when the value is changed, and after the debounce time. - */ - doesRedirectOnChange?: boolean; - - /** - * The handler to call when the value of the input changes. - * - * This is required if `doesRedirect` is `false`, otherwise the - * input would be uncontrolled and have no purpose. - */ - onValueChange?: (value: string) => void; -}; - -const DEFAULT_DEBOUNCE_DELAY = 1500; - -const SearchInput: FC = ({ - isFullWidth, - isHomepageVariant, - debounceTime: _debounceTime = DEFAULT_DEBOUNCE_DELAY, - doesRedirectOnChange: doesRedirect, - className, - inputClassName, - onValueChange, - ...rest -}) => { - if (onValueChange === undefined) { - assert( - doesRedirect, - "a value change handler is required if the input doesn't redirect, otherwise the input will be uncontrolled", - ); - } - - const [searchQuery, setSearchQuery] = useQueryState( - SearchParamKey.SearchQuery, - ); - - const breakpoint = useTailwindBreakpoint(); - const router = useRouter(); - - // TODO: Update constraints to match the search query, and re-fetch from API. - const handleSearchQueryChange = (newSearchQuery: string) => { - setSearchQuery(newSearchQuery); - - // Only update the URL search param if the input will not - // eventually redirect to the search page. - if (doesRedirect && validateSearchQuery(newSearchQuery)) { - const searchPageUrl = new URL( - RelativePageUrl.Root, - window.location.origin, - ); - - // Attach the search query to the search page URL. - searchPageUrl.searchParams.set( - SearchParamKey.SearchQuery, - newSearchQuery, - ); - - router.push(searchPageUrl.href); - } else { - setSearchQuery(newSearchQuery); - - if (onValueChange !== undefined) { - onValueChange(newSearchQuery); - } - } - }; - - const searchQueryPlaceholder = - breakpoint >= TailwindBreakpoint.SM && isFullWidth && isHomepageVariant - ? 'Search projects and circuits for specific keywords...' - : 'Search projects and circuits...'; - - const variantClass = isHomepageVariant - ? 'rounded-[50px] border-none' - : 'min-w-[270px] w-full'; - - const iconHomepageVariantClass = isHomepageVariant ? 'mr-4' : undefined; - - return ( - } - inputClassName={twMerge(variantClass, inputClassName)} - className={twMerge('flex-grow', className)} - placeholder={searchQueryPlaceholder} - value={searchQuery ?? ''} - debounceTime={DEFAULT_DEBOUNCE_DELAY} - onChange={handleSearchQueryChange} - /> - ); -}; - -export default SearchInput; diff --git a/apps/zk-explorer/components/SidebarAndItemGrid.tsx b/apps/zk-explorer/components/SidebarAndItemGrid.tsx deleted file mode 100644 index 62b52987d2..0000000000 --- a/apps/zk-explorer/components/SidebarAndItemGrid.tsx +++ /dev/null @@ -1,233 +0,0 @@ -'use client'; - -import { ArrowUpIcon } from '@radix-ui/react-icons'; -import { Button, Pagination, Typography } from '@webb-tools/webb-ui-components'; -import Link from 'next/link'; -import { useSearchParams } from 'next/navigation'; -import { FC, useCallback, useEffect, useState } from 'react'; -import { ITEMS_PER_PAGE } from '../constants'; -import Filters from '../containers/Filters'; -import useFilterConstraints from '../hooks/useFilterConstraints'; -import useTailwindBreakpoint, { - TailwindBreakpoint, -} from '../hooks/useTailwindBreakpoint'; -import { SearchSortByClause, searchCircuits } from '../server/circuits'; -import { searchProjects } from '../server/projects'; -import { - ItemType, - RelativePageUrl, - SearchParamKey, - getMockCircuits, - getMockProjects, - validateSearchQuery, -} from '../utils'; -import { CircuitItem } from './CircuitCard'; -import FilterAndSortBy from './FilterAndSortBy'; -import ItemGrid from './ItemGrid'; -import LinkCard from './LinkCard'; -import { ProjectItem } from './ProjectCard'; -import SearchInput from './SearchInput'; -import Tabs from './Tabs'; - -const SidebarAndItemGrid: FC> = () => { - const breakpoint = useTailwindBreakpoint(); - const [projects, setProjects] = useState([]); - const [circuits, setCircuits] = useState([]); - const [constraints, setConstraints] = useFilterConstraints(); - const [selectedTabIndex, setSelectedTabIndex] = useState(0); - - const [projectSearchResultCount, setProjectSearchResultCount] = - useState(0); - - const [circuitSearchResultCount, setCircuitSearchResultCount] = - useState(0); - - const initialSearchQuery = - useSearchParams().get(SearchParamKey.SearchQuery) ?? ''; - - const [searchQuery, setSearchQuery] = useState(initialSearchQuery); - - const [sortByClause, setSortByClause] = useState( - SearchSortByClause.MostPopular, - ); - - const DEFAULT_PAGE_NUMBER = 1; - const PROJECTS_TAB_INDEX = 0; - - const initialPaginationPage = useSearchParams().get( - SearchParamKey.PaginationPageNumber, - ); - - const [paginationPage, setPaginationPage] = useState( - initialPaginationPage !== null - ? parseInt(initialPaginationPage, 10) - : DEFAULT_PAGE_NUMBER, - ); - - // Initial 'most popular' project search. - useEffect(() => { - searchProjects( - constraints, - '', - paginationPage, - SearchSortByClause.MostPopular, - ) - // TODO: Temporarily use mock data until we have a backend. - .catch(getMockProjects) - .then((response) => { - setProjects(response.projects); - setProjectSearchResultCount(response.resultCount); - }); - - // This effect should only run once on page load, - // so dependencies are intentionally left empty. - - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - const fetchItems = useCallback( - (query: string) => { - if (selectedTabIndex === PROJECTS_TAB_INDEX) { - searchProjects(constraints, query, paginationPage, sortByClause) - // Temporarily use mock data until we have a backend. - .catch(() => getMockProjects()) - .then((response) => { - setProjects(response.projects); - setProjectSearchResultCount(response.resultCount); - }); - } - // If it's not the projects tab, it's the circuits tab. - else { - searchCircuits(constraints, query, paginationPage, sortByClause) - // TODO: Temporarily use mock data until we have a backend. - .catch(getMockCircuits) - .then((response) => { - setCircuits(response.circuits); - setCircuitSearchResultCount(response.resultCount); - }); - } - }, - [constraints, paginationPage, selectedTabIndex, sortByClause], - ); - - // Fetch items when the search query changes. - useEffect(() => { - if (validateSearchQuery(searchQuery)) { - fetchItems(searchQuery); - } - }, [searchQuery, fetchItems]); - - // Fetch items when constraints, page number, or sort - // by clause changes. - useEffect(() => { - fetchItems(searchQuery ?? ''); - - // This doesn't depend on the search query, so it is intentionally - // excluded from the dependencies. - - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [constraints, paginationPage, sortByClause]); - - return ( - <> -
    - - - - - -
    - - {/* Content: Filters & grid items */} -
    -
    - - setConstraints(newConstraints) - } - className="hidden sm:flex" - /> - - -
    - -
    - - - Submit Project! - - - - Have a zero-knowledge project you'd like to share with the - community? - -
    -
    - -
    - setSelectedTabIndex(index)} - rightContent={ - - } - tabs={[ - { - name: 'Projects', - count: projectSearchResultCount, - }, - { - name: 'Circuits', - count: circuitSearchResultCount, - }, - ]} - /> - - - - -
    -
    - - ); -}; - -export default SidebarAndItemGrid; diff --git a/apps/zk-explorer/components/SmallChip.tsx b/apps/zk-explorer/components/SmallChip.tsx deleted file mode 100644 index 48583a4bde..0000000000 --- a/apps/zk-explorer/components/SmallChip.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { Chip } from '@webb-tools/webb-ui-components'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import { FC, PropsWithChildren } from 'react'; -import { twMerge } from 'tailwind-merge'; - -const SmallChip: FC>> = ({ - children, - className, - ...rest -}) => { - return ( - - {children} - - ); -}; - -export default SmallChip; diff --git a/apps/zk-explorer/components/StepTrackerSidebarAndCards.tsx b/apps/zk-explorer/components/StepTrackerSidebarAndCards.tsx deleted file mode 100644 index 7e3106963a..0000000000 --- a/apps/zk-explorer/components/StepTrackerSidebarAndCards.tsx +++ /dev/null @@ -1,30 +0,0 @@ -'use client'; - -import { FC, useState } from 'react'; -import FeedbackCard from './FeedbackCard'; -import ProofGenerationStepCards from './ProofGenerationStepCards'; -import StepTrackerSidebar from './ProofGenerationStepCards/StepTrackerSidebar'; - -const StepTrackerSidebarAndCards: FC<{ - circuitFilename: string; -}> = ({ circuitFilename }) => { - const [activeStep, setActiveStep] = useState(1); - - return ( -
    -
    - - - -
    - - setActiveStep((prev) => prev + 1)} - /> -
    - ); -}; - -export default StepTrackerSidebarAndCards; diff --git a/apps/zk-explorer/components/SubmitPageControls.tsx b/apps/zk-explorer/components/SubmitPageControls.tsx deleted file mode 100644 index 3a8d564c1a..0000000000 --- a/apps/zk-explorer/components/SubmitPageControls.tsx +++ /dev/null @@ -1,91 +0,0 @@ -'use client'; - -import { Button, Input } from '@webb-tools/webb-ui-components'; -import assert from 'assert'; -import { useRouter } from 'next/navigation'; -import { FC, useCallback, useState } from 'react'; -import { submitProject } from '../server/projects'; -import { - createProjectDetailPath, - parseGithubUrl, - validateGithubUrl, -} from '../utils'; - -const SubmitPageControls: FC> = () => { - const [githubUrl, setGithubUrl] = useState(''); - const [isValidGithubUrl, setIsValidGithubUrl] = useState(false); - const [errorMessage, setErrorMessage] = useState(); - const router = useRouter(); - - const handleSubmit = useCallback(async () => { - const response = await submitProject(githubUrl); - - if (response.isSuccess) { - const githubUrlParseResult = parseGithubUrl(githubUrl); - - assert( - githubUrlParseResult !== null, - 'Github URL should be valid after a successful submission.', - ); - - const [owner, repo] = githubUrlParseResult; - - // Navigate to the newly created project's page. - router.push(createProjectDetailPath(owner, repo)); - - return; - } - - assert( - response.errorMessage !== undefined, - 'Error message should be provided when the response did not indicate success.', - ); - - const errorMessage = response.errorMessage; - - setErrorMessage(errorMessage !== null ? errorMessage : undefined); - }, [githubUrl, router]); - - return ( - <> - { - setGithubUrl(value); - - const isNewUrlValid = validateGithubUrl(value); - - setIsValidGithubUrl(isNewUrlValid); - - setErrorMessage( - value.length > 0 && !isNewUrlValid - ? 'Invalid GitHub URL.' - : undefined, - ); - }} - /> - -
    - {/* TODO: Need link for this. */} - - - -
    - - ); -}; - -export default SubmitPageControls; diff --git a/apps/zk-explorer/components/Tabs.tsx b/apps/zk-explorer/components/Tabs.tsx deleted file mode 100644 index 05aaf09e8d..0000000000 --- a/apps/zk-explorer/components/Tabs.tsx +++ /dev/null @@ -1,175 +0,0 @@ -'use client'; - -import { Typography } from '@webb-tools/webb-ui-components'; -import assert from 'assert'; -import { - Children, - FC, - ReactNode, - cloneElement, - isValidElement, - useState, -} from 'react'; -import { twMerge } from 'tailwind-merge'; -import { TabsContext, useTabs } from '../context/TabsContext'; -import SmallChip from './SmallChip'; - -export type Tab = { - name: string; - count?: number; -}; - -export type TabsProps = { - initiallySelectedTabIndex?: number; - tabs: Tab[]; - rightContent?: React.ReactNode; - children?: React.ReactNode; - onTabChange?: (tab: Tab, index: number) => void; -}; - -type TabsContentProps = { - children: ReactNode; - index?: number; -}; - -type TabsType = FC & { - Content: FC; -}; - -/** - * Provides a flexible way to manage tabs with or without attached content. - * - * @remarks - * Tabs can optionally include a count chip to be displayed next to the tab name. - * At least one tab must be provided, otherwise there would be nothing to render. - * Failing to provide at least one tab will result in an error. - * - * @example - * Providing content as children: - * ```tsx - * - * first - * second - * - * ``` - * - * @example - * Managing content outside of the component, using the `onTabChange` callback: - * ```tsx - * const [selectedTab, setSelectedTab] = useState(0); - * - * // ... - * - * setSelectedTab(index)} - * /> - * - * // ... - * - * {selectedTab === 0 &&
    first
    } - * ``` - */ -const Tabs: TabsType = ({ - initiallySelectedTabIndex = 0, - tabs, - children, - rightContent, - onTabChange, -}) => { - assert( - initiallySelectedTabIndex >= 0 && initiallySelectedTabIndex < tabs.length, - 'Initially selected tab index is out of range', - ); - - assert( - tabs.length > 0, - 'At least one tab must be provided, otherwise there would be nothing to render', - ); - - const [selectedTabIndex, setSelectedTabIndex] = useState( - initiallySelectedTabIndex, - ); - - const value = { selectedTabIndex, setSelectedTabIndex }; - - const handleTabChangeAttempt = (tab: Tab, index: number) => { - // Do nothing if the tab is already selected. - if (selectedTabIndex === index) { - return; - } - - setSelectedTabIndex(index); - - if (onTabChange !== undefined) { - onTabChange(tab, index); - } - }; - - const enhancedChildren = Children.map(children, (child, index) => { - // TODO: Consider whether disallowing other elements apart from tab content is a good idea. - - if (isValidElement(child) && child.type === TabsContent) { - const childProps = { ...child.props, index } satisfies TabsContentProps; - - return cloneElement(child, childProps); - } - }); - - return ( - -
    - {/* Tabs */} -
    - {tabs.map((tab, index) => { - const isSelected = index === selectedTabIndex; - - return ( -
    handleTabChangeAttempt(tab, index)} - > - - {tab.name} - - - {tab.count !== undefined && {tab.count}} -
    - ); - })} -
    - - {/* TODO: Fix not expanding to fill the minimum space required for its contents. */} -
    {rightContent}
    -
    - - {enhancedChildren} -
    - ); -}; - -const TabsContent: FC = ({ children, index }) => { - const { selectedTabIndex } = useTabs(); - - return selectedTabIndex === index ?
    {children}
    : null; -}; - -Tabs.Content = TabsContent; - -export default Tabs; diff --git a/apps/zk-explorer/constants/index.ts b/apps/zk-explorer/constants/index.ts deleted file mode 100644 index aef48036bf..0000000000 --- a/apps/zk-explorer/constants/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -export const GITHUB_LANGUAGE_COLORS_API_URL = - 'https://raw.githubusercontent.com/ozh/github-colors/master/colors.json'; - -export const ITEMS_PER_PAGE = 12; - -// TODO: Need to change this to a contact form when available. -export const CONTACT_URL = 'mailto:hello@webb.tools'; - -// TODO: Use a better way to detect debug mode. `NODE_ENV` seems to be clashing with Next.js. -export const IS_DEBUG_MODE = true; - -export const PROJECT_DETAIL_CONTAINER_ID = 'project-detail-container'; - -// TODO: Consider whether HTTP URLs should be allowed. -export const GITHUB_URL_PREFIX = 'https://github.com/'; - -export const DEBUG_ARTIFICIAL_DELAY_MS = 2500; diff --git a/apps/zk-explorer/constants/mock.ts b/apps/zk-explorer/constants/mock.ts deleted file mode 100644 index 0ebabc294c..0000000000 --- a/apps/zk-explorer/constants/mock.ts +++ /dev/null @@ -1,493 +0,0 @@ -import { randomBytes } from 'crypto'; -import { ProjectItem } from '../components/ProjectCard'; -import { - Location, - MpcParticipant, -} from '../components/ProofGenerationStepCards/types'; -import { - FilterCategoryItem, - FilterOptionItem, -} from '../containers/Filters/types'; -import { User } from '../hooks/useAuth'; -import { - FileTree, - ProjectBasicInfo, - ProjectDetailsGitHubInfo, - ProjectTrustedSetupItem, - TopContributorType, -} from '../server/projectDetails'; - -export const MOCK_PROOF_SYSTEMS_OPTIONS: FilterOptionItem[] = [ - { - label: 'Circom', - amount: 403, - }, - { - label: 'Plonk', - amount: 123, - }, - { - label: 'Halo2', - amount: 234, - }, - { - label: 'Bulletproof', - amount: 43, - }, - { - label: 'Stark', - amount: 78, - }, -]; - -export const MOCK_CATEGORY_OPTIONS: FilterOptionItem[] = [ - { - label: 'Identity Verification', - amount: 59, - }, - { - label: 'Private Transaction', - amount: 290, - }, - { - label: 'Voting System', - amount: 12, - }, - { - label: 'Arithmetic', - amount: 90, - }, - { - label: 'Cryptography', - amount: 183, - }, -]; - -export const MOCK_LICENSE_OPTIONS: FilterOptionItem[] = [ - { - label: 'MIT', - amount: 392, - }, - { - label: 'GPLv3', - amount: 19, - }, - { - label: 'Apache 2.0', - amount: 128, - }, -]; - -export const MOCK_LANGUAGE_OPTIONS: FilterOptionItem[] = [ - { - label: 'TypeScript', - amount: 410, - }, - { - label: 'C++', - amount: 319, - }, - { - label: 'Rust', - amount: 593, - }, - { - label: 'Circom', - amount: 478, - }, - { - label: 'Solidity', - amount: 92, - }, - { - label: 'JavaScript', - amount: 228, - }, -]; - -export const MOCK_CATEGORIES: FilterCategoryItem[] = [ - { - category: 'Proof System', - options: MOCK_PROOF_SYSTEMS_OPTIONS, - }, - { - category: 'Categories', - options: MOCK_CATEGORY_OPTIONS, - }, - { - category: 'License', - options: MOCK_LICENSE_OPTIONS, - }, - { - category: 'Language/Framework', - options: MOCK_LANGUAGE_OPTIONS, - }, -]; - -export const MOCK_USER: User = { - id: '0', - email: 'hello@webb.tools', - twitterHandle: 'webbprotocol', - githubUsername: 'webb', - website: 'https://www.webb.tools/', - shortBio: - 'An ecosystem of infrastructures and applications designed to extend privacy to the blockchain space.', - createdAt: new Date().getTime() - 1000 * 60 * 60 * 24 * 7, - activatedCircuitCount: 0, -}; - -export const MOCK_MPC_PARTICIPANTS: MpcParticipant[] = Array.from( - { length: 5 }, - () => ({ - address: randomBytes(20).toString('hex'), - location: Location.UsWest, - slashingIncidents: 0, - uptime: 100, - }), -); - -export const MOCK_CIRCUIT_FILE_PATH = 'pairing.circom'; - -export const MOCK_PROJECT_TRUSTED_SETUP_DATA: ProjectTrustedSetupItem[] = [ - { - name: 'bignit.circom', - gitHubUrl: 'https://github.com/webb-tools/tangle', - tags: [ - 'groth16', - 'constraints: 452,124', - 'wires: 52124', - 'public inputs: 1', - 'private inputs: 2036', - 'curve: bn-128', - ], - finalZKey: { - filename: 'example_0063.zkey', - downloadUrl: '#', - }, - contributionList: [ - { - doc: 'pairing_20_00001.zkey', - contributionDate: 'Dec 11,2023', - hashes: 'ca1288cf4e67294c2298ca1288cf4e67294c2298ca1288cf4e67294c2298', - }, - { - doc: 'pairing_20_00002.zkey', - contributionDate: 'Dec 11,2023', - hashes: 'ca1288cf4e67294c2298ca1288cf4e67294c2298ca1288cf4e67294c2298', - }, - { - doc: 'pairing_20_00003.zkey', - contributionDate: 'Dec 11,2023', - hashes: 'ca1288cf4e67294c2298ca1288cf4e67294c2298ca1288cf4e67294c2298', - }, - ], - }, - { - name: 'ecdsa.circom', - gitHubUrl: 'https://github.com/webb-tools/tangle', - tags: [ - 'groth16', - 'constraints: 452,124', - 'wires: 52124', - 'public inputs: 1', - 'private inputs: 2036', - 'curve: bn-128', - ], - finalZKey: { - filename: 'example_0063.zkey', - downloadUrl: '#', - }, - }, - { - name: 'ecdsa_verify.circom', - gitHubUrl: 'https://github.com/webb-tools/tangle', - tags: [ - 'groth16', - 'constraints: 452,124', - 'wires: 52124', - 'public inputs: 1', - 'private inputs: 2036', - 'curve: bn-128', - ], - finalZKey: { - filename: 'example_0063.zkey', - downloadUrl: '#', - }, - }, -]; - -export const MOCK_PROJECT_DETAILS_SUMMARY = ` - # A demo of \`react-markdown\` - - \`react-markdown\` is a markdown component for React. - - 👉 Changes are re-rendered as you type. - - 👈 Try writing some markdown on the left. - - ## Overview - - * Follows [CommonMark](https://commonmark.org) - * Optionally follows [GitHub Flavored Markdown](https://github.github.com/gfm/) - * Renders actual React elements instead of using \`dangerouslySetInnerHTML\` - * Lets you define your own components (to render \`MyHeading\` instead of \`'h1'\`) - * Has a lot of plugins - - ## Contents - - Here is an example of a plugin in action - ([\`remark-toc\`](https://github.com/remarkjs/remark-toc)). - **This section is replaced by an actual table of contents**. - - ## Syntax highlighting - - Here is an example of a plugin to highlight code: - [\`rehype-highlight\`](https://github.com/rehypejs/rehype-highlight). - - \`\`\`js - import React from 'react' - import ReactDOM from 'react-dom' - import Markdown from 'react-markdown' - import rehypeHighlight from 'rehype-highlight' - - const markdown = \` - # Your markdown here - \` - - ReactDOM.render( - {markdown}, - document.querySelector('#content') - ) - \`\`\` - - Pretty neat, eh? - - ## GitHub flavored markdown (GFM) - - For GFM, you can *also* use a plugin: - [\`remark-gfm\`](https://github.com/remarkjs/react-markdown#use). - It adds support for GitHub-specific extensions to the language: - tables, strikethrough, tasklists, and literal URLs. - - These features **do not work by default**. - 👆 Use the toggle above to add the plugin. - - | Feature | Support | - | ---------: | :------------------- | - | CommonMark | 100% | - | GFM | 100% w/ \`remark-gfm\` | - - ~~strikethrough~~ - - * [ ] task list - * [x] checked item - - https://example.com - - ## HTML in markdown - - ⚠️ HTML in markdown is quite unsafe, but if you want to support it, you can - use [\`rehype-raw\`](https://github.com/rehypejs/rehype-raw). - You should probably combine it with - [\`rehype-sanitize\`](https://github.com/rehypejs/rehype-sanitize). - -
    - 👆 Use the toggle above to add the plugin. -
    - - ## Components - - You can pass components to change things: - - \`\`\`js - import React from 'react' - import ReactDOM from 'react-dom' - import Markdown from 'react-markdown' - import MyFancyRule from './components/my-fancy-rule.js' -import { ProjectDetailsGitHubInfo } from "../server/projectDetails"; - - const markdown = \` - # Your markdown here - \` - - ReactDOM.render( - - } - }} - > - {markdown} - , - document.querySelector('#content') - ) - \`\`\` - - ## More info? - - Much more info is available in the - [readme on GitHub](https://github.com/remarkjs/react-markdown)! - - *** - - A component by [Espen Hovlandsdal](https://espen.codes/) -`; - -export const MOCK_PROJECT_GITHUB_INFO = ( - languageColors: Record, -): ProjectDetailsGitHubInfo => - ({ - fullName: 'webb-tools/tangle', - avatarUrl: MOCK_AVATAR_URL, - description: 'An MPC as a service restaking network.', - tags: [ - 'blockchain', - 'mpc', - 'rust', - 'substrate', - 'threshold-signatures', - 'tss', - 'zero-knowledge', - ], - readmeUrl: 'https://github.com/webb-tools/tangle/#readme', - license: { - name: 'GNU General Public License v3.0', - url: 'https://api.github.com/licenses/gpl-3.0', - }, - activityUrl: 'https://github.com/webb-tools/tangle/activity', - starsCount: 17, - starsUrl: 'https://github.com/webb-tools/tangle/stargazers', - watchersCount: 2, - watchersUrl: 'https://github.com/webb-tools/tangle/watchers', - forksCount: 7, - forksUrl: 'https://github.com/webb-tools/tangle/forks', - releasesCount: 31, - latestRelease: '0.5.0', - latestReleaseUrl: - 'https://github.com/webb-tools/tangle/releases/tag/v5.0.0', - releasesUrl: 'https://github.com/webb-tools/tangle/releases', - contributorsCount: 13, - topContributors: Array(13).fill({ - name: '1xstj', - avatarUrl: MOCK_AVATAR_URL, - profileUrl: 'https://github.com/1xstj', - }) satisfies TopContributorType[], - contributorsUrl: 'https://github.com/webb-tools/tangle/graphs/contributors', - languagesInfo: { - TypeScript: { - percentage: 52.9, - color: languageColors.TypeScript, - }, - Rust: { - percentage: 44.9, - color: languageColors.Rust, - }, - Solidity: { - percentage: 1.5, - color: languageColors.Solidity, - }, - JavaScript: { - percentage: 0.4, - color: languageColors.JavaScript, - }, - Shell: { - percentage: 0.1, - color: languageColors.Shell, - }, - Nix: { - color: languageColors.Nix, - percentage: 0.1, - }, - Dockerfile: { - color: languageColors.Dockerfile, - percentage: 0.1, - }, - }, - }) satisfies ProjectDetailsGitHubInfo; - -export const MOCK_PROJECT_BASIC_INFO: ProjectBasicInfo = { - name: 'tangle', - owner: 'webb-tools', - tags: ['groth16', 'circom', 'private transaction'], - githubUrl: 'https://github.com/webb-tools/tangle', - twitterUrl: 'https://twitter.com/webbprotocol', - websiteUrl: 'https://webb.tools', - discordUrl: 'https://discord.com/invite/cv8EfJu3Tn', -}; - -export const MOCK_FILE_TREE: FileTree = { - root: { - index: 'root', - isFolder: true, - children: ['circuits'], - data: { - fileName: '', - fullPath: '', - }, - }, - circuits: { - index: 'circuits', - isFolder: true, - children: ['circuits/file1', 'circuits/folder'], - data: { - fileName: 'circuits', - fullPath: 'circuits', - }, - }, - ['circuits/file1']: { - index: 'circuits/file1', - children: [], - data: { - fileName: 'file1.circom', - fullPath: 'circuits/file1.circom', - isTrustedSetup: true, - gitHubUrl: - 'https://github.com/webb-tools/masp-protocol/blob/main/circuits/main/batch_tree_16.circom', - fetchUrl: - 'https://raw.githubusercontent.com/webb-tools/webb-dapp/develop/apps/zk-explorer/app/page.tsx', - language: 'tsx', - }, - }, - ['circuits/folder']: { - index: 'circuits/folder', - isFolder: true, - children: ['circuits/folder/file2'], - data: { - fileName: 'folder', - fullPath: 'circuits/folder', - }, - }, - ['circuits/folder/file2']: { - index: 'circuits/folder/file2', - children: [], - data: { - fileName: 'file2.circom', - fullPath: 'circuits/folder/file2.circom', - isTrustedSetup: true, - gitHubUrl: - 'https://github.com/webb-tools/masp-protocol/blob/main/circuits/merkle-tree/manyMerkleProof.circom', - fetchUrl: - 'https://raw.githubusercontent.com/webb-tools/webb-dapp/develop/apps/zk-explorer/app/layout.tsx', - language: 'tsx', - }, - }, -}; - -export const MOCK_AVATAR_URL = - 'https://avatars.githubusercontent.com/u/76852793?s=200&v=4'; - -export const MOCK_RELATED_PROJECT: ProjectItem = { - ownerAvatarUrl: MOCK_AVATAR_URL, - repositoryOwner: 'webb', - repositoryName: 'masp', - stargazerCount: 123, - circuitCount: 24, - description: - 'Short blurb about what the purpose of this circuit. This is a longer line to test multiline.', - contributorAvatarUrls: [MOCK_AVATAR_URL], -}; diff --git a/apps/zk-explorer/containers/Filters/FilterCheckboxItem.tsx b/apps/zk-explorer/containers/Filters/FilterCheckboxItem.tsx deleted file mode 100644 index 6d548678fe..0000000000 --- a/apps/zk-explorer/containers/Filters/FilterCheckboxItem.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { CheckBox } from '@webb-tools/webb-ui-components'; -import { FC } from 'react'; -import SmallChip from '../../components/SmallChip'; - -export type FilterCheckboxItemProps = { - category: string; - label: string; - isChecked: boolean; - amount: number; - handleChange: (isChecked: boolean, category: string, label: string) => void; -}; - -const FilterCheckboxItem: FC = ({ - category, - label, - isChecked, - amount, - handleChange, -}) => { - return ( -
    - handleChange(e.target.checked, category, label)} - > - {label} - - - {amount} -
    - ); -}; - -export default FilterCheckboxItem; diff --git a/apps/zk-explorer/containers/Filters/index.tsx b/apps/zk-explorer/containers/Filters/index.tsx deleted file mode 100644 index 6b69c66091..0000000000 --- a/apps/zk-explorer/containers/Filters/index.tsx +++ /dev/null @@ -1,124 +0,0 @@ -import { Close } from '@webb-tools/icons'; -import { Typography } from '@webb-tools/webb-ui-components'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import assert from 'assert'; -import { cloneDeep } from 'lodash'; -import { FC, useCallback, useEffect, useState } from 'react'; -import { twMerge } from 'tailwind-merge'; -import { IS_DEBUG_MODE } from '../../constants'; -import { MOCK_CATEGORIES } from '../../constants/mock'; -import useFilterConstraints from '../../hooks/useFilterConstraints'; -import { fetchFilterOptions } from '../../server/filters'; -import FilterCheckboxItem from './FilterCheckboxItem'; -import { FilterCategoryItem, FilterConstraints } from './types'; - -export type FiltersProps = PropsOf<'div'> & { - hasCloseButton?: boolean; - onClose?: () => void; - onConstraintsChange: (constraints: FilterConstraints) => void; -}; - -const Filters: FC = ({ - className, - hasCloseButton, - onConstraintsChange, - onClose, - ...rest -}) => { - assert( - hasCloseButton ? onClose !== undefined : onClose === undefined, - 'If `hasCloseButton` is true, `onClose` must be defined, and vice versa.', - ); - - const [constraints, setConstraints] = useFilterConstraints(); - const [categories, setCategories] = useState([]); - - // Fetch categories and options from API. - useEffect(() => { - fetchFilterOptions() - .then((responseData) => setCategories(responseData.categories)) - .catch((error) => { - // If in debug mode, use mock data if the API call fails. - if (IS_DEBUG_MODE) { - setCategories(MOCK_CATEGORIES); - } else { - throw error; - } - }); - }, []); - - const handleOptionCheckboxChange = useCallback( - (isChecked: boolean, category: string, label: string) => { - const updatedConstraints: FilterConstraints = cloneDeep(constraints); - - if (!(category in updatedConstraints)) { - updatedConstraints[category] = []; - } - - if (isChecked) { - updatedConstraints[category].push(label); - } else { - updatedConstraints[category].splice( - updatedConstraints[category].indexOf(label), - 1, - ); - } - - onConstraintsChange(updatedConstraints); - setConstraints(updatedConstraints); - }, - [constraints, onConstraintsChange, setConstraints], - ); - - return ( -
    -
    -
    - - Filter by: - - - {hasCloseButton && ( - - )} -
    - -
    -
    - - {categories.map((category) => ( -
    - - {category.category} - - -
    - {category.options.map((option, index) => ( - - ))} -
    -
    - ))} -
    - ); -}; - -export default Filters; diff --git a/apps/zk-explorer/containers/Filters/types.ts b/apps/zk-explorer/containers/Filters/types.ts deleted file mode 100644 index 8b8d292fdd..0000000000 --- a/apps/zk-explorer/containers/Filters/types.ts +++ /dev/null @@ -1,11 +0,0 @@ -export type FilterOptionItem = { - label: string; - amount: number; -}; - -export type FilterCategoryItem = { - category: string; - options: FilterOptionItem[]; -}; - -export type FilterConstraints = Record; diff --git a/apps/zk-explorer/containers/GitHubOAuthButton/index.tsx b/apps/zk-explorer/containers/GitHubOAuthButton/index.tsx deleted file mode 100644 index 11e381b6bc..0000000000 --- a/apps/zk-explorer/containers/GitHubOAuthButton/index.tsx +++ /dev/null @@ -1,128 +0,0 @@ -'use client'; - -import { GithubFill } from '@webb-tools/icons'; -import { Button, Typography } from '@webb-tools/webb-ui-components'; -import { useRouter } from 'next/navigation'; -import { FC, MouseEventHandler, useCallback, useEffect } from 'react'; -import { twMerge } from 'tailwind-merge'; -import { GitHubOAuthButtonProps } from './types'; - -const GitHubOAuthButton: FC = ({ - onClick, - username, - onSignedInClick, - redirectUri, - clientId, - scope, - state, - doInterceptOauthRedirect, - onOAuthError, - onOAuthSuccess, - className, - ...rest -}) => { - const isSignedIn = username !== undefined; - const router = useRouter(); - - const handleClick: MouseEventHandler = useCallback( - (e) => { - if (onClick !== undefined) { - onClick(e); - } - - if (isSignedIn) { - if (onSignedInClick !== undefined) { - onSignedInClick(e); - } - } else { - const authUrl = new URL('https://github.com/login/oauth/authorize'); - const finalRedirectUri = redirectUri ?? window.location.href; - - authUrl.searchParams.append('client_id', clientId); - authUrl.searchParams.append('redirect_uri', finalRedirectUri); - authUrl.searchParams.append('scope', scope); - - if (state !== undefined) { - authUrl.searchParams.append('state', state); - } - - router.push(authUrl.toString()); - } - }, - [ - onClick, - isSignedIn, - onSignedInClick, - redirectUri, - clientId, - scope, - state, - router, - ], - ); - - // TODO: Effect is being executed twice. Likely caused by SSR or React's strict mode. - // Handle possible GitHub OAuth redirect and error query parameters. - useEffect(() => { - if (doInterceptOauthRedirect !== undefined && !doInterceptOauthRedirect) { - return; - } - - const url = new URL(window.location.href); - const code = url.searchParams.get('code'); - const state = url.searchParams.get('state'); - const error = url.searchParams.get('error'); - const errorDescription = url.searchParams.get('error_description'); - - if (code !== null) { - if (onOAuthSuccess !== undefined) { - onOAuthSuccess({ code, state }); - } - } else if (error !== null && errorDescription !== null) { - if (onOAuthError !== undefined) { - onOAuthError({ error, errorDescription, state }); - } - } - }, [doInterceptOauthRedirect, onOAuthSuccess, onOAuthError]); - - const signedInClassName = isSignedIn - ? twMerge( - 'border-mono-60 dark:border-mono-120 hover:dark:border-mono-120', - 'hover:bg-mono-0/30 dark:bg-mono-140 dark:hover:bg-mono-160', - ) - : ''; - - const textColor = isSignedIn - ? 'dark:text-mono-0' - : 'text-mono-0 dark:text-mono-140'; - - const iconFillColor = isSignedIn - ? 'dark:fill-mono-0' - : 'fill-mono-0 dark:fill-mono-140'; - - const themeClasses = 'border-mono-140'; - - return ( - - ); -}; - -export default GitHubOAuthButton; diff --git a/apps/zk-explorer/containers/GitHubOAuthButton/types.ts b/apps/zk-explorer/containers/GitHubOAuthButton/types.ts deleted file mode 100644 index 7029faf276..0000000000 --- a/apps/zk-explorer/containers/GitHubOAuthButton/types.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { Button } from '@webb-tools/webb-ui-components'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import { MouseEventHandler } from 'react'; - -export type GitHubOAuthSuccessParams = { - code: string; - state: string | null; -}; - -export type GitHubOAuthErrorParams = { - error: string; - errorDescription: string; - state: string | null; -}; - -export type GitHubOAuthButtonProps = PropsOf & { - clientId: string; - redirectUri?: string; - scope: string; - /** - * An unguessable random string. It is used to protect against cross-site - * request forgery attacks (CSRF). - */ - state?: string; - /** - * Override default behavior of handling GitHub OAuth redirect and error - * query parameters. If this is `false`, the button will not handle - * GitHub OAuth redirect or error query parameters, and the provided - * `onOauthRedirect` and `onOauthError` callbacks will not be called. - */ - doInterceptOauthRedirect?: boolean; - /** - * The username of the user that is signed in. - * - * If this is `undefined`, the button will display "Sign In", - * and the user will be considered to be signed out. - */ - username?: string; - onOAuthSuccess?: (params: GitHubOAuthSuccessParams) => void; - onOAuthError?: (params: GitHubOAuthErrorParams) => void; - /** - * Callback that is called when the button is clicked, and the user is - * considered to be signed in. - */ - onSignedInClick?: MouseEventHandler; -}; diff --git a/apps/zk-explorer/containers/HeaderControls/SidebarCloseButton.tsx b/apps/zk-explorer/containers/HeaderControls/SidebarCloseButton.tsx deleted file mode 100644 index f9b6bbe853..0000000000 --- a/apps/zk-explorer/containers/HeaderControls/SidebarCloseButton.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { Close } from '@webb-tools/icons'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import { FC } from 'react'; -import { twMerge } from 'tailwind-merge'; - -export type SidebarCloseButtonProps = PropsOf<'div'> & { - /** - * Whether the button takes up the full width of - * its container, and aligns its content (the close icon) - * to the right. - * - * This is useful when the button is used in the sidebar, - * but its positioning does not need to be precisely controlled. - */ - isRightAligned?: boolean; - - setSidebarOpen: (isOpen: boolean) => void; -}; - -/** - * A handy, re-usable button to close the sidebar. - * - * This is not required for the sidebar to work. - */ -const SidebarCloseButton: FC = ({ - isRightAligned, - setSidebarOpen, - className, - ...rest -}) => { - const isRightmostClass = isRightAligned - ? 'flex items-center justify-end w-full' - : ''; - - return ( -
    - setSidebarOpen(false)} - /> -
    - ); -}; - -export default SidebarCloseButton; diff --git a/apps/zk-explorer/containers/HeaderControls/index.tsx b/apps/zk-explorer/containers/HeaderControls/index.tsx deleted file mode 100644 index eb82976bc1..0000000000 --- a/apps/zk-explorer/containers/HeaderControls/index.tsx +++ /dev/null @@ -1,138 +0,0 @@ -'use client'; - -import { Search, ThreeDotsVerticalIcon } from '@webb-tools/icons'; -import { - Dropdown, - DropdownBasicButton, - DropdownBody, - Typography, - useWebbUI, -} from '@webb-tools/webb-ui-components'; -import { PropsOf } from '@webb-tools/webb-ui-components/types'; -import { useRouter } from 'next/navigation'; -import { FC, useCallback } from 'react'; -import { twMerge } from 'tailwind-merge'; -import SearchInput from '../../components/SearchInput'; -import { useSidebarContext } from '../../context/SidebarContext'; -import { useAuth } from '../../hooks/useAuth'; -import useTailwindBreakpoint, { - TailwindBreakpoint, -} from '../../hooks/useTailwindBreakpoint'; -import { exchangeAuthCodeForOAuthToken } from '../../server/auth'; -import { RelativePageUrl } from '../../utils'; -import GitHubOAuthButton from '../GitHubOAuthButton'; -import { - GitHubOAuthErrorParams, - GitHubOAuthSuccessParams, -} from '../GitHubOAuthButton/types'; -import SidebarCloseButton from './SidebarCloseButton'; - -export type HeaderControlsProps = PropsOf<'div'> & { - doHideSearchBar?: boolean; -}; - -const HeaderControls: FC = ({ - className, - doHideSearchBar, - ...rest -}) => { - // TODO: Should throw error when client id is empty. - const githubOAuthClientId = process.env.ZK_EXPLORER_GITHUB_CLIENT_ID ?? ''; - - const breakpoint = useTailwindBreakpoint(); - const { user } = useAuth(); - const { setSidebarOpen, updateSidebarContent } = useSidebarContext(); - const router = useRouter(); - const { notificationApi } = useWebbUI(); - - const prepareAndShowSearchSidebar = useCallback(() => { - updateSidebarContent( -
    - - - -
    , - ); - - setSidebarOpen(true); - }, [setSidebarOpen, updateSidebarContent]); - - // When the user is logged in and clicks on the GitHub OAuth - // button, redirect them to the dashboard. - const handleUserProfileClick = useCallback(() => { - router.push(RelativePageUrl.Dashboard); - }, [router]); - - const handleOAuthError = useCallback( - (params: GitHubOAuthErrorParams) => { - notificationApi({ - variant: 'error', - message: `GitHub OAuth login failed: ${params.errorDescription}`, - }); - }, - [notificationApi], - ); - - const handleOAuthSuccess = useCallback( - async (params: GitHubOAuthSuccessParams) => { - if (!(await exchangeAuthCodeForOAuthToken(params.code))) { - notificationApi({ - variant: 'error', - message: - 'GitHub OAuth login failed: Could not exchange auth code for OAuth token.', - }); - } - }, - [notificationApi], - ); - - return ( -
    - {!doHideSearchBar && breakpoint > TailwindBreakpoint.SM && ( - - )} - -
    - - - {/* Mobile search button */} - {!doHideSearchBar && breakpoint <= TailwindBreakpoint.SM && ( - - )} - - - - - - - -
    - - User menu - -
    -
    -
    -
    -
    - ); -}; - -export default HeaderControls; diff --git a/apps/zk-explorer/containers/ProjectDetailTabs/Circuits/Circuits.tsx b/apps/zk-explorer/containers/ProjectDetailTabs/Circuits/Circuits.tsx deleted file mode 100644 index 0f2d2d9d05..0000000000 --- a/apps/zk-explorer/containers/ProjectDetailTabs/Circuits/Circuits.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { fetchProjectFileTree } from '../../../server/projectDetails'; -import CircuitsClient from './client'; - -export default async function Circuits() { - const circuitFilesData = await fetchProjectFileTree(); - - return ; -} diff --git a/apps/zk-explorer/containers/ProjectDetailTabs/Circuits/client/Header.tsx b/apps/zk-explorer/containers/ProjectDetailTabs/Circuits/client/Header.tsx deleted file mode 100644 index f416b44a48..0000000000 --- a/apps/zk-explorer/containers/ProjectDetailTabs/Circuits/client/Header.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { CheckLineIcon, ShieldedCheckLineIcon } from '@webb-tools/icons'; -import { - Chip, - SkeletonLoader, - Typography, -} from '@webb-tools/webb-ui-components'; -import { type FC } from 'react'; -import GitHubIconWithLink from '../../../../components/GitHubIconWithLink'; -import { FileType } from '../../../../server/projectDetails'; - -interface HeaderProps { - activeFile?: FileType; - isLoading?: boolean; -} - -const Header: FC = ({ activeFile, isLoading }) => { - if (!activeFile || isLoading) { - return ( -
    - -
    - ); - } - - const { fullPath, isTrustedSetup, gitHubUrl } = activeFile; - - return ( -
    -
    - {isTrustedSetup && ( - - )} - - {fullPath} - - {gitHubUrl && } -
    - - - Trusted Setup - - -
    - ); -}; - -export default Header; diff --git a/apps/zk-explorer/containers/ProjectDetailTabs/Circuits/client/NavSideBar.tsx b/apps/zk-explorer/containers/ProjectDetailTabs/Circuits/client/NavSideBar.tsx deleted file mode 100644 index db66f75fe5..0000000000 --- a/apps/zk-explorer/containers/ProjectDetailTabs/Circuits/client/NavSideBar.tsx +++ /dev/null @@ -1,143 +0,0 @@ -import { - FileLine, - FolderFill, - FolderOpenFill, - ShieldedCheckLineIcon, - SideBarLine, -} from '@webb-tools/icons'; -import { Typography } from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import { useMemo, type FC } from 'react'; -import { - StaticTreeDataProvider, - Tree, - UncontrolledTreeEnvironment, -} from 'react-complex-tree'; -import 'react-complex-tree/lib/style-modern.css'; -import { FileTree, FileType } from '../../../../server/projectDetails'; - -interface NavSideBarProps { - fileTree: FileTree; - handleFileSelect: (fileIdx: string) => void; - activeFileIndex?: string; - isCollapsed?: boolean; -} - -const NavSideBar: FC = ({ - fileTree, - handleFileSelect, - activeFileIndex, - isCollapsed, -}) => { - const expandedTreeItems = useMemo( - () => - activeFileIndex - ? getExpandedFoldersFromActiveFileIndex(activeFileIndex) - : undefined, - [activeFileIndex], - ); - - return ( -
    - {/* Header */} -
    -
    - -
    - {!isCollapsed && ( - - Files - - )} -
    - - {/* Files Tree */} -
    - - dataProvider={new StaticTreeDataProvider(fileTree)} - getItemTitle={(item) => item.data.fileName} - canSearch={false} - canSearchByStartingTyping={false} - onFocusItem={(item) => { - if (!item.isFolder) { - handleFileSelect(item.index.toString()); - } - }} - viewState={{ - 'file-tree': { - expandedItems: expandedTreeItems, - selectedItems: activeFileIndex ? [activeFileIndex] : undefined, - }, - }} - renderItemTitle={({ item, context }) => ( -
    -
    - {item.isFolder ? ( - context.isExpanded ? ( - - ) : ( - - ) - ) : ( - - )} - - {item.data.fileName} - -
    -
    - {item.data.isTrustedSetup && ( - - )} -
    -
    - )} - renderItemArrow={({ item, context }) => - item.isFolder ? ( -
    - - - -
    - ) : null - } - > - - -
    -
    - ); -}; - -export default NavSideBar; - -/** @internal */ -function getExpandedFoldersFromActiveFileIndex(activeFileIndex: string) { - const split = activeFileIndex.split('/'); - const expandedFolders: string[] = []; - for (let i = 1; i < split.length; i++) { - expandedFolders.push(split.slice(0, i).join('/')); - } - return expandedFolders; -} diff --git a/apps/zk-explorer/containers/ProjectDetailTabs/Circuits/client/index.tsx b/apps/zk-explorer/containers/ProjectDetailTabs/Circuits/client/index.tsx deleted file mode 100644 index 3b2649431e..0000000000 --- a/apps/zk-explorer/containers/ProjectDetailTabs/Circuits/client/index.tsx +++ /dev/null @@ -1,109 +0,0 @@ -'use client'; - -import { CodeFile, SkeletonLoader } from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import { useCallback, useEffect, useMemo, useState, type FC } from 'react'; -import { Panel, PanelGroup, PanelResizeHandle } from 'react-resizable-panels'; -import { FileTree } from '../../../../server/projectDetails'; -import Header from './Header'; -import NavSideBar from './NavSideBar'; - -type CircuitsClientProps = { - fileTree: FileTree; -}; - -const CircuitsClient: FC = ({ fileTree }) => { - const initActiveFileIndex = useMemo( - () => - Object.values(fileTree) - .find((item) => !item.isFolder) - ?.index?.toString() ?? undefined, - [fileTree], - ); - - const [isMounting, setIsMounting] = useState(true); - - const [activeFileIndex, setActiveFileIndex] = useState( - initActiveFileIndex, - ); - - const [sideBarCollapsed, setSideBarCollapsed] = useState(false); - - const activeFileData = activeFileIndex - ? fileTree[activeFileIndex].data - : undefined; - - const handleFileSelect = useCallback((fileIdx: string) => { - setActiveFileIndex(fileIdx); - }, []); - - useEffect(() => { - setIsMounting(false); - }, []); - - return ( -
    -
    - - {isMounting ? ( - - ) : ( - - setSideBarCollapsed(true)} - onExpand={() => setSideBarCollapsed(false)} - > - - - - - - - - - - )} -
    - ); -}; - -/** @internal */ -const MainSkeleton: FC = () => { - return ( -
    -
    - - - -
    - -
    - - - -
    -
    - ); -}; - -export default CircuitsClient; diff --git a/apps/zk-explorer/containers/ProjectDetailTabs/ProjectDetailTabs.tsx b/apps/zk-explorer/containers/ProjectDetailTabs/ProjectDetailTabs.tsx deleted file mode 100644 index b364253f29..0000000000 --- a/apps/zk-explorer/containers/ProjectDetailTabs/ProjectDetailTabs.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import { - SkeletonLoader, - TabContent, - TabTrigger, - TabsList, - TabsRoot, -} from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import { Suspense, type FC } from 'react'; -import Circuits from './Circuits/Circuits'; -import Summary from './Summary'; -import TrustedSetup from './TrustedSetup'; - -interface ProjectDetailTabsContainerProps { - className?: string; -} - -const CIRCUITS_TAB = 'Circuits'; -const SUMMARY_TAB = 'Summary'; -const TRUSTED_SETUP_TAB = 'Trusted Setup'; - -const ProjectDetailTabsContainer: FC = ({ - className, -}) => { - return ( -
    - - - Circuits - Summary - Trusted Setup - - -
    -
    - - }> - - - - - - }> - - - - - - }> - - - -
    -
    -
    -
    - ); -}; - -export default ProjectDetailTabsContainer; - -/** @internal */ -const SectionSkeletonLoader: FC = () => { - return ( -
    - {Array.from({ length: 3 }).map((_, idx) => ( -
    - - -
    - ))} -
    - ); -}; diff --git a/apps/zk-explorer/containers/ProjectDetailTabs/Summary.tsx b/apps/zk-explorer/containers/ProjectDetailTabs/Summary.tsx deleted file mode 100644 index 9ff7e5ae5a..0000000000 --- a/apps/zk-explorer/containers/ProjectDetailTabs/Summary.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import 'github-markdown-css/github-markdown.css'; -import Markdown from 'react-markdown'; -import rehypeRaw from 'rehype-raw'; -import remarkGfm from 'remark-gfm'; -import { fetchProjectDetailsSummary } from '../../server/projectDetails'; - -export default async function Summary() { - const readMeRawMd = await fetchProjectDetailsSummary(); - - return ( -
    - {/* TODO: Consider using GitHub API when integrating instead of react-markdown to get the best result */} - {/* https://docs.github.com/en/rest/markdown/markdown#render-a-markdown-document */} - - {readMeRawMd} - -
    - ); -} diff --git a/apps/zk-explorer/containers/ProjectDetailTabs/TrustedSetup/ContributorListTable.tsx b/apps/zk-explorer/containers/ProjectDetailTabs/TrustedSetup/ContributorListTable.tsx deleted file mode 100644 index df4ed4aaec..0000000000 --- a/apps/zk-explorer/containers/ProjectDetailTabs/TrustedSetup/ContributorListTable.tsx +++ /dev/null @@ -1,79 +0,0 @@ -'use client'; - -import { - createColumnHelper, - getCoreRowModel, - getPaginationRowModel, - useReactTable, -} from '@tanstack/react-table'; -import { - Table, - Typography, - fuzzyFilter, - shortenString, -} from '@webb-tools/webb-ui-components'; -import type { FC } from 'react'; -import SmallChip from '../../../components/SmallChip'; -import { ContributionListItem } from '../../../server/projectDetails'; - -const PAGE_SIZE = 5; -const columnHelper = createColumnHelper(); - -const columns = [ - columnHelper.accessor('doc', { - header: 'Doc', - cell: (props) => props.getValue(), - }), - columnHelper.accessor('contributionDate', { - header: 'Contribution Date', - cell: (props) => props.getValue(), - }), - columnHelper.accessor('hashes', { - header: 'Hashes', - cell: (props) => shortenString(props.getValue(), 10), - }), -]; - -const ContributionListTable: FC<{ data: ContributionListItem[] }> = ({ - data, -}) => { - const table = useReactTable({ - data, - columns, - filterFns: { - fuzzy: fuzzyFilter, - }, - initialState: { - pagination: { - pageSize: PAGE_SIZE, - }, - }, - globalFilterFn: fuzzyFilter, - getCoreRowModel: getCoreRowModel(), - getPaginationRowModel: getPaginationRowModel(), - }); - - return ( -
    -
    - - Contribution List - - {data.length} -
    - -
    -
    - - - ); -}; - -export default ContributionListTable; diff --git a/apps/zk-explorer/containers/ProjectDetailTabs/TrustedSetup/TrustedSetupItem.tsx b/apps/zk-explorer/containers/ProjectDetailTabs/TrustedSetup/TrustedSetupItem.tsx deleted file mode 100644 index 00d072378c..0000000000 --- a/apps/zk-explorer/containers/ProjectDetailTabs/TrustedSetup/TrustedSetupItem.tsx +++ /dev/null @@ -1,83 +0,0 @@ -import { Download } from '@webb-tools/icons'; -import { - Chip, - Typography, - type ChipColors, -} from '@webb-tools/webb-ui-components'; -import type { FC } from 'react'; - -import GitHubIconWithLink from '../../../components/GitHubIconWithLink'; -import { ProjectTrustedSetupItem } from '../../../server/projectDetails'; -import ContributionListTable from './ContributorListTable'; - -const TrustedSetupItem: FC = ({ - name, - gitHubUrl, - tags, - finalZKey, - contributionList, -}) => { - return ( -
    - {/* Header */} -
    - - {name} - - -
    - - {/* Tags */} -
    - {tags.map((tag, idx) => ( - - {tag} - - ))} -
    - - {/* ZKey */} -
    - Final ZKey: -
    - - {finalZKey.filename} - - - - -
    -
    - - {/* Contribution List */} - {contributionList && } -
    - ); -}; - -export default TrustedSetupItem; - -/** @internal */ -const getChipColorByIdx = (idx: number): ChipColors => { - switch (idx % 5) { - case 0: - return 'blue'; - case 1: - return 'purple'; - case 2: - return 'green'; - case 3: - return 'yellow'; - case 4: - return 'red'; - default: - return 'blue'; - } -}; diff --git a/apps/zk-explorer/containers/ProjectDetailTabs/TrustedSetup/index.tsx b/apps/zk-explorer/containers/ProjectDetailTabs/TrustedSetup/index.tsx deleted file mode 100644 index 0a1fe217f6..0000000000 --- a/apps/zk-explorer/containers/ProjectDetailTabs/TrustedSetup/index.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { fetchProjectTrustedSetupData } from '../../../server/projectDetails'; -import TrustedSetupItem from './TrustedSetupItem'; - -export default async function TrustedSetup() { - const trustedSetupData = await fetchProjectTrustedSetupData(); - - return ( -
    - {trustedSetupData.map((item, idx) => ( - - ))} -
    - ); -} diff --git a/apps/zk-explorer/containers/ProjectGitHubInfo/ProjectGitHubInfo.tsx b/apps/zk-explorer/containers/ProjectGitHubInfo/ProjectGitHubInfo.tsx deleted file mode 100644 index b3f167c916..0000000000 --- a/apps/zk-explorer/containers/ProjectGitHubInfo/ProjectGitHubInfo.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { fetchProjectGitHubInfo } from '../../server/projectDetails'; -import ProjectGitHubInfoClient from './client'; - -type ProjectGitHubInfoContainerProps = { - className?: string; -}; - -export default async function ProjectGitHubInfoContainer({ - className, -}: ProjectGitHubInfoContainerProps) { - const gitHubInfo = await fetchProjectGitHubInfo(); - - return ( - - ); -} diff --git a/apps/zk-explorer/containers/ProjectGitHubInfo/client/index.tsx b/apps/zk-explorer/containers/ProjectGitHubInfo/client/index.tsx deleted file mode 100644 index 525bd3ac1c..0000000000 --- a/apps/zk-explorer/containers/ProjectGitHubInfo/client/index.tsx +++ /dev/null @@ -1,386 +0,0 @@ -'use client'; - -import { - ActivityIcon, - BookOpenLineIcon, - BranchesIcon, - EyeLineIcon, - ScalesIcon, - StarLineIcon, - TagIcon, -} from '@webb-tools/icons'; -import type { IconBase } from '@webb-tools/icons/types'; -import { Button, Typography } from '@webb-tools/webb-ui-components'; -import { getRoundedAmountString } from '@webb-tools/webb-ui-components/utils/getRoundedAmountString'; -import cx from 'classnames'; -import Image from 'next/image'; -import { useMemo, useState, type FC } from 'react'; -import GitHubAvatar from '../../../components/GitHubAvatar'; -import SmallChip from '../../../components/SmallChip'; -import { PROJECT_DETAIL_CONTAINER_ID } from '../../../constants'; -import { ProjectDetailsGitHubInfo } from '../../../server/projectDetails'; - -const CONTROLLER_MARGIN_LEFT = 20; - -const ProjectGitHubInfoClient: FC<{ - githubInfo: ProjectDetailsGitHubInfo; - className?: string; -}> = ({ githubInfo, className }) => { - const { - fullName, - avatarUrl, - description, - tags, - readmeUrl, - license, - activityUrl, - starsCount, - starsUrl, - watchersCount, - watchersUrl, - forksCount, - forksUrl, - releasesCount, - latestRelease, - latestReleaseUrl, - releasesUrl, - contributorsCount, - topContributors, - contributorsUrl, - languagesInfo, - } = githubInfo; - - const [isCollapsed, setIsCollapsed] = useState(false); - - const controllerLeftPosition = useMemo(() => { - if (!isCollapsed) { - return -30; - } - - const container = document.getElementById(PROJECT_DETAIL_CONTAINER_ID); - const containerWidth = container?.offsetWidth as number; - const { innerWidth: windowWidth } = window; - const paddingWidth = (windowWidth - containerWidth) / 2; - - return CONTROLLER_MARGIN_LEFT - paddingWidth; - }, [isCollapsed]); - - return ( -
    - {/* Main Content */} -
    - {/* Image */} -
    - -
    - -
    - {/* Description */} - - About - - - {description} - - {/* Tags */} -
    - {tags.map((tag) => ( - {tag} - ))} -
    -
    - - {/* Basic Info */} -
    - - - - - - - - - - - -
    - - {/* Releases */} -
    -
    - - Releases - - - {releasesCount} -
    - -
    - - - {/* Latest Release */} - - - {latestRelease} - - - -
    - - Latest - -
    -
    - - {releasesCount > 1 && ( - - )} -
    - - {/* Contributor */} -
    -
    - - Contributors - - {contributorsCount} -
    - - {/* Image */} -
    - {topContributors.map((contributor, idx) => ( - - ))} -
    - - {releasesCount > 1 && ( - - )} -
    - - {/* Languages */} -
    - - Languages - - -
    - {/* Languages bar */} -
    - {Object.values(languagesInfo).map((language, idx) => { - return ( - - ); - })} -
    - - {/* Languages Percentage Info */} -
    - {Object.keys(languagesInfo).map((language) => ( - - ))} -
    -
    -
    -
    - - {/* Collapse Controller */} - -
    - ); -}; - -/** @internal */ -const BasicInfoItem: FC<{ - Icon: (props: IconBase) => JSX.Element; - label: string; - url?: string; -}> = ({ Icon, label, url }) => { - if (url) { - return ( - - - - {label} - - - ); - } - - return ( -
    - - - {label} - -
    - ); -}; - -/** @internal */ -const LanguagePercentageInfoItem: FC<{ - name: string; - color: string; - percentage: number; -}> = ({ name, color, percentage }) => { - return ( -
    - - - - - {name} - - - {percentage}% - -
    - ); -}; - -/** @internal */ -const ArrowController: FC = () => { - return ( - - - - ); -}; - -export default ProjectGitHubInfoClient; diff --git a/apps/zk-explorer/containers/ProjectHeader.tsx b/apps/zk-explorer/containers/ProjectHeader.tsx deleted file mode 100644 index 879c9821ef..0000000000 --- a/apps/zk-explorer/containers/ProjectHeader.tsx +++ /dev/null @@ -1,87 +0,0 @@ -import { SocialChip, Typography } from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import GitHubIconWithLink from '../components/GitHubIconWithLink'; -import RunCircuitServiceModalTrigger from '../components/RunCircuitServiceModalTrigger'; -import SmallChip from '../components/SmallChip'; -import { MOCK_CIRCUIT_FILE_PATH } from '../constants/mock'; -import { fetchProjectBasicInfo } from '../server/projectDetails'; - -interface ProjectHeaderContainerProps { - className?: string; -} - -export default async function ProjectHeaderContainer({ - className, -}: ProjectHeaderContainerProps) { - const { name, owner, tags, githubUrl, twitterUrl, websiteUrl, discordUrl } = - await fetchProjectBasicInfo(); - - return ( -
    -
    -
    - {/* Name */} -
    - - {name} - - -
    - - {/* Owner */} - - @{owner} - -
    - - {/* Socials */} -
    - {twitterUrl && ( - - )} - - {websiteUrl && ( - - )} - - {discordUrl && ( - - )} -
    -
    - -
    - {/* Tags */} -
    - {tags.map((tag) => ( - {tag} - ))} -
    - - {/* TODO: Need to provide appropriate props corresponding to the currently active & selected circuit file's file path (if it happens to be a circuit file). Will likely need to pass this down from the parent as a prop. */} - -
    -
    - ); -} diff --git a/apps/zk-explorer/containers/RelatedProjects/RelatedProjectsContainer.tsx b/apps/zk-explorer/containers/RelatedProjects/RelatedProjectsContainer.tsx deleted file mode 100644 index 5862ef697d..0000000000 --- a/apps/zk-explorer/containers/RelatedProjects/RelatedProjectsContainer.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { Typography } from '@webb-tools/webb-ui-components'; -import cx from 'classnames'; -import dynamic from 'next/dynamic'; -import { fetchRelatedProjects } from '../../server/projectDetails'; - -const RelatedProjectsCarousel = dynamic( - () => import('./client/RelatedProjectsCarousel'), - { ssr: false }, -); - -type RelatedProjectsContainerProps = { - className?: string; -}; - -export default async function RelatedProjectsContainer({ - className, -}: RelatedProjectsContainerProps) { - const relatedProjects = await fetchRelatedProjects(); - - return ( -
    - - Related Projects - - - -
    - ); -} diff --git a/apps/zk-explorer/containers/RelatedProjects/client/RelatedProjectsCarousel.tsx b/apps/zk-explorer/containers/RelatedProjects/client/RelatedProjectsCarousel.tsx deleted file mode 100644 index 63b37a4cd6..0000000000 --- a/apps/zk-explorer/containers/RelatedProjects/client/RelatedProjectsCarousel.tsx +++ /dev/null @@ -1,66 +0,0 @@ -'use client'; - -import 'swiper/css'; -import 'swiper/css/pagination'; - -import Link from 'next/link'; -import { ComponentProps, useMemo, type FC } from 'react'; -import { Pagination } from 'swiper/modules'; -import { Swiper, SwiperSlide } from 'swiper/react'; - -import ProjectCard, { ProjectItem } from '../../../components/ProjectCard'; -import { createProjectDetailPath } from '../../../utils'; - -const sharedSwiperProps = { - spaceBetween: 20, - pagination: { - clickable: true, - }, - navigation: true, - modules: [Pagination], -} satisfies ComponentProps; - -const RelatedProjectsCarousel: FC<{ projects: ProjectItem[] }> = ({ - projects, -}) => { - const projectsCmp = useMemo(() => { - return projects.map((project, idx) => ( - - - - - - )); - }, [projects]); - - return ( - <> - - {projectsCmp} - - - - {projectsCmp} - - - - {projectsCmp} - - - ); -}; - -export default RelatedProjectsCarousel; diff --git a/apps/zk-explorer/containers/RelatedProjects/client/index.ts b/apps/zk-explorer/containers/RelatedProjects/client/index.ts deleted file mode 100644 index e1214e924d..0000000000 --- a/apps/zk-explorer/containers/RelatedProjects/client/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as RelatedProjectsCarousel } from './RelatedProjectsCarousel'; diff --git a/apps/zk-explorer/containers/RelatedProjects/index.ts b/apps/zk-explorer/containers/RelatedProjects/index.ts deleted file mode 100644 index af1032a736..0000000000 --- a/apps/zk-explorer/containers/RelatedProjects/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as RelatedProjectsContainer } from './RelatedProjectsContainer'; diff --git a/apps/zk-explorer/context/SidebarContext.ts b/apps/zk-explorer/context/SidebarContext.ts deleted file mode 100644 index eee35861d5..0000000000 --- a/apps/zk-explorer/context/SidebarContext.ts +++ /dev/null @@ -1,45 +0,0 @@ -import assert from 'assert'; -import { ReactNode, createContext, useContext } from 'react'; - -type SidebarContextType = { - isSidebarOpen: boolean; - sidebarContent: ReactNode; - setSidebarOpen: (open: boolean) => void; - updateSidebarContent: (content: ReactNode) => void; -}; - -export const SidebarContext = createContext( - undefined, -); - -/** - * Consuming the sidebar context allows you to open and - * close the global sidebar component from anywhere. - * - * The sidebar context is provided by the `SidebarProvider`, - * which should be present at the root of the application. - * - * @example - * ```jsx - * const { isSidebarOpen, setSidebarOpen, updateSidebarContent } = useSidebarContext(); - * - * const prepareAndShowSidebar = () => { - * updateSidebarContent(); - * setSidebarOpen(true); - * } - * - * // ... - * - * prepareAndShowSidebar(); - * ``` - */ -export const useSidebarContext = () => { - const context = useContext(SidebarContext); - - assert( - context !== undefined, - 'Sidebar context must be used within a sidebar provider (did you forget to wrap your app in the sidebar provider component?)', - ); - - return context; -}; diff --git a/apps/zk-explorer/context/SidebarProvider.tsx b/apps/zk-explorer/context/SidebarProvider.tsx deleted file mode 100644 index 04129520ab..0000000000 --- a/apps/zk-explorer/context/SidebarProvider.tsx +++ /dev/null @@ -1,52 +0,0 @@ -'use client'; - -import { ReactNode, useCallback, useState } from 'react'; -import OverlayMask from '../components/OverlayMask'; -import { SidebarContext } from './SidebarContext'; - -const SidebarProvider: React.FC<{ children: ReactNode }> = ({ children }) => { - const [isOpen, setIsOpen] = useState(false); - const [content, setContent] = useState(null); - - const setOpen = useCallback((open: boolean): void => { - setIsOpen(open); - }, []); - - const updateContent = useCallback((newContent: ReactNode) => { - setContent(newContent); - }, []); - - return ( - - {/* Global sidebar component */} - {isOpen && ( - <> - setOpen(false)} - doPreventBodyScrolling - isPrevalent - opacity={0.6} - /> - -
    - {content} -
    - - )} - - {children} -
    - ); -}; - -export default SidebarProvider; diff --git a/apps/zk-explorer/context/TabsContext.ts b/apps/zk-explorer/context/TabsContext.ts deleted file mode 100644 index c514451adb..0000000000 --- a/apps/zk-explorer/context/TabsContext.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { createContext, useContext } from 'react'; - -type TabsContextType = { - selectedTabIndex: number; - setSelectedTabIndex: (index: number) => void; -}; - -export const TabsContext = createContext({ - selectedTabIndex: 0, - setSelectedTabIndex: () => { - // - }, -}); - -export const useTabs = () => useContext(TabsContext); diff --git a/apps/zk-explorer/hooks/useAuth.tsx b/apps/zk-explorer/hooks/useAuth.tsx deleted file mode 100644 index 70c3b14aef..0000000000 --- a/apps/zk-explorer/hooks/useAuth.tsx +++ /dev/null @@ -1,133 +0,0 @@ -'use client'; - -import assert from 'assert'; -import { useRouter } from 'next/navigation'; -import { - FC, - ReactNode, - createContext, - useContext, - useEffect, - useState, -} from 'react'; -import { IS_DEBUG_MODE } from '../constants'; -import { MOCK_USER } from '../constants/mock'; -import { - ApiRoute, - RelativePageUrl, - extractResponseData, - sendApiRequest, -} from '../utils'; - -export type User = Readonly<{ - id: string; - githubUsername: string; - email: string; - twitterHandle?: string; - website?: string; - shortBio?: string; - activatedCircuitCount: number; - - /** - * A Unix timestamp in milliseconds. - */ - createdAt: number; -}>; - -type AuthContextType = { - user: User | null; - isLoggedIn: boolean; - refreshAuth: () => Promise; - logout: () => void; -}; - -const AuthContext = createContext({ - user: null, - isLoggedIn: false, - refreshAuth: async () => { - // - }, - logout: () => { - // - }, -}); - -export const AuthProvider: FC<{ children: ReactNode }> = ({ children }) => { - const [user, setUser] = useState( - IS_DEBUG_MODE ? MOCK_USER : null, - ); - - const [isLoggedIn, setIsLoggedIn] = useState(IS_DEBUG_MODE); - - const updateAuth = async () => { - try { - const response = await sendApiRequest<{ - user: User; - }>(ApiRoute.AuthValidate, 'Auth could not be validated', { - credentials: 'include', - }); - - if (response.innerResponse.isSuccess) { - setUser(extractResponseData(response).user); - setIsLoggedIn(true); - } else { - // No need to redirect to login page, but inform the - // user that their credentials are invalid or expired. - // TODO: Alert the user that the login attempt failed. - throw new Error('Not authenticated'); - } - } catch { - if (!IS_DEBUG_MODE) { - setUser(null); - setIsLoggedIn(false); - } - } - }; - - const logout = async () => { - await sendApiRequest(ApiRoute.AuthLogout, 'Could not terminate session', { - method: 'POST', - credentials: 'include', - }); - - setUser(null); - setIsLoggedIn(false); - }; - - // Check if user is logged in on first render. - useEffect(() => { - updateAuth(); - }, []); - - const value = { user, isLoggedIn, refreshAuth: updateAuth, logout }; - - return {children}; -}; - -export const useAuth = (): AuthContextType => useContext(AuthContext); - -export const useRequireAuth = (): User => { - const auth = useAuth(); - const router = useRouter(); - - useEffect(() => { - if (!auth.isLoggedIn) { - alert( - 'You must be logged in to access this page or resource. Please, sign in then try again.', - ); - - router.push(RelativePageUrl.Root); - } - }, [auth.isLoggedIn, router]); - - if (auth.isLoggedIn) { - assert(auth.user !== null, 'User should not be null if logged in'); - - return auth.user; - } else { - // Since the user will be redirected to the login page, - // we can return a mock user to prevent the app from - // crashing. - return MOCK_USER; - } -}; diff --git a/apps/zk-explorer/hooks/useFilterConstraints.ts b/apps/zk-explorer/hooks/useFilterConstraints.ts deleted file mode 100644 index 251f5cbee9..0000000000 --- a/apps/zk-explorer/hooks/useFilterConstraints.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { cloneDeep } from 'lodash'; -import { useQueryState } from 'nuqs'; -import { useState } from 'react'; -import { FilterConstraints } from '../containers/Filters/types'; -import { SearchParamKey } from '../utils'; - -const useFilterConstraints = (): [ - FilterConstraints, - (newConstraints: FilterConstraints) => void, -] => { - const [constraintsSearchParam, setConstraintsSearchParam] = useQueryState( - SearchParamKey.Filters, - ); - - const initialConstraints: FilterConstraints = - constraintsSearchParam !== null ? JSON.parse(constraintsSearchParam) : {}; - - const [constraints, setConstraints] = - useState(initialConstraints); - - const updateConstraints = (newConstraints: FilterConstraints) => { - // Remove empty constraints. - const processedConstraints = Object.entries(newConstraints).reduce( - (acc, [key, value]) => { - if (value.length > 0) { - acc[key] = value; - } - - return acc; - }, - {} as FilterConstraints, - ); - - const areFiltersEmpty = - Object.keys(processedConstraints).length === 0 || - Object.values(processedConstraints).every((value) => value.length === 0); - - // Reflect the new constraints in the URL's search params. - setConstraintsSearchParam( - areFiltersEmpty ? null : JSON.stringify(processedConstraints), - ); - - setConstraints(areFiltersEmpty ? {} : cloneDeep(processedConstraints)); - }; - - return [constraints, updateConstraints]; -}; - -export default useFilterConstraints; diff --git a/apps/zk-explorer/hooks/useTailwindBreakpoint.ts b/apps/zk-explorer/hooks/useTailwindBreakpoint.ts deleted file mode 100644 index af9af6da63..0000000000 --- a/apps/zk-explorer/hooks/useTailwindBreakpoint.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { useState, useEffect } from 'react'; - -export enum TailwindBreakpoint { - XS = 0, - SM = 640, - MD = 768, - LG = 1024, - XL = 1280, - XXL = 1536, -} - -export const useTailwindBreakpoint = (): TailwindBreakpoint => { - const [currentBreakpoint, setCurrentBreakpoint] = - useState(TailwindBreakpoint.XS); - - const determineBreakpoint = (width: number): TailwindBreakpoint => { - if (width < TailwindBreakpoint.SM) return TailwindBreakpoint.XS; - if (width < TailwindBreakpoint.MD) return TailwindBreakpoint.SM; - if (width < TailwindBreakpoint.LG) return TailwindBreakpoint.MD; - if (width < TailwindBreakpoint.XL) return TailwindBreakpoint.LG; - if (width < TailwindBreakpoint.XXL) return TailwindBreakpoint.XL; - - return TailwindBreakpoint.XXL; - }; - - useEffect(() => { - const handleResize = () => { - setCurrentBreakpoint(determineBreakpoint(window.innerWidth)); - }; - - handleResize(); - window.addEventListener('resize', handleResize); - - return () => window.removeEventListener('resize', handleResize); - }, []); - - return currentBreakpoint; -}; - -export default useTailwindBreakpoint; diff --git a/apps/zk-explorer/index.d.ts b/apps/zk-explorer/index.d.ts deleted file mode 100644 index 7ba08fa17c..0000000000 --- a/apps/zk-explorer/index.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -declare module '*.svg' { - const content: any; - export const ReactComponent: any; - export default content; -} diff --git a/apps/zk-explorer/jest.config.ts b/apps/zk-explorer/jest.config.ts deleted file mode 100644 index f532307618..0000000000 --- a/apps/zk-explorer/jest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'zk-explorer', - preset: '../../jest.preset.js', - transform: { - '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nx/react/plugins/jest', - '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nx/next/babel'] }], - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '../../coverage/apps/zk-explorer', -}; diff --git a/apps/zk-explorer/netlify.toml b/apps/zk-explorer/netlify.toml deleted file mode 100644 index 9226cd4860..0000000000 --- a/apps/zk-explorer/netlify.toml +++ /dev/null @@ -1,3 +0,0 @@ -[build] -command = "yarn nx build zk-explorer --verbose --skip-nx-cache" -publish = "./dist/apps/zk-explorer/.next" diff --git a/apps/zk-explorer/next-env.d.ts b/apps/zk-explorer/next-env.d.ts deleted file mode 100644 index 4f11a03dc6..0000000000 --- a/apps/zk-explorer/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/apps/zk-explorer/next.config.js b/apps/zk-explorer/next.config.js deleted file mode 100644 index 054f0511b8..0000000000 --- a/apps/zk-explorer/next.config.js +++ /dev/null @@ -1,50 +0,0 @@ -//@ts-check - -// We still use CommonJS for Next.js apps as Nx plugins are not yet supported in ES modules -// Track the issues here: -// - https://github.com/nrwl/nx/issues/15682 -// - https://github.com/nrwl/nx/issues/23048#issuecomment-2120106231 - -const { composePlugins, withNx } = require('@nx/next'); -const nextConfigBase = require('../../next.config.cjs'); - -/** - * @type {import('@nx/next/plugins/with-nx').WithNxOptions} - **/ -const nextConfig = { - ...nextConfigBase, - - // By default, this environment variable is only accessible by the server-side, - // resulting in hydration mismatch. This makes the environment variable - // accessible to both the server and client. - env: { - ZK_EXPLORER_GITHUB_CLIENT_ID: - process.env.ZK_EXPLORER_GITHUB_CLIENT_ID ?? '', - }, - - nx: { - // Set this to true if you would like to use SVGR - // See: https://github.com/gregberge/svgr - svgr: true, - }, - - // In order to load GitHub avatars for projects' owners, - // GitHub must be registered as a host. - images: { - remotePatterns: [ - { - protocol: 'https', - hostname: 'avatars.githubusercontent.com', - port: '', - pathname: '/u/**', - }, - ], - }, -}; - -const plugins = [ - // Add more Next.js plugins to this list if needed. - withNx, -]; - -module.exports = composePlugins(...plugins)(nextConfig); diff --git a/apps/zk-explorer/package.json b/apps/zk-explorer/package.json deleted file mode 100644 index 35e03dd49e..0000000000 --- a/apps/zk-explorer/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@webb-tools/zk-explorer", - "version": "0.0.0", - "license": "Apache-2.0", - "type": "commonjs" -} diff --git a/apps/zk-explorer/postcss.config.js b/apps/zk-explorer/postcss.config.js deleted file mode 100644 index 961915cf6c..0000000000 --- a/apps/zk-explorer/postcss.config.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - plugins: { - 'postcss-import': {}, - 'postcss-nested': {}, - 'tailwindcss/nesting': {}, - tailwindcss: {}, - autoprefixer: {}, - }, -}; diff --git a/apps/zk-explorer/project.json b/apps/zk-explorer/project.json deleted file mode 100644 index 6a2d54c8de..0000000000 --- a/apps/zk-explorer/project.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "zk-explorer", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "apps/zk-explorer", - "projectType": "application", - "targets": { - "serve": { - "executor": "@nx/next:server", - "defaultConfiguration": "development", - "options": { - "buildTarget": "zk-explorer:build", - "dev": true - }, - "configurations": { - "development": { - "buildTarget": "zk-explorer:build:development", - "dev": true - }, - "production": { - "buildTarget": "zk-explorer:build:production", - "dev": false - } - } - }, - "export": { - "executor": "@nx/next:export", - "options": { - "buildTarget": "zk-explorer:build:production" - } - }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "apps/zk-explorer/jest.config.ts" - } - } - }, - "tags": [] -} diff --git a/apps/zk-explorer/public/.gitkeep b/apps/zk-explorer/public/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/apps/zk-explorer/public/header-bg.png b/apps/zk-explorer/public/header-bg.png deleted file mode 100644 index b26dcf5254f19929a04f3b0390e59431af0abad1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1211858 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

    HYvF)+v`F(y%MbHSxFT`RMB(ZAF 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�c;D{#B)Q$bVioUJG-Gm|278M&2VQOyme) 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�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 z z|0yFnd-?u?Hn13(^w+tnklp>XIh;IjOi!|rxa|9QV>ZnXrH>G^rS@*a3~F$YpNk>e z+#93X?oxjOa($V%hPsfcw6x{lI`ZeG_1o2YZBOSbg#Rq+sGU<+7`moO$*-{BC-06A zXbxKF$U#5l@{4`pSs~x?CoewqEpVaRAaiN6@e+zVHC)^|UHNRu9O3Q?i!>3lDara7 z#^xsdpsZshH-!dmh+EP`Fh?U&uzwZeYgBHm3!Z)~XQMus;ULS5l4#XeK=qCptxnw; zVduHS{fQ&~+U1v5Qb_qD=84WWY=)oxM{oy_bdOf6{xoUprTeYx-%5+eqDnb#JM-T8 zXTnt1Tgqp#`ah3de=c4aTrd0Vha$+VmaUQ(hMxv*X9 zgth>2lHSwS-eAbtOm!sA;w2(EEj~RW%2Iqe#pI8{YGg%tH<`57$(IN ziOdlOjVDIy<8$z^C|qoG*$gDKd)d>h5Mc5GmS3-tB`Bm$1%!8R3^tp zn*{HC(gQFc(}xVbsrN!R&g|APt(fZA2T&xGV@adnmoQVQmm0ZA%0TRkaMB4hkyD-4*eF$&U_3%UbHRigu06vf z`@8Bh-J3Ee?u&~yw(MpN@53c=zc3rGd{Peu7JE(G@&3%u@8Pe7kLGBet-l`fkkXs& zo!k@>ne8>9QrpS;J7_#AlDf1@s7kSNhDb}Tne4;6pxWcogc}nnCLJYoWFa!$P~D|J zQ1-PmlDkrrg`BIt&&@N%IVgE>)UUYV%Ss21|NPGsesQPtcG^%(G9HJCy>Da*D~i;R zaTdgv@0Vx${?swmsv@yO?Q=msK%>n6o>X__&w_#AEu3 zdox)9!|L8$igAfYsGVMuQowvF!A3RRx-ln1O*$h(EMy4LBn~ni?wuT zyXi2~8UG5DRsekDZQVLQcpRA{4P+*EEaM7>X2?<-XfDKllpC}?i;WD*94{<6$A?tU zgwORw`O4DYVP2nhckh>6wTxrlF`AqM(`(Cz7kb%w#Ua zu`S@QSI^-$dx+fvg&8w|9U$!6H#})S(N`F(AH?7+j7PGr|?#l4JUT^v4W`2FFW}4NG zGh*4Dg!e&)q>AmAE?bb5s!`A#gySV1p$SVFK|;rmwUJ7HCLPFrW1P%6DNVDM zm49M9#xfPje!&OGG&2`@!(xmx*$+2BZz8CGF*!7!m8%Tl#N#BaF^H9c=H(-mChDE0 z5Av6>WJ7zFL4XW??#r({i8rEr8?1l8+MTTe2&q#VHZt7a?Jt_sDY~0CY~cp&-Ce5PJ_QuF}`2}IEwTD{B~Bvmz7>?#I?4$-55ub}UFwDPmaXls zx~4anj|`pG&|mm1_b&S+^g>^8CsiiPr*t<`&fLrWll9SXx<#VVkb*b1=R~t^?>8w% z@4vj>RgeRvX`DvdD#&}@-3PVKT)_@BV`T1EAQ6+vEIa(R8SmoigN>%%rjG{u6$R0& z?ajkCgbL#m6OnNe4iT3Fji}u$@(_QBT-6 z$9g5VyBDk(&FHDeoN;VVK>XeiqX}8Jl=>RR6Do9O@?8jwruuK|+DDL`h3T6=nuI0By8o=6 zJ~CiwpcRtTiO)pGz}<7LHKXoiY=iH&@_HSnSjFf^@n5u$qcoAJSwca3wg`+8On+d5 zh7$3JVnSQw*)f*eX)3hApoliYBv@OS zw55z=9f@?TZotJ4VBg(*ZY`7fM{DLiK2b33p=a%jXMeaiI(=+Qa1dJZzrvRmz22ZE z#F;fA^XW^{{`^l=cEa!D&B}uIcE4i&bUOSW8k!Uo6 z>)#y%Z2K64ibSQZSny}th%aTZTSwm#! zh#>hqvpd6F^7#M|Oqy8JJ58a=l`N@+~ATUqA;{!C~ zPA16e$rl>)sKR_HBxyHUTJj0w4yRqvY+r2Giq|dm?TA|Ox-ruRabuA=zy`hGNC^n z@Qdd`5l>=pkEAb6Ma36v>V>0}EFuqfeP)q(1aMC4hd4ZGIB!8> zgQ`nQo*L*(*grBer=rNUFY;H4^cuf#ZToanY@nNX5x&UN@Sw{#rq&DbsASs$k761+V@*mo0gqRs8^my2e5b7 z;`rhzJg4bBBIYAQcQT4Jv@%|Zz-bqx3iwM)c~pt9gH82rkTm6b0M9tH(&NC=@aH6R z9Unqo164rB`WIbC3w>bQxo4I^YWdurs|IxeK%Q8r)fcRLOcQo&@DJFRkVd}~2sw$l zy{s-nd$i*ah!>aOTFoTiK@k#%NkS-`Hj>g`$vGoellf?bJat0H>vG(LTqEehWK3Xw z#P1H3#9r;BUtfb>nHH*~Nlasd;^Wl3L)bpWG5QYG+1USmX%mLP>{ohi!;}2kkucl& zXgB$dN4E7HyXSEM5hLx9_g73ubn`r+-(0O7Zs`)<&3|D&D}I^m^`Nqq8R?IMtT>^Pc`_!wU$_V2Vy!zTPehM#aP~~Y3jlK7|v2dfKVX)8aq)R&V0-6;rte0 z!&ue?hZ#0Elq-JYc=F{g*>deq+fCM*-SHsHM!B(M4 z_`&*tWXS_quxT^^VuZFS2I5Swt0yYSZIOixpVw@aJne|ptkP%nXDJ+zeQMbo zR(pGEpft5eMfa}N&^{y$BuVTB4P|Y_hBRHpb!2#uOEIyFK+@1 zP2VpypIYuQY+kQO%d3xVgWEiAOnak+TNT>&H1jpN5lW`JXgNPkVoY>C51-_F-%jHO zwn=-Ig&J^j?2jJvTx}vrNT^Oh)x?<>t41$dSDJ##VOQ5s-@l|sE^R++aO|;361LFE z5uf@`;GW+5#Bi?*MX{!bB{3#FIy$J zDw3$8PT~-L!=0cf2#}SWDAIPFY!mKIA^4gw*2;(xOI%5 zB6QQo>Q+T6=CZv-iQL+BR9OXNHTO~AAEd%7CX{5f1wyRz{UQ7N(Uih$=X>?UkUQI} zgSm|?HB7(WbEBJlkX`2Aheh;DiN^eYugT^{v^@3rk4J)WCXxO}QS`hV+SO23@p$7q z12$2xy&X27BqFl8kxBaxkd;P26I+#m4`dS#JmV9A5j)?5I|PP`1Mh`!l?_aw*tC4&EKG0qY%s>D9dHSnOLQq^ZBO67D%)5GH>N2$GZavpby^e+ypg8bEATJ% zVG_%9#GZZfohrXhd{Iw{xa9}r(DC^G;6O6NX~JB&!6w2d#F~Ady*VzxZ204Fe5Etn z`VG09>pNwmkpDl$`BM1*OKJPO>1p%aqr`+oS$F@G(Lx?pG?mDw#Pu&V@>uoHs%Vd$ zs$nWl>PuAO!neQjs&+0v>gaDqc)La#j{9qPe^(;2fc3FD{u5aPaa^2%YPifk-Y7no zxJ&AJkK<$0HXq+cXaF!6>n^;=Ut`7Mw`Wdhct;jVPDWt<1_&r&dz zf8@tY9BF~Nn20k>Pwi&sVIEjEUu8<(=Jz*M+NM3c2FxJ5L8glbuWi6}qsD)aEe=tm zSDV$j0E2na5{Qp2^0HaTp`3C4^=dYU36v)mhv6Knb0+2TuXJ1y>-}7>*k)2bund;B zRH>8g3B9Id`gj}$?P@j}dOqhb>dz=E{8g5W=&E;Hz5l<#$(i0$)Xu4`^+OSt{A{#2 zkb7UWjAlRjj3zdWyuk#V*s7urcJ7XU8`OtRi2r4-m}y58c(`AdzYA}L{+HLi0>$5a zcC!)}0#*Eru_}<=p%2a{*h~U3I{I5wqoI`S8Dm651VSS1QNH*g0Vj^4CwXn&yDYcAJ;T)_gPRY(&wouPp%`x+~&6H*8*4tf>Un98g5R99=n_-JE-h z(KKs=^(n1dK2ZbKbZosk259oauD6BI{w~!%!!LI@;@ltTHn{xm$yR1%d2y=5r=xy% zKw`D2&FK3WTkd-q{Zy2>NbS^1j0Kye*XtU#X4Rinv+BQuk{0&pD@uJ(v8azLlya08 zqaqJ+BTxLHW?p~qU0Ho0uH*J)o zG-?@E5AEAK{^9kGUgMmX7;Lxa5wik(l&Sl&6>ovJiv@qh z8>H@C2+f65V8}3!p-~EU*tvj5Bef5^g=`i(#@OD> zsrOUv?XNaKymhC%Blp_z7o|Q!WX71vL6*SJT-S${;@^Ca!*;WMx`*oh?D983b7KMn zLk^9n7fgPUD<=}{gEv|SCs%;`PuBpzs>PC*W&)jPqhsi%2KNoD${Pi`buQw zk9zy24-1qW++b;e)HQt}MCIQQAk78@C80yqamR4R!!ybn1Bst`zsX+04nnGq4X_n5 zZ8H){XJ;6n0hEo~-SFNV(W^+RhJ{`?a2i)|3P#Dy3A{c5l=n|!j2}!iGoDc8TxGA8 z#It)y@odB{lVqs&ehWr5d!y*uOxdtd$tmC|gsQITsS>kLrpx?8_Fv{q)a2NpB$UPecq%?JJXtoP)Rz2eIouOB)^wUArIU9T7~)1f-~c0ljJizdG? zOFI2^MAr{a|IkSpQyDXzooUzcB57atSHkV?$hGdTZ?09@`bxwN-3XPlX*RdZRQD8@ zdAG~=;DOL%tM{SX(bE_S5O7F<5NE*h&@e>c@;%5V)sX!HA{r@m_s~KR0IRN~>AL;{ zPxF&1d7RbB?tMO644Z-GDDPBAIrci3bA&F=Sm+k|pb~!YB404pl)4@Qt5{Y@?yGOE z*9C>|dlv2)Q)L#GO2ccd9`}|yAEmT66g|Wah!-P7OTRZ^x(Ll<_a1Ierg+i#+Z*{r zWcYPjKGH-K4J2!{Q3Kg~-Jvy#eTea`O13%GPNVB7{c1ZlBRfKZ3PZluTB*hz&Tocx z42LanH)Mr5nCOq0H>B!(<{hh3HE?=!N96kNo}~&{aldKJwkj7JpmE|wW;!5SW$bBd zdQv#iK*mFg7}d-G#ifr^KSs_>LgcA}BHm^ucEedK>D%OGdY}{B>*FZh=Wk%Nbrcas z%~(8QL4{;6qYj?wjaZ3|)%5*# zrEG^xqjR<+aHeN|w63aNK}z^Maz&neT`5jeLgoYXO)Oe}nhlvL3Kx|G+*mu+HyW7vE3`a!)@9s2 z;niSt7tHFuFYf^zonU8b)6dL4ZyI=`Oiv#Bpq2i0v})s2@t^`+okq6JF)Qi7%9Veoao z%56Of2?nxy?TW-+vR12;+G2{}7u6VP9-qnbEAH1$w(B6kuj0CCqxbHT(ou=R0rrP{ zUszlCtm<>TdvVp~UE)B~;;~bTUjO=+FE1?isAsSK{=R`K=95jqV${yz^BJ*S(j&siU z{(S!eKe*3*-LLEQd_EpPt#iVcWhBmDXw%R5Y*9v<{F9%e9r1a6-rEPe$Ns>VU1dV( z-^v~)wLfQ=BOo4SsaMl5>3slgD1fRmuei#I$ukx@85-)Kdjd@FcV@WVhxk+ghxcc( zNGV2g+BG?fRHp1^V?!GQW0(H|VlBEYrG&=~K|;VG%R!kS>>KY_zF{~jr7!_k7pojh zbPNHFYL0m{2{jD;1=aoV>}b}#wGPESzs@4Izm*4})2g*QVpha=e?3O}_jzX-jdksY zw`{=r5G~0)Aw36cM#Pu9Kyu`nKQ3|enf4J7@MKaKDA_{^JPL9^&u~iH2S(;g-u6I;PLUCsG?zrE&%e8@0VzDS)sN%9^~5CP+G+&u zihrV<8-5yFcpfgRytMk0Of|%ZvZ0>OaNu4j+>nAvh%HK{T~bqw7l~ZC_CBWBHLDz# zI+s1`CEEC?JHFt}Ls9HdQ73d$c;deE=Oh9i-7CEByy5y>r45x6vUSZJebCBDYGHfz za&_aY`8X@~y_Cj1K;9O%#Y=g19Q`4cp$`+{XzKt|5<59yz|ZeTVbI()Bj+k?dH&V5 zDYMMeRz5U8GT~pp;oie=kw-70TAOti`eFif&iUwQDKiezUYz)K#Gzeu{miyP?l#HA zqq$^vOe6qWd)P8Rkow#ewe@= zFyXCh{)j;g&>p)5WI9zL_E0zbz!QO^z=hgU)3GA86ZI`x|JuUJc5#XNDN|C=LNL6Y zoh7X|_gX3P6IN>$r-jbImDK+UZD`77!q&V%xYty2I;9&5q7x8#)vEnemKsNMa~>Pg0xD~^}5WL}XCzeY&F@-%bNK?9+;N4!QT zzccH7{#5951@V9Q*cNa6-|m4J()oS;rHC(W$S&S)G$?t?p7hIif;}5e{q?jD-eJ~U z&BY3;;3U1aoa4R|t#Euvs!{QIKkL9ZF~?jR)wtsR*Zvnl-4UB|Ve6*lTS13!&U(sh z65XD-c&-mlHWyv(+fjaRI<*<4cWD3n&Zpro-1X~VSB6sMG0Aa;Nyd7vI}i#p=8p+` za?qAPLX+|7*uazs6Wr@hzZGeZy^j-lt&5U2EcZk_#Qj0`p(oVbt@z=`KKo0#XqUkG zCsc8SCZ^UTNZG9yVRK#7DCWW7)*Nnii$G;c?1dZPIzqIewq7|ptzHD@lv|Evg90k<4(SYU6qiR{`WE?VS`4qn(o(R@6g4f>( zJ#CWv_+>!S>6T$Id?mp7U(lE7pbZG4KhMLytu2D}$C)j1f`{Xni^o6BIGtTzclqza z!^lWfa39>=F1WF!zO%h$X!9Yy$m&yJ$=USxQLM3d)}}rts4TWP3*MP%WbJ%2+UyFi z221@J1H6`n3C^W)lF~viU}*=%4m3-tMPLT1;gm=ejybOK%7HeVrtTT_9D^r+%D~rT z-Zqsih(tATaY)^`NxXr6dZP}4~yURFg-^PiPSpl>8esC+6wMyw$x$#|^fZWS3 zHoTSH--`iVLdFX0VvzQ)eDTB zPbj!M^x3*I7lDPOly|tGlsuv?I6`>`l$lVXANzdB@{5r5$kg5Ka-3jFV^nfnXUB;&k-pW$_d*N8|Cph1Dcn|eqGf6nwnCZ2X$6){Cb!mad9G9ow0T` zXXu2_a@l_N%ktHP&n3bk0%;#_A<*_03uDMh3suVjV8a*6FVP83TEgV>fw{(0d6Mi0 zE)!7GTD^usOz?njCs@raC&_hh$`v)d0z4;QOzIf!o;Ez}ALXp)J&JTtfG>H;(6)*b ztudQQXIOPvT4Ty?sQ#v*Z+v*Dl!2@Tb(v`Vkx>zK!nBG#%uH|)+ut|^u_-X7DbfpG z0B`uwo>5Hy-?&Mxk6kstU(AHyv~>+ox9Cto4l*iip%Q#NUFlbBGC@ z00J@QbL565uL~*K%)|XvbER#<-=RF4 zvf@_v*@xLl!;GJIe!hEpXUteEwN>1JDai`i&ERE*Iad{9A#W5I-0^7Iq4Z(T&$Phu za_UW6Rtt^y12|hWP)&T9Tt6oi5wpVP@Jn(nOQu-!ai@`Ch(z>Xik|TAxx# z5X05-` z0|6ARb$xPOH+S15$t7TNk9GC*!GgW8W7mtS{s`>Gvqetn><`U|_WAm0rD<{jpG65} zTF2QcQM^x0$Ay3)=l|AWiul`mgsizh@+T%&?JK@TDN${Gm$lSZ_ew^REzb!bH;{U?B6o{595(#`}Bdp=36+17y*TQ%Ht zQ@(YbyuRMj#`ek=p5J!f4lzA_KR;Mmc(LW3lz3pyl|P4NjN>D?&jiNPR|L7Ms9duz zasFDD%toN|?LUc04!PX>BV`Y;p=e6Z<^$5lWCT@5g8#ysT;bBI*^8^QE#l z#`!j0GxfZ;lZp?pFrh%gW^olMt$(BefAY3hT{&*Fh92a^?sh144V06hdISzoSG4K^ zU7haVNu;xo)t9E5T{?dG6otcpd)()6c55M1*oON-ywT~qrf}7tj(vsr+e;obe$HB~ zs=6r)dl~U1iv1fuBaHVqq4~>N3?5|97j|2T-YVyi_q-w4NvXtn-^}G?*fq4sSSs;; zyf{*K|Mr=K!@dGL%HT~=#^}p-`ZS-k-w*f;&-RWaK}-4bHo+B@3kz`UHl6&extYMy z7gP4=hK}+{$LbPa6yt0gunhqYP0?h125%J-b+hmjwyB$;`vm7`oqIWyUJ z!lk&6;SUrB55v*@omQi%`2D1B-EPI*F)!b#5MQ6}8sdj{xiww{;dirhknG797;J6# zgI1Yl4On9AfO$Kdn;c>R-wFlIz4to03-i|@RkA$Pk7?~kKol|+UZo>rAV;%y`|^D~ z9+W?50o@R=u5L+(+Eb`1OGhpPrEX{ zM~Tu1`CdYI>MPXP!9=vY$|JnbN+piIrF}F7ObZkRjFMh|wKnH0_l67Rw3C;E=JI)L z)tNlixXje$LXTg0{X0sk)7~^E@e?kJ z!trneCx!(6+KTQ*+Ewnag;qTWIoY8CVDGK&_vaXJ(ul*5b6_~&wD|R@F|yxP%**BN zaQ zPGGG`+2EKKGHiBeQ=TvRIb2asv}}(RA1a!htix=OS#3KCbKPV=RjDr=lLyWWhpZdw zg`xb|Gmx8!Px9?jVw^7bAi}1`wms5sF(m#@?R_K8SP^c_+zAy~M->Jy>84e!@~Z{$ zda^p-B0xCzW}kk3z4=!NUkQEw4M)3SJA2_nxf-U(No;Q z#}Qwudd5MA+-vL;;7co43;<FT~jR#J9U5OG+0xt1&+r}B~N6w z?1)-QuAN>R%>J~!K;~iBtwA>}*W7JDynCZTh#fi1d4S?#6-S&&q3yq19IQOmdC%Xr zQxKx0j$04+?#z=c+S@UL3RHZ2d+-av z{VWK8n3}?NIjH~Pf8*Fjr5RKo69=#NRT1caI!$o4U( z&<-Fqu83!U0|#7OF0a3Q-)Dwbkt&1V);Ph9G!5Lx_W-PKp1a=(SFlu=k6b#6gZ zN%e{SQ)h^g$z0)2k<17Vhus9wZxy zBUHvp#Qa+{506o@W5X#uxkvSVM0RSR@;_O;?fY@_?shR$W4o|$p6NgsETmv(lQ#Qa zb7FF-q&=9S`M<97$TYlMxge%n{Ps7pD(|G}C^&}sexkA*NyA)jxx9~)KX+D4i_AtZ z*O-1iF>)E2;)_^6IeP(8GSu8WL_~K#1aT-{Eu;FxbzKQ^uhuQ2njq4t;*QX1}-m}iPT1Qaol7tg7E_boP&7 z&yhMJfk&fNr|`nR)=R`%eEUm=i{Eu^E}#8lM`|Oe_7We6;((#2VD2j}d>d4<%0@yF zJ?;}1X~C{2>h5ExiE6~0>-X7Jcn4LKMEwh@55G?Y{I+^bN#|f7`WRz0Ln#ebH_x?N zCHXjk^R&S$iCCj5GR|eZQ)_JaNM@k0j9H!XIJxR%l1s+4SBcEN$7|KW(B0Q2!5r*x z{@`f};irCp`_>zmcKY1WMl`9-&%$?)^faT!6R!~_VdCf(_+jEm>u{(v$9ZmSCp!bz z6vfs46lcJYw9pd8L!SP@Whh6#8MouKKyNs}OX}&^^00=4+$$E-b%=g-Yp>)kRk)w(?Eno}?gm;lH84ldQl{gRIYcU$s1GM@&1Ra{=wBy$JOA zaNYRmPtatHaH#_3w(p(VH?G7kPE%F1lA<<)YT+!4VM=JF%6omA6rZd1mnhmBQ_1(T zX9mctCYXyaF78nO5cf9tR}3HwodIq~QGs%9YKC^wUSg;6XC%`40*v=6?p{rK1_Rp$ zGhu!7>6@Gy`>Ngb3w^g)VohN+OReIm_j6YKps72F2THdykgTQiLo8jkcvIp(W}th` zz`8Ck{lZ$#rj=#B*4T-QEH6!9+Z=APcDA>J#%AIuy7>hUkhbh8!*-idnok&o2-l5Cf zKvW^4l`1(BL(>qRe^JC4kb>qOq!(x|DZ1JCt}`K5y4wE+DNnbksy19l*^0VtuY@yo zs|eI!|K}y!an0vEe#5Pk`OG1p&E<|cmNl&7C}_6GQ_ss-lZpNSCt2^{CXrSX=f))- zF)e*eA6f^&V~#D&dz}=JuTOfyKf!mQ-v9h@w)A&6!jr7k9;wrg?oYM0Y8w=)WU2x15YyX&>&+ z#T7#4ojHHyB4LJX0C(u#M`Om`FQ>Oyij{>jb2IZki{hJEyGwGQ5Px1l|7SV3y+H$( zr3rZ?CWL}9d!lL}`f6vcQORFFpI}X@dk(XP$`1pi{GS^?8gIsB;ll06q!);5X@Ywv z;&KjXm#N`c)^@E|7gE}I_oFn9>?WYCMFdR1ku!q0ukWYhJ=eyk46q> z%hFn83;*>QpvX{g5ch+55qQeZ^Ztx=) zNor%p2C=Ogq*m}I7Txz0>}>>RdK{W1Nu!?Ok~YPEUTg|y>beh~#XUCM1( zH&BMSuAoo%PNvcJs_34?+S3lc(PX0(`f+k+$8XuOwugpzbNnAdI1{cr?IWX_c&gxu zAOj%Tv8?Vz6dPi5`HMcJjcTcG>n_1AKi)@tt^7JC4-||sl?_Osn6x4JI;~ubobVsi zEmyL+e2b~^WnaxLOYm4a2%eF?~x{vbF?-Lb#t-WOjk7}!K{uY0= ztQX3uv`u8E@UB$D<=wFY*x)P{uy8c ziAh**Z)c!f7?o5q~(oYteYjMp4nt`6n;rW2FWc4K?u zvM&+%l@0f(MJqrIOO)nrz$|<-dApanw!t^`DE9a(u*6#g2IjEG8#QS$ZEV|Tle1ANn{uuf_NQOLQr>9DO$nV$`<&83a%|NDycT)iT0JBTt3IfZMs1=%AtLA!e|JVTf%W+%8HUYECFC8lF5szQP#McJsS9K7F@ zL=^Dq!etxaC5`^$KgGk@J?N>%Th|5z=v&F3aWl zAbY+mn_#*{go}7;10wS9$Igj5tWZZ%z4XjaQb=TUru&l5t@)*IoP$^fvB44S>@ZIp zR8O3cg8P6{wYK9uU6K71D#+8o<95C74RQzKTZBM!UCK${5}|v!D0yLvpW;_?9P3i! zEZy?xlSjI5LS5E@47zv^N%w6zc1Kz0_%^L5_B;$hJ6Q^`YO)VLSvIR<9H7$zMuP9$v9N|_ zxXTUvlyYY!?IB|VpVY!4bEAA=LgiRksc>;d$}s=cmb~M_#I~soRhw~=5TGt}8R8GH z-UcyXulA}CCx#;ML6AtMh(>N#n^(;_ua7sr0sw8IBFg^;l+t<_`k_oPYi}%6s5!*d z9dXlQxOJlV(HrZ(fA^wP{HTj?|c&fPagdE(9+!~eQH!J$nc5NL2 z0`OG5`g)rMORk=*>oR{&URM{JC&YswbTEg73E?8+rYIgLC%mBGxJm2alAYS>4v5z` zxPDDE0Mm5~+!Z*mF#^p#5UE3AKA8K0BSMB$0?V+)8v-p_>f_ScXlB_ga6~K{?UEbqw7v z%KNry>$Vx@_^WA`_Ql5O&Ok2i0A-v+Oi31bMlIS!-yEe6826duqM>>vC}3sf5T=P? zogR`$2na>d5N3Q@M=Jc?{)CYp&BGaWOU(T!)(GYgLm=1>^lqA(RIC?dF(M2c zHYRl86uYJ5sZMMwOZ(&=@IEvXURE44hTJZLZxW228v64Ma>X;TDpDRPR<&qk2V^e7 zjTkDg1nwaL#t6#T1cEJ0ZmIXQ{-G-%I!WcP&nG>}>g)9(fX^vI*S6bZbWomjp+)CZ zOC?TzkZw_nz%B3Kh@S#+SaCI>KbJJjFnVkaXDkpkV6S)5ZVuA0;r(Gzt0MHPug`y@ z)Bld@L$@|?HCp<+=aZ98%VLrRDmUgMj{C3JVEg~eeSmV}gX&HxO-HJlr!t?q>)7X&+W(98n+Lfl3ZL`o)N&iC0Nm03XMS%&nO6pAfLdpv7HNe{Xu;)Vo- zIEd%yrWbGz+zp@N4;<>6;56J!v3nn04yv1KiYQQGHO)$TacUY0x><=Vgd&~3N`y7# zhdQ}KF2Ao#G7oGy;0!D1G3mN&lr-|P^#O@^-* z(KxveU-T`DUB-SuvL2fpcP;aB$6mhI2og;*VvM(b2DXRl?MT)zslipyp7`QywLE0& zoqwPL9$~V2N|H$03N}=K7Pp^#1~)l$i{~7;YFJF|06_UkB(E@Q?4gH-ir(x5F$?a; zyBEA-eQ42#ZCSR%)(kIW)M=gE4WdlV!7c z?2E+Nj04=0TH~bu-f@zokGX~!$i}--$-lj8?tR!DQ;h2MZ9!7|!BfCI1JQm#5DsTH_I}_f|9^ zpLQPS6bfeubiWI85%YSZ)~$|~jB|(8aXlPT!B5Pu&Z-GOTs4bSdy2G<-F@$o!fWKO z_%u-!m);{*Z6OL)<35(A!HiP{#*amES8YP-%6 z#I}1sxta9pC$vAbH0Jg;b;whj;UwX3WFdpDnf+U)!IoTJRh?kMZMHKL}DPDX*->(iaaYSux< z$<#eMR~qdaaCbn6UZLn-JOR!~`m|&Op?9mFFkNXL*e%G4q!oW+K1SvQYay=)`u=zZ zcX&T7Ewfp0NacEWOsR~=15j<5)1qR2svua1B~KNQT2^Yhb@t30(GQ`z2h$=uv~#Bu;m&ahjIm6Xl5sjTEin73^GY4g`Ej@R^NLGF zdyYR`_b|(K|MAnbsM+1w9yJZ%iy2t7_~-q)B>I%Qjs>Mn%?Q!(Z2~UFuQsc$2wOK# zY@X`qQ_)nON-pp08b+U`wF-t#s?P6h=|rW%{QTj6W1+&qvY2f9q)qo~wx73`odL$L zD)tVfdCn6{R?gIS^KDJGz8l^pgpwvWFs1!HomJwz1mU24eq=qC7MJySEHw1!GqCyt z8q397EWp@;BKFHxC)mrJ*s)J*>KjPK@?h8-X}iwDOEFk_`4eu&)*RZc=AGZk1kjpw z*J@pXtDf^`>3}wrU#(35Xiw0QG*$Ot$`0`uLn_e$sJ0`vcKBZe%d3F+GETVk?`Zgc zVc#1I^g*`Im^Fx96>j9zY`=@?*PG_GrNU|~5F6T&D2nu&K9%isp$)aw#i_h0KgQ$| z2B9LI96Cj5YU_aEIW77XmKMZwjO=F#aE3kZJXSpvI9aT7bAFF*2ILxv)IP2qYWVgH zli72s7{-YJZfqHsAxK(SP|~zpl5y8-y6~5nx7^37CNo#0yT0y~)nZnIj50 z{04j#CR6@f6bVZ)WRtn$@3c!hqstP(`zA6>c7jG2&NaH+y!n_f=DHEhos*<%-qfK@ z(_P~vc>;NfOvKFMZ%Su9ntkG)T|O@#9(;>NO1U+B40e<1Z5#pT?llu<|4I_jFcy`%GDw6Z|-mnX^+6 zZSf0C#Zwm$CVHJHvfv%+VQD1lQ|~j7I)X$ z0B-Km;p64E3)O*V-8Zi(DuOd9dost9pEWebxAlP*$+l3(N4`OI*qWKxQMzRp|O~{(z?2 zm?HR@Z?mQ}MEB4s`%Sg6Om3ZxbPsc^wC{0=iZV%k_X1>U$-fPiB-_rLF~P)~^qd&D zk=mUtklqwN!q}0-dmc?c$=uPRs#GGN7t+vEngP7A>yLJ7?cw?w%l?{<>H>rm*>OjSex0wRUhGy;fMpFc|W+r zud5?sVjX>Uh-P%Y+q~x=3k=y=|jz74Z~W{5XnFai?k1KjWHubx{ADlAYM5g7w} zCa<3%E(%@>V=XP^B>DI;#&tcaXx3+G_`08?Goy|9dC&d)h=TOod$igX{QMm~y$}L* zi)bror}q&%w*6+s>O83KVmS(Ck#e~Uz%b8vy;ae0`OCfrah2!t6|Hk6*)Exkcv&izaUH;HMotGnfVhg zf#coZKA0L)h1qclF`D7yjo@n*?qG3yiQ#YTqAfS)0`EJ|7n~%D>tZy4 zLQ%NkUw7tXa5Ps`+&yJ03!9lcVKU2Byam#4FF$%&>i)}@Gd+?0< z&YZj@Im5ZwxziFk?|Cup{A-g4W)Chfd-8!GMykCNC&74zfo_6Z>xNYPd^+Zrho3o> zO(J{^UQFDq`Q}^mMy`wj`>0bU%>_I~SOkrbSB=#z)j{^qX_r8;M()Z`+U1YXtdheW zveX;rz;0(dSvTCI5n=pYa8BF;O@Q(z81URTdH!VdsaB2HJbA}(O;Vr#uvIAk)z^#> zF|~8xA3WHf{1w}1G^D>vMNZ|PM;8U>vU|7n5A5xe*~R@j(5A;53kG56fk75Kw00{; z-SVYS)$h?6l4YXMC2g8M#+IQ}gC+LI(Sj7_Wv$5%kUhO52k*g=uzixl3W%Zn&Ncjp ziJ{i@hc6~Fm7=1Uk_>4Qf{V0DhU$o2ksq@yDGBVcQ_P2bavzPDVk&h}D_jF&phsrG zj8ek-(@ez&)?<#L%&}Qbm4A5Ts@+BeMvQ0w+gZv))iAohlheA9iGXOW_h00oS^%7j z=!U0|Exxf0UQ(rxmMQw9Mn&^z%M;gS1r1WUDxMuFlHxq_ehF>#rHXQ@`nF!|8(hI8 zg6?X&*7Yl`=*c*UIl0OmAd^0MA`_WZbE{yB3KsznGOE>mt8>64xxf9}Hrr<-Au3J; z)&F z)4#D42p-SAjUjFQadpGq`NkQ>L!yofg1f+{476gw(-)FYk!YP$8{=2MySgCtYG-}F zwC;eKJ4%lKY4Go4!XH1nuc>-{US#_DM|sn2T^-aM*KdB#K~}Bw%~%6GtRJVxt&1|; z2Jvz3r$SG&y+jzqS#1HA}G2Ps(Pdr&NT;qrrv8Y$~$V!CM zo}ttQR_JK59xv}X zj`>T(F0aYAQzM%5<$I$tguNt4{3E;y5B0?z3UKma8NZ6+%aApZ=TR&A3_WLY70LHg z?XbgFaoZ4Auez)2bvS^&wD?V&xPH_q2mm?{h1D1}AwNzI&JYXOn!c%8WmbVhNL{^z z(4U}lqqbJR7F5I?9+YT!;{FQ@1^@Qs?g?`g<2V_ft4l1PB z6<5^j|5J{f(AD*?cX!(TUR-f&F{`rL;9gArJqoMemlf;z<0j*0-NzBUzdp!NDdau= z%9=iD6^9}pewOmhy~3Oc8g*n;>N~iRhF$~%E{j^kG5-ezL_s16Xm2+=|!2xzh{JqK56y?~l`4 z{F&0k^%nF$q`i7f?JWvejYjo_|PY` z2RK2_i~T)6c&sp_olQ`Xt-Vdk!+06AAZxjUs7!$wE+>}iDOF_Vj{pS{RlI*`(#o((kT_B08-7JKnr(ywkVv0L zl`Mdnw4o;r(aZ*BnEF=Ub6|gvOPsR^#QQA}ooa#t0Y9LEMH2{>l4k1RWkx(=b;E~} zN*2-Ha^A!&+`w-D9`GDAz4UKl=L|(<3|wq~LRBbRa`iE*9u7>wMYF-~6rI~l(tJyH z6>!2-%wJb0mcRR_TBwIz8$k<~zTs~0IIO|J7#jxwLTO8Gkh6Oh@;T1JFD3L&nH2ed zkD%x7q2&&MT^E(;d9E#Nb>3a*<)*W6U`$|HKCGTOvZqhHTSryCm+OW-#vNL8ZD@Il zFA4h4FrW9hB9i9XRPd*E^O3zq*Q=Y?ax?TF+RkPD7Lfx1jen8UPli@Vh_x){C%94m zB#OPgD%r&(_N2sX^0SX`=D(@qfq^#2n-Hv=p0A>Lbp3IS>iYQ**3$j|pt1HtPqo^( z(lDUulbg`#$5$^A%exy09Nk_g&fEuq*IwT(>O9_H*=Vf6ISxyGZLe$UBX}6lyKmnB zVgY@)F?F@8l(r|wZf`CzWjT8;GN&p>@wn{=tzFm}s)edaqk6@WS(SVZ!b!!Du2Jr~Y z!Gl9)OvQ|@HzDkt@;&6s04jW-WCzjs68X>2-t@QMZ*c?#xm2>N3y@TvK+~2M2(fgb z(fQR^;wgnuYvTK&`_3O`{FaLz%}-o`zxX=5C|LAZo-hvkYS@h5egr6fuilB_|z&GM=0pcW6aXw3Yf;JhL(u>HZM0+6Tt0hIg@Ts<*Fc3NG zURaGA+^>t-6~<@^lUlM9M3Uu4c_E_6$3nZOq0AE?j z4(Ivi8sW{Dp-VWd9(kFbXG+h!A`VP!lRRtI_Jf6oFb3(F+Y$eTe_7H)i@$NOnyFTh ze30Gt{`=7OXUUeEztU0Bf?Ck)qdE9Vtb7@LUi5sGu>Io3aoYD^{#><&_;}X0k}2mH z0fyT_GC-mD@D+f(C|aws#Puv6!9c1i9Q6~k^2Ictamm8p5BPEnzaM5;DrNc3*(mnX zQaCkmvd2bWRYfhUg}}Ir_Lrbx$0kPaOY$mXtiN_GI`aQ;d7|!@=k5kjwG*xVUi+NI zpDRY|U@q;_9PTO4+YW5Oml`S@%e%V2l*as}d1MTE%(5NZq<4wXyLrt6ZHu~-KNKF% zhi04hn5u}g3<#kJKw zV|5g7YA=oQ@zC4fFZ?Zc@Z_d}>Q!QO^DDkWP?zvN$99qA^7KM9!HE=@9* zoovPiM!Ar67mA5lk^CAxe`?dZ&k$<-MJp z6<>sp+4#5}kt6N3=xNp)SF-9CL;T_r{|D8TPG+^{;<)W1!;dcV%r~h`@wh+`dMdxM zi{36vE1_q1Hz?+ZsIr8-GT0ulmwAS>5p}RIJMUW!Q+B66s_Cxr8#uti{s4e&a-#;OCEY1SSvK)Vxk zZ+oU}oW+lL zd0(B0-1Fw-$Sr+1TF>&QulvemQ#&FwJDp|U76O(0cOQMqoK(b&j zo34xcuNskhHy{&!6P9up151&MN#v}LOwt<(t7l4-VJs$YT4*0fL|JAxj$*KIfR=3 zoV#Y6Q0cHg%&!&#YWq9N9=AX#a((->H8dI0o<9X>@-nct0s!ex`Zdsq-pY&^D_B7* zk1i0hqhBw!36f{al3nw&koRH)XeXMlJp2^k`s$0u1Msp*`( z&*yCD9^CPvUjb?P<9LNp_k+8R?pWsUA4(SErKLSt?HOwIOyzaSb8>h+bJ ztER67s7(6rG+cd-P%C39ri&SXiG=y=Px%;Mv$?}cR;VT#E9ar=5S3fT)k4qp@zC&rFH z0(HMCE#b&W2tG#&PxxDsJc#$Hs26~KHqK1{B5Q?$ac=DAT;(ht(tj@XW402dQ23lP zAOW1UuWPdd)&}Q1YWEWbbi!Akrj7dETs?(I`}tq{*vxSC>*N~sb3G242-`@pc5{zR zs~iJgO5+Ukz;{6EKluib+Fqn4>c2LDJz5q3K$HRi^g#VH;vPkaE&6wxu<(I$fUgF5 zuIe%%-F_>q7YZ^qJ8Jt-uN9NrA~7Nya1JcneCBQowcgYLB-4SR zsejb3W+4T~3Df^Sj?TiNss3-n3%aC3T1q-p8UYb$d;kfljS`gZW*Z2I2nt9@BVrLl zq-!G;Mk~?`5Tv_dZ14HK|H5|8`NrqIuM3F@ip6CUMlRc|M>*{aV3qx{=N|=Z%rhsf zbIHBWR%EKx0gqaHG79GjBcF2&k13fwv!l2MYj~gygC!ONHcS3EB3d5+7sdG60o!!F zp(nz}-LT7{;qOp&1oPQ-4A;*IDQ$(lkaqLh^(1rOuz+jBoSNFyu74Mo_c>h5oh2U( zPnYN(m{>=S1b&tJeWG1}kO?p6MFEiAi+DS%IoR(4vm*Qvp8=4@h4~0QCF#X-o_Qat z-q$aUMwu#n7Ea!_ zTFxwi-LszAspvMN$~efz60_>x&W`1Pw;RNdv%FCu9x?$^x-6>LijYO6$48lUGc8?I zYK_(h8|ZtFGqo3Epg9uTu$i~t|FX7Lxbyofal||}pS@i>Ven5t%3v)U{VsmxRf-O) zFEXk81b0$ddHqjyw@dFb>JBO z;)sbl@5aIbT#h!6eqotWt_ALU?`4;By~%YBs#MXW@4AoUU#%9i`9tfi&>TSkFqA;UHw06Mi5z3xfp8 zWrj|0AwPgi)5t1*Q7O`+p)3YZ;oGZ%dR^%rq>PX%HA`7bQ)zUgT zO6QV~8W5#5Q(%V6EbUhL@#VFq`*iMkTb`Z|iK;b8I!yl37$DA9;BX%3Y1TGIaj&a` zK@iW}>P0i_sk2FSgf8?ce70#={FAjJY6+JWa=I{6KGZS#S<3U?-rM|`CndG9*NzZr z9j$NB4Sm-)pC!9e?WxIvX3`iNSm{pF<2qf<=nhgccymYl=U7Qsx-$bSAZ zysjjluR5Z=KZvL@2Q&EJk1kVLaWe|sGciqOfv90 zn9vB*wVD(voEQIby>c&@Gnfu>S?pMRbpEPqOFyJSMsSYr@@|E&LjBLrkw3WDK!^!E zcxPCEjSxYW#Wg8bjJx24*YYDCjDf7^PWiAfcFn8rHHbxycXKdv#Xi87!o5Z5$?`^r zcfk~MDH}OmKz_X6i5~|uoYV_f7#Sa^kr9r+vKl^7u63kPWaEC_VYf1Ja1WlUzPhnn z7QhU;R`aAsVb8q@X5D}C7KFt94EzbTZ%amD5V<0b>GagK_j$#_I zJ(2QeWWbZ+L)o@IEAGu)(^eypKDUn=(F0E*mIgcza! z@jB??xd_?(DUu%R@ovRkr`WCg4{?y%qsNe)7(sE={|@CA*(V@H6XQP$%q~{Q+XEoZ zy61UTv^Ga}iN!F5tLaS6aLn7JaNNNj`q9voHaY%_DW8?&pJKzu#tPI?zvgbKQ|Q8T=A*RVpz?oly70 z*JdW#^I_(>#mCf7X@|0?r5bmm@sjb!B<(~3^`Xf5e9~-(JR9%A9qNb>Bo|V|ZVrEX zm$(;HfF#~nEgHnAKzREWBv*geB(z}YQF`|h@Hn0T@|KQEm7cXD9C}5Q<1poL#-O}7x4r1ddPLg(o-EzKliz<_ zGou85f?K`gqe`C=n0x6LtWAx48@{qWCH2>=43JyWJntBZiVMxS>As#g;^#})S=nNg zW1_H9UlKSlUQf!AH%v_oW6_Jd|B7&G{cFpOQO!Nio(y|+# z3ch7Q?a!&qZH8%l2tJq7Y(Wvp)CFdX*be#+{3M{x~)U<;-tI# zupx&;^kB0uSd*9{m%~u)oaCHG_gtOG{0GLY<>t@WQLsO;w-NnHf*o_^uLB}YZG zHajzDqlv!pe<18&q4x`?Da}jpQtzis)j8RzyU!qp2FrQAJcz24O!1#@#aRhfP@5mc znGU37U~R=X6n>_tmH{Jb1tjxT{n^rMJ_Y0){h3UzJn!}W(R6}4`EeZA_Se^|Z}@zk z$OKwk5VZ_fp`1E9y{1_H>f+XAoMRGYhl5TG!9ySu{R28MN`%~>BtuafO z<$-w@y4CMAX9*uW|J6#WrL1ObsJ$?3rDpAv)1pc+rv-C_^oAzY!Qld7JkN<8evW6` zRBIF+sHG8^Y0ezzh|ay1WeX>~6qC1bkL1$})jrO0iYA87Qc3Em3hw!K0Z&x1RmpL@ zBaRiv{cyN!c?yGHb?}=Cw(niJrnqCrnBQg-FltKqu-0f-?~aX#va?Jc_FvLg8}~bJ zR)|JYB}8!(a|0}%4BxBQ1yZ4&IoX!YdC+bB2iJlAb|YS|+X;WJXdc+T7Dbr2y=C9w zIKJCNNUme|qqU;+S|_sa@kdgMPe!(fb5K-WJeqKZX~qUgSQHN{>(rl}{xfbr7?6zY z)ix3dW>@`GWPQ4Oqg_Hq6zPa|ZD%f?N%(i59W1MC1NuTywmjQc-X^nM!tFy_gbr4NY$u~}MY-rO$v zJMpJGA6aFRO_3GL*=JH7mK4%deb#V+>A}$R>gauz&iRrl8vw0QUHay`iIFYoovC2R z^Ru2eyj}jhI%C6orD}P#)L~nQK9a5W_p*Y~kRrNHTC@AQp5f`K< z=$8ipHW@JRA4U&NlyEe9(i+DL-lAZ+KEm5-5*afMz zwB>08eAVZS*y(4mkXx`*Rl_>XA5>)tmtaY~=hpVn6Cq$eQ^DIJ`Bld9a>DTRbo#<| zAwDMaT-Iz`R{i;HTTI!BK&3<=z=3)eA8J`|Fk%tgVSOf0doKcW=DnHi7R)UB;}f8j z*T~{{qk3%kxs*&yKn_CwclNX=U@zQ*{{{IxMGWuxJ>03if}V0t?gzRQ!8g7-utbXX z1wbD$!#h9JoXBRRA_IoDdlNIM&ld=ilS*7NVkLqOZ?9iyM3Feg%6_ik4`^JUCj?YMY^Y-8v-YPi}0PfbN?R`pLNB5?EwW+z?2rQurA}>16H>a{F|( z=oYkDzWU3=HcaFXj0e2kZD><|4O?RnPWwe5bo}4KU5aL{&{6cED#1Qx-!I%B-6Li1 ze<#*+T^CN@)%@iYiMc3j3w(MNM$_4-FOyc|=dP`2=v-o7!}i|B>_%T~dZ@sZzPPim zTb#M8lOR*tTgGpGc8zUxhxtE#xV-wi`Z{x9;2rLqIBU%xIK<;XWLrG|`MI%4BAbpP zai8JvDk7xoWP=o7*nAxe!%H-n>Sz)XEN7ZB<6vMr$gg>#vXEQl@ng~8p-t_sGF`;h zF_r1J6L){7y#5CItH(e1P{IWp=Smtk@f&hMT|K;~W-aF_UdTIai2FS9Ef%MCxG``D z6hM~1nveZY5t%GY5yFV6Ka@4~gkT16O!YwwTeLu15;r ztG;5}nvXuql2f0o4O4Zv=;f6hre=4@^=Lxgl zi)@;y8*<6WCBGAzL@{{qkqPssy6nwQkM-X4iG1e;EpqwDN*+IG@c13l5_fx7;9Ge& zx1o24o)%26c!E67f|`}2FM2djdD#5b)iQ=+-ChZ)0&&P9%0jCfNi7Qvd)7}Av~aCE zN|0n^rGepKt0Nba}2Kw;|YpaeBK0I1oA)JgRr;cCILnP%uMtmECEI{+@e`!0P zAJ}U%dTuYd5$8%ccw1|vGGT>^5hd08s^ObA+F^elRu?`)iH;UGD3 zC5S2P1Q|_dn~f@n_GFd$B&~}5uiCbK1?iyc%@xT8faMRYOgftZJ7CQ9vn<-wa~QEJ zVExDIW=cAhBx3!VBJMdrwS9lf;2W>YxIy5xyqQ1$+FO!qG-hU5?w{UnA`ng{sDt)m z%CEDZ`rcRIQT^2>S_UN)R^Y)gvw$Z?OBNzSjuKIazUr4^i79pa`P_;5?)@|6lhm*! z75|;bmrq*wjHTV){YSXO+uIKttRM%RV~3 z^mGG&{)Lt_j2z6K4&@7>X@*=;mL0#U`=vLwAM$_eKQ{GcY<%ne1Ri`)_VRgb(i^{` zxRv}ySI3hSaI0_#m0gYe2~9>^w8bb$w14ZSCwYXy^2M5Dx-=68d^#;+5E4@#fSX8; zRX^KYb2WUUG%}OEVhEg#f_#{&t13BNit|2ypp;V6Z`WV5F04>Oe!;?BGb5i$!^H*3 zS)~wr^ujsWTJLiNI(FBysVG7RE%e!Uy(Sx09p6!;EPY^i{@T|r9MU~gMjIk_x%4r% zLqRvpM!e};1GO7IA<(~Dp8EQnF)~EhC3LdtTuna5$5)tjfNl*pY)iiYT%qS-0bfTr z5{TILzm=k3UrRu#5nqN%8qS>_r)P7a_5;lKWmb#aX0N0r>vS%(*J_csNbjH{WiO4Q zA@ohmrUgP6lCpr>cZj8Ib3pY2~$@d=0o@)#C|^YL6>`a;`*IKb;i;I;t`57^@O* z^i%dDlrc8erfO#sNdjXCyTZ$}(d*zV8*M+KpIsGyGSa-cGG*;HWh4aJ^I}8-?o_)73rqrKn@7hg=dT30p7~dfr-TAt$9}BTK$KDU&fI`~J=% zgB&>*@kI?k<=iK&7U=9QNb;Ne`K`z=q6ZI5pM=&$PX$q*Y;;lIj#4?7aw9uBc-0xO z+0aRyoL+X9(%S{}=aDwrf<8JSG`{CHa^|=DuGyCb!gnZT5u2IiQR4#I{tq`DBDE7crB!cHTIf1|6ArFxxm1$@>$w^9yA(u=oj&u< z!>~l2ij@Q&y!+}IN&8d?V1bJU^L#22(NKGd#Kyv!w!e7Tzcs?73c@ERI#VYWZ;kLG zer*MFDRDLC&Ed0g{*ScenmUx)7aGXUq|3xP(U5Um@}{rk!CM>@%*NbE4_}W(KcyFQe4;j-c3Er;qJ2ad|NhZ=yZ;tZvjjoeEZI z2}N#u-*cqXySg-wgXeq4Oub47b8YVbqGWZ69+=-;yTaaXr$kxp z4Z4D)m0>yMz0If_)x3RX^V&3YYW+X%q|gz(d;Z%ym32b=O4&yI9rLupflK&uy-xcp1KkY>G(iegeOdbR=^g z3m5czD>$-4Y6eJIRas1&ggPi<7uL%Qe~A6++@n>UsFiK~fqZ~Uib0Fxn4LY?N38j zW@pFS5v30eZ$l$S_i&=HpEiz>JM@7}HlK>4nJ-A9dkCAtOBwa-X(_hp8!Tgvvg z^U(b69o;&_uJ!-qF+s?2Lgt|n*1d{l1jc$EV^RKSNq*!50ele|eU`-uV za8H)uEH+V_1C1>wri|pY!MZ(99y{zxTlA;ExqcMwI%+s>=Z0_o_`2)3|5dmBm_>K8 zf#Bco>Klu>GT(i&@!i1Skzpsv zfuy`D+|G{XhT?c?R;AS+fB1TMNcp69oLg%*KROehF})OWmd9GDp^yl?Sx9b`DSf2l zKA;6$zRzO!M!>o$XRT2$s+N$nJ@VJw@g3Ze-0|&LQQ7PeY3nbypD$|L1+zG zeqC>k<4z$IOhUS1QI>i^GIW{G@8;RbvM_Hn@5k$b2F8sk;cf4xSNNhn!LDZq)gxI1 z9UxOoYo`I$92Tw!HolllNh}})lGMKen}PaOGY3|G)J%-=e-CRK%Z~}UeLxX&2&w)( z5d(yU?m%(sr&G38mYSzh%bAk0kzS_V_);AIwU-uL`^Fgxmp>&!rAcmwx&4H`-NXl!ZudNtW?8Mv* zcr-0Y>n~QZe@AgkRjo+_rqFTcoF_AWsLkhGVfy<*h2#x!r3uRVVr9Ao)@)f@0_1ujIn(R7$wsuoou%cWFaTdl498^$wH&Y z+bq3oi+lncvvx9`6O)8I zx&cUxeAE1H@W2omUWKT#ocDE?s`E&aR|0gt#FF0k6`sW6Chi9xDLix zQndyVPs+{Qasx+Hy+WNsGO6~EaPf+rHlu(W850+(7 z^eQO0=;KwADt33gpLgMyF8z}hF6JHNipjk=7!=WD4-AshpGO&O*(bW5QWi(1?yamX z%t$JSh9DzNgIXp~(JN3(Z@qQUFvS6EgUImkCse;tkvuoK4afB652L7x)It?ggZeI^ zN@O-Zrp+=JFiKBeId9 zwbR}`!I7sGXG+SgLaXop2W|Z2JCJuhwr+gzA79)LIw`mBI214^+OE zs|z5F=5HoVgN0x#Eq2&Q_W4kxIC2({QMT&FJpU&P*>cQ(T{C{pMlh6YCg(Y;WW2~k z0_cnt=Q)3>+|$<;r-`wbLRdd^$3*i-SYH^KK^4F}4Cn>ocip=r!|@|FNZ{oJAdY>$ zMa`#qfYZxI$z=4$V#sbM7Ezw}qOi=)7z&m-FwAk9p(Sk#-N} z1IAtbZwa-yO@`YA4ev;(EkpaBOt4sLlw{P2^bDbdr`Gvb8SGdJRv(H5+D5`Sxji;! zJMXG}xK#AVl+Nraazo!um3D6vj~P`F!w7$ov-(TN9Z&7(^rxwNTJmZ4v`ZJzt^_2`S>0_CE6I~0;XS5~&2@Hgq_%nK*_4lJT zs8po4F(zG?q_F*U*NAl{Hm&2PpLRihZF#_(t!i+l-^4bk;1irDqluQ#cKBGSg0UG%^ zY%@^b1HKo77gSQT__2MBFi@_5(Y%&2FD!m?i?p-OF<_ZsVAf*V0jz++PH?(Ck;w{f za0KqNed!+hIr0^s9IjVXwC8bG2hF3%CZQw^(+1?C15a8?_%+U+x_e7S@u7MVYsWD6 z%hflckS@%WYche#0S~mdKTPzOz)lfdah7M7Z~*Hb9H~K{D~T0RkL})u>0Za40w6w= zUlQ*TP+@SpO9g~)ZyJVC=CD_D+C0$%uxM!BWxF+Qg2OiKx!K4S=r#ivOK}FkZg6y= z2he`Ew9!;sN%)zd3ibH? zkE3eygJVlB>~2=8D}7!s;{?TZzN;^5o?w`yiM+eFgSM$!GNSIVZT3 z-@Rouxn9@f4OH4q_%dRfzE$r!lGXqEK%@d25pPhOI*nk_yk-|1Vp>Mj-}RS%`%9|q zt20jS3hetc?(s!?hZ80wXPD=;U#k7Sn7bAiqMMMHSZp_OT7>JN4Uzq%TyCC*uB`p= z4?Y)c1w?EhS->ci%;Pd}o%rnRuxUiLMnIW&VIIVOZsmN!c3wk=Nsbw8m!yg|q759s zFu9rdJf?^WoE&9ceChdvN{VZ>kh-if0Yhen_D+|L2&1?St>$rEas1C?4win!O)F-<$6mXXqwNl;-|Ld#bc7)tFMxES&b?qfeIKgG{ ztRbZnA3Prp#KR>%6oT2IE!PNcg8zT;%>N7}40!v1ACeUkxEeM~Ok+$1g!pfY3#Gr( zyo>qBneqqxBX3?ISu5>zv|jV7jb6BTcrMvvr*-bT&n3hQ26wLR@E8orlm}gcx&=- zle@}h`g`Z17>1)~Ld)C}d!cmgG~}mqwAygvp(8c6xadz>Z5xo&OAL7S<_jY}ttVr* zF7w^3rXSduN%cl|#pi3h%m7s7$LS5zBLGxelOkcRAzb{Q4=u2*S#(rGq>bLVI|-!- zqoj!Jz(Qk;{KCj9HK=fRjulyr0~RiJPsA5M=vTbEON)+CW9CR@iSIh;yTf-a`u_V} z|NQF_)tG)*5VG#)ai5{W=ZU1XNw#}2YK37ralejCa_N@0pLy~dHFxcd%4FGoNtVM}1`1w`>Y1Xu)&cPcU_z=)EnG`=cP?5j7j81+AE>-T1 zhD89}BNeW#mJ3Ygqkp}=Qvsn>GuRlquw$f1C;kYz?Pz%|rwZN3L1C4fW(}Ur&i=HD zb4OJC_m54S7|d-`;&(<093iQQgB;H;_u*D!Q>Vg43ZwFZ$RDR$-e&2V*tF`aTi+h$ zR%6U&vY;^s6)aJ!gtt*U-LG7f#uG|L=MYrx9}XiGaDGle!BE!HLL7 zXiiS->%S~{B@2zqI=w`3ZbrV*$2*{3_&SxjegebQ^~k4(7o$RlGEnsM#(@6aKZ;&b zMO-!`zVYfulz0%&~5 zvn?v_9ofm8B6V7&CMP8VV-1+bcw%-q5dNc6M2*p;IXK?cT+}u`nr&pEN?mni0t1cS zKD(eeyQC;;J0RO*QpFCm)9j0qA)27Cwr4tYGA3=eDXL>>?71LE=Dd7lDcT*4HJ?*x zF(2#}*GsW7Np-HR6j7WgAc7%DO>xL~9a`{5_NAhpYWKj*^HFQgm!%PYj0SUF)LkPod#fXAH3>Ytam7U@VcOb1C5x<)Pa#SKOEQ!gAqLO!5EQu= zIHZI58Xzdw%xSY)?C|(&`mFe6%v1sYi`e+~6(Imk!Y8+E$5~P3TL`K$R@3^%98Rfn z;_fB=K- zBIdU$Fjoqs=G4iFj;HXq`x`2(v0(7pZ(k|KO2H<_gi+=3$veg?HP^Bb8Sc~QQUJy& zxBvM>0d|!VsGkM=cBm@1-P`wD^_I#b^6|K^*@+yx&-PZ_t#nfHQDt}jPW`H^eKh`2 za&edXhNHIxq3YDG!~|=;EDdiX;Evoy4hOyu<_>>ce90G^nT!ocfZ2WFnJk}F!?f+s z)N#GPco%^ z)QOvKA>^q2CaC(O`Z=LDS=TQ9k=1T2$f{tzXY%nS1e@K0Y zGuqesydZ)l=b!H&)_hO6qG${Zv=Q+em8Xo_2uTg3%rSit3%ce0W6c7 z|NF4Xha*PO0?Nv7@1RqLe7C&v%1~W>-y#TRd`S0X?RG(oGu{Y?~E^BxdLC}XcK((b2Q`xOZAzzjZI z%NMkHdAW+1;_v)aT7=vY^n}+)b<7L*Uo+zp?~Z7M8c#*nlp6gvkz7y>)Z(uci%H%(&Qe7MWUfz@O02A3IJN*;c-XcSX9%vLz6mO2vCi(N`}@dKn)XsvH|MMZ zE58=tb1Xy2SRNAlBAQ7l>fLk8N;umMn8<``!B5ZZS=IfCl58hO1*^CPZ7eS$i3v|4 z_hO?4?OJ%PZur(de|!BTT8O3i=~ispZ{^6FP4+tTI#>8F%3J{hOOGT|*R&L%@|MoP z2WSuLlc51z{X2qsMUwho1pG{m`E{6S!M5Z*xG-n1Mm&(MIz{pdE~H{>M4L_}yHp;i zQO|5oW=m}uZM{6a@gLp0*Zd}9D>_?m65{*3rkS{L+^?>kAW<_-1#CJkz-G@&cd}p` z-yMVi=JO#pvi>UWJ^ng0&bs!!8=%JqVA04>!D?SpZg|;?scc&8U1Gi-(oJr!7{79~ zC%an6#=8aZy;wag{6w`{uGv53;Ei&e=h>o=tGC5GS;(0KRJR}LXDPH;TrJi>*DmOx zdekg2+eO)`;z#tCqW#mna9gaU0-dV#!nLS_cMN`aV%|Xu1Z|or2o``nY2wZ7X{Le8 zd_p4b13tm`c#4T{UJ<21ZaXY!c|uZIBV{#0E0VE@7yo_N7f9NS^fGQQeV?9S4=&U! zdG#MJ7-6S7cMA{xqY7=$%rMUa_aaRGK(Q;XUf?E(6aK*RnKkR?134v>1KzK8Oi+=w#lI41lsRE2Cv7OTdN;DEZ8#`U-k2pI-x&Yj?K6=GC#X!5e7;KO%KcvU^mQQTqx)B$9w#?2x_Wj+?NO;!9Z2nTtut&Y zKbDQJw;n?5-_lnls#+^c1tCfmvdAbzr%W(6z;WW+u~^Qd$looP-wl#gg*&xZJW`X{ z1LGI3j`UC~475`Da(YfvC5^1i=|Y9^|7yQ$Fdd{kTFvIh_FzNh$#b*c6vHUp+}0E< z}$9xj;E@p*i4X_q@o<6q{S#op)XR+^13&w!@CJ-pN ztgAiAZIER|uKG56xT2^#8?8=<6U=!sTbWY()>YH{3g<+8L%(?D0c&~%^Kg55G_thy zyDFA1tj<&mw%&{8IbZ=o&@VTgWj__N;d?;#qjHsS-xI!Sg`6C>#Yj&u2N)kQEf1u> z@82fd{5H%lNmVFTq%^4}n9f+JaX;=#$?iq>8#CkEVxn^-ixs=)&$1|O+d{sV=LQVt zY7}_;zVv3vO_7WR)~A!A zF&Wz&gv=Z{>1jn9+vZoim*`QDCfUCWvo4wLUI*D(Bu5Ok4w+!swmmNTdEOyJ1|zZ6 zGBdWlj&27;pGdsf*XR9GbSFb^}f z&l)-y=zk1iz8l4o6qm;^VQZvY3QFVhB_BXG3MaFn&16y~!<8sVHwiwydICAxRmCEv zK}5d2x=ojAfXqHxfWNjJNO=}#=osA-SIswi2mWrwH1Xb?;T$L-@-I-LIT82xtT=}s zKdO}8RkhyJOcM$x!fCk#O=b zaP8rXhw5RDVZ-^C+u)kRTZPRyrx){l@8?N({O^Y%5s#pa!N{Ty(2CGE>d;(1zjeKP za7`#ss(-_wqVe>JmR;UwVIHsZdxMGV*+C@0(&Y8uR7>xRt2X$;co8c@2y!&KMX4xN zN=~+;lhuP|?~6UCo?D^*gq^(Uf4QAB5eHRN{XVX=!4Sq!} z#OvzHm11xY@TpavJf$H7B7*cDTXUi$za#V zf#96yUNz`fQj;w-l-t<$KH(2)3{S{o5PgDpp;<6R!Veey`hCzCOdVt*;hW(?XH{QN zoE;OiB>SM) zpqNGYV-6WmX^r@8WEnLgirnUb8#_BRFY58$ZatWw{>|$c84fZ?e_rf%aZJ8YG^Lg? zLHcy_Rfg+}xAF42HUhNVZZ@`D>=iHc({DaDRIHJAb(*vhcXBHI*=cy+!0^Qz`FBLR z)pK=6z90T=(Su#5`GLcJ_#%GI5cE*n>fP1Akt;#?^^UUKSdmZb!@%=5Q?$u4njb5Z z@dD{K&}J?-)7fDu4(hTklKeEEg^O<+=p1V%w8veW%qAh##V?}mco!(NBtZq2kSB>W8M_3%p+*x@zMd9>#wn%h_R5wGK7$(>rm~h7i<5z&P{*H7JDrS@N zLYm}APW!27^a#Lg9{=&xZOkqXwz;W{7gt)T*6rx~XQ>N5dXk(Ewz;|^lJGnP=+ZYr)J(BGJJ9CzjNNdk4?*eeb=42cEl>2+)}eOZrKjgU%QBF zzyD?;qVTJNccx{IuYmX@|JeLR9q&@Gx>SBSCbbsX(<)*4nlkM<;K`Z(9zdo#)M2*N z{fGSe#}Dht&Num8z|KiR;sfQKtjWD)qV5NooyD+#m-gp_zugrbD|BVP_fs{N?fo&U zRgqN(`erL1UpOCnel2(x?ahM_HK?0A;?-SsOzg!7%|sDy(!Kir=_kS6Z_=M?wp_rS z_OgFjF3W3_SO>)Sn6(xL1xLUR3b*ND>X)7ubA*sG=J5EOx&OGEUey1RvnVzaA~yD6 zH3oU4m}ee6rZME{nUn8@F>GEtfVT1XQpRvBUL90%hs%b7 zD8XcNF zmzc0O3)a#L9BYTY^iF|yj?ed8XAdmj%DPXwT^yQnkp`07y*}^;Y|Gbrosb^g4cnl6yW(%9m66QBvtAC+rp3mX)TA7Dx)oBuAw*pMB16tu67X z&N*9n2-Ca=nqS#lRfcH5+Rlugc8hEp3anelz?O9~=-LdW9Y6kqZsR%FDuicBi)PMN ztM;l`)Q1J`%tewW3U4bR595TV>%_Qjw?lmInSC_1+Q5&(UtLOaWmz5UuFiN79wS!uh%yP3ND<9Y%E@dbIi{In3jiNL8*8Zm=l#>m zbQI=!E6IrGjN2)4_k&TtvskLby~%7c6fzw0v>n;~-q5*htMl%+==5y|<>RebeOsJP zwP7$>^Y1DX>~wl6Ch;d(yPFSa#$80(QceCNm(Lhc1K z39fBESJrb{oaEigdw(Z(!lJm()suR!mx&yB0!V+Bti9g(&w!-pEPhPLWAYn~>a!MP zyOS4PZ(8McQ|#^N4qbz)31V9Xs<(Ogk$~WNj?p7kYn8eBTLU4<2a+9&{n=HNT2m?>y!WlEMA=N!m0sQ3;Ej2HyN=KUfw+~G^U~2J?W_SjaE5d1&hwMrzUu7qc9v39FO8Hz- z`Ee>g6Y7>GpU&h@SZaN6RSzMavIEwsmi5ffX8^LAT*nb|dARJe$%R zo28VtK9&19O3^UIA#rQgDEnQ|uVaz<8?uZa!2~~P3MZ}@Xh$!M{OJSj26j1Xlx|xm zUJx+EVS?<~hZ6oWr zsz$ns_f{(H+6~=p{bEnS*&7mjcOj&imA;1L7`zM_5&!M45Q%_T#-D2zh9cbnGOaao zSMtb`a`H9kkgj@{1PDw@@rF?4ek~7mm*O%vk4=zJTYra|J*3NL*DX@mhRJb9&|WD zq|X=B)lB0&vnjzbVCC3aem;Dl4z75s^oFeG*|luPPdr2ba3aYlbwD1S(h(q6#Xed7 z*7o0hwX&~LnKKTb;j*!VJuvGU2PSWeB8hCNXT(ZmU`G~z6R-q&s-%7Z?B{%YDfPf+ zAP(Ep5&(d-bTPJIygVq^vcj$;ha)c1EDdc72uNVQbnL`tlIKa?6S^bl1b0jcOuP*i zn>CreKOFEL|MKr15Y*G6jpc^^rGU)DBmGSV+Q;C&Uo1FtehoJfB=eXz=r3dHJc$yE zMD%;(jN+B&ZEpV-Y)53b${o?4t&dtFsclx8mgWy^SJub?ZwdL;%4q?Nu6spB&MwM_ z)3_Md$w_?kGG>J)cyT_xdqnp7I@Q((%V7qxZrR?!;R9S3_*!7s>b}%K#3c6KXCbeP@5sl#%unzs{5IMe1RvHBI=Vt zfianAm<532e;e0!@j!tp?9SdZzQ~gsI&N`(D>ohA8g#b4J&8h8Bds2PvZthgXa1do zHMc7SJeOL|J3-e}eJAHpS$Lnk6IQoaA-(d5PU&o7<2r#n_)E-qle@ms7nV;+$)ncP zc_s_49z$9g&!%MOuiQ-5>O2j);MN&&Vubezu>WJ}tmB&c-~YWax;q2}lysCR-JrDi z7KG6oDkTllHPS!DwYmY!L0)X`ZA6Ii)I6lu{+GQ4UicTgk{Be??N02+*KT>SY!|$XD5a}j2H?M^SD3ia8{Ot(55IwZ zPBO+5X*Q;iA&;!V+BLKsAqQGtMFxnMWvwE&4MUH|2XK|c9tUrvz`kr}#4naL5$Z#W znBFc$r+SY3W`RUks^Dza!y6G{Z1u?h9c~6pfb#~b{&JgpXD&T#{UE_uW1PQi4&2fd zhxkR-&$z}Ao;oJ-F)ATk+z(yqPMV;P?+pB1c-tyxtdGGX^d~eClf6vN( z;qDcedI!54fUczI(IRqE@YASz*&h`^yr8h3dK~=`4@e+LG8AW zcDXtAz~QT^BuBO{0c-1R8PnBVpA(*UW5ut)pOzr}!8$j*mbvn$1j2)PUrI<$BXFO2 zFDIgS<|DbZi^DX@ig3V&s?>=luB4J(@PYsMo^pc5(1F6t2kKE*!1mBJx^ZPS&|+0r zM7K4bSpCVxZ+-(c1C_ZaErFkdupc>+RKL?ehhUcd!51~IEa?BbG=K&f^KJBc`c3pL zO7R*x!01LxBGrINnAg}4r0$^&cz#{e5XeK8`-=F{E_KYm zsh`>XM6tK$vt`7X6=z{{f%f9ZM3pN8Vcn1R!=DWIif!V#TW`d5ia9F^?73W05~NaZ zMES)kVFPyiT0YJE0b9r;0Si$8a@Q16&#$0efV&7MHKmhUoVTSoOQCIziaNdZ8q{GF zS>b_-SBWc9zS>7M`7$l3B^=paD!P&$z2QmpqL{@-yH#m-+xB_ z#r^A{saf~TgGekaXRD2nb*&K`>8n@mQ+>!Le*DeUUXyppH0RO8$y{)C6nn+$bMKf) zEdBQ(GA+*Y-o_6W&r;j{QBM}HvD|03J(dOR3nde5SxIls;*z8c4P@6~9@HSh+IQ68 zO;6fcHSnWQwr!_8@H2y3cCOtDr$#p^^8oHn;kzSOOi|@GTQ2)B+8a};@JJ~!nhRUQ zJ^5e%1l}%aDeM?gpLfLuu+%#6_!t{QID5ArA#^`=d_Ij(23REK<>CMkr)74Vs18Uo$XG3)P982Znfe; z8ehZGZtfk|=3YjIeT>45k>s6)lyGHmAa66gAb(Xp>QCD6X*B|Bu>I13=TU zy1Dd>vNhHQoS<}cI3#-JS{F>kNe^g`>X5C+N@%D6iifeRb;v|$2W)+`{Na}E6I3#_ zj1@+DcMI$)Hgm0dp+@sN&2)!#h;~g?OUm&x5V&6_K3I$Rsd9e8c1*b!4hdxNI+MTh zUb@)?k?pjLRgdrS-np2~&n7811Y~MMdH1i=&gs#TAnS|>+53!cB7RAwmhpCoQ&CyBp3==u2_((G$`q8xMLVX%wvp^`J(0o@~oE~0cQlQ-}(3l~!9 z(Y{-gcQ$8A-E$1u0cTc<5#iC7r>?*hHo9@DCU%MP6%%^ccX8PFRq|cs>WD(OUI*&x z?m($T{*Nw9jtm)}4q$^ozrowwB3)cr+mR+?O`O*4aZOVAReI(3ZjN~IAq^ID%9(6T z2dNMy>oqq?bp3>ASD`MyS3{G6C-mo^$F(||r|U3Q6OpCarT=K3Z$B9nn2`Mi%v@!T z6v}6X5EUQ*Gq?_`W%&gXM=1a^3{cZ1m?iba0b5-J8$3F^&jFNX^fy~z*heMm6L{Fl z5h0PFP7^juUh6}runX!Fn+o0?Z^1;yB$7stD8xVKBiROE^T1!d>TkX1J%YZ@iu^}b zf#i&&Ys!O^M?ry2JM>-9z7kRV$*t5Bsvvi)v~gv2Ol%Wf-&iBoL=vpL*n&Eh!=CQj zT=9yFpW6F{tF z+i&Njb?1foA>ZirC@YI9lR^0}{e*lOm$WFiGRdud0IRPKlyl!jH~^R}YBXj2-vFdk z0oe>UpcOA|ms0ayiJ+tza;7%RX^M~aW3!m#FJBT-f1urzQ1q0bqV?(H%}bC$}rnBRIF!qNd=h(${#7m_@h!f zM^^V~fu{{_OW7}rm$7M^K@UdJOS7P#-U{92o!|Zr`_JF44>t*r=~aYhs?&4tN-yMB~o>nr%hoJh>u7Ld)JwT}cZ;`@-sA@RvP$_Ibi zF-CGSi^~pz0NF~OQ2)51bKvnRPF4YlCpJK6uc9!;J`PwZN^!Q+3();7>r6fp9S8qK zIs_>2A;t(<`#NG=3f$L^N$@2x|LgJYO`XatTyd|Cgbwj@*A2AF`RXCpeH%?}bOwn8 zrX6n()l~DEzXTqP9SWwdwmd#es*vH9O_u3I*w+IBwf|0GRtqd6Yz#_g$guPDo)k~m zAuw`if7Dw1Gx}j#Q^tMer!+@7()t}w99go}4Sz;W557LEVkMk9q=$`sdY2J+}>PVp}}x5Osx zG&zI+8GP)2GWD`|YgN0$=7&OX{pQ=@$*iSKJ^sgXLOhLAx?*hZ9qsX9>!5&@*>+L! zJ=hXpJvu90_8v;*^e9eOsGoTvE%L>o0qh1VZfrSR#~u80P<{NfpBMKIc*+G{J2w}J zjQOU$NDo$cKt3p z#m%=TyyzO6>OivZ%$k9knjX&&jW|~A8`enhqn_%Bb7)gg0a%7fXK;$~trnlz ztK4n4S9&kmbV`f}NeZ&9UbTgsr>C~NE{8!g--6MIV#0u8VgkBnCOT&JPNk_Hk^{vS zdwB)T5>l0zE_%6xXTfq;qYybrG=?cbeHC;cSg##Lj4<<`36zf}V4qW0_rD}f`}6W_ zdJXn6`^c4n05so8DJ5yHlrn$kyAXF+nc0b>pspDbb{ch<+M4xF#aA{T3X3b8d_7pa z{0k`K1U1XLC{?Mv-w)M$kNxpdLn_?&=$>Wmp(ZRc9{@%5EbFTIVOt2LF#$;2oc47< zrOaKAXootzEQh+4c85IKOzFxICtiZu^{cUi2*WWQ*QT%n z-OGXP@>Gpm4@F3IMPbKs)G31fxo<###%dOP^8-#oF$Wvul-0WYGI}4TteGjT@@SM`TC zLVp&ay|TlFs;qe<$7B(K>~&9hTo_R1mmGAbz21}K4qx$f`kUjise)E%Gh~zGR|ajE z7+Q?a&rnJQceo67Y57;o2AAOX+i@u*%`X5`q+jZj|E)=VU~W=VSgRs&F71Nv(XFD^ zrm?N&4lbt+THluBLjdDO@&|fp1Lw1NLmL(;CTy;5equXMCfzo8SeDH28L=25KF{tI zx!bRlrdkLY7fq2%poa%!VO@$o0p_H4OO>pd*Nk6sN*jpH>V; zeBFokK95^AU>Ia}@Hx;ylzT~mDeZu7JvrW=E`uA}iW^03wFD=?kgoc;y@fSjhjoAf zvuyB5p*PI07xvXAI;ZV9w()qT%5w*h%Mwv{Ei{+&mNN%i=)YxQS|H-6;vkF1+xam> z`JR-Qpi(jw>-Q;|$}<9n?AbYnQ}So>OlchhCatSWe<3y6@qeSGzO%EwFHEyaF0)>} z(w*>c4x=l3ADzV8pT#ffX+1d+P1sa0&nj&4VV`>{<2t1G zoI%kTcIG!3M*$zA$o+GVb6%)XZ0TjB`8s&xpNGh1ka%ur|pvwNTs zF`)xz*7kgYx|jLg!Y0Rlxbvs5ttXTJW6;;@zEa&9+oer9_=N+#`M=&84czdq2aD^y ze6re{S8`pz!$%NsIk>1YdfRbSN@rmaonNc~==vUP(U4kiYuG5rJAJk+Izryt?bT9i z4akWQ&SoY^kOlQTndZlhZKW#AufvU1tMsU(^(jCZnvr?A1J4wIz5YYP6FM(Z-MaNXyFr_B54dG|JhE zSG={!kyOdToHv!3?xS6C<324(U#AyMjsEOa>hs5TlIqCt^J=j=rs$TZobTpsgz+bm zs}rqF+bsF9EqPH6#OD1D?n_=giz=uzia8)6RrKCvnvR_qS)^IDNK!py3;PJMR+qz0 zQ4k<-1{GMMMrUEro<%@s#+&@cK^Ul%hb-dHh2OANG$tjiP)4M?{>pVc8(SUWUU;P} z#(7rb8W6Fad2MqCMf$G_n-y+Ge`0p@-N{V(NEP<^Sv1aI*^ucFu(YaDsK8YX{^e2X z1YZSqr_-*)hPw|2q({tNIc&qpi7=onHCjg@c8m3GyxflP)G_(p$s1ggnP`1Q{p^>- zPxT<qd)o536gWM&Ha-lv4vr=QgQ{aN{@ILnuPLQVA0e`8U`~$A@U3wewbB}N z+wUKWO6UB^eYp&Rki%bONV*f7c2)ht#5z(u zZ%~S0csL%88V`55Hu=cFTwBRe6CI{sv)~Z&0Izpb?OATOGWOqjxzIcpLO|Mwrk7P5 zMH`jIa^8iXvmv1;HXK?zF7p;0D1ry}SDhynfHadVWR>(42K0VNY;A3e7}e@Zu+2vT z^V8eXUT-x6bHdZg;9y5u^Y5yRTk=T=1PSl|iuIXIuvzNCqg5Z=>dnw%0Sl1S$Au4` zD8&E{+wjIl(EHH+6_JhO-s({3gd)08q5!SQ@fj46`~pt;6R8+c4ERQCuVUnP$~WqGRaQGbx(dpy-3?z z^QRv@dndbjB@okyxqSvp%-?uxe6&Kq$YLf(Y*iy7wkK#)A zVMU*zyaI#3FPbvZqhkVenf)es%x;;Jam#`21R&rK7--l^Pmqy7P6uR;!`+4P{ms-g zEC5zjU*+xxoN=?%!OqCWO=)X!4lK%`Nn#uRi^BB-yY#%%UivfYZ?4+fO_r{T?L+*w zVIvP4$B}>;BKe_rhr%JsHa~2+AcAIMGe1cp))>Gd)%J8f$8vKZ=jZ;D4jD1V_{8XA z_J^e&8Y)uEe$PN+TS!GrXvre$>eH)zr44|Q#z!f4JA?Atkm6alYmZVf;C|PRoqKMr z%>AEAk9;@uwuoG8p#98JB<_)-y4sfVP4$7iU(G~`e!lJvXRT=t-9LP9v-f6oBs1qYIEO#*K_%4m^x8o^c= zu)x8p(xuS{EVih)NZfHd*E$Z`d9|0lTbEZOt1@OrZGiPRyDDnV=IYwoN(#2O{N0+^1WEy)- z9b~ea544#T{#&kpU{Wc))G-~($<0F3ZhxM}`nZ<#7dVDSWvFg&{GQ~EhQigX{!Zku zP6sr}eQ!x=_UinF-#yH=kdo)2gb+YjB!ZD#kZon`2GQ#AS^sVHTrkRJ4cPu@ zPcfDyue^EVvyu5|D>un-a=Jx9I-URaBfH+mnfp9+%e7LQ^k^Zfb&@oB>y{TW^~ZeA zDb0I+XOZx(r7BvgTo{JuP1YvM9T->}A9un_f9M%neB12Jx5)_IJlPdu%kBF^T<*kC z{}}Y`%v{yMF#o2Ftaz}gfjy;oU#`jd}Y8ua5rJ-gEr7<9d`n&F+#n#OWYvpEcHATjoJ; z8z+~%;G}4~iC882_WuA^HJ{1_94scOY1rS1mlcWXztH=L762khS9Xcx-Zta^#rX{W za;nD+H3jE{43#_XEd$fCZ|AP1on#37sTx-smGj=Ii{hVMO$otByz&Pun+nO4c>+6n zy{@Us8)SvI);S!fbpwYQrj}eovw?)cBxvpxQWtV2Fs8*BCA*4<#2EA2Cun}X>LV2o z4F*OGxrh>tXv}gkYGVbJs0l0U_|mj@3Tl34ml$boHM4mn&qvCBc`MPoH&YpFAXrhy zsPb3?(y157$+NCulha7PD)`F@0Q{b4mycY;KKf!G%GNzzA}@Vk`qr7`ZLa$UR2XHUfSGAMVLqdLSz z6`m?F%8yQPT4KnJGSTTeRYe102ot$;fd2Ig=}Q_64LW|a52NPsO=Dl&kXQNm^oPv~ zU;U?*TpUlB`S&&{;txuQbuMp+uEaRW+;bE-;unYq9uOAPcdEByYxz71uYuw@a_tp* zzGUXR19tVMv6$NDFx^q$({4*riCDU?L=&2#wt2^ebt23psC`ym@26yw_p27PdA`eL zFgG31_-f=04JmmjOPS2V&W-;W6eaOD_G%e&URk&dY8)OWNs^Tjl;NPR=QaQND2ur9 zU;aiyT5Lla(#B3xnJ->AyYM8J;m(WA9ea=cO|u0pzm4Y!TE~x}w6*bckUs~-1@|ws z8eVW3Z`(gL{yBiHw7g?7dTCZ*(=PRkqlZ1zcak8QvGf%6`^2@AUmn zyxznSbZ?mpaU8e;Z7#KU}(Oj-DyJ#*q`p z`vCGcWn9LaQr9M4v^nglwhiIsGl57HX=P6=>*R*uBUvxh^-DdAYL~ArDlV(m%FM26 zjwzznIoUhk-@iQYx|XmEZ+r=!R_Z)u7)^}D?6Q)b((keS1J}Nbhz|oODt+JSY?510 zRo<85nlIBGcW=6#%KS>NRu8=|b#apT%_mvIErc|~{na1v3b&9q6uWuB?coN&u-=Rk z0#+D=*PIz~(i{=4+BA%6=CLm9q>{I54&yFbJWhX@)Gx-F)N@c=-SOGV{4+R362kWC zABXqqcsXLCw#6ytU$&i`qC=Ne^1F)ZnbmK5Fx&>q(KILLhaLgRZ~6UbsK`pAfp#e;5C#rZwS{l>29NNzoHlVohb_`Y6nXjQarJF9vDS7B~ zJBRFZn7!SPpbJZIA}wWH@bcTrHDGl0+iG;TTL3qAnkpP$`TY}qaZnQN&66dK55SR^ zP+umaSY4Mkb3fSBJa~p2UjaexK}u)V+0S5xkb)~}G{40^aNzQ9Wj)Uz0A*wXzyT#* z=R24@k*3_bDa{H51Qf5uV?3to#lO8TwA^5&;rs{MQd&!HW-rMxLZoT_hG2#yUGl?+UlF@Ww`k6 z&Aqyr9AAg{%G_te%PkNiMP%K`k?0pv9!w@>f?Ql~PM?~+YFfNB@o8ue1r3gJGV_|} z-0WI0k5uHt2jeU3zRqkd0Ydw&1X9K_Tn;I7LaGNIiCp+`oDCDN%Ff0i=ohf;NcV3K zh#6{RR%4MByOS1f&q!#qDR ztA1b4xR*|k9)?}?`;8Ozuom})yJ~4KTb|ZKH+)N*Wd!mS7y)- zc(m6R8(d{|t0qO)-O`onc#7U2`2!V(mFYhi*W8#VcyawqX_6YfsZktQ^*+o!S&WPN zIL-7_es5Y){t#WMd^mCz8~E1eshlz^N3{Q>hTb*)tTaBD_okdYchryx3n0r3Yk}mz z0PuDBC@=nmmYLG+s2m}2m=%qFVKVP&g?WRnn+1(Ug-z4pwUcb$Q-*am7pLkRfc5|| z#Mu0}3#El?rPLaff*_fo&OqwVNKhjsbY0yzefB;Q0KSP@@bECQU-pJHTNyV&MJS2; z!ssugv}0@tz6c--I;t%z6tX*T(@WT{Cz)K;0jb@jd)Ij3q0dslbENGAyFZSzz z`v!ZdBcX~hqYtA-D5Jro1~1aH?90-t5H>G#$ByIP7pTf8Dq+qx4tql=*&#m}b<|54 zY%;%(V>iAgCLEPwerI_Agl2NvUsI(@(r%vQI=og?q~k9qxEXamF&*AD;vuc=`DaBR zQ9EwVq9zUMqsb6*?(68Ad;DvLG0cd$y5^VOk2k#^?ZwZ5Pm&;pA0d(wrVp$XU~7GM zomsrNvVJJK^wSViZ{`?u@bRt^oHzpkGg5Jq=lGtdG^c>A0p?fGs5iRbq6nXi!n$S>DK zayY;oA)Q(MtE7F2bs=1eko@0&y~e-O&9b;G(rzK(B(-U8B8GY?og42Qka&@)lkl97 zh2xT8de<q!y!_74Q<}Jy#Nlka zC?(g}#VU4gpTDCrjk%4 znE#GE)R126-EE-)nTHv2v~E=flzN-QWJUzSg{DIcgyL1%ydktSC?%_}=o%9yQ31>j zh3Jn$Rzc29um0Nw7(W-Tx}O4XF(0I|fZ!pvxyY6sbKkw&>tJ2?X^LdgU3X4*~_Wb2?a(g&fXXj_SB`#Sk1&dt=WrvriQU+#oMwZtKV?8qg z{ph*r-|Z;C)M7h*4S78bL{y6Cw&cYGU|dj%lF7%WQR zkTgi-GPKD`zq21HcctS|#TCVMMJP8?+%v3fAty}iMr?fZEq~7&MvE72kH(UE&cvwv zeu$`vlx4d(1H@PnpMg%{aVg{5>7QP&rrHJR5_;a0?Q81XZ97Zdn8ihnA-Daa&0Poj zSdBwcn?F{=>FHB{a&c>yGrQAld?>$uu4n?pjjUq5LkEMcUU^l zQVC@RNA`u{>Yhu1vVRUm*$J7O)zk~U*VYdS3M9!mO=QjOTUgT9@vY|#_y05%*L#3} zQYlNrG2d(YNL6xfM}I=0O{W3V<2yU<;*(VOH}ky@875{9yhDcv!tOZ{wQQhE(&{r< zVFAUteQt!Kf1OmR^$Ik;5{b zV52c+9`}uQD_8gPlSwzoDjQ-1MWT)FXhL{BkruUiV}0j3>k@lEa^5zTdFT2-fYObH zCgN7iGV`7efH+}L2;DN0yz~3?hn*Tvm?L|di7FdG9dd2GJev5DyxI*>F>@mB`Mg_b zTG*3Mtou8!e0qeneXi^>zVVaW@l~d9_P5;oVYVBSZhlDthyc!n;g_96F}9D*oHyhX z@0hR%-yUXr-%QW6R~N&n7r%sN~CYvUbf^UDsEzzR^0!9E*{?>3OM?+dlak;D6 zoeBx%_jRM=uGQJ{iJz*CcxQX>IH!C~wEA;OKko&^EIr|3lw;(7@*UQ%gIB5yZ>lSq z^KV&WeoaD;QVTzY{Q0S-AaIny@Q!qET)4AGT(xHrryw>7r9F7keCB?@pwOSj}F&|9l0hZ<6kUI z-}KUkAJk8h&B;fFJRfhH)|~+x12A>9`~BR+n#cy)?&SKZFH&#cPkldSelA)~Lz)uk zuE%*~OUbCRJ!bh5bjgLF*8pa1Kg4Ov`moWFyFb|=+L+YW;cV3YhaeMUjrfr5 zA4e>DzpkK8z@gfJ)rfnd9NvIo>u5gs`1OUUGD#xUaEvh~C(L8b`rRYaTC(u{pi5_e zr2f(6ztigCz-cbvd5+yJMel<98bP^fjQOVZ`%;E5E#)o@YkHz0Vvjq^uRjM-oTURZ zxC36qP^%2dCU4PWb=J!?7(`)>=IZ4#-nSB5ZxvxnQY`@AAeCxSdQ^1UXTn7H^~4kS zE`I)$vn{){6R^H>GGGQ27xOeLiy%CVa(H27_6rFZ*Oas@U-p{vG>&4^DKGDbQoPBlbHjVf!L{F|EFoVSHl5U-rC8na#`H-dUj6PKg!*+~8xp#BYE9pF$ z30PcPQ<2O&v3Z0EM|8B|mbBbS75YEsy>TrW{5bt{RMnmv>Ef7AJPb#*OCE5pA?Rr^ zYOL9m)y<1sK$ffb8^IbhLzx2}wgHDXJ#8u63nhKaGCcTX@`Uph zhPc@cTJxrwuq(wuYNv`m>H)6>h0g{Q^+S<^jN(=p{}17v&D0KKGK*5t1yE;O&C9yJ zQwm@g|K%JQd8ibeTDH62^JMZ}QvBScRU5?coxlDIr^Vst0j%zoI>!ZEaQCL8#-;?m zV5t9F@I>wN*S%?ODuKRaf830QzVa4yJ$h8x(Jv9ZQ2FrJCHGciquSZU$KpvdoT%gl z6mU9wj50aTOQAs7NJE+k*IaU9nkI&teN-CF_WDTNo}pR1@5S^SIL%LQ(9!NHl~(0g zr`~@Y?8sNgsOC`w-yO&bK=MBKUkCAR9S`q*IgjU|;Tq4A5gq6DsS&uxn7$5mxk;?~ zqwDTPVgHF&>lqCIkx_ygW zw;eOixICVMMlQM~Mi0N0bUcJDG#Lu3ns%2c?JY<(Zht{_md%8;kz4cd1)EyXtne11 zl4OY_n0k|J*6bz2`&Xmjv<(5l=U#b`+Rtkn9@1lZ;4b}Y7cCF1xBYbyVo_L=euFg_ zGX2?DY}ocT`abe>Cf>I?;RMyswr*gBgMF_mu`r>TOyZZ8d@Eu3;*!w>U-uQ*DQ$Q> z*3@n+!Htj@^Fty7o=pjLQiQobqM97`S)Yjg;3sl+K*l&^?)3z9eDD$kRG{JDK?!`- z|0LU-ClB*Z7Pt_Wd$1rrq6&kCFJY48qy!?a-?a>P)G)mB^V>cY_VOMvfqk#?lIBdu zn9lo^@}YwmB)B-DvgpYCD`3lVlgB9UTfob+I!508=Y{=gE`(p z1CG~19Xt#}KeAr*jaLAxfU6F>Haq;(&wCh9>r*@FpCI5iodn(2OM>m+7?mTpa)-Oa z#8I7`&Wh8iqtBN^Cno>1!6+wH&@1t=2<=dYoTZBIWg8HJ-4rwG|8Bih zqTjhwUff%f-xwDb1g>{cJ}=Yi5nwo*V(CdaejUzzpp!DXTU^<{8WABlBfoaswGPoV zQ3tA%Y>h|TRr}$)Z-k{TYvmtcmJNO%L6bFGmTJFe7YehS+okA)I*3i|Qq=ja=2?8$?&-1} zTEn*2sabJNo-NL|_-mwL9|vi=ET!7|(lvwjHFU|g6?FqEJ%auFw_XU}WBUA?`w#z+ zH*NLVZ>_7EsUeP@mN5Zu{pUQ5^k2MAvi+fbS009#1E5iRk)2yF(s@16x^v-ECl{EQ z4G`wuR}J+irs%xueP(G@ggnv@SW#@1#!l&fN`NIrVItDP6Fq4WS^exXmh|f(1B`E3X_5K+!Q#_%u4%vlNWW*^-%#=lQa;H+p9Wh!wb*t> zReJ5ouGo?VgeFSJmV@E>`_V@h;O@tY~ps!W|d-ob;8#gqm(a<5abm-VXtzXyK!jA%v8e z1J47VJ+nI~^Ie6rvRl*UMjq2(@?ibG&rEDSP|}hlYUC{bIpvri04R=g_f}1ZU=eZE$fp6GgKO$jswDeE1s zIhGzJM-J5+H_AyYoz7n8Hu?;E*2`!9`7VrLw2)oNlV*~fJ4Nn_Brz_z{fQ08&Xz#@ z7YI#XOoRWSTA?el`gbj1N&$#`)R0m;E{tdEufkVZow<+VIgW0GkH{3j#LN2sT2I7J z-P*aTT^yp$31>e!AW1Ikt+aX^r1}r1(WZN|Lkp887 z-2fk>McMR&e&|;+h#`Ccs`oCKf|FKq_;|!g@o_}02zNVrFlD!m%ehbFRro3EdyyW0 z+PU1pmeNPGTasvnjBM-yh4OLbwZIu42hhFY%R@Y%SDSZ_PMVgi{X6L?=orCVUUsU) zo6@L}LNE0GvUyN{;_XSU-|Coml*BuU>miLdua1YRZY@#$Nm$~Xj)!aj=owy6nITr{ z9@&M{nf1y1*Vn@6T@ZJq^)Bq@fe;ON+LU0KDFFvWjK;}dmSvzSh8i$lynd5g>qx|t zwwlq0h3O1}tj5*myolR7taBj$6#34d2{!v?4!?i2!Ph{I>((KF19R8LPOwyJnXZ9? zerG(=ZwOY>D*<0bnQT{ApvHbGof)-{w*u)(HkGs9p_{*!R1qJgEqJhGv0}YW>G|_( zBvm#R-S+U*J;}Yso5&gk(ph1+<}aG%z7&;XHVtapkI zA%Pxmy(93RYuK^?)i((ecCysN&M~F0=2MkPvV?#4WzPaprZ{7YhY_e0le-xk+IeHhS|vx z$1KApOT7H`GN$N9Q)DNx5nr*GL?@Co!lD*j2UzJ~tYS*&B2~dw;8doM39a8Gn89J| zmkk;UWi#;f9Eddc{YiS zpN!B06-+<I)r+s3_4!RLr#%?qKtJ_Ji*TnnK=@Uzd5nBO{*MQ|9EhdAknd$ zg-YKB)hEj?l`+|qYS1v4BOYXeX>P<}*C<*708K0D*l zt5GRC<65Tu@9Lx(@8`z4x66#_eG&XEEQ-P{uhKXmvefA_#m+dfSTmmEyKHZn0P`NUDC=EwNi*>Y@vo!PuT?WoT{b+}tOh4nl-CFgc)Kd8<&?04dst|@>`CXu zlUjvUw_@kjjL-A(-9d*O8*~?y1gbBoP2k0>*FB0vLfppMx%^qw#yziVG zUA8DS_n6<(TThuNepcgs3>%>Uu2nPsc|^9NJ+mWgc0h&xeRnPJ zyP;$m!d~>6p28Z2-ju`Hro%U1vt5}Jo2ORkrQ1sNNZ_S1_sWGeJcTHEg4_ZwxQ0`I zlSQoJOFJs$j`$zAhf0#i`7dJ*KHy(P(L_B~+qiDEh-j21yO`eqUsG$kXVAuL!OBaL znVfECFg}v`c*Dtd{*apTaA1l~cV{?2-<+T%Bd(lMV_CTG7N32skpj1jUmTm{jQBhP z4*%+hJfUU8dNUpR$`u zl(CfDf=eL_LW8%5u#zRCNGbd7*~FPR^7@sGL}bVbZrderP74 zq&*G1m-GhX(TAe$Y)ppFR}fn9cQl$7v-}Y2%g8=u8*zQ=p807gC3v9Q)Ss0{%9U2d z5gr?z?jt!eXnx1{Q@}3-9G|}SaEk4(pT5Bs^Iq!jFWzhgc-ixkO6^O~S^;X2Zxbw{ z(cnT1hQ0ig?%XZ^!PdQGVOqf10d7y%q?*f%c&3$XjE!+KVC|M$quI6l^z^L}{Y8xv z^{X0WCW!YRR4Ye-yF*=9%MWkM=NYM-Avw=e2BuaRI)u&C?>gqxo6$@f?u)e5vv@~pq zh7xA}B&56WYhGyoH7h}$IsnNar?^%(m9yDb#w+zUzQSc(f84dmwjgNXOq=~o$x_zL zf6ONF@MMQrm22*EN6NQ+|Ke!qOX#(p;FK2S0-x{`c$!;AwevWtZ}K4^0u%} zK4x8m>RzXJFc72KCD~ASH>R|^eB92#f*~WQ6a!nuy(yHbn5fO$|I&4lQ0GEhP};)+ z+_)-v>6S(G|I|0C+SEG@0I_SYq}hN|VPNh7MOh5}9!ccg*CaOl=?@eI%Hd+whI8NK zd$?V|u=zEarOOxPwVKAy><#^EwX&~`tXdr>IvaW^fe(h)ZXf~Hw@w7(6*id|6FXqY zUldI$$20fg{ViY{ynK4}r5ramX;%>`b53j!S^rw)m$1(x^-d;6J&D`f_)=sKBSb6`iZi1cSOv7zI)(P=B7~~4{{(cDV@cx;9OhQ zC7d+^jM8^#S4e>#$R*f0)4cII{!bf#MK7VCJxFfFd;~NHB7_r;q^%NZ@Qu9zTIb@A zInjf`1E%OZK4gG|)+FYx#lz}`h0+)AL*}TDvR$#J&RcPzt)9|Hv%vWC0WQF4|0LeYswAT@o3MYkC-)w12QP+1LM|fI1O=g=}}F@2W)GhU_6(BA*=Dq zEyc+wPp9!zX5ZXhyG4ppecSW$@f*Z&B7>vhJBi=g(-uIM8d1)e8QayRF7K*;vh;l_ zuHUpE;tPa;S3Zq6rI#K8Z3-1J1W*F{(gxC*wRC=#^Fey)&49WHCzilQh|!}wzQ{sq z%gKi#w7S2YD3Xi&Yb7E{^V>@9NQ!ByC(Dop0~zhmsLXK`54hpL@%h)z)9nvkrafvVQKB zX-39(HYOU75J^uoaU!rKyWNkpK7<*_F=&Xq+GlslOZ0vZZhZQKcclCrb~RH~%W8Lb zN~_n{X>ssveALxhEY5{`tJ%9%Y2H|w9#VK{p3OwHO;M;zy#C839^Kx z2)D*1sG(D2kCpI|IMKh#Sow#f7oE!OQ7t|%)GtY;spy3SZ!66*{_%W0hefGq(px?T z+)M8R9Wr^iP28L<|meq?wPy@3Rc*=u5!kV7u-=I6ma-22pxjr=;a~` zKMoj=A!x#xXE4?t$olKmF`?ahYy8=k2&5)KC^;}RVaIb&gCczSLGzmij0aJMZ0gI` zME?qNI}#5(4RPwxg>3-RyVwU3zU@nEMJQ!Fdi1i>?_}Gl0LmGqiLZ{N@d~hu3qDKD zW%m?lW;>I>n@s><>lP@;b3KqQQ&8f&=MEEAH33@vt&R|K;JIqOnlhkFwl9-@EL~^nUm>-#2{G4n@(DCI&aO1W{hW?6XMwxkg(wW;X#R2n( zk484QE&e)uvy~z{Ah9R1eRR((q+$k(8$!2WuEuszl>5LepK}^OERA1Qr5L^mcue6U> zv`(-|8rE`sfZu;+#6C*!{<$a5{Y3FZ%PNQG={cx(df{7YpVxAaJXLJb#*=ZLiTg*iR9oUo|Z*$0&UcJ{Gbo$Ja`@XXU~SF(jbTk>nk)9!9V}aNMs07q2-G%d8^~{yIrK?< zox`hIZIu$DduKvgXLLA_xtK))Pg~$)BoP*o7AAdI@h+_jcGu!t2q&ZT2D^y!N$UId z$^$<9)QzK{biNV?%d`L5ZPU{Y7}<`^*TXHX1*)v-m0pB*OqnM|d%KQ!S9M+Cn4>Jr z)2#Wc-PvNlxC~d#G*9_2c1){a-hY(y#_8+s|B}5nDUw^k>q${z62J@Izt}cbO)h2p zxcVqBdCS!5=5xVy=nMzR2sobFj#tM~6{_HbDN)EX*$~RW)dMRD2KaS=jD_BGI#=!} z?bp@@1kSa8W-jZ!){JJFzz>c&J=U`BD-{3>>tL+ojj`KT7#3fD>@IMzeK3&w6zhdj zrfH^b;tMe^GGrFYdR=@^#K~K}A3-}UcZZ^l@Oidn2{E&)gMY~ybRcerE6NFr50SC3 zV7mPzpR#Sa2*29|&gMk@rdgXLrCRj{UUIq~BaNvucH|iFwE12?sk5(nX9`o3eh69; zYbohTdd@J*cTyi@__YB-whPTe#EQL2Yy_4E(0GD{4pH!$&&!*IpRmN{GgU^7Ufv4JMb|z>UAYH9zrF2@DX*=(HL#M}r_yR%k%H= z7dET;tCaZrL*u{t%ILAzXVc_8dm8>{V0r(h`<&yC)bAuQ@uVku>0tdqCQL@CKI5=S zZTjv#Idvi<;bZNoYBa*kBw;N81z>(WPo8&=!;W7A|Dybt75^0jRt%&j_UY5*5)&;S zajuPuLgo|fYfghKyL+uW;Kq*@=Rnr_vqAdHfy0ol=90#?@>IzL)*(h~uL$hN8R9Jx z@oTus@q@KSR3w&70dPn}-{F6mXs3@m46}>(U3I%3KPSh1pU0Fcf``3#@m)JZB&P>F zn2T$CZ`@4=AvdK&VyxoOzC2#A7Hex?n(M|CTE&@5GKg4uZdWF}bdH*_gt z14}rmWQG2`O?q>5x*Ev)3IA$wMXoFW<;s{U!M+$%83 zL+WxZ?8pHzosT{gufs8eQ$u9xB;GbSmt|Kx%KJ5Txte-cVEbQWRgbh`{o2XOj}?iv z$DEJ(uiP-K`R@kD(sH~{nq_aaPWFNer0fc*NDit@Ejs*Ft5ZMs^@+-3es65SQL>|zSOxulARP`_+rtI=9 zbpJ*khj6RSe#GDZlq}ow!{D{+q6ilk+japP|3) z?QbiZ0K32272=PGty266m4=v9MNX-2Y)$5c-GiU@ZE-I~Vc#)9gpxzmfOarv`00-E zAbaV?69Z3>D(|zy3h}AbztS#2i*k#3{SAe7Q>`I?{iiyNdCeu){L%!FSDuH5@G!&# zzi%sfzh~j`mrf(9eOD^s{Tn_!z<@t_)Xqk=mS3Us&B9c?yfjX%|aacikA1;AA43!yL4xquoUa(M<&o*y_4Yg;2Njp{wt}Cd$DIdd0hG z3>(fd!cBgQ`Kf9hm|+SSYQn(~PiJ#7{md)S_Dt{gzdyQ>16LtsBcqZlzi6OsuwU%; zfZj*$8?#4dSFvwn8)v~p8kZoMSZ>QEo64Fvs(F?S3$f4at7?dCFFVM!ZTR)u^!sT_ zt0)s)gR8Wv{ZtNu$B```Q`ChRU`$urFRO&;-X3fCUA|=ea4q+)>dTj@{~7Ohr(){V zR-Y^;9q-aD?`j0}N-XaFmSaPvW_!RzkBRTcX9IWNkGBOZhOY4y*NF9~8T;exD_EKb z98Xk~W$=>e;;9Oh4je*+pB!;emD7j4XOut#s%2%7A7MfoN8H(I<1){5d zsnW;nk?rfJ;P&r3Hoamw2hmq_@`At<#u9u8FY!_*9^tKGO?Sa19_B}V?07v4XiwEyQ?)ngA&Fsc z>OU64C+NGz4QrQF$QUB)knkTAqH6r(T|*SIw80A;u*0xBLiQ_Iv!?t=aklUVGlUlU z2dr9~;D0ae=Fy`Kx#0dJ@`@2wX@8iGk^G$cCV>2g-MN5A?Mr^CqmuWmlJmfqxZ}~S zqbro>dcD^YrR0WZ;o2+kWtJ*2#L=lma#*Z&Rsae#uUWO=h)|uvO#H-8g2z5R1GJOY z*p@C}V%d|8rCXFUm}rzG?=Y(UXw#l=+~=sW>G*@fd2!sF!D$;drvJOP)0JH4>;B&X zWw}TZBhw{IX|ts!nuE2F-Ib<{Tbh{+H%v6zrd}?$lWh!>8}F`^(($ab-bqZ`s@{>D zZs|3to{{&_J@R)XsLz~Z3G?-%#zHsw%i~app zVm$S$%y6@gS-T+isTx|OM9)2}HbR86+Ug0KmoBZ>DXZIJOs`|vwA-xG^j{e>X*A}~ zUC4HJnwPzXB;*;qo^G#(hj8TebcFllT|J|B<}*fZ9)Aaf($a#__7-S9()`0ExV5qx zwdDv`;>&6Zq5dYruA{u<(H?+$*iju-S71>jbtsY}gJ9|FQN>dHCqHokca5s;D;w+o z44AUp9#-iz;K0#=i|jr$T5#ukG~M4pwuT_s=i5WdNxq%lY3!SfY`I(0k$hbAyHnIW z+CqV?NJkL>PQq};ho4po{iV_(-u({>lIM98j-ZRuxU3<|aloKnzVgrY?0^Y1rRNw3---D zcWLQdl~JE>3;)imFISTLIZ=k15`0N@(^~0`5q6)Mkb?F4H}-QiS42)%x7~VK;d~>P zOqFzo`8AvFn3{%el9=`q9NvubpacB*#$lH=b$hnv_{7es zIJj|U|HQ5_1s&MS`hhO$W6-xC)bkizb$FG*m%Bvbi}IzG0+3H!eh zldfF8Q}>56Da7)|X-(#iuc%RvzKLXFw$+K$<}L;9k`zhb;mdj=zUb9VAHD-*c>V!5 z-cF3s-0Uvi<4lCeZH|zk)T+Kzu<Gv1Vj1Nb;6G<=V>`xyWjnCTe-$Di-q(v!U7cCXm*TZ7&M=R{-1oy-NI)MX9{2Ra z@v&7MYVoOe)uJO@Vc`wJQn~q`_Dot|g!$$87|Nod zADj86cw|hqV@vRV7r?k6iaQ2nM zy~6FnZAg9joc>if`aO!G{Wd;*2R+P5@*7vCc}$U>mL7|AfE#-S$+!Zf&A90WnjxKb ztG1|{fD0Zf!}CeF0vG)qs^n-2ARhcAPQuRGX{Bz^_g-3bH5tu|KVw1Ra z63qOi&x_SYAAI^;B*QCMMlL70mMBN$NdyOs3kJ0FL)@eEbe@owAA?o||C zZEs;6;#_a6Uk3)1Rvv2kQ4BO>F2v$s|&Yy?(eZZYi*Jj z^~JQLBIs-~Q!2Y_dSQkUBaySTrTFElhs4F4wT%VxM#cVZiP9(!1@Hn%5M|EOed7#AHNBwbH~NQ6g%bR+V9StdkAIU@V3z zlzaajsN*$-K~Gp1m)HY)zwjuGQ=As!YCFdW0|%84kSPfCr?I1{!TB$oM(AMzlbF#6 zE&^q^8no(4T*Z#Ds<->g;cUKX-Wv*+0i7|fneq`b|4jB zNG*ka{P~1~erDAlHXL_;UhwJ5jvUM(!nD$n(;oW*gyD_wq?Vr5BIJq( z?zYcfaZwJB56NrVl&w%J{ewf}Q2o0_O zFP&VE^kd4PBCK8B;T;;(gdt;2Horifw{8EcT}^o>^E>6fW>fvkSZK=isoUKAlT-^s zQU*`C6Ld4t{~V#*8i1QJnGeFBMwXitEb6Mx1Xo!03QHe7#1qfZZXM;FrwZmCoxds% zp;h>C!`~Kk$ox+~ca9bI4Pzq(o9dCF^W!nOWvpA`{1Lb2cKR;huUmar?6@6yd1bp# zS0%Ov{0X`R_5&))>t6gv>w_75)xc;~Z6RQv?UR<(adG%EA_}}peV#yLd5Ve&(ZV^h zhQ_km>^-YzC-MSzk?ePPAriGR+m0SFFmQsQ78p5C71flo4PM2&Td3 zbc*23=rSUQc8^!kpQXFqi6$|xwkPWT78cduzRV)LyeQo?Z|WEFT#zYi5KBhL><#=f{Tq>E6YY!h3#b+!}xHc#T~ z)HZ%N-_G75hwT%KvQwe=!l&rpq8j#u)tN83d0(Y}c?W%XN(eCTJoENH7K-O*SnF6k zU^0eHC{|7J;d}2w%l?crAZ966XuZE^e#pY?2SJ-OB8!$cEPCIJ-afgH3%fWMzJCX)2h*6AdkhP_sP^Z_ zWdL*pviYjk)uLkVtZep*(!s{(?1)d_X$f9yjZcSVe&pA0mJZHcIlW#)eb-$s4tUB< zqD9E0axlBsUVX-X@g%54{aEEk{xTr#WGVcc%rDtlpWahf(%I1g-;eaY46p?~-!Ws0 ze)uq<=As9IkUbu`s87BfkSYfartwj`nEZ9eIQ7M+n8Ko=yOHr}Hz zH@4&pOiqx(zJR#x8PEwZ?t2=pDGx*o-3x|sO}+s2-v53zq+4mJ+;z;s*ZRZfiZ@CSx2Eds?CkG7_e}2BjbDrK5%eC^ASace5Pn2HcTxWOP zcu4h#R8(`m`;~_zmb8i{pKJ6Kp1g!&w}Z<<{~a1JO;AfCoBK@&Zo#{E@=&t1TcaSr z6sZIr7hG$*jx%AvBz>bSH^uTuZLptx6Dz-Wzx?QSK&0}CPn|5M<-1x2EBAzUAOG~G zhXR>(@Abu#FRiWe4$_K+%cBNsZTASm@Hj<3(&>9`{4^MQtO2K($<;D}0e)ikV}JsU zpT5FHP2SM06Q#YxonhMC|O6+>5V^RsXl> z-u(*teJx!T>q`DIStbJT=DgDGyx61mz9ENm@BDlAA3PM))Ig%H$|KjO4@1mNT`P|a zoP#P3qOkQ8xU))b%jJ|bK{+6ICSehFdY^`gw>Y+U7VcC4FD?A(*q5M85QahrMxRfl zKN(7RZr7^)DqqeyAGxyc#qEKomHsDarvFSiDo5`cI5}vCbAnF>PvL{1cu?mmXhgfi zhsc6H)&$f5+Q0Fk;JdUp34x3TYWTabhloxT?iQ6zxP5lA7REp20EPkJx32q-KA0!U+`;C8?EKqyDbhp7 zK^!1OSlNTh-iOxvgx$E%?m{h`GDl4Q?+bVk8_8oE&Zuc2t|1GcCb3GT^nmN(Gv(dA z^eWHGh8?+W_}B&?VlBWP%m{mVq--2plD^F7UCL$oX&ePq(+kcwX@+JlZ;{)JLNXl!;QGwXg;%^{)5$;Ykjgd(7oh+__PFWUusfGhP}A#%{3yZ>i^{ zo=ApCHubx-ZxYaBPtQ*mO{Y6mv4B6ogu<3&lLi_3f-3~>AVggc>J!y0tPRT_4;o4*LO{y> z7NXHC{DNUa^m5r3``|4mY(vq9EN<{ZwKVFxAmD$?^Mz%|%73`l?H21@3LKK%H<-^@ zvZk>r`{ml(@Z$Da8{^0Pr)+gz;Fr6c+xq#Fqxn*z4pxDb-D|2|ApVnYu1(sp*T3eq z|eG8BixQ-{T7E;*h(f^{&54 zSTQd8vUUAcjFagfDPEsnrj02kjI*6M@{-rhnEY)INJ#aouwK;(SF2YrF6s^6VtnIT zW7D4u%x2i*$9dgJ=KcE^gc3CaSW=Ma3 zbPK`4b0h8+i>S07!sj$VJt9R|x3dA;=r{v17sO2{Ux`9h%ypvd-!S~}aZC<>Qnln{ zs$&t8BN2-+5j~hH`c|mV2}Np9o{cFmg>zi=Snhx|z!%p0V0lj9;QVEJR@ zZ=UNI0ynge z)0`v#VD9!=fiL6J z-In6XqPu2$Dah*4816$uD0Ob1wOpa&?jj=daKy(mI~4Hq#Q;WJ@mv#l zi+z4}bO*uN%emfQf#OT@>J8}?cP)k7SLHwV;32w_z`v4Rwj0<@L=(z>rr5BYy{}cd zW5D}C$knPeXBueA`f*LTz4SDIS^kuYHcK%F6C~%ig-TVi+Rk5>`N~#~;OS@KlN>u{ z(tn4YkCDA@dpjSmWC{&xBarXd!tVGIt*mdB*Og?b%VXXCF`QEcJ2-s*StSF_W+|Wu z;+I4ZpltzLn22*0VR~=;R@p4M-nILKr<`O$PVgMJZ!40KS<02VJo}rXca;S>^@wJT zl~t#+`DF8L5f__u<89z^8I*Pfi?jX^jup8^H9M)iwwe8R&>YK21JR$b_D4#Le-JQs zWKJ{x52zHwRKXo@yuH@bux)HT3KUau9`wjZ<`QE!J&jPaR2|$gQB&en2cE{>6UrY1 z{I<-Jl8TOzwRgx$+R?Akr1~wM2@%&8N0$jsvxJMQCu#w$QTI9y%RoQ=^Uf?LDD&a7 zihsLmVcy=zX#C*l0BqxQIr#9Cl+lsHHKO_G^?*K%q_a#WP>PL4E+*=AOsAt7fzTUC zl@Krr8Jmhg1R!%9Y16uaYql2Rci)ev%r}|e$+LX#+oi~g5NW0(G2CnwsY7+(A2ZZn z4Z1~W@Iy`NJ3&J1sJu>Fwc2gOZ9i#8e?M6|eQayzqpPO-qEz2XR*|c>Zt2uKe$c=4 z58<9V`Fu%X(kaaNn|U&4Tr#|AD~j`*m~=BK>Vs^0Yrtvn`1YY**)roGHfe*h==-IO zet`E}81v^+7LyXu1Fu3XUinsMAnzxpOMaHBTo`g%LCuy4JqD+mqbK5&Qjqi)-Qw@Rm3}NNwkVpLu{a@nPXCt+1-$)y^xq!u^w#Z z>TTfjJL1F!^kz7QSbY0++p?ttP|vM&UAbCMgj|Y zx4%jmIS595%eazvTttyq;7VNpXTJ`bK4U8{tubilqP;LLH_LFNgQcIX)z+rJ z>j?|sFnQWF1(EDn1frRNobx^_7)}5^!2HJ@$UK^dHPnd zw(7c_%d~Bp&|^=DV>_dC#Q`%ZUxtbDO#@5cZ`F45SBBlFvVx~WdpyG9ko+RR%h>L@ zS~q|1()7#kZ=a}(lTyQg1OyWY#b0n(<5-Lz*xH-{*q6%DpQR;(+PT)wH>-~kV>4+n zp2h!qPC*-Yvw#vxt>OrL_)jxR|ODFfnBOs3`5;=%1&mfki_gmh&jlc}MN<*-<800aDrZzddE`7a^d z;#i%IW68Nd@R}?s-+8v(fLK|;@c8MfuTL15w6JJ-JrOcSr-!rNGt!B`%?nM-*&D6 zW4EbhA0E<8YyYYEZPeV|8fyS3}MUeDiF13gy0Z5-8})taiG`LRwFC7N0r2F*=Pn9jHtKi5uugh(e+QcPRCKhZ1DDvi9?5>hD16$hj~r@oBxFdg$w_v z@ic1uxQqMU`y;nA4sL6Tq&F@ocddaJo*wcW*C_W zj6YLVppgd0NgCLzHJIag=dbBQI~0yD{7Yg_^IMk`a*(pckdUzVSd+0Ga7z~*Biz!A zlBr#CH&C6cd=uk(aP2VceP_h1q>;ze-mW$#@C)2Y>6Mv%T^P;NWtEdjKDaDd@-H~N zw-`e56=}!E&zBEO^{rK(pPjHF{W|jI8hG zj_Oc)sN8ET>uYv)cSiBp;ql5NWWb>m&B@facLvmsPw;lx*Hxy5l}}L!MX#@jo1*#+ zV0aBcX@7`cVICPRSdHyGMCDW&21$2S%` zYhq>(=n3_HAV5k;ko%wG^C`f5EwOk6?84J*oX;(Y(ThhnDgZh~ff{&57PQLtss&{G zrBcogzyA@Yayhft7+*ck(fIy5f1xwdJ&(*kG0zGSIO!Pj~G8hcWCvUHz{oa9dVFUmib zHjv2qVq=?wKCP<%jA3M5*>*FjFzc3QcL!?o7j=`T-YeLxJSJMfDjw{ZHog!iH7A3< z<~{FK(TO{*zlYrc@e2@~cX3BLbQ5a$;9O=%@5r_c>-e0hxmDD8Zu{a>Rm60U5J4ecod zxj_tLlKt#>+7KZ%@yeId?5tUlQgOlChdli6mAHE|Ug*loWT&o1?t)uPJfUNppD;R) zsHxoA44F>!q2?b|vD;&EIt9xVb`l!m!hcim0l?DfHC zD~eYBE!JaU> z?nBIe7?W!*%2TJRr|6UslH5mQS=t~^PY}J`Fllj{`)KRzOWK0rg$!x4UxfJFfZCWh zyKKrqf)nVt_MFkX%#dllOOz*{QrGof^y7qmX;b>JaaPZ2VcE*4zaXkWz6m${G9|1!`}$pg+rEBgSt)TmyP*&MPt_9+jM0`)>ZT2t}?8NBffKe>@=Vb5sET7K4Mo3t`}UVg}8 zb!r(ZSz_w4D8cRp7%3`KM)qolN*cIXL1IK76YQ zD^nZx(Cv`^4A9io)}^5BjMT)R&dUo^y$a_llTodVeFysNv%8}vL*Xv$_x-|*W(aDn z9N%oPD|7O)yZoubOqnmSS*FQ=QNn^2jBxo#yXWAoYK zB)ur8F-B(Kk@n)Ep96yl%`YRKizI=H zU85=$p;Q&EKh8`|aI#tU)t9m2vrpu&HF@k(SoC}T^)7HgbeAy*DTb*#C_T-?H!6mPCI-oRuDG{O=Ivm2zZD6^dz72M3uQo1Kf8a z6|yJWOk;V}!H)2xFp_)+vh)h(eI@e){mu=$>M=(_u20Ta-2V2%Q`f3NyG4T9is#Sl z{ZB17zC~AUQF^xk;*jgmNIKf>GLwn>-&<=TeLEAv13T!PXANn;0-R54$3lcuiURKk z#j0Xqn*}qVFyNiLTi?k-UG9I89GY!Lf}J1b$@84h_DjVb3Y@<;?e{b^Nnxj%+HyjQ zg@bZj(xN-`n0;%`(XjoY6lb_A%wqp1>*X1F4GC8#NMV72sH@}3T5F`^831lN0wVO` zi-T3@&(m07Zn*ZE=AI+Cav_`c;hZ|CS!*0O30etwM9zmIazu@G)3NGqeW8rJpC5#$ z@fv+?^d6VC?d7@q`c=X8C)IU1svW5*XvhHB@h9agR|>i?yNK`4?UKE@kCC&Wv1lRZ zywQELFGZS7A;~`;-`_bj%WP_7`oi5owu$(KqK`HMMu9xXIo8CE3yc<{<@{s z@n9p7iibgxT4}?B6@TeCpQwr|3O0sYSh;t$<{&*Jc+N#@^=YW@wiY2&#mXcsA8|#n zQ@vn7r~oelzFs|f#NZD6w1MUYYKQhny#1+n5AI6P!d}&9s3lvXQ|4V!*uVP0cOSe(Os#CCIt?> zQNza@6j!~37Qh%6$ym3z*}c{J>>C6NI#Oz_wJ#*YA~6H{UO@e921nta{edFc(&O{F z8;*G*>_LY%7!Z;EdsgK_HkW?Joc2%fP_+fyMp<6(NiMW}29FvUrIr@3d~_B1D*(s? zXGVN&6&9fmhfCigpV1#Sfu;G6W}IalDKSM&k9u+aIz!<&Oa9j)n`UdAqQ9Jy`*Pi- z!V%Y-vI^admhbbuc4dMsDua2LNL|VTX*xcj(XoC$!Y8jKJu8+fWu$0o1%Ew}drfE8 z)^F{v&S2Z(!C(}o5Vruoh3riw-=;qceH;m(<7Y3~0c+{4BK|L$bV$l}g)3ev^&$1N z;qgICcQCX^)r4cwuU##oINwx*daK-}OLc;V%?t>TL5IOkfbRQkfX9LyC57((Pyo8I z9t?=5EthoUq}_Gp;Q2{2ScVKCz3_2sQb3VtKUoj!*tz@qg7dM9s$*?G5C5V*J{ok2TLdA2pFsP$G1;EWt*NkNR~r zpdQS68_q1}wwHhb%eQy|@ge$)gnRqw+f~KoHL`WYk3z@NH$Q*WuJGX-ll%|;b~*R? zepK>`JK)0G;{5Smz4Wb%V8Rb?x$0SJ#%2GL(Z_v_hmk+9AP32GbMQh)PZQB-K{H&K zGBBsQknu(=Yp&LdcdXQU@xjA}uHeu8eV9~10q=HLShBn2#EX|68}G$x|F^t8z@&Vu zpCUN>%FLY6*R?{%?sV{lA3qjoMgO3rB!^ss7(_RCqWpuB(+HBHk|uG65^dj94zt9Lfm@CTEFi9k*Z* zo-P>=z5VAXABpG-{P1$j_5Ky}<}Y;M!$iCvBO?S-Q}?>QZo3Ga`|rr*A_?@p`&?or zGeDD}rs2a@+tzNz3%S+Qe>-Kwsw$bFVL9OPLU9hR+A4U8=f8?|1^opP*`$w<#Q~W} zqfok&YeH4Ha~T#QqU4Xg~Xtd);mmNkxu{2et+8 zRk4qkDGq)1?||%xiYIPgod8C1>XoqMnKf@ z-IpqS%K@$IiOFwU_GbH?8`~PrwpR=nk;{tcjckYYs`e~D3RL+6K(1)zEh!UFuSmL0 zAi!@lCBPqvM%csPr$?~WOw=ezs;4LG#SJM5AvA>@n~x!$x-PPY`NqKTbILFSr`{if z9r#}uysU%*Gnd4DsA7Ni%Jz&oU{Txs%=0o0T`U&fU&|U+A<_o9>vT!WVu$bU z6qlvX)*14}cv97|$Vm>Rvnz|7(Ct4xpp`FW%_B})nE>6Agq z=WMUKl6&-E8DgknP5J9{UA{0b*x8GZp9QM+!!9}N1s`C1muQNHFaB3`QVJ@1aS|{K zV!Y7%Ep`7hWorI;>r)X7bL!gD?{5f!a*|J^duG;#G#vlD&-VrZ(N?*I?nSd z29tx*xa{VVuCV;ndWM(eVLbVn;x?%qW-zkrG#DG%pk)g~S=PG-)S>ix;WwgsYd z6CgvSpA)4^`OM-;V`mD4UdBg5WvJE%{7pQ_B5CRnZ@QDXk&Vj{O4+sr-yGU^753-J-wN3r4OlsoNFVoQ6hqbk2WeXHrNn*8Nd$v!NkGlKGl~`3V3+2UB0e zPR@K_P4=HE8Rdbiw+m1Yg&>__69C~LYs;wK3&Ltu!N>dIWhc|bf1`v^36OqU^5F;0 zo2}6^UFYowC$*630(nZFy3o=md&NsNPvMz&u&W0f!^VZSSc`sm=#$LE*zd*$~)lUR9KxodtpW;aRoFRwpasx?`)(jJY#N4MF-g58gp-Upo0;w6ixc?Lw< zpZ@9kPy3Ce!bCdnL(4x_C$a6dpa%eZQc!>}Y8?TeM<*%YqNBswF?(-Ptk%+N&vnSP z!$}Wy`>w1>3kQ`byXm$A4DEVY&nwS>e))NnGEY?C-3=8$Wvzt=GN%g@k*{f<+*t4XZLn6qrSBl< z08hKAlP`!T(h>~cVM-oU(&WI|l$S@?K|)x$lPqVH6euEyH2%nbLTdHT5w06}fBj8S zK1$=VHVzuck3)HLgz}%Q-35DWiD>oKMQ6NLq%C8%*wp=i{Z?G^WAIoqIIDK(W_ZPm z^C{tBm&&04`M=WGKB8f$7-oK@|v^xqk$YGd`O2JaMNOiJ_Vw0s7`WQvY} z=O!fb`}^R@Ur`z!Bbn)nZ9Oi8jpWwOz>UT#&UsFBlB&2{Q^hqxLD`&&0Dg6Y>yYVx zrOkE-De<>vdMQZy3B(dwerjQThg>d&^}JLUqzdb#raw_Q`i3wsaytYPQQY+9rp`rW z27R|(bWgw2*!HSkcB>OuF{h11Cl`5E$bVCzHppdI7|fC$sPPf`07Jqe(=A9@Ha+*r zG?ms53|CjmqsoWG$9!EPhIoV*(=U-Xb_V93`0L*>VRRC>{XWkDUAOCh-c`+`tx4~I znFNU|hV=2=U*4V>S2N5sHeV|1wn#m=TGcvIXcK^9$J#lRzs-;-jcqg?C=GMTn;+_H zGie&4w@tlQY`$GLCl{03)xQ7DC})`gZ#_R>7v2G1^?yXNb75eakzG7n^R`#SBjc%9xJ3%smP zR6mbn*%GO~b!gWLp>H|l049RJ`Khf|4-u7@EDrFNNl>mG{F~Wk`pl&8{LQd3;b%4g z)PNPaJp}4Zy5MplaKg?+y?km2yixUGR1z~S!Z>O+-o|SY?7zqKeu=M@<=D2l921A^ z$&_KK&iLBKh>p2JlHbUxrmEAAhUfDaeXD9DA`4O|8SVa`{5M8 zo|jbujm4@n%mzRU)kk@Jrw&OLAgZfTZSi0VXAGI9+ERhA&79NvPSq)Ag85!xR%|gs zzxnyCh1{hHhu}e^pz(EwqvR07)Q1Wx^sdwX3Dv}?IIqcB^5U(*JcMqE#?apCBq*$r z!txtqRf?b`|Ja>@L4kh2YN~GzyhfhcP-f)JNq>6NITtKlgd;Ev5R)8b5@mCXdWo!# zhPQ|#V;=Cgk?%opTBR`W9g1_lqV$8Jj~!$6gX-y$s*-3SpY=vlo5RrAgNksAYnOen zTCc9np1U;h5<~A=6fWYTn~&&@B~LW#bb0JfSZ+`%GF`D{YC4@GG3+_LZJjXxW#g%~0o!{K zZR-?bnw<(QZ>R}I5mb?^ZXy&|zE=?)1T^!+G4k_Q>TsKvoZyCf#;UL$4h-U%BGsn{ zFCcz4Q!UuNnm-6cAw#`*WTeEM^8p(y*S)(mTe|yx|3f^U2GX;@w{$ zt!@z2{maL7C+@46Lp*IjX_wf>ex326rdbe|?}?#oHR1XAP|SS?aRP36)b5=4s+)Q3 z6>89o={6tY7-@9OfDeKM4q&xaL66q~QOfXT>SRB+We|0SiY2h8`ENS0W&3l!R}5|x zK%*2K7@2Y@=6|lakGBvd)~A(P9-;V*KZJkbCMA8sJgfwQr?^VXf}FrF6FotnDS3kg zVfj9h{x@6=&LdviG;j_DxL1wIUG@}ISk9ak)6%Re^F@s(>4)jZs;tn;Qu0p6-2hFk zpeVzRzUJHgNuR6MwVlzN?%2k)MyBWt#RS5-`S2r2y+*TSnezfrh>jmhKQzp>TPTZEPF&gpvK8;?+)etcs=Qmq?i>Lbdjn2w(iw zs?+}54jvv>@0Le9#Jr#$$7gr74fKQ`J~g^1KgawJ`DD48=f=!Iu<;)PUwbT2pkSZ@ zy0DR>_)$3|z0%qhj(wkeo|iIk&2z&87D&<(_;jI0$^Uo%7O>=vb*%FfgD}N4>@ikZ zWAje<@COGRNfTzS^(eFEG=ul8b4t*%|Jar`j1jY!GBGdscg&I+6WEFvL(1~K3`5Dy zwn2gloG2;oKfPZ_?JQK>d>e zx3+Ih1e`x4Vajl_`1*HL=#%G!+K^A}ZQDk7*cL?S&))A^pl)zVsq|LzArqpJG!oL! zXkTR^oxX~wpl~xV;%yh3p>+8j3ZXX6Rs_O5#c|BDIB>l8%23gOz+6oU{c2SaLNo9H zYT^$2$@zP!{4=Zj-zmB!)yEoQwW&gmZrvSMuD0z_*-3kT`>4!-5NNW!inR|WMEO5q z&N&hsYKU!xqP+=sIWJ&dmr6uG3gj)=SrN~NV^yp=I0pb4=jFheo7S;&z;U&vx@^KD zY4Z-7^bkA%T7$V>TyH<0ehicfb#}(I0ReTgm5&{L`y#-TY-bG@J7e*^Os9s4ozDZ^ zBL(B#_&Z>`*fch(0Sakn6JxpYFq=XbDEX|lp*ESwuS~74Ma!Tvrp<(^ZCe!&mqa9q135<3jhZg0>+;cOwt2Ok?sl!N5^vzGhKk-EZG^ zZbMeOB1bPR^)=t?(_39R%PexC>ri$yxj@Jk;Ce3SuHB2#5$D{x)9p(hEgARDc6?l0 z4AH2jS${(_?=B^npbcVfy|KR>1pq8L&~9 z7a%}sd|C{)(?Q=q7Wc3iI)dA)Bx!eWN;aO33gtJ7kK4iXf;=0McH+0k7=@}&{*R*b zj;8wmnjzn^$u3eE_uAXNh^(w+$3^zK+1u~) z``PqYLPjL={m!QB8~n%T)NiLQ+@dn*4SKn3 z|P0Cy9H5vdNn0$NQi9Ndz6|4q?q4fp3wq)lY`TzgPWXzNm z_9vRfq`1eZz9Ylh+^A@u$HBIO&rgIiz8fVKezq>l`EDmk6z}>?WybRDGwIvp zB91?B)rkS>#SM0Q>G9-z3Z=@xyzm`XCH0#u^iO&Me87b%*fN!~Z0jd2JTw<6FmLff z%y>Nd{B+eJB?@eJhTEhx|9P7e-M{?rlk`1rHVn7Pvv#R6?w5!|n3VDs;99D7>mVhB zLvC@CbVuN*sgw)gRqgop`7gRfrJysP3kx+E(`9@JF5N{K*~}R+2zGAV!>P~NLZy=L z4L^KM3IM@>>cr2(fzwfn(~Ay_`16)!C zVmpW@80R3cyQoYsm@AskxgJ3*Sp({Z=OJ=;UHV4A0Or)39pI9r&!6~x#4=jq<({WIs(@IJ)=%8rPG-Cy&D_=$0Q(t|4sO-%!V;n>SZyU%skV@n9 zLzR;1k~iRwDdkm2tS{l&w`yvma7{-c*~1fNs6_meS?%w2!}jWGHPanVgowEf zo(cG<7fC`y?aCCw9$&NckN)_MTI}AVLJE2K*O<+DO~Lp2p9kw3x<68z-}&`u=Em2W z*2f1I5*<6=pkmv`1@jM!7=Utq5b1iuBHRf9tVS(euBYWL-_HAbRb1Ca+5f(Fbdk(d znr^CaYzQN7h$8;@PX!YT6p*|!27mO@tF6Un-Zckp>EJ&=61^8Ke%i2ku?1aKa~+th zd&SryaTNzb1|brH@KQuW%g|HNPfPt8^VSp+MJA~xi`7GCsXnJ0Nn(vJp1?_wHfeXs z&v@Q4V@-YkbGTS6hsWU;=I~x-isjEFD*Ju`XsYh0iZmTlV2i*h@2o}(t90T9myJtde(oIzS*T?hC z0#_Ai!Z|K}c-NjR{ZA(P_fyqsAgB9V0Fg8P`EsTL92-j7>Z9TUn%EOSXbew$%x+tb z^|?4TNRlBh^+&$i-iC|9?r_!UJgNnb-t>cN&PMBb8YeCbd;#5;)mA2c|zP^HJQtWw+TMs zr0enTLdni9Ej!?wKey?LHpkZ|Fl>1@;`9vjuU@F$d;BCMzo0(!wb=^c^5dMez!SU6 zw@-;?|Ey=#Azu884&ZDTT9$B zoCSt3m0g^Kz(bm3NpJ$vK#MQ!SFU!EWbn4 z8e^UD3lE0+H06z{yUHfA7#Pk0>p6`x5;6ysL5G)ZP3vX9WP3lSIO(9le_LB0G*K9- zE36MUr$sO=!gJKjLiUWZKB@vVFBK$z>6jWPA~3WTMfl`=89;w0T_NxEn`k7a;$XDf z|0`&u={p{7v_pCQ`ARZ8AnY!qAZN!p&cPeQ9IYg=VTStjOwzfuRe2(Q&g0lNJXpPr(b+5^1&!w~mZ|YaE%&~<dg@t3bhlSt~ZzrIy zc`V6Y{BgBks4Sl#vCbN#A$BExZ)-Y9$i9awyd56@q_dh_>?wdI-F<4LpY;%KA?caA zyPBV7;eUPnx?k&(jlYq%p5SOY;|$ajZ1RyZSM-dlBdg0d*A#2}KGIKSgy4LsYGygW z51%6B*J+d{C+xHp@QwjPLaJ?Fj3D%9j(5TR6z<2h4=Kv5N1iaSE^T1${k_%F)W#O| zK(X0GF@KtRi_j%-#0lx?|1P@h&e`|W$>vn?WAI=X z6_?p+&3MBZH4o604Poe(5x4Q&?)cuPc+>2s!BqJ}6DDT*y@&i}Z8=YaPQ?*6V6t%T zJtoBZQw_W)h~?_r^``uABNPB9l?5(njk7ehXuXSA0yV>Djj zzsJi82iNBmd`KDAnE1^gL$f-7QKDPToYvNAx4iH8BS4Nh_?@4Kk_ zRf&Y>*l@XXIA-`Qo@x}K0qF6T9P~vWs^l64{;eTByTC= z`&y*IP4_9-OWsR1!-!n3j;q3lC{nwIhFTE|nkP#u3r0t*5dtBH(*4o3QB?=1R^L=0 zdf&cnLou~&dx-3JH7;#4^PV{tIz-9yZx2ce=C7YiU&!Cg8N`IYAeKM7!<%(Lecp5^ zTJol9-3_-eHwWoH3!KtEq7bvPf!>)6-kmVGx{b#$tQ|82Wl@n*x%8P8*jQ2CCFINj zFqPgJ0YuF*nox^x-#(p}xy5cS#~$dWZ~|mTQhR7g`{VwOYHHiZCr~O9+)5q zX5%|o>EIuA?QK9;Xj13*NQU3}5#1QO)$CQd2#xhOs_fBQ`0t+sNcg)P5JWTPuIP~M zjK7LA_^JmKDMnsVzQg=}DAH;s!h95bOo?=>!@|RGl?vPHZqRlK^A__Ar2ioJ&Kyg$ zl^{Ms{i#%co07-BYxbTnFMR{)#CV_t^-zDYxg+@#P7dsAFVbB`uEb3^_^_5NCu(dD z3CfiHQ+)T)^5;sdfD~C>@SMJZ{H-ndd9NB&XKGm7nm8R~EK(>b5} z^r_>@sRwABQw33RqVl`4%47o^V&2T0Rsm{Dnr9vVLTGI5Uo9=D9|WG?UGpcO40;y$ zHzi_qt2D1fs4J#FHhkA?Fu65jxnQ2dCE)Arfwz?>zpkLRBE&@ejkw64SGw(^!p?c% zwnqV7`^EFW0`6eg4GdWYd!Nb3tn}0%9MzIIi+ehrnDX=5>rI-k3p$$H*$FuE^>%0n zB==;>I|?CV_FLY)16Yz1um7(;o}bA4`J?f8mYuXcfBpYwrZXlWX9@fO3%h&|zD<=B z>^5&!So)t#`IcSW#HMGCm%~{aNz2A2kfnP=RR5XuT}aWlJ)6AWvI9!tU)^_#@g;w( z)GX|MX;7PI`9Sr-oA`tNdf%q|rFN2rF)v;QrA+>ga@YB^61TObxk~4(fRBBN3M0(~ z@+pyrY7}y@`Cz+SctfqxT2(B`2399c_8+OGMA?hog50VIc{Zrv=wicVDJSWB7K%Ko-8)0%8P?m0e+`TNwIy-T>1bJUK_j%XSzmLe z(LW;u@{-vk2OKrhq}{Zk0qNr~^+?XG4^ptEBKjoaf{1qw4T-6DVy9O@hO`>%)|-g# zFtYm{8Mq@@GE|Fl(2kej>9fg0;9`2;i+}vJ>_)^LXta&ET7x@Kgpu(CrxdaN%}yN# zvMM}MD4n_5j4YBw-m`-Vt}7cD+KFzsLQAaZ$o;C5VOS}g-#DNou+RKuTFTY!z&w8i zP6A*H>pvwde=ah3Xm^U zPM?>UtqU-ZY^I5#rH|WGAX|=U4~ShOmuVp$Qc`Qwr-O9nMl3n#IsdTZ=Sr&xaD#NL zobb%lOk!9#GPd=mgjyV5Mf&~U&X<4!T*b+L*(?Mc0IluamSXuX?ZP*)^0+?td1dPQ zO<(4w_;{)cdcK01>TrP*&CQ4VyD72>VVBHAJ=q|N@pD{GM1}hBAw@CYihqmgeJJGAKmiXE>4w1x4Pb(h|%%Ic(R5l+|NM& z(3mW9FS{dOY1F5{t^bJ2Z>n+_Y_LKy-^(n(sp8qZof0MDdDTdJ;R&$!yZBj`h z#osAATE@A%Qd$b_RE7}K#U}r7lbgTyqhqrBCcOr-wPAKY@ z+zSqD*8?l5`fXnl9eD#9Ti(LFN%O6p>@0bsV2%pSEz8wybv7h5)z~bkF zmg<>L5dxpt|%C`h*+UDtz~0f^?35cKPba=4Mzx+59^FeOi!_@_1~ z`B^8kQo4AZT?SS96PdC8gW=sJ;Mso}cEewS+XIqIfJi9Ug(Gi2&{DunIv`5jA3&#F zp~y56WE@+hBTE(o_Tx4e(M`rtB^~+jTP*NZx~L-oL`#9$p64#8|F$pXB-Y<5TX(tV)abz~Utw54Z#8yP>>iQR1v2sPB}}!M z{K8rs{B0Uv{PCCiSS=iPTq=}TF77K4TX3VWh+ceT*Dm%cy7vaBodKHp{HPzl{|v(? z%5D5}WMC?N@JQrCa8;q`Y!!6Ni`??5t z*pNeFm!`mA0~&XIT2LMUflEMRL$xwI;Peg_NrYOd;krtnPIC-l_xl`g;>V1t>l}Rv zQm%apZejS^pS+>R>?C^?=_@{2$T~S}rSWy9-9!^3!NNi5hWx7y7} zZFmXq0N(GLPGO7p{^>H0|-Kk|Z#dnMho^>*XzUE(+gxLQQf{fV%gUbDu=xr6S!VWoCkm z`qeZOf(=*>wYO>so-CS@hM>i#^L;Iw~W{R zDnpBHHd_ZzebBnh{8HQZe8SZAm9)Nkh92cUePlDN?DWcTHVW?0*=n{eb@DOZ4qlM) z24JGzA%sNZ2T-P?#VY9g^PoFpRnwfzcEH%<+w*UAbOsD>48O{v9DaO^%vJ)QJ~5-X z@V3tK(?njs8T0JRiTJ(7veE@85)p8U*Sh%IYGa2?WIBM&N<`fF{{HQp@Xw?iSGAY2 z(yIsy-YLVE^-xK6@v_E@oAWbmg>%1$Maw-$`S!*)(hLF~N1(cmI~;1Bs8x9xz8hh`eXO0F9zLIXL><*`h%AAT~JeP#Ao7%A?i-4duOSFPHj z9pam1DDqH%Tt-ne01c1pH7O8qHgy3<;-tLq`xbb}@vzpXdW-95YvhTCRF_31%Gb*a zBspqWJ7q^-HxIMBb4s(`sGo>+4f7`pE zofTc2hoLjqS@$5{g^p+=(eP5#gkT;Z*Ny_jTlwnrjO z;J!{%!?oqaItaGuoJBLV02vY|$0u>%<_5r--uKti;73Wx08SA}LU3&;&9n_dUu7a$ zo5F716hk_h#^;(u79LmS-~$ugORJuezk6YC6j!Q`JDCEJ`9pDk`)6<@r|ISZ#&c^4 zV+y&T_b_ctvq-M6%LJ|OasQ{uOmZZ+o^zGckCUqdp1u`ZdsIZ*N39Y@pBQb}4z?nC zew6#I+4zSGw+1gV6CHKYg8~SyM;nl1g#t=DgyMQI)%f9E#olfE`4Mm(RRkIyH+*~( zP<8uwP^D7|Lg2dcTZ%B%>~P8?Zz+CvAPZorhnBfaPPL#coIkvWkIz9?nB3W7f{50^ zu(ppDiTkW*4QT^aoT4YF`tlvo3$w(|N*Q&t66;*gg9OmFOk>u6$S-4B7zcR5>}M zm`o)&#&*=HPuo__;0(^cOaeQ7x1tYERnO@NL%@HdKl8u-G7s@2vYBt*HE%6X;Nv-M zQoj8spTcuZ;Y}U#$@Go7pYu~HSIx4hxSxsQVv{-on9zalML}=x5VCdJeB|f#((JZ5 zJDpu_N;{Wpk#F={@zDlCh>8O4Des-FMZGr)wvSZw91Qth}-b+$SC8b`FT(#+bEiV%+UGH4?d5BAWFLolLvIU<0< z8^GaheF-)WpSnyl^t*XyM-r@#Gv&xY=9b-1D}m}JzbGsAVL)=;CoQ#pih!xTykb&= zA5F4fcr^ZTKmFJacQ`%q8p=d7CA#?Ak&}4JbBO8P?M9RfH*{idOIUs!u8wPcO=@~? zbMKCnU3+Wh(i*6LpYDJ(rGzZDtJeFj(^wie@Wv(1h$@OrgKwXakt@?xcHO^L+c_wVh&0pqUK7HCX~{3M*xe5%d2CaXR)00tF8GV zm&Z8?JXpO)&fuTGgPcLhbgiD9$wE@C-jmKPIJ}KiJl(>l2DKE!Pj5P zj;`{Vi4&JT7~kje;|lmHB>#Kyo4TC-q}?9{?ngO3-J?1{w<5pLmGl_uq#Q$sdfi`@ zh4vmx=P)^!^;&LNZilDlwTJ7hAPj3+YIze^80O@ba={OShmSu1-!G7=vsk|-3a_p<7FxT zysw+N#pT!E=S)uL&-}_)&B{dB9%m2zG#Ga8UJ1^RidehcDJpG6XMgH^yMWCbl;khE z+}s!>KK8FN01*Pn8z@eExgZh`X)kNa{*D>pqQ=%UN&&9O@%Frwlv=;jj|!hIF-p=a z{;K!uN|3~#)kB*zxa=6B{-Xx{CB-HqTBn_8TJhe(mxReA81_H4{0{R~`gg$r#um-D>}M^%)UM%=-SM5(a!vb#Cp9! z1oPj|)MeUj_XYDcI_+i>L{pb|4pa%e{Wn(YZ!1t{4v)sPmA_`78vJdm(Nf>@Q5RRG z{^iW&CB*6|Q&z|EF_2y-(Zwd{d<^xLToJ05I~6nBkiuNAu<;`VPecK!mkBL$x%fkj zfauvJDO!^DwD0l{`FoU&k%h1M{gq{V!Dko`A&MN=BP8AX3F`bEOsM+YC8Jn_EFJAW z{W$%FO$3ISd87mpC63#vi$AH55c07rIFHMb@f)|K9JmfeK=vK5Wy(XJqdDdG&(Jou|S=SW2M~X6(+*4gDSuS z6YvRM*pO$&zLzH190ti;_eJ4wx@gm5vk_g(9~q=LCZCS1aSYGIgAgTDk#q)f`63zX zNzs2-?F`lC*lj1@K%1fqE21g5<8@!o?miq_nLpWE$zAl{Pu%mm7hmt}8r}I`PU=(EINnQW$vBl9g=z=Wx5SX7~0%2(UpBU}}Jhk%cd1^bW;lATeT0hw0LE zIzR%sms`2%*y^#^^n=w=@L+*x5Yq$h>33kO8`Txgq#;?a_1d(fTl-qy&w>XTotvW= z&Zsq;E;p^S7LF4~KzHs!`>V6KbFRlvUFpgFN>rP0tQDm;l&}6=JyaLBp<-)f-p72L zjt`iP4!-wKM3U#h;?JVh=Mt}^SN~%O*OCJ#(mQNcNP-X2G#37xL}y0)2Cp1W^x};; zAW(*=)@U5l9})>DTEJWCZ^BzYtyi#VdyOS%8XNr}>)d zZ@!)Z3U zY>iFYUlv3+I%o9>w_Nu717|Cb9^^das^LM{{4N7_E3PbR`|s+Gre-k|{q8S*z9w?U z!dYzE+^kpl?^7RP<~1Fq+ZpO9b>g}o>=E8?Y6aOYa@0o5Rn9Kb-(Cva%^%%Ley7^+ z2Q~ju0Q@hfC1kIGsgb`y0n`mZG3jdLkL6ItFH*wOJjoqBa`VzJwF9epVdEB}1ETlV zS1hqrwhv2+WH|9J1%6+oePeLH6roUR`Z~o|!lg^D5W_Aw=s6j9B|hosrd1#MgVz0M zL$FZlwZPrDgLWX`mLFvIW=^Xm zsKmCuq6ypgGT5m21+$QopWj98H_z^HA0z)|GYq%eSOYO=`fi0|dWA!Un81>Mc3~tR zD9)!pbVrAqQMm6)Jy^=W>+tV_j_&EtaRB4IeM(26o0&NOx&&2GFNUh(eAM=Ypx^M~ z9evlL%*(t$@&ZZf?YbS*>fj;h;( zLs~=fgyoRyR(&{S@532;vwIcoroR_H z4FL8HQl#**$+=L?sv7qhu5P5f=4#=f)WQ94e-o`vgwb2-&gvYYxSvU*a^-4Wr*(}~ zZYWbXHTY~KLlx&*0LVkE9M4(4=5V0$5<3uTeVrZYrysu(cn}pvVo5yzi3vn$v?}aa zoAS_XE684@_icpSEnl@uD=niqjp4u&} z&YhIbd;+aJW7#sOM&=foVwLZrm3!C}PWj~6$yWILK<65T+m8Rr&AHldo>M2@n(4pt zquW1QDuysO!w^yx{I3#me~s>Y3P1B2X6Z6i$n|N=eG8MSVc4U+68Y~+GHz_O;16{j zGfh4@Vf5Oc2^=Mxfz;tV6I+u`)y{L*15mP2h8F2Gyzu+Tr<*J{177tI-CWAy(g*k! z%arhxGP~DduxVJQu={6KXd9zaz5w^6UX_Vrgc6f1y0t~`sy@nYI5(kW+I+9wZV{KF zh_>gKNf@wXA))|V~4Bf8^ zzk_HzEmdN4=Z$F9FHe9;5oabRUgaR~P+l(HB(Ow>#cBS4_w$~jAN|5G(%?*bf1UXE z-4ufySS3^AO)3B33K1)aps@VYA*LE^n?v=DxA~CGNA)~X?ZSF+qf%UCi_m|O!)2ce zB&X=~6^oLv9y2`74>)9q3I$qNAKOIR&d>k#4Kye$=pKXrFWs!}(5 z{V-j`aGPe$zc3%wYAY$s1+2F&XPWT7i_(2__)&rLCn5HHtkSZsd`AWjFy~>;Vq0!~ z+Y2rm=CFIGkcGHe@D3;8j9bJH)d=0=W)7tbdH_cI%=3DMVlC}h z@8m#e=8>1})nN?1c*vZBh@zVQ1k&w?&cJ3HrYxN9#N=n=YE1j5zGC>xfmR>WI1%xZ zWZ8ihmi}Lmih|kj2exvN{JHu1et0Af zwYvzqPf50ONB4qrR_Ct65i*E;vK(#^k=i+Ab8jCQagEH~h zoB!0znLnzUJ5j&@?>b;fb!CafDBU{CeSvi%Z^%alMD$T4DWS$ph}4(CrS6x>Wc9nQ}d9#EIl%(aVsmmw8&=YIe>1P^2P++tGN@ zwPzOkzO&VQR8DSUdGFsRLizrd^!_O=y>FE-+Xxy0+v%9llswP>*K^Q+vrM{M6$g(k z0Pgw~pi=0C#rgu{0p~g>0gW3C*4z*tCdGBnyZ%r%`w!-A=e-~mTkxwh?aLPFi~M{( zJ@Uy?Wub`9D{&0OjC(RVh*9sB?E0^ju@4TN)luU%PhLfxzWP~_CMngp>Aq;>Whbjm z;pcUgHS(Kr?bCb?>WCJhM%)EpP}NTmg#U0M#4bfkX$r&WMk{=6(P-Awu4@ z-pV$;Htnp!%Oq^SD|dN-aPIzE(nkTH)oy@Ro&{A<A zv}?=ByaeXxpjL;z8XmWzY~&3RrvwC9{D5P4ofZyeDyV!RMp0qjW?hR8 zg0gOyOjddEOJ18ki}2n0V2XuK-7KhQ8adq>0ZxVXE?*{MK0`TXWKeeVLROAq>qb1Y zcuBe02l{iOc6zvz!FCr=EXs~xvszCu(-NNZE7P{%KTQu$8HgOwA#OXy{YnjKbfxTc zIfAiyfdM+}S(#GA!NB+VkTC%!@XjA1zd9E2cnz^b0#DN9#bD}IYh*)a$YThE zVW#or+uN73`c>vThcE>$oZq`+@h=mO0?b$U$K2ml-6%W)JKvL{u>Ka3ZNPlt3Oh)2 zg_K^qos`F-io+?)F(9NS`AKE$EF?WHJP3N?O=?bY@nzt0PMa#Sv*Pa&RlwQSUwMJ} zidvApNFe$l-8AqM^GY?rw2bOHyP)TqvU4Y09-0G>?_v-e3oZTlk0{U7-{zb6pS3^0K-;T#1yZsARY zF%MOatoUhmr4LWvk4thS__fdPfxLp|VdMIlW^qb#fEjO^zRjoxzs-rT_?zz5B}E&NqztjV%R0cnRwYHO?ZO9f zWaiYW*_j&6C_%+}dEH4bG&*tolkpJ?R;y*svcWjv7!=N275MX=(iwP=E2R5Ao5wxn zJzet_x5h07EC`-+JKnhHytH^s9$h&saaxA`43DVRAeRI0=}E{c;zJl=|L7gk6D)g; zHO)6c`6efBg?XgD)e~5+B+2#W^mTIGC=>iI|?wxHFQxk&~|EPyM>MgDwTMu<6 zCxXqKOv#TtOoxKfC-$l}c^z+ke}-k|4x|v1zb$^iL;-BZL&&enO-RbPh@}R7acD0w zCdfWbGB@Oi(Rony*Y)pF*0S@ho#gQ%5wPn+XNNh`5RYL@i_Y%p4^>QySu@oDOb;pHD(K5lZVPk7l3ktR2{U zeBExB^mq{F8+Ra zvEXYfMMq_pZOlOHBNRdATwAoKR6NUApykTS=_g3c7F>4>330g&x6tXtmi4g47IR72 zX*#Khl7t0Lgd5~o-A66WEZdfF1i^^O@zFNH1`kLE4ql3hx+v>#I;cu@84cFbmCImi zNdns!0#;>-I_87;4o50K3Rb=IKyBhgVT%GjnFsq#XUK|YHyLebYZPHKktgDLv%#Qc zPanEKQjoz9IgW{3`rLQM=DhKwjbFcgUe1L$;r5FpJ&7#zB~;F;uMV#>ti3#k8I)(~ z=#$<0qXc%}a)hPRkaI~oK-<5k|5U_JQBWGoO}*I7iwPm!8-#fy$+Tz@3ix1XF9zgQ z0s0Yvd+fqTcy-Yjh-#IH8wE=&6RWM8a8!Fc7YYZ$!ymx8^210OP$>-yF}DNk{Lu>k zf&>^-j=6}B=jHk{BWhn$0Nfq!;P9+s_V#enuXVsX;6BY2Sr~&xvv%K%_VtUq7at;i z{S!zkZ)!dF9p3&R$&@wjezI7Una0?eWGwGnwSJX1DryUL>RLMtAc+b8T3-H>{mX;p zz7~^qi}T2$>BSDOed+_w(cL?^z=DNrHmD7Gf!7huTDIR+<7_GUAuEs->hpt4zbv?6 zT;K-sdw?tsCiyzP59A4prS(3G9A3iJus2yp1;9~gI7k+^`G){;X=@UHJ3@LyQwFzc zhaXZtW4t$&Pm`BYLl)UoN6VQlK472t$IeI4U9U^%)xNjyEKm)E2cTBz);=A-o4qDQ zci}AkP>RsfW6`0@c^{*wP|b#nVVt=mN!#SVtY!L1k74a5K+Svg?qU^E`gw!0nDcpa zF!!XB$%)K&1>q0EFSwkj|ullsI>aYyy2hHm?e1{luea(c6P{cRmLy zzj;u2^FRqI_w$W19`@1cwv!;TTW11ON63@|Ag@S}q{B6m(?FL#JZf$JXLimv5?|jy zt2EsPvq@p@YjSew%w`V%KJC3*Mwsooc=<@|U{h1G>HT)&YQmY5*w-2x@Cp+_3+D^* z)1^iS$3fs_y@x`UF@IrFu0LoAGSJdgu=yn|KN)akGHf1fudh@Kiy5V$ggjfYWcEBR<;FBdEhcs6jltG{OpEx(-JVbai3=s6QXjr&T6x~3lUj8 z8S_@(+Xdu2BpvEvBUc6@+NOZ2UYaSiVM_}R3EvyOYSn@QXr?39wFp8dCn0u>#1wiG zbXQ6i6?T2x`1CP84|Ov^>^G!i$Ms%d>!4p^~1>U#ul$IOwXe+_Rd zTC!XM@Gh@uvAMn;$nih9&s=nv^msI8G&fKiCrc-7JbTPUch8#ZP4%bpd1}dHQV+nu zh;z=yFKhm7C z*h83MadqS+xlCu1_^VVciLsl`^WYknZ?zp-JS||maA%-mA}-}!y#GAE13ntpbwWZ9dcW5b|S}*Re8UC2- zYJ3Ti{#T!mRwnx^92pwtvk9QhYjoF?D&ABw|D^aR`J-)55<%O-8V&?Rnr7P`q`W}892hzy%?=sjhl8r z^>dh<#P_oAw+!P#Q_#4mDX8ZzcM@=es(&QBH8ZF>Q}cQFI;=i)YzKK0FbGw_T9!Zu zD#_tLGTwR_No7d=r{VTs%YWdabW!17uI?dyFnE@~O8%dG#SOf@x)$E9ly-A zNO53C;rEa#K zT|>Um6J3LLR|c%B2A!>{D^OLYsiK{QY38NsR%dAT2M(7TMY+#|?<{_)m$qv1RrK6> z(ck$?KhF8RS))MZm~nw)iPW`xNw!JDY3aQ|Dw%&3Lgreh5IcdrfbLoPl2M2~3u&{+ zpM~<-f&OrT>4#wcm{^y+zDI4fdOx3%A(&P>0Q~4+%Rz+Qd_r{V+xBF>w&j=a_auxe z&Nc)cYX4^Q5i(zE@C)oh&PQ)}{;KG}nNFrBH@5@fI!e)>^L>$cUi&);QZ%O;VjMKD zh2xCS@~A%5`RrJo(5ER&G4K&O%Ukl|?c=s~V9@?3CG|2t5m%qu7@poZ%x*D&OfS^R zw&)qBnB7ja)yb{lkEBi1rQHAV1vdVF?}3nOZkTVkLN+& zDxk23G;h;|XnJYH7O)(E58)y2mdT_2KzXPe3{`jIypM6jNuBDoTR9Kwg@y+d8Rs~{ z`^dHvd$E}XzO*dF>Z@i<9K9RtV+GNY&Satvfu@x{^(4iGtG9f1_z!oWo9q$P_<|N1f z1~_o;-QkaLUhMOS<|&xpmJs7(3Bb7%oZu{3${gv;vUnffP!#EVC zyElxKbJrIiiK6XYI%;Kl1j@n=ZhbbfIFht9Jb-UMf3Zf&5khr#=kCGSgi0AY;N7>ia*zXDfFN#;(HOWqQ_Efe&4C%AY`&J+Sz&<8cj*GTOT`{K- zCoy3eX+lddtS%=47vONTyogCZH4Pbj4#g>RmJ6AD*dKhFHE@?Dw3g$YNM#BpmF_?w zQ?dKuJ{i6AG@c=f?NV2Q?}!=O%4xv!lg@lslKE2`t?uf?-P4wn%^HjTfbbi8ocILw zFU;rDc|K2NS<>uG*jUib2}0YSp1KQ}^$gm?+9zqcabD#N)AL57$&Us_0>Tc>xMtRL zJnh^%C7FNREDIu)GffnQGVt1oMSrI#TLumlw6Ca?X)fIdRpEW1;D%+3bCxvXa#YyN zfdJQk&$;UFsCBkBQ@?fbfTde2kiC_9nkqZFxPJF(9HiGA(enGtk`&#>$1i zYoFfI@&0bTLheqpSM11j;LBH2uqB8WxXvYK|5g4i*Daa-Ol^+ zvdxCMoPKk`SI%CYlMPOU{g_vWIbqFrui_KOej8WJ2Vbi10LwfY5YAK`8_xgWDh8d; zSWG$#^Jd5Uyc0g}E~*SsLKa0^P}o4jf5<+Q6D$zrWtS_*MFaWd@Z7NC*RR_{Txv&8skgNf4B58Pk%gKJmJ0pRD7gRO3@RrzJWwJjL z$Yp&eM0Aj$Rq`d7l*s-gJOWUTocsaHP#;qfi{=TyyKF|BDkid|?|n4Rn9@oWF&xN; z6^Erw{+UJ)fB;eDJ*)%eCX8tIF3oUwlNZ73^($otccY$Eth#O?J9)8bvpKspHQ|kL zEWOY-+0@Xt<nc6BD&?dgVoxpF{N?FIjqu=?@AJFvp8t;Zw&*3y6;YE@gO$AiZ5db|msj(mN{y;VVbxNPBa&L0uQZEK@6sVNSVRMm&|gGh8; zcT7Nr=7Sm>n~AK67Nb_=b}!yi;_L;7XOI`vfN;)ifaPPXqUvk=Vr_Kb;1WmztSxMe%Poza*?|gPMN> z+jxUJZdt~I@fD+g{i)68BO3@(4%ADKwma61`lzFTZX42Irk3(tz_}n$q;nT&YyJSA z=sj-bbw5;lxsT1guMhTTncT`Yq6P4E#O4oeFZc7ab*S5WUDIDf>^B}ZPEt<{ayD1~ zd!?<+oR!2CD)Ddb=e;2d_mOiwRSC?s45Upf&bInehYGsX*ZwbK_c|HXu>pF=O#BXS z{@KPJ{_=)g-X>1#uPUNn)Su(*L?CY9nmobv=Rnr+)p#QARo6U)R$~T_j+`R2^@r*VAKR=TsW1|7RZa=^2dvDg${zZb_58Gu6kDYCA6#GJNvw`)AtNH>EwFyrbvqLV6i`Lcp(e+o~Mt6t3c7-c&j_ z&HuWQqE8$9j4FIiPge}xMd4L{3vD5}@Zk&xw>i*Cse@W&k$k2ORPNytx`pCzGvmvI zQW`><`qyC!x-3Se1r}r2ou8+_YGg{k+CMmISMU!t-WQ8l;tZ_Z|nOU z>S{>rh8vYByr1xt36}&;j8nOZT_RVu9bO?g2Wn)m>OunLuz4km*;14{T6j= zrRncE@Cua_K>or-g+W=f-tllgAwPKxJg&eibO>j2vMZ6J6JOzmAy7X}TQqzz57f$L z9y|hhk_k?{nh_orT5BFs?Q9?E^B_zxXIx1hG%vfodSbgz%)fEuzdJ#4Ve)hbBno8c z#s(Lzy{RW@F49nvWZP8|q=N$Dhei{X^v{YN;WF4N4E4>rX8zUI`Katym<)sdGW{OS zn0<(1wa~Yl5=c-#OP$)OYR-?wmamS=nV|o|QdYvZL&AR6_RN z?#@Wa$d+9xWt{ANNA@P!+*#pgob7PBDOUBjA3)YjR*@_MeDe5@4k@Iu}s zpH-R_D7jXypgmmQ{(H%MK^}PnV(VtJDO|Gr-wNf{h}oG%x!-_NxkGiFJGc7vjTr`I zt9jd~V^q~|cIo1nU%_;Q|ddE~`I(Wsm|iXX!`@g!RWpIs8&L<8uw z=77cfwz2qkJ>Q%sl@C15*?g@qY-;eyeG?=4MCReB24;n~~_JrmeD(5XJ z&65`t9MR8{|IDQ09Q**EY$vsegKXH!zfH%V0$=bsuVuqtO*Xi?p9`elB*AGaw=bGq z&5@3}kr)!!NPMkd*Mz}}=EL9b?PLp4wiJL8u_M=Vm5s$^Ie~JJS<@>nIb6V(y%%ns zqLwMRjBSHTH$Ozrt&NKoM9ugmV`UffgF2_ow;qR~8Pqk}ha#FAqKaUMSSHRbS^{?( z5k|%2=ispN-#y)C;ivnQXHQ@X0ZdTMc-P;R_W`S6z;_UF*Rbx=3i5>M_08o+Fc-b? zuk*@4rI<>k;(D3$oN-T!;_8i{?_TEGE^2Uq{BqYU+1%%f8AL?@qp1{L7kX^6Cg~j{ zXnW)-YR!T&l4dExfZZ*QfNCWEjL7)AOJtM;z6(XS<_FrYUm?SHrgG4PkUn)L2}PGy zcvJ+s>hfKPIM~IHbcTzNRbA=eqJ@G@i0;O6NpR@qz@AzS^pE0i{X3Ebs_b{qKmK6 zev^XpK5+}OY9Gq0JxXVkQ8cfOBD}&&|4gO!;uixkHICT&jTm5qt3m;Ag z)-Fw*56Om+wzp7-tsW=JRPQ>GMPjPtz0@rEzDevWk%|x2&S+v}LyK(S?yXt%Bb-Jf zs#YQ|G9J$bp!WAKfl(#T9}?3VM4ROPDYraUMTh@Z*i^ftR`cQ5NPrtL<-_dG+%dr; zq~nCXA{x4U^0rkh`?IQ7IgLUtCAG8=L+y=*8Ms3I`b9E(&Quo zcEFbSEa7H(7moilnXKJV@b_;_RVsaDG}GujN%(0LZ2awfMl2@Q>Vyk-fD-rxwEUoy zVy`HHm@St`!JcV8D1$6CotGxk!Pt5-O_6f;Uo-_=+yR%5=mt#3phWST#6@oItFEdK zt!s8`W6OZ%&*vflxuZ1Vy6@&8UoK)0(IxWQR%yD)3~;AwwgJ*j&VWlyRNk~ zEyjO^}?J&pn|WcJY9YdfoU;I&NwC)#XBB&g0g%ouOSN7Hppu z2y_!sXQ*1cPYr$9kEHv~e5sETzG<4NZJ&B8MRFCpV#m}>*5O-QAs=k?6YVVER}_SirPGY_;Rke91QjUc0pG-%$L1+>eYaz0NX+JxurO$A?jqvJLe~AV+O< zUnV6Xgfl1{{h$d`bs7^={ReA$^s91CD`{0|&-hWF!2avQTQx6mbfCi@k}mqZsdBS? z<)ps?#LF7O_7tC}Vb!W&d+`*Z&+irXL&xf$7gCAGqb(*JnJT-PFgqkSq)0r-C9bMI zQz=lv#30YiyiO3>q6Oy@$gl`QDoNncU?mS`8ve?Kvy?@q`6ZzJO&`Q(v3BZKS)pUg zjbt;{5P7}-fqTCGVGdq-I!v}v-09`T3C@_@2}thmFv7_TZUP8e|Ak9|qO6qyukZYN zy(xljPjbB%sGcm!Ww90TzX_X7y{ky#wg%o~$eQA=oyOBkHes*bm>PCX%IGo1Y)!Tx z!S2s2|Lg=pUmn42^01)pGAZrQB=wb_>i~-ns_U-=xeZ)`2S&5jP7I%+*x8PTF0}Y? zs5j)Yl=JcEkJ0V-91D0-KCnoZSW&v~_z8}RIoD9C=vM>}wegpw3MCV2R=<78Uzw^A z_2Oj5HGX$|scHLuKhHF`U8tq$5#piVc_y|@exjSkbg zJJnskYh?L@aMmkLdhSFf%0zy{*XCJ(zk|OiK|kJQK8-m0n5JGP_oIkIN9AFB>uNKF z%J0VVIyvRe)fQ3!HH&1q*0~QBg}4$g|BfU85bI22DNs~mK6f(@ECql$Lo*l)tIopN zj{^oz>}(8>S9qT5T0UhV`@i~OalqBBK$f_~()o4mf#H!Qb z$*Ula&FRqRb@q!+yz*qEm7Ps0{;N6$&iHFU65C8ONEA)6lqHA61S=nigl8msveY(A zYZdw2R+`viMuzfenIbRj{pWH#sReYXg4w?4VKG6(Ivj*l)y+8Ub? z#C;$~pRoMjhgN=-tv< zJ)LRGY6jQq))rP}>fHL4cY?SQTi=G$tL0W`%9Qc9;upId#zEq~)0SS$_zm>^OS4lN z<#es|ngh(h$pNcsATr|*t4ea4^)*wV;_Z+IwssJgdyt zg~z1DaXshAy6t0|s~eV7Vi%nv+Umi_f3ojaE2wdv37`ML_rljHuxHLkR*wcEzpL)_ zCAHL8t2n9;)O>aWn5;n*=5qV2X6Fm?2&!NHaQUk`kXZHXlN$;KpH4iM8z^XrO*h06 z%-%ynQWX;N={r)26gC2m!>7n_XOxULyXe>nG}jW1`ZNt}t{17f?9&xPu%}rxn18rY z)SmnfY$Fr0XQCkkDZN~b0bwNfGC{EH=v$4~_ne#;oX+J?KCZYuAESB|J?{c7co>tM zS8Cz!wL11NNU=N6XU!7yd|i}(3tC_Q>)u+|>KlhGyz5w4o9jOT|E_|EijA&5!Lk)g z6M}|@pM=IiyE0FANU)sG3*pceO4&?=p%RAioyLefLOZht1)Qr~e|fUVQ9TnwauQn& zDW>oHUw<^S()ks|zqK_hE;@B5*^`k>66jqCF{sDf9fhgSqK$52=)31=JB*Lo*Ky^a z>x~sOAJPvW0?ec6jb-cFr-o^`4hxEw#MQ`KN6mh0bJ+5txZd97`+Q3} zZo=a6>NP{)n0qgDQ6T7J=3pH63E1tM+(jGW^7Mei zMfZFC`UF{x(4X-AQ}X6uXb5NelwneWN05z1)ukc)yxdSN@ZfGzRN$H`e;1Ynzz#u| z4)98sxs(?#|1v>Netrtw87HN`-sRp?1B>q-pRM<`X(O;nVDzwIzQ#*B$m9bJ906!) zx{=%<=3QbHd^sZ$@eeWghF=;oDYVPOt98(C!9Mh}f&t-F(;_lNB{i{4_Kg-YB324& zUno)a&c=RhGiBRw&vW(7{Roc=ZZ+y*#!7_@6+%-Qukijd+t#2Gj`a&c=^|Nl$JXCQ zV4=fsgQwu3=e3j!_#B6AgAniXM3}A&KP>d2%AyBi>(j&m(Wj=ha2fL1n8L7A`QfDN z{(0bzG;NUWzxa7DU7AdpB14SPNrJI?)o~m&LG(R|_}%)_tEjSEr2)*%YC&w8Nwslh z5lXNyp0~4h{oe2#@=u0l?sBE;PtLU&O;#{bk_!h{0_Uw96|B(KXlZc3TURx3ks(GL zneceby75H9mxG^<)#%lScYr-tN|nzTNH8P&`#eSDK8GvSt?1?6<%KJH-L9$;N6Gq@ zQb`1W#?4m7)FAXr-`ERy|67u`@VR}izqkk5FjF`EUBT^gPz!K!x!uQ6a@)^?zw?XT z$9t2Uzu#KJTHNgIm69}nz@$KH4Y^WUfF-n0ABz0#Z+C<{Rhz+DEEc&|IsQ1tzb@b~eqAf@*dv=K2_(5$K1-Sq4%nzv`EISxm}M$}Oe1MI#-A2)dQa z?8txi_ZU-giScMGY;8cX09g_HuoDMD}nR;@5ED}<}9gDFo zl!j$vhxfN5T8y4oMB1QR%;tu7GPz4a_V#JEzlyBX))WhL96P3$NqX+FF6)=4+c?Y? zf;j(Mi;1w^mG0E*t}G~hSNZx8y*m{yI4 zlxufE71uB)MG4r;Cd*k;LeT7y0uVKVS!|0j3WXVU>Ej7fnFipYyHOjTmH@clc1+r6Xbz{grc28 z1{JX^xP#_PWWg!w{+ZIDxLq>`4CH^qoKg(D3pkL5Xg8)xE?q)Ix$KVN%8>I&01vt{ z60^DSYY)J@9gXJc+h8B&;Ld-}69yWP-!AptK8rn0IYYHvL!5sr30_rmA|y!A8T6j{pl@WZ z#B^r(Dm%7&$6V3vZo_ZOzt0# zV~okYX#Toz%CgTT`Xb4zvhuO_d$7fS7IQP~XWPSs)x^RK+@=Rp|&4Kf) zn*brD`cc~tR=k`e(Pwa&`jBzE3@8dKQPS+{@3*|3zpPaNO7NT+!99|>BI=3}X~TG& zZ3-2dO8nbV`PG+9qfi%oGl|k)A+v)|xH)Ffz zQa5FYs!bup)bbrw3#m#mZYy2#wK{}T%Tpy2pC514{@AA2!i2N^cJ<_{AeH*c9<;Xu z^38(5BhW0rb+lZJ5=eL%j6#lD-8Vi33$I4k?A#g{IQ#NEn}*4A!vw3>&FD}Q$VxY0 zZj}8)-Y)*_@1KQ9HDT3yEtUro%$kE%(XQD;wDLSR50oACvz6g)dfx^YNdX8^dyS1sx_U)^Q=P)ssl zr^K`Dfw8J&O7`(y@|2-l^Kxs4yprcajXH+vqLjgna-NDq_;U#4uzy98M_r7_!z20>oN$wonY-HX4g^g3!)`j6+ z6$h8cWup3=sVDxTY2%f4o%q@U4Kh50!u;=T%92(K}V*!vY?6e$m+6t#66- z4e2y27|OByo+{ro9QYmJ1qM0PL(eH>ql9o$}CuBSRFqF{z1Xf(hV0v@a@09gOz;1FWxH9NjC9{#~QFQ1IzP~xZU-6=>lO|nZn#o`t zHbx>r$OvcJ6KaJu$iK1KEA{+);dUDE^8@{!eI=A79cK$78W6jXtzVQfy&#`tMoUR^ zADiQp=P}rcm)2jPN2RR-XDJ#5W+{p8BJ2dK#quvQwAA1GM5>zE$|LxGZE(g&tY9t1e4(*?!B0e=f%U`8{8;RdS~4E;deo3 zVNSb)9nu51zaSIPLFDEYM_VT4U3_0awAUS&c(}v!yLxc{v{||92k1LXklNsf9d6*9 z(4E)DMwQmIASBgeSQXy|-B+=c=yoUGX}Khgo@eZogIzF!yn+9~{yJ5AUPQWl@@II4 zaz2Rus8!Z&-G$dOm1CzdiFF*q8XOV#$t*{B ze_Xp1le!YuXlpj6L|iD$J$U=pneEWX*Q;q}G}DCAO|!&)++w{;pK*x@<@aybb8XOs zr8KvT{*Q|pG0wC-?%5PWIZsEeR&X=lO59w3)q|=UbYk_My4y~=>fp>?+&g~a+2)!i zBFidsSTnp;^CKDUK9ir@KxKFe|wcM42U^Lb=U(d@m;ERDP^+=JASe}s}7Q> z3txor)|o~aItSC-qbuluRxX|kFV|+0JR#o{Ozym?L}vL_bU+sqG`FGO68PHdpLqH? z`6)LYRxYM`L3p&=mRn<7N3ul(Xk#}rNPP~Q4(JQK+%Q@-;L@<47`8554btJ719cZ) z`EhHc+#55UUjhH7j<9F#w~&5&;W&frUl&S#-7?@)3Pw+Wr+>pkPa@Wr z*1r#E*aGhn2xEQd{@vIV1UiZkjVAab%B3tZnL>q2*m4CbFCDCEl_48Mk0S6sqV@AA z6byOTAyqS)^SX~l>Rupa8O_?HKGDsTEDFYdN?ZJ3_Embcy-g^1Grp2E*nw}koIxr8 z!L>KrTlM`lXNL3i!eZy|!I~Eq_LlPSvxET55`Ak5@xfTX>G4{{hJcqhX)$ue~SLeo|P6u^-`1YMe$#@UKL%j`8A_PzCe(yE0n@HF^~K|JQ?UZ1)2 zEs-A)|RY<%LA{9{27N;T{)@3RMuNN!$ z%%!8%g@N5EWh!d>3+!RKH%%73=Yyqsp~7puYqOJQ0CTQaYZrdWiZ!1XsD0=t&&uVz z-JQ>z^Zj!yA#Mz6VU!ul0K9HF=ltAGQaJqEZ8H1FrF@Pv@myp(h9_+4QBQ&E#l;Z0 z{eU(FA*LOceU9#cp?LObfsKzt2W*#wXB${DzO=hr`F96)13Ae^IH%)xCz;EB;<98X z1T*P>6LryUS-QjF+|MIQ-@_d9dnJs)*~UHHH$JrYn*|GB_;yEqjzFKV97j)pPXI#O zie94vFNl@vskRs~y))Samw#S32MQnR@%?1`mY7~lk$cnJ7vT&dMO%YTQa+d^Q$EDa zwYN>AUv8sxdov#?Q!Qu*&4AorpSDRWH{8!+Ic=M{GdWT+9hO9Ojj-3dY@9r zNbzhcBSNlHaY~}2#Zf-|kTOM96(;^eWarM}iWF|~k_)3;nAuPz8&*3Swh$oPpxbqo zJYg7szCD~MLT=hGvmJO6K3SJV4fLwSkjp3d6!Z?rrTV2jix)>*q>rdY7 z;cJf`d{}p{G}$b)$FLH2_?_AwujsYL{J4VvBH$U9+awo0PMPkN^^Eqbh3+YTLGBAI zl7(9;7Mzc0@s?J(w5_ua2j!}Rx$kSaKJb%83G5fBRLb4lTeEUV>ijPWu9MbJ%z1v5 zes{{tY3P0a^Fn3vrUh&mBzOsWWJOF^HehRDDg-T6dGwxEI?bmgkw+`(x0J$F1>W2xMWmIT9l@C87NS^{E+#E{0Pm3EItmah9+IB z5e4_K4G^*GFV}r8XqKOyIWL4`Il`z^_BaN9eud71?U{thp#M4i(hN^4ema;4VUZx5 zd}qp(k|6)?tts)-Pngt?f;7Oz!x~Kruv1FU%>FTr`aiMbK^k0}0nM^*SoT>ai>ETC z1NI{X-2yJ-#VcbrS3ZMYJlrwcxnQeA-wQXtI{AIh)V~^RYIz&+hE%Zo;FlAvji~wf zg#+WHhr2x1(ke}fipe#ADZ?`Ei(cE0^w)%ivSO#1xLmH3p&!ktX3ZA+t4jO&Pd84h z+ell!X}}ZBl3xQkbc)+1pX3oTRI`h3b-fn|Za@S~yZ48-S8G?u2)!rzdGd4D$<`^g z7F~m;e3d&8N8y)UxZ*QA?d%93P#J#gwK3yV%IxQt);F>1w=sbJX?c6>+Zdk-kkE*x|1yyn#p5|u!X<>FpPIPGhQf$#Pcl$uF@j4%lw^oUf9{O z$FYRoeI0cN^@W*OzB~(h7tZvI%3ae_#qvLa*a9(9PM8r2RVB@k@N;7|Wfo_<>st<7wx$@T)h)|qXwtr!~Yb3GGz^`FVu z)J>Wr5nxlrnnhmu%4E_O72hzD@$&hH-b}w9KoIv1*;=W1IkP|KV7F86IsQK7#TNOJ z&K1LFhf?;vxsM}UC%ML>IW~kzZ1s-L&qq8VP=x}UK4Y)lnOc9G?cLqcmy+Jws)4H? zwLYL}kr~{CiyA+Y^SpiOiFX*x79Va}n?j-85}0!!(N$6RLAo2F4}-4dZ8O+MoyLG4 zU)Mc*wXmnlw%5#oiL!-sBZ0e0$c`lH1W~m3<9S;@MC{_OSNOBau#h$?&Y1j_0te&q z7>QhD22pCgU`3*Yb?T|T{+qjLJ~sCZ5=fn%r+#f%x_5L&5cOboj!li4;@lwI5_U7` z^QHcon{_dmHKCL!$t^C#O$L zfm$bx!t=s00DO6sKpnm#d!~aY(e+p$N$eJo%8K(&sPbPpeYeks@yix5;+Qp=mie;Y z=uES@e|w+p-F*-6-7nK=4Ou}iN>w7C$(^@u&Of>L)QVmZ1~ceZGyE#3{AKqL9%A)f zV{Va@q1b`jIt|32nphG_baO%DDH znsxf~WBTn2#x7T>Yn__XlJTQ~eaBTJjxhWAu~UJ&`9}zgnh3OnBZs&h!c5gx`6epk zV6=jtR!{ruh0ErWqlKR@!jQjg%V*R!*V~}eZlUei$_9EVSQUIZrOOVmu-|C5CCY8c zCl1B7KC)tVEEyUWI0?T0W3s81jMiO_y`l3feWfgz_>v2xzdBfL{rBI~pm1>TExBjY zw=)y)ZIYQ0E(yV%I9+DP0Y88f+KP=d! zebu-%H-MfrhyhaQtP@>Nuv3!TzB2=BADXH6DsP35*8hDNOX5($({{rWmP-lMtKRAM(T@GfhLd33!5cMuJ8R%xQtwPp>D$_9 z*4^|eZ#Ibu8b&MYzGRQhUv|RJ3!OoR#IAuj^nJ*=4WYDlzn;sk39SPJn#xr{@d&oy zb#|v1AcH?OMt;S3^PYmin|kgCx95QaOOM&)EwP#8`(#bzS4t7>4zO~T6+ur4lDWRJ zl3+|MA6EQBJ0tNW+(3rF*N5G>9%hlG481(KxmahQ`sz`GoDOc@CqV3x2yZ4Q$W@-U z8aBIQAeZumKZ^g>K9_x0qLpy&{l5}W+`PBG7`yT(vbquB=^|75*>`M|2*z8mx2 zW>%mN$L03+#^TM#{OjIVGS*W*XANQlEBn8@F_v4lF&AgMmu)CLwekzwfZLcmc84C{ zHQ*^)$-WeXS3J+B%qaCp&0`9asDRlh#WVGN?t4>&t$DGsOSQPKSb^F#M9u9cs^s#w z78&Z>cgGOkojX`{@lzz8t|F&5rmLLtLO)kP55d1@zq6#>CqMJ#W8bc;tzYU#ChA2g z?kQ%zi?;pKyd9Dd%9;_4E%vXApm5s?&=%w<%5LJHV5J#l14UsU`CNro!utkOdW(Bn zMY{D4uw@g9Y4@uZZ~e{@YqAf`#e2%l?fy|8pV4hQH1c-Kr*;BwG+>qSl_TW06tQ1E z+{nz{N>D>|%Ln}d^PpN(Uu5_`p##%Te`F$1L}$JKq&Gm-mtU(-!>Nu2on>RF+9SV| zj}p_$X*>=|NSy4{XeBp+e~3+a{y0Pq*O{Rs}ZwkxFCeVR4e>2%TQxQc2@&_NR| z6M?=ld5I0|+}vcg6Md^?O1pSi(5!Uvwsbo!1em$ja8#43U^T0TSv)uE`yy~v__?da zCC4MwSf=%s|3SG~>woOjEDj=10Aa6w-d%RiyXtpo;wsR`&l%NH&m`kQK5Q2p*qEH>TVEn!iB2|BTi@W5iR`> zTgcYV4Eq(~dLk&|$%BC!;YF4nsQU}iDx$@|62Bg_<}M+!wkpc1iKU9K;Iv95l<=%& z{^1D!(*t}g@+`^o8n_&bVxZHR2(t?_wFiGPEB6AVB;V}JtWTv%k|}jlIia}WC%vL) z{6_bt)qDz9vPjDjV&`;MpEIJwyX-dV4@8xNF@GDnF!v;A&glsMZcFxWX;peGsvVGQ zyed8hVBJ)?-+&AIEvnQ&PGIiooo}m&w@n`gs-|Q$F^Wn^f z{ED}p+j1pRnn-WO-H5jNPyo?BD?0oPEm+ph@u&$?VdoB#I8M2mg202Q2{QkYTrB<@ zYYj=olQdIovs5N&djFS5o0n(3t;`Q$D)&T!16I zeh>LUcofa^ybxgcKCB!E4>RLt!2h;=WWOD!jgj~_Y?DxE$+OR$r)J0o$Bq-;q?FQo zTJ?y#UZ02Av2@FIys=(Uqs?BplCZ5Rh4rq_$p#AMUIF*{vUao^`m4Ch@KC8uZTw7fKx@CZ|eZWExjSOE& zrrkJhwowlY2{0&`HT}d^oGWlU;FfXzg`TRA#~Be8h((xa_ZI}d;=+`=+*KR z9geKs?b`J2Bgh7qIF9fcfLYbffY3|0psTYzw3nQKP$6mifl5SLma8w)44Cd622YGD zj-nfnJ~2&6`1^};RNOiB+txU=LR2l0YlbrCJ*b!EBvqW1Wu4dO7wci> z*b}vn$M(NHpU-7nUFx;#+)zm3odNteTQb=6IHdYrLajICJVcFD{QmWAcvl+_-F3JW ziWiu>kylb?)uAF8j%`ji@ZhEbgg5$TU9qZ|`r`F*lHCfim;Tl;R&*<2Ib%W)*Agq6 z59uB<-Bdg?mX&QC4lwhp&u8-D2ypaMtB)_d53b1faMWlkP<+!I0GL#K5tj^=^h|)X z;!GY`$cNc9Rw|{w*4vMlQLS zcyrX-hgf~Oe8>K!zZ~flbL3X{==wO2gGt6=~yO1 zYC}^lQ6s3FYdIU=^R2vGUGQzP~+QHP+7_ zu^(Tv)E$3P)@{waynQi7*9Q6Uk|rysB>Cs3gI+QEuf2<2uqiiNM}_hn22}d0)B{gK zH~C=)<_S#LG^;p{IfO^KKTvIbK)f;2H=o=ILf>CVkTucTrk~Ijx6Z}=mr)A0pI|F?{q*5so3J0 zFiwg@6wnDGvEHbKG+UCySvjJd@Wn2RC;mz#*^nSk)&uHb41rKD(z*uR*kh(6MSr#y z7r^?GAHL1w3w1~`rq{dwI|QILqvL{qmA%~IrI}4 zrtZbyH}U$I+Kt;6sCdu+6e;x^85E#kD^xJ*;@lnFrf#9AzOcEo#saTN4nAYuNjSW& zW1m{Tv3~Qb6eM05^A_YtepFzId4Q|(@YBIxFHik$tLFD*s1ZY!Z)b!*f4XNYwdG6^ z2%q03j_4Hm=i7HDhnD4R4304I4^NNOan@P3{i5#%xMu}GPR;%5or}-H6vI|wSd#b2 zdcf%BUnl?zf@EYW{=I~ye_qJCX|_f9%&>R7*lnAr?!gI^-BVPu$6Mx3;jelm#Tqlg zzx((3{ne&(OVQ-ZNuGBbRz;tWhf6LNRin0((r8)KS})^;qF?thMm3tW$>-F=-GE6q z<#w|9h4^h&ug9h{m)Hh=AIcgsbq6^(6VPH<5*5HIUW+g%Uu*04yhy>c z-c`>uyZL%@+W2pJGR<~GeKvLE;ZW$@?ZXGtig?oMpC|!F>JIr6 zEB9?~WmAmV?vpY0jfwYbtDk$-8vU0iTJgdUJ)Ke%d;9RZf+`Wg=W z#aKaJ)Nl0(AQiormU#o>u2Hyj;}4k}or`8W6=%dhK07wHgYxEJGPaWi58kdF7Re?y zwtuw`cXq?H^|4+T0jKbIG_T}UJ%H@L*)0x)PBJN2AYAmg(#lFCN)Rx7n7wGRJ82wt0t9PVav#h$X!&oE-sA!-M?W z4Zu)=^ca*Vm4*>&lT$lOdO1JW>E`Z`f0Ry)I|6%noY7J4l0UKCOEA>YXTjbXq}eq7 zSW~By1$GNl5z2Q^q~W^q+sRCxSY;;s7uj%pf5zWkm5t!3cp%2p5Ej{@uHHJjH5hwC zUDW6Uo>(fNIsdzMCFg_pTc+57NAJyCRFGc>ZD5VAR1ptrsVN{MS5VF}29LJ%-W%z^ z?(j3gee}+e&j)ox8(MVr#v(_VD}yGwu^kttWb=2vVl<^-Ba$HvXUrH`-IC{y1~i?rri^sdsHP(V^!)jFJvp7(8+NgGasme$ zHvS_KIuYX6-D>hPX#2ftS=ep!)Ld`Nn42_&nPJNLYIghCnrvtuuSo055yz26{};-d zNp%%+8nZd=t=n4^2mZCXB;84O)3kcJV;oBGFi`_ zv=&{Vb}s#?<#^e$^>MtO1;7|Z`TW1i4Q-0RAw)**9na&nFLa!Qyc-}q`>3snvenqB zPc%&E8;l~f_((M7PBq1cqN*}s^ygC=fGzx-x}8B%l+88s#A9CJ()GsWFumjyJdb;| z^l&t;3+s1sRw;6Dk8gTgw3fIHhR0T2g68$(?lOGey@D=(`0K_Nh{RuM+6VlTvrhRf zWXUAue0t~7c*MLcvBCIBPCzo$?NyzZom;h_70#X^@VYrn3pg8C(4m7UH}%yZmxA(0 zEa6!G^1ak3JJJC{4}#;rV12GnTf<2KWD6kUr7|xQCe~V9(0YbWXLeTv%nzpj+@I?k zv0i0f05{e>?cWY4g(IXtzR-7On?C>Jqa#+d*mfhNwfR)o|FLV`fH+5jw&m`SkEvtK z&vD_=FQjGH(CjcYAg~|AoD1Md9Last|3Qm@JHd@Cb5>}AY*DeUrc6EGO%%e`ACXxZ zl+gZqPlP%D5oj*YHsw%zjEfN3AlA`vu6&NZ)Hz=U4rpFDMRC{?im@HFZ?*t4Q#lv_ zIqGDmxK2~VF+i+dTa7E_k!HIG}Gt@#IOjqLTyCzFUJM zaHw_G`FhHkx|4vc zGxijWY`1mcbjY1#zg#ZsH1<3|VpcD9QC;tI>|jS+K+92Ag_8DCaOT!_v>aK4KxYS( zQw4R^T~w}v-f!q?l{)w#8+xq|s3RHk6Skf(231)w*p8bF0_slf&jnRqh=}>jmgU+J z%3To?M2N}Qsas1?)xGJHJXmCTCc8Ou7bOznW6Eu)8!|J^ui@es`Wx4DlJj@ z7iJw&jx6`JE2oW2snzDWv=q(C3O&XM#)Y^y5MBj~S+pEroKX!$Pd-fQnPni7ZeHTm zWl08rBuE_srRqMA8*zNPKUG0zxAhkE8(n31O6|#+-qZ#lqDG-hJ`MiJ9hQqa(hqWF z+@36i97;00S+XfbU>$-LjIGvcqrMa=lvC`sGYQX;8ja(#2NJ~sW_tK~g4Gncq*wo4 zzy_zR3H~1ZAI(w=ZKDYY z|E!>K&zG^;S5Q`@NBht90JpxA*PB}W7qInD4ms974LimJuXlD~pXfdDBuT=f#(M#V z?I}T&HMGR&@Q({u0!ledzbNC=BYzE-{{nuiUIz;ExB&inOP~cdWzJ%uR{385inZqn z{H}IX{7mQch7hTzB?edvxxpx)4sBGf_a@y3i}TcvKVk<1=#L+CTbzN`KXcKw7A@-d zCwnn`daWL|YLZZU#<6nz<-mQlc-0lIe2PeDAh(C+IGbfetOIjYL2_8k*Dkvl97@D| z`mf5B-kTU>a1()oTAXR-&chevzC1_CGKo*`|9xUPa|uhie=1Vc#dzK}G)f*=@3jPN z|D>RdeiXlwN{ueY-q{NTIgfgPOLX60^8lUT$aVe#i2=Wn0{)C~I%VmZa@kQl`WEiw zJb-I1S4T7JHipb!^Hq3n3LV`Qxo>KAm^K4m^1Pon*D0@^@mw`7Etax)n&nnT_t#lN z#_zbt-lQ}Ie0xhjfAON8_lR{4S~Cdd`-T?5uE78G=h43-k1n!ywzjA@ah{ei3xXzT z{%(Z8sSp1hRf|3Z{&3Wc0u~ycqw+CD@V#6fh28~tiTYvDF|DVbdoq+N4Ey6(1rqIG z#{g{k_A}d{H_sEcPvJwY)}TopR`acA;PpaLKA823JN27W?i({CVj(jq13^3H2xZEx zd{t=%g_VNTKsu`ZcftA?ZseMZ$nFsP#=SjdD-1d>6Je3`0uT&lCL0vD#Fy1Utt?Hf zC!Xk!L2p*&$F`}R<@)-dE zc8{0H7(r9B({CY*Y@gQGhyHFiW}CWshn~;T41NRtc>R@T=gfh@+jDeW)m;8*s~^P) znwP_gr@eM1eCVdrBIq0NRF+AH1KAhaL0YltO!7)I+*J3OV>uxKW3gJi#D94+#MoP# z2vh>&4R2#;K4u=x0S3qZC%DT2+r7L_Wz!`2X3rW&)Tpvj_vNxOW*OG#7<6Q^sKL1U zF1)-a9rhzY>7;-7Se}0buAJ1uCn9opQK}*j z*B?Gjvq+JaaCJG0W#kOAYx=EvrNV(JONP>J%T9;9_-@Ffx)=U5^R+aTs&c@(G!eNQ zmmF)|$KCKVp#+84>%?|G?Po%UGWAX!V^uGLB0QL^7&A!Q#$!iZUDLHw_`}A7A=)$v zRzt8*r>Vy0w99!ZJNd}&XSW>rjz8hK(~)D-qn7)p{;RtFVGQRpE<~9(j#>JvW@+!N zIS5kc5=%E$&7il5Y_o%>DAsID)P#b3w|Hz^XJn$l2cW@kq z^0e07JE*E2p*fcDJ@AD$RC#Oc%OhTeV2X2b@`2}C(BC_a;%W(xy#1~-Dc~Px)}lkJt90Mx zJZn)fp5xt8*d@BPZP6U*E@Q;84VMA+71k?zD}?YLAK-|iiWk{E@7K7#qMWIahqRvW z>=Nkratq0B?tk)I3p?UYFTVsBWSSEU(75$Q9)X5MK z9{ri4H#Mc~$_lS0fT}C)a0`%d*{@GeP?urXcWYX&gin(k5g~vuaFb+J{4) zdHSkfX&1h&xifJ{4+LA2-3e1ak~A+QQ0TSzJ328_PoAt#6{IzI_Lv<@QCMn6M|`cE zJL;h7CEnDt<#H!DG zvkIF3(&wm&iSrM5L-_hgze}QYj0GI*IV~66!s**CrhTB-wz-Im{`YjF&~4pmX`br@ zZ7FMk5ndCZr&gbj1#wTofij<%^h}EFxm&9O8wJs}*A?_? zp)Dvj-t>goh6b_>*Zxw)WSo;v!E#e8znEsRZtjT&vZ)T1+AONYe(mDhXqZUL1QQsU z$033;TpZ!BQS!>8B1#2Ia{ucoeY@-_Cj57hiZI({2#O~?ghLKIu+0W{C?F$7VEAlJ z8vzNq_?aAXMPQfMpUWP$d8x#YrNb>lm%dVccszp1Jlba2+qjxVz|Nl9l4NX=h~=sh zasm)LiPk!J`9+bVTJ5P@P885ok8iM6OWl2=_&M|#)|HUQ))G*i)TdwTvKS?hWHb^x zk`q{sTWH7d)0f$MnXsjs>@=(+JIra=rrBT2t4Yl~_Bnm~?=P_~=>fE^Ek_4e%1pd} z-KPDG#Zw9M56iH3>N@U=xPPT1k634LT0y}coD(SE=iE}2z=PLYE8bLiF^SJv>c>nv zaw_{rgJWiO(Z+Es@lNmdBgWYw3YlO0ew5kRlh0m^y0hpOO5%t&?i!%6!>{1y*o{># z+$+kA&8hPiz#dE*OE0<20q}C~>by)1k(Y5hxYj#$jtCzng<8vI)S1tp`fAjH3zNH! zm%A+qJ@er?>TS>bReGt4BKNLaPQCimS{TU_D{#|^_i%s9!w(IivMb>LTkZaZ$Ogx@ zUyOW9sp>y@9*F{Pd|QzKnM$TcI=SBjrEa=>d~*geUOd&YmGx#chi;k-}SLZ zbON2PIFQ#^DREH-TH*sV@JXpv zSR`o*g#4#(8aAkgn^VS2v)pbP=FS;(kt4TW>k|}+Y$XUlr?pwm^zg}+Lew$A$MN2t z4`??W4j%7JDfX<$B_dj*vnfsvp^?_AD0oF5iqE1^leCT=wFm1n^iN14jczbUr__&4NvTVNV- zMPAPzpwVN-|DK)OgxP&U^X_e2{^Te#0fjSrs-6*h1-R^1w}i9`ei>N|v{1#p=#21a zWEDUA#@njA2of})C-?R0P}LFMR0Q{w7-@4#S`>DjKfXvt#WMF))Q6Zhy$`0L-o@r^ zH&!Xo++@c{oUAeP2k}JElWuWWqCnrT2iTkjngzni&HHsRqzJgk-e2PjGZDxYfkGc0 zPDS-59lH3=>tV@C_T3Bj+sHFg-d&-ig&&8Wl8!|d&a{WD{9P``lr^bvPUQ7P;D!3V ze6SnQjRH^!IFqc?`YK~eLGyo`+f1YM9kxhMa{IMQm`iY{^Dei< z=+=vgfx1nzVc=#myH>w>B7OaKpaZ8CunM)w3E9!61G0(Hn2sk4{4Xs`K6Fq|zA?*? z^XPsgdjHfP;#)w%{c|Tu77^LBj^e%f)$b&>?L;|U(JW;3aFN7UxUQOX zG^%txX}UL2T&Hs3oJ4l_+_5GivMLeb(dNyiusn@tf@?RNap3zW;@cjHF2Edoqr-@b zYPVC#!!P*=AT_GaM2C2@M&DZ|r-{hW zn15wW|E+G###2?JGBz_k;lA+N zZwAPSm6zTuFZVN_ohM`lk%e-lFo)5#;_&TlD_nMatmNeIHLi9TwCawhiV_3c88hWz zio{7C<%e0y$ne$=t)|0j0ApK;q-lib@}I4AXCACMH{zeP5eyS>pmu|>#ue3O?+KB_B2R1xFKE3wv z4K;&2QtcP|d(^v&R#xQmx&~&*DJeJgn^MZbTV?oZD*#tz$eSIGKL=OV$W$%{?%@kK zFe(wR*Xa0vY);Vvp6VcwHt~X+%nx}(Kj$R>J!^`1e)z+m8axf(i}Jo-i&k${Yq#Dn zi$f=^71RnoTh-+MF~~M3yrFfcfXH*E%$+Ssb`GqF;}K{<@Gz~@)?o*FhlCXUg;eYY zc;Iobfo4{Rj^%Az`GCC2_{S&?Onk@>ci|E1F8{}`Qm8sD29os1r}F&}spZ`JZNQFV zepIwZ|GU}0&X~d_8;4O;8n(7<+S0+&G{&SClt zoY}n!if}K!*3U5>k1@|&Bhz7S*ZgJAGXl_#0O$vDXFr0S2WP5&@Vp**jB+WHK!c2* zVnL*0Xyh+&ea;H=;kmmIW;SAECt_vvoakjYGC{BOj1hlrW|YyprvX}&)uRT3>TBN7 zca*2>FMdHsg-pT)9syY&!S<20Hhh(gHeo30|4Z<$_+(x@(JQ*v$m>$oZ=GSC2z#=b zb^pwXA-iRQ9moU;?3R|pnR6wE*Pdd;sB*lVs!Fy_9A=#ksiebJpf2&UA4h>VQol4invuN5Kiy>0dYn@y%m|s+FyOs0S>0h6{lBfzPM>HgF=g+Bptut>9B^N zWsh7ddm9xLf2!g&o$34;?=)Y8l^OY;D?RrjQ^nJ_?)8=!ZKky8*>k>{HgD@)`_<)T zsI2?eViYhMUVl(iHYanT_%qaoPS>T)!DqYE9$`hB6=V0L3BSZ}D~r=iT5O-jY}HOw z(zg2VD}LT~XKk+0fcSthyJ8A@9~N(&tj|9MSR~THt-0|GX} zz3)%~B_3e$x&6K!oEPR!idy0u#W`Ben z%^Wt%Sw%#jw+1GMKM+wmdr%jm(yjJjyUyouigDwv!FUw9oQ7{{3Lb39JzM$vFY}$F zo`R1e0jVEfjQAUyYW||#PECmew=2vPWT2CpHs7cFECg}HggYe;X)F^-MToZ<0d%Tc zgu}?zDu2|-ISwg}O7p2R_nL1(XF7X{>R$IJnb( zG4USdpJ;*}bY~s9b8{HSGY98psG_`h9~h+s%|WJVU0T*XR*DScr7x>g{p{kEEc_fvjgKqdN7Kl}9`7WJa0? z_=m`8Jxrg1`^|Wp6()&qOKzpFrFJ-c=+y9UeCKGe>N|EhS{#$+px`OqU0YIC<0XJ6 zbD8%wX)~ifY4!wEK;_&JnX_`JG&zeq0$>GggKkot%@^|EsgEW57)>H9hty|GDjW*a zIrmqWYimq;RD~ucLQBbSv2hvD9>Y|NuWn&ls=sH(6?B8Hbvf4|Jr;5B5#oGuOMiYiN^G~U@P&PMM_&;U;F>s;-T)SrHsun0FfW(`$KAb zuF#4-DIqdvm%8q22S#Y3HPOqdJAC%R>DQRAh3#7Ge{dvtwS-L>oq%yh!mT!D# ztF7^}Qmb`=6ZRCXn-W-kkmSFX^?NqK&01NeGRsiNmVo|hAcN!Xpla}~0C z5PXmNFXh^9t;Z;=MqI0bdZ2wrewZzKhAJ>r#5^z4RO*^AK_G^aB5X>7nj$CSC!&bN3}(L~|h-M@>Ql_{3W1CKW~%{}%Fv7r1#i5qJKAW&mUvEjha7 z;qENsemxEGLGr&BH=qC)J7_0ovEHSqdE8<0>XNNwEa5fA8LgBjk;qE&=M9&*g2y4~ zzUf{NzJ6AJPF9M1$BfInOLuolX`>bLC>Kb6I*%-^+aK#sa4tKE z`M>EDO9)}Yiq;D~dzWRlYAaz`^4}I>%eu~Ey)Kw{HpOT2tsCxJWN%!Zd)*p6&*KG} zmXOW|f3kh7z5*y)=EGpHvPhM#$1-Iq?JoL`jt1r77qiXkoi2iG7_VwRC51)@V2tEa zO|Am92x>=1tV!Xm60~k!yts`d=$Y?&=%ruzF*SYK`X=N&2Xt0*ZS!K|deOqtkgsPQ zKoQ+~=YDmCN}e;!$HE1VE||fgUn<``a@Lo6!0R95Go4Yl*Dq4l4m;dv*N}RZH1ExN zW^ki^b{JaE|3HIhqO(#xA5whH|23Mw6 zTyE$dDDCpX#3@lsHz9<}Hot9pWNVcvz_1e8+dT2p**gZ1Vq4w_bSI#a+G|+On}{?(J{Xs z7|V%lJq>1gYl8oa51b4NuZYUd8D5%WpMA9x9$Nk4`&vc%7d1S=rzMXHlf5^w+Sa-~ z8v@DxcXJkOac)@w9o7bb^lb!YjH#9z6-Al<=W?GTqh*V?cnV*YAJ!(K zU*Xy^_}Uf8Eqqjt@c5IE|0-}!0|S}ND>QEAJ;q1dzv!ufxTfW7Cxs6M|&o z2-n&D5|xp4rW%hGDEj${EthTsD}&eH{`V=+q(RJ4lR^EbhGv~gccHn9it^W!5qR@| zruIGO%ip1Us#_;g_4=4H5%z@s<_L GYBHY&UWRUcPUm!Xz{3;0#aMz}34xP@k#M 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

    &v<|4W&@eG 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∓)7RFwtr7o(F$sBL{3`pMoTw^~QOBGD(pC%s1g{&UCLkjwzV z4*g(?5V3^>D@)XG)+$UmI%B-yQ>K@Y;?ARQC_kZB-gkgu<5OvUy7vB>)|Myd=cq-G z`&nP@e*0_v_Tq^RqF-aSXl>V)btnnR@dWgoCtw(SX5QlzzSr8kXXsWvzg|zt#g&3bx(^mGfTADKfTOu$9RYJVE|q)M&>UOcp22aW=aDVxw2`px zEH(w1W2UycE0+@BFySc{kL;uE46IeA_)2ovO6BqGePfyTO9ccIC&37H+U0K`qA1FG z(MtNads_mN7!(%V$DoG`5I{*rSy*%B`H#_re`X#kknfI%-F@2jo)?pVawWN~o-)69 zxk2tTn|p<{%>)!;5VIBqNZYl_AxEg;0VrBx4|?py8_OB`3bxiVc?QpBe($-n5^*uJ zT=_=v|1~?;Pzmm%&?$u0;~Ueaw5Ri3lNUPBPold*p{T{{7PFmmtKt0E4Q(wBoPPNd zizVvQY;bWj&=YB+5_cxFtUT_qWoJ|x0TdR8w{O{eKnUV!E>_#u7OaPJ{yb|%nrPHt zUx;oF82k`_AYVi^(Q4=Q_>(BbZsSgcH^0Tf)%33jt#(qwX~dGKHivI;Q?ASy>(%(% zdY!@6=nv;juNKRHTX8%gyGpBAxe?*ZA-ggIz7*2)1jv(@z~ba8>jsLw7lGCQ5}AO; z=YY=$`0+plf*jm~s*?O9gB3?7#`NdB=9O$NZ0S9#>mYhD3;yUTx$TyAK;@Jv8Zo*0 zn!1>~m@Q^Z|IBxjsvmb)nnP?{nRy~0Va;RaVm3eT#Uy?&oU-t`^P0x(D1V;_R@toj zUQLfZkR_cTIqAGf!hU|nj6LsSC;8ASNS~gW)SY+iVkme;T0^~WC+eFW>K+^npPNNi zH8bgr*6uu!5>=`TCk9afs{7sm_%rKfI?SW^lNbBFR!OR|K6!b$(M=GD7-@KZ&<1H$ zYEabYub!1<8#FkQKBKqolQX7&2!Xs+6YSpBZpyt!f(l~7{iTXgYj%_7pE-~ThvQ0f z6P#E>6Va2fIpTLJ+6U6@uc%Hsy@&>dL*`0-7lPunCz0QGbQPVTpCQ3;5kg`FcWT#R zkRixs`q3+W=Gd7>=w}j?`%CB>JF$^cL%}0aYd@657Q-aksV}B|4)Pgy`vlV3pXHIB zI7(3WaBUfeW&N=I?I$Oqjx0QJYKzo_a{Y?{d4H!$nP?u$>GPzSqce>jFnjSiV)2%B z5I3(LB3<(d&S(js0omJ58yKsPh$Tl9YrBB>uA!maI5E0wV0W;G7n9m%{=}O700#;H zVlB(WN{IDY|K^r|(VLn4J^)dghvk3HFuQ~S(uUrb*_Zl)mPpGVaYmUdX7oVc?A_~t zxD`wQ+?2oL+})dnESNSYws{<+GF!Fg9>}gsZ2LFhU4RlsH%A|{PG$tro-n=ZY|mq* z4%!pMrVPVi7q=vgxdpAL+B=#;+Z_KZFMa>2aS1%IyWg~)6w#YC#BVuZe^@Bnuot#} zoO7k~Q%C1hTi4!=ht{VfK6~INO(JrS{>*E;%8+hU{VAoMYywjTj4GOi5gYK zwcTfYoHVM^t-vn%>h$$Fh18UDtK!SJYOBjv2Lmip+^Fx0HI+V-GVv32YP1NG;-`t{lp zjnz}*FI7w$^VsIDp_xfNlIvA-4Z_!%7z|W?Y=86Ce zT==;orctU@SbgxBA-6EeS{)zJQ&|C9dV|qJ(Me+@gpBI)TAO{a)G?I8Tox#E%b{cx zV`pxos>VSJEs)1j7SI0m#fZQ?pR8c2(x57Yj2;raeAmd8Zhmxj^k@?C{>%iTTU#>~ zZ7v1QjnxFCgA1=#ZF{9QOP7eIyAYIYVDyIguq;Umdp!vP#1RvRl=k6y)dJT+Ql&i$ zL;lgr0w5#%&AVHmaWNE?<1cWF&)&putHJc#!_Y{-wI3xp6v*?b%kjOGs=Eb`e+5@uWiC9DJ}f9e@pI#X z(V3{?!dU!WnmO*@OAkt=yR8Rx+I~*!P$=18BFU7}`8$Z6Qp9~>Y#>F5+|Er>BYo!E zW9t3QPRq^k6gKGd6S=gqkjM(4YSD@Gurcl~*t2f*a@gqtM+nv!$K1pkB648@8}137 zlf7LtQjmuzS!4C^ex;L|`00ZN`}8JDJYa7f#clrj+mg#vNan6yD_*~|r9m;f1pA7N zSzceJ-2(#i`Pcdkc~5C`-uoO}oI-QNhdhW1ML*`6kat<^heUI_!V*KT&D7}s^)vdd z^9sG{(86lKYW1=tyn(*@6ewp@X5xxdzIt*qy}p*Yal{!ef>(a&DYvwH6+(Hlo?F-A zDAoNgI@z(B+3r74ETwK~k~_V8f}tpr03=+@|EOtq0KA}EqHjSHyZOs`vPr=F`e`nT z(DBnbt^RBLJ<|Ce!7eYH0`@{{>u7StGxq5aQ%&QOUKDSP&J{p85SUmb9m9+1iqT=t zhc#>0s4B#VUONh5dLG9=r)UN3Cd#sUJZ#>0KF$kHeR6!hc}&`TN0F?#cAbCqBr3Jj zV1sRs@4p}GaOe$G;~F)VqgfU-!usGlr8wS{m5>IWkdK!mF?3rGoM6VVM+3MP~Q%%~h? z&C!2YZi{iZAC#3Oai*4^+(GV52mO<~|8_*pVpBS|XzrFe*^1%Is8N)Id2qS3m!0<@ zY)%iC6wf2E)rj@0)|kBAb9Gm@MCTE-|MbaT4GcVYki(DA>()7Q_M zomqV@7T<#!@&mtWYsQeC3damYe+KnMGZzh-mK13RtT7oPK36?0cgMnnF<#7rN!>~&N6)Eyz_Ht)4+^CF zE!8EreImr&UIUFg+s#E9{B$CF*wD@KZq~w>A(>96-H*cc3Gbbs@H=|GQa%X-&w9C~ zwp47E+-Fp^n5DlARQj^j8P~%v)z=R-?7Kn1D`JsOILhB;lJ&_o6%^J&`eymr_rF?= z78Zhj*sJ>6;IgOGhsv`N+`6KwRfriyb-^9{U!2c~@xoYuN**goPJ(e2r(QMl1qir( zLx4O!-FEZ?j_6-LQmexg?yHqEyX%U{!z4=uB(*1+`SQFlpyMZhjNkznX2NtN3#)HY z=WhM1G>a>xE@RNBs^>(be@|l^HMgV4rDd(c9U6BWs&$N_m;P1?=_o? zIK!jT=Lap#OpAX#56&A8Zma;Nu;+|lz6=OqoV05<&RJ_{PP)s{RBLryTtJl6jkzrJ&^EXN`;oV>x z*-w4*jD@6DkJc~V7O$#@R&Dz{O`IvN)iNm98%DFW#l5ZsXYF9CQT@SjUa}9ishC-^ zaw`z~Ab(Qj*JT-HKy-86U6CBN_xjyD$m>=xT~FT9eWvH>E;ESl4*Cn=93yt&$Df2s zfQv2Sgaa|?zT-=>6UHQ|f?68>y9MmVv<=RZk)%9P_TJZzMcAhZEhEZWn>Gmvb9w8A znX@R3t>sgp06ZJj!A<>*rG?7>3cL#~4Lg$w{~jO>?NS&sbb4zz-I^YbA&7QC(%x<& zhwVaO8!evs3gM+)n$t{;9`_Trt&x2%JaZ-K{mf7ZPR?)UTPfO>R4oyf9o>C5E9P89 zPXlp#E{e=tD=3ojYaKac?UMoW1+h5b%kkol*V`^DIqZFQ=VqhqpOO}iv2})A0--~S zOedA~o~})~6@k|5-&M2=H;WEt3raLrvpVo z;fT zY|1xphhB7A>{-6EGAa~2tBMx?Ge}!ghIpJH!RUcCg5;&3478BYiE`qO-1t6Wz@Ya? zibs2p7(yyK&UcMVC}O^ih}g893k4$;ib55Af#*OqgqC3N%wod}=F_L^$5`-uqSeKG zO85P@V)iSlj-(Ka58q?>VAt|79EFbYrT1v?1u@$vZgckIoabF1ABY7H%k?a~J#X(z zM=0SeMgno6bODJh2Ptji>z4gGXIHv+-cKwvSI3lh&g?G4@=l5}2645I6I;P}&9#H{ zw@9QicE${T4{V6%9-Lmlf2sxPI4XeA`%C!_cclq<0hb)TemSqdO92^Y0Soj>gPkFt|79<4m$PJ<$Phqs}g3co%`2?$-0yvE4zP!H?l; zuc25D&zrB+W1x+*FOwj1J$My=&i1;*cddNlua#a$CH)$qm) zSsvrXsKqs3A+>jM?65uH#~;gL$!NW?LMc-kZ?(op)@^FVBG9#@yxMx zeOI3qg^`G4`n<)xbPfGv7ItgzthMWK;6)K_>N{Gh(}9olsD7qLH0_-;{1K2HNq{?B zNmf)u+n$=8%5ekw&6~#cmYAB8v$wNQY;Pz?X`iz64vC?sdK<9UW%R(^Yht&`C=+!q zJI9G(%o=pdN}VcR<^-I;BlpbK3zrdI_?vjK@Gy_-k3`CJ{%t-Eyc(UGn2RcD7u)wP zOIPB&m=3VUvXBQJb+w$V;`Wp$DF=QK+;PVVx4+llK%t)-!q~PW{(73*^`bKq)wCxq zLTjY*4E#FLI1^i~ate>L7Lr~Cp@(CZC_alP{E=@s>3(GjW0RgroICY1{B0@SN?GHe zdX^kTcWqz`s+JK}uWB4{!Jbk3;FQ>Wc!EPIaOio7fg>GXPiGp+vl|swUTIB^L&D56 z=0}k1D*X6OP}&&NgzcwPa%njLXE{qzCN%EY0gia{M7<62^BQUtGmRD7(fxZ3Whxh# zeU~rnU1edqbrLq6Vk0Ir~{I_4cV!h<|ck8^*lUNFvj1y*6tgr&qf9Om%iuH1 zqC)HGuPY9lHC*Bn5JiToMnKKcYg326eE!)?jLhAZ5U9oD2_|u#S4BZ zuhhtrKPuQOoE&hf-Z!qa^#sG8IrvE5y?wtIO1qyBFqC<_A}%%sDZ|5b8K}2-6vCNk zKV%u)$vzkxtnax8mZG>E6PVDnO&0GAJq$M6fZ@xai7O?G~FuY6gV-2hYM+K$JdW}3ak82<%xM*Iu4lj>h) zeo>T456h-bP4AYz@KgGz;m)gR+YS5y9|f+N*}y2;qC!FDnkcJhbpr?^hrBxz0TE{lt{~!)A4zhut-E1#@@skZ2WjvQA!+m9ayn7v#6+0_1 z{#1hRj$RjK(}H1ZnxbxJ7VSu1);pW$2PLsOjTQeb9gmCuzD6S)KskbR7-Q7srz(w3 z2#*ZGAPyP*6YSyzbn$mY;OQ(AGHZxwaIYGv#8Eeyu4xb(2gQ=zqlu-hVy<@&el|v1 z%I@{$zSvC9WFC4+{CdTmmJhjJuj(Pk+o$)=D{Z>uJ`iZ_D0m{*KW_B( zNA|^F8z3gJ2Q?S3hx_u^U(Cpr)n18WLa^ttq318ndRuopt$GV%KlDSneT{q`&CVeO zK>_qTqRJv(; zm*!en?{$;i@uYVI4=0b2t6>J0x&O4keqIp5y0g2k0_GdFh|oCLINY>kbtZe0A;(!~ z;b>M>+KYBlkbgDW{gr)d<~<$SVPnaEt`=%IsY?9f%LfOarG3O;n1{Fu^KXfGu86^o294xq#?L;j_8Yh_!$lRC zfVPQ~hP%%jnLZlJ{ZcFb7Ec?->0!&7KA>RbcX;Qf0*#wDeRB3}gBaZ(Q6oeiD1 z1?{MjhqJ}@F^fo%^aXudKx)E-1eSj&;kyEhBFUrn0LfV0&klO`=n>|BJV4?zbTC(5RE)_nN=DgAScFXK21g_2+CF^Ryl_VN63=x3B|8Oh zJ};5IP-6|6Xyh>4|Kc>{KHpDvXi%98xs!zJHxn}%DM;JO1#p*kNXU8o$frv4zJC*E zn<5~2yc#g;WV37r<2J5|6d0Jg-*`Yh)j#~@m?$Dp1v;bg8w7wEc}}6-!{Bp zbO@4C(khJ#NC?6sDWIsNut_U1LP}s8B_b&;jew|tL%KIwLQ3fvNOw2e-uw4?|ApPV z<9l7_c^vbjsG0XobGf7dt67Nr|0;{&6$r@-612t_k3 zja;Tc$%}u|T!-AQa#ZTQ9!E8yIZeYG-k%?}NPYOtvM%y$l4!u($3O)%3qw5P75n{D zMz|KIyawzMK8Bs}5!0%t%LcWp5KEd|XeHjaSrJs$)dv~@2|ro)dUkoabbxm`WI{Bc)L8p5l99Y`iFD`6ewJP?l3o7VZqq^ z!M}{ZgeLLrv*!knn&(nke_3sNa^C4+f2WRh1>n$-Q^w2R)Dn(4zy22<-=qW9M0Zj# z#V@8{fGt`TavHTllIBGSlX>fbOInzK$0jJ^6|{4~@NJT)*9ONZYS)-$$b9uN_Lvda zzEaST94?bTmxq-}&qwV`$I2+-Z*?wc=M%*PJigurK;@1YS94WL)lPT|4lq>pj_Aji zmD9JE*IZeKA%OcV1ow%=6N>R7)lua{?76;1$v0O`^jZhKAbB$3KFkZ(j(}5imnljv zL^m6Ba#iV%dt&q(Q(KV=ESgP0$EgVtXuaS=s!-pp!7|YwQ^Y%?`xbF9_^{VJTBlvN z0jKT0NngT;S*9$r#6Q9-S%VGfPU8SB#p^R5>uBNmn%Fsg@q2Bh4N}c0*D>*i81H#6 zEQkFLF=m}7PmDfi!0C%qb4K0O>I@d$jEagsJ*nPQinPVEkYtrA%hvzWlXVoX7`5B? z;toy7pY~sC=;<7ra4)D~8E$3tq7sv9h|HWg)g90UsB+Vf_B1VY3B8Gn0VTW+@Ylb= zi+Egzn{+U-pUK-f& z(`as78K&LUPr9I|b}^MaF}z_dxY_j4=(Q#9T*wX|DR2_hnRnx*z%I?D;KMnub0RJt zY0uDbE#>D z{?U#?HoLnhuqjUY0?Sm!e|7Q3yd+d(inRV-Fo25A!~uDZ`TJKFwEj)8@q4BK4KS(! z$0YyjI5oB4prYxHk`{Q|PAfbgYbD3Y=Eb#9?g;^PDoUU+w^+A(;?EB@xfr|b zg(2uTFdaBI()}ShlEYy|%6X~l(rdc3X9<=2y_;e0nCEIaRc`n*A?FrNJaUDxEbB7GQzp`t_RyI>gSBxmHBi7kgjGBJIur39&kZRg(OOf+<6>mS z0KYIkxsuD>hV!&sC2e z#GMfPde}7Mt}lOMG!FjelP@}tKqWnwDql8u(q-I{zpz1L#(v;Fdw>1knGkz(4B{>R z>rc}M_Zbkg4?L&o18dUp%hoY1#_N98=^ zV)491yy?f={S&U1mcOhc!%X}uXZx2Rc(CzdRv+BlF<6^mg$al#-)8s05zy*nj8a%O80#?C6x*LYQ zD>*~02tlsY;NMkmLJ0SEz2jxplyPrP44cITG+TTw^Klcb z2O*O8{<9Rbzb(Q>P*5M6H*z0;`>@GxG+zl{kiyu~!|L=a1!45zc?zrZ&No+}a_m!) zit1kc?oYbGNx#}@?CmeazPLp%A+MFBWb+wesL)#nyIdQTzT|Fyu4|uM82zwPHX$6B zh&tJHj8zMeT#xbHoTMcsbd}}}{O-j;gSVJDUJ^z~$u{}SjY{}^-S`3eOZ#qj3#SN# z6}2P)5BRyjRY0UP_E6aSZ&`P>v`v@CXpQ5aeOrA7?&p82C+P9ZEXmo5mDpp^yGoU| zIWJ#ERS*8vT^PHnQ)tc2W~pm9h3n=4s%6}32J6-*uEw$(t$4c|&-A(G<=vw*kz>E% zo^s!_Vu4?2-|fB@Fht8Fz-eaST%R~f3Axxm-|d>;CH)yt0rBLBmJKRMBJz==5xfle z*JC~5!4Y9-U#40P%tGvuf2=zC_aS$BN^3J)4T?)<3(o@6|Iljm3c|mTW6;bKbi7$y z!-FrjXc-!TYC+SA;{Vd7)X1Gq#2~sN040~i=|yWPLaYUzkJLs)dL{pwU}0o*Sg&Al zw8)1>$5NIJr9M14iMS8mDiO*Jxb&~Umd7>P9VhpQM~eeCYF%m<&8c!;@EH8(=4p}! zoq0v}H`@A*8*i5Igf`;2x_-8-@uoz{abR2K%`=Lk@~S#tp&b~lP?qmVpc-;+# z?C3<`2mBxSjjjhzEnrW(PW#p3{ieaBS5jcj;)G$Lmbq_E`lCB9|9rkJ1-6qs|L)*> z_1q?~SXB*X;4d(^(+GN0p#J5ufI9P;#jeQDaRvU?c1KP>+@*dQ z|M0bKtJNt+_s=C!N+_DeUbeZ6cD~^1jxDc2p(=qOVk(7|z{dXN?M?lV$%LNrU)Y~=yYHn#Ivq5a!Z5UP+@pbYdH z=nssMG75FUXgpaxJS)6XwExN~Bi=aN9ePUFhhe1T4yt%db=sf;ibe}?%uAJJrsG@S{(CzwUsH*je(33m|XA? z5wX$++uz`Ee%JPxd#$PxJnb?s-N9a~U`+p`$KmMHALc;?;XG^3 zG)5T!QGFWIWchaA-;Nu7^D75z>TC7+6cD*cNAaVBEUI-zkdNkmmk^s!dma*O=rGz8!;C00OsQMod$uCJDL1-VaV>8RWFf zD7`BTq^%ocs`R3@uex|Vz25?`T7h=6BisIDFzy|pHu`%)1|&m{(m4+E4)X`>K>vny zJK5PUeQ&_?6-94m*jszH2X4|3%b1o=5MmtjAjPZJ(2#p+ba)zV`^{vah;TRar|Dlh zi2f#@%V+B`^c^t&Zq&+|kbfc7DQXDji^<<6zcq(8FTjK^LW5)*8bkjw?mECFN(pf{ zrbUvkp*>8@`5wIH_l3`A8O#SdTiJAc)=^mBV&9PyboRm6TMzs$HAz!A3Su#5dO-Cg z@1=^l`k6*{X`{px6YBw&u+PLtmP<{&iSWrA3AQ5E!}|XBvVT$f43QtMk$)Tvw7`!r zLZWloXp|JBI&iuNR3ZzuIOX7+-mW4j!4r4&YuZUbv(d55mlQSsVU`- zu#aiL(Zp|m{2!10!ySJs(T|<$ozvngyyWQ&oYn5$$eJU)W4ONpttQTHs^o^i#LWwh zCS82&fL&ZVLqUKkWZLlZ_xFjGTIN*YMa%PiI+_s{ z%Hw~oPq@FOelrEia!Zi17X+}$f+;X+45C?U`uSqI>WHQ6@AQSWWZ2C?r%8MQ@-hnu z37=hN{j1e6e<@(sVqz?zl2n>CV)xSCmX&$JNz0&J>tjq|LTBsyn@oQs99F8!AJd*_ z@EPNN;pT~?#-_K*v2k%zZTD7`n8sEDnCLQ6y{uN`E}P|;edUf^k5T4gK?6&RP=RSs_(XoCJv-3w=Yu);OhW$`I&Ne7xHj*nYP zS`tCnZ=Wg2QaINUH%u|gR2vtws`Bl%Pp&AsWugp0=(Z-HxFs1)GpGvLdZtGnlRb<= zangU8*|^K5$mcdt_4(1yACRY(6Px!fmux|tXR@mBIcKlw2hLJ=b{6?1kgBJeD5f3bMNix|OQnT(#PQGNo32?r?dcD| zDOV))`~cqF)~IB4;5EDkYO4oqb)T($Ozvt~%?lTULb%Q||GR&;DBIrWTMxe6$wlgq zbRmO4XlU1GGPf9Us~w(>i!W6W`mm^P?R^*Gj3aHZp+zx2B=brM>ubNn(-b0;RFR(( z-bIZ{57CKq*}JZh8jfLe1x_xk7N&r2vMmw+I1crc%nIImoNJJ=C$e$VFqi(VIwO4A!-j* z7|#NvEbFdN*`h=zL6$<_9jL1E2V+uIqVs+QQgs`SvX}Xd>CgVj`9tC3P?SW6&k87f zGRQQ;hNAWgnA(EBQpUr_-i7{m?+H6A%1$`}Q>L$k|0s`*hF57Giwqv^yW>M~QHO{ingbfOF^rXAGNu{WW+ z_i|mS_ffQk=(DE_A3C0X%_$^`pFJ5o){Ji64-`-1~oV-4~eT3Ru6+OFd zEvIGkvHO4~m5>r&VR~%vfpKvwZd~gJ0W38?d3B11Q<0kgo7AEa9!a_heDg@XI~>AYasqXuiR4XpVv_owE%;O;_&6Bhj7x&I_iN-yD7RFNV6 zNfQ6~zmIYNUh zP8`&tRl@ul{vv~JHf9PBPnK7U@$M_u4{*>R@QYHH0qTuTvtwb^b6{sWXZmUWsDf%j zRC*-@Kj&V3p-Qk5TkW;j0n!V&cG|wEOcfIMfkwZm+SQV7yRcT|z6evf`s}@Py#&Qh z^`f_B{rANT552?xxjg0DJl;{(O_Bo)U&_ir0t;>LB;m}2^OU$SZf%lVxjFG7j<4$L zF>#6kcYmI#aT+ZL}VRGpr zv#=DX2+ZT%28>pNafz6$%zn&|LxDM2qe*gY$G0^O|I>=OoxPl0ag8fxH&qb}*vx=t zLlM3GQ)JEqrE4vUO85^IRDqQk$!T!4(Y`V5T@0Y0N!S4i#T^`f%=~)ta}UtoGO3Bn zP!vbq9^?&Knnm)Qp!49Y6xGLU1^Fe9Xq%-6=$+cI#(0I!J;x2FE#vs{JccbuYPRiD z{n|j+$Q#AxXV=cF$k0me-Ed!ng390v`y6YBR6C*VbD`!kRrR`!BLYP;i%tLWxdr}}tx@ha?pyIEDG3gaTbJ9mGNUM(-82t1 zEx+}_Lr_UxqoK8DBCaC&*;Px9m?5I(#F>hOpl|Sw;M@kU625`=(cM^eeK;$6kHvGC z4(ukYT3FRI2L`RMg*2R}_jE|Wd?UlCAe?ZAX1TQC(xS9FsP<9^QFvs>M=DL@@JL4%c4^LQTr2 z)(bl>n>OMzVue(PTCd3es^Yzw(?SO$jlXgf_I|^mybZ2SKjA6 z-qAqFFYj#XO4;)TW~-DWV?_`wrCU5D`r}G4__RM&T1+>Nol$+|)N9qZ56=SeB9FN> zh8)uT!S*FYK9|4Y7mfcA5#010vnzxPp#V8jrnv9~9xsYNth0tmL4|s_NSW2x&@3wT zsU#gnYLe2r3P-Sg85RpxE0?9R;D130grDGwEY@nCJ12^;(lBm(Uvv2)37ck0vnj4$ zwjhg;G*`xz+=%5XW54xB4?6yu(kGkZ@aO|q5EBfjIkMmDqHro)^nivtTGsr4KkmJ> zn27lYptH|3uixRdDm4o!dQkL6>E)5=(Psjzi93Aky(5d>F}2->Z^6QS$uB&`?8+Y2 zn?;d~n%Xf5XG=@01i9*m)ErqNcWBA*nv+2hfh&YcCyP zN$MZN`Hkm}JT(qA1PFHB;sNK+*J{4ElI-!w%>o#YvNDmULLWj4cstMkIL3b#mb4kl z$1Bt+({p$>v@EZ!t$6EQ+ZE~HEewj;mZs^Ol9=sG|7$5^ogLDdm*jB=y%n^3j}RY@ zOM&5jTy5B0Lg-Bws#h<1Qm~(H(7O(gY*D{b_$q(W&wF!rNQ<}@2n`zJ1wy|Re~>bM zZ!o1Ta5qrz-}B$xI@93$={UtV3)q?XspioCsKy!TO{kww!9uT=%1O6(loDO*@uT#Z zl)4>mO8M>k$)5uMKujFAVJPvq=+<&;a+UDe)T;QWtj61+(*If=eoG>TkcT1;>Y6yu zZOX2&mgwLVj}wk?RK)!aVW*``baf7dq{ILt6u~5BM>?77F7%t>rmv{4z4r-*C2xTe(DIdt<4x=L3wRug(ws~RhN|C zE8gY6f?h|-ACAx_gyM&2M!nQWoml8lZ8%Vg)3CUAoS>ruPWP86`fo;4VsMKI>3WnP z{QSYX%Z3x{L4e?47U+6|;adoveQzfKIP&vCh`dw5ID#w$_@0v;1S7z*K<6IMaXUA7 zd}MCPx!cd=V&!kg_}M@%vkiJ;y#zcBhkoC{lJfmc16JyxJlczNYPJKs2m*u@tPI#m zrc~%~b^x&5?cE#w_VBqjpe?U7iHmjV9-ii{$mQPDqFw2Hdb0!|ERY{1+NeWCd%E;~dT7zT7Dv8|1mZliq9~n5wLW+ym+VCg-#5gRuoH^omOv=(~SZO$+ z*6$il@9p5kcEN%El6v(GzeFqt8+iNfwuAk^%liRgk6W5#@2u*t^;IXV9?_RT+%~q= z8;AndQrB!5%x~vP3)H&8_rD~`7Drc2D7Yd9Ya(*jz`#I639mN~R}RJk)cjxn5kRl^ zOig0av{pD*{fox^8P(McvQp7q=+37nDBebQt=X?0r!U!8SyQMbB)4j z4=Jin);SNTLQ4X$EmCp}bg&ctY4H>D>8H_D?<-0aE~|G*Usj5p2qYK8*oarEjLl7d z>rC$i*ZaXqoYdT0k!9X0sH8h*q9*U}IrAm)k^KOWaLO|;Pj4u0ML@Vz3{>dP?4Ar2 z{BtPc{k0e5BzFDAv+sSq)}!e1hss@0HzwOe)s^dV{zhv0j?jAYB;_0v-wp_XV;BOH zOc%(gGX4b=RhOEht~9Ggdw5H6f)`OjCXOAD*nYk$Q?V~bVXd{r{OR#1L#-vUW9fYbOQmB@Decnq z!c&PmmUA&56Q0Oinh!Not61VjN5NBzhOf>O97r4!rH1QgUPkKf)GYEpb3u`=oC(k9$&uKH zwW}cCD}azUj_3S&-z3YNNIuWC#Ax>qO-XiRs));Gwh|bHX%x=xiQP20DaFS9&s}ga zEB(2Aqzvt(7L{T%lK@fT)@4i>+Ma8QN3{iECn%#j0ojFbs(^d@diCD-3YSQb?4Jw5 zQ}3W9>n@A$nK9wMyu%tO^HNF5(p{_xX@}=u=nI|&w&p9o+LQ-M6+JW|{?PH`Q;`WF z?Q3`d;U-dn657phjJGj*(XBmmxpbxS#R}qxy^Oi`%JeHU4fs2R!Q~d6PR|2GO<;~W zn=1`)Lk*S`FjxUkkQrd6JUVV0p>fTq+HUWstrFlQ{IcMT&cD)|VwgXxQMHDYm>)&d!#|FO{yUC6J7ia7|p#`{^ZW~!oZeu%~8hn95GC| za5DuxSU(KU%!}~>x>V5sfPftk^%zwuf+Y7YwD;l71F$&^QtJV?U$R_P56|U+5Tt7j z9GZV6|7sr^>Y~w^#-8blwR!x5PHxHI+tn$`ZGu=x%V3>BY)-+yILt|)BuV=(DfwDx zTLS$vQ5w|nx%X>sMkz|$GdgAISHULtaS*pNBEsBJcS^=EDIvaYPK`lh`^>cipd9f( zc-xiHj(-6@hUzd%`?~L#UMX3|+6_uWa~CAJQ3}2F*{+i;JO3s-Nk4Si4!-w8d%{qk zzw7zn0Fr6BgX#vf-#eq>x8(xOA1ea*%QW1DC%9i^j=wSYL_f(895Hplc3AB+{rvZ> zR#r)#Qa|6M+}&}*$5qW=0KZ~AXk zVTp;Y`QlUhMs*qc`5Fg-Y}!z)&FBoM(4JO<$6epoaE@yb*&NU`wUEUn3ejFV7 z%#iI7c*F7`dWBoZk`RIWG8Z5+BP=7`(kZ)I@U7bK*lPvOt6SBdjahsOZ3ugMZnfKB zsAakJzMon*4w3iezk07AAdecTHY06oafkL|Qm@%lS522&5dz5wTnfB2cNn{A#!pkB z*V8;A5I}Lr2j$I8;oY1&l9*?|oIyxasW3jg7asDZI zumZZ-+Z@Dn`ceFzHlXx$m~FesaB*wA_ft?+EolQW@=lT$@k$B5PA!DTiUa}CSGQB^ z27H9vMNf7+VB?w^Ivr_o`~;CiJlWj@L+dXJ;TYdb^}T`zB_jzT6ds)>pH81aa4Aq* z<%KiYec~Jome^_i9aZ~N!~|nyd>>kVMK-Bqk9v#j!eqBB~fjM-VE zU*+roAjX_a0F(4BM*u?13u#`%xhsfw|8vz&law9lOQVbvvRtb!G0l>XmWsq|J#!cOB!*?I>+gD{ZBo zVva{toIHkK4gtj)Lrag44suQaamDNq2sx~QoMl1I|4Yk6var}SpGCoQCd54SRtaJW z!A<>k4X{jgy|ja$@khce8Bd+aJuGJvg?-S0f-zsrH=95K_0~1eg@EvN4$9f~s4~;O zCV>e+z_R}(=xj_khv;1?4&e?V4spx4%2OSG{zkROvf21qca^+M|7Om&acLu_MpzIU zs4ERS6#1Dze=d@-t1sA5eLO+9O-tz|qUJ%p<>1AcicZdX>OKbL9tT3u-zG0h(Ya2r z@F?7W88iMDCt13yCkfB$pc0gPS1wWP_fx_nP)qL^V7@nvgp;DYK%pD2ExgH&KnC{K zeoUYHk0gmf@igxjt@eb`1?GYga?>_!z*@TZ!&Ep$O}}c*f&Lqi6L7!v90^62)c;ej&J4BAt{Dt zOFrA$q?<$*F6fLt-ize5={np*Z*&oYDH&zmgZPFXPy+UlEV`zQ`gY zIj1cLXfQ)@byU$R$EtG+40D#Sbo{NV=+>U9w|fczzpXAbu%rzOR0}Fkd&?*DzC&7? zfCjkcD%taJqMreArj9kqr%L3s}5+0i&I9v#p9YzPyxI#5?G;-JQ zS)d@9vO8DHP%}b93e$(3@O8yX> zSApJG>i3Wn7g!6drsj*Kw0rs7+#BIxiiW*^s<|`hv8Mnxs0aDfDfR+WJ{4W6arPAY zmij*S$GXY${hr_K53&SNH*!i;9&x>pyxF_=&ESQjdPNMsPr{wuDJ>c8{EH&;KI1Mj z4EGs+u)`0-vBQA6pg8^>l$ZB(gJQp_5v(GR^8WFz$L8bi6J^5WTvc9ogH@jhTyjBG zDE+f?C3>Q-lkJ=(W5V5(7jf(U9Wy8%&}{*A`zq$0OQ7c48!=zvGx8>+3x?pXo9C#u zr@T`YQy}n}IB@|(U){B_t{Wl~C2n%BQQoUPOr0%Xh zG?t}K^remXYfBo%mjsX$5jEVuugk@N_-0j)E1$!bXy+Ea`R}$|g!+_VHy;CtWPaUD ziTqIcX&LXS_?7B$XzLoC^1E{T?aS{>fp>tt{*)YDIu%B!Mj{xS^~KMxi)6Q{NpKv>!|9`>2^Hb);~Lac37{LLQ@>bG8$J0xr~a%q(q|7 z(j)^YC&2kq+`lP`sDknwFP&o>aLphIHs}US*pg9Avrgm1W9G@DmQ_Cg?Pa1Ln`RY|%`WtRhF(^hJ%@)a-!%_iRHk(1=Kw@axq$&U7K|e)J ztO639uwq8{f87z1z&G-eHx;LLR>AYv-Oi72@8+jNX#(s%I){BX=W7er|> zDHg9jSD<-LLRNI(MiWgjHP~T#w?7IdJS41gqrq|4WIMrW_@DGGXOYlg{bpV9oHb{B zJXR=gfG8S*cgY?`UV;c;C9XZO=_*H_nBMz&*l>ZryMZFUN7A9CVeK(f@$}T<1@1RU zq5}>tIvdU`QcFsCf>jT7g^QsQ`s13ps*ql>T-#2d#a8-mr0p}1YZ9-YRZq7qi^l>M z23IjX?N+>~^`Wc9VAagikrd31<~h#)Ku5p;@dMOwBJSHOj^Dm``^nGB3#|B?po!c< zHrW~TJ+NV^e3IsiVQa@l<9e>*W!wS22W!y&S%d)M%nYya<50Oy!Q^~K72%74w#Yry z9e4o6oh)s0zpZ+0>#c8RqrAuOSnQtd32~i9cRn-*WK6u}4-WF#)x0NC`Xwiks(Dh8;H7N=vXW!%FA?(NWPUob>cJRn>h)uXHiYL3m*q>AQ;%&!GK5 z6KHj>Tp529b4x!Wd<-%)Tc7Du=E5vEzM8~ZAtDnY+6wA zpTV2|D&Lc?XtcA#ygB;2K7%;*ZncCZAVUoHu)V9Y3#cF85GV+|w|js{N@t zcVIhE`k{rweEOM2VKk_j2~>T2W82^m=5oE5!D9_IVT%1$Brs_3i@l$yL$$@?s`E$B&zC9Wheo|iuSUJD=tVR00VTZz{8tR{7;=>= ztaT!}wTpONFTd+q%Q5}%#tl~rpZ<@&!)`soLr0olPh99L;oxmf2`P{-1#r51fM`Qb z@3~3e&QKt|4aSwUGy~$I(o=5U@4gAM-v^j|blan6g zMPue8{#5Yif`IV1N7pEpsVl!c_yb#J6W#_QTq)C&EzSEDN}HF;9{9N7T(;I%{novzlIY3bArj(Rh8B-I zA1?EooC82J27J7mqZQ0NS*finI7&n$P(2>Bn)F0BTr3d z;Ed`;;6QT5C)ANj6P(M4tk=_|=NjvxpEbC?^}unO>VkVX}KJl2=y9xzzJS7>2@c{m}N8+!_(RBCU*%B__nofPss#)u0eB zE&5Y!XTKcFmMHxAgzj)d#Jg2sCHIHP#0m8i)2($#y}9R4)K_=Pw{*L`B8X3!iLCx4 z(`w5`0*cNwBw+iVvcZR@3vfYoU{Qq{uxxn?_B%q09l4!#yMPnh8V8Z4t?#U*GZG7g z_jld4-W)&ouL-!AuHYTNxc;)csimonP+=+%Axk07n0KNar`E-EDKhk7_}uk29_5jo(OalzGzTyGEf zIjBkXpOt|EHEjSF1@EcId*7vJm1ma6L7UT-%hslEFfD|sT`a9X_EE4rRNVb+tbcRk zMj?!+5UP>`?!;R!^#k|}i6+8binn-dU;nL324bx3pq$o&Kl_qtjM1*vpR>loDkyJv z{j90`L>R5#-lwn^yVgkxfGYQ<{qr%1|+!-~j==TvC^X;7tz92-xJr6q>7+rhpOg2kXjn1J1)Y z7}q?wH+pA<0nxUT`l>aBJ3v@bMqJ3OW$umDPu?vZrzRh6j!Of1GR3rOhZuzX`owO? zxSYQ4x94OIHbmGlHwbD*PhWLS`)ad}^7!QOYiX$d@{m2H)gF|{9qEOtgvI`5V!G!k zS4_T1Y859`@Fsu#g>Af?a#8=q;ft~73rTjw;1)W#RvW_#_{!!_>}cN@J+P$C2=cwn z`DapXG9t%zlmt8NmH+plFRI?`g*h+6c(n1z5-nyP24u0`h0qk#ZtDX<-|$`2?5q84 znpGPu`Bej**&!nqx^t#=nt@jo#kHi8>)a{NQv!6KM%OPY7s0#JS73;HEJCH0&3u@L z>CP=Z1@1EcMV;En9IcalCLRxR?2Fv9o$G8xhCI@E)J(Cc8gS|BgBe)z_Mi`rO=OIC z{Om(RfiVXYOA{0(mS9aFN)jz}-Q}5DKIknfP^4mNKuzXJ26HnHaaRK(txxmvtamvC zi11%izUF-QAI!N)QP2K{14YUkXUsZTN&fRQi~nJNH=k%(?7LoDT9>AFsmc^`|5d{U zi{_>}t6t}u|Iw9mwM@~tl1Jqlo;A6uga2{%pPlAy{Q^C!OQN080}ddqQoNbS_-kMi z!bt1^PK78uE%|jYKAaGz5{8n@MY8X+FbM?xe(VYhW?JWE0!5VMdlVvW?@CGw6b=Ql zHbYBP_BOOdubBM1p?_ieO>>7#8M?)z+4#83-B%^}Fnp@3XK|4^9pCz*c!nt$-thwL zqmV|0S(43GFHi0Ht_qC_U_X8S>=%Uu5(Mx{q_3YgTPfj1;o~(HFC-V0p6a~ey!ENk zVzh9*>+I@>ne8n5o50l-QtK~sY}l3Z<2DMR`p7Zm_A1BcvD95PfpNWwn~?`0J25;; z+4uF-X$lGTL&t@U?09*thgz~f{r*Vj&1~r~sdq{ElUJ!8AeeAH37?!gZ>9TaU+plQPvj-$ThJ%@2A{AS zx@Q&7nQPT%6)-Dfv*%k|I>N_p=^12FS~$?qp;)lrod#(Vc)LNTd9J3c&Np}p_*~gq zoPQZDod?{qBHQ2$-zT~dxir6+!0M>GBBHl1hffXuJ&UEo&sGgxJddV3`6qfLx>z(s z8z;aP9BH80WW85ja4Q6tH$xo*uW$aKiWRCBfW z9tRWA`nn8#X1M&vyF{eG>DGTCE^#duoBG$`(LAnSD-WhV4PKFc#WF+t#gqD={!xL7 z>$%`n^wQY9)qn*-8QB~RVQrpJ?YGc)<7<8DA!Aq0N!iMQu2~^L(@|*z{+eS>zlKA* z{T1`St?%p*oBb;8F?1Z4*|1C*17$xqo?nNFQ}Rov3UT5kBR)a%qbzLWm2UkETnYDq z4Pt*UbT05vqoCUY_b+{87s+92?Fhl_BdDT1A3|Z9; zWT^s~q{;O*uoa95~VE8xL-1o&o(`_<@BIT!SA22CB-tGHYo75pCkK z9x;~>DdT?xo48KZu<;lleb&}zGE1&9#jGiY4(N>|E5>9u`;Z51(&xDEnVQ@!Bx21m zvy&3O6JCQ3qD?oA{|ik~9u)`rRc8Y|fa*~HIB#Xm!Aqfoa{0f@TwB)BhvN=U4qo+~ zY7eh(ag0>l%aoMwFRbzHp1?h&so40Jv4ETkLUPxPK}8@C?#4tArdDMGG7w}KP!-5p|qq_pHdDSMZHIb!2jwC=2d5W z(8X%q=RkvJmAW5ZaI9xZUDLkqb*dW&Kpqm`9u?kIg_lasK)rRlG-QkE$O zeC{p`YwwaVyxEW@|$D%7!0f6BId#G!#o*6Nzw>A5≧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∨m9AegcjCE+q&`=D4fD%hB3llfM* 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

    On#QWupXcG){@*Q;V5I4$*YHBTwdS! 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 D=^Q^r diff --git a/apps/zk-explorer/server/auth.ts b/apps/zk-explorer/server/auth.ts deleted file mode 100644 index b4163498a4..0000000000 --- a/apps/zk-explorer/server/auth.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { ApiRoute, sendApiRequest } from '../utils/api'; - -export async function exchangeAuthCodeForOAuthToken( - code: string, -): Promise { - const responseWrapper = await sendApiRequest( - ApiRoute.OAuthGithub, - 'GitHub auth code could not be exchanged for an OAuth token', - { - method: 'POST', - body: JSON.stringify({ code }), - }, - ); - - // No need to handle the response further, as the OAuth - // token is set as an HTTP-only cookie by the backend. - return responseWrapper.innerResponse.isSuccess; -} diff --git a/apps/zk-explorer/server/circuits.ts b/apps/zk-explorer/server/circuits.ts deleted file mode 100644 index 49575e72d6..0000000000 --- a/apps/zk-explorer/server/circuits.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { CircuitItem } from '../components/CircuitCard'; -import { FilterConstraints } from '../containers/Filters/types'; -import { ApiRoute, extractResponseData, sendApiRequest } from '../utils/api'; - -export enum SearchSortByClause { - MostPopular = 'Most Popular', - Newest = 'Newest', -} - -export type CircuitSearchResponseData = { - circuits: CircuitItem[]; - resultCount: number; -}; - -export async function searchCircuits( - constraints: FilterConstraints, - query: string, - page: number, - sortBy?: SearchSortByClause, -): Promise { - const responseWrapper = await sendApiRequest( - ApiRoute.SearchCircuits, - 'Failed to fetch circuits', - { - method: 'GET', - body: JSON.stringify({ - constraints, - query, - page, - sortBy: sortBy ?? null, - }), - }, - ); - - return extractResponseData(responseWrapper); -} diff --git a/apps/zk-explorer/server/filters.ts b/apps/zk-explorer/server/filters.ts deleted file mode 100644 index 3e80401586..0000000000 --- a/apps/zk-explorer/server/filters.ts +++ /dev/null @@ -1,25 +0,0 @@ -import assert from 'assert'; -import { FilterCategoryItem } from '../containers/Filters/types'; -import { ApiRoute, sendApiRequest } from '../utils/api'; - -export type FilterOptionsResponseData = { - categories: FilterCategoryItem[]; -}; - -export async function fetchFilterOptions(): Promise { - const responseWrapper = await sendApiRequest( - ApiRoute.Constraints, - 'Failed to fetch filter options', - { - method: 'GET', - }, - ); - - // TODO: Temporary; Using `assert` here is incorrect, as this would not necessarily equate to a logic error. - assert( - responseWrapper.innerResponse.data !== undefined, - 'Response data should not be undefined', - ); - - return responseWrapper.innerResponse.data; -} diff --git a/apps/zk-explorer/server/projectDetails.ts b/apps/zk-explorer/server/projectDetails.ts deleted file mode 100644 index 630fb60e37..0000000000 --- a/apps/zk-explorer/server/projectDetails.ts +++ /dev/null @@ -1,142 +0,0 @@ -import { TreeItem } from 'react-complex-tree'; -import { ProjectItem } from '../components/ProjectCard'; -import { DEBUG_ARTIFICIAL_DELAY_MS } from '../constants'; -import { - MOCK_FILE_TREE, - MOCK_PROJECT_BASIC_INFO, - MOCK_PROJECT_DETAILS_SUMMARY, - MOCK_PROJECT_GITHUB_INFO, - MOCK_PROJECT_TRUSTED_SETUP_DATA, - MOCK_RELATED_PROJECT, -} from '../constants/mock'; -import { artificialDelay, getGitHubLanguageColors } from '../utils'; - -export type ContributionListItem = { - doc: string; - contributionDate: string; - hashes: string; -}; - -export type ProjectTrustedSetupItem = { - name: string; - gitHubUrl: string; - tags: string[]; - finalZKey: { - filename: string; - downloadUrl: string; - }; - contributionList?: ContributionListItem[]; -}; - -export type ProjectBasicInfo = { - name: string; - owner: string; - tags: string[]; - githubUrl: string; - twitterUrl?: string; - websiteUrl?: string; - discordUrl?: string; -}; - -export type FileType = { - fileName: string; - fullPath: string; - isTrustedSetup?: boolean; - gitHubUrl?: string; - fetchUrl?: string; - language?: string; -}; - -export type FileTreeItem = TreeItem; - -export type FileTree = Record; - -export async function fetchProjectTrustedSetupData(): Promise< - ProjectTrustedSetupItem[] -> { - // TODO: This should perform an API request to fetch the data from the backend. - - await artificialDelay(DEBUG_ARTIFICIAL_DELAY_MS); - - return MOCK_PROJECT_TRUSTED_SETUP_DATA; -} - -export async function fetchProjectDetailsSummary(): Promise { - // TODO: This should perform an API request to fetch the data from the backend. - await artificialDelay(DEBUG_ARTIFICIAL_DELAY_MS); - - return MOCK_PROJECT_DETAILS_SUMMARY; -} - -export type TopContributorType = { - name: string; - avatarUrl: string; - profileUrl: string; -}; - -export type ProjectDetailsGitHubInfo = { - fullName: string; - avatarUrl: string; - description: string; - tags: string[]; - readmeUrl: string; - license: { - name: string; - url?: string; - }; - activityUrl: string; - starsCount: number; - starsUrl: string; - watchersCount: number; - watchersUrl: string; - forksCount: number; - forksUrl: string; - releasesCount: number; - latestRelease: string; - latestReleaseUrl: string; - releasesUrl: string; - contributorsCount: number; - topContributors: TopContributorType[]; - contributorsUrl: string; - languagesInfo: Record< - string, - { - percentage: number; - color: string; - } - >; -}; - -export async function fetchProjectGitHubInfo(): Promise { - await artificialDelay(DEBUG_ARTIFICIAL_DELAY_MS); - - const languageColors = await getGitHubLanguageColors([ - 'TypeScript', - 'Rust', - 'Solidity', - 'JavaScript', - 'Shell', - 'Nix', - 'Dockerfile', - ]); - - return MOCK_PROJECT_GITHUB_INFO(languageColors); -} - -export async function fetchProjectBasicInfo(): Promise { - await artificialDelay(DEBUG_ARTIFICIAL_DELAY_MS); - - return MOCK_PROJECT_BASIC_INFO; -} - -export async function fetchRelatedProjects(): Promise { - await artificialDelay(DEBUG_ARTIFICIAL_DELAY_MS); - - return Array(5).fill(MOCK_RELATED_PROJECT) satisfies ProjectItem[]; -} - -export async function fetchProjectFileTree(): Promise { - await artificialDelay(DEBUG_ARTIFICIAL_DELAY_MS); - - return MOCK_FILE_TREE; -} diff --git a/apps/zk-explorer/server/projects.ts b/apps/zk-explorer/server/projects.ts deleted file mode 100644 index 74561431a3..0000000000 --- a/apps/zk-explorer/server/projects.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { ProjectItem } from '../components/ProjectCard'; -import { FilterConstraints } from '../containers/Filters/types'; -import { - ApiResponse, - ApiRoute, - extractResponseData, - sendApiRequest, -} from '../utils/api'; -import { SearchSortByClause } from './circuits'; - -export type ProjectSearchResponseData = { - projects: ProjectItem[]; - resultCount: number; -}; - -export async function submitProject(githubSlug: string): Promise { - const responseWrapper = await sendApiRequest( - ApiRoute.Projects, - 'Failed to submit project', - { - method: 'POST', - body: JSON.stringify({ githubSlug }), - }, - ); - - return responseWrapper.innerResponse; -} - -export async function searchProjects( - constraints: FilterConstraints, - query: string, - page: number, - sortBy?: SearchSortByClause, -): Promise { - const responseWrapper = await sendApiRequest( - ApiRoute.SearchProjects, - 'Failed to fetch projects', - { - method: 'GET', - body: JSON.stringify({ - constraints, - query, - page, - sortBy: sortBy ?? null, - }), - }, - ); - - return extractResponseData(responseWrapper); -} diff --git a/apps/zk-explorer/server/services.ts b/apps/zk-explorer/server/services.ts deleted file mode 100644 index 3644315ec6..0000000000 --- a/apps/zk-explorer/server/services.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Plan } from '../components/ProofGenerationStepCards/types'; -import { ApiResponse, ApiRoute, sendApiRequest } from '../utils/api'; - -export async function requestProofGeneration(data: { - r1cs: File; - plan: Plan; - verificationKey: File; - provingKey: File; - mpcParticipantAddresses: string[]; -}): Promise { - const formData = new FormData(); - - // TODO: Need to centralize these keys somewhere more accessible, so that they can easily be found and updated later on. - formData.append('r1cs', data.r1cs); - formData.append('plan', JSON.stringify(data.plan)); - formData.append('verificationKey', data.verificationKey); - formData.append('provingKey', data.provingKey); - - formData.append( - 'mpcParticipantAddresses', - JSON.stringify(data.mpcParticipantAddresses), - ); - - const responseWrapper = await sendApiRequest( - ApiRoute.ProofGeneration, - 'Failed to request proof generation', - { - method: 'POST', - body: formData, - // Do not specify the 'Content-Type' header, as it - // will be automatically set by the browser. The browser - // will automatically add a 'boundary' parameter to the header, - // which is required for multipart form data. - }, - ); - - return responseWrapper.innerResponse; -} diff --git a/apps/zk-explorer/server/user.ts b/apps/zk-explorer/server/user.ts deleted file mode 100644 index b97206521d..0000000000 --- a/apps/zk-explorer/server/user.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { User } from '../hooks/useAuth'; -import { ApiResponse, ApiRoute, sendApiRequest } from '../utils/api'; - -export async function updateUserProfile( - changes: Partial, -): Promise { - const responseWrapper = await sendApiRequest( - ApiRoute.User, - 'Failed to update user profile settings', - { - method: 'PUT', - body: JSON.stringify(changes), - }, - ); - - return responseWrapper.innerResponse; -} diff --git a/apps/zk-explorer/styles/globals.css b/apps/zk-explorer/styles/globals.css deleted file mode 100644 index 10878f3fe3..0000000000 --- a/apps/zk-explorer/styles/globals.css +++ /dev/null @@ -1,68 +0,0 @@ -::-webkit-scrollbar-corner { - background: rgba(0, 0, 0, 0); -} - -::-webkit-scrollbar-thumb { - all: unset; -} - -/* Override pagination styling from Swiper */ -.swiper-pagination { - @apply !static; -} - -.swiper-pagination-bullet { - @apply !bg-mono-100 dark:!bg-mono-60; -} - -.swiper-pagination-bullet-active { - @apply !bg-mono-160 dark:!bg-mono-0; -} - -/* Override github-markdown-css */ -.markdown-body { - @apply !bg-mono-20 dark:!bg-mono-200; -} - -.markdown-body pre { - @apply !bg-mono-0 dark:!bg-mono-190 dark:!text-mono-0; -} - -.markdown-body th, -td { - @apply dark:!bg-mono-190; -} - -/* Override react-complex-tree styling */ -.rct-tree-item-button-isFolder, -.rct-tree-item-button { - @apply !bg-inherit dark:hover:!bg-mono-190; -} - -.rct-tree-item-arrow-isFolder, -.rct-tree-item-arrow { - @apply hover:!bg-inherit; -} - -.rct-tree-item-button-selected { - @apply dark:!bg-mono-190; -} - -.rct-tree-item-arrow svg { - @apply !w-4 !fill-mono-120; -} - -.rct-tree-item-title-container-selected .rct-tree-item-button::before { - @apply !bg-blue-70 dark:!bg-blue-50; -} - -.rct-tree-item-button:focus-visible { - @apply focus-visible:outline-none; -} - -/* Override react-syntax-highlighter styling */ -code span { - background: inherit; - font-family: 'Cousine' !important; - font-weight: 400 !important; -} diff --git a/apps/zk-explorer/tailwind.config.js b/apps/zk-explorer/tailwind.config.js deleted file mode 100644 index 14cd838ad3..0000000000 --- a/apps/zk-explorer/tailwind.config.js +++ /dev/null @@ -1,31 +0,0 @@ -const { createGlobPatternsForDependencies } = require('@nx/react/tailwind'); -const preset = require('../../tailwind.preset.cjs'); -const { join } = require('path'); - -/** @type {import('tailwindcss').Config} */ -module.exports = { - presets: [preset], - content: [ - join( - __dirname, - '{src,pages,components,containers,app}/**/*!(*.stories|*.spec).{ts,tsx,html}', - ), - join( - __dirname, - '../../libs/webb-ui-components', - 'src/{pages,components}/**/*!(*.stories|*.spec).{ts,tsx,html}', - ), - ...createGlobPatternsForDependencies(__dirname), - ], - theme: { - extend: { - backgroundImage: { - glass: - 'linear-gradient(180deg,rgba(255,255,255,0.80) 0%,rgba(255,255,255,0.00) 100%)', - 'glass-dark': - 'linear-gradient(180deg, rgb(43, 47, 64) 0%, rgba(43, 47, 64, 0.60) 100%)', - }, - }, - }, - plugins: [], -}; diff --git a/apps/zk-explorer/tsconfig.json b/apps/zk-explorer/tsconfig.json deleted file mode 100644 index 556d9e20dc..0000000000 --- a/apps/zk-explorer/tsconfig.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "jsx": "preserve", - "allowJs": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "resolveJsonModule": true, - "isolatedModules": true, - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], - "types": [ - "jest", - "node" - ] - }, - "include": [ - "**/*.ts", - "**/*.tsx", - "**/*.js", - "**/*.jsx", - "../../apps/zk-explorer/.next/types/**/*.ts", - "../../dist/apps/zk-explorer/.next/types/**/*.ts", - "next-env.d.ts", - ".next/types/**/*.ts" - ], - "exclude": [ - "node_modules", - "jest.config.ts", - "src/**/*.spec.ts", - "src/**/*.test.ts" - ] -} diff --git a/apps/zk-explorer/tsconfig.spec.json b/apps/zk-explorer/tsconfig.spec.json deleted file mode 100644 index e62c9eecd9..0000000000 --- a/apps/zk-explorer/tsconfig.spec.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "types": ["jest", "node"], - "jsx": "react" - }, - "include": [ - "jest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.test.tsx", - "src/**/*.spec.tsx", - "src/**/*.test.js", - "src/**/*.spec.js", - "src/**/*.test.jsx", - "src/**/*.spec.jsx", - "src/**/*.d.ts" - ] -} diff --git a/apps/zk-explorer/utils/api.ts b/apps/zk-explorer/utils/api.ts deleted file mode 100644 index 81ca5d3c3c..0000000000 --- a/apps/zk-explorer/utils/api.ts +++ /dev/null @@ -1,131 +0,0 @@ -import { notificationApi } from '@webb-tools/webb-ui-components'; -import assert from 'assert'; -import { gracefullyParseJson } from './index'; - -export enum ApiRoute { - OAuthGithub = 'oauth/github', - SearchProjects = 'search/projects', - SearchCircuits = 'search/circuits', - Projects = 'projects', - Constraints = 'constraints', - AuthValidate = 'auth/validate', - AuthLogout = 'auth/logout', - User = 'user', - ProofGeneration = 'proof-generation', -} - -export type ApiResponseWrapper = { - innerResponse: ApiResponse; - fetchResponse: Response; -}; - -export type ApiResponse> = { - isSuccess: boolean; - errorMessage?: string; - data?: T; -}; - -export function makeAbsoluteApiEndpointUrl(route: ApiRoute): string { - // TODO: Use `requireEnvVariable` instead. - const API_BASE_URL = process.env.ZK_EXPLORER_API_BASE_URL ?? '/api'; - - return `${API_BASE_URL}/${route}`; -} - -// TODO: Consider encapsulating all of these functions into a `useApi` hook. There would obviously need to be some benefits to that approach, though. Need to investigate further. -export async function sendApiRequest>( - route: ApiRoute, - errorPrimaryMessage: string, - options?: RequestInit, -): Promise> { - const headers = new Headers(options?.headers); - - // If the body is not form data, set the 'Content-Type' - // to default to 'application/json'. - if (!(options?.body instanceof FormData)) { - headers.set('Content-Type', 'application/json'); - } - - const finalOptions: RequestInit = { - ...options, - headers, - }; - - const finalRequestUrl = makeAbsoluteApiEndpointUrl(route); - - console.debug( - `[API] Sending ${ - finalOptions.method || '(method not specified?)' - } request:`, - finalRequestUrl, - options?.body, - ); - - const fetchResponse = await fetch(finalRequestUrl, finalOptions); - const responseAsPlainText = await fetchResponse.text(); - - const innerResponse = - gracefullyParseJson>(responseAsPlainText); - - // Handle the possibility of JSON parsing failing. - // This could be due to the response being empty, malformed, - // or other factors such as: a network error, the backend - // returning HTML, etc. - if (innerResponse instanceof Error) { - // TODO: Another great place to log the error to Sentry. - notificationApi({ - variant: 'error', - message: errorPrimaryMessage, - secondaryMessage: - 'The response from the server was not valid JSON. This could mean that the server is down, or that the response was malformed. If you believe this is a bug, please submit a bug report.', - }); - - return { - innerResponse: { - isSuccess: false, - errorMessage: innerResponse.message, - }, - fetchResponse, - }; - } - - if (!innerResponse.isSuccess) { - // TODO: This would be a good place to log the error to a service like Sentry. - const errorMessage = - innerResponse.errorMessage ?? - 'Hmm... No error message was provided by the backend. Please submit a bug report.'; - - console.error( - `[API] Request failed with status ${fetchResponse.status}: ${errorMessage}`, - ); - - notificationApi({ - variant: 'error', - message: errorPrimaryMessage, - secondaryMessage: `${errorMessage} (Error code: ${fetchResponse.status})`, - }); - } - - return { - innerResponse, - fetchResponse, - }; -} - -export function extractResponseData( - responseWrapper: ApiResponseWrapper, -): T { - // TODO: Determine whether gracefully handle errors is more appropriate here. - - assert( - responseWrapper.innerResponse.isSuccess, - 'Response should have been successful', - ); - - assert( - responseWrapper.innerResponse.data !== undefined, - 'Response data should not be undefined', - ); - - return responseWrapper.innerResponse.data; -} diff --git a/apps/zk-explorer/utils/index.ts b/apps/zk-explorer/utils/index.ts deleted file mode 100644 index c3b76d0ce6..0000000000 --- a/apps/zk-explorer/utils/index.ts +++ /dev/null @@ -1,282 +0,0 @@ -export * from './api'; -import _, { capitalize } from 'lodash'; -import { CircuitItem } from '../components/CircuitCard'; -import { ProjectItem } from '../components/ProjectCard'; -import { - GITHUB_LANGUAGE_COLORS_API_URL, - GITHUB_URL_PREFIX, - ITEMS_PER_PAGE, -} from '../constants'; -import { MOCK_AVATAR_URL } from '../constants/mock'; -import { User } from '../hooks/useAuth'; -import { CircuitSearchResponseData } from '../server/circuits'; -import { ProjectSearchResponseData } from '../server/projects'; - -export function createProjectDetailPath( - repositoryOwner: string, - repositoryName: string, -): string { - const encodedRepositoryOwner = encodeURIComponent(repositoryOwner); - const encodedRepositoryName = encodeURIComponent(repositoryName); - - return `/project/${encodedRepositoryOwner}/${encodedRepositoryName}`; -} - -export function createProofGenerationUrl( - owner: string, - repositoryName: string, - circuitFilePath: string, -): string { - const encodedCircuitFilePath = encodeURIComponent(circuitFilePath); - - return ( - createProjectDetailPath(owner, repositoryName) + - '/' + - encodedCircuitFilePath - ); -} - -export function tryOrElse(fn: () => T, fallback: () => T): T { - try { - return fn(); - } catch { - return fallback(); - } -} - -export enum ItemType { - Project = 'Project', - Circuit = 'Circuit', -} - -export enum RelativePageUrl { - Root = '/', - SubmitProject = '/submit', - Dashboard = '/dashboard', -} - -export enum DynamicPath { - Project = 'project', -} - -export enum SearchParamKey { - SearchQuery = 'q', - PaginationPageNumber = 'page', - Filters = 'filters', -} - -/** - * A utility function to parse a GitHub URL into its owner and - * repository name segments. - * - * In case the URL is invalid, `null` is returned. - */ -export function parseGithubUrl(url: string): [string, string] | null { - const trimmedUrl = url.trim(); - - if (!trimmedUrl.startsWith(GITHUB_URL_PREFIX)) { - return null; - } - - const slugPathSegment = trimmedUrl.slice(GITHUB_URL_PREFIX.length); - const parts = slugPathSegment.split('/'); - - // The slug path segment should be in the form of - // /, so there should be exactly - // two parts. - if (parts.length !== 2) { - return null; - } - - const segmentRegex = /^([a-zA-Z0-9_-]+)$/i; - const owner = parts[0]; - const repo = parts[1]; - - if (!segmentRegex.test(owner) || !segmentRegex.test(repo)) { - return null; - } - - return [owner, repo]; -} - -export function validateGithubUrl(url: string): boolean { - return parseGithubUrl(url) !== null; -} - -// TODO: This is temporary, until the backend is implemented. -export function getMockProjects(): ProjectSearchResponseData { - const mockProjects = Array(ITEMS_PER_PAGE).fill({ - ownerAvatarUrl: MOCK_AVATAR_URL, - repositoryOwner: 'webb', - repositoryName: 'masp', - stargazerCount: 123, - circuitCount: 24, - description: - 'Short blurb about what the purpose of this circuit. This is a longer line to test multiline.', - contributorAvatarUrls: Array(15).fill(MOCK_AVATAR_URL), - }); - - return { - projects: mockProjects, - resultCount: mockProjects.length, - }; -} - -// TODO: This is temporary, until the backend is implemented. -export function getMockCircuits(): CircuitSearchResponseData { - const mockCircuits = Array(ITEMS_PER_PAGE).fill({ - ownerAvatarUrl: MOCK_AVATAR_URL, - filename: 'circuit.circom', - description: - 'Short blurb about what the purpose of this circuit. This is a longer line to test multiline.', - stargazerCount: 123, - constraintCount: 456, - }); - - return { - circuits: mockCircuits, - resultCount: mockCircuits.length, - }; -} - -export function validateSearchQuery(searchQuery: string | null): boolean { - const MIN_SEARCH_QUERY_LENGTH = 3; - - // A small query length can yield too many results. Let's - // wait until the user has typed a more more specific query. - return ( - searchQuery !== null && - searchQuery.length > 0 && - searchQuery.length >= MIN_SEARCH_QUERY_LENGTH - ); -} - -export function formatTimestamp(timestamp: number): string { - const date = new Date(timestamp); - - return date.toLocaleDateString('en-US', { - year: 'numeric', - month: 'short', - day: 'numeric', - }); -} - -export function computeUserDiff(initial: User, updated: User): Partial { - // Note that the user object is only composed of - // primitive values, so there's no need to worry about - // deep equality checks. - return _.pickBy( - updated, - (value, key) => !_.isEqual(value, initial[key as keyof User]), - ); -} - -export function gracefullyParseJson( - jsonString: string, -): T | Error { - try { - return JSON.parse(jsonString); - } catch (possibleError) { - if (possibleError instanceof Error) { - return possibleError; - } - - return new Error( - 'Unknown error because the thrown object is not an instance of an error', - ); - } -} - -export function getPathFilename(path: string): string { - const segments = path.split('/'); - - // Note that the path is guaranteed to have at least one - // segment, so there's no need to worry about an - // out-of-bounds error. Even if the path is just an empty - // string, the last segment will be an empty string. - return segments[segments.length - 1]; -} - -export function isPageUrl(pathSegment: string): pathSegment is RelativePageUrl { - return Object.values(RelativePageUrl).includes( - pathSegment as RelativePageUrl, - ); -} - -export function getPageName(page: RelativePageUrl): string { - switch (page) { - case RelativePageUrl.Root: - return 'Home'; - case RelativePageUrl.SubmitProject: - return 'Upload Project'; - case RelativePageUrl.Dashboard: - return 'My Dashboard'; - } -} - -export function getDynamicPathSegmentNames( - dynamicPath: DynamicPath, - segments: string[], -): string[] { - switch (dynamicPath) { - case DynamicPath.Project: - return ['Project', ...segments]; - } -} - -function isDynamicPath(pathSegment: string): pathSegment is DynamicPath { - return Object.values(DynamicPath).includes(pathSegment as DynamicPath); -} - -export function getPathBreadcrumbNames(pathSegments: string[]): string[] { - if (pathSegments.length === 0) { - return []; - } - - const firstSegment = pathSegments[0]; - const firstSegmentWithSlash = `/${firstSegment}`; - - if (isPageUrl(firstSegmentWithSlash)) { - return [getPageName(firstSegmentWithSlash)]; - } else if (isDynamicPath(firstSegment)) { - return getDynamicPathSegmentNames(firstSegment, pathSegments.slice(1)); - } - - // If the first segment is neither a known page URL - // nor a known dynamic dynamic path, simply capitalize - // each segment. This serves as a graceful fallback. - return pathSegments.map(capitalize); -} - -export async function getGitHubLanguageColors( - colorList: string[], -): Promise> { - const response = await fetch(GITHUB_LANGUAGE_COLORS_API_URL); - - if (!response.ok) { - // TODO: Provide reason why the request failed. - throw new Error('Failed to fetch GitHub language colors'); - } - - const formattedResponse = await response.json(); - - const relevantLanguageColors = Object.keys(formattedResponse).filter( - (color) => colorList.includes(color), - ); - - return relevantLanguageColors.reduce( - (map, language) => { - // TODO: Might need to perform a deep copy here to avoid mutating the original object. - const updatedMap = map; - - map[language] = formattedResponse[language].color; - - return updatedMap; - }, - {} as Record, - ); -} - -export function artificialDelay(timeInMs: number): Promise { - return new Promise((resolve) => setTimeout(resolve, timeInMs)); -} diff --git a/commitlint.config.cjs b/commitlint.config.cjs index 8f356346d5..5a429c066b 100644 --- a/commitlint.config.cjs +++ b/commitlint.config.cjs @@ -11,14 +11,9 @@ module.exports = { 'always', [ 'repo', - 'bridge-dapp', - 'faucet', - 'hubble-stats', - 'stats-dapp', 'tangle-dapp', 'tangle-cloud', 'testnet-leaderboard', - 'zk-explorer', 'webb-ui', 'icons', 'tools', diff --git a/libs/webb-ui-components/src/components/WebsiteFooter/utils.ts b/libs/webb-ui-components/src/components/WebsiteFooter/utils.ts index 8c32254ff9..98cff7d48c 100644 --- a/libs/webb-ui-components/src/components/WebsiteFooter/utils.ts +++ b/libs/webb-ui-components/src/components/WebsiteFooter/utils.ts @@ -1,7 +1,5 @@ import capitalize from 'lodash/capitalize'; import { - BRIDGE_URL, - DKG_STATS_URL, SOCIAL_ICONS_RECORD, SOCIAL_URLS_RECORD, TANGLE_DOCS_URL, @@ -60,16 +58,6 @@ export function getNavLinks(websiteType: WebsiteType) { url: TANGLE_MKT_URL, isInternal: false, }, - { - label: 'DKG Explorer', - url: DKG_STATS_URL, - isInternal: false, - }, - { - label: 'Hubble Bridge', - url: BRIDGE_URL, - isInternal: false, - }, ], }, { diff --git a/libs/webb-ui-components/src/constants/index.ts b/libs/webb-ui-components/src/constants/index.ts index cdcdf45b7e..368019f3ab 100644 --- a/libs/webb-ui-components/src/constants/index.ts +++ b/libs/webb-ui-components/src/constants/index.ts @@ -12,12 +12,7 @@ import { YouTubeFill, } from '@webb-tools/icons'; import type { IconBase } from '@webb-tools/icons/types'; -import type { - ExternalLink, - FooterNavsType, - Link, - SocialConfigsType, -} from '../types'; +import type { FooterNavsType, Link, SocialConfigsType } from '../types'; /** TODO: Determine the best way to put thess configs to share across the project */ const commonExternalProps = { @@ -137,22 +132,7 @@ export const WEBB_DOC_ROUTES_RECORD = { }, }, }, - projects: { - 'hubble-bridge': { - overview: '/docs/projects/hubble-bridge/overview', - 'usage-guide': { - route: '/docs/projects/hubble-bridge/usage-guide', - account: '/docs/projects/hubble-bridge/usage-guide/account', - transfer: { - '#6-input-recipient-shielded-address': - '/docs/projects/hubble-bridge/usage-guide/transfer#6-input-recipient-shielded-address', - }, - }, - }, - 'stats-dapp': { - overview: '/docs/projects/stats-dapp/overview', - }, - }, + projects: {}, 'ecosystem-roles': { relayer: { 'running-relayer': { @@ -219,12 +199,6 @@ export const tangleLogoConfig: Link = { path: TANGLE_MKT_URL, }; -export const webbAppConfig: ExternalLink = { - name: 'Hubble Bridge', - href: BRIDGE_URL, - ...commonExternalProps, -}; - export const headerNavs: Link[] = [ { name: 'Keys', diff --git a/nx.json b/nx.json index b92d44d3a5..c6713eee8e 100644 --- a/nx.json +++ b/nx.json @@ -6,10 +6,6 @@ "dependsOn": ["^build"], "inputs": ["production", "^production"], "outputs": [ - "{workspaceRoot}/dist/apps/bridge-dapp", - "{workspaceRoot}/dist/apps/stats-dapp", - "{workspaceRoot}/dist/apps/faucet/.next", - "{workspaceRoot}/dist/apps/hubble-stats/.next", "{workspaceRoot}/dist/apps/tangle-dapp/.next", "{workspaceRoot}/dist/apps/testnet-leaderboard/.next" ], diff --git a/package.json b/package.json index 24225b961c..58cd523a38 100644 --- a/package.json +++ b/package.json @@ -3,45 +3,31 @@ "version": "0.0.0", "license": "Apache-2.0", "type": "module", + "private": true, "engines": { "node": ">=18.12.x" }, "scripts": { "commit": "commit", - "prepare": "husky", "start": "nx run-many --all --target=serve", "build": "nx run-many --all --target=build", - "test": "nx run-many --all --target=test", "lint": "nx run-many --all --target=lint", - "gql:codegen": "graphql-codegen --config apps/stats-dapp/codegen.yml", "fetch:onChainConfig": "tsx --tsconfig ./tools/tsconfig.json --no-warnings ./tools/scripts/fetchingOnChainConfig.ts", "setup:multiAssetDelegationPallet": "tsx --tsconfig ./tools/tsconfig.json --no-warnings ./tools/scripts/setupMultiAssetDelegationPallet.ts", - "build:bridge": "nx build bridge-dapp", - "build:stats": "nx build stats-dapp", - "build:hubble-stats": "nx build hubble-stats", "build:tangle-dapp": "nx build tangle-dapp", "build:tangle-cloud": "nx build tangle-cloud", "build:leaderboard": "nx build testnet-leaderboard", "build:storybook": "nx build-storybook webb-ui-components", - "build:faucet": "nx build faucet", - "build:zk-explorer": "nx build zk-explorer", - "export:faucet": "nx export faucet", - "start:bridge": "nx serve bridge-dapp", - "start:stats": "nx serve stats-dapp", - "start:hubble-stats": "nx serve hubble-stats", "start:tangle-dapp": "nx serve tangle-dapp", "start:tangle-cloud": "nx serve tangle-cloud", "start:leaderboard": "nx serve testnet-leaderboard", "start:storybook": "nx storybook webb-ui-components", - "start:faucet": "nx serve faucet", - "start:zk-explorer": "nx serve zk-explorer", "format": "prettier --write \"{libs,apps,tools}/**/*.{ts,js,jsx,tsx}\" ", "format:check": "prettier --check \"{libs,apps,tools}/**/*.{ts,js,jsx,tsx}\" ", "pr:check": "prettier --write \"{libs,apps,tools}/**/*.{ts,js,jsx,tsx}\" && yarn lint && yarn build", "chromatic": "npx chromatic --build-script-name=build:storybook --exit-zero-on-changes", "generate:release": "node ./tools/release.js" }, - "private": true, "resolutions": { "@polkadot/api": "^11.0.2", "@polkadot/api-augment": "^11.0.2", @@ -67,9 +53,9 @@ }, "dependencies": { "@actions/core": "^1.11.1", - "@apollo/client": "^3.11.8", - "@buildwithsygma/sygma-sdk-core": "2.11.2", "@date-fns/utc": "^1.2.0", + "@ethersproject/abi": "^5.7.0", + "@ethersproject/providers": "^5.7.2", "@headlessui/react": "^2.2.0", "@hyperlane-xyz/registry": "^2.5.0", "@hyperlane-xyz/sdk": "^5.6.2", @@ -104,58 +90,36 @@ "@radix-ui/react-switch": "^1.1.1", "@radix-ui/react-tabs": "^1.1.1", "@radix-ui/react-tooltip": "^1.1.3", - "@shopify/react-web-worker": "^5.1.6", "@tanstack/react-query": "^5.59.16", - "@testing-library/dom": "^10.4.0", - "@webb-tools/proposals": "^1.0.11", "bn.js": "^5.2.1", - "chart.js": "^4.4.6", "chromatic": "^11.16.1", "circomlibjs": "0.1.7", - "cookies-next": "^4.3.0", - "country-flag-icons": "^1.5.13", "decimal.js": "^10.4.3", "detect-browser": "^5.3.0", "dexie": "^4.0.9", "dexie-react-hooks": "^1.1.7", "ethers": "5.7.2", - "github-markdown-css": "^5.7.0", "graphql": "^16.9.0", "lodash": "^4.17.21", - "lottie-react": "^2.4.0", - "neverthrow": "^8.1.1", "next": "^14.2.16", - "next-query-params": "^5.0.1", "next-secure-headers": "^2.2.0", - "next-seo": "^6.6.0", "next-themes": "^0.3.0", "notistack": "^3.0.1", "nuqs": "^2.0.4", "observable-hooks": "^4.2.4", - "query-string": "^9.1.1", "react": "^18.3.1", - "react-chartjs-2": "^5.2.0", - "react-complex-tree": "^2.4.5", "react-dom": "^18.3.1", "react-dropzone": "^14.2.10", "react-hook-form": "^7.53.1", - "react-intersection-observer": "^9.13.1", - "react-markdown": "^9.0.1", - "react-resizable-panels": "^2.1.6", "react-router": "^6.27.0", "react-router-dom": "^6.27.0", "react-syntax-highlighter": "^15.6.1", "recharts": "^2.13.0", - "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.0", "rxjs": "7.8.1", "snarkjs": "^0.7.5", - "swiper": "^11.1.14", "swr": "^2.2.5", - "tslib": "^2.8.0", - "twitter-api-v2": "^1.18.1", "use-local-storage-state": "^19.4.1", - "use-query-params": "^2.2.1", "viem": "^2.21.35", "wagmi": "^2.12.25", "zod": "^3.23.8", @@ -163,21 +127,11 @@ }, "devDependencies": { "@babel/core": "^7.26.0", - "@babel/plugin-transform-runtime": "7.25.9", - "@babel/preset-env": "7.26.0", "@babel/preset-react": "7.25.9", - "@babel/preset-typescript": "7.26.0", "@chromatic-com/storybook": "^1.9.0", "@commitlint/cli": "^19.5.0", "@commitlint/config-conventional": "^19.5.0", - "@commitlint/prompt-cli": "^19.5.0", - "@graphql-codegen/cli": "^5.0.3", - "@graphql-codegen/introspection": "4.0.3", - "@graphql-codegen/typescript": "4.1.1", - "@graphql-codegen/typescript-operations": "4.3.1", - "@graphql-codegen/typescript-react-apollo": "4.3.2", "@next/bundle-analyzer": "^14.2.16", - "@nx/cypress": "19.8.8", "@nx/eslint": "19.8.8", "@nx/eslint-plugin": "19.8.8", "@nx/jest": "19.8.8", @@ -187,19 +141,17 @@ "@nx/storybook": "19.8.8", "@nx/vite": "19.8.8", "@nx/web": "19.8.8", - "@nx/webpack": "19.8.8", "@nx/workspace": "19.8.8", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "@storybook/addon-a11y": "^8.3.6", "@storybook/addon-actions": "^8.3.6", "@storybook/addon-docs": "^8.3.6", "@storybook/addon-essentials": "^8.3.6", "@storybook/addon-interactions": "^8.3.6", - "@storybook/addon-links": "^8.3.6", - "@storybook/addon-mdx-gfm": "^8.3.6", + "@storybook/addon-links": "8.3.6", + "@storybook/addon-mdx-gfm": "8.3.6", "@storybook/addon-themes": "^8.3.6", "@storybook/addon-webpack5-compiler-swc": "^1.0.5", - "@storybook/blocks": "^8.3.6", + "@storybook/blocks": "8.3.6", "@storybook/channels": "^8.3.6", "@storybook/components": "^8.3.6", "@storybook/core-events": "^8.3.6", @@ -208,16 +160,12 @@ "@storybook/nextjs": "^8.3.6", "@storybook/preview-api": "^8.3.6", "@storybook/react": "^8.3.6", - "@storybook/test": "^8.3.6", "@storybook/theming": "^8.3.6", "@svgr/webpack": "8.1.0", - "@swc-node/register": "1.10.9", - "@swc/cli": "~0.4.1-nightly.20240914", - "@swc/core": "1.7.40", - "@swc/helpers": "0.5.13", "@tailwindcss/forms": "^0.5.9", "@tanstack/match-sorter-utils": "^8.19.4", "@tanstack/react-table": "^8.20.5", + "@testing-library/dom": "^10.4.0", "@testing-library/react": "16.0.1", "@types/jest": "29.5.14", "@types/node": "18.19.60", @@ -248,8 +196,6 @@ "@webb-tools/wasm-utils": "0.1.4-127", "autoprefixer": "^10.4.20", "babel-jest": "29.7.0", - "babel-loader": "9.2.1", - "browserify-zlib": "^0.2.0", "classnames": "^2.5.1", "copy-to-clipboard": "^3.3.3", "copy-webpack-plugin": "^12.0.2", @@ -270,25 +216,13 @@ "eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-storybook": "^0.10.1", "eslint-plugin-unused-imports": "^4.1.4", - "execa": "9.5.0", "framer-motion": "^11.11.10", - "graphql-tag": "^2.12.6", - "html-loader": "^5.1.0", - "html-webpack-plugin": "^5.6.3", - "https-browserify": "^1.0.0", - "husky": "^9.1.6", "jest": "29.7.0", - "jest-environment-jsdom": "29.7.0", "jsdom": "~24.1.3", "listr2": "^8.2.5", - "markdown-loader": "^8.0.0", - "mini-css-extract-plugin": "^2.9.1", "netlify-cli": "^17.37.1", - "null-loader": "^4.0.1", "numbro": "^2.5.0", "nx": "19.8.8", - "os-browserify": "^0.3.0", - "path-browserify": "^1.0.1", "postcss": "8.4.47", "postcss-import": "^16.1.0", "postcss-loader": "^8.1.1", @@ -297,24 +231,15 @@ "prettier": "^3.3.3", "process": "^0.11.10", "react-is": "^18.3.1", - "react-refresh": "0.14.2", - "readline": "^1.3.0", "rollup": "^4.24.2", "rollup-plugin-preserve-directives": "^0.4.0", - "sass": "^1.80.4", "storybook": "^8.3.6", "storybook-addon-remix-react-router": "^3.0.1", - "stream-browserify": "^3.0.0", - "stream-http": "^3.2.0", - "style-loader": "^4.0.0", "tailwind-merge": "^2.5.4", "tailwind-scrollbar": "^3.1.0", "tailwindcss": "^3.4.14", "tailwindcss-radix": "^3.0.5", - "terser-webpack-plugin": "^5.3.10", - "thread-loader": "^4.0.4", "ts-jest": "29.2.5", - "ts-node": "10.9.1", "tsx": "^4.19.2", "typescript": "5.6.3", "vite": "~5.4.10", diff --git a/storybook-migration-summary.md b/storybook-migration-summary.md deleted file mode 100644 index a6be7eb815..0000000000 --- a/storybook-migration-summary.md +++ /dev/null @@ -1,62 +0,0 @@ -# Storybook 7 Migration Summary - -## Upgrade Storybook packages - -The following command was ran to upgrade the Storybook packages: - -```bash -npx storybook@latest upgrade -``` - -## Your `.storybook/main.js|ts` files were prepared for Storybook's automigration scripts - -Some adjustments were made to your `.storybook/main.js|ts` files so that -the Storybook automigration scripts could run successfully. The changes that were made are as follows: - -- Remove the `as StorybookConfig` typecast from the main.ts files, if any, - since it is not needed any more. -- Remove the `path.resolve` calls from the Next.js Storybook configuration, if any, since it breaks the Storybook automigration scripts. - -## The Storybook automigration scripts were ran - -The following commands ran successfully and your Storybook configuration was successfully migrated to the latest version 7: - -- `npx storybook@latest automigrate --config-dir libs/webb-ui-components/.storybook --renderer undefined` - -Please make sure to check the results yourself and make sure that everything is working as expected. - -Also, we may have missed something. Please make sure to check the logs of the Storybook CLI commands that were run, and look for -the `❌ Failed trying to evaluate` message or `❌ The migration failed to update` message. This will indicate if a command was -unsuccessful, and will help you run the migration again, manually. - -## Final adjustments - -After the Storybook automigration scripts have run, some additional adjustments were made to your -workspace, to make sure that everything is working as expected. These adjustments are as follows: - -- The `vite-tsconfig-paths` plugin was removed from the Storybook configuration files since it's no longer needed. -- The `viteConfigPath` option was added to the Storybook builder, where needed. -- The import package for the `StorybookConfig` type was changed to be framework specific. -- The `uiFramework` option was removed from your project's Storybook targets. -- The `lit` package was added to your workspace, if you are using the - Web Components `@storybook/web-components` package. Please note that the `lit-html` package is - no longer needed by Storybook v7. So, if you are not using it anywhere else, you can safely remove it. - -## Next steps - -You can make sure everything is working as expected by trying -to build or serve your Storybook as you normally would. - -```bash -npx nx build-storybook project-name -``` - -```bash -npx nx storybook project-name -``` - -Please read the [Storybook 7.0.0 release article](https://storybook.js.org/blog/storybook-7-0/) and the -official [Storybook 7.0.0 migration guide](https://storybook.js.org/docs/7/migration-guide) -for more information. - -You can also read the docs for the [@nx/storybook:migrate-7 generator](https://nx.dev/packages/storybook/generators/migrate-7) and our [Storybook 7 setup guide](https://nx.dev/packages/storybook/documents/storybook-7-setup). diff --git a/tools/scripts/bridge.sh b/tools/scripts/bridge.sh deleted file mode 100755 index a4e9f0f30c..0000000000 --- a/tools/scripts/bridge.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash - -set -e - -# Set variables -REPO_URL="https://github.com/webb-tools/webb-dapp.git" -CURRENT_DIR=$(pwd) -defaultPath="$CURRENT_DIR/local-webb-dapp" - -if [ $# -eq 0 ] -then - PROJECT_DIR="$defaultPath" -else - PROJECT_DIR="$1" -fi - -# Check to see if the directory exists else create it -echo "Check to see if the directory exists else create it...\n" -[ -d $PROJECT_DIR ] || mkdir $PROJECT_DIR - -# Clone the repository -cd "$PROJECT_DIR" - -if [ -d "$PROJECT_DIR/webb-dapp" ]; then - echo "webb-dapp directory already exists. Skipping clone." - cd webb-dapp -else - cd "$PROJECT_DIR" - echo "Cloning repository from $REPO_URL..." - git clone "$REPO_URL" - cd webb-dapp -fi - -# Install the dependencies -if ! yarn install; then - echo "Failed to install dependencies. Exiting..." - exit 1 -fi - -# Start the bridge -if ! yarn start:bridge; then - echo "Failed to start the bridge. Exiting..." - exit 1 -fi diff --git a/tools/scripts/local-bridge-network.sh b/tools/scripts/local-bridge-network.sh deleted file mode 100644 index afb07537c8..0000000000 --- a/tools/scripts/local-bridge-network.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -# This script creates a local bridge network with a local relayer for development purposes. - -# The script assumes that the operator has cleared their local storage and is running MacOS. - -current_dir=$(pwd) -defaultPath="$current_dir/local-webb-dapp" - -shopt -s nocasematch -echo "Executing script to create local bridge network...\n" - -# Check to see if the directory exists else create it -echo "Check to see if the directory exists else create it...\n" -[ -d $defaultPath ] || mkdir $defaultPath - -echo "Executing script to compile Webb smart contracts...\n" -osascript -e "tell app \"Terminal\" - do script \"cd $current_dir && chmod u+x ./contracts.sh && ./contracts.sh $defaultPath\" -end tell" - -echo "Waiting for ./contracts.sh to finish...\n" -sleep 230 - -echo "Executing script to build Webb relayer in a Terminal window...\n" -osascript -e "tell app \"Terminal\" - do script \"cd $current_dir && chmod u+x ./relayer.sh && ./relayer.sh $defaultPath\" -end tell" - -echo "Executing script to build Webb bridge in a Terminal window...\n" -osascript -e "tell app \"Terminal\" - do script \"cd $current_dir && chmod u+x ./bridge.sh && ./bridge.sh $defaultPath\" -end tell" - -echo "Done! Check your Terminal windows for the EVM localnet, relayer and bridge." diff --git a/tsconfig.base.json b/tsconfig.base.json index d619da4403..567e214eec 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -60,7 +60,6 @@ "@webb-tools/relayer-manager-factory/*": [ "libs/relayer-manager-factory/src/*" ], - "@webb-tools/stats-dapp/*": ["apps/stats-dapp/src/*"], "@webb-tools/tailwind-preset": ["libs/tailwind-preset/index.js"], "@webb-tools/web3-api-provider": ["libs/web3-api-provider/src/index.ts"], "@webb-tools/web3-api-provider/*": ["libs/web3-api-provider/src/*"], diff --git a/yarn.lock b/yarn.lock index 2db125fc44..a652daa440 100644 --- a/yarn.lock +++ b/yarn.lock @@ -88,43 +88,6 @@ __metadata: languageName: node linkType: hard -"@apollo/client@npm:^3.11.8": - version: 3.11.8 - resolution: "@apollo/client@npm:3.11.8" - dependencies: - "@graphql-typed-document-node/core": "npm:^3.1.1" - "@wry/caches": "npm:^1.0.0" - "@wry/equality": "npm:^0.5.6" - "@wry/trie": "npm:^0.5.0" - graphql-tag: "npm:^2.12.6" - hoist-non-react-statics: "npm:^3.3.2" - optimism: "npm:^0.18.0" - prop-types: "npm:^15.7.2" - rehackt: "npm:^0.1.0" - response-iterator: "npm:^0.2.6" - symbol-observable: "npm:^4.0.0" - ts-invariant: "npm:^0.10.3" - tslib: "npm:^2.3.0" - zen-observable-ts: "npm:^1.2.5" - peerDependencies: - graphql: ^15.0.0 || ^16.0.0 - graphql-ws: ^5.5.5 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 - subscriptions-transport-ws: ^0.9.0 || ^0.11.0 - peerDependenciesMeta: - graphql-ws: - optional: true - react: - optional: true - react-dom: - optional: true - subscriptions-transport-ws: - optional: true - checksum: 10c0/a9b697460aa6a5d7e59685132509871675995af14b5fc69213ca22f973600cfe3391b27b7b871579c5b4e18a0d6755ffd1076a2d8dd970a54a43973feaa99ffa - languageName: node - linkType: hard - "@apollo/client@npm:~3.2.5 || ~3.3.0 || ~3.4.0 || ~3.5.0 || ~3.6.0 || ~3.7.0 || ~3.8.0 || ~3.9.0 || ~3.10.0 || ~3.11.0": version: 3.11.5 resolution: "@apollo/client@npm:3.11.5" @@ -955,13 +918,13 @@ __metadata: linkType: hard "@babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/code-frame@npm:7.26.0" + version: 7.26.2 + resolution: "@babel/code-frame@npm:7.26.2" dependencies: "@babel/helper-validator-identifier": "npm:^7.25.9" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/46f7e367714be736b52ea3c01b24f47e2102e210fb83021d1c8237d8fc511b9538909e16e2fcdbb5cb6173e0794e28624309a59014e52fcfb7bde908f5284388 + checksum: 10c0/7d79621a6849183c415486af99b1a20b84737e8c11cd55b6544f688c51ce1fd710e6d869c3dd21232023da272a79b91efb3e83b5bc2dc65c1187c5fcd1b72ea8 languageName: node linkType: hard @@ -972,14 +935,14 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.25.9, @babel/compat-data@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/compat-data@npm:7.26.0" - checksum: 10c0/6325c9151a3c9b0a3a807e854a26255ef66d989bff331475a935af9bb18f160e0fffe6aed550e4e96b63f91efcd874bfbaab2a1f4a2f8d25645d712a0de590fb +"@babel/compat-data@npm:^7.25.9": + version: 7.26.2 + resolution: "@babel/compat-data@npm:7.26.2" + checksum: 10c0/c9b5f3724828d17f728a778f9d66c19b55c018d0d76de6d731178cca64f182c22b71400a73bf2b65dcc4fcfe52b630088a94d5902911b54206aa90e3ffe07d12 languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.14.0, @babel/core@npm:^7.17.9, @babel/core@npm:^7.18.9, @babel/core@npm:^7.21.3, @babel/core@npm:^7.22.9, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.0, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.2": +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.14.0, @babel/core@npm:^7.17.9, @babel/core@npm:^7.18.9, @babel/core@npm:^7.21.3, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.0, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.2": version: 7.25.2 resolution: "@babel/core@npm:7.25.2" dependencies: @@ -1025,7 +988,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.6, @babel/generator@npm:^7.7.2": +"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.6, @babel/generator@npm:^7.7.2": version: 7.25.6 resolution: "@babel/generator@npm:7.25.6" dependencies: @@ -1038,15 +1001,15 @@ __metadata: linkType: hard "@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/generator@npm:7.26.0" + version: 7.26.2 + resolution: "@babel/generator@npm:7.26.2" dependencies: - "@babel/parser": "npm:^7.26.0" + "@babel/parser": "npm:^7.26.2" "@babel/types": "npm:^7.26.0" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/b6bb9185f19a97eaf58e04a6d39a13237076678e7ed16b6321dea914535d4bf6a8d7727c9dcb65539845aa0096b326eb67be4bab764bd74bcfd848e2eda68609 + checksum: 10c0/167ebce8977142f5012fad6bd91da51ac52bcd752f2261a54b7ab605d928aebe57e21636cdd2a9c7757e552652c68d9fcb5d40b06fcb66e02d9ee7526e118a5c languageName: node linkType: hard @@ -1078,16 +1041,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/a6068bb813e7f72d12b72edeecb99167f60cd7964cacedfb60e01fff5e7bed4a5a7f4f7414de7cf352a1b71487df5f8dab8c2b5230de4ad5aea16adf32e14219 - languageName: node - linkType: hard - "@babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7, @babel/helper-compilation-targets@npm:^7.24.8, @babel/helper-compilation-targets@npm:^7.25.2": version: 7.25.2 resolution: "@babel/helper-compilation-targets@npm:7.25.2" @@ -1131,23 +1084,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-member-expression-to-functions": "npm:^7.25.9" - "@babel/helper-optimise-call-expression": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/b2bdd39f38056a76b9ba00ec5b209dd84f5c5ebd998d0f4033cf0e73d5f2c357fbb49d1ce52db77a2709fb29ee22321f84a5734dc9914849bdfee9ad12ce8caf - languageName: node - linkType: hard - "@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.7, @babel/helper-create-regexp-features-plugin@npm:^7.25.0, @babel/helper-create-regexp-features-plugin@npm:^7.25.2": version: 7.25.2 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.2" @@ -1161,19 +1097,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.9" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - regexpu-core: "npm:^6.1.1" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/3adc60a758febbf07d65a15eaccab1f7b9fcc55e7141e59122f13c9f81fc0d1cce4525b7f4af50285d27c93b34c859fd2c39c39820c5fb92211898c3bbdc77ef - languageName: node - linkType: hard - "@babel/helper-define-polyfill-provider@npm:^0.6.2": version: 0.6.2 resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" @@ -1199,16 +1122,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff - languageName: node - linkType: hard - "@babel/helper-module-imports@npm:^7.22.5, @babel/helper-module-imports@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-module-imports@npm:7.24.7" @@ -1243,7 +1156,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": +"@babel/helper-module-transforms@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helper-module-transforms@npm:7.26.0" dependencies: @@ -1265,15 +1178,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" - dependencies: - "@babel/types": "npm:^7.25.9" - checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c - languageName: node - linkType: hard - "@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": version: 7.24.8 resolution: "@babel/helper-plugin-utils@npm:7.24.8" @@ -1301,19 +1205,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-wrap-function": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/6798b562f2788210980f29c5ee96056d90dc73458c88af5bd32f9c82e28e01975588aa2a57bb866c35556bd9b76bac937e824ee63ba472b6430224b91b4879e9 - languageName: node - linkType: hard - "@babel/helper-replace-supers@npm:^7.24.7, @babel/helper-replace-supers@npm:^7.25.0": version: 7.25.0 resolution: "@babel/helper-replace-supers@npm:7.25.0" @@ -1327,19 +1218,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-replace-supers@npm:7.25.9" - dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.25.9" - "@babel/helper-optimise-call-expression": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/0b40d7d2925bd3ba4223b3519e2e4d2456d471ad69aa458f1c1d1783c80b522c61f8237d3a52afc9e47c7174129bbba650df06393a6787d5722f2ec7f223c3f4 - languageName: node - linkType: hard - "@babel/helper-simple-access@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-simple-access@npm:7.24.7" @@ -1350,16 +1228,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-simple-access@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/3f1bcdb88ee3883ccf86959869a867f6bbf8c4737cd44fb9f799c38e54f67474590bc66802500ae9fe18161792875b2cfb7ec15673f48ed6c8663f6d09686ca8 - languageName: node - linkType: hard - "@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" @@ -1370,16 +1238,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 - languageName: node - linkType: hard - "@babel/helper-string-parser@npm:^7.24.8": version: 7.24.8 resolution: "@babel/helper-string-parser@npm:7.24.8" @@ -1433,17 +1291,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-wrap-function@npm:7.25.9" - dependencies: - "@babel/template": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/b6627d83291e7b80df020f8ee2890c52b8d49272962cac0114ef90f189889c90f1027985873d1b5261a4e986e109b2754292dc112392f0b1fcbfc91cc08bd003 - languageName: node - linkType: hard - "@babel/helpers@npm:^7.25.0": version: 7.25.6 resolution: "@babel/helpers@npm:7.25.6" @@ -1487,14 +1334,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0": - version: 7.26.1 - resolution: "@babel/parser@npm:7.26.1" +"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2": + version: 7.26.2 + resolution: "@babel/parser@npm:7.26.2" dependencies: "@babel/types": "npm:^7.26.0" bin: parser: ./bin/babel-parser.js - checksum: 10c0/dc7d4e6b7eb667fa0784e7e2c3f6f92ca12ad72242f6d4311995310dae55093f02acdb595b69b0dbbf04cb61ad87156ac03186ff32eacfa35149c655bc22c14b + checksum: 10c0/751a743087b3a9172a7599f1421830d44c38f065ef781588d2bfb1c98f9b461719a226feb13c868d7a284783eee120c88ea522593118f2668f46ebfb1105c4d7 languageName: node linkType: hard @@ -1510,18 +1357,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/7aab47fcbb8c1ddc195a3cd66609edcad54c5022f018db7de40185f0182950389690e953e952f117a1737b72f665ff02ad30de6c02b49b97f1d8f4ccdffedc34 - languageName: node - linkType: hard - "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.0" @@ -1533,17 +1368,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/3a652b3574ca62775c5f101f8457950edc540c3581226579125da535d67765f41ad7f0e6327f8efeb2540a5dad5bb0c60a89fb934af3f67472e73fb63612d004 - languageName: node - linkType: hard - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.0" @@ -1555,17 +1379,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/18fc9004104a150f9f5da9f3307f361bc3104d16778bb593b7523d5110f04a8df19a2587e6bdd5e726fb1d397191add45223f4f731bb556c33f14f2779d596e8 - languageName: node - linkType: hard - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.7" @@ -1579,19 +1392,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.13.0 - checksum: 10c0/3f6c8781a2f7aa1791a31d2242399ca884df2ab944f90c020b6f112fb19f05fa6dad5be143d274dad1377e40415b63d24d5489faf5060b9c4a99e55d8f0c317c - languageName: node - linkType: hard - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.0" @@ -1604,18 +1404,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/02b365f0cc4df8b8b811c68697c93476da387841e5f153fe42766f34241b685503ea51110d5ed6df7132759820b93e48d9fa3743cffc091eed97c19f7e5fe272 - languageName: node - linkType: hard - "@babel/plugin-proposal-class-properties@npm:^7.0.0": version: 7.18.6 resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" @@ -1801,17 +1589,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/525b174e60b210d96c1744c1575fc2ddedcc43a479cba64a5344cf77bd0541754fc58120b5a11ff832ba098437bb05aa80900d1f49bb3d888c5e349a4a3a356e - languageName: node - linkType: hard - "@babel/plugin-syntax-import-attributes@npm:^7.24.7": version: 7.25.6 resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.6" @@ -1823,17 +1600,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e594c185b12bfe0bbe7ca78dfeebe870e6d569a12128cac86f3164a075fe0ff70e25ddbd97fd0782906b91f65560c9dc6957716b7b4a68aba2516c9b7455e352 - languageName: node - linkType: hard - "@babel/plugin-syntax-import-meta@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" @@ -1977,17 +1743,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5192ebe11bd46aea68b7a60fd9555465c59af7e279e71126788e59121b86e00b505816685ab4782abe159232b0f73854e804b54449820b0d950b397ee158caa2 - languageName: node - linkType: hard - "@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" @@ -2011,17 +1766,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/851fef9f58be60a80f46cc0ce1e46a6f7346a6f9d50fa9e0fa79d46ec205320069d0cc157db213e2bea88ef5b7d9bd7618bb83f0b1996a836e2426c3a3a1f622 - languageName: node - linkType: hard - "@babel/plugin-transform-async-generator-functions@npm:^7.25.4": version: 7.25.4 resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.4" @@ -2036,19 +1780,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-remap-async-to-generator": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e3fcb9fc3d6ab6cbd4fcd956b48c17b5e92fe177553df266ffcd2b2c1f2f758b893e51b638e77ed867941e0436487d2b8b505908d615c41799241699b520dec6 - languageName: node - linkType: hard - "@babel/plugin-transform-async-to-generator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.7" @@ -2062,19 +1793,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" - dependencies: - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-remap-async-to-generator": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c443d9e462ddef733ae56360064f32fc800105803d892e4ff32d7d6a6922b3765fa97b9ddc9f7f1d3f9d8c2d95721d85bef9dbf507804214c6cf6466b105c168 - languageName: node - linkType: hard - "@babel/plugin-transform-block-scoped-functions@npm:^7.0.0, @babel/plugin-transform-block-scoped-functions@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.7" @@ -2086,17 +1804,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e92ba0e3d72c038513844d8fca1cc8437dcb35cd42778e97fd03cb8303380b201468611e7ecfdcae3de33473b2679fe2de1552c5f925d112c5693425cf851f10 - languageName: node - linkType: hard - "@babel/plugin-transform-block-scoping@npm:^7.0.0, @babel/plugin-transform-block-scoping@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-transform-block-scoping@npm:7.25.0" @@ -2108,17 +1815,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a76e30becb6c75b4d87a2cd53556fddb7c88ddd56bfadb965287fd944810ac159aa8eb5705366fc37336041f63154ed9fab3862fb10482a45bf5ede63fd55fda - languageName: node - linkType: hard - "@babel/plugin-transform-class-properties@npm:^7.22.5, @babel/plugin-transform-class-properties@npm:^7.24.1, @babel/plugin-transform-class-properties@npm:^7.25.4": version: 7.25.4 resolution: "@babel/plugin-transform-class-properties@npm:7.25.4" @@ -2131,18 +1827,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f0603b6bd34d8ba62c03fc0572cb8bbc75874d097ac20cc7c5379e001081210a84dba1749e7123fca43b978382f605bb9973c99caf2c5b4c492d5c0a4a441150 - languageName: node - linkType: hard - "@babel/plugin-transform-class-static-block@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-class-static-block@npm:7.24.7" @@ -2156,18 +1840,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.12.0 - checksum: 10c0/cdcf5545ae6514ed75fbd73cccfa209c6a5dfdf0c2bb7bb62c0fb4ec334a32281bcf1bc16ace494d9dbe93feb8bdc0bd3cf9d9ccb6316e634a67056fa13b741b - languageName: node - linkType: hard - "@babel/plugin-transform-classes@npm:^7.0.0, @babel/plugin-transform-classes@npm:^7.25.4": version: 7.25.4 resolution: "@babel/plugin-transform-classes@npm:7.25.4" @@ -2184,22 +1856,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-classes@npm:7.25.9" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - globals: "npm:^11.1.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/02742ea7cd25be286c982e672619effca528d7a931626a6f3d6cea11852951b7ee973276127eaf6418ac0e18c4d749a16b520709c707e86a67012bd23ff2927d - languageName: node - linkType: hard - "@babel/plugin-transform-computed-properties@npm:^7.0.0, @babel/plugin-transform-computed-properties@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-computed-properties@npm:7.24.7" @@ -2212,18 +1868,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/template": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/948c0ae3ce0ba2375241d122a9bc7cda4a7ac8110bd8a62cd804bc46a5fdb7a7a42c7799c4cd972e14e0a579d2bd0999b92e53177b73f240bb0d4b09972c758b - languageName: node - linkType: hard - "@babel/plugin-transform-destructuring@npm:^7.0.0, @babel/plugin-transform-destructuring@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-destructuring@npm:7.24.8" @@ -2235,17 +1879,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/7beec5fda665d108f69d5023aa7c298a1e566b973dd41290faa18aeea70f6f571295c1ece0a058f3ceb6c6c96de76de7cd34f5a227fbf09a1b8d8a735d28ca49 - languageName: node - linkType: hard - "@babel/plugin-transform-dotall-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.7" @@ -2258,18 +1891,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/7c3471ae5cf7521fd8da5b03e137e8d3733fc5ee4524ce01fb0c812f0bb77cb2c9657bc8a6253186be3a15bb4caa8974993c7ddc067f554ecc6a026f0a3b5e12 - languageName: node - linkType: hard - "@babel/plugin-transform-duplicate-keys@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.7" @@ -2281,17 +1902,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d0c74894b9bf6ff2a04189afffb9cd43d87ebd7b7943e51a827c92d2aaa40fa89ac81565a2fd6fbeabf9e38413a9264c45862eee2b017f1d49046cc3c8ff06b4 - languageName: node - linkType: hard - "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.0" @@ -2304,18 +1914,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/a8039a6d2b90e011c7b30975edee47b5b1097cf3c2f95ec1f5ddd029898d783a995f55f7d6eb8d6bb8873c060fb64f9f1ccba938dfe22d118d09cf68e0cd3bf6 - languageName: node - linkType: hard - "@babel/plugin-transform-dynamic-import@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.7" @@ -2328,17 +1926,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5e643a8209072b668350f5788f23c64e9124f81f958b595c80fecca6561086d8ef346c04391b9e5e4cad8b8cbe22c258f0cd5f4ea89b97e74438e7d1abfd98cf - languageName: node - linkType: hard - "@babel/plugin-transform-exponentiation-operator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.7" @@ -2351,18 +1938,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.9" - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/3b42f65bab3fee28c385115ce6bcb6ba544dff187012df408a432c9fb44c980afd898911020c723dc1c9257aaf3d7d0131ad83ba15102bf30ad9a86fc2a8a912 - languageName: node - linkType: hard - "@babel/plugin-transform-export-namespace-from@npm:^7.24.1, @babel/plugin-transform-export-namespace-from@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.7" @@ -2375,17 +1950,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f291ea2ec5f36de9028a00cbd5b32f08af281b8183bf047200ff001f4cb260be56f156b2449f42149448a4a033bd6e86a3a7f06d0c2825532eb0ae6b03058dfb - languageName: node - linkType: hard - "@babel/plugin-transform-flow-strip-types@npm:^7.0.0": version: 7.25.2 resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.2" @@ -2410,18 +1974,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-for-of@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/bf11abc71934a1f369f39cd7a33cf3d4dc5673026a53f70b7c1238c4fcc44e68b3ca1bdbe3db2076f60defb6ffe117cbe10b90f3e1a613b551d88f7c4e693bbe - languageName: node - linkType: hard - "@babel/plugin-transform-function-name@npm:^7.0.0, @babel/plugin-transform-function-name@npm:^7.25.1": version: 7.25.1 resolution: "@babel/plugin-transform-function-name@npm:7.25.1" @@ -2435,19 +1987,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-function-name@npm:7.25.9" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/8e67fbd1dd367927b8b6afdf0a6e7cb3a3fd70766c52f700ca77428b6d536f6c9d7ec643e7762d64b23093233765c66bffa40e31aabe6492682879bcb45423e1 - languageName: node - linkType: hard - "@babel/plugin-transform-json-strings@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-json-strings@npm:7.24.7" @@ -2460,17 +1999,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/00bc2d4751dfc9d44ab725be16ee534de13cfd7e77dfb386e5dac9e48101ce8fcbc5971df919dc25b3f8a0fa85d6dc5f2a0c3cf7ec9d61c163d9823c091844f0 - languageName: node - linkType: hard - "@babel/plugin-transform-literals@npm:^7.0.0, @babel/plugin-transform-literals@npm:^7.25.2": version: 7.25.2 resolution: "@babel/plugin-transform-literals@npm:7.25.2" @@ -2482,17 +2010,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-literals@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/00b14e9c14cf1e871c1f3781bf6334cac339c360404afd6aba63d2f6aca9270854d59a2b40abff1c4c90d4ffdca614440842d3043316c2f0ceb155fdf7726b3b - languageName: node - linkType: hard - "@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.7" @@ -2505,17 +2022,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/6e2051e10b2d6452980fc4bdef9da17c0d6ca48f81b8529e8804b031950e4fff7c74a7eb3de4a2b6ad22ffb631d0b67005425d232cce6e2b29ce861c78ed04f5 - languageName: node - linkType: hard - "@babel/plugin-transform-member-expression-literals@npm:^7.0.0, @babel/plugin-transform-member-expression-literals@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.7" @@ -2527,17 +2033,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/91d17b451bcc5ea9f1c6f8264144057ade3338d4b92c0b248366e4db3a7790a28fd59cc56ac433a9627a9087a17a5684e53f4995dd6ae92831cb72f1bd540b54 - languageName: node - linkType: hard - "@babel/plugin-transform-modules-amd@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-modules-amd@npm:7.24.7" @@ -2550,18 +2045,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" - dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/849957d9484d0a2d93331226ed6cf840cee7d57454549534c447c93f8b839ef8553eae9877f8f550e3c39f14d60992f91244b2e8e7502a46064b56c5d68ba855 - languageName: node - linkType: hard - "@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.24.7, @babel/plugin-transform-modules-commonjs@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8" @@ -2575,19 +2058,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.9" - dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-simple-access": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/6ce771fb04d4810257fc8900374fece877dacaed74b05eaa16ad9224b390f43795c4d046cbe9ae304e1eb5aad035d37383895e3c64496d647c2128d183916e74 - languageName: node - linkType: hard - "@babel/plugin-transform-modules-systemjs@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.0" @@ -2602,20 +2072,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" - dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/8299e3437542129c2684b86f98408c690df27db4122a79edded4782cf04e755d6ecb05b1e812c81a34224a81e664303392d5f3c36f3d2d51fdc99bb91c881e9a - languageName: node - linkType: hard - "@babel/plugin-transform-modules-umd@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-modules-umd@npm:7.24.7" @@ -2628,18 +2084,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" - dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/fa11a621f023e2ac437b71d5582f819e667c94306f022583d77da9a8f772c4128861a32bbb63bef5cba581a70cd7dbe87a37238edaafcfacf889470c395e7076 - languageName: node - linkType: hard - "@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.24.7" @@ -2652,18 +2096,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/32b14fda5c885d1706863f8af2ee6c703d39264355b57482d3a24fce7f6afbd4c7a0896e501c0806ed2b0759beb621bf7f3f7de1fbbc82026039a98d961e78ef - languageName: node - linkType: hard - "@babel/plugin-transform-new-target@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-new-target@npm:7.24.7" @@ -2675,17 +2107,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-new-target@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/7b5f1b7998f1cf183a7fa646346e2f3742e5805b609f28ad5fee22d666a15010f3e398b7e1ab78cddb7901841a3d3f47135929af23d54e8bf4ce69b72051f71e - languageName: node - linkType: hard - "@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" @@ -2698,17 +2119,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/eb623db5be078a1c974afe7c7797b0309ba2ea9e9237c0b6831ade0f56d8248bb4ab3432ab34495ff8c877ec2fe412ff779d1e9b3c2b8139da18e1753d950bc3 - languageName: node - linkType: hard - "@babel/plugin-transform-numeric-separator@npm:^7.24.1, @babel/plugin-transform-numeric-separator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.7" @@ -2721,17 +2131,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/ad63ad341977844b6f9535fcca15ca0d6d6ad112ed9cc509d4f6b75e9bf4b1b1a96a0bcb1986421a601505d34025373608b5f76d420d924b4e21f86b1a1f2749 - languageName: node - linkType: hard - "@babel/plugin-transform-object-rest-spread@npm:^7.24.1, @babel/plugin-transform-object-rest-spread@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.7" @@ -2746,19 +2145,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/plugin-transform-parameters": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/02077d8abd83bf6a48ff0b59e98d7561407cf75b591cffd3fdc5dc5e9a13dec1c847a7a690983762a3afecddb244831e897e0515c293e7c653b262c30cd614af - languageName: node - linkType: hard - "@babel/plugin-transform-object-super@npm:^7.0.0, @babel/plugin-transform-object-super@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-object-super@npm:7.24.7" @@ -2771,18 +2157,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-object-super@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/0348d00e76f1f15ada44481a76e8c923d24cba91f6e49ee9b30d6861eb75344e7f84d62a18df8a6f9e9a7eacf992f388174b7f9cc4ce48287bcefca268c07600 - languageName: node - linkType: hard - "@babel/plugin-transform-optional-catch-binding@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.7" @@ -2795,17 +2169,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/722fd5ee12ab905309d4e84421584fce4b6d9e6b639b06afb20b23fa809e6ab251e908a8d5e8b14d066a28186b8ef8f58d69fd6eca9ce1b9ef7af08333378f6c - languageName: node - linkType: hard - "@babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8" @@ -2819,18 +2182,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/041ad2beae5affb8e68a0bcb6882a2dadb758db3c629a0e012f57488ab43a822ac1ea17a29db8ef36560a28262a5dfa4dbbbf06ed6e431db55abe024b7cd3961 - languageName: node - linkType: hard - "@babel/plugin-transform-parameters@npm:^7.0.0, @babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-parameters@npm:7.24.7" @@ -2842,17 +2193,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-parameters@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/aecb446754b9e09d6b6fa95fd09e7cf682f8aaeed1d972874ba24c0a30a7e803ad5f014bb1fffc7bfeed22f93c0d200947407894ea59bf7687816f2f464f8df3 - languageName: node - linkType: hard - "@babel/plugin-transform-private-methods@npm:^7.25.4": version: 7.25.4 resolution: "@babel/plugin-transform-private-methods@npm:7.25.4" @@ -2865,18 +2205,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/64bd71de93d39daefa3e6c878d6f2fd238ed7d4ecfb13b0e771ddbbc131487def3ceb405b62b534a5cbb5043046b504e1b189b0a45229cc75af979a9fbcaa7bd - languageName: node - linkType: hard - "@babel/plugin-transform-private-property-in-object@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-private-property-in-object@npm:7.24.7" @@ -2891,19 +2219,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d4965de19d9f204e692cc74dbc39f0bb469e5f29df96dd4457ea23c5e5596fba9d5af76eaa96f9d48a9fc20ec5f12a94c679285e36b8373406868ea228109e27 - languageName: node - linkType: hard - "@babel/plugin-transform-property-literals@npm:^7.0.0, @babel/plugin-transform-property-literals@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-property-literals@npm:7.24.7" @@ -2915,17 +2230,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/1639e35b2438ccf3107af760d34e6a8e4f9acdd3ae6186ae771a6e3029bd59dfe778e502d67090f1185ecda5c16addfed77561e39c518a3f51ff10d41790e106 - languageName: node - linkType: hard - "@babel/plugin-transform-react-constant-elements@npm:^7.21.3": version: 7.25.1 resolution: "@babel/plugin-transform-react-constant-elements@npm:7.25.1" @@ -3069,30 +2373,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-regenerator@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - regenerator-transform: "npm:^0.15.2" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/eef3ffc19f7d291b863635f32b896ad7f87806d9219a0d3404a470219abcfc5b43aabecd691026c48e875b965760d9c16abee25e6447272233f30cd07f453ec7 - languageName: node - linkType: hard - -"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/4abc1db6c964efafc7a927cda814c7275275afa4b530483e0936fd614de23cb5802f7ca43edaa402008a723d4e7eac282b6f5283aa2eeb3b27da6d6c1dd7f8ed - languageName: node - linkType: hard - "@babel/plugin-transform-reserved-words@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-reserved-words@npm:7.24.7" @@ -3104,33 +2384,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/8b028b80d1983e3e02f74e21924323cc66ba930e5c5758909a122aa7d80e341b8b0f42e1698e42b50d47a6ba911332f584200b28e1a4e2104b7514d9dc011e96 - languageName: node - linkType: hard - -"@babel/plugin-transform-runtime@npm:7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-runtime@npm:7.25.9" - dependencies: - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.6" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/888a4998ba0a2313de347954c9a8dfeccbff0633c69d33aee385b8878eba2b429dbfb00c3cc04f6bca454b9be8afa01ebbd73defb7fbbb6e2d3086205c07758b - languageName: node - linkType: hard - "@babel/plugin-transform-runtime@npm:^7.23.2, @babel/plugin-transform-runtime@npm:^7.24.0, @babel/plugin-transform-runtime@npm:^7.24.3": version: 7.25.4 resolution: "@babel/plugin-transform-runtime@npm:7.25.4" @@ -3158,17 +2411,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/05a20d45f0fb62567644c507ccd4e379c1a74dacf887d2b2cac70247415e3f6d7d3bf4850c8b336053144715fedb6200fc38f7130c4b76c94eec9b9c0c2a8e9b - languageName: node - linkType: hard - "@babel/plugin-transform-spread@npm:^7.0.0, @babel/plugin-transform-spread@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-spread@npm:7.24.7" @@ -3181,18 +2423,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-spread@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/996c8fed238efc30e0664f9f58bd7ec8c148f4659f84425f68923a094fe891245711d26eb10d1f815f50c124434e076e860dbe9662240844d1b77cd09907dcdf - languageName: node - linkType: hard - "@babel/plugin-transform-sticky-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.7" @@ -3204,17 +2434,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e9612b0615dab4c4fba1c560769616a9bd7b9226c73191ef84b6c3ee185c8b719b4f887cdd8336a0a13400ce606ab4a0d33bc8fa6b4fcdb53e2896d07f2568f6 - languageName: node - linkType: hard - "@babel/plugin-transform-template-literals@npm:^7.0.0, @babel/plugin-transform-template-literals@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-template-literals@npm:7.24.7" @@ -3226,17 +2445,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-template-literals@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5144da6036807bbd4e9d2a8b92ae67a759543929f34f4db9b463448a77298f4a40bf1e92e582db208fe08ee116224806a3bd0bed75d9da404fc2c0af9e6da540 - languageName: node - linkType: hard - "@babel/plugin-transform-typeof-symbol@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.8" @@ -3248,17 +2456,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2b19fd88608589d9bc6b607ff17b06791d35c67ef3249f4659283454e6a9984241e3bd4c4eb72bb8b3d860a73223f3874558b861adb7314aa317c1c6a2f0cafb - languageName: node - linkType: hard - "@babel/plugin-transform-typescript@npm:^7.24.7": version: 7.25.2 resolution: "@babel/plugin-transform-typescript@npm:7.25.2" @@ -3274,21 +2471,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-typescript@npm:7.25.9" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - "@babel/plugin-syntax-typescript": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c607ddb45f7e33cfcb928aad05cb1b18b1ecb564d2329d8f8e427f75192511aa821dee42d26871f1bdffbd883853e150ba81436664646c6e6b13063e65ce1475 - languageName: node - linkType: hard - "@babel/plugin-transform-unicode-escapes@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.7" @@ -3300,17 +2482,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/615c84d7c53e1575d54ba9257e753e0b98c5de1e3225237d92f55226eaab8eb5bceb74df43f50f4aa162b0bbcc934ed11feafe2b60b8ec4934ce340fad4b8828 - languageName: node - linkType: hard - "@babel/plugin-transform-unicode-property-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.7" @@ -3323,18 +2494,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/1685836fc38af4344c3d2a9edbd46f7c7b28d369b63967d5b83f2f6849ec45b97223461cea3d14cc3f0be6ebb284938e637a5ca3955c0e79c873d62f593d615c - languageName: node - linkType: hard - "@babel/plugin-transform-unicode-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.7" @@ -3347,18 +2506,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/448004f978279e726af26acd54f63f9002c9e2582ecd70d1c5c4436f6de490fcd817afb60016d11c52f5ef17dbaac2590e8cc7bfaf4e91b58c452cf188c7920f - languageName: node - linkType: hard - "@babel/plugin-transform-unicode-sets-regex@npm:^7.25.4": version: 7.25.4 resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.4" @@ -3371,97 +2518,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/56ee04fbe236b77cbcd6035cbf0be7566d1386b8349154ac33244c25f61170c47153a9423cd1d92855f7d6447b53a4a653d9e8fd1eaeeee14feb4b2baf59bd9f - languageName: node - linkType: hard - -"@babel/preset-env@npm:7.26.0": - version: 7.26.0 - resolution: "@babel/preset-env@npm:7.26.0" - dependencies: - "@babel/compat-data": "npm:^7.26.0" - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-validator-option": "npm:^7.25.9" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" - "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" - "@babel/plugin-syntax-import-attributes": "npm:^7.26.0" - "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" - "@babel/plugin-transform-async-generator-functions": "npm:^7.25.9" - "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.9" - "@babel/plugin-transform-block-scoping": "npm:^7.25.9" - "@babel/plugin-transform-class-properties": "npm:^7.25.9" - "@babel/plugin-transform-class-static-block": "npm:^7.26.0" - "@babel/plugin-transform-classes": "npm:^7.25.9" - "@babel/plugin-transform-computed-properties": "npm:^7.25.9" - "@babel/plugin-transform-destructuring": "npm:^7.25.9" - "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" - "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" - "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.9" - "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" - "@babel/plugin-transform-for-of": "npm:^7.25.9" - "@babel/plugin-transform-function-name": "npm:^7.25.9" - "@babel/plugin-transform-json-strings": "npm:^7.25.9" - "@babel/plugin-transform-literals": "npm:^7.25.9" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" - "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" - "@babel/plugin-transform-modules-amd": "npm:^7.25.9" - "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" - "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" - "@babel/plugin-transform-modules-umd": "npm:^7.25.9" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" - "@babel/plugin-transform-new-target": "npm:^7.25.9" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.9" - "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" - "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" - "@babel/plugin-transform-object-super": "npm:^7.25.9" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" - "@babel/plugin-transform-parameters": "npm:^7.25.9" - "@babel/plugin-transform-private-methods": "npm:^7.25.9" - "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" - "@babel/plugin-transform-property-literals": "npm:^7.25.9" - "@babel/plugin-transform-regenerator": "npm:^7.25.9" - "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0" - "@babel/plugin-transform-reserved-words": "npm:^7.25.9" - "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" - "@babel/plugin-transform-spread": "npm:^7.25.9" - "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" - "@babel/plugin-transform-template-literals": "npm:^7.25.9" - "@babel/plugin-transform-typeof-symbol": "npm:^7.25.9" - "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" - "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" - "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.6" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" - core-js-compat: "npm:^3.38.1" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/26e19dc407cfa1c5166be638b4c54239d084fe15d8d7e6306d8c6dc7bc1decc51070a8dcf28352c1a2feeefbe52a06d193a12e302327ad5f529583df75fb7a26 - languageName: node - linkType: hard - "@babel/preset-env@npm:^7.20.2, @babel/preset-env@npm:^7.23.2, @babel/preset-env@npm:^7.24.0, @babel/preset-env@npm:^7.24.4": version: 7.25.4 resolution: "@babel/preset-env@npm:7.25.4" @@ -3600,21 +2656,6 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:7.26.0": - version: 7.26.0 - resolution: "@babel/preset-typescript@npm:7.26.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-validator-option": "npm:^7.25.9" - "@babel/plugin-syntax-jsx": "npm:^7.25.9" - "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" - "@babel/plugin-transform-typescript": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/20d86bc45d2bbfde2f84fc7d7b38746fa6481d4bde6643039ad4b1ff0b804c6d210ee43e6830effd8571f2ff43fa7ffd27369f42f2b3a2518bb92dc86c780c61 - languageName: node - linkType: hard - "@babel/preset-typescript@npm:^7.21.0, @babel/preset-typescript@npm:^7.22.5, @babel/preset-typescript@npm:^7.23.3, @babel/preset-typescript@npm:^7.24.1": version: 7.24.7 resolution: "@babel/preset-typescript@npm:7.24.7" @@ -3661,7 +2702,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.24.7, @babel/template@npm:^7.25.0, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.24.7, @babel/template@npm:^7.25.0, @babel/template@npm:^7.3.3": version: 7.25.0 resolution: "@babel/template@npm:7.25.0" dependencies: @@ -3713,7 +2754,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:7.25.6, @babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.6, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": +"@babel/types@npm:7.25.6, @babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.6, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": version: 7.25.6 resolution: "@babel/types@npm:7.25.6" dependencies: @@ -3817,39 +2858,6 @@ __metadata: languageName: node linkType: hard -"@buildwithsygma/sygma-contracts@npm:2.5.1": - version: 2.5.1 - resolution: "@buildwithsygma/sygma-contracts@npm:2.5.1" - dependencies: - "@openzeppelin/contracts": "npm:4.5.0" - peerDependencies: - ethers: ">= 5.0.0" - checksum: 10c0/015b25f91654a61395137ac0b04ffcf83e30f1e49fe206ee241508a93061b60604ac2a0b4f654d2bca0916bdc7bb4db10aa001852fabf4e3c612b8e03d28d947 - languageName: node - linkType: hard - -"@buildwithsygma/sygma-sdk-core@npm:2.11.2": - version: 2.11.2 - resolution: "@buildwithsygma/sygma-sdk-core@npm:2.11.2" - dependencies: - "@buildwithsygma/sygma-contracts": "npm:2.5.1" - "@ethersproject/abi": "npm:^5.7.0" - "@ethersproject/bytes": "npm:^5.7.0" - "@ethersproject/contracts": "npm:^5.7.0" - "@ethersproject/providers": "npm:^5.7.2" - "@polkadot/api": "npm:10.7.2" - "@polkadot/api-augment": "npm:10.7.2" - "@polkadot/extension-inject": "npm:0.46.3" - "@polkadot/keyring": "npm:12.2.1" - "@polkadot/rpc-provider": "npm:10.7.2" - "@polkadot/ui-keyring": "npm:3.4.1" - "@polkadot/util": "npm:12.2.1" - "@polkadot/util-crypto": "npm:12.2.1" - ethers: "npm:5.6.2" - checksum: 10c0/44dc8b054cd9fc8253775924595e213bcd12a091813aef7b3c272e18e6ab00e7f95cd58804d559c212b8e2e657be4605dba04463912e19b1f2f86dd1b2e3e790 - languageName: node - linkType: hard - "@chromatic-com/storybook@npm:^1.9.0": version: 1.9.0 resolution: "@chromatic-com/storybook@npm:1.9.0" @@ -4015,32 +3023,6 @@ __metadata: languageName: node linkType: hard -"@commitlint/prompt-cli@npm:^19.5.0": - version: 19.5.0 - resolution: "@commitlint/prompt-cli@npm:19.5.0" - dependencies: - "@commitlint/prompt": "npm:^19.5.0" - inquirer: "npm:^9.2.15" - tinyexec: "npm:^0.3.0" - bin: - commit: cli.js - checksum: 10c0/5d9d51e11ab43f203ede17ca5a08200e7e14dae323da2f1e87df89fe39c536e10a6b0bedb3e20ebca729feea26d7a65717d591c8710a930ca05f7e0b87937cad - languageName: node - linkType: hard - -"@commitlint/prompt@npm:^19.5.0": - version: 19.5.0 - resolution: "@commitlint/prompt@npm:19.5.0" - dependencies: - "@commitlint/ensure": "npm:^19.5.0" - "@commitlint/load": "npm:^19.5.0" - "@commitlint/types": "npm:^19.5.0" - chalk: "npm:^5.3.0" - inquirer: "npm:^9.2.15" - checksum: 10c0/6a4eb688a575ef98ef334d4fd8823fec50d4493557ed94cb735974dd5789076fae05eeb0059a14496264a996261a423dd37c59e63186326f44d0a6faf8d15a13 - languageName: node - linkType: hard - "@commitlint/read@npm:^19.5.0": version: 19.5.0 resolution: "@commitlint/read@npm:19.5.0" @@ -5857,24 +4839,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/abi@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/abi@npm:5.6.0" - dependencies: - "@ethersproject/address": "npm:^5.6.0" - "@ethersproject/bignumber": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/constants": "npm:^5.6.0" - "@ethersproject/hash": "npm:^5.6.0" - "@ethersproject/keccak256": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - "@ethersproject/strings": "npm:^5.6.0" - checksum: 10c0/17bfdeade4fed887b64708b409c665a034a94fc0d409b6f95498f0f752dd27306e71f1de55ce231f3fc0034f4579943e572ef742673ec6e5d69c136cbe70d942 - languageName: node - linkType: hard - -"@ethersproject/abi@npm:5.7.0, @ethersproject/abi@npm:^5.5.0, @ethersproject/abi@npm:^5.6.0, @ethersproject/abi@npm:^5.6.3, @ethersproject/abi@npm:^5.7.0": +"@ethersproject/abi@npm:5.7.0, @ethersproject/abi@npm:^5.5.0, @ethersproject/abi@npm:^5.6.3, @ethersproject/abi@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/abi@npm:5.7.0" dependencies: @@ -5906,22 +4871,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/abstract-provider@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/abstract-provider@npm:5.6.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/networks": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - "@ethersproject/transactions": "npm:^5.6.0" - "@ethersproject/web": "npm:^5.6.0" - checksum: 10c0/d36fbf1f6098ef6b04a19567b8234620d19256ec77f2537d099c2b7afc666fd85c1bcdb955228fc213bfcd31e3a31e3016e1f824599a27521b81ccae22179e5b - languageName: node - linkType: hard - -"@ethersproject/abstract-provider@npm:5.7.0, @ethersproject/abstract-provider@npm:^5.5.0, @ethersproject/abstract-provider@npm:^5.6.0, @ethersproject/abstract-provider@npm:^5.7.0": +"@ethersproject/abstract-provider@npm:5.7.0, @ethersproject/abstract-provider@npm:^5.5.0, @ethersproject/abstract-provider@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/abstract-provider@npm:5.7.0" dependencies: @@ -5949,20 +4899,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/abstract-signer@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/abstract-signer@npm:5.6.0" - dependencies: - "@ethersproject/abstract-provider": "npm:^5.6.0" - "@ethersproject/bignumber": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - checksum: 10c0/8c84e7545fda6b7ebf2115700f5bdd6d41ba89a1547bc7fab51ce3ada4802d6ea84d5c87700c212d999ee6f8f374e8e123b1f67b08ff99dd77bd1defb633e042 - languageName: node - linkType: hard - -"@ethersproject/abstract-signer@npm:5.7.0, @ethersproject/abstract-signer@npm:^5.5.0, @ethersproject/abstract-signer@npm:^5.6.0, @ethersproject/abstract-signer@npm:^5.7.0": +"@ethersproject/abstract-signer@npm:5.7.0, @ethersproject/abstract-signer@npm:^5.5.0, @ethersproject/abstract-signer@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/abstract-signer@npm:5.7.0" dependencies: @@ -5988,20 +4925,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/address@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/address@npm:5.6.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/keccak256": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/rlp": "npm:^5.6.0" - checksum: 10c0/dada2e1d800085ef97d380f84d7a929cfccc78856ead06c122045c2bfb896cd5affb47f01fb31af70cad56172135afc93679051267847d5896f3efcb2cbba216 - languageName: node - linkType: hard - -"@ethersproject/address@npm:5.7.0, @ethersproject/address@npm:^5.0.8, @ethersproject/address@npm:^5.5.0, @ethersproject/address@npm:^5.6.0, @ethersproject/address@npm:^5.7.0": +"@ethersproject/address@npm:5.7.0, @ethersproject/address@npm:^5.0.8, @ethersproject/address@npm:^5.5.0, @ethersproject/address@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/address@npm:5.7.0" dependencies: @@ -6023,16 +4947,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/base64@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/base64@npm:5.6.0" - dependencies: - "@ethersproject/bytes": "npm:^5.6.0" - checksum: 10c0/5aa21dfae72a59495823ad89251a56813dd63160d593aa126c2dfc4bd4d650318d81e4000eff6cd1eb8cfce2494300a1bf9a96e2688e2fba642e8bc5bc7a363e - languageName: node - linkType: hard - -"@ethersproject/base64@npm:5.7.0, @ethersproject/base64@npm:^5.5.0, @ethersproject/base64@npm:^5.6.0, @ethersproject/base64@npm:^5.7.0": +"@ethersproject/base64@npm:5.7.0, @ethersproject/base64@npm:^5.5.0, @ethersproject/base64@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/base64@npm:5.7.0" dependencies: @@ -6051,17 +4966,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/basex@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/basex@npm:5.6.0" - dependencies: - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - checksum: 10c0/db108a14a7a34e538d993c8fcd18444226f9c65af80672670c784ced56b8b8e07348176394525a2675971fb30406a035dc9a3038cd478d05099712b48ba6d87f - languageName: node - linkType: hard - -"@ethersproject/basex@npm:5.7.0, @ethersproject/basex@npm:^5.5.0, @ethersproject/basex@npm:^5.6.0, @ethersproject/basex@npm:^5.7.0": +"@ethersproject/basex@npm:5.7.0, @ethersproject/basex@npm:^5.5.0, @ethersproject/basex@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/basex@npm:5.7.0" dependencies: @@ -6082,18 +4987,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/bignumber@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/bignumber@npm:5.6.0" - dependencies: - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - bn.js: "npm:^4.11.9" - checksum: 10c0/f8f76238d9e975a849a331f6569621bfb57c0ffb62a736e67fd129a1b1ea29c0542cb8c594fcc4fbb8cd12f2625a891ad87675aeb7f524ca7808818b884721d9 - languageName: node - linkType: hard - -"@ethersproject/bignumber@npm:5.7.0, @ethersproject/bignumber@npm:^5.1.1, @ethersproject/bignumber@npm:^5.5.0, @ethersproject/bignumber@npm:^5.6.0, @ethersproject/bignumber@npm:^5.7.0": +"@ethersproject/bignumber@npm:5.7.0, @ethersproject/bignumber@npm:^5.1.1, @ethersproject/bignumber@npm:^5.5.0, @ethersproject/bignumber@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/bignumber@npm:5.7.0" dependencies: @@ -6113,16 +5007,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/bytes@npm:5.6.1": - version: 5.6.1 - resolution: "@ethersproject/bytes@npm:5.6.1" - dependencies: - "@ethersproject/logger": "npm:^5.6.0" - checksum: 10c0/6bc6c8d7eebfe13b2976851920bf11e6b0dcc2ee91a8e013ca6ab9b55a4de7ccf9b3c8f4cdc777547c5ddc795a8ada0bf79ca91482e88d01e3957c901c0fef55 - languageName: node - linkType: hard - -"@ethersproject/bytes@npm:5.7.0, @ethersproject/bytes@npm:^5.0.8, @ethersproject/bytes@npm:^5.5.0, @ethersproject/bytes@npm:^5.6.0, @ethersproject/bytes@npm:^5.7.0": +"@ethersproject/bytes@npm:5.7.0, @ethersproject/bytes@npm:^5.0.8, @ethersproject/bytes@npm:^5.5.0, @ethersproject/bytes@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/bytes@npm:5.7.0" dependencies: @@ -6140,16 +5025,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/constants@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/constants@npm:5.6.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.6.0" - checksum: 10c0/61c8b0ceab8a3bdf10b15bd32c16343ea3149ddafaedb6698fb7fcf850e29061323cb3fcf93a00c79f33ba481f3e5e2547e1dc63ace9fe46fcdb48bf69e8d31b - languageName: node - linkType: hard - -"@ethersproject/constants@npm:5.7.0, @ethersproject/constants@npm:^5.5.0, @ethersproject/constants@npm:^5.6.0, @ethersproject/constants@npm:^5.7.0": +"@ethersproject/constants@npm:5.7.0, @ethersproject/constants@npm:^5.5.0, @ethersproject/constants@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/constants@npm:5.7.0" dependencies: @@ -6176,24 +5052,6 @@ __metadata: languageName: node linkType: hard -"@ethersproject/contracts@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/contracts@npm:5.6.0" - dependencies: - "@ethersproject/abi": "npm:^5.6.0" - "@ethersproject/abstract-provider": "npm:^5.6.0" - "@ethersproject/abstract-signer": "npm:^5.6.0" - "@ethersproject/address": "npm:^5.6.0" - "@ethersproject/bignumber": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/constants": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - "@ethersproject/transactions": "npm:^5.6.0" - checksum: 10c0/1a97c93acef2125cf68b1cd0bdc950188f5231e68216dcce2a81624f438713c1364c994ac600e549491bd889599e948fe96adae5bf6244667cba9d2ba1c83323 - languageName: node - linkType: hard - "@ethersproject/contracts@npm:5.7.0, @ethersproject/contracts@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/contracts@npm:5.7.0" @@ -6228,23 +5086,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/hash@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/hash@npm:5.6.0" - dependencies: - "@ethersproject/abstract-signer": "npm:^5.6.0" - "@ethersproject/address": "npm:^5.6.0" - "@ethersproject/bignumber": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/keccak256": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - "@ethersproject/strings": "npm:^5.6.0" - checksum: 10c0/dd7dae9576dcaff1255ab2a65514e2c5f59a6a66efddc4144dc68d8f45c6bd26fdd8ed528f2cd949082526b64e2d5d8d786b9646812d310af911affc878199b4 - languageName: node - linkType: hard - -"@ethersproject/hash@npm:5.7.0, @ethersproject/hash@npm:^5.5.0, @ethersproject/hash@npm:^5.6.0, @ethersproject/hash@npm:^5.7.0": +"@ethersproject/hash@npm:5.7.0, @ethersproject/hash@npm:^5.5.0, @ethersproject/hash@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/hash@npm:5.7.0" dependencies: @@ -6281,27 +5123,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/hdnode@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/hdnode@npm:5.6.0" - dependencies: - "@ethersproject/abstract-signer": "npm:^5.6.0" - "@ethersproject/basex": "npm:^5.6.0" - "@ethersproject/bignumber": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/pbkdf2": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - "@ethersproject/sha2": "npm:^5.6.0" - "@ethersproject/signing-key": "npm:^5.6.0" - "@ethersproject/strings": "npm:^5.6.0" - "@ethersproject/transactions": "npm:^5.6.0" - "@ethersproject/wordlists": "npm:^5.6.0" - checksum: 10c0/59f19629a8071366dcffae903f32ad8675640a9027541912e880bc225ed61736ebd20f774e44a586e37d79c122cffed42b3e9ec4c35db78d1d025d2e14a060ba - languageName: node - linkType: hard - -"@ethersproject/hdnode@npm:5.7.0, @ethersproject/hdnode@npm:^5.5.0, @ethersproject/hdnode@npm:^5.6.0, @ethersproject/hdnode@npm:^5.7.0": +"@ethersproject/hdnode@npm:5.7.0, @ethersproject/hdnode@npm:^5.5.0, @ethersproject/hdnode@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/hdnode@npm:5.7.0" dependencies: @@ -6342,28 +5164,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/json-wallets@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/json-wallets@npm:5.6.0" - dependencies: - "@ethersproject/abstract-signer": "npm:^5.6.0" - "@ethersproject/address": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/hdnode": "npm:^5.6.0" - "@ethersproject/keccak256": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/pbkdf2": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - "@ethersproject/random": "npm:^5.6.0" - "@ethersproject/strings": "npm:^5.6.0" - "@ethersproject/transactions": "npm:^5.6.0" - aes-js: "npm:3.0.0" - scrypt-js: "npm:3.0.1" - checksum: 10c0/0753e152f892a06736f3c0a8d837005a393b566a6b146d818375b32377f526ee4c79d854e8168e586cf32242a640f1b10b460278fcb8eb7e1fcd5ecda1f1a974 - languageName: node - linkType: hard - -"@ethersproject/json-wallets@npm:5.7.0, @ethersproject/json-wallets@npm:^5.5.0, @ethersproject/json-wallets@npm:^5.6.0, @ethersproject/json-wallets@npm:^5.7.0": +"@ethersproject/json-wallets@npm:5.7.0, @ethersproject/json-wallets@npm:^5.5.0, @ethersproject/json-wallets@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/json-wallets@npm:5.7.0" dependencies: @@ -6394,17 +5195,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/keccak256@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/keccak256@npm:5.6.0" - dependencies: - "@ethersproject/bytes": "npm:^5.6.0" - js-sha3: "npm:0.8.0" - checksum: 10c0/3f99e3bd7b1125bad4c1ac10c133c2e09b93d7675bc9a54e4b0f608520ebf20df36f6d83dd6804f2cbea3b51ffd800cc9532f7239c5e0803aa58d62d7f0d0d94 - languageName: node - linkType: hard - -"@ethersproject/keccak256@npm:5.7.0, @ethersproject/keccak256@npm:^5.5.0, @ethersproject/keccak256@npm:^5.6.0, @ethersproject/keccak256@npm:^5.7.0": +"@ethersproject/keccak256@npm:5.7.0, @ethersproject/keccak256@npm:^5.5.0, @ethersproject/keccak256@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/keccak256@npm:5.7.0" dependencies: @@ -6421,14 +5212,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/logger@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/logger@npm:5.6.0" - checksum: 10c0/f4c2610cf25d833cc1bc0a4ce99227c30508f15c8acb423e8a15f12ac25e37f9f86779485e6f79a887b24df831bdbee949249eb5feb75c6b45ca761161739516 - languageName: node - linkType: hard - -"@ethersproject/logger@npm:5.7.0, @ethersproject/logger@npm:^5.5.0, @ethersproject/logger@npm:^5.6.0, @ethersproject/logger@npm:^5.7.0": +"@ethersproject/logger@npm:5.7.0, @ethersproject/logger@npm:^5.5.0, @ethersproject/logger@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/logger@npm:5.7.0" checksum: 10c0/d03d460fb2d4a5e71c627b7986fb9e50e1b59a6f55e8b42a545b8b92398b961e7fd294bd9c3d8f92b35d0f6ff9d15aa14c95eab378f8ea194e943c8ace343501 @@ -6444,15 +5228,6 @@ __metadata: languageName: node linkType: hard -"@ethersproject/networks@npm:5.6.1": - version: 5.6.1 - resolution: "@ethersproject/networks@npm:5.6.1" - dependencies: - "@ethersproject/logger": "npm:^5.6.0" - checksum: 10c0/3628b2a302dedbcb0c8c36f3e42faa688fdb46c7afe28ce95d02d2a5306a865b2f6c2e72ce6f701c3d15291d09e626d22910c10f39ea9016997ec1977d16a310 - languageName: node - linkType: hard - "@ethersproject/networks@npm:5.7.0": version: 5.7.0 resolution: "@ethersproject/networks@npm:5.7.0" @@ -6462,7 +5237,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/networks@npm:5.7.1, @ethersproject/networks@npm:^5.5.0, @ethersproject/networks@npm:^5.6.0, @ethersproject/networks@npm:^5.7.0": +"@ethersproject/networks@npm:5.7.1, @ethersproject/networks@npm:^5.5.0, @ethersproject/networks@npm:^5.7.0": version: 5.7.1 resolution: "@ethersproject/networks@npm:5.7.1" dependencies: @@ -6481,17 +5256,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/pbkdf2@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/pbkdf2@npm:5.6.0" - dependencies: - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/sha2": "npm:^5.6.0" - checksum: 10c0/5dbf03cb20dcd794db08dec21fc2a56feed7d13cf78d2358933ff936d6499b7d3c0169d0fde33cc0bfee31186df0db1dc732fd881499f3274964115be8140dfd - languageName: node - linkType: hard - -"@ethersproject/pbkdf2@npm:5.7.0, @ethersproject/pbkdf2@npm:^5.5.0, @ethersproject/pbkdf2@npm:^5.6.0, @ethersproject/pbkdf2@npm:^5.7.0": +"@ethersproject/pbkdf2@npm:5.7.0, @ethersproject/pbkdf2@npm:^5.5.0, @ethersproject/pbkdf2@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/pbkdf2@npm:5.7.0" dependencies: @@ -6510,16 +5275,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/properties@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/properties@npm:5.6.0" - dependencies: - "@ethersproject/logger": "npm:^5.6.0" - checksum: 10c0/a137e1002d1af1e37b81279df370081c5c0fab7492fedc9798a52c10c79c6c792fef30742bc8920570cf73bfff06d6f88e89b1ef68ebbb0360d1d8f1efa8fba9 - languageName: node - linkType: hard - -"@ethersproject/properties@npm:5.7.0, @ethersproject/properties@npm:^5.5.0, @ethersproject/properties@npm:^5.6.0, @ethersproject/properties@npm:^5.7.0": +"@ethersproject/properties@npm:5.7.0, @ethersproject/properties@npm:^5.5.0, @ethersproject/properties@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/properties@npm:5.7.0" dependencies: @@ -6555,33 +5311,6 @@ __metadata: languageName: node linkType: hard -"@ethersproject/providers@npm:5.6.2": - version: 5.6.2 - resolution: "@ethersproject/providers@npm:5.6.2" - dependencies: - "@ethersproject/abstract-provider": "npm:^5.6.0" - "@ethersproject/abstract-signer": "npm:^5.6.0" - "@ethersproject/address": "npm:^5.6.0" - "@ethersproject/basex": "npm:^5.6.0" - "@ethersproject/bignumber": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/constants": "npm:^5.6.0" - "@ethersproject/hash": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/networks": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - "@ethersproject/random": "npm:^5.6.0" - "@ethersproject/rlp": "npm:^5.6.0" - "@ethersproject/sha2": "npm:^5.6.0" - "@ethersproject/strings": "npm:^5.6.0" - "@ethersproject/transactions": "npm:^5.6.0" - "@ethersproject/web": "npm:^5.6.0" - bech32: "npm:1.1.4" - ws: "npm:7.4.6" - checksum: 10c0/9dc8c5ff0227cc7e377e7dac42f3191b9ff4430921069025beb531d0640b93d139ae4499f098711fd3212ad77ec6c0c403780c993fd2101e05ff40e2e9cf24a4 - languageName: node - linkType: hard - "@ethersproject/providers@npm:5.7.0": version: 5.7.0 resolution: "@ethersproject/providers@npm:5.7.0" @@ -6648,17 +5377,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/random@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/random@npm:5.6.0" - dependencies: - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - checksum: 10c0/85f56fcd572f158a9cbc7ca27d4f139bdb6073b1a5859940cbb6d11ffdb5d9a8b7adf812d726e590947ec2eb99ed7b86c06fcef081e0edb8ed7b7753ee84a02c - languageName: node - linkType: hard - -"@ethersproject/random@npm:5.7.0, @ethersproject/random@npm:^5.5.0, @ethersproject/random@npm:^5.6.0, @ethersproject/random@npm:^5.7.0": +"@ethersproject/random@npm:5.7.0, @ethersproject/random@npm:^5.5.0, @ethersproject/random@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/random@npm:5.7.0" dependencies: @@ -6678,17 +5397,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/rlp@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/rlp@npm:5.6.0" - dependencies: - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - checksum: 10c0/f6d505fb0af334332f5a098c6e3969646e91d17a85b68db4e26228dd3866ac439e693c35337c5153e1b9e25f54c1e6c608548062fd0e7b5e9dc30c9ba8c553bd - languageName: node - linkType: hard - -"@ethersproject/rlp@npm:5.7.0, @ethersproject/rlp@npm:^5.5.0, @ethersproject/rlp@npm:^5.6.0, @ethersproject/rlp@npm:^5.7.0": +"@ethersproject/rlp@npm:5.7.0, @ethersproject/rlp@npm:^5.5.0, @ethersproject/rlp@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/rlp@npm:5.7.0" dependencies: @@ -6709,18 +5418,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/sha2@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/sha2@npm:5.6.0" - dependencies: - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - hash.js: "npm:1.1.7" - checksum: 10c0/a56818968c89213146f57cadfc20949157dbb6643fb6d40f4a6cd7fb4b0433d5e679cc5b7b9e2efa5a7c20ae6e7f634ac8f7f560431f158aa94b05d621c3b1f8 - languageName: node - linkType: hard - -"@ethersproject/sha2@npm:5.7.0, @ethersproject/sha2@npm:^5.5.0, @ethersproject/sha2@npm:^5.6.0, @ethersproject/sha2@npm:^5.7.0": +"@ethersproject/sha2@npm:5.7.0, @ethersproject/sha2@npm:^5.5.0, @ethersproject/sha2@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/sha2@npm:5.7.0" dependencies: @@ -6745,21 +5443,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/signing-key@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/signing-key@npm:5.6.0" - dependencies: - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - bn.js: "npm:^4.11.9" - elliptic: "npm:6.5.4" - hash.js: "npm:1.1.7" - checksum: 10c0/23da06746809652486458dc91c7df9f10a1e96653a70df40f8b51330cb1dba26e7f0270212ba029ff70a90cde94c48ef9fd2bae5d24d442e00e0b3f9ace4fd10 - languageName: node - linkType: hard - -"@ethersproject/signing-key@npm:5.7.0, @ethersproject/signing-key@npm:^5.5.0, @ethersproject/signing-key@npm:^5.6.0, @ethersproject/signing-key@npm:^5.7.0": +"@ethersproject/signing-key@npm:5.7.0, @ethersproject/signing-key@npm:^5.5.0, @ethersproject/signing-key@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/signing-key@npm:5.7.0" dependencies: @@ -6787,20 +5471,6 @@ __metadata: languageName: node linkType: hard -"@ethersproject/solidity@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/solidity@npm:5.6.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/keccak256": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/sha2": "npm:^5.6.0" - "@ethersproject/strings": "npm:^5.6.0" - checksum: 10c0/df4dbc47a88783312f783d30a7bde523e55a4007ee5918606cd0178b4ba569cee42b7e6b8f04b8b911b648bb6eda6a51b5fae6e56e0303d69d35bff725417061 - languageName: node - linkType: hard - "@ethersproject/solidity@npm:5.7.0, @ethersproject/solidity@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/solidity@npm:5.7.0" @@ -6826,18 +5496,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/strings@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/strings@npm:5.6.0" - dependencies: - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/constants": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - checksum: 10c0/bd0fea07ac99365b4da10654419415c88ad319d8229a9b0fbd26632ed9549fb033e6cd491c5504d437718173254247628d223ebcab6d29e3ab9046b66563fdba - languageName: node - linkType: hard - -"@ethersproject/strings@npm:5.7.0, @ethersproject/strings@npm:^5.5.0, @ethersproject/strings@npm:^5.6.0, @ethersproject/strings@npm:^5.7.0": +"@ethersproject/strings@npm:5.7.0, @ethersproject/strings@npm:^5.5.0, @ethersproject/strings@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/strings@npm:5.7.0" dependencies: @@ -6865,24 +5524,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/transactions@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/transactions@npm:5.6.0" - dependencies: - "@ethersproject/address": "npm:^5.6.0" - "@ethersproject/bignumber": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/constants": "npm:^5.6.0" - "@ethersproject/keccak256": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - "@ethersproject/rlp": "npm:^5.6.0" - "@ethersproject/signing-key": "npm:^5.6.0" - checksum: 10c0/23eecd1d9892dd5decd1720fe52ca84c2dda1629834ae1c399582d230130c91aef5d839cc6e67ad2916fe2acfd83cebd5f9dd534e2a808b10cd3360b4032b588 - languageName: node - linkType: hard - -"@ethersproject/transactions@npm:5.7.0, @ethersproject/transactions@npm:^5.5.0, @ethersproject/transactions@npm:^5.6.0, @ethersproject/transactions@npm:^5.6.2, @ethersproject/transactions@npm:^5.7.0": +"@ethersproject/transactions@npm:5.7.0, @ethersproject/transactions@npm:^5.5.0, @ethersproject/transactions@npm:^5.6.2, @ethersproject/transactions@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/transactions@npm:5.7.0" dependencies: @@ -6910,17 +5552,6 @@ __metadata: languageName: node linkType: hard -"@ethersproject/units@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/units@npm:5.6.0" - dependencies: - "@ethersproject/bignumber": "npm:^5.6.0" - "@ethersproject/constants": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - checksum: 10c0/cb92acc910e00030009de917d9a7cea72def0536aceaaa9132d3d9fcedf4b39c7645ffc3950e747763a01048bb16ccd34cb0f0d6916d4d6a209ea809180a76be - languageName: node - linkType: hard - "@ethersproject/units@npm:5.7.0": version: 5.7.0 resolution: "@ethersproject/units@npm:5.7.0" @@ -6955,29 +5586,6 @@ __metadata: languageName: node linkType: hard -"@ethersproject/wallet@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/wallet@npm:5.6.0" - dependencies: - "@ethersproject/abstract-provider": "npm:^5.6.0" - "@ethersproject/abstract-signer": "npm:^5.6.0" - "@ethersproject/address": "npm:^5.6.0" - "@ethersproject/bignumber": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/hash": "npm:^5.6.0" - "@ethersproject/hdnode": "npm:^5.6.0" - "@ethersproject/json-wallets": "npm:^5.6.0" - "@ethersproject/keccak256": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - "@ethersproject/random": "npm:^5.6.0" - "@ethersproject/signing-key": "npm:^5.6.0" - "@ethersproject/transactions": "npm:^5.6.0" - "@ethersproject/wordlists": "npm:^5.6.0" - checksum: 10c0/edc566bc2e8fd9201e1739cbc5dd207e902ffd58e8f054e73d631e48e50dd66c517c674fbc2028a830eece7ea08e911ee0a79f3bf19034db5951adf3bffe888a - languageName: node - linkType: hard - "@ethersproject/wallet@npm:5.7.0": version: 5.7.0 resolution: "@ethersproject/wallet@npm:5.7.0" @@ -7014,19 +5622,6 @@ __metadata: languageName: node linkType: hard -"@ethersproject/web@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/web@npm:5.6.0" - dependencies: - "@ethersproject/base64": "npm:^5.6.0" - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - "@ethersproject/strings": "npm:^5.6.0" - checksum: 10c0/10fc728c022e664675a4e3d367c56bec465a1f7e8fd987c8eccfae57600276fd4a4fd2a86c2bf303c37939dd4480f9ccdf7249a4789297bc3bae5daee19e33c2 - languageName: node - linkType: hard - "@ethersproject/web@npm:5.7.0": version: 5.7.0 resolution: "@ethersproject/web@npm:5.7.0" @@ -7040,7 +5635,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/web@npm:5.7.1, @ethersproject/web@npm:^5.5.0, @ethersproject/web@npm:^5.6.0, @ethersproject/web@npm:^5.7.0": +"@ethersproject/web@npm:5.7.1, @ethersproject/web@npm:^5.5.0, @ethersproject/web@npm:^5.7.0": version: 5.7.1 resolution: "@ethersproject/web@npm:5.7.1" dependencies: @@ -7066,20 +5661,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/wordlists@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/wordlists@npm:5.6.0" - dependencies: - "@ethersproject/bytes": "npm:^5.6.0" - "@ethersproject/hash": "npm:^5.6.0" - "@ethersproject/logger": "npm:^5.6.0" - "@ethersproject/properties": "npm:^5.6.0" - "@ethersproject/strings": "npm:^5.6.0" - checksum: 10c0/47aa549e7c25cd7a995863edede77112c9af96e9aed1a9a4213c3f02f8bb025eba3de85e0da50ca7b26542867cd78f492bb1cf9c93803eb765ede54b66ba80ae - languageName: node - linkType: hard - -"@ethersproject/wordlists@npm:5.7.0, @ethersproject/wordlists@npm:^5.5.0, @ethersproject/wordlists@npm:^5.6.0, @ethersproject/wordlists@npm:^5.7.0": +"@ethersproject/wordlists@npm:5.7.0, @ethersproject/wordlists@npm:^5.5.0, @ethersproject/wordlists@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/wordlists@npm:5.7.0" dependencies: @@ -7344,95 +5926,6 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/add@npm:^5.0.3": - version: 5.0.3 - resolution: "@graphql-codegen/add@npm:5.0.3" - dependencies: - "@graphql-codegen/plugin-helpers": "npm:^5.0.3" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/2ddb8b57a0b445f109b1d8e5611e838ff590dc3c6c210ba1c31e3967e6a58097bceaef79b501eace700cd6210dca0d1ef3d28519ed7b5a4f3ce6cfc8f1508c90 - languageName: node - linkType: hard - -"@graphql-codegen/cli@npm:^5.0.3": - version: 5.0.3 - resolution: "@graphql-codegen/cli@npm:5.0.3" - dependencies: - "@babel/generator": "npm:^7.18.13" - "@babel/template": "npm:^7.18.10" - "@babel/types": "npm:^7.18.13" - "@graphql-codegen/client-preset": "npm:^4.4.0" - "@graphql-codegen/core": "npm:^4.0.2" - "@graphql-codegen/plugin-helpers": "npm:^5.0.3" - "@graphql-tools/apollo-engine-loader": "npm:^8.0.0" - "@graphql-tools/code-file-loader": "npm:^8.0.0" - "@graphql-tools/git-loader": "npm:^8.0.0" - "@graphql-tools/github-loader": "npm:^8.0.0" - "@graphql-tools/graphql-file-loader": "npm:^8.0.0" - "@graphql-tools/json-file-loader": "npm:^8.0.0" - "@graphql-tools/load": "npm:^8.0.0" - "@graphql-tools/prisma-loader": "npm:^8.0.0" - "@graphql-tools/url-loader": "npm:^8.0.0" - "@graphql-tools/utils": "npm:^10.0.0" - "@whatwg-node/fetch": "npm:^0.9.20" - chalk: "npm:^4.1.0" - cosmiconfig: "npm:^8.1.3" - debounce: "npm:^1.2.0" - detect-indent: "npm:^6.0.0" - graphql-config: "npm:^5.1.1" - inquirer: "npm:^8.0.0" - is-glob: "npm:^4.0.1" - jiti: "npm:^1.17.1" - json-to-pretty-yaml: "npm:^1.2.2" - listr2: "npm:^4.0.5" - log-symbols: "npm:^4.0.0" - micromatch: "npm:^4.0.5" - shell-quote: "npm:^1.7.3" - string-env-interpolation: "npm:^1.0.1" - ts-log: "npm:^2.2.3" - tslib: "npm:^2.4.0" - yaml: "npm:^2.3.1" - yargs: "npm:^17.0.0" - peerDependencies: - "@parcel/watcher": ^2.1.0 - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - peerDependenciesMeta: - "@parcel/watcher": - optional: true - bin: - gql-gen: cjs/bin.js - graphql-code-generator: cjs/bin.js - graphql-codegen: cjs/bin.js - graphql-codegen-esm: esm/bin.js - checksum: 10c0/fb08da11c9fc276bfb90a949438defede799e456d07e09b4bf44adfb140694902116c046da5935750730cb9f4a3d1cca67c98a1eaa1919e1b3a9dafb6590304a - languageName: node - linkType: hard - -"@graphql-codegen/client-preset@npm:^4.4.0": - version: 4.5.0 - resolution: "@graphql-codegen/client-preset@npm:4.5.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.20.2" - "@babel/template": "npm:^7.20.7" - "@graphql-codegen/add": "npm:^5.0.3" - "@graphql-codegen/gql-tag-operations": "npm:4.0.11" - "@graphql-codegen/plugin-helpers": "npm:^5.1.0" - "@graphql-codegen/typed-document-node": "npm:^5.0.11" - "@graphql-codegen/typescript": "npm:^4.1.1" - "@graphql-codegen/typescript-operations": "npm:^4.3.1" - "@graphql-codegen/visitor-plugin-common": "npm:^5.5.0" - "@graphql-tools/documents": "npm:^1.0.0" - "@graphql-tools/utils": "npm:^10.0.0" - "@graphql-typed-document-node/core": "npm:3.2.0" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/4fce2af23b4c3f36e334d96406ed490d6f87b92942bd9b782c8da3d8b8f67dbaed288cc2a19aba03a6e2f4b9a6595321d0428b70a7013261380472bc3f4e6a43 - languageName: node - linkType: hard - "@graphql-codegen/core@npm:^3.1.0": version: 3.1.0 resolution: "@graphql-codegen/core@npm:3.1.0" @@ -7447,48 +5940,6 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/core@npm:^4.0.2": - version: 4.0.2 - resolution: "@graphql-codegen/core@npm:4.0.2" - dependencies: - "@graphql-codegen/plugin-helpers": "npm:^5.0.3" - "@graphql-tools/schema": "npm:^10.0.0" - "@graphql-tools/utils": "npm:^10.0.0" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/8387a91dd852e8c45e76843453fc50dba4e63079f1ecfe2242f3c49561d229d55d1083905f46049ddd7f9f94b8e55a96e6deeac8a0c1db34a7312f5f216ca229 - languageName: node - linkType: hard - -"@graphql-codegen/gql-tag-operations@npm:4.0.11": - version: 4.0.11 - resolution: "@graphql-codegen/gql-tag-operations@npm:4.0.11" - dependencies: - "@graphql-codegen/plugin-helpers": "npm:^5.1.0" - "@graphql-codegen/visitor-plugin-common": "npm:5.5.0" - "@graphql-tools/utils": "npm:^10.0.0" - auto-bind: "npm:~4.0.0" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/f13e78c1641f085645c88058df23ece3994fe6492eed1217d64b36090f90bf50e797dab1ba7b91a25f2040a50346adcbbf6b33d9f514259b53506bb1efdc1eef - languageName: node - linkType: hard - -"@graphql-codegen/introspection@npm:4.0.3": - version: 4.0.3 - resolution: "@graphql-codegen/introspection@npm:4.0.3" - dependencies: - "@graphql-codegen/plugin-helpers": "npm:^5.0.3" - "@graphql-codegen/visitor-plugin-common": "npm:^5.0.0" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/064b615c3f7ebcb70c1577b67addf43d49622c9fbb8628909f00de178e1fa65dffeacd3c683e6ffd7f76a17583ac32aefed688607b86dfe921160372508a415f - languageName: node - linkType: hard - "@graphql-codegen/plugin-helpers@npm:^2.7.2": version: 2.7.2 resolution: "@graphql-codegen/plugin-helpers@npm:2.7.2" @@ -7537,38 +5988,6 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/plugin-helpers@npm:^5.0.3, @graphql-codegen/plugin-helpers@npm:^5.0.4": - version: 5.0.4 - resolution: "@graphql-codegen/plugin-helpers@npm:5.0.4" - dependencies: - "@graphql-tools/utils": "npm:^10.0.0" - change-case-all: "npm:1.0.15" - common-tags: "npm:1.8.2" - import-from: "npm:4.0.0" - lodash: "npm:~4.17.0" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/e1d7af8af8cfd5d8baa4fbf099fbe14ee45d43a2e66af38eb901348163e073a392e53cdd58aad27acf32d14da5b6a7bf06fe1daa793d99e462457f80025dec97 - languageName: node - linkType: hard - -"@graphql-codegen/plugin-helpers@npm:^5.1.0": - version: 5.1.0 - resolution: "@graphql-codegen/plugin-helpers@npm:5.1.0" - dependencies: - "@graphql-tools/utils": "npm:^10.0.0" - change-case-all: "npm:1.0.15" - common-tags: "npm:1.8.2" - import-from: "npm:4.0.0" - lodash: "npm:~4.17.0" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/9fe308f1db889bc2783cf2c2d95446c56f8c38332da1c126e3320d02d33c79c6f249e14770590bacaadc908daa75bf60afbd464fcd256bf8e1809e7d25b77ac1 - languageName: node - linkType: hard - "@graphql-codegen/schema-ast@npm:^3.0.1": version: 3.0.1 resolution: "@graphql-codegen/schema-ast@npm:3.0.1" @@ -7582,19 +6001,6 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/schema-ast@npm:^4.0.2": - version: 4.1.0 - resolution: "@graphql-codegen/schema-ast@npm:4.1.0" - dependencies: - "@graphql-codegen/plugin-helpers": "npm:^5.0.3" - "@graphql-tools/utils": "npm:^10.0.0" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/ff7ab73f46f1ae4882eda0af8c3f78d37e904108aba37d52288028ee34e9bc56236b6a032a1e2fe1283030ba5f6a5f75224285af12b3f56a76e90843e1eff0e0 - languageName: node - linkType: hard - "@graphql-codegen/typed-document-node@npm:^4.0.1": version: 4.0.1 resolution: "@graphql-codegen/typed-document-node@npm:4.0.1" @@ -7610,21 +6016,6 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/typed-document-node@npm:^5.0.11": - version: 5.0.11 - resolution: "@graphql-codegen/typed-document-node@npm:5.0.11" - dependencies: - "@graphql-codegen/plugin-helpers": "npm:^5.1.0" - "@graphql-codegen/visitor-plugin-common": "npm:5.5.0" - auto-bind: "npm:~4.0.0" - change-case-all: "npm:1.0.15" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/fa3f47fd7f04f6273121b0befa3577475bddde41532c067417342b85c7c86e073729bdff9b5b29603a6fc35165e61daa42361067c4e50d0b1d6ef6311ebbc91d - languageName: node - linkType: hard - "@graphql-codegen/typescript-generic-sdk@npm:^3.1.0": version: 3.1.0 resolution: "@graphql-codegen/typescript-generic-sdk@npm:3.1.0" @@ -7640,21 +6031,6 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/typescript-operations@npm:4.3.1, @graphql-codegen/typescript-operations@npm:^4.3.1": - version: 4.3.1 - resolution: "@graphql-codegen/typescript-operations@npm:4.3.1" - dependencies: - "@graphql-codegen/plugin-helpers": "npm:^5.1.0" - "@graphql-codegen/typescript": "npm:^4.1.1" - "@graphql-codegen/visitor-plugin-common": "npm:5.5.0" - auto-bind: "npm:~4.0.0" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/74ed1dfaae19bbb6611981352f81bca2244cbfeed71b0c1627e0321bcb8467e71d61b7f54a17606e8d696a223d556226ad27ecb23937da2b1c4b98bee329f2d3 - languageName: node - linkType: hard - "@graphql-codegen/typescript-operations@npm:^3.0.4": version: 3.0.4 resolution: "@graphql-codegen/typescript-operations@npm:3.0.4" @@ -7670,21 +6046,6 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/typescript-react-apollo@npm:4.3.2": - version: 4.3.2 - resolution: "@graphql-codegen/typescript-react-apollo@npm:4.3.2" - dependencies: - "@graphql-codegen/plugin-helpers": "npm:^3.0.0" - "@graphql-codegen/visitor-plugin-common": "npm:2.13.1" - auto-bind: "npm:~4.0.0" - change-case-all: "npm:1.0.15" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/d01e518854ad33b4f7dc25467e2ef63ce43a46d0264849b62f3c6976c007f798ddb3566b8d2596f8c9c3ebb6b3a812df34358e849b5b844c96c9f1439bf9ee97 - languageName: node - linkType: hard - "@graphql-codegen/typescript-resolvers@npm:^3.2.1": version: 3.2.1 resolution: "@graphql-codegen/typescript-resolvers@npm:3.2.1" @@ -7701,21 +6062,6 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/typescript@npm:4.1.1, @graphql-codegen/typescript@npm:^4.1.1": - version: 4.1.1 - resolution: "@graphql-codegen/typescript@npm:4.1.1" - dependencies: - "@graphql-codegen/plugin-helpers": "npm:^5.1.0" - "@graphql-codegen/schema-ast": "npm:^4.0.2" - "@graphql-codegen/visitor-plugin-common": "npm:5.5.0" - auto-bind: "npm:~4.0.0" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/728a76058737ec321951df536ddbd1891745c700117392b95b563cba9c9608c9c8002348b6279391fa533d176669ac2898a5cd2ec683c21e9a0461957fd00efd - languageName: node - linkType: hard - "@graphql-codegen/typescript@npm:^3.0.4": version: 3.0.4 resolution: "@graphql-codegen/typescript@npm:3.0.4" @@ -7771,46 +6117,6 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/visitor-plugin-common@npm:5.5.0, @graphql-codegen/visitor-plugin-common@npm:^5.5.0": - version: 5.5.0 - resolution: "@graphql-codegen/visitor-plugin-common@npm:5.5.0" - dependencies: - "@graphql-codegen/plugin-helpers": "npm:^5.1.0" - "@graphql-tools/optimize": "npm:^2.0.0" - "@graphql-tools/relay-operation-optimizer": "npm:^7.0.0" - "@graphql-tools/utils": "npm:^10.0.0" - auto-bind: "npm:~4.0.0" - change-case-all: "npm:1.0.15" - dependency-graph: "npm:^0.11.0" - graphql-tag: "npm:^2.11.0" - parse-filepath: "npm:^1.0.2" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/b272bd5d70337d0d309954c24286117ee3437d57487cbb305a98396608eae39da0d1dd33e125e7471bc3cd69b8ca5c59d574003fa66540aebdf77011de943b86 - languageName: node - linkType: hard - -"@graphql-codegen/visitor-plugin-common@npm:^5.0.0": - version: 5.3.1 - resolution: "@graphql-codegen/visitor-plugin-common@npm:5.3.1" - dependencies: - "@graphql-codegen/plugin-helpers": "npm:^5.0.4" - "@graphql-tools/optimize": "npm:^2.0.0" - "@graphql-tools/relay-operation-optimizer": "npm:^7.0.0" - "@graphql-tools/utils": "npm:^10.0.0" - auto-bind: "npm:~4.0.0" - change-case-all: "npm:1.0.15" - dependency-graph: "npm:^0.11.0" - graphql-tag: "npm:^2.11.0" - parse-filepath: "npm:^1.0.2" - tslib: "npm:~2.6.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/c6d642445149ef9adb473e0a47019a2008e4e1b69a700d7ff6b2e4d2ba3f3118a4296f6d370fd1c45c84f91dd3580cea63db896a47bd102a0dd7b28bb409a0e6 - languageName: node - linkType: hard - "@graphql-inspector/core@npm:3.3.0": version: 3.3.0 resolution: "@graphql-inspector/core@npm:3.3.0" @@ -8238,20 +6544,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/apollo-engine-loader@npm:^8.0.0": - version: 8.0.1 - resolution: "@graphql-tools/apollo-engine-loader@npm:8.0.1" - dependencies: - "@ardatan/sync-fetch": "npm:^0.0.1" - "@graphql-tools/utils": "npm:^10.0.13" - "@whatwg-node/fetch": "npm:^0.9.0" - tslib: "npm:^2.4.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/4ef280a8246d2b1ff2be1ad9334fe8d69147b0ed3a32a65f50057ddee27b44708bba8030f75c330e1615d428750ee276919e4ddd4ce16befa4e328f12226afc1 - languageName: node - linkType: hard - "@graphql-tools/batch-delegate@npm:^8.4.25, @graphql-tools/batch-delegate@npm:^8.4.27": version: 8.4.27 resolution: "@graphql-tools/batch-delegate@npm:8.4.27" @@ -8325,21 +6617,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/code-file-loader@npm:^8.0.0": - version: 8.1.3 - resolution: "@graphql-tools/code-file-loader@npm:8.1.3" - dependencies: - "@graphql-tools/graphql-tag-pluck": "npm:8.3.2" - "@graphql-tools/utils": "npm:^10.0.13" - globby: "npm:^11.0.3" - tslib: "npm:^2.4.0" - unixify: "npm:^1.0.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/ce699c39a1dfdedc90609d3c5367dc074a786f0231df802c71ff0e83f9da929681149ecac5a3345bc792a65faca9a1173e0c0ca3c54af540f81a7ea98a8c1fb3 - languageName: node - linkType: hard - "@graphql-tools/delegate@npm:^10.0.11, @graphql-tools/delegate@npm:^10.0.12, @graphql-tools/delegate@npm:^10.0.20, @graphql-tools/delegate@npm:^10.0.21, @graphql-tools/delegate@npm:^10.0.4": version: 10.0.21 resolution: "@graphql-tools/delegate@npm:10.0.21" @@ -8374,18 +6651,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/documents@npm:^1.0.0": - version: 1.0.1 - resolution: "@graphql-tools/documents@npm:1.0.1" - dependencies: - lodash.sortby: "npm:^4.7.0" - tslib: "npm:^2.4.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/df24738f8ffd844a4727884f7825d7009456d7dcb24fa91169efdc061bb72a29527abeb2e23ccf9effed195104485fa286919c33452d8744cb659ad721f17586 - languageName: node - linkType: hard - "@graphql-tools/executor-graphql-ws@npm:^0.0.14": version: 0.0.14 resolution: "@graphql-tools/executor-graphql-ws@npm:0.0.14" @@ -8403,22 +6668,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/executor-graphql-ws@npm:^1.1.2": - version: 1.2.0 - resolution: "@graphql-tools/executor-graphql-ws@npm:1.2.0" - dependencies: - "@graphql-tools/utils": "npm:^10.3.0" - "@types/ws": "npm:^8.0.0" - graphql-ws: "npm:^5.14.0" - isomorphic-ws: "npm:^5.0.0" - tslib: "npm:^2.4.0" - ws: "npm:^8.17.1" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/3faae1d0239d4d4ec7a000f946a8e82eead8028bcfe8599693cb4bfb85414e03b6bf5ba181360a7a2377274fc9e190aa30ce4a0ebcdfbe06539d5e1eb535d3da - languageName: node - linkType: hard - "@graphql-tools/executor-http@npm:^0.1.7": version: 0.1.10 resolution: "@graphql-tools/executor-http@npm:0.1.10" @@ -8437,7 +6686,7 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/executor-http@npm:^1.0.9, @graphql-tools/executor-http@npm:^1.1.5": +"@graphql-tools/executor-http@npm:^1.1.5": version: 1.1.6 resolution: "@graphql-tools/executor-http@npm:1.1.6" dependencies: @@ -8469,21 +6718,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/executor-legacy-ws@npm:^1.0.6": - version: 1.1.0 - resolution: "@graphql-tools/executor-legacy-ws@npm:1.1.0" - dependencies: - "@graphql-tools/utils": "npm:^10.3.0" - "@types/ws": "npm:^8.0.0" - isomorphic-ws: "npm:^5.0.0" - tslib: "npm:^2.4.0" - ws: "npm:^8.17.1" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/9aee70f9f3fafe3db16539c36abfefadddd9a674f093b6a455f7d4e8e404839969acfa41351a1d4d2258de7bc670b262d4a1628b8ec816420ee5882fcaa43c61 - languageName: node - linkType: hard - "@graphql-tools/executor@npm:^0.0.18": version: 0.0.18 resolution: "@graphql-tools/executor@npm:0.0.18" @@ -8553,39 +6787,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/git-loader@npm:^8.0.0": - version: 8.0.7 - resolution: "@graphql-tools/git-loader@npm:8.0.7" - dependencies: - "@graphql-tools/graphql-tag-pluck": "npm:8.3.2" - "@graphql-tools/utils": "npm:^10.0.13" - is-glob: "npm:4.0.3" - micromatch: "npm:^4.0.4" - tslib: "npm:^2.4.0" - unixify: "npm:^1.0.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/072852b4bca14541d64eead8bb2582781cc073fb80b3255501e348f2deb4f912d6ca3a07b46794f29f59b6b5fdde4ff5a362de1fbb780571eab37e7a0a63295f - languageName: node - linkType: hard - -"@graphql-tools/github-loader@npm:^8.0.0": - version: 8.0.1 - resolution: "@graphql-tools/github-loader@npm:8.0.1" - dependencies: - "@ardatan/sync-fetch": "npm:^0.0.1" - "@graphql-tools/executor-http": "npm:^1.0.9" - "@graphql-tools/graphql-tag-pluck": "npm:^8.0.0" - "@graphql-tools/utils": "npm:^10.0.13" - "@whatwg-node/fetch": "npm:^0.9.0" - tslib: "npm:^2.4.0" - value-or-promise: "npm:^1.0.12" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/83787b69d696e69c618993fa9fe73fec82daab849173a1b96a538c33c4988b14f506a4604712882c30f537d0aa81eabf21ce30effda369c7d1763d8f14adf711 - languageName: node - linkType: hard - "@graphql-tools/graphql-file-loader@npm:^7.5.17": version: 7.5.17 resolution: "@graphql-tools/graphql-file-loader@npm:7.5.17" @@ -8601,21 +6802,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/graphql-file-loader@npm:^8.0.0": - version: 8.0.1 - resolution: "@graphql-tools/graphql-file-loader@npm:8.0.1" - dependencies: - "@graphql-tools/import": "npm:7.0.1" - "@graphql-tools/utils": "npm:^10.0.13" - globby: "npm:^11.0.3" - tslib: "npm:^2.4.0" - unixify: "npm:^1.0.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/d27a9dc5329f16cdeeb9fd32f465da8ed0ef4127f10a9862f8b7096ccaaa33aa8d15c6269b2c27a8669531f95f4d9ac162e8b799434cbe4dabe02f4e6fd628a9 - languageName: node - linkType: hard - "@graphql-tools/graphql-tag-pluck@npm:7.5.2": version: 7.5.2 resolution: "@graphql-tools/graphql-tag-pluck@npm:7.5.2" @@ -8632,23 +6818,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/graphql-tag-pluck@npm:8.3.2, @graphql-tools/graphql-tag-pluck@npm:^8.0.0": - version: 8.3.2 - resolution: "@graphql-tools/graphql-tag-pluck@npm:8.3.2" - dependencies: - "@babel/core": "npm:^7.22.9" - "@babel/parser": "npm:^7.16.8" - "@babel/plugin-syntax-import-assertions": "npm:^7.20.0" - "@babel/traverse": "npm:^7.16.8" - "@babel/types": "npm:^7.16.8" - "@graphql-tools/utils": "npm:^10.0.13" - tslib: "npm:^2.4.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/0c351cdaeca3cc1de9308414108be7d760930dfe1e4dbbb6270edd6e449daae27b997ab6fc8a1086302d6712be07f80bbe2e5455a8e66063ea39b50165d38b8f - languageName: node - linkType: hard - "@graphql-tools/import@npm:6.7.18": version: 6.7.18 resolution: "@graphql-tools/import@npm:6.7.18" @@ -8662,33 +6831,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/import@npm:7.0.1": - version: 7.0.1 - resolution: "@graphql-tools/import@npm:7.0.1" - dependencies: - "@graphql-tools/utils": "npm:^10.0.13" - resolve-from: "npm:5.0.0" - tslib: "npm:^2.4.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/20d693874ceb1e4213f1d276786f87fe6b158125a103d9631f844b433aa0c2e0afd444b99393558ff88f5be7787e2d40f8c49739d1096e9312bc45ca6a4a5f51 - languageName: node - linkType: hard - -"@graphql-tools/json-file-loader@npm:^8.0.0": - version: 8.0.1 - resolution: "@graphql-tools/json-file-loader@npm:8.0.1" - dependencies: - "@graphql-tools/utils": "npm:^10.0.13" - globby: "npm:^11.0.3" - tslib: "npm:^2.4.0" - unixify: "npm:^1.0.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/690c7d58dd06c6c5109fa09820648c581cd4b1ca3842ec121d6ae44a324b1e1c16f32b662fb92a6699bcb9be676fe4fe2e9a9f50a6d4df7f3d991e9167115841 - languageName: node - linkType: hard - "@graphql-tools/load@npm:^7.8.14": version: 7.8.14 resolution: "@graphql-tools/load@npm:7.8.14" @@ -8703,20 +6845,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/load@npm:^8.0.0": - version: 8.0.2 - resolution: "@graphql-tools/load@npm:8.0.2" - dependencies: - "@graphql-tools/schema": "npm:^10.0.3" - "@graphql-tools/utils": "npm:^10.0.13" - p-limit: "npm:3.1.0" - tslib: "npm:^2.4.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/845535c3d47aba69feb29091f7c3829ea4684041e763c73929c670eaa0e8cf82e1981dac7e6fe30426e384fa81fd9de0ee62d3d2de0a4e92b3a5380d8af71063 - languageName: node - linkType: hard - "@graphql-tools/merge@npm:^8.4.1, @graphql-tools/merge@npm:^8.4.2": version: 8.4.2 resolution: "@graphql-tools/merge@npm:8.4.2" @@ -8729,7 +6857,7 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/merge@npm:^9.0.0, @graphql-tools/merge@npm:^9.0.4, @graphql-tools/merge@npm:^9.0.5, @graphql-tools/merge@npm:^9.0.6": +"@graphql-tools/merge@npm:^9.0.4, @graphql-tools/merge@npm:^9.0.5, @graphql-tools/merge@npm:^9.0.6": version: 9.0.7 resolution: "@graphql-tools/merge@npm:9.0.7" dependencies: @@ -8752,43 +6880,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/optimize@npm:^2.0.0": - version: 2.0.0 - resolution: "@graphql-tools/optimize@npm:2.0.0" - dependencies: - tslib: "npm:^2.4.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/db4ac0a2b0c89126ee7746e5615ae003d8665b684b17fb35956a7633fefb0e329a047f32a975cfbdf83f0f5ac4ae09fe469834fd71fdd49d8ed932fda79012fd - languageName: node - linkType: hard - -"@graphql-tools/prisma-loader@npm:^8.0.0": - version: 8.0.4 - resolution: "@graphql-tools/prisma-loader@npm:8.0.4" - dependencies: - "@graphql-tools/url-loader": "npm:^8.0.2" - "@graphql-tools/utils": "npm:^10.0.13" - "@types/js-yaml": "npm:^4.0.0" - "@whatwg-node/fetch": "npm:^0.9.0" - chalk: "npm:^4.1.0" - debug: "npm:^4.3.1" - dotenv: "npm:^16.0.0" - graphql-request: "npm:^6.0.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.0" - jose: "npm:^5.0.0" - js-yaml: "npm:^4.0.0" - lodash: "npm:^4.17.20" - scuid: "npm:^1.1.0" - tslib: "npm:^2.4.0" - yaml-ast-parser: "npm:^0.0.43" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/4a3fff758c92f254538748a0acd43643e63f84104aacff575da896e1e4ed92b89c62093281e1eb56bcb8ffb4a76a56124ba367a83f8d2a779d0ee29cf046ef16 - languageName: node - linkType: hard - "@graphql-tools/relay-operation-optimizer@npm:^6.5.0": version: 6.5.18 resolution: "@graphql-tools/relay-operation-optimizer@npm:6.5.18" @@ -8802,19 +6893,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/relay-operation-optimizer@npm:^7.0.0": - version: 7.0.1 - resolution: "@graphql-tools/relay-operation-optimizer@npm:7.0.1" - dependencies: - "@ardatan/relay-compiler": "npm:12.0.0" - "@graphql-tools/utils": "npm:^10.0.13" - tslib: "npm:^2.4.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/4bb08c764b645fc602f8c45c518d576132dcd50e6ac35a70ae1dc6aff57521ad96be85ee72ea2cecc05d3d281fcbb47a976a7549034b0230deeae5de74cb24bc - languageName: node - linkType: hard - "@graphql-tools/schema@npm:9.0.19, @graphql-tools/schema@npm:^9.0.0, @graphql-tools/schema@npm:^9.0.18, @graphql-tools/schema@npm:^9.0.19": version: 9.0.19 resolution: "@graphql-tools/schema@npm:9.0.19" @@ -8829,7 +6907,7 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/schema@npm:^10.0.0, @graphql-tools/schema@npm:^10.0.3, @graphql-tools/schema@npm:^10.0.4, @graphql-tools/schema@npm:^10.0.5": +"@graphql-tools/schema@npm:^10.0.3, @graphql-tools/schema@npm:^10.0.4, @graphql-tools/schema@npm:^10.0.5": version: 10.0.6 resolution: "@graphql-tools/schema@npm:10.0.6" dependencies: @@ -8930,30 +7008,7 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/url-loader@npm:^8.0.0, @graphql-tools/url-loader@npm:^8.0.2": - version: 8.0.2 - resolution: "@graphql-tools/url-loader@npm:8.0.2" - dependencies: - "@ardatan/sync-fetch": "npm:^0.0.1" - "@graphql-tools/delegate": "npm:^10.0.4" - "@graphql-tools/executor-graphql-ws": "npm:^1.1.2" - "@graphql-tools/executor-http": "npm:^1.0.9" - "@graphql-tools/executor-legacy-ws": "npm:^1.0.6" - "@graphql-tools/utils": "npm:^10.0.13" - "@graphql-tools/wrap": "npm:^10.0.2" - "@types/ws": "npm:^8.0.0" - "@whatwg-node/fetch": "npm:^0.9.0" - isomorphic-ws: "npm:^5.0.0" - tslib: "npm:^2.4.0" - value-or-promise: "npm:^1.0.11" - ws: "npm:^8.12.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/7ae1084bb2218c0b085cfc6c70a6a488225e4154873495a768bbcc6f3b9537384eb5062400b784e3558645ee95384d5aa44a634d60246809bb3604f2ac4ffa84 - languageName: node - linkType: hard - -"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.0.13, @graphql-tools/utils@npm:^10.1.1, @graphql-tools/utils@npm:^10.2.1, @graphql-tools/utils@npm:^10.2.3, @graphql-tools/utils@npm:^10.3.0, @graphql-tools/utils@npm:^10.3.2, @graphql-tools/utils@npm:^10.3.4, @graphql-tools/utils@npm:^10.4.0, @graphql-tools/utils@npm:^10.5.3, @graphql-tools/utils@npm:^10.5.4": +"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.0.13, @graphql-tools/utils@npm:^10.1.1, @graphql-tools/utils@npm:^10.2.1, @graphql-tools/utils@npm:^10.2.3, @graphql-tools/utils@npm:^10.3.2, @graphql-tools/utils@npm:^10.3.4, @graphql-tools/utils@npm:^10.4.0, @graphql-tools/utils@npm:^10.5.3, @graphql-tools/utils@npm:^10.5.4": version: 10.5.4 resolution: "@graphql-tools/utils@npm:10.5.4" dependencies: @@ -9431,13 +7486,6 @@ __metadata: languageName: node linkType: hard -"@inquirer/figures@npm:^1.0.3": - version: 1.0.5 - resolution: "@inquirer/figures@npm:1.0.5" - checksum: 10c0/ec9ba23db42cb33fa18eb919abf2a18e750e739e64c1883ce4a98345cd5711c60cac12d1faf56a859f52d387deb221c8d3dfe60344ee07955a9a262f8b821fe3 - languageName: node - linkType: hard - "@interlay/interbtc-types@npm:1.13.0": version: 1.13.0 resolution: "@interlay/interbtc-types@npm:1.13.0" @@ -9832,13 +7880,6 @@ __metadata: languageName: node linkType: hard -"@kurkle/color@npm:^0.3.0": - version: 0.3.2 - resolution: "@kurkle/color@npm:0.3.2" - checksum: 10c0/a9e8e3e35dcd59dec4dd4f0105919c05e24823a96347bcf152965c29e48d6290b66d5fb96c071875db752e10930724c48ce6d338fefbd65e0ce5082d5c78970e - languageName: node - linkType: hard - "@laminar/type-definitions@npm:0.3.1": version: 0.3.1 resolution: "@laminar/type-definitions@npm:0.3.1" @@ -10516,22 +8557,6 @@ __metadata: languageName: node linkType: hard -"@mole-inc/bin-wrapper@npm:^8.0.1": - version: 8.0.1 - resolution: "@mole-inc/bin-wrapper@npm:8.0.1" - dependencies: - bin-check: "npm:^4.1.0" - bin-version-check: "npm:^5.0.0" - content-disposition: "npm:^0.5.4" - ext-name: "npm:^5.0.0" - file-type: "npm:^17.1.6" - filenamify: "npm:^5.0.2" - got: "npm:^11.8.5" - os-filter-obj: "npm:^2.0.0" - checksum: 10c0/70cfed319a46b1b8e3878dc4bdff4ced81aa913a6d9ab557b41e40f7ebdd5d39b0506b008609d8620739b63c2e4396fe0deec072487e84c717a1f3b24836ef94 - languageName: node - linkType: hard - "@motionone/animation@npm:^10.15.1, @motionone/animation@npm:^10.18.0": version: 10.18.0 resolution: "@motionone/animation@npm:10.18.0" @@ -10617,7 +8642,7 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:0.2.4, @napi-rs/wasm-runtime@npm:^0.2.4": +"@napi-rs/wasm-runtime@npm:0.2.4": version: 0.2.4 resolution: "@napi-rs/wasm-runtime@npm:0.2.4" dependencies: @@ -12334,85 +10359,6 @@ __metadata: languageName: node linkType: hard -"@oxc-resolver/binding-darwin-arm64@npm:1.11.0": - version: 1.11.0 - resolution: "@oxc-resolver/binding-darwin-arm64@npm:1.11.0" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-darwin-x64@npm:1.11.0": - version: 1.11.0 - resolution: "@oxc-resolver/binding-darwin-x64@npm:1.11.0" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-freebsd-x64@npm:1.11.0": - version: 1.11.0 - resolution: "@oxc-resolver/binding-freebsd-x64@npm:1.11.0" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm-gnueabihf@npm:1.11.0": - version: 1.11.0 - resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:1.11.0" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm64-gnu@npm:1.11.0": - version: 1.11.0 - resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:1.11.0" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm64-musl@npm:1.11.0": - version: 1.11.0 - resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:1.11.0" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-x64-gnu@npm:1.11.0": - version: 1.11.0 - resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:1.11.0" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-x64-musl@npm:1.11.0": - version: 1.11.0 - resolution: "@oxc-resolver/binding-linux-x64-musl@npm:1.11.0" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@oxc-resolver/binding-wasm32-wasi@npm:1.11.0": - version: 1.11.0 - resolution: "@oxc-resolver/binding-wasm32-wasi@npm:1.11.0" - dependencies: - "@napi-rs/wasm-runtime": "npm:^0.2.4" - conditions: cpu=wasm32 - languageName: node - linkType: hard - -"@oxc-resolver/binding-win32-arm64-msvc@npm:1.11.0": - version: 1.11.0 - resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:1.11.0" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-win32-x64-msvc@npm:1.11.0": - version: 1.11.0 - resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:1.11.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@parallel-finance/type-definitions@npm:2.0.1": version: 2.0.1 resolution: "@parallel-finance/type-definitions@npm:2.0.1" @@ -12644,7 +10590,7 @@ __metadata: languageName: node linkType: hard -"@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.11, @pmmmwh/react-refresh-webpack-plugin@npm:^0.5.15": +"@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.11": version: 0.5.15 resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.15" dependencies: @@ -13016,22 +10962,6 @@ __metadata: languageName: node linkType: hard -"@polkadot/extension-inject@npm:0.46.3": - version: 0.46.3 - resolution: "@polkadot/extension-inject@npm:0.46.3" - dependencies: - "@polkadot/rpc-provider": "npm:^10.7.1" - "@polkadot/types": "npm:^10.7.1" - "@polkadot/util": "npm:^12.2.1" - "@polkadot/util-crypto": "npm:^12.2.1" - "@polkadot/x-global": "npm:^12.2.1" - tslib: "npm:^2.5.0" - peerDependencies: - "@polkadot/api": "*" - checksum: 10c0/6783b900916914266ca4adb5a0a9a3ee32f46017c9f8a93e97582659d62dab1985373c9a8e2cba55ba2101393f02c151f44857433096862d91a3e9f14781137d - languageName: node - linkType: hard - "@polkadot/extension-inject@npm:0.55.1": version: 0.55.1 resolution: "@polkadot/extension-inject@npm:0.55.1" @@ -13323,26 +11253,6 @@ __metadata: languageName: node linkType: hard -"@polkadot/ui-keyring@npm:3.4.1": - version: 3.4.1 - resolution: "@polkadot/ui-keyring@npm:3.4.1" - dependencies: - "@polkadot/keyring": "npm:^12.2.1" - "@polkadot/ui-settings": "npm:3.4.1" - "@polkadot/util": "npm:^12.2.1" - "@polkadot/util-crypto": "npm:^12.2.1" - mkdirp: "npm:^3.0.1" - rxjs: "npm:^7.8.1" - store: "npm:^2.0.12" - tslib: "npm:^2.5.0" - peerDependencies: - "@polkadot/keyring": "*" - "@polkadot/ui-settings": "*" - "@polkadot/util": "*" - checksum: 10c0/318de7a75fb18918c716ddf7ced02cd459a46d03b85d3c655f24a123ce436353faa00625873269f8e36b3fa21a10ccc64cb4cd2cb41f1e8843ab7fa56edb4ab1 - languageName: node - linkType: hard - "@polkadot/ui-settings@npm:3.11.1": version: 3.11.1 resolution: "@polkadot/ui-settings@npm:3.11.1" @@ -13359,22 +11269,6 @@ __metadata: languageName: node linkType: hard -"@polkadot/ui-settings@npm:3.4.1": - version: 3.4.1 - resolution: "@polkadot/ui-settings@npm:3.4.1" - dependencies: - "@polkadot/networks": "npm:^12.2.1" - "@polkadot/util": "npm:^12.2.1" - eventemitter3: "npm:^5.0.1" - store: "npm:^2.0.12" - tslib: "npm:^2.5.0" - peerDependencies: - "@polkadot/networks": "*" - "@polkadot/util": "*" - checksum: 10c0/0c972e22fdc1f2e2bf1e6ddb35d02abb9d52b81ab79b7230550b2a023c888533af96a42e415b1121d8d402d88ac50b62d7d33d793e4cb207b3e852ed6a9a7b6a - languageName: node - linkType: hard - "@polkadot/ui-shared@npm:3.11.1": version: 3.11.1 resolution: "@polkadot/ui-shared@npm:3.11.1" @@ -13546,7 +11440,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/x-global@npm:12.6.2, @polkadot/x-global@npm:^12.2.1, @polkadot/x-global@npm:^12.6.2": +"@polkadot/x-global@npm:12.6.2, @polkadot/x-global@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/x-global@npm:12.6.2" dependencies: @@ -14677,13 +12571,6 @@ __metadata: languageName: node linkType: hard -"@remote-ui/rpc@npm:^1.2.5": - version: 1.4.5 - resolution: "@remote-ui/rpc@npm:1.4.5" - checksum: 10c0/2817a0ce56510bf13df382702de48cd76d381af6972f3ed8997ca91ba97dc34519e638cdef322b7830bc6e8aca25af73b42c83b95470c04f8d3e8e157e3587aa - languageName: node - linkType: hard - "@repeaterjs/repeater@npm:3.0.4": version: 3.0.4 resolution: "@repeaterjs/repeater@npm:3.0.4" @@ -14999,7 +12886,7 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.24.2, @rollup/rollup-linux-x64-gnu@npm:^4.24.0": +"@rollup/rollup-linux-x64-gnu@npm:4.24.2": version: 4.24.2 resolution: "@rollup/rollup-linux-x64-gnu@npm:4.24.2" conditions: os=linux & cpu=x64 & libc=glibc @@ -15298,63 +13185,6 @@ __metadata: languageName: node linkType: hard -"@sec-ant/readable-stream@npm:^0.4.1": - version: 0.4.1 - resolution: "@sec-ant/readable-stream@npm:0.4.1" - checksum: 10c0/64e9e9cf161e848067a5bf60cdc04d18495dc28bb63a8d9f8993e4dd99b91ad34e4b563c85de17d91ffb177ec17a0664991d2e115f6543e73236a906068987af - languageName: node - linkType: hard - -"@shopify/react-hooks@npm:^4.1.2": - version: 4.1.2 - resolution: "@shopify/react-hooks@npm:4.1.2" - peerDependencies: - react: ">=18.0.0 <19.0.0" - checksum: 10c0/0421901f90e94610f885f44084e189a09f2078373294ed95cdb1c765ab7372298fad7a34c77f56def31bf880605f5484862233f421e02ced670b67ce59f9daef - languageName: node - linkType: hard - -"@shopify/react-web-worker@npm:^5.1.6": - version: 5.1.6 - resolution: "@shopify/react-web-worker@npm:5.1.6" - dependencies: - "@shopify/react-hooks": "npm:^4.1.2" - "@shopify/useful-types": "npm:^5.3.0" - "@shopify/web-worker": "npm:^6.4.0" - peerDependencies: - react: ">=18.0.0 <19.0.0" - react-dom: ">=16.8.0 <19.0.0" - checksum: 10c0/895d0340aca371775ceae01b78a8d8ef83db17821a67d7ffc2ad26e783211f52b7fd7938b289cc49cdd361682f0ba971e73b1981fbc69ae0b9555240a8b454b7 - languageName: node - linkType: hard - -"@shopify/useful-types@npm:^5.3.0": - version: 5.3.0 - resolution: "@shopify/useful-types@npm:5.3.0" - checksum: 10c0/8d4e535d81a19e2f095897d69abeb87f1dbd99e1892c14c986ebaf332cfc4c66c42a33ecaaaa5a347ca7b19132cefb5d09af5ba6aedffd65b14e3763ce48792c - languageName: node - linkType: hard - -"@shopify/web-worker@npm:^6.4.0": - version: 6.4.0 - resolution: "@shopify/web-worker@npm:6.4.0" - dependencies: - "@remote-ui/rpc": "npm:^1.2.5" - peerDependencies: - "@babel/core": ^7.0.0 - webpack: ^5.38.0 - webpack-virtual-modules: ^0.4.3 || ^0.5.0 || ^0.6.0 - peerDependenciesMeta: - "@babel/core": - optional: true - webpack: - optional: true - webpack-virtual-modules: - optional: true - checksum: 10c0/3b9326fba6dfd30dd2bc3c63d942a0ede736d865307c13665ecffc549a35ee8e4bc842cb9f58543d83baef22dac716132736826f5944ba7e314758d8fcc7973a - languageName: node - linkType: hard - "@sinclair/typebox@npm:^0.27.8": version: 0.27.8 resolution: "@sinclair/typebox@npm:0.27.8" @@ -15390,13 +13220,6 @@ __metadata: languageName: node linkType: hard -"@sindresorhus/merge-streams@npm:^4.0.0": - version: 4.0.0 - resolution: "@sindresorhus/merge-streams@npm:4.0.0" - checksum: 10c0/482ee543629aa1933b332f811a1ae805a213681ecdd98c042b1c1b89387df63e7812248bb4df3910b02b3cc5589d3d73e4393f30e197c9dde18046ccd471fc6b - languageName: node - linkType: hard - "@sindresorhus/slugify@npm:^2.0.0": version: 2.2.1 resolution: "@sindresorhus/slugify@npm:2.2.1" @@ -16522,7 +14345,7 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-links@npm:^8.3.6": +"@storybook/addon-links@npm:8.3.6": version: 8.3.6 resolution: "@storybook/addon-links@npm:8.3.6" dependencies: @@ -16539,7 +14362,7 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-mdx-gfm@npm:^8.3.6": +"@storybook/addon-mdx-gfm@npm:8.3.6": version: 8.3.6 resolution: "@storybook/addon-mdx-gfm@npm:8.3.6" dependencies: @@ -16616,7 +14439,7 @@ __metadata: languageName: node linkType: hard -"@storybook/blocks@npm:8.3.6, @storybook/blocks@npm:^8.3.6": +"@storybook/blocks@npm:8.3.6": version: 8.3.6 resolution: "@storybook/blocks@npm:8.3.6" dependencies: @@ -16688,11 +14511,11 @@ __metadata: linkType: hard "@storybook/channels@npm:^8.3.6": - version: 8.3.6 - resolution: "@storybook/channels@npm:8.3.6" + version: 8.4.1 + resolution: "@storybook/channels@npm:8.4.1" peerDependencies: - storybook: ^8.3.6 - checksum: 10c0/3c34ed2b03c60c6ed1160d9a0efdb836be892e333556848ff492c16ab6d92521207512670d42f69d681f521e50f130a00f692610a3ca63228a8d2b49be57f4fa + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/e4f8dad26a6c3a22020912a68a27e5ffcbd322c764f664eb1c575dda908de437026dcb99e0914204d1b6ac6434ebabc06fa0ee6a175130041e67adb0729d2dd1 languageName: node linkType: hard @@ -16706,20 +14529,20 @@ __metadata: linkType: hard "@storybook/core-events@npm:^8.3.6": - version: 8.3.6 - resolution: "@storybook/core-events@npm:8.3.6" + version: 8.4.1 + resolution: "@storybook/core-events@npm:8.4.1" peerDependencies: - storybook: ^8.3.6 - checksum: 10c0/247f1896fb18d9957f7d2ab653329df1af60da63a07da3737c5af8f407e110ebf2efc6516e44606726efb413826e6b9d101e676adcb36a9cbcd54fb7152ceb03 + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/f872c329c0780b372999573c822124392e555ca687af7f5c2c157aac59ff469090d6f0c97d50264e0f305c97538ff12bcc9c52ba1f5dc7e35306af4b61d8d479 languageName: node linkType: hard "@storybook/core-server@npm:^8.3.6": - version: 8.3.6 - resolution: "@storybook/core-server@npm:8.3.6" + version: 8.4.1 + resolution: "@storybook/core-server@npm:8.4.1" peerDependencies: - storybook: ^8.3.6 - checksum: 10c0/3fd62bbf0286c2ea7727e16fd1f27f3edc11893a2d4a36e85a9aa153aaa6bdb8808633b38d5eadffb168c33ecf6a4c92faa1c054b650de2e0ec97b43fe584861 + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/0ac9821e132deae845f50a628f1d81099574f6b6be5c7e800015dc2ac46d98b83c840b7fd1af5d7a46d847343dd31196fc82420d4cda02001e50a7fad5c7cd72 languageName: node linkType: hard @@ -16982,7 +14805,7 @@ __metadata: languageName: node linkType: hard -"@storybook/test@npm:8.3.6, @storybook/test@npm:^8.3.6": +"@storybook/test@npm:8.3.6": version: 8.3.6 resolution: "@storybook/test@npm:8.3.6" dependencies: @@ -17226,71 +15049,6 @@ __metadata: languageName: node linkType: hard -"@swc-node/core@npm:^1.13.3": - version: 1.13.3 - resolution: "@swc-node/core@npm:1.13.3" - peerDependencies: - "@swc/core": ">= 1.4.13" - "@swc/types": ">= 0.1" - checksum: 10c0/01f69d6124691569cedd2e6d0c6d3e33ab96d8fca6607780d64359c884750cfd77541e112e545cf37d9f0ee5fdccd57fbf9eb07cfd0ae26f8cca88c974e82e08 - languageName: node - linkType: hard - -"@swc-node/register@npm:1.10.9": - version: 1.10.9 - resolution: "@swc-node/register@npm:1.10.9" - dependencies: - "@swc-node/core": "npm:^1.13.3" - "@swc-node/sourcemap-support": "npm:^0.5.1" - colorette: "npm:^2.0.20" - debug: "npm:^4.3.5" - oxc-resolver: "npm:^1.10.2" - pirates: "npm:^4.0.6" - tslib: "npm:^2.6.3" - peerDependencies: - "@swc/core": ">= 1.4.13" - typescript: ">= 4.3" - checksum: 10c0/54cc40b200cd9dda881c59bfe163bed3f8790cb93befe4d0ac4c130ab9836a31edc32da856d72ab45573aeb26bb36072aa3a1a9f68547cbb5d76cff1df814d41 - languageName: node - linkType: hard - -"@swc-node/sourcemap-support@npm:^0.5.1": - version: 0.5.1 - resolution: "@swc-node/sourcemap-support@npm:0.5.1" - dependencies: - source-map-support: "npm:^0.5.21" - tslib: "npm:^2.6.3" - checksum: 10c0/5ac7e701a0683e0e6760c8078d4bb2829daa78c4946dcc729c75588b87112afc7352f7c8cd90cea9417b5f7494418d374a354795344c4cf81152bce3d5a17853 - languageName: node - linkType: hard - -"@swc/cli@npm:~0.4.1-nightly.20240914": - version: 0.4.1-nightly.20240914 - resolution: "@swc/cli@npm:0.4.1-nightly.20240914" - dependencies: - "@mole-inc/bin-wrapper": "npm:^8.0.1" - "@swc/counter": "npm:^0.1.3" - commander: "npm:^8.3.0" - fast-glob: "npm:^3.2.5" - minimatch: "npm:^9.0.3" - piscina: "npm:^4.3.0" - semver: "npm:^7.3.8" - slash: "npm:3.0.0" - source-map: "npm:^0.7.3" - peerDependencies: - "@swc/core": ^1.2.66 - chokidar: ^3.5.1 - peerDependenciesMeta: - chokidar: - optional: true - bin: - spack: bin/spack.js - swc: bin/swc.js - swcx: bin/swcx.js - checksum: 10c0/231cf5c7002dc0a8f0b9d60b2d077256d2a22fd449ae1ea7bf0ac21e8121b44d3f39c5683394b006e4f5c62801530b05f75be8b0a0917813856ab578f1e4372c - languageName: node - linkType: hard - "@swc/core-darwin-arm64@npm:1.7.23": version: 1.7.23 resolution: "@swc/core-darwin-arm64@npm:1.7.23" @@ -17431,7 +15189,7 @@ __metadata: languageName: node linkType: hard -"@swc/core@npm:1.7.40, @swc/core@npm:^1.7.26": +"@swc/core@npm:^1.7.26": version: 1.7.40 resolution: "@swc/core@npm:1.7.40" dependencies: @@ -17530,15 +15288,6 @@ __metadata: languageName: node linkType: hard -"@swc/helpers@npm:0.5.13, @swc/helpers@npm:^0.5.0, @swc/helpers@npm:^0.5.11, @swc/helpers@npm:~0.5.0": - version: 0.5.13 - resolution: "@swc/helpers@npm:0.5.13" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/b9df578401fc62405da9a6c31e79e447a2fd90f68b25b1daee12f2caf2821991bb89106f0397bc1acb4c4d84a8ce079d04b60b65f534496952e3bf8c9a52f40f - languageName: node - linkType: hard - "@swc/helpers@npm:0.5.5": version: 0.5.5 resolution: "@swc/helpers@npm:0.5.5" @@ -17549,6 +15298,15 @@ __metadata: languageName: node linkType: hard +"@swc/helpers@npm:^0.5.0, @swc/helpers@npm:^0.5.11, @swc/helpers@npm:~0.5.0": + version: 0.5.13 + resolution: "@swc/helpers@npm:0.5.13" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/b9df578401fc62405da9a6c31e79e447a2fd90f68b25b1daee12f2caf2821991bb89106f0397bc1acb4c4d84a8ce079d04b60b65f534496952e3bf8c9a52f40f + languageName: node + linkType: hard + "@swc/types@npm:^0.1.12": version: 0.1.12 resolution: "@swc/types@npm:0.1.12" @@ -17737,13 +15495,6 @@ __metadata: languageName: node linkType: hard -"@tootallnate/once@npm:2": - version: 2.0.0 - resolution: "@tootallnate/once@npm:2.0.0" - checksum: 10c0/073bfa548026b1ebaf1659eb8961e526be22fa77139b10d60e712f46d2f0f05f4e6c8bec62a087d41088ee9e29faa7f54838568e475ab2f776171003c3920858 - languageName: node - linkType: hard - "@trufflesuite/bigint-buffer@npm:1.1.9": version: 1.1.9 resolution: "@trufflesuite/bigint-buffer@npm:1.1.9" @@ -17935,13 +15686,6 @@ __metadata: languageName: node linkType: hard -"@types/cookie@npm:^0.6.0": - version: 0.6.0 - resolution: "@types/cookie@npm:0.6.0" - checksum: 10c0/5b326bd0188120fb32c0be086b141b1481fec9941b76ad537f9110e10d61ee2636beac145463319c71e4be67a17e85b81ca9e13ceb6e3bb63b93d16824d6c149 - languageName: node - linkType: hard - "@types/d3-array@npm:^3.0.3": version: 3.2.1 resolution: "@types/d3-array@npm:3.2.1" @@ -18054,15 +15798,6 @@ __metadata: languageName: node linkType: hard -"@types/estree-jsx@npm:^1.0.0": - version: 1.0.5 - resolution: "@types/estree-jsx@npm:1.0.5" - dependencies: - "@types/estree": "npm:*" - checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d - languageName: node - linkType: hard - "@types/estree@npm:*, @types/estree@npm:1.0.5, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.5": version: 1.0.5 resolution: "@types/estree@npm:1.0.5" @@ -18207,24 +15942,6 @@ __metadata: languageName: node linkType: hard -"@types/js-yaml@npm:^4.0.0": - version: 4.0.9 - resolution: "@types/js-yaml@npm:4.0.9" - checksum: 10c0/24de857aa8d61526bbfbbaa383aa538283ad17363fcd5bb5148e2c7f604547db36646440e739d78241ed008702a8920665d1add5618687b6743858fae00da211 - languageName: node - linkType: hard - -"@types/jsdom@npm:^20.0.0": - version: 20.0.1 - resolution: "@types/jsdom@npm:20.0.1" - dependencies: - "@types/node": "npm:*" - "@types/tough-cookie": "npm:*" - parse5: "npm:^7.0.0" - checksum: 10c0/3d4b2a3eab145674ee6da482607c5e48977869109f0f62560bf91ae1a792c9e847ac7c6aaf243ed2e97333cb3c51aef314ffa54a19ef174b8f9592dfcb836b25 - languageName: node - linkType: hard - "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" @@ -18565,13 +16282,6 @@ __metadata: languageName: node linkType: hard -"@types/tough-cookie@npm:*": - version: 4.0.5 - resolution: "@types/tough-cookie@npm:4.0.5" - checksum: 10c0/68c6921721a3dcb40451543db2174a145ef915bc8bcbe7ad4e59194a0238e776e782b896c7a59f4b93ac6acefca9161fccb31d1ce3b3445cb6faa467297fb473 - languageName: node - linkType: hard - "@types/triple-beam@npm:^1.3.2": version: 1.3.5 resolution: "@types/triple-beam@npm:1.3.5" @@ -18593,7 +16303,7 @@ __metadata: languageName: node linkType: hard -"@types/unist@npm:^2, @types/unist@npm:^2.0.0": +"@types/unist@npm:^2": version: 2.0.11 resolution: "@types/unist@npm:2.0.11" checksum: 10c0/24dcdf25a168f453bb70298145eb043cfdbb82472db0bc0b56d6d51cd2e484b9ed8271d4ac93000a80da568f2402e9339723db262d0869e2bf13bc58e081768d @@ -18840,6 +16550,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.12.2": + version: 8.12.2 + resolution: "@typescript-eslint/scope-manager@npm:8.12.2" + dependencies: + "@typescript-eslint/types": "npm:8.12.2" + "@typescript-eslint/visitor-keys": "npm:8.12.2" + checksum: 10c0/e953838e9c1a55cc23c8ec5ecd0a7d447020ac8a1171bed248b6751fc3ec3910a5dad3497a63b660106844a4abeb17265b9a49ce2d0e29264213579b6cda20ab + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:6.21.0": version: 6.21.0 resolution: "@typescript-eslint/type-utils@npm:6.21.0" @@ -18874,7 +16594,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.12.1, @typescript-eslint/type-utils@npm:^8.0.0": +"@typescript-eslint/type-utils@npm:8.12.1": version: 8.12.1 resolution: "@typescript-eslint/type-utils@npm:8.12.1" dependencies: @@ -18889,6 +16609,21 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/type-utils@npm:^8.0.0": + version: 8.12.2 + resolution: "@typescript-eslint/type-utils@npm:8.12.2" + dependencies: + "@typescript-eslint/typescript-estree": "npm:8.12.2" + "@typescript-eslint/utils": "npm:8.12.2" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/88fb254acb022a6997a7335f1d9db54112f89a6f090afbf7c0ca52a6b70885391db7d6d40cf016084425f2899aaff49dac31e9df8cff12aae90c9c051eab69ff + languageName: node + linkType: hard + "@typescript-eslint/types@npm:4.33.0": version: 4.33.0 resolution: "@typescript-eslint/types@npm:4.33.0" @@ -18924,6 +16659,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:8.12.2": + version: 8.12.2 + resolution: "@typescript-eslint/types@npm:8.12.2" + checksum: 10c0/7fdc26b349a4f0faa9e80683d425fe7a5761a50c76f2fad6ebdf30f1ef75443c06c158e17b2a529f70fc6d56560a130b4e59038b6e2f583c8cb54c1d0ab9cf73 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.62.0, @typescript-eslint/typescript-estree@npm:^5.55.0, @typescript-eslint/typescript-estree@npm:^5.62.0": version: 5.62.0 resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" @@ -18999,6 +16741,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:8.12.2": + version: 8.12.2 + resolution: "@typescript-eslint/typescript-estree@npm:8.12.2" + dependencies: + "@typescript-eslint/types": "npm:8.12.2" + "@typescript-eslint/visitor-keys": "npm:8.12.2" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.2" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/133db215be60c64bf9fb20d678aaf258b31d752380492474228946ba04f540210b371217414f56c37e61b04d77a451085c421ac9a19aca818b07ac67b7139b86 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:^4.33.0": version: 4.33.0 resolution: "@typescript-eslint/typescript-estree@npm:4.33.0" @@ -19048,7 +16809,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.12.1, @typescript-eslint/utils@npm:^8.0.0, @typescript-eslint/utils@npm:^8.8.1": +"@typescript-eslint/utils@npm:8.12.1, @typescript-eslint/utils@npm:^8.8.1": version: 8.12.1 resolution: "@typescript-eslint/utils@npm:8.12.1" dependencies: @@ -19062,6 +16823,20 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:8.12.2, @typescript-eslint/utils@npm:^8.0.0": + version: 8.12.2 + resolution: "@typescript-eslint/utils@npm:8.12.2" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:8.12.2" + "@typescript-eslint/types": "npm:8.12.2" + "@typescript-eslint/typescript-estree": "npm:8.12.2" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + checksum: 10c0/c050637aca88e8a5a09c2cee20d667ee3dbf1efa5488a11eca14069b320447419db3f8a42b7d3598d9acaad3a109cb6017d0e32d782255641721a41e95b2be2f + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:^5.10.0": version: 5.62.0 resolution: "@typescript-eslint/utils@npm:5.62.0" @@ -19130,6 +16905,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.12.2": + version: 8.12.2 + resolution: "@typescript-eslint/visitor-keys@npm:8.12.2" + dependencies: + "@typescript-eslint/types": "npm:8.12.2" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10c0/1f770d361bcb03ed028e5589824f6c7ba364da59fe8b982c2fed0878ad25890d80ebd6c72618ab5149317501964b7db106e20834179d4aa707a8cbffcca89d08 + languageName: node + linkType: hard + "@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" @@ -20103,15 +17888,6 @@ __metadata: languageName: node linkType: hard -"@webb-tools/proposals@npm:^1.0.11": - version: 1.0.11 - resolution: "@webb-tools/proposals@npm:1.0.11" - dependencies: - "@webb-tools/utils": "npm:^1.0.11" - checksum: 10c0/3118787552caceaaf12fcfc0b6f9aaa5a010c1e585d25ace24a563883a27af8476dde9a0ff17b19548d0f78174f8e47dd7c0267a48c0aa1deb8198f221695b61 - languageName: node - linkType: hard - "@webb-tools/protocol-substrate-types@npm:@webb-tools/tangle-substrate-types@^0.9.0, @webb-tools/tangle-substrate-types@npm:^0.9.0": version: 0.9.0 resolution: "@webb-tools/tangle-substrate-types@npm:0.9.0" @@ -20353,16 +18129,6 @@ __metadata: languageName: node linkType: hard -"@whatwg-node/fetch@npm:^0.9.20": - version: 0.9.22 - resolution: "@whatwg-node/fetch@npm:0.9.22" - dependencies: - "@whatwg-node/node-fetch": "npm:^0.5.27" - urlpattern-polyfill: "npm:^10.0.0" - checksum: 10c0/67a8668b2dd491b24a20a03ba23b6463481e209b16e2ffc9444ed9f52fb82de744a6076278499cea60737985204fca44f68dccea7e2af1a5fb68c2721e3bb1a6 - languageName: node - linkType: hard - "@whatwg-node/node-fetch@npm:^0.3.6": version: 0.3.6 resolution: "@whatwg-node/node-fetch@npm:0.3.6" @@ -20388,18 +18154,6 @@ __metadata: languageName: node linkType: hard -"@whatwg-node/node-fetch@npm:^0.5.27": - version: 0.5.27 - resolution: "@whatwg-node/node-fetch@npm:0.5.27" - dependencies: - "@kamilkisiela/fast-url-parser": "npm:^1.1.4" - busboy: "npm:^1.6.0" - fast-querystring: "npm:^1.1.1" - tslib: "npm:^2.6.3" - checksum: 10c0/1cd036e1ef36bfc71436a3e7438b180b94c33d7958c02e33540c35d37db19fb598f2ab09f0aef538a3bbc771c32d34c5728a596ffabf8be7961435a80fcb8f62 - languageName: node - linkType: hard - "@whatwg-node/server@npm:^0.7.3, @whatwg-node/server@npm:^0.7.4": version: 0.7.7 resolution: "@whatwg-node/server@npm:0.7.7" @@ -20621,13 +18375,6 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.6": - version: 2.0.6 - resolution: "abab@npm:2.0.6" - checksum: 10c0/0b245c3c3ea2598fe0025abf7cc7bb507b06949d51e8edae5d12c1b847a0a0c09639abcb94788332b4e2044ac4491c1e8f571b51c7826fd4b0bda1685ad4a278 - languageName: node - linkType: hard - "abbrev@npm:1": version: 1.1.1 resolution: "abbrev@npm:1.1.1" @@ -20734,16 +18481,6 @@ __metadata: languageName: node linkType: hard -"acorn-globals@npm:^7.0.0": - version: 7.0.1 - resolution: "acorn-globals@npm:7.0.1" - dependencies: - acorn: "npm:^8.1.0" - acorn-walk: "npm:^8.0.2" - checksum: 10c0/7437f58e92d99292dbebd0e79531af27d706c9f272f31c675d793da6c82d897e75302a8744af13c7f7978a8399840f14a353b60cf21014647f71012982456d2b - languageName: node - linkType: hard - "acorn-import-assertions@npm:^1.9.0": version: 1.9.0 resolution: "acorn-import-assertions@npm:1.9.0" @@ -20778,7 +18515,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1": +"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.1.1": version: 8.3.3 resolution: "acorn-walk@npm:8.3.3" dependencies: @@ -20796,7 +18533,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.11.0, acorn@npm:^8.11.3, acorn@npm:^8.12.1, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": +"acorn@npm:^8.0.4, acorn@npm:^8.11.0, acorn@npm:^8.11.3, acorn@npm:^8.12.1, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": version: 8.12.1 resolution: "acorn@npm:8.12.1" bin: @@ -20805,6 +18542,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.5.0": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" + bin: + acorn: bin/acorn + checksum: 10c0/6d4ee461a7734b2f48836ee0fbb752903606e576cc100eb49340295129ca0b452f3ba91ddd4424a1d4406a98adfb2ebb6bd0ff4c49d7a0930c10e462719bbfd7 + languageName: node + linkType: hard + "address@npm:^1.0.1": version: 1.2.2 resolution: "address@npm:1.2.2" @@ -21048,7 +18794,7 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0, ansi-escapes@npm:^4.3.1, ansi-escapes@npm:^4.3.2": +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0, ansi-escapes@npm:^4.3.1": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" dependencies: @@ -21211,7 +18957,7 @@ __metadata: languageName: node linkType: hard -"arch@npm:^2.1.0, arch@npm:^2.2.0": +"arch@npm:^2.2.0": version: 2.2.0 resolution: "arch@npm:2.2.0" checksum: 10c0/4ceaf8d8207817c216ebc4469742052cb0a097bc45d9b7fcd60b7507220da545a28562ab5bdd4dfe87921bb56371a0805da4e10d704e01f93a15f83240f1284c @@ -21840,19 +19586,6 @@ __metadata: languageName: node linkType: hard -"babel-loader@npm:9.2.1": - version: 9.2.1 - resolution: "babel-loader@npm:9.2.1" - dependencies: - find-cache-dir: "npm:^4.0.0" - schema-utils: "npm:^4.0.0" - peerDependencies: - "@babel/core": ^7.12.0 - webpack: ">=5" - checksum: 10c0/efb82faff4c7c27e9c15bb28bf11c73200e61cf365118a9514e8d74dd489d0afc2a0d5aaa62cb4254eefc2ab631579224d95a03fd245410f28ea75e24de54ba4 - languageName: node - linkType: hard - "babel-loader@npm:^9.1.2, babel-loader@npm:^9.1.3": version: 9.1.3 resolution: "babel-loader@npm:9.1.3" @@ -22272,37 +20005,6 @@ __metadata: languageName: node linkType: hard -"bin-check@npm:^4.1.0": - version: 4.1.0 - resolution: "bin-check@npm:4.1.0" - dependencies: - execa: "npm:^0.7.0" - executable: "npm:^4.1.0" - checksum: 10c0/b1ad144672ab033af879bb493011f694ef11e7c1a250ce15cbdbbc2e5e6feb114046943927654b5ac3d1ce668cff01ec3b6b2703e367f357b1f918b480020d86 - languageName: node - linkType: hard - -"bin-version-check@npm:^5.0.0": - version: 5.1.0 - resolution: "bin-version-check@npm:5.1.0" - dependencies: - bin-version: "npm:^6.0.0" - semver: "npm:^7.5.3" - semver-truncate: "npm:^3.0.0" - checksum: 10c0/f2a855b53b41e7200ab10fe6981fbd564430c2d58f7ae48cf71fe74b0071b802963efc0fa11fa066c0116057e8072e0a7cd63e2dae79283e37cc444a023116b4 - languageName: node - linkType: hard - -"bin-version@npm:^6.0.0": - version: 6.0.0 - resolution: "bin-version@npm:6.0.0" - dependencies: - execa: "npm:^5.0.0" - find-versions: "npm:^5.0.0" - checksum: 10c0/e06083cdeb056910009740687ae9ba3175d42c72082408d4c5cb88c91fa102d5a8aef9112c127e94c3b48b611ce048abef390a9b8376521e42541635dbd3c506 - languageName: node - linkType: hard - "binary-extensions@npm:^2.0.0": version: 2.3.0 resolution: "binary-extensions@npm:2.3.0" @@ -23085,9 +20787,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001669": - version: 1.0.30001673 - resolution: "caniuse-lite@npm:1.0.30001673" - checksum: 10c0/0e73a2b0f06973052e563dec9990a6fd440d510fa2ff54fa50310e736abb86e96c96b43c10e609fc22f2109f98fe76428b70441baf6b1a49f69ccf50c1879f6b + version: 1.0.30001677 + resolution: "caniuse-lite@npm:1.0.30001677" + checksum: 10c0/22b4aa738b213b5d0bc820c26ba23fa265ca90a5c59776e1a686b9ab6fff9120d0825fd920c0a601a4b65056ef40d01548405feb95c8dd6083255f50c71a0864 languageName: node linkType: hard @@ -23297,13 +20999,6 @@ __metadata: languageName: node linkType: hard -"character-entities-html4@npm:^2.0.0": - version: 2.1.0 - resolution: "character-entities-html4@npm:2.1.0" - checksum: 10c0/fe61b553f083400c20c0b0fd65095df30a0b445d960f3bbf271536ae6c3ba676f39cb7af0b4bf2755812f08ab9b88f2feed68f9aebb73bb153f7a115fe5c6e40 - languageName: node - linkType: hard - "character-entities-legacy@npm:^1.0.0": version: 1.1.4 resolution: "character-entities-legacy@npm:1.1.4" @@ -23311,13 +21006,6 @@ __metadata: languageName: node linkType: hard -"character-entities-legacy@npm:^3.0.0": - version: 3.0.0 - resolution: "character-entities-legacy@npm:3.0.0" - checksum: 10c0/ec4b430af873661aa754a896a2b55af089b4e938d3d010fad5219299a6b6d32ab175142699ee250640678cd64bdecd6db3c9af0b8759ab7b155d970d84c4c7d1 - languageName: node - linkType: hard - "character-entities@npm:^1.0.0": version: 1.2.4 resolution: "character-entities@npm:1.2.4" @@ -23339,13 +21027,6 @@ __metadata: languageName: node linkType: hard -"character-reference-invalid@npm:^2.0.0": - version: 2.0.1 - resolution: "character-reference-invalid@npm:2.0.1" - checksum: 10c0/2ae0dec770cd8659d7e8b0ce24392d83b4c2f0eb4a3395c955dce5528edd4cc030a794cfa06600fcdd700b3f2de2f9b8e40e309c0011c4180e3be64a0b42e6a1 - languageName: node - linkType: hard - "chardet@npm:^0.7.0": version: 0.7.0 resolution: "chardet@npm:0.7.0" @@ -23353,15 +21034,6 @@ __metadata: languageName: node linkType: hard -"chart.js@npm:^4.4.6": - version: 4.4.6 - resolution: "chart.js@npm:4.4.6" - dependencies: - "@kurkle/color": "npm:^0.3.0" - checksum: 10c0/456d16a030c35fa16182945e91d4fdd89510343454309b783f5e060ea89baaed3bc9b43d2d9b3acadd385e5921718e27ed2fcae8b5efa277d27bc4da4af639f2 - languageName: node - linkType: hard - "check-error@npm:^1.0.3": version: 1.0.3 resolution: "check-error@npm:1.0.3" @@ -23411,15 +21083,6 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^4.0.0": - version: 4.0.1 - resolution: "chokidar@npm:4.0.1" - dependencies: - readdirp: "npm:^4.0.1" - checksum: 10c0/4bb7a3adc304059810bb6c420c43261a15bb44f610d77c35547addc84faa0374265c3adc67f25d06f363d9a4571962b02679268c40de07676d260de1986efea9 - languageName: node - linkType: hard - "chownr@npm:^1.1.1, chownr@npm:^1.1.4": version: 1.1.4 resolution: "chownr@npm:1.1.4" @@ -23600,7 +21263,7 @@ __metadata: languageName: node linkType: hard -"clean-css@npm:^5.2.2, clean-css@npm:~5.3.2": +"clean-css@npm:^5.2.2": version: 5.3.3 resolution: "clean-css@npm:5.3.3" dependencies: @@ -23747,13 +21410,6 @@ __metadata: languageName: node linkType: hard -"cli-width@npm:^4.1.0": - version: 4.1.0 - resolution: "cli-width@npm:4.1.0" - checksum: 10c0/1fbd56413578f6117abcaf858903ba1f4ad78370a4032f916745fa2c7e390183a9d9029cf837df320b0fdce8137668e522f60a30a5f3d6529ff3872d265a955f - languageName: node - linkType: hard - "client-only@npm:0.0.1, client-only@npm:^0.0.1": version: 0.0.1 resolution: "client-only@npm:0.0.1" @@ -24006,14 +21662,7 @@ __metadata: languageName: node linkType: hard -"comma-separated-tokens@npm:^2.0.0": - version: 2.0.3 - resolution: "comma-separated-tokens@npm:2.0.3" - checksum: 10c0/91f90f1aae320f1755d6957ef0b864fe4f54737f3313bd95e0802686ee2ca38bff1dd381964d00ae5db42912dd1f4ae5c2709644e82706ffc6f6842a813cdd67 - languageName: node - linkType: hard - -"commander@npm:10.0.1, commander@npm:^10.0.0, commander@npm:^10.0.1": +"commander@npm:10.0.1, commander@npm:^10.0.1": version: 10.0.1 resolution: "commander@npm:10.0.1" checksum: 10c0/53f33d8927758a911094adadda4b2cbac111a5b377d8706700587650fd8f45b0bbe336de4b5c3fe47fd61f420a3d9bd452b6e0e6e5600a7e74d7bf0174f6efe3 @@ -24404,23 +22053,13 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.7.2, cookie@npm:^0.7.0": +"cookie@npm:0.7.2": version: 0.7.2 resolution: "cookie@npm:0.7.2" checksum: 10c0/9596e8ccdbf1a3a88ae02cf5ee80c1c50959423e1022e4e60b91dd87c622af1da309253d8abdb258fb5e3eacb4f08e579dc58b4897b8087574eee0fd35dfa5d2 languageName: node linkType: hard -"cookies-next@npm:^4.3.0": - version: 4.3.0 - resolution: "cookies-next@npm:4.3.0" - dependencies: - "@types/cookie": "npm:^0.6.0" - cookie: "npm:^0.7.0" - checksum: 10c0/091e2712340d595192e442c16d774fa9995a08b0425675a336527c7ee1941f5ea6cb8850cb5401a760e6c8d25bd846a3ce339d057d0c8f84e7b2ce5a4b31f939 - languageName: node - linkType: hard - "cookies@npm:~0.9.0": version: 0.9.1 resolution: "cookies@npm:0.9.1" @@ -24481,7 +22120,7 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.37.1, core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1": +"core-js-compat@npm:^3.37.1, core-js-compat@npm:^3.38.0": version: 3.38.1 resolution: "core-js-compat@npm:3.38.1" dependencies: @@ -24574,7 +22213,7 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^8.1.0, cosmiconfig@npm:^8.1.3": +"cosmiconfig@npm:^8.1.3": version: 8.3.6 resolution: "cosmiconfig@npm:8.3.6" dependencies: @@ -24615,13 +22254,6 @@ __metadata: languageName: node linkType: hard -"country-flag-icons@npm:^1.5.13": - version: 1.5.13 - resolution: "country-flag-icons@npm:1.5.13" - checksum: 10c0/beee2fe225469507d6c8df90376e031f08a5f103f65cd68e1db0679e82d4ffb2fbb27a3bb19defd112745b5c19d1972df615df21813c8c2074062dd5eb08eabb - languageName: node - linkType: hard - "cp-file@npm:^10.0.0": version: 10.0.0 resolution: "cp-file@npm:10.0.0" @@ -24777,17 +22409,6 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^5.0.1": - version: 5.1.0 - resolution: "cross-spawn@npm:5.1.0" - dependencies: - lru-cache: "npm:^4.0.1" - shebang-command: "npm:^1.2.0" - which: "npm:^1.2.9" - checksum: 10c0/1918621fddb9f8c61e02118b2dbf81f611ccd1544ceaca0d026525341832b8511ce2504c60f935dbc06b35e5ef156fe8c1e72708c27dd486f034e9c0e1e07201 - languageName: node - linkType: hard - "cross-spawn@npm:^6.0.5": version: 6.0.5 resolution: "cross-spawn@npm:6.0.5" @@ -25259,29 +22880,6 @@ __metadata: languageName: node linkType: hard -"cssom@npm:^0.5.0": - version: 0.5.0 - resolution: "cssom@npm:0.5.0" - checksum: 10c0/8c4121c243baf0678c65dcac29b201ff0067dfecf978de9d5c83b2ff127a8fdefd2bfd54577f5ad8c80ed7d2c8b489ae01c82023545d010c4ecb87683fb403dd - languageName: node - linkType: hard - -"cssom@npm:~0.3.6": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: 10c0/d74017b209440822f9e24d8782d6d2e808a8fdd58fa626a783337222fe1c87a518ba944d4c88499031b4786e68772c99dfae616638d71906fe9f203aeaf14411 - languageName: node - linkType: hard - -"cssstyle@npm:^2.3.0": - version: 2.3.0 - resolution: "cssstyle@npm:2.3.0" - dependencies: - cssom: "npm:~0.3.6" - checksum: 10c0/863400da2a458f73272b9a55ba7ff05de40d850f22eb4f37311abebd7eff801cf1cd2fb04c4c92b8c3daed83fe766e52e4112afb7bc88d86c63a9c2256a7d178 - languageName: node - linkType: hard - "cssstyle@npm:^4.0.1": version: 4.0.1 resolution: "cssstyle@npm:4.0.1" @@ -25491,17 +23089,6 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^3.0.2": - version: 3.0.2 - resolution: "data-urls@npm:3.0.2" - dependencies: - abab: "npm:^2.0.6" - whatwg-mimetype: "npm:^3.0.0" - whatwg-url: "npm:^11.0.0" - checksum: 10c0/051c3aaaf3e961904f136aab095fcf6dff4db23a7fc759dd8ba7b3e6ba03fc07ef608086caad8ab910d864bd3b5e57d0d2f544725653d77c96a2c971567045f4 - languageName: node - linkType: hard - "data-urls@npm:^5.0.0": version: 5.0.0 resolution: "data-urls@npm:5.0.0" @@ -25605,7 +23192,7 @@ __metadata: languageName: node linkType: hard -"debounce@npm:^1.2.0, debounce@npm:^1.2.1": +"debounce@npm:^1.2.1": version: 1.2.1 resolution: "debounce@npm:1.2.1" checksum: 10c0/6c9320aa0973fc42050814621a7a8a78146c1975799b5b3cc1becf1f77ba9a5aa583987884230da0842a03f385def452fad5d60db97c3d1c8b824e38a8edf500 @@ -25677,7 +23264,7 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.4.2, decimal.js@npm:^10.4.3": +"decimal.js@npm:^10.4.3": version: 10.4.3 resolution: "decimal.js@npm:10.4.3" checksum: 10c0/6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee @@ -25700,13 +23287,6 @@ __metadata: languageName: node linkType: hard -"decode-uri-component@npm:^0.4.1": - version: 0.4.1 - resolution: "decode-uri-component@npm:0.4.1" - checksum: 10c0/a180bbdb5398ec8270d236a3ac07cb988bbf6097428481780b85840f088951dc0318a8d8f9d56796e1a322b55b29859cea29982f22f9b03af0bc60974c54e591 - languageName: node - linkType: hard - "decompress-response@npm:^3.3.0": version: 3.3.0 resolution: "decompress-response@npm:3.3.0" @@ -26517,15 +24097,6 @@ __metadata: languageName: node linkType: hard -"domexception@npm:^4.0.0": - version: 4.0.0 - resolution: "domexception@npm:4.0.0" - dependencies: - webidl-conversions: "npm:^7.0.0" - checksum: 10c0/774277cd9d4df033f852196e3c0077a34dbd15a96baa4d166e0e47138a80f4c0bdf0d94e4703e6ff5883cec56bb821a6fff84402d8a498e31de7c87eb932a294 - languageName: node - linkType: hard - "domhandler@npm:^4.0.0, domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": version: 4.3.1 resolution: "domhandler@npm:4.3.1" @@ -26621,7 +24192,7 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:16.4.5, dotenv@npm:^16.0.0, dotenv@npm:^16.0.3, dotenv@npm:^16.3.1, dotenv@npm:^16.4.4, dotenv@npm:~16.4.5": +"dotenv@npm:16.4.5, dotenv@npm:^16.0.3, dotenv@npm:^16.3.1, dotenv@npm:^16.4.4, dotenv@npm:~16.4.5": version: 16.4.5 resolution: "dotenv@npm:16.4.5" checksum: 10c0/48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f @@ -26736,9 +24307,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.5.41": - version: 1.5.49 - resolution: "electron-to-chromium@npm:1.5.49" - checksum: 10c0/7b22141c7ebea2f49b87adcbe2b353919abbe44066c50e5e44dd47759c4ef07f0a802b9fc8ce2eaa832a293945b6d49064c859f0fef36d10c12fb46af2c1005d + version: 1.5.50 + resolution: "electron-to-chromium@npm:1.5.50" + checksum: 10c0/8b77b18ae833bfe2173e346ac33b8d66b5b5acf0cf5de65df9799f4d482334c938aa0950e4d01391d5fab8994f46c0e9059f4517843e7b8d861f9b0c49eb4c5d languageName: node linkType: hard @@ -28299,13 +25870,6 @@ __metadata: languageName: node linkType: hard -"estree-util-is-identifier-name@npm:^3.0.0": - version: 3.0.0 - resolution: "estree-util-is-identifier-name@npm:3.0.0" - checksum: 10c0/d1881c6ed14bd588ebd508fc90bf2a541811dbb9ca04dec2f39d27dcaa635f85b5ed9bbbe7fc6fb1ddfca68744a5f7c70456b4b7108b6c4c52780631cc787c5b - languageName: node - linkType: hard - "estree-walker@npm:2.0.2, estree-walker@npm:^2.0.1, estree-walker@npm:^2.0.2": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" @@ -28527,44 +26091,6 @@ __metadata: languageName: node linkType: hard -"ethers@npm:5.6.2": - version: 5.6.2 - resolution: "ethers@npm:5.6.2" - dependencies: - "@ethersproject/abi": "npm:5.6.0" - "@ethersproject/abstract-provider": "npm:5.6.0" - "@ethersproject/abstract-signer": "npm:5.6.0" - "@ethersproject/address": "npm:5.6.0" - "@ethersproject/base64": "npm:5.6.0" - "@ethersproject/basex": "npm:5.6.0" - "@ethersproject/bignumber": "npm:5.6.0" - "@ethersproject/bytes": "npm:5.6.1" - "@ethersproject/constants": "npm:5.6.0" - "@ethersproject/contracts": "npm:5.6.0" - "@ethersproject/hash": "npm:5.6.0" - "@ethersproject/hdnode": "npm:5.6.0" - "@ethersproject/json-wallets": "npm:5.6.0" - "@ethersproject/keccak256": "npm:5.6.0" - "@ethersproject/logger": "npm:5.6.0" - "@ethersproject/networks": "npm:5.6.1" - "@ethersproject/pbkdf2": "npm:5.6.0" - "@ethersproject/properties": "npm:5.6.0" - "@ethersproject/providers": "npm:5.6.2" - "@ethersproject/random": "npm:5.6.0" - "@ethersproject/rlp": "npm:5.6.0" - "@ethersproject/sha2": "npm:5.6.0" - "@ethersproject/signing-key": "npm:5.6.0" - "@ethersproject/solidity": "npm:5.6.0" - "@ethersproject/strings": "npm:5.6.0" - "@ethersproject/transactions": "npm:5.6.0" - "@ethersproject/units": "npm:5.6.0" - "@ethersproject/wallet": "npm:5.6.0" - "@ethersproject/web": "npm:5.6.0" - "@ethersproject/wordlists": "npm:5.6.0" - checksum: 10c0/5e686273f2a1a1fcaedf657f1b4a36ede44e0b82d08a3c4e80b89dade7265cae72aa4dd4d0a3231d546b1b7ddd159b068ff121fba749a278def99a637b9993ae - languageName: node - linkType: hard - "ethers@npm:5.7.0": version: 5.7.0 resolution: "ethers@npm:5.7.0" @@ -28765,41 +26291,6 @@ __metadata: languageName: node linkType: hard -"execa@npm:9.5.0": - version: 9.5.0 - resolution: "execa@npm:9.5.0" - dependencies: - "@sindresorhus/merge-streams": "npm:^4.0.0" - cross-spawn: "npm:^7.0.3" - figures: "npm:^6.1.0" - get-stream: "npm:^9.0.0" - human-signals: "npm:^8.0.0" - is-plain-obj: "npm:^4.1.0" - is-stream: "npm:^4.0.1" - npm-run-path: "npm:^6.0.0" - pretty-ms: "npm:^9.0.0" - signal-exit: "npm:^4.1.0" - strip-final-newline: "npm:^4.0.0" - yoctocolors: "npm:^2.0.0" - checksum: 10c0/93bc077249a778accc019bce141e0ebdf85e1a19ea02eaa1ed00cb49436b0751a7983fee0c0d95434e81727808639c512eea8d1308104598859cac2f01336bb1 - languageName: node - linkType: hard - -"execa@npm:^0.7.0": - version: 0.7.0 - resolution: "execa@npm:0.7.0" - dependencies: - cross-spawn: "npm:^5.0.1" - get-stream: "npm:^3.0.0" - is-stream: "npm:^1.1.0" - npm-run-path: "npm:^2.0.0" - p-finally: "npm:^1.0.0" - signal-exit: "npm:^3.0.0" - strip-eof: "npm:^1.0.0" - checksum: 10c0/812f1776e2a6b2226532e43c1af87d8a12e26de03a06e7e043f653acf5565e0656f5f6c64d66726fefa17178ac129caaa419a50905934e7c4a846417abb25d4a - languageName: node - linkType: hard - "execa@npm:^6.0.0": version: 6.1.0 resolution: "execa@npm:6.1.0" @@ -28834,7 +26325,7 @@ __metadata: languageName: node linkType: hard -"executable@npm:^4.1.0, executable@npm:^4.1.1": +"executable@npm:^4.1.1": version: 4.1.1 resolution: "executable@npm:4.1.1" dependencies: @@ -29025,7 +26516,7 @@ __metadata: languageName: node linkType: hard -"external-editor@npm:^3.0.3, external-editor@npm:^3.1.0": +"external-editor@npm:^3.0.3": version: 3.1.0 resolution: "external-editor@npm:3.1.0" dependencies: @@ -29143,7 +26634,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.5, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -29527,15 +27018,6 @@ __metadata: languageName: node linkType: hard -"figures@npm:^6.1.0": - version: 6.1.0 - resolution: "figures@npm:6.1.0" - dependencies: - is-unicode-supported: "npm:^2.0.0" - checksum: 10c0/9159df4264d62ef447a3931537de92f5012210cf5135c35c010df50a2169377581378149abfe1eb238bd6acbba1c0d547b1f18e0af6eee49e30363cedaffcfe4 - languageName: node - linkType: hard - "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -29566,17 +27048,6 @@ __metadata: languageName: node linkType: hard -"file-type@npm:^17.1.6": - version: 17.1.6 - resolution: "file-type@npm:17.1.6" - dependencies: - readable-web-to-node-stream: "npm:^3.0.2" - strtok3: "npm:^7.0.0-alpha.9" - token-types: "npm:^5.0.0-alpha.2" - checksum: 10c0/e75a00f4b57aadb81bac60e7315a7d15fa37276a8d2e7b551418388a039f89883e4e53fdb8e3ec6eb151f55f32e6f6a71c5069d6054c5dee20d2898fe853dcf2 - languageName: node - linkType: hard - "file-type@npm:^18.5.0": version: 18.7.0 resolution: "file-type@npm:18.7.0" @@ -29629,7 +27100,7 @@ __metadata: languageName: node linkType: hard -"filenamify@npm:^5.0.2, filenamify@npm:^5.1.1": +"filenamify@npm:^5.1.1": version: 5.1.1 resolution: "filenamify@npm:5.1.1" dependencies: @@ -29871,15 +27342,6 @@ __metadata: languageName: node linkType: hard -"find-versions@npm:^5.0.0": - version: 5.1.0 - resolution: "find-versions@npm:5.1.0" - dependencies: - semver-regex: "npm:^4.0.5" - checksum: 10c0/f1ef79d0850e0bd1eba03def02892d31feccdef75129c14b2a2d1cec563e2c51ad5a01f6a7a2d59ddbf9ecca1014ff8a6353ff2e2885e004f7a81ab1488899d4 - languageName: node - linkType: hard - "find-yarn-workspace-root@npm:^2.0.0": version: 2.0.0 resolution: "find-yarn-workspace-root@npm:2.0.0" @@ -30542,13 +28004,6 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "get-stream@npm:3.0.0" - checksum: 10c0/003f5f3b8870da59c6aafdf6ed7e7b07b48c2f8629cd461bd3900726548b6b8cfa2e14d6b7814fbb08f07a42f4f738407fa70b989928b2783a76b278505bba22 - languageName: node - linkType: hard - "get-stream@npm:^4.1.0": version: 4.1.0 resolution: "get-stream@npm:4.1.0" @@ -30581,16 +28036,6 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^9.0.0": - version: 9.0.1 - resolution: "get-stream@npm:9.0.1" - dependencies: - "@sec-ant/readable-stream": "npm:^0.4.1" - is-stream: "npm:^4.0.1" - checksum: 10c0/d70e73857f2eea1826ac570c3a912757dcfbe8a718a033fa0c23e12ac8e7d633195b01710e0559af574cbb5af101009b42df7b6f6b29ceec8dbdf7291931b948 - languageName: node - linkType: hard - "get-symbol-description@npm:^1.0.2": version: 1.0.2 resolution: "get-symbol-description@npm:1.0.2" @@ -30741,13 +28186,6 @@ __metadata: languageName: node linkType: hard -"github-markdown-css@npm:^5.7.0": - version: 5.7.0 - resolution: "github-markdown-css@npm:5.7.0" - checksum: 10c0/93e6050081dc52a4905830cbd520635ea7795ea7b7da2946b43140e10137ffd57c6bf25cce5b7f7fb9a37d15fe8b8fc25781a9e5e59178aefbc6026e40799ec5 - languageName: node - linkType: hard - "github-slugger@npm:^2.0.0": version: 2.0.0 resolution: "github-slugger@npm:2.0.0" @@ -31159,31 +28597,6 @@ __metadata: languageName: node linkType: hard -"graphql-config@npm:^5.1.1": - version: 5.1.3 - resolution: "graphql-config@npm:5.1.3" - dependencies: - "@graphql-tools/graphql-file-loader": "npm:^8.0.0" - "@graphql-tools/json-file-loader": "npm:^8.0.0" - "@graphql-tools/load": "npm:^8.0.0" - "@graphql-tools/merge": "npm:^9.0.0" - "@graphql-tools/url-loader": "npm:^8.0.0" - "@graphql-tools/utils": "npm:^10.0.0" - cosmiconfig: "npm:^8.1.0" - jiti: "npm:^2.0.0" - minimatch: "npm:^9.0.5" - string-env-interpolation: "npm:^1.0.1" - tslib: "npm:^2.4.0" - peerDependencies: - cosmiconfig-toml-loader: ^1.0.0 - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - peerDependenciesMeta: - cosmiconfig-toml-loader: - optional: true - checksum: 10c0/e1a1a665c35a6c01c7922f532aad098c2bea67354e33fbf78d631079fd51fd18fa32e0571dc098c50d22d554c43085afec8b634b29f788f140d17d2bde12c9a6 - languageName: node - linkType: hard - "graphql-import-node@npm:^0.0.5": version: 0.0.5 resolution: "graphql-import-node@npm:0.0.5" @@ -31209,18 +28622,6 @@ __metadata: languageName: node linkType: hard -"graphql-request@npm:^6.0.0": - version: 6.1.0 - resolution: "graphql-request@npm:6.1.0" - dependencies: - "@graphql-typed-document-node/core": "npm:^3.2.0" - cross-fetch: "npm:^3.1.5" - peerDependencies: - graphql: 14 - 16 - checksum: 10c0/f8167925a110e8e1de93d56c14245e7e64391dc8dce5002dd01bf24a3059f345d4ca1bb6ce2040e2ec78264211b0704e75da3e63984f0f74d2042f697a4e8cc6 - languageName: node - linkType: hard - "graphql-tag@npm:^2.11.0, graphql-tag@npm:^2.12.6": version: 2.12.6 resolution: "graphql-tag@npm:2.12.6" @@ -31241,7 +28642,7 @@ __metadata: languageName: node linkType: hard -"graphql-ws@npm:^5.12.1, graphql-ws@npm:^5.14.0": +"graphql-ws@npm:^5.12.1": version: 5.16.0 resolution: "graphql-ws@npm:5.16.0" peerDependencies: @@ -31516,22 +28917,6 @@ __metadata: languageName: node linkType: hard -"hast-util-from-parse5@npm:^8.0.0": - version: 8.0.1 - resolution: "hast-util-from-parse5@npm:8.0.1" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/unist": "npm:^3.0.0" - devlop: "npm:^1.0.0" - hastscript: "npm:^8.0.0" - property-information: "npm:^6.0.0" - vfile: "npm:^6.0.0" - vfile-location: "npm:^5.0.0" - web-namespaces: "npm:^2.0.0" - checksum: 10c0/4a30bb885cff1f0e023c429ae3ece73fe4b03386f07234bf23f5555ca087c2573ff4e551035b417ed7615bde559f394cdaf1db2b91c3b7f0575f3563cd238969 - languageName: node - linkType: hard - "hast-util-heading-rank@npm:^3.0.0": version: 3.0.0 resolution: "hast-util-heading-rank@npm:3.0.0" @@ -31557,74 +28942,6 @@ __metadata: languageName: node linkType: hard -"hast-util-parse-selector@npm:^4.0.0": - version: 4.0.0 - resolution: "hast-util-parse-selector@npm:4.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - checksum: 10c0/5e98168cb44470dc274aabf1a28317e4feb09b1eaf7a48bbaa8c1de1b43a89cd195cb1284e535698e658e3ec26ad91bc5e52c9563c36feb75abbc68aaf68fb9f - languageName: node - linkType: hard - -"hast-util-raw@npm:^9.0.0": - version: 9.0.4 - resolution: "hast-util-raw@npm:9.0.4" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/unist": "npm:^3.0.0" - "@ungap/structured-clone": "npm:^1.0.0" - hast-util-from-parse5: "npm:^8.0.0" - hast-util-to-parse5: "npm:^8.0.0" - html-void-elements: "npm:^3.0.0" - mdast-util-to-hast: "npm:^13.0.0" - parse5: "npm:^7.0.0" - unist-util-position: "npm:^5.0.0" - unist-util-visit: "npm:^5.0.0" - vfile: "npm:^6.0.0" - web-namespaces: "npm:^2.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/03d0fe7ba8bd75c9ce81f829650b19b78917bbe31db70d36bf6f136842496c3474e3bb1841f2d30dafe1f6b561a89a524185492b9a93d40b131000743c0d7998 - languageName: node - linkType: hard - -"hast-util-to-jsx-runtime@npm:^2.0.0": - version: 2.3.0 - resolution: "hast-util-to-jsx-runtime@npm:2.3.0" - dependencies: - "@types/estree": "npm:^1.0.0" - "@types/hast": "npm:^3.0.0" - "@types/unist": "npm:^3.0.0" - comma-separated-tokens: "npm:^2.0.0" - devlop: "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^3.0.0" - hast-util-whitespace: "npm:^3.0.0" - mdast-util-mdx-expression: "npm:^2.0.0" - mdast-util-mdx-jsx: "npm:^3.0.0" - mdast-util-mdxjs-esm: "npm:^2.0.0" - property-information: "npm:^6.0.0" - space-separated-tokens: "npm:^2.0.0" - style-to-object: "npm:^1.0.0" - unist-util-position: "npm:^5.0.0" - vfile-message: "npm:^4.0.0" - checksum: 10c0/df7a36dcc792df7667a54438f044b721753d5e09692606d23bf7336bf4651670111fe7728eebbf9f0e4f96ab3346a05bb23037fa1b1d115482b3bc5bde8b6912 - languageName: node - linkType: hard - -"hast-util-to-parse5@npm:^8.0.0": - version: 8.0.0 - resolution: "hast-util-to-parse5@npm:8.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - comma-separated-tokens: "npm:^2.0.0" - devlop: "npm:^1.0.0" - property-information: "npm:^6.0.0" - space-separated-tokens: "npm:^2.0.0" - web-namespaces: "npm:^2.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/3c0c7fba026e0c4be4675daf7277f9ff22ae6da801435f1b7104f7740de5422576f1c025023c7b3df1d0a161e13a04c6ab8f98ada96eb50adb287b537849a2bd - languageName: node - linkType: hard - "hast-util-to-string@npm:^3.0.0": version: 3.0.0 resolution: "hast-util-to-string@npm:3.0.0" @@ -31634,15 +28951,6 @@ __metadata: languageName: node linkType: hard -"hast-util-whitespace@npm:^3.0.0": - version: 3.0.0 - resolution: "hast-util-whitespace@npm:3.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - checksum: 10c0/b898bc9fe27884b272580d15260b6bbdabe239973a147e97fa98c45fa0ffec967a481aaa42291ec34fb56530dc2d484d473d7e2bae79f39c83f3762307edfea8 - languageName: node - linkType: hard - "hastscript@npm:^6.0.0": version: 6.0.0 resolution: "hastscript@npm:6.0.0" @@ -31656,19 +28964,6 @@ __metadata: languageName: node linkType: hard -"hastscript@npm:^8.0.0": - version: 8.0.0 - resolution: "hastscript@npm:8.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - comma-separated-tokens: "npm:^2.0.0" - hast-util-parse-selector: "npm:^4.0.0" - property-information: "npm:^6.0.0" - space-separated-tokens: "npm:^2.0.0" - checksum: 10c0/f0b54bbdd710854b71c0f044612db0fe1b5e4d74fa2001633dc8c535c26033269f04f536f9fd5b03f234de1111808f9e230e9d19493bf919432bb24d541719e0 - languageName: node - linkType: hard - "he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" @@ -31826,18 +29121,6 @@ __metadata: languageName: node linkType: hard -"html-loader@npm:^5.1.0": - version: 5.1.0 - resolution: "html-loader@npm:5.1.0" - dependencies: - html-minifier-terser: "npm:^7.2.0" - parse5: "npm:^7.1.2" - peerDependencies: - webpack: ^5.0.0 - checksum: 10c0/23fc23f08206d70e9d0bd3d0107524a3a37fd220f951e01de74ac9a5d5fed41d51517170545801dca5762bb3b60853482ec026c72e34d2bca16e7a3ab994f03c - languageName: node - linkType: hard - "html-minifier-terser@npm:^6.0.2": version: 6.1.0 resolution: "html-minifier-terser@npm:6.1.0" @@ -31855,23 +29138,6 @@ __metadata: languageName: node linkType: hard -"html-minifier-terser@npm:^7.2.0": - version: 7.2.0 - resolution: "html-minifier-terser@npm:7.2.0" - dependencies: - camel-case: "npm:^4.1.2" - clean-css: "npm:~5.3.2" - commander: "npm:^10.0.0" - entities: "npm:^4.4.0" - param-case: "npm:^3.0.4" - relateurl: "npm:^0.2.7" - terser: "npm:^5.15.1" - bin: - html-minifier-terser: cli.js - checksum: 10c0/ffc97c17299d9ec30e17269781b816ea2fc411a9206fc9e768be8f2decb1ea1470892809babb23bb4e3ab1f64d606d97e1803bf526ae3af71edc0fd3070b94b9 - languageName: node - linkType: hard - "html-tags@npm:^3.1.0": version: 3.3.1 resolution: "html-tags@npm:3.3.1" @@ -31879,20 +29145,6 @@ __metadata: languageName: node linkType: hard -"html-url-attributes@npm:^3.0.0": - version: 3.0.0 - resolution: "html-url-attributes@npm:3.0.0" - checksum: 10c0/af300ae1f3b9cf90aba0d95a165c3f4066ec2b3ee2f36a885a8d842e68675e4133896b00bde42d18ac799d0ce678fa1695baec3f865b01a628922d737c0d035c - languageName: node - linkType: hard - -"html-void-elements@npm:^3.0.0": - version: 3.0.0 - resolution: "html-void-elements@npm:3.0.0" - checksum: 10c0/a8b9ec5db23b7c8053876dad73a0336183e6162bf6d2677376d8b38d654fdc59ba74fdd12f8812688f7db6fad451210c91b300e472afc0909224e0a44c8610d2 - languageName: node - linkType: hard - "html-webpack-plugin@npm:^5.5.0": version: 5.6.0 resolution: "html-webpack-plugin@npm:5.6.0" @@ -31914,27 +29166,6 @@ __metadata: languageName: node linkType: hard -"html-webpack-plugin@npm:^5.6.3": - version: 5.6.3 - resolution: "html-webpack-plugin@npm:5.6.3" - dependencies: - "@types/html-minifier-terser": "npm:^6.0.0" - html-minifier-terser: "npm:^6.0.2" - lodash: "npm:^4.17.21" - pretty-error: "npm:^4.0.0" - tapable: "npm:^2.0.0" - peerDependencies: - "@rspack/core": 0.x || 1.x - webpack: ^5.20.0 - peerDependenciesMeta: - "@rspack/core": - optional: true - webpack: - optional: true - checksum: 10c0/25a21f83a8823d3711396dd8050bc0080c0ae55537352d432903eff58a7d9838fc811e3c26462419036190720357e67c7977efd106fb9a252770632824f0cc25 - languageName: node - linkType: hard - "htmlparser2@npm:^6.1.0": version: 6.1.0 resolution: "htmlparser2@npm:6.1.0" @@ -32023,17 +29254,6 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^5.0.0": - version: 5.0.0 - resolution: "http-proxy-agent@npm:5.0.0" - dependencies: - "@tootallnate/once": "npm:2" - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/32a05e413430b2c1e542e5c74b38a9f14865301dd69dff2e53ddb684989440e3d2ce0c4b64d25eb63cf6283e6265ff979a61cf93e3ca3d23047ddfdc8df34a32 - languageName: node - linkType: hard - "http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" @@ -32184,7 +29404,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:7.0.5, https-proxy-agent@npm:^7.0.0, https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": +"https-proxy-agent@npm:7.0.5, https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": version: 7.0.5 resolution: "https-proxy-agent@npm:7.0.5" dependencies: @@ -32194,7 +29414,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^5.0.0, https-proxy-agent@npm:^5.0.1": +"https-proxy-agent@npm:^5.0.0": version: 5.0.1 resolution: "https-proxy-agent@npm:5.0.1" dependencies: @@ -32232,13 +29452,6 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^8.0.0": - version: 8.0.0 - resolution: "human-signals@npm:8.0.0" - checksum: 10c0/e4dac4f7d3eb791ed04129fc6a85bd454a9102d3e3b76c911d0db7057ebd60b2956b435b5b5712aec18960488ede3c21ef7c56e42cdd70760c0d84d3c05cd92e - languageName: node - linkType: hard - "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -32248,15 +29461,6 @@ __metadata: languageName: node linkType: hard -"husky@npm:^9.1.6": - version: 9.1.6 - resolution: "husky@npm:9.1.6" - bin: - husky: bin.js - checksum: 10c0/705673db4a247c1febd9c5df5f6a3519106cf0335845027bb50a15fba9b1f542cb2610932ede96fd08008f6d9f49db0f15560509861808b0031cdc0e7c798bac - languageName: node - linkType: hard - "hyperdyperid@npm:^1.2.0": version: 1.2.0 resolution: "hyperdyperid@npm:1.2.0" @@ -32526,13 +29730,6 @@ __metadata: languageName: node linkType: hard -"inline-style-parser@npm:0.2.3": - version: 0.2.3 - resolution: "inline-style-parser@npm:0.2.3" - checksum: 10c0/21b46d39a39c8aeaa738346650469388e8a412dd276ab75aa3d85b1883311e89c86a1fdbb8c2f1958f4c979bae74067f6ba0385455b125faf4fa77e1dbb94799 - languageName: node - linkType: hard - "inquirer-autocomplete-prompt@npm:1.4.0": version: 1.4.0 resolution: "inquirer-autocomplete-prompt@npm:1.4.0" @@ -32592,26 +29789,6 @@ __metadata: languageName: node linkType: hard -"inquirer@npm:^9.2.15": - version: 9.3.6 - resolution: "inquirer@npm:9.3.6" - dependencies: - "@inquirer/figures": "npm:^1.0.3" - ansi-escapes: "npm:^4.3.2" - cli-width: "npm:^4.1.0" - external-editor: "npm:^3.1.0" - mute-stream: "npm:1.0.0" - ora: "npm:^5.4.1" - run-async: "npm:^3.0.0" - rxjs: "npm:^7.8.1" - string-width: "npm:^4.2.3" - strip-ansi: "npm:^6.0.1" - wrap-ansi: "npm:^6.2.0" - yoctocolors-cjs: "npm:^2.1.2" - checksum: 10c0/29625ffc98979a862d3db1d006464526e1dd9f62f0aae68ab0231af56a193cbdc7f90d6222541e1dcf1ff1d3c1d36e33883f314b67bb731fd68a7b18999ef6e3 - languageName: node - linkType: hard - "inspect-with-kind@npm:^1.0.5": version: 1.0.5 resolution: "inspect-with-kind@npm:1.0.5" @@ -32743,13 +29920,6 @@ __metadata: languageName: node linkType: hard -"is-alphabetical@npm:^2.0.0": - version: 2.0.1 - resolution: "is-alphabetical@npm:2.0.1" - checksum: 10c0/932367456f17237533fd1fc9fe179df77957271020b83ea31da50e5cc472d35ef6b5fb8147453274ffd251134472ce24eb6f8d8398d96dee98237cdb81a6c9a7 - languageName: node - linkType: hard - "is-alphanumerical@npm:^1.0.0": version: 1.0.4 resolution: "is-alphanumerical@npm:1.0.4" @@ -32760,16 +29930,6 @@ __metadata: languageName: node linkType: hard -"is-alphanumerical@npm:^2.0.0": - version: 2.0.1 - resolution: "is-alphanumerical@npm:2.0.1" - dependencies: - is-alphabetical: "npm:^2.0.0" - is-decimal: "npm:^2.0.0" - checksum: 10c0/4b35c42b18e40d41378293f82a3ecd9de77049b476f748db5697c297f686e1e05b072a6aaae2d16f54d2a57f85b00cbbe755c75f6d583d1c77d6657bd0feb5a2 - languageName: node - linkType: hard - "is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" @@ -32929,13 +30089,6 @@ __metadata: languageName: node linkType: hard -"is-decimal@npm:^2.0.0": - version: 2.0.1 - resolution: "is-decimal@npm:2.0.1" - checksum: 10c0/8085dd66f7d82f9de818fba48b9e9c0429cb4291824e6c5f2622e96b9680b54a07a624cfc663b24148b8e853c62a1c987cfe8b0b5a13f5156991afaf6736e334 - languageName: node - linkType: hard - "is-docker@npm:3.0.0, is-docker@npm:^3.0.0": version: 3.0.0 resolution: "is-docker@npm:3.0.0" @@ -33023,7 +30176,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:4.0.3, is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -33046,13 +30199,6 @@ __metadata: languageName: node linkType: hard -"is-hexadecimal@npm:^2.0.0": - version: 2.0.1 - resolution: "is-hexadecimal@npm:2.0.1" - checksum: 10c0/3eb60fe2f1e2bbc760b927dcad4d51eaa0c60138cf7fc671803f66353ad90c301605b502c7ea4c6bb0548e1c7e79dfd37b73b632652e3b76030bba603a7e9626 - languageName: node - linkType: hard - "is-in-ci@npm:^1.0.0": version: 1.0.0 resolution: "is-in-ci@npm:1.0.0" @@ -33335,20 +30481,13 @@ __metadata: languageName: node linkType: hard -"is-stream@npm:4.0.1, is-stream@npm:^4.0.1": +"is-stream@npm:4.0.1": version: 4.0.1 resolution: "is-stream@npm:4.0.1" checksum: 10c0/2706c7f19b851327ba374687bc4a3940805e14ca496dc672b9629e744d143b1ad9c6f1b162dece81c7bfbc0f83b32b61ccc19ad2e05aad2dd7af347408f60c7f languageName: node linkType: hard -"is-stream@npm:^1.1.0": - version: 1.1.0 - resolution: "is-stream@npm:1.1.0" - checksum: 10c0/b8ae7971e78d2e8488d15f804229c6eed7ed36a28f8807a1815938771f4adff0e705218b7dab968270433f67103e4fef98062a0beea55d64835f705ee72c7002 - languageName: node - linkType: hard - "is-stream@npm:^2.0.0, is-stream@npm:^2.0.1": version: 2.0.1 resolution: "is-stream@npm:2.0.1" @@ -33926,27 +31065,6 @@ __metadata: languageName: node linkType: hard -"jest-environment-jsdom@npm:29.7.0": - version: 29.7.0 - resolution: "jest-environment-jsdom@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/jsdom": "npm:^20.0.0" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jsdom: "npm:^20.0.0" - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 10c0/139b94e2c8ec1bb5a46ce17df5211da65ce867354b3fd4e00fa6a0d1da95902df4cf7881273fc6ea937e5c325d39d6773f0d41b6c469363334de9d489d2c321f - languageName: node - linkType: hard - "jest-environment-node@npm:^29.7.0": version: 29.7.0 resolution: "jest-environment-node@npm:29.7.0" @@ -34281,7 +31399,7 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^1.17.1, jiti@npm:^1.19.1, jiti@npm:^1.20.0, jiti@npm:^1.21.0": +"jiti@npm:^1.19.1, jiti@npm:^1.20.0, jiti@npm:^1.21.0": version: 1.21.6 resolution: "jiti@npm:1.21.6" bin: @@ -34290,15 +31408,6 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^2.0.0": - version: 2.3.3 - resolution: "jiti@npm:2.3.3" - bin: - jiti: lib/jiti-cli.mjs - checksum: 10c0/d71e40fb3c359cddafa2a6a03aea7e5e3a571aedeb5bec7627d5bc67c1e66c6275be5c03b4e0b10cd22cde9d39c892f27f6598a4e63bde030b607efc5051fd7f - languageName: node - linkType: hard - "jju@npm:~1.4.0": version: 1.4.0 resolution: "jju@npm:1.4.0" @@ -34306,13 +31415,6 @@ __metadata: languageName: node linkType: hard -"jose@npm:^5.0.0": - version: 5.8.0 - resolution: "jose@npm:5.8.0" - checksum: 10c0/f4dba1bbc41c46ae549840c3f99db07e72c1a191dffeef46bbd81c5fdc01827bb4be4d9f3e77d37887ffb56c57bd276e5fde314e6e790db19809008e47004c48 - languageName: node - linkType: hard - "js-cleanup@npm:^1.2.0": version: 1.2.0 resolution: "js-cleanup@npm:1.2.0" @@ -34396,45 +31498,6 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^20.0.0": - version: 20.0.3 - resolution: "jsdom@npm:20.0.3" - dependencies: - abab: "npm:^2.0.6" - acorn: "npm:^8.8.1" - acorn-globals: "npm:^7.0.0" - cssom: "npm:^0.5.0" - cssstyle: "npm:^2.3.0" - data-urls: "npm:^3.0.2" - decimal.js: "npm:^10.4.2" - domexception: "npm:^4.0.0" - escodegen: "npm:^2.0.0" - form-data: "npm:^4.0.0" - html-encoding-sniffer: "npm:^3.0.0" - http-proxy-agent: "npm:^5.0.0" - https-proxy-agent: "npm:^5.0.1" - is-potential-custom-element-name: "npm:^1.0.1" - nwsapi: "npm:^2.2.2" - parse5: "npm:^7.1.1" - saxes: "npm:^6.0.0" - symbol-tree: "npm:^3.2.4" - tough-cookie: "npm:^4.1.2" - w3c-xmlserializer: "npm:^4.0.0" - webidl-conversions: "npm:^7.0.0" - whatwg-encoding: "npm:^2.0.0" - whatwg-mimetype: "npm:^3.0.0" - whatwg-url: "npm:^11.0.0" - ws: "npm:^8.11.0" - xml-name-validator: "npm:^4.0.0" - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 10c0/b109073bb826a966db7828f46cb1d7371abecd30f182b143c52be5fe1ed84513bbbe995eb3d157241681fcd18331381e61e3dc004d4949f3a63bca02f6214902 - languageName: node - linkType: hard - "jsdom@npm:^24.0.0, jsdom@npm:~24.1.3": version: 24.1.3 resolution: "jsdom@npm:24.1.3" @@ -34478,7 +31541,7 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^3.0.2, jsesc@npm:~3.0.2": +"jsesc@npm:^3.0.2": version: 3.0.2 resolution: "jsesc@npm:3.0.2" bin: @@ -34517,13 +31580,6 @@ __metadata: languageName: node linkType: hard -"json-parse-better-errors@npm:^1.0.2": - version: 1.0.2 - resolution: "json-parse-better-errors@npm:1.0.2" - checksum: 10c0/2f1287a7c833e397c9ddd361a78638e828fc523038bb3441fd4fc144cfd2c6cd4963ffb9e207e648cf7b692600f1e1e524e965c32df5152120910e4903a47dcb - languageName: node - linkType: hard - "json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" @@ -34612,16 +31668,6 @@ __metadata: languageName: node linkType: hard -"json-to-pretty-yaml@npm:^1.2.2": - version: 1.2.2 - resolution: "json-to-pretty-yaml@npm:1.2.2" - dependencies: - remedial: "npm:^1.0.7" - remove-trailing-spaces: "npm:^1.0.6" - checksum: 10c0/d28891860a7ae034873ac8ec5f69f5493106afed9a86295f1642a40b27a48df717c63966439a1dec5b8a4b30e99b86cd1b4ca7d979bb8048ffd7f7c67bfd88a3 - languageName: node - linkType: hard - "json5@npm:^1.0.2": version: 1.0.2 resolution: "json5@npm:1.0.2" @@ -35303,27 +32349,6 @@ __metadata: languageName: node linkType: hard -"listr2@npm:^4.0.5": - version: 4.0.5 - resolution: "listr2@npm:4.0.5" - dependencies: - cli-truncate: "npm:^2.1.0" - colorette: "npm:^2.0.16" - log-update: "npm:^4.0.0" - p-map: "npm:^4.0.0" - rfdc: "npm:^1.3.0" - rxjs: "npm:^7.5.5" - through: "npm:^2.3.8" - wrap-ansi: "npm:^7.0.0" - peerDependencies: - enquirer: ">= 2.3.0 < 3" - peerDependenciesMeta: - enquirer: - optional: true - checksum: 10c0/0e64dc5e66fbd4361f6b35c49489ed842a1d7de30cf2b5c06bf4569669449288698b8ea93f7842aaf3c510963a1e554bca31376b9054d1521445d1ce4c917ea1 - languageName: node - linkType: hard - "lit-element@npm:^3.3.0": version: 3.3.3 resolution: "lit-element@npm:3.3.3" @@ -35367,7 +32392,7 @@ __metadata: languageName: node linkType: hard -"loader-runner@npm:^4.1.0, loader-runner@npm:^4.2.0": +"loader-runner@npm:^4.2.0": version: 4.3.0 resolution: "loader-runner@npm:4.3.0" checksum: 10c0/a44d78aae0907a72f73966fe8b82d1439c8c485238bd5a864b1b9a2a3257832effa858790241e6b37876b5446a78889adf2fcc8dd897ce54c089ecc0a0ce0bf0 @@ -35588,13 +32613,6 @@ __metadata: languageName: node linkType: hard -"lodash.sortby@npm:^4.7.0": - version: 4.7.0 - resolution: "lodash.sortby@npm:4.7.0" - checksum: 10c0/fc48fb54ff7669f33bb32997cab9460757ee99fafaf72400b261c3e10fde21538e47d8cfcbe6a25a31bcb5b7b727c27d52626386fc2de24eb059a6d64a89cdf5 - languageName: node - linkType: hard - "lodash.startcase@npm:^4.4.0": version: 4.4.0 resolution: "lodash.startcase@npm:4.4.0" @@ -35772,25 +32790,6 @@ __metadata: languageName: node linkType: hard -"lottie-react@npm:^2.4.0": - version: 2.4.0 - resolution: "lottie-react@npm:2.4.0" - dependencies: - lottie-web: "npm:^5.10.2" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/5c0ef3f1832b21232fe6826cc021cd90bb0e3c9d63f1047031ce77a0992092f8712b6f3a6aeeaa0f410d918ca557df160b1c776399f69b498c560273767befe0 - languageName: node - linkType: hard - -"lottie-web@npm:^5.10.2": - version: 5.12.2 - resolution: "lottie-web@npm:5.12.2" - checksum: 10c0/0aeaf631b10a76afd025df70c2a1486543530708e07a316946c08e55891dac483ffbaf2bf3648ae0b9c54c733118a0a086fd150aa76f7848606214c67ad72c30 - languageName: node - linkType: hard - "loupe@npm:^2.3.6": version: 2.3.7 resolution: "loupe@npm:2.3.7" @@ -35863,16 +32862,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^4.0.1": - version: 4.1.5 - resolution: "lru-cache@npm:4.1.5" - dependencies: - pseudomap: "npm:^1.0.2" - yallist: "npm:^2.1.2" - checksum: 10c0/1ca5306814e5add9ec63556d6fd9b24a4ecdeaef8e9cea52cbf30301e6b88c8d8ddc7cab45b59b56eb763e6c45af911585dc89925a074ab65e1502e3fe8103cf - languageName: node - linkType: hard - "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -36081,17 +33070,6 @@ __metadata: languageName: node linkType: hard -"markdown-loader@npm:^8.0.0": - version: 8.0.0 - resolution: "markdown-loader@npm:8.0.0" - dependencies: - marked: "npm:^4.0.12" - peerDependencies: - webpack: ^5.0.0 - checksum: 10c0/345d0eb2558a08bd49ab6fcd7e0ced9b6b6d906523dd60e35630176a2ac723bb89b6c85ee386cad959e19d8b5219276d84e45c8b2a26fd9c0bd18176293691b9 - languageName: node - linkType: hard - "markdown-table@npm:^3.0.0": version: 3.0.3 resolution: "markdown-table@npm:3.0.3" @@ -36108,15 +33086,6 @@ __metadata: languageName: node linkType: hard -"marked@npm:^4.0.12": - version: 4.3.0 - resolution: "marked@npm:4.3.0" - bin: - marked: bin/marked.js - checksum: 10c0/0013463855e31b9c88d8bb2891a611d10ef1dc79f2e3cbff1bf71ba389e04c5971298c886af0be799d7fa9aa4593b086a136062d59f1210b0480b026a8c5dc47 - languageName: node - linkType: hard - "maxstache-stream@npm:1.0.4": version: 1.0.4 resolution: "maxstache-stream@npm:1.0.4" @@ -36265,54 +33234,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-mdx-expression@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-mdx-expression@npm:2.0.0" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - devlop: "npm:^1.0.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - checksum: 10c0/512848cbc44b9dc7cffc1bb3f95f7e67f0d6562870e56a67d25647f475d411e136b915ba417c8069fb36eac1839d0209fb05fb323d377f35626a82fcb0879363 - languageName: node - linkType: hard - -"mdast-util-mdx-jsx@npm:^3.0.0": - version: 3.1.3 - resolution: "mdast-util-mdx-jsx@npm:3.1.3" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - "@types/unist": "npm:^3.0.0" - ccount: "npm:^2.0.0" - devlop: "npm:^1.1.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - parse-entities: "npm:^4.0.0" - stringify-entities: "npm:^4.0.0" - unist-util-stringify-position: "npm:^4.0.0" - vfile-message: "npm:^4.0.0" - checksum: 10c0/1b0b64215efbbbb1ee9ba2a2b3e5f11859dada7dff162949a0d503aefbd75c0308f17d404df126c54acea06d2224905915b2cac2e6c999514c919bd963b8de24 - languageName: node - linkType: hard - -"mdast-util-mdxjs-esm@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-mdxjs-esm@npm:2.0.1" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - devlop: "npm:^1.0.0" - mdast-util-from-markdown: "npm:^2.0.0" - mdast-util-to-markdown: "npm:^2.0.0" - checksum: 10c0/5bda92fc154141705af2b804a534d891f28dac6273186edf1a4c5e3f045d5b01dbcac7400d27aaf91b7e76e8dce007c7b2fdf136c11ea78206ad00bdf9db46bc - languageName: node - linkType: hard - "mdast-util-phrasing@npm:^4.0.0": version: 4.1.0 resolution: "mdast-util-phrasing@npm:4.1.0" @@ -36323,23 +33244,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-hast@npm:^13.0.0": - version: 13.2.0 - resolution: "mdast-util-to-hast@npm:13.2.0" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - "@ungap/structured-clone": "npm:^1.0.0" - devlop: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^2.0.0" - trim-lines: "npm:^3.0.0" - unist-util-position: "npm:^5.0.0" - unist-util-visit: "npm:^5.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/9ee58def9287df8350cbb6f83ced90f9c088d72d4153780ad37854f87144cadc6f27b20347073b285173b1649b0723ddf0b9c78158608a804dcacb6bda6e1816 - languageName: node - linkType: hard - "mdast-util-to-markdown@npm:^2.0.0": version: 2.1.0 resolution: "mdast-util-to-markdown@npm:2.1.0" @@ -36964,18 +33868,6 @@ __metadata: languageName: node linkType: hard -"mini-css-extract-plugin@npm:^2.9.1": - version: 2.9.1 - resolution: "mini-css-extract-plugin@npm:2.9.1" - dependencies: - schema-utils: "npm:^4.0.0" - tapable: "npm:^2.2.1" - peerDependencies: - webpack: ^5.0.0 - checksum: 10c0/19361902ef028b9875aafa3931d99643c2d95824ba343a501c83ff61d069a430fcfc523ca796765798b564570da2199f5a28cd51b9528ddbcfdc9271c61400d0 - languageName: node - linkType: hard - "mini-css-extract-plugin@npm:~2.4.7": version: 2.4.7 resolution: "mini-css-extract-plugin@npm:2.4.7" @@ -37046,7 +33938,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0, minimatch@npm:^9.0.1, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.1, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -37501,13 +34393,6 @@ __metadata: languageName: node linkType: hard -"mute-stream@npm:1.0.0": - version: 1.0.0 - resolution: "mute-stream@npm:1.0.0" - checksum: 10c0/dce2a9ccda171ec979a3b4f869a102b1343dee35e920146776780de182f16eae459644d187e38d59a3d37adf85685e1c17c38cf7bfda7e39a9880f7a1d10a74c - languageName: node - linkType: hard - "mz@npm:^2.7.0": version: 2.7.0 resolution: "mz@npm:2.7.0" @@ -37792,31 +34677,6 @@ __metadata: languageName: node linkType: hard -"neverthrow@npm:^8.1.1": - version: 8.1.1 - resolution: "neverthrow@npm:8.1.1" - dependencies: - "@rollup/rollup-linux-x64-gnu": "npm:^4.24.0" - dependenciesMeta: - "@rollup/rollup-linux-x64-gnu": - optional: true - checksum: 10c0/25be561ccf2b551ee811825a2d5525d503c8695f3e76d1b573cf2924faca010d308bfa48cecc2dcad867c6d980b7f1a028aaabf1d06d619a776aa0c239ecf03f - languageName: node - linkType: hard - -"next-query-params@npm:^5.0.1": - version: 5.0.1 - resolution: "next-query-params@npm:5.0.1" - dependencies: - tslib: "npm:^2.0.3" - peerDependencies: - next: ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - use-query-params: ^2.0.0 - checksum: 10c0/011fa6151954da5860d578290bdd785aea1e73d708cf0a6dde5e52000b478b9bf5b67e3ac436e41fc6be625e4f2bae592d695e013b7fec7f54e5eb345d2172c4 - languageName: node - linkType: hard - "next-secure-headers@npm:^2.2.0": version: 2.2.0 resolution: "next-secure-headers@npm:2.2.0" @@ -37824,17 +34684,6 @@ __metadata: languageName: node linkType: hard -"next-seo@npm:^6.6.0": - version: 6.6.0 - resolution: "next-seo@npm:6.6.0" - peerDependencies: - next: ^8.1.1-canary.54 || >=9.0.0 - react: ">=16.0.0" - react-dom: ">=16.0.0" - checksum: 10c0/60eff5b6fdd83306d26968dfc23b5df502bf014b771b0910bf6cfec944de6f262d7d872ae3155717a31a1dd51ae48db007ce4c0f78f8b435deff37bdc63beb76 - languageName: node - linkType: hard - "next-themes@npm:^0.3.0": version: 0.3.0 resolution: "next-themes@npm:0.3.0" @@ -37910,17 +34759,6 @@ __metadata: languageName: node linkType: hard -"nice-napi@npm:^1.0.2": - version: 1.0.2 - resolution: "nice-napi@npm:1.0.2" - dependencies: - node-addon-api: "npm:^3.0.0" - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.2.2" - conditions: "!os=win32" - languageName: node - linkType: hard - "nice-try@npm:^1.0.4": version: 1.0.5 resolution: "nice-try@npm:1.0.5" @@ -38329,15 +35167,6 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^2.0.0": - version: 2.0.2 - resolution: "npm-run-path@npm:2.0.2" - dependencies: - path-key: "npm:^2.0.0" - checksum: 10c0/95549a477886f48346568c97b08c4fda9cdbf7ce8a4fbc2213f36896d0d19249e32d68d7451bdcbca8041b5fba04a6b2c4a618beaf19849505c05b700740f1de - languageName: node - linkType: hard - "npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" @@ -38356,16 +35185,6 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^6.0.0": - version: 6.0.0 - resolution: "npm-run-path@npm:6.0.0" - dependencies: - path-key: "npm:^4.0.0" - unicorn-magic: "npm:^0.3.0" - checksum: 10c0/b223c8a0dcd608abf95363ea5c3c0ccc3cd877daf0102eaf1b0f2390d6858d8337fbb7c443af2403b067a7d2c116d10691ecd22ab3c5273c44da1ff8d07753bd - languageName: node - linkType: hard - "npmlog@npm:^5.0.1": version: 5.0.1 resolution: "npmlog@npm:5.0.1" @@ -38387,18 +35206,6 @@ __metadata: languageName: node linkType: hard -"null-loader@npm:^4.0.1": - version: 4.0.1 - resolution: "null-loader@npm:4.0.1" - dependencies: - loader-utils: "npm:^2.0.0" - schema-utils: "npm:^3.0.0" - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: 10c0/fe9a74a928c9ddc1eab7be0e4322516439562d6efd6feeb0f7c61777d4b79a6a8e5a6bc8133deb59408f3f423bdf84c154a88168154a583154e9e33d544b4d42 - languageName: node - linkType: hard - "nullthrows@npm:^1.1.1": version: 1.1.1 resolution: "nullthrows@npm:1.1.1" @@ -38446,7 +35253,7 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.2.12, nwsapi@npm:^2.2.2": +"nwsapi@npm:^2.2.12": version: 2.2.12 resolution: "nwsapi@npm:2.2.12" checksum: 10c0/95e9623d63df111405503df8c5d800e26f71675d319e2c9c70cddfa31e5ace1d3f8b6d98d354544fc156a1506d920ec291e303fab761e4f99296868e199a466e @@ -38969,15 +35776,6 @@ __metadata: languageName: node linkType: hard -"os-filter-obj@npm:^2.0.0": - version: 2.0.0 - resolution: "os-filter-obj@npm:2.0.0" - dependencies: - arch: "npm:^2.1.0" - checksum: 10c0/2734dcef67dfa027b3aeb8c721893c9c97b4d261efebd2a8469330d8b62ccaae072599aef0d3037bf285385fa14fb745f2e6d6958805924bb008031691cc7253 - languageName: node - linkType: hard - "os-name@npm:^5.0.0": version: 5.1.0 resolution: "os-name@npm:5.1.0" @@ -39002,48 +35800,6 @@ __metadata: languageName: node linkType: hard -"oxc-resolver@npm:^1.10.2": - version: 1.11.0 - resolution: "oxc-resolver@npm:1.11.0" - dependencies: - "@oxc-resolver/binding-darwin-arm64": "npm:1.11.0" - "@oxc-resolver/binding-darwin-x64": "npm:1.11.0" - "@oxc-resolver/binding-freebsd-x64": "npm:1.11.0" - "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:1.11.0" - "@oxc-resolver/binding-linux-arm64-gnu": "npm:1.11.0" - "@oxc-resolver/binding-linux-arm64-musl": "npm:1.11.0" - "@oxc-resolver/binding-linux-x64-gnu": "npm:1.11.0" - "@oxc-resolver/binding-linux-x64-musl": "npm:1.11.0" - "@oxc-resolver/binding-wasm32-wasi": "npm:1.11.0" - "@oxc-resolver/binding-win32-arm64-msvc": "npm:1.11.0" - "@oxc-resolver/binding-win32-x64-msvc": "npm:1.11.0" - dependenciesMeta: - "@oxc-resolver/binding-darwin-arm64": - optional: true - "@oxc-resolver/binding-darwin-x64": - optional: true - "@oxc-resolver/binding-freebsd-x64": - optional: true - "@oxc-resolver/binding-linux-arm-gnueabihf": - optional: true - "@oxc-resolver/binding-linux-arm64-gnu": - optional: true - "@oxc-resolver/binding-linux-arm64-musl": - optional: true - "@oxc-resolver/binding-linux-x64-gnu": - optional: true - "@oxc-resolver/binding-linux-x64-musl": - optional: true - "@oxc-resolver/binding-wasm32-wasi": - optional: true - "@oxc-resolver/binding-win32-arm64-msvc": - optional: true - "@oxc-resolver/binding-win32-x64-msvc": - optional: true - checksum: 10c0/371a370cb1c68d48601aab519bfa41fd36dcd28ec8c3225f934f576efb9977b16e0eb2e5ee35783bf205faa2218ae08c34ffb61b31234ec8505545715364afe4 - languageName: node - linkType: hard - "p-cancelable@npm:^1.0.0": version: 1.1.0 resolution: "p-cancelable@npm:1.1.0" @@ -39408,22 +36164,6 @@ __metadata: languageName: node linkType: hard -"parse-entities@npm:^4.0.0": - version: 4.0.1 - resolution: "parse-entities@npm:4.0.1" - dependencies: - "@types/unist": "npm:^2.0.0" - character-entities: "npm:^2.0.0" - character-entities-legacy: "npm:^3.0.0" - character-reference-invalid: "npm:^2.0.0" - decode-named-character-reference: "npm:^1.0.0" - is-alphanumerical: "npm:^2.0.0" - is-decimal: "npm:^2.0.0" - is-hexadecimal: "npm:^2.0.0" - checksum: 10c0/9dfa3b0dc43a913c2558c4bd625b1abcc2d6c6b38aa5724b141ed988471977248f7ad234eed57e1bc70b694dd15b0d710a04f66c2f7c096e35abd91962b7d926 - languageName: node - linkType: hard - "parse-filepath@npm:^1.0.2": version: 1.0.2 resolution: "parse-filepath@npm:1.0.2" @@ -39495,13 +36235,6 @@ __metadata: languageName: node linkType: hard -"parse-ms@npm:^4.0.0": - version: 4.0.0 - resolution: "parse-ms@npm:4.0.0" - checksum: 10c0/a7900f4f1ebac24cbf5e9708c16fb2fd482517fad353aecd7aefb8c2ba2f85ce017913ccb8925d231770404780df46244ea6fec598b3bde6490882358b4d2d16 - languageName: node - linkType: hard - "parse-node-version@npm:^1.0.1": version: 1.0.1 resolution: "parse-node-version@npm:1.0.1" @@ -39523,7 +36256,7 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^7.0.0, parse5@npm:^7.1.1, parse5@npm:^7.1.2": +"parse5@npm:^7.1.2": version: 7.1.2 resolution: "parse5@npm:7.1.2" dependencies: @@ -39625,7 +36358,7 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^2.0.0, path-key@npm:^2.0.1": +"path-key@npm:^2.0.1": version: 2.0.1 resolution: "path-key@npm:2.0.1" checksum: 10c0/dd2044f029a8e58ac31d2bf34c34b93c3095c1481942960e84dd2faa95bbb71b9b762a106aead0646695330936414b31ca0bd862bf488a937ad17c8c5d73b32b @@ -39945,18 +36678,6 @@ __metadata: languageName: node linkType: hard -"piscina@npm:^4.3.0": - version: 4.6.1 - resolution: "piscina@npm:4.6.1" - dependencies: - nice-napi: "npm:^1.0.2" - dependenciesMeta: - nice-napi: - optional: true - checksum: 10c0/2225fb42806f8d72bf09f2528bd65721b440dcc63ece957a9542a28b3b958be353dc48802fb11a8af66fdfd28a419300ed28e04573b8bf420e6dcfe63d6f58b5 - languageName: node - linkType: hard - "pkg-dir@npm:^3.0.0": version: 3.0.0 resolution: "pkg-dir@npm:3.0.0" @@ -41493,15 +38214,6 @@ __metadata: languageName: node linkType: hard -"pretty-ms@npm:^9.0.0": - version: 9.1.0 - resolution: "pretty-ms@npm:9.1.0" - dependencies: - parse-ms: "npm:^4.0.0" - checksum: 10c0/fd111aad8800a04dfd654e6016da69bdaa6fc6a4c280f8e727cffd8b5960558e94942f1a94d4aa6e4d179561a0fbb0366a9ebe0ccefbbb0f8ff853b129cdefb9 - languageName: node - linkType: hard - "prettyjson@npm:1.2.5": version: 1.2.5 resolution: "prettyjson@npm:1.2.5" @@ -41643,13 +38355,6 @@ __metadata: languageName: node linkType: hard -"property-information@npm:^6.0.0": - version: 6.5.0 - resolution: "property-information@npm:6.5.0" - checksum: 10c0/981e0f9cc2e5acdb414a6fd48a99dd0fd3a4079e7a91ab41cf97a8534cf43e0e0bc1ffada6602a1b3d047a33db8b5fc2ef46d863507eda712d5ceedac443f0ef - languageName: node - linkType: hard - "proto-list@npm:~1.2.1": version: 1.2.4 resolution: "proto-list@npm:1.2.4" @@ -41726,13 +38431,6 @@ __metadata: languageName: node linkType: hard -"pseudomap@npm:^1.0.2": - version: 1.0.2 - resolution: "pseudomap@npm:1.0.2" - checksum: 10c0/5a91ce114c64ed3a6a553aa7d2943868811377388bb31447f9d8028271bae9b05b340fe0b6961a64e45b9c72946aeb0a4ab635e8f7cb3715ffd0ff2beeb6a679 - languageName: node - linkType: hard - "psl@npm:^1.1.28, psl@npm:^1.1.33": version: 1.9.0 resolution: "psl@npm:1.9.0" @@ -41944,17 +38642,6 @@ __metadata: languageName: node linkType: hard -"query-string@npm:^9.1.1": - version: 9.1.1 - resolution: "query-string@npm:9.1.1" - dependencies: - decode-uri-component: "npm:^0.4.1" - filter-obj: "npm:^5.1.0" - split-on-first: "npm:^3.0.0" - checksum: 10c0/16481f17754f660aec3cae7abb838a70e383dfcf152414d184e0d0f81fae426acf112b4d51bf754f9c256eaf83ba4241241ba907c8d58b6ed9704425e1712e8c - languageName: node - linkType: hard - "querystring-es3@npm:^0.2.1": version: 0.2.1 resolution: "querystring-es3@npm:0.2.1" @@ -42098,16 +38785,6 @@ __metadata: languageName: node linkType: hard -"react-chartjs-2@npm:^5.2.0": - version: 5.2.0 - resolution: "react-chartjs-2@npm:5.2.0" - peerDependencies: - chart.js: ^4.1.1 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/437e443a268b7eebab3f1a6f0f5d936e58caf650fca55f568a612a46c563d22af683a64185eac8005aa644e4960a5a72cc1075a2574b89ec46c7653aaf4025e2 - languageName: node - linkType: hard - "react-colorful@npm:^5.1.2": version: 5.6.1 resolution: "react-colorful@npm:5.6.1" @@ -42118,15 +38795,6 @@ __metadata: languageName: node linkType: hard -"react-complex-tree@npm:^2.4.5": - version: 2.4.5 - resolution: "react-complex-tree@npm:2.4.5" - peerDependencies: - react: ">=16.0.0" - checksum: 10c0/08f12c6c08b3f70b56fccfccb5b440ba9ea78658c2cffcf00ddfa8d999776a0e0fcd00ccb74e89d20a57e7004334c16b537122d1866c959f7051d89f42d9759d - languageName: node - linkType: hard - "react-confetti@npm:^6.1.0": version: 6.1.0 resolution: "react-confetti@npm:6.1.0" @@ -42234,19 +38902,6 @@ __metadata: languageName: node linkType: hard -"react-intersection-observer@npm:^9.13.1": - version: 9.13.1 - resolution: "react-intersection-observer@npm:9.13.1" - peerDependencies: - react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - react-dom: - optional: true - checksum: 10c0/c64722db407e0ca83945bf97621ab4618fa74f3a70b528ff43988818d46feee8962bd12e70203d2d92b31030889a1f813d00e0aa3d781a7bc39fb293c277ee04 - languageName: node - linkType: hard - "react-is@npm:18.1.0": version: 18.1.0 resolution: "react-is@npm:18.1.0" @@ -42275,27 +38930,6 @@ __metadata: languageName: node linkType: hard -"react-markdown@npm:^9.0.1": - version: 9.0.1 - resolution: "react-markdown@npm:9.0.1" - dependencies: - "@types/hast": "npm:^3.0.0" - devlop: "npm:^1.0.0" - hast-util-to-jsx-runtime: "npm:^2.0.0" - html-url-attributes: "npm:^3.0.0" - mdast-util-to-hast: "npm:^13.0.0" - remark-parse: "npm:^11.0.0" - remark-rehype: "npm:^11.0.0" - unified: "npm:^11.0.0" - unist-util-visit: "npm:^5.0.0" - vfile: "npm:^6.0.0" - peerDependencies: - "@types/react": ">=18" - react: ">=18" - checksum: 10c0/3a3895dbd56647bc864b8da46dd575e71a9e609eb1e43fea8e8e6209d86e208eddd5b07bf8d7b5306a194b405440760a8d134aebd5a4ce5dc7dee4299e84db96 - languageName: node - linkType: hard - "react-native-fs@npm:2.20.0": version: 2.20.0 resolution: "react-native-fs@npm:2.20.0" @@ -42332,7 +38966,7 @@ __metadata: languageName: node linkType: hard -"react-refresh@npm:0.14.2, react-refresh@npm:^0.14.0, react-refresh@npm:^0.14.2": +"react-refresh@npm:^0.14.0, react-refresh@npm:^0.14.2": version: 0.14.2 resolution: "react-refresh@npm:0.14.2" checksum: 10c0/875b72ef56b147a131e33f2abd6ec059d1989854b3ff438898e4f9310bfcc73acff709445b7ba843318a953cb9424bcc2c05af2b3d80011cee28f25aef3e2ebb @@ -42374,16 +39008,6 @@ __metadata: languageName: node linkType: hard -"react-resizable-panels@npm:^2.1.6": - version: 2.1.6 - resolution: "react-resizable-panels@npm:2.1.6" - peerDependencies: - react: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - checksum: 10c0/f81aa13b70aeac24feaeee648aadbeab13c0f048c06c46d23a0cc746216928b1aa8a169567009cac8352ffe86b58dbe5a8b957eda357400af38bd71a56874ab5 - languageName: node - linkType: hard - "react-router-dom@npm:^6.27.0": version: 6.27.0 resolution: "react-router-dom@npm:6.27.0" @@ -42610,20 +39234,6 @@ __metadata: languageName: node linkType: hard -"readdirp@npm:^4.0.1": - version: 4.0.2 - resolution: "readdirp@npm:4.0.2" - checksum: 10c0/a16ecd8ef3286dcd90648c3b103e3826db2b766cdb4a988752c43a83f683d01c7059158d623cbcd8bdfb39e65d302d285be2d208e7d9f34d022d912b929217dd - languageName: node - linkType: hard - -"readline@npm:^1.3.0": - version: 1.3.0 - resolution: "readline@npm:1.3.0" - checksum: 10c0/7404c9edc3fd29430221ef1830867c8d87e50612e4ce70f84ecd55686f7db1c81d67c6a4dcb407839f4c459ad05dd34524a2c7a97681e91878367c68d0e38665 - languageName: node - linkType: hard - "readonly-date@npm:^1.0.0": version: 1.0.0 resolution: "readonly-date@npm:1.0.0" @@ -42749,15 +39359,6 @@ __metadata: languageName: node linkType: hard -"regenerate-unicode-properties@npm:^10.2.0": - version: 10.2.0 - resolution: "regenerate-unicode-properties@npm:10.2.0" - dependencies: - regenerate: "npm:^1.4.2" - checksum: 10c0/5510785eeaf56bbfdf4e663d6753f125c08d2a372d4107bc1b756b7bf142e2ed80c2733a8b54e68fb309ba37690e66a0362699b0e21d5c1f0255dea1b00e6460 - languageName: node - linkType: hard - "regenerate@npm:^1.4.2": version: 1.4.2 resolution: "regenerate@npm:1.4.2" @@ -42814,20 +39415,6 @@ __metadata: languageName: node linkType: hard -"regexpu-core@npm:^6.1.1": - version: 6.1.1 - resolution: "regexpu-core@npm:6.1.1" - dependencies: - regenerate: "npm:^1.4.2" - regenerate-unicode-properties: "npm:^10.2.0" - regjsgen: "npm:^0.8.0" - regjsparser: "npm:^0.11.0" - unicode-match-property-ecmascript: "npm:^2.0.0" - unicode-match-property-value-ecmascript: "npm:^2.1.0" - checksum: 10c0/07d49697e20f9b65977535abba4858b7f5171c13f7c366be53ec1886d3d5f69f1b98cc6a6e63cf271adda077c3366a4c851c7473c28bbd69cf5a6b6b008efc3e - languageName: node - linkType: hard - "registry-auth-token@npm:^4.0.0": version: 4.2.2 resolution: "registry-auth-token@npm:4.2.2" @@ -42864,24 +39451,6 @@ __metadata: languageName: node linkType: hard -"regjsgen@npm:^0.8.0": - version: 0.8.0 - resolution: "regjsgen@npm:0.8.0" - checksum: 10c0/44f526c4fdbf0b29286101a282189e4dbb303f4013cf3fea058668d96d113b9180d3d03d1e13f6d4cbde38b7728bf951aecd9dc199938c080093a9a6f0d7a6bd - languageName: node - linkType: hard - -"regjsparser@npm:^0.11.0": - version: 0.11.2 - resolution: "regjsparser@npm:0.11.2" - dependencies: - jsesc: "npm:~3.0.2" - bin: - regjsparser: bin/parser - checksum: 10c0/764e762de1b26a0cf48b45728fc1b2087f9c55bd4cea858cce28e4d5544c237f3f2dd6d40e2c41b80068e9cb92cc7d731a4285bc1f27d6ebc227792c70e4af1b - languageName: node - linkType: hard - "regjsparser@npm:^0.9.1": version: 0.9.1 resolution: "regjsparser@npm:0.9.1" @@ -42922,17 +39491,6 @@ __metadata: languageName: node linkType: hard -"rehype-raw@npm:^7.0.0": - version: 7.0.0 - resolution: "rehype-raw@npm:7.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - hast-util-raw: "npm:^9.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/1435b4b6640a5bc3abe3b2133885c4dbff5ef2190ef9cfe09d6a63f74dd7d7ffd0cede70603278560ccf1acbfb9da9faae4b68065a28bc5aa88ad18e40f32d52 - languageName: node - linkType: hard - "rehype-slug@npm:^6.0.0": version: 6.0.0 resolution: "rehype-slug@npm:6.0.0" @@ -42990,19 +39548,6 @@ __metadata: languageName: node linkType: hard -"remark-rehype@npm:^11.0.0": - version: 11.1.0 - resolution: "remark-rehype@npm:11.1.0" - dependencies: - "@types/hast": "npm:^3.0.0" - "@types/mdast": "npm:^4.0.0" - mdast-util-to-hast: "npm:^13.0.0" - unified: "npm:^11.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/7a9534847ea70e78cf09227a4302af7e491f625fd092351a1b1ee27a2de0a369ac4acf069682e8a8ec0a55847b3e83f0be76b2028aa90e98e69e21420b9794c3 - languageName: node - linkType: hard - "remark-stringify@npm:^11.0.0": version: 11.0.0 resolution: "remark-stringify@npm:11.0.0" @@ -43014,13 +39559,6 @@ __metadata: languageName: node linkType: hard -"remedial@npm:^1.0.7": - version: 1.0.8 - resolution: "remedial@npm:1.0.8" - checksum: 10c0/ca1e22d2958e3f0f2fdb5f1c23fecadab5d83a0b1e291c67474c806ce07801212f1d2006995bdcfb592803ead7666e2b1fbb9281b3f32d4a87ff2335b3777725 - languageName: node - linkType: hard - "remove-accents@npm:0.5.0": version: 0.5.0 resolution: "remove-accents@npm:0.5.0" @@ -43042,13 +39580,6 @@ __metadata: languageName: node linkType: hard -"remove-trailing-spaces@npm:^1.0.6": - version: 1.0.8 - resolution: "remove-trailing-spaces@npm:1.0.8" - checksum: 10c0/b9a4d74fd77e4a81b83cd19152abe1d658e5ecf13bc9b789c2699d7166d3879258a61625f8fc0274ef5719ab70e514ae86234fee481f6b41b50729949b837c1b - languageName: node - linkType: hard - "renderkid@npm:^3.0.0": version: 3.0.0 resolution: "renderkid@npm:3.0.0" @@ -43669,13 +40200,6 @@ __metadata: languageName: node linkType: hard -"run-async@npm:^3.0.0": - version: 3.0.0 - resolution: "run-async@npm:3.0.0" - checksum: 10c0/b18b562ae37c3020083dcaae29642e4cc360c824fbfb6b7d50d809a9d5227bb986152d09310255842c8dce40526e82ca768f02f00806c91ba92a8dfa6159cb85 - languageName: node - linkType: hard - "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -43843,20 +40367,6 @@ __metadata: languageName: node linkType: hard -"sass@npm:^1.80.4": - version: 1.80.4 - resolution: "sass@npm:1.80.4" - dependencies: - "@parcel/watcher": "npm:^2.4.1" - chokidar: "npm:^4.0.0" - immutable: "npm:^4.0.0" - source-map-js: "npm:>=0.6.2 <2.0.0" - bin: - sass: sass.js - checksum: 10c0/58ca0f2d10720cde6621ee62f4bdbb537ea2ac572c565d5f02309f8271a5e1e880ad8c163b933e52b22b3dc0550973fb5a6033a500248e6a0d89dd050c1743cf - languageName: node - linkType: hard - "sax@npm:^1.2.4": version: 1.4.1 resolution: "sax@npm:1.4.1" @@ -43926,13 +40436,6 @@ __metadata: languageName: node linkType: hard -"scuid@npm:^1.1.0": - version: 1.1.0 - resolution: "scuid@npm:1.1.0" - checksum: 10c0/01c6bd2657ceaa148ead0c836df6251f561166142059261022a38dba429b30141e27ab3c0eca1012b88912f51a9e848e475fe1b6259ef1c61a0a7f6eb54fb261 - languageName: node - linkType: hard - "secp256k1@npm:4.0.2": version: 4.0.2 resolution: "secp256k1@npm:4.0.2" @@ -44016,22 +40519,6 @@ __metadata: languageName: node linkType: hard -"semver-regex@npm:^4.0.5": - version: 4.0.5 - resolution: "semver-regex@npm:4.0.5" - checksum: 10c0/c270eda133691dfaab90318df995e96222e4c26c47b17f7c8bd5e5fe88b81ed67b59695fe27546e0314b0f0423c7faed1f93379ad9db47c816df2ddf770918ff - languageName: node - linkType: hard - -"semver-truncate@npm:^3.0.0": - version: 3.0.0 - resolution: "semver-truncate@npm:3.0.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/faede4e69e81590ee6b4141f5e89ae1162cd0ecafe660f0ae72bca45f16677a01a3bc26283201b695cec8409e1e861b8b2b10b0621c1661983e7ab10736caeee - languageName: node - linkType: hard - "semver@npm:7.6.3, semver@npm:^7.0.0, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3": version: 7.6.3 resolution: "semver@npm:7.6.3" @@ -44132,13 +40619,6 @@ __metadata: languageName: node linkType: hard -"serialize-query-params@npm:^2.0.2": - version: 2.0.2 - resolution: "serialize-query-params@npm:2.0.2" - checksum: 10c0/fdef1e8eb45ce585b12535ab7e546a2583220a2deb969359ccef50519dc541dd6690c00c8de7a2465b9b0b0072a3308b55df77bd568284989df1e72869c9ee3f - languageName: node - linkType: hard - "serve-index@npm:^1.9.1": version: 1.9.1 resolution: "serve-index@npm:1.9.1" @@ -44398,7 +40878,7 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.7.3, shell-quote@npm:^1.8.1": +"shell-quote@npm:^1.8.1": version: 1.8.1 resolution: "shell-quote@npm:1.8.1" checksum: 10c0/8cec6fd827bad74d0a49347057d40dfea1e01f12a6123bf82c4649f3ef152fc2bc6d6176e6376bffcd205d9d0ccb4f1f9acae889384d20baff92186f01ea455a @@ -44532,13 +41012,6 @@ __metadata: languageName: node linkType: hard -"slash@npm:3.0.0, slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - "slash@npm:^2.0.0": version: 2.0.0 resolution: "slash@npm:2.0.0" @@ -44546,6 +41019,13 @@ __metadata: languageName: node linkType: hard +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + "slash@npm:^4.0.0": version: 4.0.0 resolution: "slash@npm:4.0.0" @@ -44829,7 +41309,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:0.5.21, source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.20": +"source-map-support@npm:0.5.21, source-map-support@npm:^0.5.16, source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -44949,13 +41429,6 @@ __metadata: languageName: node linkType: hard -"split-on-first@npm:^3.0.0": - version: 3.0.0 - resolution: "split-on-first@npm:3.0.0" - checksum: 10c0/a1262eae12b68de235e1a08e011bf5b42c42621985ddf807e6221fb1e2b3304824913ae7019f18436b96b8fab8aef5f1ad80dedd2385317fdc51b521c3882cd0 - languageName: node - linkType: hard - "split2@npm:^1.0.0": version: 1.1.1 resolution: "split2@npm:1.1.1" @@ -45248,13 +41721,6 @@ __metadata: languageName: node linkType: hard -"string-env-interpolation@npm:^1.0.1": - version: 1.0.1 - resolution: "string-env-interpolation@npm:1.0.1" - checksum: 10c0/410046e621e71678e71816377d799b40ba88d236708c0ad015114137fa3575f1b3cf14bfd63ec5eaa35ea43ac582308e60a8e1a3839a10f475b8db73470105bc - languageName: node - linkType: hard - "string-length@npm:^4.0.1": version: 4.0.2 resolution: "string-length@npm:4.0.2" @@ -45411,16 +41877,6 @@ __metadata: languageName: node linkType: hard -"stringify-entities@npm:^4.0.0": - version: 4.0.4 - resolution: "stringify-entities@npm:4.0.4" - dependencies: - character-entities-html4: "npm:^2.0.0" - character-entities-legacy: "npm:^3.0.0" - checksum: 10c0/537c7e656354192406bdd08157d759cd615724e9d0873602d2c9b2f6a5c0a8d0b1d73a0a08677848105c5eebac6db037b57c0b3a4ec86331117fa7319ed50448 - languageName: node - linkType: hard - "stringify-object@npm:^3.2.1": version: 3.3.0 resolution: "stringify-object@npm:3.3.0" @@ -45499,13 +41955,6 @@ __metadata: languageName: node linkType: hard -"strip-eof@npm:^1.0.0": - version: 1.0.0 - resolution: "strip-eof@npm:1.0.0" - checksum: 10c0/f336beed8622f7c1dd02f2cbd8422da9208fae81daf184f73656332899978919d5c0ca84dc6cfc49ad1fc4dd7badcde5412a063cf4e0d7f8ed95a13a63f68f45 - languageName: node - linkType: hard - "strip-final-newline@npm:^2.0.0": version: 2.0.0 resolution: "strip-final-newline@npm:2.0.0" @@ -45520,13 +41969,6 @@ __metadata: languageName: node linkType: hard -"strip-final-newline@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-final-newline@npm:4.0.0" - checksum: 10c0/b0cf2b62d597a1b0e3ebc42b88767f0a0d45601f89fd379a928a1812c8779440c81abba708082c946445af1d6b62d5f16e2a7cf4f30d9d6587b89425fae801ff - languageName: node - linkType: hard - "strip-hex-prefix@npm:1.0.0": version: 1.0.0 resolution: "strip-hex-prefix@npm:1.0.0" @@ -45604,7 +42046,7 @@ __metadata: languageName: node linkType: hard -"strtok3@npm:^7.0.0, strtok3@npm:^7.0.0-alpha.9": +"strtok3@npm:^7.0.0": version: 7.1.1 resolution: "strtok3@npm:7.1.1" dependencies: @@ -45630,24 +42072,6 @@ __metadata: languageName: node linkType: hard -"style-loader@npm:^4.0.0": - version: 4.0.0 - resolution: "style-loader@npm:4.0.0" - peerDependencies: - webpack: ^5.27.0 - checksum: 10c0/214bc0f3b018f8c374f79b9fa16da43df78c7fef2261e9a99e36c2f8387601fad10ac75a171aa8edba75903db214bc46952ae08b94a1f8544bd146c2c8d07d27 - languageName: node - linkType: hard - -"style-to-object@npm:^1.0.0": - version: 1.0.7 - resolution: "style-to-object@npm:1.0.7" - dependencies: - inline-style-parser: "npm:0.2.3" - checksum: 10c0/61f393482fdaf3f88acb1a31087875073d952c22f7614de90d5ce4f7aa86714c2523f96ab6ebefbecb327cfb31b41c14151878cb5e1e7999e5ee006987a11e62 - languageName: node - linkType: hard - "styled-components@npm:^6.1.1": version: 6.1.13 resolution: "styled-components@npm:6.1.13" @@ -45918,13 +42342,6 @@ __metadata: languageName: node linkType: hard -"swiper@npm:^11.1.14": - version: 11.1.14 - resolution: "swiper@npm:11.1.14" - checksum: 10c0/a1075cbd2254aedd22b411ea03cbd7a91ba1cc79d7c2dc41f215e987811e449a2915a26b39fdfc1d7c08250fa2cfbe51d28476f834e75033c73ea357a4ac9f8d - languageName: node - linkType: hard - "swr@npm:^2.2.5": version: 2.2.5 resolution: "swr@npm:2.2.5" @@ -46193,7 +42610,7 @@ __metadata: languageName: node linkType: hard -"terser@npm:^5.10.0, terser@npm:^5.15.1, terser@npm:^5.26.0": +"terser@npm:^5.10.0, terser@npm:^5.26.0": version: 5.31.6 resolution: "terser@npm:5.31.6" dependencies: @@ -46293,20 +42710,6 @@ __metadata: languageName: node linkType: hard -"thread-loader@npm:^4.0.4": - version: 4.0.4 - resolution: "thread-loader@npm:4.0.4" - dependencies: - json-parse-better-errors: "npm:^1.0.2" - loader-runner: "npm:^4.1.0" - neo-async: "npm:^2.6.2" - schema-utils: "npm:^4.2.0" - peerDependencies: - webpack: ^5.0.0 - checksum: 10c0/0cf5636865afa02366b95044d74df01c34479fcf363057e58c12279e93f2e3c840a7e7f222f4a71b2b22e4244b378280778d67c576c342e72fc0cbc0a63ae19d - languageName: node - linkType: hard - "thread-stream@npm:^0.15.1": version: 0.15.2 resolution: "thread-stream@npm:0.15.2" @@ -46575,7 +42978,7 @@ __metadata: languageName: node linkType: hard -"token-types@npm:^5.0.0-alpha.2, token-types@npm:^5.0.1": +"token-types@npm:^5.0.1": version: 5.0.1 resolution: "token-types@npm:5.0.1" dependencies: @@ -46606,7 +43009,7 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.1.2, tough-cookie@npm:^4.1.3, tough-cookie@npm:^4.1.4": +"tough-cookie@npm:^4.1.3, tough-cookie@npm:^4.1.4": version: 4.1.4 resolution: "tough-cookie@npm:4.1.4" dependencies: @@ -46628,15 +43031,6 @@ __metadata: languageName: node linkType: hard -"tr46@npm:^3.0.0": - version: 3.0.0 - resolution: "tr46@npm:3.0.0" - dependencies: - punycode: "npm:^2.1.1" - checksum: 10c0/cdc47cad3a9d0b6cb293e39ccb1066695ae6fdd39b9e4f351b010835a1f8b4f3a6dc3a55e896b421371187f22b48d7dac1b693de4f6551bdef7b6ab6735dfe3b - languageName: node - linkType: hard - "tr46@npm:^5.0.0": version: 5.0.0 resolution: "tr46@npm:5.0.0" @@ -46671,13 +43065,6 @@ __metadata: languageName: node linkType: hard -"trim-lines@npm:^3.0.0": - version: 3.0.1 - resolution: "trim-lines@npm:3.0.1" - checksum: 10c0/3a1611fa9e52aa56a94c69951a9ea15b8aaad760eaa26c56a65330dc8adf99cb282fc07cc9d94968b7d4d88003beba220a7278bbe2063328eb23fb56f9509e94 - languageName: node - linkType: hard - "trim-repeated@npm:^1.0.0": version: 1.0.0 resolution: "trim-repeated@npm:1.0.0" @@ -46816,13 +43203,6 @@ __metadata: languageName: node linkType: hard -"ts-log@npm:^2.2.3": - version: 2.2.5 - resolution: "ts-log@npm:2.2.5" - checksum: 10c0/bbc45faa97d47238b896e85e9e0fc12e3d2d72b56755fba305290489532319c83bae82e282b92a5469f432f2dfa365da7ee0469d6d528ce04cd9dd75d4e2a147 - languageName: node - linkType: hard - "ts-node@npm:10.9.1": version: 10.9.1 resolution: "ts-node@npm:10.9.1" @@ -46996,13 +43376,6 @@ __metadata: languageName: node linkType: hard -"tslib@npm:~2.6.0": - version: 2.6.3 - resolution: "tslib@npm:2.6.3" - checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a - languageName: node - linkType: hard - "tsscmp@npm:1.0.6": version: 1.0.6 resolution: "tsscmp@npm:1.0.6" @@ -47088,13 +43461,6 @@ __metadata: languageName: node linkType: hard -"twitter-api-v2@npm:^1.18.1": - version: 1.18.1 - resolution: "twitter-api-v2@npm:1.18.1" - checksum: 10c0/d8e74e2849ad55fb0c43f7e4892516b6e9986d355ab979a1b4e1912bca814745f02635c5b46752bf828ea37c44c0a2c68d0e33105cf9b1912f81381a536f5912 - languageName: node - linkType: hard - "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -47605,13 +43971,6 @@ __metadata: languageName: node linkType: hard -"unicorn-magic@npm:^0.3.0": - version: 0.3.0 - resolution: "unicorn-magic@npm:0.3.0" - checksum: 10c0/0a32a997d6c15f1c2a077a15b1c4ca6f268d574cf5b8975e778bb98e6f8db4ef4e86dfcae4e158cd4c7e38fb4dd383b93b13eefddc7f178dea13d3ac8a603271 - languageName: node - linkType: hard - "unified@npm:^11.0.0": version: 11.0.5 resolution: "unified@npm:11.0.5" @@ -47688,15 +44047,6 @@ __metadata: languageName: node linkType: hard -"unist-util-position@npm:^5.0.0": - version: 5.0.0 - resolution: "unist-util-position@npm:5.0.0" - dependencies: - "@types/unist": "npm:^3.0.0" - checksum: 10c0/dde3b31e314c98f12b4dc6402f9722b2bf35e96a4f2d463233dd90d7cde2d4928074a7a11eff0a5eb1f4e200f27fc1557e0a64a7e8e4da6558542f251b1b7400 - languageName: node - linkType: hard - "unist-util-stringify-position@npm:^4.0.0": version: 4.0.0 resolution: "unist-util-stringify-position@npm:4.0.0" @@ -48077,25 +44427,6 @@ __metadata: languageName: node linkType: hard -"use-query-params@npm:^2.2.1": - version: 2.2.1 - resolution: "use-query-params@npm:2.2.1" - dependencies: - serialize-query-params: "npm:^2.0.2" - peerDependencies: - "@reach/router": ^1.2.1 - react: ">=16.8.0" - react-dom: ">=16.8.0" - react-router-dom: ">=5" - peerDependenciesMeta: - "@reach/router": - optional: true - react-router-dom: - optional: true - checksum: 10c0/79d07b1adfd67d1e56f5168cea15679cacfb14473ee50d623a6a40e6175779895336c4a447871bc5291c921ec47dfa23bdd312ec76bbd6bbe5e9ea5238ed2d08 - languageName: node - linkType: hard - "use-sidecar@npm:^1.1.2": version: 1.1.2 resolution: "use-sidecar@npm:1.1.2" @@ -48319,16 +44650,6 @@ __metadata: languageName: node linkType: hard -"vfile-location@npm:^5.0.0": - version: 5.0.3 - resolution: "vfile-location@npm:5.0.3" - dependencies: - "@types/unist": "npm:^3.0.0" - vfile: "npm:^6.0.0" - checksum: 10c0/1711f67802a5bc175ea69750d59863343ed43d1b1bb25c0a9063e4c70595e673e53e2ed5cdbb6dcdc370059b31605144d95e8c061b9361bcc2b036b8f63a4966 - languageName: node - linkType: hard - "vfile-message@npm:^4.0.0": version: 4.0.2 resolution: "vfile-message@npm:4.0.2" @@ -48636,15 +44957,6 @@ __metadata: languageName: node linkType: hard -"w3c-xmlserializer@npm:^4.0.0": - version: 4.0.0 - resolution: "w3c-xmlserializer@npm:4.0.0" - dependencies: - xml-name-validator: "npm:^4.0.0" - checksum: 10c0/02cc66d6efc590bd630086cd88252444120f5feec5c4043932b0d0f74f8b060512f79dc77eb093a7ad04b4f02f39da79ce4af47ceb600f2bf9eacdc83204b1a8 - languageName: node - linkType: hard - "w3c-xmlserializer@npm:^5.0.0": version: 5.0.0 resolution: "w3c-xmlserializer@npm:5.0.0" @@ -48746,13 +45058,6 @@ __metadata: languageName: node linkType: hard -"web-namespaces@npm:^2.0.0": - version: 2.0.1 - resolution: "web-namespaces@npm:2.0.1" - checksum: 10c0/df245f466ad83bd5cd80bfffc1674c7f64b7b84d1de0e4d2c0934fb0782e0a599164e7197a4bce310ee3342fd61817b8047ff04f076a1ce12dd470584142a4bd - languageName: node - linkType: hard - "web-streams-polyfill@npm:^3.0.3, web-streams-polyfill@npm:^3.2.1": version: 3.3.3 resolution: "web-streams-polyfill@npm:3.3.3" @@ -49064,30 +45369,20 @@ __metadata: resolution: "webb-monorepo@workspace:." dependencies: "@actions/core": "npm:^1.11.1" - "@apollo/client": "npm:^3.11.8" "@babel/core": "npm:^7.26.0" - "@babel/plugin-transform-runtime": "npm:7.25.9" - "@babel/preset-env": "npm:7.26.0" "@babel/preset-react": "npm:7.25.9" - "@babel/preset-typescript": "npm:7.26.0" - "@buildwithsygma/sygma-sdk-core": "npm:2.11.2" "@chromatic-com/storybook": "npm:^1.9.0" "@commitlint/cli": "npm:^19.5.0" "@commitlint/config-conventional": "npm:^19.5.0" - "@commitlint/prompt-cli": "npm:^19.5.0" "@date-fns/utc": "npm:^1.2.0" - "@graphql-codegen/cli": "npm:^5.0.3" - "@graphql-codegen/introspection": "npm:4.0.3" - "@graphql-codegen/typescript": "npm:4.1.1" - "@graphql-codegen/typescript-operations": "npm:4.3.1" - "@graphql-codegen/typescript-react-apollo": "npm:4.3.2" + "@ethersproject/abi": "npm:^5.7.0" + "@ethersproject/providers": "npm:^5.7.2" "@headlessui/react": "npm:^2.2.0" "@hyperlane-xyz/registry": "npm:^2.5.0" "@hyperlane-xyz/sdk": "npm:^5.6.2" "@hyperlane-xyz/utils": "npm:^5.6.2" "@next/bundle-analyzer": "npm:^14.2.16" "@ngneat/falso": "npm:^7.2.0" - "@nx/cypress": "npm:19.8.8" "@nx/eslint": "npm:19.8.8" "@nx/eslint-plugin": "npm:19.8.8" "@nx/jest": "npm:19.8.8" @@ -49097,10 +45392,8 @@ __metadata: "@nx/storybook": "npm:19.8.8" "@nx/vite": "npm:19.8.8" "@nx/web": "npm:19.8.8" - "@nx/webpack": "npm:19.8.8" "@nx/workspace": "npm:19.8.8" "@octokit/request": "npm:^9.1.3" - "@pmmmwh/react-refresh-webpack-plugin": "npm:^0.5.15" "@polkadot/api": "npm:^12.4.2" "@polkadot/apps-config": "npm:^0.145.1" "@polkadot/extension-dapp": "npm:0.55.1" @@ -49129,17 +45422,16 @@ __metadata: "@radix-ui/react-switch": "npm:^1.1.1" "@radix-ui/react-tabs": "npm:^1.1.1" "@radix-ui/react-tooltip": "npm:^1.1.3" - "@shopify/react-web-worker": "npm:^5.1.6" "@storybook/addon-a11y": "npm:^8.3.6" "@storybook/addon-actions": "npm:^8.3.6" "@storybook/addon-docs": "npm:^8.3.6" "@storybook/addon-essentials": "npm:^8.3.6" "@storybook/addon-interactions": "npm:^8.3.6" - "@storybook/addon-links": "npm:^8.3.6" - "@storybook/addon-mdx-gfm": "npm:^8.3.6" + "@storybook/addon-links": "npm:8.3.6" + "@storybook/addon-mdx-gfm": "npm:8.3.6" "@storybook/addon-themes": "npm:^8.3.6" "@storybook/addon-webpack5-compiler-swc": "npm:^1.0.5" - "@storybook/blocks": "npm:^8.3.6" + "@storybook/blocks": "npm:8.3.6" "@storybook/channels": "npm:^8.3.6" "@storybook/components": "npm:^8.3.6" "@storybook/core-events": "npm:^8.3.6" @@ -49148,13 +45440,8 @@ __metadata: "@storybook/nextjs": "npm:^8.3.6" "@storybook/preview-api": "npm:^8.3.6" "@storybook/react": "npm:^8.3.6" - "@storybook/test": "npm:^8.3.6" "@storybook/theming": "npm:^8.3.6" "@svgr/webpack": "npm:8.1.0" - "@swc-node/register": "npm:1.10.9" - "@swc/cli": "npm:~0.4.1-nightly.20240914" - "@swc/core": "npm:1.7.40" - "@swc/helpers": "npm:0.5.13" "@tailwindcss/forms": "npm:^0.5.9" "@tanstack/match-sorter-utils": "npm:^8.19.4" "@tanstack/react-query": "npm:^5.59.16" @@ -49180,7 +45467,6 @@ __metadata: "@webb-tools/app-util": "npm:0.1.8" "@webb-tools/contracts": "npm:1.0.11" "@webb-tools/interfaces": "npm:1.0.11" - "@webb-tools/proposals": "npm:^1.0.11" "@webb-tools/sdk-core": "npm:0.1.4-127" "@webb-tools/tangle-restaking-types": "npm:^0.1.0" "@webb-tools/tangle-substrate-types": "npm:^0.9.0" @@ -49191,18 +45477,13 @@ __metadata: "@webb-tools/wasm-utils": "npm:0.1.4-127" autoprefixer: "npm:^10.4.20" babel-jest: "npm:29.7.0" - babel-loader: "npm:9.2.1" bn.js: "npm:^5.2.1" - browserify-zlib: "npm:^0.2.0" - chart.js: "npm:^4.4.6" chromatic: "npm:^11.16.1" circomlibjs: "npm:0.1.7" classnames: "npm:^2.5.1" - cookies-next: "npm:^4.3.0" copy-to-clipboard: "npm:^3.3.3" copy-webpack-plugin: "npm:^12.0.2" core-js: "npm:3.38.1" - country-flag-icons: "npm:^1.5.13" crypto-browserify: "npm:^3.12.1" css-loader: "npm:7.1.2" css-minimizer-webpack-plugin: "npm:^7.0.0" @@ -49224,38 +45505,21 @@ __metadata: eslint-plugin-storybook: "npm:^0.10.1" eslint-plugin-unused-imports: "npm:^4.1.4" ethers: "npm:5.7.2" - execa: "npm:9.5.0" framer-motion: "npm:^11.11.10" - github-markdown-css: "npm:^5.7.0" graphql: "npm:^16.9.0" - graphql-tag: "npm:^2.12.6" - html-loader: "npm:^5.1.0" - html-webpack-plugin: "npm:^5.6.3" - https-browserify: "npm:^1.0.0" - husky: "npm:^9.1.6" jest: "npm:29.7.0" - jest-environment-jsdom: "npm:29.7.0" jsdom: "npm:~24.1.3" listr2: "npm:^8.2.5" lodash: "npm:^4.17.21" - lottie-react: "npm:^2.4.0" - markdown-loader: "npm:^8.0.0" - mini-css-extract-plugin: "npm:^2.9.1" netlify-cli: "npm:^17.37.1" - neverthrow: "npm:^8.1.1" next: "npm:^14.2.16" - next-query-params: "npm:^5.0.1" next-secure-headers: "npm:^2.2.0" - next-seo: "npm:^6.6.0" next-themes: "npm:^0.3.0" notistack: "npm:^3.0.1" - null-loader: "npm:^4.0.1" numbro: "npm:^2.5.0" nuqs: "npm:^2.0.4" nx: "npm:19.8.8" observable-hooks: "npm:^4.2.4" - os-browserify: "npm:^0.3.0" - path-browserify: "npm:^1.0.1" postcss: "npm:8.4.47" postcss-import: "npm:^16.1.0" postcss-loader: "npm:^8.1.1" @@ -49263,51 +45527,31 @@ __metadata: postcss-preset-env: "npm:^10.0.8" prettier: "npm:^3.3.3" process: "npm:^0.11.10" - query-string: "npm:^9.1.1" react: "npm:^18.3.1" - react-chartjs-2: "npm:^5.2.0" - react-complex-tree: "npm:^2.4.5" react-dom: "npm:^18.3.1" react-dropzone: "npm:^14.2.10" react-hook-form: "npm:^7.53.1" - react-intersection-observer: "npm:^9.13.1" react-is: "npm:^18.3.1" - react-markdown: "npm:^9.0.1" - react-refresh: "npm:0.14.2" - react-resizable-panels: "npm:^2.1.6" react-router: "npm:^6.27.0" react-router-dom: "npm:^6.27.0" react-syntax-highlighter: "npm:^15.6.1" - readline: "npm:^1.3.0" recharts: "npm:^2.13.0" - rehype-raw: "npm:^7.0.0" remark-gfm: "npm:^4.0.0" rollup: "npm:^4.24.2" rollup-plugin-preserve-directives: "npm:^0.4.0" rxjs: "npm:7.8.1" - sass: "npm:^1.80.4" snarkjs: "npm:^0.7.5" storybook: "npm:^8.3.6" storybook-addon-remix-react-router: "npm:^3.0.1" - stream-browserify: "npm:^3.0.0" - stream-http: "npm:^3.2.0" - style-loader: "npm:^4.0.0" - swiper: "npm:^11.1.14" swr: "npm:^2.2.5" tailwind-merge: "npm:^2.5.4" tailwind-scrollbar: "npm:^3.1.0" tailwindcss: "npm:^3.4.14" tailwindcss-radix: "npm:^3.0.5" - terser-webpack-plugin: "npm:^5.3.10" - thread-loader: "npm:^4.0.4" ts-jest: "npm:29.2.5" - ts-node: "npm:10.9.1" - tslib: "npm:^2.8.0" tsx: "npm:^4.19.2" - twitter-api-v2: "npm:^1.18.1" typescript: "npm:5.6.3" use-local-storage-state: "npm:^19.4.1" - use-query-params: "npm:^2.2.1" viem: "npm:^2.21.35" vite: "npm:~5.4.10" vite-plugin-dts: "npm:~4.3.0" @@ -49810,13 +46054,6 @@ __metadata: languageName: node linkType: hard -"whatwg-mimetype@npm:^3.0.0": - version: 3.0.0 - resolution: "whatwg-mimetype@npm:3.0.0" - checksum: 10c0/323895a1cda29a5fb0b9ca82831d2c316309fede0365047c4c323073e3239067a304a09a1f4b123b9532641ab604203f33a1403b5ca6a62ef405bcd7a204080f - languageName: node - linkType: hard - "whatwg-mimetype@npm:^4.0.0": version: 4.0.0 resolution: "whatwg-mimetype@npm:4.0.0" @@ -49824,16 +46061,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^11.0.0": - version: 11.0.0 - resolution: "whatwg-url@npm:11.0.0" - dependencies: - tr46: "npm:^3.0.0" - webidl-conversions: "npm:^7.0.0" - checksum: 10c0/f7ec264976d7c725e0696fcaf9ebe056e14422eacbf92fdbb4462034609cba7d0c85ffa1aab05e9309d42969bcf04632ba5ed3f3882c516d7b093053315bf4c1 - languageName: node - linkType: hard - "whatwg-url@npm:^14.0.0": version: 14.0.0 resolution: "whatwg-url@npm:14.0.0" @@ -50218,7 +46445,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:8.18.0, ws@npm:^8.11.0, ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.15.1, ws@npm:^8.16.0, ws@npm:^8.17.1, ws@npm:^8.18.0, ws@npm:^8.2.3, ws@npm:^8.5.0, ws@npm:^8.8.1": +"ws@npm:8.18.0, ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.15.1, ws@npm:^8.16.0, ws@npm:^8.18.0, ws@npm:^8.2.3, ws@npm:^8.5.0, ws@npm:^8.8.1": version: 8.18.0 resolution: "ws@npm:8.18.0" peerDependencies: @@ -50309,13 +46536,6 @@ __metadata: languageName: node linkType: hard -"xml-name-validator@npm:^4.0.0": - version: 4.0.0 - resolution: "xml-name-validator@npm:4.0.0" - checksum: 10c0/c1bfa219d64e56fee265b2bd31b2fcecefc063ee802da1e73bad1f21d7afd89b943c9e2c97af2942f60b1ad46f915a4c81e00039c7d398b53cf410e29d3c30bd - languageName: node - linkType: hard - "xml-name-validator@npm:^5.0.0": version: 5.0.0 resolution: "xml-name-validator@npm:5.0.0" @@ -50387,13 +46607,6 @@ __metadata: languageName: node linkType: hard -"yallist@npm:^2.1.2": - version: 2.1.2 - resolution: "yallist@npm:2.1.2" - checksum: 10c0/0b9e25aa00adf19e01d2bcd4b208aee2b0db643d9927131797b7af5ff69480fc80f1c3db738cbf3946f0bddf39d8f2d0a5709c644fd42d4aa3a4e6e786c087b5 - languageName: node - linkType: hard - "yallist@npm:^3.0.0, yallist@npm:^3.0.2, yallist@npm:^3.1.1": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -50408,13 +46621,6 @@ __metadata: languageName: node linkType: hard -"yaml-ast-parser@npm:^0.0.43": - version: 0.0.43 - resolution: "yaml-ast-parser@npm:0.0.43" - checksum: 10c0/4d2f1e761067b2c6abdd882279a406f879258787af470a6d4a659cb79cb2ab056b870b25f1f80f46ed556e8b499d611d247806376f53edf3412f72c0a8ea2e98 - languageName: node - linkType: hard - "yaml@npm:2.4.5": version: 2.4.5 resolution: "yaml@npm:2.4.5" @@ -50431,7 +46637,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2, yaml@npm:^2.1.3, yaml@npm:^2.3.1, yaml@npm:^2.3.4": +"yaml@npm:^2, yaml@npm:^2.1.3, yaml@npm:^2.3.4": version: 2.5.0 resolution: "yaml@npm:2.5.0" bin: @@ -50529,20 +46735,6 @@ __metadata: languageName: node linkType: hard -"yoctocolors-cjs@npm:^2.1.2": - version: 2.1.2 - resolution: "yoctocolors-cjs@npm:2.1.2" - checksum: 10c0/a0e36eb88fea2c7981eab22d1ba45e15d8d268626e6c4143305e2c1628fa17ebfaa40cd306161a8ce04c0a60ee0262058eab12567493d5eb1409780853454c6f - languageName: node - linkType: hard - -"yoctocolors@npm:^2.0.0": - version: 2.1.1 - resolution: "yoctocolors@npm:2.1.1" - checksum: 10c0/85903f7fa96f1c70badee94789fade709f9d83dab2ec92753d612d84fcea6d34c772337a9f8914c6bed2f5fc03a428ac5d893e76fab636da5f1236ab725486d0 - languageName: node - linkType: hard - "zen-observable-ts@npm:^1.2.5": version: 1.2.5 resolution: "zen-observable-ts@npm:1.2.5"

    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 diff --git a/apps/stats-dapp/src/routes/index.tsx b/apps/stats-dapp/src/routes/index.tsx deleted file mode 100644 index 310035cf02..0000000000 --- a/apps/stats-dapp/src/routes/index.tsx +++ /dev/null @@ -1,123 +0,0 @@ -import { RouterConfigData } from '@webb-tools/api-provider-environment'; -import CSuspense from '@webb-tools/webb-ui-components/components/Suspense'; -import { lazy } from 'react'; -import { Layout } from '../containers'; - -const PageAuthorities = lazy(() => import('../pages/Authorities')); -const PageAuthorityDetailDrawer = lazy( - () => import('../pages/AuthorityDetailDrawer'), -); -const PageAuthorityDetail = lazy(() => import('../pages/AuthorityDetailPage')); - -const PageAuthoritiesHistory = lazy( - () => import('../pages/AuthoritiesHistory'), -); - -const PageKeys = lazy(() => import('../pages/Keys')); -const PageKeyDetailDrawer = lazy(() => import('../pages/KeyDetailDrawer')); -const PageKeyDetail = lazy(() => import('../pages/KeyDetailPage')); - -const PageProposals = lazy(() => import('../pages/Proposals')); -const PageProposalDetailDrawer = lazy( - () => import('../pages/ProposalDetailDrawer'), -); -const PageProposalDetail = lazy(() => import('../pages/ProposalDetailPage')); - -export const routes: RouterConfigData[] = [ - { - children: [ - { - element: ( - - - - ), - path: 'authorities/history', - }, - { - element: ( - - - - ), - path: 'authorities/:authorityId', - }, - { - element: ( - - - - ), - children: [ - { - path: 'drawer/:authorityId', - element: ( - - - - ), - }, - ], - path: 'authorities/*', - }, - { - element: ( - - - - ), - path: 'keys/:keyId', - }, - { - element: ( - - - - ), - children: [ - { - path: 'drawer/:keyId', - element: ( - - - - ), - }, - ], - path: 'keys/*', - }, - { - element: ( - - - - ), - path: 'proposals/:proposalBatchId', - }, - { - element: ( - - - - ), - children: [ - { - path: 'drawer/:proposalBatchId', - element: ( - - - - ), - }, - ], - path: 'proposals/*', - }, - { - path: '*', - redirectTo: 'keys', - }, - ], - element: , - path: '*', - }, -]; diff --git a/apps/stats-dapp/src/styles.css b/apps/stats-dapp/src/styles.css deleted file mode 100644 index 5be59b4cd4..0000000000 --- a/apps/stats-dapp/src/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -@import 'tailwindcss/base'; -@import 'tailwindcss/components'; -@import 'tailwindcss/utilities'; \ No newline at end of file diff --git a/apps/stats-dapp/src/utils/ChainNameToLogo.ts b/apps/stats-dapp/src/utils/ChainNameToLogo.ts deleted file mode 100644 index d3881ebe58..0000000000 --- a/apps/stats-dapp/src/utils/ChainNameToLogo.ts +++ /dev/null @@ -1,26 +0,0 @@ -export function mapChainNameToLogo(chain: string) { - switch (chain) { - case 'Unknown': - return 'tangle'; - case 'None': - return 'tangle'; - case 'Evm': - return 'ethereum'; - case 'Substrate': - return 'substrate'; - case 'PolkadotParachain': - return 'polkadot'; - case 'KusamaParachain': - return 'kusama'; - case 'RococoParachain': - return 'rococo'; - case 'Cosmos': - return 'cosmos'; - case 'Solana': - return 'solana'; - case 'Ink': - return 'ink'; - default: - return 'tangle'; - } -} diff --git a/apps/stats-dapp/src/utils/getChipColorByKeyType.ts b/apps/stats-dapp/src/utils/getChipColorByKeyType.ts deleted file mode 100644 index e4702afd5a..0000000000 --- a/apps/stats-dapp/src/utils/getChipColorByKeyType.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { ChipProps } from '@webb-tools/webb-ui-components/components/Chip/types'; - -export function getChipColorByKeyType( - type: 'Next' | 'Current' | 'Previous', -): ChipProps['color'] { - switch (type) { - case 'Current': { - return 'green'; - } - - case 'Next': { - return 'yellow'; - } - - case 'Previous': { - return 'purple'; - } - - default: { - throw new Error( - 'Unknow ProposalStatus inside `getChipColorByKeyType` function', - ); - } - } -} - -export function getChipColorByKeyStatus( - status: true | false, -): ChipProps['color'] { - switch (status) { - case true: { - return 'green'; - } - - case false: { - return 'purple'; - } - - default: { - return 'yellow'; - } - } -} diff --git a/apps/stats-dapp/src/utils/getChipColorByProposalType.ts b/apps/stats-dapp/src/utils/getChipColorByProposalType.ts deleted file mode 100644 index 12f8fbf7e9..0000000000 --- a/apps/stats-dapp/src/utils/getChipColorByProposalType.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { ChipProps } from '@webb-tools/webb-ui-components/components/Chip/types'; -import { ProposalBatchStatus } from '../generated/graphql'; - -export function getChipColorByProposalType( - type: ProposalBatchStatus, -): ChipProps['color'] { - switch (type) { - case ProposalBatchStatus.Signed: { - return 'green'; - } - - case ProposalBatchStatus.Removed: { - return 'red'; - } - - case ProposalBatchStatus.Expired: { - return 'yellow'; - } - - default: { - return 'purple'; - } - } -} diff --git a/apps/stats-dapp/src/utils/getProposalsData.ts b/apps/stats-dapp/src/utils/getProposalsData.ts deleted file mode 100644 index b1c9e26eb8..0000000000 --- a/apps/stats-dapp/src/utils/getProposalsData.ts +++ /dev/null @@ -1,258 +0,0 @@ -import { ProposalType } from '../generated/graphql'; -import { - AnchorUpdateProposal, - EVMProposal, - FeeRecipientUpdateProposal, - MaxDepositLimitProposal, - MinWithdrawalLimitProposal, - RefreshProposal, - RescueTokensProposal, - ResourceIdUpdateProposal, - SetTreasuryHandlerProposal, - SetVerifierProposal, - TokenAddProposal, - TokenRemoveProposal, - WrappingFeeUpdateProposal, -} from '@webb-tools/proposals'; -import { hexToU8a, u8aToHex } from '@polkadot/util'; -import { ChainType, calculateTypedChainId } from '@webb-tools/sdk-core'; -import { chainsConfig } from '@webb-tools/dapp-config'; - -export function getProposalsData( - propType: ProposalType, - data: string, -): Record> { - if (!data) return { data: '' }; - - const bytes = hexToU8a(data); - - switch (propType) { - case ProposalType.AnchorUpdate: { - const decoded = AnchorUpdateProposal.fromBytes(bytes); - - const chainName = getChainName( - decoded.header.resourceId.chainType, - decoded.header.resourceId.chainId, - ); - - return { - merkleRoot: decoded.merkleRoot, - functionSignature: u8aToHex(decoded.header.functionSignature), - nonce: String(decoded.header.nonce), - chainName: chainName, - chainType: String(decoded.header.resourceId.chainType), - chainId: String(decoded.header.resourceId.chainId), - targetSystem: u8aToHex(decoded.header.resourceId.targetSystem), - }; - } - case ProposalType.Evm: { - const decoded = EVMProposal.fromBytes(bytes); - return { - merkleRoot: String(decoded.nonce), - chainId: String(decoded.chainId), - tx: { ...decoded.tx }, - }; - } - case ProposalType.FeeRecipientUpdate: { - const decoded = FeeRecipientUpdateProposal.fromBytes(bytes); - - const chainName = getChainName( - decoded.header.resourceId.chainType, - decoded.header.resourceId.chainId, - ); - - return { - newFeeRecipient: decoded.newFeeRecipient, - functionSignature: u8aToHex(decoded.header.functionSignature), - nonce: String(decoded.header.nonce), - chainName: chainName, - chainType: String(decoded.header.resourceId.chainType), - chainId: String(decoded.header.resourceId.chainId), - targetSystem: u8aToHex(decoded.header.resourceId.targetSystem), - }; - } - case ProposalType.MaxDepositLimitUpdate: { - const decoded = MaxDepositLimitProposal.fromBytes(bytes); - - const chainName = getChainName( - decoded.header.resourceId.chainType, - decoded.header.resourceId.chainId, - ); - - return { - maxDepositLimitBytes: decoded.maxDepositLimitBytes, - functionSignature: u8aToHex(decoded.header.functionSignature), - nonce: String(decoded.header.nonce), - chainName: chainName, - chainType: String(decoded.header.resourceId.chainType), - chainId: String(decoded.header.resourceId.chainId), - targetSystem: u8aToHex(decoded.header.resourceId.targetSystem), - }; - } - case ProposalType.MinWithdrawalLimitUpdate: { - const decoded = MinWithdrawalLimitProposal.fromBytes(bytes); - - const chainName = getChainName( - decoded.header.resourceId.chainType, - decoded.header.resourceId.chainId, - ); - - return { - minWithdrawalLimitBytes: decoded.minWithdrawalLimitBytes, - functionSignature: u8aToHex(decoded.header.functionSignature), - nonce: String(decoded.header.nonce), - chainName: chainName, - chainType: String(decoded.header.resourceId.chainType), - chainId: String(decoded.header.resourceId.chainId), - targetSystem: u8aToHex(decoded.header.resourceId.targetSystem), - }; - } - case ProposalType.Refresh: { - const decoded = RefreshProposal.fromBytes(bytes); - return { - nonce: String(decoded.nonce), - publicKey: String(decoded.publicKey), - }; - } - case ProposalType.RescueTokens: { - const decoded = RescueTokensProposal.fromBytes(bytes); - - const chainName = getChainName( - decoded.header.resourceId.chainType, - decoded.header.resourceId.chainId, - ); - - return { - toAddress: decoded.toAddress, - tokenAddress: decoded.tokenAddress, - amount: decoded.amount, - functionSignature: u8aToHex(decoded.header.functionSignature), - nonce: String(decoded.header.nonce), - chainName: chainName, - chainType: String(decoded.header.resourceId.chainType), - chainId: String(decoded.header.resourceId.chainId), - targetSystem: u8aToHex(decoded.header.resourceId.targetSystem), - }; - } - case ProposalType.ResourceIdUpdate: { - const decoded = ResourceIdUpdateProposal.fromBytes(bytes); - - const chainName = getChainName( - decoded.header.resourceId.chainType, - decoded.header.resourceId.chainId, - ); - - return { - handlerAddress: decoded.handlerAddress, - newResourceId: decoded.newResourceId, - functionSignature: u8aToHex(decoded.header.functionSignature), - nonce: String(decoded.header.nonce), - chainName: chainName, - chainType: String(decoded.header.resourceId.chainType), - chainId: String(decoded.header.resourceId.chainId), - targetSystem: u8aToHex(decoded.header.resourceId.targetSystem), - }; - } - case ProposalType.SetTreasuryHandler: { - const decoded = SetTreasuryHandlerProposal.fromBytes(bytes); - - const chainName = getChainName( - decoded.header.resourceId.chainType, - decoded.header.resourceId.chainId, - ); - - return { - newTreasuryHandler: decoded.newTreasuryHandler, - chainName: chainName, - chainType: String(decoded.header.resourceId.chainType), - chainId: String(decoded.header.resourceId.chainId), - targetSystem: u8aToHex(decoded.header.resourceId.targetSystem), - functionSignature: u8aToHex(decoded.header.functionSignature), - nonce: String(decoded.header.nonce), - }; - } - case ProposalType.SetVerifier: { - const decoded = SetVerifierProposal.fromBytes(bytes); - - const chainName = getChainName( - decoded.header.resourceId.chainType, - decoded.header.resourceId.chainId, - ); - - return { - newVerifier: decoded.newVerifier, - functionSignature: u8aToHex(decoded.header.functionSignature), - nonce: String(decoded.header.nonce), - chainName: chainName, - chainType: String(decoded.header.resourceId.chainType), - chainId: String(decoded.header.resourceId.chainId), - targetSystem: u8aToHex(decoded.header.resourceId.targetSystem), - }; - } - case ProposalType.TokenAdd: { - const decoded = TokenAddProposal.fromBytes(bytes); - - const chainName = getChainName( - decoded.header.resourceId.chainType, - decoded.header.resourceId.chainId, - ); - - return { - newTokenAddress: decoded.newTokenAddress, - functionSignature: u8aToHex(decoded.header.functionSignature), - nonce: String(decoded.header.nonce), - chainName: chainName, - chainType: String(decoded.header.resourceId.chainType), - chainId: String(decoded.header.resourceId.chainId), - targetSystem: u8aToHex(decoded.header.resourceId.targetSystem), - }; - } - case ProposalType.TokenRemove: { - const decoded = TokenRemoveProposal.fromBytes(bytes); - - const chainName = getChainName( - decoded.header.resourceId.chainType, - decoded.header.resourceId.chainId, - ); - - return { - removeTokenAddress: decoded.removeTokenAddress, - functionSignature: u8aToHex(decoded.header.functionSignature), - nonce: String(decoded.header.nonce), - chainName: chainName, - chainType: String(decoded.header.resourceId.chainType), - chainId: String(decoded.header.resourceId.chainId), - targetSystem: u8aToHex(decoded.header.resourceId.targetSystem), - }; - } - case ProposalType.WrappingFeeUpdate: { - const decoded = WrappingFeeUpdateProposal.fromBytes(bytes); - - const chainName = getChainName( - decoded.header.resourceId.chainType, - decoded.header.resourceId.chainId, - ); - - return { - newFee: decoded.newFee, - functionSignature: u8aToHex(decoded.header.functionSignature), - nonce: String(decoded.header.nonce), - chainName: chainName, - chainType: String(decoded.header.resourceId.chainType), - chainId: String(decoded.header.resourceId.chainId), - targetSystem: u8aToHex(decoded.header.resourceId.targetSystem), - }; - } - default: { - return { data }; - } - } -} - -const getChainName = (chainType: ChainType, chainId: number) => { - const chainTypedChainId = calculateTypedChainId(chainType, chainId); - - const chain = chainsConfig[chainTypedChainId]; - - return chain.name; -}; diff --git a/apps/stats-dapp/src/utils/index.ts b/apps/stats-dapp/src/utils/index.ts deleted file mode 100644 index 4ef6643db9..0000000000 --- a/apps/stats-dapp/src/utils/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './getChipColorByKeyType'; -export * from './getChipColorByProposalType'; -export * from './getProposalsData'; -export * from './ChainNameToLogo'; -export * from './networkSelector'; diff --git a/apps/stats-dapp/src/utils/networkSelector.ts b/apps/stats-dapp/src/utils/networkSelector.ts deleted file mode 100644 index 1bcb34be01..0000000000 --- a/apps/stats-dapp/src/utils/networkSelector.ts +++ /dev/null @@ -1,26 +0,0 @@ -export const isValidSubqueryEndpoint = async (endpoint: string) => { - try { - const response = await fetch(endpoint, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ query: '{__schema{types{name}}}' }), - }); - - if (response.ok) { - return true; - } else { - return false; - } - } catch (error) { - return false; - } -}; - -export const isValidPolkadotEndpoint = async (endpoint: string) => { - const endpointRegex = - /^wss?:\/\/(?:(?:\d{1,3}\.){3}\d{1,3}|localhost|\[[0-9a-fA-F:]+\]|(?:[a-zA-Z0-9_-]+\.)*[a-zA-Z0-9_-]+\.[a-zA-Z]{2,6})(?::\d{1,5})?$/; - - return endpointRegex.test(endpoint); -}; diff --git a/apps/stats-dapp/tailwind.config.js b/apps/stats-dapp/tailwind.config.js deleted file mode 100644 index e8b03cbed5..0000000000 --- a/apps/stats-dapp/tailwind.config.js +++ /dev/null @@ -1,12 +0,0 @@ -const preset = require('../../tailwind.preset.cjs'); -const { createGlobPatternsForDependencies } = require('@nx/react/tailwind'); -const { join } = require('path'); - -/** @type {import('tailwindcss').Config} */ -module.exports = { - presets: [preset], - content: [ - join(__dirname, 'src/**/*!(*.stories|*.spec).{ts,tsx,html}'), - ...createGlobPatternsForDependencies(__dirname), - ], -}; diff --git a/apps/stats-dapp/tsconfig.app.json b/apps/stats-dapp/tsconfig.app.json deleted file mode 100644 index b09caa8519..0000000000 --- a/apps/stats-dapp/tsconfig.app.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "types": [ - "node", - "@nx/react/typings/cssmodule.d.ts", - "@nx/react/typings/image.d.ts" - ], - "strict": true - }, - "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"], - "include": ["**/*.ts", "**/*.tsx"] -} diff --git a/apps/stats-dapp/tsconfig.json b/apps/stats-dapp/tsconfig.json deleted file mode 100644 index 15c48fa3f1..0000000000 --- a/apps/stats-dapp/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "allowJs": true - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.spec.json" - }, - { - "path": "../../tsconfig.base.json" - } - ] -} diff --git a/apps/stats-dapp/tsconfig.spec.json b/apps/stats-dapp/tsconfig.spec.json deleted file mode 100644 index e8ce4492fd..0000000000 --- a/apps/stats-dapp/tsconfig.spec.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "types": [ - "jest", - "node", - "@nx/react/typings/cssmodule.d.ts", - "@nx/react/typings/image.d.ts" - ] - }, - "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] -} diff --git a/apps/stats-dapp/types/index.ts b/apps/stats-dapp/types/index.ts deleted file mode 100644 index 026326155b..0000000000 --- a/apps/stats-dapp/types/index.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { IconBase } from '@webb-tools/icons/types'; - -/** - * The internal link type - */ -export interface Link { - /** - * The name of the link - */ - name: string; - /** - * Represents the react router path for internal path - */ - path: string; -} - -/** - * The external link type - */ -export interface ExternalLink { - /** - * The name of the link - */ - name: string; - /** - * Represents the external url. - */ - href: string; - /** - * The target attribute specifies where to open the linked document. - * @default "_blank" - */ - target: '_blank' | '_self'; - /** - * The rel attribute specifies the relationship between the current document and the linked document. - */ - rel?: string; -} - -export interface FooterNavsType - extends Record> {} - -/** - * The bottom social platforms config type - */ -export interface SocialConfigsType extends Omit { - /** - * Platform name - */ - name: string; - /** - * Platform icon - */ - Icon: (props: IconBase) => JSX.Element; -} diff --git a/apps/stats-dapp/webpack.config.js b/apps/stats-dapp/webpack.config.js deleted file mode 100644 index 8643af1825..0000000000 --- a/apps/stats-dapp/webpack.config.js +++ /dev/null @@ -1,391 +0,0 @@ -// Copyright 2024 @webb-tools/ -// SPDX-License-Identifier: Apache-2.0 - -const path = require('path'), - fs = require('fs'), - webpack = require('webpack'), - TerserPlugin = require('terser-webpack-plugin'), - MiniCssExtractPlugin = require('mini-css-extract-plugin'), - CssMinimizerPlugin = require('css-minimizer-webpack-plugin'), - BundleAnalyzerPlugin = - require('webpack-bundle-analyzer').BundleAnalyzerPlugin, - ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin'), - HtmlWebPackPlugin = require('html-webpack-plugin'), - CopyWebpackPlugin = require('copy-webpack-plugin'); - -const { workspaceRoot } = require('nx/src/utils/workspace-root'); -const findPackages = require('../../tools/scripts/findPackages'); - -const isDevelopment = process.env.NODE_ENV !== 'production'; - -const alias = findPackages().reduce((alias, { dir, name }) => { - alias[name] = path.resolve(__dirname, `../../libs/${dir}/src`); - - return alias; -}, {}); -alias['@webb-tools/stats-dapp'] = path.resolve(__dirname, `src`); - -const plugins = fs.existsSync(path.join(__dirname, 'src/public')) - ? [ - new CopyWebpackPlugin({ - patterns: [ - { - from: 'src/public', - globOptions: { - dot: true, - ignore: ['**/index.html'], - }, - }, - ], - }), - ] - : []; - -async function createWebpackBase() { - // Use dynamic import here as `execa` is an esm only module - const { execa } = await import('execa'); - - await execa({ - cwd: workspaceRoot, - stdio: 'inherit', - })`yarn fetch:onChainConfig`; - - console.log( - 'Running webpack in: ', - isDevelopment ? 'development' : 'production', - ); - - const bridgeEnvVars = Object.keys(process.env) - .filter((key) => key.startsWith('BRIDGE_DAPP_')) - .reduce((envVars, key) => { - envVars[`process.env.${key}`] = JSON.stringify(process.env[key]); - return envVars; - }, {}); - - return { - mode: isDevelopment ? 'development' : 'production', - devtool: isDevelopment ? 'source-map' : false, - context: __dirname, - - experiments: { - asyncWebAssembly: true, - }, - - watchOptions: { - poll: 1000, - aggregateTimeout: 1000, - ignored: ['**/node_modules'], - }, - - entry: [path.resolve(__dirname, 'src', 'index.tsx')], - - output: { - chunkFilename: '[name].[chunkhash:8].js', - filename: '[name].[contenthash:8].js', - globalObject: "(typeof self !== 'undefined' ? self : this)", - hashFunction: 'xxhash64', - path: path.join(__dirname, '../../dist/apps/stats-dapp'), - publicPath: '', - }, - - resolve: { - alias: { - ...alias, - 'react/jsx-runtime': require.resolve('react/jsx-runtime'), - }, - - extensions: ['.tsx', '.ts', '.jsx', '.js', '.scss', '.css'], - modules: ['node_modules'], - - fallback: { - assert: require.resolve('assert/'), - crypto: require.resolve('crypto-browserify'), - http: require.resolve('stream-http'), - https: require.resolve('https-browserify'), - os: require.resolve('os-browserify/browser'), - path: require.resolve('path-browserify'), - stream: require.resolve('stream-browserify'), - zlib: require.resolve('browserify-zlib'), - constants: false, - fs: false, - url: false, - }, - }, - - module: { - rules: [ - // js stuffs - { - // exclude all node_modules except @webb-tools/contracts - exclude: /node_modules\/(?!(@webb-tools\/contracts(\/.*)?)).*/, - test: /\.(t|j)sx?$/, - use: { - loader: 'babel-loader', - options: { - compact: false, - presets: [ - '@nx/js/babel', - '@babel/preset-env', - '@babel/preset-typescript', - ['@babel/preset-react', { development: isDevelopment }], - ], - plugins: [ - isDevelopment && [ - require.resolve('react-refresh/babel'), - { skipEnvCheck: true }, - ], - [ - '@babel/plugin-transform-private-property-in-object', - { loose: false }, - ], - ['@babel/plugin-transform-private-methods', { loose: false }], - ['@babel/plugin-transform-class-properties', { loose: false }], - 'preval', - ].filter(Boolean), - }, - }, - }, - - // css stuffs - { - test: /\.s?[ac]ss$/i, - use: [ - isDevelopment - ? 'style-loader' - : { - // save the css to external file - loader: MiniCssExtractPlugin.loader, - options: { - esModule: false, - }, - }, - { - // becombine other css files into one - // https://www.npmjs.com/package/css-loader - loader: 'css-loader', - options: { - esModule: false, - importLoaders: 1, // 1 other loader used first, postcss-loader. - sourceMap: isDevelopment, - }, - }, - { - // process tailwind stuff - // https://webpack.js.org/loaders/postcss-loader/ - loader: 'postcss-loader', - options: { - sourceMap: isDevelopment, - postcssOptions: { - plugins: [ - require('tailwindcss'), - // add addtional postcss plugins here - // easily find plugins at https://www.postcss.parts/ - ], - }, - }, - }, - ], - }, - - // markdown - { - test: /\.md$/, - use: [ - require.resolve('html-loader'), - require.resolve('markdown-loader'), - ], - }, - - // assets - { - test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/], - exclude: [/semantic-ui-css/], - type: 'asset/resource', - generator: { - filename: 'static/[name].[contenthash:8][ext]', - }, - }, - - // fonts - { - test: /\.(ttf|eot|otf|woff)$/, - exclude: [/semantic-ui-css/], - type: 'asset/resource', - generator: { - filename: 'static/[name].[contenthash:8][ext]', - }, - }, - - // icon - { - test: /\.(ico)$/, - type: 'asset', - }, - - // assets - { - test: [ - /\.bmp$/, - /\.gif$/, - /\.jpe?g$/, - /\.png$/, - /\.eot$/, - /\.ttf$/, - /\.woff$/, - /\.woff2$/, - ], - include: [/semantic-ui-css/], - use: [ - { - loader: require.resolve('null-loader'), - }, - ], - }, - - // svg react generator - { - test: /\.svg$/i, - issuer: /\.[jt]sx?$/, - use: ['@svgr/webpack'], - }, - ], - }, - - plugins: [ - new webpack.ProvidePlugin({ - Buffer: ['buffer', 'Buffer'], - process: 'process/browser.js', - }), - - new webpack.ProvidePlugin({ - React: 'react', - }), - - // build html file - new HtmlWebPackPlugin({ - template: './src/public/index.html', - inject: true, - filename: './index.html', - }), - - isDevelopment && new ReactRefreshWebpackPlugin(), - - new MiniCssExtractPlugin({ - filename: '[name].[contenthash:8].css', - }), - - // Bundle Analyzer, a visual view of what goes into each JS file. - // https://www.npmjs.com/package/webpack-bundle-analyzer - process.env.ANALYZE && new BundleAnalyzerPlugin(), - - new webpack.optimize.SplitChunksPlugin(), - - new webpack.DefinePlugin({ - ...bridgeEnvVars, - }), - - /** - * Ignore the critical dependency warning for @webb-tools/utils - * as the library uses dynamic imports for the fixtures in fixtures.ts - */ - new webpack.ContextReplacementPlugin( - /\/@webb-tools\/utils\//, - (/** @type {{ dependencies: { critical: any; }[]; }} */ data) => { - delete data.dependencies[0].critical; - return data; - }, - ), - ] - .concat(plugins) - .filter(Boolean), - - optimization: { - minimize: !isDevelopment, - - minimizer: [ - new TerserPlugin({ - terserOptions: { - parse: { - // We want terser to parse ecma 8 code. However, we don't want it - // to apply minification steps that turns valid ecma 5 code - // into invalid ecma 5 code. This is why the `compress` and `output` - ecma: 8, - }, - compress: { - ecma: 5, - inline: 2, - drop_console: true, - }, - mangle: { - // Find work around for Safari 10+ - safari10: true, - }, - output: { - ecma: 5, - comments: false, - }, - }, - - // Use multi-process parallel running to improve the build speed - parallel: true, - - extractComments: false, - }), - - // https://webpack.js.org/plugins/css-minimizer-webpack-plugin/ - new CssMinimizerPlugin({ - // style do anything to the wordpress style.css file - exclude: /style\.css$/, - - // Use multi-process parallel running to improve the build speed - parallel: true, - - minimizerOptions: { - preset: ['default', { discardComments: { removeAll: true } }], - // plugins: ['autoprefixer'], - }, - }), - ], - - splitChunks: { - chunks: 'all', - }, - }, - - // https://webpack.js.org/configuration/dev-server/ - devServer: { - hot: true, - port: 3001, - host: '0.0.0.0', - compress: true, - allowedHosts: 'all', - // This option fix the error `originalOnListen is not a function` when using `webpack-dev-server` - onListening: function (devServer) { - if (!devServer) { - throw new Error('webpack-dev-server is not defined'); - } - - const port = devServer.server.address().port; - console.log('Listening on port:', port); - }, - ...(isDevelopment - ? { - client: { - overlay: { - errors: false, - warnings: false, // Hide warnings as they present on the terminal - }, - }, - } - : {}), - }, - - performance: { - hints: false, - maxEntrypointSize: 512000, - maxAssetSize: 512000, - }, - }; -} - -module.exports = createWebpackBase; diff --git a/apps/tangle-cloud/specs/index.spec.tsx b/apps/tangle-cloud/specs/index.spec.tsx deleted file mode 100644 index 3f45a70480..0000000000 --- a/apps/tangle-cloud/specs/index.spec.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react'; -import { render } from '@testing-library/react'; - -import Page from '../app/page'; - -describe('Page', () => { - it('should render successfully', () => { - const { baseElement } = render(); - expect(baseElement).toBeTruthy(); - }); -}); diff --git a/apps/zk-explorer/.eslintrc.json b/apps/zk-explorer/.eslintrc.json deleted file mode 100644 index 47e930c421..0000000000 --- a/apps/zk-explorer/.eslintrc.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "extends": [ - "plugin:@nx/react-typescript", - "next", - "next/core-web-vitals", - "../../.eslintrc.json" - ], - "ignorePatterns": ["!**/*", ".next/**/*"], - "overrides": [ - { - "files": ["*.*"], - "rules": { - "@next/next/no-html-link-for-pages": "off" - } - }, - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": { - "@next/next/no-html-link-for-pages": ["error", "apps/zk-explorer/pages"] - } - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - }, - { - "files": ["*.spec.ts", "*.spec.tsx", "*.spec.js", "*.spec.jsx"], - "env": { - "jest": true - } - } - ] -} diff --git a/apps/zk-explorer/.gitattributes b/apps/zk-explorer/.gitattributes deleted file mode 100644 index 6313b56c57..0000000000 --- a/apps/zk-explorer/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -* text=auto eol=lf diff --git a/apps/zk-explorer/CHANGELOG.md b/apps/zk-explorer/CHANGELOG.md deleted file mode 100644 index 631378ee22..0000000000 --- a/apps/zk-explorer/CHANGELOG.md +++ /dev/null @@ -1,37 +0,0 @@ -# Changelog - -All notable changes to this app will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -### Added - -- New feature or functionality -- New file or resource - -### Changed - -- Updates to existing features -- Changes to existing files or resources - -### Deprecated - -- Features or functionality that will be removed in future versions -- Files or resources that will be removed in future versions - -### Removed - -- Features or functionality that have been removed -- Files or resources that have been removed - -### Fixed - -- Bug fixes -- Corrections to existing files or resources - -### Security - -- Security-related changes, such as vulnerability patches diff --git a/apps/zk-explorer/README.md b/apps/zk-explorer/README.md deleted file mode 100644 index 80612e39e0..0000000000 --- a/apps/zk-explorer/README.md +++ /dev/null @@ -1,49 +0,0 @@ -