diff --git a/src/composables/useNetwork.ts b/src/composables/useNetwork.ts index 9daad7f5a7..ab45493fdd 100644 --- a/src/composables/useNetwork.ts +++ b/src/composables/useNetwork.ts @@ -27,6 +27,7 @@ const NETWORK_ID = Network.MAINNET; if (windowAvailable) localStorage.setItem('networkId', NETWORK_ID.toString()); export const networkSlug = config[NETWORK_ID].slug; +export const networkSlugV3 = config[NETWORK_ID].slugV3; export const networkConfig = config[NETWORK_ID]; /** diff --git a/src/lib/config/arbitrum/index.ts b/src/lib/config/arbitrum/index.ts index 5a635c1969..5e0316cfd9 100644 --- a/src/lib/config/arbitrum/index.ts +++ b/src/lib/config/arbitrum/index.ts @@ -15,6 +15,7 @@ const config: Config = { shortName: 'Arbitrum', monorepoName: 'arbitrum', slug: 'arbitrum', + slugV3: 'arbitrum', network: 'arbitrum-one', trustWalletNetwork: 'arbitrum', unknown: false, diff --git a/src/lib/config/avalanche/index.ts b/src/lib/config/avalanche/index.ts index 698c8cb05b..3cdd76a0cb 100644 --- a/src/lib/config/avalanche/index.ts +++ b/src/lib/config/avalanche/index.ts @@ -15,6 +15,7 @@ const config: Config = { shortName: 'Avalanche', monorepoName: 'avalanche', slug: 'avalanche', + slugV3: 'avalanche', network: 'avalanche', trustWalletNetwork: 'avalanchec', unknown: false, diff --git a/src/lib/config/base/index.ts b/src/lib/config/base/index.ts index 1fd52825c6..b90f85a3f2 100644 --- a/src/lib/config/base/index.ts +++ b/src/lib/config/base/index.ts @@ -15,6 +15,7 @@ const config: Config = { shortName: 'Base', monorepoName: 'base', slug: 'base', + slugV3: 'base', network: 'base', trustWalletNetwork: 'base', unknown: false, diff --git a/src/lib/config/fraxtal/index.ts b/src/lib/config/fraxtal/index.ts index 713895d694..4b2d38dd69 100644 --- a/src/lib/config/fraxtal/index.ts +++ b/src/lib/config/fraxtal/index.ts @@ -14,6 +14,7 @@ const config: Config = { shortName: 'Fraxtal', monorepoName: 'fraxtal', slug: 'fraxtal', + slugV3: 'fraxtal', network: 'fraxtal', trustWalletNetwork: 'fraxtal', unknown: false, diff --git a/src/lib/config/gnosis-chain/index.ts b/src/lib/config/gnosis-chain/index.ts index bc3978ab84..63ad50ed95 100644 --- a/src/lib/config/gnosis-chain/index.ts +++ b/src/lib/config/gnosis-chain/index.ts @@ -16,6 +16,7 @@ const config: Config = { shortName: 'Gnosis', monorepoName: 'gnosis', slug: 'gnosis-chain', + slugV3: 'gnosis', network: 'gnosis-chain', trustWalletNetwork: 'xdai', unknown: false, diff --git a/src/lib/config/goerli/index.ts b/src/lib/config/goerli/index.ts index cae8a9c517..1058753ae2 100644 --- a/src/lib/config/goerli/index.ts +++ b/src/lib/config/goerli/index.ts @@ -14,6 +14,7 @@ const config: Config = { shortName: 'Goerli', monorepoName: 'goerli', slug: 'goerli', + slugV3: 'goerli', network: 'goerli', trustWalletNetwork: 'goerli', unknown: false, diff --git a/src/lib/config/mainnet/index.ts b/src/lib/config/mainnet/index.ts index 0b16245b88..4c2cb56165 100644 --- a/src/lib/config/mainnet/index.ts +++ b/src/lib/config/mainnet/index.ts @@ -14,6 +14,7 @@ const config: Config = { shortName: 'Mainnet', monorepoName: 'mainnet', slug: 'ethereum', + slugV3: 'ethereum', network: 'mainnet', trustWalletNetwork: 'ethereum', unknown: false, diff --git a/src/lib/config/mode/index.ts b/src/lib/config/mode/index.ts index f92ffc319c..f162035959 100644 --- a/src/lib/config/mode/index.ts +++ b/src/lib/config/mode/index.ts @@ -14,6 +14,7 @@ const config: Config = { shortName: 'Mode', monorepoName: 'mode', slug: 'mode', + slugV3: 'mode', network: 'mode', trustWalletNetwork: 'mode', unknown: false, diff --git a/src/lib/config/optimism/index.ts b/src/lib/config/optimism/index.ts index 84c7c7acf7..a9d213fc88 100644 --- a/src/lib/config/optimism/index.ts +++ b/src/lib/config/optimism/index.ts @@ -15,6 +15,7 @@ const config: Config = { shortName: 'Optimism', monorepoName: 'optimism', slug: 'optimism', + slugV3: 'optimism', network: 'optimism', trustWalletNetwork: 'optimism', unknown: false, diff --git a/src/lib/config/polygon/index.ts b/src/lib/config/polygon/index.ts index 1541b13fea..07b3cc6c43 100644 --- a/src/lib/config/polygon/index.ts +++ b/src/lib/config/polygon/index.ts @@ -15,6 +15,7 @@ const config: Config = { shortName: 'Polygon', monorepoName: 'polygon', slug: 'polygon', + slugV3: 'polygon', network: 'polygon', trustWalletNetwork: 'polygon', unknown: false, diff --git a/src/lib/config/sepolia/index.ts b/src/lib/config/sepolia/index.ts index c7fecef02c..35c2c4cb18 100644 --- a/src/lib/config/sepolia/index.ts +++ b/src/lib/config/sepolia/index.ts @@ -15,6 +15,7 @@ const config: Config = { shortName: 'Sepolia', monorepoName: 'sepolia', slug: 'sepolia', + slugV3: 'sepolia', network: 'sepolia', trustWalletNetwork: 'ethereum', unknown: false, diff --git a/src/lib/config/types.ts b/src/lib/config/types.ts index 127f62844d..1af5469be1 100644 --- a/src/lib/config/types.ts +++ b/src/lib/config/types.ts @@ -97,6 +97,7 @@ export interface Config { shortName: string; monorepoName?: string; slug: string; + slugV3: string; network: string; trustWalletNetwork?: string; unknown: boolean; diff --git a/src/lib/config/zkevm/index.ts b/src/lib/config/zkevm/index.ts index 924012bcb0..8b2f8051a9 100644 --- a/src/lib/config/zkevm/index.ts +++ b/src/lib/config/zkevm/index.ts @@ -15,6 +15,7 @@ const config: Config = { shortName: 'zkEVM', monorepoName: 'zkevm', slug: 'zkevm', + slugV3: 'zkevm', network: 'polygon-zkevm', trustWalletNetwork: 'polygonzkevm', unknown: false, diff --git a/src/plugins/router/nav-guards.ts b/src/plugins/router/nav-guards.ts index 275df2fc9d..1419f6af59 100644 --- a/src/plugins/router/nav-guards.ts +++ b/src/plugins/router/nav-guards.ts @@ -4,6 +4,7 @@ import { handleNetworkSlug, networkFromSlug, networkSlug, + networkSlugV3, } from '@/composables/useNetwork'; import { isJoinsDisabled } from '@/composables/usePoolHelpers'; import config from '@/lib/config'; @@ -26,6 +27,7 @@ export function applyNavGuards(router: Router): Router { router = applyPoolJoinRedirects(router); router = applyMetaData(router); router = applyVotingRedirects(router); + router = applyPoolPageRedirects(router); return router; } @@ -187,3 +189,19 @@ function applyVotingRedirects(router: Router): Router { }); return router; } + +/** + * Redirect to the pool page if the route is a pool page redirect. + */ +function applyPoolPageRedirects(router: Router): Router { + router.beforeEach((to, from, next) => { + if (to.name === 'pool') { + window.location.href = `https://balancer.fi/pools/${networkSlugV3}/v2/${to.params.id}`; + } else if (to.name === 'add-liquidity') { + window.location.href = `https://balancer.fi/pools/${networkSlugV3}/v2/${to.params.id}/add-liquidity`; + } else if (to.name === 'withdraw') { + window.location.href = `https://balancer.fi/pools/${networkSlugV3}/v2/${to.params.id}/remove-liquidity`; + } else next(); + }); + return router; +}