diff --git a/app/delegate/page.page.tsx b/app/delegate/page.page.tsx index dec8df8d..41656d64 100644 --- a/app/delegate/page.page.tsx +++ b/app/delegate/page.page.tsx @@ -2,7 +2,6 @@ import { Metadata } from 'next'; import React from 'react'; import { DelegatePage } from '../../src/delegate/components/DelegatePage'; -import { ComingSoonPage } from '../../src/ui/pages/ComingSoonPage'; import { metaTexts } from '../../src/ui/utils/metaTexts'; export const metadata: Metadata = { @@ -16,6 +15,5 @@ export const metadata: Metadata = { }; export default function Page() { - // return ; - return ; + return ; } diff --git a/app/page.page.tsx b/app/page.page.tsx index e0561de3..5d4cddea 100644 --- a/app/page.page.tsx +++ b/app/page.page.tsx @@ -4,10 +4,8 @@ import { getGovCoreConfigs, } from '@bgd-labs/aave-governance-ui-helpers'; import { Metadata } from 'next'; -import React from 'react'; import { ProposalPageSSR } from '../src/proposals/components/proposalList/ProposalPageSSR'; -import { ComingSoonPage } from '../src/ui/pages/ComingSoonPage'; import { metaTexts } from '../src/ui/utils/metaTexts'; import { appConfig } from '../src/utils/appConfig'; import { githubStartUrl, listViewPath } from '../src/utils/cacheGithubLinks'; @@ -37,80 +35,89 @@ export default async function Page({ }: { searchParams: { [key: string]: string | string[] | undefined }; }) { - // const activePage = !!searchParams['activePage'] - // ? Number(searchParams['activePage']) - 1 - // : 0; - // - // const res = await fetch(`${githubStartUrl}/${listViewPath}`); - // const data = res.ok - // ? ((await res.json()) as PageServerSideData) - // : ({ totalProposalCount: -1, proposals: [] } as PageServerSideData); - // const cachedIds = data.proposals.map((data) => data.id); - // const totalIds = - // data.totalProposalCount >= 0 - // ? Array.from(Array(data.totalProposalCount).keys()).sort((a, b) => b - a) - // : []; - // const startIndex = activePage * 10; // PAGE_SIZE - // let endIndex = startIndex + 10; // PAGE_SIZE - // - // if (endIndex > totalIds.length) { - // endIndex = totalIds.length; - // } - // const idsByPage = totalIds.slice(startIndex, endIndex); - // - // const activeIds: number[] = []; - // for (let i = 0; i < idsByPage.length; i++) { - // let found = false; - // for (let j = 0; j < cachedIds.length; j++) { - // if (idsByPage[i] === cachedIds[j]) { - // found = true; - // break; - // } - // } - // - // if (!found) { - // activeIds.push(idsByPage[i]); - // } - // } - // - // const cachedIdsByPage: number[] = []; - // for (let i = 0; i < idsByPage.length; i++) { - // let found = false; - // for (let j = 0; j < activeIds.length; j++) { - // if (idsByPage[i] === activeIds[j]) { - // found = true; - // break; - // } - // } - // - // if (!found) { - // cachedIdsByPage.push(idsByPage[i]); - // } - // } - // - // const { configs, contractsConstants } = await getGovCoreConfigs({ - // client: initialClients[appConfig.govCoreChainId], - // govCoreContractAddress: appConfig.govCoreConfig.contractAddress, - // govCoreDataHelperContractAddress: - // appConfig.govCoreConfig.dataHelperContractAddress, - // }); - // - // const cachedProposalsData = cachedIdsByPage.map((id) => { - // const proposal = data.proposals.filter((proposal) => proposal.id === id)[0]; - // - // return { - // id: proposal.id, - // proposal: { - // data: { - // id: proposal.id, - // finishedTimestamp: proposal.finishedTimestamp, - // title: proposal.title, - // ipfsHash: proposal.ipfsHash, - // }, - // state: proposal.state, - // }, - // } as CachedProposalDataItemWithId; - // }); + const activePage = !!searchParams['activePage'] + ? Number(searchParams['activePage']) - 1 + : 0; - return ; + const res = await fetch(`${githubStartUrl}/${listViewPath}`); + const data = res.ok + ? ((await res.json()) as PageServerSideData) + : ({ totalProposalCount: -1, proposals: [] } as PageServerSideData); + const cachedIds = data.proposals.map((data) => data.id); + const totalIds = + data.totalProposalCount >= 0 + ? Array.from(Array(data.totalProposalCount).keys()).sort((a, b) => b - a) + : []; + const startIndex = activePage * 10; // PAGE_SIZE + let endIndex = startIndex + 10; // PAGE_SIZE + + if (endIndex > totalIds.length) { + endIndex = totalIds.length; + } + const idsByPage = totalIds.slice(startIndex, endIndex); + + const activeIds: number[] = []; + for (let i = 0; i < idsByPage.length; i++) { + let found = false; + for (let j = 0; j < cachedIds.length; j++) { + if (idsByPage[i] === cachedIds[j]) { + found = true; + break; + } + } + + if (!found) { + activeIds.push(idsByPage[i]); + } + } + + const cachedIdsByPage: number[] = []; + for (let i = 0; i < idsByPage.length; i++) { + let found = false; + for (let j = 0; j < activeIds.length; j++) { + if (idsByPage[i] === activeIds[j]) { + found = true; + break; + } + } + + if (!found) { + cachedIdsByPage.push(idsByPage[i]); + } + } + + const { configs, contractsConstants } = await getGovCoreConfigs({ + client: initialClients[appConfig.govCoreChainId], + govCoreContractAddress: appConfig.govCoreConfig.contractAddress, + govCoreDataHelperContractAddress: + appConfig.govCoreConfig.dataHelperContractAddress, + }); + + const cachedProposalsData = cachedIdsByPage.map((id) => { + const proposal = data.proposals.filter((proposal) => proposal.id === id)[0]; + + return { + id: proposal.id, + proposal: { + data: { + id: proposal.id, + finishedTimestamp: proposal.finishedTimestamp, + title: proposal.title, + ipfsHash: proposal.ipfsHash, + }, + state: proposal.state, + }, + } as CachedProposalDataItemWithId; + }); + + return ( + + ); } diff --git a/app/proposal-create-overview-v2/page.page.tsx b/app/proposal-create-overview-v2/page.page.tsx deleted file mode 100644 index d711cdcb..00000000 --- a/app/proposal-create-overview-v2/page.page.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { Metadata } from 'next'; -import React from 'react'; - -import { ProposalCreateOverviewV2Page } from '../../src/proposalCreateOverviewV2/components/ProposalCreateOverviewV2Page'; -import { metaTexts } from '../../src/ui/utils/metaTexts'; - -export const metadata: Metadata = { - title: metaTexts.ipfsTitle, - description: metaTexts.ipfsDescription, - openGraph: { - images: ['/metaLogo.jpg'], - title: metaTexts.ipfsTitle, - description: metaTexts.ipfsDescription, - }, -}; - -export default function ProposalCreateOverviewV2() { - return ; -} diff --git a/app/proposal/page.page.tsx b/app/proposal/page.page.tsx index e2abf3a0..eab07f06 100644 --- a/app/proposal/page.page.tsx +++ b/app/proposal/page.page.tsx @@ -11,7 +11,6 @@ import type { Metadata } from 'next'; import React from 'react'; import { ProposalClientPageSSR } from '../../src/proposals/components/proposal/ProposalClientPageSSR'; -import { ComingSoonPage } from '../../src/ui/pages/ComingSoonPage'; import { metaTexts } from '../../src/ui/utils/metaTexts'; import { appConfig } from '../../src/utils/appConfig'; import { @@ -22,174 +21,172 @@ import { } from '../../src/utils/cacheGithubLinks'; import { initialClients } from '../../src/utils/initialClients'; -// export const revalidate = 0; -// -// type Props = { -// params: { id: string }; -// searchParams: { [key: string]: string | string[] | undefined }; -// }; - -// export async function generateMetadata({ -// searchParams, -// }: Props): Promise { -// const proposalId = !!searchParams['proposalId'] -// ? String(searchParams['proposalId']) -// : undefined; -// const ipfsHash = !!searchParams['ipfsHash'] -// ? String(searchParams['ipfsHash']) -// : undefined; -// -// if (ipfsHash && proposalId) { -// const ipfsData = await getProposalMetadata(ipfsHash); -// -// return { -// title: `${metaTexts.main}${metaTexts.proposalId(proposalId)}`, -// description: ipfsData.title, -// openGraph: { -// images: ['/metaLogo.jpg'], -// title: `${metaTexts.main}${metaTexts.proposalId(proposalId)}`, -// description: ipfsData.title, -// }, -// }; -// } -// -// return { -// title: `${metaTexts.ipfsTitle}`, -// description: metaTexts.ipfsDescription, -// openGraph: { -// images: ['/metaLogo.jpg'], -// title: `${metaTexts.ipfsTitle}`, -// description: metaTexts.ipfsDescription, -// }, -// }; -// } -// +export const revalidate = 0; + +type Props = { + params: { id: string }; + searchParams: { [key: string]: string | string[] | undefined }; +}; + +export async function generateMetadata({ + searchParams, +}: Props): Promise { + const proposalId = !!searchParams['proposalId'] + ? String(searchParams['proposalId']) + : undefined; + const ipfsHash = !!searchParams['ipfsHash'] + ? String(searchParams['ipfsHash']) + : undefined; + + if (ipfsHash && proposalId) { + const ipfsData = await getProposalMetadata(ipfsHash); + + return { + title: `${metaTexts.main}${metaTexts.proposalId(proposalId)}`, + description: ipfsData.title, + openGraph: { + images: ['/metaLogo.jpg'], + title: `${metaTexts.main}${metaTexts.proposalId(proposalId)}`, + description: ipfsData.title, + }, + }; + } + + return { + title: `${metaTexts.ipfsTitle}`, + description: metaTexts.ipfsDescription, + openGraph: { + images: ['/metaLogo.jpg'], + title: `${metaTexts.ipfsTitle}`, + description: metaTexts.ipfsDescription, + }, + }; +} + export default async function ProposalPage({ searchParams, }: { searchParams: { [key: string]: string | string[] | undefined }; }) { - // // params - // const proposalId = !!searchParams['proposalId'] - // ? String(searchParams['proposalId']) - // : undefined; - // const ipfsHash = !!searchParams['ipfsHash'] - // ? String(searchParams['ipfsHash']) - // : undefined; - // const id = Number(proposalId); - // - // // contracts - // const govCore = govCoreContract({ - // contractAddress: appConfig.govCoreConfig.contractAddress, - // client: initialClients[appConfig.govCoreChainId], - // }); - // - // // cached data - // const resCachedProposalsIds = await fetch( - // `${githubStartUrl}${cachedProposalsIdsPath}`, - // ); - // const cachedProposalsIdsData = resCachedProposalsIds.ok - // ? ((await resCachedProposalsIds.json()) as { - // cachedProposalsIds: number[]; - // }) - // : { cachedProposalsIds: [] }; - // - // const resCachedDetails = await fetch( - // `${githubStartUrl}${cachedDetailsPath(id)}`, - // ); - // const cachedDetailsData = resCachedDetails.ok - // ? ((await resCachedDetails.json()) as CachedDetails) - // : undefined; - // - // const resCachedVotes = await fetch(`${githubStartUrl}${cachedVotesPath(id)}`); - // const cachedVotesData = resCachedVotes.ok - // ? await resCachedVotes.json() - // : undefined; - // - // // data from contracts - // const { configs, contractsConstants } = await getGovCoreConfigs({ - // client: initialClients[appConfig.govCoreChainId], - // govCoreContractAddress: appConfig.govCoreConfig.contractAddress, - // govCoreDataHelperContractAddress: - // appConfig.govCoreConfig.dataHelperContractAddress, - // }); - // - // const proposalsCountInitial = await govCore.read.getProposalsCount(); - // const proposalCount = Number(proposalsCountInitial); - // - // // format data - // const proposalConfig = configs.filter( - // (config) => config.accessLevel === cachedDetailsData?.proposal.accessLevel, - // )[0]; - // - // const executionPayloadTime = Math.max.apply( - // null, - // cachedDetailsData?.payloads.map((payload) => payload.delay) || [0], - // ); - // - // let proposalDataSSR: ProposalWithLoadings | undefined = undefined; - // if (cachedDetailsData) { - // const basicProposalData = { - // ...cachedDetailsData.proposal, - // votingMachineState: getVotingMachineProposalState( - // cachedDetailsData.proposal, - // ), - // payloads: cachedDetailsData.payloads || [], - // title: cachedDetailsData.ipfs.title || `Proposal #${id}`, - // prerender: true, - // }; - // - // const proposalDataWithoutState = { - // data: basicProposalData, - // precisionDivider: contractsConstants.precisionDivider, - // balances: [], - // config: proposalConfig, - // timings: { - // cooldownPeriod: contractsConstants.cooldownPeriod, - // expirationTime: contractsConstants.expirationTime, - // executionPayloadTime, - // }, - // }; - // - // const state = getProposalState({ - // proposalData: proposalDataWithoutState.data, - // quorum: proposalDataWithoutState.config.quorum, - // differential: proposalDataWithoutState.config.differential, - // precisionDivider: proposalDataWithoutState.precisionDivider, - // cooldownPeriod: proposalDataWithoutState.timings.cooldownPeriod, - // executionPayloadTime: - // proposalDataWithoutState.timings.executionPayloadTime, - // }); - // - // proposalDataSSR = { - // loading: false, - // balanceLoading: true, - // proposal: { - // ...proposalDataWithoutState, - // state, - // }, - // } as ProposalWithLoadings; - // } - // - // const ipfsDataSSR = cachedDetailsData?.ipfs - // ? undefined - // : ipfsHash - // ? await getProposalMetadata(ipfsHash) - // : undefined; - - // return ( - // - // ); - - return ; + // params + const proposalId = !!searchParams['proposalId'] + ? String(searchParams['proposalId']) + : undefined; + const ipfsHash = !!searchParams['ipfsHash'] + ? String(searchParams['ipfsHash']) + : undefined; + const id = Number(proposalId); + + // contracts + const govCore = govCoreContract({ + contractAddress: appConfig.govCoreConfig.contractAddress, + client: initialClients[appConfig.govCoreChainId], + }); + + // cached data + const resCachedProposalsIds = await fetch( + `${githubStartUrl}${cachedProposalsIdsPath}`, + ); + const cachedProposalsIdsData = resCachedProposalsIds.ok + ? ((await resCachedProposalsIds.json()) as { + cachedProposalsIds: number[]; + }) + : { cachedProposalsIds: [] }; + + const resCachedDetails = await fetch( + `${githubStartUrl}${cachedDetailsPath(id)}`, + ); + const cachedDetailsData = resCachedDetails.ok + ? ((await resCachedDetails.json()) as CachedDetails) + : undefined; + + const resCachedVotes = await fetch(`${githubStartUrl}${cachedVotesPath(id)}`); + const cachedVotesData = resCachedVotes.ok + ? await resCachedVotes.json() + : undefined; + + // data from contracts + const { configs, contractsConstants } = await getGovCoreConfigs({ + client: initialClients[appConfig.govCoreChainId], + govCoreContractAddress: appConfig.govCoreConfig.contractAddress, + govCoreDataHelperContractAddress: + appConfig.govCoreConfig.dataHelperContractAddress, + }); + + const proposalsCountInitial = await govCore.read.getProposalsCount(); + const proposalCount = Number(proposalsCountInitial); + + // format data + const proposalConfig = configs.filter( + (config) => config.accessLevel === cachedDetailsData?.proposal.accessLevel, + )[0]; + + const executionPayloadTime = Math.max.apply( + null, + cachedDetailsData?.payloads.map((payload) => payload.delay) || [0], + ); + + let proposalDataSSR: ProposalWithLoadings | undefined = undefined; + if (cachedDetailsData) { + const basicProposalData = { + ...cachedDetailsData.proposal, + votingMachineState: getVotingMachineProposalState( + cachedDetailsData.proposal, + ), + payloads: cachedDetailsData.payloads || [], + title: cachedDetailsData.ipfs.title || `Proposal #${id}`, + prerender: true, + }; + + const proposalDataWithoutState = { + data: basicProposalData, + precisionDivider: contractsConstants.precisionDivider, + balances: [], + config: proposalConfig, + timings: { + cooldownPeriod: contractsConstants.cooldownPeriod, + expirationTime: contractsConstants.expirationTime, + executionPayloadTime, + }, + }; + + const state = getProposalState({ + proposalData: proposalDataWithoutState.data, + quorum: proposalDataWithoutState.config.quorum, + differential: proposalDataWithoutState.config.differential, + precisionDivider: proposalDataWithoutState.precisionDivider, + cooldownPeriod: proposalDataWithoutState.timings.cooldownPeriod, + executionPayloadTime: + proposalDataWithoutState.timings.executionPayloadTime, + }); + + proposalDataSSR = { + loading: false, + balanceLoading: true, + proposal: { + ...proposalDataWithoutState, + state, + }, + } as ProposalWithLoadings; + } + + const ipfsDataSSR = cachedDetailsData?.ipfs + ? undefined + : ipfsHash + ? await getProposalMetadata(ipfsHash) + : undefined; + + return ( + + ); } diff --git a/app/representations/page.page.tsx b/app/representations/page.page.tsx index 7c86b011..f7b808e1 100644 --- a/app/representations/page.page.tsx +++ b/app/representations/page.page.tsx @@ -2,7 +2,6 @@ import { Metadata } from 'next'; import React from 'react'; import { RepresentationsPage } from '../../src/representations/components/RepresentationsPage'; -import { ComingSoonPage } from '../../src/ui/pages/ComingSoonPage'; import { metaTexts } from '../../src/ui/utils/metaTexts'; export const metadata: Metadata = { @@ -16,6 +15,5 @@ export const metadata: Metadata = { }; export default function Page() { - // return ; - return ; + return ; } diff --git a/package.json b/package.json index dfbe7f1d..f3d2434e 100644 --- a/package.json +++ b/package.json @@ -30,16 +30,16 @@ "test": "NODE_OPTIONS=--experimental-vm-modules jest --watch" }, "dependencies": { - "@bgd-labs/aave-address-book": "^2.13.0", - "@bgd-labs/aave-governance-ui-helpers": "^1.0.8", + "@bgd-labs/aave-address-book": "^2.13.3", + "@bgd-labs/aave-governance-ui-helpers": "^1.0.9", "@bgd-labs/frontend-web3-utils": "^1.0.3", "@emotion/cache": "^11.11.0", - "@emotion/react": "^11.11.1", + "@emotion/react": "^11.11.3", "@emotion/server": "^11.11.0", "@emotion/styled": "^11.11.0", "@gelatonetwork/relay-sdk": "^5.5.5", "@headlessui/react": "^1.7.17", - "@mui/system": "^5.15.0", + "@mui/system": "^5.15.2", "@safe-global/safe-deployments": "^1.29.0", "alova": "2.13.0", "bignumber.js": "^9.1.2", @@ -58,8 +58,8 @@ "next-themes": "^0.2.1", "nextjs-toploader": "^1.6.4", "nprogress": "^0.2.0", - "pino-pretty": "^10.2.3", - "prism-react-renderer": "^2.3.0", + "pino-pretty": "^10.3.0", + "prism-react-renderer": "^2.3.1", "prismjs": "^1.29.0", "proxy-memoize": "^2.0.4", "query-string": "^8.1.0", @@ -91,17 +91,17 @@ "@types/react-copy-to-clipboard": "^5.0.7", "@types/react-dom": "18.2.16", "@types/react-paginate": "^7.1.4", - "@typescript-eslint/eslint-plugin": "^6.14.0", - "@typescript-eslint/parser": "^6.14.0", + "@typescript-eslint/eslint-plugin": "^6.16.0", + "@typescript-eslint/parser": "^6.16.0", "babel-loader": "^9.1.3", - "eslint": "^8.55.0", + "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-config-react-app": "^7.0.1", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-prettier": "^5.0.1", + "eslint-plugin-prettier": "^5.1.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-simple-import-sort": "^10.0.0", - "html-webpack-plugin": "^5.5.4", + "html-webpack-plugin": "^5.6.0", "husky": "^8.0.3", "identity-obj-proxy": "^3.0.0", "lint-staged": "^15.2.0", diff --git a/pages/delegate.tsx b/pages/delegate.tsx index bf0f446e..b74d2dc2 100644 --- a/pages/delegate.tsx +++ b/pages/delegate.tsx @@ -1,7 +1,5 @@ import { DelegatePage } from '../src/delegate/components/DelegatePage'; -import { ComingSoonPage } from '../src/ui/pages/ComingSoonPage'; export default function Delegate() { - // return ; - return ; + return ; } diff --git a/pages/index.tsx b/pages/index.tsx index ea99cc0d..c0686b09 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,7 +1,5 @@ import { ProposalPage } from '../src/proposals/components/proposalList/ProposalPage'; -import { ComingSoonPage } from '../src/ui/pages/ComingSoonPage'; export default function Home() { - // return ; - return ; + return ; } diff --git a/pages/proposal-create-overview-v2.tsx b/pages/proposal-create-overview-v2.tsx deleted file mode 100644 index f6598654..00000000 --- a/pages/proposal-create-overview-v2.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { ProposalCreateOverviewV2Page } from '../src/proposalCreateOverviewV2/components/ProposalCreateOverviewV2Page'; - -export default function ProposalCreateOverviewV2() { - return ; -} diff --git a/pages/proposal.tsx b/pages/proposal.tsx index 6a7d0ad6..232c2822 100644 --- a/pages/proposal.tsx +++ b/pages/proposal.tsx @@ -1,7 +1,5 @@ import { ProposalClientPage } from '../src/proposals/components/proposal/ProposalClientPage'; -import { ComingSoonPage } from '../src/ui/pages/ComingSoonPage'; export default function Proposal() { - // return ; - return ; + return ; } diff --git a/pages/representations.tsx b/pages/representations.tsx index 00e7b750..1f07c8f3 100644 --- a/pages/representations.tsx +++ b/pages/representations.tsx @@ -1,7 +1,5 @@ import { RepresentationsPage } from '../src/representations/components/RepresentationsPage'; -import { ComingSoonPage } from '../src/ui/pages/ComingSoonPage'; export default function Representations() { - // return ; - return ; + return ; } diff --git a/public/images/ComingF_Dark.svg b/public/images/ComingF_Dark.svg deleted file mode 100644 index c9c91b3c..00000000 --- a/public/images/ComingF_Dark.svg +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/images/ComingF_Light.svg b/public/images/ComingF_Light.svg deleted file mode 100644 index e2a918d0..00000000 --- a/public/images/ComingF_Light.svg +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/images/ComingF_Mob_dark.svg b/public/images/ComingF_Mob_dark.svg deleted file mode 100644 index 67eedd29..00000000 --- a/public/images/ComingF_Mob_dark.svg +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/images/ComingF_Mob_light.svg b/public/images/ComingF_Mob_light.svg deleted file mode 100644 index 278cd30b..00000000 --- a/public/images/ComingF_Mob_light.svg +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/proposalCreateOverviewV2/components/ProposalCreateOverviewV2Page.tsx b/src/proposalCreateOverviewV2/components/ProposalCreateOverviewV2Page.tsx deleted file mode 100644 index 345ce84f..00000000 --- a/src/proposalCreateOverviewV2/components/ProposalCreateOverviewV2Page.tsx +++ /dev/null @@ -1,110 +0,0 @@ -'use client'; - -import { Box } from '@mui/system'; -import { useRouter } from 'next/navigation'; -import React, { useEffect } from 'react'; -import { zeroAddress } from 'viem'; - -import { ProposalListItemWrapper } from '../../proposals/components/proposalList/ProposalListItemWrapper'; -import { useStore } from '../../store'; -import { BackButton3D, Container, Link, SmallButton } from '../../ui'; -import { CopyAndExternalIconsSet } from '../../ui/components/CopyAndExternalIconsSet'; -import { TopPanelContainer } from '../../ui/components/TopPanelContainer'; -import { ROUTES } from '../../ui/utils/routes'; -import { appConfig } from '../../utils/appConfig'; -import { chainInfoHelper } from '../../utils/configs'; - -export function ProposalCreateOverviewV2Page() { - const router = useRouter(); - - const { getProposalCreatedEventsData, proposalCreatedEventsData } = - useStore(); - - useEffect(() => { - getProposalCreatedEventsData(); - }, []); - - return ( - <> - - - - - - - {!proposalCreatedEventsData.length ? ( -

Data requested, please wait a moment for the result

- ) : ( - proposalCreatedEventsData.map((item) => { - const payloadsLinks = Object.values(item.payloads).map( - (payload, index) => { - return `&proposalId=${item.proposalId}&payload[${index}].chainId=${payload.chainId}&payload[${index}].accessLevel=${payload.accessLevel}&payload[${index}].payloadsController=${payload.payloadsController}&payload[${index}].payloadId=${payload.payloadId}&`; - }, - ); - - return ( - - - - Proposal Id: {item.proposalId} - - - - - Creator: {item.creator} - - - - - - - - View details - - - - - ); - }) - )} -
-
- - ); -} diff --git a/src/proposalCreateOverviewV2/store/proposalCreateOverviewV2Slice.ts b/src/proposalCreateOverviewV2/store/proposalCreateOverviewV2Slice.ts deleted file mode 100644 index da19ee5b..00000000 --- a/src/proposalCreateOverviewV2/store/proposalCreateOverviewV2Slice.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { - AaveGovernanceV2, - IAaveGovernanceV2_ABI, -} from '@bgd-labs/aave-address-book'; -import { getEventsBySteps } from '@bgd-labs/aave-governance-ui-helpers'; -import { StoreSlice } from '@bgd-labs/frontend-web3-utils'; -import { decodeAbiParameters, Hex } from 'viem'; - -import { IProposalsSlice } from '../../proposals/store/proposalsSlice'; -import { IRpcSwitcherSlice } from '../../rpcSwitcher/store/rpcSwitcherSlice'; -import { TransactionsSlice } from '../../transactions/store/transactionsSlice'; -import { IUISlice } from '../../ui/store/uiSlice'; -import { appConfig } from '../../utils/appConfig'; -import { IEnsSlice } from '../../web3/store/ensSlice'; -import { IWeb3Slice } from '../../web3/store/web3Slice'; - -type CreatedEventCallDataPayload = { - chainId: number; - accessLevel: number; - payloadsController: string; - payloadId: number; -}; - -export type CreatedEventData = { - proposalId: number; - ipfsHash: Hex; - creator: Hex; - payloads: Record; -}; -export interface IProposalCreateOverviewV2Slice { - proposalCreatedEventsData: CreatedEventData[]; - getProposalCreatedEventsData: () => Promise; -} - -export const createProposalCreateOverviewV2Slice: StoreSlice< - IProposalCreateOverviewV2Slice, - IWeb3Slice & - TransactionsSlice & - IProposalsSlice & - IUISlice & - IEnsSlice & - IRpcSwitcherSlice -> = (set, get) => ({ - proposalCreatedEventsData: [], - - getProposalCreatedEventsData: async () => { - const govCore = get().govDataService.govCore; - const client = get().clients[appConfig.govCoreChainId]; - - const currentBlock = await client.getBlock(); - - const events = async (startBlock: number, endBlock: number) => - await client.getContractEvents({ - address: AaveGovernanceV2.GOV, - abi: IAaveGovernanceV2_ABI, - eventName: 'ProposalCreated', - fromBlock: BigInt(startBlock), - toBlock: BigInt(endBlock), - }); - - const data = await getEventsBySteps( - Number(currentBlock.number) - Math.ceil(2000000 / 15), - Number(currentBlock.number), - 799, - events, - ); - - const formattedData = data - .map((data) => data.args) - .sort((a, b) => Number(b.id) - Number(a.id)) - .filter( - (data) => - data.targets?.every( - (target) => target.toLowerCase() === govCore.address.toLowerCase(), - ), - ) - .map((data) => { - const formattedCallDatas = - data.calldatas?.map((callData) => { - return decodeAbiParameters( - [ - { name: 'chainId', type: 'uint256' }, - { name: 'accessLevel', type: 'uint8' }, - { name: 'payloadsController', type: 'address' }, - { name: 'payloadId', type: 'uint40' }, - ], - callData, - ); - }) || []; - - const payloadsData: Record = {}; - formattedCallDatas.forEach((data) => { - const itemData: CreatedEventCallDataPayload = { - chainId: Number(data[0]), - accessLevel: data[1], - payloadsController: data[2], - payloadId: data[3], - }; - payloadsData[`${itemData.payloadsController}_${itemData.payloadId}`] = - itemData; - }); - - return { - proposalId: Number(data.id), - ipfsHash: data.ipfsHash, - creator: data.creator, - payloads: payloadsData, - } as CreatedEventData; - }); - - set({ proposalCreatedEventsData: formattedData }); - }, -}); diff --git a/src/proposals/store/proposalsSlice.ts b/src/proposals/store/proposalsSlice.ts index 054c8d8f..8fc5fa4e 100644 --- a/src/proposals/store/proposalsSlice.ts +++ b/src/proposals/store/proposalsSlice.ts @@ -24,7 +24,6 @@ import { Hex } from 'viem'; import { IDelegationSlice } from '../../delegate/store/delegationSlice'; import { IPayloadsExplorerSlice } from '../../payloadsExplorer/store/payloadsExplorerSlice'; import { IProposalCreateOverviewSlice } from '../../proposalCreateOverview/store/proposalCreateOverviewSlice'; -import { IProposalCreateOverviewV2Slice } from '../../proposalCreateOverviewV2/store/proposalCreateOverviewV2Slice'; import { IRepresentationsSlice } from '../../representations/store/representationsSlice'; import { IRpcSwitcherSlice } from '../../rpcSwitcher/store/rpcSwitcherSlice'; import { @@ -219,8 +218,7 @@ export const createProposalsSlice: StoreSlice< IEnsSlice & IRpcSwitcherSlice & IProposalCreateOverviewSlice & - IPayloadsExplorerSlice & - IProposalCreateOverviewV2Slice + IPayloadsExplorerSlice > = (set, get) => ({ isInitialLoading: true, diff --git a/src/store/index.ts b/src/store/index.ts index 48a9156f..05b8bf8c 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -16,10 +16,6 @@ import { createProposalCreateOverviewSlice, IProposalCreateOverviewSlice, } from '../proposalCreateOverview/store/proposalCreateOverviewSlice'; -import { - createProposalCreateOverviewV2Slice, - IProposalCreateOverviewV2Slice, -} from '../proposalCreateOverviewV2/store/proposalCreateOverviewV2Slice'; import { createProposalsHistorySlice, IProposalsHistorySlice, @@ -60,8 +56,7 @@ export type RootState = IProposalsSlice & IEnsSlice & IRpcSwitcherSlice & IProposalCreateOverviewSlice & - IPayloadsExplorerSlice & - IProposalCreateOverviewV2Slice; + IPayloadsExplorerSlice; const createRootSlice = ( set: StoreApi['setState'], @@ -79,7 +74,6 @@ const createRootSlice = ( ...createRpcSwitcherSlice(set, get), ...createProposalCreateOverviewSlice(set, get), ...createPayloadsExplorerSlice(set, get), - ...createProposalCreateOverviewV2Slice(set, get), }); export const useStore = create(devtools(createRootSlice, { serialize: true })); diff --git a/src/transactions/store/transactionsSlice.ts b/src/transactions/store/transactionsSlice.ts index 8231408e..6843c95f 100644 --- a/src/transactions/store/transactionsSlice.ts +++ b/src/transactions/store/transactionsSlice.ts @@ -13,7 +13,6 @@ import { IDelegationSlice } from '../../delegate/store/delegationSlice'; import { DelegateData, DelegateItem } from '../../delegate/types'; import { IPayloadsExplorerSlice } from '../../payloadsExplorer/store/payloadsExplorerSlice'; import { IProposalCreateOverviewSlice } from '../../proposalCreateOverview/store/proposalCreateOverviewSlice'; -import { IProposalCreateOverviewV2Slice } from '../../proposalCreateOverviewV2/store/proposalCreateOverviewV2Slice'; import { IProposalsHistorySlice } from '../../proposals/store/proposalsHistorySlice'; import { IProposalsListCacheSlice } from '../../proposals/store/proposalsListCacheSlice'; import { getProposalDataById } from '../../proposals/store/proposalsSelectors'; @@ -189,8 +188,7 @@ export const createTransactionsSlice: StoreSlice< IEnsSlice & IRpcSwitcherSlice & IProposalCreateOverviewSlice & - IPayloadsExplorerSlice & - IProposalCreateOverviewV2Slice + IPayloadsExplorerSlice > = (set, get) => ({ ...createBaseTransactionsSlice({ txStatusChangedCallback: async (data) => { diff --git a/src/ui/pages/ComingSoonPage.tsx b/src/ui/pages/ComingSoonPage.tsx deleted file mode 100644 index 62b2104e..00000000 --- a/src/ui/pages/ComingSoonPage.tsx +++ /dev/null @@ -1,42 +0,0 @@ -'use client'; - -import { Box, useTheme } from '@mui/system'; - -import { Container } from '../primitives/Container'; - -export function ComingSoonPage() { - const theme = useTheme(); - - return ( - - - - ); -} diff --git a/src/ui/utils/routes.ts b/src/ui/utils/routes.ts index af1212d2..bf3553ab 100644 --- a/src/ui/utils/routes.ts +++ b/src/ui/utils/routes.ts @@ -6,6 +6,5 @@ export const ROUTES = { `/proposal?proposalId=${proposalId}&ipfsHash=${ipfsHash}`, rpcSwitcher: '/rpc-switcher', proposalCreateOverview: '/proposal-create-overview', - proposalCreateOverviewV2: '/proposal-create-overview-v2', payloadsExplorer: '/payloads-explorer', }; diff --git a/yarn.lock b/yarn.lock index db678eb6..770b3972 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1210,7 +1210,7 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/runtime@^7.23.5": +"@babel/runtime@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.6.tgz#c05e610dc228855dc92ef1b53d07389ed8ab521d" integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ== @@ -1276,15 +1276,15 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" -"@bgd-labs/aave-address-book@^2.13.0": - version "2.13.0" - resolved "https://registry.yarnpkg.com/@bgd-labs/aave-address-book/-/aave-address-book-2.13.0.tgz#1c2dc3f8fdcb6d37e74715bc04261f9eed71c5ca" - integrity sha512-Ai1q9nW6WpY+R9EtfAaN4Qz8vRQZCIksvQler4Jr7XotyhRNBK9j8kMl4wCK9iO2jOKdEX3n7I0IB+xxAOCzLQ== +"@bgd-labs/aave-address-book@^2.13.3": + version "2.13.3" + resolved "https://registry.yarnpkg.com/@bgd-labs/aave-address-book/-/aave-address-book-2.13.3.tgz#a115c2677aeadd0398caa096436395fe07f4cf48" + integrity sha512-9WQekYTCjeAuqjRouLHvYdE9R86Hp4m5v9QJhr9zGpsl8OE/YxpmI6QEz6o0gHMB3D6DhqwAZ3nakCouz7Cb+w== -"@bgd-labs/aave-governance-ui-helpers@^1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@bgd-labs/aave-governance-ui-helpers/-/aave-governance-ui-helpers-1.0.8.tgz#5a1b85dabedb4d6d35e2c3bcd902913b02003c76" - integrity sha512-iZ4t9zJ7KU3pzibpjJ3BjJ+XzZbWhfefXQqAUXdrapiZgpL1fxG/P31n6cKYMs0wvOs77NmUK+OPymG2lpHF9g== +"@bgd-labs/aave-governance-ui-helpers@^1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@bgd-labs/aave-governance-ui-helpers/-/aave-governance-ui-helpers-1.0.9.tgz#68e06aa9857dbcfaa2ebca51bccb616b8d6196e3" + integrity sha512-yU25lQyWHwXafXfvllpHxnP4zA5xF3urxTpQ2pskxmsEPFSbVuaRI6KpT/mrYZHzCwjSsS2ST8bpxs4f0L1oJA== dependencies: bs58 "^5.0.0" dayjs "^1.11.10" @@ -1365,15 +1365,15 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== -"@emotion/react@^11.11.1": - version "11.11.1" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.1.tgz#b2c36afac95b184f73b08da8c214fdf861fa4157" - integrity sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA== +"@emotion/react@^11.11.3": + version "11.11.3" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.3.tgz#96b855dc40a2a55f52a72f518a41db4f69c31a25" + integrity sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA== dependencies: "@babel/runtime" "^7.18.3" "@emotion/babel-plugin" "^11.11.0" "@emotion/cache" "^11.11.0" - "@emotion/serialize" "^1.1.2" + "@emotion/serialize" "^1.1.3" "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" "@emotion/utils" "^1.2.1" "@emotion/weak-memoize" "^0.3.1" @@ -1390,6 +1390,17 @@ "@emotion/utils" "^1.2.1" csstype "^3.0.2" +"@emotion/serialize@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.3.tgz#84b77bfcfe3b7bb47d326602f640ccfcacd5ffb0" + integrity sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA== + dependencies: + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/unitless" "^0.8.1" + "@emotion/utils" "^1.2.1" + csstype "^3.0.2" + "@emotion/server@^11.11.0": version "11.11.0" resolved "https://registry.yarnpkg.com/@emotion/server/-/server-11.11.0.tgz#35537176a2a5ed8aed7801f254828e636ec3bd6e" @@ -1464,10 +1475,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.55.0": - version "8.55.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.55.0.tgz#b721d52060f369aa259cf97392403cb9ce892ec6" - integrity sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA== +"@eslint/js@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" + integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== "@gelatonetwork/relay-sdk@^5.5.5": version "5.5.5" @@ -1646,35 +1657,35 @@ "@motionone/dom" "^10.16.4" tslib "^2.3.1" -"@mui/private-theming@^5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.0.tgz#96de66ce097ba417e1b6b769cd67cbf516bd8876" - integrity sha512-7WxtIhXxNek0JjtsYy+ut2LtFSLpsUW5JSDehQO+jF7itJ8ehy7Bd9bSt2yIllbwGjCFowLfYpPk2Ykgvqm1tA== +"@mui/private-theming@^5.15.2": + version "5.15.2" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.2.tgz#8a3f1e6c800dc48d7742cfafea336e765f80085f" + integrity sha512-KlXx5TH1Mw9omSY+Q6rz5TA/P71meSYaAOeopiW8s6o433+fnOxS17rZbmd1RnDZGCo+j24TfCavQuCMBAZnQA== dependencies: - "@babel/runtime" "^7.23.5" - "@mui/utils" "^5.15.0" + "@babel/runtime" "^7.23.6" + "@mui/utils" "^5.15.2" prop-types "^15.8.1" -"@mui/styled-engine@^5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.0.tgz#44e068dbb855699053b9e6e4e6d3ed5efe98b7d9" - integrity sha512-6NysIsHkuUS2lF+Lzv1jiK3UjBJk854/vKVcJQVGKlPiqNEVZJNlwaSpsaU5xYXxWEZYfbVFSAomLOS/LV/ovQ== +"@mui/styled-engine@^5.15.2": + version "5.15.2" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.2.tgz#3acf1c56275ccab9fa6028209537c49eec8397b3" + integrity sha512-fYEN3IZzbebeHwAmQHhxwruiOIi8W74709qXg/7tgtHV4byQSmPgnnKsZkg0hFlzjEbcJIRZyZI0qEecgpR2cg== dependencies: - "@babel/runtime" "^7.23.5" + "@babel/runtime" "^7.23.6" "@emotion/cache" "^11.11.0" csstype "^3.1.2" prop-types "^15.8.1" -"@mui/system@^5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.0.tgz#d4f6fd65ad8e404d4d7c7b56d755d2a63b0edddb" - integrity sha512-8TPjfTlYBNB7/zBJRL4QOD9kImwdZObbiYNh0+hxvhXr2koezGx8USwPXj8y/JynbzGCkIybkUztCdWlMZe6OQ== +"@mui/system@^5.15.2": + version "5.15.2" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.2.tgz#13e618355b973729fbb39bd49dce46a7e88cbe28" + integrity sha512-I7CzLiHDtU/BTobJgSk+wPGGWG95K8lYfdFEnq//wOgSrLDAdOVvl2gleDxJWO+yAbGz4RKEOnR9KuD+xQZH4A== dependencies: - "@babel/runtime" "^7.23.5" - "@mui/private-theming" "^5.15.0" - "@mui/styled-engine" "^5.15.0" + "@babel/runtime" "^7.23.6" + "@mui/private-theming" "^5.15.2" + "@mui/styled-engine" "^5.15.2" "@mui/types" "^7.2.11" - "@mui/utils" "^5.15.0" + "@mui/utils" "^5.15.2" clsx "^2.0.0" csstype "^3.1.2" prop-types "^15.8.1" @@ -1684,12 +1695,12 @@ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.11.tgz#36b99a88f8010dc716128e568dc05681a69dc7ae" integrity sha512-KWe/QTEsFFlFSH+qRYf3zoFEj3z67s+qAuSnMMg+gFwbxG7P96Hm6g300inQL1Wy///gSRb8juX7Wafvp93m3w== -"@mui/utils@^5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.0.tgz#87b4db92dd2ddf3e2676377427f50662124013b4" - integrity sha512-XSmTKStpKYamewxyJ256+srwEnsT3/6eNo6G7+WC1tj2Iq9GfUJ/6yUoB7YXjOD2jTZ3XobToZm4pVz1LBt6GA== +"@mui/utils@^5.15.2": + version "5.15.2" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.2.tgz#9c66994cf2a370baee1bd49ae408ab149280f7a6" + integrity sha512-6dGM9/guFKBlFRHA7/mbM+E7wE7CYDy9Ny4JLtD3J+NTyhi8nd8YxlzgAgTaTVqY0BpdQ2zdfB/q6+p2EdGM0w== dependencies: - "@babel/runtime" "^7.23.5" + "@babel/runtime" "^7.23.6" "@types/prop-types" "^15.7.11" prop-types "^15.8.1" react-is "^18.2.0" @@ -1893,7 +1904,7 @@ "@parcel/watcher-win32-ia32" "2.3.0" "@parcel/watcher-win32-x64" "2.3.0" -"@pkgr/utils@^2.3.1": +"@pkgr/utils@^2.4.2": version "2.4.2" resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.2.tgz#9e638bbe9a6a6f165580dc943f138fd3309a2cbc" integrity sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw== @@ -2432,16 +2443,16 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/eslint-plugin@^6.14.0": - version "6.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz#fc1ab5f23618ba590c87e8226ff07a760be3dd7b" - integrity sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw== +"@typescript-eslint/eslint-plugin@^6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.16.0.tgz#cc29fbd208ea976de3db7feb07755bba0ce8d8bc" + integrity sha512-O5f7Kv5o4dLWQtPX4ywPPa+v9G+1q1x8mz0Kr0pXUtKsevo+gIJHLkGc8RxaZWtP8RrhwhSNIWThnW42K9/0rQ== dependencies: "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.14.0" - "@typescript-eslint/type-utils" "6.14.0" - "@typescript-eslint/utils" "6.14.0" - "@typescript-eslint/visitor-keys" "6.14.0" + "@typescript-eslint/scope-manager" "6.16.0" + "@typescript-eslint/type-utils" "6.16.0" + "@typescript-eslint/utils" "6.16.0" + "@typescript-eslint/visitor-keys" "6.16.0" debug "^4.3.4" graphemer "^1.4.0" ignore "^5.2.4" @@ -2466,15 +2477,15 @@ "@typescript-eslint/typescript-estree" "5.62.0" debug "^4.3.4" -"@typescript-eslint/parser@^6.14.0": - version "6.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.14.0.tgz#a2d6a732e0d2b95c73f6a26ae7362877cc1b4212" - integrity sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA== +"@typescript-eslint/parser@^6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.16.0.tgz#36f39f63b126aa25af2ad2df13d9891e9fd5b40c" + integrity sha512-H2GM3eUo12HpKZU9njig3DF5zJ58ja6ahj1GoHEHOgQvYxzoFJJEvC1MQ7T2l9Ha+69ZSOn7RTxOdpC/y3ikMw== dependencies: - "@typescript-eslint/scope-manager" "6.14.0" - "@typescript-eslint/types" "6.14.0" - "@typescript-eslint/typescript-estree" "6.14.0" - "@typescript-eslint/visitor-keys" "6.14.0" + "@typescript-eslint/scope-manager" "6.16.0" + "@typescript-eslint/types" "6.16.0" + "@typescript-eslint/typescript-estree" "6.16.0" + "@typescript-eslint/visitor-keys" "6.16.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.62.0": @@ -2485,13 +2496,13 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/scope-manager@6.14.0": - version "6.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz#53d24363fdb5ee0d1d8cda4ed5e5321272ab3d48" - integrity sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg== +"@typescript-eslint/scope-manager@6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.16.0.tgz#f3e9a00fbc1d0701356359cd56489c54d9e37168" + integrity sha512-0N7Y9DSPdaBQ3sqSCwlrm9zJwkpOuc6HYm7LpzLAPqBL7dmzAUimr4M29dMkOP/tEwvOCC/Cxo//yOfJD3HUiw== dependencies: - "@typescript-eslint/types" "6.14.0" - "@typescript-eslint/visitor-keys" "6.14.0" + "@typescript-eslint/types" "6.16.0" + "@typescript-eslint/visitor-keys" "6.16.0" "@typescript-eslint/type-utils@5.62.0": version "5.62.0" @@ -2503,13 +2514,13 @@ debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/type-utils@6.14.0": - version "6.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.14.0.tgz#ac9cb5ba0615c837f1a6b172feeb273d36e4f8af" - integrity sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw== +"@typescript-eslint/type-utils@6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.16.0.tgz#5f21c3e49e540ad132dc87fc99af463c184d5ed1" + integrity sha512-ThmrEOcARmOnoyQfYkHw/DX2SEYBalVECmoldVuH6qagKROp/jMnfXpAU/pAIWub9c4YTxga+XwgAkoA0pxfmg== dependencies: - "@typescript-eslint/typescript-estree" "6.14.0" - "@typescript-eslint/utils" "6.14.0" + "@typescript-eslint/typescript-estree" "6.16.0" + "@typescript-eslint/utils" "6.16.0" debug "^4.3.4" ts-api-utils "^1.0.1" @@ -2518,10 +2529,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/types@6.14.0": - version "6.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.14.0.tgz#935307f7a931016b7a5eb25d494ea3e1f613e929" - integrity sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA== +"@typescript-eslint/types@6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.16.0.tgz#a3abe0045737d44d8234708d5ed8fef5d59dc91e" + integrity sha512-hvDFpLEvTJoHutVl87+MG/c5C8I6LOgEx05zExTSJDEVU7hhR3jhV8M5zuggbdFCw98+HhZWPHZeKS97kS3JoQ== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -2536,16 +2547,17 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@6.14.0": - version "6.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz#90c7ddd45cd22139adf3d4577580d04c9189ac13" - integrity sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw== +"@typescript-eslint/typescript-estree@6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.16.0.tgz#d6e0578e4f593045f0df06c4b3a22bd6f13f2d03" + integrity sha512-VTWZuixh/vr7nih6CfrdpmFNLEnoVBF1skfjdyGnNwXOH1SLeHItGdZDHhhAIzd3ACazyY2Fg76zuzOVTaknGA== dependencies: - "@typescript-eslint/types" "6.14.0" - "@typescript-eslint/visitor-keys" "6.14.0" + "@typescript-eslint/types" "6.16.0" + "@typescript-eslint/visitor-keys" "6.16.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" + minimatch "9.0.3" semver "^7.5.4" ts-api-utils "^1.0.1" @@ -2563,17 +2575,17 @@ eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/utils@6.14.0": - version "6.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.14.0.tgz#856a9e274367d99ffbd39c48128b93a86c4261e3" - integrity sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg== +"@typescript-eslint/utils@6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.16.0.tgz#1c291492d34670f9210d2b7fcf6b402bea3134ae" + integrity sha512-T83QPKrBm6n//q9mv7oiSvy/Xq/7Hyw9SzSEhMHJwznEmQayfBM87+oAlkNAMEO7/MjIwKyOHgBJbxB0s7gx2A== dependencies: "@eslint-community/eslint-utils" "^4.4.0" "@types/json-schema" "^7.0.12" "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.14.0" - "@typescript-eslint/types" "6.14.0" - "@typescript-eslint/typescript-estree" "6.14.0" + "@typescript-eslint/scope-manager" "6.16.0" + "@typescript-eslint/types" "6.16.0" + "@typescript-eslint/typescript-estree" "6.16.0" semver "^7.5.4" "@typescript-eslint/visitor-keys@5.62.0": @@ -2584,12 +2596,12 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@6.14.0": - version "6.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz#1d1d486581819287de824a56c22f32543561138e" - integrity sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw== +"@typescript-eslint/visitor-keys@6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.16.0.tgz#d50da18a05d91318ed3e7e8889bda0edc35f3a10" + integrity sha512-QSFQLruk7fhs91a/Ep/LqRdbJCZ1Rq03rqBdKT5Ky17Sz8zRLUksqIe9DW0pKtg/Z35/ztbLQ6qpOCN6rOC11A== dependencies: - "@typescript-eslint/types" "6.14.0" + "@typescript-eslint/types" "6.16.0" eslint-visitor-keys "^3.4.1" "@ungap/structured-clone@^1.2.0": @@ -4526,13 +4538,13 @@ eslint-plugin-jsx-a11y@^6.5.1: object.entries "^1.1.7" object.fromentries "^2.0.7" -eslint-plugin-prettier@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz#a3b399f04378f79f066379f544e42d6b73f11515" - integrity sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg== +eslint-plugin-prettier@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz#584c94d4bf31329b2d4cbeb10fd600d17d6de742" + integrity sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg== dependencies: prettier-linter-helpers "^1.0.0" - synckit "^0.8.5" + synckit "^0.8.6" eslint-plugin-react-hooks@^4.3.0, eslint-plugin-react-hooks@^4.6.0: version "4.6.0" @@ -4599,15 +4611,15 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^8.55.0: - version "8.55.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.55.0.tgz#078cb7b847d66f2c254ea1794fa395bf8e7e03f8" - integrity sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA== +eslint@^8.56.0: + version "8.56.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" + integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.55.0" + "@eslint/js" "8.56.0" "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -5143,17 +5155,6 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -5290,13 +5291,10 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -help-me@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/help-me/-/help-me-4.2.0.tgz#50712bfd799ff1854ae1d312c36eafcea85b0563" - integrity sha512-TAOnTB8Tz5Dw8penUuzHVrKNKlCIbwwbHnXraNJxPwf8LRtE2HlM84RYuezMFcwOJmoYOCWVDyJ8TQGxn9PgxA== - dependencies: - glob "^8.0.0" - readable-stream "^3.6.0" +help-me@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/help-me/-/help-me-5.0.0.tgz#b1ebe63b967b74060027c2ac61f9be12d354a6f6" + integrity sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg== hey-listen@^1.0.8: version "1.0.8" @@ -5334,10 +5332,10 @@ html-tokenize@^2.0.0: readable-stream "~1.0.27-1" through2 "~0.4.1" -html-webpack-plugin@^5.5.4: - version "5.5.4" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.4.tgz#517a48e6f046ff1ae1a172c983cd993eb79d2f6a" - integrity sha512-3wNSaVVxdxcu0jd4FpQFoICdqgxs4zIQQvj+2yQKFfBOnLETQ6X5CDWdeasuGlSsooFlMkEioWDTqBv1wvw5Iw== +html-webpack-plugin@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz#50a8fa6709245608cb00e811eacecb8e0d7b7ea0" + integrity sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw== dependencies: "@types/html-minifier-terser" "^6.0.0" html-minifier-terser "^6.0.2" @@ -6229,6 +6227,13 @@ minimalistic-assert@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== +minimatch@9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -6236,13 +6241,6 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6, minimist@~1.2.5: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" @@ -6756,16 +6754,16 @@ pino-abstract-transport@v0.5.0: duplexify "^4.1.2" split2 "^4.0.0" -pino-pretty@^10.2.3: - version "10.2.3" - resolved "https://registry.yarnpkg.com/pino-pretty/-/pino-pretty-10.2.3.tgz#db539c796a1421fd4d130734fa994f5a26027783" - integrity sha512-4jfIUc8TC1GPUfDyMSlW1STeORqkoxec71yhxIpLDQapUu8WOuoz2TTCoidrIssyz78LZC69whBMPIKCMbi3cw== +pino-pretty@^10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/pino-pretty/-/pino-pretty-10.3.0.tgz#483ff78b98d277c33d00e0419c00601d9152bc7e" + integrity sha512-JthvQW289q3454mhM3/38wFYGWPiBMR28T3CpDNABzoTQOje9UKS7XCJQSnjWF9LQGQkGd8D7h0oq+qwiM3jFA== dependencies: colorette "^2.0.7" dateformat "^4.6.3" fast-copy "^3.0.0" fast-safe-stringify "^2.1.1" - help-me "^4.0.1" + help-me "^5.0.0" joycon "^3.1.1" minimist "^1.2.6" on-exit-leak-free "^2.1.0" @@ -6881,10 +6879,10 @@ pretty-error@^4.0.0: lodash "^4.17.20" renderkid "^3.0.0" -prism-react-renderer@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.3.0.tgz#5f8f615af6af8201a0b734bd8c946df3d818ea54" - integrity sha512-UYRg2TkVIaI6tRVHC5OJ4/BxqPUxJkJvq/odLT/ykpt1zGYXooNperUxQcCvi87LyRnR4nCh81ceOA+e7nrydg== +prism-react-renderer@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz#e59e5450052ede17488f6bc85de1553f584ff8d5" + integrity sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw== dependencies: "@types/prismjs" "^1.26.0" clsx "^2.0.0" @@ -7870,13 +7868,13 @@ svgo@^3.0.2: csso "^5.0.5" picocolors "^1.0.0" -synckit@^0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.5.tgz#b7f4358f9bb559437f9f167eb6bc46b3c9818fa3" - integrity sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q== +synckit@^0.8.6: + version "0.8.7" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.7.tgz#7812bc5f42113c9cec2db4c2b952f7e9e0aff0f3" + integrity sha512-Ic2DW4WMr0gJ7z9rXYGlWPNBVzmsIZLFfKeVhmuVBUtw6ZOFB1GZnCcWQLc7OuBFLVLHKFAdaIZNc/yyUEvZ1g== dependencies: - "@pkgr/utils" "^2.3.1" - tslib "^2.5.0" + "@pkgr/utils" "^2.4.2" + tslib "^2.6.2" tapable@^2.0.0: version "2.2.1" @@ -8024,7 +8022,7 @@ tslib@2.4.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.0: +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.6.0, tslib@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==