# Change Log

### v4.5.7

#### Patch Changes

* Chore: update MATIC to POL
* Update chain order

### v4.5.6

* Refine CICD max memory size.

### v4.5.5

* Remove @uidotdev/usehooks from packages

### v4.5.4

* Support cronos zkevm

### v4.5.3

* Add `.umd` back to build output for supporting Next.js user.

### v4.5.2

* Add refetchInterval in `useAllowance`(default: 5s).
* Support Gate.io wallet.

### v4.5.1

* Remove ssr render.

### v4.5.0

* Upgrade internal WalletConnect package from `@walletconnect/modal` to `@web3moddal/wagmi`.

### v4.4.8

* Add `.css` file exports path.

### v4.4.7

* Add `yBridge_Amount_Exceeds_Cap_Limit` (31001) error code in `DisplayHelper`.

### v4.4.6

* Update package dependencies.

### v4.4.5

* Feat: add tooltip if chain name is too long
* Support Owlto Finance.

### v4.4.4

* Remove `refetchInterval` in `RouterQuoteProvider` to fix unexpected `/quote` request across different pages issue.

### v4.4.3

* Add `MinReceived`, `WithholdingFee` UI on Transfer page.

### v4.4.2

* Refine turbo repo v2 CICD settings.

### v4.4.1

* Upgrade wagmi version to `2.10.10`, fixing Coinbase connector unable to connect issue.
* Upgrade turbo version to `2.0.6`.

### v4.4.0

* Update and enhance the transaction tracking feature.

### v4.3.0

* Support Taiko mainnet.

### v4.2.0

* Imporve widget size.

### v4.1.2

* Update discord url.

### v4.1.1

* Add `connectorsDisplayFilter` in `WidgetInternalConfig` to customize connectors display.

### v4.1.0

* Replace `@xyfinance/widget` 4.x tag from `next` to `latest`.

### v4.0.10

* Fix user cannot infer `Config`, `Theme`, `InternalConfig` type from `@xyfinance/core` issue.
* Rename `widgetConfig` to `swapWidgetConfig`.
* Decouple `WidgetConfig`, `WidgetTheme` type from `@xyfinance/core`.

### v4.0.9

* Fix `useQuoteErrorMessageDisplay` wording in error\_code `30001` and `30006`.

### v4.0.8

* Fix `provider not found` issue when try to connect via Metamask.

### v4.0.7

* Prevent `getRawToken` return value `symbol` & `decimals` from `undefined`.

### v4.0.6

* Hotfix USDT on Ethereum is not ERC20 compatible.

### v4.0.5

* Refine nodePolyfill in vite.config.ts.

### v4.0.4

* Fix `useConfig` must be used within `WagmiProvider` issue.

### v4.0.3

* Upgrade vite to v5.

### v4.0.2

* Downgrade WalletConnect v3 to WalletConnect v2.

### v4.0.1

* Rename widget export variables, such as `XSwapWidget` to `Widget`.
* Add "exports" options in `package.json` to explicitly tell user how to import (only for node.js > 14).

### v4.0.0 #Major Change

* Release `@xyfinance/widget` v4 with `next` tag.
* Migrate from Wagmi v1 to Wagmi v2

### v3.16.5

* UI wording update

### v3.16.4

* Fix native token balance image display error.
* Fix errorMessage display padding.

### v3.16.3

* Refine `xy-router` API `/quote` and `/build_tx` error message display.
* Refine `RouterBuilxTxProvider` to `@xyfinance/react` make it reusable.

### v3.16.2

* Fix unknown bridge & Replace imtoken logo

### v3.16.1

* Fix widget configs

### v3.16.0

* Remove Chakra UI

### v3.15.1

* Add X Layer to EIP-1559 Unsupported list.

### v3.15.0

* Support new chain x Layer

### v3.14.6

* &#x20;Add Browser Wallet (EIP-1193 compatible).

### v3.14.5

* Remove prelaunch in `@xyfinance/widget`

### v3.14.4

* Fix UI issues

### v3.14.3

* Hotfix: `/quote` & `/build_tx` slippage no decimal issue.

### v3.14.2

* Set 1rpc RPC node to last because they don't support some EVM method will lead `GET_TOKENS_BALANCE_ERROR` errors.

### v3.14.1

