gitextract_p30q3z9e/ ├── .claude/ │ └── settings.local.json ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── .yarnclean ├── .yarnrc ├── LICENSE ├── README.md ├── craco.config.cjs ├── lerna.json ├── package.json ├── packages/ │ ├── common-resources/ │ │ ├── .babelrc │ │ ├── assets/ │ │ │ └── coin/ │ │ │ └── loopring.json │ │ ├── index.ts │ │ ├── mail.html │ │ ├── package.json │ │ ├── scripts/ │ │ │ ├── .gitignore │ │ │ ├── READMD.md │ │ │ ├── get_imgs.py │ │ │ └── requirements.txt │ │ ├── static-resources/ │ │ │ ├── index.ts │ │ │ ├── src/ │ │ │ │ ├── constant/ │ │ │ │ │ ├── account.ts │ │ │ │ │ ├── chart.ts │ │ │ │ │ ├── firebase.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── loopring.ts │ │ │ │ │ ├── market.ts │ │ │ │ │ ├── miningOuterLinks.ts │ │ │ │ │ ├── networks.ts │ │ │ │ │ ├── notification.ts │ │ │ │ │ ├── proLayout.ts │ │ │ │ │ ├── router.ts │ │ │ │ │ ├── sagaStatus.ts │ │ │ │ │ ├── setting.ts │ │ │ │ │ ├── social.ts │ │ │ │ │ ├── table.ts │ │ │ │ │ ├── tokenConfig.ts │ │ │ │ │ ├── trade.ts │ │ │ │ │ ├── vendor.ts │ │ │ │ │ └── walletConnector.ts │ │ │ │ ├── error/ │ │ │ │ │ ├── errorMap.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── i18n/ │ │ │ │ │ ├── en_US/ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ ├── error.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── landPage.ts │ │ │ │ │ │ ├── layout.ts │ │ │ │ │ │ ├── tables.ts │ │ │ │ │ │ └── webEarn.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── zh_CN/ │ │ │ │ │ ├── common.ts │ │ │ │ │ ├── error.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── landPage.ts │ │ │ │ │ ├── layout.ts │ │ │ │ │ ├── tables.ts │ │ │ │ │ └── webEarn.ts │ │ │ │ ├── loopring-interface/ │ │ │ │ │ ├── CoinInterface.ts │ │ │ │ │ ├── FooterInterface.ts │ │ │ │ │ ├── HeaderInterface.ts │ │ │ │ │ ├── Investment.ts │ │ │ │ │ ├── VendorInterface.ts │ │ │ │ │ ├── WallectInterface.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── svg/ │ │ │ │ │ ├── Icon.tsx │ │ │ │ │ ├── dropdownLogo.tsx │ │ │ │ │ ├── earnLogo.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── network.tsx │ │ │ │ │ ├── redPacketScope.tsx │ │ │ │ │ ├── redPacketSvg.tsx │ │ │ │ │ └── shareReferral.tsx │ │ │ │ ├── themes/ │ │ │ │ │ ├── css/ │ │ │ │ │ │ ├── color-lib.ts │ │ │ │ │ │ ├── global.tsx │ │ │ │ │ │ └── reset.tsx │ │ │ │ │ ├── fonts/ │ │ │ │ │ │ └── english/ │ │ │ │ │ │ └── LICENSE │ │ │ │ │ ├── globalSetup.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ └── overrides/ │ │ │ │ │ ├── muTheme.ts │ │ │ │ │ ├── overrides-date-pick.ts │ │ │ │ │ ├── overrides-mui.ts │ │ │ │ │ └── utils.ts │ │ │ │ └── utils/ │ │ │ │ ├── format_tools.ts │ │ │ │ ├── index.ts │ │ │ │ ├── log_tools.ts │ │ │ │ ├── makeDom.ts │ │ │ │ ├── obj_tools.ts │ │ │ │ ├── types.tsx │ │ │ │ └── util.ts │ │ │ └── types.d.ts │ │ ├── tsconfig.json │ │ └── tsconfig.tsbuildinfo │ ├── component-lib/ │ │ ├── .babelrc │ │ ├── .eslintignore │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── .storybook/ │ │ │ ├── main.ts │ │ │ └── preview.tsx │ │ ├── .travis.yml │ │ ├── README.md │ │ ├── craco.config.cjs │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── components/ │ │ │ │ ├── basic-lib/ │ │ │ │ │ ├── Icon.stories.tsx │ │ │ │ │ ├── btns/ │ │ │ │ │ │ ├── BtnPercentage.tsx │ │ │ │ │ │ ├── Button.stories.tsx │ │ │ │ │ │ ├── Button.tsx │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── checkbox/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── color.stories.tsx │ │ │ │ │ ├── display/ │ │ │ │ │ │ ├── SpaceBetweenBox.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── empty/ │ │ │ │ │ │ ├── Empty.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── form/ │ │ │ │ │ │ ├── Form.stories.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── useFocusRef.ts │ │ │ │ │ │ │ └── usePanelRef.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── input/ │ │ │ │ │ │ ├── CollectionInput.tsx │ │ │ │ │ │ ├── DatePicker.tsx │ │ │ │ │ │ ├── Default.tsx │ │ │ │ │ │ ├── InputButton.tsx │ │ │ │ │ │ ├── InputCode.tsx │ │ │ │ │ │ ├── InputCoin.tsx │ │ │ │ │ │ ├── InputMaxButton.tsx │ │ │ │ │ │ ├── InputMaxCoin.tsx │ │ │ │ │ │ ├── InputSearch.tsx │ │ │ │ │ │ ├── InputSelect.tsx │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── TextareaWithCount.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── style.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── lists/ │ │ │ │ │ │ ├── CoinList.tsx │ │ │ │ │ │ ├── CollectionItem.tsx │ │ │ │ │ │ ├── FileListItem.tsx │ │ │ │ │ │ ├── HeadMenuItem.tsx │ │ │ │ │ │ ├── HeadToolbar.tsx │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── List.stories.tsx │ │ │ │ │ │ ├── NFTList.tsx │ │ │ │ │ │ ├── Notification.tsx │ │ │ │ │ │ ├── SubMenuList.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── loading/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── media/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── nftImage.tsx │ │ │ │ │ ├── panel/ │ │ │ │ │ │ ├── IPFSSourceUpload.tsx │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── Panel.stories.tsx │ │ │ │ │ │ ├── QRCodeUpload.tsx │ │ │ │ │ │ ├── SubMenu.tsx │ │ │ │ │ │ ├── SwitchPanel.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── popover/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── Popover.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── popover.stories.tsx │ │ │ │ │ ├── resource/ │ │ │ │ │ │ ├── hook/ │ │ │ │ │ │ │ └── useImage.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── table-pagination/ │ │ │ │ │ │ ├── TablePagination.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── tables/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── Table.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── Formatters/ │ │ │ │ │ │ │ │ ├── CellActionsFormatter.tsx │ │ │ │ │ │ │ │ ├── CellDepthFormatter.tsx │ │ │ │ │ │ │ │ ├── CellExpanderFormatter.tsx │ │ │ │ │ │ │ │ ├── ChildRowDeleteButton.tsx │ │ │ │ │ │ │ │ ├── ImageFormatter.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── HeaderRenderers/ │ │ │ │ │ │ │ │ ├── SortableHeaderCell.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ └── RowRenders/ │ │ │ │ │ │ │ ├── RowDepthFormatter.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── hook/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── useClickOutside.ts │ │ │ │ │ │ │ ├── useCombinedRefs.ts │ │ │ │ │ │ │ ├── useFocusRef.ts │ │ │ │ │ │ │ └── useLatestFunc.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── table.stories.tsx │ │ │ │ │ └── tags/ │ │ │ │ │ ├── Tags.stories.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── block/ │ │ │ │ │ ├── AmmCard.tsx │ │ │ │ │ ├── AmmPairDetail.tsx │ │ │ │ │ ├── AssetTitle.tsx │ │ │ │ │ ├── Block.stories.tsx │ │ │ │ │ ├── CollectionDetailView.tsx │ │ │ │ │ ├── CollectionMedia.tsx │ │ │ │ │ ├── DepthRaw.tsx │ │ │ │ │ ├── DownloadPanel.tsx │ │ │ │ │ ├── ETHStakingDetail.tsx │ │ │ │ │ ├── ErrorBlock.tsx │ │ │ │ │ ├── Interface.ts │ │ │ │ │ ├── LoadingBlock.tsx │ │ │ │ │ ├── MarketBlock.tsx │ │ │ │ │ ├── NotificationPanel.tsx │ │ │ │ │ ├── RedPacket.tsx │ │ │ │ │ ├── Referral.tsx │ │ │ │ │ ├── SettingPanel.tsx │ │ │ │ │ ├── ShareSocialPanel.tsx │ │ │ │ │ ├── TagIconList.tsx │ │ │ │ │ ├── TradeRace.tsx │ │ │ │ │ ├── TradeTitle.tsx │ │ │ │ │ ├── Vip.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── nftMedia.tsx │ │ │ │ ├── bottomRule/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── carousel/ │ │ │ │ │ ├── Carousel.tsx │ │ │ │ │ ├── Interface.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── charts/ │ │ │ │ │ ├── constant.ts │ │ │ │ │ ├── doughnutChart/ │ │ │ │ │ │ ├── DoughnutChart.stories.tsx │ │ │ │ │ │ ├── DoughnutChart.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── scaleAreaChart/ │ │ │ │ │ ├── APRChart/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── DepthChart/ │ │ │ │ │ │ ├── ScaleAreaChart.stories.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── KlineChart/ │ │ │ │ │ │ ├── KlineChart.stories.tsx │ │ │ │ │ │ ├── KlineChart.tsx │ │ │ │ │ │ ├── KlineChart_min.stories.tsx │ │ │ │ │ │ ├── data.ts │ │ │ │ │ │ ├── data_min.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── ScaleAreaChart.tsx │ │ │ │ │ ├── TrendChart/ │ │ │ │ │ │ ├── ScaleAreaChart.stories.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── data.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── datetimerangepicker/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── footer/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── header/ │ │ │ │ │ ├── Header.tsx │ │ │ │ │ ├── Interface.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── toolbar/ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ ├── WalletConnect.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── layout/ │ │ │ │ │ ├── AmmDetail.stories.tsx │ │ │ │ │ ├── Error.stories.tsx │ │ │ │ │ ├── layer2.stories.tsx │ │ │ │ │ └── trade.stories.tsx │ │ │ │ ├── modal/ │ │ │ │ │ ├── ClosureAnnouncementModal.tsx │ │ │ │ │ ├── ModalPanelBase.tsx │ │ │ │ │ ├── ModalPanels/ │ │ │ │ │ │ ├── AccountBase.tsx │ │ │ │ │ │ ├── AddAsset.tsx │ │ │ │ │ │ ├── BasicPanel.tsx │ │ │ │ │ │ ├── BridgePanel.tsx │ │ │ │ │ │ ├── CheckActiveStatus.tsx │ │ │ │ │ │ ├── CheckImportCollection.tsx │ │ │ │ │ │ ├── ClaimWithdraw.tsx │ │ │ │ │ │ ├── ClaimWithdrawPanel.tsx │ │ │ │ │ │ ├── CoinbaseSmartWalletModal.tsx │ │ │ │ │ │ ├── Connect.tsx │ │ │ │ │ │ ├── CreateAccount.tsx │ │ │ │ │ │ ├── CreateRedPacketPanel.tsx │ │ │ │ │ │ ├── DeployNFT.tsx │ │ │ │ │ │ ├── Deposit.tsx │ │ │ │ │ │ ├── DepositNFT.tsx │ │ │ │ │ │ ├── DepositPanel.tsx │ │ │ │ │ │ ├── DepositRecorder.tsx │ │ │ │ │ │ ├── Dual.tsx │ │ │ │ │ │ ├── EditContact.tsx │ │ │ │ │ │ ├── ExportAccount.tsx │ │ │ │ │ │ ├── FeeSelect.tsx │ │ │ │ │ │ ├── ForceWithdraw.tsx │ │ │ │ │ │ ├── ForceWithdrawPanel.tsx │ │ │ │ │ │ ├── HadAccount.tsx │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── MintNFT.tsx │ │ │ │ │ │ ├── ModalAccount.tsx │ │ │ │ │ │ ├── NoAccount.tsx │ │ │ │ │ │ ├── QRAddressPanel.tsx │ │ │ │ │ │ ├── RedPacket.tsx │ │ │ │ │ │ ├── SendAsset.tsx │ │ │ │ │ │ ├── SendNFTAsset.tsx │ │ │ │ │ │ ├── ThirdPanelReturn.tsx │ │ │ │ │ │ ├── Transfer.tsx │ │ │ │ │ │ ├── TransferPanel.tsx │ │ │ │ │ │ ├── TransferToTaikoAccount.tsx │ │ │ │ │ │ ├── TransferToTaikoAccountPanel.tsx │ │ │ │ │ │ ├── UnlockAccount.tsx │ │ │ │ │ │ ├── UpdateAccount.tsx │ │ │ │ │ │ ├── Vault.tsx │ │ │ │ │ │ ├── Withdraw.tsx │ │ │ │ │ │ ├── WithdrawPanel.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── QRCode/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── QRCode.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── RedPacketPanels/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── RedPacketModal.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── Vault/ │ │ │ │ │ │ ├── VaultBorrowPanel.tsx │ │ │ │ │ │ ├── VaultExitPanel.tsx │ │ │ │ │ │ ├── VaultJoinPanel.tsx │ │ │ │ │ │ ├── VaultLoanPanel.tsx │ │ │ │ │ │ ├── VaultRepayPanel.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── WalletConnect/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── ModalWalletConnect.tsx │ │ │ │ │ │ ├── ProviderMenu.tsx │ │ │ │ │ │ ├── WalletConnectQRCode.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── WalletPanels/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── LockWallet.tsx │ │ │ │ │ │ ├── ModalWallet.tsx │ │ │ │ │ │ ├── WalletApprove.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── accountList_new.stories.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── setting/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── SettingFee.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── walletList.stories.tsx │ │ │ │ ├── panel/ │ │ │ │ │ ├── FilterMarketsPanel.tsx │ │ │ │ │ ├── Panel.stories.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── provider.tsx │ │ │ │ ├── share/ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── SocialButton.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── styled.ts │ │ │ │ ├── tableList/ │ │ │ │ │ ├── QuoteTable/ │ │ │ │ │ │ ├── MarketDetail.tsx │ │ │ │ │ │ ├── MarketTable.tsx │ │ │ │ │ │ ├── QuoteTable.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── ammRecordTable/ │ │ │ │ │ │ ├── AmmRecordTable.stories.tsx │ │ │ │ │ │ ├── AmmRecordTable.tsx │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── ammTable/ │ │ │ │ │ │ ├── AmmTable.stories.tsx │ │ │ │ │ │ ├── AmmTable.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── Filter.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── interface.ts │ │ │ │ │ ├── assetsTable/ │ │ │ │ │ │ ├── AssetsDefiTable.tsx │ │ │ │ │ │ ├── AssetsTable.tsx │ │ │ │ │ │ ├── VaultAssetsTable.tsx │ │ │ │ │ │ ├── VaultPositionsTable.tsx │ │ │ │ │ │ ├── assetsTable.stories.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── ActionMemo.tsx │ │ │ │ │ │ │ ├── CoinIcons.tsx │ │ │ │ │ │ │ ├── Filter.tsx │ │ │ │ │ │ │ └── modal.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── btradeSwapTable/ │ │ │ │ │ │ ├── BtradeSwapTable.tsx │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── defiTxsTable/ │ │ │ │ │ │ ├── DefiStakingTable.tsx │ │ │ │ │ │ ├── DefiStakingTxTable.tsx │ │ │ │ │ │ ├── DefiTxsTable.tsx │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── ActionMemo.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── dualTable/ │ │ │ │ │ │ ├── DualTable.tsx │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── dualTxsTable/ │ │ │ │ │ │ ├── DualAssetTable.tsx │ │ │ │ │ │ ├── DualTxsTable.tsx │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── investOverviewTable/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── InvestOverviewTable.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── Filter.tsx │ │ │ │ │ │ │ └── expends.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── myPoolTable/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── MyPoolTable.stories.tsx │ │ │ │ │ │ ├── MyPoolTable.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── ActionPop.tsx │ │ │ │ │ │ │ └── Filter.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── nftTable/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── TsNFTTable.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── Filter.tsx │ │ │ │ │ │ │ └── modal.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── orderHistoryTable/ │ │ │ │ │ │ ├── OrderHistoryTable.tsx │ │ │ │ │ │ ├── SingleOrderHistoryTable.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── Filter.tsx │ │ │ │ │ │ │ └── modal.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── poolsTable/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── PoolsTable.stories.tsx │ │ │ │ │ │ ├── PoolsTable.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── redPacketTable/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── RedPacketBlindBoxReceiveTable.tsx │ │ │ │ │ │ ├── RedPacketClaimTable.tsx │ │ │ │ │ │ ├── RedPacketReceiveTable.tsx │ │ │ │ │ │ ├── RedPacketRecodTable.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── textTooltip.tsx │ │ │ │ │ ├── rewardTable/ │ │ │ │ │ │ ├── ReferralsTable.tsx │ │ │ │ │ │ ├── RefundTable.tsx │ │ │ │ │ │ ├── RewardTable.tsx │ │ │ │ │ │ ├── RewardsTable.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── tableList.stories.tsx │ │ │ │ │ ├── taikoFarmingTable/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── TaikoFarmingPortfolioTable.tsx │ │ │ │ │ │ ├── TaikoTarmingTxRecordsTable.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── tradeNFTTable/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── TradeNFTTable.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── Filter.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── tradeRaceTable/ │ │ │ │ │ │ ├── TradeRaceTable.tsx │ │ │ │ │ │ ├── TradeRaceTableConfig.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── tradeRroTable/ │ │ │ │ │ │ ├── TradePro.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── tradeTable.stories.tsx │ │ │ │ │ ├── tradeTable/ │ │ │ │ │ │ ├── TradeTable.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── Filter.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── tradeTable.stories.tsx │ │ │ │ │ ├── transactionsTable/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── TransactionTable.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── Filter.tsx │ │ │ │ │ │ │ └── modal.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── vaultTable/ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ ├── VaultTxTable.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── text-tooltip/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── toast/ │ │ │ │ │ └── index.tsx │ │ │ │ └── tradePanel/ │ │ │ │ ├── Amm/ │ │ │ │ │ ├── AmmPanel.tsx │ │ │ │ │ ├── Interface.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── Deposit/ │ │ │ │ │ ├── DepositGroup.tsx │ │ │ │ │ ├── DepositTitle.tsx │ │ │ │ │ ├── Interface.tsx │ │ │ │ │ ├── VendorMenu.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── ExportAccount/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── Interface.ts │ │ │ │ ├── ModalPanel.tsx │ │ │ │ ├── Panel.stories.tsx │ │ │ │ ├── Reset/ │ │ │ │ │ ├── ActiveAccountPanel.tsx │ │ │ │ │ ├── ConfirmationPanel.tsx │ │ │ │ │ ├── ResetPanel.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── Swap/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── AddressType.tsx │ │ │ │ │ ├── AmmWrap/ │ │ │ │ │ │ ├── AmmDeposit.tsx │ │ │ │ │ │ ├── AmmWithdraw.tsx │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── styled.ts │ │ │ │ │ ├── BanxaConfirm.tsx │ │ │ │ │ ├── BasicACoinInput.tsx │ │ │ │ │ ├── BasicACoinTrade.tsx │ │ │ │ │ ├── BasicANFTTrade.tsx │ │ │ │ │ ├── CollectionAdvanceWrap.tsx │ │ │ │ │ ├── CollectionManageWrap.tsx │ │ │ │ │ ├── ContactSelection.tsx │ │ │ │ │ ├── CreateCollectionWrap.tsx │ │ │ │ │ ├── CreateRedPacketWrap.tsx │ │ │ │ │ ├── DeFiWrap/ │ │ │ │ │ │ ├── DeFiStackOneSideWrap.tsx │ │ │ │ │ │ ├── DeFiStackRedeemWrap.tsx │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── deFiWrap.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── DeployNFTWrap.tsx │ │ │ │ │ ├── DepositConfirm.tsx │ │ │ │ │ ├── DepositNFTWrap.tsx │ │ │ │ │ ├── DepositWrap.tsx │ │ │ │ │ ├── DualWrap/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── ModifyParameter.tsx │ │ │ │ │ │ ├── ModifySetting.tsx │ │ │ │ │ │ ├── dualDetail.tsx │ │ │ │ │ │ ├── dualWrap.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── ExportAccountWrap.tsx │ │ │ │ │ ├── ForceWithdrawConfirm.tsx │ │ │ │ │ ├── ForceWithdrawWrap.tsx │ │ │ │ │ ├── ImportCollectionWrap.tsx │ │ │ │ │ ├── ImportRedPacketWrap.tsx │ │ │ │ │ ├── Interface.ts │ │ │ │ │ ├── MintAdvanceNFTWrap.tsx │ │ │ │ │ ├── MintNFTBlock.tsx │ │ │ │ │ ├── MintNFTConfirm.tsx │ │ │ │ │ ├── RampConfirm.tsx │ │ │ │ │ ├── ResetWrap.tsx │ │ │ │ │ ├── Styled.ts │ │ │ │ │ ├── SwapWrap/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── SwapMenuList.tsx │ │ │ │ │ │ ├── SwapTradeWrap.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── TargetRedpacketWrap.tsx │ │ │ │ │ ├── TransferConfirm.tsx │ │ │ │ │ ├── TransferNFTBurn.tsx │ │ │ │ │ ├── TransferWrap.tsx │ │ │ │ │ ├── VaultWrap/ │ │ │ │ │ │ ├── Interface.ts │ │ │ │ │ │ ├── VaultBorrow.tsx │ │ │ │ │ │ ├── VaultJoin.tsx │ │ │ │ │ │ ├── VaultRepay.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── styled.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── WithdrawConfirm.tsx │ │ │ │ │ ├── WithdrawWrap.tsx │ │ │ │ │ ├── hook/ │ │ │ │ │ │ ├── BasicACoinPanelHook.tsx │ │ │ │ │ │ └── useAddressType.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── tool/ │ │ │ │ │ ├── Dialogs.tsx │ │ │ │ │ ├── FeeList.tsx │ │ │ │ │ ├── Property.tsx │ │ │ │ │ ├── Refresh.tsx │ │ │ │ │ ├── SlippagePanel.tsx │ │ │ │ │ ├── ToolBarItems.tsx │ │ │ │ │ ├── TradeMenuList.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ └── tradePro/ │ │ │ │ ├── Interface.ts │ │ │ │ ├── hookCommon.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── limitTrade.tsx │ │ │ │ ├── marketTrade.tsx │ │ │ │ └── stopLimitTrade.tsx │ │ │ ├── index.ts │ │ │ ├── react-app-env.d.ts │ │ │ ├── reportWebVitals.ts │ │ │ ├── setupTests.ts │ │ │ ├── sharedPages/ │ │ │ │ ├── VaultPage/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── DashBoardPanel.tsx │ │ │ │ │ │ ├── HomePanel.tsx │ │ │ │ │ │ ├── ModalWrap.tsx │ │ │ │ │ │ ├── TradePanel.tsx │ │ │ │ │ │ ├── VaultPageUI.tsx │ │ │ │ │ │ ├── VaultSwapView.tsx │ │ │ │ │ │ ├── modals.tsx │ │ │ │ │ │ └── useVaultSwapExtends.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── useModals.ts │ │ │ │ │ │ ├── useVaultDashBoard.tsx │ │ │ │ │ │ ├── useVaultMarket.ts │ │ │ │ │ │ ├── useVaultPage.ts │ │ │ │ │ │ └── useVaultSwap.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── interface.ts │ │ │ │ │ └── utils.ts │ │ │ │ └── index.ts │ │ │ ├── static.ts │ │ │ ├── stores/ │ │ │ │ ├── index.ts │ │ │ │ └── reducer/ │ │ │ │ ├── modals/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ └── reducer.ts │ │ │ │ ├── settings/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ └── reducer.ts │ │ │ │ └── toggle/ │ │ │ │ ├── hook.ts │ │ │ │ ├── index.ts │ │ │ │ ├── interface.ts │ │ │ │ └── reducer.ts │ │ │ ├── types/ │ │ │ │ └── lib.ts │ │ │ └── utils/ │ │ │ └── closureAnnouncementUtils.ts │ │ ├── tsconfig.json │ │ └── tsconfig.test.json │ ├── core/ │ │ ├── .babelrc │ │ ├── .eslintignore │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── README.md │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── TimeoutCheckProvider.tsx │ │ │ ├── abi/ │ │ │ │ ├── erc20ABI.ts │ │ │ │ ├── index.ts │ │ │ │ └── taikoDepositABI.ts │ │ │ ├── api_wrapper/ │ │ │ │ ├── index.ts │ │ │ │ └── wallet.ts │ │ │ ├── component/ │ │ │ │ ├── BtnConnect.tsx │ │ │ │ ├── NotificationItem.tsx │ │ │ │ ├── index.ts │ │ │ │ └── styled.ts │ │ │ ├── defs/ │ │ │ │ └── index.ts │ │ │ ├── hookConnect.tsx │ │ │ ├── hooks/ │ │ │ │ ├── common/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── useAddrCheck.ts │ │ │ │ │ ├── useAllowances.ts │ │ │ │ │ ├── useBtnStatus.ts │ │ │ │ │ ├── useCollectionImport.ts │ │ │ │ │ ├── useCollectionManage.ts │ │ │ │ │ ├── useDebounce.ts │ │ │ │ │ ├── useGetOrderHistorys.ts │ │ │ │ │ ├── useHookBtn.ts │ │ │ │ │ ├── useInjectWeb3Modal.ts │ │ │ │ │ ├── useIsHebao.ts │ │ │ │ │ ├── useMarket.ts │ │ │ │ │ ├── useMyCollection.ts │ │ │ │ │ ├── useMyNFTCollection.ts │ │ │ │ │ ├── useNFT.tsx │ │ │ │ │ ├── useNotification.ts │ │ │ │ │ ├── usePairMatch.ts │ │ │ │ │ ├── useThrottle.ts │ │ │ │ │ ├── useToast.ts │ │ │ │ │ ├── useTrade.ts │ │ │ │ │ └── useUserWallets.ts │ │ │ │ ├── help/ │ │ │ │ │ ├── coinPairInit.ts │ │ │ │ │ ├── connectStatusCallback.tsx │ │ │ │ │ ├── formatPrice.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── makeCache.ts │ │ │ │ │ ├── makeDefiSideStaking.ts │ │ │ │ │ ├── makeDual.ts │ │ │ │ │ ├── makeInvest.ts │ │ │ │ │ ├── makeMarketTrend.ts │ │ │ │ │ ├── makeTickView.ts │ │ │ │ │ ├── makeUIAmmActivityMap.ts │ │ │ │ │ ├── makeWallet.ts │ │ │ │ │ ├── marketPairHelp.ts │ │ │ │ │ ├── marketRedPacket.ts │ │ │ │ │ ├── marketTable.ts │ │ │ │ │ ├── parseRabbitConfig.ts │ │ │ │ │ ├── providorConnect.ts │ │ │ │ │ ├── useAmmTotalValue.ts │ │ │ │ │ └── volumeToCount.ts │ │ │ │ ├── index.ts │ │ │ │ ├── rooters/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── useLocationChange.ts │ │ │ │ └── useractions/ │ │ │ │ ├── hookAmmCommon.ts │ │ │ │ ├── hookAmmExit.ts │ │ │ │ ├── hookAmmJoin.ts │ │ │ │ ├── hookSwap.ts │ │ │ │ ├── index.ts │ │ │ │ ├── useAccountModal.ts │ │ │ │ ├── useActiveAccount.ts │ │ │ │ ├── useBanxaConfirm.ts │ │ │ │ ├── useBtrade.ts │ │ │ │ ├── useCheckAccStatus.tsx │ │ │ │ ├── useClaimConfirm.ts │ │ │ │ ├── useCoinbaseWalletPassword.ts │ │ │ │ ├── useCollectionAdvanceMeta.ts │ │ │ │ ├── useContact.ts │ │ │ │ ├── useContactAdd.tsx │ │ │ │ ├── useCreateRedPacket.ts │ │ │ │ ├── useDefiTrade.ts │ │ │ │ ├── useDeposit.ts │ │ │ │ ├── useDualEdit.ts │ │ │ │ ├── useDualTrade.ts │ │ │ │ ├── useEditCollection.tsx │ │ │ │ ├── useExportAccount.ts │ │ │ │ ├── useForceWithdraw.ts │ │ │ │ ├── useNFTBurn.ts │ │ │ │ ├── useNFTDeploy.ts │ │ │ │ ├── useNFTDeposit.ts │ │ │ │ ├── useNFTMintAdvance.ts │ │ │ │ ├── useNFTTransfer.ts │ │ │ │ ├── useNFTWithdraw.ts │ │ │ │ ├── useRampConfirm.ts │ │ │ │ ├── useRedpacket.ts │ │ │ │ ├── useReset.ts │ │ │ │ ├── useStakeTrade.ts │ │ │ │ ├── useStakeTradeExit.ts │ │ │ │ ├── useStakingAprTrend.ts │ │ │ │ ├── useTaikoLock.ts │ │ │ │ ├── useTransfer.ts │ │ │ │ ├── useTransferToTaikoAccount.ts │ │ │ │ ├── useUpdateAccount.ts │ │ │ │ ├── useVendor.ts │ │ │ │ ├── useWithdraw.ts │ │ │ │ └── vault/ │ │ │ │ ├── index.ts │ │ │ │ ├── useAccountInfo.ts │ │ │ │ ├── useVaultBorrow.ts │ │ │ │ ├── useVaultJoin.ts │ │ │ │ ├── useVaultLoan.ts │ │ │ │ ├── useVaultRedeem.ts │ │ │ │ ├── useVaultRepay.ts │ │ │ │ └── utils.ts │ │ │ ├── index.ts │ │ │ ├── modal/ │ │ │ │ ├── AccountL1Modal/ │ │ │ │ │ ├── hook.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── AccountModal/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── NFTDetail.tsx │ │ │ │ │ │ └── QRCodeScanner.tsx │ │ │ │ │ ├── hook.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── AmmPoolModal/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── ammPanel.tsx │ │ │ │ │ │ ├── ammRecordPanel.tsx │ │ │ │ │ │ └── chartAndInfo.tsx │ │ │ │ │ ├── hooks.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── DualModal/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── RedPacketModal/ │ │ │ │ │ ├── hook.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── WalletModal/ │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── react-app-env.d.ts │ │ │ ├── reportWebVitals.ts │ │ │ ├── services/ │ │ │ │ ├── account/ │ │ │ │ │ ├── accountServices.ts │ │ │ │ │ ├── activateAccount.ts │ │ │ │ │ ├── checkAccount.ts │ │ │ │ │ ├── command.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── lockAccount.ts │ │ │ │ │ ├── networkUpdate.ts │ │ │ │ │ ├── resetAccount.ts │ │ │ │ │ ├── unlockAccount.ts │ │ │ │ │ └── useAccountHook.ts │ │ │ │ ├── banxa/ │ │ │ │ │ ├── banxaService.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── offFaitService.ts │ │ │ │ ├── claimServices/ │ │ │ │ │ ├── claimServices.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── collectionServices/ │ │ │ │ │ ├── collectionService.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── connect/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── useConnectHook.ts │ │ │ │ ├── depositServices/ │ │ │ │ │ ├── depositServices.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── fee/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── useChargeFees.ts │ │ │ │ ├── index.ts │ │ │ │ ├── ipfs/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── ipfsService.ts │ │ │ │ │ └── useIpfs.ts │ │ │ │ ├── mintServices/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── mintService.ts │ │ │ │ │ ├── useNFTMeta.ts │ │ │ │ │ └── useNFTMint.ts │ │ │ │ ├── qrcodeServices/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── qrCodeService.ts │ │ │ │ │ └── useQrcodeScan.ts │ │ │ │ ├── redpacket/ │ │ │ │ │ └── index.ts │ │ │ │ └── socket/ │ │ │ │ ├── hook/ │ │ │ │ │ ├── useL2CommonSocket.ts │ │ │ │ │ ├── useNotificationSocket.ts │ │ │ │ │ ├── useWalletLayer2Socket.ts │ │ │ │ │ └── useWalletLayer2WithNFTSocket.ts │ │ │ │ ├── index.ts │ │ │ │ ├── services/ │ │ │ │ │ ├── ammPoolService.ts │ │ │ │ │ ├── bookService.ts │ │ │ │ │ ├── btradeOrderbookService.ts │ │ │ │ │ ├── l2CommonService.ts │ │ │ │ │ ├── mixorderService.ts │ │ │ │ │ ├── mixtradeService.ts │ │ │ │ │ ├── notificationService.ts │ │ │ │ │ ├── orderbookService.ts │ │ │ │ │ ├── tickerService.ts │ │ │ │ │ ├── tradeService.ts │ │ │ │ │ └── walletLayer2Service.ts │ │ │ │ └── socketUtil.ts │ │ │ ├── storage/ │ │ │ │ └── index.ts │ │ │ ├── stores/ │ │ │ │ ├── Amm/ │ │ │ │ │ ├── AmmActivityMap/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ ├── reducer.ts │ │ │ │ │ │ └── saga.ts │ │ │ │ │ ├── AmmMap/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ ├── reducer.ts │ │ │ │ │ │ └── saga.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── account/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── amount/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ └── reducer.ts │ │ │ │ ├── contacts/ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── global/ │ │ │ │ │ └── actions.ts │ │ │ │ ├── index.ts │ │ │ │ ├── invest/ │ │ │ │ │ ├── BtradeMap/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ ├── reducer.ts │ │ │ │ │ │ └── saga.ts │ │ │ │ │ ├── DefiMap/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ ├── reducer.ts │ │ │ │ │ │ └── saga.ts │ │ │ │ │ ├── DualMap/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ ├── reducer.ts │ │ │ │ │ │ └── saga.ts │ │ │ │ │ ├── InvestTokenTypeMap/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ ├── reducer.ts │ │ │ │ │ │ └── saga.ts │ │ │ │ │ ├── StakingMap/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ ├── reducer.ts │ │ │ │ │ │ └── saga.ts │ │ │ │ │ ├── VaultMap/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ ├── reducer.ts │ │ │ │ │ │ └── saga.ts │ │ │ │ │ ├── VaultTicker/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ ├── reducer.ts │ │ │ │ │ │ └── saga.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── localStore/ │ │ │ │ │ ├── coinbaseSmartWalletPersist/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── confirmation/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── favoriteMarket/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── favoriteVaultMarket/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── layer1Store/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── reducer.ts │ │ │ │ │ │ └── saga.ts │ │ │ │ │ ├── nftRefresh/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── offRamp/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── onchainHashInfo/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── redPacket/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── tradeProSettings/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ └── walletInfo/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ └── reducer.ts │ │ │ │ ├── notify/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── redPacket/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── rootSaga.ts │ │ │ │ ├── router/ │ │ │ │ │ ├── amm/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── modals/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── tradeBtrade/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── tradeDefi/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── tradeDual/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── tradeLite/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── tradePro/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ ├── tradeStake/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── reducer.ts │ │ │ │ │ └── tradeVault/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ └── reducer.ts │ │ │ │ ├── socket/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── system/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── targetRedpackt/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── ticker/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── token/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── tokenPrices/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── userRewards/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── vaultLayer2/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── walletL2Collection/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── walletL2NFTCollection/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── walletLayer1/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ ├── walletLayer2/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── reducer.ts │ │ │ │ │ └── saga.ts │ │ │ │ └── walletLayer2NFT/ │ │ │ │ ├── hook.ts │ │ │ │ ├── index.ts │ │ │ │ ├── interface.ts │ │ │ │ ├── reducer.ts │ │ │ │ └── saga.ts │ │ │ ├── types.d.ts │ │ │ └── utils/ │ │ │ ├── .gitignore │ │ │ ├── AESMd5.ts │ │ │ ├── address.ts │ │ │ ├── addressTypeMap.ts │ │ │ ├── calculation.ts │ │ │ ├── coinbaseSmartWallet.ts │ │ │ ├── decimal.ts │ │ │ ├── dt_tools.ts │ │ │ ├── feeInfo.ts │ │ │ ├── formatter_tool.ts │ │ │ ├── genAvatar.ts │ │ │ ├── getStateFnState.ts │ │ │ ├── index.ts │ │ │ ├── makeMeta.ts │ │ │ ├── numberFormat.ts │ │ │ ├── promise.ts │ │ │ ├── readFileQrcode.ts │ │ │ ├── retry.ts │ │ │ ├── swap_utils.ts │ │ │ ├── tryFn.ts │ │ │ ├── validation.ts │ │ │ ├── waitForTx.ts │ │ │ └── web3_tools.ts │ │ ├── tsconfig.json │ │ └── tsconfig.test.json │ ├── web-bridge/ │ │ ├── .babelrc │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── README.md │ │ ├── craco.config.js │ │ ├── electron-builder.env │ │ ├── generate-react-cli.json │ │ ├── jest.config.js │ │ ├── jest.setup.js │ │ ├── package.json │ │ ├── public/ │ │ │ ├── electron.js │ │ │ ├── index.html │ │ │ ├── manifest.json │ │ │ └── robots.txt │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── hook.ts │ │ │ ├── hookAccountInit.ts │ │ │ ├── index.tsx │ │ │ ├── layouts/ │ │ │ │ ├── footer/ │ │ │ │ │ └── index.tsx │ │ │ │ └── header/ │ │ │ │ ├── hook.tsx │ │ │ │ └── index.tsx │ │ │ ├── pages/ │ │ │ │ ├── DepositPage/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── ErrorPage/ │ │ │ │ │ └── index.tsx │ │ │ │ └── LoadingPage/ │ │ │ │ └── index.tsx │ │ │ ├── react-app-env.d.ts │ │ │ ├── reportWebVitals.ts │ │ │ ├── routers/ │ │ │ │ └── index.tsx │ │ │ ├── setupTests.ts │ │ │ └── types.d.ts │ │ └── tsconfig.json │ ├── web-developer/ │ │ └── public/ │ │ ├── badge.xml │ │ ├── browserconfig.xml │ │ ├── dark.css │ │ ├── developer.css │ │ ├── developer.js │ │ ├── developer.scss │ │ ├── footer.jsx │ │ ├── index.html │ │ ├── light.css │ │ ├── manifest.json │ │ ├── reset.css │ │ ├── robots.txt │ │ └── vercel.json │ ├── web-earn/ │ │ ├── .babelrc │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── ADD_NEW_CHAIN.md │ │ ├── README.md │ │ ├── craco.config.js │ │ ├── electron-builder.env │ │ ├── generate-react-cli.json │ │ ├── jest.config.js │ │ ├── jest.setup.js │ │ ├── package.json │ │ ├── public/ │ │ │ ├── badge.xml │ │ │ ├── browserconfig.xml │ │ │ ├── electron.js │ │ │ ├── index.html │ │ │ ├── manifest.json │ │ │ └── robots.txt │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── constant/ │ │ │ │ ├── index.ts │ │ │ │ ├── router.ts │ │ │ │ └── setting.ts │ │ │ ├── hook.ts │ │ │ ├── hookAccountInit.ts │ │ │ ├── index.tsx │ │ │ ├── layouts/ │ │ │ │ ├── footer/ │ │ │ │ │ └── index.tsx │ │ │ │ └── header/ │ │ │ │ ├── hook.tsx │ │ │ │ └── index.tsx │ │ │ ├── pages/ │ │ │ │ ├── AssetPage/ │ │ │ │ │ ├── AssetPanel/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── HistoryPanel/ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── useDualAsset.tsx │ │ │ │ │ ├── RewardsPanel/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── BtradeSwapPage/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── EarnPage/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── ErrorPage/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── IntroPage/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── InvestPage/ │ │ │ │ │ ├── DeFiPanel/ │ │ │ │ │ │ ├── DeFiTradePanel.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── DualPanel/ │ │ │ │ │ │ ├── BeginnerMode.tsx │ │ │ │ │ │ ├── ChooseDualType.tsx │ │ │ │ │ │ ├── DualListPanel.tsx │ │ │ │ │ │ └── hook.ts │ │ │ │ │ ├── LeverageETHPanel/ │ │ │ │ │ │ ├── TradePanel.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── MyLiquidityPanel/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── interface.ts │ │ │ │ │ ├── OverviewPanel/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── PoolsPanel/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Layer2Page/ │ │ │ │ │ ├── ContactPanel/ │ │ │ │ │ │ ├── delete.tsx │ │ │ │ │ │ ├── history.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── ForcewithdrawPanel/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── ReferralRewardsPanel/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── SecurityPanel/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── VipPanel/ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── LoadingPage/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── MarkdownPage/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── investMarkdown.tsx │ │ │ │ │ └── notifyMarkdown.tsx │ │ │ │ ├── QuotePage/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── useMaket.ts │ │ │ │ ├── TaikoLockPage/ │ │ │ │ │ ├── BannerPage.tsx │ │ │ │ │ ├── LogInToCleanLrTaiko.tsx │ │ │ │ │ ├── MintRedeemModal.tsx │ │ │ │ │ ├── PendingTxsModal.tsx │ │ │ │ │ ├── TaikoLockInput.tsx │ │ │ │ │ ├── TxSubmitModal.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── TradeRacePage/ │ │ │ │ ├── hook.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── interface.ts │ │ │ │ ├── rank.tsx │ │ │ │ └── snow.css │ │ │ ├── react-app-env.d.ts │ │ │ ├── reportWebVitals.ts │ │ │ ├── routers/ │ │ │ │ └── index.tsx │ │ │ ├── setupTests.ts │ │ │ └── types.d.ts │ │ └── tsconfig.json │ ├── web-guardian/ │ │ ├── .babelrc │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── README.md │ │ ├── craco.config.js │ │ ├── electron-builder.env │ │ ├── generate-react-cli.json │ │ ├── jest.config.js │ │ ├── jest.setup.js │ │ ├── package.json │ │ ├── public/ │ │ │ ├── electron.js │ │ │ ├── index.html │ │ │ ├── manifest.json │ │ │ └── robots.txt │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── common.ts │ │ │ ├── hook.ts │ │ │ ├── hookAccountInit.ts │ │ │ ├── index.tsx │ │ │ ├── layouts/ │ │ │ │ ├── footer/ │ │ │ │ │ └── index.tsx │ │ │ │ └── header/ │ │ │ │ ├── hook.tsx │ │ │ │ └── index.tsx │ │ │ ├── pages/ │ │ │ │ ├── ErrorPage/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── LoadingPage/ │ │ │ │ │ └── index.tsx │ │ │ │ └── WalletPage/ │ │ │ │ ├── GuardianModal.tsx │ │ │ │ ├── WalletHistory.tsx │ │ │ │ ├── WalletProtector.tsx │ │ │ │ ├── WalletValidationInfo.tsx │ │ │ │ ├── hook.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── modal/ │ │ │ │ │ └── index.tsx │ │ │ │ └── utils.ts │ │ │ ├── react-app-env.d.ts │ │ │ ├── reportWebVitals.ts │ │ │ ├── routers/ │ │ │ │ └── index.tsx │ │ │ ├── setupTests.ts │ │ │ └── types.d.ts │ │ └── tsconfig.json │ ├── web-wallet/ │ │ └── public/ │ │ ├── badge.xml │ │ ├── browserconfig.xml │ │ ├── electron.js │ │ ├── footer.jsx │ │ ├── index.html │ │ ├── manifest.json │ │ ├── reset.css │ │ ├── robots.txt │ │ ├── wallet.css │ │ ├── wallet.js │ │ ├── wallet.scss │ │ ├── wallet_dark.css │ │ └── wallet_light.css │ └── webapp/ │ ├── .babelrc │ ├── .eslintrc.json │ ├── .gitignore │ ├── ADD_NEW_CHAIN.md │ ├── README.md │ ├── craco.config.js │ ├── electron-builder.env │ ├── generate-react-cli.json │ ├── jest.config.js │ ├── jest.setup.js │ ├── package.json │ ├── public/ │ │ ├── badge.xml │ │ ├── browserconfig.xml │ │ ├── electron.js │ │ ├── index.html │ │ ├── manifest.json │ │ └── robots.txt │ ├── src/ │ │ ├── App.tsx │ │ ├── hook.ts │ │ ├── hookAccountInit.ts │ │ ├── index.tsx │ │ ├── layouts/ │ │ │ ├── footer/ │ │ │ │ └── index.tsx │ │ │ └── header/ │ │ │ ├── hook.tsx │ │ │ └── index.tsx │ │ ├── pages/ │ │ │ ├── AssetPage/ │ │ │ │ ├── AssetPanel/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── HistoryPanel/ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── useDualAsset.tsx │ │ │ │ ├── RewardsPanel/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── BtradeSwapPage/ │ │ │ │ └── index.tsx │ │ │ ├── ErrorPage/ │ │ │ │ └── index.tsx │ │ │ ├── FiatPage/ │ │ │ │ └── index.tsx │ │ │ ├── InvestPage/ │ │ │ │ ├── DeFiPanel/ │ │ │ │ │ ├── DeFiTradePanel.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── DualPanel/ │ │ │ │ │ ├── BeginnerMode.tsx │ │ │ │ │ ├── ChooseDualType.tsx │ │ │ │ │ ├── DualListPanel.tsx │ │ │ │ │ └── hook.tsx │ │ │ │ ├── LeverageETHPanel/ │ │ │ │ │ ├── TradePanel.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── MyLiquidityPanel/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── interface.ts │ │ │ │ ├── OverviewPanel/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── PoolsPanel/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── StakePanel/ │ │ │ │ │ └── StackTradePanel.tsx │ │ │ │ └── index.tsx │ │ │ ├── LandPage/ │ │ │ │ ├── Card.tsx │ │ │ │ ├── HomePage.tsx │ │ │ │ ├── LandPage.tsx │ │ │ │ ├── WalletPage.tsx │ │ │ │ ├── coins.json │ │ │ │ ├── index.ts │ │ │ │ └── style.tsx │ │ │ ├── Layer2Page/ │ │ │ │ ├── ContactPanel/ │ │ │ │ │ ├── delete.tsx │ │ │ │ │ ├── history.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── ForcewithdrawPanel/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── Notification/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── ReferralRewardsPanel/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── SecurityPanel/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── VipPanel/ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── LoadingPage/ │ │ │ │ └── index.tsx │ │ │ ├── MarkdownPage/ │ │ │ │ ├── index.tsx │ │ │ │ ├── investMarkdown.tsx │ │ │ │ └── notifyMarkdown.tsx │ │ │ ├── MiningPage/ │ │ │ │ ├── hook.ts │ │ │ │ └── index.tsx │ │ │ ├── NFTPage/ │ │ │ │ ├── CollectionPanel/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── EditCollectionPanel/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── ImportCollectionPanel/ │ │ │ │ │ ├── CollectionManage.tsx │ │ │ │ │ ├── ImportCollection.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── MintNFTPanel/ │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── metaNFTPanel.tsx │ │ │ │ ├── MyNFT/ │ │ │ │ │ ├── MyNFTCollectionList.tsx │ │ │ │ │ ├── MyNFTList.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── useMyNFT.ts │ │ │ │ ├── NFTDeposit/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── NFThistory/ │ │ │ │ │ ├── hookHistory.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── CollectionItemPanel.tsx │ │ │ │ │ ├── landingPanel.tsx │ │ │ │ │ ├── titleNFTMobile.tsx │ │ │ │ │ └── usePublicNFTs.ts │ │ │ │ └── index.tsx │ │ │ ├── ProTradePage/ │ │ │ │ ├── hookPro.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── panel/ │ │ │ │ │ ├── chart/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── klineConfig.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── market/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── orderTable/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── spot/ │ │ │ │ │ │ ├── hookLimit.ts │ │ │ │ │ │ ├── hookMarket.ts │ │ │ │ │ │ ├── hookStopLimit.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── stopLimit.tsx │ │ │ │ │ ├── toolbar/ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── walletInfo/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── stopLimitInfo.tsx │ │ │ │ ├── proService.ts │ │ │ │ └── stopLimtPage.tsx │ │ │ ├── QuotePage/ │ │ │ │ ├── hook.ts │ │ │ │ ├── index.tsx │ │ │ │ └── useMaket.ts │ │ │ ├── RedPacketPage/ │ │ │ │ ├── CreateRedPacketPanel/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── MyRedPacketPanel/ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── RedPacketClaimPanel/ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── RedPacketMarketPanel/ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ └── index.tsx │ │ │ │ └── index.tsx │ │ │ ├── SwapPage/ │ │ │ │ └── index.tsx │ │ │ └── TradeRacePage/ │ │ │ ├── hook.ts │ │ │ ├── index.tsx │ │ │ ├── interface.ts │ │ │ ├── rank.tsx │ │ │ └── snow.css │ │ ├── react-app-env.d.ts │ │ ├── reportWebVitals.ts │ │ ├── routers/ │ │ │ └── index.tsx │ │ ├── setupTests.ts │ │ └── types.d.ts │ └── tsconfig.json ├── tsconfig.build.json └── tsconfig.json