pancake-frontend
pancake-frontend copied to clipboard
feat: Swap widget
PR-Codex overview
This PR introduces various updates to the Swap
package, including adding new interfaces, hooks, components, and configurations related to swapping functionalities.
Detailed summary
- Added
Block
interface intypes.ts
- Added
SettingsMode
enum intypes.ts
- Added
useSessionChainId
hook - Added
SwapWidget
component - Added multiple components and hooks related to V3Swap
- Added
currencyId
utility function - Added
useAllowRecipient
hook - Added
useIsWrapping
hook - Added
useUserChart
hook - Added
useIsMMSupportChain
hook - Added
safeGetAddress
utility function - Added
useStableSwapPairs
function - Added
useUserShowTestnet
hook - Added enums and types related to ConfirmModalState
- Added
erc20Bytes32ABI
constant - Added
FormContainer
component - Added
ETH_WARNING_LIST
constant - Added styled components for SwapContainer and InputCurrencyWrapper
- Added
useCurrentBlockTimestamp
hook - Updated
tsup.config.ts
- Added
useNativeCurrency
hook - Added
getTokenAddress
utility function - Added styled component for
AdvancedDetailsFooter
- Added
useAccountActiveChain
hook
The following files were skipped due to too many changes:
packages/swap/src/hooks/useAccountActiveChain.ts
,packages/swap/src/utils/addressHelpers.ts
,packages/swap/src/state/types.ts
,packages/swap/src/utils/errors.ts
,packages/swap/src/utils/requestWithTimeout.ts
,packages/swap/tsconfig.json
,packages/swap/src/state/multicall/chunkArray.ts
,packages/swap/src/view/V3Swap/hooks/useSlippageAdjustedAmounts.ts
,packages/swap/src/view/components/SwapWarningModal/56/GalaWarning.tsx
,packages/swap/src/view/components/SwapWarningModal/56/ABNBWarning.tsx
,packages/swap/src/view/components/SwapWarningModal/56/FREEWarning.tsx
,packages/swap/src/view/V3Swap/hooks/useRouterAddress.ts
,packages/swap/src/view/V3Swap/containers/RiskCheck.tsx
,packages/swap/src/config/abi/revenueSharingPoolGateway.ts
,packages/swap/src/view/components/FormattedPriceImpact.tsx
,packages/swap/src/view/components/SwapWarningModal/56/ItamWarning.tsx
,packages/swap/src/view/V3Swap/hooks/useIsWrapping.ts
,packages/swap/src/Menu/hooks/usePotteryStatus.ts
,packages/swap/src/view/V3Swap/containers/FormHeader.tsx
,packages/swap/src/Menu/GlobalSettings/index.tsx
,packages/swap/src/state/queries/getDerivedPrices.ts
,packages/swap/src/utils/isUserRejected.ts
,packages/swap/src/swap.tsx
,packages/swap/src/utils/node/pokt.ts
,packages/swap/src/utils/maxAmountSpend.ts
,packages/swap/src/hooks/useCurrencyUsdPrice.ts
,packages/swap/src/utils/contractHelpers.ts
,packages/swap/src/Menu/UserMenu/ClaimYourNFT.tsx
,packages/swap/src/view/MMLinkPools/components/MMSlippageTolerance.tsx
,packages/swap/src/utils/batcher.ts
,packages/swap/src/view/components/SwapWarningModal/56/CcarWarning.tsx
,packages/swap/src/state/user/hooks/useUserAddedTokens.ts
,packages/swap/src/view/hooks/useCanBuyCrypto.ts
,packages/swap/src/view/MMLinkPools/hooks/useMMParam.ts
,packages/swap/src/view/components/SwapWarningModal/56/LUSDWarning.tsx
,packages/swap/src/view/components/SwapWarningModal/56/METISWarning.tsx
,packages/swap/src/Menu/hooks/useCompetitionStatus.ts
,packages/swap/src/view/components/SwapWarningModal/56/BTTWarning.tsx
,packages/swap/src/view/hooks/useEstimatedAmount.ts
,packages/swap/src/Menu/hooks/useTradingRewardStatus.ts
,packages/swap/src/view/hooks/useRefreshBlockNumber.ts
,packages/swap/src/view/components/SwapRoute.tsx
,packages/swap/src/view/components/SwapWarningModal/1/ALETHWarning.tsx
,packages/swap/src/utils/client.ts
,packages/swap/src/view/components/CommitButton.tsx
,packages/swap/src/view/MMLinkPools/hooks/useMMQuoteCountDown.ts
,packages/swap/src/view/components/SwapWarningModal/56/SafemoonWarning.tsx
,packages/swap/src/view/V3Swap/containers/BuyCryptoLink.tsx
,packages/swap/src/view/components/SwapWarningModal/Acknowledgement.tsx
,packages/swap/src/hooks/useTransactionDeadline.ts
,packages/swap/src/Menu/hooks/useMenuItemsStatus.ts
,packages/swap/src/utils/node/nodeReal.ts
,packages/swap/src/view/components/SwapWarningModal/56/XCADWarning.tsx
,packages/swap/src/hooks/useGetENSAddressByName.ts
,packages/swap/src/Menu/UserMenu/WalletUserMenuItem.tsx
,packages/swap/src/Menu/utils.ts
,packages/swap/src/config/abi/bCakeFarmBoosterProxyFactory.ts
,packages/swap/src/view/components/ConfirmSwapModalContainer.tsx
,packages/swap/src/state/actions.ts
,packages/swap/src/config/constants/index.ts
,packages/swap/src/hooks/useMulticallGasLimit.ts
,packages/swap/src/utils/getBlockExplorerLink.ts
,packages/swap/src/hooks/useWorker.ts
,packages/swap/src/state/fetch/fetchBestPriceWithRouter.ts
,packages/swap/src/Widget.tsx
,packages/swap/src/view/V3Swap/hooks/useParsedAmounts.ts
,packages/swap/src/view/V3Swap/containers/Recipient.tsx
,packages/swap/src/Menu/hooks/useVotingStatus.ts
,packages/swap/src/view/V3Swap/hooks/useCheckSufficient.ts
,packages/swap/src/Menu/UserMenu/ProfileUserMenuItem.tsx
,packages/swap/src/view/MMLinkPools/constants.ts
,packages/swap/src/constants/locales.ts
,packages/swap/src/hooks/useTokenAllowance.ts
,packages/swap/src/view/V3Swap/containers/PricingAndSlippage.tsx
,packages/swap/src/Menu/UserMenu/WalletWrongNetwork.tsx
,packages/swap/src/utils/infoQueryHelpers.ts
,packages/swap/src/Menu/hooks/useIfoStatus.ts
,packages/swap/src/state/normalizers.ts
,packages/swap/src/utils/viem.ts
,packages/swap/src/state/useSwapActionHandlers.ts
,packages/swap/src/view/components/SwapTransactionErrorContent.tsx
,packages/swap/src/state/transactions/actions.ts
,packages/swap/src/hooks/useActiveChainId.ts
,packages/swap/src/view/V3Swap/containers/FlipButton.tsx
,packages/swap/src/state/user/smartRouter.ts
,packages/swap/src/view/components/SwapWarningModal/index.tsx
,packages/swap/package.json
,packages/swap/src/view/components/SwapWarningModal/56/index.tsx
,packages/swap/src/hooks/useContract.ts
,packages/swap/src/state/multicall/retry.ts
,packages/swap/src/view/hooks/useTradingRewardTokenList.tsx
,packages/swap/src/view/MMLinkPools/hooks/useMMTradeInfo.ts
,packages/swap/src/state/multicall/actions.ts
,packages/swap/src/Menu/GlobalSettings/GasSettings.tsx
,packages/swap/src/config/chains.ts
,packages/swap/src/config/abi/stableSwapNativeHelper.ts
,packages/swap/src/view/V3Swap/hooks/useSwapBestTrade.ts
,packages/swap/src/Menu/GlobalSettings/WebNotiToggle.tsx
,packages/swap/src/Menu/UserMenu/WalletTransactions.tsx
,packages/swap/src/view/V3Swap/index.tsx
,packages/swap/src/config/abi/bCakeProxy.ts
,packages/swap/src/hooks/useV2Pools.ts
,packages/swap/src/view/components/ProgressSteps.tsx
,packages/swap/src/config/pools.ts
,packages/swap/src/view/MMLinkPools/hooks/useIsMMTradeBetter.tsx
,packages/swap/src/utils/worker.ts
,packages/swap/src/view/V3Swap/components/RoutesBreakdown.tsx
,packages/swap/src/Menu/UserMenu/TransactionRow.tsx
,packages/swap/src/view/V3Swap/containers/TradeDetails.tsx
,packages/swap/src/utils/index.ts
,packages/swap/src/view/MMLinkPools/apis/index.ts
,packages/swap/src/state/index.ts
,packages/swap/src/view/MMLinkPools/hooks/useIsMMQuotingPair.ts
,packages/swap/src/view/components/styleds.tsx
,packages/swap/src/view/SwapFeaturesContext.tsx
,packages/swap/src/config/abi/pointCenterIfo.ts
,packages/swap/src/state/user/actions.ts
,packages/swap/src/state/transactions/reducer.ts
,packages/swap/src/state/multicall/fetchChunk.ts
,packages/swap/src/view/MMLinkPools/types.ts
,packages/swap/src/utils/getBlocksFromTimestamps.ts
,packages/swap/src/view/MMLinkPools/hooks/useSwapCallArguments.ts
,packages/swap/src/view/hooks/useWarningImport.tsx
,packages/swap/src/utils/graphql.ts
,packages/swap/src/Menu/UserMenu/WalletModal.tsx
,packages/swap/src/hooks/usePoolsOnChain.ts
,packages/swap/src/view/V3Swap/hooks/useSwapInputError.ts
,packages/swap/src/config/abi/Quoter.json
,packages/swap/src/config/abi/weth.ts
,packages/swap/src/view/V3Swap/containers/ApproveStepFlow.tsx
,packages/swap/src/view/V3Swap/containers/MMCommitButton.tsx
,packages/swap/src/state/useLPApr.ts
,packages/swap/src/hooks/useCommonPools.ts
,packages/swap/src/Menu/hooks/useMenuItems.ts
,packages/swap/src/state/reducer.ts
,packages/swap/src/Menu/index.tsx
,packages/swap/src/view/V3Swap/hooks/useSwapCallback.ts
,packages/swap/src/state/transactions/updater.tsx
,packages/swap/src/config/abi/v3Airdrop.ts
,packages/swap/src/view/V3Swap/hooks/useSwapCallArguments.ts
,packages/swap/src/state/block/hooks.ts
,packages/swap/src/hooks/useCallWithGasPrice.ts
,packages/swap/src/config/abi/v3PoolState.ts
,packages/swap/src/view/MMLinkPools/hooks/useDerivedSwapInfoWithMM.ts
,packages/swap/src/state/multicall/reducer.ts
,packages/swap/src/view/hooks/useStableConfig.ts
,packages/swap/src/config/constants/endpoints.ts
,packages/swap/src/view/hooks/Tokens.ts
,packages/swap/src/utils/wagmi.ts
,packages/swap/src/view/V3Swap/utils/exchange.ts
,packages/swap/src/view/components/AddressInputPanel.tsx
,packages/swap/src/config/abi/SIDResolver.ts
,packages/swap/src/config/abi/anniversaryAchievement.ts
,packages/swap/src/view/components/RouterViewer.tsx
,packages/swap/src/hooks/useWrapCallback.ts
,packages/swap/src/config/constants/info.ts
,packages/swap/src/utils/exchange.ts
,packages/swap/src/hooks/useV3Pools.ts
,packages/swap/src/config/abi/Multicall.ts
,packages/swap/src/config/abi/stableLP.ts
,packages/swap/src/config/abi/bunnyFactory.ts
,packages/swap/src/config/abi/ifoV1.ts
,packages/swap/src/config/abi/QuoterV2.json
,packages/swap/src/view/V3Swap/components/RouteDisplayModal.tsx
,packages/swap/src/view/MMLinkPools/hooks/useGetRFQTrade.ts
,packages/swap/src/Menu/UserMenu/index.tsx
,packages/swap/src/config/abi/infoStableSwap.ts
,packages/swap/src/config/abi/v3Migrator.ts
,packages/swap/src/Menu/UserMenu/hooks/useCakeBenefits.ts
,packages/swap/src/config/abi/pancakeSwapSmartRouter.json
,packages/swap/src/config/abi/SID.ts
,packages/swap/src/view/index.tsx
,packages/swap/src/view/components/SwapModalHeader.tsx
,packages/swap/src/view/V3Swap/components/TransactionConfirmSwapContent.tsx
,packages/swap/src/Menu/GlobalSettings/TransactionSettings.tsx
,packages/swap/src/Menu/config/config.ts
,packages/swap/src/config/abi/crossFarmingProxy.ts
,packages/swap/src/wallet/hooks.ts
,packages/swap/src/config/abi/vCake.ts
,packages/swap/src/view/V3Swap/containers/FormMain.tsx
,packages/swap/src/view/V3Swap/hooks/useConfirmModalState.tsx
,packages/swap/src/config/nodes.ts
,packages/swap/src/state/transactions/hooks.tsx
,packages/swap/src/view/components/AdvancedSwapDetails.tsx
,packages/swap/src/state/fetch/fetchDerivedPriceData.ts
,packages/swap/src/state/multicall/updater.tsx
,packages/swap/src/config/abi/chainlinkOracle.ts
,packages/swap/src/config/abi/mmLinkedPool.ts
,packages/swap/src/view/MMLinkPools/hooks/useSwapCallback.ts
,packages/swap/src/hooks/useApproveCallback.ts
,packages/swap/src/view/MMLinkPools/utils/exchange.ts
,packages/swap/src/config/abi/tradingCompetitionEaster.ts
,packages/swap/src/view/components/CurrencyInputHeader.tsx
,packages/swap/src/config/abi/revenueSharingPool.ts
,packages/swap/src/config/abi/bCakeFarmBooster.ts
,packages/swap/src/config/abi/ifoV2.ts
,packages/swap/src/state/user/reducer.ts
,packages/swap/src/view/V3Swap/components/SwapModalFooter.tsx
,packages/swap/src/view/MMLinkPools/hooks/useMMOrderBookTrade.ts
,packages/swap/src/view/V3Swap/containers/ConfirmSwapModal.tsx
,packages/swap/src/config/abi/tradingCompetitionMoD.ts
,packages/swap/src/view/MMLinkPools/components/MMCommitButton.tsx
,packages/swap/src/config/abi/affiliateProgram.ts
,packages/swap/src/view/V3Swap/hooks/useSendSwapTransaction.ts
,packages/swap/src/Menu/UserMenu/WalletInfo.tsx
,packages/swap/src/config/constants/contracts.ts
,packages/swap/src/config/abi/pancakeBunnies.ts
,packages/swap/src/config/constants/exchange.ts
,packages/swap/src/config/abi/pancakeSquad.ts
,packages/swap/src/config/abi/erc721collection.ts
,packages/swap/src/config/abi/zap.ts
,packages/swap/src/config/abi/lpTokenAbi.ts
,packages/swap/src/config/abi/crossFarmingReceiver.ts
,packages/swap/src/hooks/Trades.ts
,packages/swap/src/view/components/CurrencyInputPanel/index.tsx
,packages/swap/src/view/V3Swap/hooks/useWallchain.ts
,packages/swap/src/config/abi/tradingCompetitionFanToken.ts
,packages/swap/src/config/abi/revenueSharingPoolProxy.ts
,packages/swap/src/config/abi/tradingCompetitionMobox.ts
,packages/swap/src/config/abi/farmAuction.ts
,packages/swap/src/config/abi/AngleProtocolDistributor.ts
,packages/swap/src/config/abi/potteryDrawAbi.ts
,packages/swap/src/state/hooks.ts
,packages/swap/src/state/multicall/hooks.ts
,packages/swap/src/config/abi/nonBscVault.ts
,packages/swap/src/config/abi/crossFarmingSender.ts
,packages/swap/src/config/abi/nftSale.ts
,packages/swap/src/config/abi/unwrappedEth.ts
,pnpm-lock.yaml
,packages/swap/src/view/V3Swap/containers/SwapCommitButton.tsx
,packages/swap/src/config/abi/lotteryV2.ts
,packages/swap/src/hooks/useBestAMMTrade.ts
,packages/swap/src/config/abi/IPancakeRouter02.ts
,packages/swap/src/config/abi/masterchefV2.ts
,packages/swap/src/Menu/GlobalSettings/SettingsModal.tsx
,packages/swap/src/config/abi/pancakeProfile.ts
,packages/swap/src/config/abi/potteryVaultAbi.ts
,packages/swap/src/config/abi/stableSwapAbi.ts
,packages/swap/src/config/abi/nftMarket.ts
,packages/swap/src/state/user/hooks/index.tsx
,packages/swap/src/config/abi/tradingReward.ts
,packages/swap/src/config/abi/fixedStaking.ts
,packages/swap/src/config/abi/snBNB.ts
,packages/swap/src/config/abi/ifoV3.ts
,packages/swap/src/config/abi/wbethETH.ts
,packages/swap/src/config/abi/wbethBSC.ts
,packages/swap/src/config/abi/veCake.ts
✨ Ask PR-Codex anything about this PR by commenting with
/codex {your question}
⚠️ No Changeset found
Latest commit: 1e1800db12df840b1bb54b0503a6e40c2db66fb0
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
The latest updates on your projects. Learn more about Vercel for Git ↗︎
Name | Status | Preview | Comments | Updated (UTC) |
---|---|---|---|---|
aptos-web | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Mar 4, 2024 7:51pm |
blog | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Mar 4, 2024 7:51pm |
bridge | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Mar 4, 2024 7:51pm |
games | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Mar 4, 2024 7:51pm |
uikit | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Mar 4, 2024 7:51pm |
web | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Mar 4, 2024 7:51pm |
Can we rename the package to swap-widget
for clearer meaning?