@dodoex/widgets 3.1.3-bartio.1 → 3.1.3-pharos.2

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.
Files changed (191) hide show
  1. package/dist/cjs/locales/en-US.js +1 -1
  2. package/dist/cjs/locales/zh-CN.js +1 -1
  3. package/dist/{helper-C48mTWX6.js → helper-BA2ADMC8.js} +1 -1
  4. package/dist/{helper-DJoFx-73.cjs → helper-Cv3dVMql.cjs} +1 -1
  5. package/dist/index-Bg3YIGnw.js +31 -0
  6. package/dist/index-C_R38uJr.cjs +31 -0
  7. package/dist/{index-BoitgUC-.cjs → index-D-CwWdfB.cjs} +1 -1
  8. package/dist/{index-92Z5vyfr.js → index-Dl7VDQnn.js} +1 -1
  9. package/dist/{index-Bst2VBXi.js → index-GuE-e5BJ.js} +1 -1
  10. package/dist/{index-B3jnm1t4.cjs → index-qHe2fLix.cjs} +1 -1
  11. package/dist/index.cjs +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/locales/en-US.js +1 -1
  14. package/dist/locales/zh-CN.js +1 -1
  15. package/dist/types/components/SelectChain.d.ts +2 -1
  16. package/dist/types/components/Swap/components/ConnectWallet/index.d.ts +1 -2
  17. package/dist/types/components/Swap/components/ReviewDialog.d.ts +1 -2
  18. package/dist/types/components/Swap/components/SwapPreviewInfoCard.d.ts +7 -0
  19. package/dist/types/components/Swap/components/SwapSettingsDialog/SlippageSetting.d.ts +2 -1
  20. package/dist/types/components/Swap/components/SwapSettingsDialog/SlippageWarning.d.ts +3 -1
  21. package/dist/types/components/Swap/components/SwapSettingsDialog/index.d.ts +2 -1
  22. package/dist/types/components/Swap/components/SwitchBox.d.ts +1 -2
  23. package/dist/types/components/Swap/components/TokenCard/NumberInput.d.ts +0 -1
  24. package/dist/types/components/Swap/components/TokenCard/index.d.ts +2 -5
  25. package/dist/types/components/Swap/index.d.ts +3 -5
  26. package/dist/types/components/TokenSelect.d.ts +1 -2
  27. package/dist/types/components/Widget/index.d.ts +1 -3
  28. package/dist/types/constants/address.d.ts +0 -1
  29. package/dist/types/hooks/Submission/types.d.ts +0 -4
  30. package/dist/types/index.d.ts +1 -3
  31. package/dist/types/providers/useInitContractRequest.d.ts +1 -2
  32. package/dist/types/router/types.d.ts +1 -2
  33. package/dist/types/utils/address.d.ts +0 -35
  34. package/dist/types/widgets/PoolWidget/AMMV2Create/Ratio.d.ts +4 -1
  35. package/dist/types/widgets/PoolWidget/PoolCreate/components/BaseInfoCardList.d.ts +2 -1
  36. package/dist/types/widgets/PoolWidget/PoolCreate/components/FeeRateCard.d.ts +2 -1
  37. package/dist/types/widgets/PoolWidget/PoolCreate/components/LqRatioSet.d.ts +2 -1
  38. package/dist/types/widgets/PoolWidget/PoolCreate/components/LqSettingsShow.d.ts +2 -1
  39. package/dist/types/widgets/PoolWidget/PoolCreate/components/PriceModeCard.d.ts +2 -1
  40. package/dist/types/widgets/PoolWidget/PoolCreate/components/VersionChartExample.d.ts +2 -1
  41. package/dist/types/widgets/PoolWidget/PoolCreate/components/widgets.d.ts +2 -1
  42. package/dist/types/widgets/PoolWidget/PoolCreate/hooks/usePriceInit.d.ts +2 -1
  43. package/dist/types/widgets/PoolWidget/PoolCreate/index.d.ts +3 -1
  44. package/dist/types/widgets/PoolWidget/PoolDetail/components/MoreDetail/index.d.ts +2 -1
  45. package/dist/types/widgets/PoolWidget/PoolDetail/components/Overview.d.ts +2 -1
  46. package/dist/types/widgets/PoolWidget/PoolDetail/components/TotalLiquidity.d.ts +2 -1
  47. package/dist/types/widgets/PoolWidget/PoolDetail/index.d.ts +2 -1
  48. package/dist/types/widgets/PoolWidget/PoolList/AddLiquidity.d.ts +4 -5
  49. package/dist/types/widgets/PoolWidget/PoolList/MyCreated.d.ts +2 -1
  50. package/dist/types/widgets/PoolWidget/PoolList/MyLiquidity.d.ts +4 -5
  51. package/dist/types/widgets/PoolWidget/PoolList/index.d.ts +5 -9
  52. package/dist/types/widgets/PoolWidget/PoolModify/index.d.ts +2 -1
  53. package/dist/types/widgets/PoolWidget/PoolOperate/PoolOperateInner.d.ts +4 -2
  54. package/dist/types/widgets/PoolWidget/PoolOperate/RemovePoolOperate.d.ts +4 -2
  55. package/dist/types/widgets/PoolWidget/PoolOperate/components/Ratio.d.ts +5 -1
  56. package/dist/types/widgets/PoolWidget/PoolOperate/components/SlippageSetting.d.ts +1 -1
  57. package/dist/types/widgets/PoolWidget/PoolOperate/index.d.ts +4 -1
  58. package/dist/types/widgets/PoolWidget/PoolOperate/types.d.ts +12 -0
  59. package/package.json +6 -5
  60. package/dist/e4364db573253fd1.svg +0 -9
  61. package/dist/index-BFUc9LPV.cjs +0 -67
  62. package/dist/index-Ig-Pm33B.js +0 -67
  63. package/dist/types/hooks/usePoolTokenSort.d.ts +0 -24
  64. package/dist/types/utils/fractions/fraction.d.ts +0 -24
  65. package/dist/types/utils/fractions/index.d.ts +0 -3
  66. package/dist/types/utils/fractions/percent.d.ts +0 -14
  67. package/dist/types/utils/fractions/price.d.ts +0 -29
  68. package/dist/types/utils/fractions/types.d.ts +0 -7
  69. package/dist/types/widgets/PoolWidget/AMMV2Create/Setting.d.ts +0 -16
  70. package/dist/types/widgets/PoolWidget/Algebra/AddLiquidity.d.ts +0 -14
  71. package/dist/types/widgets/PoolWidget/Algebra/AlgebraPositionManage.d.ts +0 -11
  72. package/dist/types/widgets/PoolWidget/Algebra/components/Badge/RangeBadge.d.ts +0 -4
  73. package/dist/types/widgets/PoolWidget/Algebra/components/ClaimButton.d.ts +0 -9
  74. package/dist/types/widgets/PoolWidget/Algebra/components/InRangeDot.d.ts +0 -4
  75. package/dist/types/widgets/PoolWidget/Algebra/components/InputStepCounter.d.ts +0 -17
  76. package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/Area.d.ts +0 -10
  77. package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/AxisBottom.d.ts +0 -6
  78. package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/Brush.d.ts +0 -13
  79. package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/Chart.d.ts +0 -2
  80. package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/Line.d.ts +0 -6
  81. package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/Zoom.d.ts +0 -12
  82. package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/index.d.ts +0 -19
  83. package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/svg.d.ts +0 -22
  84. package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/types.d.ts +0 -50
  85. package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/usePrevious.d.ts +0 -1
  86. package/dist/types/widgets/PoolWidget/Algebra/components/LiquidityChartRangeInput/utils.d.ts +0 -14
  87. package/dist/types/widgets/PoolWidget/Algebra/components/MyLiquidity.d.ts +0 -10
  88. package/dist/types/widgets/PoolWidget/Algebra/components/PositionPreview.d.ts +0 -15
  89. package/dist/types/widgets/PoolWidget/Algebra/components/PositionSelectedRangePreview.d.ts +0 -12
  90. package/dist/types/widgets/PoolWidget/Algebra/components/RangeSelector.d.ts +0 -21
  91. package/dist/types/widgets/PoolWidget/Algebra/components/RateToggle.d.ts +0 -9
  92. package/dist/types/widgets/PoolWidget/Algebra/components/RemoveButton.d.ts +0 -11
  93. package/dist/types/widgets/PoolWidget/Algebra/components/ReviewModal.d.ts +0 -19
  94. package/dist/types/widgets/PoolWidget/Algebra/components/TokenAndEtherscan.d.ts +0 -4
  95. package/dist/types/widgets/PoolWidget/Algebra/components/TokenPairSelect.d.ts +0 -7
  96. package/dist/types/widgets/PoolWidget/Algebra/components/shared.d.ts +0 -4
  97. package/dist/types/widgets/PoolWidget/Algebra/components/widgets.d.ts +0 -56
  98. package/dist/types/widgets/PoolWidget/Algebra/constants/misc.d.ts +0 -17
  99. package/dist/types/widgets/PoolWidget/Algebra/hooks/useAddAlgebraLiquidity.d.ts +0 -15
  100. package/dist/types/widgets/PoolWidget/Algebra/hooks/useAlgebraAmounts.d.ts +0 -19
  101. package/dist/types/widgets/PoolWidget/Algebra/hooks/useAlgebraPair.d.ts +0 -59
  102. package/dist/types/widgets/PoolWidget/Algebra/hooks/useAlgebraPositionFees.d.ts +0 -13
  103. package/dist/types/widgets/PoolWidget/Algebra/hooks/useClaimAlgebraFees.d.ts +0 -12
  104. package/dist/types/widgets/PoolWidget/Algebra/hooks/useContract.d.ts +0 -2
  105. package/dist/types/widgets/PoolWidget/Algebra/hooks/useFetchPositionFromTokenId.d.ts +0 -295
  106. package/dist/types/widgets/PoolWidget/Algebra/hooks/useFetchPositions.d.ts +0 -23
  107. package/dist/types/widgets/PoolWidget/Algebra/hooks/usePoolActiveLiquidityChartData.d.ts +0 -37
  108. package/dist/types/widgets/PoolWidget/Algebra/hooks/usePools.d.ts +0 -22
  109. package/dist/types/widgets/PoolWidget/Algebra/hooks/useRemoveAlgebraLiquidity.d.ts +0 -14
  110. package/dist/types/widgets/PoolWidget/Algebra/hooks/useSetRange.d.ts +0 -32
  111. package/dist/types/widgets/PoolWidget/Algebra/hooks/useSwapTaxes.d.ts +0 -5
  112. package/dist/types/widgets/PoolWidget/Algebra/hooks/useV3MintActionHandlers.d.ts +0 -11
  113. package/dist/types/widgets/PoolWidget/Algebra/hooks/useV3PositionFees.d.ts +0 -8
  114. package/dist/types/widgets/PoolWidget/Algebra/hooks/useV3Positions.d.ts +0 -13
  115. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/addresses.d.ts +0 -12
  116. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/chains.d.ts +0 -4
  117. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/constants.d.ts +0 -12
  118. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/baseCurrency.d.ts +0 -49
  119. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/currency.d.ts +0 -3
  120. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/fractions/currencyAmount.d.ts +0 -32
  121. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/fractions/fraction.d.ts +0 -24
  122. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/fractions/index.d.ts +0 -4
  123. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/fractions/percent.d.ts +0 -14
  124. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/fractions/price.d.ts +0 -38
  125. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/index.d.ts +0 -4
  126. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/nativeCurrency.d.ts +0 -16
  127. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/nativeCurrencyClass.d.ts +0 -8
  128. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/entities/token.d.ts +0 -48
  129. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/index.d.ts +0 -5
  130. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/utils/computePriceImpact.d.ts +0 -8
  131. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/utils/index.d.ts +0 -4
  132. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/utils/sortedInsert.d.ts +0 -1
  133. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/utils/sqrt.d.ts +0 -7
  134. package/dist/types/widgets/PoolWidget/Algebra/sdks/sdk-core/utils/validateAndParseAddress.d.ts +0 -10
  135. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/constants.d.ts +0 -23
  136. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/index.d.ts +0 -7
  137. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/pool.d.ts +0 -81
  138. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/position.d.ts +0 -131
  139. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/route.d.ts +0 -26
  140. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/tick.d.ts +0 -13
  141. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/tickDataProvider.d.ts +0 -31
  142. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/tickListDataProvider.d.ts +0 -15
  143. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/entities/trade.d.ts +0 -220
  144. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/index.d.ts +0 -10
  145. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/internalConstants.d.ts +0 -6
  146. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/multicall.d.ts +0 -10
  147. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/nonfungiblePositionManager.d.ts +0 -159
  148. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/payments.d.ts +0 -24
  149. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/quoter.d.ts +0 -37
  150. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/selfPermit.d.ts +0 -25
  151. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/staker.d.ts +0 -101
  152. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/swapRouter.d.ts +0 -51
  153. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/calldata.d.ts +0 -20
  154. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/computePoolAddress.d.ts +0 -21
  155. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/encodeRouteToPath.d.ts +0 -8
  156. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/encodeSqrtRatioX96.d.ts +0 -9
  157. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/fullMath.d.ts +0 -8
  158. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/index.d.ts +0 -18
  159. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/isSorted.d.ts +0 -7
  160. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/liquidityMath.d.ts +0 -8
  161. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/maxLiquidityForAmounts.d.ts +0 -14
  162. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/mostSignificantBit.d.ts +0 -2
  163. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/nearestUsableTick.d.ts +0 -6
  164. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/position.d.ts +0 -8
  165. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/priceTickConversions.d.ts +0 -15
  166. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/sqrtPriceMath.d.ts +0 -13
  167. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/swapMath.d.ts +0 -9
  168. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/tickLibrary.d.ts +0 -14
  169. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/tickList.d.ts +0 -23
  170. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/tickMath.d.ts +0 -34
  171. package/dist/types/widgets/PoolWidget/Algebra/sdks/v3-sdk/utils/v3swap.d.ts +0 -8
  172. package/dist/types/widgets/PoolWidget/Algebra/types/position.d.ts +0 -18
  173. package/dist/types/widgets/PoolWidget/Algebra/types.d.ts +0 -10
  174. package/dist/types/widgets/PoolWidget/Algebra/utils/calldata.d.ts +0 -7
  175. package/dist/types/widgets/PoolWidget/Algebra/utils/computeSurroundingTicks.d.ts +0 -4
  176. package/dist/types/widgets/PoolWidget/Algebra/utils/constants.d.ts +0 -7
  177. package/dist/types/widgets/PoolWidget/Algebra/utils/encodeSqrtRatioX96.d.ts +0 -9
  178. package/dist/types/widgets/PoolWidget/Algebra/utils/formatTickPrice.d.ts +0 -1
  179. package/dist/types/widgets/PoolWidget/Algebra/utils/fullMath.d.ts +0 -8
  180. package/dist/types/widgets/PoolWidget/Algebra/utils/getPositionAmount.d.ts +0 -37
  181. package/dist/types/widgets/PoolWidget/Algebra/utils/getPositionAmountWithSlippage.d.ts +0 -23
  182. package/dist/types/widgets/PoolWidget/Algebra/utils/getTickToPrice.d.ts +0 -10
  183. package/dist/types/widgets/PoolWidget/Algebra/utils/maxLiquidityForAmounts.d.ts +0 -22
  184. package/dist/types/widgets/PoolWidget/Algebra/utils/mostSignificantBit.d.ts +0 -2
  185. package/dist/types/widgets/PoolWidget/Algebra/utils/nearestUsableTick.d.ts +0 -6
  186. package/dist/types/widgets/PoolWidget/Algebra/utils/slippage.d.ts +0 -3
  187. package/dist/types/widgets/PoolWidget/Algebra/utils/sqrt.d.ts +0 -7
  188. package/dist/types/widgets/PoolWidget/Algebra/utils/sqrtPriceMath.d.ts +0 -13
  189. package/dist/types/widgets/PoolWidget/Algebra/utils/tickMath.d.ts +0 -34
  190. package/dist/types/widgets/PoolWidget/Algebra/utils/tryParseTick.d.ts +0 -4
  191. package/dist/types/widgets/PoolWidget/Algebra/utils.d.ts +0 -9
