From f6f46d33720e94cc2ff1e551ba4bdf644897ff4f Mon Sep 17 00:00:00 2001 From: Linkie Link Date: Thu, 25 Jan 2024 14:30:01 +0100 Subject: [PATCH] v2.2.0 (#746) --- .env.example | 45 +- __mocks__/fileMock.js | 6 - __mocks__/helmet.js | 17 - __mocks__/store.js | 23 - __mocks__/styleMock.js | 1 - __mocks__/svgMock.js | 7 - __tests__/Footer.test.tsx | 14 - .../Account/AccountDetails.test.tsx | 67 - __tests__/components/Button/Button.test.tsx | 157 -- __tests__/components/Card.test.tsx | 60 - .../components/CircularProgress.test.tsx | 34 - .../Modals/Unlock/UnlockModal.test.tsx | 65 - __tests__/components/PageMetadata.test.tsx | 32 - __tests__/components/TokenInput.test.tsx | 98 - __tests__/components/Tooltip/Tooltip.test.tsx | 45 - .../Tooltip/TooltipContent.test.tsx | 43 - jest.config.js | 60 - jest.setup.js | 1 - package.json | 31 +- public/images/tokens/ntrn.svg | 16 + public/images/wallets/vectis.png | Bin 0 -> 3836 bytes public/images/wallets/xdefi.png | Bin 8088 -> 4017 bytes public/tradingview.css | 10 + src/api/accounts/getAccount.ts | 13 +- src/api/cosmwasm-client.ts | 163 +- src/api/hls/getAprs.ts | 9 +- src/api/hls/getHLSStakingAccounts.ts | 17 +- src/api/hls/getHLSStakingAssets.ts | 17 +- src/api/hls/getHLSVaults.ts | 8 +- .../incentives/calculateAssetIncentivesApy.ts | 12 +- .../incentives/getTotalActiveEmissionValue.ts | 8 +- src/api/incentives/getUnclaimedRewards.ts | 10 +- src/api/markets/getMarket.ts | 10 +- src/api/markets/getMarketBorrowings.ts | 16 +- src/api/markets/getMarketDebts.ts | 6 +- src/api/markets/getMarketDeposits.ts | 8 +- src/api/markets/getMarketLiquidities.ts | 9 +- .../getMarketUnderlyingLiquidityAmount.ts | 11 +- src/api/markets/getMarkets.ts | 39 +- src/api/params/getAssetParams.ts | 8 +- src/api/perps/getOpeningFee.ts | 14 + src/api/prices/getMarsPrice.ts | 7 +- src/api/prices/getOraclePrices.ts | 12 +- src/api/prices/getPoolPrice.ts | 12 +- src/api/prices/getPrice.ts | 37 +- src/api/prices/getPriceData.ts | 20 - src/api/prices/getPrices.ts | 64 +- src/api/prices/getPythPriceData.ts | 9 +- src/api/prices/getPythPrices.ts | 20 +- src/api/swap/estimateExactIn.ts | 8 +- src/api/swap/getOsmosisSwapFee.ts | 53 + src/api/swap/getPools.ts | 42 - src/api/swap/getSwapRoute.ts | 8 +- src/api/vaults/getDepositedVaults.ts | 70 +- src/api/vaults/getVaultAprs.ts | 15 +- src/api/vaults/getVaultConfigs.ts | 8 +- src/api/vaults/getVaultTokenFromLp.ts | 21 - src/api/vaults/getVaultUtilizations.ts | 5 +- src/api/vaults/getVaults.ts | 16 +- src/api/wallets/getAccountIds.ts | 5 +- src/api/wallets/getAccounts.ts | 11 +- src/api/wallets/getICNS.ts | 10 +- src/api/wallets/getWalletBalances.ts | 9 +- .../AccountBalancesTable/Columns/Asset.tsx | 22 - src/components/DepositCapMessage.tsx | 50 - src/components/DirectionSelect.tsx | 59 - src/components/DisplayCurrency.tsx | 82 - src/components/Earn/Farm/FeaturedVaults.tsx | 39 - src/components/Earn/Farm/VaultCard.tsx | 83 - src/components/Icons/ArrowRight.svg | 9 - src/components/Icons/index.ts | 68 - .../Account/AccountDeleteAlertDialog.tsx | 2 +- .../Modals/Account/AccountDeleteModal.tsx | 13 +- .../AddVaultBorrowAssetsModalContent.tsx | 16 +- .../Modals/AddVaultAssets/index.tsx | 8 +- .../Modals/AlertDialog/ButtonIcons.tsx | 2 +- src/components/Modals/AlertDialog/index.tsx | 8 +- .../Modals/AssetAmountSelectActionModal.tsx | 21 +- .../Modals/AssetsSelect/AssetSelectTable.tsx | 154 -- .../Modals/AssetsSelect/Columns/Asset.tsx | 55 + .../Modals/AssetsSelect/Columns/Balance.tsx | 38 + .../AssetsSelect/Columns/BorrowRate.tsx | 25 + .../Columns/useAssetSelectColumns.tsx | 30 + src/components/Modals/AssetsSelect/index.tsx | 81 + .../AssetsSelect/useAssetTableColumns.tsx | 96 - src/components/Modals/BorrowModal.tsx | 30 +- .../Modals/FundWithdraw/FundAccount.tsx | 2 +- .../FundWithdraw/WithdrawFromAccount.tsx | 47 +- src/components/Modals/FundWithdraw/index.tsx | 4 +- src/components/Modals/GetStartedModal.tsx | 6 +- .../Modals/HLS/Deposit/CreateAccount.tsx | 8 +- .../Modals/HLS/Deposit/Leverage.tsx | 6 +- .../Modals/HLS/Deposit/LeverageSummary.tsx | 2 +- .../Modals/HLS/Deposit/ProvideCollateral.tsx | 6 +- .../Modals/HLS/Deposit/SelectAccount.tsx | 6 +- .../Modals/HLS/Deposit/SubTitles.tsx | 21 +- .../HLS/Deposit/Summary/ApyBreakdown.tsx | 4 +- .../HLS/Deposit/Summary/AssetSummary.tsx | 8 +- .../Modals/HLS/Deposit/Summary/Container.tsx | 2 +- .../HLS/Deposit/Summary/YourPosition.tsx | 10 +- .../Modals/HLS/Deposit/Summary/index.tsx | 4 +- src/components/Modals/HLS/Deposit/index.tsx | 4 +- .../Modals/HLS/Deposit/useAccordionItems.tsx | 19 +- src/components/Modals/HLS/Header.tsx | 6 +- .../Modals/HLS/Manage/ChangeLeverage.tsx | 32 +- src/components/Modals/HLS/Manage/Deposit.tsx | 34 +- src/components/Modals/HLS/Manage/Repay.tsx | 8 +- src/components/Modals/HLS/Manage/Withdraw.tsx | 15 +- src/components/Modals/HLS/Manage/index.tsx | 6 +- src/components/Modals/HLS/index.tsx | 6 +- .../Modals/LendAndReclaim/DetailsHeader.tsx | 10 +- .../Modals/LendAndReclaim/index.tsx | 2 +- src/components/{ => Modals}/Modal.tsx | 4 +- .../Modals/ModalContentWithSummary.tsx | 8 +- .../Modals/Settings/SettingsOptions.tsx | 2 +- .../Modals/Settings/SettingsSwitch.tsx | 4 +- src/components/Modals/Settings/index.tsx | 61 +- .../Modals/Unlock/UnlockModalContent.tsx | 4 +- src/components/Modals/Unlock/index.tsx | 4 +- .../Modals/Vault/VaultBorrowings.tsx | 30 +- .../Modals/Vault/VaultBorrowingsSubTitle.tsx | 17 +- src/components/Modals/Vault/VaultDeposits.tsx | 30 +- .../Modals/Vault/VaultDepositsSubTitle.tsx | 35 +- .../Modals/Vault/VaultModalContent.tsx | 20 +- .../Modals/Vault/VaultModalContentHeader.tsx | 6 +- src/components/Modals/Vault/index.tsx | 19 +- .../WalletAssets/WalletAssetsModalContent.tsx | 26 +- src/components/Modals/WalletAssets/index.tsx | 6 +- .../Modals/WithdrawFromVaultsModal.tsx | 39 +- src/components/Navigation/NavMenu.tsx | 80 - src/components/Perps/Module/PerpsModule.tsx | 59 - src/components/Perps/PerpsChart.tsx | 12 - src/components/Perps/PerpsInfo.tsx | 99 - src/components/Perps/PerpsPositions.tsx | 5 - src/components/Table/Row.tsx | 63 - src/components/Trade/TradeChart/DataFeed.ts | 500 ---- .../Trade/TradeChart/TVChartContainer.tsx | 166 -- src/components/Trade/TradeChart/index.tsx | 59 - .../AssetSelector/AssetOverlay.tsx | 161 -- src/components/Wallet/RecentTransactions.tsx | 26 +- src/components/Wallet/WalletBridges.tsx | 41 +- src/components/Wallet/WalletConnectButton.tsx | 8 +- .../Wallet/WalletConnectProvider.tsx | 51 +- .../Wallet/WalletConnectedButton.tsx | 39 +- src/components/Wallet/WalletConnecting.tsx | 160 +- .../Wallet/WalletFetchBalancesAndAccounts.tsx | 14 +- src/components/Wallet/WalletSelect.tsx | 24 +- src/components/Wallet/index.tsx | 32 +- .../AccountBalancesTable/Columns/Apy.tsx | 6 +- .../AccountBalancesTable/Columns/Asset.tsx | 19 + .../AccountBalancesTable/Columns/LiqPrice.tsx | 12 +- .../AccountBalancesTable/Columns/Price.tsx | 4 +- .../AccountBalancesTable/Columns/Size.tsx | 6 +- .../AccountBalancesTable/Columns/Value.tsx | 24 +- .../Columns/useAccountBalancesColumns.tsx | 19 +- .../AccountBalancesTable/functions.ts | 13 +- .../AccountBalancesTable/index.tsx | 16 +- .../useAccountBalanceData.tsx | 32 +- .../AccountComposition.tsx | 43 +- .../AccountCreateFirst.tsx | 4 +- .../AccountDetails/AccountDetailsLeverage.tsx | 4 +- .../AccountDetails/Skeleton.tsx | 6 +- .../AccountDetails/index.tsx | 66 +- .../AccountFund/AccountFundContent.tsx | 50 +- .../AccountFund/AccountFundFullPage.tsx | 12 +- .../account/AccountFund/AccountFundRow.tsx | 34 + .../AccountList/AccountStats.tsx | 23 +- .../AccountList/Skeleton.tsx | 14 +- .../AccountList/index.tsx | 10 +- .../{Account => account}/AccountMenu.tsx | 6 +- .../AccountMenuContent.tsx | 34 +- .../Columns/Asset.tsx | 71 + .../Columns/TotalPnL.tsx | 22 + .../Columns/useAccountPerpsColumns.tsx | 52 + .../AccountPerpPositionTable/functions.ts | 20 + .../AccountPerpPositionTable/index.tsx | 37 + .../useAccountPerpData.tsx | 30 + .../{Account => account}/AccountSummary.tsx | 120 +- .../CurrentAccountSummary.tsx | 4 +- .../{Account => account}/Health/HealthBar.tsx | 6 +- .../Health/HealthGauge.tsx | 6 +- .../Health/HealthIcon.tsx | 2 +- .../Health/HealthTooltip.tsx | 8 +- .../{Account => account}/RiskChart.tsx | 6 +- .../BorrowActionButtons.tsx | 10 +- .../{Borrow => borrow}/BorrowIntro.tsx | 2 +- .../{Borrow => borrow}/Borrowings.tsx | 10 +- .../Table/AvailableBorrowingsTable.tsx | 12 +- .../Table/Columns/BorrowRate.tsx | 4 +- .../{Borrow => borrow}/Table/Columns/Debt.tsx | 6 +- .../Table/Columns/Liquidity.tsx | 10 +- .../Table/Columns/Manage.tsx | 2 +- .../{Borrow => borrow}/Table/Columns/Name.tsx | 4 +- .../Table/Columns/useAvailableColumns.tsx | 8 +- .../Table/Columns/useDepositedColumns.tsx | 10 +- .../Table/DepositedBorrowingsTable.tsx | 12 +- src/components/{ => common}/Accordion.tsx | 4 +- .../{ => common}/AccordionContent.tsx | 4 +- .../{ => common}/AmountAndValue.tsx | 4 +- .../AvailableLiquidityMessage.tsx | 4 +- src/components/{ => common}/Background.tsx | 4 +- .../{ => common}/BorrowCapacity.tsx | 8 +- .../{ => common}/Button/ActionButton.tsx | 10 +- .../{ => common}/Button/DropDownButton.tsx | 29 +- .../{ => common}/Button/EscButton.tsx | 4 +- .../{ => common}/Button/constants.ts | 0 src/components/{ => common}/Button/index.tsx | 12 +- src/components/{ => common}/Button/utils.tsx | 0 src/components/{ => common}/Card.tsx | 2 +- src/components/{ => common}/CheckMark.tsx | 4 +- src/components/{ => common}/Checkbox.tsx | 4 +- .../{ => common}/CircularProgress.tsx | 2 +- .../{ => common}/DefaultPageHead.tsx | 0 .../{ => common}/DepositCapCell.tsx | 15 +- src/components/common/DepositCapMessage.tsx | 56 + src/components/common/DisplayCurrency.tsx | 101 + src/components/{ => common}/Divider.tsx | 0 src/components/{ => common}/DocsLink.tsx | 6 +- src/components/{ => common}/DoubleLogo.tsx | 12 +- src/components/{ => common}/Footer.tsx | 4 +- .../{ => common}/FormattedNumber.tsx | 2 +- .../{ => common}/FullOverlayContent.tsx | 6 +- src/components/{ => common}/Gauge.tsx | 4 +- src/components/{ => common}/Icons/Account.svg | 0 .../{ => common}/Icons/AccountArrowDown.svg | 0 .../{ => common}/Icons/ArrowChartLineUp.svg | 0 .../{ => common}/Icons/ArrowCircle.svg | 0 .../Icons/ArrowCircledTopRight.svg | 0 .../{ => common}/Icons/ArrowDownLine.svg | 0 src/components/common/Icons/ArrowRight.svg | 3 + .../{ => common}/Icons/ArrowUpLine.svg | 0 src/components/{ => common}/Icons/Chain.svg | 0 src/components/{ => common}/Icons/Check.svg | 0 .../{ => common}/Icons/CheckCircled.svg | 0 .../{ => common}/Icons/ChevronDown.svg | 0 .../{ => common}/Icons/ChevronLeft.svg | 0 .../{ => common}/Icons/ChevronRight.svg | 0 .../{ => common}/Icons/ChevronUp.svg | 0 src/components/{ => common}/Icons/Circle.svg | 0 src/components/{ => common}/Icons/Coins.svg | 0 .../{ => common}/Icons/CoinsSwap.svg | 0 src/components/{ => common}/Icons/Compass.svg | 0 src/components/{ => common}/Icons/Copy.svg | 0 src/components/{ => common}/Icons/Cross.svg | 0 .../{ => common}/Icons/CrossCircled.svg | 0 src/components/common/Icons/Edit.svg | 8 + src/components/{ => common}/Icons/Enter.svg | 0 .../Icons/ExclamationMarkCircled.svg | 0 .../Icons/ExclamationMarkTriangle.svg | 0 .../{ => common}/Icons/ExternalLink.svg | 0 src/components/{ => common}/Icons/Flag.svg | 0 src/components/{ => common}/Icons/Gear.svg | 0 .../{ => common}/Icons/GridGlobe.svg | 0 .../{ => common}/Icons/GridHole.svg | 0 .../{ => common}/Icons/GridLandscape.svg | 0 .../{ => common}/Icons/GridPlanet.svg | 0 .../{ => common}/Icons/GridTire.svg | 0 src/components/{ => common}/Icons/GridWeb.svg | 0 .../{ => common}/Icons/HandCoins.svg | 0 src/components/{ => common}/Icons/Heart.svg | 0 .../{ => common}/Icons/InfoCircle.svg | 0 .../{ => common}/Icons/LockLocked.svg | 0 .../{ => common}/Icons/LockUnlocked.svg | 0 src/components/{ => common}/Icons/Logo.svg | 0 src/components/{ => common}/Icons/Luggage.svg | 0 .../{ => common}/Icons/MarsProtocol.svg | 0 src/components/common/Icons/Neutron.svg | 16 + src/components/{ => common}/Icons/Osmo.svg | 0 .../{ => common}/Icons/OverlayMark.svg | 0 src/components/{ => common}/Icons/Plus.svg | 0 .../{ => common}/Icons/PlusCircled.svg | 0 .../{ => common}/Icons/PlusSquared.svg | 0 .../{ => common}/Icons/PythLogoType.svg | 0 .../{ => common}/Icons/Questionmark.svg | 0 .../{ => common}/Icons/ReceiptCheck.svg | 0 src/components/{ => common}/Icons/Scale.svg | 0 src/components/{ => common}/Icons/Search.svg | 0 src/components/{ => common}/Icons/Shield.svg | 0 src/components/{ => common}/Icons/SortAsc.svg | 0 .../{ => common}/Icons/SortDesc.svg | 0 .../{ => common}/Icons/SortNone.svg | 0 .../{ => common}/Icons/StarFilled.svg | 0 .../{ => common}/Icons/StarOutlined.svg | 0 .../{ => common}/Icons/Subtract.svg | 0 .../{ => common}/Icons/SwapIcon.svg | 0 .../{ => common}/Icons/ThreeDots.svg | 0 .../{ => common}/Icons/TooltipArrow.svg | 0 .../{ => common}/Icons/TrashBin.svg | 0 src/components/{ => common}/Icons/Twitter.svg | 0 .../{ => common}/Icons/VerticalThreeLine.svg | 0 src/components/{ => common}/Icons/Wallet.svg | 0 src/components/common/Icons/index.ts | 70 + src/components/{ => common}/Intro.tsx | 15 +- .../{ => common}/LabelValuePair.tsx | 4 +- .../LeverageSlider}/InputOverlay.tsx | 41 +- .../LeverageSlider}/index.tsx | 27 +- src/components/{ => common}/Loading.tsx | 0 src/components/{ => common}/MarketDetails.tsx | 4 +- .../{ => common}/MigrationBanner.tsx | 10 +- .../{ => common}/MobileNotSupported.tsx | 4 +- .../{ => common}/NotificationBanner.tsx | 4 +- src/components/{ => common}/NumberInput.tsx | 0 src/components/{ => common}/Overlay.tsx | 2 +- src/components/{ => common}/PageMetadata.tsx | 0 src/components/{ => common}/ProgressBar.tsx | 0 src/components/{ => common}/Radio.tsx | 0 src/components/{ => common}/SearchBar.tsx | 2 +- src/components/{ => common}/Select/Option.tsx | 20 +- src/components/{ => common}/Select/index.tsx | 8 +- src/components/{ => common}/Settings.tsx | 4 +- src/components/{ => common}/ShareBar.tsx | 8 +- .../{ => common}/Slider/LeverageLabel.tsx | 2 +- src/components/{ => common}/Slider/Mark.tsx | 0 src/components/{ => common}/Slider/Track.tsx | 0 src/components/{ => common}/Slider/index.tsx | 8 +- src/components/{ => common}/Spacer.tsx | 0 src/components/{ => common}/SummaryItems.tsx | 6 +- src/components/common/SummaryLine.tsx | 19 + .../{ => common}/Switch/SwitchAutoLend.tsx | 11 +- .../{ => common}/Switch/SwitchWithLabel.tsx | 6 +- src/components/{ => common}/Switch/index.tsx | 0 .../{ => common}/Table/ActionButtonRow.tsx | 2 +- src/components/common/Table/Row.tsx | 71 + .../{ => common/Table}/TableSkeleton.tsx | 6 +- src/components/{ => common}/Table/index.tsx | 24 +- .../{ => common}/TermsOfService.tsx | 8 +- src/components/{ => common}/Text.tsx | 0 src/components/{ => common}/TextLink.tsx | 0 .../{ => common}/TitleAndSubCell.tsx | 2 +- src/components/{ => common}/Toaster/index.tsx | 29 +- .../TokenInput/TokenInputWithSlider.tsx | 4 +- .../{ => common}/TokenInput/index.tsx | 28 +- .../{ => common}/Tooltip/TooltipContent.tsx | 6 +- src/components/{ => common}/Tooltip/index.tsx | 8 +- .../common/TradeDirectionSelector.tsx | 67 + .../{ => common}/WarningMessages.tsx | 8 +- src/components/common/assets/AssetAmount.tsx | 18 + .../assets}/AssetBalanceRow.tsx | 8 +- .../{Asset => common/assets}/AssetImage.tsx | 0 .../{Asset => common/assets}/AssetRate.tsx | 8 +- .../{Asset => common/assets}/AssetSymbol.tsx | 2 +- src/components/common/chain/ChainLogo.tsx | 20 + src/components/{Earn => earn}/Tab.tsx | 0 .../{Earn/Farm => earn/farm}/FarmIntro.tsx | 6 +- .../farm}/Table/AvailableVaultsTable.tsx | 4 +- .../Farm => earn/farm}/Table/Columns/Apy.tsx | 4 +- .../farm}/Table/Columns/Deposit.tsx | 4 +- .../farm}/Table/Columns/DepositCap.tsx | 4 +- .../farm}/Table/Columns/Details.tsx | 4 +- .../farm}/Table/Columns/MaxLTV.tsx | 4 +- .../Farm => earn/farm}/Table/Columns/Name.tsx | 6 +- .../farm}/Table/Columns/PositionValue.tsx | 2 +- .../Farm => earn/farm}/Table/Columns/TVL.tsx | 4 +- .../Table/Columns/useAvailableColumns.tsx | 14 +- .../Table/Columns/useDepositedColumns.tsx | 14 +- .../farm}/Table/DepositedVaultsTable.tsx | 6 +- .../Farm => earn/farm}/VaultExpanded.tsx | 8 +- .../{Earn/Farm => earn/farm}/VaultRow.tsx | 0 .../Farm => earn/farm}/VaultUnlockBanner.tsx | 8 +- .../{Earn/Farm => earn/farm}/Vaults.tsx | 19 +- .../{Earn/Lend => earn/lend}/LendIntro.tsx | 6 +- .../lend}/LendingActionButtons.tsx | 12 +- .../{Earn/Lend => earn/lend}/Lends.tsx | 9 +- .../lend}/Table/AvailableLendsTable.tsx | 12 +- .../Lend => earn/lend}/Table/Columns/Apy.tsx | 4 +- .../lend}/Table/Columns/DepositCap.tsx | 10 +- .../lend}/Table/Columns/DepositValue.tsx | 9 +- .../lend}/Table/Columns/Manage.tsx | 2 +- .../Lend => earn/lend}/Table/Columns/Name.tsx | 4 +- .../Table/Columns/useAvailableColumns.tsx | 8 +- .../Table/Columns/useDepositedColumns.tsx | 10 +- .../lend}/Table/DepositedLendsTable.tsx | 12 +- src/components/header/ChainSelect.tsx | 128 + .../{Header => header}/DesktopHeader.tsx | 37 +- .../{Header => header}/OracleResyncButton.tsx | 11 +- src/components/{ => header}/RewardsCenter.tsx | 30 +- .../navigation}/DesktopNavigation.tsx | 15 +- .../navigation}/NavLink.tsx | 11 +- src/components/header/navigation/NavMenu.tsx | 90 + .../{ => header/navigation}/Routes.tsx | 19 +- .../{HLS => hls}/Farm/AvailableHLSVaults.tsx | 13 +- .../{HLS => hls}/Farm/HLSFarmIntro.tsx | 6 +- .../{HLS => hls}/Farm/Table/Columns/APY.tsx | 6 +- .../Farm/Table/Columns/Deposit.tsx | 10 +- .../Farm/Table/Columns/MaxLeverage.tsx | 2 +- .../{HLS => hls}/Farm/Table/Columns/Name.tsx | 2 +- .../Table/Columns/useAvailableColumns.tsx | 14 +- .../{HLS => hls}/Farm/Table/index.tsx | 0 src/components/{HLS => hls}/HLSTag.tsx | 2 +- .../Staking/ActiveStakingAccounts.tsx | 6 +- .../Staking/AvailableHLSStakingAssets.tsx | 8 +- .../{HLS => hls}/Staking/HLSStakingIntro.tsx | 6 +- .../Staking/Table/Columns/Account.tsx | 4 +- .../Staking/Table/Columns/ActiveApy.tsx | 12 +- .../Staking/Table/Columns/ApyRange.tsx | 6 +- .../Staking/Table/Columns/DebtValue.tsx | 2 +- .../Staking/Table/Columns/DepositCap.tsx | 2 +- .../Staking/Table/Columns/Leverage.tsx | 2 +- .../Staking/Table/Columns/Manage.tsx | 6 +- .../Staking/Table/Columns/MaxLTV.tsx | 4 +- .../Staking/Table/Columns/MaxLeverage.tsx | 2 +- .../Staking/Table/Columns/Name.tsx | 12 +- .../Staking/Table/Columns/NetValue.tsx | 2 +- .../Staking/Table/Columns/PositionValue.tsx | 2 +- .../Table/Columns/useAvailableColumns.tsx | 12 +- .../Table/Columns/useDepositedColumns.tsx | 16 +- .../BalancesTable/Columns/EntryPrice.tsx | 32 + .../perps/BalancesTable/Columns/Leverage.tsx | 31 + .../perps/BalancesTable/Columns/Manage.tsx | 62 + .../perps/BalancesTable/Columns/PerpName.tsx | 16 + .../perps/BalancesTable/Columns/PnL.tsx | 53 + .../perps/BalancesTable/Columns/Size.tsx | 45 + .../BalancesTable/Columns/TradeDirection.tsx | 24 + .../Columns/usePerpsBalancesColumns.tsx | 54 + src/components/perps/BalancesTable/index.tsx | 10 + .../BalancesTable/usePerpsBalancesData.ts | 38 + .../Module/LeverageButtons.tsx | 9 +- src/components/perps/Module/OpeningFee.tsx | 19 + src/components/{Perps => perps}/Module/Or.tsx | 4 +- .../perps/Module/PerpsManageModule/index.tsx | 74 + .../PerpsManageModule/usePerpsManageModule.ts | 68 + src/components/perps/Module/PerpsModule.tsx | 66 + src/components/perps/Module/Summary.tsx | 123 + src/components/perps/PerpsChart.tsx | 16 + .../perps/PerpsInfo/FundingRate.tsx | 77 + .../perps/PerpsInfo/InterestItem.tsx | 27 + src/components/perps/PerpsInfo/index.tsx | 69 + src/components/perps/PerpsPositions.tsx | 5 + .../Account/Balances.tsx | 12 +- .../Account/BreadCrumbs.tsx | 4 +- .../portfolio/Account/PerpPositions.tsx | 50 + .../Account/Summary.tsx | 16 +- .../Card/Skeleton.tsx | 10 +- .../{Portfolio => portfolio}/Card/index.tsx | 26 +- .../Overview/ConnectInfo.tsx | 4 +- .../Overview/Summary.tsx | 17 +- .../Overview/index.tsx | 21 +- .../PortfolioIntro.tsx | 2 +- .../SummarySkeleton.tsx | 16 +- .../{Trade => trade}/AccountDetailsCard.tsx | 6 +- src/components/trade/TradeChart/DataFeed.ts | 142 + .../TradeChart/PoweredByPyth.tsx | 4 +- .../{Trade => trade}/TradeChart/constants.ts | 3 +- src/components/trade/TradeChart/index.tsx | 127 + src/components/trade/TradeChart/streaming.ts | 148 + .../TradeModule/AssetSelector/AssetButton.tsx | 4 +- .../TradeModule/AssetSelector/AssetItem.tsx | 20 +- .../TradeModule/AssetSelector/AssetList.tsx | 45 +- .../AssetOverlay/StablesFilter.tsx | 33 + .../AssetSelector/AssetOverlay/index.tsx | 147 + .../AssetSelector/AssetSelectorItem.tsx | 20 +- .../AssetSelector/AssetSelectorPair.tsx | 20 +- .../AssetSelector/AssetSelectorPerps.tsx | 59 + .../AssetSelector/AssetSelectorSingle.tsx | 35 +- .../TradeModule/AssetSelector/PairsList.tsx | 25 +- .../TradeModule/SwapForm/AssetAmountInput.tsx | 4 +- .../TradeModule/SwapForm/AutoRepayToggle.tsx | 6 +- .../TradeModule/SwapForm/MarginToggle.tsx | 6 +- .../SwapForm/OrderTypeSelector/constants.ts | 2 +- .../SwapForm/OrderTypeSelector/index.tsx | 10 +- .../SwapForm/OrderTypeSelector/types.ts | 0 .../TradeModule/SwapForm/TradeSummary.tsx | 51 +- .../TradeModule/SwapForm/index.tsx | 74 +- .../{Trade => trade}/TradeModule/index.tsx | 2 +- src/configs/assets/AKT.ts | 18 + src/configs/assets/ATOM.ts | 19 + src/configs/assets/AXL.ts | 17 + src/configs/assets/DYDX.ts | 18 + src/configs/assets/INJ.ts | 18 + src/configs/assets/MARS.ts | 14 + src/configs/assets/NTRN.ts | 17 + src/configs/assets/OSMO.ts | 18 + src/configs/assets/TIA.ts | 18 + src/configs/assets/USDC.axl.ts | 19 + src/configs/assets/USDC.ts | 19 + src/configs/assets/USDT.ts | 19 + src/configs/assets/USDollar.ts | 17 + src/configs/assets/WBTC.axl.ts | 18 + src/configs/assets/WETH.xal.ts | 18 + src/configs/assets/lp/OSMO-ATOM.ts | 15 + src/configs/assets/lp/OSMO_USDC.ts | 15 + src/configs/assets/lp/OSMO_WBTC.ts | 15 + src/configs/assets/lp/OSMO_WETH.ts | 15 + src/configs/assets/lp/stATOM_ATOM.ts | 15 + src/configs/assets/stATOM.ts | 16 + src/configs/assets/stOSMO.ts | 16 + src/configs/chains/index.ts | 12 + src/configs/chains/neutron/pion-1.ts | 68 + src/configs/chains/osmosis/devnet.ts | 19 + src/configs/chains/osmosis/osmosis-1.ts | 160 ++ src/constants/accounts.ts | 1 + src/constants/assets.ts | 348 --- src/constants/chains.ts | 72 - src/constants/defaultSettings.ts | 19 +- src/constants/env.ts | 47 - src/constants/explorer.ts | 8 - src/constants/localStorageKeys.ts | 5 +- src/constants/pyth.ts | 4 + src/constants/wallets.ts | 19 +- src/hooks/accounts/useAccount.tsx | 17 + src/hooks/{ => accounts}/useAccountIds.tsx | 6 +- src/hooks/accounts/useAccounts.tsx | 19 + src/hooks/accounts/useCurrentAccount.tsx | 11 + src/hooks/assets/useAllAssets.ts | 5 + src/hooks/assets/useAsset.ts | 8 + src/hooks/assets/useBasetAsset.ts | 7 + src/hooks/assets/useBorrowEnabledAssets.ts | 7 + src/hooks/assets/useDisplayCurrencyAssets.ts | 7 + src/hooks/assets/useGetCoinValue.ts | 25 + src/hooks/assets/useLendEnabledAssets.ts | 7 + src/hooks/assets/useMarketEnabledAssets.ts | 8 + src/hooks/assets/usePerpsEnabledAssets.ts | 7 + src/hooks/broadcast/useDepositVault.ts | 34 +- .../{HLS => hls}/useClosePositionActions.ts | 24 +- src/hooks/{HLS => hls}/useDepositActions.ts | 2 +- .../useAutoLendEnabledAccountIds.ts | 12 + src/hooks/localStorage/useCurrentChainId.ts | 10 + src/hooks/localStorage/useDisplayCurrency.ts | 13 + .../localStorage/useEnableAutoLendGlobal.ts | 13 + src/hooks/localStorage/useFavoriteAssets.ts | 9 + .../{ => localStorage}/useLocalStorage.ts | 22 +- src/hooks/localStorage/useTransactions.ts | 11 + src/hooks/markets/useMarketAssets.ts | 14 + src/hooks/markets/useMarketBorrowings.tsx | 17 + src/hooks/{ => markets}/useMarketDeposits.ts | 4 +- src/hooks/markets/useMarketLiquidities.ts | 17 + src/hooks/{ => params}/useAssetParams.tsx | 4 +- src/hooks/perps/useOpeningFee.ts | 16 + src/hooks/perps/usePerpPosition.ts | 10 + src/hooks/perps/usePerpsAsset.ts | 40 + src/hooks/perps/usePerpsConfig.ts | 14 + src/hooks/perps/usePerpsMarket.ts | 44 +- src/hooks/perps/usePerpsParams.ts | 15 + src/hooks/perps/usePerpsVaultState.ts | 16 + src/hooks/trade/useRoutes.ts | 66 + src/hooks/useAccount.tsx | 10 - src/hooks/useAccounts.tsx | 20 - src/hooks/useAssetIncentiveApy.ts | 12 +- src/hooks/useAssets.ts | 16 +- src/hooks/useAutoLend.ts | 14 +- src/hooks/useBorrowAsset.ts | 2 +- src/hooks/useBorrowEnabledMarkets.ts | 6 +- src/hooks/useBorrowMarketAssetsTableData.ts | 85 +- src/hooks/useChainConfig.ts | 8 + src/hooks/useClients.ts | 42 + src/hooks/useCurrentAccount.tsx | 9 - src/hooks/useCurrentAccountDebts.ts | 6 - src/hooks/useCurrentAccountDeposits.ts | 2 +- src/hooks/useCurrentAccountLends.ts | 2 +- src/hooks/useCurrentWallet.ts | 4 +- src/hooks/useDebounce.ts | 17 + src/hooks/useDepositEnabledMarkets.ts | 2 +- src/hooks/useDepositHlsVault.ts | 8 +- src/hooks/useDepositedVaults.ts | 14 +- src/hooks/useDisplayAsset.tsx | 14 +- src/hooks/useDisplayCurrencyPrice.ts | 13 +- src/hooks/useFilteredAssets.ts | 14 +- src/hooks/useHLSStakingAccounts.tsx | 17 +- src/hooks/useHLSStakingAssets.ts | 4 +- src/hooks/useHLSVaults.ts | 4 +- src/hooks/useHealthComputer.tsx | 34 +- src/hooks/useICNSDomain.tsx | 5 +- src/hooks/useLendingMarketAssetsTableData.ts | 22 +- src/hooks/useMarketAssets.ts | 11 - src/hooks/useMarketBorrowings.tsx | 11 - src/hooks/useMarketLiquidities.ts | 11 - src/hooks/usePriceData.tsx | 11 - src/hooks/usePrices.tsx | 6 +- src/hooks/useSwapFee.ts | 25 +- src/hooks/useSwapRoute.ts | 14 +- src/hooks/useSwapValueLoss.ts | 3 + src/hooks/useTransactionStore.ts | 10 +- src/hooks/useUnclaimedRewards.tsx | 16 +- src/hooks/useUpdatedAccount/functions.ts | 7 +- src/hooks/useUpdatedAccount/index.ts | 34 +- src/hooks/useVaultConfigs.tsx | 4 +- src/hooks/useVaults.tsx | 5 +- src/hooks/useWalletBalances.tsx | 15 +- src/pages/BorrowPage.tsx | 6 +- src/pages/ExecuteMessagePage.tsx | 12 +- src/pages/FarmPage.tsx | 8 +- src/pages/HLSFarmPage.tsx | 8 +- src/pages/HLSStakingPage.tsx | 10 +- src/pages/LendPage.tsx | 13 +- src/pages/MobilePage.tsx | 2 +- src/pages/PerpsPage.tsx | 30 +- src/pages/PortfolioAccountPage.tsx | 14 +- src/pages/PortfolioPage.tsx | 10 +- src/pages/TradePage.tsx | 21 +- src/pages/_app.tsx | 2 +- src/pages/_document.tsx | 6 +- src/pages/_layout.tsx | 16 +- src/pages/index.tsx | 2 +- src/store/index.ts | 4 +- src/store/slices/broadcast.ts | 195 +- src/store/slices/common.ts | 3 + src/store/slices/currency.ts | 12 - src/types/classes/BNCoin.ts | 7 + src/types/enums/network.ts | 1 - src/types/enums/searchParams.ts | 5 + src/types/enums/wallet.ts | 4 +- src/types/generated.d.ts | 4 +- .../mars-account-nft/MarsAccountNft.client.ts | 27 +- .../MarsAccountNft.react-query.ts | 23 +- .../mars-account-nft/MarsAccountNft.types.ts | 13 +- .../generated/mars-account-nft/bundle.ts | 7 +- .../MarsCreditManager.client.ts | 17 +- .../MarsCreditManager.message-composer.ts | 275 -- .../MarsCreditManager.react-query.ts | 15 +- .../MarsCreditManager.types.ts | 90 +- .../generated/mars-credit-manager/bundle.ts | 11 +- .../mars-incentives/MarsIncentives.client.ts | 60 +- .../MarsIncentives.react-query.ts | 58 +- .../mars-incentives/MarsIncentives.types.ts | 16 +- src/types/generated/mars-incentives/bundle.ts | 10 +- .../MarsOracleOsmosis.client.ts | 13 +- .../MarsOracleOsmosis.react-query.ts | 7 +- .../MarsOracleOsmosis.types.ts | 68 +- .../generated/mars-oracle-osmosis/bundle.ts | 10 +- .../mars-params/MarsParams.client.ts | 102 +- .../mars-params/MarsParams.react-query.ts | 114 +- .../generated/mars-params/MarsParams.types.ts | 38 +- src/types/generated/mars-params/bundle.ts | 11 +- .../generated/mars-perps/MarsPerps.client.ts | 550 ++++ .../mars-perps/MarsPerps.react-query.ts | 555 ++++ .../generated/mars-perps/MarsPerps.types.ts | 265 ++ src/types/generated/mars-perps/bundle.ts | 13 + .../mars-red-bank/MarsRedBank.client.ts | 127 +- .../mars-red-bank/MarsRedBank.react-query.ts | 101 +- .../mars-red-bank/MarsRedBank.types.ts | 60 +- src/types/generated/mars-red-bank/bundle.ts | 10 +- .../MarsRoverHealthComputer.client.ts | 8 +- .../MarsRoverHealthComputer.react-query.ts | 8 +- .../MarsRoverHealthComputer.types.ts | 41 +- .../mars-rover-health-computer/bundle.ts | 11 +- .../MarsSwapperAstroport.client.ts | 289 ++ .../MarsSwapperAstroport.react-query.ts | 245 ++ .../MarsSwapperAstroport.types.ts | 129 + .../mars-swapper-astroport/bundle.ts | 13 + .../MarsSwapperBase.client.ts | 286 ++ .../MarsSwapperBase.react-query.ts | 235 ++ .../MarsSwapperBase.types.ts | 99 + .../generated/mars-swapper-base/bundle.ts | 13 + .../MarsSwapperOsmosis.client.ts | 2 +- .../MarsSwapperOsmosis.react-query.ts | 2 +- .../MarsSwapperOsmosis.types.ts | 3 +- .../generated/mars-swapper-osmosis/bundle.ts | 10 +- src/types/interfaces/account.d.ts | 17 +- src/types/interfaces/asset.d.ts | 88 +- src/types/interfaces/chain.d.ts | 59 + src/types/interfaces/components/Button.d.ts | 1 + .../components/Modals/AssetSelect.d.ts | 1 + .../components/Trade/TradingChart.d.ts | 34 + src/types/interfaces/perps.d.ts | 24 +- src/types/interfaces/route.d.ts | 76 + src/types/interfaces/store/broadcast.d.ts | 15 +- src/types/interfaces/store/common.d.ts | 3 +- src/types/interfaces/store/currency.d.ts | 3 - src/types/interfaces/store/settings.d.ts | 4 +- src/types/interfaces/swap.d.ts | 29 + src/utils/accounts.ts | 83 +- src/utils/actions.ts | 4 +- src/utils/assets.ts | 56 +- src/utils/checkAutoLendEnabled.ts | 6 +- src/utils/checkPythUpdateEnabled.ts | 5 + src/utils/constants.ts | 3 +- src/utils/formatters.ts | 14 +- src/utils/getCurrentChainId.ts | 52 + src/utils/helpers.ts | 4 +- src/utils/messages.ts | 37 +- src/utils/resolvers.ts | 32 + src/utils/route.ts | 14 +- src/utils/tokens.ts | 4 - src/utils/vaults.ts | 43 +- tailwind.config.js | 10 + tsconfig.json | 2 +- validate-env.js | 55 +- yarn.lock | 2379 ++++------------- 678 files changed, 11366 insertions(+), 8062 deletions(-) delete mode 100644 __mocks__/fileMock.js delete mode 100644 __mocks__/helmet.js delete mode 100644 __mocks__/store.js delete mode 100644 __mocks__/styleMock.js delete mode 100644 __mocks__/svgMock.js delete mode 100644 __tests__/Footer.test.tsx delete mode 100644 __tests__/components/Account/AccountDetails.test.tsx delete mode 100644 __tests__/components/Button/Button.test.tsx delete mode 100644 __tests__/components/Card.test.tsx delete mode 100644 __tests__/components/CircularProgress.test.tsx delete mode 100644 __tests__/components/Modals/Unlock/UnlockModal.test.tsx delete mode 100644 __tests__/components/PageMetadata.test.tsx delete mode 100644 __tests__/components/TokenInput.test.tsx delete mode 100644 __tests__/components/Tooltip/Tooltip.test.tsx delete mode 100644 __tests__/components/Tooltip/TooltipContent.test.tsx delete mode 100644 jest.config.js delete mode 100644 jest.setup.js create mode 100644 public/images/tokens/ntrn.svg create mode 100644 public/images/wallets/vectis.png create mode 100644 src/api/perps/getOpeningFee.ts delete mode 100644 src/api/prices/getPriceData.ts create mode 100644 src/api/swap/getOsmosisSwapFee.ts delete mode 100644 src/api/swap/getPools.ts delete mode 100644 src/api/vaults/getVaultTokenFromLp.ts delete mode 100644 src/components/Account/AccountBalancesTable/Columns/Asset.tsx delete mode 100644 src/components/DepositCapMessage.tsx delete mode 100644 src/components/DirectionSelect.tsx delete mode 100644 src/components/DisplayCurrency.tsx delete mode 100644 src/components/Earn/Farm/FeaturedVaults.tsx delete mode 100644 src/components/Earn/Farm/VaultCard.tsx delete mode 100644 src/components/Icons/ArrowRight.svg delete mode 100644 src/components/Icons/index.ts delete mode 100644 src/components/Modals/AssetsSelect/AssetSelectTable.tsx create mode 100644 src/components/Modals/AssetsSelect/Columns/Asset.tsx create mode 100644 src/components/Modals/AssetsSelect/Columns/Balance.tsx create mode 100644 src/components/Modals/AssetsSelect/Columns/BorrowRate.tsx create mode 100644 src/components/Modals/AssetsSelect/Columns/useAssetSelectColumns.tsx create mode 100644 src/components/Modals/AssetsSelect/index.tsx delete mode 100644 src/components/Modals/AssetsSelect/useAssetTableColumns.tsx rename src/components/{ => Modals}/Modal.tsx (95%) delete mode 100644 src/components/Navigation/NavMenu.tsx delete mode 100644 src/components/Perps/Module/PerpsModule.tsx delete mode 100644 src/components/Perps/PerpsChart.tsx delete mode 100644 src/components/Perps/PerpsInfo.tsx delete mode 100644 src/components/Perps/PerpsPositions.tsx delete mode 100644 src/components/Table/Row.tsx delete mode 100644 src/components/Trade/TradeChart/DataFeed.ts delete mode 100644 src/components/Trade/TradeChart/TVChartContainer.tsx delete mode 100644 src/components/Trade/TradeChart/index.tsx delete mode 100644 src/components/Trade/TradeModule/AssetSelector/AssetOverlay.tsx rename src/components/{Account => account}/AccountBalancesTable/Columns/Apy.tsx (78%) create mode 100644 src/components/account/AccountBalancesTable/Columns/Asset.tsx rename src/components/{Account => account}/AccountBalancesTable/Columns/LiqPrice.tsx (87%) rename src/components/{Account => account}/AccountBalancesTable/Columns/Price.tsx (84%) rename src/components/{Account => account}/AccountBalancesTable/Columns/Size.tsx (90%) rename src/components/{Account => account}/AccountBalancesTable/Columns/Value.tsx (56%) rename src/components/{Account => account}/AccountBalancesTable/Columns/useAccountBalancesColumns.tsx (84%) rename src/components/{Account => account}/AccountBalancesTable/functions.ts (88%) rename src/components/{Account => account}/AccountBalancesTable/index.tsx (85%) rename src/components/{Account => account}/AccountBalancesTable/useAccountBalanceData.tsx (73%) rename src/components/{Account => account}/AccountComposition.tsx (83%) rename src/components/{Account => account}/AccountCreateFirst.tsx (92%) rename src/components/{Account => account}/AccountDetails/AccountDetailsLeverage.tsx (91%) rename src/components/{Account => account}/AccountDetails/Skeleton.tsx (89%) rename src/components/{Account => account}/AccountDetails/index.tsx (78%) rename src/components/{Account => account}/AccountFund/AccountFundContent.tsx (80%) rename src/components/{Account => account}/AccountFund/AccountFundFullPage.tsx (78%) create mode 100644 src/components/account/AccountFund/AccountFundRow.tsx rename src/components/{Account => account}/AccountList/AccountStats.tsx (86%) rename src/components/{Account => account}/AccountList/Skeleton.tsx (79%) rename src/components/{Account => account}/AccountList/index.tsx (91%) rename src/components/{Account => account}/AccountMenu.tsx (73%) rename src/components/{Account => account}/AccountMenuContent.tsx (84%) create mode 100644 src/components/account/AccountPerpPositionTable/Columns/Asset.tsx create mode 100644 src/components/account/AccountPerpPositionTable/Columns/TotalPnL.tsx create mode 100644 src/components/account/AccountPerpPositionTable/Columns/useAccountPerpsColumns.tsx create mode 100644 src/components/account/AccountPerpPositionTable/functions.ts create mode 100644 src/components/account/AccountPerpPositionTable/index.tsx create mode 100644 src/components/account/AccountPerpPositionTable/useAccountPerpData.tsx rename src/components/{Account => account}/AccountSummary.tsx (63%) rename src/components/{Account => account}/CurrentAccountSummary.tsx (58%) rename src/components/{Account => account}/Health/HealthBar.tsx (97%) rename src/components/{Account => account}/Health/HealthGauge.tsx (98%) rename src/components/{Account => account}/Health/HealthIcon.tsx (90%) rename src/components/{Account => account}/Health/HealthTooltip.tsx (89%) rename src/components/{Account => account}/RiskChart.tsx (94%) rename src/components/{Borrow => borrow}/BorrowActionButtons.tsx (79%) rename src/components/{Borrow => borrow}/BorrowIntro.tsx (88%) rename src/components/{Borrow => borrow}/Borrowings.tsx (74%) rename src/components/{Borrow => borrow}/Table/AvailableBorrowingsTable.tsx (74%) rename src/components/{Borrow => borrow}/Table/Columns/BorrowRate.tsx (80%) rename src/components/{Borrow => borrow}/Table/Columns/Debt.tsx (86%) rename src/components/{Borrow => borrow}/Table/Columns/Liquidity.tsx (76%) rename src/components/{Borrow => borrow}/Table/Columns/Manage.tsx (85%) rename src/components/{Borrow => borrow}/Table/Columns/Name.tsx (77%) rename src/components/{Borrow => borrow}/Table/Columns/useAvailableColumns.tsx (76%) rename src/components/{Borrow => borrow}/Table/Columns/useDepositedColumns.tsx (75%) rename src/components/{Borrow => borrow}/Table/DepositedBorrowingsTable.tsx (70%) rename src/components/{ => common}/Accordion.tsx (84%) rename src/components/{ => common}/AccordionContent.tsx (91%) rename src/components/{ => common}/AmountAndValue.tsx (88%) rename src/components/{ => common}/AvailableLiquidityMessage.tsx (89%) rename src/components/{ => common}/Background.tsx (97%) rename src/components/{ => common}/BorrowCapacity.tsx (95%) rename src/components/{ => common}/Button/ActionButton.tsx (80%) rename src/components/{ => common}/Button/DropDownButton.tsx (58%) rename src/components/{ => common}/Button/EscButton.tsx (89%) rename src/components/{ => common}/Button/constants.ts (100%) rename src/components/{ => common}/Button/index.tsx (90%) rename src/components/{ => common}/Button/utils.tsx (100%) rename src/components/{ => common}/Card.tsx (96%) rename src/components/{ => common}/CheckMark.tsx (92%) rename src/components/{ => common}/Checkbox.tsx (93%) rename src/components/{ => common}/CircularProgress.tsx (96%) rename src/components/{ => common}/DefaultPageHead.tsx (100%) rename src/components/{ => common}/DepositCapCell.tsx (64%) create mode 100644 src/components/common/DepositCapMessage.tsx create mode 100644 src/components/common/DisplayCurrency.tsx rename src/components/{ => common}/Divider.tsx (100%) rename src/components/{ => common}/DocsLink.tsx (88%) rename src/components/{ => common}/DoubleLogo.tsx (64%) rename src/components/{ => common}/Footer.tsx (86%) rename src/components/{ => common}/FormattedNumber.tsx (97%) rename src/components/{ => common}/FullOverlayContent.tsx (86%) rename src/components/{ => common}/Gauge.tsx (95%) rename src/components/{ => common}/Icons/Account.svg (100%) rename src/components/{ => common}/Icons/AccountArrowDown.svg (100%) rename src/components/{ => common}/Icons/ArrowChartLineUp.svg (100%) rename src/components/{ => common}/Icons/ArrowCircle.svg (100%) rename src/components/{ => common}/Icons/ArrowCircledTopRight.svg (100%) rename src/components/{ => common}/Icons/ArrowDownLine.svg (100%) create mode 100644 src/components/common/Icons/ArrowRight.svg rename src/components/{ => common}/Icons/ArrowUpLine.svg (100%) rename src/components/{ => common}/Icons/Chain.svg (100%) rename src/components/{ => common}/Icons/Check.svg (100%) rename src/components/{ => common}/Icons/CheckCircled.svg (100%) rename src/components/{ => common}/Icons/ChevronDown.svg (100%) rename src/components/{ => common}/Icons/ChevronLeft.svg (100%) rename src/components/{ => common}/Icons/ChevronRight.svg (100%) rename src/components/{ => common}/Icons/ChevronUp.svg (100%) rename src/components/{ => common}/Icons/Circle.svg (100%) rename src/components/{ => common}/Icons/Coins.svg (100%) rename src/components/{ => common}/Icons/CoinsSwap.svg (100%) rename src/components/{ => common}/Icons/Compass.svg (100%) rename src/components/{ => common}/Icons/Copy.svg (100%) rename src/components/{ => common}/Icons/Cross.svg (100%) rename src/components/{ => common}/Icons/CrossCircled.svg (100%) create mode 100644 src/components/common/Icons/Edit.svg rename src/components/{ => common}/Icons/Enter.svg (100%) rename src/components/{ => common}/Icons/ExclamationMarkCircled.svg (100%) rename src/components/{ => common}/Icons/ExclamationMarkTriangle.svg (100%) rename src/components/{ => common}/Icons/ExternalLink.svg (100%) rename src/components/{ => common}/Icons/Flag.svg (100%) rename src/components/{ => common}/Icons/Gear.svg (100%) rename src/components/{ => common}/Icons/GridGlobe.svg (100%) rename src/components/{ => common}/Icons/GridHole.svg (100%) rename src/components/{ => common}/Icons/GridLandscape.svg (100%) rename src/components/{ => common}/Icons/GridPlanet.svg (100%) rename src/components/{ => common}/Icons/GridTire.svg (100%) rename src/components/{ => common}/Icons/GridWeb.svg (100%) rename src/components/{ => common}/Icons/HandCoins.svg (100%) rename src/components/{ => common}/Icons/Heart.svg (100%) rename src/components/{ => common}/Icons/InfoCircle.svg (100%) rename src/components/{ => common}/Icons/LockLocked.svg (100%) rename src/components/{ => common}/Icons/LockUnlocked.svg (100%) rename src/components/{ => common}/Icons/Logo.svg (100%) rename src/components/{ => common}/Icons/Luggage.svg (100%) rename src/components/{ => common}/Icons/MarsProtocol.svg (100%) create mode 100644 src/components/common/Icons/Neutron.svg rename src/components/{ => common}/Icons/Osmo.svg (100%) rename src/components/{ => common}/Icons/OverlayMark.svg (100%) rename src/components/{ => common}/Icons/Plus.svg (100%) rename src/components/{ => common}/Icons/PlusCircled.svg (100%) rename src/components/{ => common}/Icons/PlusSquared.svg (100%) rename src/components/{ => common}/Icons/PythLogoType.svg (100%) rename src/components/{ => common}/Icons/Questionmark.svg (100%) rename src/components/{ => common}/Icons/ReceiptCheck.svg (100%) rename src/components/{ => common}/Icons/Scale.svg (100%) rename src/components/{ => common}/Icons/Search.svg (100%) rename src/components/{ => common}/Icons/Shield.svg (100%) rename src/components/{ => common}/Icons/SortAsc.svg (100%) rename src/components/{ => common}/Icons/SortDesc.svg (100%) rename src/components/{ => common}/Icons/SortNone.svg (100%) rename src/components/{ => common}/Icons/StarFilled.svg (100%) rename src/components/{ => common}/Icons/StarOutlined.svg (100%) rename src/components/{ => common}/Icons/Subtract.svg (100%) rename src/components/{ => common}/Icons/SwapIcon.svg (100%) rename src/components/{ => common}/Icons/ThreeDots.svg (100%) rename src/components/{ => common}/Icons/TooltipArrow.svg (100%) rename src/components/{ => common}/Icons/TrashBin.svg (100%) rename src/components/{ => common}/Icons/Twitter.svg (100%) rename src/components/{ => common}/Icons/VerticalThreeLine.svg (100%) rename src/components/{ => common}/Icons/Wallet.svg (100%) create mode 100644 src/components/common/Icons/index.ts rename src/components/{ => common}/Intro.tsx (87%) rename src/components/{ => common}/LabelValuePair.tsx (86%) rename src/components/{RangeInput => common/LeverageSlider}/InputOverlay.tsx (53%) rename src/components/{RangeInput => common/LeverageSlider}/index.tsx (75%) rename src/components/{ => common}/Loading.tsx (100%) rename src/components/{ => common}/MarketDetails.tsx (96%) rename src/components/{ => common}/MigrationBanner.tsx (83%) rename src/components/{ => common}/MobileNotSupported.tsx (92%) rename src/components/{ => common}/NotificationBanner.tsx (95%) rename src/components/{ => common}/NumberInput.tsx (100%) rename src/components/{ => common}/Overlay.tsx (91%) rename src/components/{ => common}/PageMetadata.tsx (100%) rename src/components/{ => common}/ProgressBar.tsx (100%) rename src/components/{ => common}/Radio.tsx (100%) rename src/components/{ => common}/SearchBar.tsx (95%) rename src/components/{ => common}/Select/Option.tsx (85%) rename src/components/{ => common}/Select/index.tsx (95%) rename src/components/{ => common}/Settings.tsx (73%) rename src/components/{ => common}/ShareBar.tsx (87%) rename src/components/{ => common}/Slider/LeverageLabel.tsx (93%) rename src/components/{ => common}/Slider/Mark.tsx (100%) rename src/components/{ => common}/Slider/Track.tsx (100%) rename src/components/{ => common}/Slider/index.tsx (96%) rename src/components/{ => common}/Spacer.tsx (100%) rename src/components/{ => common}/SummaryItems.tsx (82%) create mode 100644 src/components/common/SummaryLine.tsx rename src/components/{ => common}/Switch/SwitchAutoLend.tsx (76%) rename src/components/{ => common}/Switch/SwitchWithLabel.tsx (85%) rename src/components/{ => common}/Switch/index.tsx (100%) rename src/components/{ => common}/Table/ActionButtonRow.tsx (93%) create mode 100644 src/components/common/Table/Row.tsx rename src/components/{ => common/Table}/TableSkeleton.tsx (93%) rename src/components/{ => common}/Table/index.tsx (83%) rename src/components/{ => common}/TermsOfService.tsx (89%) rename src/components/{ => common}/Text.tsx (100%) rename src/components/{ => common}/TextLink.tsx (100%) rename src/components/{ => common}/TitleAndSubCell.tsx (93%) rename src/components/{ => common}/Toaster/index.tsx (89%) rename src/components/{ => common}/TokenInput/TokenInputWithSlider.tsx (95%) rename src/components/{ => common}/TokenInput/index.tsx (82%) rename src/components/{ => common}/Tooltip/TooltipContent.tsx (83%) rename src/components/{ => common}/Tooltip/index.tsx (88%) create mode 100644 src/components/common/TradeDirectionSelector.tsx rename src/components/{ => common}/WarningMessages.tsx (86%) create mode 100644 src/components/common/assets/AssetAmount.tsx rename src/components/{Asset => common/assets}/AssetBalanceRow.tsx (79%) rename src/components/{Asset => common/assets}/AssetImage.tsx (100%) rename src/components/{Asset => common/assets}/AssetRate.tsx (84%) rename src/components/{Asset => common/assets}/AssetSymbol.tsx (86%) create mode 100644 src/components/common/chain/ChainLogo.tsx rename src/components/{Earn => earn}/Tab.tsx (100%) rename src/components/{Earn/Farm => earn/farm}/FarmIntro.tsx (84%) rename src/components/{Earn/Farm => earn/farm}/Table/AvailableVaultsTable.tsx (78%) rename src/components/{Earn/Farm => earn/farm}/Table/Columns/Apy.tsx (79%) rename src/components/{Earn/Farm => earn/farm}/Table/Columns/Deposit.tsx (84%) rename src/components/{Earn/Farm => earn/farm}/Table/Columns/DepositCap.tsx (85%) rename src/components/{Earn/Farm => earn/farm}/Table/Columns/Details.tsx (83%) rename src/components/{Earn/Farm => earn/farm}/Table/Columns/MaxLTV.tsx (80%) rename src/components/{Earn/Farm => earn/farm}/Table/Columns/Name.tsx (93%) rename src/components/{Earn/Farm => earn/farm}/Table/Columns/PositionValue.tsx (90%) rename src/components/{Earn/Farm => earn/farm}/Table/Columns/TVL.tsx (80%) rename src/components/{Earn/Farm => earn/farm}/Table/Columns/useAvailableColumns.tsx (73%) rename src/components/{Earn/Farm => earn/farm}/Table/Columns/useDepositedColumns.tsx (78%) rename src/components/{Earn/Farm => earn/farm}/Table/DepositedVaultsTable.tsx (82%) rename src/components/{Earn/Farm => earn/farm}/VaultExpanded.tsx (94%) rename src/components/{Earn/Farm => earn/farm}/VaultRow.tsx (100%) rename src/components/{Earn/Farm => earn/farm}/VaultUnlockBanner.tsx (88%) rename src/components/{Earn/Farm => earn/farm}/Vaults.tsx (76%) rename src/components/{Earn/Lend => earn/lend}/LendIntro.tsx (80%) rename src/components/{Earn/Lend => earn/lend}/LendingActionButtons.tsx (91%) rename src/components/{Earn/Lend => earn/lend}/Lends.tsx (80%) rename src/components/{Earn/Lend => earn/lend}/Table/AvailableLendsTable.tsx (70%) rename src/components/{Earn/Lend => earn/lend}/Table/Columns/Apy.tsx (80%) rename src/components/{Earn/Lend => earn/lend}/Table/Columns/DepositCap.tsx (80%) rename src/components/{Earn/Lend => earn/lend}/Table/Columns/DepositValue.tsx (76%) rename src/components/{Earn/Lend => earn/lend}/Table/Columns/Manage.tsx (85%) rename src/components/{Earn/Lend => earn/lend}/Table/Columns/Name.tsx (76%) rename src/components/{Earn/Lend => earn/lend}/Table/Columns/useAvailableColumns.tsx (80%) rename src/components/{Earn/Lend => earn/lend}/Table/Columns/useDepositedColumns.tsx (81%) rename src/components/{Earn/Lend => earn/lend}/Table/DepositedLendsTable.tsx (70%) create mode 100644 src/components/header/ChainSelect.tsx rename src/components/{Header => header}/DesktopHeader.tsx (65%) rename src/components/{Header => header}/OracleResyncButton.tsx (66%) rename src/components/{ => header}/RewardsCenter.tsx (81%) rename src/components/{Navigation => header/navigation}/DesktopNavigation.tsx (87%) rename src/components/{Navigation => header/navigation}/NavLink.tsx (74%) create mode 100644 src/components/header/navigation/NavMenu.tsx rename src/components/{ => header/navigation}/Routes.tsx (72%) rename src/components/{HLS => hls}/Farm/AvailableHLSVaults.tsx (74%) rename src/components/{HLS => hls}/Farm/HLSFarmIntro.tsx (82%) rename src/components/{HLS => hls}/Farm/Table/Columns/APY.tsx (83%) rename src/components/{HLS => hls}/Farm/Table/Columns/Deposit.tsx (91%) rename src/components/{HLS => hls}/Farm/Table/Columns/MaxLeverage.tsx (85%) rename src/components/{HLS => hls}/Farm/Table/Columns/Name.tsx (87%) rename src/components/{HLS => hls}/Farm/Table/Columns/useAvailableColumns.tsx (74%) rename src/components/{HLS => hls}/Farm/Table/index.tsx (100%) rename src/components/{HLS => hls}/HLSTag.tsx (82%) rename src/components/{HLS => hls}/Staking/ActiveStakingAccounts.tsx (77%) rename src/components/{HLS => hls}/Staking/AvailableHLSStakingAssets.tsx (76%) rename src/components/{HLS => hls}/Staking/HLSStakingIntro.tsx (82%) rename src/components/{HLS => hls}/Staking/Table/Columns/Account.tsx (84%) rename src/components/{HLS => hls}/Staking/Table/Columns/ActiveApy.tsx (78%) rename src/components/{HLS => hls}/Staking/Table/Columns/ApyRange.tsx (88%) rename src/components/{HLS => hls}/Staking/Table/Columns/DebtValue.tsx (90%) rename src/components/{HLS => hls}/Staking/Table/Columns/DepositCap.tsx (90%) rename src/components/{HLS => hls}/Staking/Table/Columns/Leverage.tsx (89%) rename src/components/{HLS => hls}/Staking/Table/Columns/Manage.tsx (92%) rename src/components/{HLS => hls}/Staking/Table/Columns/MaxLTV.tsx (80%) rename src/components/{HLS => hls}/Staking/Table/Columns/MaxLeverage.tsx (85%) rename src/components/{HLS => hls}/Staking/Table/Columns/Name.tsx (63%) rename src/components/{HLS => hls}/Staking/Table/Columns/NetValue.tsx (90%) rename src/components/{HLS => hls}/Staking/Table/Columns/PositionValue.tsx (90%) rename src/components/{HLS => hls}/Staking/Table/Columns/useAvailableColumns.tsx (78%) rename src/components/{HLS => hls}/Staking/Table/Columns/useDepositedColumns.tsx (77%) create mode 100644 src/components/perps/BalancesTable/Columns/EntryPrice.tsx create mode 100644 src/components/perps/BalancesTable/Columns/Leverage.tsx create mode 100644 src/components/perps/BalancesTable/Columns/Manage.tsx create mode 100644 src/components/perps/BalancesTable/Columns/PerpName.tsx create mode 100644 src/components/perps/BalancesTable/Columns/PnL.tsx create mode 100644 src/components/perps/BalancesTable/Columns/Size.tsx create mode 100644 src/components/perps/BalancesTable/Columns/TradeDirection.tsx create mode 100644 src/components/perps/BalancesTable/Columns/usePerpsBalancesColumns.tsx create mode 100644 src/components/perps/BalancesTable/index.tsx create mode 100644 src/components/perps/BalancesTable/usePerpsBalancesData.ts rename src/components/{Perps => perps}/Module/LeverageButtons.tsx (58%) create mode 100644 src/components/perps/Module/OpeningFee.tsx rename src/components/{Perps => perps}/Module/Or.tsx (69%) create mode 100644 src/components/perps/Module/PerpsManageModule/index.tsx create mode 100644 src/components/perps/Module/PerpsManageModule/usePerpsManageModule.ts create mode 100644 src/components/perps/Module/PerpsModule.tsx create mode 100644 src/components/perps/Module/Summary.tsx create mode 100644 src/components/perps/PerpsChart.tsx create mode 100644 src/components/perps/PerpsInfo/FundingRate.tsx create mode 100644 src/components/perps/PerpsInfo/InterestItem.tsx create mode 100644 src/components/perps/PerpsInfo/index.tsx create mode 100644 src/components/perps/PerpsPositions.tsx rename src/components/{Portfolio => portfolio}/Account/Balances.tsx (82%) rename src/components/{Portfolio => portfolio}/Account/BreadCrumbs.tsx (89%) create mode 100644 src/components/portfolio/Account/PerpPositions.tsx rename src/components/{Portfolio => portfolio}/Account/Summary.tsx (86%) rename src/components/{Portfolio => portfolio}/Card/Skeleton.tsx (79%) rename src/components/{Portfolio => portfolio}/Card/index.tsx (85%) rename src/components/{Portfolio => portfolio}/Overview/ConnectInfo.tsx (84%) rename src/components/{Portfolio => portfolio}/Overview/Summary.tsx (85%) rename src/components/{Portfolio => portfolio}/Overview/index.tsx (80%) rename src/components/{Portfolio => portfolio}/PortfolioIntro.tsx (95%) rename src/components/{Portfolio => portfolio}/SummarySkeleton.tsx (78%) rename src/components/{Trade => trade}/AccountDetailsCard.tsx (84%) create mode 100644 src/components/trade/TradeChart/DataFeed.ts rename src/components/{Trade => trade}/TradeChart/PoweredByPyth.tsx (71%) rename src/components/{Trade => trade}/TradeChart/constants.ts (92%) create mode 100644 src/components/trade/TradeChart/index.tsx create mode 100644 src/components/trade/TradeChart/streaming.ts rename src/components/{Trade => trade}/TradeModule/AssetSelector/AssetButton.tsx (79%) rename src/components/{Trade => trade}/TradeModule/AssetSelector/AssetItem.tsx (87%) rename src/components/{Trade => trade}/TradeModule/AssetSelector/AssetList.tsx (56%) create mode 100644 src/components/trade/TradeModule/AssetSelector/AssetOverlay/StablesFilter.tsx create mode 100644 src/components/trade/TradeModule/AssetSelector/AssetOverlay/index.tsx rename src/components/{Trade => trade}/TradeModule/AssetSelector/AssetSelectorItem.tsx (88%) rename src/components/{Trade => trade}/TradeModule/AssetSelector/AssetSelectorPair.tsx (72%) create mode 100644 src/components/trade/TradeModule/AssetSelector/AssetSelectorPerps.tsx rename src/components/{Trade => trade}/TradeModule/AssetSelector/AssetSelectorSingle.tsx (62%) rename src/components/{Trade => trade}/TradeModule/AssetSelector/PairsList.tsx (71%) rename src/components/{Trade => trade}/TradeModule/SwapForm/AssetAmountInput.tsx (94%) rename src/components/{Trade => trade}/TradeModule/SwapForm/AutoRepayToggle.tsx (83%) rename src/components/{Trade => trade}/TradeModule/SwapForm/MarginToggle.tsx (87%) rename src/components/{Trade => trade}/TradeModule/SwapForm/OrderTypeSelector/constants.ts (87%) rename src/components/{Trade => trade}/TradeModule/SwapForm/OrderTypeSelector/index.tsx (83%) rename src/components/{Trade => trade}/TradeModule/SwapForm/OrderTypeSelector/types.ts (100%) rename src/components/{Trade => trade}/TradeModule/SwapForm/TradeSummary.tsx (82%) rename src/components/{Trade => trade}/TradeModule/SwapForm/index.tsx (86%) rename src/components/{Trade => trade}/TradeModule/index.tsx (92%) create mode 100644 src/configs/assets/AKT.ts create mode 100644 src/configs/assets/ATOM.ts create mode 100644 src/configs/assets/AXL.ts create mode 100644 src/configs/assets/DYDX.ts create mode 100644 src/configs/assets/INJ.ts create mode 100644 src/configs/assets/MARS.ts create mode 100644 src/configs/assets/NTRN.ts create mode 100644 src/configs/assets/OSMO.ts create mode 100644 src/configs/assets/TIA.ts create mode 100644 src/configs/assets/USDC.axl.ts create mode 100644 src/configs/assets/USDC.ts create mode 100644 src/configs/assets/USDT.ts create mode 100644 src/configs/assets/USDollar.ts create mode 100644 src/configs/assets/WBTC.axl.ts create mode 100644 src/configs/assets/WETH.xal.ts create mode 100644 src/configs/assets/lp/OSMO-ATOM.ts create mode 100644 src/configs/assets/lp/OSMO_USDC.ts create mode 100644 src/configs/assets/lp/OSMO_WBTC.ts create mode 100644 src/configs/assets/lp/OSMO_WETH.ts create mode 100644 src/configs/assets/lp/stATOM_ATOM.ts create mode 100644 src/configs/assets/stATOM.ts create mode 100644 src/configs/assets/stOSMO.ts create mode 100644 src/configs/chains/index.ts create mode 100644 src/configs/chains/neutron/pion-1.ts create mode 100644 src/configs/chains/osmosis/devnet.ts create mode 100644 src/configs/chains/osmosis/osmosis-1.ts delete mode 100644 src/constants/assets.ts delete mode 100644 src/constants/chains.ts delete mode 100644 src/constants/env.ts delete mode 100644 src/constants/explorer.ts create mode 100644 src/constants/pyth.ts create mode 100644 src/hooks/accounts/useAccount.tsx rename src/hooks/{ => accounts}/useAccountIds.tsx (69%) create mode 100644 src/hooks/accounts/useAccounts.tsx create mode 100644 src/hooks/accounts/useCurrentAccount.tsx create mode 100644 src/hooks/assets/useAllAssets.ts create mode 100644 src/hooks/assets/useAsset.ts create mode 100644 src/hooks/assets/useBasetAsset.ts create mode 100644 src/hooks/assets/useBorrowEnabledAssets.ts create mode 100644 src/hooks/assets/useDisplayCurrencyAssets.ts create mode 100644 src/hooks/assets/useGetCoinValue.ts create mode 100644 src/hooks/assets/useLendEnabledAssets.ts create mode 100644 src/hooks/assets/useMarketEnabledAssets.ts create mode 100644 src/hooks/assets/usePerpsEnabledAssets.ts rename src/hooks/{HLS => hls}/useClosePositionActions.ts (83%) rename src/hooks/{HLS => hls}/useDepositActions.ts (93%) create mode 100644 src/hooks/localStorage/useAutoLendEnabledAccountIds.ts create mode 100644 src/hooks/localStorage/useCurrentChainId.ts create mode 100644 src/hooks/localStorage/useDisplayCurrency.ts create mode 100644 src/hooks/localStorage/useEnableAutoLendGlobal.ts create mode 100644 src/hooks/localStorage/useFavoriteAssets.ts rename src/hooks/{ => localStorage}/useLocalStorage.ts (64%) create mode 100644 src/hooks/localStorage/useTransactions.ts create mode 100644 src/hooks/markets/useMarketAssets.ts create mode 100644 src/hooks/markets/useMarketBorrowings.tsx rename src/hooks/{ => markets}/useMarketDeposits.ts (52%) create mode 100644 src/hooks/markets/useMarketLiquidities.ts rename src/hooks/{ => params}/useAssetParams.tsx (50%) create mode 100644 src/hooks/perps/useOpeningFee.ts create mode 100644 src/hooks/perps/usePerpPosition.ts create mode 100644 src/hooks/perps/usePerpsAsset.ts create mode 100644 src/hooks/perps/usePerpsConfig.ts create mode 100644 src/hooks/perps/usePerpsParams.ts create mode 100644 src/hooks/perps/usePerpsVaultState.ts create mode 100644 src/hooks/trade/useRoutes.ts delete mode 100644 src/hooks/useAccount.tsx delete mode 100644 src/hooks/useAccounts.tsx create mode 100644 src/hooks/useChainConfig.ts create mode 100644 src/hooks/useClients.ts delete mode 100644 src/hooks/useCurrentAccount.tsx delete mode 100644 src/hooks/useCurrentAccountDebts.ts create mode 100644 src/hooks/useDebounce.ts delete mode 100644 src/hooks/useMarketAssets.ts delete mode 100644 src/hooks/useMarketBorrowings.tsx delete mode 100644 src/hooks/useMarketLiquidities.ts delete mode 100644 src/hooks/usePriceData.tsx delete mode 100644 src/store/slices/currency.ts create mode 100644 src/types/enums/searchParams.ts delete mode 100644 src/types/generated/mars-credit-manager/MarsCreditManager.message-composer.ts create mode 100644 src/types/generated/mars-perps/MarsPerps.client.ts create mode 100644 src/types/generated/mars-perps/MarsPerps.react-query.ts create mode 100644 src/types/generated/mars-perps/MarsPerps.types.ts create mode 100644 src/types/generated/mars-perps/bundle.ts create mode 100644 src/types/generated/mars-swapper-astroport/MarsSwapperAstroport.client.ts create mode 100644 src/types/generated/mars-swapper-astroport/MarsSwapperAstroport.react-query.ts create mode 100644 src/types/generated/mars-swapper-astroport/MarsSwapperAstroport.types.ts create mode 100644 src/types/generated/mars-swapper-astroport/bundle.ts create mode 100644 src/types/generated/mars-swapper-base/MarsSwapperBase.client.ts create mode 100644 src/types/generated/mars-swapper-base/MarsSwapperBase.react-query.ts create mode 100644 src/types/generated/mars-swapper-base/MarsSwapperBase.types.ts create mode 100644 src/types/generated/mars-swapper-base/bundle.ts create mode 100644 src/types/interfaces/chain.d.ts create mode 100644 src/types/interfaces/components/Trade/TradingChart.d.ts delete mode 100644 src/types/interfaces/store/currency.d.ts create mode 100644 src/types/interfaces/swap.d.ts create mode 100644 src/utils/checkPythUpdateEnabled.ts create mode 100644 src/utils/getCurrentChainId.ts diff --git a/.env.example b/.env.example index 167425fd..5eb59ecd 100644 --- a/.env.example +++ b/.env.example @@ -1,37 +1,16 @@ -# DEVNET # -NEXT_PUBLIC_NETWORK=devnet -NEXT_PUBLIC_CHAIN_ID=devnet -NEXT_PUBLIC_RPC=https://rpc.devnet.osmosis.zone/ -NEXT_PUBLIC_GQL=https://devnet-osmosis-gql.marsprotocol.io/graphql -NEXT_PUBLIC_REST=https://lcd.devnet.osmosis.zone/ - - -# MAINNET # NEXT_PUBLIC_NETWORK=mainnet -NEXT_PUBLIC_CHAIN_ID=osmosis-1 -NEXT_PUBLIC_RPC=https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-rpc-front/ -NEXT_PUBLIC_GQL=https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-hive-front/graphql -NEXT_PUBLIC_REST=https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-lcd-front/ +NEXT_PUBLIC_OSMOSIS_RPC=https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-rpc-front/ +NEXT_PUBLIC_OSMOSIS_REST=https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-lcd-front/ +NEXT_PUBLIC_OSMOSIS_TEST_RPC=https://rpc.devnet.osmosis.zone/ +NEXT_PUBLIC_OSMOSIS_TEST_REST=https://lcd.devnet.osmosis.zone/ +NEXT_PUBLIC_NEUTRON_TEST_RPC=https://rpc-palvus.pion-1.ntrn.tech/ +NEXT_PUBLIC_NEUTRON_TEST_REST=https://rest-palvus.pion-1.ntrn.tech/ -# COMMON # -NEXT_PUBLIC_SWAP=https://app.osmosis.zone -NEXT_PUBLIC_VAULT_APR=https://api.marsprotocol.io/v1/vaults/osmosis -NEXT_PUBLIC_ACCOUNT_NFT=osmo1450hrg6dv2l58c0rvdwx8ec2a0r6dd50hn4frk370tpvqjhy8khqw7sw09 -NEXT_PUBLIC_ORACLE=osmo1mhznfr60vjdp2gejhyv2gax9nvyyzhd3z0qcwseyetkfustjauzqycsy2g -NEXT_PUBLIC_RED_BANK=osmo1c3ljch9dfw5kf52nfwpxd2zmj2ese7agnx0p9tenkrryasrle5sqf3ftpg -NEXT_PUBLIC_CREDIT_MANAGER=osmo1f2m24wktq0sw3c0lexlg7fv4kngwyttvzws3a3r3al9ld2s2pvds87jqvf -NEXT_PUBLIC_INCENTIVES=osmo1nkahswfr8shg8rlxqwup0vgahp0dk4x8w6tkv3rra8rratnut36sk22vrm -NEXT_PUBLIC_SWAPPER=osmo1wee0z8c7tcawyl647eapqs4a88q8jpa7ddy6nn2nrs7t47p2zhxswetwla -NEXT_PUBLIC_PYTH=osmo13ge29x4e2s63a8ytz2px8gurtyznmue4a69n5275692v3qn3ks8q7cwck7 -NEXT_PUBLIC_ZAPPER=osmo17qwvc70pzc9mudr8t02t3pl74hhqsgwnskl734p4hug3s8mkerdqzduf7c -NEXT_PUBLIC_PARAMS=osmo1nlmdxt9ctql2jr47qd4fpgzg84cjswxyw6q99u4y4u4q6c2f5ksq7ysent -NEXT_PUBLIC_PYTH_ENDPOINT=https://hermes.pyth.network/api -NEXT_PUBLIC_MAINNET_REST=https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-rpc-front/ -NEXT_PUBLIC_CANDLES_ENDPOINT_THE_GRAPH=https://osmosis-candles.marsprotocol.io/ -NEXT_PUBLIC_CANDLES_ENDPOINT_PYTH=https://benchmarks.pyth.network NEXT_PUBLIC_WALLET_CONNECT_ID=d93fdffb159bae5ec87d8fee4cdbb045 -CHARTING_LIBRARY_REPOSITORY=github.com/tradingview/charting_library -CHARTING_LIBRARY_ACCESS_TOKEN=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 -CHARTING_LIBRARY_USERNAME=mars-git-demo -NEXT_PUBLIC_STRIDE_APRS=https://edge.stride.zone/api/stake-stats +CHARTING_LIBRARY_USERNAME=git_username +CHARTING_LIBRARY_ACCESS_TOKEN=access_token +CHARTING_LIBRARY_REPOSITORY=github.com/tradingview/charting_library/ + +NEXT_PUBLIC_PYTH_API=https://mars.rpc.p2p.world/api + diff --git a/__mocks__/fileMock.js b/__mocks__/fileMock.js deleted file mode 100644 index 8761cdaa..00000000 --- a/__mocks__/fileMock.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - src: '/img.jpg', - height: 24, - width: 24, - blurDataURL: 'data:image/png;base64,imagedata', -} diff --git a/__mocks__/helmet.js b/__mocks__/helmet.js deleted file mode 100644 index 34967f49..00000000 --- a/__mocks__/helmet.js +++ /dev/null @@ -1,17 +0,0 @@ -jest.mock('react-helmet-async', () => { - const React = require('react') - const plugin = jest.requireActual('react-helmet-async') - const mockHelmet = ({ children, ...props }) => - React.createElement( - 'div', - { - ...props, - className: 'mock-helmet', - }, - children, - ) - return { - ...plugin, - Helmet: jest.fn().mockImplementation(mockHelmet), - } -}) \ No newline at end of file diff --git a/__mocks__/store.js b/__mocks__/store.js deleted file mode 100644 index 0ceb53cc..00000000 --- a/__mocks__/store.js +++ /dev/null @@ -1,23 +0,0 @@ -jest.mock('store', () => { - let state = {} - - const mockUseStore = (selectorFn) => { - return selectorFn(state) - } - - mockUseStore.setState = (newState) => { - state = { - ...state, - ...newState, - } - } - - mockUseStore.clearState = () => { - state = {} - } - - return { - __esModule: true, - default: mockUseStore, - } -}) diff --git a/__mocks__/styleMock.js b/__mocks__/styleMock.js deleted file mode 100644 index 4ba52ba2..00000000 --- a/__mocks__/styleMock.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = {} diff --git a/__mocks__/svgMock.js b/__mocks__/svgMock.js deleted file mode 100644 index 1e37d85b..00000000 --- a/__mocks__/svgMock.js +++ /dev/null @@ -1,7 +0,0 @@ -/* eslint-disable react/display-name */ -import React from 'react' - -const SvgrMock = React.forwardRef((props, ref) => ) - -export const ReactComponent = SvgrMock -export default SvgrMock diff --git a/__tests__/Footer.test.tsx b/__tests__/Footer.test.tsx deleted file mode 100644 index d68cd3a8..00000000 --- a/__tests__/Footer.test.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { render } from '@testing-library/react' - -import Footer from 'components/Footer' - -import packageJSON from '../package.json' - -describe('