* Replace token.symbol to token.name
* Replace getTokenByChainIdAndAddress by getTokenByChainIdAndAddressKey method.

### v3.14.0

* Refactor: decouple @xyfinance/core and @xyfinance/react.

### v3.13.5

* Replace `token.symbol` to `token.name` .

### v3.13.4

* Fix: should use token name to desplay

### v3.13.3

* Migrate token list API.

### v3.13.2

* Update avax/cronos/zkEVM explorer link

### v3.13.1

* Fix custom token error by replace `Promise.allSettled`.

### v3.13.0

* Support Blast.

### v3.12.3

* Add binance wallet connector

### v3.12.2

* Add a component to handle component runtime error.
* Fix `src_quote_token_amount` runtime error.

### v3.12.1

* Fix dependencies

### v3.12.0

* &#x20;Add double confirm step for the widget

### v3.11.5

* Hide Min. Received column
  * update slippage setting wording

### v3.11.4

* Support commissionRate config.

### v3.11.3

* Add zod as validator library.

### v3.11.2

* Fix cannot select 2 custom token at once issue

### v3.11.1

* Upgrade @web3modal/wagmi to fix `useWeb3Modal` hook issue.

### v3.11.0

* Hot fix ledge conpromised issue.

### v3.10.8

* Updage kcc mainnet explorer url
* Refine NOT\_SUPPORT\_EIP\_1559\_CHAIN\_LIST

### v3.10.7

* Remove MaxUInt256 approve amount.

### v3.10.6

* Fix gradient button disabled text color.

### v3.10.5

* Fix internal packages dependency issue.

### v3.10.4

* @xyfinance/react\@0.0.10

### v3.10.3

* Remove widget internal config `iframeUrl` default value.

### v3.10.2

