diff --git a/package.json b/package.json index 6fa670036a..69867a1554 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,6 @@ "@types/recharts": "^1.8.24", "@vitejs/plugin-react-swc": "^3.3.2", "@wundergraph/react-query": "^0.8.46", - "@wundergraph/sdk": "^0.166.1", "axios": "^1.4.0", "class-validator": "^0.14.0", "date-fns": "^2.30.0", diff --git a/src/helpers/react-query/createDependentQuery.ts b/src/helpers/react-query/createDependentQuery.ts deleted file mode 100644 index f1a0eb2392..0000000000 --- a/src/helpers/react-query/createDependentQuery.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { QueryKey, useQuery } from "@tanstack/react-query"; -import { nonNullable } from "src/helpers/types/nonNullable"; - -/** - * Used to build a `useQuery` function for fetching necessary data in parallel for a query, - * using that queries `queryKey` - * - * Please refer to the `useStakePoolTVL` function for an example on why this function is handy. - */ -export const createDependentQuery = (baseQueryKey: QueryKey) => { - return (key: string, fn: () => Promise, enabled?: boolean) => { - const _key = [...baseQueryKey, key].filter(nonNullable); - - return useQuery([_key], fn, { enabled }).data; - }; -}; diff --git a/src/helpers/subgraph/Constants.ts b/src/helpers/subgraph/Constants.ts index f8d68fa80c..47e349dadc 100644 --- a/src/helpers/subgraph/Constants.ts +++ b/src/helpers/subgraph/Constants.ts @@ -2,15 +2,4 @@ export const CATEGORY_STABLE = "Stable"; export const CATEGORY_VOLATILE = "Volatile"; export const CATEGORY_POL = "Protocol-Owned Liquidity"; -export const TOKEN_SUPPLY_TYPE_BONDS_DEPOSITS = "OHM Bonds (Burnable Deposits)"; -export const TOKEN_SUPPLY_TYPE_BONDS_PREMINTED = "OHM Bonds (Pre-minted)"; -export const TOKEN_SUPPLY_TYPE_BONDS_VESTING_DEPOSITS = "OHM Bonds (Vesting Deposits)"; -export const TOKEN_SUPPLY_TYPE_BONDS_VESTING_TOKENS = "OHM Bonds (Vesting Tokens)"; -export const TOKEN_SUPPLY_TYPE_LIQUIDITY = "Liquidity"; -export const TOKEN_SUPPLY_TYPE_BOOSTED_LIQUIDITY_VAULT = "Boosted Liquidity Vault"; -export const TOKEN_SUPPLY_TYPE_OFFSET = "Manual Offset"; export const TOKEN_SUPPLY_TYPE_TOTAL_SUPPLY = "Total Supply"; -export const TOKEN_SUPPLY_TYPE_TREASURY = "Treasury"; -export const TOKEN_SUPPLY_TYPE_LENDING = "Lending"; - -export const CHAIN_ETHEREUM = "Ethereum"; diff --git a/src/helpers/subgraph/TreasuryQueryHelper.ts b/src/helpers/subgraph/TreasuryQueryHelper.ts index aae0f6b200..70b447ba08 100644 --- a/src/helpers/subgraph/TreasuryQueryHelper.ts +++ b/src/helpers/subgraph/TreasuryQueryHelper.ts @@ -1,34 +1,7 @@ -import { GOHM_ADDRESSES, OHM_ADDRESSES } from "src/constants/addresses"; -import { - CATEGORY_POL, - CATEGORY_STABLE, - CATEGORY_VOLATILE, - TOKEN_SUPPLY_TYPE_BONDS_DEPOSITS, - TOKEN_SUPPLY_TYPE_BONDS_PREMINTED, - TOKEN_SUPPLY_TYPE_BONDS_VESTING_DEPOSITS, - TOKEN_SUPPLY_TYPE_BONDS_VESTING_TOKENS, - TOKEN_SUPPLY_TYPE_BOOSTED_LIQUIDITY_VAULT, - TOKEN_SUPPLY_TYPE_LENDING, - TOKEN_SUPPLY_TYPE_LIQUIDITY, - TOKEN_SUPPLY_TYPE_OFFSET, - TOKEN_SUPPLY_TYPE_TOTAL_SUPPLY, - TOKEN_SUPPLY_TYPE_TREASURY, -} from "src/helpers/subgraph/Constants"; -import { TokenRecord, TokenSupply } from "src/hooks/useFederatedSubgraphQuery"; +import { CATEGORY_POL, CATEGORY_STABLE, CATEGORY_VOLATILE } from "src/helpers/subgraph/Constants"; +import { TokenRecord } from "src/hooks/useFederatedSubgraphQuery"; -export const getLiquidBackingPerOhmBacked = (liquidBacking: number, tokenSupplies: TokenSupply[], ohmIndex: number) => - liquidBacking / getOhmBackedSupply(tokenSupplies, ohmIndex)[0]; - -export const getLiquidBackingPerOhmFloating = (liquidBacking: number, tokenSupplies: TokenSupply[], ohmIndex: number) => - liquidBacking / getOhmFloatingSupply(tokenSupplies, ohmIndex)[0]; - -export const getLiquidBackingPerGOhmSynthetic = ( - liquidBacking: number, - currentIndex: number, - tokenSupplies: TokenSupply[], -) => liquidBacking / getGOhmSyntheticSupply(currentIndex, getOhmBackedSupply(tokenSupplies, currentIndex)[0]); - -export const filterReduce = ( +const filterReduce = ( records: TokenRecord[], filterPredicate: (value: TokenRecord) => unknown, valueExcludingOhm = false, @@ -49,270 +22,3 @@ export const getTreasuryAssetValue = ( return filterReduce(records, record => categories.includes(record.category), false); }; - -let supportedTokens: string[]; - -const getOhmAddresses = (): string[] => { - return Object.values(OHM_ADDRESSES).map(address => address.toLowerCase()); -}; - -const getGOhmAddresses = (): string[] => { - return Object.values(GOHM_ADDRESSES).map(address => address.toLowerCase()); -}; - -const getSupportedTokens = (): string[] => { - if (!supportedTokens) { - const tokens: string[] = []; - tokens.push(...getOhmAddresses()); - tokens.push(...getGOhmAddresses()); - - supportedTokens = tokens; - } - - return supportedTokens; -}; - -const isSupportedToken = (record: TokenSupply) => { - if (!getSupportedTokens().includes(record.tokenAddress.toLowerCase())) { - return false; - } - - return true; -}; - -const getBalanceMultiplier = (record: TokenSupply, ohmIndex: number): number => { - if (getOhmAddresses().includes(record.tokenAddress.toLowerCase())) { - return 1; - } - - if (getGOhmAddresses().includes(record.tokenAddress.toLowerCase())) { - return ohmIndex; - } - - throw new Error(`Unsupported token address: ${record.tokenAddress}`); -}; - -/** - * Returns the sum of balances for different supply types. - * - * Note that this will return positive balances for each type. - * - * For example, passing [TOKEN_SUPPLY_TYPE_LIQUIDITY, TOKEN_SUPPLY_TYPE_TREASURY] - * in the {includedTypes} parameter will return a number that is - * the sum of the balance property all records with matching types. - * - * @param records TokenSupply records for the given day - * @param ohmIndex The index of OHM for the given day - * @param includedTypes - * @returns [balance, included records] - */ -const getBalanceForTypes = ( - records: TokenSupply[], - includedTypes: string[], - ohmIndex: number, -): [number, TokenSupply[]] => { - const filteredRecords = records.filter(record => isSupportedToken(record) && includedTypes.includes(record.type)); - const balance = filteredRecords.reduce( - (previousValue, record) => previousValue + +record.balance * getBalanceMultiplier(record, ohmIndex), - 0, - ); - - return [balance, filteredRecords]; -}; - -/** - * Returns the sum of balances for different supply types. - * - * Note that this will return positive or negative balances, depending on the type. - * - * For example, passing [TOKEN_SUPPLY_TYPE_LIQUIDITY, TOKEN_SUPPLY_TYPE_TREASURY] - * in the {includedTypes} parameter will return a number that is - * the sum of the supplyBalance property all records with matching types. - * - * @param records TokenSupply records for the given day - * @param ohmIndex The index of OHM for the given day - * @param includedTypes - * @returns [balance, included records] - */ -const getSupplyBalanceForTypes = ( - records: TokenSupply[], - includedTypes: string[], - ohmIndex: number, -): [number, TokenSupply[]] => { - const filteredRecords = records.filter(record => isSupportedToken(record) && includedTypes.includes(record.type)); - - const supplyBalance = filteredRecords.reduce( - (previousValue, record) => previousValue + +record.supplyBalance * getBalanceMultiplier(record, ohmIndex), - 0, - ); - - return [supplyBalance, filteredRecords]; -}; - -export const getProtocolOwnedLiquiditySupply = (records: TokenSupply[], ohmIndex: number): [number, TokenSupply[]] => { - return getBalanceForTypes(records, [TOKEN_SUPPLY_TYPE_LIQUIDITY], ohmIndex); -}; - -export const getTreasurySupply = (records: TokenSupply[], ohmIndex: number): [number, TokenSupply[]] => { - return getBalanceForTypes(records, [TOKEN_SUPPLY_TYPE_TREASURY], ohmIndex); -}; - -export const getMigrationOffsetSupply = (records: TokenSupply[], ohmIndex: number): [number, TokenSupply[]] => { - return getBalanceForTypes(records, [TOKEN_SUPPLY_TYPE_OFFSET], ohmIndex); -}; - -export const getBondDepositsSupply = (records: TokenSupply[], ohmIndex: number): [number, TokenSupply[]] => { - return getBalanceForTypes( - records, - [TOKEN_SUPPLY_TYPE_BONDS_VESTING_DEPOSITS, TOKEN_SUPPLY_TYPE_BONDS_DEPOSITS], - ohmIndex, - ); -}; - -export const getBondVestingTokensSupply = (records: TokenSupply[], ohmIndex: number): [number, TokenSupply[]] => { - return getBalanceForTypes(records, [TOKEN_SUPPLY_TYPE_BONDS_VESTING_TOKENS], ohmIndex); -}; - -export const getLendingSupply = (records: TokenSupply[], ohmIndex: number): [number, TokenSupply[]] => { - return getBalanceForTypes(records, [TOKEN_SUPPLY_TYPE_LENDING], ohmIndex); -}; - -export const getBondPremintedSupply = (records: TokenSupply[], ohmIndex: number): [number, TokenSupply[]] => { - return getBalanceForTypes(records, [TOKEN_SUPPLY_TYPE_BONDS_PREMINTED], ohmIndex); -}; - -export const getBoostedLiquidityVaultSupply = (records: TokenSupply[], ohmIndex: number): [number, TokenSupply[]] => { - return getBalanceForTypes(records, [TOKEN_SUPPLY_TYPE_BOOSTED_LIQUIDITY_VAULT], ohmIndex); -}; - -export const getExternalSupply = (records: TokenSupply[], ohmIndex: number): number => { - return ( - getOhmTotalSupply(records, ohmIndex)[0] - - getProtocolOwnedLiquiditySupply(records, ohmIndex)[0] - - getTreasurySupply(records, ohmIndex)[0] - - getMigrationOffsetSupply(records, ohmIndex)[0] - - getBondDepositsSupply(records, ohmIndex)[0] - - getBondVestingTokensSupply(records, ohmIndex)[0] - - getBondPremintedSupply(records, ohmIndex)[0] - - getLendingSupply(records, ohmIndex)[0] - - getBoostedLiquidityVaultSupply(records, ohmIndex)[0] - ); -}; - -/** - * For a given array of TokenSupply records (assumed to be at the same point in time), - * this function returns the OHM circulating supply. - * - * Circulating supply is defined as: - * - OHM total supply - * - minus: OHM in circulating supply wallets - * - minus: migration offset - * - minus: pre-minted OHM for bonds - * - minus: OHM user deposits for bonds - * - * @param records TokenSupply records for the given day - * @param ohmIndex The index of OHM for the given day - * @returns - */ -export const getOhmCirculatingSupply = (records: TokenSupply[], ohmIndex: number): [number, TokenSupply[]] => { - const includedTypes = [ - TOKEN_SUPPLY_TYPE_TOTAL_SUPPLY, - TOKEN_SUPPLY_TYPE_TREASURY, - TOKEN_SUPPLY_TYPE_OFFSET, - TOKEN_SUPPLY_TYPE_BONDS_PREMINTED, - TOKEN_SUPPLY_TYPE_BONDS_VESTING_DEPOSITS, - TOKEN_SUPPLY_TYPE_BONDS_DEPOSITS, - TOKEN_SUPPLY_TYPE_BOOSTED_LIQUIDITY_VAULT, - ]; - - return getSupplyBalanceForTypes(records, includedTypes, ohmIndex); -}; - -/** - * For a given array of TokenSupply records (assumed to be at the same point in time), - * this function returns the OHM floating supply. - * - * Floating supply is defined as: - * - OHM total supply - * - minus: OHM in circulating supply wallets - * - minus: migration offset - * - minus: pre-minted OHM for bonds - * - minus: OHM user deposits for bonds - * - minus: protocol-owned OHM in liquidity pools - * - * @param records TokenSupply records for the given day - * @param ohmIndex The index of OHM for the given day - * @returns - */ -export const getOhmFloatingSupply = (records: TokenSupply[], ohmIndex: number): [number, TokenSupply[]] => { - const includedTypes = [ - TOKEN_SUPPLY_TYPE_TOTAL_SUPPLY, - TOKEN_SUPPLY_TYPE_TREASURY, - TOKEN_SUPPLY_TYPE_OFFSET, - TOKEN_SUPPLY_TYPE_BONDS_PREMINTED, - TOKEN_SUPPLY_TYPE_BONDS_VESTING_DEPOSITS, - TOKEN_SUPPLY_TYPE_BONDS_DEPOSITS, - TOKEN_SUPPLY_TYPE_BOOSTED_LIQUIDITY_VAULT, - TOKEN_SUPPLY_TYPE_LIQUIDITY, - ]; - - return getSupplyBalanceForTypes(records, includedTypes, ohmIndex); -}; - -/** - * For a given array of TokenSupply records (assumed to be at the same point in time), - * this function returns the OHM backed supply. - * - * Backed supply is the quantity of OHM backed by treasury assets. - * - * Backed supply is calculated as: - * - OHM total supply - * - minus: OHM in circulating supply wallets - * - minus: migration offset - * - minus: pre-minted OHM for bonds - * - minus: OHM user deposits for bonds - * - minus: protocol-owned OHM in liquidity pools - * - minus: OHM minted and deployed into lending markets - * - * @param records TokenSupply records for the given day - * @param ohmIndex The index of OHM for the given day - */ -export const getOhmBackedSupply = (records: TokenSupply[], ohmIndex: number): [number, TokenSupply[]] => { - const includedTypes = [ - TOKEN_SUPPLY_TYPE_TOTAL_SUPPLY, - TOKEN_SUPPLY_TYPE_TREASURY, - TOKEN_SUPPLY_TYPE_OFFSET, - TOKEN_SUPPLY_TYPE_BONDS_PREMINTED, - TOKEN_SUPPLY_TYPE_BONDS_VESTING_DEPOSITS, - TOKEN_SUPPLY_TYPE_BONDS_DEPOSITS, - TOKEN_SUPPLY_TYPE_BOOSTED_LIQUIDITY_VAULT, - TOKEN_SUPPLY_TYPE_LIQUIDITY, - TOKEN_SUPPLY_TYPE_LENDING, - ]; - - return getSupplyBalanceForTypes(records, includedTypes, ohmIndex); -}; - -/** - * For a given array of TokenSupply records (assumed to be at the same point in time), - * this function returns the OHM total supply. - * - * @param records TokenSupply records for the given day - * @param ohmIndex The index of OHM for the given day - * @returns - */ -export const getOhmTotalSupply = (records: TokenSupply[], ohmIndex: number): [number, TokenSupply[]] => { - return getSupplyBalanceForTypes(records, [TOKEN_SUPPLY_TYPE_TOTAL_SUPPLY], ohmIndex); -}; - -/** - * gOHM circulating supply is synthetically calculated as: - * - * OHM floating supply / current index - * - * @param currentIndex - * @param ohmFloatingSupply - * @returns - */ -export const getGOhmSyntheticSupply = (currentIndex: number, ohmFloatingSupply: number) => - ohmFloatingSupply / currentIndex; diff --git a/src/hooks/useFederatedSubgraphQuery.ts b/src/hooks/useFederatedSubgraphQuery.ts index 38fd182f5d..e95547acb8 100644 --- a/src/hooks/useFederatedSubgraphQuery.ts +++ b/src/hooks/useFederatedSubgraphQuery.ts @@ -2,7 +2,6 @@ import { createClient, Operations, Queries } from "@olympusdao/treasury-subgraph import { createHooks } from "@wundergraph/react-query"; import { useEffect, useState } from "react"; import { Environment } from "src/helpers/environment/Environment/Environment"; -import { CHAIN_ETHEREUM } from "src/helpers/subgraph/Constants"; const wgNodeUrl: string | undefined = Environment.getWundergraphNodeUrl(); const client = createClient({ @@ -21,18 +20,20 @@ export type TokenSupply = TokenSupplyArray[0]; export const { useQuery: useFederatedSubgraphQuery } = createHooks(client); /** - * Returns TokenRecords objects from the {startDate}. + * Returns TokenRecord objects from the {startDate}. * * The query will only be enabled if the {startDate} is set. * * @param startDate Date string in YYYY-MM-DD format. + * @param crossChainDataComplete If true, returns up (and including) the date with complete cross-chain data. * @returns */ -export const useTokenRecordsQuery = (startDate: string | null | undefined) => { +export const useTokenRecordsQuery = (startDate: string | null | undefined, crossChainDataComplete?: boolean) => { return useFederatedSubgraphQuery({ operationName: "paginated/tokenRecords", input: { startDate: startDate || "", + crossChainDataComplete: crossChainDataComplete || false, }, enabled: startDate != null, }); @@ -50,7 +51,7 @@ export const useTokenRecordsQuery = (startDate: string | null | undefined) => { * @returns TokenRecord[] or undefined if there are no results */ export const useTokenRecordsQueryComplete = (startDate: string | null | undefined): TokenRecord[] | undefined => { - const { data: tokenRecordResults } = useTokenRecordsQuery(startDate); + const { data: tokenRecordResults } = useTokenRecordsQuery(startDate, true); const [untilLatestDateResults, setUntilLatestDateResults] = useState(); useEffect(() => { @@ -64,20 +65,7 @@ export const useTokenRecordsQueryComplete = (startDate: string | null | undefine return new Date(b.date).getTime() - new Date(a.date).getTime(); }); - // Get the latest date across all chains - const ethereumResults = sortedResults.filter(result => result.blockchain === CHAIN_ETHEREUM); - if (ethereumResults.length == 0) { - setUntilLatestDateResults(undefined); - return; - } - - // Restrict to the latest date - const latestDateEthereum: Date = new Date(ethereumResults[0].date); - const _untilLatestDateResults = sortedResults.filter( - result => new Date(result.date).getTime() <= latestDateEthereum.getTime(), - ); - - setUntilLatestDateResults(_untilLatestDateResults); + setUntilLatestDateResults(sortedResults); }, [tokenRecordResults]); return untilLatestDateResults; @@ -120,29 +108,39 @@ export const useTokenRecordsLatestQuery = () => { }); }; -export const useTokenSuppliesQuery = (startDate: string | null | undefined) => { +/** + * Returns TokenSupply objects from the {startDate}. + * + * The query will only be enabled if the {startDate} is set. + * + * @param startDate Date string in YYYY-MM-DD format. + * @param crossChainDataComplete If true, returns up (and including) the date with complete cross-chain data. + * @returns + */ +export const useTokenSuppliesQuery = (startDate: string | null | undefined, crossChainDataComplete?: boolean) => { return useFederatedSubgraphQuery({ operationName: "paginated/tokenSupplies", input: { startDate: startDate || "", + crossChainDataComplete: crossChainDataComplete || false, }, enabled: startDate != null, }); }; /** - * Returns TokenRecord records for which the data for a given day is complete. + * Returns TokenSupply records for which the data for a given day is complete. * * For example, if the data for 2023-05-11 is missing Ethereum records, * then the latest data returned will be for 2023-05-10. * - * Uses {useTokenRecordsQuery} under the hood. + * Uses {useTokenSuppliesQuery} under the hood. * * @param startDate Date string in YYYY-MM-DD format. * @returns TokenSupply[] or undefined if there are no results */ export const useTokenSuppliesQueryComplete = (startDate: string | null | undefined): TokenSupply[] | undefined => { - const { data: tokenSupplyResults } = useTokenSuppliesQuery(startDate); + const { data: tokenSupplyResults } = useTokenSuppliesQuery(startDate, true); const [untilLatestDateResults, setUntilLatestDateResults] = useState(); useEffect(() => { @@ -156,20 +154,7 @@ export const useTokenSuppliesQueryComplete = (startDate: string | null | undefin return new Date(b.date).getTime() - new Date(a.date).getTime(); }); - // Get the latest date across all chains - const ethereumResults = sortedResults.filter(result => result.blockchain === CHAIN_ETHEREUM); - if (ethereumResults.length == 0) { - setUntilLatestDateResults(undefined); - return; - } - - // Restrict to the latest date - const latestDateEthereum: Date = new Date(ethereumResults[0].date); - const _untilLatestDateResults = sortedResults.filter( - result => new Date(result.date).getTime() <= latestDateEthereum.getTime(), - ); - - setUntilLatestDateResults(_untilLatestDateResults); + setUntilLatestDateResults(sortedResults); }, [tokenSupplyResults]); return untilLatestDateResults; @@ -201,18 +186,25 @@ export const useTokenSuppliesQueryLatestCompleteData = ( return latestData; }; -export const useProtocolMetricsQuery = (startDate: string | null | undefined) => { +export const useMetricsQuery = ({ + startDate, + includeContentRecords, +}: { + startDate?: string | null; + includeContentRecords?: boolean; +}) => { return useFederatedSubgraphQuery({ - operationName: "paginated/protocolMetrics", + operationName: "paginated/metrics", input: { startDate: startDate || "", + includeRecords: includeContentRecords || false, }, enabled: startDate != null, }); }; -export const useProtocolMetricsLatestQuery = () => { +export const useMetricsLatestQuery = () => { return useFederatedSubgraphQuery({ - operationName: "latest/protocolMetrics", + operationName: "latest/metrics", }); }; diff --git a/src/hooks/useProtocolMetrics.ts b/src/hooks/useProtocolMetrics.ts index 45513d0b53..bb440b7b62 100644 --- a/src/hooks/useProtocolMetrics.ts +++ b/src/hooks/useProtocolMetrics.ts @@ -1,13 +1,13 @@ -import { useProtocolMetricsLatestQuery } from "src/hooks/useFederatedSubgraphQuery"; +import { useMetricsLatestQuery } from "src/hooks/useFederatedSubgraphQuery"; export const useTotalValueDeposited = (): number | undefined => { - const { data } = useProtocolMetricsLatestQuery(); + const { data } = useMetricsLatestQuery(); - if (!data || !data.length) { + if (!data) { return undefined; } - return +data[0].totalValueLocked; + return data.sOhmTotalValueLocked; }; /** @@ -20,13 +20,13 @@ export const useTotalValueDeposited = (): number | undefined => { * @returns */ export const useOhmPrice = (): number | undefined => { - const { data } = useProtocolMetricsLatestQuery(); + const { data } = useMetricsLatestQuery(); - if (!data || !data.length) { + if (!data) { return undefined; } - return +data[0].ohmPrice; + return data.ohmPrice; }; /** @@ -39,13 +39,13 @@ export const useOhmPrice = (): number | undefined => { * @returns */ export const useGOhmPrice = (): number | undefined => { - const { data } = useProtocolMetricsLatestQuery(); + const { data } = useMetricsLatestQuery(); - if (!data || !data.length) { + if (!data) { return undefined; } - return +data[0].gOhmPrice; + return data.gOhmPrice; }; /** @@ -54,11 +54,11 @@ export const useGOhmPrice = (): number | undefined => { * @returns */ export const useCurrentIndex = (): number | undefined => { - const { data } = useProtocolMetricsLatestQuery(); + const { data } = useMetricsLatestQuery(); - if (!data || !data.length) { + if (!data) { return undefined; } - return +data[0].currentIndex; + return data.ohmIndex; }; diff --git a/src/hooks/useTokenRecordsMetrics.ts b/src/hooks/useTokenRecordsMetrics.ts index 5bc7e70438..8c4fc9d8ac 100644 --- a/src/hooks/useTokenRecordsMetrics.ts +++ b/src/hooks/useTokenRecordsMetrics.ts @@ -1,62 +1,26 @@ import { useEffect, useState } from "react"; -import { getTreasuryAssetValue } from "src/helpers/subgraph/TreasuryQueryHelper"; -import { - useTokenRecordsLatestQuery, - useTokenRecordsQueryLatestCompleteData, -} from "src/hooks/useFederatedSubgraphQuery"; - -export const useTokenRecordsLatestDate = (): string | undefined => { - const { data } = useTokenRecordsLatestQuery(); - - if (!data) { - return undefined; - } - - // Get the earliest date across all results - return data - .map(result => result.date) - .reduce((minDate: string, currentDate: string) => { - if (minDate == "") { - return currentDate; - } - - return new Date(currentDate).getTime() < new Date(minDate).getTime() ? currentDate : minDate; - }, ""); -}; +import { useMetricsLatestQuery } from "src/hooks/useFederatedSubgraphQuery"; /** - * Fetches the value of treasury assets across all chains from the subgraph. + * Fetches the market value of treasury assets across all chains from the subgraph. * - * @param liquidOnly - * @param _earliestDate * @returns */ -export const useTreasuryAssetsLatestValue = (liquidOnly: boolean): number | undefined => { +export const useTreasuryMarketValueLatest = (): number | undefined => { // State variables - const [latestDate, setLatestDate] = useState(); const [assetValue, setAssetValue] = useState(); // Query hooks - const latestDateQuery = useTokenRecordsLatestDate(); - const latestTokenRecordData = useTokenRecordsQueryLatestCompleteData(latestDate); - - useEffect(() => { - if (!latestDateQuery) { - setLatestDate(undefined); - return; - } - - setLatestDate(latestDateQuery); - }, [latestDateQuery]); + const { data: metricResult } = useMetricsLatestQuery(); useEffect(() => { - if (!latestTokenRecordData || latestTokenRecordData.length === 0 || !latestDate) { + if (!metricResult) { setAssetValue(undefined); return; } - setAssetValue(getTreasuryAssetValue(latestTokenRecordData, liquidOnly)); - }, [latestTokenRecordData, latestDate, liquidOnly]); + setAssetValue(metricResult.treasuryMarketValue); + }, [metricResult]); return assetValue; }; diff --git a/src/hooks/useTokenSupplyMetrics.ts b/src/hooks/useTokenSupplyMetrics.ts index 956f5f109b..1a87763a58 100644 --- a/src/hooks/useTokenSupplyMetrics.ts +++ b/src/hooks/useTokenSupplyMetrics.ts @@ -1,89 +1,78 @@ import { useEffect, useState } from "react"; -import { - getOhmBackedSupply, - getOhmCirculatingSupply, - getOhmFloatingSupply, - getOhmTotalSupply, -} from "src/helpers/subgraph/TreasuryQueryHelper"; -import { useTokenSuppliesQueryLatestCompleteData } from "src/hooks/useFederatedSubgraphQuery"; -import { useCurrentIndex } from "src/hooks/useProtocolMetrics"; +import { useMetricsLatestQuery } from "src/hooks/useFederatedSubgraphQuery"; export const useOhmCirculatingSupply = (earliestDate?: string | null): number | undefined => { // Query hooks - const latestSupplyData = useTokenSuppliesQueryLatestCompleteData(earliestDate); - const latestIndexQuery = useCurrentIndex(); + const { data: metricResult } = useMetricsLatestQuery(); // State variables const [circulatingSupply, setCirculatingSupply] = useState(); useEffect(() => { - if (!latestSupplyData || !latestSupplyData.length || !latestIndexQuery) { + if (!metricResult) { setCirculatingSupply(undefined); return; } - setCirculatingSupply(getOhmCirculatingSupply(latestSupplyData, latestIndexQuery)[0]); - }, [latestIndexQuery, latestSupplyData]); + setCirculatingSupply(metricResult.ohmCirculatingSupply); + }, [metricResult]); return circulatingSupply; }; export const useOhmFloatingSupply = (earliestDate?: string | null): number | undefined => { // Query hooks - const latestSupplyData = useTokenSuppliesQueryLatestCompleteData(earliestDate); - const latestIndexQuery = useCurrentIndex(); + const { data: metricResult } = useMetricsLatestQuery(); // State variables const [floatingSupply, setFloatingSupply] = useState(); useEffect(() => { - if (!latestSupplyData || !latestSupplyData.length || !latestIndexQuery) { + if (!metricResult) { setFloatingSupply(undefined); return; } - setFloatingSupply(getOhmFloatingSupply(latestSupplyData, latestIndexQuery)[0]); - }, [latestIndexQuery, latestSupplyData]); + setFloatingSupply(metricResult.ohmFloatingSupply); + }, [metricResult]); return floatingSupply; }; export const useOhmBackedSupply = (earliestDate?: string | null): number | undefined => { // Query hooks - const latestSupplyData = useTokenSuppliesQueryLatestCompleteData(earliestDate); - const latestIndexQuery = useCurrentIndex(); + const { data: metricResult } = useMetricsLatestQuery(); // State variables const [backedSupply, setBackedSupply] = useState(); useEffect(() => { - if (!latestSupplyData || !latestSupplyData.length || !latestIndexQuery) { + if (!metricResult) { setBackedSupply(undefined); return; } - setBackedSupply(getOhmBackedSupply(latestSupplyData, latestIndexQuery)[0]); - }, [latestIndexQuery, latestSupplyData]); + setBackedSupply(metricResult.ohmBackedSupply); + }, [metricResult]); return backedSupply; }; export const useOhmTotalSupply = (earliestDate?: string | null): number | undefined => { // Query hooks - const latestSupplyData = useTokenSuppliesQueryLatestCompleteData(earliestDate); - const latestIndexQuery = useCurrentIndex(); + const { data: metricResult } = useMetricsLatestQuery(); // State variables const [totalSupply, setTotalSupply] = useState(); useEffect(() => { - if (!latestSupplyData || !latestSupplyData.length || !latestIndexQuery) { + if (!metricResult) { setTotalSupply(undefined); return; } - setTotalSupply(getOhmTotalSupply(latestSupplyData, latestIndexQuery)[0]); - }, [latestIndexQuery, latestSupplyData]); + setTotalSupply(metricResult.ohmTotalSupply); + }, [metricResult]); return totalSupply; }; diff --git a/src/hooks/useTreasuryMetrics.ts b/src/hooks/useTreasuryMetrics.ts index d2c6ded62c..676c3d9847 100644 --- a/src/hooks/useTreasuryMetrics.ts +++ b/src/hooks/useTreasuryMetrics.ts @@ -1,19 +1,5 @@ import { useEffect, useState } from "react"; -import { - getGOhmSyntheticSupply, - getLiquidBackingPerGOhmSynthetic, - getLiquidBackingPerOhmBacked, - getLiquidBackingPerOhmFloating, - getOhmBackedSupply, - getOhmFloatingSupply, - getTreasuryAssetValue, -} from "src/helpers/subgraph/TreasuryQueryHelper"; -import { - useTokenRecordsQueryLatestCompleteData, - useTokenSuppliesQueryLatestCompleteData, -} from "src/hooks/useFederatedSubgraphQuery"; -import { useCurrentIndex, useOhmPrice } from "src/hooks/useProtocolMetrics"; -import { useOhmCirculatingSupply } from "src/hooks/useTokenSupplyMetrics"; +import { useMetricsLatestQuery } from "src/hooks/useFederatedSubgraphQuery"; /** * OHM price * circulating supply @@ -24,8 +10,7 @@ export const useMarketCap = ( earliestDate?: string | null, ): [number | undefined, number | undefined, number | undefined] => { // Query hooks - const ohmPriceQuery: number | undefined = useOhmPrice(); - const circulatingSupplyQuery = useOhmCirculatingSupply(earliestDate); + const { data: metricResult } = useMetricsLatestQuery(); // State variables const [ohmPrice, setOhmPrice] = useState(); @@ -33,17 +18,17 @@ export const useMarketCap = ( const [marketCap, setMarketCap] = useState(); useEffect(() => { - if (!ohmPriceQuery || !circulatingSupplyQuery) { + if (!metricResult) { setOhmPrice(undefined); setCirculatingSupply(undefined); setMarketCap(undefined); return; } - setOhmPrice(ohmPriceQuery); - setCirculatingSupply(circulatingSupplyQuery); - setMarketCap(ohmPriceQuery * circulatingSupplyQuery); - }, [circulatingSupplyQuery, ohmPriceQuery]); + setOhmPrice(metricResult.ohmPrice); + setCirculatingSupply(metricResult.ohmCirculatingSupply); + setMarketCap(metricResult.marketCap); + }, [metricResult]); return [marketCap, ohmPrice, circulatingSupply]; }; @@ -55,9 +40,7 @@ export const useMarketCap = ( */ export const useLiquidBackingPerOhmBacked = (earliestDate?: string | null): [number, number, number] => { // Query hooks - const latestRecordData = useTokenRecordsQueryLatestCompleteData(earliestDate); - const latestSupplyData = useTokenSuppliesQueryLatestCompleteData(earliestDate); - const latestIndexQuery = useCurrentIndex(); + const { data: metricResult } = useMetricsLatestQuery(); // State variables const [liquidBackingPerOhmBacked, setLiquidBackingPerOhmBacked] = useState(0); @@ -65,101 +48,43 @@ export const useLiquidBackingPerOhmBacked = (earliestDate?: string | null): [num const [backedSupply, setBackedSupply] = useState(0); useEffect(() => { - if (!latestRecordData || !latestIndexQuery || !latestSupplyData) { + if (!metricResult) { return; } - const tempLiquidBacking = getTreasuryAssetValue(latestRecordData, true); - setLiquidBacking(tempLiquidBacking); - - const tempLiquidBackingPerOhmBacked = getLiquidBackingPerOhmBacked( - tempLiquidBacking, - latestSupplyData, - latestIndexQuery, - ); - setLiquidBackingPerOhmBacked(tempLiquidBackingPerOhmBacked); - - const tempBackedSupply = getOhmBackedSupply(latestSupplyData, latestIndexQuery)[0]; - setBackedSupply(tempBackedSupply); - }, [latestIndexQuery, latestRecordData, latestSupplyData]); + setLiquidBacking(metricResult.treasuryLiquidBacking); + setLiquidBackingPerOhmBacked(metricResult.treasuryLiquidBackingPerOhmBacked); + setBackedSupply(metricResult.ohmBackedSupply); + }, [metricResult]); return [liquidBackingPerOhmBacked, liquidBacking, backedSupply]; }; -/** - * Liquid backing value / OHM floating supply - * - * @returns [liquidBackingPerFloatingOhm, liquidBacking, floatingOhm] - */ -export const useLiquidBackingPerOhmFloating = (earliestDate?: string | null): [number, number, number] => { - // Query hooks - const latestRecordData = useTokenRecordsQueryLatestCompleteData(earliestDate); - const latestSupplyData = useTokenSuppliesQueryLatestCompleteData(earliestDate); - const latestIndexQuery = useCurrentIndex(); - - // State variables - const [liquidBackingPerOhmFloating, setLiquidBackingPerOhmFloating] = useState(0); - const [liquidBacking, setLiquidBacking] = useState(0); - const [floatingSupply, setFloatingSupply] = useState(0); - - useEffect(() => { - if (!latestRecordData || !latestIndexQuery || !latestSupplyData) { - return; - } - - const tempLiquidBacking = getTreasuryAssetValue(latestRecordData, true); - setLiquidBacking(tempLiquidBacking); - - const tempLiquidBackingPerOhmFloating = getLiquidBackingPerOhmFloating( - tempLiquidBacking, - latestSupplyData, - latestIndexQuery, - ); - setLiquidBackingPerOhmFloating(tempLiquidBackingPerOhmFloating); - - const tempFloatingSupply = getOhmFloatingSupply(latestSupplyData, latestIndexQuery)[0]; - setFloatingSupply(tempFloatingSupply); - }, [latestIndexQuery, latestRecordData, latestSupplyData]); - - return [liquidBackingPerOhmFloating, liquidBacking, floatingSupply]; -}; - /** * Liquid backing value / gOHM synthetic supply * - * @returns [liquidBackingPerGOhm, liquidBacking, gOHMSupply, latestIndex, ohmFloatingSupply] + * @returns [liquidBackingPerGOhm, liquidBacking, latestIndex, ohmFloatingSupply] */ -export const useLiquidBackingPerGOhm = (earliestDate?: string | null): [number, number, number, number, number] => { +export const useLiquidBackingPerGOhm = (earliestDate?: string | null): [number, number, number, number] => { // Query hooks - const latestRecordData = useTokenRecordsQueryLatestCompleteData(earliestDate); - const latestSupplyData = useTokenSuppliesQueryLatestCompleteData(earliestDate); - const latestIndexQuery = useCurrentIndex(); + const { data: metricResult } = useMetricsLatestQuery(); // State variables const [liquidBacking, setLiquidBacking] = useState(0); const [currentIndex, setCurrentIndex] = useState(0); - const [floatingSupply, setFloatingSupply] = useState(0); + const [backedSupply, setBackedSupply] = useState(0); const [liquidBackingPerGOhm, setLiquidBackingPerGOhm] = useState(0); - const [gOhmSupply, setGOhmSupply] = useState(0); useEffect(() => { - if (!latestRecordData || !latestIndexQuery || !latestSupplyData) { + if (!metricResult) { return; } - const tempLiquidBacking = getTreasuryAssetValue(latestRecordData, true); - setLiquidBacking(tempLiquidBacking); - - const tempCurrentIndex = latestIndexQuery; - setCurrentIndex(tempCurrentIndex); - - const tempFloatingSupply = getOhmFloatingSupply(latestSupplyData, tempCurrentIndex)[0]; - setFloatingSupply(tempFloatingSupply); - - setLiquidBackingPerGOhm(getLiquidBackingPerGOhmSynthetic(tempLiquidBacking, tempCurrentIndex, latestSupplyData)); - - setGOhmSupply(getGOhmSyntheticSupply(tempCurrentIndex, tempFloatingSupply)); - }, [latestIndexQuery, latestRecordData, latestSupplyData]); + setLiquidBacking(metricResult.treasuryLiquidBacking); + setCurrentIndex(metricResult.ohmIndex); + setBackedSupply(metricResult.ohmBackedSupply); + setLiquidBackingPerGOhm(metricResult.treasuryLiquidBackingPerGOhmBacked); + }, [metricResult]); - return [liquidBackingPerGOhm, liquidBacking, gOhmSupply, currentIndex, floatingSupply]; + return [liquidBackingPerGOhm, liquidBacking, currentIndex, backedSupply]; }; diff --git a/src/views/TreasuryDashboard/components/DataWarning.tsx b/src/views/TreasuryDashboard/components/DataWarning.tsx index f263fabd85..ed9c7578e2 100644 --- a/src/views/TreasuryDashboard/components/DataWarning.tsx +++ b/src/views/TreasuryDashboard/components/DataWarning.tsx @@ -19,8 +19,7 @@ const getDateFromTimestamp = (timestamp: string): Date => { }; /** - * React Component that renders the contents of a Markdown file - * and displays them in a notification banner. + * React Component that displays the latest date for each chain's data. */ const DataWarning = (): JSX.Element => { const theme = useTheme(); @@ -139,7 +138,17 @@ const DataWarning = (): JSX.Element => { )) ) : ( - + + + + + + + + + + + )} diff --git a/src/views/TreasuryDashboard/components/Graph/Constants.ts b/src/views/TreasuryDashboard/components/Graph/Constants.ts index 2a06a02009..262694e52f 100644 --- a/src/views/TreasuryDashboard/components/Graph/Constants.ts +++ b/src/views/TreasuryDashboard/components/Graph/Constants.ts @@ -4,8 +4,6 @@ import { CategoricalChartFunc } from "recharts/types/chart/generateCategoricalCh export const PARAM_DAYS = "days"; export const DEFAULT_DAYS = 30; -export const DEFAULT_RECORD_COUNT = 1000; - export const PARAM_TOKEN = "token"; export const PARAM_TOKEN_OHM = "OHM"; export const PARAM_TOKEN_GOHM = "gOHM"; diff --git a/src/views/TreasuryDashboard/components/Graph/LiquidBackingComparisonGraph.tsx b/src/views/TreasuryDashboard/components/Graph/LiquidBackingComparisonGraph.tsx index 317b3fdc9a..389fa7efc0 100644 --- a/src/views/TreasuryDashboard/components/Graph/LiquidBackingComparisonGraph.tsx +++ b/src/views/TreasuryDashboard/components/Graph/LiquidBackingComparisonGraph.tsx @@ -8,16 +8,7 @@ import { getCategoriesMap, getDataKeyColorsMap, } from "src/helpers/subgraph/ProtocolMetricsHelper"; -import { - getLiquidBackingPerGOhmSynthetic, - getLiquidBackingPerOhmBacked, - getTreasuryAssetValue, -} from "src/helpers/subgraph/TreasuryQueryHelper"; -import { - useProtocolMetricsQuery, - useTokenRecordsQueryComplete, - useTokenSuppliesQueryComplete, -} from "src/hooks/useFederatedSubgraphQuery"; +import { useMetricsQuery } from "src/hooks/useFederatedSubgraphQuery"; import { DEFAULT_BULLETPOINT_COLOURS, DEFAULT_COLORS, @@ -25,12 +16,6 @@ import { PARAM_TOKEN_OHM, } from "src/views/TreasuryDashboard/components/Graph/Constants"; import { getTickStyle } from "src/views/TreasuryDashboard/components/Graph/helpers/ChartHelper"; -import { getDateProtocolMetricMap } from "src/views/TreasuryDashboard/components/Graph/helpers/ProtocolMetricsQueryHelper"; -import { - getDateTokenRecordMap, - getLatestTimestamp, -} from "src/views/TreasuryDashboard/components/Graph/helpers/TokenRecordsQueryHelper"; -import { getDateTokenSupplyMap } from "src/views/TreasuryDashboard/components/Graph/helpers/TokenSupplyQueryHelper"; /** * React Component that displays a line graph comparing the @@ -42,9 +27,7 @@ export const LiquidBackingPerOhmComparisonGraph = ({ earliestDate, activeToken, const theme = useTheme(); const chartName = "LiquidBackingComparison"; - const tokenRecordResults = useTokenRecordsQueryComplete(earliestDate); - const tokenSupplyResults = useTokenSuppliesQueryComplete(earliestDate); - const { data: protocolMetricResults } = useProtocolMetricsQuery(earliestDate); + const { data: metricResults } = useMetricsQuery({ startDate: earliestDate }); /** * Active token: @@ -75,56 +58,31 @@ export const LiquidBackingPerOhmComparisonGraph = ({ earliestDate, activeToken, const [byDateLiquidBacking, setByDateLiquidBacking] = useState([]); useMemo(() => { // While data is loading, ensure dependent data is empty - if (!protocolMetricResults || !tokenRecordResults || !tokenSupplyResults) { + if (!metricResults) { return; } - // Extract into a by-date map - const byDateTokenRecordMap = getDateTokenRecordMap(tokenRecordResults); - const byDateTokenSupplyMap = getDateTokenSupplyMap(tokenSupplyResults); - const byDateProtocolMetricMap = getDateProtocolMetricMap(protocolMetricResults); - // We need to flatten the records from all of the pages arrays console.debug(`${chartName}: rebuilding by date metrics`); const tempByDateLiquidBacking: LiquidBackingComparison[] = []; - byDateTokenRecordMap.forEach((value, key) => { - const currentTokenRecords = value; - const currentTokenSupplies = byDateTokenSupplyMap.get(key); - const currentProtocolMetrics = byDateProtocolMetricMap.get(key); - - if (!currentTokenSupplies || !currentProtocolMetrics) { - /** - * Similar to the other charts (except that it is abstracted into {useTokenRecordsQueries}), - * once we reach a date that does not contain TokenSupply or ProtocolMetric records, we abort. - * - * This will cause the chart to display up to (but not including) that date. - */ - return; - } - - // Determine the earliest timestamp for the current date, as we can then guarantee that data is up-to-date as of {earliestTimestamp} - const earliestTimestamp = getLatestTimestamp(currentTokenRecords); - const latestTokenRecord = currentTokenRecords[0]; - const latestProtocolMetric = currentProtocolMetrics[0]; - - const liquidBacking = getTreasuryAssetValue(currentTokenRecords, true); - - const ohmIndex: number = +latestProtocolMetric.currentIndex; + + // Iterate over the records, one record per day + metricResults.forEach(metricRecord => { const liquidBackingRecord: LiquidBackingComparison = { - date: key, - timestamp: earliestTimestamp, - block: +latestTokenRecord.block, - gOhmPrice: +latestProtocolMetric.gOhmPrice, - ohmPrice: +latestProtocolMetric.ohmPrice, - liquidBackingPerBackedOhm: getLiquidBackingPerOhmBacked(liquidBacking, currentTokenSupplies, ohmIndex), - liquidBackingPerGOhmSynthetic: getLiquidBackingPerGOhmSynthetic(liquidBacking, ohmIndex, currentTokenSupplies), + date: metricRecord.date, + timestamp: metricRecord.timestamps.Ethereum * 1000, // convert to ms format + block: metricRecord.blocks.Ethereum, + gOhmPrice: metricRecord.gOhmPrice, + ohmPrice: metricRecord.ohmPrice, + liquidBackingPerBackedOhm: metricRecord.treasuryLiquidBackingPerOhmBacked, + liquidBackingPerGOhmSynthetic: metricRecord.treasuryLiquidBackingPerGOhmBacked, }; tempByDateLiquidBacking.push(liquidBackingRecord); }); setByDateLiquidBacking(tempByDateLiquidBacking); - }, [protocolMetricResults, tokenRecordResults, tokenSupplyResults]); + }, [metricResults]); // Handle parameter changes useEffect(() => { diff --git a/src/views/TreasuryDashboard/components/Graph/OhmSupplyGraph.tsx b/src/views/TreasuryDashboard/components/Graph/OhmSupplyGraph.tsx index a8fd76ab0a..fa0d0632ef 100644 --- a/src/views/TreasuryDashboard/components/Graph/OhmSupplyGraph.tsx +++ b/src/views/TreasuryDashboard/components/Graph/OhmSupplyGraph.tsx @@ -7,33 +7,13 @@ import { getCategoriesMap, getDataKeyColorsMap, } from "src/helpers/subgraph/ProtocolMetricsHelper"; -import { - getBondDepositsSupply, - getBondPremintedSupply, - getBondVestingTokensSupply, - getBoostedLiquidityVaultSupply, - getExternalSupply, - getLendingSupply, - getMigrationOffsetSupply, - getOhmBackedSupply, - getOhmCirculatingSupply, - getOhmFloatingSupply, - getOhmTotalSupply, - getProtocolOwnedLiquiditySupply, - getTreasurySupply, -} from "src/helpers/subgraph/TreasuryQueryHelper"; -import { useProtocolMetricsQuery, useTokenSuppliesQueryComplete } from "src/hooks/useFederatedSubgraphQuery"; +import { useMetricsQuery } from "src/hooks/useFederatedSubgraphQuery"; import { DEFAULT_BULLETPOINT_COLOURS, DEFAULT_COLORS, GraphProps, } from "src/views/TreasuryDashboard/components/Graph/Constants"; import { getTickStyle } from "src/views/TreasuryDashboard/components/Graph/helpers/ChartHelper"; -import { getDateProtocolMetricMap } from "src/views/TreasuryDashboard/components/Graph/helpers/ProtocolMetricsQueryHelper"; -import { - getDateTokenSupplyMap, - getLatestTimestamp, -} from "src/views/TreasuryDashboard/components/Graph/helpers/TokenSupplyQueryHelper"; /** * React Component that displays a line graph comparing the @@ -47,8 +27,7 @@ export const OhmSupplyGraph = ({ earliestDate, onMouseMove, subgraphDaysOffset } const chartName = "OhmSupplyGraph"; - const tokenSupplyResults = useTokenSuppliesQueryComplete(earliestDate); - const { data: protocolMetricResults } = useProtocolMetricsQuery(earliestDate); + const { data: metricResults } = useMetricsQuery({ startDate: earliestDate }); /** * Chart population: @@ -77,57 +56,47 @@ export const OhmSupplyGraph = ({ earliestDate, onMouseMove, subgraphDaysOffset } }; const [byDateOhmSupply, setByDateOhmSupply] = useState([]); useMemo(() => { - if (!tokenSupplyResults || !protocolMetricResults) { + // While data is loading, ensure dependent data is empty + if (!metricResults) { return; } - // Extract into a by-date map - const byDateTokenSupplyMap = getDateTokenSupplyMap(tokenSupplyResults); - const byDateProtocolMetricMap = getDateProtocolMetricMap(protocolMetricResults); - console.debug(`${chartName}: rebuilding by date metrics`); const tempByDateOhmSupply: OhmSupplyComparison[] = []; - byDateTokenSupplyMap.forEach((dateSupplyValues, dateString) => { + + // Iterate over the records, one record per day + metricResults.forEach(metricRecord => { /** * Non-Ethereum mainnet chains do not have the OHM index, so they return * TokenSupply results in terms of gOHM. We supply the OHM index from the * protocol metrics query to convert the gOHM values to OHM. */ - const dayProtocolMetricsResults = byDateProtocolMetricMap.get(dateString); - if (!dayProtocolMetricsResults || dayProtocolMetricsResults.length == 0) { - console.log(`${chartName}: No protocol metrics found for ${dateString}. Skipping.`); - return; - } - - const ohmIndex: number = +dayProtocolMetricsResults[0].currentIndex; - - const earliestTimestamp = getLatestTimestamp(dateSupplyValues); - const latestSupplyValue = dateSupplyValues[0]; const dateOhmSupply: OhmSupplyComparison = { - date: dateString, - timestamp: earliestTimestamp, - block: +latestSupplyValue.block, - circulatingSupply: getOhmCirculatingSupply(dateSupplyValues, ohmIndex)[0], - floatingSupply: getOhmFloatingSupply(dateSupplyValues, ohmIndex)[0], - backedSupply: getOhmBackedSupply(dateSupplyValues, ohmIndex)[0], - totalSupply: getOhmTotalSupply(dateSupplyValues, ohmIndex)[0], - protocolOwnedLiquidity: getProtocolOwnedLiquiditySupply(dateSupplyValues, ohmIndex)[0], - treasury: getTreasurySupply(dateSupplyValues, ohmIndex)[0], - migrationOffset: getMigrationOffsetSupply(dateSupplyValues, ohmIndex)[0], - bondDeposits: getBondDepositsSupply(dateSupplyValues, ohmIndex)[0], - bondVestingTokens: getBondVestingTokensSupply(dateSupplyValues, ohmIndex)[0], - bondPreminted: getBondPremintedSupply(dateSupplyValues, ohmIndex)[0], - external: getExternalSupply(dateSupplyValues, ohmIndex), - lending: getLendingSupply(dateSupplyValues, ohmIndex)[0], - boostedLiquidityVault: getBoostedLiquidityVaultSupply(dateSupplyValues, ohmIndex)[0], + date: metricRecord.date, + timestamp: metricRecord.timestamps.Ethereum * 1000, // convert to ms format + block: metricRecord.blocks.Ethereum, + circulatingSupply: metricRecord.ohmCirculatingSupply, + floatingSupply: metricRecord.ohmFloatingSupply, + backedSupply: metricRecord.ohmBackedSupply, + totalSupply: metricRecord.ohmTotalSupply, + protocolOwnedLiquidity: metricRecord.ohmSupplyCategories.ProtocolOwnedLiquidity, + treasury: metricRecord.ohmSupplyCategories.Treasury, + migrationOffset: metricRecord.ohmSupplyCategories.MigrationOffset, + bondDeposits: + metricRecord.ohmSupplyCategories.BondsDepositsVesting + metricRecord.ohmSupplyCategories.BondsDeposits, + bondVestingTokens: metricRecord.ohmSupplyCategories.BondsTokensVesting, + bondPreminted: metricRecord.ohmSupplyCategories.BondsPreminted, + external: metricRecord.ohmBackedSupply, + lending: metricRecord.ohmSupplyCategories.LendingMarkets, + boostedLiquidityVault: metricRecord.ohmSupplyCategories.BoostedLiquidityVault, }; tempByDateOhmSupply.push(dateOhmSupply); }); setByDateOhmSupply(tempByDateOhmSupply); - }, [tokenSupplyResults, protocolMetricResults]); + }, [metricResults]); // Handle parameter changes useEffect(() => { diff --git a/src/views/TreasuryDashboard/components/Graph/OhmSupplyTable.tsx b/src/views/TreasuryDashboard/components/Graph/OhmSupplyTable.tsx index 080850650e..9d89cbd731 100644 --- a/src/views/TreasuryDashboard/components/Graph/OhmSupplyTable.tsx +++ b/src/views/TreasuryDashboard/components/Graph/OhmSupplyTable.tsx @@ -8,25 +8,13 @@ import { useMediaQuery, useTheme, } from "@mui/material"; -import { useEffect, useMemo, useState } from "react"; +import { Fragment, useEffect, useMemo, useState } from "react"; import { GOHM_TOKEN } from "src/constants/tokens"; import { formatNumber } from "src/helpers"; import { TOKEN_SUPPLY_TYPE_TOTAL_SUPPLY } from "src/helpers/subgraph/Constants"; -import { - getOhmBackedSupply, - getOhmCirculatingSupply, - getOhmFloatingSupply, - getOhmTotalSupply, -} from "src/helpers/subgraph/TreasuryQueryHelper"; -import { - TokenSupply, - useProtocolMetricsQuery, - useTokenSuppliesQueryComplete, -} from "src/hooks/useFederatedSubgraphQuery"; +import { TokenSupply, useMetricsQuery } from "src/hooks/useFederatedSubgraphQuery"; import { ChartCard } from "src/views/TreasuryDashboard/components/Graph/ChartCard"; import { AssetsTableProps, GraphProps } from "src/views/TreasuryDashboard/components/Graph/Constants"; -import { getDateProtocolMetricMap } from "src/views/TreasuryDashboard/components/Graph/helpers/ProtocolMetricsQueryHelper"; -import { getDateTokenSupplyMap } from "src/views/TreasuryDashboard/components/Graph/helpers/TokenSupplyQueryHelper"; enum SupplyMetric { TotalSupply = "Total Supply", @@ -56,8 +44,7 @@ export const OhmSupplyTable = ({ earliestDate, selectedIndex, subgraphDaysOffset const chartName = "OhmSupplyTable"; - const tokenSupplyResults = useTokenSuppliesQueryComplete(earliestDate); - const { data: protocolMetricResults } = useProtocolMetricsQuery(earliestDate); + const { data: metricResults } = useMetricsQuery({ startDate: earliestDate, includeContentRecords: true }); /** * Chart population: @@ -67,19 +54,19 @@ export const OhmSupplyTable = ({ earliestDate, selectedIndex, subgraphDaysOffset const [byDateCategoryTokenSupplyMap, setByDateCategoryTokenSupplyMap] = useState({}); const [selectedDaySupplyMap, setSelectedDaySupplyMap] = useState(); useMemo(() => { - if (!tokenSupplyResults || !protocolMetricResults) { + if (!metricResults) { return; } // We need to flatten the tokenRecords from all of the pages arrays console.debug(`${chartName}: rebuilding by date token summary`); - // Group by date - const tempDateTokenSupplyMap = getDateTokenSupplyMap(tokenSupplyResults); - const tempDateProtocolMetricMap = getDateProtocolMetricMap(protocolMetricResults); + const removeElementsFromArray = (array: TokenSupply[], elements: string[]): TokenSupply[] => { + return array.filter(item => !elements.includes(item.id)); + }; - const removeElementsFromArray = (array: TokenSupply[], elements: TokenSupply[]): TokenSupply[] => { - return array.filter(item => !elements.includes(item)); + const addToProcessedRecords = (array: TokenSupply[], elements: string[]): void => { + array.forEach(item => elements.push(item.id)); }; /** @@ -98,20 +85,22 @@ export const OhmSupplyTable = ({ earliestDate, selectedIndex, subgraphDaysOffset ); }; + const flatten = (chainSupplies: Record | undefined): TokenSupply[] => { + if (!chainSupplies) return []; + + return Object.values(chainSupplies).reduce((acc, val) => acc.concat(val), []); + }; + // Group by date by category const tempDateCategoryTokenSupplyMap: OhmSupplyDateMap = {}; - for (const [date, tokenSupplyRecords] of tempDateTokenSupplyMap) { - const dateProtocolMetrics = tempDateProtocolMetricMap.get(date); - if (!dateProtocolMetrics || !dateProtocolMetrics.length) { - continue; - } - const dateLatestIndex: number = +dateProtocolMetrics[0].currentIndex; + for (const currentMetric of metricResults) { + const dateLatestIndex: number = currentMetric.ohmIndex; const categoryTokenSupplyMap: OhmSupplyMetricMap = { currentIndex: dateLatestIndex, metrics: {}, }; - const processedRecords: TokenSupply[] = []; + const processedRecords: string[] = []; /** * For each metric: @@ -120,42 +109,44 @@ export const OhmSupplyTable = ({ earliestDate, selectedIndex, subgraphDaysOffset * - Assign the array of records incremental to the metric */ - const [totalSupply, totalSupplyRecords] = getOhmTotalSupply(tokenSupplyRecords, dateLatestIndex); + const totalSupply: number = currentMetric.ohmTotalSupply; + const totalSupplyRecords: TokenSupply[] = flatten(currentMetric.ohmTotalSupplyRecords); + categoryTokenSupplyMap.metrics[SupplyMetric.TotalSupply] = { metric: totalSupply, records: sortElements(removeElementsFromArray(totalSupplyRecords, processedRecords)), }; - processedRecords.push(...totalSupplyRecords); + addToProcessedRecords(totalSupplyRecords, processedRecords); - const [circulatingSupply, circulatingSupplyRecords] = getOhmCirculatingSupply( - tokenSupplyRecords, - dateLatestIndex, - ); + const circulatingSupply: number = currentMetric.ohmCirculatingSupply; + const circulatingSupplyRecords: TokenSupply[] = flatten(currentMetric.ohmCirculatingSupplyRecords); categoryTokenSupplyMap.metrics[SupplyMetric.CirculatingSupply] = { metric: circulatingSupply, records: sortElements(removeElementsFromArray(circulatingSupplyRecords, processedRecords)), }; - processedRecords.push(...circulatingSupplyRecords); + addToProcessedRecords(circulatingSupplyRecords, processedRecords); - const [floatingSupply, floatingSupplyRecords] = getOhmFloatingSupply(tokenSupplyRecords, dateLatestIndex); + const floatingSupply: number = currentMetric.ohmFloatingSupply; + const floatingSupplyRecords: TokenSupply[] = flatten(currentMetric.ohmFloatingSupplyRecords); categoryTokenSupplyMap.metrics[SupplyMetric.FloatingSupply] = { metric: floatingSupply, records: sortElements(removeElementsFromArray(floatingSupplyRecords, processedRecords)), }; - processedRecords.push(...floatingSupplyRecords); + addToProcessedRecords(floatingSupplyRecords, processedRecords); - const [backedSupply, backedSupplyRecords] = getOhmBackedSupply(tokenSupplyRecords, dateLatestIndex); + const backedSupply: number = currentMetric.ohmBackedSupply; + const backedSupplyRecords: TokenSupply[] = flatten(currentMetric.ohmBackedSupplyRecords); categoryTokenSupplyMap.metrics[SupplyMetric.BackedSupply] = { metric: backedSupply, records: sortElements(removeElementsFromArray(backedSupplyRecords, processedRecords)), }; - processedRecords.push(...backedSupplyRecords); + addToProcessedRecords(backedSupplyRecords, processedRecords); - tempDateCategoryTokenSupplyMap[date] = categoryTokenSupplyMap; + tempDateCategoryTokenSupplyMap[currentMetric.date] = categoryTokenSupplyMap; } setByDateCategoryTokenSupplyMap(tempDateCategoryTokenSupplyMap); - }, [tokenSupplyResults, protocolMetricResults]); + }, [metricResults]); // Handle parameter changes useEffect(() => { @@ -230,7 +221,7 @@ export const OhmSupplyTable = ({ earliestDate, selectedIndex, subgraphDaysOffset const metric = selectedDaySupplyMap.metrics[metricName]; return ( - <> + { // One row per record metric.records.map(record => { @@ -271,7 +262,7 @@ export const OhmSupplyTable = ({ earliestDate, selectedIndex, subgraphDaysOffset }) } {/* Display total */} - + {metricName} @@ -279,7 +270,7 @@ export const OhmSupplyTable = ({ earliestDate, selectedIndex, subgraphDaysOffset {formatNumber(metric.metric, 0)} - + ); }) } diff --git a/src/views/TreasuryDashboard/components/Graph/helpers/ProtocolMetricsQueryHelper.ts b/src/views/TreasuryDashboard/components/Graph/helpers/ProtocolMetricsQueryHelper.ts deleted file mode 100644 index 301ec80992..0000000000 --- a/src/views/TreasuryDashboard/components/Graph/helpers/ProtocolMetricsQueryHelper.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { ProtocolMetric } from "src/hooks/useFederatedSubgraphQuery"; - -export const getDateProtocolMetricMap = (records: ProtocolMetric[]): Map => { - const dateMap = new Map(); - records.map(value => { - // Group all records by date - const currentDateRecords = dateMap.get(value.date) || []; - currentDateRecords.push(value); - dateMap.set(value.date, currentDateRecords); - }); - - return dateMap; -}; diff --git a/src/views/TreasuryDashboard/components/Graph/helpers/TokenSupplyQueryHelper.ts b/src/views/TreasuryDashboard/components/Graph/helpers/TokenSupplyQueryHelper.ts deleted file mode 100644 index 5d37c2e071..0000000000 --- a/src/views/TreasuryDashboard/components/Graph/helpers/TokenSupplyQueryHelper.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { TokenSupply } from "src/hooks/useFederatedSubgraphQuery"; - -export const getDateTokenSupplyMap = (records: TokenSupply[]): Map => { - const dateMap = new Map(); - records.map(value => { - // Group all records by date - const currentDateRecords = dateMap.get(value.date) || []; - currentDateRecords.push(value); - dateMap.set(value.date, currentDateRecords); - }); - - return dateMap; -}; - -export const getLatestTimestamp = (records: TokenSupply[]): number => { - return ( - records.reduce((previousValue: number, currentValue: TokenSupply) => { - if (previousValue == -1) return +currentValue.timestamp; - - if (+currentValue.timestamp > previousValue) return +currentValue.timestamp; - - return previousValue; - }, -1) * 1000 // To convert from second to millisecond accuracy - ); -}; diff --git a/src/views/TreasuryDashboard/components/Metric/Metric.tsx b/src/views/TreasuryDashboard/components/Metric/Metric.tsx index 438c5f7e51..e5f16cfde6 100644 --- a/src/views/TreasuryDashboard/components/Metric/Metric.tsx +++ b/src/views/TreasuryDashboard/components/Metric/Metric.tsx @@ -8,7 +8,7 @@ import { useTotalValueDeposited, } from "src/hooks/useProtocolMetrics"; import { useStakingRebaseRate } from "src/hooks/useStakingRebaseRate"; -import { useTreasuryAssetsLatestValue } from "src/hooks/useTokenRecordsMetrics"; +import { useTreasuryMarketValueLatest } from "src/hooks/useTokenRecordsMetrics"; import { useOhmCirculatingSupply, useOhmTotalSupply } from "src/hooks/useTokenSupplyMetrics"; import { useLiquidBackingPerGOhm, useLiquidBackingPerOhmBacked, useMarketCap } from "src/hooks/useTreasuryMetrics"; @@ -72,23 +72,6 @@ export const OHMPriceFromSubgraph: React.FC; }; -/** - * uses on-chain price - */ -export const SOHMPrice: React.FC = props => { - const { data: ohmPrice } = useOhmPrice(); - - const _props: MetricProps = { - ...props, - label: "sOHM " + `Price`, - }; - - if (ohmPrice) _props.metric = formatCurrency(ohmPrice, 2); - else _props.isLoading = true; - - return ; -}; - export const OhmCirculatingSupply: React.FC = props => { const totalSupply = useOhmTotalSupply(props.earliestDate); const circSupply = useOhmCirculatingSupply(props.earliestDate); @@ -139,7 +122,7 @@ Backed supply is the quantity of outstanding OHM that is backed by assets in the }; export const BackingPerGOHM: React.FC = props => { - const [liquidBackingPerGOhmCirculating, liquidBacking, , latestIndex, ohmFloatingSupply] = useLiquidBackingPerGOhm( + const [liquidBackingPerGOhm, liquidBacking, latestIndex, ohmBackedSupply] = useLiquidBackingPerGOhm( props.earliestDate, ); @@ -148,7 +131,7 @@ export const BackingPerGOHM: React.FC; @@ -249,7 +232,7 @@ export const StakingAPY: React.FC = props => { }; export const TreasuryBalance: React.FC = props => { - const marketValueQuery = useTreasuryAssetsLatestValue(false); + const marketValueQuery = useTreasuryMarketValueLatest(); const _props: MetricProps = { ...props, diff --git a/yarn.lock b/yarn.lock index d69c463ea3..ef3a4ec7b0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -223,13 +223,20 @@ dependencies: "@babel/helper-plugin-utils" "^7.19.0" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.5.tgz#8564dd588182ce0047d55d7a75e93921107b57ec" integrity sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA== dependencies: regenerator-runtime "^0.13.11" +"@babel/runtime@^7.15.4": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" + integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== + dependencies: + regenerator-runtime "^0.13.11" + "@babel/template@^7.20.7": version "7.20.7" resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" @@ -969,10 +976,10 @@ resolved "https://registry.yarnpkg.com/@fastify/deepmerge/-/deepmerge-1.3.0.tgz#8116858108f0c7d9fd460d05a7d637a13fe3239a" integrity sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A== -"@fastify/error@^3.0.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@fastify/error/-/error-3.2.0.tgz#9010e0acfe07965f5fc7d2b367f58f042d0f4106" - integrity sha512-KAfcLa+CnknwVi5fWogrLXgidLic+GXnLjijXdpl8pvkvbXU5BGa37iZO9FGvsh9ZL4y+oFi5cbHBm5UOG+dmQ== +"@fastify/error@^3.2.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@fastify/error/-/error-3.3.0.tgz#eba790082e1144bfc8def0c2c8ef350064bc537b" + integrity sha512-dj7vjIn1Ar8sVXj2yAXiMNCJDmS9MQ9XMlIecX2dIzzhjSHCyKo4DdXjXMs7wKW2kj6yvVRSpuQjOZ3YLrh56w== "@fastify/fast-json-stringify-compiler@^4.3.0": version "4.3.0" @@ -989,15 +996,6 @@ fast-querystring "^1.0.0" fastify-plugin "^4.0.0" -"@graphql-mesh/cross-helpers@^0.3.4": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@graphql-mesh/cross-helpers/-/cross-helpers-0.3.4.tgz#72ec33359f0dd87a796bd2e91b4c9abb4164725d" - integrity sha512-jseNppSNEwNWjcjDDwsxmRBK+ub8tz2qc/ca2ZfCTebuCk/+D3dI3LJ95ceNFOIhInK0g2HVq8BO8lMMX1pQtg== - dependencies: - path-browserify "1.0.1" - react-native-fs "2.20.0" - react-native-path "0.0.5" - "@graphql-mesh/cross-helpers@^0.4.0": version "0.4.0" resolved "https://registry.yarnpkg.com/@graphql-mesh/cross-helpers/-/cross-helpers-0.4.0.tgz#e27dd47c97de888bb2f152e251c6f641ece9e0dc" @@ -1007,25 +1005,7 @@ react-native-fs "2.20.0" react-native-path "0.0.5" -"@graphql-mesh/string-interpolation@0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@graphql-mesh/string-interpolation/-/string-interpolation-0.4.3.tgz#cdb8376fb2f567950b2e2a426677165fe7e6904d" - integrity sha512-snrlsJa7rXwyxQObLWQLU3I1eYX3YdFbYgnrJYaoc5NVTkgY/TbG3P8vt2mZnpOHokMukIr3TOVVwg7gUD3cDQ== - dependencies: - dayjs "1.11.7" - json-pointer "0.6.2" - lodash.get "4.4.2" - -"@graphql-mesh/string-interpolation@0.4.4": - version "0.4.4" - resolved "https://registry.yarnpkg.com/@graphql-mesh/string-interpolation/-/string-interpolation-0.4.4.tgz#82a41f4d02863f28a12dfef48af58501a976cf26" - integrity sha512-IotswBYZRaPswOebcr2wuOFuzD3dHIJxVEkPiiQubqjUIR8HhQI22XHJv0WNiQZ65z8NR9+GYWwEDIc2JRCNfQ== - dependencies: - dayjs "1.11.7" - json-pointer "0.6.2" - lodash.get "4.4.2" - -"@graphql-mesh/string-interpolation@0.5.0", "@graphql-mesh/string-interpolation@^0.5.0": +"@graphql-mesh/string-interpolation@0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@graphql-mesh/string-interpolation/-/string-interpolation-0.5.0.tgz#47a4688f3b5b132efc1a88417acea32da4c85c5a" integrity sha512-fgAc4DXXbAO5H0PtAiAuufnNENzQ8sIkMz9T2aS0l4CIH721o+fAgc9pTyHwdksiK223K/H0Fv+ZiqjB0B97pQ== @@ -1034,6 +1014,15 @@ json-pointer "0.6.2" lodash.get "4.4.2" +"@graphql-mesh/string-interpolation@0.5.1", "@graphql-mesh/string-interpolation@^0.5.0": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@graphql-mesh/string-interpolation/-/string-interpolation-0.5.1.tgz#b5e995769b0d9b72f040f10ea5cf53a5fc98bdad" + integrity sha512-xrShpJ4silpWekpeVntDNt6NY6RxEMMbZ1CenIkLsl/QN3mMjxWa3rQX0qrByBeyDn7SorSN3lrClCCsPvmWZw== + dependencies: + dayjs "1.11.9" + json-pointer "0.6.2" + lodash.get "4.4.2" + "@graphql-mesh/types@0.94.0": version "0.94.0" resolved "https://registry.yarnpkg.com/@graphql-mesh/types/-/types-0.94.0.tgz#cf4d62b271a055a86ea5dda331ff024f838480d7" @@ -1043,15 +1032,6 @@ "@graphql-tools/delegate" "^10.0.0" "@graphql-typed-document-node/core" "^3.2.0" -"@graphql-mesh/types@^0.91.12": - version "0.91.15" - resolved "https://registry.yarnpkg.com/@graphql-mesh/types/-/types-0.91.15.tgz#1436ecee2ad2c094d5d80ad62de97187f2538a87" - integrity sha512-zEO9WtfYSAx9AHqtxqfQ6eOi+qHiLNko2a3tLeW41at3elinYe1FmxzgPb/IdGhJPYGeHFzrINymlQAGQKmALw== - dependencies: - "@graphql-tools/batch-delegate" "8.4.25" - "@graphql-tools/delegate" "9.0.31" - "@graphql-typed-document-node/core" "3.2.0" - "@graphql-mesh/utils@0.94.0": version "0.94.0" resolved "https://registry.yarnpkg.com/@graphql-mesh/utils/-/utils-0.94.0.tgz#a89c5dd2f7bac443c7f4208ed6a4c1127a77f2ab" @@ -1065,29 +1045,6 @@ lodash.topath "^4.5.2" tiny-lru "^11.0.0" -"@graphql-mesh/utils@^0.43.20": - version "0.43.23" - resolved "https://registry.yarnpkg.com/@graphql-mesh/utils/-/utils-0.43.23.tgz#01dc33fe73f835931d7be35915402b7dde4e6e4e" - integrity sha512-3ZrgLGGE61geHzBnX/mXcBzl/hJ1bmTut4kYKkesT72HiFSX6N5YKXlGxh33NtvYWrU8rV86/2Fi+u4yA+y2fQ== - dependencies: - "@graphql-mesh/string-interpolation" "0.4.4" - "@graphql-tools/delegate" "9.0.31" - dset "3.1.2" - js-yaml "4.1.0" - lodash.get "4.4.2" - lodash.topath "4.5.2" - tiny-lru "8.0.2" - -"@graphql-tools/batch-delegate@8.4.25": - version "8.4.25" - resolved "https://registry.yarnpkg.com/@graphql-tools/batch-delegate/-/batch-delegate-8.4.25.tgz#2ef78838c36348ef609c3bf5dbe0a6ef9ac4c78d" - integrity sha512-Rn/gLxMZULzo2+l4uKxYzXQYdZykWmKXTGPyyxuiLUu92Odt71IVb0+56WS+Tg0d7WUS0DeRVZWTRT2bZS7Nvw== - dependencies: - "@graphql-tools/delegate" "^9.0.31" - "@graphql-tools/utils" "^9.2.1" - dataloader "2.2.2" - tslib "^2.4.0" - "@graphql-tools/batch-delegate@^9.0.0": version "9.0.0" resolved "https://registry.yarnpkg.com/@graphql-tools/batch-delegate/-/batch-delegate-9.0.0.tgz#dd9e87466f450bae61a20525a2a8d8b0d257df37" @@ -1099,16 +1056,6 @@ tslib "^2.4.0" value-or-promise "^1.0.12" -"@graphql-tools/batch-execute@^8.5.19", "@graphql-tools/batch-execute@^8.5.22": - version "8.5.22" - resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-8.5.22.tgz#a742aa9d138fe794e786d8fb6429665dc7df5455" - integrity sha512-hcV1JaY6NJQFQEwCKrYhpfLK8frSXDbtNMoTur98u10Cmecy1zrqNKSqhEyGetpgHxaJRqszGzKeI3RuroDN6A== - dependencies: - "@graphql-tools/utils" "^9.2.1" - dataloader "^2.2.2" - tslib "^2.4.0" - value-or-promise "^1.0.12" - "@graphql-tools/batch-execute@^9.0.0": version "9.0.0" resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-9.0.0.tgz#9aba67c235dfa8e28e17d204ccb74998064eaec3" @@ -1119,19 +1066,6 @@ tslib "^2.4.0" value-or-promise "^1.0.12" -"@graphql-tools/delegate@9.0.31": - version "9.0.31" - resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-9.0.31.tgz#e147f25c3deaf9ce161867986da129f48ecc7190" - integrity sha512-kQ08ssI9RMC3ENBCcwR/vP+IAvi5oWiyLBlydlS62N/UoIEHi1AgjT4dPkIlCXy/U/f2l6ETbsWCcdoN/2SQ7A== - dependencies: - "@graphql-tools/batch-execute" "^8.5.19" - "@graphql-tools/executor" "^0.0.17" - "@graphql-tools/schema" "^9.0.18" - "@graphql-tools/utils" "^9.2.1" - dataloader "^2.2.2" - tslib "^2.5.0" - value-or-promise "^1.0.12" - "@graphql-tools/delegate@^10.0.0": version "10.0.0" resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-10.0.0.tgz#c9da70811de8efbf630a74188698941cdc618ccf" @@ -1145,41 +1079,6 @@ tslib "^2.5.0" value-or-promise "^1.0.12" -"@graphql-tools/delegate@^9.0.31": - version "9.0.35" - resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-9.0.35.tgz#94683f4bcec63520b4a6c8b2abf2e2e9324ea4f1" - integrity sha512-jwPu8NJbzRRMqi4Vp/5QX1vIUeUPpWmlQpOkXQD2r1X45YsVceyUUBnktCrlJlDB4jPRVy7JQGwmYo3KFiOBMA== - dependencies: - "@graphql-tools/batch-execute" "^8.5.22" - "@graphql-tools/executor" "^0.0.20" - "@graphql-tools/schema" "^9.0.19" - "@graphql-tools/utils" "^9.2.1" - dataloader "^2.2.2" - tslib "^2.5.0" - value-or-promise "^1.0.12" - -"@graphql-tools/executor@^0.0.17": - version "0.0.17" - resolved "https://registry.yarnpkg.com/@graphql-tools/executor/-/executor-0.0.17.tgz#4f48693fd3fa2980c67ee0a1d1c2049942aa28e5" - integrity sha512-DVKyMclsNY8ei14FUrR4jn24VHB3EuFldD8yGWrcJ8cudSh47sknznvXN6q0ffqDeAf0IlZSaBCHrOTBqA7OfQ== - dependencies: - "@graphql-tools/utils" "^9.2.1" - "@graphql-typed-document-node/core" "3.2.0" - "@repeaterjs/repeater" "3.0.4" - tslib "^2.4.0" - value-or-promise "1.0.12" - -"@graphql-tools/executor@^0.0.20": - version "0.0.20" - resolved "https://registry.yarnpkg.com/@graphql-tools/executor/-/executor-0.0.20.tgz#d51d159696e839522dd49d936636af251670e425" - integrity sha512-GdvNc4vszmfeGvUqlcaH1FjBoguvMYzxAfT6tDd4/LgwymepHhinqLNA5otqwVLW+JETcDaK7xGENzFomuE6TA== - dependencies: - "@graphql-tools/utils" "^9.2.1" - "@graphql-typed-document-node/core" "3.2.0" - "@repeaterjs/repeater" "^3.0.4" - tslib "^2.4.0" - value-or-promise "^1.0.12" - "@graphql-tools/executor@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@graphql-tools/executor/-/executor-1.1.0.tgz#bafddb7c56d8250c5eda83437c10664e702109a8" @@ -1199,14 +1098,6 @@ "@graphql-tools/utils" "8.9.0" tslib "^2.4.0" -"@graphql-tools/merge@^8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.4.1.tgz#52879e5f73565f504ceea04fcd9ef90a6e733c62" - integrity sha512-hssnPpZ818mxgl5+GfyOOSnnflAxiaTn1A1AojZcIbh4J52sS1Q0gSuBR5VrnUDjuxiqoCotpXdAQl+K+U6KLQ== - dependencies: - "@graphql-tools/utils" "^9.2.1" - tslib "^2.4.0" - "@graphql-tools/merge@^9.0.0": version "9.0.0" resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-9.0.0.tgz#b0a3636c82716454bff88e9bb40108b0471db281" @@ -1225,7 +1116,7 @@ tslib "^2.4.0" value-or-promise "^1.0.12" -"@graphql-tools/schema@^8.3.10", "@graphql-tools/schema@^8.5.1": +"@graphql-tools/schema@^8.5.1": version "8.5.1" resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.5.1.tgz#c2f2ff1448380919a330312399c9471db2580b58" integrity sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg== @@ -1235,16 +1126,6 @@ tslib "^2.4.0" value-or-promise "1.0.11" -"@graphql-tools/schema@^9.0.18", "@graphql-tools/schema@^9.0.19": - version "9.0.19" - resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.19.tgz#c4ad373b5e1b8a0cf365163435b7d236ebdd06e7" - integrity sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w== - dependencies: - "@graphql-tools/merge" "^8.4.1" - "@graphql-tools/utils" "^9.2.1" - tslib "^2.4.0" - value-or-promise "^1.0.12" - "@graphql-tools/utils@8.9.0": version "8.9.0" resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.9.0.tgz#c6aa5f651c9c99e1aca55510af21b56ec296cdb7" @@ -1253,11 +1134,12 @@ tslib "^2.4.0" "@graphql-tools/utils@^10.0.0": - version "10.0.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-10.0.1.tgz#52e6c0ce920b57473823e487184f5017974fe4c4" - integrity sha512-i1FozbDGHgdsFA47V/JvQZ0FE8NAy0Eiz7HGCJO2MkNdZAKNnwei66gOq0JWYVFztwpwbVQ09GkKhq7Kjcq5Cw== + version "10.0.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-10.0.4.tgz#3104bea54752ae54f1f4a67833d7e3b734400dbe" + integrity sha512-MF+nZgGROSnFgyOYWhrl2PuJMlIBvaCH48vtnlnDQKSeDc2fUfOzUVloBAQvnYmK9JBmHHks4Pxv25Ybg3r45Q== dependencies: "@graphql-typed-document-node/core" "^3.1.1" + dset "^3.1.2" tslib "^2.4.0" "@graphql-tools/utils@^9.2.1": @@ -1663,30 +1545,11 @@ "@react-spring/web" "^9.5.5" "@olympusdao/treasury-subgraph-client@^1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@olympusdao/treasury-subgraph-client/-/treasury-subgraph-client-1.1.1.tgz#be39c0ab43768066d1477c2da2ff54d60284300e" - integrity sha512-HxyY7WIBow95r18S9Jtx3114OJ2vviROCgvuPAwegOBXVhyST9P29stBPnQp9slNB38soT1kAlkiQibCn1Ot3Q== - dependencies: - "@wundergraph/sdk" "^0.151.0" - -"@omnigraph/json-schema@0.39.0": - version "0.39.0" - resolved "https://registry.yarnpkg.com/@omnigraph/json-schema/-/json-schema-0.39.0.tgz#a9ba311080da5bad9bef370c5ba5bbde090898b3" - integrity sha512-giEgecCA2PPaVTpq1NRhb7vv59sxzA/ijB/RdDXKgBE3HgFAd9KAodLBsAHB2Sr+w/qhlHEHzPRyQHlCq414qA== + version "1.3.0" + resolved "https://registry.yarnpkg.com/@olympusdao/treasury-subgraph-client/-/treasury-subgraph-client-1.3.0.tgz#b380c883d1ceba9770a81aae54d19b5a3766cc3b" + integrity sha512-kZc55gp5WnR7a0/IkY5VClzLAMwc45hzaZW9Ir4Muh6EnZtHF04wgqI0970+xKMmukVR2uI29OjkKCmy9gUB6Q== dependencies: - "@graphql-mesh/string-interpolation" "0.4.4" - "@json-schema-tools/meta-schema" "1.7.0" - "@whatwg-node/fetch" "^0.8.3" - ajv "8.12.0" - ajv-formats "2.1.1" - dset "3.1.2" - graphql-compose "9.0.10" - graphql-scalars "^1.20.4" - json-machete "0.18.20" - pascal-case "3.1.2" - qs "6.11.1" - to-json-schema "0.2.5" - url-join "4.0.1" + "@wundergraph/sdk" "^0.169.0" "@omnigraph/json-schema@0.94.2": version "0.94.2" @@ -1707,31 +1570,12 @@ to-json-schema "0.2.5" url-join "4.0.1" -"@omnigraph/json-schema@^0.38.24": - version "0.38.24" - resolved "https://registry.yarnpkg.com/@omnigraph/json-schema/-/json-schema-0.38.24.tgz#182e3594c2fdc141ad903ab43a30c5ce7f5e4b31" - integrity sha512-9oL5sguntQwyPPsLfONUpYYT45/8492oqsT6JPDGyvY98Ei7Fp+3qCXH/Y2OcLxNu9uim0kwc7OB0DV1epdndw== - dependencies: - "@graphql-mesh/string-interpolation" "0.4.3" - "@json-schema-tools/meta-schema" "1.7.0" - "@whatwg-node/fetch" "^0.8.3" - ajv "8.12.0" - ajv-formats "2.1.1" - dset "3.1.2" - graphql-compose "9.0.10" - graphql-scalars "^1.20.4" - json-machete "0.18.20" - pascal-case "3.1.2" - qs "6.11.1" - to-json-schema "0.2.5" - url-join "4.0.1" - "@omnigraph/json-schema@^0.94.2": - version "0.94.4" - resolved "https://registry.yarnpkg.com/@omnigraph/json-schema/-/json-schema-0.94.4.tgz#371242b1732516a512d24b07a4fc4077ec72e0ad" - integrity sha512-5Kf1RqnPoWUgLJjGT3hJRzLVxFxzEqCt8JcM+gNnz6EtWKSEWlgicB0QLOJ+2pIC/ysVAglUXRFnMXJWttbJ4Q== + version "0.94.8" + resolved "https://registry.yarnpkg.com/@omnigraph/json-schema/-/json-schema-0.94.8.tgz#6d044d08188230c753e4454cc280c35c48b4906a" + integrity sha512-8YcF/c1FcuP9pFIASiC9ERJGf0rTkKcWHi63ajpZi7SqNbrTdaKYDleOGWGPXFth9ujeUlagzgRbUB4VzvhRUg== dependencies: - "@graphql-mesh/string-interpolation" "0.5.0" + "@graphql-mesh/string-interpolation" "0.5.1" "@json-schema-tools/meta-schema" "1.7.0" "@whatwg-node/fetch" "^0.9.0" ajv "8.12.0" @@ -1739,7 +1583,7 @@ dset "3.1.2" graphql-compose "9.0.10" graphql-scalars "^1.22.2" - json-machete "0.94.1" + json-machete "0.94.5" pascal-case "3.1.2" qs "6.11.2" to-json-schema "0.2.5" @@ -1756,17 +1600,6 @@ json-machete "^0.94.0" openapi-types "^12.1.0" -"@omnigraph/openapi@^0.19.26": - version "0.19.27" - resolved "https://registry.yarnpkg.com/@omnigraph/openapi/-/openapi-0.19.27.tgz#6437d6f24bf61fbdcc85604fbeb82e521719b63b" - integrity sha512-BeG2SWUFQFeeYTnpjYZhMO8+6fna9yygtbCMlNM+8bEeLJIcuY2UQ/VnJEJu5dlPdtZNsYhjmBf9cvSphBKLKQ== - dependencies: - "@graphql-mesh/string-interpolation" "0.4.4" - "@omnigraph/json-schema" "0.39.0" - change-case "4.1.2" - json-machete "0.18.20" - openapi-types "12.1.0" - "@omnigraph/soap@0.94.2": version "0.94.2" resolved "https://registry.yarnpkg.com/@omnigraph/soap/-/soap-0.94.2.tgz#4b6758fe6c37bb2b0b32b20c4653abf1907cd586" @@ -1788,10 +1621,10 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f" integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA== -"@opentelemetry/context-async-hooks@1.14.0": - version "1.14.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.14.0.tgz#1ede5b0da289c53dac791a6f3c709d13c1b6b6bd" - integrity sha512-KfwMzdjxUtQM3uy4ogEdN3pdakFreyZNybKKlvxUM+inF5tAObsGamlmsfmUt6s3mXEC70+DY743+TdG4FMf/Q== +"@opentelemetry/context-async-hooks@1.15.1": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.15.1.tgz#694798afeb83eab5fe31c6e15762815b27615c65" + integrity sha512-JHPs/o15OO902lI5jkWWPz0JyOpQav7hfOY20MZFH/elq6kSvjBTw5cCu1v7SJwN0Ac3n08fOjYK+jtNlYP0LA== "@opentelemetry/core@1.13.0": version "1.13.0" @@ -1800,12 +1633,12 @@ dependencies: "@opentelemetry/semantic-conventions" "1.13.0" -"@opentelemetry/core@1.14.0", "@opentelemetry/core@^1.13.0": - version "1.14.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.14.0.tgz#64e876b29cb736c984d54164cd47433f513eafd3" - integrity sha512-MnMZ+sxsnlzloeuXL2nm5QcNczt/iO82UOeQQDHhV83F2fP3sgntW2evvtoxJki0MBLxEsh5ADD7PR/Hn5uzjw== +"@opentelemetry/core@1.15.1", "@opentelemetry/core@^1.13.0": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.1.tgz#a580a547c1006cc411ae7aacd4991b52555b3f1d" + integrity sha512-V6GoRTY6aANMDDOQ9CiHOiLWEK2b2b3OGZK+zk05Li5merb9jadFeV5ooTSGtjxfxVNMpQUaQERO1cdbdbeEGg== dependencies: - "@opentelemetry/semantic-conventions" "1.14.0" + "@opentelemetry/semantic-conventions" "1.15.1" "@opentelemetry/exporter-trace-otlp-proto@^0.39.1": version "0.39.1" @@ -1847,19 +1680,19 @@ "@opentelemetry/sdk-metrics" "1.13.0" "@opentelemetry/sdk-trace-base" "1.13.0" -"@opentelemetry/propagator-b3@1.14.0": - version "1.14.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-1.14.0.tgz#14fd7d337eeb3a53918b67d5e98714595923aad0" - integrity sha512-E05zrq0FxbalwJen8XZVfVclKmc5aqvGhMuSfXkbQ3IXC3EE1IcmJXX3T1Fum2JgeUlOt7FM90kaRG0BZ8Bgow== +"@opentelemetry/propagator-b3@1.15.1": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-1.15.1.tgz#d3c625d18945c9fd501ed7e2a628f56d0a80c378" + integrity sha512-Rgzp5CgxSLDLdtiUx/nv+1jkyyU/qbhTqTBxMUvk4fqPfddzQNZyllyJ9IMNp9Xh4pzYlPP5ZBlN5Sw5isjuaw== dependencies: - "@opentelemetry/core" "1.14.0" + "@opentelemetry/core" "1.15.1" -"@opentelemetry/propagator-jaeger@1.14.0": - version "1.14.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.14.0.tgz#afc652e5f5d917e019e2cb6f4c5cd0c474d3d5ed" - integrity sha512-B70+npZ9atPdRZjZ/KY5+aiHhK1h/8kqEoPfI6p5Pv0lMgi1aCXwi8w0Cjtm89nV3OhfwNCyuR6dhoFadvO0Ew== +"@opentelemetry/propagator-jaeger@1.15.1": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.15.1.tgz#1af170b9cee5cba556ccb2e21d547260cb5c33ad" + integrity sha512-27cljZFnbUv5e459e2BhcsHCn2yePYq+07dZNW51e6F05GDWHC86fpwdh+WKvrfKSRMddUMkufHyoBWxtUN/Vg== dependencies: - "@opentelemetry/core" "1.14.0" + "@opentelemetry/core" "1.15.1" "@opentelemetry/resources@1.13.0": version "1.13.0" @@ -1869,13 +1702,13 @@ "@opentelemetry/core" "1.13.0" "@opentelemetry/semantic-conventions" "1.13.0" -"@opentelemetry/resources@1.14.0", "@opentelemetry/resources@^1.13.0": - version "1.14.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.14.0.tgz#d6b0a4e71c2706d33c8c6ec7a7b8fea6ad27ddea" - integrity sha512-qRfWIgBxxl3z47E036Aey0Lj2ZjlFb27Q7Xnj1y1z/P293RXJZGLtcfn/w8JF7v1Q2hs3SDGxz7Wb9Dko1YUQA== +"@opentelemetry/resources@1.15.1", "@opentelemetry/resources@^1.13.0": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.1.tgz#6a0da2eb5d394d302701d428a1cbbb2cd924ac50" + integrity sha512-15JcpyKZHhFYQ1uiC08vR02sRY/2seSnqSJ0tIUhcdYDzOhd0FrqPYpLj3WkLhVdQP6vgJ+pelAmSaOrCxCpKA== dependencies: - "@opentelemetry/core" "1.14.0" - "@opentelemetry/semantic-conventions" "1.14.0" + "@opentelemetry/core" "1.15.1" + "@opentelemetry/semantic-conventions" "1.15.1" "@opentelemetry/sdk-logs@0.39.1": version "0.39.1" @@ -1903,63 +1736,36 @@ "@opentelemetry/resources" "1.13.0" "@opentelemetry/semantic-conventions" "1.13.0" -"@opentelemetry/sdk-trace-base@1.14.0", "@opentelemetry/sdk-trace-base@^1.13.0": - version "1.14.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.14.0.tgz#831af08f002228a11e577ff860eb6059c8b80fb7" - integrity sha512-NzRGt3PS+HPKfQYMb6Iy8YYc5OKA73qDwci/6ujOIvyW9vcqBJSWbjZ8FeLEAmuatUB5WrRhEKu9b0sIiIYTrQ== +"@opentelemetry/sdk-trace-base@1.15.1", "@opentelemetry/sdk-trace-base@^1.13.0": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.1.tgz#8eabc0827769d91ac86cde8a86ebf0bf2a7d22ad" + integrity sha512-5hccBe2yXzzXyExJNkTsIzDe1AM7HK0al+y/D2yEpslJqS1HUzsUSuCMY7Z4+Sfz5Gf0kTa6KYEt1QUQppnoBA== dependencies: - "@opentelemetry/core" "1.14.0" - "@opentelemetry/resources" "1.14.0" - "@opentelemetry/semantic-conventions" "1.14.0" + "@opentelemetry/core" "1.15.1" + "@opentelemetry/resources" "1.15.1" + "@opentelemetry/semantic-conventions" "1.15.1" "@opentelemetry/sdk-trace-node@^1.13.0": - version "1.14.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.14.0.tgz#b6d3bfca8c34fc5ed531692630f920a2b50c2fff" - integrity sha512-t+batuETp4RBje4F5hdzPTEk/Pg/f5hu+4+x0nkUve+MVqee1yzQrly7KhwcCAlDoMjXB0cwiLBm0NcWbAW5Vw== + version "1.15.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.15.1.tgz#d1589ead5fe8aa2dc6789ec31e16965b4dcaf259" + integrity sha512-aZDcuYHwh+qyOD/FLFAEAh32V2DlAp8Ubyaohh51oSssC3cxmN9JmpkyPbp2PQX3Mn48gBubwTXr9g++3+NB5w== dependencies: - "@opentelemetry/context-async-hooks" "1.14.0" - "@opentelemetry/core" "1.14.0" - "@opentelemetry/propagator-b3" "1.14.0" - "@opentelemetry/propagator-jaeger" "1.14.0" - "@opentelemetry/sdk-trace-base" "1.14.0" - semver "^7.3.5" + "@opentelemetry/context-async-hooks" "1.15.1" + "@opentelemetry/core" "1.15.1" + "@opentelemetry/propagator-b3" "1.15.1" + "@opentelemetry/propagator-jaeger" "1.15.1" + "@opentelemetry/sdk-trace-base" "1.15.1" + semver "^7.5.1" "@opentelemetry/semantic-conventions@1.13.0": version "1.13.0" resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.13.0.tgz#0290398b3eaebc6029c348988a78c3b688fe9219" integrity sha512-LMGqfSZkaMQXqewO0o1wvWr/2fQdCh4a3Sqlxka/UsJCe0cfLulh6x2aqnKLnsrSGiCq5rSCwvINd152i0nCqw== -"@opentelemetry/semantic-conventions@1.14.0", "@opentelemetry/semantic-conventions@^1.13.0": - version "1.14.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.14.0.tgz#6a729b7f372ce30f77a3f217c09bc216f863fccb" - integrity sha512-rJfCY8rCWz3cb4KI6pEofnytvMPuj3YLQwoscCCYZ5DkdiPjo15IQ0US7+mjcWy9H3fcZIzf2pbJZ7ck/h4tug== - -"@peculiar/asn1-schema@^2.3.6": - version "2.3.6" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz#3dd3c2ade7f702a9a94dfb395c192f5fa5d6b922" - integrity sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA== - dependencies: - asn1js "^3.0.5" - pvtsutils "^1.3.2" - tslib "^2.4.0" - -"@peculiar/json-schema@^1.1.12": - version "1.1.12" - resolved "https://registry.yarnpkg.com/@peculiar/json-schema/-/json-schema-1.1.12.tgz#fe61e85259e3b5ba5ad566cb62ca75b3d3cd5339" - integrity sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w== - dependencies: - tslib "^2.0.0" - -"@peculiar/webcrypto@^1.4.0": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz#078b3e8f598e847b78683dc3ba65feb5029b93a7" - integrity sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A== - dependencies: - "@peculiar/asn1-schema" "^2.3.6" - "@peculiar/json-schema" "^1.1.12" - pvtsutils "^1.3.2" - tslib "^2.5.0" - webcrypto-core "^1.7.7" +"@opentelemetry/semantic-conventions@1.15.1", "@opentelemetry/semantic-conventions@^1.13.0": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.1.tgz#3d745996b2bd11095b515515fd3d68d46092a02d" + integrity sha512-n8Kur1/CZlYG32YCEj30CoUqA8R7UyDVZzoEU6SDP+13+kXDT2kFVu6MpcnEUTyGP3i058ID6Qjp5h6IJxdPPQ== "@pedrouid/environment@^1.0.1": version "1.0.1" @@ -2121,7 +1927,7 @@ resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.6.1.tgz#3a3a408481a3796f45223a549c2571517bc8af2d" integrity sha512-YUkWj+xs0oOzBe74OgErsuR3wVn+efrFhXBWrit50kOiED+pvQe2r6MWY0iJMQU/mSVKxvNzL4ZaYvjdX+G7ZA== -"@repeaterjs/repeater@3.0.4", "@repeaterjs/repeater@^3.0.4": +"@repeaterjs/repeater@^3.0.4": version "3.0.4" resolved "https://registry.yarnpkg.com/@repeaterjs/repeater/-/repeater-3.0.4.tgz#a04d63f4d1bf5540a41b01a921c9a7fddc3bd1ca" integrity sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA== @@ -2621,9 +2427,9 @@ integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== "@typechain/ethers-v5@^10.2.1": version "10.2.1" @@ -2790,9 +2596,9 @@ integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/json-schema@^7.0.11", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + version "7.0.12" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" + integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== "@types/json5@^0.0.29": version "0.0.29" @@ -2805,9 +2611,9 @@ integrity sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA== "@types/lodash@^4.14.182": - version "4.14.194" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.194.tgz#b71eb6f7a0ff11bff59fc987134a093029258a76" - integrity sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g== + version "4.14.195" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.195.tgz#bafc975b252eb6cea78882ce8a7b6bf22a6de632" + integrity sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg== "@types/long@^4.0.1": version "4.0.2" @@ -2849,10 +2655,10 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node@*", "@types/node@>=13.7.0", "@types/node@^20.4.1": - version "20.4.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.1.tgz#a6033a8718653c50ac4962977e14d0f984d9527d" - integrity sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg== +"@types/node@*", "@types/node@>=13.7.0": + version "20.4.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.4.tgz#c79c7cc22c9d0e97a7944954c9e663bcbd92b0cb" + integrity sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew== "@types/node@^12.12.54": version "12.20.55" @@ -2870,25 +2676,30 @@ integrity sha512-xefu+RBie4xWlK8hwAzGh3npDz/4VhF6icY/shU+zv/1fNn+ZVG7T7CRwe9LId9sAYRPxI+59QBPuKL3WpyGRg== "@types/node@^16.9.2": - version "16.18.25" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.25.tgz#8863940fefa1234d3fcac7a4b7a48a6c992d67af" - integrity sha512-rUDO6s9Q/El1R1I21HG4qw/LstTHCPO/oQNAwI/4b2f9EWvMnqt4d3HJwPMawfZ3UvodB8516Yg+VAq54YM+eA== + version "16.18.39" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.39.tgz#aa39a1a87a40ef6098ee69689a1acb0c1b034832" + integrity sha512-8q9ZexmdYYyc5/cfujaXb4YOucpQxAV4RMG0himLyDUOEr8Mr79VrqsFI+cQ2M2h89YIuy95lbxuYjxT4Hk4kQ== -"@types/object-hash@^1.3.0": - version "1.3.4" - resolved "https://registry.yarnpkg.com/@types/object-hash/-/object-hash-1.3.4.tgz#079ba142be65833293673254831b5e3e847fe58b" - integrity sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA== +"@types/node@^20.4.1": + version "20.4.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.1.tgz#a6033a8718653c50ac4962977e14d0f984d9527d" + integrity sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg== "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/prettier@^2.1.1", "@types/prettier@^2.6.1": +"@types/prettier@^2.1.1": version "2.7.2" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== +"@types/prettier@^2.6.1": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + "@types/prop-types@*", "@types/prop-types@^15.0.0", "@types/prop-types@^15.7.5": version "15.7.5" resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" @@ -3695,96 +3506,23 @@ "@walletconnect/window-getters" "^1.0.1" tslib "1.14.1" -"@web-std/blob@^3.0.3": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@web-std/blob/-/blob-3.0.4.tgz#dd67a685547331915428d69e723c7da2015c3fc5" - integrity sha512-+dibyiw+uHYK4dX5cJ7HA+gtDAaUUe6JsOryp2ZpAC7h4ICsh49E34JwHoEKPlPvP0llCrNzz45vvD+xX5QDBg== - dependencies: - "@web-std/stream" "1.0.0" - web-encoding "1.1.5" - -"@web-std/fetch@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@web-std/fetch/-/fetch-4.1.0.tgz#db1eb659198376dad692421896b7119fb13e6e52" - integrity sha512-ZRizMcP8YyuRlhIsRYNFD9x/w28K7kbUhNGmKM9hDy4qeQ5xMTk//wA89EF+Clbl6EP4ksmCcN+4TqBMSRL8Zw== - dependencies: - "@web-std/blob" "^3.0.3" - "@web-std/form-data" "^3.0.2" - "@web-std/stream" "^1.0.1" - "@web3-storage/multipart-parser" "^1.0.0" - data-uri-to-buffer "^3.0.1" - mrmime "^1.0.0" - -"@web-std/form-data@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@web-std/form-data/-/form-data-3.0.2.tgz#c71d9def6a593138ea92fe3d1ffbce19f43e869c" - integrity sha512-rhc8IRw66sJ0FHcnC84kT3mTN6eACTuNftkt1XSl1Ef6WRKq4Pz65xixxqZymAZl1K3USpwhLci4SKNn4PYxWQ== - dependencies: - web-encoding "1.1.5" - -"@web-std/stream@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@web-std/stream/-/stream-1.0.0.tgz#01066f40f536e4329d9b696dc29872f3a14b93c1" - integrity sha512-jyIbdVl+0ZJyKGTV0Ohb9E6UnxP+t7ZzX4Do3AHjZKxUXKMs9EmqnBDQgHF7bEw0EzbQygOjtt/7gvtmi//iCQ== - dependencies: - web-streams-polyfill "^3.1.1" - -"@web-std/stream@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@web-std/stream/-/stream-1.0.1.tgz#af2972654848e20a683781b0a50bef2ce3f011a0" - integrity sha512-tsz4Y0WNDgFA5jwLSeV7/UV5rfMIlj0cPsSLVfTihjaVW0OJPd5NxJ3le1B3yLyqqzRpeG5OAfJAADLc4VoGTA== - dependencies: - web-streams-polyfill "^3.1.1" - -"@web3-storage/multipart-parser@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz#6b69dc2a32a5b207ba43e556c25cc136a56659c4" - integrity sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw== - -"@whatwg-node/events@^0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@whatwg-node/events/-/events-0.0.3.tgz#13a65dd4f5893f55280f766e29ae48074927acad" - integrity sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA== - "@whatwg-node/events@^0.1.0": version "0.1.1" resolved "https://registry.yarnpkg.com/@whatwg-node/events/-/events-0.1.1.tgz#0ca718508249419587e130da26d40e29d99b5356" integrity sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w== -"@whatwg-node/fetch@^0.8.3", "@whatwg-node/fetch@^0.8.4": - version "0.8.8" - resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.8.8.tgz#48c6ad0c6b7951a73e812f09dd22d75e9fa18cae" - integrity sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg== - dependencies: - "@peculiar/webcrypto" "^1.4.0" - "@whatwg-node/node-fetch" "^0.3.6" - busboy "^1.6.0" - urlpattern-polyfill "^8.0.0" - web-streams-polyfill "^3.2.1" - "@whatwg-node/fetch@^0.9.0", "@whatwg-node/fetch@^0.9.4": - version "0.9.7" - resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.9.7.tgz#86b5cda576581beea300191d5c1f626fc7abfff7" - integrity sha512-heClS5ctTmoEvVbFd+6ztX0SyQduI3/Q+77vtNApDU/+Mwajy6ugxaoDGgSzJUoQ37McSV09kcGCt1Jcc6z9lQ== + version "0.9.9" + resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.9.9.tgz#65e68aaf8353755c20657b803f2fe983dbdabf91" + integrity sha512-OTVoDm039CNyAWSRc2WBimMl/N9J4Fk2le21Xzcf+3OiWPNNSIbMnpWKBUyraPh2d9SAEgoBdQxTfVNihXgiUw== dependencies: - "@whatwg-node/node-fetch" "^0.4.6" + "@whatwg-node/node-fetch" "^0.4.8" urlpattern-polyfill "^9.0.0" -"@whatwg-node/node-fetch@^0.3.6": - version "0.3.6" - resolved "https://registry.yarnpkg.com/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz#e28816955f359916e2d830b68a64493124faa6d0" - integrity sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA== - dependencies: - "@whatwg-node/events" "^0.0.3" - busboy "^1.6.0" - fast-querystring "^1.1.1" - fast-url-parser "^1.1.3" - tslib "^2.3.1" - -"@whatwg-node/node-fetch@^0.4.6": - version "0.4.6" - resolved "https://registry.yarnpkg.com/@whatwg-node/node-fetch/-/node-fetch-0.4.6.tgz#97de52731c15420115a31a82b22033bdfc62e17a" - integrity sha512-9oLD57yW0WWfu4ZtEmybBrx1JfkO4TzDpD2zXlp2Ue3UJplifQRap+MbE0PxRlVWtR4KWsIRamhn7J44DkwoyA== +"@whatwg-node/node-fetch@^0.4.8": + version "0.4.11" + resolved "https://registry.yarnpkg.com/@whatwg-node/node-fetch/-/node-fetch-0.4.11.tgz#cef61fef1e075757ff8b07abf089012095267384" + integrity sha512-JRMx/yrBW/PXUH+0EIurUIQtAsEMrHtZBBKv6b+YCK1yG7pMNqtkl5Z39Rynq8ysVc/I6yTtNwkCy9bz5To1vw== dependencies: "@whatwg-node/events" "^0.1.0" busboy "^1.6.0" @@ -3807,86 +3545,24 @@ ts-poet "^6.4.1" type-fest "^3.5.2" -"@wundergraph/protobuf@^0.110.0": - version "0.110.0" - resolved "https://registry.yarnpkg.com/@wundergraph/protobuf/-/protobuf-0.110.0.tgz#b2d61e3e093fb396b7be224109607bd528783bd8" - integrity sha512-jVZHT1OHwlfpAn3PiGOZ5RHf+qLL8ooUaDBsQaJEHdOube93ElHMbrg1zbno0i8IezA6EQfMAOFCI6Nx2P/R7A== - dependencies: - long "^5.2.0" - protobufjs "^6.11.2" - ts-proto "^1.112.1" - -"@wundergraph/protobuf@^0.116.1": - version "0.116.1" - resolved "https://registry.yarnpkg.com/@wundergraph/protobuf/-/protobuf-0.116.1.tgz#97da5335712a30cff82e2192da8edb7ebd9de92c" - integrity sha512-bLOJUkSufKS+NIX6daZKUfwIXbAxAvSlp4WZFd6unYkK1t7MgZqMlZwdP2jodO4AmIgv8RR6MZGWppiDtfn7zA== +"@wundergraph/protobuf@^0.117.0": + version "0.117.0" + resolved "https://registry.yarnpkg.com/@wundergraph/protobuf/-/protobuf-0.117.0.tgz#95e565ecaa452e89d199148c893bed921fbd74b4" + integrity sha512-L9EJ13g1oCu2LnfR5vgcc8UsibMMN2cS6qIJtfuP5oSsof1G75JsLMLUvY0DiQiBauRjzovquq1b20hE80RE5w== dependencies: long "^5.2.0" protobufjs "^6.11.2" ts-proto "^1.112.1" "@wundergraph/react-query@^0.8.46": - version "0.8.46" - resolved "https://registry.yarnpkg.com/@wundergraph/react-query/-/react-query-0.8.46.tgz#317cf0a080ceb9b18b05d7ec87fe12d488c22757" - integrity sha512-1UThVjO+kobEweY6DrdelDG/MHzlN+qbxFm/5aLaGHCtL2TCjK7c1e6LjX/L/U5OTeyIbUgC966D0DViJaROrQ== - -"@wundergraph/sdk@^0.151.0": - version "0.151.0" - resolved "https://registry.yarnpkg.com/@wundergraph/sdk/-/sdk-0.151.0.tgz#af47a00f0bc6fc6ecf29d2420a13d8584edfdd3f" - integrity sha512-ape86fCPCaye/EX9yxCLwUnV4538D3ztF8aIbcKdz0GVjRuAQ7rAJSPSjQLvD4jM1/lkyQl5c6/iGdDq2dHCpQ== - dependencies: - "@fastify/formbody" "^7.3.0" - "@graphql-mesh/cross-helpers" "^0.3.4" - "@graphql-mesh/types" "^0.91.12" - "@graphql-mesh/utils" "^0.43.20" - "@graphql-tools/schema" "^8.3.10" - "@graphql-tools/utils" "^9.2.1" - "@omnigraph/json-schema" "^0.38.24" - "@omnigraph/openapi" "^0.19.26" - "@prisma/generator-helper" "^3.9.2" - "@web-std/fetch" "^4.1.0" - "@whatwg-node/fetch" "^0.8.4" - "@wundergraph/protobuf" "^0.110.0" - "@wundergraph/straightforward" "^4.2.5" - "@wundergraph/wunderctl" "^0.147.0" - axios "^0.26.1" - axios-retry "^3.3.1" - close-with-grace "^1.1.0" - cross-fetch "^3.1.5" - debug "^4.3.4" - execa "5.1.1" - fast-json-patch "^3.1.1" - fastify "^4.10.2" - fastify-plugin "^4.4.0" - graphql "^16.6.0" - graphql-helix "^1.13.0" - handlebars "^4.7.7" - https-proxy-agent "^5.0.1" - js-yaml "^4.1.0" - json-schema "^0.4.0" - json-schema-to-typescript "^11.0.3" - lodash "^4.17.21" - long "^5.2.0" - object-hash "^2.2.0" - openapi-types "^10.0.0" - pino "^8.11.0" - pino-pretty "^10.0.0" - postman-collection "^4.1.1" - protobufjs "^6.11.2" - raw-body "^2.5.2" - swagger2openapi "^7.0.8" - terminate "^2.5.0" - ts-retry-promise "^0.7.0" - tslib "^2.5.0" - typescript-json-schema "^0.55.0" - write-file-atomic "^5.0.0" - zod "^3.20.2" - zod-to-json-schema "^3.20.2" + version "0.8.50" + resolved "https://registry.yarnpkg.com/@wundergraph/react-query/-/react-query-0.8.50.tgz#24b3ec9b52a26b72e1e0b5776ff02511edca86be" + integrity sha512-k0l8IQWakcarjAk8Bf1491a0wOoGXX4Afq8K6N4xgdIW4+ENhBnwmWTuWxvNA0A6swY3B67AOUfcOdTO9MA02A== -"@wundergraph/sdk@^0.166.1": - version "0.166.1" - resolved "https://registry.yarnpkg.com/@wundergraph/sdk/-/sdk-0.166.1.tgz#d4cceb1aa817b21c716db6d5ffb645b5ce95bb61" - integrity sha512-rmVY/kNkYOVS5Z6tRB7O25kOyDcYXpBnCrE3yZMMenMyRT4pAhnOMKi6jkieUJhIrFbRwIUQOYcYnw+oujuKMA== +"@wundergraph/sdk@^0.169.0": + version "0.169.0" + resolved "https://registry.yarnpkg.com/@wundergraph/sdk/-/sdk-0.169.0.tgz#b5016feeb9980e9b472580811a36b62ae76bc0ec" + integrity sha512-3OSZPsc02UZixXn/A4Pq/w8kcKOsJqw8Cxlb/rRD8vDv84pdwjW7VMrNXj+7H12Lu4p5YzQUfrvk7B44k/PPsA== dependencies: "@fastify/formbody" "^7.3.0" "@graphql-mesh/cross-helpers" "^0.4.0" @@ -3908,9 +3584,9 @@ "@prisma/generator-helper" "^3.9.2" "@whatwg-node/fetch" "^0.9.4" "@wundergraph/orm" "0.2.0" - "@wundergraph/protobuf" "^0.116.1" + "@wundergraph/protobuf" "^0.117.0" "@wundergraph/straightforward" "^4.2.5" - "@wundergraph/wunderctl" "^0.160.0" + "@wundergraph/wunderctl" "^0.165.0" axios "^0.26.1" axios-retry "^3.3.1" close-with-grace "^1.1.0" @@ -3932,6 +3608,7 @@ lodash "^4.17.21" long "^5.2.0" object-hash "^2.2.0" + openai "^3.3.0" openapi-types "12.1.0" pino "^8.11.0" pino-pretty "^10.0.0" @@ -3956,10 +3633,10 @@ debug "^4.3.4" yargs "^17.7.1" -"@wundergraph/wunderctl@^0.147.0": - version "0.147.0" - resolved "https://registry.yarnpkg.com/@wundergraph/wunderctl/-/wunderctl-0.147.0.tgz#76c5d3a3df5d3da8d3fcc47a27462b27226f63da" - integrity sha512-JE9DYA460ZQSOax1K4x0dvg87agDjKNBufQp8dY0KfqfHmwaWOo83qZmr6NjwZDKx77813up3QqkXKAHgghAcw== +"@wundergraph/wunderctl@^0.165.0": + version "0.165.0" + resolved "https://registry.yarnpkg.com/@wundergraph/wunderctl/-/wunderctl-0.165.0.tgz#b8b23945de973b4e634084be322cc652e925b97f" + integrity sha512-zQZPLfZ4G0POkV1sv5hyTOQRX5sMiBtJffvcifDXFS7SuDmecNGR0/GEZ6Kr7LeTiHTxKgS/r6/sm+QKxoJHWA== dependencies: axios "^0.26.1" debug "^4.3.4" @@ -3967,22 +3644,6 @@ rimraf "^3.0.2" tar "^6.1.13" -"@wundergraph/wunderctl@^0.160.0": - version "0.160.0" - resolved "https://registry.yarnpkg.com/@wundergraph/wunderctl/-/wunderctl-0.160.0.tgz#11bd36b25b82d4674848d5380ad9ad0c72fb5385" - integrity sha512-0WjHlLwcxc2gMtNc17kYPBYq/OS8k1ZkyW/qwLxlPLOaIXEvTk7+fK+BLX0TTf+SVVzaCB2f8YQQdOfmk0cFBQ== - dependencies: - axios "^0.26.1" - debug "^4.3.4" - execa "5.1.1" - rimraf "^3.0.2" - tar "^6.1.13" - -"@zxing/text-encoding@0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b" - integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA== - JSONStream@^1.3.5: version "1.3.5" resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" @@ -4031,11 +3692,16 @@ acorn-walk@^8.0.2, acorn-walk@^8.1.1, acorn-walk@^8.2.0: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^8.1.0, acorn@^8.4.1, acorn@^8.8.0, acorn@^8.8.1, acorn@^8.8.2: +acorn@^8.1.0, acorn@^8.8.0, acorn@^8.8.1, acorn@^8.8.2: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== +acorn@^8.4.1: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== + aes-js@3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" @@ -4240,15 +3906,6 @@ asap@~2.0.3: resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= -asn1js@^3.0.1, asn1js@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.5.tgz#5ea36820443dbefb51cc7f88a2ebb5b462114f38" - integrity sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ== - dependencies: - pvtsutils "^1.3.2" - pvutils "^1.1.3" - tslib "^2.4.0" - assert@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz" @@ -4288,8 +3945,8 @@ async@3.2.3, async@^3.2.3: asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== atomic-sleep@^1.0.0: version "1.0.0" @@ -4313,7 +3970,7 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -avvio@^8.2.0: +avvio@^8.2.1: version "8.2.1" resolved "https://registry.yarnpkg.com/avvio/-/avvio-8.2.1.tgz#b5a482729847abb84d5aadce06511c04a0a62f82" integrity sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw== @@ -4328,9 +3985,9 @@ axe-core@^4.6.2: integrity sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg== axios-retry@^3.3.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/axios-retry/-/axios-retry-3.4.0.tgz#f464dbe9408e5aa78fa319afd38bb69b533d8854" - integrity sha512-VdgaP+gHH4iQYCCNUWF2pcqeciVOdGrBBAYUfTY+wPcO5Ltvp/37MLFNCmJKo7Gj3SHvCSdL8ouI1qLYJN3liA== + version "3.5.1" + resolved "https://registry.yarnpkg.com/axios-retry/-/axios-retry-3.5.1.tgz#d902f69fe1b2a71902e29605318f887bef0981c6" + integrity sha512-mQRJ4IyAUnYig14BQ4MnnNHHuH1cNH7NW4JxEUD6mNJwK6pwOY66wKLCwZ6Y0o3POpfStalqRC+J4+Hnn6Om7w== dependencies: "@babel/runtime" "^7.15.4" is-retry-allowed "^2.2.0" @@ -4342,7 +3999,7 @@ axios@^0.21.0: dependencies: follow-redirects "^1.14.0" -axios@^0.26.1: +axios@^0.26.0, axios@^0.26.1: version "0.26.1" resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9" integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA== @@ -4603,10 +4260,10 @@ capital-case@^1.0.4: tslib "^2.0.3" upper-case-first "^2.0.2" -case-anything@^2.1.10: - version "2.1.10" - resolved "https://registry.yarnpkg.com/case-anything/-/case-anything-2.1.10.tgz#d18a6ca968d54ec3421df71e3e190f3bced23410" - integrity sha512-JczJwVrCP0jPKh05McyVsuOg6AYosrB9XWZKbQzXeDAm2ClE/PJE/BcrrQrVyGYH7Jg8V/LDupmyL4kFlVsVFQ== +case-anything@^2.1.13: + version "2.1.13" + resolved "https://registry.yarnpkg.com/case-anything/-/case-anything-2.1.13.tgz#0cdc16278cb29a7fcdeb072400da3f342ba329e9" + integrity sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng== chai@^4.3.7: version "4.3.7" @@ -4643,7 +4300,7 @@ chalk@^2.0.0, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -change-case@4.1.2, change-case@^4.1.2: +change-case@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/change-case/-/change-case-4.1.2.tgz#fedfc5f136045e2398c0410ee441f95704641e12" integrity sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== @@ -4827,7 +4484,7 @@ colorette@^2.0.7: combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" @@ -4928,13 +4585,20 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-fetch@^3.1.4, cross-fetch@^3.1.5: +cross-fetch@^3.1.4: version "3.1.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== dependencies: node-fetch "2.6.7" +cross-fetch@^3.1.5: + version "3.1.8" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + dependencies: + node-fetch "^2.6.12" + cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -5065,11 +4729,6 @@ damerau-levenshtein@^1.0.8: resolved "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== -data-uri-to-buffer@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" - integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== - data-urls@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-4.0.0.tgz#333a454eca6f9a5b7b0f1013ff89074c3f522dd4" @@ -5084,11 +4743,6 @@ dataloader@2.2.2, dataloader@^2.2.2: resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.2.2.tgz#216dc509b5abe39d43a9b9d97e6e5e473dfbe3e0" integrity sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g== -dataloader@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" - integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== - date-fns-tz@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-2.0.0.tgz" @@ -5106,16 +4760,16 @@ dateformat@^4.6.3: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.6.3.tgz#556fa6497e5217fedb78821424f8a1c22fa3f4b5" integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== -dayjs@1.11.7: - version "1.11.7" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" - integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== - dayjs@1.11.8: version "1.11.8" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.8.tgz#4282f139c8c19dd6d0c7bd571e30c2d0ba7698ea" integrity sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ== +dayjs@1.11.9: + version "1.11.9" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.9.tgz#9ca491933fadd0a60a2c19f6c237c03517d71d1a" + integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA== + debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" @@ -5230,8 +4884,8 @@ delay@^5.0.0: delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== depd@2.0.0, depd@^2.0.0: version "2.0.0" @@ -6132,17 +5786,22 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fast-querystring@^1.0.0, fast-querystring@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fast-querystring/-/fast-querystring-1.1.1.tgz#f4c56ef56b1a954880cfd8c01b83f9e1a3d3fda2" - integrity sha512-qR2r+e3HvhEFmpdHMv//U8FnFlnYjaC6QKDuaXALDkw2kvHO8WDjxH+f/rHGR4Me4pnk8p9JAkRNTjYHAKRn2Q== + version "1.1.2" + resolved "https://registry.yarnpkg.com/fast-querystring/-/fast-querystring-1.1.2.tgz#a6d24937b4fc6f791b4ee31dcb6f53aeafb89f53" + integrity sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg== dependencies: fast-decode-uri-component "^1.0.1" -fast-redact@^3.0.0, fast-redact@^3.1.1: +fast-redact@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.2.tgz#d58e69e9084ce9fa4c1a6fa98a3e1ecf5d7839aa" integrity sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw== +fast-redact@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.2.0.tgz#b1e2d39bc731376d28bde844454fa23e26919987" + integrity sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw== + fast-safe-stringify@^2.0.6, fast-safe-stringify@^2.0.7, fast-safe-stringify@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" @@ -6173,30 +5832,30 @@ fast-xml-parser@4.2.4: strnum "^1.0.5" fastify-plugin@^4.0.0, fastify-plugin@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/fastify-plugin/-/fastify-plugin-4.5.0.tgz#8b853923a0bba6ab6921bb8f35b81224e6988d91" - integrity sha512-79ak0JxddO0utAXAQ5ccKhvs6vX2MGyHHMMsmZkBANrq3hXc1CHzvNPHOcvTsVMEPl5I+NT+RO4YKMGehOfSIg== + version "4.5.1" + resolved "https://registry.yarnpkg.com/fastify-plugin/-/fastify-plugin-4.5.1.tgz#44dc6a3cc2cce0988bc09e13f160120bbd91dbee" + integrity sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ== fastify@^4.10.2: - version "4.17.0" - resolved "https://registry.yarnpkg.com/fastify/-/fastify-4.17.0.tgz#b2c8245e572edef0b02a167d2d411a3c8a46d01a" - integrity sha512-tzuY1tgWJo2Y6qEKwmLhFvACUmr68Io2pqP/sDKU71KRM6A6R3DrCDqLGqANbeLZcKUfdfY58ut35CGqemcTgg== + version "4.20.0" + resolved "https://registry.yarnpkg.com/fastify/-/fastify-4.20.0.tgz#d796c7433ac64b83a666350dc8b57e1b2517c116" + integrity sha512-zWWi5KGAb1YZ6fyrnFnA1CA1EZHkGM6YuELgB3QpS3l4lLRy14W1cc16b4KGPH/zQ98WCSdS+T41JkHY3eq1oA== dependencies: "@fastify/ajv-compiler" "^3.5.0" - "@fastify/error" "^3.0.0" + "@fastify/error" "^3.2.0" "@fastify/fast-json-stringify-compiler" "^4.3.0" abstract-logging "^2.0.1" - avvio "^8.2.0" + avvio "^8.2.1" fast-content-type-parse "^1.0.0" fast-json-stringify "^5.7.0" find-my-way "^7.6.0" - light-my-request "^5.6.1" - pino "^8.5.0" - process-warning "^2.0.0" + light-my-request "^5.9.1" + pino "^8.12.0" + process-warning "^2.2.0" proxy-addr "^2.0.7" rfdc "^1.3.0" secure-json-parse "^2.5.0" - semver "^7.3.7" + semver "^7.5.0" tiny-lru "^11.0.1" fastq@^1.6.0: @@ -6250,9 +5909,9 @@ filter-obj@^1.1.0: integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== find-my-way@^7.6.0: - version "7.6.1" - resolved "https://registry.yarnpkg.com/find-my-way/-/find-my-way-7.6.1.tgz#11c63f8539b87058cd4d433faa553263591dc868" - integrity sha512-2epQo+QEVkDf20yjWd/FbRhv3FiPK+APpmf3nRYxKUcTzoFAAGNBusBPL0YRfMosgPwA/vgixyKisBBdOLEFHg== + version "7.6.2" + resolved "https://registry.yarnpkg.com/find-my-way/-/find-my-way-7.6.2.tgz#4dd40200d3536aeef5c7342b10028e04cf79146c" + integrity sha512-0OjHn1b1nCX3eVbm9ByeEHiscPYiHLfhei1wOUU9qffQkk98wE0Lo8VrVYfSGMgnSnDh86DxedduAnBf4nwUEw== dependencies: fast-deep-equal "^3.1.3" fast-querystring "^1.0.0" @@ -6335,7 +5994,7 @@ form-data@^3.0.0: form-data@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== dependencies: asynckit "^0.4.0" @@ -6418,7 +6077,17 @@ get-func-name@^2.0.0: resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz" integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.3: + version "1.2.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== @@ -6603,13 +6272,6 @@ graphql-request@^5.2.0: extract-files "^9.0.0" form-data "^3.0.0" -graphql-scalars@^1.20.4: - version "1.21.3" - resolved "https://registry.yarnpkg.com/graphql-scalars/-/graphql-scalars-1.21.3.tgz#21eb0b9349cc94ae62b40f40ebe87220d3a5f1b1" - integrity sha512-QLWw3BHmqHZMp9JeYmPpjq7JT9aw/H8TpwmWKJEuMSE3+O7Xe7TduQbOLFzbs1q9UxX6CVkc0O1JO/YfkP/pAw== - dependencies: - tslib "^2.5.0" - graphql-scalars@^1.22.2: version "1.22.2" resolved "https://registry.yarnpkg.com/graphql-scalars/-/graphql-scalars-1.22.2.tgz#6326e6fe2d0ad4228a9fea72a977e2bf26b86362" @@ -6636,7 +6298,7 @@ graphql-type-json@0.3.2: resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.3.2.tgz#f53a851dbfe07bd1c8157d24150064baab41e115" integrity sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg== -graphql@*, graphql@^16.6.0: +graphql@*: version "16.6.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.6.0.tgz#c2dcffa4649db149f6282af726c8c83f1c7c5fdb" integrity sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw== @@ -6646,6 +6308,11 @@ graphql@^15.8.0: resolved "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz" integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== +graphql@^16.6.0: + version "16.7.1" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.7.1.tgz#11475b74a7bff2aefd4691df52a0eca0abd9b642" + integrity sha512-DRYR9tf+UGU0KOsMcKAlXeFfX89UiiIZ0dRU3mR0yJfu6OjZqUcp68NnFLnqQU5RexygFoDy1EW+ccOYcPfmHg== + handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" @@ -6693,6 +6360,11 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" @@ -6768,9 +6440,9 @@ hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react- react-is "^16.7.0" hotscript@^1.0.10: - version "1.0.12" - resolved "https://registry.yarnpkg.com/hotscript/-/hotscript-1.0.12.tgz#4614fbf77f5fb3d1b60fd3f7743edd2bd743dfd0" - integrity sha512-ANWgLMEhhfmmUsAkmJR6eclnVMC7KrDAAtOxWYN7PclUr1N5P9irs3WVJvMT/NpUxOXluYXj5JgyBG0iuKW5+Q== + version "1.0.13" + resolved "https://registry.yarnpkg.com/hotscript/-/hotscript-1.0.13.tgz#6eb5de757e9b33444ffc22555e98dbc17fa31fb4" + integrity sha512-C++tTF1GqkGYecL+2S1wJTfoH6APGAsbb7PAWQ3iVIwgG/EFseAfEVOKFgAFq4yK3+6j1EjUD4UQ9dRJHX/sSQ== html-encoding-sniffer@^3.0.0: version "3.0.0" @@ -7152,15 +6824,11 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: has-symbols "^1.0.2" is-typed-array@^1.1.10, is-typed-array@^1.1.3: - version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" + which-typed-array "^1.1.11" is-typedarray@1.0.0, is-typedarray@^1.0.0: version "1.0.0" @@ -7291,7 +6959,7 @@ js-sha3@0.8.0, js-sha3@^0.8.0: resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@4.1.0, js-yaml@^4.1.0: +js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== @@ -7335,17 +7003,6 @@ jsesc@^2.5.1: resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -json-machete@0.18.20: - version "0.18.20" - resolved "https://registry.yarnpkg.com/json-machete/-/json-machete-0.18.20.tgz#cb35b93ec93073efcce41dfcfefcac5e304a798f" - integrity sha512-64n+/mdjRLV2O1Vx/7+SUjdjNcZP3nsfBVSpH7bTkjl3o7rKMDUyc/bLoLGWt5DAezPkve2l2tq8Pp1/QV+4ow== - dependencies: - "@json-schema-tools/meta-schema" "1.7.0" - "@whatwg-node/fetch" "^0.8.3" - json-pointer "0.6.2" - to-json-schema "0.2.5" - url-join "4.0.1" - json-machete@0.94.0: version "0.94.0" resolved "https://registry.yarnpkg.com/json-machete/-/json-machete-0.94.0.tgz#a3243721395bde44c3d4f04bd69637114caa4d3f" @@ -7357,10 +7014,10 @@ json-machete@0.94.0: to-json-schema "0.2.5" url-join "4.0.1" -json-machete@0.94.1, json-machete@^0.94.0: - version "0.94.1" - resolved "https://registry.yarnpkg.com/json-machete/-/json-machete-0.94.1.tgz#dc5eeabcd94105b0fc45cfb8e87ed8019129a333" - integrity sha512-3p08f67PZnybpPqpR5VPxHR1p3rZQ83+1HbsApIL/YBHAWLXaS64nJGV9NsDO2+bHPKvQETIpUxzHmlnAJz0FA== +json-machete@0.94.5, json-machete@^0.94.0: + version "0.94.5" + resolved "https://registry.yarnpkg.com/json-machete/-/json-machete-0.94.5.tgz#9f12bae076024e1f8ebebd98ae3b979d2eeb4024" + integrity sha512-36j6xl/xzpB0ypK5+HsIDoENoOxKVTd0UUMCqv7aXekzdYwdVvvczdvLEywTGB/pOEawfHR2ZJ5gIrkGlP2CIg== dependencies: "@json-schema-tools/meta-schema" "1.7.0" "@whatwg-node/fetch" "^0.9.0" @@ -7540,10 +7197,10 @@ libphonenumber-js@^1.10.14: resolved "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.15.tgz" integrity sha512-sLeVLmWX17VCKKulc+aDIRHS95TxoTsKMRJi5s5gJdwlqNzMWcBCtSHHruVyXjqfi67daXM2SnLf2juSrdx5Sg== -light-my-request@^5.6.1: - version "5.9.1" - resolved "https://registry.yarnpkg.com/light-my-request/-/light-my-request-5.9.1.tgz#076f8d4cc4639408cc48381d4f2860212d469d4b" - integrity sha512-UT7pUk8jNCR1wR7w3iWfIjx32DiB2f3hFdQSOwy3/EPQ3n3VocyipUxcyRZR0ahoev+fky69uA+GejPa9KuHKg== +light-my-request@^5.9.1: + version "5.10.0" + resolved "https://registry.yarnpkg.com/light-my-request/-/light-my-request-5.10.0.tgz#0a2bbc1d1bb573ed3b78143960920ecdc05bf157" + integrity sha512-ZU2D9GmAcOUculTTdH9/zryej6n8TzT+fNGdNtm6SDp5MMMpHrJJkvAdE3c6d8d2chE9i+a//dS9CWZtisknqA== dependencies: cookie "^0.5.0" process-warning "^2.0.0" @@ -7671,7 +7328,7 @@ lodash.omit@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" integrity sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg== -lodash.topath@4.5.2, lodash.topath@^4.5.2: +lodash.topath@^4.5.2: version "4.5.2" resolved "https://registry.yarnpkg.com/lodash.topath/-/lodash.topath-4.5.2.tgz#3616351f3bba61994a0931989660bd03254fd009" integrity sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg== @@ -7706,7 +7363,7 @@ long@^4.0.0: resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== -long@^5.0.0, long@^5.2.0: +long@^5.0.0, long@^5.2.0, long@^5.2.3: version "5.2.3" resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== @@ -8096,11 +7753,6 @@ micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" -mime-db@1.51.0: - version "1.51.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== - mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" @@ -8113,20 +7765,13 @@ mime-format@2.0.1: dependencies: charset "^1.0.0" -mime-types@2.1.35: +mime-types@2.1.35, mime-types@^2.1.12: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" -mime-types@^2.1.12: - version "2.1.34" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== - dependencies: - mime-db "1.51.0" - mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -8314,10 +7959,10 @@ node-fetch@2.6.7, node-fetch@^2.6.7, node-fetch@^2.x.x: dependencies: whatwg-url "^5.0.0" -node-fetch@^2.6.1: - version "2.6.9" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" - integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== +node-fetch@^2.6.1, node-fetch@^2.6.12: + version "2.6.12" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" + integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== dependencies: whatwg-url "^5.0.0" @@ -8440,11 +8085,6 @@ object-assign@^4.0.1, object-assign@^4.1.1: resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-hash@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" - integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== - object-hash@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" @@ -8544,16 +8184,19 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" +openai@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/openai/-/openai-3.3.0.tgz#a6408016ad0945738e1febf43f2fccca83a3f532" + integrity sha512-uqxI/Au+aPRnsaQRe8CojU0eCR7I0mBiKjD3sNMzY6DaC1ZVrc85u98mtJW6voDug8fgGN+DIZmTDxTthxb7dQ== + dependencies: + axios "^0.26.0" + form-data "^4.0.0" + openapi-types@12.1.0: version "12.1.0" resolved "https://registry.yarnpkg.com/openapi-types/-/openapi-types-12.1.0.tgz#bd01acc937b73c9f6db2ac2031bf0231e21ebff0" integrity sha512-XpeCy01X6L5EpP+6Hc3jWN7rMZJ+/k1lwki/kTmWzbVhdPie3jd5O2ZtedEx8Yp58icJ0osVldLMrTB/zslQXA== -openapi-types@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/openapi-types/-/openapi-types-10.0.0.tgz#0debbf663b2feed0322030b5b7c9080804076934" - integrity sha512-Y8xOCT2eiKGYDzMW9R4x5cmfc3vGaaI4EL2pwhDmodWw1HlK18YcZ4uJxc7Rdp7/gGzAygzH9SXr6GKYIXbRcQ== - openapi-types@^12.1.0: version "12.1.3" resolved "https://registry.yarnpkg.com/openapi-types/-/openapi-types-12.1.3.tgz#471995eb26c4b97b7bd356aacf7b91b73e777dd3" @@ -8792,9 +8435,9 @@ pino-abstract-transport@v0.5.0: split2 "^4.0.0" pino-pretty@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/pino-pretty/-/pino-pretty-10.0.0.tgz#fd2f307ee897289f63d09b0b804ac2ecc9a18516" - integrity sha512-zKFjYXBzLaLTEAN1ayKpHXtL5UeRQC7R3lvhKe7fWs7hIVEjKGG/qIXwQt9HmeUp71ogUd/YcW+LmMwRp4KT6Q== + version "10.2.0" + resolved "https://registry.yarnpkg.com/pino-pretty/-/pino-pretty-10.2.0.tgz#c674a153e15c08d7032a826d0051d786feace1d9" + integrity sha512-tRvpyEmGtc2D+Lr3FulIZ+R1baggQ4S3xD2Ar93KixFEDx6SEAUP3W5aYuEw1C73d6ROrNcB2IXLteW8itlwhA== dependencies: colorette "^2.0.7" dateformat "^4.6.3" @@ -8817,9 +8460,9 @@ pino-std-serializers@^4.0.0: integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== pino-std-serializers@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-6.2.1.tgz#369f4ae2a19eb6d769ddf2c88a2164b76879a284" - integrity sha512-wHuWB+CvSVb2XqXM0W/WOYUkVSPbiJb9S5fNB7TBhd8s892Xq910bRxwHtC4l71hgztObTjXL6ZheZXFjhDrDQ== + version "6.2.2" + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz#d9a9b5f2b9a402486a5fc4db0a737570a860aab3" + integrity sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA== pino@7.11.0: version "7.11.0" @@ -8838,10 +8481,10 @@ pino@7.11.0: sonic-boom "^2.2.1" thread-stream "^0.15.1" -pino@^8.11.0, pino@^8.5.0: - version "8.12.1" - resolved "https://registry.yarnpkg.com/pino/-/pino-8.12.1.tgz#9aca3c733b221a5894ee58b2e070c66dd3e89fcf" - integrity sha512-n4F7nrEUDH0u5pjlUPkrvsN6oZOhScZWwpWPniwVkMnO6a2DhpnMNWDUlW0SawVICgrNhOf0yTNgw2lYQBsPYA== +pino@^8.11.0, pino@^8.12.0: + version "8.14.1" + resolved "https://registry.yarnpkg.com/pino/-/pino-8.14.1.tgz#bb38dcda8b500dd90c1193b6c9171eb777a47ac8" + integrity sha512-8LYNv7BKWXSfS+k6oEc6occy5La+q2sPwU3q2ljTX5AZk7v+5kND2o5W794FyRaqha6DJajmkNRsWtPpFyMUdw== dependencies: atomic-sleep "^1.0.0" fast-redact "^3.1.1" @@ -8958,7 +8601,7 @@ process-warning@^1.0.0: resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== -process-warning@^2.0.0: +process-warning@^2.0.0, process-warning@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-2.2.0.tgz#008ec76b579820a8e5c35d81960525ca64feb626" integrity sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg== @@ -8997,7 +8640,7 @@ property-information@^6.0.0: resolved "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz" integrity sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w== -protobufjs@^6.11.2, protobufjs@^6.11.3, protobufjs@^6.8.8: +protobufjs@^6.11.2: version "6.11.3" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== @@ -9016,7 +8659,7 @@ protobufjs@^6.11.2, protobufjs@^6.11.3, protobufjs@^6.8.8: "@types/node" ">=13.7.0" long "^4.0.0" -protobufjs@^7.1.2: +protobufjs@^7.1.2, protobufjs@^7.2.4: version "7.2.4" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.4.tgz#3fc1ec0cdc89dd91aef9ba6037ba07408485c3ae" integrity sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ== @@ -9087,18 +8730,6 @@ pure-rand@^6.0.0: resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.0.tgz" integrity sha512-rLSBxJjP+4DQOgcJAx6RZHT2he2pkhQdSnofG5VWyVl6GRq/K02ISOuOLcsMOrtKDIJb8JN2zm3FFzWNbezdPw== -pvtsutils@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.2.tgz#9f8570d132cdd3c27ab7d51a2799239bf8d8d5de" - integrity sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ== - dependencies: - tslib "^2.4.0" - -pvutils@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.3.tgz#f35fc1d27e7cd3dfbd39c0826d173e806a03f5a3" - integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== - qrcode@1.5.0: version "1.5.0" resolved "https://registry.npmjs.org/qrcode/-/qrcode-1.5.0.tgz" @@ -9129,13 +8760,6 @@ qrcode@^1.5.1: pngjs "^5.0.0" yargs "^15.3.1" -qs@6.11.1: - version "6.11.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.1.tgz#6c29dff97f0c0060765911ba65cbc9764186109f" - integrity sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ== - dependencies: - side-channel "^1.0.4" - qs@6.11.2, qs@^6.10.3, qs@^6.11.0: version "6.11.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" @@ -9413,14 +9037,15 @@ readable-stream@^3.5.0: util-deprecate "^1.0.1" readable-stream@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.3.0.tgz#0914d0c72db03b316c9733bb3461d64a3cc50cba" - integrity sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ== + version "4.4.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.4.2.tgz#e6aced27ad3b9d726d8308515b9a1b98dc1b9d13" + integrity sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA== dependencies: abort-controller "^3.0.0" buffer "^6.0.3" events "^3.3.0" process "^0.11.10" + string_decoder "^1.3.0" readdirp@~3.6.0: version "3.6.0" @@ -9532,9 +9157,9 @@ remark-rehype@^10.0.0: unified "^10.0.0" remeda@^1.9.1: - version "1.23.0" - resolved "https://registry.yarnpkg.com/remeda/-/remeda-1.23.0.tgz#0f5c2602d1b0d106e9214576c482979fcdc0fad4" - integrity sha512-1y0jygsAc3opoFQW5BtA/QYOboai0u5IwdvwtbRAd1eJ2D9NmvZpDfV819LdSmrIQ0LONbp/dE9Uo/rGxUshPw== + version "1.24.0" + resolved "https://registry.yarnpkg.com/remeda/-/remeda-1.24.0.tgz#3eafd5fedba0f54c70823a93ca29a6d0a5d5cf2e" + integrity sha512-tjLxwU4yLtvX8yHlePnE7CdQXRe2pKatlVY+AunqAQV5t9FNw1yuiIAqKpu6zevd+No5LQHEJ/HK3r3ZFK7KXg== remove-accents@0.4.2: version "0.4.2" @@ -9799,7 +9424,7 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: +semver@^7.3.2, semver@^7.3.7, semver@^7.3.8, semver@^7.5.0, semver@^7.5.1: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -9933,9 +9558,9 @@ signal-exit@^3.0.3, signal-exit@^3.0.7: integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== signal-exit@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.0.1.tgz#96a61033896120ec9335d96851d902cc98f0ba2a" - integrity sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw== + version "4.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.0.2.tgz#ff55bb1d9ff2114c13b400688fa544ac63c36967" + integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== sirv@^2.0.2: version "2.0.2" @@ -10161,7 +9786,7 @@ string.prototype.trimstart@^1.0.4, string.prototype.trimstart@^1.0.6: define-properties "^1.1.4" es-abstract "^1.20.4" -string_decoder@^1.1.1: +string_decoder@^1.1.1, string_decoder@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -10305,9 +9930,9 @@ table-layout@^1.0.1: wordwrapjs "^4.0.0" tar@^6.1.13: - version "6.1.14" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.14.tgz#e87926bec1cfe7c9e783a77a79f3e81c1cfa3b66" - integrity sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw== + version "6.1.15" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69" + integrity sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" @@ -10383,11 +10008,6 @@ timers-ext@^0.1.7: es5-ext "~0.10.46" next-tick "1" -tiny-lru@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-8.0.2.tgz#812fccbe6e622ded552e3ff8a4c3b5ff34a85e4c" - integrity sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg== - tiny-lru@^11.0.0, tiny-lru@^11.0.1: version "11.0.1" resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-11.0.1.tgz#629d6ddd88bd03c0929722680167f1feadf576f2" @@ -10523,33 +10143,30 @@ ts-node@^10.9.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" -ts-poet@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/ts-poet/-/ts-poet-6.4.1.tgz#e68d314a07cf9c0d568a3bfd87023ec91ff77964" - integrity sha512-AjZEs4h2w4sDfwpHMxQKHrTlNh2wRbM5NRXmLz0RiH+yPGtSQFbe9hBpNocU8vqVNgfh0BIOiXR80xDz3kKxUQ== +ts-poet@^6.4.1, ts-poet@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/ts-poet/-/ts-poet-6.5.0.tgz#7070bfae1d53847aa38e8e02bdbe4f1064d6d091" + integrity sha512-44jURLT1HG6+NsDcadM826V6Ekux+wk07Go+MX5Gfx+8zcPKfUiFEtnjL9imuRVGSCRtloRLqw4bDGZVJYGZMQ== dependencies: dprint-node "^1.0.7" -ts-proto-descriptors@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/ts-proto-descriptors/-/ts-proto-descriptors-1.9.0.tgz#0ed5631f11851846c8de21be2bff346719edce71" - integrity sha512-Ui8zA5Q4Jnq6JIGRraUWvECrqixxtwwin8GkhIkvwCpR+JcSPsxWe8HfTj5eHfyruGYI6Zjf96XlC87hTakHfQ== +ts-proto-descriptors@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/ts-proto-descriptors/-/ts-proto-descriptors-1.15.0.tgz#e859e3a2887da2d954c552524719b80bdb6ee355" + integrity sha512-TYyJ7+H+7Jsqawdv+mfsEpZPTIj9siDHS6EMCzG/z3b/PZiphsX+mWtqFfFVe5/N0Th6V3elK9lQqjnrgTOfrg== dependencies: - long "^4.0.0" - protobufjs "^6.8.8" + long "^5.2.3" + protobufjs "^7.2.4" ts-proto@^1.112.1: - version "1.147.1" - resolved "https://registry.yarnpkg.com/ts-proto/-/ts-proto-1.147.1.tgz#457fa7d2cce7e4b27ecc59396e1155b04ba9f890" - integrity sha512-34G8jf+56gZkHrxVFMN3t8BJDWF7mCU4h8b4octjoFScojf4QTPCrFeXDhiidFuOixd//5AQVsF5LcVdxDCJzw== - dependencies: - "@types/object-hash" "^1.3.0" - case-anything "^2.1.10" - dataloader "^1.4.0" - object-hash "^1.3.1" - protobufjs "^6.11.3" - ts-poet "^6.4.1" - ts-proto-descriptors "1.9.0" + version "1.156.1" + resolved "https://registry.yarnpkg.com/ts-proto/-/ts-proto-1.156.1.tgz#2d917a63c410832b7411a6236e930cc9c354a641" + integrity sha512-zgEGjaUySjWs7e4vdg5xNk/nxMinQnIMG+0KcvEBmE1vy03Yvc7tmeoJdB7qt/p/+0taEUwEdbjegR5t1B+nEA== + dependencies: + case-anything "^2.1.13" + protobufjs "^7.2.4" + ts-poet "^6.5.0" + ts-proto-descriptors "1.15.0" ts-retry-promise@^0.7.0: version "0.7.0" @@ -10581,11 +10198,16 @@ tslib@1.14.1, tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0: +tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0: version "2.6.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3" integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA== +tslib@^2.0.3, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410" + integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" @@ -10623,9 +10245,9 @@ type-fest@^0.21.3: integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== type-fest@^3.5.2: - version "3.12.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.12.0.tgz#4ce26edc1ccc59fc171e495887ef391fe1f5280e" - integrity sha512-qj9wWsnFvVEMUDbESiilKeXeHL7FwwiFcogfhfyjmvT968RXSvnl23f1JOClTHYItsi7o501C/7qVllscUP3oA== + version "3.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" + integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== type-graphql@^1.1.1: version "1.1.1" @@ -10861,11 +10483,6 @@ url@^0.11.1: punycode "^1.4.1" qs "^6.11.0" -urlpattern-polyfill@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz#99f096e35eff8bf4b5a2aa7d58a1523d6ebc7ce5" - integrity sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ== - urlpattern-polyfill@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz#bc7e386bb12fd7898b58d1509df21d3c29ab3460" @@ -10920,17 +10537,6 @@ util@^0.12.0, util@^0.12.4: safe-buffer "^5.1.2" which-typed-array "^1.1.2" -util@^0.12.3: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - uuid@8.3.2, uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -10978,7 +10584,7 @@ value-or-promise@1.0.11: resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140" integrity sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg== -value-or-promise@1.0.12, value-or-promise@^1.0.12: +value-or-promise@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== @@ -11111,31 +10717,6 @@ wagmi@^0.12.16: abitype "^0.3.0" use-sync-external-store "^1.2.0" -web-encoding@1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/web-encoding/-/web-encoding-1.1.5.tgz#fc810cf7667364a6335c939913f5051d3e0c4864" - integrity sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA== - dependencies: - util "^0.12.3" - optionalDependencies: - "@zxing/text-encoding" "0.9.0" - -web-streams-polyfill@^3.1.1, web-streams-polyfill@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" - integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== - -webcrypto-core@^1.7.7: - version "1.7.7" - resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.7.7.tgz#06f24b3498463e570fed64d7cab149e5437b162c" - integrity sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g== - dependencies: - "@peculiar/asn1-schema" "^2.3.6" - "@peculiar/json-schema" "^1.1.12" - asn1js "^3.0.1" - pvtsutils "^1.3.2" - tslib "^2.4.0" - webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -11200,7 +10781,18 @@ which-module@^2.0.0: resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== -which-typed-array@^1.1.2, which-typed-array@^1.1.9: +which-typed-array@^1.1.11, which-typed-array@^1.1.2: + version "1.1.11" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a" + integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +which-typed-array@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== @@ -11413,9 +11005,9 @@ yocto-queue@^1.0.0: integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== zod-to-json-schema@^3.20.2: - version "3.21.0" - resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.21.0.tgz#b6f2fc4284c44c0d0b7ed121620f2a0107609d1e" - integrity sha512-+KyFCzqKwE6CxMSZxEUBaGmdXzB09BoFebO+xef/ISE4cTfReQlyThYbS8aqd3uWkdt9fz5BGHsY0CbY+Ra9oA== + version "3.21.4" + resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.21.4.tgz#de97c5b6d4a25e9d444618486cb55c0c7fb949fd" + integrity sha512-fjUZh4nQ1s6HMccgIeE0VP4QG/YRGPmyjO9sAh890aQKPEk3nqbfUXhMFaC+Dr5KvYBm8BCyvfpZf2jY9aGSsw== zod@^3.20.2: version "3.21.4"