From faffac6f83f70f2bd02e942c69c6b29d9c7a4ba6 Mon Sep 17 00:00:00 2001 From: JunJie Date: Mon, 3 Nov 2025 14:52:31 +0800 Subject: [PATCH 01/25] feat: add disableConnectedProviderRead props --- packages/dodoex-widgets/package.json | 4 ++-- .../dodoex-widgets/src/components/Widget/index.tsx | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 2685cd34..3b653f12 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.4.0", + "version": "3.4.0-beta.1", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", @@ -152,4 +152,4 @@ "ts-jest": "^29.0.1", "typescript": "^5.6.3" } -} +} \ No newline at end of file diff --git a/packages/dodoex-widgets/src/components/Widget/index.tsx b/packages/dodoex-widgets/src/components/Widget/index.tsx index 548b7cd0..aefcf26a 100644 --- a/packages/dodoex-widgets/src/components/Widget/index.tsx +++ b/packages/dodoex-widgets/src/components/Widget/index.tsx @@ -131,6 +131,7 @@ export interface WidgetProps /** Default deadLine when it cannot be set. Unit: seconds */ deadLine?: number; submission?: ExecutionCtx; + disableConnectedProviderRead?: boolean; } function LangProvider(props: PropsWithChildren) { @@ -177,7 +178,8 @@ function InitStatus(props: PropsWithChildren) { contractRequests.setGetConfigProvider((getProviderChainId) => { const connectedProvider = chainId === getProviderChainId ? provider : null; - if (connectedProvider) return connectedProvider; + if (!props.disableConnectedProviderRead && connectedProvider) + return connectedProvider; if (props.getStaticJsonRpcProviderByChainId) { const propsGetProvider = props.getStaticJsonRpcProviderByChainId(getProviderChainId); @@ -187,7 +189,11 @@ function InitStatus(props: PropsWithChildren) { } return null; }); - }, [provider, props.getStaticJsonRpcProviderByChainId]); + }, [ + provider, + props.getStaticJsonRpcProviderByChainId, + props.disableConnectedProviderRead, + ]); useEffect(() => { if (props.onProviderChanged) { From 013241180014b29b4833dafdbbec2feeadc4f778 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 4 Nov 2025 10:06:54 +0000 Subject: [PATCH 02/25] chore(release): @dodoex/api@3.3.0-beta.1 [skip ci] --- packages/dodoex-api/CHANGELOG.md | 7 +++++++ packages/dodoex-api/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/dodoex-api/CHANGELOG.md b/packages/dodoex-api/CHANGELOG.md index 1c5f6ddc..e87d24c1 100644 --- a/packages/dodoex-api/CHANGELOG.md +++ b/packages/dodoex-api/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@dodoex/api-v3.3.0-beta.1](https://github.com/DODOEX/widgets/compare/@dodoex/api-v3.2.0...@dodoex/api-v3.3.0-beta.1) (2025-11-04) + + +### Features + +* dvm add liquidity limit amount logic ([777582d](https://github.com/DODOEX/widgets/commit/777582d6a78f6eabff402f6f51a60f29bda1b651)) + # [@dodoex/api-v3.2.0](https://github.com/DODOEX/widgets/compare/@dodoex/api-v3.1.0...@dodoex/api-v3.2.0) (2025-10-24) diff --git a/packages/dodoex-api/package.json b/packages/dodoex-api/package.json index 9a53f13c..f52149fb 100644 --- a/packages/dodoex-api/package.json +++ b/packages/dodoex-api/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/api", - "version": "3.2.0", + "version": "3.3.0-beta.1", "description": "DODO API Kit", "source": "src/index.ts", "types": "dist/types/index.d.ts", From 02f2c7d5f7d24a54efec9879e6d03694130f63fa Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 4 Nov 2025 10:08:34 +0000 Subject: [PATCH 03/25] chore(release): @dodoex/widgets@3.5.0-beta.1 [skip ci] --- packages/dodoex-widgets/CHANGELOG.md | 8 ++++++++ packages/dodoex-widgets/package.json | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/dodoex-widgets/CHANGELOG.md b/packages/dodoex-widgets/CHANGELOG.md index 556bd0c6..d7ca4ba5 100644 --- a/packages/dodoex-widgets/CHANGELOG.md +++ b/packages/dodoex-widgets/CHANGELOG.md @@ -1,3 +1,11 @@ +# [@dodoex/widgets-v3.5.0-beta.1](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.4.0...@dodoex/widgets-v3.5.0-beta.1) (2025-11-04) + + +### Features + +* add disableConnectedProviderRead props ([faffac6](https://github.com/DODOEX/widgets/commit/faffac6f83f70f2bd02e942c69c6b29d9c7a4ba6)) +* dvm add liquidity limit amount logic ([777582d](https://github.com/DODOEX/widgets/commit/777582d6a78f6eabff402f6f51a60f29bda1b651)) + # [@dodoex/widgets-v3.4.0](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.3.0...@dodoex/widgets-v3.4.0) (2025-10-24) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 3b653f12..258b5eec 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.4.0-beta.1", + "version": "3.5.0-beta.1", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", @@ -152,4 +152,4 @@ "ts-jest": "^29.0.1", "typescript": "^5.6.3" } -} \ No newline at end of file +} From 5466e2585927e924749845bf91b3642875e1f926 Mon Sep 17 00:00:00 2001 From: AxeAfk Date: Wed, 5 Nov 2025 13:02:42 +0800 Subject: [PATCH 04/25] feat: update version --- packages/dodoex-widgets/README.md | 1 + packages/dodoex-widgets/src/locales/en-US.js | 2 +- packages/dodoex-widgets/src/locales/en-US.po | 18 +++++++++++------- packages/dodoex-widgets/src/locales/zh-CN.js | 2 +- packages/dodoex-widgets/src/locales/zh-CN.po | 18 +++++++++++------- 5 files changed, 25 insertions(+), 16 deletions(-) diff --git a/packages/dodoex-widgets/README.md b/packages/dodoex-widgets/README.md index fe199fa5..5c29c143 100644 --- a/packages/dodoex-widgets/README.md +++ b/packages/dodoex-widgets/README.md @@ -67,3 +67,4 @@ Other details: ## About DODO - [DODO Web](https://dodoex.io/) + diff --git a/packages/dodoex-widgets/src/locales/en-US.js b/packages/dodoex-widgets/src/locales/en-US.js index 6d5a223e..56105d4d 100644 --- a/packages/dodoex-widgets/src/locales/en-US.js +++ b/packages/dodoex-widgets/src/locales/en-US.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"+/wf6Z\":\"The smaller the slippage coefficient, the lower the slippage for traders, and the deeper the market depth.\",\"+Jkdiu\":\"Transaction Time:\",\"+uZnU3\":\"Cross Chain\",\"/+c6tU\":\"99% Default\",\"/6L4mj\":\"Your position is empty\",\"/Ak0Fw\":[\"Opening \",[\"0\"],\"...\"],\"/BbUJ6\":\"Total Number of Traders\",\"/cF7Rs\":\"Volume\",\"/jQctM\":\"To\",\"/k7Ttv\":[\"Receive \",[\"0\"]],\"/nzjSF\":[[\"0\"],\" pending\"],\"0+31GV\":\"Removing\",\"0O1wzf\":[\"Traders sold ‪\",[\"0\"],\"‬ \",[\"1\"],\", price in the pool increased to \",[\"2\"]],\"0QDjxt\":\"Balance:\",\"0RrIzN\":\"Select token\",\"0S8v3W\":\"The start time cannot be in the past\",\"0Sw1gZ\":\"Staking Rules\",\"0YxDPW\":\"Loading info...\",\"0b0AkA\":\"* Please note that the Fee Rate cannot be modified after the pool is created\",\"1+P9RR\":[\"Switch to \",[\"0\"]],\"1/LP4K\":[[\"tokenB\"],\" per \",[\"tokenA\"]],\"14s9LL\":\"Create Liquidity Mining\",\"1ABiXc\":[\"By adding liquidity you’ll earn <0>\",[\"0\"],\" of all trades on this pair proportional to your share of the pool. Fees are added to the pool, accrue in real time and can be claimed by withdrawing your liquidity.\"],\"1PQRWr\":\"Start Time\",\"1QfxQT\":\"Dismiss\",\"1Qz63U\":\"Pool Type\",\"1gWStS\":\"Unstaking\",\"1yHVE+\":\"Adding\",\"22Xs8M\":\"Deposit Ratio\",\"237hSL\":\"Ended\",\"2IZBPB\":\"The end time must be later than the start time.\",\"2vjOqX\":\"Pools with lower transaction fees will attract more traders.\",\"34w3mT\":\"Single-Token\",\"3CsYwD\":\"Select Pool\",\"3VUfrF\":\"Selected Range\",\"3WdxUv\":\"Do not remind again\",\"3XBvkd\":\"Remove Liquidity\",\"3dP8Wx\":\"Search by address\",\"3ggd2j\":\"Asset ratio within the pool\",\"4cJ0hF\":\"Rewards\",\"4fL/V7\":\"Pay\",\"4kY4C4\":\"Due to the market condition, market price and estimated price may have a slight difference\",\"4nzwq3\":\"Search by token or pool address\",\"4ogEAw\":\"Pegged Exchange Rate\",\"4vKwIV\":\"Private Pool\",\"4xbbt/\":[[\"0\"],\" confirmed\"],\"52uNwk\":\"Creation Time\",\"54ffaC\":\"The current network is inconsistent with the wallet - please switch in wallet\",\"5CZbyC\":\"Set price range\",\"5IHTSS\":\"Full range\",\"5Nb8LL\":\"*Depending on the block time, the real amount of Daily Rewards may deviate slightly.\",\"5OKrbq\":\"Since this pool uses the PMM algorithm, which is different from the normal AMM pool mechanism, the initial price calculation is also different from AMM.\",\"5Pxzb6\":[\"Expected to start at block \",[\"0\"],\" and end at block \",[\"1\"],\". There may be slight differences between actual and expected block numbers.\"],\"5QDjef\":\"The token amount is calculated by initial price.\",\"5etEUX\":\"Max price\",\"5nL2hY\":\"Staked Tokens\",\"6+mYrD\":\"Current price impact\",\"6UYTy8\":\"Minute\",\"6V3Ea3\":\"Copied\",\"6XYkjc\":\"Edit Parameter Settings\",\"6XgEPi\":\"Hour\",\"6lss/t\":\"Pricing Model\",\"6y2TB3\":\"Liquidity\",\"70wH1Q\":\"APR\",\"72/M0o\":\"Enter the token symbol or address\",\"79D0qY\":\"Liquidity data not available.\",\"7Bj3x9\":\"Failed\",\"7C/BwI\":\"Community Treasury\",\"7IKPTP\":\"Fee includes: Cross Chain fees + Swap fees. Gas fee not included.\",\"7VpPHA\":\"Confirm\",\"7X+IbB\":\"Powered by DODO protocol\",\"7X40pG\":\"Fees (24H)\",\"7Z4WfS\":[[\"0\"],\" per \",[\"1\"]],\"7m5+6j\":\"Initial Tokens\",\"7rpoXw\":\"This token is on\",\"7y/8M6\":\"Please confirm in wallet\",\"88dol0\":\"Success Rate\",\"8OiU8L\":\"Pool Creation\",\"8Tg/JR\":\"Custom\",\"8XNsbx\":\"Higher than dynamic slippage\",\"8Z29ZO\":\"Estimated service provider fees\",\"93m8jT\":\"Basic Fee\",\"97jlEV\":\"LP Balance\",\"9D2g7k\":\"The liquidity of DODO is continuous, which is different from the discrete liquidity of UniV3. The ticks shown in the illustration are for demonstration purposes only.\",\"9yc9F+\":[\"Default value is \",[\"warnValue\"],\"%,the current slippage setting is higher than the default value, which means you are willing to accept a worse final execution price.\"],\"A1taO8\":\"Search\",\"A23gVF\":\"Points for staking LP tokens.\",\"AOhRo6\":\"DODO provides a variety of pool versions to suit your needs.\",\"APR\":\"APR\",\"APR = Reward Token Value per Year / TVL\":\"APR = Reward Token Value per Year / TVL\",\"Active\":\"Active\",\"AeZIvT\":\"You will receive\",\"AghcDJ\":\"Price impact exceeds the slippage tolerance you set. Try increasing the slippage tolerance.\",\"All Mining\":\"All Mining\",\"Amount of token rewards\":\"Amount of token rewards\",\"AxPAXW\":\"No results found\",\"AxdOHo\":\"Pair\",\"B0/2ea\":\"s\",\"B0YDoE\":\"Yes, I am sure\",\"B3mhDR\":\"Add liquidity to obtain LP tokens for mining\",\"BRi+RY\":\"Add more liquidity\",\"C1mcuF\":\"This CP has been settled by other addrs\",\"C1qIFl\":\"Liquidity Supplied\",\"CK1KXz\":\"Max\",\"CKyk7Q\":\"Go back\",\"CMHmbm\":\"Slippage\",\"CP1UAq\":\"The slippage coefficient needs to be greater than or equal to 0, and less than or equal to 1.\",\"Calculation = current rewards for a single block × number of blocks in 24h\":\"Calculation = current rewards for a single block × number of blocks in 24h\",\"CeLrge\":\"Mid Price\",\"CkfzUf\":[\"Insufficient funds - Please retry after depositing more \",[\"EtherTokenSymbol\"],\" into your wallet\"],\"CmoOxM\":\"Mining Pool Setup\",\"Copied\":\"Copied\",\"D1bhHv\":\"The pool’s market-making price is fixed\",\"D87pha\":\"Closed\",\"DPfwMq\":\"Done\",\"DPi/hO\":\"Results in a relatively fixed price.\",\"DTFrUE\":[\"Approving \",[\"0\"],\"...\"],\"DWd30U\":\"Current price\",\"DZULmp\":\"Swap Rate\",\"Da1+Da\":\"Pool not found. Please switch to another network and retry.\",\"Daily Rewards\":\"Daily Rewards\",\"Dt4Hc3\":\"Token Pair Mining\",\"Du6bPw\":\"Address\",\"DuVAxN\":[\"The area of the chart indicates the buy/sell volume of \",[\"baseSymbol\"],\" that can be carried by the market when the current price changes to the hover price.\"],\"DupCvC\":\"Added successful\",\"E4LM3N\":\"Add Initial Liquidity\",\"E6MqGy\":\"Add liquidity\",\"EQs1sJ\":\"Min price\",\"ESQO1L\":\"Pool address\",\"EU3wU4\":\"Fee tier\",\"EUBGvH\":\"Are you sure swapping to another chain?\",\"EatqP4\":\"Swaps\",\"EcVqOR\":[[\"0\"],\" Submitted\"],\"Edit\":\"Edit\",\"Eif7f6\":\"PMM Pool\",\"EkAv3P\":\"Concentrated liquidity, higher efficiency\",\"End Time\":\"End Time\",\"Ended\":\"Ended\",\"Enslfm\":\"Destination\",\"EpjpP9\":\"Released Rewards\",\"Ew+VGo\":\"The newly created mining pool can start counting APR after depositing any liquidity.\",\"F+sxb9\":\"Unapproved\",\"F18WP3\":\"Parameters\",\"F2vX4t\":[\"Users buy \",[\"0\"],\" amount:\"],\"F8yRdq\":\"More trade settings\",\"F9xwHA\":[\"Insufficient cross-chain fees, need at least \",[\"0\"],\" \",[\"1\"]],\"FHKsZF\":\"TVL\",\"FQ4aT9\":\"Add Position\",\"FQfStS\":\"Emulator\",\"FRBvjQ\":\"Transaction Pending\",\"Fdp03t\":\"on\",\"FrP5tr\":\"Suitable for stablecoins with price fluctuations within 2%\",\"GAypnX\":\"High slippage tolerance will increase the success rate of transaction, but might not get the best quote.\",\"GGPOuT\":\"set current mid price\",\"GGWsTU\":\"Canceled\",\"GSt7YT\":\"The fee rate must be between 0.01% to 10%\",\"Go back\":\"Go back\",\"Gr2anW\":\"Traders (24H)\",\"Gs02OK\":\"My Positions\",\"H7OUPr\":\"Day\",\"H9HlDe\":\"minutes\",\"HGf8fG\":\"You can set the minimum selling price for single-token pools.\",\"HTX2HV\":\"Minimum received\",\"HXBqgG\":\"Invalid price input\",\"HkWY45\":\"This pool type isn't supported on your current network. You can switch networks in your wallet to create it\",\"HuVZMK\":\"Days\",\"I0LXan\":[\"Price Impact: \",[\"0\"]],\"I0yi1d\":\"Deposit ratio is determined by the current assets ratio in the pool. The ratio does not represent the exchange price\",\"Insufficient market depth to capture the dollar value of [ {{symbols}} ]\":[\"Insufficient market depth to capture the dollar value of [ {\",[\"symbols\"],\"} ]\"],\"Invite\":\"Invite\",\"IwiTcw\":\"The price of this pool is outside of your selected range. Your position is not currently earning fees.\",\"J/hVSQ\":[[\"0\"]],\"J28zul\":\"Connecting...\",\"J39pAJ\":\"Additional Fee\",\"J7M/DA\":\"Pegged\",\"JR7wWw\":\"Equilibrium target\",\"JRgkmT\":\"End release time before adjustment\",\"JYKRJS\":\"Stake\",\"JaeUyE\":[\"Price discrepancy \",[\"lqAndDodoCompareText\"],\" between liquidity pool and the quote price on DODO.\"],\"JdNn1Y\":\"Fetching best price...\",\"Jh223O\":\"Invalid range selected. The min price must be lower than the max price.\",\"JlIjZf\":\"Liquidity Provider\",\"Joa5Dk\":\"*Collecting fees will withdraw currently available fees for you.\",\"JuzN3b\":\"Related CrowdPooling\",\"K/Ay/d\":\"Review Swap\",\"K/PgcA\":\"Select Cross Chain\",\"K8rjE/\":\"Daily rewards before adjustment\",\"KAbREa\":\"*Deflationary tokens are not supported\",\"KAbcm2\":\"Succeeded\",\"KAmxpM\":\"Attention: High slippage tolerance will increase the success rate of transaction, but might not get the best quote.\",\"KRnA5J\":\"Set pool parameters\",\"Kb3KaW\":\"Any Ratio\",\"KkjUUb\":\"Once created, you can adjust the pool’s market-making price at any time. This option is suitable for assets with fluctuating pegged prices. Adjusting the pool’s market-making price allows for more competitive quotes.\",\"KlvBGJ\":\"Select Tokens\",\"KsqhWn\":\"Staking\",\"KvG1xW\":\"Claiming\",\"L37FfW\":\"Create AMM V2 Position\",\"L4nQwl\":\"Suitable for stablecoins with price fluctuations within 0.5%\",\"LDprZB\":\"The slippage coefficient needs to be greater than 0, and less than 0.1.\",\"LHxwaD\":[\"The fee tier should greater than \",[\"0\"],\"%\"],\"LQ0J1B\":\"Flexible customization, take full control of liquidity\",\"LQU+Dm\":\"Risk Disclaimer\",\"LVzIav\":\"The pool’s market-making price can be adjusted\",\"Lfkqg7\":\"Stake tokens to receive mining rewards.\",\"LhMjLm\":\"Time\",\"LtI9AS\":\"Owner\",\"M9dIDb\":\"The pegged exchange rate refers to the exchange rate between two token assets where one's value is pegged/fixed by the other. For example, the pegged exchange rate between the US Dollar and USDT is 1.\",\"MU9s7M\":\"Deposit amounts\",\"MXQodB\":\"Disable Indirect Routing\",\"MZPP7t\":\"Your position has 0 liquidity, and is not earning fees.\",\"Mining Pool\":\"Mining Pool\",\"MvFS/h\":\"No pools yet? Create one!\",\"My Mining\":\"My Mining\",\"My Pools\":\"My Pools\",\"NEQTCn\":\"Share Of Pool\",\"NSCBTb\":\"The setting has been switched to swap mode\",\"NVAuTg\":\"Quote not available\",\"NXZdrO\":\"My pool share\",\"NgeSlx\":\"Learn More\",\"NjdGps\":\"Use the recommended ratio\",\"Nk6ddN\":\"Stake LP tokens and receive mining rewards.\",\"No LP pools match your criteria\":\"No LP pools match your criteria\",\"O6RUgz\":\"Fee rate\",\"OBdohg\":\"Add Liquidity\",\"OFjZGo\":\"Unstake\",\"OJOe+K\":\"Set the fee to the same as most other pools\",\"OKZP2O\":\"If there are no participants before the end, the rewards cannot be taken out anymore.\",\"OZUH85\":\"Your position will appear here.\",\"OauUE6\":\"Fetching Price...\",\"OfhWJH\":\"Reset\",\"OgKD6h\":\"Best offer\",\"OjaWXx\":\"Fresh Mining\",\"OnDEky\":\"LP Fee\",\"OuSseo\":\"Ratio Settings\",\"P+K/3O\":\"Confirming\",\"P4iKEj\":[\"The initial price needs to be greater than \",[\"min\"],\" and less than 100,000,000\"],\"PIYEqF\":\"Quantity model\",\"PLUB/s\":\"Fee\",\"PPqGw9\":\"Applicable to pegged assets with a fixed price and no fluctuation\",\"PVa3KL\":\"Position on\",\"PZqJog\":\"Confirm Cross Chain\",\"Price impact reaches <0>{priceImpact}%, accept the quote\":[\"Price impact reaches <0>\",[\"priceImpact\"],\"%, accept the quote\"],\"Q8W3SC\":\"Volume (1D)\",\"QNWt8A\":\"Estimated Time\",\"QNrpkx\":\"Classical AMM-like pool. Suitable for most assets.\",\"QR4/RH\":\"Swap summary\",\"QoOu4H\":\"You will also claim all rewards from this pool.\",\"QtgfjM\":\"The creator of the liquidity pool can adjust the liquidity distribution by modifying the market-making price parameters. <0>Learn more\",\"R7D79P\":\"Invalid pair\",\"R9Khdg\":\"Auto\",\"Remaining rewards/Total\":\"Remaining rewards/Total\",\"Rewards\":\"Rewards\",\"RtKKbA\":\"Last\",\"RvYEUJ\":\"Suitable for synthetic assets. The liquidity is super concentrated at some price like Curve Finance.\",\"RxHSET\":\"LP Balance:\",\"S3piC2\":\"Tx\",\"S8G1qk\":\"Single\",\"SXnevP\":\"Review Cross Chain\",\"SbBMxj\":\"Share of pool\",\"Search by address\":\"Search by address\",\"Sta9CR\":\"Enter a percent\",\"Staked\":\"Staked\",\"Start Time\":\"Start Time\",\"Sti4vy\":\"Mining\",\"T+qgFw\":\"Price Impact\",\"T0Y2+3\":\"Select a token\",\"T5ExxV\":\"Points for LP token holders.\",\"TFOxRM\":\"Mins\",\"TGi+jm\":\"Doc\",\"TJBHlP\":\"Standard\",\"TP9/K5\":\"Token\",\"TTlkRL\":\"Lower than dynamic slippage\",\"TVL\":\"TVL\",\"TY5fM3\":\"LP Tokens\",\"TaScUS\":[\"Users sell \",[\"0\"],\" amount:\"],\"TizaRy\":\"Wallet incompatibility\",\"TvH4Ym\":[\"Bought \",[\"0\"],\" \",[\"1\"],\", price in the pool decreased to \",[\"2\"]],\"Tz0i8g\":\"Settings\",\"UE2beD\":\"Creator\",\"UN0Nip\":\"Reward Rules\",\"UPXmW+\":\"Trader\",\"URmyfc\":\"Details\",\"UbRKMZ\":\"Pending\",\"Upcoming\":\"Upcoming\",\"Users\":\"Users\",\"Uzr1HF\":[\"Connect to your \",[\"0\"],\" Wallet\"],\"V+rJKF\":\"Seconds\",\"V38hNQ\":\"Single-Token Stake Mining\",\"VXTSOE\":\"Suitable for most situations.\",\"Vmw6BM\":\"Something went wrong…<0>Refresh again\",\"WI3lQ1\":\"SELECT\",\"WKj93T\":\"Select Token\",\"WYqq5A\":\"End mining\",\"WgTuci\":[\"Your position will be 100% composed of \",[\"0\"],\" at this price\"],\"When adding rewards, the number of rewards for a single block may be adjusted\":\"When adding rewards, the number of rewards for a single block may be adjusted\",\"X6T02b\":\"This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction.\",\"XPiFIY\":\"Can the pool price be adjusted?\",\"XeovX3\":\"Swap Detail\",\"Xpkm7d\":\"No ForceStop access\",\"Y0Knz4\":\"Checking this option means that the routing algorithm will only route to liquidity pools between the two tokens in the trading pair and will ignore routes with any intermediary tokens.\",\"Y7rVy0\":\"Fee Rate\",\"Y9QDtD\":\"You are making changes to the liquidity of a private pool. This is a highly discretionary operation that may cause substantial inflows/outflows of funds and changes in market prices. Please make sure you are fully aware of the implications of each parameter modification.\",\"YA4hwj\":\"Price Range\",\"YG004A\":[[\"0\"],\" deposited\"],\"YHc3B+\":\"My Liquidity\",\"YHpbe1\":\"For\",\"YUyuNp\":[[\"lqAndDodoCompareText\"],\" Price Difference\"],\"You are not currently providing liquidity for any LP pools.\":\"You are not currently providing liquidity for any LP pools.\",\"You have not create any mining\":\"You have not create any mining\",\"YvXHDU\":[\"The area of the chart indicates the buy/sell volume of \",[\"0\"],\" that can be carried by the market when the current price changes to the hover price.\"],\"Z033WN\":\"Total Swap Fee\",\"Z5HWHd\":\"On\",\"Z7ZXbT\":\"Approve\",\"Z8lGw6\":\"Share\",\"ZXvy7b\":\"Additional routing fees set by the Widget user\",\"ZgtZpB\":\"The start time is too soon, please set a later time\",\"ZhEBp4\":\"Current liquidity pool token price\",\"ZlKTEh\":[\"Reward \",[\"0\"]],\"ZlQ83E\":[\"<0>\",[\"lostRatio\"],\" of the initial liquidity you provide will be burned. <1/>The closer the provided asset ratio is to the recommended ratio (\",[\"recommendRatioText\"],\"), the smaller the portion burned.\"],\"Zm56FI\":\"Maximum slippage do not exceed 50%\",\"a1AzKr\":\"For those who are looking to sell tokens and only need ask-side liquidity.\",\"a7u1N9\":\"Price\",\"aGKLPO\":\"The current network supports new pool types\",\"aIvv/z\":\"The price of this pool is within your selected range. Your position is currently earning fees.\",\"aM1tos\":\"You are creating a pool\",\"ab98Hp\":[\"Created by \",[\"0\"]],\"agPptk\":\"Medium\",\"agRWc1\":\"Minutes\",\"az8lvo\":\"Off\",\"b+KjnH\":\"Your position will not earn fees or be used in trades until the market price moves into your range.\",\"b2jAb+\":\"per\",\"bC0iyq\":\"Suitable for stablecoins with price fluctuations within 10%\",\"bEsfUQ\":\"Confirm submission\",\"bQ3cKo\":\"Select pool by tokens\",\"bUUVED\":\"Asset\",\"bXp9u3\":\"Fee Revenue\",\"bwSQI0\":\"Supply\",\"c4miqE\":\"Pool share\",\"c6TMm0\":\"Mining Type\",\"cDWXuq\":\"Settler\",\"cJtosk\":\"Remove liquidity\",\"cOvZFM\":\"Dynamic\",\"cmUrtC\":\"SEE HOW IT WORKS\",\"cnGeoo\":\"Delete\",\"cnbRVW\":[\"Initial Price \",[\"0\"],\" \",[\"1\"],\" = \",[\"2\"],\" \",[\"3\"]],\"d2CZvA\":\"Initial Price\",\"d8YnVj\":\"Guide Price\",\"dEgA5A\":\"Cancel\",\"dI46oG\":\"Auto switch network\",\"dJqd5x\":[\"Get \",[\"tokenSymbol\"]],\"dUdltF\":\"One-Click Claim\",\"dmiCGN\":\"Select Token Pair\",\"dqWPbT\":\"I have read, understand, and agree to the <0>Terms of Service.\",\"dzV+zO\":\"Modify Confirmation\",\"e/bYdk\":[[\"brief\"],\" submitted\"],\"e38JNU\":\"Tips:\",\"eE0JZ4\":\"Version\",\"eK0eiF\":\"Initial asset ratio\",\"eK6I8d\":\"V2 & PMM\",\"ePK91l\":\"Edit\",\"eTUF28\":\"Min\",\"eVZ7bY\":\"Hide TVL=0 pools\",\"em6LzM\":\"Transaction rejected.\",\"evmVGu\":[\"\\\"Created by \",[\"0\"]],\"fKYdE9\":\"Results in a more volatile price.\",\"fSFt4a\":\"Token Pair\",\"fZ5Vnu\":\"Received\",\"fZFkP1\":\"My Pools\",\"fgGids\":[\"Approve \",[\"0\"]],\"fqDzSu\":\"Rate\",\"fsBGk0\":\"Balance\",\"fxRyGG\":\"fee tier\",\"g3x+cF\":\"Service update, please wait and try again\",\"gz+9Rb\":\"Gas price is too low, please adjust in your wallet and try again\",\"h3PbRN\":\"My Pool Share\",\"h4RLFN\":\"RPC node data exception\",\"h5FVz1\":\"Estimated transaction time\",\"h5pjuM\":\"Collect fees\",\"h7LgzN\":\"Connect to your wallet\",\"hCBYHP\":\"Total Fee Revenue\",\"hXzOVo\":\"Next\",\"hYgDIe\":\"Create\",\"hcNa1G\":\"Token Amount\",\"hdIg7i\":\"Select Pool Version\",\"hom7qf\":\"Claim\",\"i3Z+/Z\":\"Out of range\",\"iDGO1l\":\"Disclaimer\",\"iH8pgl\":\"Back\",\"iLj1a9\":[\"Dynamic slippage is \",[\"recommendSlippage\"],\"%,the current slippage setting is higher than the dynamic slippage, which means you are willing to accept a worse final execution price.\"],\"iPMIoT\":\"Enter an amount\",\"iaocTt\":\"Ratio\",\"j2Uisd\":\"Approving\",\"jMam5g\":[[\"0\"],\" Balance\"],\"jaH6JH\":\"Higher than default slippage\",\"jjuKOj\":\"Min Price\",\"juypHV\":\"Liquidity Providers\",\"kAC8rT\":\"High price\",\"kNeEXg\":\"Current Price\",\"kdzjmC\":[\"The mid price needs to be greater than \",[\"min\"],\" and less than 100,000,000\"],\"kf83Ld\":\"Something went wrong.\",\"kj3p6e\":\"Daily Rewards\",\"ku//5b\":\"Second\",\"l4Za6X\":\"Total Swap Volume\",\"lDgVWA\":\"Receive\",\"lJvbHq\":\"Select Network\",\"lLbR0m\":\"Simple, full-range liquidity\",\"lNYomJ\":\"AMM V2 Position\",\"lQ6r7x\":\"Confirm swap\",\"lTmG/H\":\"Minimum Received\",\"lgE483\":\"Once created, the price cannot be changed. This option applies to assets like ETH-WETH.\",\"lqTDfd\":\"Slippage Tolerance\",\"lsg9Mi\":\"Parameter Settings\",\"lt8yMa\":\"Send to:\",\"luOvdJ\":\"My Staked\",\"m16xKo\":\"Add\",\"m6RmA/\":[\"Insufficient \",[\"0\"],\" balance\"],\"m8r/Yx\":\"AMM V3\",\"mFXnIs\":\"The dynamic slippage is provided by DODO team through analyzing historical transactions.\",\"mObS+5\":\"Failed to get price of the token\",\"mYGY3B\":\"Date\",\"mZ4SrP\":\"Liquidity Pool\",\"me2dmq\":\"Value (USD)\",\"n25Lml\":\"Depth\",\"nIrcQi\":\"No matching pool found\",\"nTWWCZ\":\"Low\",\"nxRg31\":\"Select pair\",\"o/5/4c\":\"Once Mining has started, it cannot be stopped.\",\"o8aMNm\":\"Select a liquidity pool\",\"om+Yr9\":\"Do not select non-standard ERC20 tokens as this may lead to unknown errors!\",\"p2jbcE\":\"Create Pool\",\"p3607o\":\"Managing\",\"p7/w10\":\"Volume (24H)\",\"pHQq+U\":\"Pool Setup\",\"pKjCsP\":\"100% use your own funds and enjoy the maximum degree of flexibility.\",\"pQJBKk\":[\"The closer the provided asset ratio is to the recommended ratio (\",[\"recommendRatioText\"],\"), the smaller the portion burned.\"],\"pSQ1lM\":\"MT Fee\",\"pY/ok7\":\"All chains\",\"pdZiL7\":\"Current Market Price:\",\"peTryP\":[[\"0\"],\"-\",[\"1\"],\" is not supported. Please select another pair.\"],\"pwUZo2\":\"Confirming...\",\"q+Q952\":[\"Users pay \",[\"0\"],\" \",[\"1\"],\" and receive \",[\"2\"],\" \",[\"3\"],\"\\\\nPrice \",[\"4\"],\" (\",[\"5\"],\"%)\"],\"qDhDFK\":\"Traders\",\"qK7wuW\":\"Unable to SETTLE during the cooling-off period\",\"qLkska\":\"The setting has been switched to cross chain mode\",\"qiOIiY\":\"Buy\",\"qjbHuD\":[\"The current slippage protection coefficient set exceeds \",[\"0\"],\"%, which may result in losses.\"],\"qmYDVk\":\"Total Rewards\",\"r7ScnQ\":\"Connect to a wallet\",\"rAx5u1\":\"End Time\",\"rH6vg9\":\"There is no liquidity data.\",\"rQ9c+8\":[\"Output is estimated. If the price changes by more than \",[\"0\"],\" your transaction will revert.\"],\"rRDi3Y\":\"Detail\",\"rSayea\":\"APY\",\"rbsyJM\":\"AMM V2\",\"rdUucN\":\"Preview\",\"sCUx8G\":\"Select Platform\",\"sIPJGT\":\"SELECT TOKEN\",\"sNaLCG\":\"Add Token\",\"sTnImq\":\"Total Liquidity\",\"sVlqoo\":\"AMM V3 Position\",\"sjn3tj\":\"Slippage Coefficient\",\"sxkWRg\":\"Advanced\",\"syToc5\":[[\"0\"],\"/\",[\"1\"],\" Pool Tokens\"],\"t+LmjM\":\"Initial Price Alert\",\"t/YqKh\":\"Remove\",\"t3d3/V\":\"ratio is 0\",\"tKE4Ak\":\"Cross Chain Summary\",\"tMMG40\":[[\"0\"],\"% fee tier\"],\"tMVAXL\":\"SafeERC20: low-level call failed. Please contact the DODO team.\",\"tnRI9r\":\"Pool Creation Confirmation\",\"tu/fxg\":\"Claim fees\",\"tyGEMJ\":\"Amounts\",\"u1tnst\":\"Create One\",\"uAQUqI\":\"Status\",\"uEoBVI\":\"Low price\",\"uaKP0s\":[\"differs from the price quoted by DODO by \",[\"lqAndDodoCompareText\"]],\"ubzjDN\":\"Real Time\",\"udsWDJ\":\"Unsupported network - switch to trade\",\"uiuMDr\":\"Enter parameters to view the yield curve\",\"v4nCHK\":\"Paid\",\"v4wgrk\":\"Failed to add\",\"vH2C/2\":\"Swap\",\"vLyv1R\":\"Hide\",\"vOyUlD\":\"In range\",\"vXvgFK\":\"There is risk of being arbitraged if adding this liquidity.\",\"vxHMzr\":\"address\",\"wSpNR+\":\"This trading pair does not have enough historical data and has used the default dynamic slippage.\",\"wckWOP\":\"Manage\",\"wdxz7K\":\"Source\",\"wmCrk7\":\"You may modify the transaction deadline, the maximum time allowed for a trade to be processed on-chain. However, please note that this may lead to your trade executing at a subpar price, as the market price may change during that time.\",\"wtjDAR\":[[\"0\"],\" Approval Pending\"],\"x3muNy\":\"Liquidity Burn Ratio\",\"x4QVeW\":\"Percentage to remove\",\"x6GJ4a\":\"Max Slippage\",\"xEbi+8\":\"User denied transaction signature.\",\"y1eoq1\":\"Copy link\",\"y4kfSV\":\"WARNING\",\"y5rS9U\":\"Migrate\",\"yM82Jw\":\"ForceStop exception\",\"yQ2kGp\":\"Load more\",\"yQE2r9\":\"Loading\",\"yXm1vH\":\"The initial price is different from the current market price, which may cause your pool to be arbitraged\",\"yY8wAv\":\"Hours\",\"yoR+O6\":\"V3\",\"yq+Q9s\":[\"Dynamic slippage is \",[\"recommendSlippage\"],\"% , the current slippage setting may increase the failure rate of transactions.\"],\"yx/fMc\":\"High\",\"yz7wBu\":\"Close\",\"yzjPpo\":\"Fees will be the same as in most other pools.\",\"z9t6jM\":\"Mining Pool\",\"zA6/Yq\":\"To avoid loss of rewards, please ensure that at least 1 or more participating users exist.\",\"zABfk1\":\"https://blog.dodoex.io/introducing-the-dodo-smart-slippage-3d32d13a4fef\",\"zSMRJ/\":\"Transaction Deadline\",\"zXCpR0\":\"Claim Rewards\",\"zcVtwU\":\"My Pools (PMM)\",\"zeSosD\":\"Starting price\",\"zga9sT\":\"OK\",\"zkFuIm\":\"Total Rewards=Daily Rewards*Duration\",\"znqB4T\":\"Insufficient balance\",\"zwBp5t\":\"Private\",\"zwWKhA\":\"Learn more\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"+/wf6Z\":\"The smaller the slippage coefficient, the lower the slippage for traders, and the deeper the market depth.\",\"+Jkdiu\":\"Transaction Time:\",\"+uZnU3\":\"Cross Chain\",\"/+c6tU\":\"99% Default\",\"/6L4mj\":\"Your position is empty\",\"/Ak0Fw\":[\"Opening \",[\"0\"],\"...\"],\"/BbUJ6\":\"Total Number of Traders\",\"/cF7Rs\":\"Volume\",\"/jQctM\":\"To\",\"/k7Ttv\":[\"Receive \",[\"0\"]],\"/nzjSF\":[[\"0\"],\" pending\"],\"0+31GV\":\"Removing\",\"0O1wzf\":[\"Traders sold ‪\",[\"0\"],\"‬ \",[\"1\"],\", price in the pool increased to \",[\"2\"]],\"0QDjxt\":\"Balance:\",\"0RrIzN\":\"Select token\",\"0S8v3W\":\"The start time cannot be in the past\",\"0Sw1gZ\":\"Staking Rules\",\"0YxDPW\":\"Loading info...\",\"0b0AkA\":\"* Please note that the Fee Rate cannot be modified after the pool is created\",\"1+P9RR\":[\"Switch to \",[\"0\"]],\"1/LP4K\":[[\"tokenB\"],\" per \",[\"tokenA\"]],\"14s9LL\":\"Create Liquidity Mining\",\"1ABiXc\":[\"By adding liquidity you’ll earn <0>\",[\"0\"],\" of all trades on this pair proportional to your share of the pool. Fees are added to the pool, accrue in real time and can be claimed by withdrawing your liquidity.\"],\"1PQRWr\":\"Start Time\",\"1QfxQT\":\"Dismiss\",\"1Qz63U\":\"Pool Type\",\"1gWStS\":\"Unstaking\",\"1yHVE+\":\"Adding\",\"22Xs8M\":\"Deposit Ratio\",\"237hSL\":\"Ended\",\"2IZBPB\":\"The end time must be later than the start time.\",\"2vjOqX\":\"Pools with lower transaction fees will attract more traders.\",\"34w3mT\":\"Single-Token\",\"3CsYwD\":\"Select Pool\",\"3VUfrF\":\"Selected Range\",\"3WdxUv\":\"Do not remind again\",\"3XBvkd\":\"Remove Liquidity\",\"3dP8Wx\":\"Search by address\",\"3ggd2j\":\"Asset ratio within the pool\",\"4cJ0hF\":\"Rewards\",\"4fL/V7\":\"Pay\",\"4kY4C4\":\"Due to the market condition, market price and estimated price may have a slight difference\",\"4nzwq3\":\"Search by token or pool address\",\"4ogEAw\":\"Pegged Exchange Rate\",\"4vKwIV\":\"Private Pool\",\"4xbbt/\":[[\"0\"],\" confirmed\"],\"52uNwk\":\"Creation Time\",\"54ffaC\":\"The current network is inconsistent with the wallet - please switch in wallet\",\"5CZbyC\":\"Set price range\",\"5IHTSS\":\"Full range\",\"5Nb8LL\":\"*Depending on the block time, the real amount of Daily Rewards may deviate slightly.\",\"5OKrbq\":\"Since this pool uses the PMM algorithm, which is different from the normal AMM pool mechanism, the initial price calculation is also different from AMM.\",\"5Pxzb6\":[\"Expected to start at block \",[\"0\"],\" and end at block \",[\"1\"],\". There may be slight differences between actual and expected block numbers.\"],\"5QDjef\":\"The token amount is calculated by initial price.\",\"5etEUX\":\"Max price\",\"5nL2hY\":\"Staked Tokens\",\"6+mYrD\":\"Current price impact\",\"6UYTy8\":\"Minute\",\"6V3Ea3\":\"Copied\",\"6XYkjc\":\"Edit Parameter Settings\",\"6XgEPi\":\"Hour\",\"6lss/t\":\"Pricing Model\",\"6y2TB3\":\"Liquidity\",\"70wH1Q\":\"APR\",\"72/M0o\":\"Enter the token symbol or address\",\"79D0qY\":\"Liquidity data not available.\",\"7Bj3x9\":\"Failed\",\"7C/BwI\":\"Community Treasury\",\"7IKPTP\":\"Fee includes: Cross Chain fees + Swap fees. Gas fee not included.\",\"7VpPHA\":\"Confirm\",\"7X+IbB\":\"Powered by DODO protocol\",\"7X40pG\":\"Fees (24H)\",\"7Z4WfS\":[[\"0\"],\" per \",[\"1\"]],\"7m5+6j\":\"Initial Tokens\",\"7rpoXw\":\"This token is on\",\"7y/8M6\":\"Please confirm in wallet\",\"88dol0\":\"Success Rate\",\"8OiU8L\":\"Pool Creation\",\"8Tg/JR\":\"Custom\",\"8XNsbx\":\"Higher than dynamic slippage\",\"8Z29ZO\":\"Estimated service provider fees\",\"93m8jT\":\"Basic Fee\",\"97jlEV\":\"LP Balance\",\"9D2g7k\":\"The liquidity of DODO is continuous, which is different from the discrete liquidity of UniV3. The ticks shown in the illustration are for demonstration purposes only.\",\"9yc9F+\":[\"Default value is \",[\"warnValue\"],\"%,the current slippage setting is higher than the default value, which means you are willing to accept a worse final execution price.\"],\"A1taO8\":\"Search\",\"A23gVF\":\"Points for staking LP tokens.\",\"AOhRo6\":\"DODO provides a variety of pool versions to suit your needs.\",\"APR\":\"APR\",\"APR = Reward Token Value per Year / TVL\":\"APR = Reward Token Value per Year / TVL\",\"Active\":\"Active\",\"AeZIvT\":\"You will receive\",\"AghcDJ\":\"Price impact exceeds the slippage tolerance you set. Try increasing the slippage tolerance.\",\"All Mining\":\"All Mining\",\"Amount of token rewards\":\"Amount of token rewards\",\"AxPAXW\":\"No results found\",\"AxdOHo\":\"Pair\",\"B0/2ea\":\"s\",\"B0YDoE\":\"Yes, I am sure\",\"B3mhDR\":\"Add liquidity to obtain LP tokens for mining\",\"BRi+RY\":\"Add more liquidity\",\"C1mcuF\":\"This CP has been settled by other addrs\",\"C1qIFl\":\"Liquidity Supplied\",\"CK1KXz\":\"Max\",\"CKyk7Q\":\"Go back\",\"CMHmbm\":\"Slippage\",\"CP1UAq\":\"The slippage coefficient needs to be greater than or equal to 0, and less than or equal to 1.\",\"Calculation = current rewards for a single block × number of blocks in 24h\":\"Calculation = current rewards for a single block × number of blocks in 24h\",\"CeLrge\":\"Mid Price\",\"CkfzUf\":[\"Insufficient funds - Please retry after depositing more \",[\"EtherTokenSymbol\"],\" into your wallet\"],\"CmoOxM\":\"Mining Pool Setup\",\"Copied\":\"Copied\",\"D1bhHv\":\"The pool’s market-making price is fixed\",\"D87pha\":\"Closed\",\"DPfwMq\":\"Done\",\"DPi/hO\":\"Results in a relatively fixed price.\",\"DTFrUE\":[\"Approving \",[\"0\"],\"...\"],\"DWd30U\":\"Current price\",\"DZULmp\":\"Swap Rate\",\"Da1+Da\":\"Pool not found. Please switch to another network and retry.\",\"Daily Rewards\":\"Daily Rewards\",\"Dt4Hc3\":\"Token Pair Mining\",\"Du6bPw\":\"Address\",\"DuVAxN\":[\"The area of the chart indicates the buy/sell volume of \",[\"baseSymbol\"],\" that can be carried by the market when the current price changes to the hover price.\"],\"DupCvC\":\"Added successful\",\"E4LM3N\":\"Add Initial Liquidity\",\"E6MqGy\":\"Add liquidity\",\"EQs1sJ\":\"Min price\",\"ESQO1L\":\"Pool address\",\"EU3wU4\":\"Fee tier\",\"EUBGvH\":\"Are you sure swapping to another chain?\",\"EatqP4\":\"Swaps\",\"EcVqOR\":[[\"0\"],\" Submitted\"],\"Edit\":\"Edit\",\"Eif7f6\":\"PMM Pool\",\"EkAv3P\":\"Concentrated liquidity, higher efficiency\",\"End Time\":\"End Time\",\"Ended\":\"Ended\",\"Enslfm\":\"Destination\",\"EpjpP9\":\"Released Rewards\",\"Ew+VGo\":\"The newly created mining pool can start counting APR after depositing any liquidity.\",\"F+sxb9\":\"Unapproved\",\"F18WP3\":\"Parameters\",\"F2vX4t\":[\"Users buy \",[\"0\"],\" amount:\"],\"F8yRdq\":\"More trade settings\",\"F9xwHA\":[\"Insufficient cross-chain fees, need at least \",[\"0\"],\" \",[\"1\"]],\"FHKsZF\":\"TVL\",\"FQ4aT9\":\"Add Position\",\"FQfStS\":\"Emulator\",\"FRBvjQ\":\"Transaction Pending\",\"Fdp03t\":\"on\",\"FrP5tr\":\"Suitable for stablecoins with price fluctuations within 2%\",\"GAypnX\":\"High slippage tolerance will increase the success rate of transaction, but might not get the best quote.\",\"GGPOuT\":\"set current mid price\",\"GGWsTU\":\"Canceled\",\"GSt7YT\":\"The fee rate must be between 0.01% to 10%\",\"Go back\":\"Go back\",\"Gr2anW\":\"Traders (24H)\",\"Gs02OK\":\"My Positions\",\"H7OUPr\":\"Day\",\"H9HlDe\":\"minutes\",\"HGf8fG\":\"You can set the minimum selling price for single-token pools.\",\"HTX2HV\":\"Minimum received\",\"HXBqgG\":\"Invalid price input\",\"HkWY45\":\"This pool type isn't supported on your current network. You can switch networks in your wallet to create it\",\"HuVZMK\":\"Days\",\"I0LXan\":[\"Price Impact: \",[\"0\"]],\"I0yi1d\":\"Deposit ratio is determined by the current assets ratio in the pool. The ratio does not represent the exchange price\",\"Insufficient market depth to capture the dollar value of [ {{symbols}} ]\":[\"Insufficient market depth to capture the dollar value of [ {\",[\"symbols\"],\"} ]\"],\"Invite\":\"Invite\",\"IwiTcw\":\"The price of this pool is outside of your selected range. Your position is not currently earning fees.\",\"J/hVSQ\":[[\"0\"]],\"J28zul\":\"Connecting...\",\"J39pAJ\":\"Additional Fee\",\"J7M/DA\":\"Pegged\",\"JR7wWw\":\"Equilibrium target\",\"JRgkmT\":\"End release time before adjustment\",\"JYKRJS\":\"Stake\",\"JaeUyE\":[\"Price discrepancy \",[\"lqAndDodoCompareText\"],\" between liquidity pool and the quote price on DODO.\"],\"JdNn1Y\":\"Fetching best price...\",\"Jh223O\":\"Invalid range selected. The min price must be lower than the max price.\",\"JlIjZf\":\"Liquidity Provider\",\"Joa5Dk\":\"*Collecting fees will withdraw currently available fees for you.\",\"JuzN3b\":\"Related CrowdPooling\",\"K/Ay/d\":\"Review Swap\",\"K/PgcA\":\"Select Cross Chain\",\"K8rjE/\":\"Daily rewards before adjustment\",\"KAbREa\":\"*Deflationary tokens are not supported\",\"KAbcm2\":\"Succeeded\",\"KAmxpM\":\"Attention: High slippage tolerance will increase the success rate of transaction, but might not get the best quote.\",\"KRnA5J\":\"Set pool parameters\",\"Kb3KaW\":\"Any Ratio\",\"KkjUUb\":\"Once created, you can adjust the pool’s market-making price at any time. This option is suitable for assets with fluctuating pegged prices. Adjusting the pool’s market-making price allows for more competitive quotes.\",\"KlvBGJ\":\"Select Tokens\",\"KsqhWn\":\"Staking\",\"KvG1xW\":\"Claiming\",\"L37FfW\":\"Create AMM V2 Position\",\"L4nQwl\":\"Suitable for stablecoins with price fluctuations within 0.5%\",\"LDprZB\":\"The slippage coefficient needs to be greater than 0, and less than 0.1.\",\"LHxwaD\":[\"The fee tier should greater than \",[\"0\"],\"%\"],\"LQ0J1B\":\"Flexible customization, take full control of liquidity\",\"LQU+Dm\":\"Risk Disclaimer\",\"LVzIav\":\"The pool’s market-making price can be adjusted\",\"Lfkqg7\":\"Stake tokens to receive mining rewards.\",\"LhMjLm\":\"Time\",\"LtI9AS\":\"Owner\",\"M9dIDb\":\"The pegged exchange rate refers to the exchange rate between two token assets where one's value is pegged/fixed by the other. For example, the pegged exchange rate between the US Dollar and USDT is 1.\",\"MU9s7M\":\"Deposit amounts\",\"MXQodB\":\"Disable Indirect Routing\",\"MZPP7t\":\"Your position has 0 liquidity, and is not earning fees.\",\"Mining Pool\":\"Mining Pool\",\"MvFS/h\":\"No pools yet? Create one!\",\"My Mining\":\"My Mining\",\"My Pools\":\"My Pools\",\"NEQTCn\":\"Share Of Pool\",\"NSCBTb\":\"The setting has been switched to swap mode\",\"NVAuTg\":\"Quote not available\",\"NXZdrO\":\"My pool share\",\"NgeSlx\":\"Learn More\",\"NjdGps\":\"Use the recommended ratio\",\"Nk6ddN\":\"Stake LP tokens and receive mining rewards.\",\"No LP pools match your criteria\":\"No LP pools match your criteria\",\"O6RUgz\":\"Fee rate\",\"OBdohg\":\"Add Liquidity\",\"OFjZGo\":\"Unstake\",\"OJOe+K\":\"Set the fee to the same as most other pools\",\"OKZP2O\":\"If there are no participants before the end, the rewards cannot be taken out anymore.\",\"OZUH85\":\"Your position will appear here.\",\"OauUE6\":\"Fetching Price...\",\"OfhWJH\":\"Reset\",\"OgKD6h\":\"Best offer\",\"OjaWXx\":\"Fresh Mining\",\"OnDEky\":\"LP Fee\",\"OuSseo\":\"Ratio Settings\",\"P+K/3O\":\"Confirming\",\"P4iKEj\":[\"The initial price needs to be greater than \",[\"min\"],\" and less than 100,000,000\"],\"PIYEqF\":\"Quantity model\",\"PLUB/s\":\"Fee\",\"PPqGw9\":\"Applicable to pegged assets with a fixed price and no fluctuation\",\"PVa3KL\":\"Position on\",\"PZqJog\":\"Confirm Cross Chain\",\"Price impact reaches <0>{priceImpact}%, accept the quote\":[\"Price impact reaches <0>\",[\"priceImpact\"],\"%, accept the quote\"],\"Q8W3SC\":\"Volume (1D)\",\"QNWt8A\":\"Estimated Time\",\"QNrpkx\":\"Classical AMM-like pool. Suitable for most assets.\",\"QR4/RH\":\"Swap summary\",\"QoOu4H\":\"You will also claim all rewards from this pool.\",\"QtgfjM\":\"The creator of the liquidity pool can adjust the liquidity distribution by modifying the market-making price parameters. <0>Learn more\",\"R7D79P\":\"Invalid pair\",\"R9Khdg\":\"Auto\",\"Remaining rewards/Total\":\"Remaining rewards/Total\",\"Rewards\":\"Rewards\",\"RtKKbA\":\"Last\",\"RvYEUJ\":\"Suitable for synthetic assets. The liquidity is super concentrated at some price like Curve Finance.\",\"RxHSET\":\"LP Balance:\",\"S3piC2\":\"Tx\",\"S8G1qk\":\"Single\",\"SXnevP\":\"Review Cross Chain\",\"SbBMxj\":\"Share of pool\",\"Search by address\":\"Search by address\",\"Sta9CR\":\"Enter a percent\",\"Staked\":\"Staked\",\"Start Time\":\"Start Time\",\"Sti4vy\":\"Mining\",\"T+qgFw\":\"Price Impact\",\"T0Y2+3\":\"Select a token\",\"T5ExxV\":\"Points for LP token holders.\",\"TFOxRM\":\"Mins\",\"TGi+jm\":\"Doc\",\"TJBHlP\":\"Standard\",\"TP9/K5\":\"Token\",\"TTlkRL\":\"Lower than dynamic slippage\",\"TVL\":\"TVL\",\"TY5fM3\":\"LP Tokens\",\"TaScUS\":[\"Users sell \",[\"0\"],\" amount:\"],\"TizaRy\":\"Wallet incompatibility\",\"TvH4Ym\":[\"Bought \",[\"0\"],\" \",[\"1\"],\", price in the pool decreased to \",[\"2\"]],\"Tz0i8g\":\"Settings\",\"UE2beD\":\"Creator\",\"UN0Nip\":\"Reward Rules\",\"UPXmW+\":\"Trader\",\"URmyfc\":\"Details\",\"UbRKMZ\":\"Pending\",\"Upcoming\":\"Upcoming\",\"Users\":\"Users\",\"Uzr1HF\":[\"Connect to your \",[\"0\"],\" Wallet\"],\"V+rJKF\":\"Seconds\",\"V38hNQ\":\"Single-Token Stake Mining\",\"VXTSOE\":\"Suitable for most situations.\",\"VgOL1Z\":\"Add more to mint at least 1000 LP tokens\",\"Vmw6BM\":\"Something went wrong…<0>Refresh again\",\"WI3lQ1\":\"SELECT\",\"WKj93T\":\"Select Token\",\"WYqq5A\":\"End mining\",\"WgTuci\":[\"Your position will be 100% composed of \",[\"0\"],\" at this price\"],\"When adding rewards, the number of rewards for a single block may be adjusted\":\"When adding rewards, the number of rewards for a single block may be adjusted\",\"X6T02b\":\"This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction.\",\"XPiFIY\":\"Can the pool price be adjusted?\",\"XeovX3\":\"Swap Detail\",\"Xpkm7d\":\"No ForceStop access\",\"Y0Knz4\":\"Checking this option means that the routing algorithm will only route to liquidity pools between the two tokens in the trading pair and will ignore routes with any intermediary tokens.\",\"Y7rVy0\":\"Fee Rate\",\"Y9QDtD\":\"You are making changes to the liquidity of a private pool. This is a highly discretionary operation that may cause substantial inflows/outflows of funds and changes in market prices. Please make sure you are fully aware of the implications of each parameter modification.\",\"YA4hwj\":\"Price Range\",\"YG004A\":[[\"0\"],\" deposited\"],\"YHc3B+\":\"My Liquidity\",\"YHpbe1\":\"For\",\"YUyuNp\":[[\"lqAndDodoCompareText\"],\" Price Difference\"],\"You are not currently providing liquidity for any LP pools.\":\"You are not currently providing liquidity for any LP pools.\",\"You have not create any mining\":\"You have not create any mining\",\"YvXHDU\":[\"The area of the chart indicates the buy/sell volume of \",[\"0\"],\" that can be carried by the market when the current price changes to the hover price.\"],\"Z033WN\":\"Total Swap Fee\",\"Z5HWHd\":\"On\",\"Z7ZXbT\":\"Approve\",\"Z8lGw6\":\"Share\",\"ZXvy7b\":\"Additional routing fees set by the Widget user\",\"ZgtZpB\":\"The start time is too soon, please set a later time\",\"ZhEBp4\":\"Current liquidity pool token price\",\"ZlKTEh\":[\"Reward \",[\"0\"]],\"ZlQ83E\":[\"<0>\",[\"lostRatio\"],\" of the initial liquidity you provide will be burned. <1/>The closer the provided asset ratio is to the recommended ratio (\",[\"recommendRatioText\"],\"), the smaller the portion burned.\"],\"Zm56FI\":\"Maximum slippage do not exceed 50%\",\"a1AzKr\":\"For those who are looking to sell tokens and only need ask-side liquidity.\",\"a7u1N9\":\"Price\",\"aGKLPO\":\"The current network supports new pool types\",\"aIvv/z\":\"The price of this pool is within your selected range. Your position is currently earning fees.\",\"aM1tos\":\"You are creating a pool\",\"ab98Hp\":[\"Created by \",[\"0\"]],\"agPptk\":\"Medium\",\"agRWc1\":\"Minutes\",\"az8lvo\":\"Off\",\"b+KjnH\":\"Your position will not earn fees or be used in trades until the market price moves into your range.\",\"b2jAb+\":\"per\",\"bC0iyq\":\"Suitable for stablecoins with price fluctuations within 10%\",\"bEsfUQ\":\"Confirm submission\",\"bQ3cKo\":\"Select pool by tokens\",\"bUUVED\":\"Asset\",\"bXp9u3\":\"Fee Revenue\",\"bwSQI0\":\"Supply\",\"c4miqE\":\"Pool share\",\"c6TMm0\":\"Mining Type\",\"cDWXuq\":\"Settler\",\"cJtosk\":\"Remove liquidity\",\"cOvZFM\":\"Dynamic\",\"cmUrtC\":\"SEE HOW IT WORKS\",\"cnGeoo\":\"Delete\",\"cnbRVW\":[\"Initial Price \",[\"0\"],\" \",[\"1\"],\" = \",[\"2\"],\" \",[\"3\"]],\"d2CZvA\":\"Initial Price\",\"d8YnVj\":\"Guide Price\",\"dEgA5A\":\"Cancel\",\"dI46oG\":\"Auto switch network\",\"dJqd5x\":[\"Get \",[\"tokenSymbol\"]],\"dUdltF\":\"One-Click Claim\",\"dmiCGN\":\"Select Token Pair\",\"dqWPbT\":\"I have read, understand, and agree to the <0>Terms of Service.\",\"dzV+zO\":\"Modify Confirmation\",\"e/bYdk\":[[\"brief\"],\" submitted\"],\"e38JNU\":\"Tips:\",\"eE0JZ4\":\"Version\",\"eK0eiF\":\"Initial asset ratio\",\"eK6I8d\":\"V2 & PMM\",\"ePK91l\":\"Edit\",\"eTUF28\":\"Min\",\"eVZ7bY\":\"Hide TVL=0 pools\",\"em6LzM\":\"Transaction rejected.\",\"evmVGu\":[\"\\\"Created by \",[\"0\"]],\"fKYdE9\":\"Results in a more volatile price.\",\"fSFt4a\":\"Token Pair\",\"fZ5Vnu\":\"Received\",\"fZFkP1\":\"My Pools\",\"fgGids\":[\"Approve \",[\"0\"]],\"fqDzSu\":\"Rate\",\"fsBGk0\":\"Balance\",\"fxRyGG\":\"fee tier\",\"g3x+cF\":\"Service update, please wait and try again\",\"gz+9Rb\":\"Gas price is too low, please adjust in your wallet and try again\",\"h3PbRN\":\"My Pool Share\",\"h4RLFN\":\"RPC node data exception\",\"h5FVz1\":\"Estimated transaction time\",\"h5pjuM\":\"Collect fees\",\"h7LgzN\":\"Connect to your wallet\",\"hCBYHP\":\"Total Fee Revenue\",\"hXzOVo\":\"Next\",\"hYgDIe\":\"Create\",\"hcNa1G\":\"Token Amount\",\"hdIg7i\":\"Select Pool Version\",\"hom7qf\":\"Claim\",\"i3Z+/Z\":\"Out of range\",\"iDGO1l\":\"Disclaimer\",\"iH8pgl\":\"Back\",\"iLj1a9\":[\"Dynamic slippage is \",[\"recommendSlippage\"],\"%,the current slippage setting is higher than the dynamic slippage, which means you are willing to accept a worse final execution price.\"],\"iPMIoT\":\"Enter an amount\",\"iaocTt\":\"Ratio\",\"j2Uisd\":\"Approving\",\"jMam5g\":[[\"0\"],\" Balance\"],\"jaH6JH\":\"Higher than default slippage\",\"jjuKOj\":\"Min Price\",\"juypHV\":\"Liquidity Providers\",\"kAC8rT\":\"High price\",\"kNeEXg\":\"Current Price\",\"kdzjmC\":[\"The mid price needs to be greater than \",[\"min\"],\" and less than 100,000,000\"],\"kf83Ld\":\"Something went wrong.\",\"kj3p6e\":\"Daily Rewards\",\"ku//5b\":\"Second\",\"l4Za6X\":\"Total Swap Volume\",\"lDgVWA\":\"Receive\",\"lJvbHq\":\"Select Network\",\"lLbR0m\":\"Simple, full-range liquidity\",\"lNYomJ\":\"AMM V2 Position\",\"lQ6r7x\":\"Confirm swap\",\"lTmG/H\":\"Minimum Received\",\"lgE483\":\"Once created, the price cannot be changed. This option applies to assets like ETH-WETH.\",\"lqTDfd\":\"Slippage Tolerance\",\"lsg9Mi\":\"Parameter Settings\",\"lt8yMa\":\"Send to:\",\"luOvdJ\":\"My Staked\",\"m16xKo\":\"Add\",\"m6RmA/\":[\"Insufficient \",[\"0\"],\" balance\"],\"m8r/Yx\":\"AMM V3\",\"mFXnIs\":\"The dynamic slippage is provided by DODO team through analyzing historical transactions.\",\"mObS+5\":\"Failed to get price of the token\",\"mYGY3B\":\"Date\",\"mZ4SrP\":\"Liquidity Pool\",\"me2dmq\":\"Value (USD)\",\"n25Lml\":\"Depth\",\"nIrcQi\":\"No matching pool found\",\"nTWWCZ\":\"Low\",\"nxRg31\":\"Select pair\",\"o/5/4c\":\"Once Mining has started, it cannot be stopped.\",\"o8aMNm\":\"Select a liquidity pool\",\"om+Yr9\":\"Do not select non-standard ERC20 tokens as this may lead to unknown errors!\",\"p2jbcE\":\"Create Pool\",\"p3607o\":\"Managing\",\"p7/w10\":\"Volume (24H)\",\"pHQq+U\":\"Pool Setup\",\"pKjCsP\":\"100% use your own funds and enjoy the maximum degree of flexibility.\",\"pQJBKk\":[\"The closer the provided asset ratio is to the recommended ratio (\",[\"recommendRatioText\"],\"), the smaller the portion burned.\"],\"pSQ1lM\":\"MT Fee\",\"pY/ok7\":\"All chains\",\"pdZiL7\":\"Current Market Price:\",\"peTryP\":[[\"0\"],\"-\",[\"1\"],\" is not supported. Please select another pair.\"],\"pwUZo2\":\"Confirming...\",\"q+Q952\":[\"Users pay \",[\"0\"],\" \",[\"1\"],\" and receive \",[\"2\"],\" \",[\"3\"],\"\\\\nPrice \",[\"4\"],\" (\",[\"5\"],\"%)\"],\"qDhDFK\":\"Traders\",\"qK7wuW\":\"Unable to SETTLE during the cooling-off period\",\"qLkska\":\"The setting has been switched to cross chain mode\",\"qiOIiY\":\"Buy\",\"qjbHuD\":[\"The current slippage protection coefficient set exceeds \",[\"0\"],\"%, which may result in losses.\"],\"qmYDVk\":\"Total Rewards\",\"r7ScnQ\":\"Connect to a wallet\",\"rAx5u1\":\"End Time\",\"rH6vg9\":\"There is no liquidity data.\",\"rQ9c+8\":[\"Output is estimated. If the price changes by more than \",[\"0\"],\" your transaction will revert.\"],\"rRDi3Y\":\"Detail\",\"rSayea\":\"APY\",\"rbsyJM\":\"AMM V2\",\"rdUucN\":\"Preview\",\"sCUx8G\":\"Select Platform\",\"sIPJGT\":\"SELECT TOKEN\",\"sNaLCG\":\"Add Token\",\"sTnImq\":\"Total Liquidity\",\"sVlqoo\":\"AMM V3 Position\",\"sjn3tj\":\"Slippage Coefficient\",\"sxkWRg\":\"Advanced\",\"syToc5\":[[\"0\"],\"/\",[\"1\"],\" Pool Tokens\"],\"t+LmjM\":\"Initial Price Alert\",\"t/YqKh\":\"Remove\",\"t3d3/V\":\"ratio is 0\",\"tKE4Ak\":\"Cross Chain Summary\",\"tMMG40\":[[\"0\"],\"% fee tier\"],\"tMVAXL\":\"SafeERC20: low-level call failed. Please contact the DODO team.\",\"tnRI9r\":\"Pool Creation Confirmation\",\"tu/fxg\":\"Claim fees\",\"tyGEMJ\":\"Amounts\",\"u1tnst\":\"Create One\",\"uAQUqI\":\"Status\",\"uEoBVI\":\"Low price\",\"uaKP0s\":[\"differs from the price quoted by DODO by \",[\"lqAndDodoCompareText\"]],\"ubzjDN\":\"Real Time\",\"udsWDJ\":\"Unsupported network - switch to trade\",\"uiuMDr\":\"Enter parameters to view the yield curve\",\"v4nCHK\":\"Paid\",\"v4wgrk\":\"Failed to add\",\"vH2C/2\":\"Swap\",\"vLyv1R\":\"Hide\",\"vOyUlD\":\"In range\",\"vXvgFK\":\"There is risk of being arbitraged if adding this liquidity.\",\"vxHMzr\":\"address\",\"wSpNR+\":\"This trading pair does not have enough historical data and has used the default dynamic slippage.\",\"wckWOP\":\"Manage\",\"wdxz7K\":\"Source\",\"wmCrk7\":\"You may modify the transaction deadline, the maximum time allowed for a trade to be processed on-chain. However, please note that this may lead to your trade executing at a subpar price, as the market price may change during that time.\",\"wtjDAR\":[[\"0\"],\" Approval Pending\"],\"x3muNy\":\"Liquidity Burn Ratio\",\"x4QVeW\":\"Percentage to remove\",\"x6GJ4a\":\"Max Slippage\",\"xEbi+8\":\"User denied transaction signature.\",\"y1eoq1\":\"Copy link\",\"y4kfSV\":\"WARNING\",\"y5rS9U\":\"Migrate\",\"yM82Jw\":\"ForceStop exception\",\"yQ2kGp\":\"Load more\",\"yQE2r9\":\"Loading\",\"yXm1vH\":\"The initial price is different from the current market price, which may cause your pool to be arbitraged\",\"yY8wAv\":\"Hours\",\"yoR+O6\":\"V3\",\"yq+Q9s\":[\"Dynamic slippage is \",[\"recommendSlippage\"],\"% , the current slippage setting may increase the failure rate of transactions.\"],\"yx/fMc\":\"High\",\"yz7wBu\":\"Close\",\"yzjPpo\":\"Fees will be the same as in most other pools.\",\"z9t6jM\":\"Mining Pool\",\"zA6/Yq\":\"To avoid loss of rewards, please ensure that at least 1 or more participating users exist.\",\"zABfk1\":\"https://blog.dodoex.io/introducing-the-dodo-smart-slippage-3d32d13a4fef\",\"zSMRJ/\":\"Transaction Deadline\",\"zXCpR0\":\"Claim Rewards\",\"zcVtwU\":\"My Pools (PMM)\",\"zeSosD\":\"Starting price\",\"zga9sT\":\"OK\",\"zkFuIm\":\"Total Rewards=Daily Rewards*Duration\",\"znqB4T\":\"Insufficient balance\",\"zwBp5t\":\"Private\",\"zwWKhA\":\"Learn more\"}")}; \ No newline at end of file diff --git a/packages/dodoex-widgets/src/locales/en-US.po b/packages/dodoex-widgets/src/locales/en-US.po index cc51820b..9c7b8a14 100644 --- a/packages/dodoex-widgets/src/locales/en-US.po +++ b/packages/dodoex-widgets/src/locales/en-US.po @@ -834,7 +834,7 @@ msgstr "End release time before adjustment" msgid "Stake" msgstr "Stake" -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:276 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:303 #: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:602 msgid "Price discrepancy {lqAndDodoCompareText} between liquidity pool and the quote price on DODO." msgstr "Price discrepancy {lqAndDodoCompareText} between liquidity pool and the quote price on DODO." @@ -1034,7 +1034,7 @@ msgstr "Fee rate" #: src/widgets/PoolWidget/AMMV3/AMMV3PositionManage.tsx:305 #: src/widgets/PoolWidget/PoolList/hooks/usePoolListTabs.ts:25 #: src/widgets/PoolWidget/PoolList/index.tsx:162 -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:138 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:165 msgid "Add Liquidity" msgstr "Add Liquidity" @@ -1343,6 +1343,10 @@ msgstr "Single-Token Stake Mining" msgid "Suitable for most situations." msgstr "Suitable for most situations." +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:149 +msgid "Add more to mint at least 1000 LP tokens" +msgstr "Add more to mint at least 1000 LP tokens" + #: src/components/List/FailedList.tsx:47 msgid "Something went wrong…<0>Refresh again" msgstr "Something went wrong…<0>Refresh again" @@ -1545,7 +1549,7 @@ msgstr "per" msgid "Suitable for stablecoins with price fluctuations within 10%" msgstr "Suitable for stablecoins with price fluctuations within 10%" -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:270 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:297 #: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:596 msgid "Confirm submission" msgstr "Confirm submission" @@ -1563,7 +1567,7 @@ msgid "Fee Revenue" msgstr "Fee Revenue" #: src/widgets/PoolWidget/AMMV2Create/index.tsx:384 -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:120 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:144 msgid "Supply" msgstr "Supply" @@ -1945,7 +1949,7 @@ msgstr "My Staked" #: src/widgets/PoolWidget/PoolList/MyCreated.tsx:268 #: src/widgets/PoolWidget/PoolList/MyCreated.tsx:564 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:1211 -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:120 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:144 #: src/widgets/PoolWidget/PoolOperate/hooks/usePoolOperateTabs.ts:15 msgid "Add" msgstr "Add" @@ -2276,7 +2280,7 @@ msgstr "Hide" msgid "In range" msgstr "In range" -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:279 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:306 #: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:605 msgid "There is risk of being arbitraged if adding this liquidity." msgstr "There is risk of being arbitraged if adding this liquidity." @@ -2420,7 +2424,7 @@ msgstr "Total Rewards=Daily Rewards*Duration" #: src/components/Swap/index.tsx:771 #: src/components/TokenStatusButton.tsx:18 -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:122 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:146 #: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:248 msgid "Insufficient balance" msgstr "Insufficient balance" diff --git a/packages/dodoex-widgets/src/locales/zh-CN.js b/packages/dodoex-widgets/src/locales/zh-CN.js index 00e0b615..73e837de 100644 --- a/packages/dodoex-widgets/src/locales/zh-CN.js +++ b/packages/dodoex-widgets/src/locales/zh-CN.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"+/wf6Z\":\"滑点系数越小,交易时候的滑点越低,深度越好。\",\"+Jkdiu\":\"交易时长:\",\"+uZnU3\":\"跨链桥\",\"/+c6tU\":\"99% 选择此参数\",\"/6L4mj\":\"您的仓位为空\",\"/Ak0Fw\":[\"连接 \",[\"0\"],\"...\"],\"/BbUJ6\":\"累计交易用户\",\"/cF7Rs\":\"交易量\",\"/jQctM\":\"至\",\"/k7Ttv\":[\"获得 \",[\"0\"]],\"/nzjSF\":[[\"0\"],\" 等待中\"],\"0+31GV\":\"提取\",\"0O1wzf\":[\"卖出\",[\"0\"],\" \",[\"1\"],\",资金池盘口价格涨到 \",[\"2\"]],\"0QDjxt\":\"余额:\",\"0RrIzN\":\"代币选择\",\"0S8v3W\":\"开始时间必须晚于当前时间\",\"0Sw1gZ\":\"挖矿规则\",\"0YxDPW\":\"状态加载中...\",\"0b0AkA\":\"* 请注意,资金池创建完成后,费率无法修改\",\"1+P9RR\":[\"切换至 \",[\"0\"],\" 网络\"],\"1/LP4K\":[[\"tokenB\"],\" 每个 \",[\"tokenA\"]],\"14s9LL\":\"创建挖矿\",\"1ABiXc\":[\"添加流动性后,你可以按照 <0>\",[\"0\"],\" 的比例从资金池中获得交易手续费分润。撤出流动性时,可以将手续费一起取出。\"],\"1PQRWr\":\"开始时间\",\"1QfxQT\":\"忽略\",\"1Qz63U\":\"类型\",\"1gWStS\":\"赎回中\",\"1yHVE+\":\"添加\",\"22Xs8M\":\"充值比例\",\"237hSL\":\"已结束\",\"2IZBPB\":\"结束时间必须晚于开始时间\",\"2vjOqX\":\"更低的手续费率,可以吸引更多的交易者。\",\"34w3mT\":\"单边\",\"3CsYwD\":\"选择做市池\",\"3VUfrF\":\"选定区间\",\"3WdxUv\":\"不再提醒\",\"3XBvkd\":\"移除流动性\",\"3dP8Wx\":\"输入地址\",\"3ggd2j\":\"资金池中资产比例\",\"4cJ0hF\":\"奖励代币\",\"4fL/V7\":\"支付\",\"4kY4C4\":\"由于市场情况不同,市场价格与估算价格可能略有差异。\",\"4nzwq3\":\"通过代币或者资金池地址查找\",\"4ogEAw\":\"锚定价格\",\"4vKwIV\":\"私有池\",\"4xbbt/\":[[\"0\"],\" 已确认\"],\"52uNwk\":\"创建时间\",\"54ffaC\":\"当前网络与钱包不一致,请在钱包中切换\",\"5CZbyC\":\"设置价格区间\",\"5IHTSS\":\"全区间\",\"5Nb8LL\":\"*每天出块的时间并不是固定的,实际每日奖励数量可能会略有偏差\",\"5OKrbq\":\"由于该池使用了PMM算法,与通常的AMM池机制不同,因此初始价格的计算也与AMM不同。\",\"5Pxzb6\":[\"预计开始区块高度{\",[\"start\"],\"},结束区块高度{\",[\"end\"],\"}。出块时间会上下波动,预计的活动时间和实际会有一定误差。\"],\"5QDjef\":\"代币数量由初始价格计算。\",\"5etEUX\":\"最高价格\",\"5nL2hY\":\"质押代币\",\"6+mYrD\":\"当前价格冲击\",\"6UYTy8\":\"分钟\",\"6V3Ea3\":\"已复制\",\"6XYkjc\":\"修改参数\",\"6XgEPi\":\"小时\",\"6lss/t\":\"定价模式\",\"6y2TB3\":\"流动性\",\"70wH1Q\":\"APR\",\"72/M0o\":\"输入代币符号或地址\",\"79D0qY\":\"当前无流动性数据\",\"7Bj3x9\":\"失败\",\"7C/BwI\":\"社区金库\",\"7IKPTP\":\"费用包括过跨链桥和交易的手续费,不包括 gas 费。\",\"7VpPHA\":\"确认\",\"7X+IbB\":\"Powered by DODO protocol\",\"7X40pG\":\"手续费(24小时)\",\"7Z4WfS\":[\"每 \",[\"1\"],\" 计 \",[\"0\"],\" \"],\"7m5+6j\":\"初始代币\",\"7rpoXw\":\"该代币在\",\"7y/8M6\":\"请在钱包确认\",\"88dol0\":\"交易成功率\",\"8OiU8L\":\"创建资金池\",\"8Tg/JR\":\"自定义\",\"8XNsbx\":\"比动态滑点高\",\"8Z29ZO\":\"预计服务供应商费用\",\"93m8jT\":\"基础手续费\",\"97jlEV\":\"LP 资金\",\"9D2g7k\":\"DODO 的流动性是连续的,这与UniV3的离散流动性不同。以柱状图展示用来说明不同做市模式下流动性分布的区别。\",\"9yc9F+\":[\"默认滑点是 \",[\"warnValue\"],\"%,当前滑点设置比默认滑点高,可能会导致最终成交价格较差。\"],\"A1taO8\":\"搜索\",\"A23gVF\":\"参与挖矿获得积分\",\"AOhRo6\":\"DODO 提供多种的做市模式以满足不同资产的流动性需要\",\"APR\":\"APR\",\"APR = Reward Token Value per Year / TVL\":\"APR 计算公式:以当前奖励代币价格估算每年奖励价值 / 总挖矿资金\",\"Active\":\"进行中\",\"AeZIvT\":\"您将会收到\",\"AghcDJ\":\"价格冲击超过了你设置的滑点, 请提高滑点后重试\",\"All Mining\":\"全部挖矿\",\"Amount of token rewards\":\"当前挖矿获得的代币奖励\",\"AxPAXW\":\"未找到匹配结果\",\"AxdOHo\":\"交易对\",\"B0/2ea\":\"秒\",\"B0YDoE\":\"是的,我确定\",\"B3mhDR\":\"添加流动性后,可以获取 LP 代币。质押 LP 代币,开启挖矿。\",\"BRi+RY\":\"添加更多流动性\",\"C1mcuF\":\"此众筹池已被其他地址结算\",\"C1qIFl\":\"做市资金\",\"CK1KXz\":\"全部\",\"CKyk7Q\":\"返回\",\"CMHmbm\":\"滑点\",\"CP1UAq\":\"滑点系数需要大于等于 0 且小于等于 0.1\",\"Calculation = current rewards for a single block × number of blocks in 24h\":\"计算方式=当前单个区块奖励×24h出块数\",\"CeLrge\":\"盘口中间价\",\"CkfzUf\":[\"余额不足 - 请在钱包充值\",[\"EtherTokenSymbol\"],\"后重试\"],\"CmoOxM\":\"设置挖矿资金池\",\"Copied\":\"已复制\",\"D1bhHv\":\"资金池价格固定\",\"D87pha\":\"已关闭\",\"DPfwMq\":\"完成\",\"DPi/hO\":\"适用于价格相对稳定的交易对\",\"DTFrUE\":[\"授权 \",[\"0\"],\" 中\"],\"DWd30U\":\"当前价格\",\"DZULmp\":\"价格\",\"Da1+Da\":\"没有查到资金池,建议您切换网络后重试\",\"Daily Rewards\":\"每日奖励\",\"Dt4Hc3\":\"双币做市挖矿\",\"Du6bPw\":\"合约地址\",\"DuVAxN\":[\"图表的面积表示 \",[\"baseSymbol\"],\" 从市场价到悬停选定价格,市场可以容纳的的交易量。\"],\"DupCvC\":\"添加成功\",\"E4LM3N\":\"添加初始流动性\",\"E6MqGy\":\"添加做市资金\",\"EQs1sJ\":\"最低价格\",\"ESQO1L\":\"资金池地址\",\"EU3wU4\":\"手续费费率\",\"EUBGvH\":\"是否确认切换到另一个链?\",\"EatqP4\":\"交易记录\",\"EcVqOR\":[[\"0\"],\" 已提交\"],\"Edit\":\"编辑\",\"Eif7f6\":\"PMM 资金池\",\"EkAv3P\":\"集中流动性,更高的资金利用率\",\"End Time\":\"结束时间\",\"Ended\":\"已结束\",\"Enslfm\":\"目标\",\"EpjpP9\":\"已释放奖励\",\"Ew+VGo\":\"新上线的挖矿池,存入任意流动性后即可开始统计APR\",\"F+sxb9\":\"未授权\",\"F18WP3\":\"参数\",\"F2vX4t\":[\"用户买入 \",[\"0\"],\" 数额:\"],\"F8yRdq\":\"更多设置\",\"F9xwHA\":[\"跨链费用不足,至少需要 \",[\"0\"],\" \",[\"1\"],\" \"],\"FHKsZF\":\"TVL\",\"FQ4aT9\":\"加仓\",\"FQfStS\":\"模拟器\",\"FRBvjQ\":\"交易进行中\",\"Fdp03t\":\"在\",\"FrP5tr\":\"适用于价格波动在2%以内的稳定币\",\"GAypnX\":\"滑点越高,交易的成功率越高,但是交易的价格可能不会是最好的市场价格。请谨慎调整滑点。\",\"GGPOuT\":\"设置当前中间价\",\"GGWsTU\":\"已撤单\",\"GSt7YT\":\"费率必须在 0.01% 到 10% 之间\",\"Go back\":\"返回\",\"Gr2anW\":\"交易用户 (24小时)\",\"Gs02OK\":\"我的仓位\",\"H7OUPr\":\"天\",\"H9HlDe\":\"分\",\"HGf8fG\":\"你可以设置单边池的最小卖出价格。\",\"HTX2HV\":\"最低收到\",\"HXBqgG\":\"价格输入无效\",\"HkWY45\":\"当前网络不支持此池类型,您可以在钱包中切换网络来创建它\",\"HuVZMK\":\"天\",\"I0LXan\":[\"价格滑点:\",[\"0\"]],\"I0yi1d\":\"充值比例由池内流动资产的比例决定,该比例不代表资产之间的兑换价格\",\"Insufficient market depth to capture the dollar value of [ {{symbols}} ]\":[\"市场深度不足,无法统计【{\",[\"symbols\"],\"}代币】的美元价值\"],\"Invite\":\"邀请\",\"IwiTcw\":\"该池的价格不在你选定的区间内。你的仓位目前不能赚取交易手续费。\",\"J/hVSQ\":[[\"0\"]],\"J28zul\":\"连接中...\",\"J39pAJ\":\"额外手续费\",\"J7M/DA\":\"锚定池\",\"JR7wWw\":\"回归目标\",\"JRgkmT\":\"调整前结束释放时间\",\"JYKRJS\":\"质押\",\"JaeUyE\":[\"资金池报价与 DODO 智能路由价格相差 \",[\"lqAndDodoCompareText\"]],\"JdNn1Y\":\"获取最优价格中...\",\"Jh223O\":\"选定区间无效,最低价格必须低于最高价格。\",\"JlIjZf\":\"做市用户\",\"Joa5Dk\":\"*收取费用将领取当前已分配手续费。\",\"JuzN3b\":\"关联众筹建池\",\"K/Ay/d\":\"预览交易\",\"K/PgcA\":\"选择跨链桥\",\"K8rjE/\":\"调整前每日释放奖励\",\"KAbREa\":\"· 不支持通缩代币\",\"KAbcm2\":\"成功\",\"KAmxpM\":\"注意:滑点越高,交易的成功率越高,但是交易的价格可能不会是最好的市场价格。请谨慎调整滑点。\",\"KRnA5J\":\"修改资金池参数\",\"Kb3KaW\":\"任意比例\",\"KkjUUb\":\"创建完成后,您可以随时修改做市价格,适用于资产锚定价可能出现变化的情况\",\"KlvBGJ\":\"选择代币\",\"KsqhWn\":\"质押中\",\"KvG1xW\":\"领取中\",\"L37FfW\":\"创建 AMM V2 仓位\",\"L4nQwl\":\"适用于价格波动在0.5%以内的稳定币\",\"LDprZB\":\"滑点系数必须大于0,小于0.1。\",\"LHxwaD\":[\"手续费必须大于 \",[\"0\"],\"%\"],\"LQ0J1B\":\"灵活自定义,高度掌控流动性\",\"LQU+Dm\":\"风险警示\",\"LVzIav\":\"池子价格可调整\",\"Lfkqg7\":\"质押指定代币获得挖矿奖励\",\"LhMjLm\":\"时间\",\"LtI9AS\":\"所有者\",\"M9dIDb\":\"锚定价格是指两个代币资产之间的汇率,其中一个资产的价值由另一个锚定。例如,美元和 USDT 之间的汇率是 1。\",\"MU9s7M\":\"充值数额\",\"MXQodB\":\"禁止多跳\",\"MZPP7t\":\"当前仓位流动性为 0 ,没有手续费收入。\",\"Mining Pool\":\"挖矿合约地址\",\"MvFS/h\":\"还没流动性池?来创建一个!\",\"My Mining\":\"我的挖矿\",\"My Pools\":\"我的资金池\",\"NEQTCn\":\"资金池份额\",\"NSCBTb\":\"设置已切换至闪兑模式\",\"NVAuTg\":\"没有报价\",\"NXZdrO\":\"我的资金池份额\",\"NgeSlx\":\"查看详情\",\"NjdGps\":\"使用推荐的比例\",\"Nk6ddN\":\"质押 做市 LP 代币,获得挖矿奖励\",\"No LP pools match your criteria\":\"没有找到符合条件的挖矿项目\",\"O6RUgz\":\"手续费费率\",\"OBdohg\":\"添加流动性\",\"OFjZGo\":\"撤出\",\"OJOe+K\":\"适用于大部分主流币\",\"OKZP2O\":\"若截止前无任何参与者,则挖矿奖励任何人无法提取。\",\"OZUH85\":\"你的仓位将会显示在这里\",\"OauUE6\":\"获取价格中...\",\"OfhWJH\":\"重置\",\"OgKD6h\":\"最优价格\",\"OjaWXx\":\"新上线\",\"OnDEky\":\"LP 手续费\",\"OuSseo\":\"比例设定\",\"P+K/3O\":\"确认中\",\"P4iKEj\":[\"初始价格需要大于 \",[\"min\"],\",小于 100,000,000\"],\"PIYEqF\":\"按照数量\",\"PLUB/s\":\"手续费\",\"PPqGw9\":\"适用于锚定资产,没有波动\",\"PVa3KL\":\"仓位在\",\"PZqJog\":\"确认跨链交易\",\"Price impact reaches <0>{priceImpact}%, accept the quote\":[\"价格冲击为<0>\",[\"priceImpact\"],\"%, 仍接受此报价\"],\"Q8W3SC\":\"交易量(1天)\",\"QNWt8A\":\"预计时间\",\"QNrpkx\":\"类似 AMM 做市策略,适用于大多数币种\",\"QR4/RH\":\"交易预览\",\"QoOu4H\":\"你也将从这个池子里领取所有奖励。\",\"QtgfjM\":\"资金池创建者可以通过修改作市价格参数来调整流动性分布。 <0>了解更多\",\"R7D79P\":\"币对无效\",\"R9Khdg\":\"自动\",\"Remaining rewards/Total\":\"剩余奖励/总奖励\",\"Rewards\":\"奖励代币\",\"RtKKbA\":\"上一步\",\"RvYEUJ\":\"类似于 Curve 的做市策略,适用于合成资产、按照稳定比例兑换的资产\",\"RxHSET\":\"LP 余额:\",\"S3piC2\":\"交易哈希:\",\"S8G1qk\":\"单边\",\"SXnevP\":\"预览跨链交易\",\"SbBMxj\":\"资金池份额\",\"Search by address\":\"输入地址\",\"Sta9CR\":\"输入百分比\",\"Staked\":\"已质押\",\"Start Time\":\"开始时间\",\"Sti4vy\":\"挖矿\",\"T+qgFw\":\"价格冲击\",\"T0Y2+3\":\"选择代币\",\"T5ExxV\":\"添加流动性获得积分\",\"TFOxRM\":\"分钟\",\"TGi+jm\":\"文档\",\"TJBHlP\":\"标准\",\"TP9/K5\":\"代币\",\"TTlkRL\":\"比动态滑点低\",\"TVL\":\"TVL\",\"TY5fM3\":\"LP 代币\",\"TaScUS\":[\"用户卖出 \",[\"0\"],\" 数额\"],\"TizaRy\":\"钱包不兼容\",\"TvH4Ym\":[\"买入 \",[\"0\"],\" \",[\"1\"],\", 资金池价格下降到 \",[\"2\"]],\"Tz0i8g\":\"设置\",\"UE2beD\":\"创建者\",\"UN0Nip\":\"奖励规则\",\"UPXmW+\":\"交易者\",\"URmyfc\":\"详情\",\"UbRKMZ\":\"执行中\",\"Upcoming\":\"待开始\",\"Users\":\"用户\",\"Uzr1HF\":[\"连接你的\",[\"0\"],\"钱包\"],\"V+rJKF\":\"秒\",\"V38hNQ\":\"单币质押挖矿\",\"VXTSOE\":\"适用于大部分交易对\",\"Vmw6BM\":\"服务遇到了一些问题...<0>尝试刷新\",\"WI3lQ1\":\"点击选择\",\"WKj93T\":\"选择代币\",\"WYqq5A\":\"已结束挖矿\",\"WgTuci\":[\"你的仓位将在该价格全部由 \",[\"0\"],\" 组成\"],\"When adding rewards, the number of rewards for a single block may be adjusted\":\"补充奖励时,单个区块奖励数量可能会有所调整\",\"X6T02b\":\"必须先初始化该资金池,才能添加流动性。要初始化,请选择池的起价。然后,输入流动性价格范围和充值金额。由于初始化交易,Gas 费将比通常高。\",\"XPiFIY\":\"是否可以更改资金池报价\",\"XeovX3\":\"交易详情\",\"Xpkm7d\":\"无 ForceStop 访问权限\",\"Y0Knz4\":\"只使用该交易对下的资金池,不会使用第三个币种跳转。\",\"Y7rVy0\":\"手续费率\",\"Y9QDtD\":\"您正在修改私有池的流动性。这是一项自由度极高的操作,有可能造成资金流入/流出,也有可能造成市场价格变化。请确保您清楚每一项修改的含义。\",\"YA4hwj\":\"价格区间\",\"YG004A\":[[\"0\"],\" 已充值\"],\"YHc3B+\":\"我的流动性\",\"YHpbe1\":\"对于\",\"YUyuNp\":[[\"lqAndDodoCompareText\"],\" 价格差\"],\"You are not currently providing liquidity for any LP pools.\":\"您没有参与任何挖矿项目\",\"You have not create any mining\":\"暂未创建任何挖矿\",\"YvXHDU\":[\"图表的面积表示 \",[\"baseSymbol\"],\" 从市场价到悬停选定价格,市场可以容纳的的交易量。\"],\"Z033WN\":\"累计手续费\",\"Z5HWHd\":\"在\",\"Z7ZXbT\":\"代币授权\",\"Z8lGw6\":\"份额\",\"ZXvy7b\":\"由 Widget 设置的额外路由费用\",\"ZgtZpB\":\"请重新设置开始时间,当前的设置时间太往前。\",\"ZhEBp4\":\"当前资金池价格\",\"ZlKTEh\":[\"奖励 \",[\"0\"]],\"ZlQ83E\":[\"<0>\",[\"lostRatio\"],\" 你提供的初始流动性会被燃烧。<1/>提供的资产比例越接近推荐比例 (\",[\"recommendRatioText\"],\"),燃烧比例越少。\"],\"Zm56FI\":\"最大滑点不能超过50%\",\"a1AzKr\":\"适用于新资产发行,为其提供卖盘流动性\",\"a7u1N9\":\"价格\",\"aGKLPO\":\"当前公链网络支持新资金池模型\",\"aIvv/z\":\"该资金池的价格在你选定的区间内。你的仓位目前正在赚取手续费。\",\"aM1tos\":\"正在创建资金池\",\"ab98Hp\":[\"创建者 \",[\"0\"],\" \"],\"agPptk\":\"Medium\",\"agRWc1\":\"分钟\",\"az8lvo\":\"关\",\"b+KjnH\":\"在市场价格进入到你的价格区间之前,您的仓位不能赚取交易手续费。\",\"b2jAb+\":\"每\",\"bC0iyq\":\"适用于价格波动在10%以内的稳定币\",\"bEsfUQ\":\"确认提交\",\"bQ3cKo\":\"通过代币筛选,然后选择做市池\",\"bUUVED\":\"资产\",\"bXp9u3\":\"手续费\",\"bwSQI0\":\"供应\",\"c4miqE\":\"资金池份额\",\"c6TMm0\":\"挖矿类型\",\"cDWXuq\":\"结算者\",\"cJtosk\":\"移除流动性\",\"cOvZFM\":\"动态\",\"cmUrtC\":\"查看教程\",\"cnGeoo\":\"删除\",\"cnbRVW\":[\"初始价格 \",[\"0\"],\" \",[\"1\"],\" = \",[\"2\"],\" \",[\"3\"]],\"d2CZvA\":\"初始价格\",\"d8YnVj\":\"指导价\",\"dEgA5A\":\"取消\",\"dI46oG\":\"自动切换网络\",\"dJqd5x\":[\"获取 \",[\"tokenSymbol\"]],\"dUdltF\":\"领取\",\"dmiCGN\":\"选择币对\",\"dqWPbT\":\"我已经阅读、理解并同意 <0>服务条款\",\"dzV+zO\":\"修改信息确认\",\"e/bYdk\":[[\"brief\"],\" submitted\"],\"e38JNU\":\"小贴士:\",\"eE0JZ4\":\"类型\",\"eK0eiF\":\"初始资产比例\",\"eK6I8d\":\"V2 & PMM\",\"ePK91l\":\"编辑\",\"eTUF28\":\"分钟\",\"eVZ7bY\":\"隐藏 TVL=0 的池子\",\"em6LzM\":\"交易被拒绝.\",\"evmVGu\":[\"创建者 \",[\"0\"]],\"fKYdE9\":\"适用于价格波动较大的交易对\",\"fSFt4a\":\"币对\",\"fZ5Vnu\":\"获得\",\"fZFkP1\":\"我的资金池\",\"fgGids\":[\"授权 \",[\"0\"]],\"fqDzSu\":\"价格\",\"fsBGk0\":\"余额\",\"fxRyGG\":\"手续费费率\",\"g3x+cF\":\"服务升级中, 请等待或重试\",\"gz+9Rb\":\"Gas 价格过低, 请调整后重试\",\"h3PbRN\":\"我的资金池份额\",\"h4RLFN\":\"RPC节点异常\",\"h5FVz1\":\"预计交易时长\",\"h5pjuM\":\"收取手续费\",\"h7LgzN\":\"连接钱包\",\"hCBYHP\":\"总手续费收入\",\"hXzOVo\":\"下一步\",\"hYgDIe\":\"创建\",\"hcNa1G\":\"代币数量\",\"hdIg7i\":\"选择模式\",\"hom7qf\":\"领取\",\"i3Z+/Z\":\"区间外\",\"iDGO1l\":\"免责声明\",\"iH8pgl\":\"返回\",\"iLj1a9\":[\"动态滑点为 \",[\"recommendSlippage\"],\"%,当前的滑点设置高于动态滑点,这意味着你该交易的最终成交价格会比较差。\"],\"iPMIoT\":\"输入代币数量\",\"iaocTt\":\"比例\",\"j2Uisd\":\"授权中\",\"jMam5g\":[[\"0\"],\" 余额\"],\"jaH6JH\":\"比默认滑点高\",\"jjuKOj\":\"最低价\",\"juypHV\":\"做市用户\",\"kAC8rT\":\"最高价\",\"kNeEXg\":\"当前价格\",\"kdzjmC\":[\"中间价必须大于 \",[\"min\"],\",小于 100,000,000\"],\"kf83Ld\":\"发生异常错误.\",\"kj3p6e\":\"每日奖励\",\"ku//5b\":\"秒\",\"l4Za6X\":\"累计交易量\",\"lDgVWA\":\"接收\",\"lJvbHq\":\"选择网络\",\"lLbR0m\":\"简单的全价格区间作市资金池\",\"lNYomJ\":\"AMM V2 仓位\",\"lQ6r7x\":\"确认交易\",\"lTmG/H\":\"最低收到\",\"lgE483\":\"创建完成后,该价格不可更改,适用于ETH-WETH等刚兑资产\",\"lqTDfd\":\"滑点\",\"lsg9Mi\":\"设置参数\",\"lt8yMa\":\"发送至:\",\"luOvdJ\":\"已质押\",\"m16xKo\":\"添加\",\"m6RmA/\":[[\"0\"],\" 余额不足\"],\"m8r/Yx\":\"AMM V3\",\"mFXnIs\":\"动态滑点是由 DODO 团队通过分析历史交易计算得出。\",\"mObS+5\":\"无法获取该币种价格\",\"mYGY3B\":\"日期\",\"mZ4SrP\":\"流动性资金池\",\"me2dmq\":\"价值(美元)\",\"n25Lml\":\"深度\",\"nIrcQi\":\"没有找到结果\",\"nTWWCZ\":\"低\",\"nxRg31\":\"选择币对\",\"o/5/4c\":\"挖矿一旦开始,无法终止。\",\"o8aMNm\":\"查找资金池\",\"om+Yr9\":\"请勿选择非标准ERC20代币,可能导致未知错误!\",\"p2jbcE\":\"创建资金池\",\"p3607o\":\"操作中\",\"p7/w10\":\"交易量(24小时)\",\"pHQq+U\":\"设置资金池\",\"pKjCsP\":\"全部使用你的资金,创建者享有最大程度的调整参数的权限\",\"pQJBKk\":[\"提供的资产比例越接近推荐比例(\",[\"phumensratiotext\"],\"),燃烧的部分越小。\"],\"pSQ1lM\":\"MT 手续费\",\"pY/ok7\":\"所有链\",\"pdZiL7\":\"市价:\",\"peTryP\":[\"当前不支持 \",[\"0\"],\"-\",[\"1\"],\" 币对,请重新选择。\"],\"pwUZo2\":\"确认中\",\"q+Q952\":[\"用户支付 \",[\"0\"],\" \",[\"1\"],\" 获得 \",[\"2\"],\" \",[\"3\"],\"\\\\n价格 \",[\"4\"],\" (\",[\"5\"],\"%)\"],\"qDhDFK\":\"交易用户\",\"qK7wuW\":\"在冷静期无法进行清算\",\"qLkska\":\"设置已切换到跨链桥交易模式\",\"qiOIiY\":\"购买\",\"qjbHuD\":[\"The current slippage protection coefficient set exceeds \",[\"0\"],\"%, which may result in losses.\"],\"qmYDVk\":\"总奖励\",\"r7ScnQ\":\"连接钱包\",\"rAx5u1\":\"结束时间\",\"rH6vg9\":\"当前没有流动性数据\",\"rQ9c+8\":[\"当前交易数量是预估的结果。如果价格变化超过 \",[\"0\"],\",你的交易将终止。\"],\"rRDi3Y\":\"详情\",\"rSayea\":\"预估年化(APY)\",\"rbsyJM\":\"AMM V2\",\"rdUucN\":\"预览\",\"sCUx8G\":\"选择平台\",\"sIPJGT\":\"选择代币\",\"sNaLCG\":\"添加代币\",\"sTnImq\":\"总资金\",\"sVlqoo\":\"AMM V3 仓位\",\"sjn3tj\":\"滑点系数\",\"sxkWRg\":\"高级\",\"syToc5\":[[\"0\"],\"/\",[\"1\"],\" 资金池代币\"],\"t+LmjM\":\"初始价格提示\",\"t/YqKh\":\"提取\",\"t3d3/V\":\"比例是 0\",\"tKE4Ak\":\"跨链桥概览\",\"tMMG40\":[[\"0\"],\"% 手续费费率\"],\"tMVAXL\":\"SafeERC20:low-level call failed,请联系DODO团队解决。\",\"tnRI9r\":\"确认创建资金池\",\"tu/fxg\":\"领取手续费\",\"tyGEMJ\":\"数量\",\"u1tnst\":\"创建一个\",\"uAQUqI\":\"状态\",\"uEoBVI\":\"最低价\",\"uaKP0s\":[\"与 DODO \",[\"lqanddodocomparetext\"],\" 的报价不同。\"],\"ubzjDN\":\"实时数据\",\"udsWDJ\":\"未支持网络 - 请切换后进行交易\",\"uiuMDr\":\"输入参数查看做市模拟图\",\"v4nCHK\":\"支付\",\"v4wgrk\":\"添加失败\",\"vH2C/2\":\"交易\",\"vLyv1R\":\"隐藏\",\"vOyUlD\":\"在区间内\",\"vXvgFK\":\"添加资金有可能会被套利,请谨慎操作。\",\"vxHMzr\":\"合约地址\",\"wSpNR+\":\"该交易对没有足够的历史交易数据,已使用默认滑点值\",\"wckWOP\":\"管理\",\"wdxz7K\":\"源\",\"wmCrk7\":\"摸可以修改交易的截止日期,也就是链上处理交易的最长时间。请注意,在链上处理期间市场价格可能会发生变化,这可能会导致你的交易会以较低的价格被执行。\",\"wtjDAR\":[[\"0\"],\" 授权中\"],\"x3muNy\":\"流动性燃烧比例\",\"x4QVeW\":\"按照比例\",\"x6GJ4a\":\"最大滑点\",\"xEbi+8\":\"用户拒绝交易签名.\",\"y1eoq1\":\"复制链接\",\"y4kfSV\":\"警告\",\"y5rS9U\":\"迁移\",\"yM82Jw\":\"ForceStop 异常\",\"yQ2kGp\":\"更多\",\"yQE2r9\":\"等待中\",\"yXm1vH\":\"初始价格与当前市场价之间存在价差,有可能被搬砖套利,造成资产损失。\",\"yY8wAv\":\"小时\",\"yoR+O6\":\"V3\",\"yq+Q9s\":[\"动态滑点是 \",[\"recommendSlippage\"],\"%, 当前的滑点设置可能会增加交易失败率。\"],\"yx/fMc\":\"高\",\"yz7wBu\":\"关闭\",\"yzjPpo\":\"适用于稳定币\",\"z9t6jM\":\"挖矿合约地址\",\"zA6/Yq\":\"为避免奖励代币的损失,请确保至少存在 1 名用户参与挖矿。\",\"zABfk1\":\"https://blog.dodoex.io/introducing-the-dodo-smart-slippage-3d32d13a4fef\",\"zSMRJ/\":\"交易截止时间\",\"zXCpR0\":\"领取奖励\",\"zcVtwU\":\"我的资金池 (PMM)\",\"zeSosD\":\"初始价格\",\"zga9sT\":\"好的\",\"zkFuIm\":\"总奖励 = 每日奖励数量 * 时长\",\"znqB4T\":\"余额不足\",\"zwBp5t\":\"私有池\",\"zwWKhA\":\"了解更多\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"+/wf6Z\":\"滑点系数越小,交易时候的滑点越低,深度越好。\",\"+Jkdiu\":\"交易时长:\",\"+uZnU3\":\"跨链桥\",\"/+c6tU\":\"99% 选择此参数\",\"/6L4mj\":\"您的仓位为空\",\"/Ak0Fw\":[\"连接 \",[\"0\"],\"...\"],\"/BbUJ6\":\"累计交易用户\",\"/cF7Rs\":\"交易量\",\"/jQctM\":\"至\",\"/k7Ttv\":[\"获得 \",[\"0\"]],\"/nzjSF\":[[\"0\"],\" 等待中\"],\"0+31GV\":\"提取\",\"0O1wzf\":[\"卖出\",[\"0\"],\" \",[\"1\"],\",资金池盘口价格涨到 \",[\"2\"]],\"0QDjxt\":\"余额:\",\"0RrIzN\":\"代币选择\",\"0S8v3W\":\"开始时间必须晚于当前时间\",\"0Sw1gZ\":\"挖矿规则\",\"0YxDPW\":\"状态加载中...\",\"0b0AkA\":\"* 请注意,资金池创建完成后,费率无法修改\",\"1+P9RR\":[\"切换至 \",[\"0\"],\" 网络\"],\"1/LP4K\":[[\"tokenB\"],\" 每个 \",[\"tokenA\"]],\"14s9LL\":\"创建挖矿\",\"1ABiXc\":[\"添加流动性后,你可以按照 <0>\",[\"0\"],\" 的比例从资金池中获得交易手续费分润。撤出流动性时,可以将手续费一起取出。\"],\"1PQRWr\":\"开始时间\",\"1QfxQT\":\"忽略\",\"1Qz63U\":\"类型\",\"1gWStS\":\"赎回中\",\"1yHVE+\":\"添加\",\"22Xs8M\":\"充值比例\",\"237hSL\":\"已结束\",\"2IZBPB\":\"结束时间必须晚于开始时间\",\"2vjOqX\":\"更低的手续费率,可以吸引更多的交易者。\",\"34w3mT\":\"单边\",\"3CsYwD\":\"选择做市池\",\"3VUfrF\":\"选定区间\",\"3WdxUv\":\"不再提醒\",\"3XBvkd\":\"移除流动性\",\"3dP8Wx\":\"输入地址\",\"3ggd2j\":\"资金池中资产比例\",\"4cJ0hF\":\"奖励代币\",\"4fL/V7\":\"支付\",\"4kY4C4\":\"由于市场情况不同,市场价格与估算价格可能略有差异。\",\"4nzwq3\":\"通过代币或者资金池地址查找\",\"4ogEAw\":\"锚定价格\",\"4vKwIV\":\"私有池\",\"4xbbt/\":[[\"0\"],\" 已确认\"],\"52uNwk\":\"创建时间\",\"54ffaC\":\"当前网络与钱包不一致,请在钱包中切换\",\"5CZbyC\":\"设置价格区间\",\"5IHTSS\":\"全区间\",\"5Nb8LL\":\"*每天出块的时间并不是固定的,实际每日奖励数量可能会略有偏差\",\"5OKrbq\":\"由于该池使用了PMM算法,与通常的AMM池机制不同,因此初始价格的计算也与AMM不同。\",\"5Pxzb6\":[\"预计开始区块高度{\",[\"start\"],\"},结束区块高度{\",[\"end\"],\"}。出块时间会上下波动,预计的活动时间和实际会有一定误差。\"],\"5QDjef\":\"代币数量由初始价格计算。\",\"5etEUX\":\"最高价格\",\"5nL2hY\":\"质押代币\",\"6+mYrD\":\"当前价格冲击\",\"6UYTy8\":\"分钟\",\"6V3Ea3\":\"已复制\",\"6XYkjc\":\"修改参数\",\"6XgEPi\":\"小时\",\"6lss/t\":\"定价模式\",\"6y2TB3\":\"流动性\",\"70wH1Q\":\"APR\",\"72/M0o\":\"输入代币符号或地址\",\"79D0qY\":\"当前无流动性数据\",\"7Bj3x9\":\"失败\",\"7C/BwI\":\"社区金库\",\"7IKPTP\":\"费用包括过跨链桥和交易的手续费,不包括 gas 费。\",\"7VpPHA\":\"确认\",\"7X+IbB\":\"Powered by DODO protocol\",\"7X40pG\":\"手续费(24小时)\",\"7Z4WfS\":[\"每 \",[\"1\"],\" 计 \",[\"0\"],\" \"],\"7m5+6j\":\"初始代币\",\"7rpoXw\":\"该代币在\",\"7y/8M6\":\"请在钱包确认\",\"88dol0\":\"交易成功率\",\"8OiU8L\":\"创建资金池\",\"8Tg/JR\":\"自定义\",\"8XNsbx\":\"比动态滑点高\",\"8Z29ZO\":\"预计服务供应商费用\",\"93m8jT\":\"基础手续费\",\"97jlEV\":\"LP 资金\",\"9D2g7k\":\"DODO 的流动性是连续的,这与UniV3的离散流动性不同。以柱状图展示用来说明不同做市模式下流动性分布的区别。\",\"9yc9F+\":[\"默认滑点是 \",[\"warnValue\"],\"%,当前滑点设置比默认滑点高,可能会导致最终成交价格较差。\"],\"A1taO8\":\"搜索\",\"A23gVF\":\"参与挖矿获得积分\",\"AOhRo6\":\"DODO 提供多种的做市模式以满足不同资产的流动性需要\",\"APR\":\"APR\",\"APR = Reward Token Value per Year / TVL\":\"APR 计算公式:以当前奖励代币价格估算每年奖励价值 / 总挖矿资金\",\"Active\":\"进行中\",\"AeZIvT\":\"您将会收到\",\"AghcDJ\":\"价格冲击超过了你设置的滑点, 请提高滑点后重试\",\"All Mining\":\"全部挖矿\",\"Amount of token rewards\":\"当前挖矿获得的代币奖励\",\"AxPAXW\":\"未找到匹配结果\",\"AxdOHo\":\"交易对\",\"B0/2ea\":\"秒\",\"B0YDoE\":\"是的,我确定\",\"B3mhDR\":\"添加流动性后,可以获取 LP 代币。质押 LP 代币,开启挖矿。\",\"BRi+RY\":\"添加更多流动性\",\"C1mcuF\":\"此众筹池已被其他地址结算\",\"C1qIFl\":\"做市资金\",\"CK1KXz\":\"全部\",\"CKyk7Q\":\"返回\",\"CMHmbm\":\"滑点\",\"CP1UAq\":\"滑点系数需要大于等于 0 且小于等于 0.1\",\"Calculation = current rewards for a single block × number of blocks in 24h\":\"计算方式=当前单个区块奖励×24h出块数\",\"CeLrge\":\"盘口中间价\",\"CkfzUf\":[\"余额不足 - 请在钱包充值\",[\"EtherTokenSymbol\"],\"后重试\"],\"CmoOxM\":\"设置挖矿资金池\",\"Copied\":\"已复制\",\"D1bhHv\":\"资金池价格固定\",\"D87pha\":\"已关闭\",\"DPfwMq\":\"完成\",\"DPi/hO\":\"适用于价格相对稳定的交易对\",\"DTFrUE\":[\"授权 \",[\"0\"],\" 中\"],\"DWd30U\":\"当前价格\",\"DZULmp\":\"价格\",\"Da1+Da\":\"没有查到资金池,建议您切换网络后重试\",\"Daily Rewards\":\"每日奖励\",\"Dt4Hc3\":\"双币做市挖矿\",\"Du6bPw\":\"合约地址\",\"DuVAxN\":[\"图表的面积表示 \",[\"baseSymbol\"],\" 从市场价到悬停选定价格,市场可以容纳的的交易量。\"],\"DupCvC\":\"添加成功\",\"E4LM3N\":\"添加初始流动性\",\"E6MqGy\":\"添加做市资金\",\"EQs1sJ\":\"最低价格\",\"ESQO1L\":\"资金池地址\",\"EU3wU4\":\"手续费费率\",\"EUBGvH\":\"是否确认切换到另一个链?\",\"EatqP4\":\"交易记录\",\"EcVqOR\":[[\"0\"],\" 已提交\"],\"Edit\":\"编辑\",\"Eif7f6\":\"PMM 资金池\",\"EkAv3P\":\"集中流动性,更高的资金利用率\",\"End Time\":\"结束时间\",\"Ended\":\"已结束\",\"Enslfm\":\"目标\",\"EpjpP9\":\"已释放奖励\",\"Ew+VGo\":\"新上线的挖矿池,存入任意流动性后即可开始统计APR\",\"F+sxb9\":\"未授权\",\"F18WP3\":\"参数\",\"F2vX4t\":[\"用户买入 \",[\"0\"],\" 数额:\"],\"F8yRdq\":\"更多设置\",\"F9xwHA\":[\"跨链费用不足,至少需要 \",[\"0\"],\" \",[\"1\"],\" \"],\"FHKsZF\":\"TVL\",\"FQ4aT9\":\"加仓\",\"FQfStS\":\"模拟器\",\"FRBvjQ\":\"交易进行中\",\"Fdp03t\":\"在\",\"FrP5tr\":\"适用于价格波动在2%以内的稳定币\",\"GAypnX\":\"滑点越高,交易的成功率越高,但是交易的价格可能不会是最好的市场价格。请谨慎调整滑点。\",\"GGPOuT\":\"设置当前中间价\",\"GGWsTU\":\"已撤单\",\"GSt7YT\":\"费率必须在 0.01% 到 10% 之间\",\"Go back\":\"返回\",\"Gr2anW\":\"交易用户 (24小时)\",\"Gs02OK\":\"我的仓位\",\"H7OUPr\":\"天\",\"H9HlDe\":\"分\",\"HGf8fG\":\"你可以设置单边池的最小卖出价格。\",\"HTX2HV\":\"最低收到\",\"HXBqgG\":\"价格输入无效\",\"HkWY45\":\"当前网络不支持此池类型,您可以在钱包中切换网络来创建它\",\"HuVZMK\":\"天\",\"I0LXan\":[\"价格滑点:\",[\"0\"]],\"I0yi1d\":\"充值比例由池内流动资产的比例决定,该比例不代表资产之间的兑换价格\",\"Insufficient market depth to capture the dollar value of [ {{symbols}} ]\":[\"市场深度不足,无法统计【{\",[\"symbols\"],\"}代币】的美元价值\"],\"Invite\":\"邀请\",\"IwiTcw\":\"该池的价格不在你选定的区间内。你的仓位目前不能赚取交易手续费。\",\"J/hVSQ\":[[\"0\"]],\"J28zul\":\"连接中...\",\"J39pAJ\":\"额外手续费\",\"J7M/DA\":\"锚定池\",\"JR7wWw\":\"回归目标\",\"JRgkmT\":\"调整前结束释放时间\",\"JYKRJS\":\"质押\",\"JaeUyE\":[\"资金池报价与 DODO 智能路由价格相差 \",[\"lqAndDodoCompareText\"]],\"JdNn1Y\":\"获取最优价格中...\",\"Jh223O\":\"选定区间无效,最低价格必须低于最高价格。\",\"JlIjZf\":\"做市用户\",\"Joa5Dk\":\"*收取费用将领取当前已分配手续费。\",\"JuzN3b\":\"关联众筹建池\",\"K/Ay/d\":\"预览交易\",\"K/PgcA\":\"选择跨链桥\",\"K8rjE/\":\"调整前每日释放奖励\",\"KAbREa\":\"· 不支持通缩代币\",\"KAbcm2\":\"成功\",\"KAmxpM\":\"注意:滑点越高,交易的成功率越高,但是交易的价格可能不会是最好的市场价格。请谨慎调整滑点。\",\"KRnA5J\":\"修改资金池参数\",\"Kb3KaW\":\"任意比例\",\"KkjUUb\":\"创建完成后,您可以随时修改做市价格,适用于资产锚定价可能出现变化的情况\",\"KlvBGJ\":\"选择代币\",\"KsqhWn\":\"质押中\",\"KvG1xW\":\"领取中\",\"L37FfW\":\"创建 AMM V2 仓位\",\"L4nQwl\":\"适用于价格波动在0.5%以内的稳定币\",\"LDprZB\":\"滑点系数必须大于0,小于0.1。\",\"LHxwaD\":[\"手续费必须大于 \",[\"0\"],\"%\"],\"LQ0J1B\":\"灵活自定义,高度掌控流动性\",\"LQU+Dm\":\"风险警示\",\"LVzIav\":\"池子价格可调整\",\"Lfkqg7\":\"质押指定代币获得挖矿奖励\",\"LhMjLm\":\"时间\",\"LtI9AS\":\"所有者\",\"M9dIDb\":\"锚定价格是指两个代币资产之间的汇率,其中一个资产的价值由另一个锚定。例如,美元和 USDT 之间的汇率是 1。\",\"MU9s7M\":\"充值数额\",\"MXQodB\":\"禁止多跳\",\"MZPP7t\":\"当前仓位流动性为 0 ,没有手续费收入。\",\"Mining Pool\":\"挖矿合约地址\",\"MvFS/h\":\"还没流动性池?来创建一个!\",\"My Mining\":\"我的挖矿\",\"My Pools\":\"我的资金池\",\"NEQTCn\":\"资金池份额\",\"NSCBTb\":\"设置已切换至闪兑模式\",\"NVAuTg\":\"没有报价\",\"NXZdrO\":\"我的资金池份额\",\"NgeSlx\":\"查看详情\",\"NjdGps\":\"使用推荐的比例\",\"Nk6ddN\":\"质押 做市 LP 代币,获得挖矿奖励\",\"No LP pools match your criteria\":\"没有找到符合条件的挖矿项目\",\"O6RUgz\":\"手续费费率\",\"OBdohg\":\"添加流动性\",\"OFjZGo\":\"撤出\",\"OJOe+K\":\"适用于大部分主流币\",\"OKZP2O\":\"若截止前无任何参与者,则挖矿奖励任何人无法提取。\",\"OZUH85\":\"你的仓位将会显示在这里\",\"OauUE6\":\"获取价格中...\",\"OfhWJH\":\"重置\",\"OgKD6h\":\"最优价格\",\"OjaWXx\":\"新上线\",\"OnDEky\":\"LP 手续费\",\"OuSseo\":\"比例设定\",\"P+K/3O\":\"确认中\",\"P4iKEj\":[\"初始价格需要大于 \",[\"min\"],\",小于 100,000,000\"],\"PIYEqF\":\"按照数量\",\"PLUB/s\":\"手续费\",\"PPqGw9\":\"适用于锚定资产,没有波动\",\"PVa3KL\":\"仓位在\",\"PZqJog\":\"确认跨链交易\",\"Price impact reaches <0>{priceImpact}%, accept the quote\":[\"价格冲击为<0>\",[\"priceImpact\"],\"%, 仍接受此报价\"],\"Q8W3SC\":\"交易量(1天)\",\"QNWt8A\":\"预计时间\",\"QNrpkx\":\"类似 AMM 做市策略,适用于大多数币种\",\"QR4/RH\":\"交易预览\",\"QoOu4H\":\"你也将从这个池子里领取所有奖励。\",\"QtgfjM\":\"资金池创建者可以通过修改作市价格参数来调整流动性分布。 <0>了解更多\",\"R7D79P\":\"币对无效\",\"R9Khdg\":\"自动\",\"Remaining rewards/Total\":\"剩余奖励/总奖励\",\"Rewards\":\"奖励代币\",\"RtKKbA\":\"上一步\",\"RvYEUJ\":\"类似于 Curve 的做市策略,适用于合成资产、按照稳定比例兑换的资产\",\"RxHSET\":\"LP 余额:\",\"S3piC2\":\"交易哈希:\",\"S8G1qk\":\"单边\",\"SXnevP\":\"预览跨链交易\",\"SbBMxj\":\"资金池份额\",\"Search by address\":\"输入地址\",\"Sta9CR\":\"输入百分比\",\"Staked\":\"已质押\",\"Start Time\":\"开始时间\",\"Sti4vy\":\"挖矿\",\"T+qgFw\":\"价格冲击\",\"T0Y2+3\":\"选择代币\",\"T5ExxV\":\"添加流动性获得积分\",\"TFOxRM\":\"分钟\",\"TGi+jm\":\"文档\",\"TJBHlP\":\"标准\",\"TP9/K5\":\"代币\",\"TTlkRL\":\"比动态滑点低\",\"TVL\":\"TVL\",\"TY5fM3\":\"LP 代币\",\"TaScUS\":[\"用户卖出 \",[\"0\"],\" 数额\"],\"TizaRy\":\"钱包不兼容\",\"TvH4Ym\":[\"买入 \",[\"0\"],\" \",[\"1\"],\", 资金池价格下降到 \",[\"2\"]],\"Tz0i8g\":\"设置\",\"UE2beD\":\"创建者\",\"UN0Nip\":\"奖励规则\",\"UPXmW+\":\"交易者\",\"URmyfc\":\"详情\",\"UbRKMZ\":\"执行中\",\"Upcoming\":\"待开始\",\"Users\":\"用户\",\"Uzr1HF\":[\"连接你的\",[\"0\"],\"钱包\"],\"V+rJKF\":\"秒\",\"V38hNQ\":\"单币质押挖矿\",\"VXTSOE\":\"适用于大部分交易对\",\"VgOL1Z\":\"Add more to mint at least 1000 LP tokens\",\"Vmw6BM\":\"服务遇到了一些问题...<0>尝试刷新\",\"WI3lQ1\":\"点击选择\",\"WKj93T\":\"选择代币\",\"WYqq5A\":\"已结束挖矿\",\"WgTuci\":[\"你的仓位将在该价格全部由 \",[\"0\"],\" 组成\"],\"When adding rewards, the number of rewards for a single block may be adjusted\":\"补充奖励时,单个区块奖励数量可能会有所调整\",\"X6T02b\":\"必须先初始化该资金池,才能添加流动性。要初始化,请选择池的起价。然后,输入流动性价格范围和充值金额。由于初始化交易,Gas 费将比通常高。\",\"XPiFIY\":\"是否可以更改资金池报价\",\"XeovX3\":\"交易详情\",\"Xpkm7d\":\"无 ForceStop 访问权限\",\"Y0Knz4\":\"只使用该交易对下的资金池,不会使用第三个币种跳转。\",\"Y7rVy0\":\"手续费率\",\"Y9QDtD\":\"您正在修改私有池的流动性。这是一项自由度极高的操作,有可能造成资金流入/流出,也有可能造成市场价格变化。请确保您清楚每一项修改的含义。\",\"YA4hwj\":\"价格区间\",\"YG004A\":[[\"0\"],\" 已充值\"],\"YHc3B+\":\"我的流动性\",\"YHpbe1\":\"对于\",\"YUyuNp\":[[\"lqAndDodoCompareText\"],\" 价格差\"],\"You are not currently providing liquidity for any LP pools.\":\"您没有参与任何挖矿项目\",\"You have not create any mining\":\"暂未创建任何挖矿\",\"YvXHDU\":[\"图表的面积表示 \",[\"baseSymbol\"],\" 从市场价到悬停选定价格,市场可以容纳的的交易量。\"],\"Z033WN\":\"累计手续费\",\"Z5HWHd\":\"在\",\"Z7ZXbT\":\"代币授权\",\"Z8lGw6\":\"份额\",\"ZXvy7b\":\"由 Widget 设置的额外路由费用\",\"ZgtZpB\":\"请重新设置开始时间,当前的设置时间太往前。\",\"ZhEBp4\":\"当前资金池价格\",\"ZlKTEh\":[\"奖励 \",[\"0\"]],\"ZlQ83E\":[\"<0>\",[\"lostRatio\"],\" 你提供的初始流动性会被燃烧。<1/>提供的资产比例越接近推荐比例 (\",[\"recommendRatioText\"],\"),燃烧比例越少。\"],\"Zm56FI\":\"最大滑点不能超过50%\",\"a1AzKr\":\"适用于新资产发行,为其提供卖盘流动性\",\"a7u1N9\":\"价格\",\"aGKLPO\":\"当前公链网络支持新资金池模型\",\"aIvv/z\":\"该资金池的价格在你选定的区间内。你的仓位目前正在赚取手续费。\",\"aM1tos\":\"正在创建资金池\",\"ab98Hp\":[\"创建者 \",[\"0\"],\" \"],\"agPptk\":\"Medium\",\"agRWc1\":\"分钟\",\"az8lvo\":\"关\",\"b+KjnH\":\"在市场价格进入到你的价格区间之前,您的仓位不能赚取交易手续费。\",\"b2jAb+\":\"每\",\"bC0iyq\":\"适用于价格波动在10%以内的稳定币\",\"bEsfUQ\":\"确认提交\",\"bQ3cKo\":\"通过代币筛选,然后选择做市池\",\"bUUVED\":\"资产\",\"bXp9u3\":\"手续费\",\"bwSQI0\":\"供应\",\"c4miqE\":\"资金池份额\",\"c6TMm0\":\"挖矿类型\",\"cDWXuq\":\"结算者\",\"cJtosk\":\"移除流动性\",\"cOvZFM\":\"动态\",\"cmUrtC\":\"查看教程\",\"cnGeoo\":\"删除\",\"cnbRVW\":[\"初始价格 \",[\"0\"],\" \",[\"1\"],\" = \",[\"2\"],\" \",[\"3\"]],\"d2CZvA\":\"初始价格\",\"d8YnVj\":\"指导价\",\"dEgA5A\":\"取消\",\"dI46oG\":\"自动切换网络\",\"dJqd5x\":[\"获取 \",[\"tokenSymbol\"]],\"dUdltF\":\"领取\",\"dmiCGN\":\"选择币对\",\"dqWPbT\":\"我已经阅读、理解并同意 <0>服务条款\",\"dzV+zO\":\"修改信息确认\",\"e/bYdk\":[[\"brief\"],\" submitted\"],\"e38JNU\":\"小贴士:\",\"eE0JZ4\":\"类型\",\"eK0eiF\":\"初始资产比例\",\"eK6I8d\":\"V2 & PMM\",\"ePK91l\":\"编辑\",\"eTUF28\":\"分钟\",\"eVZ7bY\":\"隐藏 TVL=0 的池子\",\"em6LzM\":\"交易被拒绝.\",\"evmVGu\":[\"创建者 \",[\"0\"]],\"fKYdE9\":\"适用于价格波动较大的交易对\",\"fSFt4a\":\"币对\",\"fZ5Vnu\":\"获得\",\"fZFkP1\":\"我的资金池\",\"fgGids\":[\"授权 \",[\"0\"]],\"fqDzSu\":\"价格\",\"fsBGk0\":\"余额\",\"fxRyGG\":\"手续费费率\",\"g3x+cF\":\"服务升级中, 请等待或重试\",\"gz+9Rb\":\"Gas 价格过低, 请调整后重试\",\"h3PbRN\":\"我的资金池份额\",\"h4RLFN\":\"RPC节点异常\",\"h5FVz1\":\"预计交易时长\",\"h5pjuM\":\"收取手续费\",\"h7LgzN\":\"连接钱包\",\"hCBYHP\":\"总手续费收入\",\"hXzOVo\":\"下一步\",\"hYgDIe\":\"创建\",\"hcNa1G\":\"代币数量\",\"hdIg7i\":\"选择模式\",\"hom7qf\":\"领取\",\"i3Z+/Z\":\"区间外\",\"iDGO1l\":\"免责声明\",\"iH8pgl\":\"返回\",\"iLj1a9\":[\"动态滑点为 \",[\"recommendSlippage\"],\"%,当前的滑点设置高于动态滑点,这意味着你该交易的最终成交价格会比较差。\"],\"iPMIoT\":\"输入代币数量\",\"iaocTt\":\"比例\",\"j2Uisd\":\"授权中\",\"jMam5g\":[[\"0\"],\" 余额\"],\"jaH6JH\":\"比默认滑点高\",\"jjuKOj\":\"最低价\",\"juypHV\":\"做市用户\",\"kAC8rT\":\"最高价\",\"kNeEXg\":\"当前价格\",\"kdzjmC\":[\"中间价必须大于 \",[\"min\"],\",小于 100,000,000\"],\"kf83Ld\":\"发生异常错误.\",\"kj3p6e\":\"每日奖励\",\"ku//5b\":\"秒\",\"l4Za6X\":\"累计交易量\",\"lDgVWA\":\"接收\",\"lJvbHq\":\"选择网络\",\"lLbR0m\":\"简单的全价格区间作市资金池\",\"lNYomJ\":\"AMM V2 仓位\",\"lQ6r7x\":\"确认交易\",\"lTmG/H\":\"最低收到\",\"lgE483\":\"创建完成后,该价格不可更改,适用于ETH-WETH等刚兑资产\",\"lqTDfd\":\"滑点\",\"lsg9Mi\":\"设置参数\",\"lt8yMa\":\"发送至:\",\"luOvdJ\":\"已质押\",\"m16xKo\":\"添加\",\"m6RmA/\":[[\"0\"],\" 余额不足\"],\"m8r/Yx\":\"AMM V3\",\"mFXnIs\":\"动态滑点是由 DODO 团队通过分析历史交易计算得出。\",\"mObS+5\":\"无法获取该币种价格\",\"mYGY3B\":\"日期\",\"mZ4SrP\":\"流动性资金池\",\"me2dmq\":\"价值(美元)\",\"n25Lml\":\"深度\",\"nIrcQi\":\"没有找到结果\",\"nTWWCZ\":\"低\",\"nxRg31\":\"选择币对\",\"o/5/4c\":\"挖矿一旦开始,无法终止。\",\"o8aMNm\":\"查找资金池\",\"om+Yr9\":\"请勿选择非标准ERC20代币,可能导致未知错误!\",\"p2jbcE\":\"创建资金池\",\"p3607o\":\"操作中\",\"p7/w10\":\"交易量(24小时)\",\"pHQq+U\":\"设置资金池\",\"pKjCsP\":\"全部使用你的资金,创建者享有最大程度的调整参数的权限\",\"pQJBKk\":[\"提供的资产比例越接近推荐比例(\",[\"phumensratiotext\"],\"),燃烧的部分越小。\"],\"pSQ1lM\":\"MT 手续费\",\"pY/ok7\":\"所有链\",\"pdZiL7\":\"市价:\",\"peTryP\":[\"当前不支持 \",[\"0\"],\"-\",[\"1\"],\" 币对,请重新选择。\"],\"pwUZo2\":\"确认中\",\"q+Q952\":[\"用户支付 \",[\"0\"],\" \",[\"1\"],\" 获得 \",[\"2\"],\" \",[\"3\"],\"\\\\n价格 \",[\"4\"],\" (\",[\"5\"],\"%)\"],\"qDhDFK\":\"交易用户\",\"qK7wuW\":\"在冷静期无法进行清算\",\"qLkska\":\"设置已切换到跨链桥交易模式\",\"qiOIiY\":\"购买\",\"qjbHuD\":[\"The current slippage protection coefficient set exceeds \",[\"0\"],\"%, which may result in losses.\"],\"qmYDVk\":\"总奖励\",\"r7ScnQ\":\"连接钱包\",\"rAx5u1\":\"结束时间\",\"rH6vg9\":\"当前没有流动性数据\",\"rQ9c+8\":[\"当前交易数量是预估的结果。如果价格变化超过 \",[\"0\"],\",你的交易将终止。\"],\"rRDi3Y\":\"详情\",\"rSayea\":\"预估年化(APY)\",\"rbsyJM\":\"AMM V2\",\"rdUucN\":\"预览\",\"sCUx8G\":\"选择平台\",\"sIPJGT\":\"选择代币\",\"sNaLCG\":\"添加代币\",\"sTnImq\":\"总资金\",\"sVlqoo\":\"AMM V3 仓位\",\"sjn3tj\":\"滑点系数\",\"sxkWRg\":\"高级\",\"syToc5\":[[\"0\"],\"/\",[\"1\"],\" 资金池代币\"],\"t+LmjM\":\"初始价格提示\",\"t/YqKh\":\"提取\",\"t3d3/V\":\"比例是 0\",\"tKE4Ak\":\"跨链桥概览\",\"tMMG40\":[[\"0\"],\"% 手续费费率\"],\"tMVAXL\":\"SafeERC20:low-level call failed,请联系DODO团队解决。\",\"tnRI9r\":\"确认创建资金池\",\"tu/fxg\":\"领取手续费\",\"tyGEMJ\":\"数量\",\"u1tnst\":\"创建一个\",\"uAQUqI\":\"状态\",\"uEoBVI\":\"最低价\",\"uaKP0s\":[\"与 DODO \",[\"lqanddodocomparetext\"],\" 的报价不同。\"],\"ubzjDN\":\"实时数据\",\"udsWDJ\":\"未支持网络 - 请切换后进行交易\",\"uiuMDr\":\"输入参数查看做市模拟图\",\"v4nCHK\":\"支付\",\"v4wgrk\":\"添加失败\",\"vH2C/2\":\"交易\",\"vLyv1R\":\"隐藏\",\"vOyUlD\":\"在区间内\",\"vXvgFK\":\"添加资金有可能会被套利,请谨慎操作。\",\"vxHMzr\":\"合约地址\",\"wSpNR+\":\"该交易对没有足够的历史交易数据,已使用默认滑点值\",\"wckWOP\":\"管理\",\"wdxz7K\":\"源\",\"wmCrk7\":\"摸可以修改交易的截止日期,也就是链上处理交易的最长时间。请注意,在链上处理期间市场价格可能会发生变化,这可能会导致你的交易会以较低的价格被执行。\",\"wtjDAR\":[[\"0\"],\" 授权中\"],\"x3muNy\":\"流动性燃烧比例\",\"x4QVeW\":\"按照比例\",\"x6GJ4a\":\"最大滑点\",\"xEbi+8\":\"用户拒绝交易签名.\",\"y1eoq1\":\"复制链接\",\"y4kfSV\":\"警告\",\"y5rS9U\":\"迁移\",\"yM82Jw\":\"ForceStop 异常\",\"yQ2kGp\":\"更多\",\"yQE2r9\":\"等待中\",\"yXm1vH\":\"初始价格与当前市场价之间存在价差,有可能被搬砖套利,造成资产损失。\",\"yY8wAv\":\"小时\",\"yoR+O6\":\"V3\",\"yq+Q9s\":[\"动态滑点是 \",[\"recommendSlippage\"],\"%, 当前的滑点设置可能会增加交易失败率。\"],\"yx/fMc\":\"高\",\"yz7wBu\":\"关闭\",\"yzjPpo\":\"适用于稳定币\",\"z9t6jM\":\"挖矿合约地址\",\"zA6/Yq\":\"为避免奖励代币的损失,请确保至少存在 1 名用户参与挖矿。\",\"zABfk1\":\"https://blog.dodoex.io/introducing-the-dodo-smart-slippage-3d32d13a4fef\",\"zSMRJ/\":\"交易截止时间\",\"zXCpR0\":\"领取奖励\",\"zcVtwU\":\"我的资金池 (PMM)\",\"zeSosD\":\"初始价格\",\"zga9sT\":\"好的\",\"zkFuIm\":\"总奖励 = 每日奖励数量 * 时长\",\"znqB4T\":\"余额不足\",\"zwBp5t\":\"私有池\",\"zwWKhA\":\"了解更多\"}")}; \ No newline at end of file diff --git a/packages/dodoex-widgets/src/locales/zh-CN.po b/packages/dodoex-widgets/src/locales/zh-CN.po index a58d1beb..946dbda9 100644 --- a/packages/dodoex-widgets/src/locales/zh-CN.po +++ b/packages/dodoex-widgets/src/locales/zh-CN.po @@ -832,7 +832,7 @@ msgstr "调整前结束释放时间" msgid "Stake" msgstr "质押" -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:276 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:303 #: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:602 msgid "Price discrepancy {lqAndDodoCompareText} between liquidity pool and the quote price on DODO." msgstr "资金池报价与 DODO 智能路由价格相差 {lqAndDodoCompareText}" @@ -1032,7 +1032,7 @@ msgstr "手续费费率" #: src/widgets/PoolWidget/AMMV3/AMMV3PositionManage.tsx:305 #: src/widgets/PoolWidget/PoolList/hooks/usePoolListTabs.ts:25 #: src/widgets/PoolWidget/PoolList/index.tsx:162 -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:138 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:165 msgid "Add Liquidity" msgstr "添加流动性" @@ -1341,6 +1341,10 @@ msgstr "单币质押挖矿" msgid "Suitable for most situations." msgstr "适用于大部分交易对" +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:149 +msgid "Add more to mint at least 1000 LP tokens" +msgstr "" + #: src/components/List/FailedList.tsx:47 msgid "Something went wrong…<0>Refresh again" msgstr "服务遇到了一些问题...<0>尝试刷新" @@ -1543,7 +1547,7 @@ msgstr "每" msgid "Suitable for stablecoins with price fluctuations within 10%" msgstr "适用于价格波动在10%以内的稳定币" -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:270 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:297 #: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:596 msgid "Confirm submission" msgstr "确认提交" @@ -1561,7 +1565,7 @@ msgid "Fee Revenue" msgstr "手续费" #: src/widgets/PoolWidget/AMMV2Create/index.tsx:384 -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:120 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:144 msgid "Supply" msgstr "供应" @@ -1943,7 +1947,7 @@ msgstr "已质押" #: src/widgets/PoolWidget/PoolList/MyCreated.tsx:268 #: src/widgets/PoolWidget/PoolList/MyCreated.tsx:564 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:1211 -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:120 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:144 #: src/widgets/PoolWidget/PoolOperate/hooks/usePoolOperateTabs.ts:15 msgid "Add" msgstr "添加" @@ -2274,7 +2278,7 @@ msgstr "隐藏" msgid "In range" msgstr "在区间内" -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:279 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:306 #: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:605 msgid "There is risk of being arbitraged if adding this liquidity." msgstr "添加资金有可能会被套利,请谨慎操作。" @@ -2418,7 +2422,7 @@ msgstr "总奖励 = 每日奖励数量 * 时长" #: src/components/Swap/index.tsx:771 #: src/components/TokenStatusButton.tsx:18 -#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:122 +#: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:146 #: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:248 msgid "Insufficient balance" msgstr "余额不足" From 12369d76eae16c33b6d900a9c0bf9059bb39141d Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 5 Nov 2025 05:08:53 +0000 Subject: [PATCH 05/25] chore(release): @dodoex/widgets@3.5.0-beta.2 [skip ci] --- packages/dodoex-widgets/CHANGELOG.md | 7 +++++++ packages/dodoex-widgets/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/dodoex-widgets/CHANGELOG.md b/packages/dodoex-widgets/CHANGELOG.md index d7ca4ba5..6dc29c9f 100644 --- a/packages/dodoex-widgets/CHANGELOG.md +++ b/packages/dodoex-widgets/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@dodoex/widgets-v3.5.0-beta.2](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.5.0-beta.1...@dodoex/widgets-v3.5.0-beta.2) (2025-11-05) + + +### Features + +* update version ([5466e25](https://github.com/DODOEX/widgets/commit/5466e2585927e924749845bf91b3642875e1f926)) + # [@dodoex/widgets-v3.5.0-beta.1](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.4.0...@dodoex/widgets-v3.5.0-beta.1) (2025-11-04) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 258b5eec..314f0155 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.5.0-beta.1", + "version": "3.5.0-beta.2", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", From 776724493de90fc711d41b7200d3e32c5731f031 Mon Sep 17 00:00:00 2001 From: AxeAfk Date: Wed, 5 Nov 2025 17:49:17 +0800 Subject: [PATCH 06/25] update version --- packages/dodoex-api/package.json | 2 +- packages/dodoex-widgets/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/dodoex-api/package.json b/packages/dodoex-api/package.json index f52149fb..e4e3769a 100644 --- a/packages/dodoex-api/package.json +++ b/packages/dodoex-api/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/api", - "version": "3.3.0-beta.1", + "version": "3.3.0-beta.2", "description": "DODO API Kit", "source": "src/index.ts", "types": "dist/types/index.d.ts", diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 314f0155..451d8e0d 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.5.0-beta.2", + "version": "3.5.0-beta.3", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", From e9efef5536eaac1d3bb088fae09eb793985040f2 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 5 Nov 2025 13:58:34 +0000 Subject: [PATCH 07/25] chore(release): @dodoex/api@3.3.0 [skip ci] --- packages/dodoex-api/CHANGELOG.md | 7 +++++++ packages/dodoex-api/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/dodoex-api/CHANGELOG.md b/packages/dodoex-api/CHANGELOG.md index 1c5f6ddc..207c66ae 100644 --- a/packages/dodoex-api/CHANGELOG.md +++ b/packages/dodoex-api/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@dodoex/api-v3.3.0](https://github.com/DODOEX/widgets/compare/@dodoex/api-v3.2.0...@dodoex/api-v3.3.0) (2025-11-05) + + +### Features + +* dvm add liquidity limit amount logic ([777582d](https://github.com/DODOEX/widgets/commit/777582d6a78f6eabff402f6f51a60f29bda1b651)) + # [@dodoex/api-v3.2.0](https://github.com/DODOEX/widgets/compare/@dodoex/api-v3.1.0...@dodoex/api-v3.2.0) (2025-10-24) diff --git a/packages/dodoex-api/package.json b/packages/dodoex-api/package.json index a16ba6b3..c48fe79d 100644 --- a/packages/dodoex-api/package.json +++ b/packages/dodoex-api/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/api", - "version": "3.2.0", + "version": "3.3.0", "description": "DODO API Kit", "source": "src/index.ts", "types": "dist/types/index.d.ts", From 722311aa57a328854128308c294322c2d5e013d1 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 5 Nov 2025 14:00:22 +0000 Subject: [PATCH 08/25] chore(release): @dodoex/widgets@3.5.0 [skip ci] --- packages/dodoex-widgets/CHANGELOG.md | 7 +++++++ packages/dodoex-widgets/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/dodoex-widgets/CHANGELOG.md b/packages/dodoex-widgets/CHANGELOG.md index 556bd0c6..728a0913 100644 --- a/packages/dodoex-widgets/CHANGELOG.md +++ b/packages/dodoex-widgets/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@dodoex/widgets-v3.5.0](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.4.0...@dodoex/widgets-v3.5.0) (2025-11-05) + + +### Features + +* dvm add liquidity limit amount logic ([777582d](https://github.com/DODOEX/widgets/commit/777582d6a78f6eabff402f6f51a60f29bda1b651)) + # [@dodoex/widgets-v3.4.0](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.3.0...@dodoex/widgets-v3.4.0) (2025-10-24) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index b8cf3f26..593e5823 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.4.0", + "version": "3.5.0", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", From 969b4d7832e4006fe1b2ec935197a9e46901fc9c Mon Sep 17 00:00:00 2001 From: AxeAfk Date: Tue, 11 Nov 2025 18:34:33 +0800 Subject: [PATCH 09/25] feat: fix api version --- packages/dodoex-widgets/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 593e5823..b4b8bddd 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -58,7 +58,7 @@ }, "dependencies": { "@babel/runtime": "^7.17.0", - "@dodoex/api": "3.3.0-beta.5", + "@dodoex/api": "3.3.0", "@dodoex/components": "^3.1.0", "@dodoex/contract-request": "^1.3.0", "@dodoex/dodo-contract-request": "^1.25.0", From eac2932f8ca516868fc7598fb56e5ac98dc6d990 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 11 Nov 2025 10:41:24 +0000 Subject: [PATCH 10/25] chore(release): @dodoex/widgets@3.6.0 [skip ci] --- packages/dodoex-widgets/CHANGELOG.md | 7 +++++++ packages/dodoex-widgets/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/dodoex-widgets/CHANGELOG.md b/packages/dodoex-widgets/CHANGELOG.md index 728a0913..9409316d 100644 --- a/packages/dodoex-widgets/CHANGELOG.md +++ b/packages/dodoex-widgets/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@dodoex/widgets-v3.6.0](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.5.0...@dodoex/widgets-v3.6.0) (2025-11-11) + + +### Features + +* fix api version ([969b4d7](https://github.com/DODOEX/widgets/commit/969b4d7832e4006fe1b2ec935197a9e46901fc9c)) + # [@dodoex/widgets-v3.5.0](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.4.0...@dodoex/widgets-v3.5.0) (2025-11-05) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index b4b8bddd..ac272056 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.5.0", + "version": "3.6.0", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", From e5d316e97b4856b35ed651553083385c53bc96da Mon Sep 17 00:00:00 2001 From: yrjkqq Date: Fri, 14 Nov 2025 15:24:33 +0800 Subject: [PATCH 11/25] feat: add support for Stable Testnet in dodoex-api and widgets --- .../dodoex-api/src/chainConfig/basicToken.ts | 7 +++ packages/dodoex-api/src/chainConfig/chain.ts | 2 + .../src/chainConfig/contractConfig.ts | 15 ++++++ .../dodoex-api/src/chainConfig/platform.ts | 1 + packages/dodoex-widgets/package.json | 4 +- .../assets/logo/networks/stable-testnet.svg | 26 ++++++++++ .../dodoex-widgets/src/constants/chainList.ts | 49 ++++++++++++------- .../dodoex-widgets/src/constants/chains.ts | 11 ++++- yarn.lock | 39 ++++++++++++--- 9 files changed, 124 insertions(+), 30 deletions(-) create mode 100644 packages/dodoex-widgets/src/assets/logo/networks/stable-testnet.svg diff --git a/packages/dodoex-api/src/chainConfig/basicToken.ts b/packages/dodoex-api/src/chainConfig/basicToken.ts index 1b5488c1..f1885449 100644 --- a/packages/dodoex-api/src/chainConfig/basicToken.ts +++ b/packages/dodoex-api/src/chainConfig/basicToken.ts @@ -203,4 +203,11 @@ export const basicTokenMap: { wrappedTokenSymbol: 'WPHRS', wrappedTokenAddress: '0x838800b758277cc111b2d48ab01e5e164f8e9471', }, + [ChainId.STABLE_TESTNET]: { + ...DEFAULT_BASIC_TOKEN, + symbol: 'gUSDT', + name: 'gUSDT', + wrappedTokenSymbol: 'wgUSDT', + wrappedTokenAddress: '0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb', + }, }; diff --git a/packages/dodoex-api/src/chainConfig/chain.ts b/packages/dodoex-api/src/chainConfig/chain.ts index 57e89d27..ad4f950f 100644 --- a/packages/dodoex-api/src/chainConfig/chain.ts +++ b/packages/dodoex-api/src/chainConfig/chain.ts @@ -61,4 +61,6 @@ export enum ChainId { PHAROS_TESTNET = 688688, PHAROS_ATLANTIC_TESTNET = 688689, + + STABLE_TESTNET = 2201, } diff --git a/packages/dodoex-api/src/chainConfig/contractConfig.ts b/packages/dodoex-api/src/chainConfig/contractConfig.ts index 1a40f0f9..71042b1c 100644 --- a/packages/dodoex-api/src/chainConfig/contractConfig.ts +++ b/packages/dodoex-api/src/chainConfig/contractConfig.ts @@ -14,6 +14,7 @@ import { hemi, pharosTestnet, pharosAtlanticTestnet, + stableTestnet, } from '@dodoex/dodo-contract-request'; import { ChainId } from './chain'; @@ -513,6 +514,20 @@ const contractMap: { DODO_DPP_PROXY: pharosAtlanticTestnet.DODODppProxy, DODO_MINEV3_PROXY: pharosAtlanticTestnet.DODOMineV3Proxy, }, + [ChainId.STABLE_TESTNET]: { + MULTI_CALL: stableTestnet.MulticallWithValid, + DODO_APPROVE: stableTestnet.DODOApprove, + ERC20_HELPER: stableTestnet.ERC20Helper, + + ROUTE_V2_DATA_FETCH: stableTestnet.DODOV2RouteHelper, + ROUTE_V1_DATA_FETCH: stableTestnet.DODOV1PmmHelper, + CALLEE_HELPER: stableTestnet.DODOCalleeHelper, + + DODO_PROXY: stableTestnet.DODOV2Proxy02, + DODO_DSP_PROXY: stableTestnet.DODODspProxy, + DODO_DPP_PROXY: stableTestnet.DODODppProxy, + DODO_MINEV3_PROXY: stableTestnet.DODOMineV3Proxy, + }, }; export default contractMap; diff --git a/packages/dodoex-api/src/chainConfig/platform.ts b/packages/dodoex-api/src/chainConfig/platform.ts index 1e919b6e..32b6f449 100644 --- a/packages/dodoex-api/src/chainConfig/platform.ts +++ b/packages/dodoex-api/src/chainConfig/platform.ts @@ -36,4 +36,5 @@ export const platformIdMap: { [ChainId.HEMI]: 'hemi', [ChainId.PHAROS_TESTNET]: 'pharos-testnet', [ChainId.PHAROS_ATLANTIC_TESTNET]: 'pharos-atlantic-testnet', + [ChainId.STABLE_TESTNET]: 'stable-testnet', }; diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index ac272056..d58a5511 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -61,7 +61,7 @@ "@dodoex/api": "3.3.0", "@dodoex/components": "^3.1.0", "@dodoex/contract-request": "^1.3.0", - "@dodoex/dodo-contract-request": "^1.25.0", + "@dodoex/dodo-contract-request": "^1.28.0", "@dodoex/icons": "^2.0.3", "@emotion/react": "^11.10.0", "@emotion/styled": "^11.10.0", @@ -152,4 +152,4 @@ "ts-jest": "^29.0.1", "typescript": "^5.6.3" } -} +} \ No newline at end of file diff --git a/packages/dodoex-widgets/src/assets/logo/networks/stable-testnet.svg b/packages/dodoex-widgets/src/assets/logo/networks/stable-testnet.svg new file mode 100644 index 00000000..15fe7d93 --- /dev/null +++ b/packages/dodoex-widgets/src/assets/logo/networks/stable-testnet.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/dodoex-widgets/src/constants/chainList.ts b/packages/dodoex-widgets/src/constants/chainList.ts index 1ec8ca39..8ce118bf 100644 --- a/packages/dodoex-widgets/src/constants/chainList.ts +++ b/packages/dodoex-widgets/src/constants/chainList.ts @@ -1,32 +1,35 @@ import { ChainId } from '@dodoex/api'; -import { ReactComponent as ETHereumLogo } from '../assets/logo/networks/eth.svg'; import { ReactComponent as ArbitrumLogo } from '../assets/logo/networks/arbitrum.svg'; -import { ReactComponent as PolygonLogo } from '../assets/logo/networks/polygon.svg'; -import { ReactComponent as BSCLogo } from '../assets/logo/networks/bsc.svg'; -import { ReactComponent as OptimismLogo } from '../assets/logo/networks/optimism.svg'; -import { ReactComponent as AvalancheLogo } from '../assets/logo/networks/avalanche.svg'; import { ReactComponent as AuroraLogo } from '../assets/logo/networks/aurora.svg'; -import { ReactComponent as OKChainLogo } from '../assets/logo/networks/okchain.svg'; -import { ReactComponent as CFXLogo } from '../assets/logo/networks/cfx.svg'; +import { ReactComponent as AvalancheLogo } from '../assets/logo/networks/avalanche.svg'; import { ReactComponent as BaseLogo } from '../assets/logo/networks/base.svg'; +import { ReactComponent as BitlayerLogo } from '../assets/logo/networks/bitlayer.svg'; +import { ReactComponent as BSCLogo } from '../assets/logo/networks/bsc.svg'; +import { ReactComponent as CFXLogo } from '../assets/logo/networks/cfx.svg'; +import { ReactComponent as DODOchainLogo } from '../assets/logo/networks/dodochain.svg'; +import { ReactComponent as ETHereumLogo } from '../assets/logo/networks/eth.svg'; +import { ReactComponent as HashKeyLogo } from '../assets/logo/networks/haskey.svg'; +import { ReactComponent as HemiLogo } from '../assets/logo/networks/hemi.svg'; import { ReactComponent as LINEALogo } from '../assets/logo/networks/linea.svg'; -import { ReactComponent as ScrollLogo } from '../assets/logo/networks/scroll.svg'; import { ReactComponent as MantaLogo } from '../assets/logo/networks/manta.svg'; import { ReactComponent as MantleLogo } from '../assets/logo/networks/mantle.svg'; -import { ReactComponent as DODOchainLogo } from '../assets/logo/networks/dodochain.svg'; -import { ReactComponent as TaikoLogo } from '../assets/logo/networks/taiko.svg'; -import { ReactComponent as PlumeLogo } from '../assets/logo/networks/plume.svg'; -import { ReactComponent as NeoxLogo } from '../assets/logo/networks/neox.svg'; import { ReactComponent as MorphLogo } from '../assets/logo/networks/morph.svg'; -import { ReactComponent as RiseLogo } from '../assets/logo/networks/rise.svg'; -import { ReactComponent as NeroLogo } from '../assets/logo/networks/rise.svg'; -import { ReactComponent as BitlayerLogo } from '../assets/logo/networks/bitlayer.svg'; -import { ReactComponent as ZircuitLogo } from '../assets/logo/networks/zircuit.svg'; +import { ReactComponent as NeoxLogo } from '../assets/logo/networks/neox.svg'; +import { ReactComponent as OKChainLogo } from '../assets/logo/networks/okchain.svg'; +import { ReactComponent as OptimismLogo } from '../assets/logo/networks/optimism.svg'; +import { ReactComponent as PharosLogo } from '../assets/logo/networks/pharos.svg'; +import { ReactComponent as PlumeLogo } from '../assets/logo/networks/plume.svg'; +import { ReactComponent as PolygonLogo } from '../assets/logo/networks/polygon.svg'; +import { + ReactComponent as NeroLogo, + ReactComponent as RiseLogo, +} from '../assets/logo/networks/rise.svg'; +import { ReactComponent as ScrollLogo } from '../assets/logo/networks/scroll.svg'; +import { ReactComponent as StableTestnetLogo } from '../assets/logo/networks/stable-testnet.svg'; +import { ReactComponent as TaikoLogo } from '../assets/logo/networks/taiko.svg'; import { ReactComponent as XLayerLogo } from '../assets/logo/networks/x-layer.svg'; import { ReactComponent as ZeroLogo } from '../assets/logo/networks/zero.svg'; -import { ReactComponent as HashKeyLogo } from '../assets/logo/networks/haskey.svg'; -import { ReactComponent as HemiLogo } from '../assets/logo/networks/hemi.svg'; -import { ReactComponent as PharosLogo } from '../assets/logo/networks/pharos.svg'; +import { ReactComponent as ZircuitLogo } from '../assets/logo/networks/zircuit.svg'; export interface ChainListItem { chainId: ChainId; @@ -302,6 +305,14 @@ export const chainListMap: Map = new Map([ name: 'Pharos Atlantic Testnet', }, ], + [ + ChainId.STABLE_TESTNET, + { + chainId: ChainId.STABLE_TESTNET, + logo: StableTestnetLogo, + name: 'Stable Testnet', + }, + ], ]); export const isTestNet = (chainId: ChainId) => { diff --git a/packages/dodoex-widgets/src/constants/chains.ts b/packages/dodoex-widgets/src/constants/chains.ts index bd9bbed0..c115b6a4 100644 --- a/packages/dodoex-widgets/src/constants/chains.ts +++ b/packages/dodoex-widgets/src/constants/chains.ts @@ -66,7 +66,10 @@ export const rpcServerMap: { [ChainId.PHAROS_TESTNET]: [ 'https://api.zan.top/node/v1/pharos/testnet/54b49326c9f44b6e8730dc5dd4348421', ], - [ChainId.PHAROS_ATLANTIC_TESTNET]: ['https://api.zan.top/node/v1/pharos/atlantic/54b49326c9f44b6e8730dc5dd4348421'] + [ChainId.PHAROS_ATLANTIC_TESTNET]: [ + 'https://api.zan.top/node/v1/pharos/atlantic/54b49326c9f44b6e8730dc5dd4348421', + ], + [ChainId.STABLE_TESTNET]: ['https://rpc.testnet.stable.xyz'], }; export const getRpcSingleUrlMap = (newRpcServerMap?: { @@ -123,7 +126,8 @@ export const scanUrlDomainMap: { [ChainId.HASHKEY]: 'explorer.hsk.xyz', [ChainId.HEMI]: 'explorer.hemi.xyz', [ChainId.PHAROS_TESTNET]: 'testnet.pharosscan.xyz', - [ChainId.PHAROS_ATLANTIC_TESTNET]: 'atlantic.pharosscan.xyz' + [ChainId.PHAROS_ATLANTIC_TESTNET]: 'atlantic.pharosscan.xyz', + [ChainId.STABLE_TESTNET]: 'testnet.stablescan.xyz', }; export const ThegraphKeyMap: { @@ -162,6 +166,7 @@ export const ThegraphKeyMap: { [ChainId.HEMI]: 'hemi', [ChainId.PHAROS_TESTNET]: 'pharos-testnet', [ChainId.PHAROS_ATLANTIC_TESTNET]: 'pharos-atlantic-testnet', + [ChainId.STABLE_TESTNET]: 'stable-testnet', }; export const blockTimeMap: { @@ -200,6 +205,7 @@ export const blockTimeMap: { [ChainId.HEMI]: 12000, [ChainId.PHAROS_TESTNET]: 0, [ChainId.PHAROS_ATLANTIC_TESTNET]: 2777, + [ChainId.STABLE_TESTNET]: 700, }; export const dexKeysMap: { @@ -238,4 +244,5 @@ export const dexKeysMap: { [ChainId.HEMI]: [], [ChainId.PHAROS_TESTNET]: [], [ChainId.PHAROS_ATLANTIC_TESTNET]: [], + [ChainId.STABLE_TESTNET]: [], }; diff --git a/yarn.lock b/yarn.lock index 1d892419..3497bd79 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2146,10 +2146,10 @@ ethers "^6.13.2" https-proxy-agent "^7.0.5" -"@dodoex/dodo-contract-request@^1.25.0": - version "1.25.0" - resolved "https://registry.yarnpkg.com/@dodoex/dodo-contract-request/-/dodo-contract-request-1.25.0.tgz#1fcd6f6ddeec9c5bd9200d39907d3a303edae6e8" - integrity sha512-lzqzygHNliJKo+LAhSHC7IZksYjYlcfaBnzSf5QOfyOjSp2gT3ciNBGA1pXn4vC3Gd5nPB1NcITszCdXRQgOEg== +"@dodoex/dodo-contract-request@^1.28.0": + version "1.28.0" + resolved "https://registry.yarnpkg.com/@dodoex/dodo-contract-request/-/dodo-contract-request-1.28.0.tgz#6c0a155eba967a761980d1be8d3bdc77bea8d622" + integrity sha512-4Su/17Af1jCraopwo5Xz/Ws9oZp0wWMNbeM7HgnDJ3T/5O6/A0b+VKMHt/jTl824O+RlkKa5S7Dp5AKIJYI4JQ== dependencies: typescript "^5" @@ -21313,7 +21313,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -21331,6 +21331,15 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" @@ -21443,7 +21452,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -21471,6 +21480,13 @@ strip-ansi@^5.1.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" @@ -23094,7 +23110,7 @@ workerpool@6.2.1: resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz" integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -23120,6 +23136,15 @@ wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" From 0c7f411b874c476e761894e13454ec25b0175a1b Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 14 Nov 2025 07:30:22 +0000 Subject: [PATCH 12/25] chore(release): @dodoex/api@3.4.0 [skip ci] --- packages/dodoex-api/CHANGELOG.md | 7 +++++++ packages/dodoex-api/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/dodoex-api/CHANGELOG.md b/packages/dodoex-api/CHANGELOG.md index 207c66ae..b854e0cb 100644 --- a/packages/dodoex-api/CHANGELOG.md +++ b/packages/dodoex-api/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@dodoex/api-v3.4.0](https://github.com/DODOEX/widgets/compare/@dodoex/api-v3.3.0...@dodoex/api-v3.4.0) (2025-11-14) + + +### Features + +* add support for Stable Testnet in dodoex-api and widgets ([e5d316e](https://github.com/DODOEX/widgets/commit/e5d316e97b4856b35ed651553083385c53bc96da)) + # [@dodoex/api-v3.3.0](https://github.com/DODOEX/widgets/compare/@dodoex/api-v3.2.0...@dodoex/api-v3.3.0) (2025-11-05) diff --git a/packages/dodoex-api/package.json b/packages/dodoex-api/package.json index c48fe79d..488b44cd 100644 --- a/packages/dodoex-api/package.json +++ b/packages/dodoex-api/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/api", - "version": "3.3.0", + "version": "3.4.0", "description": "DODO API Kit", "source": "src/index.ts", "types": "dist/types/index.d.ts", From db136b77854e5a73b75ebb7649197121977f7d39 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 14 Nov 2025 07:31:59 +0000 Subject: [PATCH 13/25] chore(release): @dodoex/widgets@3.7.0 [skip ci] --- packages/dodoex-widgets/CHANGELOG.md | 7 +++++++ packages/dodoex-widgets/package.json | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/dodoex-widgets/CHANGELOG.md b/packages/dodoex-widgets/CHANGELOG.md index 9409316d..69f31501 100644 --- a/packages/dodoex-widgets/CHANGELOG.md +++ b/packages/dodoex-widgets/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@dodoex/widgets-v3.7.0](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.6.0...@dodoex/widgets-v3.7.0) (2025-11-14) + + +### Features + +* add support for Stable Testnet in dodoex-api and widgets ([e5d316e](https://github.com/DODOEX/widgets/commit/e5d316e97b4856b35ed651553083385c53bc96da)) + # [@dodoex/widgets-v3.6.0](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.5.0...@dodoex/widgets-v3.6.0) (2025-11-11) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index d58a5511..3a8ce2e4 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.6.0", + "version": "3.7.0", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", @@ -152,4 +152,4 @@ "ts-jest": "^29.0.1", "typescript": "^5.6.3" } -} \ No newline at end of file +} From 51e69944460b9e89e52f72668dd1ec80bc99122c Mon Sep 17 00:00:00 2001 From: yrjkqq Date: Fri, 14 Nov 2025 15:58:22 +0800 Subject: [PATCH 14/25] feat: update @dodoex/api dependency to version 3.4.0 --- packages/dodoex-widgets/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 3a8ce2e4..3fbb4954 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -58,7 +58,7 @@ }, "dependencies": { "@babel/runtime": "^7.17.0", - "@dodoex/api": "3.3.0", + "@dodoex/api": "3.4.0", "@dodoex/components": "^3.1.0", "@dodoex/contract-request": "^1.3.0", "@dodoex/dodo-contract-request": "^1.28.0", @@ -152,4 +152,4 @@ "ts-jest": "^29.0.1", "typescript": "^5.6.3" } -} +} \ No newline at end of file From 4fe8a3e9378370082b54d2a7cfc1fabdf09b0666 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 14 Nov 2025 08:04:40 +0000 Subject: [PATCH 15/25] chore(release): @dodoex/widgets@3.8.0 [skip ci] --- packages/dodoex-widgets/CHANGELOG.md | 7 +++++++ packages/dodoex-widgets/package.json | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/dodoex-widgets/CHANGELOG.md b/packages/dodoex-widgets/CHANGELOG.md index 69f31501..f81fd2a6 100644 --- a/packages/dodoex-widgets/CHANGELOG.md +++ b/packages/dodoex-widgets/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@dodoex/widgets-v3.8.0](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.7.0...@dodoex/widgets-v3.8.0) (2025-11-14) + + +### Features + +* update @dodoex/api dependency to version 3.4.0 ([51e6994](https://github.com/DODOEX/widgets/commit/51e69944460b9e89e52f72668dd1ec80bc99122c)) + # [@dodoex/widgets-v3.7.0](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.6.0...@dodoex/widgets-v3.7.0) (2025-11-14) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 3fbb4954..d2923d5d 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.7.0", + "version": "3.8.0", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", @@ -152,4 +152,4 @@ "ts-jest": "^29.0.1", "typescript": "^5.6.3" } -} \ No newline at end of file +} From 6ee7544554adc8b8a7caafc2c12afe99e0e72302 Mon Sep 17 00:00:00 2001 From: JunJie Date: Fri, 14 Nov 2025 18:13:42 +0800 Subject: [PATCH 16/25] feat: add gsp modify entry --- packages/dodoex-widgets/package.json | 2 +- packages/dodoex-widgets/src/locales/en-US.po | 32 ++++++++--------- packages/dodoex-widgets/src/locales/zh-CN.po | 32 ++++++++--------- .../widgets/PoolWidget/PoolList/MyCreated.tsx | 35 +++++++++++++++++-- .../src/widgets/PoolWidget/PoolList/index.tsx | 5 ++- 5 files changed, 70 insertions(+), 36 deletions(-) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index a5d48f7f..a0f0571a 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.5.0-beta.3", + "version": "3.5.0-beta.4", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", diff --git a/packages/dodoex-widgets/src/locales/en-US.po b/packages/dodoex-widgets/src/locales/en-US.po index 9c7b8a14..ef491a79 100644 --- a/packages/dodoex-widgets/src/locales/en-US.po +++ b/packages/dodoex-widgets/src/locales/en-US.po @@ -59,7 +59,7 @@ msgid "{0} pending" msgstr "{0} pending" #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:493 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:344 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:362 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:785 msgid "Removing" msgstr "Removing" @@ -137,7 +137,7 @@ msgid "Unstaking" msgstr "Unstaking" #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:496 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:347 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:365 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:788 msgid "Adding" msgstr "Adding" @@ -295,7 +295,7 @@ msgid "Pricing Model" msgstr "Pricing Model" #: src/widgets/PoolWidget/PoolCreate/components/DepthAndLiquidityChart.tsx:74 -#: src/widgets/PoolWidget/PoolList/index.tsx:225 +#: src/widgets/PoolWidget/PoolList/index.tsx:228 #: src/widgets/PoolWidget/PoolOperate/hooks/usePoolOrMiningTabs.ts:17 msgid "Liquidity" msgstr "Liquidity" @@ -458,7 +458,7 @@ msgid "No results found" msgstr "No results found" #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:432 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:298 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:316 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:654 msgid "Pair" msgstr "Pair" @@ -687,8 +687,8 @@ msgstr "Insufficient cross-chain fees, need at least {0} {1}" #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:340 #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:440 #: src/widgets/PoolWidget/PoolList/components/LoadingCard.tsx:112 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:198 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:301 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:214 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:319 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:377 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:663 msgid "TVL" @@ -1033,7 +1033,7 @@ msgstr "Fee rate" #: src/widgets/PoolWidget/AMMV3/AMMV3PositionManage.tsx:305 #: src/widgets/PoolWidget/PoolList/hooks/usePoolListTabs.ts:25 -#: src/widgets/PoolWidget/PoolList/index.tsx:162 +#: src/widgets/PoolWidget/PoolList/index.tsx:164 #: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:165 msgid "Add Liquidity" msgstr "Add Liquidity" @@ -1134,7 +1134,7 @@ msgid "Estimated Time" msgstr "Estimated Time" #: src/widgets/PoolWidget/PoolCreate/hooks/useVersionList.ts:20 -#: src/widgets/PoolWidget/PoolList/index.tsx:226 +#: src/widgets/PoolWidget/PoolList/index.tsx:229 msgid "Classical AMM-like pool. Suitable for most assets." msgstr "Classical AMM-like pool. Suitable for most assets." @@ -1677,7 +1677,7 @@ msgstr "V2 & PMM" #: src/widgets/PoolWidget/AMMV3/components/FeeSelector.tsx:66 #: src/widgets/PoolWidget/PoolDetail/components/TitleInfo.tsx:147 #: src/widgets/PoolWidget/PoolDetail/index.tsx:201 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:461 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:488 #: src/widgets/PoolWidget/PoolModify/operate-widgets/FeeRateSetting.tsx:84 msgid "Edit" msgstr "Edit" @@ -1686,7 +1686,7 @@ msgstr "Edit" msgid "Min" msgstr "Min" -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:674 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:703 msgid "Hide TVL=0 pools" msgstr "Hide TVL=0 pools" @@ -1765,8 +1765,8 @@ msgstr "Collect fees" msgid "Connect to your wallet" msgstr "Connect to your wallet" -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:227 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:304 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:243 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:322 msgid "Total Fee Revenue" msgstr "Total Fee Revenue" @@ -1946,8 +1946,8 @@ msgstr "My Staked" #: src/widgets/PoolWidget/PoolDetail/index.tsx:219 #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:385 #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:749 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:268 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:564 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:284 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:591 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:1211 #: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:144 #: src/widgets/PoolWidget/PoolOperate/hooks/usePoolOperateTabs.ts:15 @@ -2191,8 +2191,8 @@ msgstr "Initial Price Alert" #: src/widgets/PoolWidget/AMMV3/AMMV3PositionManage.tsx:452 #: src/widgets/PoolWidget/AMMV3/components/RemoveButton.tsx:32 #: src/widgets/PoolWidget/PoolDetail/index.tsx:212 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:253 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:552 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:269 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:579 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:597 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:1198 #: src/widgets/PoolWidget/PoolOperate/hooks/usePoolOperateTabs.ts:16 diff --git a/packages/dodoex-widgets/src/locales/zh-CN.po b/packages/dodoex-widgets/src/locales/zh-CN.po index 946dbda9..ac966b77 100644 --- a/packages/dodoex-widgets/src/locales/zh-CN.po +++ b/packages/dodoex-widgets/src/locales/zh-CN.po @@ -57,7 +57,7 @@ msgid "{0} pending" msgstr "{0} 等待中" #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:493 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:344 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:362 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:785 msgid "Removing" msgstr "提取" @@ -135,7 +135,7 @@ msgid "Unstaking" msgstr "赎回中" #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:496 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:347 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:365 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:788 msgid "Adding" msgstr "添加" @@ -293,7 +293,7 @@ msgid "Pricing Model" msgstr "定价模式" #: src/widgets/PoolWidget/PoolCreate/components/DepthAndLiquidityChart.tsx:74 -#: src/widgets/PoolWidget/PoolList/index.tsx:225 +#: src/widgets/PoolWidget/PoolList/index.tsx:228 #: src/widgets/PoolWidget/PoolOperate/hooks/usePoolOrMiningTabs.ts:17 msgid "Liquidity" msgstr "流动性" @@ -456,7 +456,7 @@ msgid "No results found" msgstr "未找到匹配结果" #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:432 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:298 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:316 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:654 msgid "Pair" msgstr "交易对" @@ -685,8 +685,8 @@ msgstr "跨链费用不足,至少需要 {0} {1} " #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:340 #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:440 #: src/widgets/PoolWidget/PoolList/components/LoadingCard.tsx:112 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:198 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:301 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:214 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:319 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:377 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:663 msgid "TVL" @@ -1031,7 +1031,7 @@ msgstr "手续费费率" #: src/widgets/PoolWidget/AMMV3/AMMV3PositionManage.tsx:305 #: src/widgets/PoolWidget/PoolList/hooks/usePoolListTabs.ts:25 -#: src/widgets/PoolWidget/PoolList/index.tsx:162 +#: src/widgets/PoolWidget/PoolList/index.tsx:164 #: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:165 msgid "Add Liquidity" msgstr "添加流动性" @@ -1132,7 +1132,7 @@ msgid "Estimated Time" msgstr "预计时间" #: src/widgets/PoolWidget/PoolCreate/hooks/useVersionList.ts:20 -#: src/widgets/PoolWidget/PoolList/index.tsx:226 +#: src/widgets/PoolWidget/PoolList/index.tsx:229 msgid "Classical AMM-like pool. Suitable for most assets." msgstr "类似 AMM 做市策略,适用于大多数币种" @@ -1675,7 +1675,7 @@ msgstr "V2 & PMM" #: src/widgets/PoolWidget/AMMV3/components/FeeSelector.tsx:66 #: src/widgets/PoolWidget/PoolDetail/components/TitleInfo.tsx:147 #: src/widgets/PoolWidget/PoolDetail/index.tsx:201 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:461 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:488 #: src/widgets/PoolWidget/PoolModify/operate-widgets/FeeRateSetting.tsx:84 msgid "Edit" msgstr "编辑" @@ -1684,7 +1684,7 @@ msgstr "编辑" msgid "Min" msgstr "分钟" -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:674 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:703 msgid "Hide TVL=0 pools" msgstr "隐藏 TVL=0 的池子" @@ -1763,8 +1763,8 @@ msgstr "收取手续费" msgid "Connect to your wallet" msgstr "连接钱包" -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:227 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:304 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:243 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:322 msgid "Total Fee Revenue" msgstr "总手续费收入" @@ -1944,8 +1944,8 @@ msgstr "已质押" #: src/widgets/PoolWidget/PoolDetail/index.tsx:219 #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:385 #: src/widgets/PoolWidget/PoolList/AddLiquidity.tsx:749 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:268 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:564 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:284 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:591 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:1211 #: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:144 #: src/widgets/PoolWidget/PoolOperate/hooks/usePoolOperateTabs.ts:15 @@ -2189,8 +2189,8 @@ msgstr "初始价格提示" #: src/widgets/PoolWidget/AMMV3/AMMV3PositionManage.tsx:452 #: src/widgets/PoolWidget/AMMV3/components/RemoveButton.tsx:32 #: src/widgets/PoolWidget/PoolDetail/index.tsx:212 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:253 -#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:552 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:269 +#: src/widgets/PoolWidget/PoolList/MyCreated.tsx:579 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:597 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:1198 #: src/widgets/PoolWidget/PoolOperate/hooks/usePoolOperateTabs.ts:16 diff --git a/packages/dodoex-widgets/src/widgets/PoolWidget/PoolList/MyCreated.tsx b/packages/dodoex-widgets/src/widgets/PoolWidget/PoolList/MyCreated.tsx index b440c2f1..bcaa2930 100644 --- a/packages/dodoex-widgets/src/widgets/PoolWidget/PoolList/MyCreated.tsx +++ b/packages/dodoex-widgets/src/widgets/PoolWidget/PoolList/MyCreated.tsx @@ -40,14 +40,21 @@ import { useUserOptions } from '../../../components/UserOptionsProvider'; import { useGraphQLRequests } from '../../../hooks/useGraphQLRequests'; import { CardStatus } from '../../../components/CardWidgets'; +export type OnModifyGspPool = (params: { + chainId: number; + address: string; +}) => void; + function CardList({ account, list, setOperatePool, + onModifyGspPool, }: { account?: string; list: FetchMyCreateListLqList; setOperatePool: (operate: Partial | null) => void; + onModifyGspPool?: OnModifyGspPool; }) { const theme = useTheme(); return ( @@ -72,6 +79,8 @@ function CardList({ item.quoteReserve ? new BigNumber(item.quoteReserve) : null, theme, ); + const canEdit = type === 'DPP' || (!!onModifyGspPool && type === 'GSP'); + return ( {truncatePoolAddress(pairAddress)} - {type === 'DPP' && ( + {canEdit && ( { evt.stopPropagation(); + if (type === 'GSP') { + onModifyGspPool?.({ + chainId: chainId as ChainId, + address: pairAddress as string, + }); + return; + } useRouterStore.getState().push({ type: PageType.ModifyPool, params: { @@ -281,12 +297,14 @@ function TableList({ loading, operatePool, setOperatePool, + onModifyGspPool, }: { account?: string; list: FetchMyCreateListLqList; loading: boolean; operatePool: Partial | null; setOperatePool: (operate: Partial | null) => void; + onModifyGspPool?: OnModifyGspPool; }) { const theme = useTheme(); const router = useRouterStore(); @@ -349,6 +367,8 @@ function TableList({ } } const hoverBg = theme.palette.background.tag; + const canEdit = + type === 'DPP' || (!!onModifyGspPool && type === 'GSP'); return ( - {isDpp ? ( + {canEdit ? ( { + if (type === 'GSP') { + onModifyGspPool?.({ + chainId: chainId as ChainId, + address: pairAddress as string, + }); + return; + } router.push({ type: PageType.ModifyPool, params: { @@ -583,6 +610,7 @@ export default function MyCreated({ operatePool, setOperatePool, supportAMMIcon, + onModifyGspPool, }: { account?: string; filterChainIds?: ChainId[]; @@ -592,6 +620,7 @@ export default function MyCreated({ operatePool: Partial | null; setOperatePool: (operate: Partial | null) => void; supportAMMIcon?: boolean; + onModifyGspPool?: OnModifyGspPool; }) { const { isMobile } = useWidgetDevice(); const { onlyChainId } = useUserOptions(); @@ -699,6 +728,7 @@ export default function MyCreated({ account={account} list={list} setOperatePool={setOperatePool} + onModifyGspPool={onModifyGspPool} /> ) : ( @@ -709,6 +739,7 @@ export default function MyCreated({ loading={fetchResult.isLoading} operatePool={operatePool} setOperatePool={setOperatePool} + onModifyGspPool={onModifyGspPool} /> ['params']; scrollRef?: React.RefObject; @@ -57,6 +58,7 @@ export default function PoolList({ getMigrationPairAndMining?: GetMigrationPairAndMining; showMigrationPairAndMining?: ShowMigrationPairAndMining; supportAMMIcon?: boolean; + onModifyGspPool?: OnModifyGspPool; }) { const { isMobile } = useWidgetDevice(); @@ -207,6 +209,7 @@ export default function PoolList({ operatePool={operatePool} setOperatePool={setOperatePool} supportAMMIcon={supportAMMIcon} + onModifyGspPool={onModifyGspPool} /> From 54ebad869ace9db5df0056cd4b53a56858c5b6d9 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 14 Nov 2025 10:23:22 +0000 Subject: [PATCH 17/25] chore(release): @dodoex/widgets@3.5.0-beta.3 [skip ci] --- packages/dodoex-widgets/CHANGELOG.md | 7 +++++++ packages/dodoex-widgets/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/dodoex-widgets/CHANGELOG.md b/packages/dodoex-widgets/CHANGELOG.md index 6dc29c9f..46d83212 100644 --- a/packages/dodoex-widgets/CHANGELOG.md +++ b/packages/dodoex-widgets/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@dodoex/widgets-v3.5.0-beta.3](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.5.0-beta.2...@dodoex/widgets-v3.5.0-beta.3) (2025-11-14) + + +### Features + +* add gsp modify entry ([6ee7544](https://github.com/DODOEX/widgets/commit/6ee7544554adc8b8a7caafc2c12afe99e0e72302)) + # [@dodoex/widgets-v3.5.0-beta.2](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.5.0-beta.1...@dodoex/widgets-v3.5.0-beta.2) (2025-11-05) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index a0f0571a..a5d48f7f 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.5.0-beta.4", + "version": "3.5.0-beta.3", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", From 3d7a851564a56f9f26beb21495a9d7571ff180cf Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 14 Nov 2025 10:35:59 +0000 Subject: [PATCH 18/25] chore(release): @dodoex/widgets@3.9.0 [skip ci] --- packages/dodoex-widgets/CHANGELOG.md | 9 +++++++++ packages/dodoex-widgets/package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/dodoex-widgets/CHANGELOG.md b/packages/dodoex-widgets/CHANGELOG.md index f81fd2a6..77e38b7e 100644 --- a/packages/dodoex-widgets/CHANGELOG.md +++ b/packages/dodoex-widgets/CHANGELOG.md @@ -1,3 +1,12 @@ +# [@dodoex/widgets-v3.9.0](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.8.0...@dodoex/widgets-v3.9.0) (2025-11-14) + + +### Features + +* add disableConnectedProviderRead props ([faffac6](https://github.com/DODOEX/widgets/commit/faffac6f83f70f2bd02e942c69c6b29d9c7a4ba6)) +* add gsp modify entry ([6ee7544](https://github.com/DODOEX/widgets/commit/6ee7544554adc8b8a7caafc2c12afe99e0e72302)) +* update version ([5466e25](https://github.com/DODOEX/widgets/commit/5466e2585927e924749845bf91b3642875e1f926)) + # [@dodoex/widgets-v3.8.0](https://github.com/DODOEX/widgets/compare/@dodoex/widgets-v3.7.0...@dodoex/widgets-v3.8.0) (2025-11-14) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index d2923d5d..631374a6 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.8.0", + "version": "3.9.0", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", From ba5b019aec58d86fb142f9b23273462ca797b62b Mon Sep 17 00:00:00 2001 From: yrjkqq Date: Wed, 19 Nov 2025 14:02:04 +0800 Subject: [PATCH 19/25] chore: update dependencies and add new tokens for Stable Testnet support --- .../doc/src/stories/widgets/Pool.stories.tsx | 71 +- packages/dodoex-api/package.json | 6 +- packages/dodoex-api/src/gql/graphql.ts | 2258 +++++++++++++++-- .../ContractRequests/abi/ABIs/dodoDppProxy.ts | 158 +- .../ContractRequests/abi/ABIs/dodoDspProxy.ts | 264 +- .../ContractRequests/abi/ABIs/dodoProxyV2.ts | 670 +---- .../dodoex-api/src/services/pool/PoolApi.ts | 65 +- packages/dodoex-widgets/package.json | 10 +- .../assets/logo/networks/stable-testnet.svg | 38 +- .../dodoex-widgets/src/constants/tokenList.ts | 859 +------ packages/dodoex-widgets/src/locales/en-US.po | 4 +- packages/dodoex-widgets/src/locales/zh-CN.po | 4 +- .../hooks/contract/useCreatePoolSubmit.ts | 1 + .../PoolWidget/hooks/useAMMV2AddLiquidity.ts | 4 + yarn.lock | 8 +- 15 files changed, 2408 insertions(+), 2012 deletions(-) diff --git a/packages/doc/src/stories/widgets/Pool.stories.tsx b/packages/doc/src/stories/widgets/Pool.stories.tsx index 708d9da1..4df96e89 100644 --- a/packages/doc/src/stories/widgets/Pool.stories.tsx +++ b/packages/doc/src/stories/widgets/Pool.stories.tsx @@ -24,6 +24,75 @@ export const Primary = (props: any) => { ; + tickArrayLower?: Maybe; + tickArrayUpper?: Maybe; + tickIdx: Scalars['BigDecimal']['output']; +}; + +export type AmmTicksDataResult = { + chain: Scalars['String']['output']; + pairType: Scalars['String']['output']; + poolAddress: Scalars['String']['output']; + ticks: Array>; +}; + +export type AmmgetTicksDataInput = { + chain: Scalars['String']['input']; + pairType: Scalars['String']['input']; + poolAddress: Scalars['String']['input']; +}; + export type AnnouncementAnnouncement = { endAt?: Maybe; id?: Maybe; @@ -847,6 +874,73 @@ export type Balance_Filter = { export type Balance_OrderBy = 'chain' | 'id'; +export type Berachain_AlmPool = { + id?: Maybe; + poolDayData?: Maybe>>; + token0?: Maybe; + token0Price?: Maybe; + token1?: Maybe; + token1Price?: Maybe; + totalValueLockedUSD?: Maybe; +}; + +export type Berachain_AlmPoolDayData = { + date?: Maybe; + feesUSD?: Maybe; + tvlUSD?: Maybe; + volumeUSD?: Maybe; +}; + +export type Berachain_AlmToken = { + decimals?: Maybe; + derivedUSD?: Maybe; + id?: Maybe; + initialUSD?: Maybe; + liquidityUSD?: Maybe; + marketCap?: Maybe; + name?: Maybe; + priceChange24h?: Maybe; + priceChange24hPercentage?: Maybe; + symbol?: Maybe; + totalSupply?: Maybe; +}; + +export type Berachain_AlmVault = { + allowTokenA?: Maybe; + allowTokenB?: Maybe; + count?: Maybe; + createdAtTimestamp?: Maybe; + feeApr_1d?: Maybe; + feeApr_3d?: Maybe; + feeApr_7d?: Maybe; + feeApr_30d?: Maybe; + holdersCount?: Maybe; + id?: Maybe; + pool?: Maybe; + protocol?: Maybe; + sender?: Maybe; + tokenA?: Maybe; + tokenB?: Maybe; + totalAmount0?: Maybe; + totalAmount1?: Maybe; + totalShares?: Maybe; + totalSupply?: Maybe; +}; + +export type Berachain_AlmVaultShares = { + id?: Maybe; + vault?: Maybe; + vaultShareBalance?: Maybe; +}; + +export type Berachain_AlmallVaultsSearch = { + search?: InputMaybe; +}; + +export type Berachain_AlmmyVaultsSearch = { + address?: InputMaybe; +}; + export type BidHistory = { /** action :bid、cancle */ action: Scalars['String']['output']; @@ -1876,6 +1970,7 @@ export type Cross_Chain_SwapExtend = { encodeId?: Maybe; fromToken?: Maybe; lifiBridge?: Maybe; + productStateInfo?: Maybe; refunded?: Maybe; route?: Maybe; toToken?: Maybe; @@ -1909,6 +2004,177 @@ export type Cross_Chain_SwapToolDetail = { name?: Maybe; }; +export type Cross_Chain_Swap_ZetachainCrossChainOrderCreate = { + success?: Maybe; +}; + +export type Cross_Chain_Swap_ZetachainCrossChainOrderList = { + bridgeChainId?: Maybe; + bridgeRefundVault?: Maybe; + createdAt?: Maybe; + endTime?: Maybe; + externalId?: Maybe; + fees?: Maybe; + fromAddress?: Maybe; + fromAmount?: Maybe; + fromAmountUSD?: Maybe; + fromAmountWithOutDecimals?: Maybe; + fromChainId?: Maybe; + fromHash?: Maybe; + fromTokenAddress?: Maybe; + id?: Maybe; + omniPlan?: Maybe; + refundAmount?: Maybe; + refundChainId?: Maybe; + refundHash?: Maybe; + refundToken?: Maybe; + refundUser?: Maybe; + slippage?: Maybe; + startTime?: Maybe; + status?: Maybe; + statusCode?: Maybe; + subStatus?: Maybe; + toAddress?: Maybe; + toAmount?: Maybe; + toAmountUSD?: Maybe; + toAmountWithOutDecimals?: Maybe; + toChainId?: Maybe; + toHash?: Maybe; + toTokenAddress?: Maybe; +}; + +export type Cross_Chain_Swap_ZetachainCrossChainOrderResult = { + count?: Maybe; + list?: Maybe>>; + page?: Maybe; + pageSize?: Maybe; +}; + +export type Cross_Chain_Swap_ZetachainCrossChainRoute = { + approveTarget?: Maybe; + encodeParams?: Maybe; + fees?: Maybe; + fromAddress?: Maybe; + fromAmount?: Maybe; + fromAmountUSD?: Maybe; + fromAmountWithOutDecimals?: Maybe; + fromChainId?: Maybe; + fromTokenAddress?: Maybe; + min?: Maybe; + omniPlan?: Maybe; + routeId?: Maybe; + slippage?: Maybe; + toAddress?: Maybe; + toAmount?: Maybe; + toAmountUSD?: Maybe; + toAmountWithOutDecimals?: Maybe; + toChainId?: Maybe; + toTokenAddress?: Maybe; +}; + +export type Cross_Chain_Swap_ZetachainCrossChainTransactionEncode = { + chainId?: Maybe; + data?: Maybe; + from?: Maybe; + to?: Maybe; + value?: Maybe; +}; + +export type Cross_Chain_Swap_ZetachainSwapOrderList = { + chainId?: Maybe; + createdAt?: Maybe; + extra?: Maybe; + fromAmount?: Maybe; + fromTokenAddress?: Maybe; + fromTokenDecimals?: Maybe; + fromTokenPrice?: Maybe; + fromTokenSymbol?: Maybe; + hash?: Maybe; + key?: Maybe; + maxAmount?: Maybe; + minAmount?: Maybe; + nonce?: Maybe; + status?: Maybe; + toAmount?: Maybe; + toTokenAddress?: Maybe; + toTokenDecimals?: Maybe; + toTokenPrice?: Maybe; + toTokenSymbol?: Maybe; + user?: Maybe; +}; + +export type Cross_Chain_Swap_ZetachainSwapOrderResult = { + count?: Maybe; + list?: Maybe>>; + page?: Maybe; + pageSize?: Maybe; +}; + +export type Cross_Chain_Swap_ZetachainorderCreateData = { + calldata?: InputMaybe; + fees?: InputMaybe; + fromAddress?: InputMaybe; + fromAmount?: InputMaybe; + fromAmountUSD?: InputMaybe; + fromAmountWithOutDecimals?: InputMaybe; + fromChainId?: InputMaybe; + fromHash?: InputMaybe; + fromTokenAddress?: InputMaybe; + omniPlan?: InputMaybe; + routeId?: InputMaybe; + slippage?: InputMaybe; + toAddress?: InputMaybe; + toAmount?: InputMaybe; + toAmountUSD?: InputMaybe; + toAmountWithOutDecimals?: InputMaybe; + toChainId?: InputMaybe; + toTokenAddress?: InputMaybe; +}; + +export type Cross_Chain_Swap_ZetachainorderDetailData = { + fromChainId?: InputMaybe; + fromHash?: InputMaybe; + refreshNow?: InputMaybe; +}; + +export type Cross_Chain_Swap_ZetachainorderListData = { + page?: InputMaybe; + pageSize?: InputMaybe; + refreshNow?: InputMaybe; + type?: InputMaybe; + user?: InputMaybe; +}; + +export type Cross_Chain_Swap_ZetachainorderRefundClaimedData = { + externalId?: InputMaybe; + hash?: InputMaybe; +}; + +export type Cross_Chain_Swap_ZetachainrouteParams = { + fromAddress?: InputMaybe; + fromAmount?: InputMaybe; + fromChainId?: InputMaybe; + fromTokenAddress?: InputMaybe; + refreshNow?: InputMaybe; + slippage?: InputMaybe; + toAddress?: InputMaybe; + toChainId?: InputMaybe; + toTokenAddress?: InputMaybe; +}; + +export type Cross_Chain_Swap_ZetachainswapOrderListData = { + chainId?: InputMaybe; + page?: InputMaybe; + pageSize?: InputMaybe; + refreshNow?: InputMaybe; + userAddress?: InputMaybe; +}; + +export type Cross_Chain_Swap_ZetachaintransactionEncodeParams = { + interfaceParams?: InputMaybe; + refreshNow?: InputMaybe; +}; + export type Cross_Chain_SwapdodoOrderListData = { from?: InputMaybe; limit?: InputMaybe; @@ -1948,6 +2214,7 @@ export type Cross_Chain_SwaporderCreateDataExtendRoute = { feeUSD?: InputMaybe; step?: InputMaybe; toAmount?: InputMaybe; + toAmountMin?: InputMaybe; }; export type Cross_Chain_SwaporderDetailData = { @@ -1960,8 +2227,10 @@ export type Cross_Chain_SwaporderListData = { chainId?: InputMaybe; limit?: InputMaybe; page?: InputMaybe; + product?: InputMaybe; refreshNow?: InputMaybe; source?: InputMaybe; + status?: InputMaybe; user?: InputMaybe; }; @@ -1973,6 +2242,7 @@ export type Cross_Chain_SwaporderNewStatusData = { export type Cross_Chain_SwaporderRefundCountData = { chainId?: InputMaybe; from?: InputMaybe; + product?: InputMaybe; refreshNow?: InputMaybe; source?: InputMaybe; user?: InputMaybe; @@ -2074,108 +2344,445 @@ export type Cross_Chain_TokentokenlistFilter = { refreshNow?: InputMaybe; }; -export type CrowdPooling = { - /** base token */ - baseToken: Token; - /** bid end time */ - bidEndTime: Scalars['BigInt']['output']; - /** bid start time */ - bidStartTime: Scalars['BigInt']['output']; - /** clam end time */ - calmEndTime: Scalars['BigInt']['output']; - chain: Scalars['String']['output']; - /** create time */ - createTime: Scalars['BigInt']['output']; - /** creator */ - creator: Scalars['Bytes']['output']; - /** created dvm address */ - dvm?: Maybe; - /** pool feerate */ - feeRate?: Maybe; - /** freeze duration */ - freezeDuration: Scalars['BigInt']['output']; - /** i */ - i: Scalars['BigInt']['output']; - /** cp address */ - id: Scalars['ID']['output']; - /** investors count = creators */ - investorsCount: Scalars['BigInt']['output']; - /** is overcap stop */ - isOvercapStop?: Maybe; - /** k */ - k: Scalars['BigInt']['output']; - /** liquidator */ - liquidator: Scalars['Bytes']['output']; - /** mt fee rate model */ - mtFeeRateModel: Scalars['Bytes']['output']; - /** total quote in pool */ - poolQuote: Scalars['BigDecimal']['output']; - /** pool quote cap */ - poolQuoteCap: Scalars['BigDecimal']['output']; - /** quote token */ - quoteToken: Token; - /** serial number */ - serialNumber: Scalars['BigInt']['output']; - /** settle state */ - settled: Scalars['Boolean']['output']; - /** token claim duration */ - tokenClaimDuration?: Maybe; - /** token cliff rate */ - tokenCliffRate?: Maybe; - /** token vesting duration */ - tokenVestingDuration?: Maybe; - /** total base */ - totalBase: Scalars['BigDecimal']['output']; - /** total shares */ - totalShares: Scalars['BigDecimal']['output']; - /** updatedAt */ - updatedAt?: Maybe; - /** version */ - version?: Maybe; - /** vesting duration */ - vestingDuration: Scalars['BigInt']['output']; -}; - -export type CrowdPoolingDayData = { - /** total quote canceled in durnation */ - canceledQuote: Scalars['BigDecimal']['output']; - chain: Scalars['String']['output']; - /** CrowdPooling */ - crowdPooling: CrowdPooling; - /** uinx timestamp(start of day) */ - date: Scalars['Int']['output']; - /** cp address - day id */ - id: Scalars['ID']['output']; - /** invest count */ - investCount: Scalars['BigInt']['output']; - /** total quote invest in durnation = taker tokens */ - investedQuote: Scalars['BigDecimal']['output']; - /** investors count */ - investors: Scalars['BigInt']['output']; - /** creator: newly investor */ - newcome: Scalars['BigInt']['output']; - /** total quote in pool */ - poolQuote: Scalars['BigDecimal']['output']; - /** updatedAt */ - updatedAt?: Maybe; +export type Cross_Chain_TransferAttributeLabelV2 = { + key?: Maybe; + name?: Maybe; + status?: Maybe; }; -export type CrowdPoolingDayData_Filter = { - canceledQuote?: InputMaybe; - canceledQuote_gt?: InputMaybe; - canceledQuote_gte?: InputMaybe; - canceledQuote_in?: InputMaybe>; - canceledQuote_lt?: InputMaybe; - canceledQuote_lte?: InputMaybe; - canceledQuote_not?: InputMaybe; - canceledQuote_not_in?: InputMaybe>; - chain?: InputMaybe; - chain_contains?: InputMaybe; - chain_ends_with?: InputMaybe; - chain_gt?: InputMaybe; - chain_gte?: InputMaybe; - chain_in?: InputMaybe>; - chain_lt?: InputMaybe; +export type Cross_Chain_TransferCrossChainOrder = { + createdAt?: Maybe; + duration?: Maybe; + endTime?: Maybe; + fee?: Maybe; + feeUsd?: Maybe; + fromAmount?: Maybe; + fromChainId?: Maybe; + fromHash?: Maybe; + fromTokenAddress?: Maybe; + fromTokenDecimals?: Maybe; + fromTokenName?: Maybe; + fromTokenSymbol?: Maybe; + gas?: Maybe; + gasUsd?: Maybe; + id?: Maybe; + status?: Maybe; + toAddress?: Maybe; + toAmount?: Maybe; + toChainId?: Maybe; + toHash?: Maybe; + toTokenAddress?: Maybe; + toTokenDecimals?: Maybe; + toTokenName?: Maybe; + toTokenSymbol?: Maybe; + updatedAt?: Maybe; + user?: Maybe; +}; + +export type Cross_Chain_TransferCrossChainOrderList = { + currentPage?: Maybe; + list?: Maybe>>; + total?: Maybe; +}; + +export type Cross_Chain_TransferDomain = { + env?: Maybe; + name?: Maybe; +}; + +export type Cross_Chain_TransferErc20V2List = { + address?: Maybe; + attributeLabels?: Maybe>>; + chainId?: Maybe; + crossChainSymbol?: Maybe; + decimals?: Maybe; + domains?: Maybe>>; + erc20Extend?: Maybe; + funcLabels?: Maybe>>; + id?: Maybe; + logoImg?: Maybe; + name?: Maybe; + position?: Maybe; + slippage?: Maybe; + symbol?: Maybe; + tokenlists?: Maybe>>; +}; + +export type Cross_Chain_TransferExplorerAllSections = { + lastUpdated: Scalars['String']['output']; + sections: Array; +}; + +export type Cross_Chain_TransferExplorerProject = { + estimatedDate?: Maybe; + id: Scalars['Int']['output']; + launchDate?: Maybe; + projectLogo?: Maybe; + projectName: Scalars['String']['output']; + sections: Array; + sortOrder: Scalars['Int']['output']; + supportedChains?: Maybe>; + tags?: Maybe>; + tgeDate?: Maybe; + totalRaised?: Maybe; + twitterUrl?: Maybe; + websiteUrl?: Maybe; +}; + +export type Cross_Chain_TransferExplorerSection = + | 'HOT_PROJECTS' + | 'MAINNET_LAUNCHES' + | 'RECENT_AIRDROPS' + | 'TESTNET_LAUNCHES' + | 'UPCOMING_AIRDROPS'; + +export type Cross_Chain_TransferExplorerSectionProjects = { + projects: Array; + section: Cross_Chain_TransferExplorerSection; + sectionName: Scalars['String']['output']; + total: Scalars['Int']['output']; +}; + +export type Cross_Chain_TransferFeeBreakdown = { + crossChainFee: Scalars['String']['output']; + crossChainFeeUsd?: Maybe; + sourceSwapFee: Scalars['String']['output']; + sourceSwapFeeUsd?: Maybe; + targetSwapFee: Scalars['String']['output']; + targetSwapFeeUsd?: Maybe; + totalFee: Scalars['String']['output']; + totalFeeUsd?: Maybe; +}; + +export type Cross_Chain_TransferFuncLabelV2 = { + key?: Maybe; + name?: Maybe; + status?: Maybe; +}; + +export type Cross_Chain_TransferHeterogeneousQuoteResponse = { + amount: Scalars['String']['output']; + amountFormatted: Scalars['String']['output']; + bestQuote: Scalars['String']['output']; + bestQuoteFormatted: Scalars['String']['output']; + crossChainSymbol: Scalars['String']['output']; + estimatedCompletionTime: Scalars['Int']['output']; + feeBreakdown?: Maybe; + fixedFee: Scalars['String']['output']; + fixedFeeFormatted: Scalars['String']['output']; + fixedFeeUsd: Scalars['String']['output']; + gasFee: Scalars['String']['output']; + gasFeeFormatted: Scalars['String']['output']; + gasFeeUsd: Scalars['String']['output']; + gasTokenPrice: Scalars['String']['output']; + intermediateToken?: Maybe; + isHeterogeneous: Scalars['Boolean']['output']; + minReceiveQuote: Scalars['String']['output']; + minReceiveQuoteFormatted: Scalars['String']['output']; + orderId: Scalars['String']['output']; + rateFee: Scalars['String']['output']; + rateFeeFormatted: Scalars['String']['output']; + rateFeeUsd: Scalars['String']['output']; + recipient: Scalars['String']['output']; + slippageTolerance?: Maybe; + sourceChainId: Scalars['Int']['output']; + sourceSwap: Cross_Chain_TransferSwapInfo; + sourceTokenAddress: Scalars['String']['output']; + sourceTokenDecimals: Scalars['Int']['output']; + sourceTokenName: Scalars['String']['output']; + sourceTokenPrice: Scalars['String']['output']; + sourceTokenSymbol: Scalars['String']['output']; + targetChainId: Scalars['Int']['output']; + targetSwap: Cross_Chain_TransferSwapInfo; + targetTokenAddress: Scalars['String']['output']; + targetTokenDecimals: Scalars['Int']['output']; + targetTokenName: Scalars['String']['output']; + targetTokenSymbol: Scalars['String']['output']; + timestamp: Scalars['String']['output']; + totalFee: Scalars['String']['output']; + totalFeeFormatted: Scalars['String']['output']; + totalFeeUsd: Scalars['String']['output']; + totalPriceImpact: Scalars['Float']['output']; + transactionData: Cross_Chain_TransferQuoteResponseTransactionDataDto; + userAddress: Scalars['String']['output']; + version: Scalars['String']['output']; +}; + +export type Cross_Chain_TransferOrderDetailFilter = { + orderId: Scalars['String']['input']; +}; + +export type Cross_Chain_TransferOrderListFilter = { + chainId?: InputMaybe; + destChainId?: InputMaybe; + maxAmount?: InputMaybe; + minAmount?: InputMaybe; + origChainId?: InputMaybe; + page?: InputMaybe; + pageSize?: InputMaybe; + status?: InputMaybe; + user?: InputMaybe; +}; + +export type Cross_Chain_TransferQuoteResponse = { + amount: Scalars['String']['output']; + amountFormatted: Scalars['String']['output']; + bestQuote: Scalars['String']['output']; + bestQuoteFormatted: Scalars['String']['output']; + crossChainSymbol: Scalars['String']['output']; + fixedFee: Scalars['String']['output']; + fixedFeeFormatted: Scalars['String']['output']; + fixedFeeUsd: Scalars['String']['output']; + gasFee: Scalars['String']['output']; + gasFeeFormatted: Scalars['String']['output']; + gasFeeUsd: Scalars['String']['output']; + gasTokenPrice: Scalars['String']['output']; + minReceiveQuote: Scalars['String']['output']; + minReceiveQuoteFormatted: Scalars['String']['output']; + orderId: Scalars['String']['output']; + rateFee: Scalars['String']['output']; + rateFeeFormatted: Scalars['String']['output']; + rateFeeUsd: Scalars['String']['output']; + recipient: Scalars['String']['output']; + sourceChainId: Scalars['Int']['output']; + sourceTokenAddress: Scalars['String']['output']; + sourceTokenDecimals: Scalars['Int']['output']; + sourceTokenName: Scalars['String']['output']; + sourceTokenPrice: Scalars['String']['output']; + sourceTokenSymbol: Scalars['String']['output']; + targetChainId: Scalars['Int']['output']; + targetTokenAddress: Scalars['String']['output']; + targetTokenDecimals: Scalars['Int']['output']; + targetTokenName: Scalars['String']['output']; + targetTokenSymbol: Scalars['String']['output']; + timestamp: Scalars['String']['output']; + totalFee: Scalars['String']['output']; + totalFeeFormatted: Scalars['String']['output']; + totalFeeUsd: Scalars['String']['output']; + transactionData: Cross_Chain_TransferQuoteResponseTransactionDataDto; + userAddress: Scalars['String']['output']; + version: Scalars['String']['output']; +}; + +export type Cross_Chain_TransferQuoteResponseTransactionDataDto = { + data: Scalars['String']['output']; + targetApproveAddr?: Maybe; + to: Scalars['String']['output']; + value: Scalars['String']['output']; +}; + +export type Cross_Chain_TransferRouteStep = { + amountIn: Scalars['String']['output']; + amountOut: Scalars['String']['output']; + poolAddress: Scalars['String']['output']; + protocol: Scalars['String']['output']; + tokenIn: Scalars['String']['output']; + tokenOut: Scalars['String']['output']; +}; + +export type Cross_Chain_TransferSupportedChain = { + chainId: Scalars['Int']['output']; + chainName: Scalars['String']['output']; +}; + +export type Cross_Chain_TransferSwapExecuteData = { + data: Scalars['String']['output']; + to: Scalars['String']['output']; + value: Scalars['String']['output']; +}; + +export type Cross_Chain_TransferSwapInfo = { + estimatedGas?: Maybe; + executeData?: Maybe; + fromToken?: Maybe; + priceImpact?: Maybe; + quote?: Maybe; + required: Scalars['Boolean']['output']; + toToken?: Maybe; +}; + +export type Cross_Chain_TransferSwapQuoteInfo = { + executionPrice: Scalars['Float']['output']; + fromAmount: Scalars['String']['output']; + fromToken: Cross_Chain_TransferTokenInfo; + gasEstimate: Scalars['String']['output']; + minReceiveAmount: Scalars['String']['output']; + priceImpact: Scalars['Float']['output']; + routePath: Array; + toAmount: Scalars['String']['output']; + toToken: Cross_Chain_TransferTokenInfo; +}; + +export type Cross_Chain_TransferTokenInfo = { + address: Scalars['String']['output']; + chainId: Scalars['Int']['output']; + crossChainSymbol: Scalars['String']['output']; + decimals: Scalars['Int']['output']; + id: Scalars['Int']['output']; + name: Scalars['String']['output']; + symbol: Scalars['String']['output']; +}; + +export type Cross_Chain_TransferTokenListV2 = { + chainId?: Maybe; + name?: Maybe; + status?: Maybe; +}; + +export type Cross_Chain_TransferheterogeneousQuoteFilter = { + amount: Scalars['String']['input']; + /** 同币种跨链时必填 */ + crossChainSymbol?: InputMaybe; + preferredIntermediateToken?: InputMaybe; + recipient: Scalars['String']['input']; + slippageTolerance?: InputMaybe; + sourceChainId: Scalars['Int']['input']; + sourceTokenAddress: Scalars['String']['input']; + targetChainId: Scalars['Int']['input']; + targetTokenAddress: Scalars['String']['input']; + userAddress: Scalars['String']['input']; +}; + +export type Cross_Chain_TransferlistV2Filter = { + chainId?: InputMaybe; + chainIds?: InputMaybe; + page?: InputMaybe; + pageSize?: InputMaybe; + refreshNow?: InputMaybe; +}; + +export type Cross_Chain_TransferquoteFilter = { + amount: Scalars['String']['input']; + crossChainSymbol: Scalars['String']['input']; + recipient: Scalars['String']['input']; + sourceChainId: Scalars['Int']['input']; + sourceTokenAddress: Scalars['String']['input']; + targetChainId: Scalars['Int']['input']; + targetTokenAddress: Scalars['String']['input']; + userAddress: Scalars['String']['input']; +}; + +export type Cross_Chain_Zetachain_TokenCrossChainTokenlist = { + address?: Maybe; + chainId?: Maybe; + decimals?: Maybe; + id?: Maybe; + logo?: Maybe; + name?: Maybe; + position?: Maybe; + slippage?: Maybe; + supportTargetChain?: Maybe; + symbol?: Maybe; +}; + +export type Cross_Chain_Zetachain_TokentokenlistFilter = { + chainId?: InputMaybe; + pageSize?: InputMaybe; + refreshNow?: InputMaybe; +}; + +export type CrowdPooling = { + /** base token */ + baseToken: Token; + /** bid end time */ + bidEndTime: Scalars['BigInt']['output']; + /** bid start time */ + bidStartTime: Scalars['BigInt']['output']; + /** clam end time */ + calmEndTime: Scalars['BigInt']['output']; + chain: Scalars['String']['output']; + /** create time */ + createTime: Scalars['BigInt']['output']; + /** creator */ + creator: Scalars['Bytes']['output']; + /** created dvm address */ + dvm?: Maybe; + /** pool feerate */ + feeRate?: Maybe; + /** freeze duration */ + freezeDuration: Scalars['BigInt']['output']; + /** i */ + i: Scalars['BigInt']['output']; + /** cp address */ + id: Scalars['ID']['output']; + /** investors count = creators */ + investorsCount: Scalars['BigInt']['output']; + /** is overcap stop */ + isOvercapStop?: Maybe; + /** k */ + k: Scalars['BigInt']['output']; + /** liquidator */ + liquidator: Scalars['Bytes']['output']; + /** mt fee rate model */ + mtFeeRateModel: Scalars['Bytes']['output']; + /** total quote in pool */ + poolQuote: Scalars['BigDecimal']['output']; + /** pool quote cap */ + poolQuoteCap: Scalars['BigDecimal']['output']; + /** quote token */ + quoteToken: Token; + /** serial number */ + serialNumber: Scalars['BigInt']['output']; + /** settle state */ + settled: Scalars['Boolean']['output']; + /** token claim duration */ + tokenClaimDuration?: Maybe; + /** token cliff rate */ + tokenCliffRate?: Maybe; + /** token vesting duration */ + tokenVestingDuration?: Maybe; + /** total base */ + totalBase: Scalars['BigDecimal']['output']; + /** total shares */ + totalShares: Scalars['BigDecimal']['output']; + /** updatedAt */ + updatedAt?: Maybe; + /** version */ + version?: Maybe; + /** vesting duration */ + vestingDuration: Scalars['BigInt']['output']; +}; + +export type CrowdPoolingDayData = { + /** total quote canceled in durnation */ + canceledQuote: Scalars['BigDecimal']['output']; + chain: Scalars['String']['output']; + /** CrowdPooling */ + crowdPooling: CrowdPooling; + /** uinx timestamp(start of day) */ + date: Scalars['Int']['output']; + /** cp address - day id */ + id: Scalars['ID']['output']; + /** invest count */ + investCount: Scalars['BigInt']['output']; + /** total quote invest in durnation = taker tokens */ + investedQuote: Scalars['BigDecimal']['output']; + /** investors count */ + investors: Scalars['BigInt']['output']; + /** creator: newly investor */ + newcome: Scalars['BigInt']['output']; + /** total quote in pool */ + poolQuote: Scalars['BigDecimal']['output']; + /** updatedAt */ + updatedAt?: Maybe; +}; + +export type CrowdPoolingDayData_Filter = { + canceledQuote?: InputMaybe; + canceledQuote_gt?: InputMaybe; + canceledQuote_gte?: InputMaybe; + canceledQuote_in?: InputMaybe>; + canceledQuote_lt?: InputMaybe; + canceledQuote_lte?: InputMaybe; + canceledQuote_not?: InputMaybe; + canceledQuote_not_in?: InputMaybe>; + chain?: InputMaybe; + chain_contains?: InputMaybe; + chain_ends_with?: InputMaybe; + chain_gt?: InputMaybe; + chain_gte?: InputMaybe; + chain_in?: InputMaybe>; + chain_lt?: InputMaybe; chain_lte?: InputMaybe; chain_not?: InputMaybe; chain_not_contains?: InputMaybe; @@ -2945,46 +3552,182 @@ export type Crowd_Poolinglist_Filter = { top?: InputMaybe; }; -export type D3mmAsset = { - lpToken: D3mmToken; - token: D3mmToken; +export type Curve_Stableswap_NgFilterState = { + poolAddress?: InputMaybe; + poolName?: InputMaybe; + tokenAddress?: InputMaybe; }; -export type D3mmAssetDailyInterest = { - /** 存款 */ - balanceUsd: Scalars['BigDecimal']['output']; - date: Scalars['Int']['output']; - /** 挖矿收益,未完成暂时是假数据 */ - interestUsd: Scalars['BigDecimal']['output']; - /** 利息 */ - profitUsd: Scalars['BigDecimal']['output']; +export type Curve_Stableswap_NgLp = { + id?: Maybe; + liquidityTokenBalance?: Maybe; + lpTokens?: Maybe>>; }; -export type D3mmAssetInfo = { - address: Scalars['String']['output']; - /** 余款 */ - balanceUsd: Scalars['BigDecimal']['output']; - chainId: Scalars['Int']['output']; - decimals: Scalars['Int']['output']; - /** 总挖矿收益 */ - depositInterestUsd: Scalars['BigDecimal']['output']; - /** Total Liquidity - Can Deposit Funds - Amount */ - depositable: Scalars['BigDecimal']['output']; - /** Total Liquidity - Can Deposit Funds - Ratio */ - depositableRatio: Scalars['BigDecimal']['output']; - /** Total Liquidity - Deposited Funds - Amount */ - deposited: Scalars['BigDecimal']['output']; - /** Total Liquidity - Deposited Funds - Ratio */ - depositedRatio: Scalars['BigDecimal']['output']; - /** apy的组成部分, 挖矿利率 */ - miningApy: Scalars['BigDecimal']['output']; - /** Serve Fee APY */ - mtFeeApy: Scalars['BigDecimal']['output']; - name: Scalars['String']['output']; - /** @deprecated */ - staked: Scalars['BigDecimal']['output']; - /** apy的组成部分, 策略保底利率 */ - strategyApy: Scalars['BigDecimal']['output']; +export type Curve_Stableswap_NgLiquidityHistory = { + action: Scalars['String']['output']; + assets?: Maybe>; + id: Scalars['ID']['output']; + time: Scalars['BigInt']['output']; + user: Scalars['String']['output']; +}; + +export type Curve_Stableswap_NgLiquidityHistoryAsset = { + amount: Scalars['BigDecimal']['output']; + token: Curve_Stableswap_NgToken; +}; + +export type Curve_Stableswap_NgLiquidityHistoryListInfo = { + currentPage?: Maybe; + liquidityHistories?: Maybe>; + pageSize?: Maybe; + totalCount?: Maybe; +}; + +export type Curve_Stableswap_NgListInfo = { + chainId?: Maybe; + currentPage?: Maybe; + lqList?: Maybe>>; + pageSize?: Maybe; + totalCount?: Maybe; + user?: Maybe; +}; + +export type Curve_Stableswap_NgLqList = { + id?: Maybe; + isMyLiquidity?: Maybe; + liquidityPositions?: Maybe>>; + pool?: Maybe; +}; + +export type Curve_Stableswap_NgOrder = { + /** updatedAt tvl apy liquidity */ + orderBy?: InputMaybe; + /** desc asc' */ + orderDirection?: InputMaybe; +}; + +export type Curve_Stableswap_NgPool = { + a: Scalars['BigInt']['output']; + address: Scalars['String']['output']; + apy: Scalars['BigDecimal']['output']; + coins: Array; + dailyVolumeUsd: Scalars['BigDecimal']['output']; + daoFee: Scalars['BigDecimal']['output']; + decimals: Scalars['Int']['output']; + fee: Scalars['BigDecimal']['output']; + fees: Scalars['BigDecimal']['output']; + id: Scalars['ID']['output']; + liquidityUtilization: Scalars['BigDecimal']['output']; + name: Scalars['String']['output']; + offpegFeeMultiplier: Scalars['BigInt']['output']; + poolType: Scalars['String']['output']; + reserves?: Maybe>>; + symbol: Scalars['String']['output']; + totalSupply: Scalars['BigDecimal']['output']; + traderCount: Scalars['BigInt']['output']; + tvl: Scalars['BigDecimal']['output']; + virtualPrice: Scalars['BigDecimal']['output']; + volume: Scalars['BigDecimal']['output']; +}; + +export type Curve_Stableswap_NgPoolReserve = { + amount: Scalars['BigDecimal']['output']; + ratio: Scalars['BigDecimal']['output']; + token: Curve_Stableswap_NgToken; +}; + +export type Curve_Stableswap_NgSwap = { + id: Scalars['ID']['output']; + paidAmount: Scalars['BigDecimal']['output']; + paidToken: Curve_Stableswap_NgToken; + receivedAmount: Scalars['BigDecimal']['output']; + receivedToken: Curve_Stableswap_NgToken; + time: Scalars['BigInt']['output']; + user: Scalars['String']['output']; +}; + +export type Curve_Stableswap_NgSwapListInfo = { + currentPage?: Maybe; + pageSize?: Maybe; + swaps?: Maybe>; + totalCount?: Maybe; +}; + +export type Curve_Stableswap_NgToken = { + address: Scalars['String']['output']; + decimals: Scalars['Int']['output']; + id: Scalars['ID']['output']; + /** token logo img */ + logoImg?: Maybe; + name: Scalars['String']['output']; + symbol: Scalars['String']['output']; + tokenIndex?: Maybe; +}; + +export type Curve_Stableswap_NgUserToken = { + address: Scalars['String']['output']; + amount: Scalars['BigDecimal']['output']; + decimals: Scalars['Int']['output']; + id: Scalars['ID']['output']; + name: Scalars['String']['output']; + symbol: Scalars['String']['output']; +}; + +export type Curve_Stableswap_Nglist_Filter = { + chainId?: InputMaybe; + currentPage?: InputMaybe; + filterState?: InputMaybe; + order?: InputMaybe; + pageSize?: InputMaybe; + user?: InputMaybe; +}; + +export type Curve_Stableswap_Ngpool_Info_Filter = { + chainId: Scalars['Int']['input']; + poolAddress: Scalars['String']['input']; +}; + +export type D3mmAsset = { + lpToken: D3mmToken; + token: D3mmToken; +}; + +export type D3mmAssetDailyInterest = { + /** 存款 */ + balanceUsd: Scalars['BigDecimal']['output']; + date: Scalars['Int']['output']; + /** 挖矿收益,未完成暂时是假数据 */ + interestUsd: Scalars['BigDecimal']['output']; + /** 利息 */ + profitUsd: Scalars['BigDecimal']['output']; +}; + +export type D3mmAssetInfo = { + address: Scalars['String']['output']; + /** 余款 */ + balanceUsd: Scalars['BigDecimal']['output']; + chainId: Scalars['Int']['output']; + decimals: Scalars['Int']['output']; + /** 总挖矿收益 */ + depositInterestUsd: Scalars['BigDecimal']['output']; + /** Total Liquidity - Can Deposit Funds - Amount */ + depositable: Scalars['BigDecimal']['output']; + /** Total Liquidity - Can Deposit Funds - Ratio */ + depositableRatio: Scalars['BigDecimal']['output']; + /** Total Liquidity - Deposited Funds - Amount */ + deposited: Scalars['BigDecimal']['output']; + /** Total Liquidity - Deposited Funds - Ratio */ + depositedRatio: Scalars['BigDecimal']['output']; + /** apy的组成部分, 挖矿利率 */ + miningApy: Scalars['BigDecimal']['output']; + /** Serve Fee APY */ + mtFeeApy: Scalars['BigDecimal']['output']; + name: Scalars['String']['output']; + /** @deprecated */ + staked: Scalars['BigDecimal']['output']; + /** apy的组成部分, 策略保底利率 */ + strategyApy: Scalars['BigDecimal']['output']; /** * 总策略保底收益 * @deprecated @@ -3816,6 +4559,13 @@ export type DashboardDataGroupByDate = { volumeUsd?: Maybe; }; +export type DashboardOrder = { + /** tvl apy volume */ + orderBy?: InputMaybe; + /** desc asc' */ + orderDirection?: InputMaybe; +}; + export type DashboardPairData = { /** transaction count */ txes?: Maybe; @@ -4025,6 +4775,7 @@ export type Dashboardtype_List_Filter = { chainIds?: InputMaybe>>; creator?: InputMaybe; limit?: InputMaybe; + order?: InputMaybe; owner?: InputMaybe; page?: InputMaybe; refreshNow?: InputMaybe; @@ -5912,6 +6663,7 @@ export type Erc20listV2Filter = { chainIds?: InputMaybe; page?: InputMaybe; pageSize?: InputMaybe; + productName?: InputMaybe; refreshNow?: InputMaybe; }; @@ -6391,6 +7143,85 @@ export type IncentiveRewardHistory_OrderBy = | 'updatedAt' | 'user'; +export type Leaderboard_ActivitiesActivityStats = { + addedLiquidity: Scalars['String']['output']; + topLPerRewards: Scalars['String']['output']; + topTraderRewards: Scalars['String']['output']; + tradingVolume: Scalars['String']['output']; +}; + +export type Leaderboard_ActivitiesLeaderboardInput = { + chain: Scalars['String']['input']; + date?: InputMaybe; + useCache?: InputMaybe; +}; + +export type Leaderboard_ActivitiesLeaderboardLPer = { + rank: Scalars['Int']['output']; + totalLiquidity: Scalars['String']['output']; + transactionCount: Scalars['Int']['output']; + user: Scalars['String']['output']; +}; + +export type Leaderboard_ActivitiesLeaderboardResult = { + chain?: Maybe; + date: Scalars['String']['output']; + endTime: Scalars['Int']['output']; + pairAddress?: Maybe; + period: Scalars['String']['output']; + startTime: Scalars['Int']['output']; + stats: Leaderboard_ActivitiesActivityStats; + topLPers: Array; + topTraders: Array; +}; + +export type Leaderboard_ActivitiesLeaderboardTrader = { + rank: Scalars['Int']['output']; + totalVolume: Scalars['String']['output']; + transactionCount: Scalars['Int']['output']; + user: Scalars['String']['output']; +}; + +export type Leaderboard_ActivitiesPeriodResult = { + endTime: Scalars['Int']['output']; + index: Scalars['Int']['output']; + startTime: Scalars['Int']['output']; + /** not_started ,ongoing, ended */ + status: Scalars['String']['output']; +}; + +export type Leaderboard_ActivitiesPeriodsInput = { + chain: Scalars['String']['input']; +}; + +export type Leaderboard_ActivitiesPeriodsResult = { + activityEndTime: Scalars['Int']['output']; + activityStartTime: Scalars['Int']['output']; + period: Scalars['String']['output']; + periods: Array; +}; + +export type Leaderboard_ActivitiesUserRankingInput = { + chain: Scalars['String']['input']; + date?: InputMaybe; + useCache?: InputMaybe; + user: Scalars['String']['input']; +}; + +export type Leaderboard_ActivitiesUserRankingResult = { + chain?: Maybe; + date: Scalars['String']['output']; + endTime: Scalars['Int']['output']; + lperRank?: Maybe; + pairAddress?: Maybe; + period: Scalars['String']['output']; + startTime: Scalars['Int']['output']; + totalLiquidity?: Maybe; + totalVolume?: Maybe; + traderRank?: Maybe; + user: Scalars['String']['output']; +}; + export type Limit_And_RfqCancelLimitOrderResponse = { authorization?: Maybe; }; @@ -6647,6 +7478,8 @@ export type LiquidityApyData = { metromMiningApy?: Maybe; miningBaseApy?: Maybe; miningQuoteApy?: Maybe; + /** 1D 7D 14D 30D */ + timeRange?: Maybe; transactionBaseApy?: Maybe; transactionQuoteApy?: Maybe; }; @@ -7069,14 +7902,19 @@ export type LiquidityLqList = { }; export type LiquidityOrder = { - /** updatedAt tvl apy liquidity */ + /** updatedAt tvl apy liquidity volume */ orderBy?: InputMaybe; /** desc asc' */ orderDirection?: InputMaybe; + /** 1D 7D 14D 30D */ + timeRange?: InputMaybe; }; export type LiquidityPair = { + /** Number of aggregated pools when aggPairs is true */ + aggregatedCount?: Maybe; apy?: Maybe; + apyList?: Maybe>>; /** base LP token, for DPP is null, for dodo v1 lpToken is different */ baseLpToken?: Maybe; /** base token reserve */ @@ -7133,6 +7971,7 @@ export type LiquidityPair = { mtFeeUSD: Scalars['BigDecimal']['output']; /** owner */ owner?: Maybe; + priceList?: Maybe>>; /** quote LP token,for DPP is null, for dodo v1 lpToken is different */ quoteLpToken?: Maybe; /** quote token reserve */ @@ -7158,6 +7997,7 @@ export type LiquidityPair = { volume24H?: Maybe; /** trade volume of basetoken */ volumeBaseToken: Scalars['BigDecimal']['output']; + volumeList?: Maybe>>; /** trade volume of quotetoken */ volumeQuoteToken: Scalars['BigDecimal']['output']; /** traded volume of USD */ @@ -7523,6 +8363,12 @@ export type LiquidityPosition_OrderBy = | 'vault' | 'yesterdayInterest'; +export type LiquidityPriceData = { + changeRate?: Maybe; + price?: Maybe; + timeRange?: Maybe; +}; + export type LiquidityTick = { id: Scalars['ID']['output']; liquidityGross: Scalars['BigInt']['output']; @@ -7569,12 +8415,18 @@ export type LiquidityToken = { volumeUSDBridge: Scalars['BigDecimal']['output']; }; +export type LiquidityVolumeData = { + timeRange?: Maybe; + volume?: Maybe; +}; + export type Liquiditycount_Data_Query = { chain?: InputMaybe; refreshNow?: InputMaybe; }; export type Liquiditylist_Filter = { + aggPairs?: InputMaybe; /** This field has been discarded for compatibility with the previous interface */ chain?: InputMaybe; /** The default is all chains, including test chains */ @@ -8663,6 +9515,22 @@ export type MintHistory_OrderBy = | 'timestamp' | 'user'; +export type Native_SignerdepositData = { + amount?: InputMaybe; + token?: InputMaybe; + user?: InputMaybe; +}; + +export type Native_SignerredeemData = { + sharesToBurn?: InputMaybe; + token?: InputMaybe; + user?: InputMaybe; +}; + +export type Native_SignersignatureResult = { + transaction?: Maybe; +}; + export type Nft = { chain: Scalars['String']['output']; id: Scalars['ID']['output']; @@ -10553,6 +11421,132 @@ export type PersistentString_Filter = { export type PersistentString_OrderBy = 'chain' | 'id'; +export type Points_ActivityActivityRankItem = { + rank?: Maybe; + totalPoints?: Maybe; + user?: Maybe; +}; + +export type Points_ActivityHistoryItem = { + activityId?: Maybe; + id?: Maybe; + inviteeAddress?: Maybe; + points?: Maybe; + time?: Maybe; + type?: Maybe; + user?: Maybe; +}; + +export type Points_ActivityPointsActivityHistory = { + count?: Maybe; + list?: Maybe>>; + page?: Maybe; + pageSize?: Maybe; +}; + +export type Points_ActivityPointsActivityInviteAccept = { + inviterAddress?: Maybe; + success?: Maybe; +}; + +export type Points_ActivityPointsActivityInviteCode = { + inviteCode?: Maybe; + inviteUrl?: Maybe; +}; + +export type Points_ActivityPointsActivityInviteStatus = { + acceptedAt?: Maybe; + inviterAddress?: Maybe; + inviterCode?: Maybe; + status?: Maybe; +}; + +export type Points_ActivityPointsActivityLeaderboard = { + currentUserRank?: Maybe; + overallRanks?: Maybe>>; +}; + +export type Points_ActivityPointsActivitySpecialBoost = { + baseSymbol?: Maybe; + baseToken?: Maybe; + multiplier?: Maybe; + multiplierPercentage?: Maybe; + poolAddress?: Maybe; + quoteSymbol?: Maybe; + quoteToken?: Maybe; +}; + +export type Points_ActivityPointsActivitySummary = { + activityId?: Maybe; + activityName?: Maybe; + invitePoints?: Maybe; + inviteeCount?: Maybe; + lpPoints?: Maybe; + socialMediaPoints?: Maybe; + swapPoints?: Maybe; + totalPoints?: Maybe; + user?: Maybe; +}; + +export type Points_ActivityhistoryFilter = { + chainId?: InputMaybe; + domain?: InputMaybe; + page?: InputMaybe; + pageSize?: InputMaybe; + refreshNow?: InputMaybe; + sourceType?: InputMaybe; + user?: InputMaybe; +}; + +export type Points_ActivityinviteAcceptFilter = { + chainId?: InputMaybe; + domain?: InputMaybe; + inviteCode?: InputMaybe; + inviteMethod?: InputMaybe; + message?: InputMaybe; + refreshNow?: InputMaybe; + signature?: InputMaybe; + timestamp?: InputMaybe; + user?: InputMaybe; +}; + +export type Points_ActivityinviteCodeFilter = { + chainId?: InputMaybe; + domain?: InputMaybe; + refreshNow?: InputMaybe; + user?: InputMaybe; +}; + +export type Points_ActivityinviteStatusFilter = { + chainId?: InputMaybe; + domain?: InputMaybe; + refreshNow?: InputMaybe; + user?: InputMaybe; +}; + +export type Points_ActivityleaderboardFilter = { + chainId?: InputMaybe; + domain?: InputMaybe; + page?: InputMaybe; + pageSize?: InputMaybe; + refreshNow?: InputMaybe; + user?: InputMaybe; +}; + +export type Points_ActivityspecialBoostFilter = { + chainId?: InputMaybe; + domain?: InputMaybe; + refreshNow?: InputMaybe; + type?: InputMaybe; +}; + +export type Points_ActivityuserSummaryFilter = { + chainId?: InputMaybe; + domain?: InputMaybe; + refreshNow?: InputMaybe; + user?: InputMaybe; +}; + export type Pool = { allFlag: Scalars['BigInt']['output']; /** Block number of this event */ @@ -12106,6 +13100,8 @@ export type Query = { aggregateFragments: Array; all?: Maybe; alls: Array; + /** 获取amm ticks */ + amm_getTicksData: AmmTicksDataResult; announcement_getAnnouncement?: Maybe; approval?: Maybe; approvals: Array; @@ -12126,6 +13122,8 @@ export type Query = { avatars: Array; balance?: Maybe; balances: Array; + berachain_alm_allVaults?: Maybe>>; + berachain_alm_myVaults?: Maybe>>; bidHistories: Array; bidHistory?: Maybe; bidPosition?: Maybe; @@ -12165,8 +13163,26 @@ export type Query = { cross_chain_swap_orderRefundCount?: Maybe; cross_chain_swap_routesV2?: Maybe; cross_chain_swap_transactionEncode?: Maybe; + cross_chain_swap_zetachain_orderCreate?: Maybe; + cross_chain_swap_zetachain_orderDetail?: Maybe; + cross_chain_swap_zetachain_orderList?: Maybe; + cross_chain_swap_zetachain_orderRefundClaimed?: Maybe; + cross_chain_swap_zetachain_routes?: Maybe; + cross_chain_swap_zetachain_swapOrderList?: Maybe; + cross_chain_swap_zetachain_transactionEncode?: Maybe; cross_chain_token_list?: Maybe; cross_chain_token_tokenPair?: Maybe; + cross_chain_transfer_getExplorerAllSections: Cross_Chain_TransferExplorerAllSections; + cross_chain_transfer_getOrderDetail?: Maybe; + cross_chain_transfer_getOrderList: Cross_Chain_TransferCrossChainOrderList; + cross_chain_transfer_getTokenList?: Maybe< + Array> + >; + cross_chain_transfer_heterogeneousQuote: Cross_Chain_TransferHeterogeneousQuoteResponse; + cross_chain_transfer_quote: Cross_Chain_TransferQuoteResponse; + cross_chain_zetachain_token_list?: Maybe< + Array> + >; crowdPooling?: Maybe; crowdPoolingDayData?: Maybe; crowdPoolingDayDatas: Array; @@ -12189,6 +13205,16 @@ export type Query = { crowd_pooling_voteList?: Maybe< Array> >; + /** 获取所有池子列表 */ + curve_stableswap_ng_getAllPools?: Maybe; + /** 获取我的流动性列表 */ + curve_stableswap_ng_getMyLiquidity?: Maybe; + /** 获取池子详情信息 */ + curve_stableswap_ng_getPoolInfo?: Maybe; + /** 获取池子流动性操作历史列表 */ + curve_stableswap_ng_getPoolLiquidityHistory?: Maybe; + /** 获取池子交易信息列表 */ + curve_stableswap_ng_getPoolSwapInfo?: Maybe; /** 资产每日收益折线图 */ d3mm_getAssetDailyInterests: Array>; /** 资产详情信息, 如果资产不存在则返回null */ @@ -12348,6 +13374,9 @@ export type Query = { gas_feeder_getGasPrices?: Maybe>>; incentiveRewardHistories: Array; incentiveRewardHistory?: Maybe; + leaderboard_activities_getLeaderboard?: Maybe; + leaderboard_activities_getPeriods?: Maybe; + leaderboard_activities_getUserRanking?: Maybe; limit_and_rfq_createPrivateOrder?: Maybe; limit_and_rfq_getOrderStatusBroadcasts?: Maybe< Array> @@ -12407,6 +13436,8 @@ export type Query = { mining_list?: Maybe; mintHistories: Array; mintHistory?: Maybe; + native_signer_deposit?: Maybe; + native_signer_redeem?: Maybe; nft?: Maybe; nftCollateralVault?: Maybe; nftCollateralVaults: Array; @@ -12437,6 +13468,15 @@ export type Query = { persistentStringArray?: Maybe; persistentStringArrays: Array; persistentStrings: Array; + points_activity_history?: Maybe; + points_activity_inviteAccept?: Maybe; + points_activity_inviteCode?: Maybe; + points_activity_inviteStatus?: Maybe; + points_activity_leaderboard?: Maybe; + points_activity_specialBoost?: Maybe< + Array> + >; + points_activity_userSummary?: Maybe; pool?: Maybe; poolDayData?: Maybe; poolDayDatas: Array; @@ -12503,11 +13543,29 @@ export type Query = { setPoolInfos: Array; setVaultInfo?: Maybe; setVaultInfos: Array; - starter?: Maybe; + sigmax_limit_getOrderStatusBroadcasts?: Maybe< + Array> + >; + sigmax_limit_getPendingOrderChainList?: Maybe< + Array> + >; + sigmax_limit_limitOrderAmountLimit?: Maybe; + sigmax_limit_limitOrderCancel?: Maybe; + sigmax_limit_limitOrderCreate?: Maybe; + sigmax_limit_limitOrderCreateV2?: Maybe; + /** data url:post(https://host:port/api/v1/order/graphql/rfqTakerInquiry).data */ + sigmax_limit_limitOrderFee?: Maybe; + sigmax_limit_limitOrderList?: Maybe>>; + sigmax_limit_limitOrderListWithPage?: Maybe; + sigmax_limit_limitOrderListWithPageV2?: Maybe; + starter?: Maybe; starters: Array; swap?: Maybe; swaps: Array; third_party_token_list?: Maybe>>; + third_party_token_zetachain_list?: Maybe< + Array> + >; tick?: Maybe; ticks: Array; token?: Maybe; @@ -12577,6 +13635,21 @@ export type Query = { /** get service charges for vdodo */ vdodo_getServiceCharges: VdodoVdodoServiceChargesResult; vdodo_getStats: VdodoStatsResult; + /** 池子详情 */ + ve33_getPool?: Maybe; + /** 池子列表 */ + ve33_getPoolList: Array>; + /** 获取amm ticks */ + ve33_getTicksData: Ve33TicksDataResult; + /** 锁仓信息 */ + ve33_getUserLock: Array>; + /** 用户投资列表 */ + ve33_getUserPortfolioList: Array>; + /** 用户veMOMO信息 */ + ve33_getUserVeMOMOInfo: Ve33UserVeMomoInfo; + /** 投票池列表 */ + ve33_getVotePoolList: Array>; + ve33_token_list?: Maybe>>; withdrawFundHistories: Array; withdrawFundHistory?: Maybe; withdrawReserve?: Maybe; @@ -12644,6 +13717,10 @@ export type QueryAllsArgs = { where?: InputMaybe; }; +export type QueryAmm_GetTicksDataArgs = { + where?: InputMaybe; +}; + export type QueryAnnouncement_GetAnnouncementArgs = { lang?: InputMaybe; }; @@ -12773,6 +13850,14 @@ export type QueryBalancesArgs = { where?: InputMaybe; }; +export type QueryBerachain_Alm_AllVaultsArgs = { + where?: InputMaybe; +}; + +export type QueryBerachain_Alm_MyVaultsArgs = { + where?: InputMaybe; +}; + export type QueryBidHistoriesArgs = { block?: InputMaybe; first?: InputMaybe; @@ -12964,6 +14049,34 @@ export type QueryCross_Chain_Swap_TransactionEncodeArgs = { data?: InputMaybe; }; +export type QueryCross_Chain_Swap_Zetachain_OrderCreateArgs = { + data?: InputMaybe; +}; + +export type QueryCross_Chain_Swap_Zetachain_OrderDetailArgs = { + where?: InputMaybe; +}; + +export type QueryCross_Chain_Swap_Zetachain_OrderListArgs = { + where?: InputMaybe; +}; + +export type QueryCross_Chain_Swap_Zetachain_OrderRefundClaimedArgs = { + data?: InputMaybe; +}; + +export type QueryCross_Chain_Swap_Zetachain_RoutesArgs = { + where?: InputMaybe; +}; + +export type QueryCross_Chain_Swap_Zetachain_SwapOrderListArgs = { + where?: InputMaybe; +}; + +export type QueryCross_Chain_Swap_Zetachain_TransactionEncodeArgs = { + data?: InputMaybe; +}; + export type QueryCross_Chain_Token_ListArgs = { where?: InputMaybe; }; @@ -12972,6 +14085,30 @@ export type QueryCross_Chain_Token_TokenPairArgs = { where?: InputMaybe; }; +export type QueryCross_Chain_Transfer_GetOrderDetailArgs = { + where?: InputMaybe; +}; + +export type QueryCross_Chain_Transfer_GetOrderListArgs = { + where?: InputMaybe; +}; + +export type QueryCross_Chain_Transfer_GetTokenListArgs = { + where?: InputMaybe; +}; + +export type QueryCross_Chain_Transfer_HeterogeneousQuoteArgs = { + where?: InputMaybe; +}; + +export type QueryCross_Chain_Transfer_QuoteArgs = { + where?: InputMaybe; +}; + +export type QueryCross_Chain_Zetachain_Token_ListArgs = { + where?: InputMaybe; +}; + export type QueryCrowdPoolingArgs = { block?: InputMaybe; id: Scalars['ID']['input']; @@ -13053,6 +14190,26 @@ export type QueryCrowd_Pooling_VoteListArgs = { where?: InputMaybe; }; +export type QueryCurve_Stableswap_Ng_GetAllPoolsArgs = { + where?: InputMaybe; +}; + +export type QueryCurve_Stableswap_Ng_GetMyLiquidityArgs = { + where?: InputMaybe; +}; + +export type QueryCurve_Stableswap_Ng_GetPoolInfoArgs = { + where?: InputMaybe; +}; + +export type QueryCurve_Stableswap_Ng_GetPoolLiquidityHistoryArgs = { + where?: InputMaybe; +}; + +export type QueryCurve_Stableswap_Ng_GetPoolSwapInfoArgs = { + where?: InputMaybe; +}; + export type QueryD3mm_GetAssetDailyInterestsArgs = { where?: InputMaybe; }; @@ -13581,6 +14738,18 @@ export type QueryIncentiveRewardHistoryArgs = { where?: InputMaybe; }; +export type QueryLeaderboard_Activities_GetLeaderboardArgs = { + where: Leaderboard_ActivitiesLeaderboardInput; +}; + +export type QueryLeaderboard_Activities_GetPeriodsArgs = { + where: Leaderboard_ActivitiesPeriodsInput; +}; + +export type QueryLeaderboard_Activities_GetUserRankingArgs = { + where: Leaderboard_ActivitiesUserRankingInput; +}; + export type QueryLimit_And_Rfq_CreatePrivateOrderArgs = { where?: InputMaybe; }; @@ -13835,6 +15004,14 @@ export type QueryMintHistoryArgs = { where?: InputMaybe; }; +export type QueryNative_Signer_DepositArgs = { + data?: InputMaybe; +}; + +export type QueryNative_Signer_RedeemArgs = { + data?: InputMaybe; +}; + export type QueryNftArgs = { block?: InputMaybe; id: Scalars['ID']['input']; @@ -14039,6 +15216,34 @@ export type QueryPersistentStringsArgs = { where?: InputMaybe; }; +export type QueryPoints_Activity_HistoryArgs = { + where?: InputMaybe; +}; + +export type QueryPoints_Activity_InviteAcceptArgs = { + data?: InputMaybe; +}; + +export type QueryPoints_Activity_InviteCodeArgs = { + where?: InputMaybe; +}; + +export type QueryPoints_Activity_InviteStatusArgs = { + where?: InputMaybe; +}; + +export type QueryPoints_Activity_LeaderboardArgs = { + where?: InputMaybe; +}; + +export type QueryPoints_Activity_SpecialBoostArgs = { + where?: InputMaybe; +}; + +export type QueryPoints_Activity_UserSummaryArgs = { + where?: InputMaybe; +}; + export type QueryPoolArgs = { block?: InputMaybe; id: Scalars['ID']['input']; @@ -14307,6 +15512,46 @@ export type QuerySetVaultInfosArgs = { where?: InputMaybe; }; +export type QuerySigmax_Limit_GetOrderStatusBroadcastsArgs = { + where?: InputMaybe; +}; + +export type QuerySigmax_Limit_GetPendingOrderChainListArgs = { + where?: InputMaybe; +}; + +export type QuerySigmax_Limit_LimitOrderAmountLimitArgs = { + where?: InputMaybe; +}; + +export type QuerySigmax_Limit_LimitOrderCancelArgs = { + where?: InputMaybe; +}; + +export type QuerySigmax_Limit_LimitOrderCreateArgs = { + where?: InputMaybe; +}; + +export type QuerySigmax_Limit_LimitOrderCreateV2Args = { + where?: InputMaybe; +}; + +export type QuerySigmax_Limit_LimitOrderFeeArgs = { + where?: InputMaybe; +}; + +export type QuerySigmax_Limit_LimitOrderListArgs = { + where?: InputMaybe; +}; + +export type QuerySigmax_Limit_LimitOrderListWithPageArgs = { + where?: InputMaybe; +}; + +export type QuerySigmax_Limit_LimitOrderListWithPageV2Args = { + where?: InputMaybe; +}; + export type QueryStarterArgs = { block?: InputMaybe; id: Scalars['ID']['input']; @@ -14341,6 +15586,10 @@ export type QueryThird_Party_Token_ListArgs = { data?: InputMaybe; }; +export type QueryThird_Party_Token_Zetachain_ListArgs = { + data?: InputMaybe; +}; + export type QueryTickArgs = { block?: InputMaybe; id: Scalars['ID']['input']; @@ -14778,6 +16027,38 @@ export type QueryVdodo_GetStatsArgs = { where?: InputMaybe; }; +export type QueryVe33_GetPoolArgs = { + where?: InputMaybe; +}; + +export type QueryVe33_GetPoolListArgs = { + where?: InputMaybe; +}; + +export type QueryVe33_GetTicksDataArgs = { + where?: InputMaybe; +}; + +export type QueryVe33_GetUserLockArgs = { + where: Ve33UserInput; +}; + +export type QueryVe33_GetUserPortfolioListArgs = { + where: Ve33PortfolioInput; +}; + +export type QueryVe33_GetUserVeMomoInfoArgs = { + where: Ve33UserInput; +}; + +export type QueryVe33_GetVotePoolListArgs = { + where?: InputMaybe; +}; + +export type QueryVe33_Token_ListArgs = { + where?: InputMaybe; +}; + export type QueryWithdrawFundHistoriesArgs = { block?: InputMaybe; first?: InputMaybe; @@ -15485,138 +16766,341 @@ export type SetPoolInfo_OrderBy = | 'timestamp' | 'updatedAt'; -export type SetVaultInfo = { - /** Block number of this event */ - blockNumber: Scalars['BigInt']['output']; - /** Transaction hash of the transaction that emitted this event */ - hash: Scalars['String']['output']; - /** { Transaction hash }-{ Log index } */ - id: Scalars['ID']['output']; - /** Event log index. For transactions that don't emit event, create arbitrary index starting from 0 */ - logIndex: Scalars['Int']['output']; - operatorType: Scalars['String']['output']; - /** Timestamp of this event */ - timestamp: Scalars['BigInt']['output']; - /** updatedAt */ - updatedAt: Scalars['BigInt']['output']; - vault: Vault; +export type SetVaultInfo = { + /** Block number of this event */ + blockNumber: Scalars['BigInt']['output']; + /** Transaction hash of the transaction that emitted this event */ + hash: Scalars['String']['output']; + /** { Transaction hash }-{ Log index } */ + id: Scalars['ID']['output']; + /** Event log index. For transactions that don't emit event, create arbitrary index starting from 0 */ + logIndex: Scalars['Int']['output']; + operatorType: Scalars['String']['output']; + /** Timestamp of this event */ + timestamp: Scalars['BigInt']['output']; + /** updatedAt */ + updatedAt: Scalars['BigInt']['output']; + vault: Vault; +}; + +export type SetVaultInfo_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + blockNumber?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + hash?: InputMaybe; + hash_contains?: InputMaybe; + hash_contains_nocase?: InputMaybe; + hash_ends_with?: InputMaybe; + hash_ends_with_nocase?: InputMaybe; + hash_gt?: InputMaybe; + hash_gte?: InputMaybe; + hash_in?: InputMaybe>; + hash_lt?: InputMaybe; + hash_lte?: InputMaybe; + hash_not?: InputMaybe; + hash_not_contains?: InputMaybe; + hash_not_contains_nocase?: InputMaybe; + hash_not_ends_with?: InputMaybe; + hash_not_ends_with_nocase?: InputMaybe; + hash_not_in?: InputMaybe>; + hash_not_starts_with?: InputMaybe; + hash_not_starts_with_nocase?: InputMaybe; + hash_starts_with?: InputMaybe; + hash_starts_with_nocase?: InputMaybe; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + logIndex?: InputMaybe; + logIndex_gt?: InputMaybe; + logIndex_gte?: InputMaybe; + logIndex_in?: InputMaybe>; + logIndex_lt?: InputMaybe; + logIndex_lte?: InputMaybe; + logIndex_not?: InputMaybe; + logIndex_not_in?: InputMaybe>; + operatorType?: InputMaybe; + operatorType_contains?: InputMaybe; + operatorType_contains_nocase?: InputMaybe; + operatorType_ends_with?: InputMaybe; + operatorType_ends_with_nocase?: InputMaybe; + operatorType_gt?: InputMaybe; + operatorType_gte?: InputMaybe; + operatorType_in?: InputMaybe>; + operatorType_lt?: InputMaybe; + operatorType_lte?: InputMaybe; + operatorType_not?: InputMaybe; + operatorType_not_contains?: InputMaybe; + operatorType_not_contains_nocase?: InputMaybe; + operatorType_not_ends_with?: InputMaybe; + operatorType_not_ends_with_nocase?: InputMaybe; + operatorType_not_in?: InputMaybe>; + operatorType_not_starts_with?: InputMaybe; + operatorType_not_starts_with_nocase?: InputMaybe; + operatorType_starts_with?: InputMaybe; + operatorType_starts_with_nocase?: InputMaybe; + timestamp?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not?: InputMaybe; + timestamp_not_in?: InputMaybe>; + updatedAt?: InputMaybe; + updatedAt_gt?: InputMaybe; + updatedAt_gte?: InputMaybe; + updatedAt_in?: InputMaybe>; + updatedAt_lt?: InputMaybe; + updatedAt_lte?: InputMaybe; + updatedAt_not?: InputMaybe; + updatedAt_not_in?: InputMaybe>; + vault?: InputMaybe; + vault_?: InputMaybe; + vault_contains?: InputMaybe; + vault_contains_nocase?: InputMaybe; + vault_ends_with?: InputMaybe; + vault_ends_with_nocase?: InputMaybe; + vault_gt?: InputMaybe; + vault_gte?: InputMaybe; + vault_in?: InputMaybe>; + vault_lt?: InputMaybe; + vault_lte?: InputMaybe; + vault_not?: InputMaybe; + vault_not_contains?: InputMaybe; + vault_not_contains_nocase?: InputMaybe; + vault_not_ends_with?: InputMaybe; + vault_not_ends_with_nocase?: InputMaybe; + vault_not_in?: InputMaybe>; + vault_not_starts_with?: InputMaybe; + vault_not_starts_with_nocase?: InputMaybe; + vault_starts_with?: InputMaybe; + vault_starts_with_nocase?: InputMaybe; +}; + +export type SetVaultInfo_OrderBy = + | 'blockNumber' + | 'hash' + | 'id' + | 'logIndex' + | 'operatorType' + | 'timestamp' + | 'updatedAt' + | 'vault'; + +export type Sigmax_LimitCancelLimitOrderResponse = { + authorization?: Maybe; +}; + +export type Sigmax_LimitLimitOrder = { + createdAt?: Maybe; + expiration?: Maybe; + failureReason?: Maybe; + filledAmount?: Maybe; + hash?: Maybe; + id?: Maybe; + maker?: Maybe; + makerAmount?: Maybe; + makerToken?: Maybe; + makerTokenDecimal?: Maybe; + makerTokenLogoImg?: Maybe; + makerTokenSymbol?: Maybe; + network?: Maybe; + order?: Maybe; + progress?: Maybe; + salt?: Maybe; + signature?: Maybe; + taker?: Maybe; + takerAmount?: Maybe; + takerToken?: Maybe; + takerTokenDecimal?: Maybe; + takerTokenLogoImg?: Maybe; + takerTokenSymbol?: Maybe; + updatedAt?: Maybe; +}; + +export type Sigmax_LimitLimitOrderFeeInfo = { + baseFeeAmount?: Maybe; + baseFeeValue?: Maybe; + feeAmount?: Maybe; + feeId?: Maybe; + feeValue?: Maybe; + percentFeeAmount?: Maybe; + percentFeeValue?: Maybe; + priceImpactFactor?: Maybe; +}; + +export type Sigmax_LimitLimitOrderInfo = { + expiration?: Maybe; + maker?: Maybe; + makerAmount?: Maybe; + makerToken?: Maybe; + salt?: Maybe; + taker?: Maybe; + takerAmount?: Maybe; + takerToken?: Maybe; +}; + +export type Sigmax_LimitLimitOrderStatusBroadcastInfo = { + chainId?: Maybe; + createdAt?: Maybe; + id?: Maybe; + makerToken?: Maybe; + makerTokenSymbol?: Maybe; + orderId?: Maybe; + reason?: Maybe; + takerToken?: Maybe; + takerTokenSymbol?: Maybe; + updatedAt?: Maybe; + user?: Maybe; +}; + +export type Sigmax_LimitLimitOrderV2 = { + createdAt?: Maybe; + expiration?: Maybe; + failureReason?: Maybe; + feeAmount?: Maybe; + filledAmount?: Maybe; + hash?: Maybe; + id?: Maybe; + maker?: Maybe; + makerAmount?: Maybe; + makerToken?: Maybe; + makerTokenDecimal?: Maybe; + makerTokenLogoImg?: Maybe; + makerTokenSymbol?: Maybe; + network?: Maybe; + order?: Maybe; + progress?: Maybe; + salt?: Maybe; + taker?: Maybe; + takerAmount?: Maybe; + takerToken?: Maybe; + takerTokenDecimal?: Maybe; + takerTokenLogoImg?: Maybe; + takerTokenSymbol?: Maybe; + updatedAt?: Maybe; +}; + +export type Sigmax_LimitPaginateLimitOrderList = { + currentPage?: Maybe; + limit?: Maybe; + list?: Maybe>>; + total?: Maybe; + totalPage?: Maybe; +}; + +export type Sigmax_LimitPaginateLimitOrderListV2 = { + currentPage?: Maybe; + limit?: Maybe; + list?: Maybe>>; + total?: Maybe; + totalPage?: Maybe; +}; + +export type Sigmax_LimitPrivateOrderInfo = { + createdAt?: Maybe; + id?: Maybe; + network?: Maybe; + progress?: Maybe; + txid?: Maybe; +}; + +export type Sigmax_LimitcreateLimitOrderInfo = { + expiration?: InputMaybe; + maker?: InputMaybe; + makerAmount?: InputMaybe; + makerToken?: InputMaybe; + salt?: InputMaybe; + taker?: InputMaybe; + takerAmount?: InputMaybe; + takerToken?: InputMaybe; +}; + +export type Sigmax_LimitcreatePrivateOrderInfo = { + address?: InputMaybe; + network?: InputMaybe; + timeout?: InputMaybe; + transaction?: InputMaybe; + useSource?: InputMaybe; +}; + +export type Sigmax_LimitgetPendingLimitOrderParam = { + address?: InputMaybe; +}; + +export type Sigmax_LimitgetPrivateOrderParam = { + hash?: InputMaybe; +}; + +export type Sigmax_LimitlimitCancelSignType = 'eip191' | 'eip712' | 'eip1271'; + +export type Sigmax_LimitlimitCreateOrderWalletType = 'common' | 'unipass'; + +export type Sigmax_LimitlimitOrderAmountLimitParam = { + network?: InputMaybe; + token?: InputMaybe; +}; + +export type Sigmax_LimitlimitOrderQueryEnum = 'ALL' | 'FRESH' | 'NOT_FRESH'; + +export type Sigmax_LimituserCancelLimitOrder = { + address?: InputMaybe; + /** limit order id */ + id?: InputMaybe; + network?: InputMaybe; + signature?: InputMaybe; + signkey?: InputMaybe; + signtime?: InputMaybe; + signtype?: InputMaybe; +}; + +export type Sigmax_LimituserCreateLimitOrder = { + network?: InputMaybe; + order?: InputMaybe; + signature?: InputMaybe; + type?: InputMaybe; +}; + +export type Sigmax_LimituserCreateLimitOrderV2 = { + feeId?: InputMaybe; + network?: InputMaybe; + order?: InputMaybe; + signature?: InputMaybe; + type?: InputMaybe; + wallet?: InputMaybe; +}; + +export type Sigmax_LimituserQueryLimitOrderFee = { + chainId?: InputMaybe; + stableAmount?: InputMaybe; + toToken?: InputMaybe; + toTokenAmount?: InputMaybe; }; -export type SetVaultInfo_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - blockNumber?: InputMaybe; - blockNumber_gt?: InputMaybe; - blockNumber_gte?: InputMaybe; - blockNumber_in?: InputMaybe>; - blockNumber_lt?: InputMaybe; - blockNumber_lte?: InputMaybe; - blockNumber_not?: InputMaybe; - blockNumber_not_in?: InputMaybe>; - hash?: InputMaybe; - hash_contains?: InputMaybe; - hash_contains_nocase?: InputMaybe; - hash_ends_with?: InputMaybe; - hash_ends_with_nocase?: InputMaybe; - hash_gt?: InputMaybe; - hash_gte?: InputMaybe; - hash_in?: InputMaybe>; - hash_lt?: InputMaybe; - hash_lte?: InputMaybe; - hash_not?: InputMaybe; - hash_not_contains?: InputMaybe; - hash_not_contains_nocase?: InputMaybe; - hash_not_ends_with?: InputMaybe; - hash_not_ends_with_nocase?: InputMaybe; - hash_not_in?: InputMaybe>; - hash_not_starts_with?: InputMaybe; - hash_not_starts_with_nocase?: InputMaybe; - hash_starts_with?: InputMaybe; - hash_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - logIndex?: InputMaybe; - logIndex_gt?: InputMaybe; - logIndex_gte?: InputMaybe; - logIndex_in?: InputMaybe>; - logIndex_lt?: InputMaybe; - logIndex_lte?: InputMaybe; - logIndex_not?: InputMaybe; - logIndex_not_in?: InputMaybe>; - operatorType?: InputMaybe; - operatorType_contains?: InputMaybe; - operatorType_contains_nocase?: InputMaybe; - operatorType_ends_with?: InputMaybe; - operatorType_ends_with_nocase?: InputMaybe; - operatorType_gt?: InputMaybe; - operatorType_gte?: InputMaybe; - operatorType_in?: InputMaybe>; - operatorType_lt?: InputMaybe; - operatorType_lte?: InputMaybe; - operatorType_not?: InputMaybe; - operatorType_not_contains?: InputMaybe; - operatorType_not_contains_nocase?: InputMaybe; - operatorType_not_ends_with?: InputMaybe; - operatorType_not_ends_with_nocase?: InputMaybe; - operatorType_not_in?: InputMaybe>; - operatorType_not_starts_with?: InputMaybe; - operatorType_not_starts_with_nocase?: InputMaybe; - operatorType_starts_with?: InputMaybe; - operatorType_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - updatedAt?: InputMaybe; - updatedAt_gt?: InputMaybe; - updatedAt_gte?: InputMaybe; - updatedAt_in?: InputMaybe>; - updatedAt_lt?: InputMaybe; - updatedAt_lte?: InputMaybe; - updatedAt_not?: InputMaybe; - updatedAt_not_in?: InputMaybe>; - vault?: InputMaybe; - vault_?: InputMaybe; - vault_contains?: InputMaybe; - vault_contains_nocase?: InputMaybe; - vault_ends_with?: InputMaybe; - vault_ends_with_nocase?: InputMaybe; - vault_gt?: InputMaybe; - vault_gte?: InputMaybe; - vault_in?: InputMaybe>; - vault_lt?: InputMaybe; - vault_lte?: InputMaybe; - vault_not?: InputMaybe; - vault_not_contains?: InputMaybe; - vault_not_contains_nocase?: InputMaybe; - vault_not_ends_with?: InputMaybe; - vault_not_ends_with_nocase?: InputMaybe; - vault_not_in?: InputMaybe>; - vault_not_starts_with?: InputMaybe; - vault_not_starts_with_nocase?: InputMaybe; - vault_starts_with?: InputMaybe; - vault_starts_with_nocase?: InputMaybe; +export type Sigmax_LimituserQueryLimitOrderList = { + address?: InputMaybe; + network?: InputMaybe; }; -export type SetVaultInfo_OrderBy = - | 'blockNumber' - | 'hash' - | 'id' - | 'logIndex' - | 'operatorType' - | 'timestamp' - | 'updatedAt' - | 'vault'; +export type Sigmax_LimituserQueryLimitOrderListWithPage = { + address?: InputMaybe; + limit?: InputMaybe; + network?: InputMaybe; + orderType?: InputMaybe; + page?: InputMaybe; +}; export type Starter = { chain: Scalars['String']['output']; @@ -16550,6 +18034,22 @@ export type Third_Party_TokenList = { symbol?: Maybe; }; +export type Third_Party_Token_ZetachainList = { + address?: Maybe; + chainId?: Maybe; + decimals?: Maybe; + from?: Maybe; + id?: Maybe; + logoURI?: Maybe; + name?: Maybe; + symbol?: Maybe; +}; + +export type Third_Party_Token_ZetachainlistData = { + chainId?: InputMaybe; + fromNames?: InputMaybe>>; +}; + export type Third_Party_TokenlistData = { chainId?: InputMaybe; fromNames?: InputMaybe>>; @@ -18810,6 +20310,7 @@ export type User_SwapswapFilter = { limit?: InputMaybe; page?: InputMaybe; refreshNow?: InputMaybe; + source?: InputMaybe; userAddress?: InputMaybe; }; @@ -20144,6 +21645,231 @@ export type VdodoVdodoServiceChargesResult = { pool_fees_total: Scalars['String']['output']; }; +export type Ve33Incentive = { + amount: Scalars['BigInt']['output']; + token: Scalars['String']['output']; + usd: Scalars['BigDecimal']['output']; +}; + +export type Ve33Lock = { + id: Scalars['String']['output']; + isPermanent: Scalars['Boolean']['output']; + isVoted: Scalars['Boolean']['output']; + lockedEnd: Scalars['BigInt']['output']; + userAddress: Scalars['String']['output']; + value: Scalars['BigDecimal']['output']; + votingPower: Scalars['BigDecimal']['output']; +}; + +export type Ve33Pool = { + apr: Ve33PoolApr; + feeRate: Scalars['BigDecimal']['output']; + feesToken0: Scalars['BigDecimal']['output']; + feesToken1: Scalars['BigDecimal']['output']; + feesUSD: Scalars['BigDecimal']['output']; + gaugeAddress: Scalars['String']['output']; + id: Scalars['String']['output']; + tickSpacing: Scalars['Int']['output']; + title: Scalars['String']['output']; + token0Address: Scalars['String']['output']; + token0Decimals: Scalars['Int']['output']; + token0Name: Scalars['String']['output']; + token0Symbol: Scalars['String']['output']; + token1Address: Scalars['String']['output']; + token1Decimals: Scalars['Int']['output']; + token1Name: Scalars['String']['output']; + token1Symbol: Scalars['String']['output']; + totalValueLockedToken0: Scalars['BigDecimal']['output']; + totalValueLockedToken1: Scalars['BigDecimal']['output']; + totalValueLockedUSD: Scalars['BigDecimal']['output']; + tvl: Scalars['BigDecimal']['output']; + /** v2 or v3 */ + version: Scalars['String']['output']; + volumeToken0: Scalars['BigDecimal']['output']; + volumeToken1: Scalars['BigDecimal']['output']; + volumeUSD: Scalars['BigDecimal']['output']; +}; + +export type Ve33PoolApr = { + fees: Scalars['BigDecimal']['output']; + incentives: Scalars['BigDecimal']['output']; +}; + +export type Ve33PoolInput = { + pool?: InputMaybe; +}; + +export type Ve33PoolTotalVoted = { + token: Scalars['String']['output']; + weight: Scalars['String']['output']; +}; + +export type Ve33Portfolio = { + apr: Ve33PortfolioApr; + emissions: Scalars['BigDecimal']['output']; + emissionsUSD: Scalars['BigDecimal']['output']; + feeRate: Scalars['BigDecimal']['output']; + feesToken0: Scalars['BigDecimal']['output']; + feesToken1: Scalars['BigDecimal']['output']; + feesUSD: Scalars['BigDecimal']['output']; + gaugeAddress: Scalars['String']['output']; + /** liquidity position id, 'Position #1000' */ + id: Scalars['String']['output']; + incentives: Array>; + liquidityTokenBalance: Scalars['String']['output']; + liquidityTokenBalanceUSD: Scalars['String']['output']; + liquidityTokenInMining: Scalars['String']['output']; + liquidityTokenInMiningUSD: Scalars['String']['output']; + liquidityUSD: Scalars['String']['output']; + locks: Array>; + poolAddress: Scalars['String']['output']; + /** Stable, Volatile, CL */ + tickSpacing: Scalars['Int']['output']; + title: Scalars['String']['output']; + token0Address: Scalars['String']['output']; + token0Amount: Scalars['String']['output']; + token0Decimals: Scalars['Int']['output']; + token0LowerPrice: Scalars['String']['output']; + token0Name: Scalars['String']['output']; + token0Piece: Scalars['String']['output']; + token0Symbol: Scalars['String']['output']; + token0UpperPrice: Scalars['String']['output']; + token1Address: Scalars['String']['output']; + token1Amount: Scalars['String']['output']; + token1Decimals: Scalars['Int']['output']; + token1LowerPrice: Scalars['String']['output']; + token1Name: Scalars['String']['output']; + token1Piece: Scalars['String']['output']; + token1Symbol: Scalars['String']['output']; + token1UpperPrice: Scalars['String']['output']; + tvl: Scalars['BigDecimal']['output']; + /** voting=Voting Rewards, liquidity=LP Rewards */ + type: Scalars['String']['output']; + /** v2 or v3 */ + version: Scalars['String']['output']; +}; + +export type Ve33PortfolioApr = { + fees: Scalars['BigDecimal']['output']; + incentives: Scalars['BigDecimal']['output']; + rewards: Scalars['BigDecimal']['output']; +}; + +export type Ve33PortfolioInput = { + page?: InputMaybe; + size?: InputMaybe; + token_starts_with?: InputMaybe; + type?: InputMaybe; + user: Scalars['String']['input']; +}; + +export type Ve33PortfolioLock = { + id: Scalars['String']['output']; + lockedEnd: Scalars['BigInt']['output']; + totalWeight: Scalars['BigDecimal']['output']; + usd: Scalars['BigDecimal']['output']; + userAddress: Scalars['String']['output']; + value: Scalars['BigInt']['output']; + votingPower: Scalars['BigInt']['output']; + weight: Scalars['BigDecimal']['output']; +}; + +export type Ve33Tick = { + id: Scalars['String']['output']; + liquidityGross: Scalars['BigDecimal']['output']; + liquidityNet: Scalars['BigDecimal']['output']; + poolAddress: Scalars['String']['output']; + price0: Scalars['BigDecimal']['output']; + price1: Scalars['BigDecimal']['output']; + protocolPosition?: Maybe; + tickArrayLower?: Maybe; + tickArrayUpper?: Maybe; + tickIdx: Scalars['BigDecimal']['output']; +}; + +export type Ve33TicksDataResult = { + first?: Maybe; + pool: Scalars['String']['output']; + skip?: Maybe; + ticks: Array>; +}; + +export type Ve33TokenFilterPaginationInput = { + page?: InputMaybe; + size?: InputMaybe; + token_starts_with?: InputMaybe; +}; + +export type Ve33UserInput = { + user: Scalars['String']['input']; +}; + +export type Ve33UserVeMomoInfo = { + totalVeMOMOCount: Scalars['Int']['output']; + votedVeMOMOCount: Scalars['Int']['output']; +}; + +export type Ve33VotePool = { + apr: Ve33PoolApr; + feeRate: Scalars['BigDecimal']['output']; + feesToken0: Scalars['BigDecimal']['output']; + feesToken1: Scalars['BigDecimal']['output']; + feesUSD: Scalars['BigDecimal']['output']; + gaugeAddress: Scalars['String']['output']; + id: Scalars['String']['output']; + incentives: Array>; + tickSpacing: Scalars['Int']['output']; + title: Scalars['String']['output']; + token0Address: Scalars['String']['output']; + token0Decimals: Scalars['Int']['output']; + token0Name: Scalars['String']['output']; + token0Symbol: Scalars['String']['output']; + token1Address: Scalars['String']['output']; + token1Decimals: Scalars['Int']['output']; + token1Name: Scalars['String']['output']; + token1Symbol: Scalars['String']['output']; + totalValueLockedToken0: Scalars['BigDecimal']['output']; + totalValueLockedToken1: Scalars['BigDecimal']['output']; + totalValueLockedUSD: Scalars['BigDecimal']['output']; + tvl: Scalars['BigDecimal']['output']; + /** v2 or v3 */ + version: Scalars['String']['output']; + votes: Array>; +}; + +export type Ve33VotePoolInput = { + page?: InputMaybe; + size?: InputMaybe; + token_starts_with?: InputMaybe; + type?: InputMaybe; + user?: InputMaybe; +}; + +export type Ve33VotePoolType = 'All' | 'V2' | 'V3'; + +export type Ve33_TokenVe33Token = { + address?: Maybe; + chainId?: Maybe; + decimals?: Maybe; + logo?: Maybe; + name?: Maybe; + position?: Maybe; + slippage?: Maybe; + symbol?: Maybe; +}; + +export type Ve33_TokenlistFilter = { + chainId?: InputMaybe; + page?: InputMaybe; + pageSize?: InputMaybe; +}; + +export type Ve33getTicksDataInput = { + first?: InputMaybe; + pool: Scalars['String']['input']; + skip?: InputMaybe; +}; + export type WithdrawFundHistory = { chain: Scalars['String']['output']; /** id hash-logindex */ diff --git a/packages/dodoex-api/src/helper/ContractRequests/abi/ABIs/dodoDppProxy.ts b/packages/dodoex-api/src/helper/ContractRequests/abi/ABIs/dodoDppProxy.ts index 4ed625a2..f26cc343 100644 --- a/packages/dodoex-api/src/helper/ContractRequests/abi/ABIs/dodoDppProxy.ts +++ b/packages/dodoex-api/src/helper/ContractRequests/abi/ABIs/dodoDppProxy.ts @@ -3,170 +3,70 @@ import type { ContractInterface } from '@ethersproject/contracts'; const abi: ContractInterface = [ { inputs: [ - { - internalType: 'address payable', - name: 'weth', - type: 'address', - }, - { - internalType: 'address', - name: 'dodoApproveProxy', - type: 'address', - }, - { - internalType: 'address', - name: 'dppFactory', - type: 'address', - }, + { internalType: 'address payable', name: 'weth', type: 'address' }, + { internalType: 'address', name: 'settlexApproveProxy', type: 'address' }, + { internalType: 'address', name: 'dppFactory', type: 'address' }, ], stateMutability: 'nonpayable', type: 'constructor', }, - { - stateMutability: 'payable', - type: 'fallback', - }, + { stateMutability: 'payable', type: 'fallback' }, { inputs: [], - name: '_DODO_APPROVE_PROXY_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + name: '_DPP_FACTORY_', + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [], - name: '_DPP_FACTORY_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + name: '_SETTLEX_APPROVE_PROXY_', + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [], name: '_WETH_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'baseToken', - type: 'address', - }, - { - internalType: 'address', - name: 'quoteToken', - type: 'address', - }, - { - internalType: 'uint256', - name: 'baseInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'quoteInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'lpFeeRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'i', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'k', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'isOpenTwap', - type: 'bool', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, + { internalType: 'address', name: 'baseToken', type: 'address' }, + { internalType: 'address', name: 'quoteToken', type: 'address' }, + { internalType: 'uint256', name: 'baseInAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'quoteInAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'lpFeeRate', type: 'uint256' }, + { internalType: 'uint256', name: 'i', type: 'uint256' }, + { internalType: 'uint256', name: 'k', type: 'uint256' }, + { internalType: 'bool', name: 'isOpenTwap', type: 'bool' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, ], - name: 'createDODOPrivatePool', + name: 'createSETTLEXPrivatePool', outputs: [ - { - internalType: 'address', - name: 'newPrivatePool', - type: 'address', - }, + { internalType: 'address', name: 'newPrivatePool', type: 'address' }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'dppAddress', - type: 'address', - }, - { - internalType: 'uint256[]', - name: 'paramList', - type: 'uint256[]', - }, - { - internalType: 'uint256[]', - name: 'amountList', - type: 'uint256[]', - }, - { - internalType: 'uint8', - name: 'flag', - type: 'uint8', - }, - { - internalType: 'uint256', - name: 'minBaseReserve', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'minQuoteReserve', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, + { internalType: 'address', name: 'dppAddress', type: 'address' }, + { internalType: 'uint256[]', name: 'paramList', type: 'uint256[]' }, + { internalType: 'uint256[]', name: 'amountList', type: 'uint256[]' }, + { internalType: 'uint8', name: 'flag', type: 'uint8' }, + { internalType: 'uint256', name: 'minBaseReserve', type: 'uint256' }, + { internalType: 'uint256', name: 'minQuoteReserve', type: 'uint256' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, ], - name: 'resetDODOPrivatePool', + name: 'resetSETTLEXPrivatePool', outputs: [], stateMutability: 'payable', type: 'function', }, + { stateMutability: 'payable', type: 'receive' }, ]; export default abi; diff --git a/packages/dodoex-api/src/helper/ContractRequests/abi/ABIs/dodoDspProxy.ts b/packages/dodoex-api/src/helper/ContractRequests/abi/ABIs/dodoDspProxy.ts index 222ac267..896eff1c 100644 --- a/packages/dodoex-api/src/helper/ContractRequests/abi/ABIs/dodoDspProxy.ts +++ b/packages/dodoex-api/src/helper/ContractRequests/abi/ABIs/dodoDspProxy.ts @@ -3,131 +3,56 @@ import type { ContractInterface } from '@ethersproject/contracts'; const abi: ContractInterface = [ { inputs: [ - { - internalType: 'address', - name: 'dspFactory', - type: 'address', - }, - { - internalType: 'address', - name: 'gspFactory', - type: 'address', - }, - { - internalType: 'address payable', - name: 'weth', - type: 'address', - }, - { - internalType: 'address', - name: 'dodoApproveProxy', - type: 'address', - }, + { internalType: 'address', name: 'dspFactory', type: 'address' }, + { internalType: 'address', name: 'gspFactory', type: 'address' }, + { internalType: 'address payable', name: 'weth', type: 'address' }, + { internalType: 'address', name: 'settlexApproveProxy', type: 'address' }, ], stateMutability: 'nonpayable', type: 'constructor', }, - { - stateMutability: 'payable', - type: 'fallback', - }, + { stateMutability: 'payable', type: 'fallback' }, { inputs: [], - name: '_DODO_APPROVE_PROXY_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + name: '_DSP_FACTORY_', + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [], - name: '_DSP_FACTORY_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + name: '_GSP_FACTORY_', + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [], - name: '_GSP_FACTORY_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + name: '_SETTLEX_APPROVE_PROXY_', + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [], name: '_WETH_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'dspAddress', - type: 'address', - }, - { - internalType: 'uint256', - name: 'baseInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'quoteInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'baseMinAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'quoteMinAmount', - type: 'uint256', - }, - { - internalType: 'uint8', - name: 'flag', - type: 'uint8', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, + { internalType: 'address', name: 'dspAddress', type: 'address' }, + { internalType: 'uint256', name: 'baseInAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'quoteInAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'baseMinAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'quoteMinAmount', type: 'uint256' }, + { internalType: 'uint8', name: 'flag', type: 'uint8' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, ], name: 'addDSPLiquidity', outputs: [ - { - internalType: 'uint256', - name: 'shares', - type: 'uint256', - }, + { internalType: 'uint256', name: 'shares', type: 'uint256' }, { internalType: 'uint256', name: 'baseAdjustedInAmount', @@ -144,146 +69,51 @@ const abi: ContractInterface = [ }, { inputs: [ - { - internalType: 'address', - name: 'admin', - type: 'address', - }, - { - internalType: 'address', - name: 'baseToken', - type: 'address', - }, - { - internalType: 'address', - name: 'quoteToken', - type: 'address', - }, - { - internalType: 'uint256', - name: 'baseInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'quoteInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'lpFeeRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'mtFeeRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'i', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'k', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'priceLimit', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, + { internalType: 'address', name: 'admin', type: 'address' }, + { internalType: 'address', name: 'baseToken', type: 'address' }, + { internalType: 'address', name: 'quoteToken', type: 'address' }, + { internalType: 'uint256', name: 'baseInAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'quoteInAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'lpFeeRate', type: 'uint256' }, + { internalType: 'uint256', name: 'mtFeeRate', type: 'uint256' }, + { internalType: 'uint256', name: 'i', type: 'uint256' }, + { internalType: 'uint256', name: 'k', type: 'uint256' }, + { internalType: 'uint256', name: 'priceLimit', type: 'uint256' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, ], - name: 'createDODOGasSavingPair', + name: 'createSETTLEXGasSavingPair', outputs: [ - { - internalType: 'address', - name: 'newGasSavingPair', - type: 'address', - }, - { - internalType: 'uint256', - name: 'shares', - type: 'uint256', - }, + { internalType: 'address', name: 'newGasSavingPair', type: 'address' }, + { internalType: 'uint256', name: 'shares', type: 'uint256' }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'baseToken', - type: 'address', - }, - { - internalType: 'address', - name: 'quoteToken', - type: 'address', - }, - { - internalType: 'uint256', - name: 'baseInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'quoteInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'lpFeeRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'i', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'k', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'isOpenTWAP', - type: 'bool', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, + { internalType: 'address', name: 'baseToken', type: 'address' }, + { internalType: 'address', name: 'quoteToken', type: 'address' }, + { internalType: 'uint256', name: 'baseInAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'quoteInAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'lpFeeRate', type: 'uint256' }, + { internalType: 'uint256', name: 'i', type: 'uint256' }, + { internalType: 'uint256', name: 'k', type: 'uint256' }, + { internalType: 'bool', name: 'isOpenTWAP', type: 'bool' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, ], - name: 'createDODOStablePair', + name: 'createSETTLEXStablePair', outputs: [ { internalType: 'address', - name: 'newDODOStablePair', + name: 'newSETTLEXStablePair', type: 'address', }, - { - internalType: 'uint256', - name: 'shares', - type: 'uint256', - }, + { internalType: 'uint256', name: 'shares', type: 'uint256' }, ], stateMutability: 'payable', type: 'function', }, - { - stateMutability: 'payable', - type: 'receive', - }, + { stateMutability: 'payable', type: 'receive' }, ]; export default abi; diff --git a/packages/dodoex-api/src/helper/ContractRequests/abi/ABIs/dodoProxyV2.ts b/packages/dodoex-api/src/helper/ContractRequests/abi/ABIs/dodoProxyV2.ts index 2b09689a..199a4aa2 100644 --- a/packages/dodoex-api/src/helper/ContractRequests/abi/ABIs/dodoProxyV2.ts +++ b/packages/dodoex-api/src/helper/ContractRequests/abi/ABIs/dodoProxyV2.ts @@ -3,26 +3,10 @@ import type { ContractInterface } from '@ethersproject/contracts'; const abi: ContractInterface = [ { inputs: [ - { - internalType: 'address', - name: 'dvmFactory', - type: 'address', - }, - { - internalType: 'address payable', - name: 'weth', - type: 'address', - }, - { - internalType: 'address', - name: 'dodoApproveProxy', - type: 'address', - }, - { - internalType: 'address', - name: 'dodoSellHelper', - type: 'address', - }, + { internalType: 'address', name: 'dvmFactory', type: 'address' }, + { internalType: 'address payable', name: 'weth', type: 'address' }, + { internalType: 'address', name: 'settlexApproveProxy', type: 'address' }, + { internalType: 'address', name: 'settlexSellHelper', type: 'address' }, ], stateMutability: 'nonpayable', type: 'constructor', @@ -102,147 +86,97 @@ const abi: ContractInterface = [ name: 'OwnershipTransferred', type: 'event', }, - { - stateMutability: 'payable', - type: 'fallback', - }, + { stateMutability: 'payable', type: 'fallback' }, { inputs: [], - name: '_DODO_APPROVE_PROXY_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + name: '_DVM_FACTORY_', + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [], - name: '_DODO_SELL_HELPER_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + name: '_NEW_OWNER_', + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [], - name: '_DVM_FACTORY_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + name: '_OWNER_', + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [], - name: '_NEW_OWNER_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + name: '_SETTLEX_APPROVE_PROXY_', + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [], - name: '_OWNER_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + name: '_SETTLEX_SELL_HELPER_', + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [], name: '_WETH_', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], + outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, - { - inputs: [], - name: 'claimOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, { inputs: [ - { - internalType: 'address', - name: 'newOwner', - type: 'address', - }, + { internalType: 'address', name: 'dvmAddress', type: 'address' }, + { internalType: 'uint256', name: 'baseInAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'quoteInAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'baseMinAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'quoteMinAmount', type: 'uint256' }, + { internalType: 'uint8', name: 'flag', type: 'uint8' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, ], - name: 'initOwner', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ + name: 'addDVMLiquidity', + outputs: [ + { internalType: 'uint256', name: 'shares', type: 'uint256' }, { - internalType: 'address', - name: '', - type: 'address', + internalType: 'uint256', + name: 'baseAdjustedInAmount', + type: 'uint256', }, - ], - name: 'isWhiteListed', - outputs: [ { - internalType: 'bool', - name: '', - type: 'bool', + internalType: 'uint256', + name: 'quoteAdjustedInAmount', + type: 'uint256', }, ], - stateMutability: 'view', + stateMutability: 'payable', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'newOwner', - type: 'address', - }, + { internalType: 'address', name: 'pair', type: 'address' }, + { internalType: 'uint256', name: 'baseAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'quoteAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'baseMinShares', type: 'uint256' }, + { internalType: 'uint256', name: 'quoteMinShares', type: 'uint256' }, + { internalType: 'uint8', name: 'flag', type: 'uint8' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, ], - name: 'transferOwnership', - outputs: [], - stateMutability: 'nonpayable', + name: 'addLiquidityToV1', + outputs: [ + { internalType: 'uint256', name: 'baseShares', type: 'uint256' }, + { internalType: 'uint256', name: 'quoteShares', type: 'uint256' }, + ], + stateMutability: 'payable', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'contractAddr', - type: 'address', - }, + { internalType: 'address', name: 'contractAddr', type: 'address' }, ], name: 'addWhiteList', outputs: [], @@ -250,483 +184,151 @@ const abi: ContractInterface = [ type: 'function', }, { - inputs: [ - { - internalType: 'address', - name: 'contractAddr', - type: 'address', - }, - ], - name: 'removeWhiteList', + inputs: [], + name: 'claimOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'baseToken', - type: 'address', - }, - { - internalType: 'address', - name: 'quoteToken', - type: 'address', - }, - { - internalType: 'uint256', - name: 'baseInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'quoteInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'lpFeeRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'i', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'k', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'isOpenTWAP', - type: 'bool', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, - ], - name: 'createDODOVendingMachine', + { internalType: 'address', name: 'baseToken', type: 'address' }, + { internalType: 'address', name: 'quoteToken', type: 'address' }, + { internalType: 'uint256', name: 'baseInAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'quoteInAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'lpFeeRate', type: 'uint256' }, + { internalType: 'uint256', name: 'i', type: 'uint256' }, + { internalType: 'uint256', name: 'k', type: 'uint256' }, + { internalType: 'bool', name: 'isOpenTWAP', type: 'bool' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, + ], + name: 'createSETTLEXVendingMachine', outputs: [ - { - internalType: 'address', - name: 'newVendingMachine', - type: 'address', - }, - { - internalType: 'uint256', - name: 'shares', - type: 'uint256', - }, + { internalType: 'address', name: 'newVendingMachine', type: 'address' }, + { internalType: 'uint256', name: 'shares', type: 'uint256' }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'dvmAddress', - type: 'address', - }, - { - internalType: 'uint256', - name: 'baseInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'quoteInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'baseMinAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'quoteMinAmount', - type: 'uint256', - }, - { - internalType: 'uint8', - name: 'flag', - type: 'uint8', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, + { internalType: 'address', name: 'fromToken', type: 'address' }, + { internalType: 'address', name: 'toToken', type: 'address' }, + { internalType: 'address', name: 'approveTarget', type: 'address' }, + { internalType: 'address', name: 'swapTarget', type: 'address' }, + { internalType: 'uint256', name: 'fromTokenAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'minReturnAmount', type: 'uint256' }, + { internalType: 'bytes', name: 'callDataConcat', type: 'bytes' }, + { internalType: 'bool', name: '', type: 'bool' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, ], - name: 'addDVMLiquidity', + name: 'externalSwap', outputs: [ - { - internalType: 'uint256', - name: 'shares', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'baseAdjustedInAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'quoteAdjustedInAmount', - type: 'uint256', - }, + { internalType: 'uint256', name: 'returnAmount', type: 'uint256' }, ], stateMutability: 'payable', type: 'function', }, { - inputs: [ - { - internalType: 'address', - name: 'toToken', - type: 'address', - }, - { - internalType: 'uint256', - name: 'minReturnAmount', - type: 'uint256', - }, - { - internalType: 'address[]', - name: 'dodoPairs', - type: 'address[]', - }, - { - internalType: 'uint256', - name: 'directions', - type: 'uint256', - }, - { - internalType: 'bool', - name: '', - type: 'bool', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, - ], - name: 'dodoSwapV2ETHToToken', - outputs: [ - { - internalType: 'uint256', - name: 'returnAmount', - type: 'uint256', - }, - ], - stateMutability: 'payable', + inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }], + name: 'initOwner', + outputs: [], + stateMutability: 'nonpayable', type: 'function', }, { - inputs: [ - { - internalType: 'address', - name: 'fromToken', - type: 'address', - }, - { - internalType: 'uint256', - name: 'fromTokenAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'minReturnAmount', - type: 'uint256', - }, - { - internalType: 'address[]', - name: 'dodoPairs', - type: 'address[]', - }, - { - internalType: 'uint256', - name: 'directions', - type: 'uint256', - }, - { - internalType: 'bool', - name: '', - type: 'bool', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, - ], - name: 'dodoSwapV2TokenToETH', - outputs: [ - { - internalType: 'uint256', - name: 'returnAmount', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', + inputs: [{ internalType: 'address', name: '', type: 'address' }], + name: 'isWhiteListed', + outputs: [{ internalType: 'bool', name: '', type: 'bool' }], + stateMutability: 'view', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'fromToken', - type: 'address', - }, - { - internalType: 'address', - name: 'toToken', - type: 'address', - }, - { - internalType: 'uint256', - name: 'fromTokenAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'minReturnAmount', - type: 'uint256', - }, - { - internalType: 'address[]', - name: 'dodoPairs', - type: 'address[]', - }, - { - internalType: 'uint256', - name: 'directions', - type: 'uint256', - }, - { - internalType: 'bool', - name: '', - type: 'bool', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, - ], - name: 'dodoSwapV2TokenToToken', - outputs: [ - { - internalType: 'uint256', - name: 'returnAmount', - type: 'uint256', - }, + { internalType: 'address', name: 'contractAddr', type: 'address' }, ], + name: 'removeWhiteList', + outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'fromToken', - type: 'address', - }, - { - internalType: 'address', - name: 'toToken', - type: 'address', - }, - { - internalType: 'address', - name: 'approveTarget', - type: 'address', - }, - { - internalType: 'address', - name: 'swapTarget', - type: 'address', - }, - { - internalType: 'uint256', - name: 'fromTokenAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'minReturnAmount', - type: 'uint256', - }, - { - internalType: 'bytes', - name: 'callDataConcat', - type: 'bytes', - }, - { - internalType: 'bool', - name: '', - type: 'bool', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, - ], - name: 'externalSwap', + { internalType: 'address', name: 'fromToken', type: 'address' }, + { internalType: 'address', name: 'toToken', type: 'address' }, + { internalType: 'uint256', name: 'fromTokenAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'minReturnAmount', type: 'uint256' }, + { internalType: 'address[]', name: 'settlexPairs', type: 'address[]' }, + { internalType: 'uint256', name: 'directions', type: 'uint256' }, + { internalType: 'bool', name: '', type: 'bool' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, + ], + name: 'settlexSwapV1', outputs: [ - { - internalType: 'uint256', - name: 'returnAmount', - type: 'uint256', - }, + { internalType: 'uint256', name: 'returnAmount', type: 'uint256' }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'fromToken', - type: 'address', - }, - { - internalType: 'address', - name: 'toToken', - type: 'address', - }, - { - internalType: 'uint256', - name: 'fromTokenAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'minReturnAmount', - type: 'uint256', - }, - { - internalType: 'address[]', - name: 'dodoPairs', - type: 'address[]', - }, - { - internalType: 'uint256', - name: 'directions', - type: 'uint256', - }, - { - internalType: 'bool', - name: '', - type: 'bool', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, - ], - name: 'dodoSwapV1', + { internalType: 'address', name: 'toToken', type: 'address' }, + { internalType: 'uint256', name: 'minReturnAmount', type: 'uint256' }, + { internalType: 'address[]', name: 'settlexPairs', type: 'address[]' }, + { internalType: 'uint256', name: 'directions', type: 'uint256' }, + { internalType: 'bool', name: '', type: 'bool' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, + ], + name: 'settlexSwapV2ETHToToken', outputs: [ - { - internalType: 'uint256', - name: 'returnAmount', - type: 'uint256', - }, + { internalType: 'uint256', name: 'returnAmount', type: 'uint256' }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'cpAddress', - type: 'address', - }, - { - internalType: 'uint256', - name: 'quoteAmount', - type: 'uint256', - }, - { - internalType: 'uint8', - name: 'flag', - type: 'uint8', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, + { internalType: 'address', name: 'fromToken', type: 'address' }, + { internalType: 'uint256', name: 'fromTokenAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'minReturnAmount', type: 'uint256' }, + { internalType: 'address[]', name: 'settlexPairs', type: 'address[]' }, + { internalType: 'uint256', name: 'directions', type: 'uint256' }, + { internalType: 'bool', name: '', type: 'bool' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, + ], + name: 'settlexSwapV2TokenToETH', + outputs: [ + { internalType: 'uint256', name: 'returnAmount', type: 'uint256' }, ], - name: 'bid', - outputs: [], - stateMutability: 'payable', + stateMutability: 'nonpayable', type: 'function', }, { inputs: [ - { - internalType: 'address', - name: 'pair', - type: 'address', - }, - { - internalType: 'uint256', - name: 'baseAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'quoteAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'baseMinShares', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'quoteMinShares', - type: 'uint256', - }, - { - internalType: 'uint8', - name: 'flag', - type: 'uint8', - }, - { - internalType: 'uint256', - name: 'deadLine', - type: 'uint256', - }, - ], - name: 'addLiquidityToV1', + { internalType: 'address', name: 'fromToken', type: 'address' }, + { internalType: 'address', name: 'toToken', type: 'address' }, + { internalType: 'uint256', name: 'fromTokenAmount', type: 'uint256' }, + { internalType: 'uint256', name: 'minReturnAmount', type: 'uint256' }, + { internalType: 'address[]', name: 'settlexPairs', type: 'address[]' }, + { internalType: 'uint256', name: 'directions', type: 'uint256' }, + { internalType: 'bool', name: '', type: 'bool' }, + { internalType: 'uint256', name: 'deadLine', type: 'uint256' }, + ], + name: 'settlexSwapV2TokenToToken', outputs: [ - { - internalType: 'uint256', - name: 'baseShares', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'quoteShares', - type: 'uint256', - }, + { internalType: 'uint256', name: 'returnAmount', type: 'uint256' }, ], - stateMutability: 'payable', + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', type: 'function', }, + { stateMutability: 'payable', type: 'receive' }, ]; export default abi; diff --git a/packages/dodoex-api/src/services/pool/PoolApi.ts b/packages/dodoex-api/src/services/pool/PoolApi.ts index 6395cdf5..5175327b 100644 --- a/packages/dodoex-api/src/services/pool/PoolApi.ts +++ b/packages/dodoex-api/src/services/pool/PoolApi.ts @@ -116,7 +116,7 @@ export class PoolApi { const { DODO_DSP_PROXY } = contractConfig[chainId as ChainId]; const data = await encodeFunctionData( ABIName.dodoDspProxy, - 'createDODOStablePair', + 'createSETTLEXStablePair', [ baseToken.address, quoteToken.address, @@ -168,7 +168,7 @@ export class PoolApi { const { DODO_DSP_PROXY } = contractConfig[chainId as ChainId]; const data = await encodeFunctionData( ABIName.dodoDspProxy, - 'createDODOGasSavingPair', + 'createSETTLEXGasSavingPair', [ account, baseToken.address, @@ -220,26 +220,28 @@ export class PoolApi { isOpenTWAP = false, ) { const { DODO_PROXY } = contractConfig[chainId as ChainId]; + const params = [ + baseToken.address, + quoteToken.address, + baseInAmount, + quoteInAmount, + new BigNumber(lpFeeRate) + .div(10000) + .multipliedBy(10 ** 18) + .toString(), + parseFixed( + new BigNumber(i).toString(), + 18 - baseToken.decimals + quoteToken.decimals, + ).toString(), + parseFixed(new BigNumber(k).toString(), 18).toString(), + isOpenTWAP, + deadline, + ]; + console.log('createSETTLEXVendingMachine params', params); const data = await encodeFunctionData( ABIName.dodoProxyV2, - 'createDODOVendingMachine', - [ - baseToken.address, - quoteToken.address, - baseInAmount, - quoteInAmount, - new BigNumber(lpFeeRate) - .div(10000) - .multipliedBy(10 ** 18) - .toString(), - parseFixed( - new BigNumber(i).toString(), - 18 - baseToken.decimals + quoteToken.decimals, - ).toString(), - parseFixed(new BigNumber(k).toString(), 18).toString(), - isOpenTWAP, - deadline, - ], + 'createSETTLEXVendingMachine', + params, ); return { @@ -274,7 +276,7 @@ export class PoolApi { const { DODO_DPP_PROXY } = contractConfig[chainId as ChainId]; const data = await encodeFunctionData( ABIName.dodoDppProxy, - 'createDODOPrivatePool', + 'createSETTLEXPrivatePool', [ baseToken.address, quoteToken.address, @@ -396,7 +398,7 @@ export class PoolApi { const _newK = parseFixed(new BigNumber(newK).toString(), 18).toString(); const data = await encodeFunctionData( ABIName.dodoDppProxy, - 'resetDODOPrivatePool', + 'resetSETTLEXPrivatePool', [ dppAddress, [_newLpFeeRate, _newI, _newK], @@ -1517,12 +1519,15 @@ export class PoolApi { method: 'getPMMStateForCall', params: [], }); - totalSupplyQueryResult = await this.contractRequests.batchCallQuery(chainId, { - abiName: ABIName.dvmPoolABI, - contractAddress: poolAddress, - method: 'totalSupply', - params: [], - }); + totalSupplyQueryResult = await this.contractRequests.batchCallQuery( + chainId, + { + abiName: ABIName.dvmPoolABI, + contractAddress: poolAddress, + method: 'totalSupply', + params: [], + }, + ); } else { throw new Error(`type: ${type} not supported`); } @@ -1537,7 +1542,7 @@ export class PoolApi { ); let totalSupplyBG: BigNumber | undefined; if (Array.isArray(totalSupplyQueryResult)) { - totalSupplyBG = new BigNumber(totalSupplyQueryResult[0].toString()) + totalSupplyBG = new BigNumber(totalSupplyQueryResult[0].toString()); } let midPrice: BigNumber | undefined; @@ -1573,7 +1578,7 @@ export class PoolApi { pmmParamsBG, baseReserve: pmmParamsBG.b, quoteReserve: pmmParamsBG.q, - totalSupplyBG + totalSupplyBG, }; }, }; diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 631374a6..88e5de6c 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.9.0", + "version": "3.10.0-stable.4", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", @@ -23,7 +23,7 @@ "release": "semantic-release", "release:local": "np --any-branch --no-cleanup --no-tests", "release.npm-publish": "npm publish --access public", - "release.npm-publish-beta": "npm publish --tag beta", + "release.npm-publish-beta": "yarn run build && npm publish --tag beta", "test": "jest src", "test:e2e": "jest e2e" }, @@ -58,10 +58,10 @@ }, "dependencies": { "@babel/runtime": "^7.17.0", - "@dodoex/api": "3.4.0", + "@dodoex/api": "3.5.0-stable.4", "@dodoex/components": "^3.1.0", "@dodoex/contract-request": "^1.3.0", - "@dodoex/dodo-contract-request": "^1.28.0", + "@dodoex/dodo-contract-request": "1.25.0-alpha.2", "@dodoex/icons": "^2.0.3", "@emotion/react": "^11.10.0", "@emotion/styled": "^11.10.0", @@ -152,4 +152,4 @@ "ts-jest": "^29.0.1", "typescript": "^5.6.3" } -} +} \ No newline at end of file diff --git a/packages/dodoex-widgets/src/assets/logo/networks/stable-testnet.svg b/packages/dodoex-widgets/src/assets/logo/networks/stable-testnet.svg index 15fe7d93..cd7db5c4 100644 --- a/packages/dodoex-widgets/src/assets/logo/networks/stable-testnet.svg +++ b/packages/dodoex-widgets/src/assets/logo/networks/stable-testnet.svg @@ -1,26 +1,14 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/packages/dodoex-widgets/src/constants/tokenList.ts b/packages/dodoex-widgets/src/constants/tokenList.ts index 6def93a7..19cbe8ff 100644 --- a/packages/dodoex-widgets/src/constants/tokenList.ts +++ b/packages/dodoex-widgets/src/constants/tokenList.ts @@ -1,799 +1,70 @@ export default [ { - chainId: 1, + name: 'TEST1', + address: '0x4E59c68F7216Fe96f27f47D3fA1d8306a00aB380', + symbol: 'test1', + decimals: 18, + slippage: null, + chainId: 2201, + logoImg: + 'https://images.dodoex.io/Ie7OODKd0GDZlINrR3drPUEk4js0wnlL2mtt5U_bcsk/rs:fit:160:160:0/g:no/aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2RvZG8tbWVkaWEtc3RhZ2luZy9kZXYvMjIwMS8weDRlNTljNjhmNzIxNmZlOTZmMjdmNDdkM2ZhMWQ4MzA2YTAwYWIzODA.webp', + tokenlists: [ + { + name: 'All', + status: 'launched', + __typename: 'Erc20TokenListV2', + }, + ], + domains: [], + funcLabels: [], + attributeLabels: [], + __typename: 'Erc20Erc20V2List', + }, + { + name: 'TEST2', + address: '0x7af9428fC096e469Fa2583B9164f4f87Ba0F75A1', + symbol: 'test2', + decimals: 18, + slippage: null, + chainId: 2201, + logoImg: + 'https://images.dodoex.io/4gyRfX982GJg5T_wBJhWpS50VHfjs299hY9Q5Pf5yzI/rs:fit:160:160:0/g:no/aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2RvZG8tbWVkaWEtc3RhZ2luZy9kZXYvMjIwMS8weDdhZjk0MjhmYzA5NmU0NjlmYTI1ODNiOTE2NGY0Zjg3YmEwZjc1YTE.webp', + tokenlists: [ + { + name: 'All', + status: 'launched', + __typename: 'Erc20TokenListV2', + }, + ], + domains: [], + funcLabels: [], + attributeLabels: [], + __typename: 'Erc20Erc20V2List', + }, + { + name: 'gUSDT', address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - name: 'Ether', - decimals: 18, - symbol: 'ETH', - logoURI: - 'https://images.dodoex.io/prKmKP8yDTuPMHTCZ_DcxG8BqsuHNO8w5KDmJWmPodg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vOUVaWU1ER2ZVN3g2N3ZBZThqWkUxZzA0RExUaFhaV0JIb09wZFhpeXhHRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNNeVgyTnZhVzV0WVhKclpYUmpZWEJmWTI5dFgzTjBZWFJwWTE5cGJXZGZZMjlwYm5OZk5qUjROalJmTVRBeU4xOHhNekkyTjJGbE5EY3dMbkJ1WncucG5n.webp', - }, - { - chainId: 1, - address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', - name: 'USD Coin', - decimals: 6, - symbol: 'USDC', - logoURI: - 'https://images.dodoex.io/sQ5dF3FkjjQUsmfqFFE5cKq-cthh4u0wUooBE5Epf-k/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTDlEVElLa2dONG5mRkNTSF9GMUdXU3JiZkJDa2JZRTkwbmFDS0dIWnRsby9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMM1Z6WkdOZlpXVTFNbUV4WldReVlpOTFjMlJqWDJWbE5USmhNV1ZrTW1JdWNHNW4ucG5n.webp', - }, - { - chainId: 1, - address: '0x4Fabb145d64652a948d72533023f6E7A623C7C53', - name: 'Binance USD', - decimals: 18, - symbol: 'BUSD', - logoURI: - 'https://images.dodoex.io/xZmadzpVOnpuq2jNG_5EGKeqMET0LU_gmfnp4VxkcxI/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vSHQwWXZKMGNnU0lGTFM0aHExTV9jOXVITV9fMHpXaHBKSGVOQU5neTBuby9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMkoxYzJSZk4ySTJOalJpWWpReVpDOWlkWE5rWHpkaU5qWTBZbUkwTW1RdWNHNW4ucG5n.webp', - }, - { - chainId: 1, - address: '0x6b175474e89094c44da98b954eedeac495271d0f', - name: 'Dai Stablecoin', - decimals: 18, - symbol: 'DAI', - logoURI: - 'https://images.dodoex.io/h2lbKBfBJ2LNSTNCuwjsBkshT4eXzDDmAV0lhWS0llA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUnVJNWt2eHBwalI4TTZsenFZZVAyTTB4eVFMUGJ0S1hONDdWVTN1dUszZy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyeHZaMjlmWmpBNU5qUmpPVFUxT1M1d2JtYy5wbmc.webp', - }, - { - chainId: 1, - address: '0x43dfc4159d86f3a37a5a4b3d4580b888ad7d4ddd', - name: 'DODO bird', - decimals: 18, - symbol: 'DODO', - logoURI: - 'https://images.dodoex.io/PGIGjN4ix9pInoESO_mCmajbMpygApWZyGKaE6vyJFk/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8veFJDQ0hnQXBuaENRTFZNUXAwdTdwd0pSQzIxRHJ4cFY0b2Z0bndaYnRmMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFJQUkU5Zk5UaGxZelEyTlRFelpTOUVUMFJQWHpVNFpXTTBOalV4TTJVdWMzWm4uc3Zn.webp', - }, - { - chainId: 1, - address: '0xdac17f958d2ee523a2206206994597c13d831ec7', - name: 'Tether USD', - decimals: 6, - symbol: 'USDT', - logoURI: - 'https://images.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp', - }, - { - chainId: 1, - address: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', - name: 'Wrapped BTC', - decimals: 8, - symbol: 'WBTC', - logoURI: - 'https://images.dodoex.io/n4n7ccBom2tgcZNN0jBv9YiTq5qGMjX6PHO0YGlpzZo/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMElrSkQzVEc2SkFQdG1DV24tNnhfa0ozS3lXYXlVVHRhZ19PQmF0TFEwRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRDVkVOZmFXTnZibDgzWW1JelpUQTRaak14TDFkQ1ZFTmZhV052Ymw4M1ltSXpaVEE0WmpNeExuQnVady5wbmc.webp', - }, - { - chainId: 1, - address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', - name: 'Wrapped Ether', - decimals: 18, - symbol: 'WETH', - logoURI: - 'https://images.dodoex.io/mI69kq-S-tNT1W57qYizPd5r2WNFzpAq5y6NhOcrTkY/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vVEZhSVNLVVZIWThLTVhyTkVmZDRXRUJmMGJoSHRweHY3Q1hDT0dKbGY2by9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyeHZaMjlmT0dVeFpEaG1PVEEyWlM1d2JtYy5wbmc.webp', - }, - { - chainId: 5, - symbol: 'USDC', - address: '0xC4106029d03c33731Ca01Ba59b5A6368c660E596', - name: 'USDC', - decimals: 6, - logoURI: '', - }, - { - chainId: 5, - symbol: 'USDT', - address: '0xed8a325D87D3b6edED04FB992A1482231647EE5e', - name: 'USDT Token', - decimals: 6, - logoURI: '', - }, - { - chainId: 5, - symbol: 'WETH', - address: '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6', - name: 'Wrapped Ether', - decimals: 18, - logoURI: '', - }, - { - chainId: 5, - symbol: 'ETH', - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - name: 'Ether', - decimals: 18, - logoURI: '', - }, - { - chainId: 11155111, - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - name: 'Ether', - decimals: 18, - symbol: 'ETH', - logoURI: - 'https://images.dodoex.io/prKmKP8yDTuPMHTCZ_DcxG8BqsuHNO8w5KDmJWmPodg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vOUVaWU1ER2ZVN3g2N3ZBZThqWkUxZzA0RExUaFhaV0JIb09wZFhpeXhHRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNNeVgyTnZhVzV0WVhKclpYUmpZWEJmWTI5dFgzTjBZWFJwWTE5cGJXZGZZMjlwYm5OZk5qUjROalJmTVRBeU4xOHhNekkyTjJGbE5EY3dMbkJ1WncucG5n.webp', - }, - { - chainId: 11155111, - address: '0x7B07164ecFaF0F0D85DFC062Bc205a4674c75Aa0', - name: 'Wrapped Ether', - decimals: 18, - symbol: 'WETH', - logoURI: - 'https://images.dodoex.io/mI69kq-S-tNT1W57qYizPd5r2WNFzpAq5y6NhOcrTkY/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vVEZhSVNLVVZIWThLTVhyTkVmZDRXRUJmMGJoSHRweHY3Q1hDT0dKbGY2by9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyeHZaMjlmT0dVeFpEaG1PVEEyWlM1d2JtYy5wbmc.webp', - }, - { - chainId: 56, - address: '0xe9e7cea3dedca5984780bafc599bd69add087d56', - name: 'BUSD Token', - decimals: 18, - symbol: 'BUSD', - logoURI: - 'https://images.dodoex.io/BvxyffA5gsLB4bLmlOVkfu7AVami78-VcW_6_i8I6kc/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vbC1Sa25meFB3ZXlCOGVYSWJ2b04wdHczLTlzckZOckxfRHdTTnRLSHVRRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDJOa2JsOXRaV1JwWVY5a2IyUnZaWGhmYVc5ZlluVnpaRjgyTXpsbFlqZzNZV0V4WDJKMWMyUmZOak01WldJNE4yRmhNVjlsT1dVMVlXRTBOemxtTG5OMlp3LnN2Zw.webp', - }, - { - chainId: 56, - address: '0x55d398326f99059ff775485246999027b3197955', - name: 'Tether USD', - decimals: 18, - symbol: 'USDT', - logoURI: - 'https://images.dodoex.io/QOl7CvP_WSmTUOMthbxQsNKjDj0s5kSjup69dW_-UeA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTjdQU3RXV2ZGaGNTVzM1QlE2TEJIaF9keVROUEJqa1RLTXRwTll5cEhSWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDJOa2JsOXRaV1JwWVY5a2IyUnZaWGhmYVc5ZmRYTmtkRjh4TlRZME1XWmpaRFF3WDNWelpIUmZNVFUyTkRGbVkyUTBNRjlqWmpJMVpUYzVZVE5qTG5OMlp3LnN2Zw.webp', - }, - { - chainId: 56, - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - name: 'BNB', - decimals: 18, - symbol: 'BNB', - logoURI: - 'https://images.dodoex.io/BWNSMMqu68bSFJsr9vsiCV09IonH3yuAkR9gQxaipBw/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZDhvazF4akd3bU9GUXUtMVdzNEVRLVBNRnJYMW9DLXlmYTc3OGJUUkx0US9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMEpPUWw5alpEUTVNalE0TXpJMkwwSk9RbDlqWkRRNU1qUTRNekkyTG5CdVp3LnBuZw.webp', - }, - { - chainId: 56, - address: '0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c', - name: 'BTCB Token', - decimals: 18, - symbol: 'BTCB', - logoURI: - 'https://images.dodoex.io/fZG0z_RZ1U73_LuuC3RGrrZvNR-bgrCUjkwvaro-PCY/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZ1NXN0RuYWNkMnc2YWxSQnFmcENqTHNDZWJhc2VtQTc0dDJlTEdDZjhfNC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyeHZaMjlmWmpJNVlXRmpZamxoTVM1d2JtYy5wbmc.webp', - }, - { - chainId: 56, - address: '0x1af3f329e8be154074d8769d1ffa4ee058b1dbc3', - name: 'Dai Token', - decimals: 18, - symbol: 'DAI', - logoURI: - 'https://images.dodoex.io/bhz9Vtma8hPb_-GnhwqQkhfTQ5PwKcR1Qbzn7aBKlfs/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZW04OHB4YXNDdEg0Nl9BcjhVandzZWR2SFBFUUtjVWVkc0FmV2lvenB2Yy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyeHZaMjlmWVRoaFptSmxaRFppWkM1d2JtYy5wbmc.webp', - }, - { - chainId: 56, - address: '0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2', - name: 'DODO bird', - decimals: 18, - symbol: 'DODO', - logoURI: - 'https://images.dodoex.io/PGIGjN4ix9pInoESO_mCmajbMpygApWZyGKaE6vyJFk/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8veFJDQ0hnQXBuaENRTFZNUXAwdTdwd0pSQzIxRHJ4cFY0b2Z0bndaYnRmMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFJQUkU5Zk5UaGxZelEyTlRFelpTOUVUMFJQWHpVNFpXTTBOalV4TTJVdWMzWm4uc3Zn.webp', - }, - { - chainId: 56, - address: '0x2170ed0880ac9a755fd29b2688956bd959f933f8', - name: 'Ethereum Token', - decimals: 18, - symbol: 'ETH', - logoURI: - 'https://images.dodoex.io/KWYmKxU_OCS1PmzuEO0xjdr1Yn08SjGBkyqSI8hxlpE/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdkkyZF9rdFdyUzQyM0FqZlBLbkxRYloyRGVzTkpacmNTSlZNb1dYRnkyOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRGVkVoZmFXTnZibDh6TVRjd1pqTTBORGcxTDFkRlZFaGZhV052Ymw4ek1UY3daak0wTkRnMUxuQnVady5wbmc.webp', - }, - { - chainId: 56, - address: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d', - name: 'Binance-Peg USD Coin', - decimals: 18, - symbol: 'USDC', - logoURI: - 'https://images.dodoex.io/sQ5dF3FkjjQUsmfqFFE5cKq-cthh4u0wUooBE5Epf-k/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTDlEVElLa2dONG5mRkNTSF9GMUdXU3JiZkJDa2JZRTkwbmFDS0dIWnRsby9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMM1Z6WkdOZlpXVTFNbUV4WldReVlpOTFjMlJqWDJWbE5USmhNV1ZrTW1JdWNHNW4ucG5n.webp', - }, - { - chainId: 56, - address: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c', - name: 'Wrapped BNB', - decimals: 18, - symbol: 'WBNB', - logoURI: - 'https://images.dodoex.io/-Pua5rc9k9iW4yuF5ajLVKzMkRhBq06D8HiEZ5gjezA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMDZOWTdBTmdOYWdFOHpXYUMtX2IzYXVPOUxsTEp6QlpLTUR3VlM5eW9DQS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyeHZaMjlmT1dRellXTmtZMlEzTnk1d2JtYy5wbmc.webp', - }, - { - chainId: 137, - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - name: 'MATIC', - decimals: 18, - symbol: 'MATIC', - logoURI: - 'https://images.dodoex.io/cQFrEB6yGIqMkh_6Pie8VR3kIStL58IS-y8FbroHVwA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vc2VNUUk2dkpoaXljeldrczJaWWdGdk8zSEoxSWFIa053LXZYeXFneER4US9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMekZmTWpkbE56TXlNRE13TWk4eFh6STNaVGN6TWpBek1ESXVjRzVuLnBuZw.webp', - }, - { - chainId: 137, - address: '0xe4bf2864ebec7b7fdf6eeca9bacae7cdfdaffe78', - name: 'DODO bird', - decimals: 18, - symbol: 'DODO', - logoURI: - 'https://images.dodoex.io/KEPetVp3nQkB6BZ_cb05trEfBbGxFEg92UnF8NZsEzM/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vVE5wTlRseEJGbFRDalM1ZFh3SWJ3Mm1hZ3NPUFFkZ3Z1UEhuZDZrNWdyMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFJQUkU5Zk4yUTBaamxtTldOaU15OUVUMFJQWHpka05HWTVaalZqWWpNdWNHNW4ucG5n.webp', - }, - { - chainId: 137, - address: '0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063', - name: 'Dai Stablecoin', - decimals: 18, - symbol: 'DAI', - logoURI: - 'https://images.dodoex.io/hdRkGay_hj0t1OzN5C3c30cmch26tJhHUSroffg7ciY/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vOHd3UndQOG9DTTdBcF9NOW11bGVOQWRqYjhBOXpvX2FYUE5pVTNBYUtzYy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhnMlgwSXhOelUwTnpSZlJUZzVNRGswWDBNME5GOUVZVGs0WWprMU5GOUZaV1JsWDBGRFh6UTVOVEkzTVdRd1gwWmZiRzluYjE4MFpXSXdNVE0zTVRZeExuQnVady5wbmc.webp', - }, - { - chainId: 137, - address: '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619', - name: 'Ether', - decimals: 18, - symbol: 'ETH', - logoURI: - 'https://images.dodoex.io/WAobi4MZtLSxB59wgpyNlXLI44ZwlBh55qiGS2wLSGU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vSUVnUUx3TjRMU2dKRDJTM3RmSFlHcmxZbFZQNGlJeFcxeEZVOUwwUExRNC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhoZlF6QXlZV0ZmUVRNNVlqSXlNMTlHUlY4NFgwUXdYMEV3WlRWZlF6UmZSakkzWlY5QlJGODVNRGd6WDBNM05UWmZRMk15WDJ4dloyOWZZelk0WXprelpHRXlNQzV3Ym1jLnBuZw.webp', - }, - { - chainId: 137, - address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174', - name: 'USD Coin', - decimals: 6, - symbol: 'USDC', - logoURI: - 'https://images.dodoex.io/er3iAGv39hCC7F8AydW_AteD3hnZj9HI2XcAaruHeqA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vVE9WUWtzN3JQWU5OZWdmNTRuNC1Za1NGTFYyLXVGZmlJRFVYem85aVMzOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhoZlFUQmlPRFk1T1RGak5qSXhPR0l6Tm1NeFpERTVYMFEwWVRKbE9WOUZZakJqWDBVek5qQTJaVjlDTkRoZmJHOW5iMTlpTmpGbE5EVmtNbVF6TG5CdVp3LnBuZw.webp', - }, - { - chainId: 137, - address: '0xc2132D05D31c914a87C6611C10748AEb04B58e8F', - name: 'Tether USD', - decimals: 6, - symbol: 'USDT', - logoURI: - 'https://images.dodoex.io/WeK6L9_RjWUfAsnMuOAdyXIZVE3JK_H3lZU5vk2m7Tg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTFJ0aEt6X2VrSXdmTEh6NnAycW5rSkRFeUk1RXZrODlXQ0J2VW43MUJLNC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhoa1gwRkRYekUzWDBZNU5UaGZSREpsWlRVeU0yRXlNakEyTWpBMk9UazBOVGszWDBNeE0xOUVPRE14WldNM1gyeHZaMjlmWXpCbU9XVTFaamxoTmk1d2JtYy5wbmc.webp', - }, - { - chainId: 137, - address: '0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6', - name: 'Wrapped BTC', - decimals: 8, - symbol: 'WBTC', - logoURI: - 'https://images.dodoex.io/_KjvB9pCVqbIIv_UnQvRWpjySBHiFnuHNSXUm_52UZM/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZDQ4OVYzTW1NMi1qaFJueEQ2Y3MyY1gydXdGS2tkRHpiRGZsbkZhTTJxOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhneU1qWXdYMFpCUTE4MVgwVTFOVFF5WVRjM00xOUJZVFEwWmw5Q1gwTm1aVjlFWmpkZlF6RTVNMkpqTWw5RE5UazVYMnh2WjI5Zk5HTmpORE0zTlRneFppNXdibWMucG5n.webp', - }, - { - chainId: 137, - address: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270', - name: 'Wrapped MATIC', - decimals: 18, - symbol: 'WMATIC', - logoURI: - 'https://images.dodoex.io/HfZVSaAES3QRplSybW2uoKmYf6pVTRaxufn95_Qto_A/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMERhZEZTUUVFX0d4YlBoMHY3Wk1Hb1FwaWtOQm1vaWFyZTFlaFdJbU44dy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMjFoZEdsalgyVmlOekZtTkdFMU9XRXZiV0YwYVdOZlpXSTNNV1kwWVRVNVlTNTNaV0p3LndlYnA.webp', - }, - { - chainId: 42161, - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - name: 'ETH', - decimals: 18, - symbol: 'ETH', - logoURI: - 'https://images.dodoex.io/KWYmKxU_OCS1PmzuEO0xjdr1Yn08SjGBkyqSI8hxlpE/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdkkyZF9rdFdyUzQyM0FqZlBLbkxRYloyRGVzTkpacmNTSlZNb1dYRnkyOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRGVkVoZmFXTnZibDh6TVRjd1pqTTBORGcxTDFkRlZFaGZhV052Ymw4ek1UY3daak0wTkRnMUxuQnVady5wbmc.webp', - }, - { - chainId: 42161, - address: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1', - name: 'Wrapped Ether', - decimals: 18, - symbol: 'WETH', - logoURI: - 'https://images.dodoex.io/6VmZGvbENd4TM1VK0rsYrfznRtG-GwxP-zCy2qyc9bM/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vWnJZUDB0ZHVTLUdDNE5FTThmRmV1RHhVWklPNUZpWnpqdkdBc0lfNlBQMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRGVkVoZmFXTnZibDh5TW1GbU4yVTVOVFJpTDFkRlZFaGZhV052Ymw4eU1tRm1OMlU1TlRSaUxuQnVady5wbmc.webp', - }, - { - chainId: 42161, - address: '0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1', - name: 'Dai Stablecoin', - decimals: 18, - symbol: 'DAI', - logoURI: - 'https://images.dodoex.io/XNbyKKzPthXfYOku9oXt5xzqM1JOWzxmbTLq2kkSvaU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vWHprMUxKSzJ2V1BYVmN3TmVvVDRfR3NNdnBOVXFmTmliXzgybFZSVUNkWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmYzNWemFHbHpkMkZ3WDJsamIyNXpYMjFoYzNSbGNsOTBiMnRsYmw5a1lXbGZPRGhrT0dNeE5HRTBZaTVxY0djLmpwZw.webp', - }, - { - chainId: 42161, - address: '0x69Eb4FA4a2fbd498C257C57Ea8b7655a2559A581', - name: 'DODO bird', - decimals: 18, - symbol: 'DODO', - logoURI: - 'https://images.dodoex.io/6U51l5aajoRrCaO6cpbrclQ2olWNDzuShggOCfoktCA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8va3RkSlhwQ3dsQVZtZXNPb1dvQV95SG9IazBnV3UxUExienBKa1AxYnlJdy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFJQUkU5Zk5tTmtPVEV4WXprNE15OUVUMFJQWHpaalpEa3hNV001T0RNdWNHNW4ucG5n.webp', - }, - { - chainId: 42161, - address: '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8', - name: 'USD Coin (Arb1)', - decimals: 6, - symbol: 'USDC', - logoURI: - 'https://images.dodoex.io/EaCi6KUTS-dinU-wGdG2IcundJ0fJfsOw97FRI2vaB8/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdEVMaUx0Y1FaTVlBb3hkeExLdnRrZ2ltdVB5dmZRdUQ5U1BxU1c1bDZsMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkVOZmFXTnZibDh5WlRFeU5tSTRaRFV5TDFWVFJFTmZhV052Ymw4eVpURXlObUk0WkRVeUxuQnVady5wbmc.webp', - }, - { - chainId: 42161, - address: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9', - name: 'Tether USD', - decimals: 6, - symbol: 'USDT', - logoURI: - 'https://images.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp', - }, - { - chainId: 42161, - address: '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f', - name: 'Wrapped BTC', - decimals: 8, - symbol: 'WBTC', - logoURI: - 'https://images.dodoex.io/n4n7ccBom2tgcZNN0jBv9YiTq5qGMjX6PHO0YGlpzZo/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMElrSkQzVEc2SkFQdG1DV24tNnhfa0ozS3lXYXlVVHRhZ19PQmF0TFEwRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRDVkVOZmFXTnZibDgzWW1JelpUQTRaak14TDFkQ1ZFTmZhV052Ymw4M1ltSXpaVEE0WmpNeExuQnVady5wbmc.webp', - }, - { - chainId: 66, - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - name: 'OKT', - decimals: 18, - symbol: 'OKT', - logoURI: - 'https://images.dodoex.io/pcltGNcIp7DP33nj3YxxBpuFEekNcOW3pwq9tjSrpY4/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTzJHSDJYTndRancwbXMzQXNidG5xNzRkVEROVld3QWFOU1dXU2ZnU01QTS9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6RTVOalF5T1RCZk1qQXlNakExTWpBd056STNORFl3TWpJdWMzWm4uc3Zn.webp', - }, - { - chainId: 66, - address: '0x382bB369d343125BfB2117af9c149795C6C65C50', - name: 'USDT', - decimals: 18, - symbol: 'USDT', - logoURI: - 'https://images.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp', - }, - { - chainId: 66, - address: '0x218c3c3D49d0E7B37aff0D8bB079de36Ae61A4c0', - name: 'BNB', - decimals: 18, - symbol: 'BNB', - logoURI: - 'https://images.dodoex.io/BWNSMMqu68bSFJsr9vsiCV09IonH3yuAkR9gQxaipBw/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZDhvazF4akd3bU9GUXUtMVdzNEVRLVBNRnJYMW9DLXlmYTc3OGJUUkx0US9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMEpPUWw5alpEUTVNalE0TXpJMkwwSk9RbDlqWkRRNU1qUTRNekkyTG5CdVp3LnBuZw.webp', - }, - { - chainId: 66, - address: '0x54e4622DC504176b3BB432dCCAf504569699a7fF', - name: 'BTCK', - decimals: 18, - symbol: 'BTCK', - logoURI: - 'https://images.dodoex.io/L3kcNUKg94qnX8OPFlEvHKqWybnJD8SA9HTne3PW-Rg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vNU1MQTB3Q3V6eEs4Q3ZMV0RqempuOVhzalBTWE1zbUpWZ0RRN1RPMG9FWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMEpVUTB0Zk1HWmlaRGRsTWpnNU5pOUNWRU5MWHpCbVltUTNaVEk0T1RZdWNHNW4ucG5n.webp', - }, - { - chainId: 66, - address: '0x332730a4F6E03D9C55829435f10360E13cfA41Ff', - name: 'BUSD', - decimals: 18, - symbol: 'BUSD', - logoURI: - 'https://images.dodoex.io/-aEkA13gC6lOFoRyGeSy2BotE5YY3WUmcSlPa9Rpddc/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vaXVmSjhaNHFJYzlMMDgtNHpxRUMxWl94WVlqRkEtT3BqS1FJbmQyeHpHUS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMEpWVTBSZk1XTTJNRFpqTjJZeE55OUNWVk5FWHpGak5qQTJZemRtTVRjdWNHNW4ucG5n.webp', - }, - { - chainId: 66, - address: '0x21cDE7E32a6CAF4742d00d44B07279e7596d26B9', - name: 'DAIK', - decimals: 18, - symbol: 'DAIK', - logoURI: - 'https://images.dodoex.io/LOb-sXupURNN9HA0zBSfLfpZlx52N9qRSDUyzk3cg0A/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vck5pZzMtWU5TOUl4T3ZHX19taTFRSU9WYTZsczdZNXViRVhGcTJJVGplby9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFJCU1V0Zk5ESTVNV1l4WlRoa1pTOUVRVWxMWHpReU9URm1NV1U0WkdVdWNHNW4ucG5n.webp', - }, - { - chainId: 66, - address: '0xEF71CA2EE68F45B9Ad6F72fbdb33d707b872315C', - name: 'ETHK', - decimals: 18, - symbol: 'ETHK', - logoURI: - 'https://images.dodoex.io/IwBclhMMQLOo79RdRo6-HnUiXxshO_hSi02YK3L6MFI/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vcFBSd192aEx2MHh3WkRHU2k3eGYyYVJiQjlocVhfU2tacUdGc3RJR0pYRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFZVU0V0Zk1UQTVNamMzTW1VMU9DOUZWRWhMWHpFd09USTNOekpsTlRndWNHNW4ucG5n.webp', - }, - { - chainId: 66, - address: '0xc946DAf81b08146B1C7A8Da2A851Ddf2B3EAaf85', - name: 'USDC', - decimals: 18, - symbol: 'USDC', - logoURI: - 'https://images.dodoex.io/bXLFjIP5_obFZS9jvWA1bZc2b2Vsw4-tqcvj10aPUpU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vcXhZT0hTcDYzemNTaDVHRVV1SFlya3JGS2s1MW9zLVUycG42bjNXV2pYay9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkVOZk1UTTFZak13TkRkaVpDOVZVMFJEWHpFek5XSXpNRFEzWW1RdWNHNW4ucG5n.webp', - }, - { - chainId: 66, - address: '0xdCAC52E001f5bd413aa6ea83956438F29098166b', - name: 'USDK', - decimals: 18, - symbol: 'USDK', - logoURI: - 'https://images.dodoex.io/X-_D75ZOpI-yC70WjdgC8wiqcssfRIALEv0eUfD3HiE/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vd290dHEzaWdkTDVzQlhSR2VFZkhQLTNpZHhDZzV0V3VGQmE3YjNrNUZITS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkV0Zk56aGpZekV6TW1OaVpDOVZVMFJMWHpjNFkyTXhNekpqWW1RdWNHNW4ucG5n.webp', - }, - { - chainId: 66, - address: '0x506f731F7656e2FB34b587B912808f2a7aB640BD', - name: 'WBTCK', - decimals: 18, - symbol: 'WBTCK', - logoURI: - 'https://images.dodoex.io/7Gb1gYkvjWESf9ungWe4YKOrr5GY5UILmTwU_U95kCA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vOTQ4NWZpU2NmUzBNc2V1YVZXWXo2Z1RuNVVidXJvZkxmN1VGSWhMdndjTS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRDVkVOTFgyVXlZamRpWVRJNU16TXZWMEpVUTB0ZlpUSmlOMkpoTWprek15NXdibWMucG5n.webp', - }, - { - chainId: 1313161554, - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - name: 'Ethereum', - decimals: 18, - symbol: 'ETH', - logoURI: - 'https://images.dodoex.io/WAobi4MZtLSxB59wgpyNlXLI44ZwlBh55qiGS2wLSGU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vSUVnUUx3TjRMU2dKRDJTM3RmSFlHcmxZbFZQNGlJeFcxeEZVOUwwUExRNC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhoZlF6QXlZV0ZmUVRNNVlqSXlNMTlHUlY4NFgwUXdYMEV3WlRWZlF6UmZSakkzWlY5QlJGODVNRGd6WDBNM05UWmZRMk15WDJ4dloyOWZZelk0WXprelpHRXlNQzV3Ym1jLnBuZw.webp', - }, - { - chainId: 1313161554, - address: '0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB', - name: 'Wrapped Ethereum', - decimals: 18, - symbol: 'WETH', - logoURI: - 'https://images.dodoex.io/KWYmKxU_OCS1PmzuEO0xjdr1Yn08SjGBkyqSI8hxlpE/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdkkyZF9rdFdyUzQyM0FqZlBLbkxRYloyRGVzTkpacmNTSlZNb1dYRnkyOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRGVkVoZmFXTnZibDh6TVRjd1pqTTBORGcxTDFkRlZFaGZhV052Ymw4ek1UY3daak0wTkRnMUxuQnVady5wbmc.webp', - }, - { - chainId: 1313161554, - address: '0x8BEc47865aDe3B172A928df8f990Bc7f2A3b9f79', - name: 'Aurora', - decimals: 18, - symbol: 'Aurora', - logoURI: - 'https://images.dodoex.io/2C2jfpO2-VYuwlga3SdtP5I6eJNJXIYq3LvPU4aFuiU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vcHFWVWlJOEQ4VU5iUEZYRElvUnA3cFhEZFc4dmx4dWEtTmxubmxlam1PMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMkYxY205eVlWOHlOVEprWlRFeE56YzBMMkYxY205eVlWOHlOVEprWlRFeE56YzBMbmRsWW5BLndlYnA.webp', - }, - { - chainId: 1313161554, - address: '0xe3520349F477A5F6EB06107066048508498A291b', - name: 'Dai Stablecoin', - decimals: 18, - symbol: 'DAI', - logoURI: - 'https://images.dodoex.io/XNbyKKzPthXfYOku9oXt5xzqM1JOWzxmbTLq2kkSvaU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vWHprMUxKSzJ2V1BYVmN3TmVvVDRfR3NNdnBOVXFmTmliXzgybFZSVUNkWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmYzNWemFHbHpkMkZ3WDJsamIyNXpYMjFoYzNSbGNsOTBiMnRsYmw5a1lXbGZPRGhrT0dNeE5HRTBZaTVxY0djLmpwZw.webp', - }, - { - chainId: 1313161554, - address: '0xe301eD8C7630C9678c39E4E45193D1e7Dfb914f7', - name: 'DODO Bird', - decimals: 18, - symbol: 'DODO', - logoURI: - 'https://images.dodoex.io/SEcMDWMmtHb3GFW5l7fTKYurpTqALHdZI3D6qzad1rs/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vQXRNMzllUjhRQzhYTl8tem5HU0pSLS1lV0tPUW91V3p2ci0zQ014WlJTSS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMekl3TUhneU1EQmZNVjh3WWpReFl6VTJZV1UxTHpJd01IZ3lNREJmTVY4d1lqUXhZelUyWVdVMUxuQnVady5wbmc.webp', - }, - { - chainId: 1313161554, - address: '0xB12BFcA5A55806AaF64E99521918A4bf0fC40802', - name: 'USD Coin', - decimals: 6, - symbol: 'USDC', - logoURI: - 'https://images.dodoex.io/EaCi6KUTS-dinU-wGdG2IcundJ0fJfsOw97FRI2vaB8/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdEVMaUx0Y1FaTVlBb3hkeExLdnRrZ2ltdVB5dmZRdUQ5U1BxU1c1bDZsMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkVOZmFXTnZibDh5WlRFeU5tSTRaRFV5TDFWVFJFTmZhV052Ymw4eVpURXlObUk0WkRVeUxuQnVady5wbmc.webp', - }, - { - chainId: 1313161554, - address: '0x4988a896b1227218e4A686fdE5EabdcAbd91571f', - name: 'Tether USD', - decimals: 6, - symbol: 'USDT', - logoURI: - 'https://images.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp', - }, - { - chainId: 1313161554, - address: '0xF4eB217Ba2454613b15dBdea6e5f22276410e89e', - name: 'Wrapped BTC', - decimals: 8, - symbol: 'WBTC', - logoURI: - 'https://images.dodoex.io/n4n7ccBom2tgcZNN0jBv9YiTq5qGMjX6PHO0YGlpzZo/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMElrSkQzVEc2SkFQdG1DV24tNnhfa0ozS3lXYXlVVHRhZ19PQmF0TFEwRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRDVkVOZmFXTnZibDgzWW1JelpUQTRaak14TDFkQ1ZFTmZhV052Ymw4M1ltSXpaVEE0WmpNeExuQnVady5wbmc.webp', - }, - { - chainId: 43114, - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - name: 'Avalanche', - decimals: 18, - symbol: 'AVAX', - logoURI: - 'https://images.dodoex.io/yBkeC0v6hqQP-wNBxAq_C_D6JTYUc4Q86Wh6WIciESI/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vcmpNamFFdHJ5WUZxNks3TkpxYkRWczlEZF80aHp4ZUo3YnB0eGgtVERDYy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMjEzWDI1ZlRqaHRNRjgwTURCNE5EQXdYems0WlRKaU5EQm1PRGN2YlhkZmJsOU9PRzB3WHpRd01IZzBNREJmT1RobE1tSTBNR1k0Tnk1cWNHYy5qcGc.webp', - }, - { - chainId: 43114, - address: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7', - name: 'Wrapped AVAX', - decimals: 18, - symbol: 'WAVAX', - logoURI: - 'https://images.dodoex.io/yBkeC0v6hqQP-wNBxAq_C_D6JTYUc4Q86Wh6WIciESI/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vcmpNamFFdHJ5WUZxNks3TkpxYkRWczlEZF80aHp4ZUo3YnB0eGgtVERDYy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMjEzWDI1ZlRqaHRNRjgwTURCNE5EQXdYems0WlRKaU5EQm1PRGN2YlhkZmJsOU9PRzB3WHpRd01IZzBNREJmT1RobE1tSTBNR1k0Tnk1cWNHYy5qcGc.webp', - }, - { - chainId: 43114, - address: '0x19860CCB0A68fd4213aB9D8266F7bBf05A8dDe98', - name: 'Binance USD', - decimals: 18, - symbol: 'BUSD.e', - logoURI: - 'https://images.dodoex.io/-aEkA13gC6lOFoRyGeSy2BotE5YY3WUmcSlPa9Rpddc/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vaXVmSjhaNHFJYzlMMDgtNHpxRUMxWl94WVlqRkEtT3BqS1FJbmQyeHpHUS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMEpWVTBSZk1XTTJNRFpqTjJZeE55OUNWVk5FWHpGak5qQTJZemRtTVRjdWNHNW4ucG5n.webp', - }, - { - chainId: 43114, - address: '0xd586E7F844cEa2F87f50152665BCbc2C279D8d70', - name: 'Dai Stablecoin', - decimals: 18, - symbol: 'DAI.e', - logoURI: - 'https://images.dodoex.io/XNbyKKzPthXfYOku9oXt5xzqM1JOWzxmbTLq2kkSvaU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vWHprMUxKSzJ2V1BYVmN3TmVvVDRfR3NNdnBOVXFmTmliXzgybFZSVUNkWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmYzNWemFHbHpkMkZ3WDJsamIyNXpYMjFoYzNSbGNsOTBiMnRsYmw5a1lXbGZPRGhrT0dNeE5HRTBZaTVxY0djLmpwZw.webp', - }, - { - chainId: 43114, - address: '0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664', - name: 'USD Coin', - decimals: 6, - symbol: 'USDC.e', - logoURI: - 'https://images.dodoex.io/bXLFjIP5_obFZS9jvWA1bZc2b2Vsw4-tqcvj10aPUpU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vcXhZT0hTcDYzemNTaDVHRVV1SFlya3JGS2s1MW9zLVUycG42bjNXV2pYay9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkVOZk1UTTFZak13TkRkaVpDOVZVMFJEWHpFek5XSXpNRFEzWW1RdWNHNW4ucG5n.webp', - }, - { - chainId: 43114, - address: '0xc7198437980c041c805A1EDcbA50c1Ce5db95118', - name: 'Tether USD', - decimals: 6, - symbol: 'USDT.e ', - logoURI: - 'https://images.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp', - }, - { - chainId: 43114, - address: '0x50b7545627a5162F82A992c33b87aDc75187B218', - name: 'Wrapped BTC', - decimals: 8, - symbol: 'WBTC.e', - logoURI: - 'https://images.dodoex.io/n4n7ccBom2tgcZNN0jBv9YiTq5qGMjX6PHO0YGlpzZo/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMElrSkQzVEc2SkFQdG1DV24tNnhfa0ozS3lXYXlVVHRhZ19PQmF0TFEwRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRDVkVOZmFXTnZibDgzWW1JelpUQTRaak14TDFkQ1ZFTmZhV052Ymw4M1ltSXpaVEE0WmpNeExuQnVady5wbmc.webp', - }, - { - chainId: 43114, - address: '0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB', - name: 'Wrapped Ether', - decimals: 18, - symbol: 'WETH.e', - logoURI: - 'https://images.dodoex.io/KWYmKxU_OCS1PmzuEO0xjdr1Yn08SjGBkyqSI8hxlpE/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdkkyZF9rdFdyUzQyM0FqZlBLbkxRYloyRGVzTkpacmNTSlZNb1dYRnkyOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRGVkVoZmFXTnZibDh6TVRjd1pqTTBORGcxTDFkRlZFaGZhV052Ymw4ek1UY3daak0wTkRnMUxuQnVady5wbmc.webp', - }, - { - chainId: 10, - address: '0x4200000000000000000000000000000000000006', - name: 'WETH', - decimals: 18, - symbol: 'WETH', - logoURI: - 'https://images.dodoex.io/f9SbZq39ynUZS5ueKvAwzLmKUfcZvYpKDaysT3dkcvM/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vc2NkVzJUWjladmRiX3BVSjZ3b2YzeHRvYk94YUw3bEV5RmhhemhJUFhlMC9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6RXdNamd3TkRaZk1qQXlNakEwTWpJd01UQXpORGc1TURVdWNHNW4ucG5n.webp', - }, - { - chainId: 10, - address: '0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1', - name: 'DAI', - decimals: 18, - symbol: 'DAI', - logoURI: - 'https://images.dodoex.io/04gwZiu2K_9fdb2zLwzsX1nONCbBWrZOvTyOoEFhx3g/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vaDJCcmdhUmZxUzBLZDBEOVpZbEUteEtNMVdzeFFtRzBEWVpKOGJCaWN4US9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6SXlNRFUwTVRsZk1qQXlNakEwTWpJd01UQTBNak00TlRVdWFuQm4uanBn.webp', - }, - { - chainId: 10, - address: '0x7F5c764cBc14f9669B88837ca1490cCa17c31607', - name: 'USDC', - decimals: 6, - symbol: 'USDC', - logoURI: - 'https://images.dodoex.io/XbtxsPIscM6p5ClHbLO0JumFHA9U23eON8-MDh-Plkg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vaG1nM3hRa1BUTUtkcUNFVnd0LXU4S2lwTW5od1JCdGhLYWxENW9vSWlTZy9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6UXlNRFEyTkRaZk1qQXlNakEwTWpJd01UQTFNekF4TmpVdWNHNW4ucG5n.webp', - }, - { - chainId: 10, - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - name: 'ETH', - decimals: 18, - symbol: 'ETH', - logoURI: - 'https://images.dodoex.io/bcyoORJ04NyP1HhYUZ9RrTZ-MEOFeNnMcrr__JZ6Ruw/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vV1lHaU9IVFVnVWs4Q3Z3WmNyN0hWX2w4SlNrQjRVQUh1UXpzaWd4U3Nmay9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6VTVPREk0T1Y4eU1ESXlNRFF5TWpBeU1qTTBNelk0TlM1d2JtYy5wbmc.webp', - }, - { - decimals: 18, - logoURI: - 'https://images.dodoex.io/Gbch2fMVm-itKQ-wYdO0BE9s_LVK-8fr2eoJxyjM_pY/rs:fit:160:160:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vOXZDZEdXMV9BQnM2VTA3RzNIcDd1VnRURnppdWJvQlJObVJyVEZLaXhEcy9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6RTVORFV4TXpoZk1qQXlNekEzTURNd056RTRNalkyT0RjdWFuQm4uanBn.webp', - name: 'Wrapped Conflux', - address: '0x14b2D3bC65e74DAE1030EAFd8ac30c533c976A9b', - symbol: 'WCFX', - chainId: 1030, - }, - { - decimals: 18, - logoURI: - 'https://images.dodoex.io/74nSnlgHYl303M6PsFI2ItXIpPdEaN5W62bJk0xrm6g/rs:fit:160:160:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vRUw0TjJvclJYb2pibEZwa2pTZy1mVlZuVDhhMWZ6amloek43eGlSZFdmWS9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6ZzNNRGN4TXpOZk1qQXlNekEzTURNd056TTJNVGM0TXpndWNHNW4ucG5n.webp', - name: 'BNB', - address: '0x94bd7A37d2cE24cC597E158fACaa8d601083ffeC', - symbol: 'BNB', - chainId: 1030, - }, - { - decimals: 18, - logoURI: - 'https://images.dodoex.io/Tzga6cVcC2NZzIAvdf812Bcl5zSn5mNomHQRJhkjaiI/rs:fit:160:160:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vVG5iZnNQSUVGWmFEeGkxSm9GUUd3blZSUUtrREkza3h2ekhuUnllTmUwYy9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6STNNVEkwTTE4eU1ESXpNRGN3TXpBM01qa3lOVEl6TVM1d2JtYy5wbmc.webp', - name: 'Ethereum Token', - address: '0xa47f43DE2f9623aCb395CA4905746496D2014d57', - symbol: 'ETH', - chainId: 1030, - }, - { - chainId: 1030, - address: '0xfe97e85d13abd9c1c33384e796f10b73905637ce', - name: 'Tether USD', - decimals: 18, - symbol: 'USDT', - logoURI: - 'https://images.dodoex.io/n_bg2q8GR4MlobGgr4RYo4r2gS6om7hmtGABi6qoulQ/rs:fit:96:96:0/g:no/aHR0cHM6Ly9jbXAuZG9kb2V4LmlvL2lnTHA5WW1zMnY4em9jOEVEcHRBOWRFTi0xZHZ0V2RkRGVMWjZaVjh1OGMvcnM6Zml0OjE2MDoxNjA6MC9nOm5vL2FIUjBjSE02THk5cGJXRm5aUzF3Y205NGVTNWtiMlJ2WlhndWFXOHZhQzFxVkRnMVZWVTRUalpUT1dsVlZuSkpMVnBCU0hjd1dXaDBTSFJPUjNoNWJUZHVZa2QyVUZobmR5OWhTRkl3WTBoTk5reDVPWHBrUnpsNVdWZGtiRXh0WkhaaU1tUnpXbGRHZDJGWVRYVlpNamwwVERKU2RscEhPSFJpVjFacllWZEZkR016VW1oYU1teDFXbms1TVdOSGVIWlpWMUptWVZjeGJsaDZhekpPYWtVMVRsWTRlVTFFU1hwTlJHTjNUWHBCTTAxcVdYZFBSR2N5VDFNMWQySnRZeTV3Ym1jLndlYnA.webp', - }, - { - chainId: 1030, - address: '0x1F545487c62e5ACfEa45dcAdd9c627361d1616D8', - name: 'Wrapped BTC', - decimals: 18, - symbol: 'WBTC', - logoURI: - 'https://images.dodoex.io/1e_VT8Ppoj0-PDkhFC58pxdegwGCdWBOa5JTPU-Ol2U/rs:fit:160:160:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vVU92VExkR1I4SzNHWnhISnA0aEVSN09teVdjdWdsNDBlU1hEbmJKWlJ2RS9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6a3hNVGd3TWpaZk1qQXlNekEzTURNd056TXhOVEUzT1RVdWNHNW4ucG5n.webp', - }, - { - decimals: 18, - logoURI: - 'https://images.dodoex.io/Wr2Rsy3ec2m0qdAHY95E-niUfibhSvMC9j6I9a2jW0w/rs:fit:160:160:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vWWNqMXJhUEVTYTYxeVpfeDdNNktWOGdabmxpVjdELTRCaWRpcVNYRExCZy9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6TXlOVGs1TWpGZk1qQXlNekE0TURRd05ETTJNamM0TXpJdWFuQm4uanBn.webp', - name: 'Bald', - address: '0x27D2DECb4bFC9C76F0309b8E88dec3a601Fe25a8', - symbol: 'BALD', - chainId: 8453, - }, - { - decimals: 18, - logoURI: - 'https://images.dodoex.io/20ZPKcy3KFBFeRhzXhM17Jn_ECPETHKMulANNxeUovo/rs:fit:160:160:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZHV4b2JTNm03dzQyUWdfd09rZDBqV1JCWm5TNW5GQjRHM1A5Yk5wWDc3MC9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6SXhNVFk1TnpkZk1qQXlNekE0TURRd05ESTNNVEkyTmprdWMzWm4uc3Zn.webp', - name: 'Wrapped Ether', - address: '0x4200000000000000000000000000000000000006', - symbol: 'WETH', - chainId: 8453, - }, - { - decimals: 6, - logoURI: - 'https://images.dodoex.io/XZ0_CC_Hy6CLGuNpjsfkgdGp67czyMKPcq8HcsabhyQ/rs:fit:160:160:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vbm93dE5BTjlkNEYzeDQwVEtlWFVwRTJtTEo4OEd1ZWo1RHplUFVLeWRQUS9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6WXdOemM0TkRaZk1qQXlNekE0TURRd05ETTRORGszTnprdWMzWm4uc3Zn.webp', - name: 'Axelar Wrapped USDC', - address: '0xEB466342C4d449BC9f53A865D5Cb90586f405215', - symbol: 'axlUSDC', - chainId: 8453, - }, - { - decimals: 18, - logoURI: - 'https://maticnetwork.github.io/polygon-token-assets/assets/eth.svg', - name: 'Ethereum', - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - symbol: 'ETH', - chainId: 8453, - }, - { - decimals: 6, - logoURI: - 'https://images.dodoex.io/UzsHCVfq_wYVDFVhkYthXWfHdldQUNx7LH3-3uXCs_U/rs:fit:96:96:0/g:no/aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3RydXN0d2FsbGV0L2Fzc2V0cy9tYXN0ZXIvYmxvY2tjaGFpbnMvZXRoZXJldW0vYXNzZXRzLzB4QTBiODY5OTFjNjIxOGIzNmMxZDE5RDRhMmU5RWIwY0UzNjA2ZUI0OC9sb2dvLnBuZw.webp', - name: 'USD Base Coin', - address: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA', - symbol: 'USDbC', - chainId: 8453, - }, - { - decimals: 18, - logoURI: - 'https://maticnetwork.github.io/polygon-token-assets/assets/eth.svg', - name: 'Ether', - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - symbol: 'ETH', - chainId: 59144, - }, - { - decimals: 18, - logoURI: - 'https://maticnetwork.github.io/polygon-token-assets/assets/eth.svg', - name: 'Ether', - address: '0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f', - symbol: 'WETH', - chainId: 59144, - }, - { - decimals: 18, - logoURI: - 'https://maticnetwork.github.io/polygon-token-assets/assets/eth.svg', - name: 'Ether', - address: '0x5300000000000000000000000000000000000004', - symbol: 'WETH', - chainId: 534352, - }, - { - decimals: 6, - logoURI: - 'https://images.dodoex.io/XbtxsPIscM6p5ClHbLO0JumFHA9U23eON8-MDh-Plkg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vaG1nM3hRa1BUTUtkcUNFVnd0LXU4S2lwTW5od1JCdGhLYWxENW9vSWlTZy9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6UXlNRFEyTkRaZk1qQXlNakEwTWpJd01UQTFNekF4TmpVdWNHNW4ucG5n.webp', - name: 'USD Coin', - address: '0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4', - symbol: 'USDC', - chainId: 534352, - }, - { - decimals: 18, - logoURI: - 'https://maticnetwork.github.io/polygon-token-assets/assets/eth.svg', - name: 'Ether', - address: '0x0Dc808adcE2099A9F62AA87D9670745AbA741746', - symbol: 'WETH', - chainId: 169, - }, - { - decimals: 6, - logoURI: - 'https://images.dodoex.io/XbtxsPIscM6p5ClHbLO0JumFHA9U23eON8-MDh-Plkg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vaG1nM3hRa1BUTUtkcUNFVnd0LXU4S2lwTW5od1JCdGhLYWxENW9vSWlTZy9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6UXlNRFEyTkRaZk1qQXlNakEwTWpJd01UQTFNekF4TmpVdWNHNW4ucG5n.webp', - name: 'USD Coin', - address: '0xb73603c5d87fa094b7314c74ace2e64d165016fb', - symbol: 'USDC', - chainId: 169, - }, - { - decimals: 18, - logoURI: - 'https://maticnetwork.github.io/polygon-token-assets/assets/eth.svg', - name: 'Ether', - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - symbol: 'ETH', - chainId: 169, - }, - { - decimals: 6, - logoURI: - 'https://images.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp', - name: 'Tether USD', - address: '0x201EBa5CC46D216Ce6DC03F6a759e8E766e956aE', - symbol: 'USDT', - chainId: 5000, - }, - { - decimals: 6, - logoURI: - 'https://images.dodoex.io/XbtxsPIscM6p5ClHbLO0JumFHA9U23eON8-MDh-Plkg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vaG1nM3hRa1BUTUtkcUNFVnd0LXU4S2lwTW5od1JCdGhLYWxENW9vSWlTZy9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6UXlNRFEyTkRaZk1qQXlNakEwTWpJd01UQTFNekF4TmpVdWNHNW4ucG5n.webp', - name: 'USD Coin', - address: '0x09bc4e0d864854c6afb6eb9a9cdf58ac190d0df9', - symbol: 'USDC', - chainId: 5000, - }, - { - decimals: 18, - logoURI: - 'https://maticnetwork.github.io/polygon-token-assets/assets/eth.svg', - name: 'Ether', - address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', - symbol: 'ETH', - chainId: 167000, - }, - { - decimals: 6, - logoURI: - 'https://images.dodoex.io/XbtxsPIscM6p5ClHbLO0JumFHA9U23eON8-MDh-Plkg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vaG1nM3hRa1BUTUtkcUNFVnd0LXU4S2lwTW5od1JCdGhLYWxENW9vSWlTZy9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6UXlNRFEyTkRaZk1qQXlNakEwTWpJd01UQTFNekF4TmpVdWNHNW4ucG5n.webp', - name: 'USD Coin', - address: '0x07d83526730c7438048d55a4fc0b850e2aab6f0b', - symbol: 'USDC', - chainId: 167000, + symbol: 'gUSDT', + decimals: 18, + slippage: null, + chainId: 2201, + logoImg: + 'https://images.dodoex.io/53IvjioP70fgSHG71f1pVIM87xf9oZuQixZ8O-oXwf8/rs:fit:160:160:0/g:no/aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2RvZG8tbWVkaWEtc3RhZ2luZy9kZXYvMjIwMS8weGVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU.webp', + tokenlists: [ + { + name: 'All', + status: 'launched', + __typename: 'Erc20TokenListV2', + }, + ], + domains: [], + funcLabels: [], + attributeLabels: [ + { + key: 'non-standard-erc20', + __typename: 'Erc20AttributeLabelV2', + }, + ], + __typename: 'Erc20Erc20V2List', }, ]; diff --git a/packages/dodoex-widgets/src/locales/en-US.po b/packages/dodoex-widgets/src/locales/en-US.po index ef491a79..14f284de 100644 --- a/packages/dodoex-widgets/src/locales/en-US.po +++ b/packages/dodoex-widgets/src/locales/en-US.po @@ -598,7 +598,7 @@ msgstr "Add Initial Liquidity" #: src/widgets/PoolWidget/AMMV3/AddLiquidityV3.tsx:326 #: src/widgets/PoolWidget/AMMV3/AMMV3PositionManage.tsx:481 #: src/widgets/PoolWidget/AMMV3/components/ReviewModal.tsx:40 -#: src/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.ts:176 +#: src/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.ts:180 msgid "Add liquidity" msgstr "Add liquidity" @@ -911,7 +911,7 @@ msgstr "Staking" msgid "Claiming" msgstr "Claiming" -#: src/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.ts:176 +#: src/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.ts:180 msgid "Create AMM V2 Position" msgstr "Create AMM V2 Position" diff --git a/packages/dodoex-widgets/src/locales/zh-CN.po b/packages/dodoex-widgets/src/locales/zh-CN.po index ac966b77..093fc48b 100644 --- a/packages/dodoex-widgets/src/locales/zh-CN.po +++ b/packages/dodoex-widgets/src/locales/zh-CN.po @@ -596,7 +596,7 @@ msgstr "添加初始流动性" #: src/widgets/PoolWidget/AMMV3/AddLiquidityV3.tsx:326 #: src/widgets/PoolWidget/AMMV3/AMMV3PositionManage.tsx:481 #: src/widgets/PoolWidget/AMMV3/components/ReviewModal.tsx:40 -#: src/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.ts:176 +#: src/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.ts:180 msgid "Add liquidity" msgstr "添加做市资金" @@ -909,7 +909,7 @@ msgstr "质押中" msgid "Claiming" msgstr "领取中" -#: src/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.ts:176 +#: src/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.ts:180 msgid "Create AMM V2 Position" msgstr "创建 AMM V2 仓位" diff --git a/packages/dodoex-widgets/src/widgets/PoolWidget/PoolCreate/hooks/contract/useCreatePoolSubmit.ts b/packages/dodoex-widgets/src/widgets/PoolWidget/PoolCreate/hooks/contract/useCreatePoolSubmit.ts index 6c58982e..f3feec80 100644 --- a/packages/dodoex-widgets/src/widgets/PoolWidget/PoolCreate/hooks/contract/useCreatePoolSubmit.ts +++ b/packages/dodoex-widgets/src/widgets/PoolWidget/PoolCreate/hooks/contract/useCreatePoolSubmit.ts @@ -111,6 +111,7 @@ export const useCreatePoolSubmit = ({ selectedVersion === PoolVersionE.singleToken ) { result = await PoolApi.encode.createDVMPoolABI(...createPrams); + console.log('createDVMPoolABI result', result); } else if (isPrivate) { result = await PoolApi.encode.createDPPPoolABI(...createPrams); } else if (isDsp) { diff --git a/packages/dodoex-widgets/src/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.ts b/packages/dodoex-widgets/src/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.ts index a660a70c..1c9dd996 100644 --- a/packages/dodoex-widgets/src/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.ts +++ b/packages/dodoex-widgets/src/widgets/PoolWidget/hooks/useAMMV2AddLiquidity.ts @@ -66,6 +66,10 @@ export function useAMMV2AddLiquidity({ getUniswapV2Router02ContractAddressByChainId(chainId); const fixedFeeContractAddress = getUniswapV2Router02FixedFeeContractAddressByChainId(chainId); + console.log('dynamicFeeContractAddress', dynamicFeeContractAddress); + console.log('fixedFeeContractAddress', fixedFeeContractAddress); + console.log('chainId', chainId); + const isFixedFee = !dynamicFeeContractAddress; const to = dynamicFeeContractAddress || fixedFeeContractAddress; if (!to) { diff --git a/yarn.lock b/yarn.lock index 3497bd79..81e91bab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2146,10 +2146,10 @@ ethers "^6.13.2" https-proxy-agent "^7.0.5" -"@dodoex/dodo-contract-request@^1.28.0": - version "1.28.0" - resolved "https://registry.yarnpkg.com/@dodoex/dodo-contract-request/-/dodo-contract-request-1.28.0.tgz#6c0a155eba967a761980d1be8d3bdc77bea8d622" - integrity sha512-4Su/17Af1jCraopwo5Xz/Ws9oZp0wWMNbeM7HgnDJ3T/5O6/A0b+VKMHt/jTl824O+RlkKa5S7Dp5AKIJYI4JQ== +"@dodoex/dodo-contract-request@1.25.0-alpha.2": + version "1.25.0-alpha.2" + resolved "https://registry.yarnpkg.com/@dodoex/dodo-contract-request/-/dodo-contract-request-1.25.0-alpha.2.tgz#dbf2868debf169edae093205521c088ebb44044b" + integrity sha512-yhd6NAreFr64o1ZWzNNQ4w4kEz4Khjpveq0iZ4+FmB39sOgqtTVQIyV8gIJ/akzQhGNX4700H+WphWc9S2lZHw== dependencies: typescript "^5" From 8a9b2f2aa18f1486c4a2bc94917521fd8a5c6b41 Mon Sep 17 00:00:00 2001 From: yrjkqq Date: Thu, 20 Nov 2025 17:04:16 +0800 Subject: [PATCH 20/25] chore(release): @dodoex/widgets@3.10.0-stable.5 [skip ci] --- packages/dodoex-widgets/package.json | 2 +- .../src/widgets/PoolWidget/PoolList/index.tsx | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 88e5de6c..c378fc98 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.10.0-stable.4", + "version": "3.10.0-stable.5", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", diff --git a/packages/dodoex-widgets/src/widgets/PoolWidget/PoolList/index.tsx b/packages/dodoex-widgets/src/widgets/PoolWidget/PoolList/index.tsx index 8a941663..2d35f656 100644 --- a/packages/dodoex-widgets/src/widgets/PoolWidget/PoolList/index.tsx +++ b/packages/dodoex-widgets/src/widgets/PoolWidget/PoolList/index.tsx @@ -282,15 +282,9 @@ export default function PoolList({ ) : ( Date: Wed, 26 Nov 2025 15:08:19 +0800 Subject: [PATCH 21/25] chore: add Stable Mainnet support, and change API URLs to Settlex --- packages/doc/src/stories/widgets/Pool.stories.tsx | 2 +- packages/dodoex-api/package.json | 2 +- packages/dodoex-api/src/chainConfig/basicToken.ts | 9 +++++++++ packages/dodoex-api/src/chainConfig/chain.ts | 1 + .../dodoex-api/src/chainConfig/contractConfig.ts | 15 +++++++++++++++ packages/dodoex-api/src/chainConfig/platform.ts | 1 + packages/dodoex-api/src/helper/GraphQLRequests.ts | 2 +- packages/dodoex-api/src/helper/RestApiRequests.ts | 2 +- packages/dodoex-widgets/package.json | 6 +++--- packages/dodoex-widgets/src/constants/api.ts | 8 ++++---- .../dodoex-widgets/src/constants/chainList.ts | 9 +++++++++ packages/dodoex-widgets/src/constants/chains.ts | 7 +++++++ yarn.lock | 8 ++++---- 13 files changed, 57 insertions(+), 15 deletions(-) diff --git a/packages/doc/src/stories/widgets/Pool.stories.tsx b/packages/doc/src/stories/widgets/Pool.stories.tsx index 4df96e89..265c7d7d 100644 --- a/packages/doc/src/stories/widgets/Pool.stories.tsx +++ b/packages/doc/src/stories/widgets/Pool.stories.tsx @@ -151,7 +151,7 @@ Primary.args = { routerPage: undefined, supportAMMV2: true, supportAMMV3: true, - onlyChainId: 2201, + onlyChainId: 988, showSubmissionSubmittedDialog: true, // onlyChainId: 1, }; diff --git a/packages/dodoex-api/package.json b/packages/dodoex-api/package.json index 0889cd42..0d0ce8de 100644 --- a/packages/dodoex-api/package.json +++ b/packages/dodoex-api/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/api", - "version": "3.5.0-stable.4", + "version": "3.5.0-stable.5", "description": "DODO API Kit", "source": "src/index.ts", "types": "dist/types/index.d.ts", diff --git a/packages/dodoex-api/src/chainConfig/basicToken.ts b/packages/dodoex-api/src/chainConfig/basicToken.ts index f1885449..1c07f9f0 100644 --- a/packages/dodoex-api/src/chainConfig/basicToken.ts +++ b/packages/dodoex-api/src/chainConfig/basicToken.ts @@ -210,4 +210,13 @@ export const basicTokenMap: { wrappedTokenSymbol: 'wgUSDT', wrappedTokenAddress: '0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb', }, + [ChainId.STABLE]: { + address: etherTokenAddress, + decimals: 18, + showDecimals: 4, + symbol: 'gUSDT', + name: 'gUSDT', + wrappedTokenSymbol: 'USDT0', + wrappedTokenAddress: '0x779Ded0c9e1022225f8E0630b35a9b54bE713736', + }, }; diff --git a/packages/dodoex-api/src/chainConfig/chain.ts b/packages/dodoex-api/src/chainConfig/chain.ts index ad4f950f..d07b788a 100644 --- a/packages/dodoex-api/src/chainConfig/chain.ts +++ b/packages/dodoex-api/src/chainConfig/chain.ts @@ -62,5 +62,6 @@ export enum ChainId { PHAROS_TESTNET = 688688, PHAROS_ATLANTIC_TESTNET = 688689, + STABLE = 988, STABLE_TESTNET = 2201, } diff --git a/packages/dodoex-api/src/chainConfig/contractConfig.ts b/packages/dodoex-api/src/chainConfig/contractConfig.ts index 71042b1c..a3883646 100644 --- a/packages/dodoex-api/src/chainConfig/contractConfig.ts +++ b/packages/dodoex-api/src/chainConfig/contractConfig.ts @@ -15,6 +15,7 @@ import { pharosTestnet, pharosAtlanticTestnet, stableTestnet, + stable, } from '@dodoex/dodo-contract-request'; import { ChainId } from './chain'; @@ -528,6 +529,20 @@ const contractMap: { DODO_DPP_PROXY: stableTestnet.DODODppProxy, DODO_MINEV3_PROXY: stableTestnet.DODOMineV3Proxy, }, + [ChainId.STABLE]: { + MULTI_CALL: stable.MulticallWithValid, + DODO_APPROVE: stable.DODOApprove, + ERC20_HELPER: stable.ERC20Helper, + + ROUTE_V2_DATA_FETCH: stable.DODOV2RouteHelper, + ROUTE_V1_DATA_FETCH: stable.DODOV1PmmHelper, + CALLEE_HELPER: stable.DODOCalleeHelper, + + DODO_PROXY: stable.DODOV2Proxy02, + DODO_DSP_PROXY: stable.DODODspProxy, + DODO_DPP_PROXY: stable.DODODppProxy, + DODO_MINEV3_PROXY: stable.DODOMineV3Proxy, + }, }; export default contractMap; diff --git a/packages/dodoex-api/src/chainConfig/platform.ts b/packages/dodoex-api/src/chainConfig/platform.ts index 32b6f449..f75b4fa0 100644 --- a/packages/dodoex-api/src/chainConfig/platform.ts +++ b/packages/dodoex-api/src/chainConfig/platform.ts @@ -37,4 +37,5 @@ export const platformIdMap: { [ChainId.PHAROS_TESTNET]: 'pharos-testnet', [ChainId.PHAROS_ATLANTIC_TESTNET]: 'pharos-atlantic-testnet', [ChainId.STABLE_TESTNET]: 'stable-testnet', + [ChainId.STABLE]: 'stable', }; diff --git a/packages/dodoex-api/src/helper/GraphQLRequests.ts b/packages/dodoex-api/src/helper/GraphQLRequests.ts index 06e4ece2..8b7ad049 100644 --- a/packages/dodoex-api/src/helper/GraphQLRequests.ts +++ b/packages/dodoex-api/src/helper/GraphQLRequests.ts @@ -15,7 +15,7 @@ export interface GraphQLRequestsConfig { } const defaultConfig = { - url: 'https://api.dodoex.io/frontend-graphql', + url: 'https://api.settlex.finance/frontend-graphql', }; export default class GraphQLRequests { diff --git a/packages/dodoex-api/src/helper/RestApiRequests.ts b/packages/dodoex-api/src/helper/RestApiRequests.ts index d69b54aa..12590b3e 100644 --- a/packages/dodoex-api/src/helper/RestApiRequests.ts +++ b/packages/dodoex-api/src/helper/RestApiRequests.ts @@ -10,7 +10,7 @@ export interface RestApiRequestConfig { } const defaultConfig = { - host: 'https://api.dodoex.io', + host: 'https://api.settlex.finance', fetch: crossFetch, }; diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index c378fc98..06d22850 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.10.0-stable.5", + "version": "3.10.0-stable.6", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", @@ -58,10 +58,10 @@ }, "dependencies": { "@babel/runtime": "^7.17.0", - "@dodoex/api": "3.5.0-stable.4", + "@dodoex/api": "3.5.0-stable.5", "@dodoex/components": "^3.1.0", "@dodoex/contract-request": "^1.3.0", - "@dodoex/dodo-contract-request": "1.25.0-alpha.2", + "@dodoex/dodo-contract-request": "1.25.0-alpha.3", "@dodoex/icons": "^2.0.3", "@emotion/react": "^11.10.0", "@emotion/styled": "^11.10.0", diff --git a/packages/dodoex-widgets/src/constants/api.ts b/packages/dodoex-widgets/src/constants/api.ts index 51534faa..e7d50bef 100644 --- a/packages/dodoex-widgets/src/constants/api.ts +++ b/packages/dodoex-widgets/src/constants/api.ts @@ -13,7 +13,7 @@ export type APIServices = { [key in APIServiceKey]: string; }; -export const AppUrl = `https://app.dodoex.io`; +export const AppUrl = `https://app.settlex.finance`; export const getCGTokenListAPI = (chainId: ChainId) => { const defaultCGAPI = 'https://tokens.coingecko.com/uniswap/all.json'; @@ -26,10 +26,10 @@ export const getCGTokenListAPI = (chainId: ChainId) => { return cgAPIMap[chainId] || defaultCGAPI; }; -const BridgeUrlPrefix = 'https://api.dodoex.io/cross-chain/widget'; +const BridgeUrlPrefix = 'https://api.settlex.finance/cross-chain/widget'; -export const RoutePriceAPI = `https://api.dodoex.io/route-service/v2/widget/getdodoroute`; -export const FiatPriceAPI = `https://api.dodoex.io/frontend-price-api/current/batch`; +export const RoutePriceAPI = `https://api.settlex.finance/route-service/v2/widget/getdodoroute`; +export const FiatPriceAPI = `https://api.settlex.finance/frontend-price-api/current/batch`; const BridgeRoutePriceAPI = `${BridgeUrlPrefix}/routes`; const BridgeEncodeAPI = `${BridgeUrlPrefix}/transaction/encode`; const BridgeCreateRouteAPI = `${BridgeUrlPrefix}/order/create`; diff --git a/packages/dodoex-widgets/src/constants/chainList.ts b/packages/dodoex-widgets/src/constants/chainList.ts index 8ce118bf..320c1553 100644 --- a/packages/dodoex-widgets/src/constants/chainList.ts +++ b/packages/dodoex-widgets/src/constants/chainList.ts @@ -26,6 +26,7 @@ import { } from '../assets/logo/networks/rise.svg'; import { ReactComponent as ScrollLogo } from '../assets/logo/networks/scroll.svg'; import { ReactComponent as StableTestnetLogo } from '../assets/logo/networks/stable-testnet.svg'; +import { ReactComponent as StableLogo } from '../assets/logo/networks/stable-testnet.svg'; import { ReactComponent as TaikoLogo } from '../assets/logo/networks/taiko.svg'; import { ReactComponent as XLayerLogo } from '../assets/logo/networks/x-layer.svg'; import { ReactComponent as ZeroLogo } from '../assets/logo/networks/zero.svg'; @@ -313,6 +314,14 @@ export const chainListMap: Map = new Map([ name: 'Stable Testnet', }, ], + [ + ChainId.STABLE, + { + chainId: ChainId.STABLE, + logo: StableLogo, + name: 'Stable Mainnet', + }, + ], ]); export const isTestNet = (chainId: ChainId) => { diff --git a/packages/dodoex-widgets/src/constants/chains.ts b/packages/dodoex-widgets/src/constants/chains.ts index c115b6a4..32e1f9f7 100644 --- a/packages/dodoex-widgets/src/constants/chains.ts +++ b/packages/dodoex-widgets/src/constants/chains.ts @@ -70,6 +70,9 @@ export const rpcServerMap: { 'https://api.zan.top/node/v1/pharos/atlantic/54b49326c9f44b6e8730dc5dd4348421', ], [ChainId.STABLE_TESTNET]: ['https://rpc.testnet.stable.xyz'], + [ChainId.STABLE]: [ + 'https://partners-rpc.stable.xyz/dodo.88b3272adaac2ddaa08f13c049824412d7bffe24a2c760089f6c480115ac00e1', + ], }; export const getRpcSingleUrlMap = (newRpcServerMap?: { @@ -128,6 +131,7 @@ export const scanUrlDomainMap: { [ChainId.PHAROS_TESTNET]: 'testnet.pharosscan.xyz', [ChainId.PHAROS_ATLANTIC_TESTNET]: 'atlantic.pharosscan.xyz', [ChainId.STABLE_TESTNET]: 'testnet.stablescan.xyz', + [ChainId.STABLE]: 'stablescan.xyz', }; export const ThegraphKeyMap: { @@ -167,6 +171,7 @@ export const ThegraphKeyMap: { [ChainId.PHAROS_TESTNET]: 'pharos-testnet', [ChainId.PHAROS_ATLANTIC_TESTNET]: 'pharos-atlantic-testnet', [ChainId.STABLE_TESTNET]: 'stable-testnet', + [ChainId.STABLE]: 'stable', }; export const blockTimeMap: { @@ -206,6 +211,7 @@ export const blockTimeMap: { [ChainId.PHAROS_TESTNET]: 0, [ChainId.PHAROS_ATLANTIC_TESTNET]: 2777, [ChainId.STABLE_TESTNET]: 700, + [ChainId.STABLE]: 988, }; export const dexKeysMap: { @@ -245,4 +251,5 @@ export const dexKeysMap: { [ChainId.PHAROS_TESTNET]: [], [ChainId.PHAROS_ATLANTIC_TESTNET]: [], [ChainId.STABLE_TESTNET]: [], + [ChainId.STABLE]: [], }; diff --git a/yarn.lock b/yarn.lock index 81e91bab..02b3d695 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2146,10 +2146,10 @@ ethers "^6.13.2" https-proxy-agent "^7.0.5" -"@dodoex/dodo-contract-request@1.25.0-alpha.2": - version "1.25.0-alpha.2" - resolved "https://registry.yarnpkg.com/@dodoex/dodo-contract-request/-/dodo-contract-request-1.25.0-alpha.2.tgz#dbf2868debf169edae093205521c088ebb44044b" - integrity sha512-yhd6NAreFr64o1ZWzNNQ4w4kEz4Khjpveq0iZ4+FmB39sOgqtTVQIyV8gIJ/akzQhGNX4700H+WphWc9S2lZHw== +"@dodoex/dodo-contract-request@1.25.0-alpha.3": + version "1.25.0-alpha.3" + resolved "https://registry.yarnpkg.com/@dodoex/dodo-contract-request/-/dodo-contract-request-1.25.0-alpha.3.tgz#bf80ffd54c1daa64bcea78f25c8231857e4fdd7e" + integrity sha512-S2DpRtxpZtaJuoSDQHEgSqalfMmFV2Gmq0dU91pPS1UtKJ9bm6XaAU6sEXP8Mu8YTD6Hd/BG9n7JdfR1PEJGRw== dependencies: typescript "^5" From bc005c8befb46ef6789fbf0c4364d7f40d89cbb7 Mon Sep 17 00:00:00 2001 From: yrjkqq Date: Wed, 26 Nov 2025 15:57:18 +0800 Subject: [PATCH 22/25] fix: apply BigNumber.ROUND_DOWN for decimal precision in formatter and liquidity calculations --- packages/dodoex-widgets/package.json | 2 +- packages/dodoex-widgets/src/locales/en-US.po | 20 +++++++++---------- packages/dodoex-widgets/src/locales/zh-CN.po | 20 +++++++++---------- .../dodoex-widgets/src/utils/formatter.ts | 2 +- .../PoolOperate/RemovePoolOperate.tsx | 2 ++ .../hooks/useLiquidityOperateAmount.ts | 4 ++-- .../hooks/useAMMV2RemoveLiquidity.ts | 2 ++ 7 files changed, 28 insertions(+), 24 deletions(-) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 06d22850..350c19c5 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.10.0-stable.6", + "version": "3.10.0-stable.7", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", diff --git a/packages/dodoex-widgets/src/locales/en-US.po b/packages/dodoex-widgets/src/locales/en-US.po index 14f284de..fc17903a 100644 --- a/packages/dodoex-widgets/src/locales/en-US.po +++ b/packages/dodoex-widgets/src/locales/en-US.po @@ -50,7 +50,7 @@ msgstr "Volume" msgid "To" msgstr "To" -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:432 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:434 msgid "Receive {0}" msgstr "Receive {0}" @@ -180,7 +180,7 @@ msgid "Do not remind again" msgstr "Do not remind again" #: src/widgets/PoolWidget/AMMV3/AMMV3PositionManage.tsx:372 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:281 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:283 msgid "Remove Liquidity" msgstr "Remove Liquidity" @@ -835,7 +835,7 @@ msgid "Stake" msgstr "Stake" #: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:303 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:602 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:604 msgid "Price discrepancy {lqAndDodoCompareText} between liquidity pool and the quote price on DODO." msgstr "Price discrepancy {lqAndDodoCompareText} between liquidity pool and the quote price on DODO." @@ -1550,7 +1550,7 @@ msgid "Suitable for stablecoins with price fluctuations within 10%" msgstr "Suitable for stablecoins with price fluctuations within 10%" #: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:297 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:596 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:598 msgid "Confirm submission" msgstr "Confirm submission" @@ -1584,7 +1584,7 @@ msgstr "Mining Type" msgid "Settler" msgstr "Settler" -#: src/widgets/PoolWidget/hooks/useAMMV2RemoveLiquidity.ts:166 +#: src/widgets/PoolWidget/hooks/useAMMV2RemoveLiquidity.ts:168 msgid "Remove liquidity" msgstr "Remove liquidity" @@ -1886,7 +1886,7 @@ msgid "Total Swap Volume" msgstr "Total Swap Volume" #: src/components/Swap/SwapOrderHistory/index.tsx:99 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:468 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:470 msgid "Receive" msgstr "Receive" @@ -2196,7 +2196,7 @@ msgstr "Initial Price Alert" #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:597 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:1198 #: src/widgets/PoolWidget/PoolOperate/hooks/usePoolOperateTabs.ts:16 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:248 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:249 msgid "Remove" msgstr "Remove" @@ -2281,7 +2281,7 @@ msgid "In range" msgstr "In range" #: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:306 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:605 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:607 msgid "There is risk of being arbitraged if adding this liquidity." msgstr "There is risk of being arbitraged if adding this liquidity." @@ -2336,7 +2336,7 @@ msgid "WARNING" msgstr "WARNING" #: src/widgets/PoolWidget/PoolList/components/migationWidget.tsx:53 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:556 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:558 msgid "Migrate" msgstr "Migrate" @@ -2425,7 +2425,7 @@ msgstr "Total Rewards=Daily Rewards*Duration" #: src/components/Swap/index.tsx:771 #: src/components/TokenStatusButton.tsx:18 #: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:146 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:248 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:249 msgid "Insufficient balance" msgstr "Insufficient balance" diff --git a/packages/dodoex-widgets/src/locales/zh-CN.po b/packages/dodoex-widgets/src/locales/zh-CN.po index 093fc48b..96b8b4cc 100644 --- a/packages/dodoex-widgets/src/locales/zh-CN.po +++ b/packages/dodoex-widgets/src/locales/zh-CN.po @@ -48,7 +48,7 @@ msgstr "交易量" msgid "To" msgstr "至" -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:432 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:434 msgid "Receive {0}" msgstr "获得 {0}" @@ -178,7 +178,7 @@ msgid "Do not remind again" msgstr "不再提醒" #: src/widgets/PoolWidget/AMMV3/AMMV3PositionManage.tsx:372 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:281 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:283 msgid "Remove Liquidity" msgstr "移除流动性" @@ -833,7 +833,7 @@ msgid "Stake" msgstr "质押" #: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:303 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:602 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:604 msgid "Price discrepancy {lqAndDodoCompareText} between liquidity pool and the quote price on DODO." msgstr "资金池报价与 DODO 智能路由价格相差 {lqAndDodoCompareText}" @@ -1548,7 +1548,7 @@ msgid "Suitable for stablecoins with price fluctuations within 10%" msgstr "适用于价格波动在10%以内的稳定币" #: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:297 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:596 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:598 msgid "Confirm submission" msgstr "确认提交" @@ -1582,7 +1582,7 @@ msgstr "挖矿类型" msgid "Settler" msgstr "结算者" -#: src/widgets/PoolWidget/hooks/useAMMV2RemoveLiquidity.ts:166 +#: src/widgets/PoolWidget/hooks/useAMMV2RemoveLiquidity.ts:168 msgid "Remove liquidity" msgstr "移除流动性" @@ -1884,7 +1884,7 @@ msgid "Total Swap Volume" msgstr "累计交易量" #: src/components/Swap/SwapOrderHistory/index.tsx:99 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:468 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:470 msgid "Receive" msgstr "接收" @@ -2194,7 +2194,7 @@ msgstr "初始价格提示" #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:597 #: src/widgets/PoolWidget/PoolList/MyLiquidity.tsx:1198 #: src/widgets/PoolWidget/PoolOperate/hooks/usePoolOperateTabs.ts:16 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:248 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:249 msgid "Remove" msgstr "提取" @@ -2279,7 +2279,7 @@ msgid "In range" msgstr "在区间内" #: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:306 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:605 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:607 msgid "There is risk of being arbitraged if adding this liquidity." msgstr "添加资金有可能会被套利,请谨慎操作。" @@ -2334,7 +2334,7 @@ msgid "WARNING" msgstr "警告" #: src/widgets/PoolWidget/PoolList/components/migationWidget.tsx:53 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:556 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:558 msgid "Migrate" msgstr "迁移" @@ -2423,7 +2423,7 @@ msgstr "总奖励 = 每日奖励数量 * 时长" #: src/components/Swap/index.tsx:771 #: src/components/TokenStatusButton.tsx:18 #: src/widgets/PoolWidget/PoolOperate/AddPoolOperate.tsx:146 -#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:248 +#: src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx:249 msgid "Insufficient balance" msgstr "余额不足" diff --git a/packages/dodoex-widgets/src/utils/formatter.ts b/packages/dodoex-widgets/src/utils/formatter.ts index 7a2b4a26..2f643472 100644 --- a/packages/dodoex-widgets/src/utils/formatter.ts +++ b/packages/dodoex-widgets/src/utils/formatter.ts @@ -209,7 +209,7 @@ export const toWei = ( if (notDp) { return result; } - return result.dp(0); + return result.dp(0, BigNumber.ROUND_DOWN); }; export const byWei = ( diff --git a/packages/dodoex-widgets/src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx b/packages/dodoex-widgets/src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx index 6dc9163c..f902ec31 100644 --- a/packages/dodoex-widgets/src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx +++ b/packages/dodoex-widgets/src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx @@ -233,6 +233,7 @@ export function RemovePoolOperate({ const isOverBalance = baseTokenStatus.insufficientBalance || quoteTokenStatus.insufficientBalance; const { isSinglePool } = balanceInfo; + const disabled = !pool || isOverBalance || @@ -262,6 +263,7 @@ export function RemovePoolOperate({ liquidityAmountBg && liquidityDecimals !== undefined ? toWei(liquidityAmountBg, liquidityDecimals).toString() : ''; + const { operateLiquidityMutation } = useOperateLiquidity(pool); const removeAMMV2LiquidityMutataion = useAMMV2RemoveLiquidity({ baseToken: withdrawBaseToken, diff --git a/packages/dodoex-widgets/src/widgets/PoolWidget/PoolOperate/hooks/useLiquidityOperateAmount.ts b/packages/dodoex-widgets/src/widgets/PoolWidget/PoolOperate/hooks/useLiquidityOperateAmount.ts index 08e66df6..d3d76015 100644 --- a/packages/dodoex-widgets/src/widgets/PoolWidget/PoolOperate/hooks/useLiquidityOperateAmount.ts +++ b/packages/dodoex-widgets/src/widgets/PoolWidget/PoolOperate/hooks/useLiquidityOperateAmount.ts @@ -94,7 +94,7 @@ export function useLiquidityOperateAmount({ if (amount) { let matchQuoteAmount = addPortion .multipliedBy(amount) - .dp(quoteDecimals) + .dp(quoteDecimals, BigNumber.ROUND_DOWN) .toString(); if ( maxQuoteAmount && @@ -113,7 +113,7 @@ export function useLiquidityOperateAmount({ if (amount) { let matchBaseAmount = new BigNumber(amount) .div(addPortion) - .dp(baseDecimals) + .dp(baseDecimals, BigNumber.ROUND_DOWN) .toString(); if ( maxBaseAmount && diff --git a/packages/dodoex-widgets/src/widgets/PoolWidget/hooks/useAMMV2RemoveLiquidity.ts b/packages/dodoex-widgets/src/widgets/PoolWidget/hooks/useAMMV2RemoveLiquidity.ts index 5ea02a35..e98f0570 100644 --- a/packages/dodoex-widgets/src/widgets/PoolWidget/hooks/useAMMV2RemoveLiquidity.ts +++ b/packages/dodoex-widgets/src/widgets/PoolWidget/hooks/useAMMV2RemoveLiquidity.ts @@ -84,6 +84,7 @@ export function useAMMV2RemoveLiquidity({ ); const feeWei = toWei(fee, 4).toString(); const deadline = Math.ceil(Date.now() / 1000) + (ddl ?? 10 * 60); + try { if (baseIsETH) { const tokenAddress = quoteToken.address; @@ -113,6 +114,7 @@ export function useAMMV2RemoveLiquidity({ const tokenAddress = baseToken.address; const tokenInAmountMin = baseInAmountMinBg.toString(); const ethAmountMin = quoteInAmountMinBg.toString(); + if (isFixedFee) { data = encodeUniswapV2Router02FixedFeeRemoveLiquidityETH( tokenAddress, From 05ef0ec45acbc6d1c36b3a988df5eb6baa4e6ac8 Mon Sep 17 00:00:00 2001 From: yrjkqq Date: Fri, 28 Nov 2025 15:53:34 +0800 Subject: [PATCH 23/25] chore: update version to 3.10.0-stable.8 and modify API endpoints for route pricing --- packages/dodoex-widgets/package.json | 2 +- packages/dodoex-widgets/src/constants/api.ts | 2 +- .../dodoex-widgets/src/hooks/Swap/useFetchRoutePrice.ts | 9 +++++++-- .../widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 350c19c5..21fbf0b6 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.10.0-stable.7", + "version": "3.10.0-stable.8", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", diff --git a/packages/dodoex-widgets/src/constants/api.ts b/packages/dodoex-widgets/src/constants/api.ts index e7d50bef..21bfe122 100644 --- a/packages/dodoex-widgets/src/constants/api.ts +++ b/packages/dodoex-widgets/src/constants/api.ts @@ -28,7 +28,7 @@ export const getCGTokenListAPI = (chainId: ChainId) => { const BridgeUrlPrefix = 'https://api.settlex.finance/cross-chain/widget'; -export const RoutePriceAPI = `https://api.settlex.finance/route-service/v2/widget/getdodoroute`; +export const RoutePriceAPI = `https://api.settlex.finance/route-service/frontend-v2/swap`; export const FiatPriceAPI = `https://api.settlex.finance/frontend-price-api/current/batch`; const BridgeRoutePriceAPI = `${BridgeUrlPrefix}/routes`; const BridgeEncodeAPI = `${BridgeUrlPrefix}/transaction/encode`; diff --git a/packages/dodoex-widgets/src/hooks/Swap/useFetchRoutePrice.ts b/packages/dodoex-widgets/src/hooks/Swap/useFetchRoutePrice.ts index cfa1345a..76bb6b20 100644 --- a/packages/dodoex-widgets/src/hooks/Swap/useFetchRoutePrice.ts +++ b/packages/dodoex-widgets/src/hooks/Swap/useFetchRoutePrice.ts @@ -106,7 +106,7 @@ export function useFetchRoutePrice({ deadLine: apiDdl, apikey, slippage, - source: disableIndirectRouting ? 'noMaxHops' : 'dodoV2AndMixWasm', + source: disableIndirectRouting ? 'noMaxHops' : 'frontendSwap', toTokenAddress: toToken.address, fromTokenAddress: fromToken.address, userAddr: account || EmptyAddress, @@ -131,7 +131,12 @@ export function useFetchRoutePrice({ } try { - const resRoutePrice = await axios.get(routePriceAPI, { params }); + const resRoutePrice = await axios.get(routePriceAPI, { + params, + headers: { + source: 'frontendSwap', + }, + }); // only update last id if (currentId < lastId.current) return; const routeInfo = resRoutePrice.data.data as IRouteResponse; diff --git a/packages/dodoex-widgets/src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx b/packages/dodoex-widgets/src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx index f902ec31..4702cd8b 100644 --- a/packages/dodoex-widgets/src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx +++ b/packages/dodoex-widgets/src/widgets/PoolWidget/PoolOperate/RemovePoolOperate.tsx @@ -124,7 +124,7 @@ export function RemovePoolOperate({ ); const canWithdrawBasicToken = isAMMV2 && pool && (isBaseEther || isQuoteEther); - const [receiveWrapped, setReceiveWrapped] = React.useState(false); + const [receiveWrapped, setReceiveWrapped] = React.useState(true); const withdrawBaseToken = canWithdrawBasicToken && isBaseEther && !receiveWrapped && basicToken From 414419fa4a636bb9d1a7d62babb9f2862c0ddde9 Mon Sep 17 00:00:00 2001 From: yrjkqq Date: Tue, 2 Dec 2025 20:05:06 +0800 Subject: [PATCH 24/25] chore: update version to 3.10.0-stable.9 and correct StableLogo import path --- packages/dodoex-widgets/package.json | 2 +- .../src/assets/logo/networks/stable.svg | 14 ++++++++++++++ packages/dodoex-widgets/src/constants/chainList.ts | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 packages/dodoex-widgets/src/assets/logo/networks/stable.svg diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 21fbf0b6..8d52230a 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.10.0-stable.8", + "version": "3.10.0-stable.9", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", diff --git a/packages/dodoex-widgets/src/assets/logo/networks/stable.svg b/packages/dodoex-widgets/src/assets/logo/networks/stable.svg new file mode 100644 index 00000000..f3c75c9c --- /dev/null +++ b/packages/dodoex-widgets/src/assets/logo/networks/stable.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/dodoex-widgets/src/constants/chainList.ts b/packages/dodoex-widgets/src/constants/chainList.ts index 320c1553..10cb9381 100644 --- a/packages/dodoex-widgets/src/constants/chainList.ts +++ b/packages/dodoex-widgets/src/constants/chainList.ts @@ -26,7 +26,7 @@ import { } from '../assets/logo/networks/rise.svg'; import { ReactComponent as ScrollLogo } from '../assets/logo/networks/scroll.svg'; import { ReactComponent as StableTestnetLogo } from '../assets/logo/networks/stable-testnet.svg'; -import { ReactComponent as StableLogo } from '../assets/logo/networks/stable-testnet.svg'; +import { ReactComponent as StableLogo } from '../assets/logo/networks/stable.svg'; import { ReactComponent as TaikoLogo } from '../assets/logo/networks/taiko.svg'; import { ReactComponent as XLayerLogo } from '../assets/logo/networks/x-layer.svg'; import { ReactComponent as ZeroLogo } from '../assets/logo/networks/zero.svg'; From 7115d841da5d9726739b91034e6896c6c512b05b Mon Sep 17 00:00:00 2001 From: yrjkqq Date: Wed, 3 Dec 2025 10:55:13 +0800 Subject: [PATCH 25/25] fix: update colors in stable.svg logo for improved visibility and consistency --- packages/dodoex-widgets/package.json | 2 +- .../dodoex-widgets/src/assets/logo/networks/stable.svg | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/dodoex-widgets/package.json b/packages/dodoex-widgets/package.json index 8d52230a..6997205c 100644 --- a/packages/dodoex-widgets/package.json +++ b/packages/dodoex-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@dodoex/widgets", - "version": "3.10.0-stable.9", + "version": "3.10.0-stable.10", "description": "DODO Widgets", "source": "src/index.tsx", "types": "dist/types/index.d.ts", diff --git a/packages/dodoex-widgets/src/assets/logo/networks/stable.svg b/packages/dodoex-widgets/src/assets/logo/networks/stable.svg index f3c75c9c..461fe04d 100644 --- a/packages/dodoex-widgets/src/assets/logo/networks/stable.svg +++ b/packages/dodoex-widgets/src/assets/logo/networks/stable.svg @@ -1,14 +1,14 @@ - + - + fill="#00261d" /> + - + \ No newline at end of file