* Add internalConfig prop in `@xyfinance/widget` ( This is for internal usage, please don't write this in [https://docs.xy.finance](https://docs.xy.finance/) ).
* Add x.com logo and refine favicon image.
* Updated dependencies

### v3.10.1

* Update WalletConnect project id.

### v3.10.0

* Upgrade wagmi to 1.4.8 to fix WalletConnect and web3modal/v3 issue.

### v3.9.6

* Refactor default widget config and theme.

### v3.9.5

* Remove `fetchingUserTokenMap` state for preventing duplicate re-render.

### v3.9.4

* Make sure send swap transaction chainId must match with the chainId of the `build_tx`.

### v3.9.3

* cde5925: Refine `getErrorMessageDisplayFromErrorCode` from `ViemHelper` to `DisplayHelper`.

### v3.9.2

* Add CircleUSDCMap and hoisting USDC by Circle in token list.

### v3.9.1

* Fix swap switch button don't switch `fromToken` input and `toToken` number.

### v3.9.0

* Upgrade `wagmi`, `next`, `codemirror` dependencies.
* Upgrade `react` from `18.0.0` to `18.2.0` in `@xyfinance/widget`.

### v3.8.1

* Refine fetching custom token list from `queryClient.setQueryData` in `useCustomToken` hook.
* Add `debounceInput` from `input` in `useSearchToken` hook for peventing too many requests.
* Refine `scrollbar` rounded from `1.25rem` to `8px`.

### v3.8.0

* Refactor storing `selectedChainId` from state to URL in select token page
* Refine all tokens order in select-token page
* Support `All` tokens in `SelectTokenPage` in `@xyfinance/widget`.

### v3.7.4

* Refactor token sorting logic.

### v3.7.3

* Refine `/quote` fetching `<Button>` display order.
* Fix native token reminder token name display error in `@xyfinance/widget`.

### 3.7.2

* Refactor Approving mechanism to `useERC20TokenApprove` from `AllowanceProvider` ( not use context anymore ).
* Refactor Approving mechanism from interval to "watch blockNumber update".
* Upgrade `@tanstack/react-query` to `5.4.3`.
* Upgrade `wagmi` to `1.4.5`.
* Add default bridge and dex aggregator name.

### v3.7.1

* Fix Wallet UI issue.
* Show different avatar depends on verified status.
* Add `tailwind-scrollbar` library.
* Add Native token balance to nav dropdown.
* Upgrade `vite-plugin-svgr` to `4.1.0`.
* Upgrade `vite` to `4.5.0`.

### v3.7.0

* Support `Scroll` chain.

### v3.6.3

* Refactor `@/lib/helpers.ts` to `ViemHelper` in `@xyfinance/core`.
* Refactor `@/lib/helpers.ts` to `NestViemHelper` in `@xyfinance/app`.
* Refactor `@/lib/helpers.ts` to `ViteViemHelper` in `@xyfinance/widget`.
* Add History, Watcher functionality to `@xyfinance/app`.
* Remove `Skeleton` from `@xyfinance/app`. ( import it from `@xyfinance/ui`)

### v3.6.2

* Captue `receiver` in `@xyfinance/widget` for future use.
* Refine FE Server POST API from `/history/swap-transactions` to `/swap-transactions`.
* Refine Swap `RouteList` component key.

### v3.6.1

* Refine receiptStatus type from `1` || `0` to `1` || `0` || `success` || `reverted`.

### v3.6.0

* Add `ClientSideEVMServer`, this is a virtual server in frontend. It will be used to get balances from different chains.
* Add RPC fallback list in `viem` config.
* Rename `WatcherProvider` to `PollingProvider` in case of misunderstanding with `Wacher` in Frontend Server.
* Refine some UI display in `@xyfinance/app`.

### v3.5.0

* Support Mantle Network.
* Add input/output token price unknown display after quote.

### v3.4.3

* Fixed Coinbase Wallet cannot do `wallet_addEthereumChain` method issue.
* Fixed Trust Wallet cannot work in mobile app web view issue.

### v3.4.2

* Add chains to `CoinbaseWalletConnector`.

### v3.4.1

* Support Coinbase, OKX, Trust, imToken, Bitget, Halo, Brave Wallet.
* Refactor `createWagmiConifg` to `createAppWagmiConfig` and `createNPMWagmiConfig`.

### v3.4.0

* Fix double Wagmi WalletConnect QRcode Modal cannot open issue.

  > By initing WalletConnect from Wagmi to Web3Modal as React component.

### v3.3.0

* Support Base network.
* Error code refine.

### v3.2.0

* Fix double wagmi issue. When projects use wagmi as their dApp connection system, they will have to make an extra wagmiConfig instance for our widget.
* Update wagmi store prefix from default to `xy`.

### v3.1.0

* Support Linea chain.
* Adjust order of networks in token-selection page.
* Add version tracking.

### v3.0.2

* Update devDependencies.

### v3.0.1

* Updated dependencies

### v3.0.0 #Major Changes

* Refactor API from `xy api` to `xy router api`.

### v2.2.1

* Rename zkSync to zkSyncEra.
* Native token not enough hint.
* Skeleton UI improvements.
* Updated dependencies

### v2.2.0

* Support Polygon zkEVM chain.
* Disable zkSync supporting token hint.

### v2.1.0

* Extract widget-testground to [testground repository](https://github.com/XY-Finance/testground).
* Add custom widget theme functionality.
* Refactor widget-playground with codermirror.

### v2.0.0 #Major Changes

* Upgrade CSS engine from TailwindCSS to Chakra UI (CSS-in-JS).
* Increase quote interval from 15 seconds to 60 seconds.
* Change zkSync explorer URL.

### v1.2.0

* Fix native token not getting balance bug.

### v1.1.1

* Add LIMIT\_SUPPORT\_TOKENS\_NETWORK\_LIST to env in production.

### v1.1.0

* Support zkSync chain.
* Upgrade TypeScript version to 5.

### v1.0.5

* Refine `roundToMaxDecimal` in **@xyfinance/core**
* Add fallback token logic
* Re-add search token and refine it

### v1.0.4&#x20;

* Remove redundant RPC request

### v1.0.3

* **Added RPC Error UI** to provide more information and guidance to users when they encounter errors during transactions.
* Fixed the issue of failed transactions being stuck in an **infinite processing** loop in the UI.
* Resolved the problem of **wallet involuntarily disconnects**, providing a smoother user experience.
* Added a `disableTokenSelection` feature that allows you to limit the tokens available for swapping, useful for customizing the user experience.
* Added an `enableReport` feature, which captures error messages and sends them to our server for analysis to help us improve the overall quality and stability of the platform.

### v1.0.2

* Updated dependencies