@@ -32,6 +32,7 @@ export interface WidgetProps extends Web3ConnectorsProps, InitTokenListProps, Ex
32
32
  noPowerBy?: boolean;
33
33
  noDocumentLink?: boolean;
34
34
  onlyChainId?: ChainId;
35
+ supportChainIds?: number[];
35
36
  noUI?: boolean;
36
37
  noLangProvider?: boolean;
37
38
  noAutoConnect?: boolean;
@@ -46,10 +47,7 @@ export interface WidgetProps extends Web3ConnectorsProps, InitTokenListProps, Ex
46
47
  /** When the winding status changes, no pop-up window will be displayed. */
47
48
  noSubmissionDialog?: boolean;
48
49
  onProviderChanged?: (provider?: any) => void;
49
- onAccountChanged?: (account?: string) => void;
50
50
  getStaticJsonRpcProviderByChainId?: Exclude<ConstructorParameters<typeof ContractRequests>[0], undefined>['getProvider'];
51
- setOpenConnectWalletFC?: (fc: () => void) => void;
52
- setDisconnectConnectFC?: (fc: () => void) => void;
53
51
  widgetRef?: React.RefObject<HTMLDivElement>;
54
52
  /** If true is returned, the default wallet connection logic will not be executed */
55
53
  onConnectWalletClick?: () => boolean | Promise<boolean>;
