diff --git a/package-lock.json b/package-lock.json index 3616927309..f7cdea6447 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balancer/frontend-v2", - "version": "1.134.17", + "version": "1.134.34", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@balancer/frontend-v2", - "version": "1.134.17", + "version": "1.134.34", "license": "MIT", "devDependencies": { "@aave/protocol-js": "^4.3.0", diff --git a/package.json b/package.json index fa36a5c7ee..6828340b07 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@balancer/frontend-v2", - "version": "1.134.17", + "version": "1.134.34", "engines": { "node": "=16", "npm": ">=8" diff --git a/src/components/contextual/pages/vebal/LMVoting/GaugesTable.spec.ts b/src/components/contextual/pages/vebal/LMVoting/GaugesTable.spec.ts deleted file mode 100644 index 808feb1fc7..0000000000 --- a/src/components/contextual/pages/vebal/LMVoting/GaugesTable.spec.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { screen } from '@testing-library/vue'; - -import BalAssetSet from '@/components/_global/BalAsset/BalAssetSet.vue'; - -import { mockExpiredGauges } from '@/composables/queries/__mocks__/useExpiredGaugesQuery'; -import { VotingPool } from '@/composables/queries/useVotingPoolsQuery'; -import { renderComponent } from '@tests/renderComponent'; -import { aVotingPool } from '../MultiVoting/voting-pool.builders'; -import GaugesTable from './GaugesTable.vue'; -import { - VotingProviderSymbol, - votingProvider, -} from '../providers/voting.provider'; - -GaugesTable.components = { - BalAssetSet, -}; - -vi.mock('@/composables/queries/useGraphQuery', () => { - return { - default: () => ({ - data: { - value: { - votingEscrowLocks: [ - { - votingEscrowID: { - id: 'asdf', - }, - updatedAt: 123, - }, - ], - }, - }, - }), - subgraphs: { - gauge: 'mockgauge', - }, - }; -}); - -vi.mock('@/composables/queries/useVeBalLockInfoQuery', () => { - return { - default: vi.fn().mockImplementation(() => { - return { - data: { - value: { - lockedAmount: '123', - }, - }, - }; - }), - }; -}); - -vi.mock('@/composables/queries/useVotingPoolsQuery'); -// Global settings for component render. -const global = { - stubs: { - TimelockIcon: true, - }, -}; - -const gaugeId = '0x34f33CDaED8ba0E1CEECE80e5f4a73bcf234cfac'; -vi.mock('vue-router'); -vi.mock('@/providers/tokens.provider'); -vi.mock('@/composables/queries/useExpiredGaugesQuery'); - -const pool: VotingPool = aVotingPool({ - gauge: { - address: gaugeId, - isKilled: false, - }, -}); - -const votingPools: VotingPool[] = [pool]; - -const queryExpiredLabel = () => screen.queryByText(/Expired/i); -const queryRemoveVotesBtn = () => - screen.queryByRole('button', { name: /Remove/i }); - -const votingProviderPlugin = { - install(app) { - app.provide(VotingProviderSymbol, votingProvider()); - }, -}; - -describe('GaugesTable', () => { - it('should render right tokens for gauge', async () => { - renderComponent( - GaugesTable, - { - global, - props: { - data: votingPools, - renderedRowsIdx: 0, - selectVotesDisabled: false, - }, - }, - votingProviderPlugin - ); - const usdt = await screen.findByText('USDT'); - const usdc = await screen.findByText('USDC'); - const expiredLabel = queryExpiredLabel(); - - expect(usdt).toBeVisible(); - expect(usdc).toBeVisible(); - expect(expiredLabel).not.toBeInTheDocument(); - }); - - it('should render Expired label and disabled Vote btn, if gauge is expired', async () => { - mockExpiredGauges([gaugeId]); - - renderComponent( - GaugesTable, - { - global, - props: { - data: votingPools, - renderedRowsIdx: 0, - selectVotesDisabled: false, - }, - }, - votingProviderPlugin - ); - - const expiredLabel = queryExpiredLabel(); - const removeVotesBtn = queryRemoveVotesBtn(); - - expect(expiredLabel).toBeVisible(); - expect(removeVotesBtn).not.toBeInTheDocument(); - }); -}); diff --git a/src/composables/useSlippage.spec.ts b/src/composables/useSlippage.spec.ts index 084d37fdb1..3c1a43e05a 100644 --- a/src/composables/useSlippage.spec.ts +++ b/src/composables/useSlippage.spec.ts @@ -1,11 +1,9 @@ import useSlippage from './useSlippage'; import { mountComposable } from '@tests/mount-helpers'; -// TODO: This line is causing flaky tests: -// TypeError: Cannot read properties of undefined (reading 'asyncTaskManager') -// vi.mock('@/providers/user-settings.provider'); +vi.mock('@/providers/user-settings.provider'); -describe.skip('useSlippage', () => { +describe('useSlippage', () => { const { result } = mountComposable(() => useSlippage()); it('Should load', () => { diff --git a/src/lib/config/arbitrum/pools.ts b/src/lib/config/arbitrum/pools.ts index d09687a7f5..2e98026b8b 100644 --- a/src/lib/config/arbitrum/pools.ts +++ b/src/lib/config/arbitrum/pools.ts @@ -72,6 +72,7 @@ const pools: Pools = { '0xe6d48f62a7d87e6bd13c283ca55068f0a73e6a5f0000000000000000000004cc', // USDV/FRAX '0xe6fcb0ac7e05196b0870ae2aeb80dc9079ee1a250000000000000000000004cb', // USDV/USDC '0xef093ccfdd4d5a590b028463e0528049939889c90000000000000000000004cf', // SWEEP/USDC + '0x451b0afd69ace11ec0ac339033d54d2543b088a80000000000000000000004d5', // plsRDNT-Stable ], }, Investment: { @@ -235,6 +236,7 @@ const pools: Pools = { AllowList: [ '0x88e2c969e2a1c69c16d1dcd9f8acde4c6ab3838a0002000000000000000004c1', '0xa1a8bf131571a2139feb79401aa4a2e9482df6270002000000000000000004b4', + '0xdacf5fa19b1f720111609043ac67a9818262850c000000000000000000000635', ], }, Metadata: {}, diff --git a/src/lib/config/mainnet/pools.ts b/src/lib/config/mainnet/pools.ts index fa313b477f..7e1f8250ba 100644 --- a/src/lib/config/mainnet/pools.ts +++ b/src/lib/config/mainnet/pools.ts @@ -144,6 +144,7 @@ const pools: Pools = { '0xa468570db143321bc034bbd74a6cc2694d15b252000000000000000000000629', // SWEEP-USDC-BPT '0xb9debddf1d894c79d2b2d09f819ff9b856fca55200000000000000000000062a', // weETH-WETH-BPT '0x50359088f666a9e70dc00b565ecd9f853a572c7c00000000000000000000062e', // osETH-ETH BPT + '0xdacf5fa19b1f720111609043ac67a9818262850c000000000000000000000635', // osETH/wETH-BPT ], }, Investment: { @@ -461,7 +462,7 @@ const pools: Pools = { AllowList: [ '0x54ca50ee86616379420cc56718e12566aa75abbe000200000000000000000610', // wusdm/wsteth '0x9ca0ffcbae87a66a8f4604bfec724da04e2474ae000000000000000000000621', // usdv/usdc - '0x50359088f666a9e70dc00b565ecd9f853a572c7c00000000000000000000062e', + '0xdacf5fa19b1f720111609043ac67a9818262850c000000000000000000000635', // osETH/WETH ], }, Metadata: {}, diff --git a/src/lib/config/polygon/pools.ts b/src/lib/config/polygon/pools.ts index 7a7718589b..e7f9ed1721 100644 --- a/src/lib/config/polygon/pools.ts +++ b/src/lib/config/polygon/pools.ts @@ -276,6 +276,18 @@ const pools: Pools = { '0xba92fdde8d27540d50dfff601b673bf8ef5614d0000100000000000000000cc8', // STARV3-M-DAO-STARV2-wstETH-ETH(C)/40-25-20-15/StarSeeds_Protocol '0x8cff4f4ae0a3809ff91273bd0cd3e6805462d184000100000000000000000cca', // 25WBTC-25mooCompoundPolygonUSDC-25ICHI_Vault_LP-25ICHI_Vault_LP '0xd041829822b8af6b199c9031a966184ecda086ce000100000000000000000cc7', // STARV3-M-DAO-STARV2-st/WMATIC(C)/33-22-30-15/StarSeeds_Protocol + '0xf313acc24aaa76af362ee4371251312cec90884d000100000000000000000ccc', // STARV3-oRETRO-STARV3-M/40-15-45/StarSeeds_Protocol + '0xc59e114c470c96da70f45e67583a25dca0dbc259000100000000000000000ccd', // STARV3-liveRetro-STARV3-M/33-22-45/StarSeeds_Protocol + '0x9a9563a975e8c61f60620971e10cc09eadc3716c000100000000000000000cce', // STARV3-oRETRO-st/MATIC(C)-wstETH-ETH(C)-STARV3-M/30-15-10-5-40/StarSeeds_Protocol + '0xfe0737e6e22f7e4c39c526a458e44f618af53b40000100000000000000000ccb', // STARV3-M-miMATIC-STARV2/45-18-37/StarSeeds_Protocol + '0x1cfb761fc8e626f83f4e4b235623029e8ca06a42000100000000000000000ccf', // STARV3-tetuQi-STARV3-M/30-20-50/StarSeeds_Protocol + '0xa326d263145bd9849698eee4e0669fc0dedbab70000200000000000000000cd1', // STARV3-st/WMATIC(C)/80-20/StarSeeds_Protocol + '0xb48f108dbd5122a59616db806de59bf347fe6369000200000000000000000cd0', // STARV2-wstETH-ETH(C)/80-20/StarSeeds_Protocol + '0x611ee2908ac1ee2ad84815d3d1489717d6050175000100000000000000000cd2', // STARV3-vQi-STARV3-M/35-20-45/StarSeeds_Protocol + '0x90dccf391004380bdafee7910cdd002b8c4de81d000200000000000000000cd4', // STARV2-DAO/60-40/StarSeeds_Protocol + '0x9eafd3b6d65b0d099747e2942eed730176068267000200000000000000000cd5', // STARV2-st/WMATIC(C)/60-40/StarSeeds_Protocol + '0xa500c998642f1eaa75b099faf381c6403d101cb7000200000000000000000cd3', // STARV3-RETRO/67-33/StarSeeds_Protocol + '0xe5ccde10aa827c643142ea85c3b8200eb1bf7c70000100000000000000000cd6', // STARV3-M-st/MATIC(C)-WBTC-wstETH-ETH(C)/40-20x3/StarSeeds_Protocol ], }, Factories: {