@dodoex/widgets 3.0.2-tac.1 → 3.0.3-neox.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/9cc2b17a1958d960.svg +3 -0
- package/dist/cjs/locales/en-US.js +1 -1
- package/dist/cjs/locales/zh-CN.js +1 -1
- package/dist/f7a5110e71722a0c.svg +10 -0
- package/dist/{helper-D0Wboozr.cjs → helper-BpJsZ-CD.cjs} +1 -1
- package/dist/{helper-DxO-wimI.js → helper-DFFCKq2-.js} +1 -1
- package/dist/index-B0agmC2s.js +12 -0
- package/dist/index-BkUUPSda.cjs +78 -0
- package/dist/index-C1NSMvb8.js +32 -0
- package/dist/index-CS_VKEbM.cjs +12 -0
- package/dist/{index-DLg6E0jt.js → index-DACYll9u.js} +4 -4
- package/dist/index-IbQl-6Pk.cjs +32 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/locales/en-US.js +1 -1
- package/dist/locales/zh-CN.js +1 -1
- package/dist/types/components/Swap/components/SwapInfoCard.d.ts +9 -0
- package/dist/types/components/Swap/components/TokenCard/BalanceText.d.ts +3 -1
- package/dist/types/components/Swap/components/TokenCard/TokenLogoCollapse.d.ts +5 -1
- package/dist/types/components/Swap/components/TokenCard/index.d.ts +5 -5
- package/dist/types/components/Swap/components/TokenPairPriceWithToggle.d.ts +14 -2
- package/dist/types/components/WidgetContainer.d.ts +1 -1
- package/dist/types/constants/api.d.ts +1 -21
- package/dist/types/hooks/Submission/types.d.ts +0 -24
- package/dist/types/hooks/Swap/useFetchRoutePrice.d.ts +1 -1
- package/dist/types/hooks/contract/useFetchETHBalance.d.ts +13 -2
- package/dist/types/hooks/contract/useFetchTokens.d.ts +3 -1
- package/dist/types/hooks/style/useWidgetDevice.d.ts +1 -0
- package/dist/types/utils/address.d.ts +8 -1
- package/dist/types/widgets/PoolWidget/PoolList/components/GoPoolDetailBtn.d.ts +3 -1
- package/dist/types/widgets/PoolWidget/PoolList/hooks/usePoolListFilterTokenAndPool.d.ts +2 -0
- package/dist/types/widgets/PoolWidget/PoolList/hooks/usePoolListTabs.d.ts +1 -1
- package/dist/types/widgets/PoolWidget/PoolList/index.d.ts +3 -1
- package/dist/types/widgets/PoolWidget/PoolOperate/AddPoolOperate.d.ts +1 -1
- package/dist/types/widgets/PoolWidget/PoolOperate/RemovePoolOperate.d.ts +1 -1
- package/dist/types/widgets/PoolWidget/PoolOperate/components/LiquidityInfo.d.ts +3 -1
- package/dist/types/widgets/PoolWidget/PoolOperate/components/MyLiquidityInfo.d.ts +15 -0
- package/dist/types/widgets/PoolWidget/PoolOperate/components/PairTitle.d.ts +5 -0
- package/dist/types/widgets/PoolWidget/PoolOperate/types.d.ts +2 -0
- package/dist/types/widgets/PoolWidget/hooks/usePoolBalanceInfo.d.ts +4 -3
- package/dist/types/widgets/PoolWidget/hooks/usePoolDetail.d.ts +10 -0
- package/package.json +4 -13
- package/dist/AaveLendingPoolABI-CdLq16uB-CdLq16uB.js +0 -1
- package/dist/AaveLendingPoolABI-CdLq16uB-G3D5zkkz.cjs +0 -1
- package/dist/AaveLendingPoolAddressesProvider-EOSAznLK-DrLP2k1o.cjs +0 -1
- package/dist/AaveLendingPoolAddressesProvider-EOSAznLK-EOSAznLK.js +0 -1
- package/dist/AavePriceOracleABI-C2UEpXR4-C2UEpXR4.js +0 -1
- package/dist/AavePriceOracleABI-C2UEpXR4-C4jkbxlQ.cjs +0 -1
- package/dist/AaveProtocolDataProviderABI-0JclmmLX-0JclmmLX.js +0 -1
- package/dist/AaveProtocolDataProviderABI-0JclmmLX-ChLpWblx.cjs +0 -1
- package/dist/BaseDrops-BrQZPqKk-BrQZPqKk.js +0 -1
- package/dist/BaseDrops-BrQZPqKk-b4x2vqWE.cjs +0 -1
- package/dist/D3MM_READ_ABI-B5536S-z-B5536S-z.js +0 -1
- package/dist/D3MM_READ_ABI-B5536S-z-DPl8m5T6.cjs +0 -1
- package/dist/D3Proxy-CKIzLOhI-CKIzLOhI.js +0 -1
- package/dist/D3Proxy-CKIzLOhI-ChV5DN6z.cjs +0 -1
- package/dist/DODO1155-DDY5Jxhf-BNeD65Or.cjs +0 -1
- package/dist/DODO1155-DDY5Jxhf-DDY5Jxhf.js +0 -1
- package/dist/DODO721-Kl5REiwU-CSXhoGSt.cjs +0 -1
- package/dist/DODO721-Kl5REiwU-Kl5REiwU.js +0 -1
- package/dist/DODOCirculationHelperABI-gu1sCqZ2-BnZp9-jW.cjs +0 -1
- package/dist/DODOCirculationHelperABI-gu1sCqZ2-gu1sCqZ2.js +0 -1
- package/dist/DODORouteProxy-51kl6QgI-51kl6QgI.js +0 -1
- package/dist/DODORouteProxy-51kl6QgI-BZ0Y3GCA.cjs +0 -1
- package/dist/DODOV1PmmHelperABI-DQqthyaE-DD2Zqxnx.cjs +0 -1
- package/dist/DODOV1PmmHelperABI-DQqthyaE-DQqthyaE.js +0 -1
- package/dist/DVM-DjtWbqiJ-BpNPFgPh.cjs +0 -1
- package/dist/DVM-DjtWbqiJ-DjtWbqiJ.js +0 -1
- package/dist/DropsERC721-7Bckjcar-7Bckjcar.js +0 -1
- package/dist/DropsERC721-7Bckjcar-BhKaFHvL.cjs +0 -1
- package/dist/FilterAdmin-jm_-DS1l-cj8kYpNK.cjs +0 -1
- package/dist/FilterAdmin-jm_-DS1l-jm_-DS1l.js +0 -1
- package/dist/FilterERC1155V1-VIUlIHdF-CYRg0d1t.cjs +0 -1
- package/dist/FilterERC1155V1-VIUlIHdF-VIUlIHdF.js +0 -1
- package/dist/FilterERC721V1-CWDEPGmH-Bi0L9sSX.cjs +0 -1
- package/dist/FilterERC721V1-CWDEPGmH-CWDEPGmH.js +0 -1
- package/dist/Fragment-Bd_AXeVx-B-F8I7LL.cjs +0 -1
- package/dist/Fragment-Bd_AXeVx-Bd_AXeVx.js +0 -1
- package/dist/FundingABI-WqQDGVVa-CVCr1rVZ.cjs +0 -1
- package/dist/FundingABI-WqQDGVVa-WqQDGVVa.js +0 -1
- package/dist/IdodoV2-DlW8pwaE-DlW8pwaE.js +0 -1
- package/dist/IdodoV2-DlW8pwaE-RfwR_GpI.cjs +0 -1
- package/dist/LockedTokenVaultABI-CfBj0wEX-CfBj0wEX.js +0 -1
- package/dist/LockedTokenVaultABI-CfBj0wEX-DRbLRj9L.cjs +0 -1
- package/dist/MarginTrading-CQ5odvHB-CQ5odvHB.js +0 -1
- package/dist/MarginTrading-CQ5odvHB-DTxWKyBB.cjs +0 -1
- package/dist/MarginTradingFactory-2RKqvCSO-2RKqvCSO.js +0 -1
- package/dist/MarginTradingFactory-2RKqvCSO-CXV_vwa8.cjs +0 -1
- package/dist/MerkleDistributorABI-Ctn26fnA-C8Qfs-nh.cjs +0 -1
- package/dist/MerkleDistributorABI-Ctn26fnA-Ctn26fnA.js +0 -1
- package/dist/NonfungiblePositionManager-c8Yw_9-Q-C-qYqe32.cjs +0 -1
- package/dist/NonfungiblePositionManager-c8Yw_9-Q-c8Yw_9-Q.js +0 -1
- package/dist/PancakePairABI-Cc9LuXnX-Cc9LuXnX.js +0 -1
- package/dist/PancakePairABI-Cc9LuXnX-DYhV587D.cjs +0 -1
- package/dist/UniswapV3Pool-Da11VKXE-CbMV0NzU.cjs +0 -1
- package/dist/UniswapV3Pool-Da11VKXE-Da11VKXE.js +0 -1
- package/dist/baseFilterV1-BPjWXMKw-BPjWXMKw.js +0 -1
- package/dist/baseFilterV1-BPjWXMKw-BuIlo0KL.cjs +0 -1
- package/dist/bsc-3D5wcqPq-3D5wcqPq.js +0 -1
- package/dist/bsc-3D5wcqPq-DPJpw0CZ.cjs +0 -1
- package/dist/classicalPoolABI-D5LxySAJ-BECDfgEG.cjs +0 -1
- package/dist/classicalPoolABI-D5LxySAJ-D5LxySAJ.js +0 -1
- package/dist/dodoABI-CLkEBJ8P-CLkEBJ8P.js +0 -1
- package/dist/dodoABI-CLkEBJ8P-gkjw8zb6.cjs +0 -1
- package/dist/dodoBuyoutModel-BtQv3C3q-BtQv3C3q.js +0 -1
- package/dist/dodoBuyoutModel-BtQv3C3q-iVgU8FQj.cjs +0 -1
- package/dist/dodoCP-N8KA8JwJ-CLHk9HB9.cjs +0 -1
- package/dist/dodoCP-N8KA8JwJ-N8KA8JwJ.js +0 -1
- package/dist/dodoCPABI-CdAN0KhU-CdAN0KhU.js +0 -1
- package/dist/dodoCPABI-CdAN0KhU-DtzutjJ_.cjs +0 -1
- package/dist/dodoCPABIV2-yzF6FlEg-fyFD9xst.cjs +0 -1
- package/dist/dodoCPABIV2-yzF6FlEg-yzF6FlEg.js +0 -1
- package/dist/dodoCPFactory-CD0SxXT6-CBF19zgJ.cjs +0 -1
- package/dist/dodoCPFactory-CD0SxXT6-CD0SxXT6.js +0 -1
- package/dist/dodoCpProxy-D2AI9-4r-C0DPYWye.cjs +0 -1
- package/dist/dodoCpProxy-D2AI9-4r-D2AI9-4r.js +0 -1
- package/dist/dodoCpProxyV2-CGZRqk2H-CGZRqk2H.js +0 -1
- package/dist/dodoCpProxyV2-CGZRqk2H-DpTvj7-M.cjs +0 -1
- package/dist/dodoCpProxyV202-CoZaEf_6-BLhZ86Hq.cjs +0 -1
- package/dist/dodoCpProxyV202-CoZaEf_6-CoZaEf_6.js +0 -1
- package/dist/dodoCustomMintableERC20-CPpNoX1v-CPpNoX1v.js +0 -1
- package/dist/dodoCustomMintableERC20-CPpNoX1v-_rvvHxmy.cjs +0 -1
- package/dist/dodoDPPAdmin-B-fmpTbV-B-fmpTbV.js +0 -1
- package/dist/dodoDPPAdmin-B-fmpTbV-Dn7blhFO.cjs +0 -1
- package/dist/dodoDPPFactory-DwAkVskt-DZUKGMVx.cjs +0 -1
- package/dist/dodoDPPFactory-DwAkVskt-DwAkVskt.js +0 -1
- package/dist/dodoDSP-B6KYm-Cn-B6KYm-Cn.js +0 -1
- package/dist/dodoDSP-B6KYm-Cn-DiQP3j-f.cjs +0 -1
- package/dist/dodoDSPFactory-j1eg7Ez--Bd74S17p.cjs +0 -1
- package/dist/dodoDSPFactory-j1eg7Ez--j1eg7Ez-.js +0 -1
- package/dist/dodoDVM-DDYx1JAy-DDYx1JAy.js +0 -1
- package/dist/dodoDVM-DDYx1JAy-cigh0zp3.cjs +0 -1
- package/dist/dodoDVMFactory-FpnJdZb2-FpnJdZb2.js +0 -1
- package/dist/dodoDVMFactory-FpnJdZb2-Jw7GN957.cjs +0 -1
- package/dist/dodoDppProxy-A7PPYsqp-A7PPYsqp.js +0 -1
- package/dist/dodoDppProxy-A7PPYsqp-evCBC-32.cjs +0 -1
- package/dist/dodoDropsProxy-vHUWsRNO-aB8sftUR.cjs +0 -1
- package/dist/dodoDropsProxy-vHUWsRNO-vHUWsRNO.js +0 -1
- package/dist/dodoDspProxy-CU7OAvJG-Bp3cG2Me.cjs +0 -1
- package/dist/dodoDspProxy-CU7OAvJG-CU7OAvJG.js +0 -1
- package/dist/dodoERC20V3Factory-Cz4XKDrU-Cz4XKDrU.js +0 -1
- package/dist/dodoERC20V3Factory-Cz4XKDrU-Dp6VtQdx.cjs +0 -1
- package/dist/dodoEthProxyABI-CoX95QJI-COvGooIx.cjs +0 -1
- package/dist/dodoEthProxyABI-CoX95QJI-CoX95QJI.js +0 -1
- package/dist/dodoFeeImpl-zR9Qv4Tq-n8uxW-_A.cjs +0 -1
- package/dist/dodoFeeImpl-zR9Qv4Tq-zR9Qv4Tq.js +0 -1
- package/dist/dodoFragment-4lxmE2XJ-4lxmE2XJ.js +0 -1
- package/dist/dodoFragment-4lxmE2XJ-QQKv5zUw.cjs +0 -1
- package/dist/dodoMineV3Proxy-xOGM7Jnv-DVScIYYs.cjs +0 -1
- package/dist/dodoMineV3Proxy-xOGM7Jnv-xOGM7Jnv.js +0 -1
- package/dist/dodoMineV3ProxyOld-BqsZxJRU-BqsZxJRU.js +0 -1
- package/dist/dodoMineV3ProxyOld-BqsZxJRU-C_F6KVsX.cjs +0 -1
- package/dist/dodoMiningABI-9J5C_6kN-9J5C_6kN.js +0 -1
- package/dist/dodoMiningABI-9J5C_6kN-Bz2I9IA2.cjs +0 -1
- package/dist/dodoMiningReaderABI-DmUXA9Gv-B2wU_50T.cjs +0 -1
- package/dist/dodoMiningReaderABI-DmUXA9Gv-DmUXA9Gv.js +0 -1
- package/dist/dodoNftERC1155-Bw6ID2NE-Bw6ID2NE.js +0 -1
- package/dist/dodoNftERC1155-Bw6ID2NE-DLIuD5w1.cjs +0 -1
- package/dist/dodoNftERC721-CI1l0ip9-CI1l0ip9.js +0 -1
- package/dist/dodoNftERC721-CI1l0ip9-CM9UVOIz.cjs +0 -1
- package/dist/dodoNftPoolProxy-DQkcZHUV-D1h5SkLL.cjs +0 -1
- package/dist/dodoNftPoolProxy-DQkcZHUV-DQkcZHUV.js +0 -1
- package/dist/dodoNftProxy-Di-aoLYM-DM2zeXHX.cjs +0 -1
- package/dist/dodoNftProxy-Di-aoLYM-Di-aoLYM.js +0 -1
- package/dist/dodoNftVault-B4NZaXcd-4I3wB3W5.cjs +0 -1
- package/dist/dodoNftVault-B4NZaXcd-B4NZaXcd.js +0 -1
- package/dist/dodoOracleABI-BxwZofBV-BxwZofBV.js +0 -1
- package/dist/dodoOracleABI-BxwZofBV-CZXzRpKf.cjs +0 -1
- package/dist/dodoPair-VN1aEVFz-DZAKf_5j.cjs +0 -1
- package/dist/dodoPair-VN1aEVFz-VN1aEVFz.js +0 -1
- package/dist/dodoPreminingABI-DU7ocR7L-BO5Cazcq.cjs +0 -1
- package/dist/dodoPreminingABI-DU7ocR7L-DU7ocR7L.js +0 -1
- package/dist/dodoProxyV2-9ED9HqK5-9ED9HqK5.js +0 -1
- package/dist/dodoProxyV2-9ED9HqK5-C4O1SzS4.cjs +0 -1
- package/dist/dodoStarterProxy-B1TdMOvw-B1TdMOvw.js +0 -1
- package/dist/dodoStarterProxy-B1TdMOvw-DgcH9iEq.cjs +0 -1
- package/dist/dodoTokenABI-Dd2DVUbK-6Mpqu75U.cjs +0 -1
- package/dist/dodoTokenABI-Dd2DVUbK-Dd2DVUbK.js +0 -1
- package/dist/dodoUpCPFactoryABI-C1W0Q4Ft-C1W0Q4Ft.js +0 -1
- package/dist/dodoUpCPFactoryABI-C1W0Q4Ft-XGsn8ED4.cjs +0 -1
- package/dist/dodoUpCpFactory-D8ifQyp--D8ifQyp-.js +0 -1
- package/dist/dodoUpCpFactory-D8ifQyp--XGsn8ED4.cjs +0 -1
- package/dist/dodoV1PairProxy-DyRTqyPe-DpEjE8Ne.cjs +0 -1
- package/dist/dodoV1PairProxy-DyRTqyPe-DyRTqyPe.js +0 -1
- package/dist/dodoZooABI-D9Uc4iLK-D44Zl74h.cjs +0 -1
- package/dist/dodoZooABI-D9Uc4iLK-D9Uc4iLK.js +0 -1
- package/dist/dppPoolABI-BvoeLJgK-BdDjNXGV.cjs +0 -1
- package/dist/dppPoolABI-BvoeLJgK-BvoeLJgK.js +0 -1
- package/dist/erc20ABI-v08X4jmE-G8oWOkZ8.cjs +0 -1
- package/dist/erc20ABI-v08X4jmE-v08X4jmE.js +0 -1
- package/dist/erc20Helper-CG659oLz-CG659oLz.js +0 -1
- package/dist/erc20Helper-CG659oLz-DU3PGwta.cjs +0 -1
- package/dist/eth-B9cviUl5-B9cviUl5.js +0 -1
- package/dist/eth-B9cviUl5-BTzl-wbR.cjs +0 -1
- package/dist/feeABI-DnQdJUpQ-DnQdJUpQ.js +0 -1
- package/dist/feeABI-DnQdJUpQ-n8uxW-_A.cjs +0 -1
- package/dist/index-BBk9FsFK.cjs +0 -31
- package/dist/index-BQRzJGQX.js +0 -12
- package/dist/index-CBD2OYiJ.js +0 -31
- package/dist/index-Dl6ozpb-.cjs +0 -78
- package/dist/index-Dtf5I718.cjs +0 -12
- package/dist/multicallABI-D9E1EeQD-D9E1EeQD.js +0 -1
- package/dist/multicallABI-D9E1EeQD-Dhweb42q.cjs +0 -1
- package/dist/nftContract-d4b6ObxG-d4b6ObxG.js +0 -1
- package/dist/nftContract-d4b6ObxG-hvFiWn3Y.cjs +0 -1
- package/dist/nftFilterAdmin-DMr_jrK_-Bq1uLy_8.cjs +0 -1
- package/dist/nftFilterAdmin-DMr_jrK_-DMr_jrK_.js +0 -1
- package/dist/oneBitSettlement-DMzQ-0t_-DMzQ-0t_.js +0 -1
- package/dist/oneBitSettlement-DMzQ-0t_-DiJ0ov7p.cjs +0 -1
- package/dist/setApprovalForAll-BvnCORJI-BvnCORJI.js +0 -1
- package/dist/setApprovalForAll-BvnCORJI-C5PVWdKB.cjs +0 -1
- package/dist/spaceIdABI-BS4XGAT1-B5tTrrz8.cjs +0 -1
- package/dist/spaceIdABI-BS4XGAT1-BS4XGAT1.js +0 -1
- package/dist/spaceIdResolverABI-sYDT8GfP-CrfOXUgo.cjs +0 -1
- package/dist/spaceIdResolverABI-sYDT8GfP-sYDT8GfP.js +0 -1
- package/dist/types/hooks/ConnectWallet/tonConnect/contract.d.ts +0 -11
- package/dist/types/hooks/ConnectWallet/tonConnect/useConnectTon.d.ts +0 -1
- package/dist/types/hooks/ConnectWallet/tonConnect/useTonConnectStore.d.ts +0 -49
- package/dist/v3MiningABI-ZjGBkolS-C-S-QkHw.cjs +0 -1
- package/dist/v3MiningABI-ZjGBkolS-ZjGBkolS.js +0 -1
- package/dist/vdodo-ttc2RVOs-BV3kGDOM.cjs +0 -1
- package/dist/vdodo-ttc2RVOs-ttc2RVOs.js +0 -1
- package/dist/vdodoTokenABI-PldrbOSo-BuOHA0B9.cjs +0 -1
- package/dist/vdodoTokenABI-PldrbOSo-PldrbOSo.js +0 -1
- package/dist/weth-Dz5DGEIF-CGG0Z6re.cjs +0 -1
- package/dist/weth-Dz5DGEIF-Dz5DGEIF.js +0 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";var e=require("@emotion/styled"),t=require("lodash"),i=require("react"),r=require("./helper-BpJsZ-CD.cjs"),n=require("react-konva"),o=require("./index-IbQl-6Pk.cjs"),s=require("bignumber.js"),l=require("@dodoex/api");require("@lingui/core"),require("@lingui/react"),require("@dodoex/components"),require("@web3-react/core"),require("react-redux"),require("axios"),require("@ethersproject/bignumber"),require("@reduxjs/toolkit"),require("redux"),require("@dodoex/dodo-contract-request"),require("@tanstack/react-query"),require("@web3-react/eip1193"),require("@web3-react/walletconnect-v2"),require("@web3-react/metamask"),require("@web3-react/types"),require("zustand"),require("identicon.js"),require("react-dom"),require("dayjs"),require("react-transition-group"),require("@dodoex/contract-request"),require("recharts"),require("react-window"),require("jsbi"),require("tiny-invariant"),require("@uniswap/sdk-core"),require("@uniswap/v2-sdk"),require("react-infinite-scroller"),require("d3"),require("rmc-date-picker");const a=e.div`
|
|
2
|
+
height: 100%;
|
|
3
|
+
position: relative;
|
|
4
|
+
`,u=e.div`
|
|
5
|
+
text-align: center;
|
|
6
|
+
margin-top: 17.1px;
|
|
7
|
+
margin-bottom: 88.41px;
|
|
8
|
+
color: #606066;
|
|
9
|
+
font-size: 12px;
|
|
10
|
+
line-height: 17px;
|
|
11
|
+
font-weight: 400;
|
|
12
|
+
`,d=36;function g({maxHeight:e,gridAreaHeight:t,value:i}){const r=new s(t).minus(d),n=r.div(e);return r.minus(i.multipliedBy(n)).plus(d).toNumber()}function m({targetPrice:e,areaPoints:t,isLeft:i}){for(let r=0;r<t.length;r++){const n=t[r],o=r<t.length-1?t[r+1]:null;if(!o)return{targetAreaStatPoint:n,targetAreaStatPoints:t};if(i){if(e.lte(n.middlePrice)&&e.gte(o.middlePrice))return{targetAreaStatPoint:n,targetAreaStatPoints:t.slice(0,r+1)}}else if(e.gte(n.middlePrice)&&e.lte(o.middlePrice))return{targetAreaStatPoint:n,targetAreaStatPoints:t.slice(0,r+1)}}return{targetAreaStatPoint:null,targetAreaStatPoints:[]}}function c({x:e,width:t,minXLN10:i,maxXLN10:r}){const n=new s(e).div(t).multipliedBy(r.minus(i)).plus(i);return new s(10**n.toNumber())}function p({width:e,targetLN10:t,minXLN10:i,maxXLN10:r}){return t.minus(i).div(r.minus(i)).multipliedBy(e).toNumber()}function h({target:e}){return new s(Math.log10(e.toNumber()))}const x="rgba(38, 39, 41, 0.3)";function f({width:e,height:a,params:u,baseTokenSymbol:d,quoteTokenSymbol:f,colorMap:L}){const{maxLeftHeight:j,maxRightHeight:b,leftStatAreaPoints:w,rightStatAreaPoints:A,minXLN10:N,maxXLN10:y}=function({params:e}){return i.useMemo((()=>{const t=new s(e.b),i=new s(e.q);let r=new s(e.b0);const n=new s(e.q0),o=new s(e.i),a=new s(e.k),{R:u}=e;1===u&&r.eq(t)&&(r=l.solveQuadraticFunctionForTarget(t,i.minus(n),new s(1).div(o),a));const d=new l.PMMState({i:o,K:a,B:t,Q:i,B0:r,Q0:n,R:u,mtFeeRate:new s(0),lpFeeRate:new s(0)}),g=new l.PMMHelper,m=new s(d.B),c=[],p=[];let h=new s(0),x=new s(0);const f=g.GetMidPrice(d),L=i.gt(0)?t.div(i):new s(1);for(let e=0;e<=250;e++){let t=m.multipliedBy(e/100).multipliedBy(f.multipliedBy(L).multipliedBy(4));0===e&&(t=m.multipliedBy(1e-11));const i=null==g?void 0:g.QuerySellBase(t,d);if(i.isNaN()||!i.gt(0))c.push({giveAmount:t,getAmount:new s(0),price:new s(0)});else{const e=i.div(t);c.push({giveAmount:t,getAmount:i,price:e})}}for(let e=0;e<=250;e++){let t=m.multipliedBy(e/100).multipliedBy(f.multipliedBy(4));0===e&&(t=m.multipliedBy(1e-11));const i=null==g?void 0:g.QuerySellQuote(t,d);if(i.isNaN()||!i.gt(0))p.push({giveAmount:t,getAmount:new s(0),price:new s(0)});else{const e=t.dividedBy(i);p.push({giveAmount:t,getAmount:i,price:e})}}if(c.length<2&&p.length<2)return{leftStatAreaPoints:[],rightStatAreaPoints:[],maxLeftHeight:new s(10).multipliedBy(1.2),maxRightHeight:new s(10).multipliedBy(1.2),middlePriceLN10:new s(0),minXLN10:new s(-1),maxXLN10:new s(1)};const j=[];for(let e=1;e<c.length;e++){const t=c[e],{giveAmount:i,getAmount:r,price:n}=t,o=c[e-1];if(!n.isNaN()&&n.gt(0)&&o){const t=n.minus(o.price).abs(),l=i.minus(o.giveAmount).abs(),a=r.minus(o.getAmount).abs().multipliedBy(l);1===e&&j.push({area:r,price:n,middlePrice:n.plus(t.div(1.1)),rectangleHeight:a.plus(a.multipliedBy(.03))}),j.push({area:r,price:n,middlePrice:n.plus(t.div(2)),rectangleHeight:a}),h=s.max(a,h)}}const b=[];for(let e=1;e<p.length;e++){const t=p[e],{giveAmount:i,getAmount:r,price:n}=t,o=p[e-1],l=o.price,a=o.giveAmount,u=o.getAmount;if(!n.isNaN()&&n.gt(0)&&o){const t=n.minus(l).abs(),o=i.minus(a).abs(),d=r.minus(u).abs().multipliedBy(o);1===e&&b.push({area:r,price:n,middlePrice:n.minus(t.div(1.1)),rectangleHeight:d.plus(d.multipliedBy(.03))}),b.push({area:r,price:n,middlePrice:n.minus(t.div(2)),rectangleHeight:d}),x=s.max(d,x)}}const w=c.length>0?c[c.length-1]:p[0],A=p.length>0?p[0]:c[0],N=p.length>0?p[p.length-1]:c[0],y=w.price,P=N.price,R=A.price,q=new s(Math.log10(R.toNumber()));let v=y.gt(0)?new s(Math.log10(y.toNumber())):new s(-Math.log10(P.toNumber())),S=P.gt(0)?new s(Math.log10(P.toNumber())):new s(-Math.log10(y.toNumber()));const H=s.max(q.minus(v).abs(),S.minus(q).abs());return v=q.minus(H),S=q.plus(H),{leftStatAreaPoints:j,rightStatAreaPoints:b,maxLeftHeight:h.multipliedBy(1.2),maxRightHeight:x.multipliedBy(1.2),minXLN10:v,maxXLN10:S,middlePriceLN10:q}}),[e])}({params:u}),P=a-30.13,R=i.useRef(null),q=t.merge({grid:"#2A2A2D",midPriceLine:"#313335",leftBg:[0,x,1,"#31645d"],leftLine:"#55f6db",leftColor:"",rightBg:[0,x,1,"#67303d"],rightLine:"#ff4f73",rightColor:"",tooltipBg:"#121212",tooltipColor:void 0,textColor:"#606066"},L),v=t=>{var i;const{current:n}=R,s=t.target;if(s&&n){const t=null===(i=s.getStage())||void 0===i?void 0:i.getPointerPosition();if(t){const{x:i}=t,s=e/2;if(Math.abs(i-s)<=2)return;if(i<=2||e-i<=2)return;const l=c({x:i,width:e,minXLN10:N,maxXLN10:y});let a=null,u=[];const x=i<s;if(x){const e=m({areaPoints:w,targetPrice:l,isLeft:x});a=e.targetAreaStatPoint,u=e.targetAreaStatPoints}else{const e=m({areaPoints:A,targetPrice:l,isLeft:x});a=e.targetAreaStatPoint,u=e.targetAreaStatPoints}if(a){const t=h({target:a.middlePrice}),s=p({minXLN10:N,maxXLN10:y,width:e,targetLN10:t}),l=g({maxHeight:x?j:b,gridAreaHeight:P,value:a.rectangleHeight}),m=n.findOne("#tooltip"),c=n.findOne("#toolTipVertLine"),L=n.findOne("#joinCircle"),w=n.findOne("#tooltip-Text"),A=n.findOne("#tooltip-tag"),R=n.findOne("#priceTextLabel"),v=null==R?void 0:R.findOne("#priceTextLabel-text"),S=n.findOne("#area");null==m||m.position({x:s,y:l-5-6}),null==w||w.fill(q.tooltipColor||(x?"#00FAD9":"#FF5072")),null==w||w.text(x?r.chartT("pool.chart.liquidity-chart-buy",{amount:o.formatShortNumber(a.area),symbol:d,price:o.formatShortNumber(a.price)}):r.chartT("pool.chart.liquidity-chart-sell",{amount:o.formatShortNumber(a.area),symbol:f,price:o.formatShortNumber(a.price)})),m&&A&&(m.width()/2>i?(A.pointerDirection("left"),A.pointerHeight(15),A.pointerWidth(8),m.offsetX(-11),m.offsetY(-11)):m.width()/2+i>e?(A.pointerDirection("right"),A.pointerHeight(15),A.pointerWidth(8),m.offsetX(11),m.offsetY(-11)):(A.pointerDirection("down"),A.pointerHeight(8),A.pointerWidth(15),m.offsetX(0),m.offsetY(0))),null==c||c.points([s,P,s,l]),null==c||c.stroke(x?"#55f6db":"#ff4f73");let H=x?"rgb(86, 246, 218)":"#FF5072",E=x?"rgba(86, 246, 218, 0.3)":"rgba(255, 80, 114, 0.3)";q.leftLine&&q.rightLine&&(H=x?q.leftLine:q.rightLine,E=x?`rgba(${r.colorRgb(q.leftLine)}, 0.4)`:`rgba(${r.colorRgb(q.rightLine)}, 0.4)`),L&&(L.x(s),L.y(l),L.fill(H),L.stroke(E)),R&&(R.x(s),R.y(P+8.08+1),R.offsetX(R.width()/2),R.x()-R.width()/2<0?R.x(R.width()/2):R.x()+R.width()/2>e?R.x(e-R.width()/2):R.x(i)),v&&(v.fill(q.tooltipColor||(x?"#00FAD9":"#FF5072")),v.text(o.formatShortNumber(a.price)));const k=[];for(const t of u){const{middlePrice:i,rectangleHeight:r}=t,n=h({target:i}),o=p({minXLN10:N,maxXLN10:y,width:e,targetLN10:n}),s=g({maxHeight:x?j:b,gridAreaHeight:P,value:r});k.push(o,s+1)}const X=k.slice(),[M,B]=X;x?(X.push(s,l),X.push(s,P),X.push(M,P),X.push(M,B)):(X.unshift(M,P),X.unshift(s,P),X.unshift(s,l)),S&&(S.points(X),S.fill(x?q.leftLine||"#2c5b56":q.rightLine||"#7b3a48")),n.show()}}}},S=function({gridAreaHeight:e,gridAreaWidth:t,horizontalLineCount:r,verticalLineCount:s,color:l="#2A2A2D"}){return i.useMemo((()=>{const i=[],a=e/(r+1),u=[],d=t/(s+1);for(let e=0;e<r;e++){const r=a*(e+1);i.push([0,r,t,r])}for(let t=0;t<s;t++){const i=d*(t+1);u.push([i,0,i,e])}return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[i.map(((e,t)=>o.jsxRuntimeExports.jsx(n.Line,{points:e,stroke:l,strokeWidth:1,lineCap:"round",lineJoin:"round",tension:1,listening:!1},t))),u.map(((e,t)=>o.jsxRuntimeExports.jsx(n.Line,{points:e,stroke:l,strokeWidth:1,lineCap:"round",lineJoin:"round",tension:1,listening:!1},t)))]})}),[e,t,r,s,l])}({gridAreaHeight:P,gridAreaWidth:e,horizontalLineCount:9,verticalLineCount:7,color:q.grid}),H=function({minXLN10:e,maxXLN10:t,labelCount:r,gridAreaHeight:s,gridAreaWidth:l,color:a="#606066"}){return i.useMemo((()=>{const i=l/(r+1),u=[],d=[];for(let n=0;n<r;n++){const r=i/2+i*n;u.push({x:r,y:s+10.08+1,text:o.formatShortNumber(c({x:i*(n+1),width:l,minXLN10:e,maxXLN10:t}))});const a=i*(n+1);d.push([a,s+1,a,s+4+1])}return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[u.map(((e,t)=>o.jsxRuntimeExports.jsx(n.Text,{x:e.x,y:e.y,text:e.text,fontSize:14,fontFamily:"Manrope",fill:a,width:i,padding:0,align:"center",verticalAlign:"bottom",listening:!1},t))),d.map(((e,t)=>o.jsxRuntimeExports.jsx(n.Line,{points:e,stroke:a,strokeWidth:1,lineCap:"butt",lineJoin:"miter",tension:1,listening:!1},t)))]})}),[e,t,s,l,r])}({gridAreaHeight:P,gridAreaWidth:e,labelCount:7,minXLN10:N,maxXLN10:y,color:q.textColor}),E=function({gridAreaHeight:e,gridAreaWidth:t,color:r="#606066"}){return i.useMemo((()=>{const i=t/2;return o.jsxRuntimeExports.jsx(n.Line,{points:[i,0,i,e-1],stroke:r,strokeWidth:1,lineCap:"round",lineJoin:"round",tension:1,listening:!1})}),[e,t,r])}({gridAreaHeight:P,gridAreaWidth:e,color:q.midPriceLine}),{leftLine:k,rightLine:X}=function({leftStatAreaPoints:e,rightStatAreaPoints:t,minXLN10:r,maxXLN10:s,maxLeftHeight:l,maxRightHeight:a,gridAreaWidth:u,gridAreaHeight:d,colorMap:m}){return{leftLine:i.useMemo((()=>{if(e.length<1)return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{});const t=[];let i=d;for(const n of e){const{middlePrice:e,rectangleHeight:o}=n,a=h({target:e}),m=p({minXLN10:r,maxXLN10:s,width:u,targetLN10:a}),c=g({maxHeight:l,gridAreaHeight:d,value:o});t.push(m,c),c<i&&(i=c)}const a=t.slice(),[c,x]=a,f=a[a.length-1],L=a[a.length-2];return a.push(L,f),a.push(L,d),a.push(c,d),a.push(c,x),o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(n.Line,{points:a,closed:!0,listening:!1,lineCap:"round",lineJoin:"round",fillLinearGradientStartPoint:{x:0,y:d},fillLinearGradientEndPoint:{x:0,y:i},fillLinearGradientColorStops:m.leftBg}),o.jsxRuntimeExports.jsx(n.Line,{points:t,stroke:m.leftLine,strokeWidth:2,lineCap:"round",lineJoin:"round",listening:!1})]})}),[e,u,r,s,d,l]),rightLine:i.useMemo((()=>{if(t.length<1)return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{});const e=[];let i=d;for(const n of t){const{middlePrice:t,rectangleHeight:o}=n,l=h({target:t}),m=p({minXLN10:r,maxXLN10:s,width:u,targetLN10:l}),c=g({maxHeight:a,gridAreaHeight:d,value:o});e.push(m,c),c<i&&(i=c)}const l=e.slice(),[c]=l;return l.unshift(c,d),l.unshift(u,d),o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(n.Line,{points:l,closed:!0,listening:!1,lineCap:"round",lineJoin:"round",fillLinearGradientStartPoint:{x:0,y:d},fillLinearGradientEndPoint:{x:0,y:i},fillLinearGradientColorStops:m.rightBg}),o.jsxRuntimeExports.jsx(n.Line,{points:e,stroke:m.rightLine,strokeWidth:2,lineCap:"round",lineJoin:"round",listening:!1})]})}),[t,u,r,s,d,a])}}({leftStatAreaPoints:w,rightStatAreaPoints:A,minXLN10:N,maxXLN10:y,maxLeftHeight:j,maxRightHeight:b,gridAreaWidth:e,gridAreaHeight:P,colorMap:q});return o.jsxRuntimeExports.jsxs(n.Stage,{width:e,height:a,onMouseMove:v,onMouseOver:v,onMouseEnter:v,onMouseOut:()=>{const{current:e}=R;e&&e.hide()},children:[o.jsxRuntimeExports.jsxs(n.Layer,{children:[o.jsxRuntimeExports.jsx(n.Rect,{x:0,y:0,width:e,height:P,stroke:q.grid,strokeWidth:1}),S,H,k,X,E]}),o.jsxRuntimeExports.jsxs(n.Layer,{ref:R,visible:!1,children:[o.jsxRuntimeExports.jsx(n.Line,{points:[],closed:!0,listening:!1,lineCap:"round",lineJoin:"round",id:"area"}),o.jsxRuntimeExports.jsx(n.Line,{points:[],strokeWidth:1,stroke:"#ff4f73",lineJoin:"round",lineCap:"round",dash:[4,6],id:"toolTipVertLine"}),o.jsxRuntimeExports.jsx(n.Circle,{x:0,y:0,radius:5,fill:"#FF5072",stroke:"rgba(255, 80, 114, 0.3)",strokeWidth:12,id:"joinCircle"}),o.jsxRuntimeExports.jsxs(n.Label,{listening:!1,x:0,y:0,id:"priceTextLabel",children:[o.jsxRuntimeExports.jsx(n.Tag,{fill:q.tooltipBg,id:"priceTextLabel-tag"}),o.jsxRuntimeExports.jsx(n.Text,{text:"-",fontSize:14,fontFamily:"Manrope",padding:2,fill:"#FF5072",id:"priceTextLabel-text"})]}),o.jsxRuntimeExports.jsxs(n.Label,{listening:!1,id:"tooltip",children:[o.jsxRuntimeExports.jsx(n.Tag,{fill:q.tooltipBg,pointerDirection:"down",pointerWidth:15,pointerHeight:8,cornerRadius:8,lineJoin:"round",id:"tooltip-tag"}),o.jsxRuntimeExports.jsx(n.Text,{text:"",fontFamily:"Manrope",fontSize:12,lineHeight:17/12,padding:r.labelPadding,fill:"#FF5072",id:"tooltip-Text"})]})]})]})}exports.default=({width:e=834,height:t=462,baseTokenSymbol:i,quoteTokenSymbol:n,pmmModel:s,pmmParams:l,midPrice:d,notShowTipText:g,colorMap:m})=>o.jsxRuntimeExports.jsxs(a,{children:[void 0!==l&&void 0!==d&&void 0!==s&&void 0!==d&&o.jsxRuntimeExports.jsx(f,{width:e,height:t,params:l,midPrice:d,pmmModel:s,baseTokenSymbol:i,quoteTokenSymbol:n,colorMap:m}),g?"":o.jsxRuntimeExports.jsxs(u,{children:["* ",r.chartT("pool.chart.liquidity-chart-tip",{baseTokenSymbol:i})]})]});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import t from"bignumber.js";import{merge as e,throttle as i,debounce as o}from"lodash";import r,{useEffect as n,useMemo as l,useRef as s,useState as a}from"react";import d from"@emotion/styled";import{css as
|
|
1
|
+
import t from"bignumber.js";import{merge as e,throttle as i,debounce as o}from"lodash";import r,{useEffect as n,useMemo as l,useRef as s,useState as a}from"react";import d from"@emotion/styled";import{css as u}from"@emotion/react";import{Stage as c,Layer as p,Rect as m,Line as g,Text as h,Circle as b,Label as f,Tag as M}from"react-konva";import{c as x,e as v,a as y,b as P,d as j,f as w,u as z,g as L,h as k,l as B,i as C,j as S,k as N}from"./helper-DFFCKq2-.js";import{f as O,j as X,a as T,b as A}from"./index-C1NSMvb8.js";import{solveQuadraticFunctionForTarget as q,PMMModel as W}from"@dodoex/api";import"@lingui/core";import"@lingui/react";import"@dodoex/components";import"@web3-react/core";import"react-redux";import"axios";import"@ethersproject/bignumber";import"@reduxjs/toolkit";import"redux";import"@dodoex/dodo-contract-request";import"@tanstack/react-query";import"@web3-react/eip1193";import"@web3-react/walletconnect-v2";import"@web3-react/metamask";import"@web3-react/types";import"zustand";import"identicon.js";import"react-dom";import"dayjs";import"react-transition-group";import"@dodoex/contract-request";import"recharts";import"react-window";import"jsbi";import"tiny-invariant";import"@uniswap/sdk-core";import"@uniswap/v2-sdk";import"react-infinite-scroller";import"d3";import"rmc-date-picker";var E={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},F=r.createContext&&r.createContext(E),H=["attr","size","title"];function Z(t,e){if(null==t)return{};var i,o,r=function(t,e){if(null==t)return{};var i,o,r={},n=Object.keys(t);for(o=0;o<n.length;o++)i=n[o],e.indexOf(i)>=0||(r[i]=t[i]);return r}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(o=0;o<n.length;o++)i=n[o],e.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(r[i]=t[i])}return r}function G(){return G=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t},G.apply(this,arguments)}function D(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function J(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?D(Object(i),!0).forEach((function(e){V(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):D(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function V(t,e,i){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var o=i.call(t,e||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function Y(t){return t&&t.map(((t,e)=>r.createElement(t.tag,J({key:e},t.attr),Y(t.child))))}function I(t){return e=>r.createElement(R,G({attr:J({},t.attr)},e),Y(t.child))}function R(t){var e=e=>{var i,{attr:o,size:n,title:l}=t,s=Z(t,H),a=n||e.size||"1em";return e.className&&(i=e.className),t.className&&(i=(i?i+" ":"")+t.className),r.createElement("svg",G({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},e.attr,o,s,{className:i,style:J(J({color:t.color||e.color},e.style),t.style),height:a,width:a,xmlns:"http://www.w3.org/2000/svg"}),l&&r.createElement("title",null,l),t.children)};return void 0!==F?r.createElement(F.Consumer,null,(t=>e(t))):e(E)}function $(t){return I({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M13.293 6.293 7.586 12l5.707 5.707 1.414-1.414L10.414 12l4.293-4.293z"},child:[]}]})(t)}function Q(t){return I({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M10.707 17.707 16.414 12l-5.707-5.707-1.414 1.414L13.586 12l-4.293 4.293z"},child:[]}]})(t)}function K(t){return I({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M5 11h14v2H5z"},child:[]}]})(t)}function U(t){return I({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M19 11h-6V5h-2v6H5v2h6v6h2v-6h6z"},child:[]}]})(t)}const _=d.input`
|
|
2
2
|
margin: 4px 10px 4px 6px;
|
|
3
3
|
border-radius: 10px;
|
|
4
4
|
border: 1px solid #373739;
|
|
@@ -13,11 +13,11 @@ import t from"bignumber.js";import{merge as e,throttle as i,debounce as o}from"l
|
|
|
13
13
|
&:focus {
|
|
14
14
|
border-color: #fff;
|
|
15
15
|
|
|
16
|
-
${({error:t})=>t&&
|
|
16
|
+
${({error:t})=>t&&u`
|
|
17
17
|
border-color: red;
|
|
18
18
|
`}
|
|
19
19
|
}
|
|
20
|
-
`;const tt="rgba(38, 39, 41, 0.3)";function et({width:o,height:r,midPrice:a,pmmModel:d,params:
|
|
20
|
+
`;const tt="rgba(38, 39, 41, 0.3)";function et({width:o,height:r,midPrice:a,pmmModel:d,params:u,baseTokenSymbol:C,quoteTokenSymbol:S,baseMinAndZoomMultiples:N,colorMap:T,setBaseMinAndZoomMultiples:A}){const q=e({grid:"#2A2A2D",midPriceLine:"#313335",leftBg:[0,tt,1,"#31645d"],leftLine:"#55f6db",leftColor:"",rightBg:[0,tt,1,"#67303d"],rightLine:"#ff4f73",rightColor:"",tooltipBg:"#121212",tooltipColor:void 0},T),W=o,E=r-18,F=W/7,{buyBaseVert:H,sellBaseVert:Z}=y({midPrice:a,q:u.q,q0:u.q0,pmmModel:d}),G=H.div(E),D=Z.div(E),J=s(null),V=s(null),{current:Y}=J,I=s(0),R=s(),{horizontalGridLines:$,verticalGridLines:Q}=function({chartHeight:t,chartWidth:e,horizontalLineCount:i,verticalLineCount:o}){return l((()=>{const r=[],n=t/(i+1),l=[],s=e/o;for(let t=0;t<i;t++){const i=n*(t+1);r.push([0,i,e,i])}for(let e=0;e<o;e++){const i=s*e+s/2;l.push([i,0,i,t])}return{horizontalGridLines:r,verticalGridLines:l}}),[t,e,i,o])}({chartHeight:E,chartWidth:W,horizontalLineCount:9,verticalLineCount:7}),{horizontalLabelTickPoints:K,horizontalLabelTextPoints:U}=function({chartHeight:t,chartWidth:e,xAxisPoints:i,oneXPx:o,baseMinAndZoomMultiples:r}){return l((()=>{const n=x(e,r.zoomMultiples),l=[],s=[];for(let e=0;e<i;e++){l.push([e*o+o/2,t,e*o+o/2,t+4]);const i=n.multipliedBy(e).multipliedBy(o).plus(n.multipliedBy(o/2)).toNumber(),a=r.baseMin.multipliedBy(10**i),d=e*o,u=t+2+4,c=O(a);s.push({x:d,y:u,text:c})}return{horizontalLabelTickPoints:l,horizontalLabelTextPoints:s}}),[r.baseMin,r.zoomMultiples,t,e,o,i])}({chartHeight:E,chartWidth:W,xAxisPoints:7,oneXPx:F,baseMinAndZoomMultiples:N}),{quoteLinePoints:_,quoteLineAreaPoints:et,quoteLineAreaLinearGradientEndPointY:it,baseLinePoints:ot,baseLineAreaPoints:rt,baseLineAreaLinearGradientEndPointY:nt,midPriceLinePoints:lt}=function({chartHeight:e,chartWidth:i,midPrice:o,xPoints:r,pmmModel:n,baseMinAndZoomMultiples:s,buyYPortion:a,sellYPortion:d}){return l((()=>{const l=[],u=[],c=[],{baseMin:p,zoomMultiples:m}=s,g=x(i,m),h=2*m,b=new t(h).div(r);let f=new t(Math.log(o.div(p).toNumber())/Math.log(10));f=t.minimum(h,f),f=t.maximum(0,f);for(let i=new t(0);i.lte(f);){const t=p.multipliedBy(10**i.toNumber()),r=v({val:t,model:n,midPrice:o});if(!r.vert.isNaN()){const t=i.div(g).toNumber(),o=e-r.vert.div(a).toNumber();l.push(t,o)}i=i.plus(b)}for(let t=f;t.lte(h);){const i=p.multipliedBy(10**t.toNumber()),r=v({val:i,model:n,midPrice:o});if(!r.vert.isNaN()){const i=t.div(g).toNumber(),o=e-r.vert.div(d).toNumber();u.push(i,o)}t=t.plus(b)}const M=f.div(g).toNumber(),[,y]=l,P=n.k.eq(0);P&&l.push(M,y||e),l.push(M,e),c.push(M,e,M,0);const j=v({val:p.multipliedBy(10**h),model:n,midPrice:o});let w=e;const z=new t(h).div(g).toNumber();return j.vert.isNaN()||(w=e-j.vert.div(d).toNumber()),P&&u.length>=2&&(u.unshift(M,w),u.unshift(M,e)),u.push(z,w),f.lte(0)&&u.unshift(0,e),{quoteLinePoints:l,quoteLineAreaPoints:[0,e,0,y,...l],quoteLineAreaLinearGradientEndPointY:y,baseLinePoints:u,baseLineAreaPoints:[...u,z,e],baseLineAreaLinearGradientEndPointY:w,midPriceLinePoints:c}}),[s,i,r,o,n,e,a,d])}({chartHeight:E,chartWidth:W,midPrice:a,xPoints:50,pmmModel:d,baseMinAndZoomMultiples:N,buyYPortion:G,sellYPortion:D}),st=t=>{var e;const i=t.target;if(i&&Y){const t=null===(e=i.getStage())||void 0===e?void 0:e.getPointerPosition();if(t){const{x:e}=t;if(e>W)return void Y.hide();z({x:e,tooltip:Y,buyBaseVert:H,sellBaseVert:Z,chartWidth:W,chartHeight:E,midPrice:a,pmmModel:d,baseTokenSymbol:C,quoteTokenSymbol:S,baseMinAndZoomMultiples:N,t:L,isHover:!0,color:q.tooltipColor,leftColor:q.leftLine,rightColor:q.rightLine})}}},at=l((()=>i((t=>{const{target:e}=t,i=e.getStage();if(i){i.container().style.cursor="grabbing";const t=null==i?void 0:i.getPointerPosition();if(t){const e=t.x-I.current;I.current=t.x,R.current=t.x,A((t=>void 0===t.baseMin?t:{baseMin:P({dragDistance:e,prevBaseMin:t.baseMin,chartWidth:W,zoomMultiples:t.zoomMultiples}),zoomMultiples:t.zoomMultiples,targetMarginPriceX:0}))}}}),100)),[W,A]),dt=l((()=>i((t=>{t.cancelBubble=!0,t.evt.preventDefault();const e=t.evt.deltaY<0;A((t=>{const i=j({zoomIn:e,prevZoomMultiples:t.zoomMultiples});return{baseMin:w({midPrice:a,zoomMultiples:i}),zoomMultiples:i,targetMarginPriceX:t.targetMarginPriceX}}))}),100)),[a,A]);return n((()=>{N.targetMarginPriceX>0&&null!==Y?z({x:N.targetMarginPriceX,tooltip:Y,buyBaseVert:H,sellBaseVert:Z,chartWidth:W,chartHeight:E,midPrice:a,pmmModel:d,baseTokenSymbol:C,quoteTokenSymbol:S,baseMinAndZoomMultiples:N,t:L,color:q.tooltipColor,leftColor:q.leftLine,rightColor:q.rightLine}):void 0!==R.current&&null!==Y&&z({x:R.current,tooltip:Y,buyBaseVert:H,sellBaseVert:Z,chartWidth:W,chartHeight:E,midPrice:a,pmmModel:d,baseTokenSymbol:C,quoteTokenSymbol:S,baseMinAndZoomMultiples:N,t:L,isHover:!0,color:q.tooltipColor,leftColor:q.leftLine,rightColor:q.rightLine})}),[N,C,H,E,W,q.leftLine,q.rightLine,q.tooltipColor,a,d,S,Z,Y]),X.jsxs(c,{ref:V,width:o,offsetY:-k,height:r+k,draggable:!0,dragBoundFunc:function(){return{x:this.absolutePosition().x,y:this.absolutePosition().y}},onMouseMove:st,onMouseOver:st,onMouseOut:()=>{Y&&Y.hide()},onDragStart:function(t){const{target:e}=t,i=e.getStage();if(i){const t=i.getPointerPosition();t&&(I.current=t.x)}},onDragMove:at,onDragEnd:t=>{const{target:e}=t,i=e.getStage();i&&(i.container().style.cursor="pointer")},onWheel:dt,children:[X.jsxs(p,{children:[X.jsx(m,{x:0,y:0,width:o,height:E,stroke:q.grid,strokeWidth:1}),$.map(((t,e)=>X.jsx(g,{points:t,stroke:q.grid,strokeWidth:1,lineCap:"round",lineJoin:"round",listening:!1},e))),Q.map(((t,e)=>X.jsx(g,{points:t,stroke:q.grid,strokeWidth:1,lineCap:"round",lineJoin:"round",listening:!1},e))),K.map(((t,e)=>X.jsx(g,{points:t,stroke:"#9d9d9d",strokeWidth:1,lineCap:"round",lineJoin:"round",listening:!1},e))),U.map(((t,e)=>X.jsx(h,{x:t.x,y:t.y,text:t.text,fontFamily:"Manrope",fontSize:12,fill:"#9d9d9d",width:F,padding:0,align:"center",verticalAlign:"bottom",listening:!1},e))),X.jsx(g,{points:et,closed:!0,listening:!1,lineCap:"round",lineJoin:"round",fillLinearGradientStartPoint:{x:0,y:E},fillLinearGradientEndPoint:{x:0,y:it},fillLinearGradientColorStops:q.leftBg}),X.jsx(g,{points:_,stroke:q.leftLine,strokeWidth:2,lineCap:"round",lineJoin:"round",listening:!1}),X.jsx(g,{points:rt,closed:!0,listening:!1,lineCap:"round",lineJoin:"round",fillLinearGradientStartPoint:{x:W,y:E},fillLinearGradientEndPoint:{x:W,y:nt},fillLinearGradientColorStops:q.rightBg}),X.jsx(g,{points:ot,stroke:q.rightLine,strokeWidth:2,lineCap:"round",lineJoin:"round",listening:!1}),X.jsx(g,{points:lt,stroke:q.midPriceLine,strokeWidth:2,lineCap:"round",lineJoin:"round",listening:!1})]}),X.jsxs(p,{ref:J,visible:!1,listening:!1,children:[X.jsx(g,{points:[],stroke:"#ff4f73",strokeWidth:1,lineCap:"round",lineJoin:"round",dash:[4,6],id:"toolTipVertLine"}),X.jsx(g,{points:[],stroke:"ff4f73",strokeWidth:1,lineCap:"round",lineJoin:"round",dash:[4,6],id:"toolTipHoriLine"}),X.jsx(b,{x:0,y:0,radius:5,fill:"#FF5072",stroke:"rgba(255, 80, 114, 0.3)",strokeWidth:12,id:"joinCircle"}),X.jsxs(f,{x:0,y:0,id:"priceTextLabel",children:[X.jsx(M,{fill:q.tooltipBg,id:"priceTextLabel-tag"}),X.jsx(h,{text:"",fontSize:12,fontFamily:"Manrope",padding:4,fill:"#FF5072",id:"priceTextLabel-text"})]}),X.jsxs(f,{x:0,y:0,id:"slippageTextLabel",children:[X.jsx(M,{fill:q.tooltipBg,id:"slippageTextLabel-tag"}),X.jsx(h,{text:"",fontSize:12,fontFamily:"Manrope",padding:4,fill:"#FF5072",id:"slippageTextLabel-text"})]}),X.jsxs(f,{x:0,y:0,id:"toolTip",children:[X.jsx(M,{fill:q.tooltipBg,pointerDirection:"down",pointerWidth:15,pointerHeight:8,cornerRadius:8,lineJoin:"round",id:"toolTip-tag"}),X.jsx(h,{text:"-",fontSize:12,lineHeight:17/12,padding:B,fontFamily:"Manrope",fill:"#FFFFFF",id:"toolTip-text"})]})]})]})}const it=d.button`
|
|
21
21
|
margin: 0;
|
|
22
22
|
border: none;
|
|
23
23
|
padding: 0;
|
|
@@ -75,4 +75,4 @@ import t from"bignumber.js";import{merge as e,throttle as i,debounce as o}from"l
|
|
|
75
75
|
&:hover {
|
|
76
76
|
color: #fff;
|
|
77
77
|
}
|
|
78
|
-
`;function dt({params:e,target:i,isBuy:o=!0}){const r=new t(e.b),n=new t(e.q);let l=new t(e.b0);const s=new t(e.q0),a=new t(e.i),d=new t(e.k),{R:
|
|
78
|
+
`;function dt({params:e,target:i,isBuy:o=!0}){const r=new t(e.b),n=new t(e.q);let l=new t(e.b0);const s=new t(e.q0),a=new t(e.i),d=new t(e.k),{R:u}=e;1===u&&l.eq(r)&&(l=q(r,n.minus(s),new t(1).div(a),d));const c=o?r.plus(i):r.minus(i);if(c.lt(l)||r.eq(l)){let e=l.multipliedBy(l).div(c).div(c);return e=new t(1).minus(d).plus(d.multipliedBy(e)),a.multipliedBy(e)}const p=new W;p.RStatus=u,p.B=r,p.B0=l,p.Q=n,p.Q0=s,p.i=a,p.k=d,p.mtFeeRate=new t(0),p.lpFeeRate=new t(0);let m=new t(0);m=o?p.querySellBase(i):p.queryBuyBase(i);const g=o?n.minus(m):n.plus(m);let h=s.multipliedBy(s).div(g).div(g);return h=new t(1).minus(d).plus(d.multipliedBy(h)),a.div(h)}const ut=({chartId:e,width:i=834,height:r=460,baseTokenSymbol:s,quoteTokenSymbol:d,pmmModel:u,pmmParams:c,midPrice:p=new t(0),colorMap:m,notShowAmountInput:g})=>{(({id:t})=>{n((()=>{function e(t){t.preventDefault()}let i=!1;try{const t={get passive(){return i=!0,!1}};window.addEventListener("test",(()=>{}),t),window.removeEventListener("test",(()=>{}))}catch(t){i=!1}const o=document.getElementById(t),r=!!i&&{passive:!1};return null==o||o.addEventListener("wheel",e,r),()=>{null==o||o.removeEventListener("wheel",e)}}),[t])})({id:e});const[h,b]=a(""),[f,M]=a(""),[x,v]=a("-"),[y,z]=a("-"),[k,B]=a({baseMin:new t(0),zoomMultiples:C,targetMarginPriceX:0});n((()=>{void 0!==p&&B((t=>({baseMin:w({midPrice:p,zoomMultiples:t.zoomMultiples}),zoomMultiples:t.zoomMultiples,targetMarginPriceX:t.targetMarginPriceX})))}),[p]);const O=l((()=>o((({type:e,amount:o})=>{""===o&&p&&(B({baseMin:w({midPrice:p,zoomMultiples:C}),zoomMultiples:C,targetMarginPriceX:0}),"buy"===e?v("-"):z("-"));const r=new t(o);if(!r.lte(0)&&!r.isNaN()&&(null==c?void 0:c.b)&&!r.gte(c.b)&&p)if("buy"===e){const t=dt({params:c,target:r});B((o=>{const r=S({currentBaseMinAndZoomMultiples:o,targetPrice:t,midPrice:p,width:i});if(r.isSkip)return{baseMin:o.baseMin,zoomMultiples:o.zoomMultiples,targetMarginPriceX:r.targetX};if(r.targetX>0)return{baseMin:r.baseMin,zoomMultiples:r.zoomMultiples,targetMarginPriceX:r.targetX};const n=N({midPrice:p,width:i,type:e,targetPrice:t}),l=n.zoomMultiples.dp(6).toNumber();return{baseMin:w({midPrice:p,zoomMultiples:l}),zoomMultiples:l,targetMarginPriceX:n.targetX}})),v(`${T({input:t.minus(p).div(p)})}`)}else{const t=function({params:t,target:e}){return dt({params:t,target:e,isBuy:!1})}({params:c,target:r});B((o=>{const r=S({currentBaseMinAndZoomMultiples:o,targetPrice:t,midPrice:p,width:i});if(r.isSkip)return{baseMin:o.baseMin,zoomMultiples:o.zoomMultiples,targetMarginPriceX:r.targetX};if(r.targetX>0)return{baseMin:r.baseMin,zoomMultiples:r.zoomMultiples,targetMarginPriceX:r.targetX};const n=N({midPrice:p,width:i,type:e,targetPrice:t}),l=n.zoomMultiples.dp(6).toNumber();return{baseMin:w({midPrice:p,zoomMultiples:l}),zoomMultiples:l,targetMarginPriceX:n.targetX}})),z(`+${T({input:t.minus(p).div(p)})}`)}}),300)),[c,p,i]);n((()=>{void 0!==h&&O({type:"buy",amount:h})}),[O,h]),n((()=>{void 0!==f&&O({type:"sell",amount:f})}),[O,f]);const q=t=>{let e=0;e=t?-.1*i:.1*i,B((t=>void 0===t.baseMin?t:{baseMin:P({dragDistance:e,prevBaseMin:t.baseMin,chartWidth:i,zoomMultiples:t.zoomMultiples}),zoomMultiples:t.zoomMultiples,targetMarginPriceX:t.targetMarginPriceX}))},W=t=>{B((e=>{const i=j({zoomIn:null!=t&&t,prevZoomMultiples:e.zoomMultiples});return{baseMin:w({midPrice:p,zoomMultiples:i}),zoomMultiples:i,targetMarginPriceX:e.targetMarginPriceX}}))},E=l((()=>{if(""===h)return!1;const e=new t(h);return!(!e.lte(0)&&!e.isNaN()&&(null==c?void 0:c.b)&&!e.gte(c.b))}),[h,c]),F=l((()=>{if(""===f)return!1;const e=new t(f);return!(!e.lte(0)&&!e.isNaN()&&(null==c?void 0:c.b)&&!e.gte(c.b))}),[f,c]);return X.jsxs(ot,{id:e,children:[g?"":X.jsxs(rt,{children:[X.jsxs(nt,{borderColor:m&&m.grid,children:[L("pool.chart.buy-amount",{symbol:s}),X.jsx(_,{value:h,error:E,onChange:t=>{const e=A(t.target.value,2);null!==e&&b(e)}}),X.jsx(lt,{children:L("pool.chart.price-impact",{amount:x})})]}),X.jsxs(nt,{borderColor:m&&m.grid,children:[L("pool.chart.sell-amount",{symbol:s}),X.jsx(_,{value:f,error:F,onChange:t=>{const e=A(t.target.value,2);null!==e&&M(e)}}),X.jsx(lt,{children:L("pool.chart.price-impact",{amount:y})})]})]}),void 0!==c&&void 0!==p&&void 0!==u&&void 0!==k.baseMin&&void 0!==p&&X.jsx(et,{width:i,height:r,params:c,midPrice:p,pmmModel:u,baseTokenSymbol:s,quoteTokenSymbol:d,baseMinAndZoomMultiples:k,colorMap:m,setBaseMinAndZoomMultiples:B}),X.jsxs(st,{className:"operate-btn-wrapper",children:[X.jsx(at,{onClick:()=>q(!0),children:X.jsx($,{})}),X.jsx(at,{onClick:()=>W(!1),children:X.jsx(K,{})}),X.jsx(at,{onClick:()=>W(!0),children:X.jsx(U,{})}),X.jsx(at,{onClick:()=>q(!1),children:X.jsx(Q,{})})]})]})};export{ut as default};
|