From 3c79820fce0143dd49e9134c9d87fb65009d64f4 Mon Sep 17 00:00:00 2001 From: chris Date: Tue, 5 Nov 2024 12:50:12 +1000 Subject: [PATCH 01/10] feat: Enable Meson networks and tokens --- .../public/images/chains/200901.png | Bin 0 -> 10214 bytes .../public/images/chains/223.png | Bin 0 -> 5341 bytes .../public/images/chains/4200.png | Bin 0 -> 2974 bytes .../token-config/mainnet/chains.ts | 308 ++++ .../token-config/mainnet/meson/config.json | 1274 ++++++++++++++++- .../token-config/mainnet/useTransferConfig.ts | 2 +- .../aggregator/adapters/meson/MesonAdapter.ts | 12 +- 7 files changed, 1587 insertions(+), 9 deletions(-) create mode 100644 apps/canonical-bridge-ui/public/images/chains/200901.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/223.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/4200.png diff --git a/apps/canonical-bridge-ui/public/images/chains/200901.png b/apps/canonical-bridge-ui/public/images/chains/200901.png new file mode 100644 index 0000000000000000000000000000000000000000..d76f4699e7e54a602080c8f755505c28d8518dc3 GIT binary patch literal 10214 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 literal 0 HcmV?d00001 diff --git a/apps/canonical-bridge-ui/public/images/chains/223.png b/apps/canonical-bridge-ui/public/images/chains/223.png new file mode 100644 index 0000000000000000000000000000000000000000..6295a495bef9b5c701eee6a9ec1256687ee17d2f GIT binary patch literal 5341 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 z { public bridgeType: BridgeType = 'meson'; @@ -17,8 +17,8 @@ export class MesonAdapter extends BaseAdapter 0; - const isSupported = SUPPORTED_CHAIN_IDS.includes(Number(chain.chainId)); // TODO - return hasChainConfig && !isExcludedChain && hasToken && isSupported; + // const isSupported = SUPPORTED_CHAIN_IDS.includes(Number(chain.chainId)); // TODO + return hasChainConfig && !isExcludedChain && hasToken; }); const chainMap = new Map(); @@ -45,8 +45,8 @@ export class MesonAdapter extends BaseAdapter 0 && this.chainMap.has(chainId)) { From 47017e5452f88f4ddcd98271a9af277672c8afa8 Mon Sep 17 00:00:00 2001 From: wenty22 Date: Tue, 5 Nov 2024 12:00:50 +0800 Subject: [PATCH 02/10] feat: Add token balance for tron network --- .../components/TokenBalancesProvider.tsx | 3 +- .../modules/aggregator/hooks/useSelection.ts | 5 +- .../aggregator/shared/getTokenBalances.ts | 75 ++++++++++++------- .../modules/aggregator/shared/sortTokens.ts | 40 ++++++---- 4 files changed, 81 insertions(+), 42 deletions(-) diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/components/TokenBalancesProvider.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/components/TokenBalancesProvider.tsx index 3bd01301..96e4e835 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/components/TokenBalancesProvider.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/components/TokenBalancesProvider.tsx @@ -11,7 +11,7 @@ import { useTronWeb } from '@/core/hooks/useTronWeb'; import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; export function TokenBalancesProvider() { - const { address } = useCurrentWallet(); + const { address, walletType } = useCurrentWallet(); const chains = useChains(); const tronWeb = useTronWeb(); @@ -30,6 +30,7 @@ export function TokenBalancesProvider() { queryKey: ['tokenBalances', address, fromChain?.id, toChain?.id], queryFn: async () => { const balances = await getTokenBalances({ + walletType, chainType: fromChain?.chainType, account: address, tokens, diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/hooks/useSelection.ts b/packages/canonical-bridge-widget/src/modules/aggregator/hooks/useSelection.ts index 73e2e88c..b7511f6d 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/hooks/useSelection.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/hooks/useSelection.ts @@ -204,7 +204,7 @@ function useSortedTokens() { const { transferConfig } = useAggregator(); const chains = useChains(); - const { address } = useCurrentWallet(); + const { address, walletType } = useCurrentWallet(); const { getTokenPrice } = useTokenPrice(); const tronWeb = useTronWeb(); @@ -219,6 +219,7 @@ function useSortedTokens() { tokens: IBridgeToken[]; }) => { const balances = await getTokenBalances({ + walletType, chainType, account: address, tokens, @@ -247,7 +248,7 @@ function useSortedTokens() { orders: transferConfig.order?.tokens, }); }, - [address, chains, tronWeb, transferConfig.order?.tokens, getTokenPrice], + [walletType, address, chains, tronWeb, transferConfig.order?.tokens, getTokenPrice], ); return { diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts b/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts index aa3c7496..dec7c41b 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts @@ -1,34 +1,42 @@ import { Address, Chain, createPublicClient, formatUnits, http } from 'viem'; import { TronWeb } from 'tronweb'; +import axios from 'axios'; import { ChainType, IBridgeToken } from '@/modules/aggregator/types'; import { ERC20_TOKEN } from '@/core/contract/abi'; import { isChainOrTokenCompatible } from '@/modules/aggregator/shared/isChainOrTokenCompatible'; +import { isSameAddress } from '@/core/utils/address'; export async function getTokenBalances({ + walletType, chainType, account, tokens, chain, tronWeb, }: { + walletType?: ChainType; chainType?: ChainType; account?: string; tokens?: IBridgeToken[]; chain?: Chain; tronWeb?: TronWeb; }) { + if (walletType !== chainType) return {}; + + const compatibleTokens = tokens?.filter((item) => isChainOrTokenCompatible(item)); + if (chainType === 'tron') { return await getTronTokenBalances({ account, - tokens, + tokens: compatibleTokens, tronWeb, }); } return await getEvmTokenBalances({ account, chain, - tokens, + tokens: compatibleTokens, }); } @@ -51,8 +59,7 @@ async function getEvmTokenBalances({ transport: http(), }); - const compatibleTokens = tokens.filter((item) => isChainOrTokenCompatible(item)); - const contracts = compatibleTokens.map((item) => ({ + const contracts = tokens.map((item) => ({ abi: ERC20_TOKEN, address: item.address as Address, functionName: 'balanceOf', @@ -74,7 +81,7 @@ async function getEvmTokenBalances({ const values = erc20TokensRes.value?.map((item) => item.result) ?? []; values.map((value, index) => { - const token = compatibleTokens[index]; + const token = tokens[index]; const symbol = token.displaySymbol?.toUpperCase(); balances[symbol] = @@ -95,17 +102,11 @@ async function getEvmTokenBalances({ } } -const tronBalanceABI = [ - { - constant: true, - inputs: [{ internalType: 'address', name: '', type: 'address' }], - name: 'balanceOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - payable: false, - stateMutability: 'view', - type: 'function', - }, -]; +interface ITronAccountToken { + balance: string; + tokenId: string; + tokenAbbr: string; +} async function getTronTokenBalances({ account, @@ -120,20 +121,42 @@ async function getTronTokenBalances({ if (!account || !tokens?.length || !tronWeb) { return {}; } - const balances: Record = {}; - for (let i = 0; i < Math.min(tokens.length, 2); i++) { - const token = tokens?.[i]; - const tokenAddress = token.address; + const isTestnet = tronWeb.fullNode.host.includes('nile'); + const endpoint = isTestnet + ? 'https://nileapi.tronscan.org/api' + : 'https://apilist.tronscan.org/api'; + + const res = await axios<{ data: ITronAccountToken[] }>({ + url: `${endpoint}/account/tokens`, + params: { + address: account, + start: 0, + limit: 50, + }, + }); - tronWeb.setAddress(token.address); - const contractInstance = await tronWeb.contract(tronBalanceABI, tokenAddress); - const balanceOf = await contractInstance.balanceOf(account).call(); - const balance = balanceOf?.toString() as string; + const tokenInfos = res.data?.data ?? []; + tokenInfos.forEach((tokenInfo) => { + const token = tokens.find( + (t) => + isSameAddress(t.address, tokenInfo.tokenId) || + (t.displaySymbol.toUpperCase() === 'TRX' && tokenInfo.tokenId === '_'), + ); + + if (token) { + balances[token.displaySymbol.toUpperCase()] = formatUnits( + BigInt(tokenInfo.balance), + token.decimals, + ); + } + }); - balances[token.displaySymbol?.toUpperCase()] = formatUnits(BigInt(balance), token.decimals); - } + tokens.forEach((t) => { + const key = t.displaySymbol.toUpperCase(); + balances[key] = balances[key] ?? '0'; + }); return balances; } catch (err) { diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/shared/sortTokens.ts b/packages/canonical-bridge-widget/src/modules/aggregator/shared/sortTokens.ts index ad55e1a4..460514b9 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/shared/sortTokens.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/shared/sortTokens.ts @@ -17,6 +17,23 @@ export function sortTokens({ const isA = isChainOrTokenCompatible(a); const isB = isChainOrTokenCompatible(b); + const indexA = tokenOrders.indexOf(aSymbol); + const indexB = tokenOrders.indexOf(bSymbol); + + const sortWithPredefinedOrders = () => { + if (indexA > -1 && indexB === -1) { + return -1; + } + if (indexA === -1 && indexB > -1) { + return 1; + } + if (indexA > -1 && indexB > -1) { + return indexA - indexB; + } + + return aSymbol < bSymbol ? -1 : 1; + }; + if (isA && !isB) { return -1; } @@ -34,22 +51,19 @@ export function sortTokens({ if (!a.value && b.value) { return 1; } - } - const indexA = tokenOrders.indexOf(aSymbol); - const indexB = tokenOrders.indexOf(bSymbol); - - if (indexA > -1 && indexB === -1) { - return -1; - } - if (indexA === -1 && indexB > -1) { - return 1; - } - if (indexA > -1 && indexB > -1) { - return indexA - indexB; + if (a.balance && b.balance) { + return sortWithPredefinedOrders(); + } + if (a.balance && !b.balance) { + return -1; + } + if (!a.balance && b.balance) { + return 1; + } } - return a.displaySymbol < b.displaySymbol ? -1 : 1; + return sortWithPredefinedOrders(); }); return sortedTokens; From 9a93dafb83b4080e0f4dda0690e538f149a0ac48 Mon Sep 17 00:00:00 2001 From: chris Date: Tue, 5 Nov 2024 15:23:29 +1000 Subject: [PATCH 03/10] chore: New chain icons --- .../public/images/chains/1116.png | Bin 0 -> 3642 bytes .../public/images/chains/11501.png | Bin 0 -> 5276 bytes .../public/images/chains/1482601649.png | Bin 0 -> 6312 bytes .../public/images/chains/1564830818.png | Bin 0 -> 4995 bytes .../public/images/chains/17777.png | Bin 0 -> 1017 bytes .../public/images/chains/200901.png | Bin 10214 -> 5206 bytes .../public/images/chains/2046399126.png | Bin 0 -> 3755 bytes .../public/images/chains/22776.png | Bin 0 -> 3612 bytes .../public/images/chains/25.png | Bin 0 -> 1760 bytes .../public/images/chains/2525.png | Bin 0 -> 4961 bytes .../public/images/chains/255.png | Bin 0 -> 2474 bytes .../public/images/chains/2649.png | Bin 0 -> 5727 bytes .../public/images/chains/34443.png | Bin 0 -> 1887 bytes .../public/images/chains/42766.png | Bin 0 -> 3584 bytes .../public/images/chains/48900.png | Bin 0 -> 6882 bytes .../public/images/chains/6001.png | Bin 0 -> 2308 bytes .../public/images/chains/60808.png | Bin 0 -> 1324 bytes .../public/images/chains/7000.png | Bin 0 -> 2105 bytes .../public/images/chains/810180.png | Bin 0 -> 4241 bytes .../public/images/chains/888888888.png | Bin 0 -> 5038 bytes .../public/images/tokens/BTC.png | Bin 0 -> 1536 bytes 21 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/canonical-bridge-ui/public/images/chains/1116.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/11501.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/1482601649.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/1564830818.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/17777.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/2046399126.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/22776.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/25.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/2525.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/255.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/2649.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/34443.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/42766.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/48900.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/6001.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/60808.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/7000.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/810180.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/888888888.png create mode 100644 apps/canonical-bridge-ui/public/images/tokens/BTC.png diff --git a/apps/canonical-bridge-ui/public/images/chains/1116.png b/apps/canonical-bridge-ui/public/images/chains/1116.png new file mode 100644 index 0000000000000000000000000000000000000000..1c3361e8e660067548d634e02c724e7b6a7f6a00 GIT binary patch literal 3642 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 EA26+dyZ`_I literal 0 HcmV?d00001 diff --git a/apps/canonical-bridge-ui/public/images/chains/1564830818.png b/apps/canonical-bridge-ui/public/images/chains/1564830818.png new file mode 100644 index 0000000000000000000000000000000000000000..a0147b703eb5ab353d4b8d2a8b08182f75bea0d9 GIT binary patch literal 4995 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 literal 0 HcmV?d00001 diff --git a/apps/canonical-bridge-ui/public/images/chains/200901.png b/apps/canonical-bridge-ui/public/images/chains/200901.png index d76f4699e7e54a602080c8f755505c28d8518dc3..89157ee49649a31cd051f966de8173b4637a5a17 100644 GIT binary patch literal 5206 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 literal 10214 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 diff --git a/apps/canonical-bridge-ui/public/images/chains/2046399126.png b/apps/canonical-bridge-ui/public/images/chains/2046399126.png new file mode 100644 index 0000000000000000000000000000000000000000..0f521c7e5f70fcb94103bb69cce9890424ee2ee6 GIT binary patch literal 3755 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 literal 0 HcmV?d00001 diff --git a/apps/canonical-bridge-ui/public/images/chains/25.png b/apps/canonical-bridge-ui/public/images/chains/25.png new file mode 100644 index 0000000000000000000000000000000000000000..229b5d064be2f7b47d5c2021527e303561939202 GIT binary patch literal 1760 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 literal 0 HcmV?d00001 diff --git a/apps/canonical-bridge-ui/public/images/chains/255.png b/apps/canonical-bridge-ui/public/images/chains/255.png new file mode 100644 index 0000000000000000000000000000000000000000..2f94524ee6d90a73c9c3e18937d8595e80437000 GIT binary patch literal 2474 zcmV;b303xqP)Px;WJyFpRCr$Poq2Fo)g8xwZ_7eR2-#lV77&-QY8|H=ZGq}^v_fsfT@)=;1N!31L5q~tOGhr$GAcaAUf-S&eAci5CaH)2l}Hu&=>83aaKFNxManYze39Er$BGCE8aFU zn4#vPFC@1RH(bgB@eTY7YW=ekc4JP_Cb&B5dfZM)QcF1?F^IzI`YA9F>m9a57LyIC zN{)iXWR=uPoG>W`{gA_LUQks**B}U7h#xGAm#N_AqM)} zg;Y7=k0N@lN;4@yj&$sXkN&$uRf5Sfx+d#JxU*ob^zhPwtT{bRdXYQZuZ@|Co(ejUDqks(CDqX|$Xd&4 z_hHmE7c?NBcfAGgcWfIC9KKTH_p|SSALafWrFIk`>jllqqEskRe0xTA3a+0*<4 zob3BMcM>B>Am8eNMUGcAm!t_uccdLQ2NG{E(45H#b9}h?MJTdOWUh)C$hP1^&>HqJ z2O5nI*_M2G#JQKLbk#tbLZ@Iy;{qme!}x3mep*-!CFx&R)ecoa+QI>NKKKBbO%_$6 zvW=!>&x$X}*0oj24y`I4*}C*#(X-%4yOe6L8psCk^!Toge4B?VD$`)K`?rI_Rr-D+ zGdwj`TgVSlh{QKnAOo3kE_kk`2yEsIYBC}XZW><(S7#;O1VI+P_BO8)8J?;gj)kB- z96V=t7RV)3Kh;;rQ{EpB5+hejK@zT(OmnvC8|99M1<)4uQ=5Qo&=T?i`I$O@EO#A1 z2I9LZVcuiSxsYkj!LBKx-h$$nV4SsxDHfT=sSVu28Auw0ld_0N(=vxfh}WdD?#qZ_SWp z$%QO)?jW7{_U$m%GM-x-Lm(9EgRQ|igQUn|(#}XLxBR2dUqi7C@e08JqEuCAn+V0W zNie&xin~w|0(Gq$;Z*+@KqgcHX=f!mkZS*}sI_02c^%wWv=LPkOYCs_ui&%JeOPjF z9Wo7%dWBT`#oTNwNHCOt4=#{r{Nm1Sko!ux=UpLFLUn31kwPTBmq$hFU?yDle2LjBoytFegA-+ zjb*$&X7XR+d<_{$K+Y9%ewAd+<;jwdQO}pJ^Ii|(SU*!UF^tJnC!aV!)s(Q1(c^w? zlVw0ADP8H8L$y!LV=_iv3mq>*5!Mw#5<1cQCm;tmjltf58M%v9|4pUpC+qwa$TWOk z^bC7eqtJuA)ozXZJ*LW;fe`h^&`H?d@Gw)L(Pn&a!BcQ)=69IO)&xX}@?3B(kd4^J z_g zmRldNZ_(Q>L&+VhN`N5T)2d zZME^u7A(V^b_L8TT+iZ?RNIsSLOMl`CT|InElKqMs!-;5UDMXnWD-d^AWE~2^&Ei@ zhIlRQx5k#j4|48HW?wbOPFWyI#TV{5CI|FWd89lL(tPqRmNStK@C>onH1{l0P?qNNzYSoB@Q^A<3T`KqNPu7R~@d>yYHn4Iq*m oP77xMp>;^|=LQhT4X1_sAA5@)5jp3TUH||907*qoM6N<$f^=w^g#Z8m literal 0 HcmV?d00001 diff --git a/apps/canonical-bridge-ui/public/images/chains/2649.png b/apps/canonical-bridge-ui/public/images/chains/2649.png new file mode 100644 index 0000000000000000000000000000000000000000..b88f7a04498b4e6e974846c78619f3b0d06b5100 GIT binary patch literal 5727 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 literal 0 HcmV?d00001 diff --git a/apps/canonical-bridge-ui/public/images/chains/48900.png b/apps/canonical-bridge-ui/public/images/chains/48900.png new file mode 100644 index 0000000000000000000000000000000000000000..ff55abcef3914baca6d7528c5cc25442813052dd GIT binary patch literal 6882 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 literal 0 HcmV?d00001 diff --git a/apps/canonical-bridge-ui/public/images/chains/6001.png b/apps/canonical-bridge-ui/public/images/chains/6001.png new file mode 100644 index 0000000000000000000000000000000000000000..f9f64ba57678201d3af5b1eca961d99ee0cdbb97 GIT binary patch literal 2308 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 KXxC^uMg0dNu6t4d literal 0 HcmV?d00001 diff --git a/apps/canonical-bridge-ui/public/images/chains/888888888.png b/apps/canonical-bridge-ui/public/images/chains/888888888.png new file mode 100644 index 0000000000000000000000000000000000000000..fc6d9a3630d9c5bed7eac31303f82c890568958e GIT binary patch literal 5038 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 Date: Tue, 5 Nov 2024 15:23:55 +1000 Subject: [PATCH 04/10] feat: Remove unsupported chains --- .../token-config/mainnet/meson/config.json | 213 ++---------------- 1 file changed, 21 insertions(+), 192 deletions(-) diff --git a/apps/canonical-bridge-ui/token-config/mainnet/meson/config.json b/apps/canonical-bridge-ui/token-config/mainnet/meson/config.json index 1aeb42df..93cf2aa8 100644 --- a/apps/canonical-bridge-ui/token-config/mainnet/meson/config.json +++ b/apps/canonical-bridge-ui/token-config/mainnet/meson/config.json @@ -1,34 +1,5 @@ { "result": [ - { - "id": "ailayer", - "name": "AILayer", - "chainId": "0xa59", - "address": "0x25aB3Efd52e6470681CE037cD546Dc60726948D3", - "tokens": [ - { - "id": "btc", - "addr": "0x0000000000000000000000000000000000000000", - "min": "0.0005", - "decimals": 18, - "max": "0.05" - }, - { - "id": "usdc", - "addr": "0xfaBc451eA1Fd9707c6Ba1769F570E760101C7f22", - "min": "0.5", - "decimals": 18, - "max": "20000" - }, - { - "id": "usdt", - "addr": "0x0663C09Bd0911181B39D66ec4bfAC9d89c8516BA", - "min": "0.5", - "decimals": 18, - "max": "20000" - } - ] - }, { "id": "ancient8", "name": "Ancient8", @@ -77,20 +48,6 @@ "decimals": 8, "min": "0.00055", "max": "0.05" - }, - { - "id": "sol", - "addr": "0x3647c54c4c2C65bC7a2D63c0Da2809B399DBBDC0", - "decimals": 18, - "min": "0.001", - "max": "2" - }, - { - "id": "sol", - "addr": "0x346c574C56e1A4aAa8dc88Cda8F7EB12b39947aB", - "decimals": 18, - "min": "0.001", - "max": "2" } ] }, @@ -185,13 +142,6 @@ "decimals": 18, "min": "0.001", "max": "2" - }, - { - "id": "matic", - "addr": "0xc3ee2Df14B1Bc526c24ED802f1873d49664a0d5c", - "decimals": 18, - "min": "1.0", - "max": "20000" } ] }, @@ -214,13 +164,6 @@ "addr": "0x0000000000000000000000000000000000000000", "decimals": 18, "max": "2" - }, - { - "id": "btc", - "addr": "0xF469fBD2abcd6B9de8E169d128226C0Fc90a012e", - "decimals": 8, - "min": "0.0005", - "max": "0.05" } ] }, @@ -382,13 +325,6 @@ "min": "1.0", "max": "20000" }, - { - "id": "bnb", - "addr": "0x0000000000000000000000000000000000000000", - "decimals": 18, - "min": "0.001", - "max": "2" - }, { "id": "btc", "addr": "0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c", @@ -477,6 +413,13 @@ "min": "0.5", "max": "20000" }, + { + "id": "btc", + "decimals": 8, + "addr": "0x8034ab88c3512246bf7894f57c834dddbd1de01f", + "min": "0.00055", + "max": "0.05" + }, { "id": "usdt", "addr": "0x900101d06A7426441Ae63e9AB3B9b0F63Be145F1", @@ -563,20 +506,6 @@ "decimals": 8, "min": "0.0006", "max": "0.05" - }, - { - "id": "merl", - "addr": "0x0F3A12b78FEE11Ee088E454a0547BdBC5A253a6d", - "decimals": 18, - "min": "2.0", - "max": "20000" - }, - { - "id": "btc", - "addr": "0x160025Ea66a26eCA9ea4042B22F618381fCB86Cb", - "decimals": 18, - "min": "0.0006", - "max": "0.05" } ] }, @@ -647,21 +576,6 @@ } ] }, - { - "id": "kroma", - "name": "Kroma", - "chainId": "0xff", - "address": "0x25aB3Efd52e6470681CE037cD546Dc60726948D3", - "tokens": [ - { - "id": "eth", - "addr": "0x0000000000000000000000000000000000000000", - "decimals": 18, - "min": "0.001", - "max": "2" - } - ] - }, { "id": "linea", "name": "Linea", @@ -688,13 +602,6 @@ "decimals": 18, "min": "0.001", "max": "2" - }, - { - "id": "busd", - "addr": "0x17E7332300F6a1B3b14eDce9Ef9Bf582E32a00f4", - "decimals": 18, - "min": "1.0", - "max": "20000" } ] }, @@ -768,13 +675,6 @@ "decimals": 6, "min": "1.5", "max": "20000" - }, - { - "id": "merl", - "addr": "0x5c46bFF4B38dc1EAE09C5BAc65872a1D8bc87378", - "decimals": 18, - "min": "1.5", - "max": "20000" } ] }, @@ -819,13 +719,6 @@ "decimals": 6, "min": "0.5", "max": "20000" - }, - { - "id": "btc", - "addr": "0xCAbAE6f6Ea1ecaB08Ad02fE02ce9A44F09aebfA2", - "decimals": 8, - "min": "0.0005", - "max": "0.05" } ] }, @@ -862,13 +755,6 @@ "decimals": 8, "min": "0.00055", "max": "0.05" - }, - { - "id": "busd", - "addr": "0xeAa2b5F25a6DD61149B4bF37311209788394f9c4", - "decimals": 18, - "min": "1.5", - "max": "20000" } ] }, @@ -884,13 +770,6 @@ "decimals": 18, "min": "1.0", "max": "20000" - }, - { - "id": "bnb", - "addr": "0x0000000000000000000000000000000000000000", - "decimals": 18, - "min": "0.001", - "max": "2" } ] }, @@ -949,13 +828,6 @@ "decimals": 8, "min": "0.00055", "max": "0.05" - }, - { - "id": "pol", - "addr": "0x0000000000000000000000000000000000000000", - "decimals": 18, - "min": "1.0", - "max": "20000" } ] }, @@ -1007,20 +879,6 @@ "decimals": 6, "min": "0.5", "max": "20000" - }, - { - "id": "eth", - "addr": "0x59ab97Ee239e02112652587F9Ef86CB6F762983b", - "decimals": 18, - "min": "0.001", - "max": "2" - }, - { - "id": "btc", - "addr": "0x98f7d76CfFaD0263Ddb30B10244C02530Ba704c4", - "decimals": 8, - "min": "0.0005", - "max": "0.05" } ] }, @@ -1043,20 +901,6 @@ "decimals": 6, "min": "0.5", "max": "20000" - }, - { - "id": "eth", - "addr": "0xD2Aaa00700000000000000000000000000000000", - "decimals": 18, - "min": "0.001", - "max": "2" - }, - { - "id": "btc", - "addr": "0xcb011E86DF014a46F4e3AC3F3cbB114A4EB80870", - "decimals": 8, - "min": "0.0005", - "max": "0.05" } ] }, @@ -1072,20 +916,6 @@ "decimals": 6, "min": "0.5", "max": "20000" - }, - { - "id": "eth", - "addr": "0xaB01BAd2C86e24D371A13eD6367bdCa819589C5D", - "decimals": 18, - "min": "0.001", - "max": "2" - }, - { - "id": "btc", - "addr": "0x64d2EebA8B02f2aB19e2238f1655A8409dB64817", - "decimals": 8, - "min": "0.0005", - "max": "0.05" } ] }, @@ -1184,21 +1014,6 @@ } ] }, - { - "id": "zircuit", - "name": "Zircuit", - "chainId": "0xbf04", - "address": "0x25aB3Efd52e6470681CE037cD546Dc60726948D3", - "tokens": [ - { - "id": "eth", - "addr": "0x0000000000000000000000000000000000000000", - "decimals": 18, - "min": "0.001", - "max": "2" - } - ] - }, { "id": "zkevm", "name": "Polygon zkEVM", @@ -1276,6 +1091,20 @@ "decimals": 18, "min": "0.001", "max": "2" + }, + { + "id": "busd", + "addr": "0x7F934E97101e2239b9cB438A4B07d9474AD51406", + "decimals": 18, + "min": "1.0", + "max": "20000" + }, + { + "id": "btc", + "decimals": 18, + "addr": "0x7118D8700B1b635CA37992294349Dc616fDC94Fe", + "min": "0.0005", + "max": "0.05" } ] }, From 119e94aae0b5e116b29f062edac467b4d838a5a2 Mon Sep 17 00:00:00 2001 From: chris Date: Tue, 5 Nov 2024 15:26:02 +1000 Subject: [PATCH 05/10] chore: Add native token --- .../canonical-bridge-ui/token-config/testnet/meson/config.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/canonical-bridge-ui/token-config/testnet/meson/config.json b/apps/canonical-bridge-ui/token-config/testnet/meson/config.json index ab7afe13..f4ac920e 100644 --- a/apps/canonical-bridge-ui/token-config/testnet/meson/config.json +++ b/apps/canonical-bridge-ui/token-config/testnet/meson/config.json @@ -15,6 +15,7 @@ }, { "id": "eth", + "addr": "0x0000000000000000000000000000000000000000", "decimals": 18, "min": "0.001", "max": "2" @@ -43,6 +44,7 @@ }, { "id": "eth", + "addr": "0x0000000000000000000000000000000000000000", "decimals": 18, "min": "0.001", "max": "2" @@ -86,6 +88,7 @@ }, { "id": "eth", + "addr": "0x0000000000000000000000000000000000000000", "decimals": 18, "min": "0.001", "max": "2" From cf59ea2b7e4ecc1cafab90c3d02c9746b060eea2 Mon Sep 17 00:00:00 2001 From: chris Date: Tue, 5 Nov 2024 18:55:12 +1000 Subject: [PATCH 06/10] chore: Update debridge protocol fee error message --- .../aggregator/adapters/deBridge/hooks/useGetDeBridgeFees.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/deBridge/hooks/useGetDeBridgeFees.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/deBridge/hooks/useGetDeBridgeFees.ts index a5ed7420..9b744aa0 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/deBridge/hooks/useGetDeBridgeFees.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/deBridge/hooks/useGetDeBridgeFees.ts @@ -70,7 +70,7 @@ export const useGetDeBridgeFees = () => { if (nativeTokenBalance && nativeTokenBalance?.value < totalNativeAmount) { dispatch( setRouteError({ - deBridge: 'Could not cover deBridge Protocol Fee', + deBridge: `Insufficient ${nativeToken} to cover protocol fee`, }), ); isDisplayError = true; From 84f6f326b4bc2ad30a7a05fb5973726ae565138e Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 7 Nov 2024 13:56:49 +1000 Subject: [PATCH 07/10] fix: Fix reset meson fees --- .../src/modules/transfer/hooks/useLoadingBridgeFees.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts b/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts index 7fc828fe..e8d21602 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts +++ b/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts @@ -164,6 +164,7 @@ export const useLoadingBridgeFees = () => { if (mesonEst.status === 'fulfilled' && mesonEst?.value) { if (mesonEst?.value?.error) { const error = mesonEst?.value?.error; + dispatch(setRouteFees({ meson: undefined })); if (error.code === 21 && error.message === 'amount-over-limit') { dispatch(setEstimatedAmount({ meson: 'error' })); dispatch( From 72133d59edb5087fe16c63ac87c0f469cd6691f3 Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 7 Nov 2024 18:54:22 +1000 Subject: [PATCH 08/10] fix: Fix route scroll issue on mobile --- packages/canonical-bridge-widget/src/core/locales/en.ts | 3 +++ .../components/Modal/TransactionConfirmingModal/index.tsx | 8 ++++++-- .../components/TransferOverview/modal/RoutesModal.tsx | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/canonical-bridge-widget/src/core/locales/en.ts b/packages/canonical-bridge-widget/src/core/locales/en.ts index 3fc37b62..3496064d 100644 --- a/packages/canonical-bridge-widget/src/core/locales/en.ts +++ b/packages/canonical-bridge-widget/src/core/locales/en.ts @@ -76,6 +76,9 @@ export const en = { 'modal.submit.button.view-tx': 'View Transaction', 'modal.submit.button.close': 'Make Another Transaction', + 'modal.confirm.title': 'Waiting for Confirmation', + 'modal.confirm.desc': 'Confirm this transaction in your wallet', + 'select-modal.tag.incompatible': 'Incompatible', 'select-modal.search.no-result.title': 'No result found', 'select-modal.search.no-result.warning': diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Modal/TransactionConfirmingModal/index.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Modal/TransactionConfirmingModal/index.tsx index 80dc9d30..d003e442 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Modal/TransactionConfirmingModal/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Modal/TransactionConfirmingModal/index.tsx @@ -1,13 +1,17 @@ +import { useIntl } from '@bnb-chain/space'; + import { StateModal, StateModalProps } from '@/core/components/StateModal'; export function TransactionConfirmingModal(props: Omit) { const { ...restProps } = props; + const { formatMessage } = useIntl(); + return ( } bodyProps={{ pb: 0, diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/modal/RoutesModal.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/modal/RoutesModal.tsx index c30b730c..3d715d09 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/modal/RoutesModal.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/modal/RoutesModal.tsx @@ -20,9 +20,9 @@ export function RoutesModal(props: RoutesModalProps) { Date: Thu, 7 Nov 2024 17:34:11 +0800 Subject: [PATCH 09/10] feat: Using tronscan api to get token balances --- .../token-config/mainnet/useTransferConfig.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/canonical-bridge-ui/token-config/mainnet/useTransferConfig.ts b/apps/canonical-bridge-ui/token-config/mainnet/useTransferConfig.ts index db620060..31f62024 100644 --- a/apps/canonical-bridge-ui/token-config/mainnet/useTransferConfig.ts +++ b/apps/canonical-bridge-ui/token-config/mainnet/useTransferConfig.ts @@ -47,6 +47,7 @@ export function useTransferConfig() { 'AAVE', 'LDO', 'LINK', + 'BTC', 'BTCB', 'WBTC', 'sUSDe', From f3b44be68130cc32a8f19b98e486f49fea17789d Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 7 Nov 2024 20:04:57 +1000 Subject: [PATCH 10/10] chore: Hide meson native tokens --- .../src/modules/aggregator/adapters/meson/MesonAdapter.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts index c5df1506..7d710baa 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts @@ -2,6 +2,7 @@ import { BridgeType } from '@bnb-chain/canonical-bridge-sdk'; import { BaseAdapter, ITransferTokenPair } from '@/modules/aggregator/shared/BaseAdapter'; import { IMesonChain, IMesonToken } from '@/modules/aggregator/adapters/meson/types'; +import { isNativeToken } from '@/core/utils/address'; // const SUPPORTED_CHAIN_IDS = [56, 97, 3448148188, 728126428]; // const SUPPORTED_TOKENS = ['USDT', 'USDC']; @@ -45,8 +46,8 @@ export class MesonAdapter extends BaseAdapter 0 && this.chainMap.has(chainId)) {