@dodoex/widgets 3.2.0-beta.8 → 3.2.0-beta.9
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/cjs/locales/en-US.js +1 -1
- package/dist/cjs/locales/zh-CN.js +1 -1
- package/dist/{helper-Bwk-pafn.js → helper-DhgMbNPo.js} +1 -1
- package/dist/{helper-BxZqNcaq.cjs → helper-eVbgjF_C.cjs} +1 -1
- package/dist/{index-Bk4cKKCz.js → index-BHyTOtre.js} +1 -1
- package/dist/index-Bgu11Fp0.cjs +31 -0
- package/dist/{index-BDehUNkw.cjs → index-BzBpLCXO.cjs} +1 -1
- package/dist/{index-DRV1A2No.js → index-C24E6u3X.js} +1 -1
- package/dist/{index-cEhELacT.cjs → index-CV6mZEKx.cjs} +1 -1
- package/dist/index-Dd3PdXNw.js +31 -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/Message/index.d.ts +2 -1
- package/dist/types/components/SelectChain.d.ts +2 -1
- package/dist/types/components/SubmittedDialog.d.ts +6 -0
- package/dist/types/components/Swap/components/ConnectWallet/index.d.ts +1 -2
- package/dist/types/components/Swap/components/ReviewDialog.d.ts +1 -2
- package/dist/types/components/Swap/components/SwapPreviewInfoCard.d.ts +7 -0
- package/dist/types/components/Swap/components/SwapSettingsDialog/SlippageSetting.d.ts +2 -1
- package/dist/types/components/Swap/components/SwapSettingsDialog/SlippageWarning.d.ts +3 -1
- package/dist/types/components/Swap/components/SwapSettingsDialog/index.d.ts +2 -1
- package/dist/types/components/Swap/components/SwitchBox.d.ts +1 -2
- package/dist/types/components/Swap/components/TokenCard/NumberInput.d.ts +0 -1
- package/dist/types/components/Swap/components/TokenCard/index.d.ts +2 -5
- package/dist/types/components/Swap/index.d.ts +3 -5
- package/dist/types/components/TokenSelect.d.ts +1 -2
- package/dist/types/components/Widget/index.d.ts +3 -3
- package/dist/types/components/WithExecutionDialog/index.d.ts +2 -1
- package/dist/types/constants/address.d.ts +0 -1
- package/dist/types/hooks/ConnectWallet/useSwitchChain.d.ts +3 -0
- package/dist/types/hooks/Submission/types.d.ts +0 -4
- package/dist/types/hooks/Swap/useSlippageLimit.d.ts +2 -2
- package/dist/types/hooks/contract/wallet.d.ts +2 -2
- package/dist/types/index.d.ts +1 -3
- package/dist/types/providers/useInitContractRequest.d.ts +1 -2
- package/dist/types/router/types.d.ts +1 -2
- package/dist/types/utils/address.d.ts +0 -35
- package/dist/types/widgets/PoolWidget/AMMV2Create/Ratio.d.ts +4 -1
- package/dist/types/widgets/PoolWidget/PoolCreate/components/BaseInfoCardList.d.ts +3 -1
- package/dist/types/widgets/PoolWidget/PoolCreate/components/FeeRateCard.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolCreate/components/LqRatioSet.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolCreate/components/LqSettingsShow.d.ts +3 -1
- package/dist/types/widgets/PoolWidget/PoolCreate/components/PriceModeCard.d.ts +3 -1
- package/dist/types/widgets/PoolWidget/PoolCreate/components/VersionChartExample.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolCreate/components/widgets.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolCreate/hooks/usePriceInit.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolCreate/hooks/useVersionList.d.ts +3 -3
- package/dist/types/widgets/PoolWidget/PoolCreate/index.d.ts +3 -1
- package/dist/types/widgets/PoolWidget/PoolCreate/operate-widgets/InitPriceSetting.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolCreate/operate-widgets/PriceModeSetting.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolCreate/operate-widgets/VersionSelect.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolDetail/components/MoreDetail/index.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolDetail/components/Overview.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolDetail/components/TotalLiquidity.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolDetail/index.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolList/AddLiquidity.d.ts +4 -5
- package/dist/types/widgets/PoolWidget/PoolList/MyCreated.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolList/MyLiquidity.d.ts +4 -5
- package/dist/types/widgets/PoolWidget/PoolList/index.d.ts +5 -9
- package/dist/types/widgets/PoolWidget/PoolModify/index.d.ts +2 -1
- package/dist/types/widgets/PoolWidget/PoolOperate/PoolOperateInner.d.ts +4 -2
- package/dist/types/widgets/PoolWidget/PoolOperate/RemovePoolOperate.d.ts +4 -2
- package/dist/types/widgets/PoolWidget/PoolOperate/components/Ratio.d.ts +5 -1
- package/dist/types/widgets/PoolWidget/PoolOperate/components/SlippageSetting.d.ts +1 -1
- package/dist/types/widgets/PoolWidget/PoolOperate/index.d.ts +4 -1
- package/dist/types/widgets/PoolWidget/PoolOperate/types.d.ts +12 -0
- package/dist/types/widgets/PoolWidget/hooks/contract/useModifyDppPool.d.ts +1 -1
- package/dist/types/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.d.ts +1 -1
- package/dist/types/widgets/PoolWidget/hooks/useAMMV2RemoveLiquidity.d.ts +1 -1
- package/dist/types/widgets/PoolWidget/hooks/usePoolListMyLiquidity.d.ts +15 -0
- package/package.json +1 -1
- package/dist/7feb1ff0e03a571d.svg +0 -9
- package/dist/index-B4_cnc94.cjs +0 -67
- package/dist/index-DQp2ouTr.js +0 -67
- package/dist/types/hooks/usePoolTokenSort.d.ts +0 -24
- package/dist/types/utils/fractions/fraction.d.ts +0 -24
- package/dist/types/utils/fractions/index.d.ts +0 -3
- package/dist/types/utils/fractions/percent.d.ts +0 -14
- package/dist/types/utils/fractions/price.d.ts +0 -29
- package/dist/types/utils/fractions/types.d.ts +0 -7
- package/dist/types/widgets/PoolWidget/AMMV2Create/Setting.d.ts +0 -16
- package/dist/types/widgets/PoolWidget/Algebra/AddLiquidity.d.ts +0 -14
- package/dist/types/widgets/PoolWidget/Algebra/AlgebraPositionManage.d.ts +0 -11
- package/dist/types/widgets/PoolWidget/Algebra/components/Badge/RangeBadge.d.ts +0 -4
- package/dist/types/widgets/PoolWidget/Algebra/components/ClaimButton.d.ts +0 -9
- package/dist/types/widgets/PoolWidget/Algebra/components/InRangeDot.d.ts +0 -4
- package/dist/types/widgets/PoolWidget/Algebra/components/InputStepCounter.d.ts +0 -17
- package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/Area.d.ts +0 -10
- package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/AxisBottom.d.ts +0 -6
- package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/Brush.d.ts +0 -13
- package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/Chart.d.ts +0 -2
- package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/Line.d.ts +0 -6
- package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/Zoom.d.ts +0 -12
- package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/index.d.ts +0 -19
- package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/svg.d.ts +0 -22
- package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/types.d.ts +0 -50
- package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/usePrevious.d.ts +0 -1
- package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/utils.d.ts +0 -14
- package/dist/types/widgets/PoolWidget/Algebra/components/MyLiquidity.d.ts +0 -10
- package/dist/types/widgets/PoolWidget/Algebra/components/PositionPreview.d.ts +0 -14
- package/dist/types/widgets/PoolWidget/Algebra/components/PositionSelectedRangePreview.d.ts +0 -11
- package/dist/types/widgets/PoolWidget/Algebra/components/RangeSelector.d.ts +0 -21
- package/dist/types/widgets/PoolWidget/Algebra/components/RateToggle.d.ts +0 -9
- package/dist/types/widgets/PoolWidget/Algebra/components/RemoveButton.d.ts +0 -11
- package/dist/types/widgets/PoolWidget/Algebra/components/ReviewModal.d.ts +0 -18
- package/dist/types/widgets/PoolWidget/Algebra/components/TokenAndEtherscan.d.ts +0 -4
- package/dist/types/widgets/PoolWidget/Algebra/components/TokenPairSelect.d.ts +0 -7
- package/dist/types/widgets/PoolWidget/Algebra/components/shared.d.ts +0 -4
- package/dist/types/widgets/PoolWidget/Algebra/components/widgets.d.ts +0 -56
- package/dist/types/widgets/PoolWidget/Algebra/constants/misc.d.ts +0 -17
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useAddAlgebraLiquidity.d.ts +0 -15
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useAlgebraAmounts.d.ts +0 -19
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useAlgebraPair.d.ts +0 -59
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useAlgebraPositionFees.d.ts +0 -13
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useClaimAlgebraFees.d.ts +0 -12
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useContract.d.ts +0 -2
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useFetchPositionFromTokenId.d.ts +0 -295
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useFetchPositions.d.ts +0 -23
- package/dist/types/widgets/PoolWidget/Algebra/hooks/usePoolActiveLiquidityChartData.d.ts +0 -37
- package/dist/types/widgets/PoolWidget/Algebra/hooks/usePools.d.ts +0 -22
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useRemoveAlgebraLiquidity.d.ts +0 -14
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useSetRange.d.ts +0 -32
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useSwapTaxes.d.ts +0 -5
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useV3MintActionHandlers.d.ts +0 -11
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useV3PositionFees.d.ts +0 -8
- package/dist/types/widgets/PoolWidget/Algebra/hooks/useV3Positions.d.ts +0 -13
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/addresses.d.ts +0 -12
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/chains.d.ts +0 -4
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/constants.d.ts +0 -12
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/baseCurrency.d.ts +0 -49
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/currency.d.ts +0 -3
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/fractions/currencyAmount.d.ts +0 -32
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/fractions/fraction.d.ts +0 -24
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/fractions/index.d.ts +0 -4
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/fractions/percent.d.ts +0 -14
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/fractions/price.d.ts +0 -38
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/index.d.ts +0 -4
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/nativeCurrency.d.ts +0 -16
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/nativeCurrencyClass.d.ts +0 -8
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/token.d.ts +0 -48
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/index.d.ts +0 -5
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/utils/computePriceImpact.d.ts +0 -8
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/utils/index.d.ts +0 -4
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/utils/sortedInsert.d.ts +0 -1
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/utils/sqrt.d.ts +0 -7
- package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/utils/validateAndParseAddress.d.ts +0 -10
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/constants.d.ts +0 -23
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/index.d.ts +0 -7
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/pool.d.ts +0 -81
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/position.d.ts +0 -131
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/route.d.ts +0 -26
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/tick.d.ts +0 -13
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/tickDataProvider.d.ts +0 -31
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/tickListDataProvider.d.ts +0 -15
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/trade.d.ts +0 -220
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/index.d.ts +0 -10
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/internalConstants.d.ts +0 -6
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/multicall.d.ts +0 -10
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/nonfungiblePositionManager.d.ts +0 -159
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/payments.d.ts +0 -24
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/quoter.d.ts +0 -37
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/selfPermit.d.ts +0 -25
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/staker.d.ts +0 -101
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/swapRouter.d.ts +0 -51
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/calldata.d.ts +0 -20
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/computePoolAddress.d.ts +0 -21
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/encodeRouteToPath.d.ts +0 -8
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/encodeSqrtRatioX96.d.ts +0 -9
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/fullMath.d.ts +0 -8
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/index.d.ts +0 -18
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/isSorted.d.ts +0 -7
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/liquidityMath.d.ts +0 -8
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/maxLiquidityForAmounts.d.ts +0 -14
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/mostSignificantBit.d.ts +0 -2
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/nearestUsableTick.d.ts +0 -6
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/position.d.ts +0 -8
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/priceTickConversions.d.ts +0 -15
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/sqrtPriceMath.d.ts +0 -13
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/swapMath.d.ts +0 -9
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/tickLibrary.d.ts +0 -14
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/tickList.d.ts +0 -23
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/tickMath.d.ts +0 -34
- package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/v3swap.d.ts +0 -8
- package/dist/types/widgets/PoolWidget/Algebra/types/position.d.ts +0 -18
- package/dist/types/widgets/PoolWidget/Algebra/types.d.ts +0 -10
- package/dist/types/widgets/PoolWidget/Algebra/utils/calldata.d.ts +0 -7
- package/dist/types/widgets/PoolWidget/Algebra/utils/computeSurroundingTicks.d.ts +0 -4
- package/dist/types/widgets/PoolWidget/Algebra/utils/constants.d.ts +0 -7
- package/dist/types/widgets/PoolWidget/Algebra/utils/encodeSqrtRatioX96.d.ts +0 -9
- package/dist/types/widgets/PoolWidget/Algebra/utils/formatTickPrice.d.ts +0 -1
- package/dist/types/widgets/PoolWidget/Algebra/utils/fullMath.d.ts +0 -8
- package/dist/types/widgets/PoolWidget/Algebra/utils/getPositionAmount.d.ts +0 -37
- package/dist/types/widgets/PoolWidget/Algebra/utils/getPositionAmountWithSlippage.d.ts +0 -23
- package/dist/types/widgets/PoolWidget/Algebra/utils/getTickToPrice.d.ts +0 -10
- package/dist/types/widgets/PoolWidget/Algebra/utils/maxLiquidityForAmounts.d.ts +0 -22
- package/dist/types/widgets/PoolWidget/Algebra/utils/mostSignificantBit.d.ts +0 -2
- package/dist/types/widgets/PoolWidget/Algebra/utils/nearestUsableTick.d.ts +0 -6
- package/dist/types/widgets/PoolWidget/Algebra/utils/slippage.d.ts +0 -3
- package/dist/types/widgets/PoolWidget/Algebra/utils/sqrt.d.ts +0 -7
- package/dist/types/widgets/PoolWidget/Algebra/utils/sqrtPriceMath.d.ts +0 -13
- package/dist/types/widgets/PoolWidget/Algebra/utils/tickMath.d.ts +0 -34
- package/dist/types/widgets/PoolWidget/Algebra/utils/tryParseTick.d.ts +0 -4
- package/dist/types/widgets/PoolWidget/Algebra/utils.d.ts +0 -9
package/dist/types/index.d.ts
CHANGED
|
@@ -27,8 +27,6 @@ export { usePoolBalanceInfo } from './widgets/PoolWidget/hooks/usePoolBalanceInf
|
|
|
27
27
|
export { MiningList } from './widgets/MiningWidget/MiningList';
|
|
28
28
|
export { MiningDetail } from './widgets/MiningWidget/MiningDetail';
|
|
29
29
|
export { MiningCreate } from './widgets/MiningWidget/MiningCreate';
|
|
30
|
-
export { default as AlgebraAddLiquidity } from './widgets/PoolWidget/Algebra/AddLiquidity';
|
|
31
|
-
export { AlgebraPositionManage } from './widgets/PoolWidget/Algebra/AlgebraPositionManage';
|
|
32
30
|
export { default as AddLiquidityV3 } from './widgets/PoolWidget/AMMV3/AddLiquidityV3';
|
|
33
31
|
export { AMMV3PositionsView } from './widgets/PoolWidget/AMMV3/AMMV3PositionsView';
|
|
34
32
|
export { AMMV3PositionManage } from './widgets/PoolWidget/AMMV3/AMMV3PositionManage';
|
|
@@ -39,7 +37,7 @@ export { TokenCard } from './components/Swap/components/TokenCard';
|
|
|
39
37
|
export { default as TokenLogo } from './components/TokenLogo';
|
|
40
38
|
export { FailedList } from './components/List/FailedList';
|
|
41
39
|
export { EmptyList } from './components/List/EmptyList';
|
|
42
|
-
export { getEtherscanPage
|
|
40
|
+
export { getEtherscanPage } from './utils/address';
|
|
43
41
|
export { formatReadableNumber, formatTokenAmountNumber, formatShortNumber, formatPercentageNumber, } from './utils/formatter';
|
|
44
42
|
export declare function SwapWidget(props: SwapWidgetProps): JSX.Element;
|
|
45
43
|
export declare function PoolWidget(props: SwapWidgetProps): JSX.Element;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function useInitContractRequest(isSet?: boolean): ContractRequests;
|
|
1
|
+
export declare function useInitContractRequest(): void;
|
|
@@ -8,8 +8,7 @@ export declare enum PageType {
|
|
|
8
8
|
MiningList = "miningList",
|
|
9
9
|
MiningDetail = "miningDetail",
|
|
10
10
|
createPoolAMMV2 = "createPoolAMMV2",
|
|
11
|
-
createPoolAMMV3 = "createPoolAMMV3"
|
|
12
|
-
createPoolAlgebra = "createPoolAlgebra"
|
|
11
|
+
createPoolAMMV3 = "createPoolAMMV3"
|
|
13
12
|
}
|
|
14
13
|
interface PageTypeParams {
|
|
15
14
|
[PageType.Pool]: {
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { ChainId } from '@dodoex/api';
|
|
2
2
|
import { TokenInfo } from '../hooks/Token';
|
|
3
|
-
export declare const ALGEBRA_POOL_DEPLOYER_ADDRESSES: {
|
|
4
|
-
[chainId in ChainId]?: string;
|
|
5
|
-
};
|
|
6
|
-
export declare const ALGEBRA_POOL_INIT_CODE_HASH: {
|
|
7
|
-
[chainId in ChainId]?: string;
|
|
8
|
-
};
|
|
9
3
|
export declare const isSameAddress: (tokenAddress1: string, tokenAddress2: string) => boolean;
|
|
10
4
|
export declare function isAddress(value: any): boolean;
|
|
11
5
|
export declare function isETHAddress(addr: string): boolean;
|
|
@@ -31,38 +25,9 @@ export declare function openEtherscanPage(path: string | undefined, chainId: Cha
|
|
|
31
25
|
*/
|
|
32
26
|
export declare const getUniInitCodeHash: (chainId: number) => "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f" | "0x007722521498f3d29a63d1eb6ab35e202874706c77ce73d45c1ad9da88174a3f" | "0x67a372377cf6d7f78cfdcc9df0bc21e1139bd49e5a47c33ee0de5389a4396410" | "0x2ebf1082215ab683deab4ee8ff50d42205db2059829b641717ab3f61f18d481a";
|
|
33
27
|
export declare function sortsBefore(tokenA: TokenInfo, tokenB: TokenInfo): boolean;
|
|
34
|
-
export declare function sortsBeforeTokenAddress(tokenA: string, tokenB: string): boolean;
|
|
35
28
|
export declare const computePairAddress: ({ factoryAddress, tokenA, tokenB, fee, }: {
|
|
36
29
|
factoryAddress: string;
|
|
37
30
|
tokenA: TokenInfo;
|
|
38
31
|
tokenB: TokenInfo;
|
|
39
32
|
fee: number;
|
|
40
33
|
}) => string;
|
|
41
|
-
/**
|
|
42
|
-
* Computes a pool address
|
|
43
|
-
* @param poolDeployer The Algebra Pool Deployer address
|
|
44
|
-
* @param tokenA The first token of the pair, irrespective of sort order
|
|
45
|
-
* @param tokenB The second token of the pair, irrespective of sort order
|
|
46
|
-
* @param initCodeHashManualOverride The initial code hash override
|
|
47
|
-
* @returns The pool address
|
|
48
|
-
*/
|
|
49
|
-
export declare function computePoolAddress({ tokenA, tokenB, poolDeployer, initCodeHashManualOverride, }: {
|
|
50
|
-
tokenA: TokenInfo;
|
|
51
|
-
tokenB: TokenInfo;
|
|
52
|
-
poolDeployer: string;
|
|
53
|
-
initCodeHashManualOverride: string;
|
|
54
|
-
}): string;
|
|
55
|
-
/**
|
|
56
|
-
* Computes a pool address
|
|
57
|
-
* @param poolDeployer The Algebra Pool Deployer address
|
|
58
|
-
* @param tokenA The first token of the pair, irrespective of sort order
|
|
59
|
-
* @param tokenB The second token of the pair, irrespective of sort order
|
|
60
|
-
* @param initCodeHashManualOverride The initial code hash override
|
|
61
|
-
* @returns The pool address
|
|
62
|
-
*/
|
|
63
|
-
export declare function computePoolAddressByAddress({ tokenA, tokenB, initCodeHashManualOverride, poolDeployer, }: {
|
|
64
|
-
tokenA: string;
|
|
65
|
-
tokenB: string;
|
|
66
|
-
initCodeHashManualOverride: string;
|
|
67
|
-
poolDeployer: string;
|
|
68
|
-
}): string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BoxProps } from '@dodoex/components';
|
|
2
2
|
import BigNumber from 'bignumber.js';
|
|
3
3
|
import { TokenInfo } from '../../../hooks/Token';
|
|
4
|
+
import { useSlipper } from '../PoolOperate/components/SlippageSetting';
|
|
4
5
|
export declare function RatioPrice({ baseToken, quoteToken, midPrice, loading, disabled, }: {
|
|
5
6
|
baseToken?: TokenInfo;
|
|
6
7
|
quoteToken?: TokenInfo;
|
|
@@ -8,11 +9,13 @@ export declare function RatioPrice({ baseToken, quoteToken, midPrice, loading, d
|
|
|
8
9
|
loading?: boolean;
|
|
9
10
|
disabled?: boolean;
|
|
10
11
|
}): JSX.Element;
|
|
11
|
-
export default function Ratio({ baseToken, quoteToken, loading, midPrice, shareOfPool, sx, }: {
|
|
12
|
+
export default function Ratio({ baseToken, quoteToken, loading, midPrice, shareOfPool, sx, slippage, setSlippage, }: {
|
|
12
13
|
baseToken?: TokenInfo;
|
|
13
14
|
quoteToken?: TokenInfo;
|
|
14
15
|
loading?: boolean;
|
|
15
16
|
midPrice?: BigNumber | null;
|
|
16
17
|
shareOfPool?: string;
|
|
17
18
|
sx?: BoxProps['sx'];
|
|
19
|
+
slippage: ReturnType<typeof useSlipper>['slipper'];
|
|
20
|
+
setSlippage: ReturnType<typeof useSlipper>['setSlipper'];
|
|
18
21
|
}): JSX.Element;
|
|
@@ -2,7 +2,8 @@ import { BoxProps } from '@dodoex/components';
|
|
|
2
2
|
import BigNumber from 'bignumber.js';
|
|
3
3
|
import { StateProps } from '../reducer';
|
|
4
4
|
import { SectionStatusT } from '../types';
|
|
5
|
-
export declare function BaseInfoCardList({ status, selectedVersion, baseToken, quoteToken, initPrice, slippageCoefficient, midPrice, sx, }: {
|
|
5
|
+
export declare function BaseInfoCardList({ chainId, status, selectedVersion, baseToken, quoteToken, initPrice, slippageCoefficient, midPrice, sx, cardBg, }: {
|
|
6
|
+
chainId: number | undefined;
|
|
6
7
|
status: SectionStatusT;
|
|
7
8
|
selectedVersion: StateProps['selectedVersion'];
|
|
8
9
|
baseToken: StateProps['baseToken'];
|
|
@@ -11,4 +12,5 @@ export declare function BaseInfoCardList({ status, selectedVersion, baseToken, q
|
|
|
11
12
|
slippageCoefficient: StateProps['slippageCoefficient'];
|
|
12
13
|
midPrice: BigNumber | undefined;
|
|
13
14
|
sx?: BoxProps['sx'];
|
|
15
|
+
cardBg: string;
|
|
14
16
|
}): JSX.Element | null;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StateProps } from '../reducer';
|
|
2
|
-
export declare function FeeRateCard({ isWaiting, feeRate, }: {
|
|
2
|
+
export declare function FeeRateCard({ isWaiting, feeRate, cardBg, }: {
|
|
3
3
|
isWaiting: boolean;
|
|
4
4
|
feeRate: StateProps['feeRate'];
|
|
5
|
+
cardBg: string;
|
|
5
6
|
}): JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { StateProps } from '../reducer';
|
|
2
|
-
export declare function LqRatioSet({ isWaiting, selectedVersion, baseToken, quoteToken, initPrice, slippageCoefficient, baseAmount, quoteAmount, peggedBaseTokenRatio, peggedQuoteTokenRatio, }: {
|
|
2
|
+
export declare function LqRatioSet({ isWaiting, selectedVersion, baseToken, quoteToken, initPrice, slippageCoefficient, baseAmount, quoteAmount, peggedBaseTokenRatio, peggedQuoteTokenRatio, cardBg, }: {
|
|
3
3
|
isWaiting: boolean;
|
|
4
4
|
selectedVersion: StateProps['selectedVersion'];
|
|
5
5
|
baseToken: StateProps['baseToken'];
|
|
@@ -10,4 +10,5 @@ export declare function LqRatioSet({ isWaiting, selectedVersion, baseToken, quot
|
|
|
10
10
|
quoteAmount: StateProps['quoteAmount'];
|
|
11
11
|
peggedBaseTokenRatio: StateProps['peggedBaseTokenRatio'];
|
|
12
12
|
peggedQuoteTokenRatio: StateProps['peggedQuoteTokenRatio'];
|
|
13
|
+
cardBg: string;
|
|
13
14
|
}): JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { StateProps } from '../reducer';
|
|
2
2
|
import { SectionStatusT } from '../types';
|
|
3
|
-
export declare function LqSettingsShow({ status, selectedVersion, baseToken, quoteToken, initPrice, slippageCoefficient, baseAmount, quoteAmount, }: {
|
|
3
|
+
export declare function LqSettingsShow({ chainId, status, selectedVersion, baseToken, quoteToken, initPrice, slippageCoefficient, baseAmount, quoteAmount, cardBg, }: {
|
|
4
|
+
chainId: number | undefined;
|
|
4
5
|
status: SectionStatusT;
|
|
5
6
|
selectedVersion: StateProps['selectedVersion'];
|
|
6
7
|
baseToken: StateProps['baseToken'];
|
|
@@ -9,4 +10,5 @@ export declare function LqSettingsShow({ status, selectedVersion, baseToken, quo
|
|
|
9
10
|
slippageCoefficient: StateProps['slippageCoefficient'];
|
|
10
11
|
baseAmount: StateProps['baseAmount'];
|
|
11
12
|
quoteAmount: StateProps['quoteAmount'];
|
|
13
|
+
cardBg: string;
|
|
12
14
|
}): JSX.Element;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { StateProps } from '../reducer';
|
|
2
|
-
export declare function PriceModeCard({ isWaiting, selectedSubPeggedVersion, }: {
|
|
2
|
+
export declare function PriceModeCard({ chainId, isWaiting, selectedSubPeggedVersion, cardBg, }: {
|
|
3
|
+
chainId: number | undefined;
|
|
3
4
|
isWaiting: boolean;
|
|
4
5
|
selectedSubPeggedVersion: StateProps['selectedSubPeggedVersion'];
|
|
6
|
+
cardBg: string;
|
|
5
7
|
}): JSX.Element;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SectionStatusT, VersionItem } from '../types';
|
|
2
|
-
export declare function VersionChartExample({ versionItem, status, }: {
|
|
2
|
+
export declare function VersionChartExample({ versionItem, status, cardBg, }: {
|
|
3
3
|
versionItem: VersionItem;
|
|
4
4
|
status: SectionStatusT;
|
|
5
|
+
cardBg: string;
|
|
5
6
|
}): JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare function Card({ title, children, isWaiting, }: {
|
|
2
|
+
export declare function Card({ title, children, isWaiting, backgroundColor, }: {
|
|
3
3
|
title: React.ReactNode;
|
|
4
4
|
children: React.ReactNode;
|
|
5
5
|
isWaiting: boolean;
|
|
6
|
+
backgroundColor: string;
|
|
6
7
|
}): JSX.Element;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { Dispatch } from 'react';
|
|
3
3
|
import { Actions, StateProps } from '../reducer';
|
|
4
|
-
export declare function usePriceInit({ isSingleTokenVersion, leftTokenAddress, baseToken, quoteToken, dispatch, }: {
|
|
4
|
+
export declare function usePriceInit({ isSingleTokenVersion, leftTokenAddress, baseToken, quoteToken, dispatch, isInitPrice, }: {
|
|
5
5
|
isSingleTokenVersion: boolean;
|
|
6
6
|
leftTokenAddress: StateProps['leftTokenAddress'];
|
|
7
7
|
baseToken: StateProps['baseToken'];
|
|
8
8
|
quoteToken: StateProps['quoteToken'];
|
|
9
9
|
dispatch: Dispatch<Actions>;
|
|
10
|
+
isInitPrice?: boolean;
|
|
10
11
|
}): {
|
|
11
12
|
fiatPriceLoading: boolean;
|
|
12
13
|
currentPrice: BigNumber | undefined;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { SubPeggedVersionE, Version, VersionItem } from '../types';
|
|
2
|
-
export declare function useVersionList(): {
|
|
2
|
+
export declare function useVersionList(chainId: number | undefined): {
|
|
3
3
|
versionList: VersionItem[];
|
|
4
4
|
versionMap: Record<Version, VersionItem>;
|
|
5
5
|
subPeggedVersionList: (Pick<VersionItem, "title" | "description"> & {
|
|
6
6
|
version: SubPeggedVersionE;
|
|
7
7
|
})[];
|
|
8
8
|
};
|
|
9
|
-
export declare function getSubPeggedVersionList(): Array<Pick<VersionItem, 'title' | 'description'> & {
|
|
9
|
+
export declare function getSubPeggedVersionList(chainId: number | undefined): Array<Pick<VersionItem, 'title' | 'description'> & {
|
|
10
10
|
version: SubPeggedVersionE;
|
|
11
11
|
}>;
|
|
12
|
-
export declare function getSubPeggedVersionMap(): Record<SubPeggedVersionE, Pick<VersionItem, "title" | "description">>;
|
|
12
|
+
export declare function getSubPeggedVersionMap(chainId: number | undefined): Record<SubPeggedVersionE, Pick<VersionItem, "title" | "description">>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Dispatch } from 'react';
|
|
2
2
|
import { Actions, StateProps } from '../reducer';
|
|
3
3
|
import { usePriceInit } from '../hooks/usePriceInit';
|
|
4
|
-
export declare function InitPriceSetting({ selectedVersion, isStandardVersion, isSingleTokenVersion, isFixedRatio, leftTokenAddress, baseToken, quoteToken, fixedRatioPrice, dispatch, priceInfo, }: {
|
|
4
|
+
export declare function InitPriceSetting({ chainId, selectedVersion, isStandardVersion, isSingleTokenVersion, isFixedRatio, leftTokenAddress, baseToken, quoteToken, fixedRatioPrice, dispatch, priceInfo, }: {
|
|
5
|
+
chainId: number | undefined;
|
|
5
6
|
selectedVersion: StateProps['selectedVersion'];
|
|
6
7
|
isStandardVersion: boolean;
|
|
7
8
|
isSingleTokenVersion: boolean;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Dispatch } from 'react';
|
|
2
2
|
import { Actions, StateProps } from '../reducer';
|
|
3
|
-
export declare function PriceModeSetting({ selectedVersion, selectedSubPeggedVersion, baseToken, quoteToken, initPrice, dispatch, }: {
|
|
3
|
+
export declare function PriceModeSetting({ chainId, selectedVersion, selectedSubPeggedVersion, baseToken, quoteToken, initPrice, dispatch, }: {
|
|
4
|
+
chainId: number | undefined;
|
|
4
5
|
selectedVersion: StateProps['selectedVersion'];
|
|
5
6
|
selectedSubPeggedVersion: StateProps['selectedSubPeggedVersion'];
|
|
6
7
|
baseToken: StateProps['baseToken'];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Actions, StateProps } from '../reducer';
|
|
3
|
-
export default function VersionSelect({ selectedVersion, dispatch, }: {
|
|
3
|
+
export default function VersionSelect({ chainId, selectedVersion, dispatch, }: {
|
|
4
|
+
chainId: number | undefined;
|
|
4
5
|
selectedVersion: StateProps['selectedVersion'];
|
|
5
6
|
dispatch: React.Dispatch<Actions>;
|
|
6
7
|
}): JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { usePoolDetail } from '../../../hooks/usePoolDetail';
|
|
2
|
-
export default function MoreDetail({ poolDetail, }: {
|
|
2
|
+
export default function MoreDetail({ poolDetail, cardBg, }: {
|
|
3
3
|
poolDetail: ReturnType<typeof usePoolDetail>['poolDetail'];
|
|
4
|
+
cardBg: string;
|
|
4
5
|
}): JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { usePoolDetail } from '../../hooks/usePoolDetail';
|
|
2
|
-
export default function Overview({ poolDetail, }: {
|
|
2
|
+
export default function Overview({ poolDetail, cardBg, }: {
|
|
3
3
|
poolDetail: ReturnType<typeof usePoolDetail>['poolDetail'];
|
|
4
|
+
cardBg: string;
|
|
4
5
|
}): JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { usePoolDetail } from '../../hooks/usePoolDetail';
|
|
2
|
-
export default function TotalLiquidity({ poolDetail, }: {
|
|
2
|
+
export default function TotalLiquidity({ poolDetail, cardBg, }: {
|
|
3
3
|
poolDetail: ReturnType<typeof usePoolDetail>['poolDetail'];
|
|
4
|
+
cardBg: string;
|
|
4
5
|
}): JSX.Element;
|
|
@@ -2,7 +2,8 @@ import { ChainId } from '@dodoex/api';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { TokenAndPoolFilterUserOptions } from './hooks/usePoolListFilterTokenAndPool';
|
|
4
4
|
import { PoolOperateProps } from '../PoolOperate';
|
|
5
|
-
|
|
5
|
+
import { GetMigrationPairAndMining } from '../PoolOperate/types';
|
|
6
|
+
export default function AddLiquidityList({ scrollParentRef, filterChainIds, activeChainId, handleChangeActiveChainId, operatePool, setOperatePool, tokenAndPoolFilter, getMigrationPairAndMining, supportAMMIcon, }: {
|
|
6
7
|
scrollParentRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
7
8
|
account?: string;
|
|
8
9
|
filterChainIds?: ChainId[];
|
|
@@ -11,8 +12,6 @@ export default function AddLiquidityList({ scrollParentRef, filterChainIds, acti
|
|
|
11
12
|
operatePool: Partial<PoolOperateProps> | null;
|
|
12
13
|
setOperatePool: (operate: Partial<PoolOperateProps> | null) => void;
|
|
13
14
|
tokenAndPoolFilter?: TokenAndPoolFilterUserOptions;
|
|
14
|
-
getMigrationPairAndMining?:
|
|
15
|
-
|
|
16
|
-
chainId: number;
|
|
17
|
-
}) => void;
|
|
15
|
+
getMigrationPairAndMining?: GetMigrationPairAndMining;
|
|
16
|
+
supportAMMIcon?: boolean;
|
|
18
17
|
}): JSX.Element;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { ChainId } from '@dodoex/api';
|
|
2
2
|
import { PoolOperateProps } from '../PoolOperate';
|
|
3
|
-
export default function MyCreated({ account, filterChainIds, activeChainId, handleChangeActiveChainId, operatePool, setOperatePool, }: {
|
|
3
|
+
export default function MyCreated({ account, filterChainIds, activeChainId, handleChangeActiveChainId, operatePool, setOperatePool, supportAMMIcon, }: {
|
|
4
4
|
account?: string;
|
|
5
5
|
filterChainIds?: ChainId[];
|
|
6
6
|
activeChainId: ChainId | undefined;
|
|
7
7
|
handleChangeActiveChainId: (chainId: number | undefined) => void;
|
|
8
8
|
operatePool: Partial<PoolOperateProps> | null;
|
|
9
9
|
setOperatePool: (operate: Partial<PoolOperateProps> | null) => void;
|
|
10
|
+
supportAMMIcon?: boolean;
|
|
10
11
|
}): JSX.Element;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { ChainId } from '@dodoex/api';
|
|
2
2
|
import { TokenAndPoolFilterUserOptions } from './hooks/usePoolListFilterTokenAndPool';
|
|
3
3
|
import { PoolOperateProps } from '../PoolOperate';
|
|
4
|
-
|
|
4
|
+
import { GetMigrationPairAndMining } from '../PoolOperate/types';
|
|
5
|
+
export default function MyLiquidity({ account, filterChainIds, activeChainId, handleChangeActiveChainId, operatePool, setOperatePool, getMigrationPairAndMining, tokenAndPoolFilter, supportAMMIcon, }: {
|
|
5
6
|
account?: string;
|
|
6
7
|
filterChainIds?: ChainId[];
|
|
7
8
|
activeChainId: ChainId | undefined;
|
|
8
9
|
handleChangeActiveChainId: (chainId: number | undefined) => void;
|
|
9
10
|
operatePool: Partial<PoolOperateProps> | null;
|
|
10
11
|
setOperatePool: (operate: Partial<PoolOperateProps> | null) => void;
|
|
11
|
-
getMigrationPairAndMining?:
|
|
12
|
-
address: string;
|
|
13
|
-
chainId: number;
|
|
14
|
-
}) => void;
|
|
12
|
+
getMigrationPairAndMining?: GetMigrationPairAndMining;
|
|
15
13
|
tokenAndPoolFilter?: TokenAndPoolFilterUserOptions;
|
|
14
|
+
supportAMMIcon?: boolean;
|
|
16
15
|
}): JSX.Element;
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Page, PageType } from '../../../router/types';
|
|
3
|
-
import {
|
|
3
|
+
import { GetMigrationPairAndMining, ShowMigrationPairAndMining } from '../PoolOperate/types';
|
|
4
4
|
import { TokenAndPoolFilterUserOptions } from './hooks/usePoolListFilterTokenAndPool';
|
|
5
|
-
export default function PoolList({ params, scrollRef: scrollParentRefProps, tokenAndPoolFilter,
|
|
5
|
+
export default function PoolList({ params, scrollRef: scrollParentRefProps, tokenAndPoolFilter, getMigrationPairAndMining, showMigrationPairAndMining, supportAMMIcon, }: {
|
|
6
6
|
params?: Page<PageType.Pool>['params'];
|
|
7
7
|
scrollRef?: React.RefObject<any>;
|
|
8
8
|
tokenAndPoolFilter?: TokenAndPoolFilterUserOptions;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
getMigrationPairAndMining?: (p: {
|
|
13
|
-
address: string;
|
|
14
|
-
chainId: number;
|
|
15
|
-
}) => void;
|
|
9
|
+
getMigrationPairAndMining?: GetMigrationPairAndMining;
|
|
10
|
+
showMigrationPairAndMining?: ShowMigrationPairAndMining;
|
|
11
|
+
supportAMMIcon?: boolean;
|
|
16
12
|
}): JSX.Element;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { OperateTab } from './hooks/usePoolOperateTabs';
|
|
2
|
-
import { OperatePool } from './types';
|
|
2
|
+
import { GetMigrationPairAndMining, OperatePool, ShowMigrationPairAndMining } from './types';
|
|
3
3
|
export interface PoolOperateInnerProps {
|
|
4
4
|
pool: OperatePool;
|
|
5
5
|
operate?: OperateTab;
|
|
6
6
|
hidePoolInfo?: boolean;
|
|
7
7
|
errorRefetch?: () => void;
|
|
8
8
|
submittedBack?: () => void;
|
|
9
|
+
getMigrationPairAndMining?: GetMigrationPairAndMining;
|
|
10
|
+
showMigrationPairAndMining?: ShowMigrationPairAndMining;
|
|
9
11
|
}
|
|
10
|
-
export default function PoolOperateInner({ pool, operate, hidePoolInfo, errorRefetch, submittedBack, }: PoolOperateInnerProps): JSX.Element;
|
|
12
|
+
export default function PoolOperateInner({ pool, operate, hidePoolInfo, errorRefetch, submittedBack, getMigrationPairAndMining, showMigrationPairAndMining, }: PoolOperateInnerProps): JSX.Element;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { OperatePool } from './types';
|
|
1
|
+
import { GetMigrationPairAndMining, OperatePool, ShowMigrationPairAndMining } from './types';
|
|
2
2
|
import { usePoolBalanceInfo } from '../hooks/usePoolBalanceInfo';
|
|
3
|
-
export declare function RemovePoolOperate({ submittedBack: submittedBackProps, onlyShowSide, pool, balanceInfo, }: {
|
|
3
|
+
export declare function RemovePoolOperate({ submittedBack: submittedBackProps, onlyShowSide, pool, balanceInfo, getMigrationPairAndMining, showMigrationPairAndMining, }: {
|
|
4
4
|
submittedBack?: () => void;
|
|
5
5
|
onlyShowSide?: 'base' | 'quote';
|
|
6
6
|
pool?: OperatePool;
|
|
7
7
|
balanceInfo: ReturnType<typeof usePoolBalanceInfo>;
|
|
8
|
+
getMigrationPairAndMining?: GetMigrationPairAndMining;
|
|
9
|
+
showMigrationPairAndMining?: ShowMigrationPairAndMining;
|
|
8
10
|
}): JSX.Element;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { OperatePool } from '../types';
|
|
3
|
-
|
|
3
|
+
import { useSlipper } from './SlippageSetting';
|
|
4
|
+
export default function Ratio({ pool, addPortion, midPrice, shareOfPool, slipper, setSlipper, canOperate, }: {
|
|
4
5
|
pool?: OperatePool;
|
|
5
6
|
addPortion?: BigNumber;
|
|
6
7
|
midPrice?: BigNumber;
|
|
7
8
|
shareOfPool?: string;
|
|
9
|
+
slipper: ReturnType<typeof useSlipper>['slipper'];
|
|
10
|
+
setSlipper: ReturnType<typeof useSlipper>['setSlipper'];
|
|
11
|
+
canOperate?: boolean;
|
|
8
12
|
}): JSX.Element;
|
|
@@ -3,7 +3,7 @@ import { AUTO_SWAP_SLIPPAGE_PROTECTION } from '../../../../constants/pool';
|
|
|
3
3
|
import { PoolType } from '@dodoex/api';
|
|
4
4
|
export declare const useSlipper: ({ address, type, }: {
|
|
5
5
|
address?: string;
|
|
6
|
-
type?:
|
|
6
|
+
type?: PoolType;
|
|
7
7
|
}) => {
|
|
8
8
|
slipper: number | "auto";
|
|
9
9
|
setSlipper: import("react").Dispatch<import("react").SetStateAction<number | "auto">>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BoxProps } from '@dodoex/components';
|
|
2
2
|
import { PoolOperateInnerProps } from './PoolOperateInner';
|
|
3
|
+
import { GetMigrationPairAndMining, ShowMigrationPairAndMining } from './types';
|
|
3
4
|
export interface PoolOperateProps {
|
|
4
5
|
onClose?: () => void;
|
|
5
6
|
account: string | undefined;
|
|
@@ -10,8 +11,10 @@ export interface PoolOperateProps {
|
|
|
10
11
|
hasMining?: boolean;
|
|
11
12
|
hidePoolInfo?: boolean;
|
|
12
13
|
sx?: BoxProps['sx'];
|
|
14
|
+
getMigrationPairAndMining?: GetMigrationPairAndMining;
|
|
15
|
+
showMigrationPairAndMining?: ShowMigrationPairAndMining;
|
|
13
16
|
}
|
|
14
|
-
export declare function PoolOperate({ onClose, pool: poolProps, address, operate, chainId, hasMining, hidePoolInfo, sx, }: PoolOperateProps): JSX.Element;
|
|
17
|
+
export declare function PoolOperate({ onClose, pool: poolProps, address, operate, chainId, hasMining, hidePoolInfo, sx, getMigrationPairAndMining, showMigrationPairAndMining, }: PoolOperateProps): JSX.Element;
|
|
15
18
|
export default function PoolOperateDialog({ modal, ...props }: PoolOperateProps & {
|
|
16
19
|
modal?: boolean;
|
|
17
20
|
}): JSX.Element;
|
|
@@ -20,3 +20,15 @@ export type OperatePool = {
|
|
|
20
20
|
lpFeeRate?: string;
|
|
21
21
|
liquidityPositions?: ExcludeNone<ExcludeNone<FetchMyLiquidityListLqList>[0]>['liquidityPositions'];
|
|
22
22
|
} | undefined;
|
|
23
|
+
export interface LiquidityMigrationInfo {
|
|
24
|
+
chainId: number;
|
|
25
|
+
miningContractAddress: string;
|
|
26
|
+
stakeTokenAddress: string;
|
|
27
|
+
newMiningContractAddress: string;
|
|
28
|
+
newStakeTokenAddress: string;
|
|
29
|
+
}
|
|
30
|
+
export type GetMigrationPairAndMining = (p: {
|
|
31
|
+
address: string;
|
|
32
|
+
chainId: number;
|
|
33
|
+
}) => LiquidityMigrationInfo | undefined;
|
|
34
|
+
export type ShowMigrationPairAndMining = (p: LiquidityMigrationInfo) => void;
|
|
@@ -9,7 +9,7 @@ export declare function useModifyDppPool({ pool, }: {
|
|
|
9
9
|
quoteToken: TokenInfo;
|
|
10
10
|
};
|
|
11
11
|
}): {
|
|
12
|
-
modifyDPPMutation: import("@tanstack/react-query").UseMutationResult<import("../../../../hooks/Submission/types").ExecutionResult, Error, {
|
|
12
|
+
modifyDPPMutation: import("@tanstack/react-query").UseMutationResult<import("../../../../hooks/Submission/types").ExecutionResult | undefined, Error, {
|
|
13
13
|
baseAmount: string;
|
|
14
14
|
quoteAmount: string;
|
|
15
15
|
isRemove?: boolean;
|
|
@@ -9,4 +9,4 @@ export declare function useAMMV2AddLiquidity({ baseToken, quoteToken, baseAmount
|
|
|
9
9
|
isExists?: boolean;
|
|
10
10
|
successBack?: () => void;
|
|
11
11
|
submittedBack?: () => void;
|
|
12
|
-
}): import("@tanstack/react-query").UseMutationResult<import("../../../hooks/Submission/types").ExecutionResult, Error, void, unknown>;
|
|
12
|
+
}): import("@tanstack/react-query").UseMutationResult<import("../../../hooks/Submission/types").ExecutionResult | undefined, Error, void, unknown>;
|
|
@@ -8,4 +8,4 @@ export declare function useAMMV2RemoveLiquidity({ baseToken, quoteToken, baseAmo
|
|
|
8
8
|
slippage: number;
|
|
9
9
|
fee: number | undefined;
|
|
10
10
|
submittedBack?: () => void;
|
|
11
|
-
}): import("@tanstack/react-query").UseMutationResult<import("../../../hooks/Submission/types").ExecutionResult, Error, void, unknown>;
|
|
11
|
+
}): import("@tanstack/react-query").UseMutationResult<import("../../../hooks/Submission/types").ExecutionResult | undefined, Error, void, unknown>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FetchMyLiquidityListLqList } from '../utils';
|
|
2
|
+
import BigNumber from 'bignumber.js';
|
|
3
|
+
export declare function usePoolListMyLiquidity({ account, lqList, }: {
|
|
4
|
+
account?: string;
|
|
5
|
+
lqList: FetchMyLiquidityListLqList;
|
|
6
|
+
}): {
|
|
7
|
+
needRealtimeBalance: boolean;
|
|
8
|
+
userLpBalanceMap: Map<string, {
|
|
9
|
+
userBaseLpBalance?: BigNumber;
|
|
10
|
+
userQuoteLpBalance?: BigNumber;
|
|
11
|
+
poolTokenPercentage?: BigNumber;
|
|
12
|
+
}>;
|
|
13
|
+
isLpLoading: boolean;
|
|
14
|
+
isPoolShareLoading: boolean;
|
|
15
|
+
};
|
package/package.json
CHANGED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<svg width="407" height="407" viewBox="0 0 407 407" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
-
<rect width="407" height="407" fill="url(#pattern0_5_6196)"/>
|
|
3
|
-
<defs>
|
|
4
|
-
<pattern id="pattern0_5_6196" patternContentUnits="objectBoundingBox" width="1" height="1">
|
|
5
|
-
<use xlink:href="#image0_5_6196" transform="scale(0.0015625)"/>
|
|
6
|
-
</pattern>
|
|
7
|
-
<image id="image0_5_6196" width="640" height="640" xlink:href="data:image/png;base64,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"/>
|
|
8
|
-
</defs>
|
|
9
|
-
</svg>
|