@@ -1,2 +1 @@
1
1
  export declare const EmptyAddress = "0x0000000000000000000000000000000000000000";
2
- export declare const ADDRESS_ZERO = "0x0000000000000000000000000000000000000000";
@@ -22,10 +22,6 @@ export declare enum MetadataFlag {
22
22
  addAMMV3Pool = "addAMMV3Pool",
23
23
  removeAMMV3Pool = "removeAMMV3Pool",
24
24
  claimAMMV3Pool = "claimAMMV3Pool",
25
- createAlgebraPool = "createAlgebraPool",
26
- addAlgebraPool = "addAlgebraPool",
27
- removeAlgebraPool = "removeAlgebraPool",
28
- claimAlgebraPool = "claimAlgebraPool",
29
25
  stakeMining = "stakeMining",
30
26
  unstakeMining = "unstakeMining",
31
27
  claimMining = "claimMining",
@@ -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, ALGEBRA_POOL_DEPLOYER_ADDRESSES, ALGEBRA_POOL_INIT_CODE_HASH, } from './utils/address';
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
- import { ContractRequests } from '@dodoex/contract-request';
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,7 @@ 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({ status, selectedVersion, baseToken, quoteToken, initPrice, slippageCoefficient, midPrice, sx, cardBg, }: {
6
6
  status: SectionStatusT;
7
7
  selectedVersion: StateProps['selectedVersion'];
8
8
  baseToken: StateProps['baseToken'];
@@ -11,4 +11,5 @@ export declare function BaseInfoCardList({ status, selectedVersion, baseToken, q
11
11
  slippageCoefficient: StateProps['slippageCoefficient'];
12
12
  midPrice: BigNumber | undefined;
13
13
  sx?: BoxProps['sx'];
14
+ cardBg: string;
14
15
  }): 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,6 @@
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({ status, selectedVersion, baseToken, quoteToken, initPrice, slippageCoefficient, baseAmount, quoteAmount, cardBg, }: {
4
4
  status: SectionStatusT;
5
5
  selectedVersion: StateProps['selectedVersion'];
6
6
  baseToken: StateProps['baseToken'];
@@ -9,4 +9,5 @@ export declare function LqSettingsShow({ status, selectedVersion, baseToken, quo
9
9
  slippageCoefficient: StateProps['slippageCoefficient'];
10
10
  baseAmount: StateProps['baseAmount'];
11
11
  quoteAmount: StateProps['quoteAmount'];
12
+ cardBg: string;
12
13
  }): JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import { StateProps } from '../reducer';
2
- export declare function PriceModeCard({ isWaiting, selectedSubPeggedVersion, }: {
2
+ export declare function PriceModeCard({ isWaiting, selectedSubPeggedVersion, cardBg, }: {
3
3
  isWaiting: boolean;
4
4
  selectedSubPeggedVersion: StateProps['selectedSubPeggedVersion'];
5
+ cardBg: string;
5
6
  }): 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 +1,3 @@
1
- export default function PoolCreate(): JSX.Element;
1
+ export default function PoolCreate({ cardMode }: {
2
+ cardMode?: boolean;
3
+ }): 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;
@@ -1,4 +1,5 @@
1
1
  import { Page, PageType } from '../../../router/types';
2
- export default function PoolDetail({ params, }: {
2
+ export default function PoolDetail({ params, cardMode, }: {
3
3
  params: Page<PageType.PoolDetail>['params'];
4
+ cardMode?: boolean;
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
- export default function AddLiquidityList({ scrollParentRef, filterChainIds, activeChainId, handleChangeActiveChainId, operatePool, setOperatePool, tokenAndPoolFilter, getMigrationPairAndMining, }: {
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?: (p: {
15
- address: string;
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
- export default function MyLiquidity({ account, filterChainIds, activeChainId, handleChangeActiveChainId, operatePool, setOperatePool, getMigrationPairAndMining, tokenAndPoolFilter, }: {
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?: (p: {
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 { PoolOperateProps } from '../PoolOperate';
4
3
  import { TokenAndPoolFilterUserOptions } from './hooks/usePoolListFilterTokenAndPool';
5
- export default function PoolList({ params, scrollRef: scrollParentRefProps, tokenAndPoolFilter, operatePMMPoolElement, operatePool: operatePoolProps, onOperatePool, getMigrationPairAndMining, }: {
4
+ import { GetMigrationPairAndMining, ShowMigrationPairAndMining } from '../PoolOperate/types';
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
- operatePMMPoolElement?: React.ReactElement;
10
- operatePool?: Partial<PoolOperateProps> | null;
11
- onOperatePool?: (pool: Partial<PoolOperateProps> | null) => boolean;
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,4 +1,5 @@
1
1
  import { Page, PageType } from '../../../router/types';
2
- export default function PoolModify({ params, }: {
2
+ export default function PoolModify({ params, cardMode, }: {
3
3
  params: Page<PageType.PoolDetail>['params'];
4
+ cardMode?: boolean;
4
5
  }): 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
- export default function Ratio({ pool, addPortion, midPrice, shareOfPool, }: {
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?: "AMMV2" | "AMMV3";
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dodoex/widgets",
3
- "version": "3.1.3-bartio.1",
3
+ "version": "3.1.3-pharos.2",
4
4
  "description": "DODO Widgets",
5
5
  "source": "src/index.tsx",
6
6
  "types": "dist/types/index.d.ts",
@@ -58,10 +58,10 @@
58
58
  },
59
59
  "dependencies": {
60
60
  "@babel/runtime": "^7.17.0",
61
- "@dodoex/api": "3.0.3-bartio.5",
62
- "@dodoex/components": "3.0.3",
61
+ "@dodoex/api": "3.0.3-pharos.5",
62
+ "@dodoex/components": "3.0.9",
63
63
  "@dodoex/contract-request": "^1.3.0",
64
- "@dodoex/dodo-contract-request": "1.12.0-alpha.2",
64
+ "@dodoex/dodo-contract-request": "1.18.0",
65
65
  "@dodoex/icons": "^2.0.2",
66
66
  "@emotion/react": "^11.10.0",
67
67
  "@emotion/styled": "^11.10.0",
@@ -139,6 +139,7 @@
139
139
  "babel-runtime": "^6.26.0",
140
140
  "dotenv": "^16.0.2",
141
141
  "ethers": "^5.7.1",
142
+ "gettext-parser": "^8.0.0",
142
143
  "hardhat": "^2.22.13",
143
144
  "identity-obj-proxy": "^3.0.0",
144
145
  "jest": "^29.0.3",
@@ -152,4 +153,4 @@
152
153
  "ts-jest": "^29.0.1",
153
154
  "typescript": "^5.6.3"
154
155
  }
155
- }
156
+ }
@@ -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>