From c801a569e792144465ac23fd44ffb94a913cc8aa Mon Sep 17 00:00:00 2001 From: lilchizh Date: Thu, 15 May 2025 20:34:42 +0700 Subject: [PATCH 01/20] prom deploy --- .env | 8 +- codegen.ts | 22 +- package.json | 2 +- src/components/common/CurrencyLogo/index.tsx | 2 +- src/components/common/TokenSelector/index.tsx | 2 +- src/components/farms/CreateFarm/index.tsx | 2 +- .../farms/CreateFarmButton/index.tsx | 2 +- .../modals/TokenSelectorModal/index.tsx | 2 +- .../modals/farm/ManageRewardsModal/index.tsx | 2 +- src/components/pool/PoolSettings/index.tsx | 2 +- src/components/pools/PoolsList/index.tsx | 2 +- src/constants/addresses.ts | 15 +- src/constants/default-chain-id.ts | 8 +- src/generated.ts | 12 +- src/graphql/generated/graphql.tsx | 571 ------------------ src/hooks/common/useAlgebraToken.ts | 6 +- src/hooks/common/useApprove.ts | 2 +- src/hooks/common/useCurrency.ts | 4 +- src/hooks/common/useNeedAllowance.ts | 2 +- src/hooks/farms/useFarmData.ts | 2 +- src/hooks/pools/usePool.ts | 2 +- src/pages/Farm/index.tsx | 2 +- src/wagmi.ts | 47 +- yarn.lock | 15 +- 24 files changed, 76 insertions(+), 660 deletions(-) diff --git a/.env b/.env index 0a50ec6..046479b 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ -VITE_INFO_GRAPH=https://api.studio.thegraph.com/query/50593/integral-v12/version/latest -VITE_BLOCKS_GRAPH=https://api.studio.thegraph.com/query/50593/goerli-blocks/version/latest -VITE_FARMING_GRAPH=https://api.studio.thegraph.com/query/50593/integral-v12-farming/version/latest -VITE_INFURA_RPC=https://ethereum-holesky-rpc.publicnode.com +VITE_INFO_GRAPH=https://node.graph.prom.io/subgraphs/name/analytics +VITE_BLOCKS_GRAPH=https://node.graph.prom.io/subgraphs/name/blocks +VITE_FARMING_GRAPH=https://node.graph.prom.io/subgraphs/name/farms +VITE_INFURA_RPC=https://sepolia.base.org VITE_WALLETCONNECT_PROJECT_ID=79c313a96c99edbc26d06cd97bff1126 \ No newline at end of file diff --git a/codegen.ts b/codegen.ts index 4e2d7b8..6bb1e5c 100644 --- a/codegen.ts +++ b/codegen.ts @@ -1,26 +1,22 @@ -import type { CodegenConfig } from "@graphql-codegen/cli"; +import type { CodegenConfig } from '@graphql-codegen/cli'; const config: CodegenConfig = { overwrite: true, schema: [ - "https://api.studio.thegraph.com/query/50593/integral-v12/version/latest", - "https://api.studio.thegraph.com/query/50593/goerli-blocks/version/latest", - "https://api.studio.thegraph.com/query/50593/integral-v12-farming/version/latest", + 'https://node.graph.prom.io/subgraphs/name/analytics', + 'https://node.graph.prom.io/subgraphs/name/blocks', + 'https://node.graph.prom.io/subgraphs/name/farms', ], documents: "src/graphql/queries/!(*.d).{ts,tsx}", generates: { "src/graphql/generated/graphql.tsx": { - plugins: [ - "typescript", - "typescript-operations", - "typescript-react-apollo", - ], + plugins: ['typescript', 'typescript-operations', 'typescript-react-apollo'], config: { withHooks: true, - withResultType: true, - }, - }, - }, + withResultType: true + } + } + } }; export default config; diff --git a/package.json b/package.json index cdaffe9..47b9eb9 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@apollo/client": "^3.9.6", - "@cryptoalgebra/custom-pools-and-sliding-fee-sdk": "^1.0.0", + "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/prom-sdk@1.0.0", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-select": "^2.0.0", diff --git a/src/components/common/CurrencyLogo/index.tsx b/src/components/common/CurrencyLogo/index.tsx index 54aea3c..c5427c5 100644 --- a/src/components/common/CurrencyLogo/index.tsx +++ b/src/components/common/CurrencyLogo/index.tsx @@ -1,4 +1,4 @@ -import { Currency } from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +import { Currency } from "@cryptoalgebra/integral-sdk"; import React from "react"; import { Address } from "wagmi"; import EthLogo from "@/assets/tokens/ether.svg"; diff --git a/src/components/common/TokenSelector/index.tsx b/src/components/common/TokenSelector/index.tsx index 60cf994..2b60ca9 100644 --- a/src/components/common/TokenSelector/index.tsx +++ b/src/components/common/TokenSelector/index.tsx @@ -14,7 +14,7 @@ import { Currency, ExtendedNative, Token, -} from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +} from "@cryptoalgebra/integral-sdk"; import { formatCurrency } from "@/utils/common/formatCurrency"; import { useTokensState } from "@/state/tokensStore"; import { Copy } from "lucide-react"; diff --git a/src/components/farms/CreateFarm/index.tsx b/src/components/farms/CreateFarm/index.tsx index 72727f2..dfdb6e7 100644 --- a/src/components/farms/CreateFarm/index.tsx +++ b/src/components/farms/CreateFarm/index.tsx @@ -3,7 +3,7 @@ import { useMemo, useState } from "react"; import { Currency, Token, -} from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +} from "@cryptoalgebra/integral-sdk"; import { Control, Controller, SubmitHandler, useForm } from "react-hook-form"; import { ChevronRight, X } from "lucide-react"; import { useAccount, useBalance } from "wagmi"; diff --git a/src/components/farms/CreateFarmButton/index.tsx b/src/components/farms/CreateFarmButton/index.tsx index e22dfde..d709b2d 100644 --- a/src/components/farms/CreateFarmButton/index.tsx +++ b/src/components/farms/CreateFarmButton/index.tsx @@ -8,7 +8,7 @@ import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; import { ApprovalState } from "@/types/approve-state"; import { PartialIncentiveKey } from "@/types/incentive-key"; import { IRewards } from "@/types/rewards"; -import { tryParseAmount } from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +import { tryParseAmount } from "@cryptoalgebra/integral-sdk"; import { useEffect } from "react"; import { useNavigate } from "react-router-dom"; import { useContractWrite, usePrepareContractWrite } from "wagmi"; diff --git a/src/components/modals/TokenSelectorModal/index.tsx b/src/components/modals/TokenSelectorModal/index.tsx index 931dc61..8f88c81 100644 --- a/src/components/modals/TokenSelectorModal/index.tsx +++ b/src/components/modals/TokenSelectorModal/index.tsx @@ -8,7 +8,7 @@ import { CredenzaTitle, CredenzaTrigger, } from "@/components/ui/credenza"; -import { Currency } from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +import { Currency } from "@cryptoalgebra/integral-sdk"; interface ITokenSelectorModal { isOpen: boolean; diff --git a/src/components/modals/farm/ManageRewardsModal/index.tsx b/src/components/modals/farm/ManageRewardsModal/index.tsx index edef200..ad01616 100644 --- a/src/components/modals/farm/ManageRewardsModal/index.tsx +++ b/src/components/modals/farm/ManageRewardsModal/index.tsx @@ -17,7 +17,7 @@ import { IncentiveKey } from "@/types/incentive-key"; import { Token, tryParseAmount, -} from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +} from "@cryptoalgebra/integral-sdk"; import { useState } from "react"; import { parseUnits } from "viem"; import { useContractWrite, usePrepareContractWrite } from "wagmi"; diff --git a/src/components/pool/PoolSettings/index.tsx b/src/components/pool/PoolSettings/index.tsx index b263b2c..f234feb 100644 --- a/src/components/pool/PoolSettings/index.tsx +++ b/src/components/pool/PoolSettings/index.tsx @@ -5,7 +5,7 @@ import { pluginFactoryABI, useAlgebraPoolPlugin } from '@/generated'; import { usePool } from '@/hooks/pools/usePool'; import { Address, useContractRead } from 'wagmi'; import PoolActivationModal from '@/components/modals/pool/PoolActivationModal'; -import { ADDRESS_ZERO } from '@cryptoalgebra/custom-pools-and-sliding-fee-sdk'; +import { ADDRESS_ZERO } from '@cryptoalgebra/integral-sdk'; interface IPoolSettings { poolId: Address; diff --git a/src/components/pools/PoolsList/index.tsx b/src/components/pools/PoolsList/index.tsx index 1855bf5..a2574b1 100644 --- a/src/components/pools/PoolsList/index.tsx +++ b/src/components/pools/PoolsList/index.tsx @@ -3,7 +3,7 @@ import { FormattedPool } from '@/types/pool'; import { Link } from 'react-router-dom'; import { useMemo } from 'react'; import { Address } from 'wagmi'; -import { ADDRESS_ZERO } from '@cryptoalgebra/custom-pools-and-sliding-fee-sdk'; +import { ADDRESS_ZERO } from '@cryptoalgebra/integral-sdk'; const deployers: { [key: string]: string } = { '0x7e3387e0595552e992ede4476417704703866e5a': 'HAVE PLUGIN', diff --git a/src/constants/addresses.ts b/src/constants/addresses.ts index 4c9f44d..a26dc16 100644 --- a/src/constants/addresses.ts +++ b/src/constants/addresses.ts @@ -1,16 +1,11 @@ import { Address } from "viem"; -export const ALGEBRA_FARMING_CENTER: Address = - "0x799FAC4F0558Cf82724E427C3C81fc4CB70f60d0"; +export const ALGEBRA_FARMING_CENTER: Address = '0x658E287E9C820484f5808f687dC4863B552de37D' -export const ALGEBRA_ETERNAL_FARMING: Address = - "0xBf153CEA1583580Adb570e1Ce21A73A19D02bb39"; +export const ALGEBRA_ETERNAL_FARMING: Address = '0x50FCbF85d23aF7C91f94842FeCd83d16665d27bA' -export const ALGEBRA_FACTORY: Address = - "0x1De27e531dF74C6F8cF6dAd77cD19E0773d3334c"; +export const ALGEBRA_FACTORY: Address = '0x10253594A832f967994b44f33411940533302ACb' -export const PLUGIN_FACTORY: Address = - "0x983D79d62eE48F051f48f78028C550f31fE9380E"; +export const PLUGIN_FACTORY: Address = "0xFe3BEcd788320465ab649015F34F7771220A88b2"; -export const ALGEBRA_STUB_PLUGIN: Address = - "0xbc2Ec9Bdd8FC1B60B70E46b4Ab83B911d306cBA6"; +export const ALGEBRA_STUB_PLUGIN: Address = "0x955B95b8532fe75DDCf2161f61127Be74A768158"; diff --git a/src/constants/default-chain-id.ts b/src/constants/default-chain-id.ts index 301c427..c2fe226 100644 --- a/src/constants/default-chain-id.ts +++ b/src/constants/default-chain-id.ts @@ -1,4 +1,4 @@ -export const DEFAULT_CHAIN_ID = 0x4268 -export const DEFAULT_CHAIN_NAME = 'Holesky' -export const DEFAULT_NATIVE_SYMBOL = 'ETH' -export const DEFAULT_NATIVE_NAME = 'Ether' \ No newline at end of file +export const DEFAULT_CHAIN_ID = 227 +export const DEFAULT_CHAIN_NAME = 'Prom' +export const DEFAULT_NATIVE_SYMBOL = 'PROM' +export const DEFAULT_NATIVE_NAME = 'Prom' diff --git a/src/generated.ts b/src/generated.ts index fab01f2..56a9c9f 100644 --- a/src/generated.ts +++ b/src/generated.ts @@ -1,4 +1,4 @@ -// Generated by @wagmi/cli@1.0.0 on 10/24/2024 at 7:11:25 PM +// Generated by @wagmi/cli@1.0.0 on 5/15/2025 at 8:33:31 PM import { getContract, GetContractArgs, @@ -278,7 +278,7 @@ export const farmingCenterABI = [ ] as const export const farmingCenterAddress = - '0x799FAC4F0558Cf82724E427C3C81fc4CB70f60d0' as const + '0x658E287E9C820484f5808f687dC4863B552de37D' as const export const farmingCenterConfig = { address: farmingCenterAddress, @@ -1084,7 +1084,7 @@ export const eternalFarmingABI = [ ] as const export const eternalFarmingAddress = - '0xBf153CEA1583580Adb570e1Ce21A73A19D02bb39' as const + '0x50FCbF85d23aF7C91f94842FeCd83d16665d27bA' as const export const eternalFarmingConfig = { address: eternalFarmingAddress, @@ -1644,7 +1644,7 @@ export const algebraFactoryABI = [ ] as const export const algebraFactoryAddress = - '0x1De27e531dF74C6F8cF6dAd77cD19E0773d3334c' as const + '0x10253594A832f967994b44f33411940533302ACb' as const export const algebraFactoryConfig = { address: algebraFactoryAddress, @@ -1782,7 +1782,7 @@ export const pluginFactoryABI = [ ] as const export const pluginFactoryAddress = - '0x983D79d62eE48F051f48f78028C550f31fE9380E' as const + '0xFe3BEcd788320465ab649015F34F7771220A88b2' as const export const pluginFactoryConfig = { address: pluginFactoryAddress, @@ -2978,7 +2978,7 @@ export const algebraStubPluginABI = [ ] as const export const algebraStubPluginAddress = - '0xbc2Ec9Bdd8FC1B60B70E46b4Ab83B911d306cBA6' as const + '0x955B95b8532fe75DDCf2161f61127Be74A768158' as const export const algebraStubPluginConfig = { address: algebraStubPluginAddress, diff --git a/src/graphql/generated/graphql.tsx b/src/graphql/generated/graphql.tsx index ec17817..592e44e 100644 --- a/src/graphql/generated/graphql.tsx +++ b/src/graphql/generated/graphql.tsx @@ -4654,577 +4654,6 @@ export enum Reward_OrderBy { RewardAddress = 'rewardAddress' } -export type Subscription = { - __typename?: 'Subscription'; - /** Access to subgraph metadata */ - _meta?: Maybe<_Meta_>; - algebraDayData?: Maybe; - algebraDayDatas: Array; - block?: Maybe; - blocks: Array; - bundle?: Maybe; - bundles: Array; - burn?: Maybe; - burns: Array; - collect?: Maybe; - collects: Array; - deposit?: Maybe; - deposits: Array; - eternalFarming?: Maybe; - eternalFarmings: Array; - factories: Array; - factory?: Maybe; - feeHourData?: Maybe; - feeHourDatas: Array; - flash?: Maybe; - flashes: Array; - mint?: Maybe; - mints: Array; - plugin?: Maybe; - plugins: Array; - pool?: Maybe; - poolDayData?: Maybe; - poolDayDatas: Array; - poolFeeData?: Maybe; - poolFeeDatas: Array; - poolHourData?: Maybe; - poolHourDatas: Array; - poolPosition?: Maybe; - poolPositions: Array; - pools: Array; - position?: Maybe; - positionSnapshot?: Maybe; - positionSnapshots: Array; - positions: Array; - reward?: Maybe; - rewards: Array; - swap?: Maybe; - swaps: Array; - tick?: Maybe; - tickDayData?: Maybe; - tickDayDatas: Array; - tickHourData?: Maybe; - tickHourDatas: Array; - ticks: Array; - token?: Maybe; - tokenDayData?: Maybe; - tokenDayDatas: Array; - tokenHourData?: Maybe; - tokenHourDatas: Array; - tokens: Array; - transaction?: Maybe; - transactions: Array; -}; - - -export type Subscription_MetaArgs = { - block?: InputMaybe; -}; - - -export type SubscriptionAlgebraDayDataArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionAlgebraDayDatasArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionBlockArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionBlocksArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionBundleArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionBundlesArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionBurnArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionBurnsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionCollectArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionCollectsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionDepositArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionDepositsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionEternalFarmingArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionEternalFarmingsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionFactoriesArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionFactoryArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionFeeHourDataArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionFeeHourDatasArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionFlashArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionFlashesArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionMintArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionMintsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionPluginArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionPluginsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionPoolArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionPoolDayDataArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionPoolDayDatasArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionPoolFeeDataArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionPoolFeeDatasArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionPoolHourDataArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionPoolHourDatasArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionPoolPositionArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionPoolPositionsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionPoolsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionPositionArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionPositionSnapshotArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionPositionSnapshotsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionPositionsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionRewardArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionRewardsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionSwapArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionSwapsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionTickArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionTickDayDataArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionTickDayDatasArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionTickHourDataArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionTickHourDatasArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionTicksArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionTokenArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionTokenDayDataArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionTokenDayDatasArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionTokenHourDataArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionTokenHourDatasArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionTokensArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type SubscriptionTransactionArgs = { - block?: InputMaybe; - id: Scalars['ID']['input']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type SubscriptionTransactionsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - export type Swap = { __typename?: 'Swap'; amount0: Scalars['BigDecimal']['output']; diff --git a/src/hooks/common/useAlgebraToken.ts b/src/hooks/common/useAlgebraToken.ts index bf6ab0d..866de22 100644 --- a/src/hooks/common/useAlgebraToken.ts +++ b/src/hooks/common/useAlgebraToken.ts @@ -1,8 +1,8 @@ import { useMemo } from "react"; import { Address, useToken } from "wagmi"; -import { Token } from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; -import { ExtendedNative } from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; -import { ADDRESS_ZERO } from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +import { Token } from "@cryptoalgebra/integral-sdk"; +import { ExtendedNative } from "@cryptoalgebra/integral-sdk"; +import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; import { DEFAULT_CHAIN_ID, DEFAULT_NATIVE_NAME, diff --git a/src/hooks/common/useApprove.ts b/src/hooks/common/useApprove.ts index 04fd861..08441b5 100644 --- a/src/hooks/common/useApprove.ts +++ b/src/hooks/common/useApprove.ts @@ -1,7 +1,7 @@ import { Currency, CurrencyAmount, -} from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +} from "@cryptoalgebra/integral-sdk"; import { useNeedAllowance } from "./useNeedAllowance"; import { ApprovalState, ApprovalStateType } from "@/types/approve-state"; import { useMemo } from "react"; diff --git a/src/hooks/common/useCurrency.ts b/src/hooks/common/useCurrency.ts index 2c0f945..97dcc7d 100644 --- a/src/hooks/common/useCurrency.ts +++ b/src/hooks/common/useCurrency.ts @@ -3,8 +3,8 @@ import { Currency, ExtendedNative, WNATIVE, -} from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; -import { ADDRESS_ZERO } from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +} from "@cryptoalgebra/integral-sdk"; +import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; import { DEFAULT_CHAIN_ID, DEFAULT_NATIVE_NAME, diff --git a/src/hooks/common/useNeedAllowance.ts b/src/hooks/common/useNeedAllowance.ts index 84aa5b2..d74edb7 100644 --- a/src/hooks/common/useNeedAllowance.ts +++ b/src/hooks/common/useNeedAllowance.ts @@ -1,7 +1,7 @@ import { Currency, CurrencyAmount, -} from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +} from "@cryptoalgebra/integral-sdk"; import { Address, erc20ABI, useAccount, useContractRead } from "wagmi"; export function useNeedAllowance( diff --git a/src/hooks/farms/useFarmData.ts b/src/hooks/farms/useFarmData.ts index 6b3dde3..0d88a63 100644 --- a/src/hooks/farms/useFarmData.ts +++ b/src/hooks/farms/useFarmData.ts @@ -6,7 +6,7 @@ import { useAlgebraVirtualPoolRewardReserves, } from "@/generated"; import { FarmingFieldsFragment } from "@/graphql/generated/graphql"; -import { ADDRESS_ZERO } from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; import { formatUnits } from "viem"; import { useToken } from "wagmi"; diff --git a/src/hooks/pools/usePool.ts b/src/hooks/pools/usePool.ts index 50361f3..c7aa9b3 100644 --- a/src/hooks/pools/usePool.ts +++ b/src/hooks/pools/usePool.ts @@ -5,7 +5,7 @@ import { useAlgebraPoolToken0, useAlgebraPoolToken1, } from "@/generated"; -import { Pool, ADDRESS_ZERO } from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +import { Pool, ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; import { Address } from "wagmi"; import { useCurrency } from "@/hooks/common/useCurrency"; import { useMemo } from "react"; diff --git a/src/pages/Farm/index.tsx b/src/pages/Farm/index.tsx index cad6269..e49b0aa 100644 --- a/src/pages/Farm/index.tsx +++ b/src/pages/Farm/index.tsx @@ -6,7 +6,7 @@ import { farmsClient } from "@/graphql/clients"; import { useSingleFarmingQuery } from "@/graphql/generated/graphql"; import { useFarmData } from "@/hooks/farms/useFarmData"; import { IncentiveKey, PartialIncentiveKey } from "@/types/incentive-key"; -import { ADDRESS_ZERO } from "@cryptoalgebra/custom-pools-and-sliding-fee-sdk"; +import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; import { ArrowLeft } from "lucide-react"; import { Link, useParams } from "react-router-dom"; import { Address } from "wagmi"; diff --git a/src/wagmi.ts b/src/wagmi.ts index 4c7820c..b6292da 100644 --- a/src/wagmi.ts +++ b/src/wagmi.ts @@ -6,40 +6,29 @@ import { WalletConnectConnector } from 'wagmi/connectors/walletConnect' import { publicProvider } from 'wagmi/providers/public' -const holeskyChain = defineChain({ - id: 17000, - network: 'holesky', - name: 'Holesky', - nativeCurrency: { name: 'Holesky Ether', symbol: 'ETH', decimals: 18 }, - rpcUrls: { - default: { - http: [import.meta.env.VITE_INFURA_RPC], - }, - public: { - http: [import.meta.env.VITE_INFURA_RPC], - }, +const prom = defineChain({ + id: 227, + name: 'Prom', + network: 'prom', + nativeCurrency: { name: 'Prom', symbol: 'PROM', decimals: 18 }, + rpcUrls: { + default: { + http: ['https://rpc.prom.io/'], }, - blockExplorers: { - etherscan: { - name: 'Etherscan', - url: 'https://holesky.etherscan.io', - }, - default: { - name: 'Etherscan', - url: 'https://holesky.etherscan.io', - }, + public: { + http: ['https://rpc.prom.io/'], }, - contracts: { - multicall3: { - address: '0xca11bde05977b3631167028862be2a173976ca11', - blockCreated: 77, - }, + }, + blockExplorers: { + default: { + name: 'Promscan', + url: 'https://promscan.io', }, - testnet: true, - }) + }, +}) const { chains, publicClient, webSocketPublicClient } = configureChains( - [holeskyChain], + [prom], [ publicProvider(), ], diff --git a/yarn.lock b/yarn.lock index 7689182..a627326 100644 --- a/yarn.lock +++ b/yarn.lock @@ -569,10 +569,10 @@ stream-browserify "^3.0.0" util "^0.12.4" -"@cryptoalgebra/custom-pools-and-sliding-fee-sdk@^1.0.0": +"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/prom-sdk@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@cryptoalgebra/custom-pools-and-sliding-fee-sdk/-/custom-pools-and-sliding-fee-sdk-1.0.0.tgz#8ee764a4d29404db567c102875559cb81176a282" - integrity sha512-Flj30wDgx85/luzTeXs3c8O7BuPKKpaEWBB0W6cC/VZycT5rK6GBkVWMiwCmCRSPcn4CvAh5dUep0N4wEW4XVg== + resolved "https://registry.yarnpkg.com/@cryptoalgebra/prom-sdk/-/prom-sdk-1.0.0.tgz#179380eb9ee0a8e7093423b05f5c80553c5c5fd9" + integrity sha512-J3LDxgBka5g/LCUskiAeka6/ZP3y7PeADS6zpbzvtCfilcE63u5ekT7wpYlOTAbLWpVRulQVegdAG2l7aPoOfg== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/address" "^5.7.0" @@ -7530,7 +7530,14 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== From 0be985d83dbe8356a8316d756cf8c52fe59b44bd Mon Sep 17 00:00:00 2001 From: lilchizh Date: Mon, 19 May 2025 18:31:02 +0800 Subject: [PATCH 02/20] citrea deploy --- .env | 8 +- codegen.ts | 6 +- package.json | 2 +- src/constants/default-chain-id.ts | 8 +- src/generated.ts | 2 +- src/graphql/generated/graphql.tsx | 571 ++++++++++++++++++++++++++++++ src/wagmi.ts | 21 +- yarn.lock | 6 +- 8 files changed, 598 insertions(+), 26 deletions(-) diff --git a/.env b/.env index 046479b..2fc12d3 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ -VITE_INFO_GRAPH=https://node.graph.prom.io/subgraphs/name/analytics -VITE_BLOCKS_GRAPH=https://node.graph.prom.io/subgraphs/name/blocks -VITE_FARMING_GRAPH=https://node.graph.prom.io/subgraphs/name/farms -VITE_INFURA_RPC=https://sepolia.base.org +VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/analytics-testnet/v1.0.0/gn +VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/blocks-testnet/v1.0.0/gn +VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/farms-testnet/v1.0.0/gn +VITE_INFURA_RPC=https://rpc.testnet.citrea.xyz VITE_WALLETCONNECT_PROJECT_ID=79c313a96c99edbc26d06cd97bff1126 \ No newline at end of file diff --git a/codegen.ts b/codegen.ts index 6bb1e5c..7447f98 100644 --- a/codegen.ts +++ b/codegen.ts @@ -3,9 +3,9 @@ import type { CodegenConfig } from '@graphql-codegen/cli'; const config: CodegenConfig = { overwrite: true, schema: [ - 'https://node.graph.prom.io/subgraphs/name/analytics', - 'https://node.graph.prom.io/subgraphs/name/blocks', - 'https://node.graph.prom.io/subgraphs/name/farms', + 'https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/analytics-testnet/v1.0.0/gn', + 'https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/blocks-testnet/v1.0.0/gn', + 'https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/farms-testnet/v1.0.0/gn', ], documents: "src/graphql/queries/!(*.d).{ts,tsx}", generates: { diff --git a/package.json b/package.json index 47b9eb9..6326775 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@apollo/client": "^3.9.6", - "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/prom-sdk@1.0.0", + "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/satsuma-sdk@1.0.0", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-select": "^2.0.0", diff --git a/src/constants/default-chain-id.ts b/src/constants/default-chain-id.ts index c2fe226..9a48683 100644 --- a/src/constants/default-chain-id.ts +++ b/src/constants/default-chain-id.ts @@ -1,4 +1,4 @@ -export const DEFAULT_CHAIN_ID = 227 -export const DEFAULT_CHAIN_NAME = 'Prom' -export const DEFAULT_NATIVE_SYMBOL = 'PROM' -export const DEFAULT_NATIVE_NAME = 'Prom' +export const DEFAULT_CHAIN_ID = 5115 +export const DEFAULT_CHAIN_NAME = 'Citrea Testnet' +export const DEFAULT_NATIVE_SYMBOL = 'cBTC' +export const DEFAULT_NATIVE_NAME = 'cBTC' diff --git a/src/generated.ts b/src/generated.ts index 56a9c9f..c87db81 100644 --- a/src/generated.ts +++ b/src/generated.ts @@ -1,4 +1,4 @@ -// Generated by @wagmi/cli@1.0.0 on 5/15/2025 at 8:33:31 PM +// Generated by @wagmi/cli@1.0.0 on 5/19/2025 at 6:30:23 PM import { getContract, GetContractArgs, diff --git a/src/graphql/generated/graphql.tsx b/src/graphql/generated/graphql.tsx index 592e44e..ec17817 100644 --- a/src/graphql/generated/graphql.tsx +++ b/src/graphql/generated/graphql.tsx @@ -4654,6 +4654,577 @@ export enum Reward_OrderBy { RewardAddress = 'rewardAddress' } +export type Subscription = { + __typename?: 'Subscription'; + /** Access to subgraph metadata */ + _meta?: Maybe<_Meta_>; + algebraDayData?: Maybe; + algebraDayDatas: Array; + block?: Maybe; + blocks: Array; + bundle?: Maybe; + bundles: Array; + burn?: Maybe; + burns: Array; + collect?: Maybe; + collects: Array; + deposit?: Maybe; + deposits: Array; + eternalFarming?: Maybe; + eternalFarmings: Array; + factories: Array; + factory?: Maybe; + feeHourData?: Maybe; + feeHourDatas: Array; + flash?: Maybe; + flashes: Array; + mint?: Maybe; + mints: Array; + plugin?: Maybe; + plugins: Array; + pool?: Maybe; + poolDayData?: Maybe; + poolDayDatas: Array; + poolFeeData?: Maybe; + poolFeeDatas: Array; + poolHourData?: Maybe; + poolHourDatas: Array; + poolPosition?: Maybe; + poolPositions: Array; + pools: Array; + position?: Maybe; + positionSnapshot?: Maybe; + positionSnapshots: Array; + positions: Array; + reward?: Maybe; + rewards: Array; + swap?: Maybe; + swaps: Array; + tick?: Maybe; + tickDayData?: Maybe; + tickDayDatas: Array; + tickHourData?: Maybe; + tickHourDatas: Array; + ticks: Array; + token?: Maybe; + tokenDayData?: Maybe; + tokenDayDatas: Array; + tokenHourData?: Maybe; + tokenHourDatas: Array; + tokens: Array; + transaction?: Maybe; + transactions: Array; +}; + + +export type Subscription_MetaArgs = { + block?: InputMaybe; +}; + + +export type SubscriptionAlgebraDayDataArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionAlgebraDayDatasArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionBlockArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionBlocksArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionBundleArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionBundlesArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionBurnArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionBurnsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionCollectArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionCollectsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionDepositArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionDepositsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionEternalFarmingArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionEternalFarmingsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionFactoriesArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionFactoryArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionFeeHourDataArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionFeeHourDatasArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionFlashArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionFlashesArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionMintArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionMintsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionPluginArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionPluginsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionPoolArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionPoolDayDataArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionPoolDayDatasArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionPoolFeeDataArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionPoolFeeDatasArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionPoolHourDataArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionPoolHourDatasArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionPoolPositionArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionPoolPositionsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionPoolsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionPositionArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionPositionSnapshotArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionPositionSnapshotsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionPositionsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionRewardArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionRewardsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionSwapArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionSwapsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionTickArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionTickDayDataArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionTickDayDatasArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionTickHourDataArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionTickHourDatasArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionTicksArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionTokenArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionTokenDayDataArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionTokenDayDatasArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionTokenHourDataArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionTokenHourDatasArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionTokensArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + +export type SubscriptionTransactionArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionTransactionsArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + export type Swap = { __typename?: 'Swap'; amount0: Scalars['BigDecimal']['output']; diff --git a/src/wagmi.ts b/src/wagmi.ts index b6292da..f7ac47d 100644 --- a/src/wagmi.ts +++ b/src/wagmi.ts @@ -6,29 +6,30 @@ import { WalletConnectConnector } from 'wagmi/connectors/walletConnect' import { publicProvider } from 'wagmi/providers/public' -const prom = defineChain({ - id: 227, - name: 'Prom', - network: 'prom', - nativeCurrency: { name: 'Prom', symbol: 'PROM', decimals: 18 }, +export const citreaTestnet = defineChain({ + id: 5115, + name: 'Citrea Testnet', + network: 'citrea-testnet', + nativeCurrency: { name: 'cBTC', symbol: 'cBTC', decimals: 18 }, rpcUrls: { default: { - http: ['https://rpc.prom.io/'], + http: ['https://rpc.testnet.citrea.xyz'], }, public: { - http: ['https://rpc.prom.io/'], + http: ['https://rpc.testnet.citrea.xyz'], }, }, blockExplorers: { default: { - name: 'Promscan', - url: 'https://promscan.io', + name: 'Citrea Explorer', + url: 'https://explorer.testnet.citrea.xyz', }, }, + testnet: true, }) const { chains, publicClient, webSocketPublicClient } = configureChains( - [prom], + [citreaTestnet], [ publicProvider(), ], diff --git a/yarn.lock b/yarn.lock index a627326..c60d9ed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -569,10 +569,10 @@ stream-browserify "^3.0.0" util "^0.12.4" -"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/prom-sdk@1.0.0": +"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/satsuma-sdk@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@cryptoalgebra/prom-sdk/-/prom-sdk-1.0.0.tgz#179380eb9ee0a8e7093423b05f5c80553c5c5fd9" - integrity sha512-J3LDxgBka5g/LCUskiAeka6/ZP3y7PeADS6zpbzvtCfilcE63u5ekT7wpYlOTAbLWpVRulQVegdAG2l7aPoOfg== + resolved "https://registry.yarnpkg.com/@cryptoalgebra/satsuma-sdk/-/satsuma-sdk-1.0.0.tgz#0b5296fec2f3073436b597871fe8deb1718b531e" + integrity sha512-Nvsy1G4nO/s1O6VyOmTNYdsqIvH3hs5kPuVELtHEqyz8+FfWkg1M6Jic2cH9edfXAXH2VIZdkhOg2MSiChE3vw== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/address" "^5.7.0" From a1b065da821e784ec4188762de42bda252cee454 Mon Sep 17 00:00:00 2001 From: lilchizh Date: Wed, 21 May 2025 18:51:42 +0700 Subject: [PATCH 03/20] neura tesntet deploy --- .env | 8 ++++---- codegen.ts | 6 +++--- package.json | 2 +- src/constants/addresses.ts | 10 +++++----- src/constants/default-chain-id.ts | 8 ++++---- src/generated.ts | 12 ++++++------ src/wagmi.ts | 20 ++++++++++---------- yarn.lock | 6 +++--- 8 files changed, 36 insertions(+), 36 deletions(-) diff --git a/.env b/.env index 2fc12d3..75982b8 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ -VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/analytics-testnet/v1.0.0/gn -VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/blocks-testnet/v1.0.0/gn -VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/farms-testnet/v1.0.0/gn -VITE_INFURA_RPC=https://rpc.testnet.citrea.xyz +VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmawqb0uwngmc01vf808d56yz/subgraphs/analytics/v1.0.0/gn +VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmawqb0uwngmc01vf808d56yz/subgraphs/blocks/v1.0.0/gn +VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmawqb0uwngmc01vf808d56yz/subgraphs/farms/v1.0.0/gn +VITE_INFURA_RPC=https://testnet.rpc.neuraprotocol.io VITE_WALLETCONNECT_PROJECT_ID=79c313a96c99edbc26d06cd97bff1126 \ No newline at end of file diff --git a/codegen.ts b/codegen.ts index 7447f98..f38039b 100644 --- a/codegen.ts +++ b/codegen.ts @@ -3,9 +3,9 @@ import type { CodegenConfig } from '@graphql-codegen/cli'; const config: CodegenConfig = { overwrite: true, schema: [ - 'https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/analytics-testnet/v1.0.0/gn', - 'https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/blocks-testnet/v1.0.0/gn', - 'https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/farms-testnet/v1.0.0/gn', + 'https://api.goldsky.com/api/public/project_cmawqb0uwngmc01vf808d56yz/subgraphs/analytics/v1.0.0/gn', + 'https://api.goldsky.com/api/public/project_cmawqb0uwngmc01vf808d56yz/subgraphs/blocks/v1.0.0/gn', + 'https://api.goldsky.com/api/public/project_cmawqb0uwngmc01vf808d56yz/subgraphs/farms/v1.0.0/gn', ], documents: "src/graphql/queries/!(*.d).{ts,tsx}", generates: { diff --git a/package.json b/package.json index 6326775..4ba7a65 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@apollo/client": "^3.9.6", - "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/satsuma-sdk@1.0.0", + "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/zotto-neura-sdk@1.0.0", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-select": "^2.0.0", diff --git a/src/constants/addresses.ts b/src/constants/addresses.ts index a26dc16..b49a9cd 100644 --- a/src/constants/addresses.ts +++ b/src/constants/addresses.ts @@ -1,11 +1,11 @@ import { Address } from "viem"; -export const ALGEBRA_FARMING_CENTER: Address = '0x658E287E9C820484f5808f687dC4863B552de37D' +export const ALGEBRA_FARMING_CENTER: Address = '0xaAa81Db3cb943c20B032D16D9cbf471a3757931d' -export const ALGEBRA_ETERNAL_FARMING: Address = '0x50FCbF85d23aF7C91f94842FeCd83d16665d27bA' +export const ALGEBRA_ETERNAL_FARMING: Address = '0x893388ba29248261a0F13371BD4AE3700Ce06EC9' -export const ALGEBRA_FACTORY: Address = '0x10253594A832f967994b44f33411940533302ACb' +export const ALGEBRA_FACTORY: Address = '0x03f8B4b140249Dc7B2503C928E7258CCe1d91F1A' -export const PLUGIN_FACTORY: Address = "0xFe3BEcd788320465ab649015F34F7771220A88b2"; +export const PLUGIN_FACTORY: Address = "0xAbAc6f23fdf1313FC2E9C9244f666157CcD32990"; -export const ALGEBRA_STUB_PLUGIN: Address = "0x955B95b8532fe75DDCf2161f61127Be74A768158"; +export const ALGEBRA_STUB_PLUGIN: Address = "0x04ACde7811F23B69fB1759A3F2fc98bD18D60894"; diff --git a/src/constants/default-chain-id.ts b/src/constants/default-chain-id.ts index 9a48683..3bcf462 100644 --- a/src/constants/default-chain-id.ts +++ b/src/constants/default-chain-id.ts @@ -1,4 +1,4 @@ -export const DEFAULT_CHAIN_ID = 5115 -export const DEFAULT_CHAIN_NAME = 'Citrea Testnet' -export const DEFAULT_NATIVE_SYMBOL = 'cBTC' -export const DEFAULT_NATIVE_NAME = 'cBTC' +export const DEFAULT_CHAIN_ID = 267 +export const DEFAULT_CHAIN_NAME = 'Neura Testnet' +export const DEFAULT_NATIVE_SYMBOL = 'ANKR' +export const DEFAULT_NATIVE_NAME = 'ANKR' diff --git a/src/generated.ts b/src/generated.ts index c87db81..e42970d 100644 --- a/src/generated.ts +++ b/src/generated.ts @@ -1,4 +1,4 @@ -// Generated by @wagmi/cli@1.0.0 on 5/19/2025 at 6:30:23 PM +// Generated by @wagmi/cli@1.0.0 on 5/21/2025 at 6:50:32 PM import { getContract, GetContractArgs, @@ -278,7 +278,7 @@ export const farmingCenterABI = [ ] as const export const farmingCenterAddress = - '0x658E287E9C820484f5808f687dC4863B552de37D' as const + '0xaAa81Db3cb943c20B032D16D9cbf471a3757931d' as const export const farmingCenterConfig = { address: farmingCenterAddress, @@ -1084,7 +1084,7 @@ export const eternalFarmingABI = [ ] as const export const eternalFarmingAddress = - '0x50FCbF85d23aF7C91f94842FeCd83d16665d27bA' as const + '0x893388ba29248261a0F13371BD4AE3700Ce06EC9' as const export const eternalFarmingConfig = { address: eternalFarmingAddress, @@ -1644,7 +1644,7 @@ export const algebraFactoryABI = [ ] as const export const algebraFactoryAddress = - '0x10253594A832f967994b44f33411940533302ACb' as const + '0x03f8B4b140249Dc7B2503C928E7258CCe1d91F1A' as const export const algebraFactoryConfig = { address: algebraFactoryAddress, @@ -1782,7 +1782,7 @@ export const pluginFactoryABI = [ ] as const export const pluginFactoryAddress = - '0xFe3BEcd788320465ab649015F34F7771220A88b2' as const + '0xAbAc6f23fdf1313FC2E9C9244f666157CcD32990' as const export const pluginFactoryConfig = { address: pluginFactoryAddress, @@ -2978,7 +2978,7 @@ export const algebraStubPluginABI = [ ] as const export const algebraStubPluginAddress = - '0x955B95b8532fe75DDCf2161f61127Be74A768158' as const + '0x04ACde7811F23B69fB1759A3F2fc98bD18D60894' as const export const algebraStubPluginConfig = { address: algebraStubPluginAddress, diff --git a/src/wagmi.ts b/src/wagmi.ts index f7ac47d..e936458 100644 --- a/src/wagmi.ts +++ b/src/wagmi.ts @@ -6,30 +6,30 @@ import { WalletConnectConnector } from 'wagmi/connectors/walletConnect' import { publicProvider } from 'wagmi/providers/public' -export const citreaTestnet = defineChain({ - id: 5115, - name: 'Citrea Testnet', - network: 'citrea-testnet', - nativeCurrency: { name: 'cBTC', symbol: 'cBTC', decimals: 18 }, +export const neuraTestnet = defineChain({ + id: 267, + name: 'Neura Testnet', + network: 'neura-testnet', + nativeCurrency: { name: 'ANKR', symbol: 'ANKR', decimals: 18 }, rpcUrls: { default: { - http: ['https://rpc.testnet.citrea.xyz'], + http: ['https://testnet.rpc.neuraprotocol.io'], }, public: { - http: ['https://rpc.testnet.citrea.xyz'], + http: ['https://testnet.rpc.neuraprotocol.io'], }, }, blockExplorers: { default: { - name: 'Citrea Explorer', - url: 'https://explorer.testnet.citrea.xyz', + name: 'Neura Explorer', + url: 'https://testnet-blockscout.infra.neuraprotocol.io', }, }, testnet: true, }) const { chains, publicClient, webSocketPublicClient } = configureChains( - [citreaTestnet], + [neuraTestnet], [ publicProvider(), ], diff --git a/yarn.lock b/yarn.lock index c60d9ed..42a07b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -569,10 +569,10 @@ stream-browserify "^3.0.0" util "^0.12.4" -"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/satsuma-sdk@1.0.0": +"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/zotto-neura-sdk@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@cryptoalgebra/satsuma-sdk/-/satsuma-sdk-1.0.0.tgz#0b5296fec2f3073436b597871fe8deb1718b531e" - integrity sha512-Nvsy1G4nO/s1O6VyOmTNYdsqIvH3hs5kPuVELtHEqyz8+FfWkg1M6Jic2cH9edfXAXH2VIZdkhOg2MSiChE3vw== + resolved "https://registry.yarnpkg.com/@cryptoalgebra/zotto-neura-sdk/-/zotto-neura-sdk-1.0.0.tgz#752bd7392ee9bdc5f904ad6c3dcf6b15b1ca12fa" + integrity sha512-QQbPhHl9pGycIfIAqYXCMbVxK4VFYRmZujUnL8or9PqpBjUnjl0P34SuFoda1Cxk5PJLajg/b3TluK/yEJe6QA== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/address" "^5.7.0" From 46ddded687b38965a4d1f576ba018c281589f887 Mon Sep 17 00:00:00 2001 From: lilchizh Date: Tue, 27 May 2025 22:41:45 +0700 Subject: [PATCH 04/20] hyper evm deploy --- .env | 8 ++++---- codegen.ts | 6 +++--- package.json | 2 +- src/components/common/CurrencyLogo/index.tsx | 2 +- src/constants/addresses.ts | 10 +++++----- src/constants/default-chain-id.ts | 8 ++++---- src/wagmi.ts | 21 ++++++++++---------- yarn.lock | 6 +++--- 8 files changed, 31 insertions(+), 32 deletions(-) diff --git a/.env b/.env index 75982b8..0d7dbd1 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ -VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmawqb0uwngmc01vf808d56yz/subgraphs/analytics/v1.0.0/gn -VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmawqb0uwngmc01vf808d56yz/subgraphs/blocks/v1.0.0/gn -VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmawqb0uwngmc01vf808d56yz/subgraphs/farms/v1.0.0/gn -VITE_INFURA_RPC=https://testnet.rpc.neuraprotocol.io +VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmb20ryy424yb01wy7zwd7xd1/subgraphs/analytics/v1.0.0/gn +VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmb20ryy424yb01wy7zwd7xd1/subgraphs/blocks/v1.0.0/gn +VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmb20ryy424yb01wy7zwd7xd1/subgraphs/farms/v1.0.0/gn +VITE_INFURA_RPC=https://rpc.hypurrscan.io VITE_WALLETCONNECT_PROJECT_ID=79c313a96c99edbc26d06cd97bff1126 \ No newline at end of file diff --git a/codegen.ts b/codegen.ts index f38039b..feb934a 100644 --- a/codegen.ts +++ b/codegen.ts @@ -3,9 +3,9 @@ import type { CodegenConfig } from '@graphql-codegen/cli'; const config: CodegenConfig = { overwrite: true, schema: [ - 'https://api.goldsky.com/api/public/project_cmawqb0uwngmc01vf808d56yz/subgraphs/analytics/v1.0.0/gn', - 'https://api.goldsky.com/api/public/project_cmawqb0uwngmc01vf808d56yz/subgraphs/blocks/v1.0.0/gn', - 'https://api.goldsky.com/api/public/project_cmawqb0uwngmc01vf808d56yz/subgraphs/farms/v1.0.0/gn', + 'https://api.goldsky.com/api/public/project_cmb20ryy424yb01wy7zwd7xd1/subgraphs/analytics/v1.0.0/gn', + 'https://api.goldsky.com/api/public/project_cmb20ryy424yb01wy7zwd7xd1/subgraphs/blocks/v1.0.0/gn', + 'https://api.goldsky.com/api/public/project_cmb20ryy424yb01wy7zwd7xd1/subgraphs/farms/v1.0.0/gn', ], documents: "src/graphql/queries/!(*.d).{ts,tsx}", generates: { diff --git a/package.json b/package.json index 4ba7a65..fada4de 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@apollo/client": "^3.9.6", - "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/zotto-neura-sdk@1.0.0", + "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/gliquid-sdk@1.0.0", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-select": "^2.0.0", diff --git a/src/components/common/CurrencyLogo/index.tsx b/src/components/common/CurrencyLogo/index.tsx index c5427c5..a334534 100644 --- a/src/components/common/CurrencyLogo/index.tsx +++ b/src/components/common/CurrencyLogo/index.tsx @@ -16,7 +16,7 @@ interface CurrencyLogoProps { export const specialTokens: { [key: Address]: { symbol: string; logo: string }; } = { - ["0x94373a4919b3240d86ea41593d5eba789fef3848"]: { + ["0x5555555555555555555555555555555555555555"]: { symbol: "ETH", logo: EthLogo, }, diff --git a/src/constants/addresses.ts b/src/constants/addresses.ts index b49a9cd..a26dc16 100644 --- a/src/constants/addresses.ts +++ b/src/constants/addresses.ts @@ -1,11 +1,11 @@ import { Address } from "viem"; -export const ALGEBRA_FARMING_CENTER: Address = '0xaAa81Db3cb943c20B032D16D9cbf471a3757931d' +export const ALGEBRA_FARMING_CENTER: Address = '0x658E287E9C820484f5808f687dC4863B552de37D' -export const ALGEBRA_ETERNAL_FARMING: Address = '0x893388ba29248261a0F13371BD4AE3700Ce06EC9' +export const ALGEBRA_ETERNAL_FARMING: Address = '0x50FCbF85d23aF7C91f94842FeCd83d16665d27bA' -export const ALGEBRA_FACTORY: Address = '0x03f8B4b140249Dc7B2503C928E7258CCe1d91F1A' +export const ALGEBRA_FACTORY: Address = '0x10253594A832f967994b44f33411940533302ACb' -export const PLUGIN_FACTORY: Address = "0xAbAc6f23fdf1313FC2E9C9244f666157CcD32990"; +export const PLUGIN_FACTORY: Address = "0xFe3BEcd788320465ab649015F34F7771220A88b2"; -export const ALGEBRA_STUB_PLUGIN: Address = "0x04ACde7811F23B69fB1759A3F2fc98bD18D60894"; +export const ALGEBRA_STUB_PLUGIN: Address = "0x955B95b8532fe75DDCf2161f61127Be74A768158"; diff --git a/src/constants/default-chain-id.ts b/src/constants/default-chain-id.ts index 3bcf462..35c3d7e 100644 --- a/src/constants/default-chain-id.ts +++ b/src/constants/default-chain-id.ts @@ -1,4 +1,4 @@ -export const DEFAULT_CHAIN_ID = 267 -export const DEFAULT_CHAIN_NAME = 'Neura Testnet' -export const DEFAULT_NATIVE_SYMBOL = 'ANKR' -export const DEFAULT_NATIVE_NAME = 'ANKR' +export const DEFAULT_CHAIN_ID = 0x3e7 +export const DEFAULT_CHAIN_NAME = 'HyperEVM' +export const DEFAULT_NATIVE_SYMBOL = 'HYPE' +export const DEFAULT_NATIVE_NAME = 'HYPE' diff --git a/src/wagmi.ts b/src/wagmi.ts index e936458..b125bf7 100644 --- a/src/wagmi.ts +++ b/src/wagmi.ts @@ -6,30 +6,29 @@ import { WalletConnectConnector } from 'wagmi/connectors/walletConnect' import { publicProvider } from 'wagmi/providers/public' -export const neuraTestnet = defineChain({ - id: 267, - name: 'Neura Testnet', - network: 'neura-testnet', - nativeCurrency: { name: 'ANKR', symbol: 'ANKR', decimals: 18 }, +export const hyperEvmMainnet = defineChain({ + id: 999, + name: 'HyperEVM', + network: 'hyper-evm-mainnet', + nativeCurrency: { name: 'HYPE', symbol: 'HYPE', decimals: 18 }, rpcUrls: { default: { - http: ['https://testnet.rpc.neuraprotocol.io'], + http: ['https://rpc.hyperlend.finance'], }, public: { - http: ['https://testnet.rpc.neuraprotocol.io'], + http: ['https://rpc.hyperlend.finance'], }, }, blockExplorers: { default: { - name: 'Neura Explorer', - url: 'https://testnet-blockscout.infra.neuraprotocol.io', + name: 'Hyper Scan', + url: 'https://www.hyperscan.com/', }, }, - testnet: true, }) const { chains, publicClient, webSocketPublicClient } = configureChains( - [neuraTestnet], + [hyperEvmMainnet], [ publicProvider(), ], diff --git a/yarn.lock b/yarn.lock index 42a07b1..344009e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -569,10 +569,10 @@ stream-browserify "^3.0.0" util "^0.12.4" -"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/zotto-neura-sdk@1.0.0": +"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/gliquid-sdk@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@cryptoalgebra/zotto-neura-sdk/-/zotto-neura-sdk-1.0.0.tgz#752bd7392ee9bdc5f904ad6c3dcf6b15b1ca12fa" - integrity sha512-QQbPhHl9pGycIfIAqYXCMbVxK4VFYRmZujUnL8or9PqpBjUnjl0P34SuFoda1Cxk5PJLajg/b3TluK/yEJe6QA== + resolved "https://registry.yarnpkg.com/@cryptoalgebra/gliquid-sdk/-/gliquid-sdk-1.0.0.tgz#dbc0958f949dc2756279b9b1bb275f5db99a54c4" + integrity sha512-io4aVgfC2wc+YUS2KyuT0lRnKzZFymhWgcGcnEbNjI/Zv5E78aOGPIm/5+N51U/gBNEl4gQ2ZFPnd9Orz+JBFg== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/address" "^5.7.0" From 98739117ffd966c8f114d356d94d38348ab13af1 Mon Sep 17 00:00:00 2001 From: lilchizh Date: Fri, 6 Jun 2025 22:06:58 +0700 Subject: [PATCH 05/20] ronin deploy --- .env | 10 ++++---- codegen.ts | 22 ++++++++++------- package.json | 2 +- src/components/common/CurrencyLogo/index.tsx | 4 +-- src/constants/default-chain-id.ts | 8 +++--- src/wagmi.ts | 26 ++++++++++++-------- yarn.lock | 6 ++--- 7 files changed, 44 insertions(+), 34 deletions(-) diff --git a/.env b/.env index 0d7dbd1..e96d4d3 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ -VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmb20ryy424yb01wy7zwd7xd1/subgraphs/analytics/v1.0.0/gn -VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmb20ryy424yb01wy7zwd7xd1/subgraphs/blocks/v1.0.0/gn -VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmb20ryy424yb01wy7zwd7xd1/subgraphs/farms/v1.0.0/gn -VITE_INFURA_RPC=https://rpc.hypurrscan.io -VITE_WALLETCONNECT_PROJECT_ID=79c313a96c99edbc26d06cd97bff1126 \ No newline at end of file +VITE_INFO_GRAPH=https://api.studio.thegraph.com/query/78728/katana-v-4-analytics/v0.0.1 +VITE_BLOCKS_GRAPH=https://api.studio.thegraph.com/query/78728/katana-v-4-blocks/v0.0.1 +VITE_FARMING_GRAPH=https://api.studio.thegraph.com/query/78728/katana-v-4-farming/v0.0.1 +VITE_INFURA_RPC=https://api.roninchain.com/rpc +VITE_WALLETCONNECT_PROJECT_ID=79c313a96c99edbc26d06cd97bff1126 diff --git a/codegen.ts b/codegen.ts index feb934a..aa53a7c 100644 --- a/codegen.ts +++ b/codegen.ts @@ -1,22 +1,26 @@ -import type { CodegenConfig } from '@graphql-codegen/cli'; +import type { CodegenConfig } from "@graphql-codegen/cli"; const config: CodegenConfig = { overwrite: true, schema: [ - 'https://api.goldsky.com/api/public/project_cmb20ryy424yb01wy7zwd7xd1/subgraphs/analytics/v1.0.0/gn', - 'https://api.goldsky.com/api/public/project_cmb20ryy424yb01wy7zwd7xd1/subgraphs/blocks/v1.0.0/gn', - 'https://api.goldsky.com/api/public/project_cmb20ryy424yb01wy7zwd7xd1/subgraphs/farms/v1.0.0/gn', + "https://api.studio.thegraph.com/query/78728/katana-v-4-analytics/v0.0.1", + "https://api.studio.thegraph.com/query/78728/katana-v-4-blocks/v0.0.1", + "https://api.studio.thegraph.com/query/78728/katana-v-4-farming/v0.0.1", ], documents: "src/graphql/queries/!(*.d).{ts,tsx}", generates: { "src/graphql/generated/graphql.tsx": { - plugins: ['typescript', 'typescript-operations', 'typescript-react-apollo'], + plugins: [ + "typescript", + "typescript-operations", + "typescript-react-apollo", + ], config: { withHooks: true, - withResultType: true - } - } - } + withResultType: true, + }, + }, + }, }; export default config; diff --git a/package.json b/package.json index fada4de..56b5a12 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@apollo/client": "^3.9.6", - "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/gliquid-sdk@1.0.0", + "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/katana-sdk@1.0.0", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-select": "^2.0.0", diff --git a/src/components/common/CurrencyLogo/index.tsx b/src/components/common/CurrencyLogo/index.tsx index a334534..c106080 100644 --- a/src/components/common/CurrencyLogo/index.tsx +++ b/src/components/common/CurrencyLogo/index.tsx @@ -16,7 +16,7 @@ interface CurrencyLogoProps { export const specialTokens: { [key: Address]: { symbol: string; logo: string }; } = { - ["0x5555555555555555555555555555555555555555"]: { + ["0xe514d9deb7966c8be0ca922de8a064264ea6bcd4"]: { symbol: "ETH", logo: EthLogo, }, @@ -24,7 +24,7 @@ export const specialTokens: { symbol: "USDT", logo: USDTLogo, }, - ["0x42e87bddd77b0c4122b5dd4a8c62872610dcefef"]: { + ["0x0b7007c13325c48911f73a2dad5fa5dcbf808adc"]: { symbol: "USDC", logo: USDCLogo, }, diff --git a/src/constants/default-chain-id.ts b/src/constants/default-chain-id.ts index 35c3d7e..c78b988 100644 --- a/src/constants/default-chain-id.ts +++ b/src/constants/default-chain-id.ts @@ -1,4 +1,4 @@ -export const DEFAULT_CHAIN_ID = 0x3e7 -export const DEFAULT_CHAIN_NAME = 'HyperEVM' -export const DEFAULT_NATIVE_SYMBOL = 'HYPE' -export const DEFAULT_NATIVE_NAME = 'HYPE' +export const DEFAULT_CHAIN_ID = 0x7e4 +export const DEFAULT_CHAIN_NAME = 'Ronin' +export const DEFAULT_NATIVE_SYMBOL = 'RON' +export const DEFAULT_NATIVE_NAME = 'RON' \ No newline at end of file diff --git a/src/wagmi.ts b/src/wagmi.ts index b125bf7..9f16bf0 100644 --- a/src/wagmi.ts +++ b/src/wagmi.ts @@ -6,29 +6,35 @@ import { WalletConnectConnector } from 'wagmi/connectors/walletConnect' import { publicProvider } from 'wagmi/providers/public' -export const hyperEvmMainnet = defineChain({ - id: 999, - name: 'HyperEVM', - network: 'hyper-evm-mainnet', - nativeCurrency: { name: 'HYPE', symbol: 'HYPE', decimals: 18 }, +export const ronin = defineChain({ + id: 2020, + name: 'Ronin', + network: 'ronin', + nativeCurrency: { name: 'RON', symbol: 'RON', decimals: 18 }, rpcUrls: { default: { - http: ['https://rpc.hyperlend.finance'], + http: ['https://api.roninchain.com/rpc'], }, public: { - http: ['https://rpc.hyperlend.finance'], + http: ['https://api.roninchain.com/rpc'], }, }, blockExplorers: { default: { - name: 'Hyper Scan', - url: 'https://www.hyperscan.com/', + name: 'Ronin Explorer', + url: 'https://app.roninchain.com', + }, + }, + contracts: { + multicall3: { + address: '0xca11bde05977b3631167028862be2a173976ca11', + blockCreated: 26023535, }, }, }) const { chains, publicClient, webSocketPublicClient } = configureChains( - [hyperEvmMainnet], + [ronin], [ publicProvider(), ], diff --git a/yarn.lock b/yarn.lock index 344009e..98f6ece 100644 --- a/yarn.lock +++ b/yarn.lock @@ -569,10 +569,10 @@ stream-browserify "^3.0.0" util "^0.12.4" -"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/gliquid-sdk@1.0.0": +"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/katana-sdk@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@cryptoalgebra/gliquid-sdk/-/gliquid-sdk-1.0.0.tgz#dbc0958f949dc2756279b9b1bb275f5db99a54c4" - integrity sha512-io4aVgfC2wc+YUS2KyuT0lRnKzZFymhWgcGcnEbNjI/Zv5E78aOGPIm/5+N51U/gBNEl4gQ2ZFPnd9Orz+JBFg== + resolved "https://registry.yarnpkg.com/@cryptoalgebra/katana-sdk/-/katana-sdk-1.0.0.tgz#d9754fadc7eaed48f88e7fb1ffa1d7b387f7ddc2" + integrity sha512-zBZMJPH71LutJg1EJI25hlCXKypq9knE5BoonZg1cjak9JVXC6oNG3VuOpw/WvT5CExd5tsw/I7TT/H6UdTueA== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/address" "^5.7.0" From 79185d8daf9fe9d047eba213ea61e7fcd4a7a072 Mon Sep 17 00:00:00 2001 From: lilchizh Date: Tue, 15 Jul 2025 17:46:47 +0700 Subject: [PATCH 06/20] hyperevm testnet deploy --- .env | 8 +- codegen.ts | 6 +- package.json | 2 +- src/components/common/CurrencyLogo/index.tsx | 13 +- src/constants/addresses.ts | 10 +- src/constants/default-chain-id.ts | 10 +- src/generated.ts | 12 +- src/graphql/generated/graphql.tsx | 742 ++++++++----------- src/wagmi.ts | 39 +- yarn.lock | 6 +- 10 files changed, 360 insertions(+), 488 deletions(-) diff --git a/.env b/.env index e96d4d3..1de49a6 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ -VITE_INFO_GRAPH=https://api.studio.thegraph.com/query/78728/katana-v-4-analytics/v0.0.1 -VITE_BLOCKS_GRAPH=https://api.studio.thegraph.com/query/78728/katana-v-4-blocks/v0.0.1 -VITE_FARMING_GRAPH=https://api.studio.thegraph.com/query/78728/katana-v-4-farming/v0.0.1 -VITE_INFURA_RPC=https://api.roninchain.com/rpc +VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmcxkn8h7pwwc01x30a5e6t39/subgraphs/kitten-analytics/1.0.0/gn +VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmcxkn8h7pwwc01x30a5e6t39/subgraphs/kitten-blocks/1.0.0/gn +VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmcxkn8h7pwwc01x30a5e6t39/subgraphs/kitten-farming/1.0.0/gn +VITE_INFURA_RPC=https://998.rpc.thirdweb.com/c12d40e08559e44221f53ce0a23b7e67 VITE_WALLETCONNECT_PROJECT_ID=79c313a96c99edbc26d06cd97bff1126 diff --git a/codegen.ts b/codegen.ts index aa53a7c..2f7ea9e 100644 --- a/codegen.ts +++ b/codegen.ts @@ -3,9 +3,9 @@ import type { CodegenConfig } from "@graphql-codegen/cli"; const config: CodegenConfig = { overwrite: true, schema: [ - "https://api.studio.thegraph.com/query/78728/katana-v-4-analytics/v0.0.1", - "https://api.studio.thegraph.com/query/78728/katana-v-4-blocks/v0.0.1", - "https://api.studio.thegraph.com/query/78728/katana-v-4-farming/v0.0.1", + "https://api.goldsky.com/api/public/project_cmcxkn8h7pwwc01x30a5e6t39/subgraphs/kitten-analytics/1.0.0/gn", + "https://api.goldsky.com/api/public/project_cmcxkn8h7pwwc01x30a5e6t39/subgraphs/kitten-blocks/1.0.0/gn", + "https://api.goldsky.com/api/public/project_cmcxkn8h7pwwc01x30a5e6t39/subgraphs/kitten-farming/1.0.0/gn", ], documents: "src/graphql/queries/!(*.d).{ts,tsx}", generates: { diff --git a/package.json b/package.json index 56b5a12..93803fd 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@apollo/client": "^3.9.6", - "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/katana-sdk@1.0.0", + "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/kitten-sdk@1.0.0", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-select": "^2.0.0", diff --git a/src/components/common/CurrencyLogo/index.tsx b/src/components/common/CurrencyLogo/index.tsx index c106080..4db0a0d 100644 --- a/src/components/common/CurrencyLogo/index.tsx +++ b/src/components/common/CurrencyLogo/index.tsx @@ -2,7 +2,6 @@ import { Currency } from "@cryptoalgebra/integral-sdk"; import React from "react"; import { Address } from "wagmi"; import EthLogo from "@/assets/tokens/ether.svg"; -import USDTLogo from "@/assets/tokens/usdt.png"; import USDCLogo from "@/assets/tokens/usdc.svg"; import { cn } from "@/lib/utils"; @@ -16,15 +15,11 @@ interface CurrencyLogoProps { export const specialTokens: { [key: Address]: { symbol: string; logo: string }; } = { - ["0xe514d9deb7966c8be0ca922de8a064264ea6bcd4"]: { - symbol: "ETH", + ["0x5555555555555555555555555555555555555555"]: { + symbol: "WHYPE", logo: EthLogo, }, - ["0x7d98346b3b000c55904918e3d9e2fc3f94683b01"]: { - symbol: "USDT", - logo: USDTLogo, - }, - ["0x0b7007c13325c48911f73a2dad5fa5dcbf808adc"]: { + ["0x7fb2491d015f6c0271fdfcbb7712feeb43ebe50e"]: { symbol: "USDC", logo: USDCLogo, }, @@ -69,7 +64,7 @@ const CurrencyLogo = ({ return ( {"ETH"}; + and?: InputMaybe>>; + date?: InputMaybe; + date_gt?: InputMaybe; + date_gte?: InputMaybe; + date_in?: InputMaybe>; + date_lt?: InputMaybe; + date_lte?: InputMaybe; + date_not?: InputMaybe; + date_not_in?: InputMaybe>; + feesUSD?: InputMaybe; + feesUSD_gt?: InputMaybe; + feesUSD_gte?: InputMaybe; + feesUSD_in?: InputMaybe>; + feesUSD_lt?: InputMaybe; + feesUSD_lte?: InputMaybe; + feesUSD_not?: InputMaybe; + feesUSD_not_in?: InputMaybe>; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + or?: InputMaybe>>; + tvlUSD?: InputMaybe; + tvlUSD_gt?: InputMaybe; + tvlUSD_gte?: InputMaybe; + tvlUSD_in?: InputMaybe>; + tvlUSD_lt?: InputMaybe; + tvlUSD_lte?: InputMaybe; + tvlUSD_not?: InputMaybe; + tvlUSD_not_in?: InputMaybe>; + txCount?: InputMaybe; + txCount_gt?: InputMaybe; + txCount_gte?: InputMaybe; + txCount_in?: InputMaybe>; + txCount_lt?: InputMaybe; + txCount_lte?: InputMaybe; + txCount_not?: InputMaybe; + txCount_not_in?: InputMaybe>; + volumeMatic?: InputMaybe; + volumeMatic_gt?: InputMaybe; + volumeMatic_gte?: InputMaybe; + volumeMatic_in?: InputMaybe>; + volumeMatic_lt?: InputMaybe; + volumeMatic_lte?: InputMaybe; + volumeMatic_not?: InputMaybe; + volumeMatic_not_in?: InputMaybe>; + volumeUSD?: InputMaybe; + volumeUSDUntracked?: InputMaybe; + volumeUSDUntracked_gt?: InputMaybe; + volumeUSDUntracked_gte?: InputMaybe; + volumeUSDUntracked_in?: InputMaybe>; + volumeUSDUntracked_lt?: InputMaybe; + volumeUSDUntracked_lte?: InputMaybe; + volumeUSDUntracked_not?: InputMaybe; + volumeUSDUntracked_not_in?: InputMaybe>; + volumeUSD_gt?: InputMaybe; + volumeUSD_gte?: InputMaybe; + volumeUSD_in?: InputMaybe>; + volumeUSD_lt?: InputMaybe; + volumeUSD_lte?: InputMaybe; + volumeUSD_not?: InputMaybe; + volumeUSD_not_in?: InputMaybe>; +}; + +export enum AlgebraHourData_OrderBy { + Date = 'date', + FeesUsd = 'feesUSD', + Id = 'id', + TvlUsd = 'tvlUSD', + TxCount = 'txCount', + VolumeMatic = 'volumeMatic', + VolumeUsd = 'volumeUSD', + VolumeUsdUntracked = 'volumeUSDUntracked' +} + export type Block = { __typename?: 'Block'; author?: Maybe; @@ -418,6 +512,40 @@ export type Burn = { transaction: Transaction; }; +export type BurnFeeCache = { + __typename?: 'BurnFeeCache'; + id: Scalars['ID']['output']; + pluginFee: Scalars['BigInt']['output']; +}; + +export type BurnFeeCache_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + and?: InputMaybe>>; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + or?: InputMaybe>>; + pluginFee?: InputMaybe; + pluginFee_gt?: InputMaybe; + pluginFee_gte?: InputMaybe; + pluginFee_in?: InputMaybe>; + pluginFee_lt?: InputMaybe; + pluginFee_lte?: InputMaybe; + pluginFee_not?: InputMaybe; + pluginFee_not_in?: InputMaybe>; +}; + +export enum BurnFeeCache_OrderBy { + Id = 'id', + PluginFee = 'pluginFee' +} + export type Burn_Filter = { /** Filter for the block changed event. */ _change_block?: InputMaybe; @@ -619,12 +747,11 @@ export enum Burn_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', @@ -843,12 +970,11 @@ export enum Collect_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', @@ -1535,12 +1661,11 @@ export enum Flash_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', @@ -1804,12 +1929,11 @@ export enum Mint_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', @@ -1964,12 +2088,11 @@ export enum Plugin_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', @@ -2005,12 +2128,11 @@ export type Pool = { createdAtTimestamp: Scalars['BigInt']['output']; deployer: Scalars['Bytes']['output']; fee: Scalars['BigInt']['output']; - feeGrowthGlobal0X128: Scalars['BigInt']['output']; - feeGrowthGlobal1X128: Scalars['BigInt']['output']; feesToken0: Scalars['BigDecimal']['output']; feesToken1: Scalars['BigDecimal']['output']; feesUSD: Scalars['BigDecimal']['output']; id: Scalars['ID']['output']; + lastMintIndex: Scalars['BigInt']['output']; liquidity: Scalars['BigInt']['output']; liquidityProviderCount: Scalars['BigInt']['output']; mints: Array; @@ -2108,8 +2230,6 @@ export type PoolDayData = { __typename?: 'PoolDayData'; close: Scalars['BigDecimal']['output']; date: Scalars['Int']['output']; - feeGrowthGlobal0X128: Scalars['BigInt']['output']; - feeGrowthGlobal1X128: Scalars['BigInt']['output']; feesToken0: Scalars['BigDecimal']['output']; feesToken1: Scalars['BigDecimal']['output']; feesUSD: Scalars['BigDecimal']['output']; @@ -2151,22 +2271,6 @@ export type PoolDayData_Filter = { date_lte?: InputMaybe; date_not?: InputMaybe; date_not_in?: InputMaybe>; - feeGrowthGlobal0X128?: InputMaybe; - feeGrowthGlobal0X128_gt?: InputMaybe; - feeGrowthGlobal0X128_gte?: InputMaybe; - feeGrowthGlobal0X128_in?: InputMaybe>; - feeGrowthGlobal0X128_lt?: InputMaybe; - feeGrowthGlobal0X128_lte?: InputMaybe; - feeGrowthGlobal0X128_not?: InputMaybe; - feeGrowthGlobal0X128_not_in?: InputMaybe>; - feeGrowthGlobal1X128?: InputMaybe; - feeGrowthGlobal1X128_gt?: InputMaybe; - feeGrowthGlobal1X128_gte?: InputMaybe; - feeGrowthGlobal1X128_in?: InputMaybe>; - feeGrowthGlobal1X128_lt?: InputMaybe; - feeGrowthGlobal1X128_lte?: InputMaybe; - feeGrowthGlobal1X128_not?: InputMaybe; - feeGrowthGlobal1X128_not_in?: InputMaybe>; feesToken0?: InputMaybe; feesToken0_gt?: InputMaybe; feesToken0_gte?: InputMaybe; @@ -2338,8 +2442,6 @@ export type PoolDayData_Filter = { export enum PoolDayData_OrderBy { Close = 'close', Date = 'date', - FeeGrowthGlobal0X128 = 'feeGrowthGlobal0X128', - FeeGrowthGlobal1X128 = 'feeGrowthGlobal1X128', FeesToken0 = 'feesToken0', FeesToken1 = 'feesToken1', FeesUsd = 'feesUSD', @@ -2357,12 +2459,11 @@ export enum PoolDayData_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', @@ -2465,8 +2566,6 @@ export enum PoolFeeData_OrderBy { export type PoolHourData = { __typename?: 'PoolHourData'; close: Scalars['BigDecimal']['output']; - feeGrowthGlobal0X128: Scalars['BigInt']['output']; - feeGrowthGlobal1X128: Scalars['BigInt']['output']; feesUSD: Scalars['BigDecimal']['output']; high: Scalars['BigDecimal']['output']; id: Scalars['ID']['output']; @@ -2499,22 +2598,6 @@ export type PoolHourData_Filter = { close_lte?: InputMaybe; close_not?: InputMaybe; close_not_in?: InputMaybe>; - feeGrowthGlobal0X128?: InputMaybe; - feeGrowthGlobal0X128_gt?: InputMaybe; - feeGrowthGlobal0X128_gte?: InputMaybe; - feeGrowthGlobal0X128_in?: InputMaybe>; - feeGrowthGlobal0X128_lt?: InputMaybe; - feeGrowthGlobal0X128_lte?: InputMaybe; - feeGrowthGlobal0X128_not?: InputMaybe; - feeGrowthGlobal0X128_not_in?: InputMaybe>; - feeGrowthGlobal1X128?: InputMaybe; - feeGrowthGlobal1X128_gt?: InputMaybe; - feeGrowthGlobal1X128_gte?: InputMaybe; - feeGrowthGlobal1X128_in?: InputMaybe>; - feeGrowthGlobal1X128_lt?: InputMaybe; - feeGrowthGlobal1X128_lte?: InputMaybe; - feeGrowthGlobal1X128_not?: InputMaybe; - feeGrowthGlobal1X128_not_in?: InputMaybe>; feesUSD?: InputMaybe; feesUSD_gt?: InputMaybe; feesUSD_gte?: InputMaybe; @@ -2677,8 +2760,6 @@ export type PoolHourData_Filter = { export enum PoolHourData_OrderBy { Close = 'close', - FeeGrowthGlobal0X128 = 'feeGrowthGlobal0X128', - FeeGrowthGlobal1X128 = 'feeGrowthGlobal1X128', FeesUsd = 'feesUSD', High = 'high', Id = 'id', @@ -2695,12 +2776,11 @@ export enum PoolHourData_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', @@ -2849,8 +2929,6 @@ export enum PoolPosition_OrderBy { LowerTickCollectedFeesUsd = 'lowerTick__collectedFeesUSD', LowerTickCreatedAtBlockNumber = 'lowerTick__createdAtBlockNumber', LowerTickCreatedAtTimestamp = 'lowerTick__createdAtTimestamp', - LowerTickFeeGrowthOutside0X128 = 'lowerTick__feeGrowthOutside0X128', - LowerTickFeeGrowthOutside1X128 = 'lowerTick__feeGrowthOutside1X128', LowerTickFeesUsd = 'lowerTick__feesUSD', LowerTickId = 'lowerTick__id', LowerTickLiquidityGross = 'lowerTick__liquidityGross', @@ -2874,12 +2952,11 @@ export enum PoolPosition_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', @@ -2907,8 +2984,6 @@ export enum PoolPosition_OrderBy { UpperTickCollectedFeesUsd = 'upperTick__collectedFeesUSD', UpperTickCreatedAtBlockNumber = 'upperTick__createdAtBlockNumber', UpperTickCreatedAtTimestamp = 'upperTick__createdAtTimestamp', - UpperTickFeeGrowthOutside0X128 = 'upperTick__feeGrowthOutside0X128', - UpperTickFeeGrowthOutside1X128 = 'upperTick__feeGrowthOutside1X128', UpperTickFeesUsd = 'upperTick__feesUSD', UpperTickId = 'upperTick__id', UpperTickLiquidityGross = 'upperTick__liquidityGross', @@ -2989,22 +3064,6 @@ export type Pool_Filter = { deployer_not_contains?: InputMaybe; deployer_not_in?: InputMaybe>; fee?: InputMaybe; - feeGrowthGlobal0X128?: InputMaybe; - feeGrowthGlobal0X128_gt?: InputMaybe; - feeGrowthGlobal0X128_gte?: InputMaybe; - feeGrowthGlobal0X128_in?: InputMaybe>; - feeGrowthGlobal0X128_lt?: InputMaybe; - feeGrowthGlobal0X128_lte?: InputMaybe; - feeGrowthGlobal0X128_not?: InputMaybe; - feeGrowthGlobal0X128_not_in?: InputMaybe>; - feeGrowthGlobal1X128?: InputMaybe; - feeGrowthGlobal1X128_gt?: InputMaybe; - feeGrowthGlobal1X128_gte?: InputMaybe; - feeGrowthGlobal1X128_in?: InputMaybe>; - feeGrowthGlobal1X128_lt?: InputMaybe; - feeGrowthGlobal1X128_lte?: InputMaybe; - feeGrowthGlobal1X128_not?: InputMaybe; - feeGrowthGlobal1X128_not_in?: InputMaybe>; fee_gt?: InputMaybe; fee_gte?: InputMaybe; fee_in?: InputMaybe>; @@ -3044,6 +3103,14 @@ export type Pool_Filter = { id_lte?: InputMaybe; id_not?: InputMaybe; id_not_in?: InputMaybe>; + lastMintIndex?: InputMaybe; + lastMintIndex_gt?: InputMaybe; + lastMintIndex_gte?: InputMaybe; + lastMintIndex_in?: InputMaybe>; + lastMintIndex_lt?: InputMaybe; + lastMintIndex_lte?: InputMaybe; + lastMintIndex_not?: InputMaybe; + lastMintIndex_not_in?: InputMaybe>; liquidity?: InputMaybe; liquidityProviderCount?: InputMaybe; liquidityProviderCount_gt?: InputMaybe; @@ -3275,12 +3342,11 @@ export enum Pool_OrderBy { CreatedAtTimestamp = 'createdAtTimestamp', Deployer = 'deployer', Fee = 'fee', - FeeGrowthGlobal0X128 = 'feeGrowthGlobal0X128', - FeeGrowthGlobal1X128 = 'feeGrowthGlobal1X128', FeesToken0 = 'feesToken0', FeesToken1 = 'feesToken1', FeesUsd = 'feesUSD', Id = 'id', + LastMintIndex = 'lastMintIndex', Liquidity = 'liquidity', LiquidityProviderCount = 'liquidityProviderCount', Mints = 'mints', @@ -3349,8 +3415,6 @@ export type Position = { collectedToken1: Scalars['BigDecimal']['output']; depositedToken0: Scalars['BigDecimal']['output']; depositedToken1: Scalars['BigDecimal']['output']; - feeGrowthInside0LastX128: Scalars['BigInt']['output']; - feeGrowthInside1LastX128: Scalars['BigInt']['output']; id: Scalars['ID']['output']; liquidity: Scalars['BigInt']['output']; owner: Scalars['Bytes']['output']; @@ -3358,9 +3422,7 @@ export type Position = { tickLower: Tick; tickUpper: Tick; token0: Token; - token0Tvl?: Maybe; token1: Token; - token1Tvl?: Maybe; transaction: Transaction; withdrawnToken0: Scalars['BigDecimal']['output']; withdrawnToken1: Scalars['BigDecimal']['output']; @@ -3373,8 +3435,6 @@ export type PositionSnapshot = { collectedFeesToken1: Scalars['BigDecimal']['output']; depositedToken0: Scalars['BigDecimal']['output']; depositedToken1: Scalars['BigDecimal']['output']; - feeGrowthInside0LastX128: Scalars['BigInt']['output']; - feeGrowthInside1LastX128: Scalars['BigInt']['output']; id: Scalars['ID']['output']; liquidity: Scalars['BigInt']['output']; owner: Scalars['Bytes']['output']; @@ -3430,22 +3490,6 @@ export type PositionSnapshot_Filter = { depositedToken1_lte?: InputMaybe; depositedToken1_not?: InputMaybe; depositedToken1_not_in?: InputMaybe>; - feeGrowthInside0LastX128?: InputMaybe; - feeGrowthInside0LastX128_gt?: InputMaybe; - feeGrowthInside0LastX128_gte?: InputMaybe; - feeGrowthInside0LastX128_in?: InputMaybe>; - feeGrowthInside0LastX128_lt?: InputMaybe; - feeGrowthInside0LastX128_lte?: InputMaybe; - feeGrowthInside0LastX128_not?: InputMaybe; - feeGrowthInside0LastX128_not_in?: InputMaybe>; - feeGrowthInside1LastX128?: InputMaybe; - feeGrowthInside1LastX128_gt?: InputMaybe; - feeGrowthInside1LastX128_gte?: InputMaybe; - feeGrowthInside1LastX128_in?: InputMaybe>; - feeGrowthInside1LastX128_lt?: InputMaybe; - feeGrowthInside1LastX128_lte?: InputMaybe; - feeGrowthInside1LastX128_not?: InputMaybe; - feeGrowthInside1LastX128_not_in?: InputMaybe>; id?: InputMaybe; id_gt?: InputMaybe; id_gte?: InputMaybe; @@ -3568,8 +3612,6 @@ export enum PositionSnapshot_OrderBy { CollectedFeesToken1 = 'collectedFeesToken1', DepositedToken0 = 'depositedToken0', DepositedToken1 = 'depositedToken1', - FeeGrowthInside0LastX128 = 'feeGrowthInside0LastX128', - FeeGrowthInside1LastX128 = 'feeGrowthInside1LastX128', Id = 'id', Liquidity = 'liquidity', Owner = 'owner', @@ -3582,12 +3624,11 @@ export enum PositionSnapshot_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', @@ -3616,13 +3657,9 @@ export enum PositionSnapshot_OrderBy { PositionCollectedToken1 = 'position__collectedToken1', PositionDepositedToken0 = 'position__depositedToken0', PositionDepositedToken1 = 'position__depositedToken1', - PositionFeeGrowthInside0LastX128 = 'position__feeGrowthInside0LastX128', - PositionFeeGrowthInside1LastX128 = 'position__feeGrowthInside1LastX128', PositionId = 'position__id', PositionLiquidity = 'position__liquidity', PositionOwner = 'position__owner', - PositionToken0Tvl = 'position__token0Tvl', - PositionToken1Tvl = 'position__token1Tvl', PositionWithdrawnToken0 = 'position__withdrawnToken0', PositionWithdrawnToken1 = 'position__withdrawnToken1', Timestamp = 'timestamp', @@ -3688,22 +3725,6 @@ export type Position_Filter = { depositedToken1_lte?: InputMaybe; depositedToken1_not?: InputMaybe; depositedToken1_not_in?: InputMaybe>; - feeGrowthInside0LastX128?: InputMaybe; - feeGrowthInside0LastX128_gt?: InputMaybe; - feeGrowthInside0LastX128_gte?: InputMaybe; - feeGrowthInside0LastX128_in?: InputMaybe>; - feeGrowthInside0LastX128_lt?: InputMaybe; - feeGrowthInside0LastX128_lte?: InputMaybe; - feeGrowthInside0LastX128_not?: InputMaybe; - feeGrowthInside0LastX128_not_in?: InputMaybe>; - feeGrowthInside1LastX128?: InputMaybe; - feeGrowthInside1LastX128_gt?: InputMaybe; - feeGrowthInside1LastX128_gte?: InputMaybe; - feeGrowthInside1LastX128_in?: InputMaybe>; - feeGrowthInside1LastX128_lt?: InputMaybe; - feeGrowthInside1LastX128_lte?: InputMaybe; - feeGrowthInside1LastX128_not?: InputMaybe; - feeGrowthInside1LastX128_not_in?: InputMaybe>; id?: InputMaybe; id_gt?: InputMaybe; id_gte?: InputMaybe; @@ -3795,14 +3816,6 @@ export type Position_Filter = { tickUpper_starts_with?: InputMaybe; tickUpper_starts_with_nocase?: InputMaybe; token0?: InputMaybe; - token0Tvl?: InputMaybe; - token0Tvl_gt?: InputMaybe; - token0Tvl_gte?: InputMaybe; - token0Tvl_in?: InputMaybe>; - token0Tvl_lt?: InputMaybe; - token0Tvl_lte?: InputMaybe; - token0Tvl_not?: InputMaybe; - token0Tvl_not_in?: InputMaybe>; token0_?: InputMaybe; token0_contains?: InputMaybe; token0_contains_nocase?: InputMaybe; @@ -3824,14 +3837,6 @@ export type Position_Filter = { token0_starts_with?: InputMaybe; token0_starts_with_nocase?: InputMaybe; token1?: InputMaybe; - token1Tvl?: InputMaybe; - token1Tvl_gt?: InputMaybe; - token1Tvl_gte?: InputMaybe; - token1Tvl_in?: InputMaybe>; - token1Tvl_lt?: InputMaybe; - token1Tvl_lte?: InputMaybe; - token1Tvl_not?: InputMaybe; - token1Tvl_not_in?: InputMaybe>; token1_?: InputMaybe; token1_contains?: InputMaybe; token1_contains_nocase?: InputMaybe; @@ -3898,8 +3903,6 @@ export enum Position_OrderBy { CollectedToken1 = 'collectedToken1', DepositedToken0 = 'depositedToken0', DepositedToken1 = 'depositedToken1', - FeeGrowthInside0LastX128 = 'feeGrowthInside0LastX128', - FeeGrowthInside1LastX128 = 'feeGrowthInside1LastX128', Id = 'id', Liquidity = 'liquidity', Owner = 'owner', @@ -3912,12 +3915,11 @@ export enum Position_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', @@ -3945,8 +3947,6 @@ export enum Position_OrderBy { TickLowerCollectedFeesUsd = 'tickLower__collectedFeesUSD', TickLowerCreatedAtBlockNumber = 'tickLower__createdAtBlockNumber', TickLowerCreatedAtTimestamp = 'tickLower__createdAtTimestamp', - TickLowerFeeGrowthOutside0X128 = 'tickLower__feeGrowthOutside0X128', - TickLowerFeeGrowthOutside1X128 = 'tickLower__feeGrowthOutside1X128', TickLowerFeesUsd = 'tickLower__feesUSD', TickLowerId = 'tickLower__id', TickLowerLiquidityGross = 'tickLower__liquidityGross', @@ -3966,8 +3966,6 @@ export enum Position_OrderBy { TickUpperCollectedFeesUsd = 'tickUpper__collectedFeesUSD', TickUpperCreatedAtBlockNumber = 'tickUpper__createdAtBlockNumber', TickUpperCreatedAtTimestamp = 'tickUpper__createdAtTimestamp', - TickUpperFeeGrowthOutside0X128 = 'tickUpper__feeGrowthOutside0X128', - TickUpperFeeGrowthOutside1X128 = 'tickUpper__feeGrowthOutside1X128', TickUpperFeesUsd = 'tickUpper__feesUSD', TickUpperId = 'tickUpper__id', TickUpperLiquidityGross = 'tickUpper__liquidityGross', @@ -3982,7 +3980,6 @@ export enum Position_OrderBy { TickUpperVolumeToken1 = 'tickUpper__volumeToken1', TickUpperVolumeUsd = 'tickUpper__volumeUSD', Token0 = 'token0', - Token0Tvl = 'token0Tvl', Token0Decimals = 'token0__decimals', Token0DerivedMatic = 'token0__derivedMatic', Token0FeesUsd = 'token0__feesUSD', @@ -3999,7 +3996,6 @@ export enum Position_OrderBy { Token0Volume = 'token0__volume', Token0VolumeUsd = 'token0__volumeUSD', Token1 = 'token1', - Token1Tvl = 'token1Tvl', Token1Decimals = 'token1__decimals', Token1DerivedMatic = 'token1__derivedMatic', Token1FeesUsd = 'token1__feesUSD', @@ -4031,11 +4027,15 @@ export type Query = { _meta?: Maybe<_Meta_>; algebraDayData?: Maybe; algebraDayDatas: Array; + algebraHourData?: Maybe; + algebraHourDatas: Array; block?: Maybe; blocks: Array; bundle?: Maybe; bundles: Array; burn?: Maybe; + burnFeeCache?: Maybe; + burnFeeCaches: Array; burns: Array; collect?: Maybe; collects: Array; @@ -4070,10 +4070,10 @@ export type Query = { reward?: Maybe; rewards: Array; swap?: Maybe; + swapFeeCache?: Maybe; + swapFeeCaches: Array; swaps: Array; tick?: Maybe; - tickDayData?: Maybe; - tickDayDatas: Array; tickHourData?: Maybe; tickHourDatas: Array; ticks: Array; @@ -4111,6 +4111,24 @@ export type QueryAlgebraDayDatasArgs = { }; +export type QueryAlgebraHourDataArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type QueryAlgebraHourDatasArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + export type QueryBlockArgs = { block?: InputMaybe; id: Scalars['ID']['input']; @@ -4154,6 +4172,24 @@ export type QueryBurnArgs = { }; +export type QueryBurnFeeCacheArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type QueryBurnFeeCachesArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + export type QueryBurnsArgs = { block?: InputMaybe; first?: InputMaybe; @@ -4460,39 +4496,39 @@ export type QuerySwapArgs = { }; -export type QuerySwapsArgs = { +export type QuerySwapFeeCacheArgs = { block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; + id: Scalars['ID']['input']; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; }; -export type QueryTickArgs = { +export type QuerySwapFeeCachesArgs = { block?: InputMaybe; - id: Scalars['ID']['input']; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; }; -export type QueryTickDayDataArgs = { +export type QuerySwapsArgs = { block?: InputMaybe; - id: Scalars['ID']['input']; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; }; -export type QueryTickDayDatasArgs = { +export type QueryTickArgs = { block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; + id: Scalars['ID']['input']; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; }; @@ -4660,11 +4696,15 @@ export type Subscription = { _meta?: Maybe<_Meta_>; algebraDayData?: Maybe; algebraDayDatas: Array; + algebraHourData?: Maybe; + algebraHourDatas: Array; block?: Maybe; blocks: Array; bundle?: Maybe; bundles: Array; burn?: Maybe; + burnFeeCache?: Maybe; + burnFeeCaches: Array; burns: Array; collect?: Maybe; collects: Array; @@ -4699,10 +4739,10 @@ export type Subscription = { reward?: Maybe; rewards: Array; swap?: Maybe; + swapFeeCache?: Maybe; + swapFeeCaches: Array; swaps: Array; tick?: Maybe; - tickDayData?: Maybe; - tickDayDatas: Array; tickHourData?: Maybe; tickHourDatas: Array; ticks: Array; @@ -4740,6 +4780,24 @@ export type SubscriptionAlgebraDayDatasArgs = { }; +export type SubscriptionAlgebraHourDataArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionAlgebraHourDatasArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + export type SubscriptionBlockArgs = { block?: InputMaybe; id: Scalars['ID']['input']; @@ -4783,6 +4841,24 @@ export type SubscriptionBurnArgs = { }; +export type SubscriptionBurnFeeCacheArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionBurnFeeCachesArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + export type SubscriptionBurnsArgs = { block?: InputMaybe; first?: InputMaybe; @@ -5089,39 +5165,39 @@ export type SubscriptionSwapArgs = { }; -export type SubscriptionSwapsArgs = { +export type SubscriptionSwapFeeCacheArgs = { block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; + id: Scalars['ID']['input']; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; }; -export type SubscriptionTickArgs = { +export type SubscriptionSwapFeeCachesArgs = { block?: InputMaybe; - id: Scalars['ID']['input']; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; }; -export type SubscriptionTickDayDataArgs = { +export type SubscriptionSwapsArgs = { block?: InputMaybe; - id: Scalars['ID']['input']; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; }; -export type SubscriptionTickDayDatasArgs = { +export type SubscriptionTickArgs = { block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; + id: Scalars['ID']['input']; subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; }; @@ -5245,6 +5321,50 @@ export type Swap = { transaction: Transaction; }; +export type SwapFeeCache = { + __typename?: 'SwapFeeCache'; + id: Scalars['ID']['output']; + overrideFee: Scalars['BigInt']['output']; + pluginFee: Scalars['BigInt']['output']; +}; + +export type SwapFeeCache_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + and?: InputMaybe>>; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + or?: InputMaybe>>; + overrideFee?: InputMaybe; + overrideFee_gt?: InputMaybe; + overrideFee_gte?: InputMaybe; + overrideFee_in?: InputMaybe>; + overrideFee_lt?: InputMaybe; + overrideFee_lte?: InputMaybe; + overrideFee_not?: InputMaybe; + overrideFee_not_in?: InputMaybe>; + pluginFee?: InputMaybe; + pluginFee_gt?: InputMaybe; + pluginFee_gte?: InputMaybe; + pluginFee_in?: InputMaybe>; + pluginFee_lt?: InputMaybe; + pluginFee_lte?: InputMaybe; + pluginFee_not?: InputMaybe; + pluginFee_not_in?: InputMaybe>; +}; + +export enum SwapFeeCache_OrderBy { + Id = 'id', + OverrideFee = 'overrideFee', + PluginFee = 'pluginFee' +} + export type Swap_Filter = { /** Filter for the block changed event. */ _change_block?: InputMaybe; @@ -5455,12 +5575,11 @@ export enum Swap_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', @@ -5534,8 +5653,6 @@ export type Tick = { collectedFeesUSD: Scalars['BigDecimal']['output']; createdAtBlockNumber: Scalars['BigInt']['output']; createdAtTimestamp: Scalars['BigInt']['output']; - feeGrowthOutside0X128: Scalars['BigInt']['output']; - feeGrowthOutside1X128: Scalars['BigInt']['output']; feesUSD: Scalars['BigDecimal']['output']; id: Scalars['ID']['output']; liquidityGross: Scalars['BigInt']['output']; @@ -5552,221 +5669,6 @@ export type Tick = { volumeUSD: Scalars['BigDecimal']['output']; }; -export type TickDayData = { - __typename?: 'TickDayData'; - date: Scalars['Int']['output']; - feeGrowthOutside0X128: Scalars['BigInt']['output']; - feeGrowthOutside1X128: Scalars['BigInt']['output']; - feesUSD: Scalars['BigDecimal']['output']; - id: Scalars['ID']['output']; - liquidityGross: Scalars['BigInt']['output']; - liquidityNet: Scalars['BigInt']['output']; - pool: Pool; - tick: Tick; - volumeToken0: Scalars['BigDecimal']['output']; - volumeToken1: Scalars['BigDecimal']['output']; - volumeUSD: Scalars['BigDecimal']['output']; -}; - -export type TickDayData_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - date?: InputMaybe; - date_gt?: InputMaybe; - date_gte?: InputMaybe; - date_in?: InputMaybe>; - date_lt?: InputMaybe; - date_lte?: InputMaybe; - date_not?: InputMaybe; - date_not_in?: InputMaybe>; - feeGrowthOutside0X128?: InputMaybe; - feeGrowthOutside0X128_gt?: InputMaybe; - feeGrowthOutside0X128_gte?: InputMaybe; - feeGrowthOutside0X128_in?: InputMaybe>; - feeGrowthOutside0X128_lt?: InputMaybe; - feeGrowthOutside0X128_lte?: InputMaybe; - feeGrowthOutside0X128_not?: InputMaybe; - feeGrowthOutside0X128_not_in?: InputMaybe>; - feeGrowthOutside1X128?: InputMaybe; - feeGrowthOutside1X128_gt?: InputMaybe; - feeGrowthOutside1X128_gte?: InputMaybe; - feeGrowthOutside1X128_in?: InputMaybe>; - feeGrowthOutside1X128_lt?: InputMaybe; - feeGrowthOutside1X128_lte?: InputMaybe; - feeGrowthOutside1X128_not?: InputMaybe; - feeGrowthOutside1X128_not_in?: InputMaybe>; - feesUSD?: InputMaybe; - feesUSD_gt?: InputMaybe; - feesUSD_gte?: InputMaybe; - feesUSD_in?: InputMaybe>; - feesUSD_lt?: InputMaybe; - feesUSD_lte?: InputMaybe; - feesUSD_not?: InputMaybe; - feesUSD_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - liquidityGross?: InputMaybe; - liquidityGross_gt?: InputMaybe; - liquidityGross_gte?: InputMaybe; - liquidityGross_in?: InputMaybe>; - liquidityGross_lt?: InputMaybe; - liquidityGross_lte?: InputMaybe; - liquidityGross_not?: InputMaybe; - liquidityGross_not_in?: InputMaybe>; - liquidityNet?: InputMaybe; - liquidityNet_gt?: InputMaybe; - liquidityNet_gte?: InputMaybe; - liquidityNet_in?: InputMaybe>; - liquidityNet_lt?: InputMaybe; - liquidityNet_lte?: InputMaybe; - liquidityNet_not?: InputMaybe; - liquidityNet_not_in?: InputMaybe>; - or?: InputMaybe>>; - pool?: InputMaybe; - pool_?: InputMaybe; - pool_contains?: InputMaybe; - pool_contains_nocase?: InputMaybe; - pool_ends_with?: InputMaybe; - pool_ends_with_nocase?: InputMaybe; - pool_gt?: InputMaybe; - pool_gte?: InputMaybe; - pool_in?: InputMaybe>; - pool_lt?: InputMaybe; - pool_lte?: InputMaybe; - pool_not?: InputMaybe; - pool_not_contains?: InputMaybe; - pool_not_contains_nocase?: InputMaybe; - pool_not_ends_with?: InputMaybe; - pool_not_ends_with_nocase?: InputMaybe; - pool_not_in?: InputMaybe>; - pool_not_starts_with?: InputMaybe; - pool_not_starts_with_nocase?: InputMaybe; - pool_starts_with?: InputMaybe; - pool_starts_with_nocase?: InputMaybe; - tick?: InputMaybe; - tick_?: InputMaybe; - tick_contains?: InputMaybe; - tick_contains_nocase?: InputMaybe; - tick_ends_with?: InputMaybe; - tick_ends_with_nocase?: InputMaybe; - tick_gt?: InputMaybe; - tick_gte?: InputMaybe; - tick_in?: InputMaybe>; - tick_lt?: InputMaybe; - tick_lte?: InputMaybe; - tick_not?: InputMaybe; - tick_not_contains?: InputMaybe; - tick_not_contains_nocase?: InputMaybe; - tick_not_ends_with?: InputMaybe; - tick_not_ends_with_nocase?: InputMaybe; - tick_not_in?: InputMaybe>; - tick_not_starts_with?: InputMaybe; - tick_not_starts_with_nocase?: InputMaybe; - tick_starts_with?: InputMaybe; - tick_starts_with_nocase?: InputMaybe; - volumeToken0?: InputMaybe; - volumeToken0_gt?: InputMaybe; - volumeToken0_gte?: InputMaybe; - volumeToken0_in?: InputMaybe>; - volumeToken0_lt?: InputMaybe; - volumeToken0_lte?: InputMaybe; - volumeToken0_not?: InputMaybe; - volumeToken0_not_in?: InputMaybe>; - volumeToken1?: InputMaybe; - volumeToken1_gt?: InputMaybe; - volumeToken1_gte?: InputMaybe; - volumeToken1_in?: InputMaybe>; - volumeToken1_lt?: InputMaybe; - volumeToken1_lte?: InputMaybe; - volumeToken1_not?: InputMaybe; - volumeToken1_not_in?: InputMaybe>; - volumeUSD?: InputMaybe; - volumeUSD_gt?: InputMaybe; - volumeUSD_gte?: InputMaybe; - volumeUSD_in?: InputMaybe>; - volumeUSD_lt?: InputMaybe; - volumeUSD_lte?: InputMaybe; - volumeUSD_not?: InputMaybe; - volumeUSD_not_in?: InputMaybe>; -}; - -export enum TickDayData_OrderBy { - Date = 'date', - FeeGrowthOutside0X128 = 'feeGrowthOutside0X128', - FeeGrowthOutside1X128 = 'feeGrowthOutside1X128', - FeesUsd = 'feesUSD', - Id = 'id', - LiquidityGross = 'liquidityGross', - LiquidityNet = 'liquidityNet', - Pool = 'pool', - PoolCollectedFeesToken0 = 'pool__collectedFeesToken0', - PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', - PoolCollectedFeesUsd = 'pool__collectedFeesUSD', - PoolCommunityFee = 'pool__communityFee', - PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', - PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', - PoolDeployer = 'pool__deployer', - PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', - PoolFeesToken0 = 'pool__feesToken0', - PoolFeesToken1 = 'pool__feesToken1', - PoolFeesUsd = 'pool__feesUSD', - PoolId = 'pool__id', - PoolLiquidity = 'pool__liquidity', - PoolLiquidityProviderCount = 'pool__liquidityProviderCount', - PoolObservationIndex = 'pool__observationIndex', - PoolPlugin = 'pool__plugin', - PoolPluginConfig = 'pool__pluginConfig', - PoolSqrtPrice = 'pool__sqrtPrice', - PoolTick = 'pool__tick', - PoolTickSpacing = 'pool__tickSpacing', - PoolToken0Price = 'pool__token0Price', - PoolToken1Price = 'pool__token1Price', - PoolTotalValueLockedMatic = 'pool__totalValueLockedMatic', - PoolTotalValueLockedToken0 = 'pool__totalValueLockedToken0', - PoolTotalValueLockedToken1 = 'pool__totalValueLockedToken1', - PoolTotalValueLockedUsd = 'pool__totalValueLockedUSD', - PoolTotalValueLockedUsdUntracked = 'pool__totalValueLockedUSDUntracked', - PoolTxCount = 'pool__txCount', - PoolUntrackedFeesUsd = 'pool__untrackedFeesUSD', - PoolUntrackedVolumeUsd = 'pool__untrackedVolumeUSD', - PoolVolumeToken0 = 'pool__volumeToken0', - PoolVolumeToken1 = 'pool__volumeToken1', - PoolVolumeUsd = 'pool__volumeUSD', - Tick = 'tick', - TickCollectedFeesToken0 = 'tick__collectedFeesToken0', - TickCollectedFeesToken1 = 'tick__collectedFeesToken1', - TickCollectedFeesUsd = 'tick__collectedFeesUSD', - TickCreatedAtBlockNumber = 'tick__createdAtBlockNumber', - TickCreatedAtTimestamp = 'tick__createdAtTimestamp', - TickFeeGrowthOutside0X128 = 'tick__feeGrowthOutside0X128', - TickFeeGrowthOutside1X128 = 'tick__feeGrowthOutside1X128', - TickFeesUsd = 'tick__feesUSD', - TickId = 'tick__id', - TickLiquidityGross = 'tick__liquidityGross', - TickLiquidityNet = 'tick__liquidityNet', - TickLiquidityProviderCount = 'tick__liquidityProviderCount', - TickPoolAddress = 'tick__poolAddress', - TickPrice0 = 'tick__price0', - TickPrice1 = 'tick__price1', - TickTickIdx = 'tick__tickIdx', - TickUntrackedVolumeUsd = 'tick__untrackedVolumeUSD', - TickVolumeToken0 = 'tick__volumeToken0', - TickVolumeToken1 = 'tick__volumeToken1', - TickVolumeUsd = 'tick__volumeUSD', - VolumeToken0 = 'volumeToken0', - VolumeToken1 = 'volumeToken1', - VolumeUsd = 'volumeUSD' -} - export type TickHourData = { __typename?: 'TickHourData'; feesUSD: Scalars['BigDecimal']['output']; @@ -5909,12 +5811,11 @@ export enum TickHourData_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', @@ -5942,8 +5843,6 @@ export enum TickHourData_OrderBy { TickCollectedFeesUsd = 'tick__collectedFeesUSD', TickCreatedAtBlockNumber = 'tick__createdAtBlockNumber', TickCreatedAtTimestamp = 'tick__createdAtTimestamp', - TickFeeGrowthOutside0X128 = 'tick__feeGrowthOutside0X128', - TickFeeGrowthOutside1X128 = 'tick__feeGrowthOutside1X128', TickFeesUsd = 'tick__feesUSD', TickId = 'tick__id', TickLiquidityGross = 'tick__liquidityGross', @@ -6006,22 +5905,6 @@ export type Tick_Filter = { createdAtTimestamp_lte?: InputMaybe; createdAtTimestamp_not?: InputMaybe; createdAtTimestamp_not_in?: InputMaybe>; - feeGrowthOutside0X128?: InputMaybe; - feeGrowthOutside0X128_gt?: InputMaybe; - feeGrowthOutside0X128_gte?: InputMaybe; - feeGrowthOutside0X128_in?: InputMaybe>; - feeGrowthOutside0X128_lt?: InputMaybe; - feeGrowthOutside0X128_lte?: InputMaybe; - feeGrowthOutside0X128_not?: InputMaybe; - feeGrowthOutside0X128_not_in?: InputMaybe>; - feeGrowthOutside1X128?: InputMaybe; - feeGrowthOutside1X128_gt?: InputMaybe; - feeGrowthOutside1X128_gte?: InputMaybe; - feeGrowthOutside1X128_in?: InputMaybe>; - feeGrowthOutside1X128_lt?: InputMaybe; - feeGrowthOutside1X128_lte?: InputMaybe; - feeGrowthOutside1X128_not?: InputMaybe; - feeGrowthOutside1X128_not_in?: InputMaybe>; feesUSD?: InputMaybe; feesUSD_gt?: InputMaybe; feesUSD_gte?: InputMaybe; @@ -6168,8 +6051,6 @@ export enum Tick_OrderBy { CollectedFeesUsd = 'collectedFeesUSD', CreatedAtBlockNumber = 'createdAtBlockNumber', CreatedAtTimestamp = 'createdAtTimestamp', - FeeGrowthOutside0X128 = 'feeGrowthOutside0X128', - FeeGrowthOutside1X128 = 'feeGrowthOutside1X128', FeesUsd = 'feesUSD', Id = 'id', LiquidityGross = 'liquidityGross', @@ -6185,12 +6066,11 @@ export enum Tick_OrderBy { PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', PoolFee = 'pool__fee', - PoolFeeGrowthGlobal0X128 = 'pool__feeGrowthGlobal0X128', - PoolFeeGrowthGlobal1X128 = 'pool__feeGrowthGlobal1X128', PoolFeesToken0 = 'pool__feesToken0', PoolFeesToken1 = 'pool__feesToken1', PoolFeesUsd = 'pool__feesUSD', PoolId = 'pool__id', + PoolLastMintIndex = 'pool__lastMintIndex', PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', diff --git a/src/wagmi.ts b/src/wagmi.ts index 9f16bf0..3fb6534 100644 --- a/src/wagmi.ts +++ b/src/wagmi.ts @@ -6,35 +6,30 @@ import { WalletConnectConnector } from 'wagmi/connectors/walletConnect' import { publicProvider } from 'wagmi/providers/public' -export const ronin = defineChain({ - id: 2020, - name: 'Ronin', - network: 'ronin', - nativeCurrency: { name: 'RON', symbol: 'RON', decimals: 18 }, +const hyperEvmTestnet = defineChain({ + id: 998, + network: "hyperEVM-testnet", + name: "Hyperliquid EVM Testnet", + nativeCurrency: { name: "HYPE", symbol: "HYPE", decimals: 18 }, rpcUrls: { - default: { - http: ['https://api.roninchain.com/rpc'], - }, - public: { - http: ['https://api.roninchain.com/rpc'], + default: { + http: ["https://998.rpc.thirdweb.com/c12d40e08559e44221f53ce0a23b7e67"], + }, + public: { + http: ["https://998.rpc.thirdweb.com/c12d40e08559e44221f53ce0a23b7e67"], }, }, blockExplorers: { - default: { - name: 'Ronin Explorer', - url: 'https://app.roninchain.com', - }, - }, - contracts: { - multicall3: { - address: '0xca11bde05977b3631167028862be2a173976ca11', - blockCreated: 26023535, - }, + default: { + name: "Purrsec", + url: "https://testnet.purrsec.com", + }, }, -}) + testnet: true, +}); const { chains, publicClient, webSocketPublicClient } = configureChains( - [ronin], + [hyperEvmTestnet], [ publicProvider(), ], diff --git a/yarn.lock b/yarn.lock index 98f6ece..774b4cf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -569,10 +569,10 @@ stream-browserify "^3.0.0" util "^0.12.4" -"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/katana-sdk@1.0.0": +"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/kitten-sdk@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@cryptoalgebra/katana-sdk/-/katana-sdk-1.0.0.tgz#d9754fadc7eaed48f88e7fb1ffa1d7b387f7ddc2" - integrity sha512-zBZMJPH71LutJg1EJI25hlCXKypq9knE5BoonZg1cjak9JVXC6oNG3VuOpw/WvT5CExd5tsw/I7TT/H6UdTueA== + resolved "https://registry.yarnpkg.com/@cryptoalgebra/kitten-sdk/-/kitten-sdk-1.0.0.tgz#02fe3ab7630aaec68fdf6b216bcb7d4f6f670969" + integrity sha512-YVnE61z1vjIW1UJLXI9Co3hi/UYDnB7LIeYcR5DvjlIYoD5y4A2xUyRwtz8kRyIo8hhgto7VoXHo3+X8S43p9Q== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/address" "^5.7.0" From 6752f42a6e85345fb26e7cb458949db7fc32a17c Mon Sep 17 00:00:00 2001 From: lilchizh Date: Fri, 1 Aug 2025 20:51:16 +0700 Subject: [PATCH 07/20] taraxa deploy --- .env | 8 ++++---- codegen.ts | 6 +++--- package.json | 2 +- src/constants/addresses.ts | 10 +++++----- src/constants/default-chain-id.ts | 8 ++++---- src/wagmi.ts | 33 +++++++++++++++---------------- yarn.lock | 6 +++--- 7 files changed, 36 insertions(+), 37 deletions(-) diff --git a/.env b/.env index 1de49a6..a58bf18 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ -VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmcxkn8h7pwwc01x30a5e6t39/subgraphs/kitten-analytics/1.0.0/gn -VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmcxkn8h7pwwc01x30a5e6t39/subgraphs/kitten-blocks/1.0.0/gn -VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmcxkn8h7pwwc01x30a5e6t39/subgraphs/kitten-farming/1.0.0/gn -VITE_INFURA_RPC=https://998.rpc.thirdweb.com/c12d40e08559e44221f53ce0a23b7e67 +VITE_INFO_GRAPH=https://graph.fomo.biz/http/subgraphs/name/analytics +VITE_BLOCKS_GRAPH=https://graph.fomo.biz/http/subgraphs/name/blocks +VITE_FARMING_GRAPH=https://graph.fomo.biz/http/subgraphs/name/farms +VITE_INFURA_RPC=https://rpc.mainnet.taraxa.io VITE_WALLETCONNECT_PROJECT_ID=79c313a96c99edbc26d06cd97bff1126 diff --git a/codegen.ts b/codegen.ts index 2f7ea9e..4fb622c 100644 --- a/codegen.ts +++ b/codegen.ts @@ -3,9 +3,9 @@ import type { CodegenConfig } from "@graphql-codegen/cli"; const config: CodegenConfig = { overwrite: true, schema: [ - "https://api.goldsky.com/api/public/project_cmcxkn8h7pwwc01x30a5e6t39/subgraphs/kitten-analytics/1.0.0/gn", - "https://api.goldsky.com/api/public/project_cmcxkn8h7pwwc01x30a5e6t39/subgraphs/kitten-blocks/1.0.0/gn", - "https://api.goldsky.com/api/public/project_cmcxkn8h7pwwc01x30a5e6t39/subgraphs/kitten-farming/1.0.0/gn", + "https://graph.fomo.biz/http/subgraphs/name/analytics", + "https://graph.fomo.biz/http/subgraphs/name/blocks", + "https://graph.fomo.biz/http/subgraphs/name/farms", ], documents: "src/graphql/queries/!(*.d).{ts,tsx}", generates: { diff --git a/package.json b/package.json index 93803fd..e8bf5a0 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@apollo/client": "^3.9.6", - "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/kitten-sdk@1.0.0", + "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/fomo-sdk@1.0.0", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-select": "^2.0.0", diff --git a/src/constants/addresses.ts b/src/constants/addresses.ts index 344e663..a26dc16 100644 --- a/src/constants/addresses.ts +++ b/src/constants/addresses.ts @@ -1,11 +1,11 @@ import { Address } from "viem"; -export const ALGEBRA_FARMING_CENTER: Address = '0x78747014562Cd35420076361244e21749aD74F98' +export const ALGEBRA_FARMING_CENTER: Address = '0x658E287E9C820484f5808f687dC4863B552de37D' -export const ALGEBRA_ETERNAL_FARMING: Address = '0x1c4AB01E74Af8227275cc9d533FC3EDf2cE5e698' +export const ALGEBRA_ETERNAL_FARMING: Address = '0x50FCbF85d23aF7C91f94842FeCd83d16665d27bA' -export const ALGEBRA_FACTORY: Address = '0xF7531f3a21C13278498Be17a91d3B4976869C850' +export const ALGEBRA_FACTORY: Address = '0x10253594A832f967994b44f33411940533302ACb' -export const PLUGIN_FACTORY: Address = "0xA57513CbbB1a5fbE4f91Ad0586fbdf9c9fB6feC7"; +export const PLUGIN_FACTORY: Address = "0xFe3BEcd788320465ab649015F34F7771220A88b2"; -export const ALGEBRA_STUB_PLUGIN: Address = "0x91B421403E6B1B69315f6213d1E4A7A6f0fe938e"; +export const ALGEBRA_STUB_PLUGIN: Address = "0x955B95b8532fe75DDCf2161f61127Be74A768158"; diff --git a/src/constants/default-chain-id.ts b/src/constants/default-chain-id.ts index ea113f6..2327240 100644 --- a/src/constants/default-chain-id.ts +++ b/src/constants/default-chain-id.ts @@ -1,6 +1,6 @@ import { ChainId } from "@cryptoalgebra/integral-sdk"; -export const DEFAULT_CHAIN_NAME = "HyperEVM"; -export const DEFAULT_NATIVE_SYMBOL = "HYPE"; -export const DEFAULT_NATIVE_NAME = "HYPE"; -export const DEFAULT_CHAIN_ID = ChainId.HyperEvmTestnet; \ No newline at end of file +export const DEFAULT_CHAIN_NAME = "Taraxa"; +export const DEFAULT_NATIVE_SYMBOL = "TARA"; +export const DEFAULT_NATIVE_NAME = "TARA"; +export const DEFAULT_CHAIN_ID = ChainId.TaraxaMainnet; \ No newline at end of file diff --git a/src/wagmi.ts b/src/wagmi.ts index 3fb6534..da532d8 100644 --- a/src/wagmi.ts +++ b/src/wagmi.ts @@ -6,30 +6,29 @@ import { WalletConnectConnector } from 'wagmi/connectors/walletConnect' import { publicProvider } from 'wagmi/providers/public' -const hyperEvmTestnet = defineChain({ - id: 998, - network: "hyperEVM-testnet", - name: "Hyperliquid EVM Testnet", - nativeCurrency: { name: "HYPE", symbol: "HYPE", decimals: 18 }, +export const taraxaMainnet = defineChain({ + id: 841, + name: 'Taraxa Mainnet', + network: 'taraxa-mainnet', + nativeCurrency: { name: 'Tara', symbol: 'TARA', decimals: 18 }, rpcUrls: { - default: { - http: ["https://998.rpc.thirdweb.com/c12d40e08559e44221f53ce0a23b7e67"], - }, - public: { - http: ["https://998.rpc.thirdweb.com/c12d40e08559e44221f53ce0a23b7e67"], + default: { + http: ['https://rpc.mainnet.taraxa.io'], + }, + public: { + http: ['https://rpc.mainnet.taraxa.io'], }, }, blockExplorers: { - default: { - name: "Purrsec", - url: "https://testnet.purrsec.com", - }, + default: { + name: 'Taraxa Explorer', + url: 'https://explorer.mainnet.taraxa.io', + }, }, - testnet: true, -}); +}) const { chains, publicClient, webSocketPublicClient } = configureChains( - [hyperEvmTestnet], + [taraxaMainnet], [ publicProvider(), ], diff --git a/yarn.lock b/yarn.lock index 774b4cf..b97b0e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -569,10 +569,10 @@ stream-browserify "^3.0.0" util "^0.12.4" -"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/kitten-sdk@1.0.0": +"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/fomo-sdk@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@cryptoalgebra/kitten-sdk/-/kitten-sdk-1.0.0.tgz#02fe3ab7630aaec68fdf6b216bcb7d4f6f670969" - integrity sha512-YVnE61z1vjIW1UJLXI9Co3hi/UYDnB7LIeYcR5DvjlIYoD5y4A2xUyRwtz8kRyIo8hhgto7VoXHo3+X8S43p9Q== + resolved "https://registry.yarnpkg.com/@cryptoalgebra/fomo-sdk/-/fomo-sdk-1.0.0.tgz#d61d05947a93c2d8f4b0470784ad7655606b49a9" + integrity sha512-qyB/cSuy9bpoSDMepHqkygur6GifM437ZADaQzkryypWwuGwT8A31y/QfH453iZWP1v1gp0dMxyfWJWMP+OiQg== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/address" "^5.7.0" From 35fd0b83c7c0e7086ac99f7bdde5549edd24346e Mon Sep 17 00:00:00 2001 From: lilchizh Date: Fri, 15 Aug 2025 23:13:47 +0700 Subject: [PATCH 08/20] lynex tac deploy --- .env | 8 ++++---- codegen.ts | 6 +++--- package.json | 2 +- src/constants/default-chain-id.ts | 8 ++++---- src/wagmi.ts | 31 ++++++++++++++++++++----------- yarn.lock | 6 +++--- 6 files changed, 35 insertions(+), 26 deletions(-) diff --git a/.env b/.env index a58bf18..c6c67a1 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ -VITE_INFO_GRAPH=https://graph.fomo.biz/http/subgraphs/name/analytics -VITE_BLOCKS_GRAPH=https://graph.fomo.biz/http/subgraphs/name/blocks -VITE_FARMING_GRAPH=https://graph.fomo.biz/http/subgraphs/name/farms -VITE_INFURA_RPC=https://rpc.mainnet.taraxa.io +VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cltyhthusbmxp01s95k9l8a1u/subgraphs/cl-analytics-tac/v1.0.0/gn +VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cltyhthusbmxp01s95k9l8a1u/subgraphs/blocks-tac/v1.0.0/gn +VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cltyhthusbmxp01s95k9l8a1u/subgraphs/farms-tac/v1.0.0/gn +VITE_INFURA_RPC=https://rpc.tac.build VITE_WALLETCONNECT_PROJECT_ID=79c313a96c99edbc26d06cd97bff1126 diff --git a/codegen.ts b/codegen.ts index 4fb622c..e5e0a0a 100644 --- a/codegen.ts +++ b/codegen.ts @@ -3,9 +3,9 @@ import type { CodegenConfig } from "@graphql-codegen/cli"; const config: CodegenConfig = { overwrite: true, schema: [ - "https://graph.fomo.biz/http/subgraphs/name/analytics", - "https://graph.fomo.biz/http/subgraphs/name/blocks", - "https://graph.fomo.biz/http/subgraphs/name/farms", + "https://api.goldsky.com/api/public/project_cltyhthusbmxp01s95k9l8a1u/subgraphs/cl-analytics-tac/v1.0.0/gn", + "https://api.goldsky.com/api/public/project_cltyhthusbmxp01s95k9l8a1u/subgraphs/blocks-tac/v1.0.0/gn", + "https://api.goldsky.com/api/public/project_cltyhthusbmxp01s95k9l8a1u/subgraphs/farms-tac/v1.0.0/gn", ], documents: "src/graphql/queries/!(*.d).{ts,tsx}", generates: { diff --git a/package.json b/package.json index e8bf5a0..6f0aef7 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@apollo/client": "^3.9.6", - "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/fomo-sdk@1.0.0", + "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/lynex-tac-sdk@1.0.0", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-select": "^2.0.0", diff --git a/src/constants/default-chain-id.ts b/src/constants/default-chain-id.ts index 2327240..e1aea34 100644 --- a/src/constants/default-chain-id.ts +++ b/src/constants/default-chain-id.ts @@ -1,6 +1,6 @@ import { ChainId } from "@cryptoalgebra/integral-sdk"; -export const DEFAULT_CHAIN_NAME = "Taraxa"; -export const DEFAULT_NATIVE_SYMBOL = "TARA"; -export const DEFAULT_NATIVE_NAME = "TARA"; -export const DEFAULT_CHAIN_ID = ChainId.TaraxaMainnet; \ No newline at end of file +export const DEFAULT_CHAIN_NAME = "TAC"; +export const DEFAULT_NATIVE_SYMBOL = "TAC"; +export const DEFAULT_NATIVE_NAME = "TAC"; +export const DEFAULT_CHAIN_ID = ChainId.TACMainnet; \ No newline at end of file diff --git a/src/wagmi.ts b/src/wagmi.ts index da532d8..eb90eb6 100644 --- a/src/wagmi.ts +++ b/src/wagmi.ts @@ -6,29 +6,38 @@ import { WalletConnectConnector } from 'wagmi/connectors/walletConnect' import { publicProvider } from 'wagmi/providers/public' -export const taraxaMainnet = defineChain({ - id: 841, - name: 'Taraxa Mainnet', - network: 'taraxa-mainnet', - nativeCurrency: { name: 'Tara', symbol: 'TARA', decimals: 18 }, +export const tac = defineChain({ + id: 239, + name: 'TAC', + network: 'tac-mainnet', + nativeCurrency: { name: 'TAC', symbol: 'TAC', decimals: 18 }, rpcUrls: { default: { - http: ['https://rpc.mainnet.taraxa.io'], + http: ['https://rpc.ankr.com/tac'], }, public: { - http: ['https://rpc.mainnet.taraxa.io'], + http: ['https://rpc.ankr.com/tac'], }, }, blockExplorers: { default: { - name: 'Taraxa Explorer', - url: 'https://explorer.mainnet.taraxa.io', + name: 'Blockscout', + url: 'https://tac.blockscout.com', + }, + native: { + name: 'TAC Explorer', + url: 'https://explorer.tac.build', + }, + }, + contracts: { + multicall3: { + address: '0xca11bde05977b3631167028862be2a173976ca11', + blockCreated: 0, }, }, }) - const { chains, publicClient, webSocketPublicClient } = configureChains( - [taraxaMainnet], + [tac], [ publicProvider(), ], diff --git a/yarn.lock b/yarn.lock index b97b0e2..b888cef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -569,10 +569,10 @@ stream-browserify "^3.0.0" util "^0.12.4" -"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/fomo-sdk@1.0.0": +"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/lynex-tac-sdk@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@cryptoalgebra/fomo-sdk/-/fomo-sdk-1.0.0.tgz#d61d05947a93c2d8f4b0470784ad7655606b49a9" - integrity sha512-qyB/cSuy9bpoSDMepHqkygur6GifM437ZADaQzkryypWwuGwT8A31y/QfH453iZWP1v1gp0dMxyfWJWMP+OiQg== + resolved "https://registry.yarnpkg.com/@cryptoalgebra/lynex-tac-sdk/-/lynex-tac-sdk-1.0.0.tgz#1b3041ef21bba76922329b953322ad2e61ee2859" + integrity sha512-g+TxfZdMpzJKj3866sq3sWhTK3eFc9ZhW1dDMQ1Ne8Cc7ge0pL5pZllZXjAWgsMkZGoufIF9I5q2IED82Ib+xw== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/address" "^5.7.0" From d58ca240baed920358cfd0b623fe78bc0515b28c Mon Sep 17 00:00:00 2001 From: lilchizh Date: Sat, 4 Oct 2025 14:00:04 +0700 Subject: [PATCH 09/20] plasma mainnet deploy --- .env | 8 ++++---- codegen.ts | 6 +++--- package.json | 2 +- src/constants/default-chain-id.ts | 8 ++++---- src/wagmi.ts | 33 ++++++++++++++++--------------- yarn.lock | 6 +++--- 6 files changed, 32 insertions(+), 31 deletions(-) diff --git a/.env b/.env index c6c67a1..4611bf5 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ -VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cltyhthusbmxp01s95k9l8a1u/subgraphs/cl-analytics-tac/v1.0.0/gn -VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cltyhthusbmxp01s95k9l8a1u/subgraphs/blocks-tac/v1.0.0/gn -VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cltyhthusbmxp01s95k9l8a1u/subgraphs/farms-tac/v1.0.0/gn -VITE_INFURA_RPC=https://rpc.tac.build +VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmgajsbf6eq7k01u4d0kb94d2/subgraphs/analytics/v1.0.0/gn +VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmgajsbf6eq7k01u4d0kb94d2/subgraphs/blocks/v1.0.0/gn +VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmgajsbf6eq7k01u4d0kb94d2/subgraphs/farms/v1.0.0/gn +VITE_INFURA_RPC=https://rpc.plasma.to VITE_WALLETCONNECT_PROJECT_ID=79c313a96c99edbc26d06cd97bff1126 diff --git a/codegen.ts b/codegen.ts index e5e0a0a..d8a7e4e 100644 --- a/codegen.ts +++ b/codegen.ts @@ -3,9 +3,9 @@ import type { CodegenConfig } from "@graphql-codegen/cli"; const config: CodegenConfig = { overwrite: true, schema: [ - "https://api.goldsky.com/api/public/project_cltyhthusbmxp01s95k9l8a1u/subgraphs/cl-analytics-tac/v1.0.0/gn", - "https://api.goldsky.com/api/public/project_cltyhthusbmxp01s95k9l8a1u/subgraphs/blocks-tac/v1.0.0/gn", - "https://api.goldsky.com/api/public/project_cltyhthusbmxp01s95k9l8a1u/subgraphs/farms-tac/v1.0.0/gn", + "https://api.goldsky.com/api/public/project_cmgajsbf6eq7k01u4d0kb94d2/subgraphs/analytics/v1.0.0/gn", + "https://api.goldsky.com/api/public/project_cmgajsbf6eq7k01u4d0kb94d2/subgraphs/blocks/v1.0.0/gn", + "https://api.goldsky.com/api/public/project_cmgajsbf6eq7k01u4d0kb94d2/subgraphs/farms/v1.0.0/gn", ], documents: "src/graphql/queries/!(*.d).{ts,tsx}", generates: { diff --git a/package.json b/package.json index 6f0aef7..f064686 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@apollo/client": "^3.9.6", - "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/lynex-tac-sdk@1.0.0", + "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/lithos-sdk@1.0.0", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-select": "^2.0.0", diff --git a/src/constants/default-chain-id.ts b/src/constants/default-chain-id.ts index e1aea34..fed676d 100644 --- a/src/constants/default-chain-id.ts +++ b/src/constants/default-chain-id.ts @@ -1,6 +1,6 @@ import { ChainId } from "@cryptoalgebra/integral-sdk"; -export const DEFAULT_CHAIN_NAME = "TAC"; -export const DEFAULT_NATIVE_SYMBOL = "TAC"; -export const DEFAULT_NATIVE_NAME = "TAC"; -export const DEFAULT_CHAIN_ID = ChainId.TACMainnet; \ No newline at end of file +export const DEFAULT_CHAIN_NAME = "Plasma"; +export const DEFAULT_NATIVE_SYMBOL = "Plsma"; +export const DEFAULT_NATIVE_NAME = "XPL"; +export const DEFAULT_CHAIN_ID = ChainId.PlasmaMainnet; \ No newline at end of file diff --git a/src/wagmi.ts b/src/wagmi.ts index eb90eb6..9689e3c 100644 --- a/src/wagmi.ts +++ b/src/wagmi.ts @@ -6,38 +6,39 @@ import { WalletConnectConnector } from 'wagmi/connectors/walletConnect' import { publicProvider } from 'wagmi/providers/public' -export const tac = defineChain({ - id: 239, - name: 'TAC', - network: 'tac-mainnet', - nativeCurrency: { name: 'TAC', symbol: 'TAC', decimals: 18 }, +export const plasma = defineChain({ + id: 9745, + name: 'Plasma', + network: 'plasma', + nativeCurrency: { + name: 'Plasma', + symbol: 'XPL', + decimals: 18, + }, rpcUrls: { default: { - http: ['https://rpc.ankr.com/tac'], + http: ['https://rpc.plasma.to'], }, public: { - http: ['https://rpc.ankr.com/tac'], - }, + http: ['https://rpc.plasma.to'] + } }, blockExplorers: { default: { - name: 'Blockscout', - url: 'https://tac.blockscout.com', - }, - native: { - name: 'TAC Explorer', - url: 'https://explorer.tac.build', + name: 'PlasmaScan', + url: 'https://plasmascan.to', }, }, contracts: { multicall3: { - address: '0xca11bde05977b3631167028862be2a173976ca11', + address: '0xcA11bde05977b3631167028862bE2a173976CA11', blockCreated: 0, }, }, }) + const { chains, publicClient, webSocketPublicClient } = configureChains( - [tac], + [plasma], [ publicProvider(), ], diff --git a/yarn.lock b/yarn.lock index b888cef..391b523 100644 --- a/yarn.lock +++ b/yarn.lock @@ -569,10 +569,10 @@ stream-browserify "^3.0.0" util "^0.12.4" -"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/lynex-tac-sdk@1.0.0": +"@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/lithos-sdk@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@cryptoalgebra/lynex-tac-sdk/-/lynex-tac-sdk-1.0.0.tgz#1b3041ef21bba76922329b953322ad2e61ee2859" - integrity sha512-g+TxfZdMpzJKj3866sq3sWhTK3eFc9ZhW1dDMQ1Ne8Cc7ge0pL5pZllZXjAWgsMkZGoufIF9I5q2IED82Ib+xw== + resolved "https://registry.yarnpkg.com/@cryptoalgebra/lithos-sdk/-/lithos-sdk-1.0.0.tgz#24e797d3dac7d4bfcf318d662aba198ccee23d99" + integrity sha512-/YGMJqFvl8R2Uh0S87o64x9z+xL/7gyCygM8pX/UNrTlFMpjra3Hdz0Dmsgh88K1dqNy7am7/HXi4s+8+2Jphw== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/address" "^5.7.0" From 36ec041934c9889884009b78a82d34a64df2f176 Mon Sep 17 00:00:00 2001 From: lilchizh Date: Tue, 28 Oct 2025 17:11:10 +0300 Subject: [PATCH 10/20] sophon os testnet deploy --- .env | 8 ++++---- codegen.ts | 6 +++--- package.json | 2 +- src/components/common/CurrencyLogo/index.tsx | 4 ++-- src/constants/default-chain-id.ts | 8 ++++---- src/wagmi.ts | 16 ++++++++-------- yarn.lock | 6 +++--- 7 files changed, 25 insertions(+), 25 deletions(-) diff --git a/.env b/.env index 4611bf5..9174348 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ -VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmgajsbf6eq7k01u4d0kb94d2/subgraphs/analytics/v1.0.0/gn -VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmgajsbf6eq7k01u4d0kb94d2/subgraphs/blocks/v1.0.0/gn -VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmgajsbf6eq7k01u4d0kb94d2/subgraphs/farms/v1.0.0/gn -VITE_INFURA_RPC=https://rpc.plasma.to +VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-analytics/v1.0.0/gn +VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-blocks/v1.0.0/gn +VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-farms/v1.0.0/gn +VITE_INFURA_RPC=https://zksync-os-testnet-sophon.zksync.dev VITE_WALLETCONNECT_PROJECT_ID=79c313a96c99edbc26d06cd97bff1126 diff --git a/codegen.ts b/codegen.ts index d8a7e4e..dfdbb9c 100644 --- a/codegen.ts +++ b/codegen.ts @@ -3,9 +3,9 @@ import type { CodegenConfig } from "@graphql-codegen/cli"; const config: CodegenConfig = { overwrite: true, schema: [ - "https://api.goldsky.com/api/public/project_cmgajsbf6eq7k01u4d0kb94d2/subgraphs/analytics/v1.0.0/gn", - "https://api.goldsky.com/api/public/project_cmgajsbf6eq7k01u4d0kb94d2/subgraphs/blocks/v1.0.0/gn", - "https://api.goldsky.com/api/public/project_cmgajsbf6eq7k01u4d0kb94d2/subgraphs/farms/v1.0.0/gn", + "https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-analytics/v1.0.0/gn", + "https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-blocks/v1.0.0/gn", + "https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-farms/v1.0.0/gn", ], documents: "src/graphql/queries/!(*.d).{ts,tsx}", generates: { diff --git a/package.json b/package.json index f064686..2c18eb1 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@apollo/client": "^3.9.6", - "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/lithos-sdk@1.0.0", + "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/sophon-os-sdk@1.0.0", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-select": "^2.0.0", diff --git a/src/components/common/CurrencyLogo/index.tsx b/src/components/common/CurrencyLogo/index.tsx index 4db0a0d..2d6a669 100644 --- a/src/components/common/CurrencyLogo/index.tsx +++ b/src/components/common/CurrencyLogo/index.tsx @@ -15,7 +15,7 @@ interface CurrencyLogoProps { export const specialTokens: { [key: Address]: { symbol: string; logo: string }; } = { - ["0x5555555555555555555555555555555555555555"]: { + ["0x577bdff849e65c1effeb8114e9cd243c1180f158"]: { symbol: "WHYPE", logo: EthLogo, }, @@ -64,7 +64,7 @@ const CurrencyLogo = ({ return ( {"WHYPE"} Date: Fri, 7 Nov 2025 13:31:39 +0300 Subject: [PATCH 11/20] change reown key --- .env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env b/.env index 9174348..6fb9256 100644 --- a/.env +++ b/.env @@ -2,4 +2,4 @@ VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl8 VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-blocks/v1.0.0/gn VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-farms/v1.0.0/gn VITE_INFURA_RPC=https://zksync-os-testnet-sophon.zksync.dev -VITE_WALLETCONNECT_PROJECT_ID=79c313a96c99edbc26d06cd97bff1126 +VITE_WALLETCONNECT_PROJECT_ID=ec3b13417cc829a50ded0f1534a6fc47 From e3734eb6a785b20184da6f1f3fbfa41c112485f6 Mon Sep 17 00:00:00 2001 From: lilchizh Date: Fri, 7 Nov 2025 13:33:45 +0300 Subject: [PATCH 12/20] generated --- src/generated.ts | 12 +-- src/graphql/generated/graphql.tsx | 165 ++++++++++++++++++++++++++++-- 2 files changed, 160 insertions(+), 17 deletions(-) diff --git a/src/generated.ts b/src/generated.ts index 0b07ef0..595fc9a 100644 --- a/src/generated.ts +++ b/src/generated.ts @@ -1,4 +1,4 @@ -// Generated by @wagmi/cli@1.0.0 on 7/15/2025 at 5:45:25 PM +// Generated by @wagmi/cli@1.0.0 on 11/7/2025 at 1:33:25 PM import { getContract, GetContractArgs, @@ -278,7 +278,7 @@ export const farmingCenterABI = [ ] as const export const farmingCenterAddress = - '0x78747014562Cd35420076361244e21749aD74F98' as const + '0x658E287E9C820484f5808f687dC4863B552de37D' as const export const farmingCenterConfig = { address: farmingCenterAddress, @@ -1084,7 +1084,7 @@ export const eternalFarmingABI = [ ] as const export const eternalFarmingAddress = - '0x1c4AB01E74Af8227275cc9d533FC3EDf2cE5e698' as const + '0x50FCbF85d23aF7C91f94842FeCd83d16665d27bA' as const export const eternalFarmingConfig = { address: eternalFarmingAddress, @@ -1644,7 +1644,7 @@ export const algebraFactoryABI = [ ] as const export const algebraFactoryAddress = - '0xF7531f3a21C13278498Be17a91d3B4976869C850' as const + '0x10253594A832f967994b44f33411940533302ACb' as const export const algebraFactoryConfig = { address: algebraFactoryAddress, @@ -1782,7 +1782,7 @@ export const pluginFactoryABI = [ ] as const export const pluginFactoryAddress = - '0xA57513CbbB1a5fbE4f91Ad0586fbdf9c9fB6feC7' as const + '0xFe3BEcd788320465ab649015F34F7771220A88b2' as const export const pluginFactoryConfig = { address: pluginFactoryAddress, @@ -2978,7 +2978,7 @@ export const algebraStubPluginABI = [ ] as const export const algebraStubPluginAddress = - '0x91B421403E6B1B69315f6213d1E4A7A6f0fe938e' as const + '0x955B95b8532fe75DDCf2161f61127Be74A768158' as const export const algebraStubPluginConfig = { address: algebraStubPluginAddress, diff --git a/src/graphql/generated/graphql.tsx b/src/graphql/generated/graphql.tsx index 1fe2a56..f651e09 100644 --- a/src/graphql/generated/graphql.tsx +++ b/src/graphql/generated/graphql.tsx @@ -504,6 +504,8 @@ export type Burn = { origin: Scalars['Bytes']['output']; owner?: Maybe; pool: Pool; + reserves0: Scalars['BigDecimal']['output']; + reserves1: Scalars['BigDecimal']['output']; tickLower: Scalars['BigInt']['output']; tickUpper: Scalars['BigInt']['output']; timestamp: Scalars['BigInt']['output']; @@ -640,6 +642,22 @@ export type Burn_Filter = { pool_not_starts_with_nocase?: InputMaybe; pool_starts_with?: InputMaybe; pool_starts_with_nocase?: InputMaybe; + reserves0?: InputMaybe; + reserves0_gt?: InputMaybe; + reserves0_gte?: InputMaybe; + reserves0_in?: InputMaybe>; + reserves0_lt?: InputMaybe; + reserves0_lte?: InputMaybe; + reserves0_not?: InputMaybe; + reserves0_not_in?: InputMaybe>; + reserves1?: InputMaybe; + reserves1_gt?: InputMaybe; + reserves1_gte?: InputMaybe; + reserves1_in?: InputMaybe>; + reserves1_lt?: InputMaybe; + reserves1_lte?: InputMaybe; + reserves1_not?: InputMaybe; + reserves1_not_in?: InputMaybe>; tickLower?: InputMaybe; tickLower_gt?: InputMaybe; tickLower_gte?: InputMaybe; @@ -773,6 +791,8 @@ export enum Burn_OrderBy { PoolVolumeToken0 = 'pool__volumeToken0', PoolVolumeToken1 = 'pool__volumeToken1', PoolVolumeUsd = 'pool__volumeUSD', + Reserves0 = 'reserves0', + Reserves1 = 'reserves1', TickLower = 'tickLower', TickUpper = 'tickUpper', Timestamp = 'timestamp', @@ -813,6 +833,7 @@ export enum Burn_OrderBy { TransactionGasLimit = 'transaction__gasLimit', TransactionGasPrice = 'transaction__gasPrice', TransactionId = 'transaction__id', + TransactionIndex = 'transaction__index', TransactionTimestamp = 'transaction__timestamp' } @@ -1004,6 +1025,7 @@ export enum Collect_OrderBy { TransactionGasLimit = 'transaction__gasLimit', TransactionGasPrice = 'transaction__gasPrice', TransactionId = 'transaction__id', + TransactionIndex = 'transaction__index', TransactionTimestamp = 'transaction__timestamp' } @@ -1014,7 +1036,6 @@ export type Deposit = { liquidity: Scalars['BigInt']['output']; owner: Scalars['Bytes']['output']; pool: Scalars['Bytes']['output']; - rangeLength: Scalars['BigInt']['output']; }; export type Deposit_Filter = { @@ -1068,14 +1089,6 @@ export type Deposit_Filter = { pool_not?: InputMaybe; pool_not_contains?: InputMaybe; pool_not_in?: InputMaybe>; - rangeLength?: InputMaybe; - rangeLength_gt?: InputMaybe; - rangeLength_gte?: InputMaybe; - rangeLength_in?: InputMaybe>; - rangeLength_lt?: InputMaybe; - rangeLength_lte?: InputMaybe; - rangeLength_not?: InputMaybe; - rangeLength_not_in?: InputMaybe>; }; export enum Deposit_OrderBy { @@ -1083,8 +1096,7 @@ export enum Deposit_OrderBy { Id = 'id', Liquidity = 'liquidity', Owner = 'owner', - Pool = 'pool', - RangeLength = 'rangeLength' + Pool = 'pool' } export type EternalFarming = { @@ -1695,6 +1707,7 @@ export enum Flash_OrderBy { TransactionGasLimit = 'transaction__gasLimit', TransactionGasPrice = 'transaction__gasPrice', TransactionId = 'transaction__id', + TransactionIndex = 'transaction__index', TransactionTimestamp = 'transaction__timestamp' } @@ -1709,6 +1722,8 @@ export type Mint = { origin: Scalars['Bytes']['output']; owner: Scalars['Bytes']['output']; pool: Pool; + reserves0: Scalars['BigDecimal']['output']; + reserves1: Scalars['BigDecimal']['output']; sender?: Maybe; tickLower: Scalars['BigInt']['output']; tickUpper: Scalars['BigInt']['output']; @@ -1812,6 +1827,22 @@ export type Mint_Filter = { pool_not_starts_with_nocase?: InputMaybe; pool_starts_with?: InputMaybe; pool_starts_with_nocase?: InputMaybe; + reserves0?: InputMaybe; + reserves0_gt?: InputMaybe; + reserves0_gte?: InputMaybe; + reserves0_in?: InputMaybe>; + reserves0_lt?: InputMaybe; + reserves0_lte?: InputMaybe; + reserves0_not?: InputMaybe; + reserves0_not_in?: InputMaybe>; + reserves1?: InputMaybe; + reserves1_gt?: InputMaybe; + reserves1_gte?: InputMaybe; + reserves1_in?: InputMaybe>; + reserves1_lt?: InputMaybe; + reserves1_lte?: InputMaybe; + reserves1_not?: InputMaybe; + reserves1_not_in?: InputMaybe>; sender?: InputMaybe; sender_contains?: InputMaybe; sender_gt?: InputMaybe; @@ -1955,6 +1986,8 @@ export enum Mint_OrderBy { PoolVolumeToken0 = 'pool__volumeToken0', PoolVolumeToken1 = 'pool__volumeToken1', PoolVolumeUsd = 'pool__volumeUSD', + Reserves0 = 'reserves0', + Reserves1 = 'reserves1', Sender = 'sender', TickLower = 'tickLower', TickUpper = 'tickUpper', @@ -1996,6 +2029,7 @@ export enum Mint_OrderBy { TransactionGasLimit = 'transaction__gasLimit', TransactionGasPrice = 'transaction__gasPrice', TransactionId = 'transaction__id', + TransactionIndex = 'transaction__index', TransactionTimestamp = 'transaction__timestamp' } @@ -3668,11 +3702,48 @@ export enum PositionSnapshot_OrderBy { TransactionGasLimit = 'transaction__gasLimit', TransactionGasPrice = 'transaction__gasPrice', TransactionId = 'transaction__id', + TransactionIndex = 'transaction__index', TransactionTimestamp = 'transaction__timestamp', WithdrawnToken0 = 'withdrawnToken0', WithdrawnToken1 = 'withdrawnToken1' } +export type PositionTransferCache = { + __typename?: 'PositionTransferCache'; + id: Scalars['ID']['output']; + owner: Scalars['Bytes']['output']; +}; + +export type PositionTransferCache_Filter = { + /** Filter for the block changed event. */ + _change_block?: InputMaybe; + and?: InputMaybe>>; + id?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not?: InputMaybe; + id_not_in?: InputMaybe>; + or?: InputMaybe>>; + owner?: InputMaybe; + owner_contains?: InputMaybe; + owner_gt?: InputMaybe; + owner_gte?: InputMaybe; + owner_in?: InputMaybe>; + owner_lt?: InputMaybe; + owner_lte?: InputMaybe; + owner_not?: InputMaybe; + owner_not_contains?: InputMaybe; + owner_not_in?: InputMaybe>; +}; + +export enum PositionTransferCache_OrderBy { + Id = 'id', + Owner = 'owner' +} + export type Position_Filter = { /** Filter for the block changed event. */ _change_block?: InputMaybe; @@ -4016,6 +4087,7 @@ export enum Position_OrderBy { TransactionGasLimit = 'transaction__gasLimit', TransactionGasPrice = 'transaction__gasPrice', TransactionId = 'transaction__id', + TransactionIndex = 'transaction__index', TransactionTimestamp = 'transaction__timestamp', WithdrawnToken0 = 'withdrawnToken0', WithdrawnToken1 = 'withdrawnToken1' @@ -4066,6 +4138,8 @@ export type Query = { position?: Maybe; positionSnapshot?: Maybe; positionSnapshots: Array; + positionTransferCache?: Maybe; + positionTransferCaches: Array; positions: Array; reward?: Maybe; rewards: Array; @@ -4460,6 +4534,24 @@ export type QueryPositionSnapshotsArgs = { }; +export type QueryPositionTransferCacheArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type QueryPositionTransferCachesArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + export type QueryPositionsArgs = { block?: InputMaybe; first?: InputMaybe; @@ -4735,6 +4827,8 @@ export type Subscription = { position?: Maybe; positionSnapshot?: Maybe; positionSnapshots: Array; + positionTransferCache?: Maybe; + positionTransferCaches: Array; positions: Array; reward?: Maybe; rewards: Array; @@ -5129,6 +5223,24 @@ export type SubscriptionPositionSnapshotsArgs = { }; +export type SubscriptionPositionTransferCacheArgs = { + block?: InputMaybe; + id: Scalars['ID']['input']; + subgraphError?: _SubgraphErrorPolicy_; +}; + + +export type SubscriptionPositionTransferCachesArgs = { + block?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderDirection?: InputMaybe; + skip?: InputMaybe; + subgraphError?: _SubgraphErrorPolicy_; + where?: InputMaybe; +}; + + export type SubscriptionPositionsArgs = { block?: InputMaybe; first?: InputMaybe; @@ -5313,6 +5425,8 @@ export type Swap = { pool: Pool; price: Scalars['BigInt']['output']; recipient: Scalars['Bytes']['output']; + reserves0: Scalars['BigDecimal']['output']; + reserves1: Scalars['BigDecimal']['output']; sender: Scalars['Bytes']['output']; tick: Scalars['BigInt']['output']; timestamp: Scalars['BigInt']['output']; @@ -5467,6 +5581,22 @@ export type Swap_Filter = { recipient_not?: InputMaybe; recipient_not_contains?: InputMaybe; recipient_not_in?: InputMaybe>; + reserves0?: InputMaybe; + reserves0_gt?: InputMaybe; + reserves0_gte?: InputMaybe; + reserves0_in?: InputMaybe>; + reserves0_lt?: InputMaybe; + reserves0_lte?: InputMaybe; + reserves0_not?: InputMaybe; + reserves0_not_in?: InputMaybe>; + reserves1?: InputMaybe; + reserves1_gt?: InputMaybe; + reserves1_gte?: InputMaybe; + reserves1_in?: InputMaybe>; + reserves1_lt?: InputMaybe; + reserves1_lte?: InputMaybe; + reserves1_not?: InputMaybe; + reserves1_not_in?: InputMaybe>; sender?: InputMaybe; sender_contains?: InputMaybe; sender_gt?: InputMaybe; @@ -5603,6 +5733,8 @@ export enum Swap_OrderBy { PoolVolumeUsd = 'pool__volumeUSD', Price = 'price', Recipient = 'recipient', + Reserves0 = 'reserves0', + Reserves1 = 'reserves1', Sender = 'sender', Tick = 'tick', Timestamp = 'timestamp', @@ -5643,6 +5775,7 @@ export enum Swap_OrderBy { TransactionGasLimit = 'transaction__gasLimit', TransactionGasPrice = 'transaction__gasPrice', TransactionId = 'transaction__id', + TransactionIndex = 'transaction__index', TransactionTimestamp = 'transaction__timestamp' } @@ -6692,6 +6825,7 @@ export type Transaction = { gasLimit: Scalars['BigInt']['output']; gasPrice: Scalars['BigInt']['output']; id: Scalars['ID']['output']; + index: Scalars['BigInt']['output']; mints: Array; swaps: Array; timestamp: Scalars['BigInt']['output']; @@ -6781,6 +6915,14 @@ export type Transaction_Filter = { id_lte?: InputMaybe; id_not?: InputMaybe; id_not_in?: InputMaybe>; + index?: InputMaybe; + index_gt?: InputMaybe; + index_gte?: InputMaybe; + index_in?: InputMaybe>; + index_lt?: InputMaybe; + index_lte?: InputMaybe; + index_not?: InputMaybe; + index_not_in?: InputMaybe>; mints_?: InputMaybe; or?: InputMaybe>>; swaps_?: InputMaybe; @@ -6802,6 +6944,7 @@ export enum Transaction_OrderBy { GasLimit = 'gasLimit', GasPrice = 'gasPrice', Id = 'id', + Index = 'index', Mints = 'mints', Swaps = 'swaps', Timestamp = 'timestamp' From f3670f9a7bab4898ae275329b5e37c4bc4195054 Mon Sep 17 00:00:00 2001 From: Kirill S Date: Fri, 21 Nov 2025 18:57:44 +0300 Subject: [PATCH 13/20] restyle --- image.png | Bin 0 -> 93836 bytes index.html | 24 +- public/favicon.png | Bin 0 -> 1261 bytes src/App.css | 53 +- src/assets/sophon-logo.png | Bin 0 -> 7734 bytes src/components/common/AdminAccount/index.tsx | 30 +- src/components/common/Header/index.tsx | 71 +- src/components/common/Layout/index.tsx | 14 +- src/components/common/TokenSelector/index.tsx | 442 +++++----- src/components/farm/FarmDetails/index.tsx | 64 +- src/components/farm/FarmPoolDetails/index.tsx | 30 +- .../farm/FarmRewardDetails/index.tsx | 241 ++++-- src/components/farms/CreateFarm/index.tsx | 791 ++++++++---------- .../farms/CreateFarmButton/index.tsx | 256 +++--- src/components/farms/FarmList/index.tsx | 219 +++-- .../PoolsDefaultSettingsModal/index.tsx | 150 ++-- .../modals/TokenSelectorModal/index.tsx | 110 ++- .../modals/farm/ManageRewardsModal/index.tsx | 244 +++--- .../pool/ChangePluginAddressModal/index.tsx | 45 +- .../pool/ManagePluginConfigModal/index.tsx | 52 +- .../pool/ManagePoolSettingsModal/index.tsx | 124 ++- .../modals/pool/PoolActivationModal/index.tsx | 48 +- src/components/pool/ManagePlugins/index.tsx | 227 ++--- src/components/pool/PoolDetails/index.tsx | 44 +- src/components/pool/PoolSettings/index.tsx | 70 +- src/components/pools/PoolsList/index.tsx | 104 ++- src/components/ui/input.tsx | 82 +- src/components/ui/select.tsx | 240 +++--- src/generated.ts | 2 +- src/index.css | 80 +- src/pages/Farms/index.tsx | 26 +- src/pages/Pools/index.tsx | 10 +- src/utils/common/truncateHash.ts | 7 + src/wagmi.ts | 46 +- tailwind.config.js | 142 ++-- 35 files changed, 1861 insertions(+), 2227 deletions(-) create mode 100644 image.png create mode 100644 public/favicon.png create mode 100644 src/assets/sophon-logo.png create mode 100644 src/utils/common/truncateHash.ts diff --git a/image.png b/image.png new file mode 100644 index 0000000000000000000000000000000000000000..b1ff68b42b32fb83a2b77b70b7167b490afd94f1 GIT binary patch literal 93836 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

%NzlLx>d-jndwm>xxi=1CU7Uq&thnt4${}O{r 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 z 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 + - - - - Integral Admin Panel - - -

- - + + + + + + + + Sophon Admin Panel + + +
+ + diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..88a3e4280cab825db7fe4beed5c4413c287f1c1b GIT binary patch literal 1261 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 I4QR~&0~d||X#fBK literal 0 HcmV?d00001 diff --git a/src/components/common/AdminAccount/index.tsx b/src/components/common/AdminAccount/index.tsx index 7c086e0..5e857bf 100644 --- a/src/components/common/AdminAccount/index.tsx +++ b/src/components/common/AdminAccount/index.tsx @@ -1,24 +1,20 @@ -import { useAlgebraFactoryHasRoleOrOwner } from '@/generated'; -import { useAccount } from 'wagmi'; +import { useAlgebraFactoryHasRoleOrOwner } from "@/generated"; +import { useAccount } from "wagmi"; -const ADMIN_ROLE_CONSTANT = - '0xa777c10270ee0b99d2c737c09ff865ed48064b252418bbd31d39c8b88ea12219'; +const ADMIN_ROLE_CONSTANT = "0xa777c10270ee0b99d2c737c09ff865ed48064b252418bbd31d39c8b88ea12219"; -const POOLS_ADMINISTRATOR_ROLE = - '0xb73ce166ead2f8e9add217713a7989e4edfba9625f71dfd2516204bb67ad3442'; +const POOLS_ADMINISTRATOR_ROLE = "0xb73ce166ead2f8e9add217713a7989e4edfba9625f71dfd2516204bb67ad3442"; const AdminAccount = () => { const { address: account } = useAccount(); - const { data: isAdmin, isLoading: isLoadingAdmin } = - useAlgebraFactoryHasRoleOrOwner({ - args: account ? [ADMIN_ROLE_CONSTANT, account] : undefined, - }); + const { data: isAdmin, isLoading: isLoadingAdmin } = useAlgebraFactoryHasRoleOrOwner({ + args: account ? [ADMIN_ROLE_CONSTANT, account] : undefined, + }); - const { data: isPoolAdmin, isLoading: isLoadingPoolAdmin } = - useAlgebraFactoryHasRoleOrOwner({ - args: account ? [POOLS_ADMINISTRATOR_ROLE, account] : undefined, - }); + const { data: isPoolAdmin, isLoading: isLoadingPoolAdmin } = useAlgebraFactoryHasRoleOrOwner({ + args: account ? [POOLS_ADMINISTRATOR_ROLE, account] : undefined, + }); const isLoading = isLoadingAdmin || isLoadingPoolAdmin; @@ -27,11 +23,7 @@ const AdminAccount = () => { return ( !isAdmin && !isPoolAdmin && - !isLoading && ( -
- Connect admin account -
- ) + !isLoading &&
Connect admin account
); }; diff --git a/src/components/common/Header/index.tsx b/src/components/common/Header/index.tsx index 973997b..04c55a6 100644 --- a/src/components/common/Header/index.tsx +++ b/src/components/common/Header/index.tsx @@ -1,14 +1,11 @@ -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, -} from '@/components/ui/select'; -import { Link, NavLink, matchPath, useLocation } from 'react-router-dom'; -import { useAccount, useConnect, useDisconnect } from 'wagmi'; +import { Select, SelectContent, SelectItem, SelectTrigger } from "@/components/ui/select"; +import { Link, NavLink, matchPath, useLocation } from "react-router-dom"; +import { useAccount, useConnect, useDisconnect } from "wagmi"; +import SophonLogo from "@/assets/sophon-logo.png"; +import { truncateHash } from "@/utils/common/truncateHash"; const Connect = () => { - const { connector, isConnected } = useAccount(); + const { connector, isConnected, address } = useAccount(); const { connect, connectors, isLoading, pendingConnector } = useConnect(); const { disconnect } = useDisconnect(); @@ -17,38 +14,27 @@ const Connect = () => {
{isConnected ? ( ) : ( handleInput(e.target.value)} + /> ); - }, [result, tokenEntity, pattern, onSearch]); - - return ( - handleInput(e.target.value)} - /> - ); }; -const LoadingRow = () => ( -
-); +const LoadingRow = () =>
; const TokenRow = ({ - account, - token, - onSelect, - otherCurrency, - style, + account, + token, + onSelect, + otherCurrency, + style, }: { - token: TokenFieldsFragment; - account: Address | undefined; - onSelect: (currency: Currency) => void; - otherCurrency: Currency | null | undefined; - style: React.CSSProperties; + token: TokenFieldsFragment; + account: Address | undefined; + onSelect: (currency: Currency) => void; + otherCurrency: Currency | null | undefined; + style: React.CSSProperties; }) => { - const currency = useCurrency(token.id as Address); - - const { data: balance, isLoading } = useBalance({ - address: account, - token: token.id === ADDRESS_ZERO ? undefined : (token.id as Address), - }); - - const lock = otherCurrency?.isNative - ? token.id === ADDRESS_ZERO - : token.id.toLowerCase() === otherCurrency?.wrapped.address.toLowerCase(); + const currency = useCurrency(token.id as Address); - const [isCopied, setIsCopied] = useState(false); - - const handleCopy = (e: React.MouseEvent) => { - e.stopPropagation(); - navigator.clipboard.writeText(token.id).then(() => { - setIsCopied(true); - setTimeout(() => setIsCopied(false), 3000); + const { data: balance, isLoading } = useBalance({ + address: account, + token: token.id === ADDRESS_ZERO ? undefined : (token.id as Address), }); - }; - return ( - -
-
{token.name}
- - -
- {isLoading - ? "Loading..." - : balance - ? formatCurrency.format(Number(balance.formatted)) - : ""} -
- - ); + const lock = otherCurrency?.isNative + ? token.id === ADDRESS_ZERO + : token.id.toLowerCase() === otherCurrency?.wrapped.address.toLowerCase(); + + const [isCopied, setIsCopied] = useState(false); + + const handleCopy = (e: React.MouseEvent) => { + e.stopPropagation(); + navigator.clipboard.writeText(token.id).then(() => { + setIsCopied(true); + setTimeout(() => setIsCopied(false), 3000); + }); + }; + + return ( + + +
{token.name}
+ + +
{isLoading ? "Loading..." : balance ? formatCurrency.format(Number(balance.formatted)) : ""}
+ + ); }; -const ImportTokenRow = ({ - token, - onImport, -}: { - token: Token; - onImport: (token: Token) => void; -}) => ( -
-
-
- -
-
-
{token.symbol}
-
{token.name}
-
+const ImportTokenRow = ({ token, onImport }: { token: Token; onImport: (token: Token) => void }) => ( +
+
+
+ +
+
+
{token.symbol}
+
{token.name}
+
+
+
- -
); export const TokenSelector = ({ - onSelect, - otherCurrency, + onSelect, + otherCurrency, }: { - onSelect: (currency: Currency) => void; - otherCurrency: Currency | null | undefined; + onSelect: (currency: Currency) => void; + otherCurrency: Currency | null | undefined; }) => { - const { address: account } = useAccount(); + const { address: account } = useAccount(); - const [selectorView, setSelectorView] = useState( - TokenSelectorView.DEFAULT_LIST - ); + const [selectorView, setSelectorView] = useState(TokenSelectorView.DEFAULT_LIST); - const { - actions: { importToken }, - } = useTokensState(); + const { + actions: { importToken }, + } = useTokensState(); - const { tokens, isLoading } = useAllTokens(); + const { tokens, isLoading } = useAllTokens(); - const [matchedTokens, setMatchedTokens] = useState([]); - const [tokenForImport, setTokenForImport] = useState(); + const [matchedTokens, setMatchedTokens] = useState([]); + const [tokenForImport, setTokenForImport] = useState(); - const filteredTokens = useMemo( - () => (matchedTokens.length ? matchedTokens : tokens), - [tokens, matchedTokens] - ); + const filteredTokens = useMemo(() => (matchedTokens.length ? matchedTokens : tokens), [tokens, matchedTokens]); - const handleSearch = ( - matchedTokens: TokenFieldsFragment[], - importToken: Token | undefined - ) => { - if (matchedTokens.length) { - setMatchedTokens(matchedTokens); - setSelectorView(TokenSelectorView.DEFAULT_LIST); - } else if (importToken) { - setTokenForImport(importToken); - setSelectorView(TokenSelectorView.IMPORT_TOKEN); - } else if (!isLoading) { - setSelectorView(TokenSelectorView.NOT_FOUND); - } - }; + const handleSearch = (matchedTokens: TokenFieldsFragment[], importToken: Token | undefined) => { + if (matchedTokens.length) { + setMatchedTokens(matchedTokens); + setSelectorView(TokenSelectorView.DEFAULT_LIST); + } else if (importToken) { + setTokenForImport(importToken); + setSelectorView(TokenSelectorView.IMPORT_TOKEN); + } else if (!isLoading) { + setSelectorView(TokenSelectorView.NOT_FOUND); + } + }; - const handleImport = (token: Token) => { - importToken( - token.address as Address, - token.symbol || "Unknown", - token.name || "Unknown", - token.decimals, - token.chainId - ); - setSelectorView(TokenSelectorView.DEFAULT_LIST); - setTokenForImport(undefined); - }; - - const Row = useCallback( - ({ - data, - index, - style, - }: { - data: TokenFieldsFragment[]; - index: number; - style: React.CSSProperties; - }) => { - const token = data[index]; + const handleImport = (token: Token) => { + importToken(token.address as Address, token.symbol || "Unknown", token.name || "Unknown", token.decimals, token.chainId); + setSelectorView(TokenSelectorView.DEFAULT_LIST); + setTokenForImport(undefined); + }; - if (!token) return null; + const Row = useCallback( + ({ data, index, style }: { data: TokenFieldsFragment[]; index: number; style: React.CSSProperties }) => { + const token = data[index]; - return ( - - ); - }, - [account, onSelect, otherCurrency] - ); + if (!token) return null; - const itemKey = useCallback((index: number, data: TokenFieldsFragment[]) => { - const currency = data[index]; - return currency.name; - }, []); + return ; + }, + [account, onSelect, otherCurrency] + ); - return ( -
- - {selectorView === TokenSelectorView.DEFAULT_LIST ? ( - isLoading ? ( - - {LoadingRow} - - ) : ( - - {Row} - - ) - ) : selectorView === TokenSelectorView.IMPORT_TOKEN && tokenForImport ? ( - - ) : ( -
- Token not found + const itemKey = useCallback((index: number, data: TokenFieldsFragment[]) => { + const currency = data[index]; + return currency.name; + }, []); + + return ( +
+ + {selectorView === TokenSelectorView.DEFAULT_LIST ? ( + isLoading ? ( + + {LoadingRow} + + ) : ( + + {Row} + + ) + ) : selectorView === TokenSelectorView.IMPORT_TOKEN && tokenForImport ? ( + + ) : ( +
Token not found
+ )}
- )} -
- ); + ); }; diff --git a/src/components/farm/FarmDetails/index.tsx b/src/components/farm/FarmDetails/index.tsx index 7cf985a..c9a9121 100644 --- a/src/components/farm/FarmDetails/index.tsx +++ b/src/components/farm/FarmDetails/index.tsx @@ -2,7 +2,7 @@ import Loader from "@/components/common/Loader"; import { ALGEBRA_ETERNAL_FARMING } from "@/constants/addresses"; import { eternalFarmingABI } from "@/generated"; import { farmsClient } from "@/graphql/clients"; -import { useAllDepositsOnFarmingQuery } from "@/graphql/generated/graphql" +import { useAllDepositsOnFarmingQuery } from "@/graphql/generated/graphql"; import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; import { IncentiveKey } from "@/types/incentive-key"; import { useContractWrite, usePrepareContractWrite } from "wagmi"; @@ -14,47 +14,53 @@ interface IFarmDetails { } const FarmDetails = ({ id, incentiveKey, isDeactivated }: IFarmDetails) => { - const { data: deposits } = useAllDepositsOnFarmingQuery({ skip: !id || isDeactivated, client: farmsClient, variables: { - farmId: id || '' - } - }) + farmId: id || "", + }, + }); - const depositsOnFarm = deposits ? deposits.deposits.length : undefined + const depositsOnFarm = deposits ? deposits.deposits.length : undefined; const { config } = usePrepareContractWrite({ address: ALGEBRA_ETERNAL_FARMING, abi: eternalFarmingABI, - functionName: 'deactivateIncentive', - args: [ incentiveKey ] - }) + functionName: "deactivateIncentive", + args: [incentiveKey], + }); - const { data, write } = useContractWrite(config) + const { data, write } = useContractWrite(config); - const { isLoading } = useTransitionAwait(data?.hash, 'Deactivate Farm') + const { isLoading } = useTransitionAwait(data?.hash, "Deactivate Farm"); - return
-
Farm Details
-
-
-
Farm ID
-
{id}
+ return ( +
+
Farm Details
+
+
+
Farm ID
+
{id}
+
+
+
Deposits
+ {depositsOnFarm !== undefined ?
{depositsOnFarm}
:
} +
-
-
Deposits
- { depositsOnFarm !== undefined ?
{depositsOnFarm}
:
} +
+ {!isDeactivated && ( + + )}
-
- { !isDeactivated && } -
-
- -} + ); +}; -export default FarmDetails \ No newline at end of file +export default FarmDetails; diff --git a/src/components/farm/FarmPoolDetails/index.tsx b/src/components/farm/FarmPoolDetails/index.tsx index 5f4f516..c3a3ab8 100644 --- a/src/components/farm/FarmPoolDetails/index.tsx +++ b/src/components/farm/FarmPoolDetails/index.tsx @@ -1,8 +1,8 @@ -import DataWithCopyButton from '@/components/common/DataWithCopyButton'; -import Loader from '@/components/common/Loader'; -import { useSinglePoolQuery } from '@/graphql/generated/graphql'; -import { formatCurrency } from '@/utils/common/formatCurrency'; -import { useMemo } from 'react'; +import DataWithCopyButton from "@/components/common/DataWithCopyButton"; +import Loader from "@/components/common/Loader"; +import { useSinglePoolQuery } from "@/graphql/generated/graphql"; +import { formatCurrency } from "@/utils/common/formatCurrency"; +import { useMemo } from "react"; interface IFarmPoolDetails { name: string; @@ -30,36 +30,34 @@ const FarmPoolDetails = ({ name, id }: IFarmPoolDetails) => { const token1 = pool?.pool?.token1; return ( -
-
{`${name} Details`}
+
+
{`${name} Details`}
{token0 && token1 ? (
-
- Pool address -
+
Pool address
-
{`${token0.symbol} address`}
+
{`${token0.symbol} address`}
-
{`${token1.symbol} address`}
+
{`${token1.symbol} address`}
-
{`${token0.symbol} to ${token1.symbol} rate`}
+
{`${token0.symbol} to ${token1.symbol} rate`}
{formattedPool ? ( -
{`1 ${token0.symbol} = ${formattedPool.token0To1Rate} ${token1.symbol}`}
+
{`1 ${token0.symbol} = ${formattedPool.token0To1Rate} ${token1.symbol}`}
) : (
)}
-
{`${token1.symbol} to ${token0.symbol} rate`}
+
{`${token1.symbol} to ${token0.symbol} rate`}
{formattedPool ? ( -
{`1 ${token1.symbol} = ${formattedPool.token1To0Rate} ${token0.symbol}`}
+
{`1 ${token1.symbol} = ${formattedPool.token1To0Rate} ${token0.symbol}`}
) : (
)} diff --git a/src/components/farm/FarmRewardDetails/index.tsx b/src/components/farm/FarmRewardDetails/index.tsx index a3926bd..1e70771 100644 --- a/src/components/farm/FarmRewardDetails/index.tsx +++ b/src/components/farm/FarmRewardDetails/index.tsx @@ -9,102 +9,195 @@ interface IFarmRewardDetails { rate: number | undefined; reward: string; incentiveKey: PartialIncentiveKey; - rewardRates: [{ value: bigint, decimals: number }, { value: bigint, decimals: number }]; + rewardRates: [{ value: bigint; decimals: number }, { value: bigint; decimals: number }]; isDeactivated: boolean; isBonus?: boolean; } const RewardRateSpan = { - SECOND: 'SECOND', - DAY: 'DAY', - MONTH: 'MONTH' -} + SECOND: "SECOND", + DAY: "DAY", + MONTH: "MONTH", +}; const RewardLeftForSpan = { - MINUTES: 'MINUTES', - HOURS: 'HOURS', - DAYS: 'DAYS' -} + MINUTES: "MINUTES", + HOURS: "HOURS", + DAYS: "DAYS", +}; const FarmRewardDetails = ({ token, rate, reward, incentiveKey, isBonus, rewardRates, isDeactivated }: IFarmRewardDetails) => { + const [rewardRateSpan, setRewardRateSpan] = useState(RewardRateSpan.SECOND); + const [rewardLeftForSpan, setRewardLeftForSpan] = useState(RewardLeftForSpan.MINUTES); - const [rewardRateSpan, setRewardRateSpan] = useState(RewardRateSpan.SECOND) - const [rewardLeftForSpan, setRewardLeftForSpan] = useState(RewardLeftForSpan.MINUTES) - const rewardRate = useMemo(() => { - - const ratePerSecond = rate || 0 - const ratePerDay = ((rate || 0) * 60 * 60 * 24).toFixed(2) - const ratePerMonth = (+ratePerDay * 30).toFixed(2) + const ratePerSecond = rate || 0; + const ratePerDay = ((rate || 0) * 60 * 60 * 24).toFixed(2); + const ratePerMonth = (+ratePerDay * 30).toFixed(2); switch (rewardRateSpan) { - case RewardRateSpan.SECOND: return `${ratePerSecond} ${token.symbol} per sec` - case RewardRateSpan.DAY: return `${ratePerDay} ${token.symbol} per day` - case RewardRateSpan.MONTH: return `${ratePerMonth} ${token.symbol} per month` - default: return `${ratePerSecond} ${token.symbol} per sec` + case RewardRateSpan.SECOND: + return `${ratePerSecond} ${token.symbol} per sec`; + case RewardRateSpan.DAY: + return `${ratePerDay} ${token.symbol} per day`; + case RewardRateSpan.MONTH: + return `${ratePerMonth} ${token.symbol} per month`; + default: + return `${ratePerSecond} ${token.symbol} per sec`; } - - }, [rewardRateSpan, token, rate]) + }, [rewardRateSpan, token, rate]); const rewardLeftFor = useMemo(() => { - - const leftForMinutes = (Number(reward) / Number(rate || 0) / 60).toFixed(0) - const leftForHours = (+leftForMinutes / 60).toFixed(0) - const leftForDays = (+leftForHours / 24).toFixed(0) + const leftForMinutes = (Number(reward) / Number(rate || 0) / 60).toFixed(0); + const leftForHours = (+leftForMinutes / 60).toFixed(0); + const leftForDays = (+leftForHours / 24).toFixed(0); switch (rewardLeftForSpan) { - case RewardLeftForSpan.MINUTES: return `${leftForMinutes} min` - case RewardLeftForSpan.HOURS: return `${leftForHours} hr` - case RewardLeftForSpan.DAYS: return `${leftForDays} days` + case RewardLeftForSpan.MINUTES: + return `${leftForMinutes} min`; + case RewardLeftForSpan.HOURS: + return `${leftForHours} hr`; + case RewardLeftForSpan.DAYS: + return `${leftForDays} days`; } - return + return; + }, [rewardLeftForSpan, rate, reward]); - }, [rewardLeftForSpan, rate, reward]) - - return
-
-
{`${token.symbol} Reward`}
-
{isBonus ? 'Reward 2' : 'Reward 1'}
-
-
{`${reward} ${token.symbol}`}
- { !isDeactivated && <> -
-
Distribution Rate
-
-
{rewardRate}
-
- - - + return ( +
+
+
{`${token.symbol} Reward`}
+
{isBonus ? "Reward 2" : "Reward 1"}
+
+
{`${reward} ${token.symbol}`}
+ {!isDeactivated && ( + <> +
+
Distribution Rate
+
+
{rewardRate}
+
+ + + +
+
+
+
+
Rewards left for
+
+
{rewardLeftFor}
+
+ + + +
+
-
-
-
-
Rewards left for
-
-
{rewardLeftFor}
-
- - - -
+ + )} +
+ {!isDeactivated && ( + + + + )} + + + + {!isDeactivated && ( + + + + )}
- } -
- { !isDeactivated && - - } - - - - { !isDeactivated && - - } -
-
- -} + ); +}; -export default FarmRewardDetails \ No newline at end of file +export default FarmRewardDetails; diff --git a/src/components/farms/CreateFarm/index.tsx b/src/components/farms/CreateFarm/index.tsx index dfdb6e7..ac322b5 100644 --- a/src/components/farms/CreateFarm/index.tsx +++ b/src/components/farms/CreateFarm/index.tsx @@ -1,26 +1,14 @@ import TokenSelectorModal from "@/components/modals/TokenSelectorModal"; import { useMemo, useState } from "react"; -import { - Currency, - Token, -} from "@cryptoalgebra/integral-sdk"; +import { Currency, Token } from "@cryptoalgebra/integral-sdk"; import { Control, Controller, SubmitHandler, useForm } from "react-hook-form"; import { ChevronRight, X } from "lucide-react"; import { useAccount, useBalance } from "wagmi"; import { Address, parseUnits } from "viem"; import { formatCurrency } from "@/utils/common/formatCurrency"; import { Switch } from "@/components/ui/switch"; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select"; -import { - useActiveFarmingForPoolQuery, - useAllPoolsQuery, -} from "@/graphql/generated/graphql"; +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; +import { useActiveFarmingForPoolQuery, useAllPoolsQuery } from "@/graphql/generated/graphql"; import CurrencyLogo from "@/components/common/CurrencyLogo"; import { DEFAULT_CHAIN_ID } from "@/constants/default-chain-id"; import { farmsClient } from "@/graphql/clients"; @@ -32,474 +20,373 @@ import { IRewards } from "@/types/rewards"; import { cn } from "@/lib/utils"; interface IFormState { - pool: string | undefined; - rewardToken: Currency | undefined; - bonusRewardToken: Currency | undefined; - rewardAmount: string | undefined; - bonusRewardAmount: string | undefined; - rewardRate: string | undefined; - bonusRewardRate: string | undefined; + pool: string | undefined; + rewardToken: Currency | undefined; + bonusRewardToken: Currency | undefined; + rewardAmount: string | undefined; + bonusRewardAmount: string | undefined; + rewardRate: string | undefined; + bonusRewardRate: string | undefined; } const inputRegex = RegExp(`^\\d*(?:\\\\[.])?\\d*$`); const InputNumber = ({ - title, - name, - control, - disabled, - isRequired, - maxDecimals = 18, + title, + name, + control, + disabled, + isRequired, + maxDecimals = 18, }: { - title: string; - name: keyof IFormState; - control: Control; - disabled?: boolean; - isRequired?: boolean; - maxDecimals?: number; + title: string; + name: keyof IFormState; + control: Control; + disabled?: boolean; + isRequired?: boolean; + maxDecimals?: number; }) => ( - `Enter ${title}`, - }, - }} - render={({ field: { onChange, value }, fieldState: { invalid } }) => ( -
- { - if (disabled) return; - let value = e.target.value.replace(/,/g, "."); - value = - value.indexOf(".") >= 0 - ? value.slice(0, value.indexOf(".") + maxDecimals + 1) - : value; - if ( - value === "" || - inputRegex.test( - value.trim().replace(/[.*+?^${}()|[\]\\]/g, "\\$&") - ) - ) { - onChange(value === "." ? "0." : value); - } - }} - /> - - {!value && ( - - * - - )} - {!invalid && !disabled && ( - - `Enter ${title}`, + }, + }} + render={({ field: { onChange, value }, fieldState: { invalid } }) => ( +
- - - + { + if (disabled) return; + let value = e.target.value.replace(/,/g, "."); + value = value.indexOf(".") >= 0 ? value.slice(0, value.indexOf(".") + maxDecimals + 1) : value; + if (value === "" || inputRegex.test(value.trim().replace(/[.*+?^${}()|[\]\\]/g, "\\$&"))) { + onChange(value === "." ? "0." : value); + } + }} + /> + + {!value && *} + {!invalid && !disabled && ( + + + + + + )} +
)} -
- )} - /> + /> ); const RewardRate = ({ - title, - name, - control, - isRequired, - maxDecimals, - disabled, + title, + name, + control, + isRequired, + maxDecimals, + disabled, }: { - title: string; - name: keyof IFormState; - control: Control; - isRequired?: boolean; - maxDecimals?: number; - disabled?: boolean; + title: string; + name: keyof IFormState; + control: Control; + isRequired?: boolean; + maxDecimals?: number; + disabled?: boolean; }) => ( -
- -
+
+ +
); -const Reward = ({ - control, - name, -}: { - control: Control; - name: "rewardToken" | "bonusRewardToken"; -}) => { - const { address: account } = useAccount(); +const Reward = ({ control, name }: { control: Control; name: "rewardToken" | "bonusRewardToken" }) => { + const { address: account } = useAccount(); - const [isOpen, setIsOpen] = useState(false); - const [currency, setCurrency] = useState(); + const [isOpen, setIsOpen] = useState(false); + const [currency, setCurrency] = useState(); - const { data: balance } = useBalance({ - address: account, - token: currency ? (currency.wrapped.address as Address) : undefined, - }); + const { data: balance } = useBalance({ + address: account, + token: currency ? (currency.wrapped.address as Address) : undefined, + }); - return ( - "Select Token", - }, - }} - render={({ field: { onChange, value } }) => ( - <> -
- { - setIsOpen(false); - onChange(currency); - setCurrency(currency); - }} - > - - - {value && ( - + return ( + "Select Token", + }, + }} + render={({ field: { onChange, value } }) => ( + <> +
+ { + setIsOpen(false); + onChange(currency); + setCurrency(currency); + }} + > + + + {value && ( + + )} +
+ )} -
- - )} - /> - ); + /> + ); }; const CreateFarm = () => { - const { handleSubmit, reset, watch, control, setValue } = - useForm(); - - const onSubmit: SubmitHandler = (data) => console.log(data); - - const [hasSecondReward, setHasSecondReward] = useState(true); - - const handleSecondRewardToggle = () => { - setHasSecondReward(!hasSecondReward); - setValue("bonusRewardToken", undefined); - setValue("bonusRewardAmount", undefined), - setValue("bonusRewardRate", undefined); - }; - - const rewardToken = watch("rewardToken"); - const bonusRewardToken = watch("bonusRewardToken"); - const pool = watch("pool"); - - const rewardAmount = watch("rewardAmount"); - const rewardRate = watch("rewardRate"); - const bonusRewardAmount = watch("bonusRewardAmount"); - const bonusRewardRate = watch("bonusRewardRate"); - - const { data: activeFarming, loading: isFarmingLoading } = - useActiveFarmingForPoolQuery({ - skip: Boolean(!pool), - client: farmsClient, - variables: { - poolId: pool, - }, + const { handleSubmit, reset, watch, control, setValue } = useForm(); + + const onSubmit: SubmitHandler = (data) => console.log(data); + + const [hasSecondReward, setHasSecondReward] = useState(true); + + const handleSecondRewardToggle = () => { + setHasSecondReward(!hasSecondReward); + setValue("bonusRewardToken", undefined); + setValue("bonusRewardAmount", undefined), setValue("bonusRewardRate", undefined); + }; + + const rewardToken = watch("rewardToken"); + const bonusRewardToken = watch("bonusRewardToken"); + const pool = watch("pool"); + + const rewardAmount = watch("rewardAmount"); + const rewardRate = watch("rewardRate"); + const bonusRewardAmount = watch("bonusRewardAmount"); + const bonusRewardRate = watch("bonusRewardRate"); + + const { data: activeFarming, loading: isFarmingLoading } = useActiveFarmingForPoolQuery({ + skip: Boolean(!pool), + client: farmsClient, + variables: { + poolId: pool, + }, }); - const isPoolAvailable = - !isFarmingLoading && - activeFarming && - activeFarming.eternalFarmings.length === 0; - - const { data: nonce } = useEternalFarmingNumOfIncentives(); - - const incentveKey: PartialIncentiveKey = { - rewardToken: rewardToken - ? (rewardToken.wrapped.address as Address) - : undefined, - bonusRewardToken: bonusRewardToken - ? (bonusRewardToken.wrapped.address as Address) - : undefined, - pool: pool ? (pool as Address) : undefined, - nonce, - }; - - const rewards: IRewards = { - reward: rewardAmount, - rewardBn: - rewardAmount && rewardToken - ? parseUnits(rewardAmount as `${number}`, rewardToken.decimals) - : undefined, - rewardRate: rewardRate, - rewardRateBn: - rewardRate && rewardToken - ? parseUnits(rewardRate as `${number}`, rewardToken.decimals) - : undefined, - bonusReward: bonusRewardAmount, - bonusRewardBn: - bonusRewardAmount && bonusRewardToken - ? parseUnits( - bonusRewardAmount as `${number}`, - bonusRewardToken.decimals - ) - : undefined, - bonusRewardRate: bonusRewardRate, - bonusRewardRateBn: - bonusRewardRate && bonusRewardToken - ? parseUnits(bonusRewardRate as `${number}`, bonusRewardToken.decimals) - : undefined, - }; - - return ( -
-
- - - {pool ? ( - isFarmingLoading ? ( - - ) : isPoolAvailable ? ( - Pool is available - ) : ( - - This pool already has active farming - - ) - ) : null} -
- - {isPoolAvailable && ( -
-
-
-
-
2. Add rewards
-
- - -
-
+ const isPoolAvailable = !isFarmingLoading && activeFarming && activeFarming.eternalFarmings.length === 0; + + const { data: nonce } = useEternalFarmingNumOfIncentives(); + + const incentveKey: PartialIncentiveKey = { + rewardToken: rewardToken ? (rewardToken.wrapped.address as Address) : undefined, + bonusRewardToken: bonusRewardToken ? (bonusRewardToken.wrapped.address as Address) : undefined, + pool: pool ? (pool as Address) : undefined, + nonce, + }; + + const rewards: IRewards = { + reward: rewardAmount, + rewardBn: rewardAmount && rewardToken ? parseUnits(rewardAmount as `${number}`, rewardToken.decimals) : undefined, + rewardRate: rewardRate, + rewardRateBn: rewardRate && rewardToken ? parseUnits(rewardRate as `${number}`, rewardToken.decimals) : undefined, + bonusReward: bonusRewardAmount, + bonusRewardBn: + bonusRewardAmount && bonusRewardToken ? parseUnits(bonusRewardAmount as `${number}`, bonusRewardToken.decimals) : undefined, + bonusRewardRate: bonusRewardRate, + bonusRewardRateBn: + bonusRewardRate && bonusRewardToken ? parseUnits(bonusRewardRate as `${number}`, bonusRewardToken.decimals) : undefined, + }; + + return ( +
+
+ + + {pool ? ( + isFarmingLoading ? ( + + ) : isPoolAvailable ? ( + Pool is available + ) : ( + This pool already has active farming + ) + ) : null}
- - - - - - - {hasSecondReward && ( - <> -
Second Reward
- - - - - - - + {isPoolAvailable && ( +
+ +
+
+
2. Add rewards
+
+ + +
+
+
+ + + + + + + + {hasSecondReward && ( + <> +
Second Reward
+ + + + + + + + )} + + + +
)} - - -
- )} -
- ); + ); }; -const PoolSelector = ({ - control, - reset, -}: { - control: Control; - reset: () => void; -}) => { - const { data: pools } = useAllPoolsQuery(); - - const formattedPools = useMemo(() => { - if (!pools?.pools) return []; - - return pools.pools.map((pool) => ({ - id: pool.id, - token0: pool.token0, - token1: pool.token1, - name: `${pool.token0.symbol} / ${pool.token1.symbol}`, - })); - }, [pools]); - - return ( - "Select Pool", - }, - }} - render={({ field: { onChange } }) => ( - - )} - /> - ); +const PoolSelector = ({ control, reset }: { control: Control; reset: () => void }) => { + const { data: pools } = useAllPoolsQuery(); + + const formattedPools = useMemo(() => { + if (!pools?.pools) return []; + + return pools.pools.map((pool) => ({ + id: pool.id, + token0: pool.token0, + token1: pool.token1, + name: `${pool.token0.symbol} / ${pool.token1.symbol}`, + })); + }, [pools]); + + return ( + "Select Pool", + }, + }} + render={({ field: { onChange } }) => ( + + )} + /> + ); }; export default CreateFarm; diff --git a/src/components/farms/CreateFarmButton/index.tsx b/src/components/farms/CreateFarmButton/index.tsx index d709b2d..746ef0c 100644 --- a/src/components/farms/CreateFarmButton/index.tsx +++ b/src/components/farms/CreateFarmButton/index.tsx @@ -14,156 +14,128 @@ import { useNavigate } from "react-router-dom"; import { useContractWrite, usePrepareContractWrite } from "wagmi"; interface ICreateFarmButton { - hasSecondReward: boolean; - incentiveKey: PartialIncentiveKey; - rewards: IRewards; + hasSecondReward: boolean; + incentiveKey: PartialIncentiveKey; + rewards: IRewards; } const CreateFarmButton = ({ - hasSecondReward, - incentiveKey: { rewardToken, bonusRewardToken, pool, nonce }, - rewards: { - reward, - rewardBn, - rewardRateBn, - bonusReward, - bonusRewardBn, - bonusRewardRateBn, - }, + hasSecondReward, + incentiveKey: { rewardToken, bonusRewardToken, pool, nonce }, + rewards: { reward, rewardBn, rewardRateBn, bonusReward, bonusRewardBn, bonusRewardRateBn }, }: ICreateFarmButton) => { - const navigate = useNavigate(); - - const { data: plugin } = useAlgebraPoolPlugin({ - address: pool, - }); - - const isKeyReady = - rewardToken && - pool && - plugin && - nonce !== undefined && - (hasSecondReward ? Boolean(bonusRewardToken) : true); - - const areRewardsReady = - rewardBn && - rewardRateBn && - (hasSecondReward ? Boolean(bonusRewardBn && bonusRewardRateBn) : true); - - const rewardCurrency = useCurrency(rewardToken); - const bonusRewardCurrency = useCurrency(bonusRewardToken); - - const [parsedRewardAmount, parsedBonusRewardAmount] = [ - tryParseAmount(reward, rewardCurrency), - tryParseAmount(bonusReward, bonusRewardCurrency), - ]; - - const { - approvalState: approvalStateReward, - approvalCallback: approvalCallbackReward, - } = useApprove(parsedRewardAmount, ALGEBRA_ETERNAL_FARMING); - const { - approvalState: approvalStateBonusReward, - approvalCallback: approvalCallbackBonusReward, - } = useApprove(parsedBonusRewardAmount, ALGEBRA_ETERNAL_FARMING); - - const showApproveReward = - approvalStateReward === ApprovalState.NOT_APPROVED || - approvalStateReward === ApprovalState.PENDING; - const showApproveBonusReward = - approvalStateBonusReward === ApprovalState.NOT_APPROVED || - approvalStateBonusReward === ApprovalState.PENDING; - - const { config } = usePrepareContractWrite({ - address: ALGEBRA_ETERNAL_FARMING, - abi: eternalFarmingABI, - functionName: "createEternalFarming", - args: - isKeyReady && - areRewardsReady && - !showApproveReward && - !showApproveBonusReward - ? [ - { - rewardToken, - bonusRewardToken: - bonusRewardToken || - "0x0000000000000000000000000000000000000000", - pool, - nonce, - }, - { - reward: rewardBn, - rewardRate: rewardRateBn, - bonusReward: bonusRewardBn || 0n, - bonusRewardRate: bonusRewardRateBn || 0n, - minimalPositionWidth: 0, - }, - plugin, - ] - : undefined, - }); - - const { data, write: onCreate } = useContractWrite(config); - - const { isLoading, isSuccess } = useTransitionAwait( - data?.hash, - `Create Farm` - ); - - useEffect(() => { - if (isSuccess) { - navigate("/farms"); - } - }, [isSuccess, navigate]); - - const isDisabled = !isKeyReady || !areRewardsReady || !onCreate || isLoading; - - if (showApproveReward) - return ( - + const navigate = useNavigate(); + + const { data: plugin } = useAlgebraPoolPlugin({ + address: pool, + }); + + const isKeyReady = rewardToken && pool && plugin && nonce !== undefined && (hasSecondReward ? Boolean(bonusRewardToken) : true); + + const areRewardsReady = rewardBn && rewardRateBn && (hasSecondReward ? Boolean(bonusRewardBn && bonusRewardRateBn) : true); + + const rewardCurrency = useCurrency(rewardToken); + const bonusRewardCurrency = useCurrency(bonusRewardToken); + + const [parsedRewardAmount, parsedBonusRewardAmount] = [ + tryParseAmount(reward, rewardCurrency), + tryParseAmount(bonusReward, bonusRewardCurrency), + ]; + + const { approvalState: approvalStateReward, approvalCallback: approvalCallbackReward } = useApprove( + parsedRewardAmount, + ALGEBRA_ETERNAL_FARMING + ); + const { approvalState: approvalStateBonusReward, approvalCallback: approvalCallbackBonusReward } = useApprove( + parsedBonusRewardAmount, + ALGEBRA_ETERNAL_FARMING ); - if (showApproveBonusReward) - return ( - - ); + }, [isSuccess, navigate]); + + const isDisabled = !isKeyReady || !areRewardsReady || !onCreate || isLoading; + + if (showApproveReward) + return ( + + ); + + if (showApproveBonusReward) + return ( + + ); - return ( - - ); + return ( + + ); }; export default CreateFarmButton; diff --git a/src/components/farms/FarmList/index.tsx b/src/components/farms/FarmList/index.tsx index 103a8bb..c6b8cee 100644 --- a/src/components/farms/FarmList/index.tsx +++ b/src/components/farms/FarmList/index.tsx @@ -6,115 +6,158 @@ import { useMemo, useState } from "react"; import { Link } from "react-router-dom"; const Toolbar = ({ changeShowDeactivated }: { changeShowDeactivated: (state: boolean) => void }) => { - return
- {/*
+ return ( +
+ {/*
*/} -
- - +
+ + +
+ ); +}; + +const FarmHeader = () => ( +
+
Pool
+
Rewards
+
Bonus Rewards
+
Dynamic Rates
+
-} - -const FarmHeader = () =>
-
Pool
-
Rewards
-
Bonus Rewards
-
Dynamic Rates
-
-
+); const FarmRow = (farm: FarmingFieldsFragment) => { - - const { token0, token1, reward, bonusReward, rewardToken, bonusRewardToken, isDeactivated, isDynamicRateActivated } = useFarmData(farm) - - const isEmpty = isDeactivated && ( Number(reward) === 0 && ( Number(bonusReward) === 0 || !bonusReward ) ) - - return
- {token0 && token1 ?
-
Pool
-
{`${token0.symbol} / ${token1.symbol}`}
-
:
} - { rewardToken && reward ?
-
Rewards
-
{`${reward} ${rewardToken.symbol}`}
-
:
} - { bonusRewardToken && bonusReward ?
-
Bonus Rewards
-
{`${bonusReward} ${bonusRewardToken.symbol}`}
-
:
} - { token0 && token1 ?
-
Dynamic Rates
-
{isDynamicRateActivated ? 'Yes' : 'No'}
-
:
} - { !isEmpty &&
- Manage → -
} -
-} + const { token0, token1, reward, bonusReward, rewardToken, bonusRewardToken, isDeactivated, isDynamicRateActivated } = useFarmData(farm); + + const isEmpty = isDeactivated && Number(reward) === 0 && (Number(bonusReward) === 0 || !bonusReward); + + return ( +
+ {token0 && token1 ? ( +
+
Pool
+
{`${token0.symbol} / ${token1.symbol}`}
+
+ ) : ( +
+ )} + {rewardToken && reward ? ( +
+
Rewards
+
{`${reward} ${rewardToken.symbol}`}
+
+ ) : ( +
+ )} + {bonusRewardToken && bonusReward ? ( +
+
Bonus Rewards
+
{`${bonusReward} ${bonusRewardToken.symbol}`}
+
+ ) : ( +
+ )} + {token0 && token1 ? ( +
+
Dynamic Rates
+
{isDynamicRateActivated ? "Yes" : "No"}
+
+ ) : ( +
+ )} + {!isEmpty && ( +
+ + Manage → + +
+ )} +
+ ); +}; const FarmList = () => { - - const [showDeactivated, setShowDeactivated] = useState(false) + const [showDeactivated, setShowDeactivated] = useState(false); const { data: farms, loading } = useAllFarmsQuery({ client: farmsClient, - }) + }); const { activeFarms, deactivatedFarms } = useMemo(() => { + if (!farms) + return { + activeFarms: [], + deactivatedFarms: [], + }; + + return farms.eternalFarmings.reduce<{ activeFarms: FarmingFieldsFragment[]; deactivatedFarms: FarmingFieldsFragment[] }>( + (acc, farm) => { + if (farm.isDeactivated) { + return { + ...acc, + deactivatedFarms: [...acc.deactivatedFarms, farm], + }; + } - if (!farms) return { - activeFarms: [], - deactivatedFarms: [] - } - - return farms.eternalFarmings.reduce<{ activeFarms: FarmingFieldsFragment[], deactivatedFarms: FarmingFieldsFragment[] }>((acc, farm) => { - - if (farm.isDeactivated) { return { ...acc, - deactivatedFarms: [...acc.deactivatedFarms, farm] - } - } - - return { - ...acc, - activeFarms: [...acc.activeFarms, farm] + activeFarms: [...acc.activeFarms, farm], + }; + }, + { + activeFarms: [], + deactivatedFarms: [], } - - }, { - activeFarms: [], - deactivatedFarms: [] - }) - - }, [farms]) + ); + }, [farms]); - return
-
- setShowDeactivated(state)} /> -
- { loading ? 'Loading' :
-
Active Farms
- -
- { activeFarms.map(farm => ) } + return ( +
+
+ setShowDeactivated(state)} />
- { - showDeactivated ? <> -
Deactivated Farms
-
- { deactivatedFarms.map(farm => ) } + {loading ? ( + "Loading" + ) : ( +
+
Active Farms
+
+ +
+ {activeFarms.map((farm) => ( + + ))} +
- - : null - } -
} -
- -} + {showDeactivated ? ( + <> +
Deactivated Farms
+
+ +
+ {deactivatedFarms.map((farm) => ( + + ))} +
+
+ + ) : null} +
+ )} +
+ ); +}; -export default FarmList; \ No newline at end of file +export default FarmList; diff --git a/src/components/modals/PoolsDefaultSettingsModal/index.tsx b/src/components/modals/PoolsDefaultSettingsModal/index.tsx index a2d31f2..34d72ac 100644 --- a/src/components/modals/PoolsDefaultSettingsModal/index.tsx +++ b/src/components/modals/PoolsDefaultSettingsModal/index.tsx @@ -1,13 +1,6 @@ -import Loader from '@/components/common/Loader'; -import { - Credenza, - CredenzaBody, - CredenzaContent, - CredenzaHeader, - CredenzaTitle, - CredenzaTrigger, -} from '@/components/ui/credenza'; -import { Input } from '@/components/ui/input'; +import Loader from "@/components/common/Loader"; +import { Credenza, CredenzaBody, CredenzaContent, CredenzaHeader, CredenzaTitle, CredenzaTrigger } from "@/components/ui/credenza"; +import { Input } from "@/components/ui/input"; import { useAlgebraFactoryDefaultCommunityFee, useAlgebraFactoryDefaultTickspacing, @@ -15,11 +8,11 @@ import { usePrepareAlgebraFactorySetDefaultCommunityFee, usePrepareAlgebraFactorySetDefaultTickspacing, usePreparePluginFactorySetDefaultBaseFee, -} from '@/generated'; -import { useTransitionAwait } from '@/hooks/common/useTransactionAwait'; -import { cn } from '@/lib/utils'; -import { useEffect, useState } from 'react'; -import { useContractWrite } from 'wagmi'; +} from "@/generated"; +import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; +import { cn } from "@/lib/utils"; +import { useEffect, useState } from "react"; +import { useContractWrite } from "wagmi"; interface IPoolsDefaultSettingsModal { title: string; @@ -27,9 +20,9 @@ interface IPoolsDefaultSettingsModal { } enum SettingsKeys { - COMMUNITY_FEE = 'Community Fee', - FEE = 'Fee', - TICK_SPACING = 'Tick Spacing', + COMMUNITY_FEE = "Community Fee", + FEE = "Fee", + TICK_SPACING = "Tick Spacing", } interface Settings { @@ -38,17 +31,14 @@ interface Settings { [SettingsKeys.TICK_SPACING]: number; } -const PoolsDefaultSettingsModal = ({ - title, - children, -}: IPoolsDefaultSettingsModal) => { +const PoolsDefaultSettingsModal = ({ title, children }: IPoolsDefaultSettingsModal) => { const [settingsData, setSettingsData] = useState({ [SettingsKeys.COMMUNITY_FEE]: 0, [SettingsKeys.FEE]: 0, [SettingsKeys.TICK_SPACING]: 0, }); - const { data: defaultFee } = useAlgebraFactoryDefaultFee() + const { data: defaultFee } = useAlgebraFactoryDefaultFee(); const { data: defaultCommunityFee } = useAlgebraFactoryDefaultCommunityFee(); @@ -64,44 +54,29 @@ const PoolsDefaultSettingsModal = ({ }, [defaultCommunityFee, defaultTickSpacing, defaultFee]); /* Set Default Community Fee */ - const { config: defaultCommunityFeeConfig } = - usePrepareAlgebraFactorySetDefaultCommunityFee({ - args: [settingsData[SettingsKeys.COMMUNITY_FEE]], - }); + const { config: defaultCommunityFeeConfig } = usePrepareAlgebraFactorySetDefaultCommunityFee({ + args: [settingsData[SettingsKeys.COMMUNITY_FEE]], + }); - const { data: communityFeeHash, write: setDefaultCommunityFee } = - useContractWrite(defaultCommunityFeeConfig); + const { data: communityFeeHash, write: setDefaultCommunityFee } = useContractWrite(defaultCommunityFeeConfig); /* Set Default Fee */ - const { config: defaultFeeConfig } = - usePreparePluginFactorySetDefaultBaseFee({ - args: [settingsData[SettingsKeys.FEE]], - }); + const { config: defaultFeeConfig } = usePreparePluginFactorySetDefaultBaseFee({ + args: [settingsData[SettingsKeys.FEE]], + }); - const { data: feeHash, write: setDefaultFeeConfiguration } = - useContractWrite(defaultFeeConfig); + const { data: feeHash, write: setDefaultFeeConfiguration } = useContractWrite(defaultFeeConfig); /* Set Tick Spacing */ - const { config: tickSpacingConfig } = - usePrepareAlgebraFactorySetDefaultTickspacing({ - args: [settingsData[SettingsKeys.TICK_SPACING]], - }); + const { config: tickSpacingConfig } = usePrepareAlgebraFactorySetDefaultTickspacing({ + args: [settingsData[SettingsKeys.TICK_SPACING]], + }); - const { data: tickSpacingHash, write: setDefaultTickSpacing } = - useContractWrite(tickSpacingConfig); + const { data: tickSpacingHash, write: setDefaultTickSpacing } = useContractWrite(tickSpacingConfig); - const { isLoading: feeLoading } = useTransitionAwait( - feeHash?.hash, - 'Set Default Fee' - ); - const { isLoading: communityFeeLoading } = useTransitionAwait( - communityFeeHash?.hash, - 'Set Community Fee' - ); - const { isLoading: tickSpacingLoading } = useTransitionAwait( - tickSpacingHash?.hash, - 'Set Tick Spacing' - ); + const { isLoading: feeLoading } = useTransitionAwait(feeHash?.hash, "Set Default Fee"); + const { isLoading: communityFeeLoading } = useTransitionAwait(communityFeeHash?.hash, "Set Community Fee"); + const { isLoading: tickSpacingLoading } = useTransitionAwait(tickSpacingHash?.hash, "Set Tick Spacing"); const handleSubmit = (e: React.FormEvent, key: SettingsKeys) => { e.preventDefault(); @@ -123,57 +98,38 @@ const PoolsDefaultSettingsModal = ({ return ( {children} - + {title}
- {Object.entries(settingsData as Settings).map( - ([key, value]) => ( - + ))}
diff --git a/src/components/modals/TokenSelectorModal/index.tsx b/src/components/modals/TokenSelectorModal/index.tsx index 8f88c81..b66866a 100644 --- a/src/components/modals/TokenSelectorModal/index.tsx +++ b/src/components/modals/TokenSelectorModal/index.tsx @@ -1,70 +1,64 @@ import { TokenSelector } from "@/components/common/TokenSelector"; import { - Credenza, - CredenzaBody, - CredenzaClose, - CredenzaContent, - CredenzaHeader, - CredenzaTitle, - CredenzaTrigger, + Credenza, + CredenzaBody, + CredenzaClose, + CredenzaContent, + CredenzaHeader, + CredenzaTitle, + CredenzaTrigger, } from "@/components/ui/credenza"; import { Currency } from "@cryptoalgebra/integral-sdk"; interface ITokenSelectorModal { - isOpen: boolean; - setIsOpen: (state: boolean) => void; - onSelect: (currency: Currency) => void; - otherCurrency?: Currency | null | undefined; - children: React.ReactNode; + isOpen: boolean; + setIsOpen: (state: boolean) => void; + onSelect: (currency: Currency) => void; + otherCurrency?: Currency | null | undefined; + children: React.ReactNode; } -const TokenSelectorModal = ({ - isOpen, - setIsOpen, - onSelect, - otherCurrency, - children, -}: ITokenSelectorModal) => { - return ( - - {children} - setIsOpen(false)} - onEscapeKeyDown={() => setIsOpen(false)} - > - - Select a token - - - - - - - - - - ); + + Select a token + + + + + + + +
+
+ ); }; export default TokenSelectorModal; diff --git a/src/components/modals/farm/ManageRewardsModal/index.tsx b/src/components/modals/farm/ManageRewardsModal/index.tsx index ad01616..0cbfc89 100644 --- a/src/components/modals/farm/ManageRewardsModal/index.tsx +++ b/src/components/modals/farm/ManageRewardsModal/index.tsx @@ -1,12 +1,5 @@ import Loader from "@/components/common/Loader"; -import { - Credenza, - CredenzaBody, - CredenzaContent, - CredenzaHeader, - CredenzaTitle, - CredenzaTrigger, -} from "@/components/ui/credenza"; +import { Credenza, CredenzaBody, CredenzaContent, CredenzaHeader, CredenzaTitle, CredenzaTrigger } from "@/components/ui/credenza"; import { ALGEBRA_ETERNAL_FARMING } from "@/constants/addresses"; import { DEFAULT_CHAIN_ID } from "@/constants/default-chain-id"; import { eternalFarmingABI } from "@/generated"; @@ -14,10 +7,7 @@ import { useApprove } from "@/hooks/common/useApprove"; import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; import { ApprovalState } from "@/types/approve-state"; import { IncentiveKey } from "@/types/incentive-key"; -import { - Token, - tryParseAmount, -} from "@cryptoalgebra/integral-sdk"; +import { Token, tryParseAmount } from "@cryptoalgebra/integral-sdk"; import { useState } from "react"; import { parseUnits } from "viem"; import { useContractWrite, usePrepareContractWrite } from "wagmi"; @@ -25,146 +15,116 @@ import { useContractWrite, usePrepareContractWrite } from "wagmi"; type ManageFunctions = "addRewards" | "setRates" | "decreaseRewardsAmount"; interface IManageRewardsModal { - title: string; - functionName: ManageFunctions; - incentiveKey: IncentiveKey; - rewardRates: [ - { value: bigint; decimals: number }, - { value: bigint; decimals: number } - ]; - isBonus?: boolean; - children: React.ReactNode; + title: string; + functionName: ManageFunctions; + incentiveKey: IncentiveKey; + rewardRates: [{ value: bigint; decimals: number }, { value: bigint; decimals: number }]; + isBonus?: boolean; + children: React.ReactNode; } -const ManageRewardsModal = ({ - title, - functionName, - incentiveKey, - rewardRates, - isBonus = false, - children, -}: IManageRewardsModal) => { - const [value, setValue] = useState(""); +const ManageRewardsModal = ({ title, functionName, incentiveKey, rewardRates, isBonus = false, children }: IManageRewardsModal) => { + const [value, setValue] = useState(""); - const args = - functionName === "setRates" - ? isBonus - ? [ - rewardRates[0].value, - parseUnits(value as `${number}`, rewardRates[1].decimals), - ] - : [ - parseUnits(value as `${number}`, rewardRates[0].decimals), - rewardRates[1].value, - ] - : isBonus - ? [0n, parseUnits(value as `${number}`, rewardRates[1].decimals)] - : [parseUnits(value as `${number}`, rewardRates[0].decimals), 0n]; + const args = + functionName === "setRates" + ? isBonus + ? [rewardRates[0].value, parseUnits(value as `${number}`, rewardRates[1].decimals)] + : [parseUnits(value as `${number}`, rewardRates[0].decimals), rewardRates[1].value] + : isBonus + ? [0n, parseUnits(value as `${number}`, rewardRates[1].decimals)] + : [parseUnits(value as `${number}`, rewardRates[0].decimals), 0n]; - const parsedRewardAmount = tryParseAmount( - value, - new Token( - DEFAULT_CHAIN_ID, - isBonus ? incentiveKey.bonusRewardToken : incentiveKey.rewardToken, - isBonus ? rewardRates[1].decimals : rewardRates[0].decimals - ) - ); + const parsedRewardAmount = tryParseAmount( + value, + new Token( + DEFAULT_CHAIN_ID, + isBonus ? incentiveKey.bonusRewardToken : incentiveKey.rewardToken, + isBonus ? rewardRates[1].decimals : rewardRates[0].decimals + ) + ); - const { - approvalState: approvalStateReward, - approvalCallback: approvalCallbackReward, - } = useApprove(parsedRewardAmount, ALGEBRA_ETERNAL_FARMING); + const { approvalState: approvalStateReward, approvalCallback: approvalCallbackReward } = useApprove( + parsedRewardAmount, + ALGEBRA_ETERNAL_FARMING + ); - const showApproveReward = - (functionName === "addRewards" && - approvalStateReward === ApprovalState.NOT_APPROVED) || - approvalStateReward === ApprovalState.PENDING; + const showApproveReward = + (functionName === "addRewards" && approvalStateReward === ApprovalState.NOT_APPROVED) || + approvalStateReward === ApprovalState.PENDING; - const { config } = usePrepareContractWrite({ - address: ALGEBRA_ETERNAL_FARMING, - abi: eternalFarmingABI, - functionName, - args: !showApproveReward ? [incentiveKey, args[0], args[1]] : undefined, - }); + const { config } = usePrepareContractWrite({ + address: ALGEBRA_ETERNAL_FARMING, + abi: eternalFarmingABI, + functionName, + args: !showApproveReward ? [incentiveKey, args[0], args[1]] : undefined, + }); - const { data, write } = useContractWrite(config); + const { data, write } = useContractWrite(config); - const { isLoading } = useTransitionAwait(data?.hash, title); + const { isLoading } = useTransitionAwait(data?.hash, title); - return ( - - {children} - - - {title} - - - { - // const value = e.target.value.replace(/,/g, ".") - // if (value === "" || RegExp(`^\\d*(?:\\\\[.])?\\d*$`).test(value.trim().replace(/[.*+?^${}()|[\]\\]/g, '\\$&'))) { - // setValue(value === '.' ? '0.' : value) - // } - // }} - onChange={(e) => { - let value = e.target.value.replace(/,/g, "."); - value = - value.indexOf(".") >= 0 - ? value.slice( - 0, - value.indexOf(".") + - (isBonus - ? rewardRates[1].decimals - : rewardRates[0].decimals) + - 1 - ) - : value; - if ( - value === "" || - RegExp(`^\\d*(?:\\\\[.])?\\d*$`).test( - value.trim().replace(/[.*+?^${}()|[\]\\]/g, "\\$&") - ) - ) { - setValue(value === "." ? "0." : value); - } - }} - /> - {showApproveReward ? ( - - ) : ( - - )} - - - - ); + return ( + + {children} + + + {title} + + + { + // const value = e.target.value.replace(/,/g, ".") + // if (value === "" || RegExp(`^\\d*(?:\\\\[.])?\\d*$`).test(value.trim().replace(/[.*+?^${}()|[\]\\]/g, '\\$&'))) { + // setValue(value === '.' ? '0.' : value) + // } + // }} + onChange={(e) => { + let value = e.target.value.replace(/,/g, "."); + value = + value.indexOf(".") >= 0 + ? value.slice(0, value.indexOf(".") + (isBonus ? rewardRates[1].decimals : rewardRates[0].decimals) + 1) + : value; + if ( + value === "" || + RegExp(`^\\d*(?:\\\\[.])?\\d*$`).test(value.trim().replace(/[.*+?^${}()|[\]\\]/g, "\\$&")) + ) { + setValue(value === "." ? "0." : value); + } + }} + /> + {showApproveReward ? ( + + ) : ( + + )} + + + + ); }; export default ManageRewardsModal; diff --git a/src/components/modals/pool/ChangePluginAddressModal/index.tsx b/src/components/modals/pool/ChangePluginAddressModal/index.tsx index 58e2442..af2f49e 100644 --- a/src/components/modals/pool/ChangePluginAddressModal/index.tsx +++ b/src/components/modals/pool/ChangePluginAddressModal/index.tsx @@ -1,18 +1,11 @@ -import Loader from '@/components/common/Loader'; -import { - Credenza, - CredenzaBody, - CredenzaContent, - CredenzaHeader, - CredenzaTitle, - CredenzaTrigger, -} from '@/components/ui/credenza'; -import { Input } from '@/components/ui/input'; -import { usePrepareAlgebraPoolSetPlugin } from '@/generated'; -import { useTransitionAwait } from '@/hooks/common/useTransactionAwait'; -import { useState } from 'react'; -import { isAddress } from 'viem'; -import { Address, useContractWrite } from 'wagmi'; +import Loader from "@/components/common/Loader"; +import { Credenza, CredenzaBody, CredenzaContent, CredenzaHeader, CredenzaTitle, CredenzaTrigger } from "@/components/ui/credenza"; +import { Input } from "@/components/ui/input"; +import { usePrepareAlgebraPoolSetPlugin } from "@/generated"; +import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; +import { useState } from "react"; +import { isAddress } from "viem"; +import { Address, useContractWrite } from "wagmi"; interface IChangePluginAddressModal { title: string; @@ -20,12 +13,8 @@ interface IChangePluginAddressModal { poolId: Address; } -const ChangePluginAddressModal = ({ - title, - children, - poolId, -}: IChangePluginAddressModal) => { - const [value, setValue] = useState(''); +const ChangePluginAddressModal = ({ title, children, poolId }: IChangePluginAddressModal) => { + const [value, setValue] = useState(""); const [isAddressValid, setIsAddressValid] = useState(false); const { config } = usePrepareAlgebraPoolSetPlugin({ @@ -49,11 +38,11 @@ const ChangePluginAddressModal = ({ return ( {children} - + {title} - + setValue(e.target.value)} /> - {isAddressValid && ( -

- Incorrect address! -

- )} + {isAddressValid &&

Incorrect address!

}
diff --git a/src/components/modals/pool/ManagePluginConfigModal/index.tsx b/src/components/modals/pool/ManagePluginConfigModal/index.tsx index e18ad66..18492c4 100644 --- a/src/components/modals/pool/ManagePluginConfigModal/index.tsx +++ b/src/components/modals/pool/ManagePluginConfigModal/index.tsx @@ -1,14 +1,7 @@ -import Loader from '@/components/common/Loader'; -import { - Credenza, - CredenzaBody, - CredenzaContent, - CredenzaHeader, - CredenzaTitle, - CredenzaTrigger, -} from '@/components/ui/credenza'; -import { Switch } from '@/components/ui/switch'; -import { PluginFlags } from '@/types/pool-plugin-flags'; +import Loader from "@/components/common/Loader"; +import { Credenza, CredenzaBody, CredenzaContent, CredenzaHeader, CredenzaTitle, CredenzaTrigger } from "@/components/ui/credenza"; +import { Switch } from "@/components/ui/switch"; +import { PluginFlags } from "@/types/pool-plugin-flags"; interface IManagePluginConfigModal { title: string; @@ -29,48 +22,43 @@ const ManagePluginConfigModal = ({ pluginConfig, isLoading, onConfirm, - onReset + onReset, }: IManagePluginConfigModal) => { return ( {children} - + {title} - -
+ +
-

- Plugin Config (uint8) -

-

{pluginConfig}

+

Plugin Config (uint8)

+

{pluginConfig}

-
-
+
{Object.entries(flags).map(([flag, value]) => ( -
diff --git a/src/components/modals/pool/ManagePoolSettingsModal/index.tsx b/src/components/modals/pool/ManagePoolSettingsModal/index.tsx index 325b448..51608e6 100644 --- a/src/components/modals/pool/ManagePoolSettingsModal/index.tsx +++ b/src/components/modals/pool/ManagePoolSettingsModal/index.tsx @@ -1,14 +1,7 @@ -import { algebraPoolABI } from '@/abis'; -import Loader from '@/components/common/Loader'; -import { - Credenza, - CredenzaBody, - CredenzaContent, - CredenzaHeader, - CredenzaTitle, - CredenzaTrigger, -} from '@/components/ui/credenza'; -import { Input } from '@/components/ui/input'; +import { algebraPoolABI } from "@/abis"; +import Loader from "@/components/common/Loader"; +import { Credenza, CredenzaBody, CredenzaContent, CredenzaHeader, CredenzaTitle, CredenzaTrigger } from "@/components/ui/credenza"; +import { Input } from "@/components/ui/input"; import { useAlgebraPoolFee, useAlgebraPoolGlobalState, @@ -16,12 +9,12 @@ import { useAlgebraPoolTickSpacing, useAlgebraBasePluginSBaseFee, usePrepareAlgebraBasePluginSetBaseFee, -} from '@/generated'; -import { useTransitionAwait } from '@/hooks/common/useTransactionAwait'; -import { useEffect, useState } from 'react'; -import { Address, useContractWrite, usePrepareContractWrite } from 'wagmi'; +} from "@/generated"; +import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; +import { useEffect, useState } from "react"; +import { Address, useContractWrite, usePrepareContractWrite } from "wagmi"; -type ManageFunctions = 'setFee' | 'setCommunityFee' | 'setTickSpacing'; +type ManageFunctions = "setFee" | "setCommunityFee" | "setTickSpacing"; interface IManagePoolSettingsModal { title: string; @@ -31,36 +24,29 @@ interface IManagePoolSettingsModal { isAdaptiveFee?: boolean; } -const ManagePoolSettingsModal = ({ - title, - functionName, - children, - poolId, - isAdaptiveFee = false, -}: IManagePoolSettingsModal) => { +const ManagePoolSettingsModal = ({ title, functionName, children, poolId, isAdaptiveFee = false }: IManagePoolSettingsModal) => { /* Single values */ const [value, setValue] = useState(); const { data: poolGlobalState } = useAlgebraPoolGlobalState({ address: poolId, - enabled: functionName === 'setCommunityFee', + enabled: functionName === "setCommunityFee", }); const { data: initialTickSpacing } = useAlgebraPoolTickSpacing({ address: poolId, - enabled: functionName === 'setTickSpacing', + enabled: functionName === "setTickSpacing", }); const { data: initialStaticFee } = useAlgebraPoolFee({ address: poolId, - enabled: functionName === 'setFee', + enabled: functionName === "setFee", }); const initialCommunityFee = poolGlobalState?.[4]; const { data: pluginId } = useAlgebraPoolPlugin({ address: poolId, - }); const { config } = usePrepareContractWrite({ @@ -77,51 +63,43 @@ const ManagePoolSettingsModal = ({ useEffect(() => { switch (functionName) { - case 'setFee': + case "setFee": setValue(initialStaticFee); break; - case 'setCommunityFee': + case "setCommunityFee": setValue(initialCommunityFee); break; - case 'setTickSpacing': + case "setTickSpacing": setValue(initialTickSpacing); break; default: setValue(undefined); } - }, [ - functionName, - initialStaticFee, - initialCommunityFee, - initialTickSpacing, - ]); + }, [functionName, initialStaticFee, initialCommunityFee, initialTickSpacing]); - const { data: initialBaseFee } = useAlgebraBasePluginSBaseFee({ address: pluginId }) - const [baseFee, setBaseFee] = useState() + const { data: initialBaseFee } = useAlgebraBasePluginSBaseFee({ address: pluginId }); + const [baseFee, setBaseFee] = useState(); const { config: baseFeeConfig } = usePrepareAlgebraBasePluginSetBaseFee({ address: pluginId, args: baseFee ? [baseFee] : undefined, - enabled: Boolean(baseFee) - }) + enabled: Boolean(baseFee), + }); - const { data: feeHash, write: setFee } = useContractWrite(baseFeeConfig) + const { data: feeHash, write: setFee } = useContractWrite(baseFeeConfig); - const { isLoading: isFeeLoading } = useTransitionAwait( - feeHash?.hash, - title - ); + const { isLoading: isFeeLoading } = useTransitionAwait(feeHash?.hash, title); useEffect(() => { - console.log('initialBaseFee', initialBaseFee, pluginId) + console.log("initialBaseFee", initialBaseFee, pluginId); if (initialBaseFee) { - setBaseFee(initialBaseFee) + setBaseFee(initialBaseFee); } - }, [initialBaseFee]) + }, [initialBaseFee]); const handleConfirm = () => { if (isAdaptiveFee) { - setFee?.() + setFee?.(); } else { write?.(); } @@ -130,36 +108,38 @@ const ManagePoolSettingsModal = ({ return ( {children} - + {title} - - {isAdaptiveFee ? { - setBaseFee(Number(e.target.value)); - }} /> : { - setValue(Number(e.target.value)); - }} - />} + + {isAdaptiveFee ? ( + { + setBaseFee(Number(e.target.value)); + }} + /> + ) : ( + { + setValue(Number(e.target.value)); + }} + /> + )} diff --git a/src/components/modals/pool/PoolActivationModal/index.tsx b/src/components/modals/pool/PoolActivationModal/index.tsx index 634237b..54f5c6c 100644 --- a/src/components/modals/pool/PoolActivationModal/index.tsx +++ b/src/components/modals/pool/PoolActivationModal/index.tsx @@ -1,16 +1,9 @@ -import DataWithCopyButton from '@/components/common/DataWithCopyButton'; -import Loader from '@/components/common/Loader'; -import { - Credenza, - CredenzaBody, - CredenzaContent, - CredenzaHeader, - CredenzaTitle, - CredenzaTrigger, -} from '@/components/ui/credenza'; -import { usePrepareAlgebraPoolSetPlugin } from '@/generated'; -import { useTransitionAwait } from '@/hooks/common/useTransactionAwait'; -import { Address, useContractWrite } from 'wagmi'; +import DataWithCopyButton from "@/components/common/DataWithCopyButton"; +import Loader from "@/components/common/Loader"; +import { Credenza, CredenzaBody, CredenzaContent, CredenzaHeader, CredenzaTitle, CredenzaTrigger } from "@/components/ui/credenza"; +import { usePrepareAlgebraPoolSetPlugin } from "@/generated"; +import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; +import { Address, useContractWrite } from "wagmi"; interface IPoolActivationModal { title: string; @@ -20,13 +13,7 @@ interface IPoolActivationModal { isToActivate: boolean; } -const PoolActivationModal = ({ - title, - children, - poolId, - pluginId, - isToActivate, -}: IPoolActivationModal) => { +const PoolActivationModal = ({ title, children, poolId, pluginId, isToActivate }: IPoolActivationModal) => { const { config } = usePrepareAlgebraPoolSetPlugin({ address: poolId, args: [pluginId], @@ -42,31 +29,30 @@ const PoolActivationModal = ({ return ( {children} - + {title} - +
-

Pool address

+

Pool address

-
-
- This will change Current plugin address to{' '} - {isToActivate ? 'Base' : 'Stub'} plugin address. +
+
+ This will change Current plugin address to {isToActivate ? "Base" : "Stub"} plugin address.
diff --git a/src/components/pool/ManagePlugins/index.tsx b/src/components/pool/ManagePlugins/index.tsx index 203f7e8..c2cdcc5 100644 --- a/src/components/pool/ManagePlugins/index.tsx +++ b/src/components/pool/ManagePlugins/index.tsx @@ -1,21 +1,17 @@ -import DataWithCopyButton from '@/components/common/DataWithCopyButton'; -import Loader from '@/components/common/Loader'; -import SetPluginAddressModal from '@/components/modals/pool/ChangePluginAddressModal'; -import ManagePluginConfigModal from '@/components/modals/pool/ManagePluginConfigModal'; -import { Switch } from '@/components/ui/switch'; -import { ALGEBRA_STUB_PLUGIN } from '@/constants/addresses'; -import { - useAlgebraBasePluginDefaultPluginConfig, - useAlgebraPoolPlugin, - usePrepareAlgebraPoolSetPluginConfig, -} from '@/generated'; -import { useTransitionAwait } from '@/hooks/common/useTransactionAwait'; -import { usePluginFlags } from '@/hooks/pools/usePluginFlags'; -import { PluginFlags } from '@/types/pool-plugin-flags'; -import { parsePluginConfig } from '@/utils/pool/parsePluginConfig'; -import { parsePluginFlags } from '@/utils/pool/parsePluginFlags'; -import { useEffect, useMemo, useState } from 'react'; -import { Address, useContractWrite } from 'wagmi'; +import DataWithCopyButton from "@/components/common/DataWithCopyButton"; +import Loader from "@/components/common/Loader"; +import SetPluginAddressModal from "@/components/modals/pool/ChangePluginAddressModal"; +import ManagePluginConfigModal from "@/components/modals/pool/ManagePluginConfigModal"; +import { Switch } from "@/components/ui/switch"; +import { ALGEBRA_STUB_PLUGIN } from "@/constants/addresses"; +import { useAlgebraBasePluginDefaultPluginConfig, useAlgebraPoolPlugin, usePrepareAlgebraPoolSetPluginConfig } from "@/generated"; +import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; +import { usePluginFlags } from "@/hooks/pools/usePluginFlags"; +import { PluginFlags } from "@/types/pool-plugin-flags"; +import { parsePluginConfig } from "@/utils/pool/parsePluginConfig"; +import { parsePluginFlags } from "@/utils/pool/parsePluginFlags"; +import { useEffect, useMemo, useState } from "react"; +import { Address, useContractWrite } from "wagmi"; interface IManagePlugins { poolId: Address; } @@ -26,7 +22,7 @@ const ManagePlugins = ({ poolId }: IManagePlugins) => { const pluginConfig = useMemo(() => { if (!flags) return; - return parsePluginFlags(flags) + return parsePluginFlags(flags); }, [flags]); const { data: pluginId } = useAlgebraPoolPlugin({ @@ -35,33 +31,25 @@ const ManagePlugins = ({ poolId }: IManagePlugins) => { const isToActivate = pluginId === ALGEBRA_STUB_PLUGIN; - const isSwapDisabled = - flags?.AFTER_SWAP_FLAG === 1 || flags?.BEFORE_SWAP_FLAG === 1; + const isSwapDisabled = flags?.AFTER_SWAP_FLAG === 1 || flags?.BEFORE_SWAP_FLAG === 1; const isMintBurnDisabled = flags?.BEFORE_POSITION_MODIFY_FLAG === 1; - const isFlashesDisabled = - flags?.AFTER_FLASH_FLAG === 1 || flags?.BEFORE_FLASH_FLAG === 1; + const isFlashesDisabled = flags?.AFTER_FLASH_FLAG === 1 || flags?.BEFORE_FLASH_FLAG === 1; - const { data: defaultPluginConfig } = - useAlgebraBasePluginDefaultPluginConfig({ - address: pluginId, - }); + const { data: defaultPluginConfig } = useAlgebraBasePluginDefaultPluginConfig({ + address: pluginId, + }); - const { config: preparedPluginConfig } = - usePrepareAlgebraPoolSetPluginConfig({ - address: poolId, - args: [pluginConfig as number], - enabled: pluginConfig !== undefined, - }); + const { config: preparedPluginConfig } = usePrepareAlgebraPoolSetPluginConfig({ + address: poolId, + args: [pluginConfig as number], + enabled: pluginConfig !== undefined, + }); - const { data: setPluginConfigHash, write } = - useContractWrite(preparedPluginConfig); + const { data: setPluginConfigHash, write } = useContractWrite(preparedPluginConfig); - const { isLoading } = useTransitionAwait( - setPluginConfigHash?.hash, - 'Set Plugin' - ); + const { isLoading } = useTransitionAwait(setPluginConfigHash?.hash, "Set Plugin"); useEffect(() => { if (!pluginFlags) return; @@ -74,7 +62,7 @@ const ManagePlugins = ({ poolId }: IManagePlugins) => { if (!prev) return; const updatedFlags = { ...prev }; - if (flag === 'DYNAMIC_FEE_FLAG') { + if (flag === "DYNAMIC_FEE_FLAG") { updatedFlags.DYNAMIC_FEE_FLAG = prev.DYNAMIC_FEE_FLAG ? 0 : 1; updatedFlags.BEFORE_SWAP_FLAG = prev.DYNAMIC_FEE_FLAG ? 0 : 1; } else { @@ -96,37 +84,33 @@ const ManagePlugins = ({ poolId }: IManagePlugins) => { }; return ( -
-
Manage Plugins
+
+
Manage Plugins
{pluginId && flags ? (
-

- Current Plugin address -

+

Current Plugin address

-

- Pool Plugin Config (uint8) -

-
-

{pluginConfig}

- {defaultPluginConfig !== pluginConfig && } +

Pool Plugin Config (uint8)

+
+

{pluginConfig}

+ {defaultPluginConfig !== pluginConfig && ( + + )}
{defaultPluginConfig ? (
-

- Default Plugin Config (uint8) -

-

{defaultPluginConfig}

+

Default Plugin Config (uint8)

+

{defaultPluginConfig}

) : null}
@@ -135,102 +119,72 @@ const ManagePlugins = ({ poolId }: IManagePlugins) => { <>
- handleCheckFlag('AFTER_SWAP_FLAG') - } + onCheckedChange={() => handleCheckFlag("AFTER_SWAP_FLAG")} />
- handleCheckFlag('BEFORE_SWAP_FLAG') - } + onCheckedChange={() => handleCheckFlag("BEFORE_SWAP_FLAG")} />
{ - handleCheckFlag('DYNAMIC_FEE_FLAG'); + handleCheckFlag("DYNAMIC_FEE_FLAG"); }} />
) : ( <>
-

- Swap status -

+

Swap status

{isSwapDisabled ? ( -

Disabled

+

Disabled

) : ( -

Enabled

+

Enabled

)}
-

- Mint / Burn status -

+

Mint / Burn status

{isMintBurnDisabled ? ( -

Disabled

+

Disabled

) : ( -

Enabled

+

Enabled

)}
-

- Flash status -

+

Flash status

{isFlashesDisabled ? ( -

Disabled

+

Disabled

) : ( -

Enabled

+

Enabled

)}
@@ -240,31 +194,30 @@ const ManagePlugins = ({ poolId }: IManagePlugins) => {

Loading...

)} - {flags && pluginId && pluginConfig !== undefined && ( - - - - )} - {pluginId && ( - - - - )} +
+ {flags && pluginId && pluginConfig !== undefined && ( + + + + )} + {pluginId && ( + + + + )} +
); }; diff --git a/src/components/pool/PoolDetails/index.tsx b/src/components/pool/PoolDetails/index.tsx index 355c825..6aa5014 100644 --- a/src/components/pool/PoolDetails/index.tsx +++ b/src/components/pool/PoolDetails/index.tsx @@ -1,6 +1,6 @@ -import DataWithCopyButton from '@/components/common/DataWithCopyButton'; -import { PoolFieldsFragment } from '@/graphql/generated/graphql'; -import { Address } from 'wagmi'; +import DataWithCopyButton from "@/components/common/DataWithCopyButton"; +import { PoolFieldsFragment } from "@/graphql/generated/graphql"; +import { Address } from "wagmi"; interface IPoolDetails { poolId: Address; @@ -10,46 +10,44 @@ interface IPoolDetails { const PoolDetails = ({ pool, poolId }: IPoolDetails) => { console.log(pool); return ( -
-
Pool Details
+
+
Pool Details
-

Pool address

+

Pool address

-

Deployer

+

Deployer

-

TVL USD

-

{pool.totalValueLockedUSD} $

+

TVL USD

+

{pool.totalValueLockedUSD} $

-

Volume USD

-

{pool.volumeUSD} $

+

Volume USD

+

{pool.volumeUSD} $

-

Fee

-

{pool.fee}

+

Fee

+

{pool.fee}

-

Fees USD

-

{pool.feesUSD} $

+

Fees USD

+

{pool.feesUSD} $

-

Untracked Fees USD

-

{pool.untrackedFeesUSD} $

+

Untracked Fees USD

+

{pool.untrackedFeesUSD} $

-

- Current Tick Spacing -

-

{pool.tickSpacing}

+

Current Tick Spacing

+

{pool.tickSpacing}

-

Current Tick

-

{pool.tick}

+

Current Tick

+

{pool.tick}

diff --git a/src/components/pool/PoolSettings/index.tsx b/src/components/pool/PoolSettings/index.tsx index f234feb..192ef25 100644 --- a/src/components/pool/PoolSettings/index.tsx +++ b/src/components/pool/PoolSettings/index.tsx @@ -1,11 +1,11 @@ -import DataWithCopyButton from '@/components/common/DataWithCopyButton'; -import ManagePoolSettingsModal from '@/components/modals/pool/ManagePoolSettingsModal'; -import { ALGEBRA_STUB_PLUGIN, PLUGIN_FACTORY } from '@/constants/addresses'; -import { pluginFactoryABI, useAlgebraPoolPlugin } from '@/generated'; -import { usePool } from '@/hooks/pools/usePool'; -import { Address, useContractRead } from 'wagmi'; -import PoolActivationModal from '@/components/modals/pool/PoolActivationModal'; -import { ADDRESS_ZERO } from '@cryptoalgebra/integral-sdk'; +import DataWithCopyButton from "@/components/common/DataWithCopyButton"; +import ManagePoolSettingsModal from "@/components/modals/pool/ManagePoolSettingsModal"; +import { ALGEBRA_STUB_PLUGIN, PLUGIN_FACTORY } from "@/constants/addresses"; +import { pluginFactoryABI, useAlgebraPoolPlugin } from "@/generated"; +import { usePool } from "@/hooks/pools/usePool"; +import { Address, useContractRead } from "wagmi"; +import PoolActivationModal from "@/components/modals/pool/PoolActivationModal"; +import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; interface IPoolSettings { poolId: Address; @@ -13,7 +13,6 @@ interface IPoolSettings { } const PoolSettings = ({ poolId, deployer }: IPoolSettings) => { - const { data: pluginId } = useAlgebraPoolPlugin({ address: poolId, }); @@ -21,7 +20,7 @@ const PoolSettings = ({ poolId, deployer }: IPoolSettings) => { const { data: basePluginId } = useContractRead({ address: PLUGIN_FACTORY, abi: pluginFactoryABI, - functionName: 'pluginByPool', + functionName: "pluginByPool", args: [poolId], }); @@ -30,46 +29,35 @@ const PoolSettings = ({ poolId, deployer }: IPoolSettings) => { const [, pool] = usePool(poolId); return ( -
-
Pool Settings
+
+
Pool Settings
-

Pool address

+

Pool address

-

Base plugin address

- +

Base plugin address

+
-

Stub plugin address

+

Stub plugin address

-
- - - {deployer === ADDRESS_ZERO && - - } - - + + )} + + @@ -81,7 +69,7 @@ const PoolSettings = ({ poolId, deployer }: IPoolSettings) => { poolId={poolId} title={`Activate Pool ${pool?.token0.symbol} / ${pool?.token1.symbol}`} > - @@ -92,7 +80,7 @@ const PoolSettings = ({ poolId, deployer }: IPoolSettings) => { poolId={poolId} title={`Deactivate Pool ${pool?.token0.symbol} / ${pool?.token1.symbol}`} > - diff --git a/src/components/pools/PoolsList/index.tsx b/src/components/pools/PoolsList/index.tsx index a2574b1..1a43d12 100644 --- a/src/components/pools/PoolsList/index.tsx +++ b/src/components/pools/PoolsList/index.tsx @@ -1,18 +1,18 @@ -import { useAllPoolsQuery } from '@/graphql/generated/graphql'; -import { FormattedPool } from '@/types/pool'; -import { Link } from 'react-router-dom'; -import { useMemo } from 'react'; -import { Address } from 'wagmi'; -import { ADDRESS_ZERO } from '@cryptoalgebra/integral-sdk'; +import { useAllPoolsQuery } from "@/graphql/generated/graphql"; +import { FormattedPool } from "@/types/pool"; +import { Link } from "react-router-dom"; +import { useMemo } from "react"; +import { Address } from "wagmi"; +import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; const deployers: { [key: string]: string } = { - '0x7e3387e0595552e992ede4476417704703866e5a': 'HAVE PLUGIN', - '0xbb75acad36f08201a49a6dd077229d95f4e7bd50': 'NO PLUGIN', - [ADDRESS_ZERO]: 'BASE' -} + "0x7e3387e0595552e992ede4476417704703866e5a": "HAVE PLUGIN", + "0xbb75acad36f08201a49a6dd077229d95f4e7bd50": "NO PLUGIN", + [ADDRESS_ZERO]: "BASE", +}; const PoolHeader = () => ( -
+
Pool
Deployer
TVL
@@ -24,53 +24,51 @@ const PoolHeader = () => ( const PoolRow = (pool: FormattedPool) => { return ( -
+
{pool.pair.token0 && pool.pair.token1 && ( -
-
Pool
-
-

- {`${pool.pair.token0.symbol} / ${pool.pair.token1.symbol}`} -

-
{`${pool.fee}%`}
+
+
Pool
+
+ {`${pool.pair.token0.symbol} / ${pool.pair.token1.symbol}`} + {`${pool.fee}%`}
)} - { - pool.deployer &&
-
Deployer
-
{deployers[pool.deployer]}
+ {pool.deployer && ( +
+
Deployer
+
{deployers[pool.deployer]}
- } + )} {pool.tvlUSD ? ( -
-
Pool
-
{`$${pool.tvlUSD.toFixed(2)}`}
+
+
TVL
+
{`$${pool.tvlUSD.toFixed(2)}`}
) : ( -
$0
+
$0
)} {pool.volume24USD ? ( -
-
Pool
-
{`$${pool.volume24USD.toFixed(2)}`}
+
+
Volume 24H
+
{`$${pool.volume24USD.toFixed(2)}`}
) : ( -
$0
+
$0
)} {pool.apr ? ( -
-
Pool
-
{pool.apr}
+
+
APR
+
{pool.apr}
) : ( -
0
+
0
)}
Manage → @@ -85,30 +83,28 @@ const PoolsList = () => { const formattedPools: FormattedPool[] = useMemo(() => { if (!pools?.pools) return []; - return pools.pools.map( - ({ id, token0, token1, fee, totalValueLockedUSD, volumeUSD, deployer }) => ({ - id: id as Address, - pair: { - token0, - token1, - }, - deployer, - fee: Number(fee) / 10_000, - tvlUSD: Number(totalValueLockedUSD), - volume24USD: Number(volumeUSD), - apr: 0, - }) - ); + return pools.pools.map(({ id, token0, token1, fee, totalValueLockedUSD, volumeUSD, deployer }) => ({ + id: id as Address, + pair: { + token0, + token1, + }, + deployer, + fee: Number(fee) / 10_000, + tvlUSD: Number(totalValueLockedUSD), + volume24USD: Number(volumeUSD), + apr: 0, + })); }, [pools]); return ( -
+
{loading ? ( - 'Loading...' +
Loading...
) : (
-
+
{formattedPools.map((pool) => ( ))} diff --git a/src/components/ui/input.tsx b/src/components/ui/input.tsx index a000136..ec5718d 100644 --- a/src/components/ui/input.tsx +++ b/src/components/ui/input.tsx @@ -1,57 +1,43 @@ -import * as React from 'react'; +import * as React from "react"; -import { cn } from '@/lib/utils'; +import { cn } from "@/lib/utils"; const inputRegex = RegExp(`^\\d*(?:\\\\[.])?\\d*$`); -export interface InputProps - extends React.InputHTMLAttributes { +export interface InputProps extends React.InputHTMLAttributes { onUserInput?: (value: string) => void; maxDecimals?: number; } -const Input = React.forwardRef( - ({ className, type, onUserInput, maxDecimals = 18, ...props }, ref) => { - return ( - { - let value = e.target.value.replace(/,/g, '.'); - if (value === '.') { - value = '0.'; - } - value = - value.indexOf('.') >= 0 - ? value.slice( - 0, - value.indexOf('.') + maxDecimals + 1 - ) - : value; - if ( - value === '' || - inputRegex.test( - value.trim().replace(/[.*+?^${}()|[\]\\]/g, '\\$&') - ) - ) { - onUserInput && onUserInput(value); - } - }} - inputMode={'decimal'} - pattern="^[0-9]*[.,]?[0-9]*$" - minLength={1} - maxLength={100} - spellCheck="false" - autoComplete="off" - autoCorrect="off" - {...props} - /> - ); - } -); -Input.displayName = 'Input'; +const Input = React.forwardRef(({ className, type, onUserInput, maxDecimals = 18, ...props }, ref) => { + return ( + { + let value = e.target.value.replace(/,/g, "."); + if (value === ".") { + value = "0."; + } + value = value.indexOf(".") >= 0 ? value.slice(0, value.indexOf(".") + maxDecimals + 1) : value; + if (value === "" || inputRegex.test(value.trim().replace(/[.*+?^${}()|[\]\\]/g, "\\$&"))) { + onUserInput && onUserInput(value); + } + }} + inputMode={"decimal"} + pattern="^[0-9]*[.,]?[0-9]*$" + minLength={1} + maxLength={100} + spellCheck="false" + autoComplete="off" + autoCorrect="off" + {...props} + /> + ); +}); +Input.displayName = "Input"; export { Input }; diff --git a/src/components/ui/select.tsx b/src/components/ui/select.tsx index 68b2d00..9830970 100644 --- a/src/components/ui/select.tsx +++ b/src/components/ui/select.tsx @@ -1,158 +1,138 @@ -import * as React from "react" -import * as SelectPrimitive from "@radix-ui/react-select" -import { Check, ChevronDown, ChevronUp } from "lucide-react" +import * as React from "react"; +import * as SelectPrimitive from "@radix-ui/react-select"; +import { Check, ChevronDown, ChevronUp } from "lucide-react"; -import { cn } from "@/lib/utils" +import { cn } from "@/lib/utils"; -const Select = SelectPrimitive.Root +const Select = SelectPrimitive.Root; -const SelectGroup = SelectPrimitive.Group +const SelectGroup = SelectPrimitive.Group; -const SelectValue = SelectPrimitive.Value +const SelectValue = SelectPrimitive.Value; const SelectTrigger = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => ( - span]:line-clamp-1", - className - )} - {...props} - > - {children} - - - - -)) -SelectTrigger.displayName = SelectPrimitive.Trigger.displayName + span]:line-clamp-1", + className + )} + {...props} + > + {children} + + + + +)); +SelectTrigger.displayName = SelectPrimitive.Trigger.displayName; const SelectScrollUpButton = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( - - - -)) -SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName + + + +)); +SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName; const SelectScrollDownButton = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( - - - -)) -SelectScrollDownButton.displayName = - SelectPrimitive.ScrollDownButton.displayName + + + +)); +SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName; const SelectContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, children, position = "popper", ...props }, ref) => ( - - - - - {children} - - - - -)) -SelectContent.displayName = SelectPrimitive.Content.displayName + + + + + {children} + + + + +)); +SelectContent.displayName = SelectPrimitive.Content.displayName; const SelectLabel = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( - -)) -SelectLabel.displayName = SelectPrimitive.Label.displayName + +)); +SelectLabel.displayName = SelectPrimitive.Label.displayName; const SelectItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => ( - - - - - - + + + + + + - {children} - -)) -SelectItem.displayName = SelectPrimitive.Item.displayName + {children} + +)); +SelectItem.displayName = SelectPrimitive.Item.displayName; const SelectSeparator = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( - -)) -SelectSeparator.displayName = SelectPrimitive.Separator.displayName + +)); +SelectSeparator.displayName = SelectPrimitive.Separator.displayName; export { - Select, - SelectGroup, - SelectValue, - SelectTrigger, - SelectContent, - SelectLabel, - SelectItem, - SelectSeparator, - SelectScrollUpButton, - SelectScrollDownButton, -} + Select, + SelectGroup, + SelectValue, + SelectTrigger, + SelectContent, + SelectLabel, + SelectItem, + SelectSeparator, + SelectScrollUpButton, + SelectScrollDownButton, +}; diff --git a/src/generated.ts b/src/generated.ts index 595fc9a..b4bec36 100644 --- a/src/generated.ts +++ b/src/generated.ts @@ -1,4 +1,4 @@ -// Generated by @wagmi/cli@1.0.0 on 11/7/2025 at 1:33:25 PM +// Generated by @wagmi/cli@1.0.0 on 21.11.2025 at 18:57:08 import { getContract, GetContractArgs, diff --git a/src/index.css b/src/index.css index 41edf6c..dfa9bf5 100644 --- a/src/index.css +++ b/src/index.css @@ -4,65 +4,35 @@ @layer base { :root { - --background: 0 0% 100%; - --foreground: 240 10% 3.9%; + --background: oklch(1 0 0); + --foreground: oklch(0.145 0 0); - --card: 0 0% 100%; - --card-foreground: 240 10% 3.9%; + --card: oklch(1 0 0); + --card-foreground: oklch(0.145 0 0); - --popover: 0 0% 100%; - --popover-foreground: 240 10% 3.9%; + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.145 0 0); - --primary: 240 5.9% 10%; - --primary-foreground: 0 0% 98%; + --primary: #171717; + --primary-foreground: oklch(0.985 0 0); - --secondary: 240 4.8% 95.9%; - --secondary-foreground: 240 5.9% 10%; + --secondary: oklch(0.97 0 0); + --secondary-foreground: oklch(0.205 0 0); - --muted: 240 4.8% 95.9%; - --muted-foreground: 240 3.8% 46.1%; + --muted: oklch(0.97 0 0); + --muted-foreground: oklch(0.556 0 0); - --accent: 240 4.8% 95.9%; - --accent-foreground: 240 5.9% 10%; + --accent: oklch(0.97 0 0); + --accent-foreground: oklch(0.205 0 0); - --destructive: 0 84.2% 60.2%; + --destructive: oklch(0.577 0.245 27.325); --destructive-foreground: 0 0% 98%; - --border: 240 5.9% 90%; - --input: 240 5.9% 90%; - --ring: 240 10% 3.9%; + --border: oklch(0.922 0 0); + --input: oklch(0.922 0 0); + --ring: oklch(0.708 0 0); - --radius: 0.5rem; - } - - .dark { - --background: 240 10% 3.9%; - --foreground: 0 0% 98%; - - --card: 240 10% 3.9%; - --card-foreground: 0 0% 98%; - - --popover: 240 10% 3.9%; - --popover-foreground: 0 0% 98%; - - --primary: 0 0% 98%; - --primary-foreground: 240 5.9% 10%; - - --secondary: 240 3.7% 15.9%; - --secondary-foreground: 0 0% 98%; - - --muted: 240 3.7% 15.9%; - --muted-foreground: 240 5% 64.9%; - - --accent: 240 3.7% 15.9%; - --accent-foreground: 0 0% 98%; - - --destructive: 0 62.8% 30.6%; - --destructive-foreground: 0 0% 98%; - - --border: 240 3.7% 15.9%; - --input: 240 3.7% 15.9%; - --ring: 240 4.9% 83.9%; + --radius: 0.625rem; } } @@ -71,18 +41,18 @@ @apply border-border; } body { - @apply bg-background text-foreground; + @apply bg-background text-foreground font-sans; } } -input[type='number']::-webkit-outer-spin-button, -input[type='number']::-webkit-inner-spin-button { +input[type="number"]::-webkit-outer-spin-button, +input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; } -input[type='number'], -input[type='number']:hover, -input[type='number']:focus { +input[type="number"], +input[type="number"]:hover, +input[type="number"]:focus { appearance: none; -moz-appearance: textfield; } diff --git a/src/pages/Farms/index.tsx b/src/pages/Farms/index.tsx index 17f10c7..94a0e02 100644 --- a/src/pages/Farms/index.tsx +++ b/src/pages/Farms/index.tsx @@ -3,18 +3,18 @@ import PageContainer from "../../components/common/PageContainer"; import { Link } from "react-router-dom"; const FarmsPage = () => { + return ( + +
+
Farms
+ + + New Farm + +
- return -
-
Farms
- - + New Farm - -
+ +
+ ); +}; - -
- -} - -export default FarmsPage; \ No newline at end of file +export default FarmsPage; diff --git a/src/pages/Pools/index.tsx b/src/pages/Pools/index.tsx index 65be349..0c44619 100644 --- a/src/pages/Pools/index.tsx +++ b/src/pages/Pools/index.tsx @@ -1,6 +1,7 @@ -import PoolsList from '@/components/pools/PoolsList'; -import PageContainer from '../../components/common/PageContainer'; -import PoolsDefaultSettingsModal from '@/components/modals/PoolsDefaultSettingsModal'; +import PoolsList from "@/components/pools/PoolsList"; +import PageContainer from "../../components/common/PageContainer"; +import PoolsDefaultSettingsModal from "@/components/modals/PoolsDefaultSettingsModal"; +import { Settings } from "lucide-react"; const PoolsPage = () => { return ( @@ -8,7 +9,8 @@ const PoolsPage = () => {
Pools
- diff --git a/src/utils/common/truncateHash.ts b/src/utils/common/truncateHash.ts new file mode 100644 index 0000000..9925ef8 --- /dev/null +++ b/src/utils/common/truncateHash.ts @@ -0,0 +1,7 @@ +import { Address } from "viem"; + +export function truncateHash(address: Address, startLength = 4, endLength = 4) { + if (!address) return ""; + + return `${address.substring(0, startLength)}...${address.substring(address.length - endLength)}`; +} diff --git a/src/wagmi.ts b/src/wagmi.ts index 98026f1..a11d402 100644 --- a/src/wagmi.ts +++ b/src/wagmi.ts @@ -7,34 +7,30 @@ import { WalletConnectConnector } from 'wagmi/connectors/walletConnect' import { publicProvider } from 'wagmi/providers/public' export const plasma = defineChain({ - id: 531050204, - name: 'SophonOS', - network: 'sophon-os', - nativeCurrency: { - name: 'SOPH', - symbol: 'SOPH', - decimals: 18, - }, - rpcUrls: { - default: { - http: ['https://rpc.plasma.to'], + id: 531050204, + network: "sophon-os-testnet", + name: "SophonOSTestnet", + nativeCurrency: { name: "SOPH", symbol: "SOPH", decimals: 18 }, + rpcUrls: { + default: { + http: ["https://zksync-os-testnet-sophon.zksync.dev"], + }, + public: { + http: ["https://zksync-os-testnet-sophon.zksync.dev"], + }, }, - public: { - http: ['https://rpc.plasma.to'] - } - }, - blockExplorers: { - default: { - name: 'SophonScan', - url: 'https://zksync-os-testnet-sophon.zksync.dev', + blockExplorers: { + default: { + name: "SophonOSTestnet", + url: "https://block-explorer.zksync-os-testnet-sophon.zksync.dev", + }, }, - }, - contracts: { - multicall3: { - address: '0xcA11bde05977b3631167028862bE2a173976CA11', - blockCreated: 1468, + contracts: { + multicall3: { + address: "0xca11bde05977b3631167028862be2a173976ca11", + blockCreated: 1468, + }, }, - }, }) const { chains, publicClient, webSocketPublicClient } = configureChains( diff --git a/tailwind.config.js b/tailwind.config.js index 7cb7e37..d543bef 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,77 +1,75 @@ /** @type {import('tailwindcss').Config} */ module.exports = { - darkMode: ["class"], - content: [ - './pages/**/*.{ts,tsx}', - './components/**/*.{ts,tsx}', - './app/**/*.{ts,tsx}', - './src/**/*.{ts,tsx}', - ], - prefix: "", - theme: { - container: { - center: true, - padding: "2rem", - screens: { - "2xl": "1400px", - }, - }, - extend: { - colors: { - border: "hsl(var(--border))", - input: "hsl(var(--input))", - ring: "hsl(var(--ring))", - background: "hsl(var(--background))", - foreground: "hsl(var(--foreground))", - primary: { - DEFAULT: "hsl(var(--primary))", - foreground: "hsl(var(--primary-foreground))", - }, - secondary: { - DEFAULT: "hsl(var(--secondary))", - foreground: "hsl(var(--secondary-foreground))", - }, - destructive: { - DEFAULT: "hsl(var(--destructive))", - foreground: "hsl(var(--destructive-foreground))", - }, - muted: { - DEFAULT: "hsl(var(--muted))", - foreground: "hsl(var(--muted-foreground))", - }, - accent: { - DEFAULT: "hsl(var(--accent))", - foreground: "hsl(var(--accent-foreground))", - }, - popover: { - DEFAULT: "hsl(var(--popover))", - foreground: "hsl(var(--popover-foreground))", - }, - card: { - DEFAULT: "hsl(var(--card))", - foreground: "hsl(var(--card-foreground))", - }, - }, - borderRadius: { - lg: "var(--radius)", - md: "calc(var(--radius) - 2px)", - sm: "calc(var(--radius) - 4px)", - }, - keyframes: { - "accordion-down": { - from: { height: "0" }, - to: { height: "var(--radix-accordion-content-height)" }, + darkMode: ["class"], + content: ["./pages/**/*.{ts,tsx}", "./components/**/*.{ts,tsx}", "./app/**/*.{ts,tsx}", "./src/**/*.{ts,tsx}"], + prefix: "", + theme: { + container: { + center: true, + padding: "2rem", + screens: { + "2xl": "1400px", + }, }, - "accordion-up": { - from: { height: "var(--radix-accordion-content-height)" }, - to: { height: "0" }, + extend: { + fontFamily: { + sans: ["Inter", "sans-serif"], + }, + colors: { + border: "var(--border)", + input: "var(--input)", + ring: "var(--ring)", + background: "var(--background)", + foreground: "var(--foreground)", + primary: { + DEFAULT: "var(--primary)", + foreground: "var(--primaryforeground))", + }, + secondary: { + DEFAULT: "var(--secondary)", + foreground: "var(--secondaryforeground))", + }, + destructive: { + DEFAULT: "var(--destructive)", + foreground: "var(--destructiveforeground))", + }, + muted: { + DEFAULT: "var(--muted)", + foreground: "var(--mutedforeground))", + }, + accent: { + DEFAULT: "var(--accent)", + foreground: "var(--accentforeground))", + }, + popover: { + DEFAULT: "var(--popover)", + foreground: "var(--popoverforeground))", + }, + card: { + DEFAULT: "var(--card)", + foreground: "var(--cardforeground))", + }, + }, + borderRadius: { + lg: "var(--radius)", + md: "calc(var(--radius) - 2px)", + sm: "calc(var(--radius) - 4px)", + }, + keyframes: { + "accordion-down": { + from: { height: "0" }, + to: { height: "var(--radix-accordion-content-height)" }, + }, + "accordion-up": { + from: { height: "var(--radix-accordion-content-height)" }, + to: { height: "0" }, + }, + }, + animation: { + "accordion-down": "accordion-down 0.2s ease-out", + "accordion-up": "accordion-up 0.2s ease-out", + }, }, - }, - animation: { - "accordion-down": "accordion-down 0.2s ease-out", - "accordion-up": "accordion-up 0.2s ease-out", - }, }, - }, - plugins: [require("tailwindcss-animate")], -} \ No newline at end of file + plugins: [require("tailwindcss-animate")], +}; From c24ab035c78655ab9aba7e7222c71ce856f12539 Mon Sep 17 00:00:00 2001 From: Kirill S Date: Fri, 21 Nov 2025 19:05:38 +0300 Subject: [PATCH 14/20] chore fix --- image.png | Bin 93836 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 image.png diff --git a/image.png b/image.png deleted file mode 100644 index b1ff68b42b32fb83a2b77b70b7167b490afd94f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93836 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

%NzlLx>d-jndwm>xxi=1CU7Uq&thnt4${}O{r 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 z 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 Date: Mon, 8 Dec 2025 12:35:18 +0300 Subject: [PATCH 15/20] fix native logo, check balances --- src/assets/sophon-logo-dark.png | Bin 0 -> 6038 bytes src/components/common/CurrencyLogo/index.tsx | 141 +++++++++--------- .../farms/CreateFarmButton/index.tsx | 33 +++- src/constants/default-chain-id.ts | 6 +- 4 files changed, 101 insertions(+), 79 deletions(-) create mode 100644 src/assets/sophon-logo-dark.png diff --git a/src/assets/sophon-logo-dark.png b/src/assets/sophon-logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..56816b9a1d9e8dc442baa7f6b216c7e477668236 GIT binary patch literal 6038 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 { - if (!currency) return; - // if (!currency) return +const CurrencyLogo = ({ currency, size, className, style = {} }: CurrencyLogoProps) => { + if (!currency) return; + // if (!currency) return - const address = currency.wrapped.address.toLowerCase() as Address; + const address = currency.wrapped.address.toLowerCase() as Address; - const classString = cn( - `w-[${size}px] h-[${size}px] min-w-[${size}px] min-h-[${size}px] bg-card-dark rounded-full`, - className - ); + const classString = cn(`w-[${size}px] h-[${size}px] min-w-[${size}px] min-h-[${size}px] bg-black rounded-full`, className); - if (address in specialTokens) { - return ( - {specialTokens[address].symbol} - ); - } + if (address in specialTokens) { + return ( + {specialTokens[address].symbol} + ); + } + + if (currency.isNative) { + return ( + {"SOPH"} + ); + } - if (currency.isNative) { return ( - {"WSOPH"} +

+ {currency.symbol?.slice(0, 2)} +
); - } - - return ( -
- {currency.symbol?.slice(0, 2)} -
- ); }; export default CurrencyLogo; diff --git a/src/components/farms/CreateFarmButton/index.tsx b/src/components/farms/CreateFarmButton/index.tsx index 746ef0c..5871efc 100644 --- a/src/components/farms/CreateFarmButton/index.tsx +++ b/src/components/farms/CreateFarmButton/index.tsx @@ -11,7 +11,8 @@ import { IRewards } from "@/types/rewards"; import { tryParseAmount } from "@cryptoalgebra/integral-sdk"; import { useEffect } from "react"; import { useNavigate } from "react-router-dom"; -import { useContractWrite, usePrepareContractWrite } from "wagmi"; +import { Address } from "viem"; +import { useAccount, useBalance, useContractWrite, usePrepareContractWrite } from "wagmi"; interface ICreateFarmButton { hasSecondReward: boolean; @@ -25,6 +26,7 @@ const CreateFarmButton = ({ rewards: { reward, rewardBn, rewardRateBn, bonusReward, bonusRewardBn, bonusRewardRateBn }, }: ICreateFarmButton) => { const navigate = useNavigate(); + const { address: account } = useAccount(); const { data: plugin } = useAlgebraPoolPlugin({ address: pool, @@ -37,6 +39,22 @@ const CreateFarmButton = ({ const rewardCurrency = useCurrency(rewardToken); const bonusRewardCurrency = useCurrency(bonusRewardToken); + const { data: rewardBalance } = useBalance({ + address: account, + token: rewardToken as Address, + enabled: Boolean(account && rewardToken), + }); + + const { data: bonusRewardBalance } = useBalance({ + address: account, + token: bonusRewardToken as Address, + enabled: Boolean(account && bonusRewardToken && hasSecondReward), + }); + + const isRewardBalanceInsufficient = rewardBn && rewardBalance ? rewardBn > rewardBalance.value : false; + const isBonusRewardBalanceInsufficient = + hasSecondReward && bonusRewardBn && bonusRewardBalance ? bonusRewardBn > bonusRewardBalance.value : false; + const [parsedRewardAmount, parsedBonusRewardAmount] = [ tryParseAmount(reward, rewardCurrency), tryParseAmount(bonusReward, bonusRewardCurrency), @@ -90,7 +108,18 @@ const CreateFarmButton = ({ } }, [isSuccess, navigate]); - const isDisabled = !isKeyReady || !areRewardsReady || !onCreate || isLoading; + const isDisabled = + !isKeyReady || !areRewardsReady || !onCreate || isLoading || isRewardBalanceInsufficient || isBonusRewardBalanceInsufficient; + + if (isRewardBalanceInsufficient || isBonusRewardBalanceInsufficient) { + return ( +
+ +
+ ); + } if (showApproveReward) return ( diff --git a/src/constants/default-chain-id.ts b/src/constants/default-chain-id.ts index 8fe0fc6..e896816 100644 --- a/src/constants/default-chain-id.ts +++ b/src/constants/default-chain-id.ts @@ -1,6 +1,6 @@ import { ChainId } from "@cryptoalgebra/integral-sdk"; export const DEFAULT_CHAIN_NAME = "SophonOS"; -export const DEFAULT_NATIVE_SYMBOL = "WSOP"; -export const DEFAULT_NATIVE_NAME = "WSOP"; -export const DEFAULT_CHAIN_ID = ChainId.SophonOSTestnet; \ No newline at end of file +export const DEFAULT_NATIVE_SYMBOL = "SOPH"; +export const DEFAULT_NATIVE_NAME = "SOPH"; +export const DEFAULT_CHAIN_ID = ChainId.SophonOSTestnet; From b68297b7f5e7c6b774ddc89c26e70d7e6d36ff42 Mon Sep 17 00:00:00 2001 From: Kirill S Date: Tue, 9 Dec 2025 02:22:59 +0300 Subject: [PATCH 16/20] refactor: bump deps, add config --- .env | 7 +- .eslintrc.cjs | 58 +- codegen.ts | 31 +- {src => config}/abis/algebraBasePlugin.ts | 0 {src => config}/abis/algebraFactory.ts | 0 {src => config}/abis/algebraPool.ts | 0 {src => config}/abis/algebraStubPlugin.ts | 0 {src => config}/abis/algebraVirtualPool.ts | 0 {src => config}/abis/eternalFarming.ts | 0 {src => config}/abis/farmingCenter.ts | 0 {src => config}/abis/index.ts | 0 {src => config}/abis/pluginFactory.ts | 0 config/app-modules.ts | 8 + config/colors.css | 19 + config/contract-addresses.ts | 26 + config/default-chain.ts | 26 + config/graphql-urls.ts | 9 + config/index.ts | 6 + config/wagmi.ts | 75 + package-lock.json | 3881 ---- package.json | 135 +- postcss.config.js | 6 - public/sophon-logo.png | Bin 0 -> 1272 bytes src/App.css | 50 - src/App.tsx | 18 +- src/components/common/AdminAccount/index.tsx | 6 +- src/components/common/CurrencyLogo/index.tsx | 2 +- src/components/common/Header/index.tsx | 72 +- src/components/farm/FarmDetails/index.tsx | 38 +- src/components/farms/CreateFarm/index.tsx | 11 +- .../farms/CreateFarmButton/index.tsx | 78 +- src/components/farms/FarmList/index.tsx | 6 +- .../PoolsDefaultSettingsModal/index.tsx | 67 +- .../modals/farm/ManageRewardsModal/index.tsx | 36 +- .../pool/ChangePluginAddressModal/index.tsx | 25 +- .../pool/ManagePoolSettingsModal/index.tsx | 75 +- .../modals/pool/PoolActivationModal/index.tsx | 23 +- src/components/pool/ManagePlugins/index.tsx | 37 +- src/components/pool/PoolDetails/index.tsx | 2 +- src/components/pool/PoolSettings/index.tsx | 21 +- src/components/pool/TokensDetails/index.tsx | 2 +- src/components/pools/PoolsList/index.tsx | 2 +- src/components/ui/button.tsx | 51 + src/generated.ts | 16041 ++++++++-------- src/graphql/clients/index.ts | 18 +- src/graphql/generated/graphql.tsx | 56 + src/graphql/utils/createApolloClient.ts | 4 + src/hooks/common/useAlgebraToken.ts | 58 +- src/hooks/common/useApprove.ts | 112 +- src/hooks/common/useCurrency.ts | 36 +- src/hooks/common/useNeedAllowance.ts | 45 +- src/hooks/common/useTransactionAwait.tsx | 47 +- src/hooks/farms/useFarmData.ts | 189 +- src/hooks/graphql/useClients.ts | 11 + src/hooks/pools/usePluginFlags.ts | 10 +- src/hooks/pools/usePool.ts | 152 +- src/index.css | 72 +- src/main.tsx | 77 +- src/modules/__empty_module.ts | 8 + src/modules/generate-empty-module.ts | 88 + src/modules/utils.ts | 24 + src/pages/Farm/index.tsx | 181 +- src/pages/Pool/index.tsx | 2 +- src/providers/ApolloProvider.tsx | 7 + src/providers/RouterProvider.tsx | 43 + src/providers/WagmiProvider.tsx | 37 + src/providers/index.tsx | 13 + src/tailwind.css | 58 + src/types/pool.ts | 2 +- src/utils/common/cn.ts | 6 + src/utils/common/formatAmount.ts | 61 + src/wagmi.ts | 58 - tailwind.config.js | 62 +- tsconfig.json | 55 +- tsconfig.node.json | 17 +- vite.config.ts | 78 +- wagmi.config.ts | 76 +- yarn.lock | 7678 ++++---- 78 files changed, 12905 insertions(+), 17486 deletions(-) rename {src => config}/abis/algebraBasePlugin.ts (100%) rename {src => config}/abis/algebraFactory.ts (100%) rename {src => config}/abis/algebraPool.ts (100%) rename {src => config}/abis/algebraStubPlugin.ts (100%) rename {src => config}/abis/algebraVirtualPool.ts (100%) rename {src => config}/abis/eternalFarming.ts (100%) rename {src => config}/abis/farmingCenter.ts (100%) rename {src => config}/abis/index.ts (100%) rename {src => config}/abis/pluginFactory.ts (100%) create mode 100644 config/app-modules.ts create mode 100644 config/colors.css create mode 100644 config/contract-addresses.ts create mode 100644 config/default-chain.ts create mode 100644 config/graphql-urls.ts create mode 100644 config/index.ts create mode 100644 config/wagmi.ts delete mode 100644 package-lock.json delete mode 100644 postcss.config.js create mode 100644 public/sophon-logo.png delete mode 100644 src/App.css create mode 100644 src/components/ui/button.tsx create mode 100644 src/graphql/utils/createApolloClient.ts create mode 100644 src/hooks/graphql/useClients.ts create mode 100644 src/modules/__empty_module.ts create mode 100644 src/modules/generate-empty-module.ts create mode 100644 src/modules/utils.ts create mode 100644 src/providers/ApolloProvider.tsx create mode 100644 src/providers/RouterProvider.tsx create mode 100644 src/providers/WagmiProvider.tsx create mode 100644 src/providers/index.tsx create mode 100644 src/tailwind.css create mode 100644 src/utils/common/cn.ts create mode 100644 src/utils/common/formatAmount.ts delete mode 100644 src/wagmi.ts diff --git a/.env b/.env index 6fb9256..2330a89 100644 --- a/.env +++ b/.env @@ -1,5 +1,2 @@ -VITE_INFO_GRAPH=https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-analytics/v1.0.0/gn -VITE_BLOCKS_GRAPH=https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-blocks/v1.0.0/gn -VITE_FARMING_GRAPH=https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-farms/v1.0.0/gn -VITE_INFURA_RPC=https://zksync-os-testnet-sophon.zksync.dev -VITE_WALLETCONNECT_PROJECT_ID=ec3b13417cc829a50ded0f1534a6fc47 +VITE_REOWN_PROJECT_ID=ec3b13417cc829a50ded0f1534a6fc47 +VITE_GRAPH_API_KEY=68386d41ea4c7e40566e44ee7c88c0dc \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs index d6c9537..5af2ecc 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,18 +1,42 @@ module.exports = { - root: true, - env: { browser: true, es2020: true }, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:react-hooks/recommended', - ], - ignorePatterns: ['dist', '.eslintrc.cjs'], - parser: '@typescript-eslint/parser', - plugins: ['react-refresh'], - rules: { - 'react-refresh/only-export-components': [ - 'warn', - { allowConstantExport: true }, - ], - }, -} + root: true, + env: { browser: true, es2020: true }, + extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:react-hooks/recommended"], + ignorePatterns: ["dist", ".eslintrc.cjs"], + parser: "@typescript-eslint/parser", + plugins: ["react-refresh"], + rules: { + "no-restricted-imports": [ + "error", + { + patterns: [ + { + group: ["@/modules/*/components", "@/modules/*/components/*"], + message: `Direct imports from "components" folders are restricted. +Please import from the module root instead, for example: + +import ModuleName from "@/modules/ModuleName"; +const { SomeComponent } = ModuleName.components;`, + }, + { + group: ["@/modules/*/hooks", "@/modules/*/hooks/*"], + message: `Direct imports from "hooks" folders are restricted. +Please import from the module root instead, for example: + +import ModuleName from "@/modules/ModuleName"; +const { useSomeHook } = ModuleName.hooks;`, + }, + { + group: ["@/modules/*/utils", "@/modules/*/utils/*"], + message: `Direct imports from "utils" folders are restricted. +Please import from the module root instead, for example: + +import ModuleName from "@/modules/ModuleName"; +const { someUtility } = ModuleName.utils;`, + }, + ], + }, + ], + "@typescript-eslint/no-explicit-any": ["off"], + }, +}; diff --git a/codegen.ts b/codegen.ts index dfdbb9c..36f4b61 100644 --- a/codegen.ts +++ b/codegen.ts @@ -1,26 +1,19 @@ +import { INFO_GRAPH_URL, FARMING_GRAPH_URL, DEFAULT_CHAIN_ID } from "./config"; import type { CodegenConfig } from "@graphql-codegen/cli"; const config: CodegenConfig = { - overwrite: true, - schema: [ - "https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-analytics/v1.0.0/gn", - "https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-blocks/v1.0.0/gn", - "https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-farms/v1.0.0/gn", - ], - documents: "src/graphql/queries/!(*.d).{ts,tsx}", - generates: { - "src/graphql/generated/graphql.tsx": { - plugins: [ - "typescript", - "typescript-operations", - "typescript-react-apollo", - ], - config: { - withHooks: true, - withResultType: true, - }, + overwrite: true, + schema: [INFO_GRAPH_URL[DEFAULT_CHAIN_ID], FARMING_GRAPH_URL[DEFAULT_CHAIN_ID]], + documents: "src/graphql/queries/!(*.d).{ts,tsx}", + generates: { + "src/graphql/generated/graphql.tsx": { + plugins: ["typescript", "typescript-operations", "typescript-react-apollo"], + config: { + withHooks: true, + withResultType: true, + }, + }, }, - }, }; export default config; diff --git a/src/abis/algebraBasePlugin.ts b/config/abis/algebraBasePlugin.ts similarity index 100% rename from src/abis/algebraBasePlugin.ts rename to config/abis/algebraBasePlugin.ts diff --git a/src/abis/algebraFactory.ts b/config/abis/algebraFactory.ts similarity index 100% rename from src/abis/algebraFactory.ts rename to config/abis/algebraFactory.ts diff --git a/src/abis/algebraPool.ts b/config/abis/algebraPool.ts similarity index 100% rename from src/abis/algebraPool.ts rename to config/abis/algebraPool.ts diff --git a/src/abis/algebraStubPlugin.ts b/config/abis/algebraStubPlugin.ts similarity index 100% rename from src/abis/algebraStubPlugin.ts rename to config/abis/algebraStubPlugin.ts diff --git a/src/abis/algebraVirtualPool.ts b/config/abis/algebraVirtualPool.ts similarity index 100% rename from src/abis/algebraVirtualPool.ts rename to config/abis/algebraVirtualPool.ts diff --git a/src/abis/eternalFarming.ts b/config/abis/eternalFarming.ts similarity index 100% rename from src/abis/eternalFarming.ts rename to config/abis/eternalFarming.ts diff --git a/src/abis/farmingCenter.ts b/config/abis/farmingCenter.ts similarity index 100% rename from src/abis/farmingCenter.ts rename to config/abis/farmingCenter.ts diff --git a/src/abis/index.ts b/config/abis/index.ts similarity index 100% rename from src/abis/index.ts rename to config/abis/index.ts diff --git a/src/abis/pluginFactory.ts b/config/abis/pluginFactory.ts similarity index 100% rename from src/abis/pluginFactory.ts rename to config/abis/pluginFactory.ts diff --git a/config/app-modules.ts b/config/app-modules.ts new file mode 100644 index 0000000..5a95826 --- /dev/null +++ b/config/app-modules.ts @@ -0,0 +1,8 @@ +export enum AppFeatureModule { + FarmingModule = "FarmingModule", +} + +/* configure enabled modules here */ +export const enabledModules: Record = { + [AppFeatureModule.FarmingModule]: true, +}; diff --git a/config/colors.css b/config/colors.css new file mode 100644 index 0000000..27e0290 --- /dev/null +++ b/config/colors.css @@ -0,0 +1,19 @@ +:root { + /* BRAND */ + --primary-100: #0a0a0a; + --primary-200: #171717; + --primary-300: #ffffff1a; + + /* ACCENT */ + --accent-100: #ff6467; + --accent-200: #ffb1b3; + + /* TEXT */ + --text-100: #0a0a0a; /* text color */ + --text-200: #ffffff1a; /* muted text color */ + + /* BACKGROUND */ + --bg-100: #fafafa; /* app background */ + --bg-200: #f5f5f5; /* card background */ + --bg-300: #dedede; /* border color */ +} diff --git a/config/contract-addresses.ts b/config/contract-addresses.ts new file mode 100644 index 0000000..ecdcaf0 --- /dev/null +++ b/config/contract-addresses.ts @@ -0,0 +1,26 @@ +import { ChainId } from "@cryptoalgebra/integral-sdk"; +import { Address } from "viem"; + +/* Algebra Core */ +export const ALGEBRA_FACTORY: Record = { + [ChainId.SophonOSTestnet]: "0x10253594A832f967994b44f33411940533302ACb", +}; + +/* Plugin Factory */ +export const PLUGIN_FACTORY: Record = { + [ChainId.SophonOSTestnet]: "0xFe3BEcd788320465ab649015F34F7771220A88b2", +}; + +/* Farming */ +export const ALGEBRA_ETERNAL_FARMING: Record = { + [ChainId.SophonOSTestnet]: "0x50FCbF85d23aF7C91f94842FeCd83d16665d27bA", +}; + +export const FARMING_CENTER: Record = { + [ChainId.SophonOSTestnet]: "0x658E287E9C820484f5808f687dC4863B552de37D", +}; + +/* Stub Plugin */ +export const ALGEBRA_STUB_PLUGIN: Record = { + [ChainId.SophonOSTestnet]: "0x955B95b8532fe75DDCf2161f61127Be74A768158", +}; diff --git a/config/default-chain.ts b/config/default-chain.ts new file mode 100644 index 0000000..139414d --- /dev/null +++ b/config/default-chain.ts @@ -0,0 +1,26 @@ +import { ChainId } from "@cryptoalgebra/integral-sdk"; + +export const CHAIN_NAME = { + [ChainId.SophonOSTestnet]: "SophonOSTestnet", +}; + +export const NATIVE_SYMBOL = { + [ChainId.SophonOSTestnet]: "SOPH", +}; + +export const NATIVE_NAME = { + [ChainId.SophonOSTestnet]: "SOPH", +}; + +export const CHAIN_ID = { + [ChainId.SophonOSTestnet]: ChainId.SophonOSTestnet, +}; + +export const CHAIN_IMAGE: Record = { + [ChainId.SophonOSTestnet]: "/sophon-logo.png", +}; + +export const DEFAULT_CHAIN_ID = ChainId.SophonOSTestnet; +export const DEFAULT_CHAIN_NAME = CHAIN_NAME[DEFAULT_CHAIN_ID]; +export const DEFAULT_NATIVE_SYMBOL = NATIVE_SYMBOL[DEFAULT_CHAIN_ID]; +export const DEFAULT_NATIVE_NAME = NATIVE_NAME[DEFAULT_CHAIN_ID]; diff --git a/config/graphql-urls.ts b/config/graphql-urls.ts new file mode 100644 index 0000000..b4512be --- /dev/null +++ b/config/graphql-urls.ts @@ -0,0 +1,9 @@ +import { ChainId } from "@cryptoalgebra/integral-sdk"; + +export const INFO_GRAPH_URL: Record = { + [ChainId.SophonOSTestnet]: "https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-analytics/v1.0.0/gn", +}; + +export const FARMING_GRAPH_URL: Record = { + [ChainId.SophonOSTestnet]: "https://api.goldsky.com/api/public/project_cmh9a894wk4de01tz0pl828jm/subgraphs/sophon-testnet-farms/v1.0.0/gn", +}; diff --git a/config/index.ts b/config/index.ts new file mode 100644 index 0000000..c134fab --- /dev/null +++ b/config/index.ts @@ -0,0 +1,6 @@ +export * from "./contract-addresses"; +export * from "./abis"; +export * from "./graphql-urls"; +export * from "./default-chain"; +export * from "./wagmi"; +export * from "./app-modules"; diff --git a/config/wagmi.ts b/config/wagmi.ts new file mode 100644 index 0000000..82ffdc7 --- /dev/null +++ b/config/wagmi.ts @@ -0,0 +1,75 @@ +import { ContractConfig } from "@wagmi/cli"; +import { AppKitNetwork } from "@reown/appkit/networks"; +import { + algebraBasePluginABI, + algebraFactoryABI, + algebraPoolABI, + algebraStubPluginABI, + algebraVirtualPoolABI, + eternalFarmingABI, + farmingCenterABI, + pluginFactoryABI, +} from "./abis"; +import { + ALGEBRA_ETERNAL_FARMING, + ALGEBRA_FACTORY, + ALGEBRA_STUB_PLUGIN, + FARMING_CENTER, + PLUGIN_FACTORY, +} from "./contract-addresses"; +import { defineChain } from "viem"; + +export const sophonOSTestnet = defineChain({ + id: 531050204, + network: "sophon-os-testnet", + name: "SophonOSTestnet", + nativeCurrency: { name: "SOPH", symbol: "SOPH", decimals: 18 }, + rpcUrls: { + default: { + http: ["https://zksync-os-testnet-sophon.zksync.dev"], + }, + public: { + http: ["https://zksync-os-testnet-sophon.zksync.dev"], + }, + }, + blockExplorers: { + default: { + name: "SophonOSTestnet", + url: "https://block-explorer.zksync-os-testnet-sophon.zksync.dev", + }, + }, + contracts: { + multicall3: { + address: "0xca11bde05977b3631167028862be2a173976ca11", + blockCreated: 1468, + }, + }, +}); + +/* configure supported networks here */ +export const wagmiNetworks: [AppKitNetwork, ...AppKitNetwork[]] = [sophonOSTestnet]; + +const rawContracts = [ + { name: "AlgebraFactory", abi: algebraFactoryABI }, + { name: "AlgebraPool", abi: algebraPoolABI }, + { name: "AlgebraBasePlugin", abi: algebraBasePluginABI }, + { name: "AlgebraEternalFarming", abi: eternalFarmingABI }, + { name: "FarmingCenter", abi: farmingCenterABI }, + { name: "PluginFactory", abi: pluginFactoryABI }, + { name: "AlgebraVirtualPool", abi: algebraVirtualPoolABI }, + { name: "AlgebraStubPlugin", abi: algebraStubPluginABI }, +]; + +const contractAddresses = { + AlgebraFactory: ALGEBRA_FACTORY, + AlgebraEternalFarming: ALGEBRA_ETERNAL_FARMING, + FarmingCenter: FARMING_CENTER, + PluginFactory: PLUGIN_FACTORY, + AlgebraStubPlugin: ALGEBRA_STUB_PLUGIN, +}; + +export const wagmiContracts: ContractConfig[] = rawContracts.map((contract) => ({ + name: contract.name, + abi: contract.abi, + address: contractAddresses[contract.name as keyof typeof contractAddresses], +})); diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index dfb08a5..0000000 --- a/package-lock.json +++ /dev/null @@ -1,3881 +0,0 @@ -{ - "name": "admin-panel", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "admin-panel", - "version": "0.0.0", - "dependencies": { - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, - "devDependencies": { - "@types/react": "^18.2.56", - "@types/react-dom": "^18.2.19", - "@typescript-eslint/eslint-plugin": "^7.0.2", - "@typescript-eslint/parser": "^7.0.2", - "@vitejs/plugin-react": "^4.2.1", - "autoprefixer": "^10.4.18", - "eslint": "^8.56.0", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.4.5", - "postcss": "^8.4.35", - "tailwindcss": "^3.4.1", - "typescript": "^5.2.2", - "vite": "^5.1.4" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", - "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.0", - "@babel/parser": "^7.24.0", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", - "dev": true, - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", - "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", - "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", - "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", - "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.1.tgz", - "integrity": "sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.1.tgz", - "integrity": "sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.2.64", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.64.tgz", - "integrity": "sha512-MlmPvHgjj2p3vZaxbQgFUQFvD8QiZwACfGqEdDSWou5yISWxDQ4/74nCAwsUiX7UFLKZz3BbVSPj+YxeoGGCfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.2.21", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.21.tgz", - "integrity": "sha512-gnvBA/21SA4xxqNXEwNiVcP0xSGHh/gi1VhWv9Bl46a0ItbTT5nFY+G9VSQpaG/8N/qdJpJ+vftQ4zflTtnjLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.1.tgz", - "integrity": "sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "7.1.1", - "@typescript-eslint/type-utils": "7.1.1", - "@typescript-eslint/utils": "7.1.1", - "@typescript-eslint/visitor-keys": "7.1.1", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.1.1.tgz", - "integrity": "sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "7.1.1", - "@typescript-eslint/types": "7.1.1", - "@typescript-eslint/typescript-estree": "7.1.1", - "@typescript-eslint/visitor-keys": "7.1.1", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.1.1.tgz", - "integrity": "sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "7.1.1", - "@typescript-eslint/visitor-keys": "7.1.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.1.1.tgz", - "integrity": "sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "7.1.1", - "@typescript-eslint/utils": "7.1.1", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.1.1.tgz", - "integrity": "sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.1.tgz", - "integrity": "sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "7.1.1", - "@typescript-eslint/visitor-keys": "7.1.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.1.1.tgz", - "integrity": "sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "7.1.1", - "@typescript-eslint/types": "7.1.1", - "@typescript-eslint/typescript-estree": "7.1.1", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.1.tgz", - "integrity": "sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "7.1.1", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", - "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.23.5", - "@babel/plugin-transform-react-jsx-self": "^7.23.3", - "@babel/plugin-transform-react-jsx-source": "^7.23.3", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.18", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", - "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001591", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001596", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001596.tgz", - "integrity": "sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.699", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.699.tgz", - "integrity": "sha512-I7q3BbQi6e4tJJN5CRcyvxhK0iJb34TV8eJQcgh+fR2fQ8miMgZcEInckCo1U9exDHbfz7DLDnFn8oqH/VcRKw==", - "dev": true, - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/esbuild": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", - "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.12", - "@esbuild/android-arm": "0.19.12", - "@esbuild/android-arm64": "0.19.12", - "@esbuild/android-x64": "0.19.12", - "@esbuild/darwin-arm64": "0.19.12", - "@esbuild/darwin-x64": "0.19.12", - "@esbuild/freebsd-arm64": "0.19.12", - "@esbuild/freebsd-x64": "0.19.12", - "@esbuild/linux-arm": "0.19.12", - "@esbuild/linux-arm64": "0.19.12", - "@esbuild/linux-ia32": "0.19.12", - "@esbuild/linux-loong64": "0.19.12", - "@esbuild/linux-mips64el": "0.19.12", - "@esbuild/linux-ppc64": "0.19.12", - "@esbuild/linux-riscv64": "0.19.12", - "@esbuild/linux-s390x": "0.19.12", - "@esbuild/linux-x64": "0.19.12", - "@esbuild/netbsd-x64": "0.19.12", - "@esbuild/openbsd-x64": "0.19.12", - "@esbuild/sunos-x64": "0.19.12", - "@esbuild/win32-arm64": "0.19.12", - "@esbuild/win32-ia32": "0.19.12", - "@esbuild/win32-x64": "0.19.12" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.5.tgz", - "integrity": "sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": ">=7" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true, - "license": "ISC" - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "dev": true, - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dev": true, - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.1.tgz", - "integrity": "sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.12.1", - "@rollup/rollup-android-arm64": "4.12.1", - "@rollup/rollup-darwin-arm64": "4.12.1", - "@rollup/rollup-darwin-x64": "4.12.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.12.1", - "@rollup/rollup-linux-arm64-gnu": "4.12.1", - "@rollup/rollup-linux-arm64-musl": "4.12.1", - "@rollup/rollup-linux-riscv64-gnu": "4.12.1", - "@rollup/rollup-linux-x64-gnu": "4.12.1", - "@rollup/rollup-linux-x64-musl": "4.12.1", - "@rollup/rollup-win32-arm64-msvc": "4.12.1", - "@rollup/rollup-win32-ia32-msvc": "4.12.1", - "@rollup/rollup-win32-x64-msvc": "4.12.1", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/sucrase/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/sucrase/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sucrase/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tailwindcss": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", - "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", - "dev": true, - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.19.1", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typescript": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", - "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/vite": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.5.tgz", - "integrity": "sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.35", - "rollup": "^4.2.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", - "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", - "dev": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/package.json b/package.json index 2c18eb1..a55ebe6 100644 --- a/package.json +++ b/package.json @@ -1,67 +1,72 @@ { - "name": "admin-panel", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "wagmi-generate": "wagmi generate", - "build": "yarn codegen && yarn wagmi-generate && tsc && vite build", - "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", - "preview": "vite preview", - "codegen": "graphql-codegen --config codegen.ts " - }, - "dependencies": { - "@apollo/client": "^3.9.6", - "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/sophon-os-sdk@1.0.0", - "@radix-ui/react-checkbox": "^1.0.4", - "@radix-ui/react-dialog": "^1.0.5", - "@radix-ui/react-select": "^2.0.0", - "@radix-ui/react-switch": "^1.0.3", - "@radix-ui/react-toast": "^1.1.5", - "@tanstack/react-table": "^8.13.2", - "@wagmi/cli": "1.0.0", - "buffer": "^6.0.3", - "class-variance-authority": "^0.7.0", - "clsx": "^2.1.0", - "fuse.js": "^7.0.0", - "graphql": "^16.8.1", - "lodash.merge": "^4.6.2", - "lucide-react": "^0.354.0", - "process": "^0.11.10", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-hook-form": "^7.51.0", - "react-router-dom": "^6.22.3", - "react-window": "^1.8.10", - "tailwind-merge": "^2.2.1", - "tailwindcss-animate": "^1.0.7", - "util": "^0.12.5", - "vaul": "^0.9.0", - "viem": "0.3.36", - "wagmi": "1.0.6" - }, - "devDependencies": { - "@graphql-codegen/cli": "5.0.0", - "@graphql-codegen/client-preset": "4.1.0", - "@graphql-codegen/typescript": "^4.0.1", - "@graphql-codegen/typescript-operations": "^4.0.1", - "@graphql-codegen/typescript-react-apollo": "^4.0.0", - "@types/lodash.merge": "^4.6.9", - "@types/node": "^20.11.25", - "@types/react": "^18.2.56", - "@types/react-dom": "^18.2.19", - "@types/react-window": "^1.8.8", - "@typescript-eslint/eslint-plugin": "^7.0.2", - "@typescript-eslint/parser": "^7.0.2", - "@vitejs/plugin-react": "^4.2.1", - "autoprefixer": "^10.4.18", - "eslint": "^8.56.0", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.4.5", - "postcss": "^8.4.35", - "tailwindcss": "^3.4.1", - "typescript": "^5.2.2", - "vite": "^5.1.4" - } + "name": "admin-panel", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "wagmi-generate": "wagmi generate", + "build": "yarn codegen && yarn wagmi-generate && vite build", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview", + "codegen": "graphql-codegen --config codegen.ts", + "generate-empty-module": "node --loader ts-node/esm ./src/modules/generate-empty-module.ts" + }, + "dependencies": { + "@apollo/client": "^3.8.4", + "@cryptoalgebra/integral-sdk": "npm:@cryptoalgebra/sophon-os-sdk@1.0.0", + "@radix-ui/react-checkbox": "^1.0.4", + "@radix-ui/react-dialog": "^1.0.5", + "@radix-ui/react-select": "^2.0.0", + "@radix-ui/react-switch": "^1.0.3", + "@radix-ui/react-toast": "^1.1.5", + "@reown/appkit": "^1.7.9", + "@reown/appkit-adapter-wagmi": "^1.7.9", + "@tailwindcss/vite": "^4.1.10", + "@tanstack/react-query": "^5.80.7", + "@tanstack/react-table": "^8.10.4", + "@wagmi/cli": "^2.3.1", + "class-variance-authority": "^0.7.0", + "clsx": "^2.0.0", + "fuse.js": "^7.0.0", + "graphql": "^16.8.1", + "lodash.merge": "^4.6.2", + "lucide-react": "^0.279.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-hook-form": "^7.51.0", + "react-router-dom": "^6.16.0", + "react-window": "^1.8.10", + "tailwind-merge": "^3.3.1", + "tailwindcss": "^4.1.10", + "vaul": "^0.9.0", + "viem": "^2.31.3", + "wagmi": "^2.15.6", + "zustand": "^4.4.1" + }, + "devDependencies": { + "@graphql-codegen/cli": "5.0.0", + "@graphql-codegen/client-preset": "4.1.0", + "@graphql-codegen/typescript": "^4.0.1", + "@graphql-codegen/typescript-operations": "^4.0.1", + "@graphql-codegen/typescript-react-apollo": "^4.0.0", + "@types/lodash.merge": "^4.6.9", + "@types/node": "^20.7.0", + "@types/react": "^18.2.15", + "@types/react-dom": "^18.2.7", + "@types/react-window": "^1.8.8", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "@vitejs/plugin-react-swc": "^3.3.2", + "autoprefixer": "^10.4.16", + "eslint": "^8.45.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.3", + "postcss": "^8.4.30", + "tailwindcss-animate": "^1.0.7", + "ts-node": "^10.9.2", + "typescript": "^5.0.2", + "vite": "^6.3.5", + "vite-plugin-eslint": "^1.8.1" + } } diff --git a/postcss.config.js b/postcss.config.js deleted file mode 100644 index 2e7af2b..0000000 --- a/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -export default { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -} diff --git a/public/sophon-logo.png b/public/sophon-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b534323afb98c43639f6e367466abd7be653fbe8 GIT binary patch literal 1272 zcmV@~0drDELIAGL9O(c600d`2O+f$vv5yPSb`91wSl8BJZH2W8>sDFoz`8YAw}o{(@B;b*G~bOE z^K%mt31pm`Z|07fD@pG8&i@gWjpxs%Br#GXIT8X$awG(h`k$4{LtT*rmj2&mT^hTvJY>Wv1)h1dwl7Yeg$ReeKoAwB}~4+LZ~ z8Hx*OiU<%QlUZliFzd-=VytoCd;NeIfoI;`-LVz)xj_(`0323Ti)>}qGt7KV;oU;? zdKYx?dEd1!3VPXGjwWNbV8_QNRIco}_BjzCdNdr;XoNKiO^y;|Dhy$_w@aiJi#F2@ zf)^WE*PfXHG~3?RR#8a6-+vPd0}!EW8Vv@0(sga_=RGX|8m-oLnc!iC=ID0Lh5ImP z*ZbDQZqRO>7+GSUf&yp7!r5UR?e+;H#LF^-1mK0$>Tamu#7xm(A6kSdnkG36e81Pb zm;i<*VKw=Do@EbwHi%L{G+YR0gEG2Zw?fkP8*+4dc0Tvvc%ZJ|n1bH>AAE9IFiqKR z&YT1g0vE-#$g%+JAAUJvR`Kye#bymN0uX2p505-GfkVKr2K|1dQTVX{;W!f(cQq&w zWRxov_R|Rvadq7{0&|1O0x$x=9!y2_5^g$CYFI=vGRmTWVtTzX%RV5ZT&^(1S}g~pEUBvMx<@Ul2GO@JvU%~tg$fJY(`+8GxP>_IaK<+A~1V^35!v9cNm}!umV{ijWW@iGvOmF{dLcSJd^q0 z!GXP0RA7X(0otLC+zIr*mx*oU=3j(^G&Qgk= za(Tx{L-s(sw^w6DR@4CLytKE1#}5_*_CD2I%;JV`-!IwCQP1q4N!Q+O)U}2wID)iO zc*x4#XVwlQ6`~;Wisn zGY9WrA-I=?1{#Us!04==!bps@$eK25mFFSQP!yVJHcjnt-(y3FLgC&Wa-KucMFH*k z4Mk_e(6Q-qVPlaJaZyb!vJ~rc`KTROq#$xaiR-(sJsa++Ms=IT8X$awG(h i - - {children} - - +function App() { + return ( + + + + ); +} -export default LayoutApp; \ No newline at end of file +export default App; diff --git a/src/components/common/AdminAccount/index.tsx b/src/components/common/AdminAccount/index.tsx index 5e857bf..6d35915 100644 --- a/src/components/common/AdminAccount/index.tsx +++ b/src/components/common/AdminAccount/index.tsx @@ -1,4 +1,4 @@ -import { useAlgebraFactoryHasRoleOrOwner } from "@/generated"; +import { useReadAlgebraFactoryHasRoleOrOwner } from "@/generated"; import { useAccount } from "wagmi"; const ADMIN_ROLE_CONSTANT = "0xa777c10270ee0b99d2c737c09ff865ed48064b252418bbd31d39c8b88ea12219"; @@ -8,11 +8,11 @@ const POOLS_ADMINISTRATOR_ROLE = "0xb73ce166ead2f8e9add217713a7989e4edfba9625f71 const AdminAccount = () => { const { address: account } = useAccount(); - const { data: isAdmin, isLoading: isLoadingAdmin } = useAlgebraFactoryHasRoleOrOwner({ + const { data: isAdmin, isLoading: isLoadingAdmin } = useReadAlgebraFactoryHasRoleOrOwner({ args: account ? [ADMIN_ROLE_CONSTANT, account] : undefined, }); - const { data: isPoolAdmin, isLoading: isLoadingPoolAdmin } = useAlgebraFactoryHasRoleOrOwner({ + const { data: isPoolAdmin, isLoading: isLoadingPoolAdmin } = useReadAlgebraFactoryHasRoleOrOwner({ args: account ? [POOLS_ADMINISTRATOR_ROLE, account] : undefined, }); diff --git a/src/components/common/CurrencyLogo/index.tsx b/src/components/common/CurrencyLogo/index.tsx index 9fcb9ac..14bb83c 100644 --- a/src/components/common/CurrencyLogo/index.tsx +++ b/src/components/common/CurrencyLogo/index.tsx @@ -1,6 +1,6 @@ import { Currency } from "@cryptoalgebra/integral-sdk"; import React from "react"; -import { Address } from "wagmi"; +import { Address } from "viem"; import USDCLogo from "@/assets/tokens/usdc.svg"; import EthLogo from "@/assets/tokens/ether.svg"; import SOPHLogo from "@/assets/sophon-logo-dark.png"; diff --git a/src/components/common/Header/index.tsx b/src/components/common/Header/index.tsx index 04c55a6..3c9cc6f 100644 --- a/src/components/common/Header/index.tsx +++ b/src/components/common/Header/index.tsx @@ -1,45 +1,43 @@ -import { Select, SelectContent, SelectItem, SelectTrigger } from "@/components/ui/select"; import { Link, NavLink, matchPath, useLocation } from "react-router-dom"; -import { useAccount, useConnect, useDisconnect } from "wagmi"; +import { useAccount, useBalance } from "wagmi"; import SophonLogo from "@/assets/sophon-logo.png"; import { truncateHash } from "@/utils/common/truncateHash"; +import { useAppKit, useAppKitNetwork } from "@reown/appkit/react"; +import { Button } from "@/components/ui/button"; +import { ChevronDown, WalletIcon } from "lucide-react"; +import { formatAmount } from "@/utils/common/formatAmount"; +import { formatUnits } from "viem"; -const Connect = () => { - const { connector, isConnected, address } = useAccount(); - const { connect, connectors, isLoading, pendingConnector } = useConnect(); - const { disconnect } = useDisconnect(); +const Account = () => { + const { open } = useAppKit(); + + const { caipNetwork: currentNetwork } = useAppKitNetwork(); + + const { address: account } = useAccount(); + + const { data: balance } = useBalance({ + address: account, + }); + + const formattedBalance = balance ? formatAmount(formatUnits(balance.value, balance.decimals), 4) : null; return ( -
-
- {isConnected ? ( - - ) : ( - - )} +
+
+ +
); @@ -88,7 +86,7 @@ const Header = () => { ))} - + ); }; diff --git a/src/components/farm/FarmDetails/index.tsx b/src/components/farm/FarmDetails/index.tsx index c9a9121..87475d6 100644 --- a/src/components/farm/FarmDetails/index.tsx +++ b/src/components/farm/FarmDetails/index.tsx @@ -1,11 +1,12 @@ import Loader from "@/components/common/Loader"; -import { ALGEBRA_ETERNAL_FARMING } from "@/constants/addresses"; -import { eternalFarmingABI } from "@/generated"; -import { farmsClient } from "@/graphql/clients"; +import { ALGEBRA_ETERNAL_FARMING } from "config/contract-addresses"; +import { DEFAULT_CHAIN_ID } from "config/default-chain"; +import { eternalFarmingABI } from "config/abis"; import { useAllDepositsOnFarmingQuery } from "@/graphql/generated/graphql"; -import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; +import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; import { IncentiveKey } from "@/types/incentive-key"; -import { useContractWrite, usePrepareContractWrite } from "wagmi"; +import { useWriteContract } from "wagmi"; +import { useClients } from "@/hooks/graphql/useClients"; interface IFarmDetails { id: string; @@ -14,9 +15,10 @@ interface IFarmDetails { } const FarmDetails = ({ id, incentiveKey, isDeactivated }: IFarmDetails) => { + const { farmingClient } = useClients(); const { data: deposits } = useAllDepositsOnFarmingQuery({ skip: !id || isDeactivated, - client: farmsClient, + client: farmingClient, variables: { farmId: id || "", }, @@ -24,16 +26,18 @@ const FarmDetails = ({ id, incentiveKey, isDeactivated }: IFarmDetails) => { const depositsOnFarm = deposits ? deposits.deposits.length : undefined; - const { config } = usePrepareContractWrite({ - address: ALGEBRA_ETERNAL_FARMING, - abi: eternalFarmingABI, - functionName: "deactivateIncentive", - args: [incentiveKey], - }); + const { data, writeContract, isPending } = useWriteContract(); - const { data, write } = useContractWrite(config); + const { isLoading } = useTransactionAwait(data, "Deactivate Farm"); - const { isLoading } = useTransitionAwait(data?.hash, "Deactivate Farm"); + const handleDeactivate = () => { + writeContract({ + address: ALGEBRA_ETERNAL_FARMING[DEFAULT_CHAIN_ID], + abi: eternalFarmingABI, + functionName: "deactivateIncentive", + args: [incentiveKey], + }); + }; return (
@@ -51,11 +55,11 @@ const FarmDetails = ({ id, incentiveKey, isDeactivated }: IFarmDetails) => {
{!isDeactivated && ( )}
diff --git a/src/components/farms/CreateFarm/index.tsx b/src/components/farms/CreateFarm/index.tsx index ac322b5..a402c69 100644 --- a/src/components/farms/CreateFarm/index.tsx +++ b/src/components/farms/CreateFarm/index.tsx @@ -10,14 +10,14 @@ import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { useActiveFarmingForPoolQuery, useAllPoolsQuery } from "@/graphql/generated/graphql"; import CurrencyLogo from "@/components/common/CurrencyLogo"; -import { DEFAULT_CHAIN_ID } from "@/constants/default-chain-id"; -import { farmsClient } from "@/graphql/clients"; +import { DEFAULT_CHAIN_ID } from "config/default-chain"; import Loader from "@/components/common/Loader"; import CreateFarmButton from "../CreateFarmButton"; import { PartialIncentiveKey } from "@/types/incentive-key"; -import { useEternalFarmingNumOfIncentives } from "@/generated"; +import { useReadAlgebraEternalFarmingNumOfIncentives } from "@/generated"; import { IRewards } from "@/types/rewards"; import { cn } from "@/lib/utils"; +import { useClients } from "@/hooks/graphql/useClients"; interface IFormState { pool: string | undefined; @@ -202,6 +202,7 @@ const Reward = ({ control, name }: { control: Control; name: "reward }; const CreateFarm = () => { + const { farmingClient } = useClients(); const { handleSubmit, reset, watch, control, setValue } = useForm(); const onSubmit: SubmitHandler = (data) => console.log(data); @@ -225,7 +226,7 @@ const CreateFarm = () => { const { data: activeFarming, loading: isFarmingLoading } = useActiveFarmingForPoolQuery({ skip: Boolean(!pool), - client: farmsClient, + client: farmingClient, variables: { poolId: pool, }, @@ -233,7 +234,7 @@ const CreateFarm = () => { const isPoolAvailable = !isFarmingLoading && activeFarming && activeFarming.eternalFarmings.length === 0; - const { data: nonce } = useEternalFarmingNumOfIncentives(); + const { data: nonce } = useReadAlgebraEternalFarmingNumOfIncentives(); const incentveKey: PartialIncentiveKey = { rewardToken: rewardToken ? (rewardToken.wrapped.address as Address) : undefined, diff --git a/src/components/farms/CreateFarmButton/index.tsx b/src/components/farms/CreateFarmButton/index.tsx index 5871efc..2c33eba 100644 --- a/src/components/farms/CreateFarmButton/index.tsx +++ b/src/components/farms/CreateFarmButton/index.tsx @@ -1,10 +1,11 @@ -import { eternalFarmingABI } from "@/abis"; +import { eternalFarmingABI } from "config/abis"; import Loader from "@/components/common/Loader"; -import { ALGEBRA_ETERNAL_FARMING } from "@/constants/addresses"; -import { useAlgebraPoolPlugin } from "@/generated"; +import { ALGEBRA_ETERNAL_FARMING } from "config/contract-addresses"; +import { DEFAULT_CHAIN_ID } from "config/default-chain"; +import { useReadAlgebraPoolPlugin } from "@/generated"; import { useApprove } from "@/hooks/common/useApprove"; import { useCurrency } from "@/hooks/common/useCurrency"; -import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; +import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; import { ApprovalState } from "@/types/approve-state"; import { PartialIncentiveKey } from "@/types/incentive-key"; import { IRewards } from "@/types/rewards"; @@ -12,7 +13,7 @@ import { tryParseAmount } from "@cryptoalgebra/integral-sdk"; import { useEffect } from "react"; import { useNavigate } from "react-router-dom"; import { Address } from "viem"; -import { useAccount, useBalance, useContractWrite, usePrepareContractWrite } from "wagmi"; +import { useAccount, useBalance, useWriteContract } from "wagmi"; interface ICreateFarmButton { hasSecondReward: boolean; @@ -28,7 +29,7 @@ const CreateFarmButton = ({ const navigate = useNavigate(); const { address: account } = useAccount(); - const { data: plugin } = useAlgebraPoolPlugin({ + const { data: plugin } = useReadAlgebraPoolPlugin({ address: pool, }); @@ -42,13 +43,11 @@ const CreateFarmButton = ({ const { data: rewardBalance } = useBalance({ address: account, token: rewardToken as Address, - enabled: Boolean(account && rewardToken), }); const { data: bonusRewardBalance } = useBalance({ address: account, token: bonusRewardToken as Address, - enabled: Boolean(account && bonusRewardToken && hasSecondReward), }); const isRewardBalanceInsufficient = rewardBn && rewardBalance ? rewardBn > rewardBalance.value : false; @@ -62,45 +61,20 @@ const CreateFarmButton = ({ const { approvalState: approvalStateReward, approvalCallback: approvalCallbackReward } = useApprove( parsedRewardAmount, - ALGEBRA_ETERNAL_FARMING + ALGEBRA_ETERNAL_FARMING[DEFAULT_CHAIN_ID] ); const { approvalState: approvalStateBonusReward, approvalCallback: approvalCallbackBonusReward } = useApprove( parsedBonusRewardAmount, - ALGEBRA_ETERNAL_FARMING + ALGEBRA_ETERNAL_FARMING[DEFAULT_CHAIN_ID] ); const showApproveReward = approvalStateReward === ApprovalState.NOT_APPROVED || approvalStateReward === ApprovalState.PENDING; const showApproveBonusReward = approvalStateBonusReward === ApprovalState.NOT_APPROVED || approvalStateBonusReward === ApprovalState.PENDING; - const { config } = usePrepareContractWrite({ - address: ALGEBRA_ETERNAL_FARMING, - abi: eternalFarmingABI, - functionName: "createEternalFarming", - args: - isKeyReady && areRewardsReady && !showApproveReward && !showApproveBonusReward - ? [ - { - rewardToken, - bonusRewardToken: bonusRewardToken || "0x0000000000000000000000000000000000000000", - pool, - nonce, - }, - { - reward: rewardBn, - rewardRate: rewardRateBn, - bonusReward: bonusRewardBn || 0n, - bonusRewardRate: bonusRewardRateBn || 0n, - minimalPositionWidth: 0, - }, - plugin, - ] - : undefined, - }); - - const { data, write: onCreate } = useContractWrite(config); + const { data, writeContract: onCreate, isPending } = useWriteContract(); - const { isLoading, isSuccess } = useTransitionAwait(data?.hash, `Create Farm`); + const { isLoading, isSuccess } = useTransactionAwait(data, `Create Farm`); useEffect(() => { if (isSuccess) { @@ -109,7 +83,7 @@ const CreateFarmButton = ({ }, [isSuccess, navigate]); const isDisabled = - !isKeyReady || !areRewardsReady || !onCreate || isLoading || isRewardBalanceInsufficient || isBonusRewardBalanceInsufficient; + !isKeyReady || !areRewardsReady || isLoading || isPending || isRewardBalanceInsufficient || isBonusRewardBalanceInsufficient; if (isRewardBalanceInsufficient || isBonusRewardBalanceInsufficient) { return ( @@ -158,11 +132,35 @@ const CreateFarmButton = ({ return ( ); }; diff --git a/src/components/farms/FarmList/index.tsx b/src/components/farms/FarmList/index.tsx index c6b8cee..fb90f3c 100644 --- a/src/components/farms/FarmList/index.tsx +++ b/src/components/farms/FarmList/index.tsx @@ -1,7 +1,7 @@ import { Checkbox } from "@/components/ui/checkbox"; -import { farmsClient } from "@/graphql/clients"; import { FarmingFieldsFragment, useAllFarmsQuery } from "@/graphql/generated/graphql"; import { useFarmData } from "@/hooks/farms/useFarmData"; +import { useClients } from "@/hooks/graphql/useClients"; import { useMemo, useState } from "react"; import { Link } from "react-router-dom"; @@ -91,8 +91,10 @@ const FarmRow = (farm: FarmingFieldsFragment) => { const FarmList = () => { const [showDeactivated, setShowDeactivated] = useState(false); + const { farmingClient } = useClients(); + const { data: farms, loading } = useAllFarmsQuery({ - client: farmsClient, + client: farmingClient, }); const { activeFarms, deactivatedFarms } = useMemo(() => { diff --git a/src/components/modals/PoolsDefaultSettingsModal/index.tsx b/src/components/modals/PoolsDefaultSettingsModal/index.tsx index 34d72ac..7d86e23 100644 --- a/src/components/modals/PoolsDefaultSettingsModal/index.tsx +++ b/src/components/modals/PoolsDefaultSettingsModal/index.tsx @@ -2,17 +2,17 @@ import Loader from "@/components/common/Loader"; import { Credenza, CredenzaBody, CredenzaContent, CredenzaHeader, CredenzaTitle, CredenzaTrigger } from "@/components/ui/credenza"; import { Input } from "@/components/ui/input"; import { - useAlgebraFactoryDefaultCommunityFee, - useAlgebraFactoryDefaultTickspacing, - useAlgebraFactoryDefaultFee, - usePrepareAlgebraFactorySetDefaultCommunityFee, - usePrepareAlgebraFactorySetDefaultTickspacing, - usePreparePluginFactorySetDefaultBaseFee, + useReadAlgebraFactoryDefaultCommunityFee, + useReadAlgebraFactoryDefaultTickspacing, + useReadAlgebraFactoryDefaultFee, } from "@/generated"; -import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; +import { ALGEBRA_FACTORY, PLUGIN_FACTORY } from "config/contract-addresses"; +import { DEFAULT_CHAIN_ID } from "config/default-chain"; +import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; import { cn } from "@/lib/utils"; import { useEffect, useState } from "react"; -import { useContractWrite } from "wagmi"; +import { useWriteContract } from "wagmi"; +import { algebraFactoryABI, pluginFactoryABI } from "config/abis"; interface IPoolsDefaultSettingsModal { title: string; @@ -38,11 +38,11 @@ const PoolsDefaultSettingsModal = ({ title, children }: IPoolsDefaultSettingsMod [SettingsKeys.TICK_SPACING]: 0, }); - const { data: defaultFee } = useAlgebraFactoryDefaultFee(); + const { data: defaultFee } = useReadAlgebraFactoryDefaultFee(); - const { data: defaultCommunityFee } = useAlgebraFactoryDefaultCommunityFee(); + const { data: defaultCommunityFee } = useReadAlgebraFactoryDefaultCommunityFee(); - const { data: defaultTickSpacing } = useAlgebraFactoryDefaultTickspacing(); + const { data: defaultTickSpacing } = useReadAlgebraFactoryDefaultTickspacing(); useEffect(() => { if (defaultCommunityFee === undefined || defaultTickSpacing === undefined || defaultFee === undefined) return; @@ -54,41 +54,44 @@ const PoolsDefaultSettingsModal = ({ title, children }: IPoolsDefaultSettingsMod }, [defaultCommunityFee, defaultTickSpacing, defaultFee]); /* Set Default Community Fee */ - const { config: defaultCommunityFeeConfig } = usePrepareAlgebraFactorySetDefaultCommunityFee({ - args: [settingsData[SettingsKeys.COMMUNITY_FEE]], - }); - - const { data: communityFeeHash, write: setDefaultCommunityFee } = useContractWrite(defaultCommunityFeeConfig); + const { data: communityFeeHash, writeContract: setDefaultCommunityFee } = useWriteContract(); /* Set Default Fee */ - const { config: defaultFeeConfig } = usePreparePluginFactorySetDefaultBaseFee({ - args: [settingsData[SettingsKeys.FEE]], - }); - - const { data: feeHash, write: setDefaultFeeConfiguration } = useContractWrite(defaultFeeConfig); + const { data: feeHash, writeContract: setDefaultFeeConfiguration } = useWriteContract(); /* Set Tick Spacing */ - const { config: tickSpacingConfig } = usePrepareAlgebraFactorySetDefaultTickspacing({ - args: [settingsData[SettingsKeys.TICK_SPACING]], - }); - - const { data: tickSpacingHash, write: setDefaultTickSpacing } = useContractWrite(tickSpacingConfig); + const { data: tickSpacingHash, writeContract: setDefaultTickSpacing } = useWriteContract(); - const { isLoading: feeLoading } = useTransitionAwait(feeHash?.hash, "Set Default Fee"); - const { isLoading: communityFeeLoading } = useTransitionAwait(communityFeeHash?.hash, "Set Community Fee"); - const { isLoading: tickSpacingLoading } = useTransitionAwait(tickSpacingHash?.hash, "Set Tick Spacing"); + const { isLoading: feeLoading } = useTransactionAwait(feeHash, "Set Default Fee"); + const { isLoading: communityFeeLoading } = useTransactionAwait(communityFeeHash, "Set Community Fee"); + const { isLoading: tickSpacingLoading } = useTransactionAwait(tickSpacingHash, "Set Tick Spacing"); const handleSubmit = (e: React.FormEvent, key: SettingsKeys) => { e.preventDefault(); switch (key) { case SettingsKeys.COMMUNITY_FEE: - setDefaultCommunityFee?.(); + setDefaultCommunityFee({ + address: ALGEBRA_FACTORY[DEFAULT_CHAIN_ID], + abi: algebraFactoryABI, + functionName: "setDefaultCommunityFee", + args: [settingsData[SettingsKeys.COMMUNITY_FEE]], + }); break; case SettingsKeys.FEE: - setDefaultFeeConfiguration?.(); + setDefaultFeeConfiguration({ + address: PLUGIN_FACTORY[DEFAULT_CHAIN_ID], + abi: pluginFactoryABI, + functionName: "setDefaultBaseFee", + args: [settingsData[SettingsKeys.FEE]], + }); break; case SettingsKeys.TICK_SPACING: - setDefaultTickSpacing?.(); + setDefaultTickSpacing({ + address: ALGEBRA_FACTORY[DEFAULT_CHAIN_ID], + abi: algebraFactoryABI, + functionName: "setDefaultTickspacing", + args: [settingsData[SettingsKeys.TICK_SPACING]], + }); break; default: break; diff --git a/src/components/modals/farm/ManageRewardsModal/index.tsx b/src/components/modals/farm/ManageRewardsModal/index.tsx index 0cbfc89..cbbb3f0 100644 --- a/src/components/modals/farm/ManageRewardsModal/index.tsx +++ b/src/components/modals/farm/ManageRewardsModal/index.tsx @@ -1,16 +1,16 @@ import Loader from "@/components/common/Loader"; import { Credenza, CredenzaBody, CredenzaContent, CredenzaHeader, CredenzaTitle, CredenzaTrigger } from "@/components/ui/credenza"; -import { ALGEBRA_ETERNAL_FARMING } from "@/constants/addresses"; -import { DEFAULT_CHAIN_ID } from "@/constants/default-chain-id"; -import { eternalFarmingABI } from "@/generated"; +import { ALGEBRA_ETERNAL_FARMING } from "config/contract-addresses"; +import { DEFAULT_CHAIN_ID } from "config/default-chain"; +import { eternalFarmingABI } from "config/abis"; import { useApprove } from "@/hooks/common/useApprove"; -import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; +import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; import { ApprovalState } from "@/types/approve-state"; import { IncentiveKey } from "@/types/incentive-key"; import { Token, tryParseAmount } from "@cryptoalgebra/integral-sdk"; import { useState } from "react"; import { parseUnits } from "viem"; -import { useContractWrite, usePrepareContractWrite } from "wagmi"; +import { useWriteContract } from "wagmi"; type ManageFunctions = "addRewards" | "setRates" | "decreaseRewardsAmount"; @@ -32,8 +32,8 @@ const ManageRewardsModal = ({ title, functionName, incentiveKey, rewardRates, is ? [rewardRates[0].value, parseUnits(value as `${number}`, rewardRates[1].decimals)] : [parseUnits(value as `${number}`, rewardRates[0].decimals), rewardRates[1].value] : isBonus - ? [0n, parseUnits(value as `${number}`, rewardRates[1].decimals)] - : [parseUnits(value as `${number}`, rewardRates[0].decimals), 0n]; + ? [0n, parseUnits(value as `${number}`, rewardRates[1].decimals)] + : [parseUnits(value as `${number}`, rewardRates[0].decimals), 0n]; const parsedRewardAmount = tryParseAmount( value, @@ -46,23 +46,16 @@ const ManageRewardsModal = ({ title, functionName, incentiveKey, rewardRates, is const { approvalState: approvalStateReward, approvalCallback: approvalCallbackReward } = useApprove( parsedRewardAmount, - ALGEBRA_ETERNAL_FARMING + ALGEBRA_ETERNAL_FARMING[DEFAULT_CHAIN_ID] ); const showApproveReward = (functionName === "addRewards" && approvalStateReward === ApprovalState.NOT_APPROVED) || approvalStateReward === ApprovalState.PENDING; - const { config } = usePrepareContractWrite({ - address: ALGEBRA_ETERNAL_FARMING, - abi: eternalFarmingABI, - functionName, - args: !showApproveReward ? [incentiveKey, args[0], args[1]] : undefined, - }); + const { data, writeContract } = useWriteContract(); - const { data, write } = useContractWrite(config); - - const { isLoading } = useTransitionAwait(data?.hash, title); + const { isLoading } = useTransactionAwait(data, title); return ( @@ -115,7 +108,14 @@ const ManageRewardsModal = ({ title, functionName, incentiveKey, rewardRates, is ) : ( diff --git a/src/components/modals/pool/PoolActivationModal/index.tsx b/src/components/modals/pool/PoolActivationModal/index.tsx index 54f5c6c..39327b2 100644 --- a/src/components/modals/pool/PoolActivationModal/index.tsx +++ b/src/components/modals/pool/PoolActivationModal/index.tsx @@ -1,9 +1,10 @@ import DataWithCopyButton from "@/components/common/DataWithCopyButton"; import Loader from "@/components/common/Loader"; import { Credenza, CredenzaBody, CredenzaContent, CredenzaHeader, CredenzaTitle, CredenzaTrigger } from "@/components/ui/credenza"; -import { usePrepareAlgebraPoolSetPlugin } from "@/generated"; -import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; -import { Address, useContractWrite } from "wagmi"; +import { algebraPoolABI } from "config"; +import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; +import { Address } from "viem"; +import { useWriteContract } from "wagmi"; interface IPoolActivationModal { title: string; @@ -14,17 +15,17 @@ interface IPoolActivationModal { } const PoolActivationModal = ({ title, children, poolId, pluginId, isToActivate }: IPoolActivationModal) => { - const { config } = usePrepareAlgebraPoolSetPlugin({ - address: poolId, - args: [pluginId], - }); + const { data, writeContract } = useWriteContract(); - const { data, write } = useContractWrite(config); - - const { isLoading } = useTransitionAwait(data?.hash, title); + const { isLoading } = useTransactionAwait(data, title); const handleConfirm = () => { - write?.(); + writeContract({ + address: poolId, + abi: algebraPoolABI, + functionName: "setPlugin", + args: [pluginId], + }); }; return ( diff --git a/src/components/pool/ManagePlugins/index.tsx b/src/components/pool/ManagePlugins/index.tsx index c2cdcc5..c37819a 100644 --- a/src/components/pool/ManagePlugins/index.tsx +++ b/src/components/pool/ManagePlugins/index.tsx @@ -3,15 +3,19 @@ import Loader from "@/components/common/Loader"; import SetPluginAddressModal from "@/components/modals/pool/ChangePluginAddressModal"; import ManagePluginConfigModal from "@/components/modals/pool/ManagePluginConfigModal"; import { Switch } from "@/components/ui/switch"; -import { ALGEBRA_STUB_PLUGIN } from "@/constants/addresses"; -import { useAlgebraBasePluginDefaultPluginConfig, useAlgebraPoolPlugin, usePrepareAlgebraPoolSetPluginConfig } from "@/generated"; -import { useTransitionAwait } from "@/hooks/common/useTransactionAwait"; +import { ALGEBRA_STUB_PLUGIN } from "config/contract-addresses"; +import { DEFAULT_CHAIN_ID } from "config/default-chain"; +import { useReadAlgebraBasePluginDefaultPluginConfig, useReadAlgebraPoolPlugin } from "@/generated"; +import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; import { usePluginFlags } from "@/hooks/pools/usePluginFlags"; import { PluginFlags } from "@/types/pool-plugin-flags"; import { parsePluginConfig } from "@/utils/pool/parsePluginConfig"; import { parsePluginFlags } from "@/utils/pool/parsePluginFlags"; import { useEffect, useMemo, useState } from "react"; -import { Address, useContractWrite } from "wagmi"; +import { Address } from "viem"; +import { useWriteContract } from "wagmi"; +import { algebraPoolABI } from "config/abis"; + interface IManagePlugins { poolId: Address; } @@ -25,11 +29,11 @@ const ManagePlugins = ({ poolId }: IManagePlugins) => { return parsePluginFlags(flags); }, [flags]); - const { data: pluginId } = useAlgebraPoolPlugin({ + const { data: pluginId } = useReadAlgebraPoolPlugin({ address: poolId, }); - const isToActivate = pluginId === ALGEBRA_STUB_PLUGIN; + const isToActivate = pluginId === ALGEBRA_STUB_PLUGIN[DEFAULT_CHAIN_ID]; const isSwapDisabled = flags?.AFTER_SWAP_FLAG === 1 || flags?.BEFORE_SWAP_FLAG === 1; @@ -37,19 +41,13 @@ const ManagePlugins = ({ poolId }: IManagePlugins) => { const isFlashesDisabled = flags?.AFTER_FLASH_FLAG === 1 || flags?.BEFORE_FLASH_FLAG === 1; - const { data: defaultPluginConfig } = useAlgebraBasePluginDefaultPluginConfig({ + const { data: defaultPluginConfig } = useReadAlgebraBasePluginDefaultPluginConfig({ address: pluginId, }); - const { config: preparedPluginConfig } = usePrepareAlgebraPoolSetPluginConfig({ - address: poolId, - args: [pluginConfig as number], - enabled: pluginConfig !== undefined, - }); + const { data: setPluginConfigHash, writeContract } = useWriteContract(); - const { data: setPluginConfigHash, write } = useContractWrite(preparedPluginConfig); - - const { isLoading } = useTransitionAwait(setPluginConfigHash?.hash, "Set Plugin"); + const { isLoading } = useTransactionAwait(setPluginConfigHash, "Set Plugin"); useEffect(() => { if (!pluginFlags) return; @@ -74,8 +72,13 @@ const ManagePlugins = ({ poolId }: IManagePlugins) => { }; const handleConfirm = () => { - if (isLoading) return; - write?.(); + if (isLoading || pluginConfig === undefined) return; + writeContract({ + address: poolId, + abi: algebraPoolABI, + functionName: "setPluginConfig", + args: [pluginConfig], + }); }; const handleResetPluginConfig = () => { diff --git a/src/components/pool/PoolDetails/index.tsx b/src/components/pool/PoolDetails/index.tsx index 6aa5014..584f855 100644 --- a/src/components/pool/PoolDetails/index.tsx +++ b/src/components/pool/PoolDetails/index.tsx @@ -1,6 +1,6 @@ import DataWithCopyButton from "@/components/common/DataWithCopyButton"; import { PoolFieldsFragment } from "@/graphql/generated/graphql"; -import { Address } from "wagmi"; +import { Address } from "viem"; interface IPoolDetails { poolId: Address; diff --git a/src/components/pool/PoolSettings/index.tsx b/src/components/pool/PoolSettings/index.tsx index 192ef25..3a6987a 100644 --- a/src/components/pool/PoolSettings/index.tsx +++ b/src/components/pool/PoolSettings/index.tsx @@ -1,11 +1,14 @@ import DataWithCopyButton from "@/components/common/DataWithCopyButton"; import ManagePoolSettingsModal from "@/components/modals/pool/ManagePoolSettingsModal"; -import { ALGEBRA_STUB_PLUGIN, PLUGIN_FACTORY } from "@/constants/addresses"; -import { pluginFactoryABI, useAlgebraPoolPlugin } from "@/generated"; +import { ALGEBRA_STUB_PLUGIN, PLUGIN_FACTORY } from "config/contract-addresses"; +import { DEFAULT_CHAIN_ID } from "config/default-chain"; +import { useReadAlgebraPoolPlugin } from "@/generated"; import { usePool } from "@/hooks/pools/usePool"; -import { Address, useContractRead } from "wagmi"; +import { Address } from "viem"; +import { useReadContract } from "wagmi"; import PoolActivationModal from "@/components/modals/pool/PoolActivationModal"; import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; +import { pluginFactoryABI } from "config/abis"; interface IPoolSettings { poolId: Address; @@ -13,18 +16,18 @@ interface IPoolSettings { } const PoolSettings = ({ poolId, deployer }: IPoolSettings) => { - const { data: pluginId } = useAlgebraPoolPlugin({ + const { data: pluginId } = useReadAlgebraPoolPlugin({ address: poolId, }); - const { data: basePluginId } = useContractRead({ - address: PLUGIN_FACTORY, + const { data: basePluginId } = useReadContract({ + address: PLUGIN_FACTORY[DEFAULT_CHAIN_ID], abi: pluginFactoryABI, functionName: "pluginByPool", args: [poolId], }); - const isToActivate = pluginId === ALGEBRA_STUB_PLUGIN; + const isToActivate = pluginId === ALGEBRA_STUB_PLUGIN[DEFAULT_CHAIN_ID]; const [, pool] = usePool(poolId); @@ -41,7 +44,7 @@ const PoolSettings = ({ poolId, deployer }: IPoolSettings) => {

Stub plugin address

- +
@@ -76,7 +79,7 @@ const PoolSettings = ({ poolId, deployer }: IPoolSettings) => { ) : ( diff --git a/src/components/pool/TokensDetails/index.tsx b/src/components/pool/TokensDetails/index.tsx index a647e2f..11cb2be 100644 --- a/src/components/pool/TokensDetails/index.tsx +++ b/src/components/pool/TokensDetails/index.tsx @@ -1,5 +1,5 @@ import FarmPoolDetails from '@/components/farm/FarmPoolDetails'; -import { Address } from 'wagmi'; +import { Address } from 'viem'; interface ITokenDetails { name: string; diff --git a/src/components/pools/PoolsList/index.tsx b/src/components/pools/PoolsList/index.tsx index 1a43d12..dd82566 100644 --- a/src/components/pools/PoolsList/index.tsx +++ b/src/components/pools/PoolsList/index.tsx @@ -2,7 +2,7 @@ import { useAllPoolsQuery } from "@/graphql/generated/graphql"; import { FormattedPool } from "@/types/pool"; import { Link } from "react-router-dom"; import { useMemo } from "react"; -import { Address } from "wagmi"; +import { Address } from "viem"; import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; const deployers: { [key: string]: string } = { diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx new file mode 100644 index 0000000..8ac5e95 --- /dev/null +++ b/src/components/ui/button.tsx @@ -0,0 +1,51 @@ +import * as React from "react"; +import { Slot } from "@radix-ui/react-slot"; +import { cva, type VariantProps } from "class-variance-authority"; + +import { cn } from "@/utils/common/cn"; + +const buttonVariants = cva( + "inline-flex cursor-pointer items-center gap-2 justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", + { + variants: { + variant: { + primary: "bg-foreground text-background hover:opacity-85", + primaryLink: "bg-primary-800 border border-primary-200 hover:opacity-65", + default: "bg-primary text-primary-foreground hover:bg-primary/90", + action: "bg-primary-button text-primary-foreground font-bold hover:bg-primary-button/80", + destructive: "bg-destructive-gradient text-destructive-foreground hover:bg-destructive/80 font-semibold hover:opacity-85", + outline: "border hover:bg-card-hover", + secondary: "bg-card-hover text-foreground hover:bg-card border border-card-border", + ghost: "hover:bg-card-hover border border-transparent", + link: "text-primary-200 underline-offset-4 hover:underline", + icon: "hover:bg-card-hover border border-card-border", + iconActive: "bg-card border border-card-border", + iconHover: "font-semibold bg-card-hover", + ghostActive: "bg-gradient-to-r from-primary-100 to-accent-100 hover:bg-bg-100 text-white", + }, + size: { + default: "h-10 px-4 py-2", + sm: "h-9 rounded-lg px-3", + md: "h-6 rounded-lg p-4 py-6", + lg: "rounded-2xl text-md p-4", + icon: "h-10 w-10 rounded-xl", + }, + }, + defaultVariants: { + variant: "action", + size: "lg", + }, + } +); + +export interface ButtonProps extends React.ButtonHTMLAttributes, VariantProps { + asChild?: boolean; +} + +const Button = React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : "button"; + return ; +}); +Button.displayName = "Button"; + +export { Button, buttonVariants }; diff --git a/src/generated.ts b/src/generated.ts index b4bec36..29e8f51 100644 --- a/src/generated.ts +++ b/src/generated.ts @@ -1,297 +1,395 @@ -// Generated by @wagmi/cli@1.0.0 on 21.11.2025 at 18:57:08 import { - getContract, - GetContractArgs, - readContract, - ReadContractConfig, - writeContract, - WriteContractArgs, - WriteContractPreparedArgs, - WriteContractUnpreparedArgs, - prepareWriteContract, - PrepareWriteContractConfig, -} from 'wagmi/actions' + createUseReadContract, + createUseWriteContract, + createUseSimulateContract, + createUseWatchContractEvent, +} from 'wagmi/codegen' import { - useContractRead, - UseContractReadConfig, - useContractWrite, - UseContractWriteConfig, - usePrepareContractWrite, - UsePrepareContractWriteConfig, -} from 'wagmi' -import { - ReadContractResult, - WriteContractMode, - PrepareWriteContractResult, -} from 'wagmi/actions' + createReadContract, + createWriteContract, + createSimulateContract, + createWatchContractEvent, +} from 'wagmi/codegen' ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// FarmingCenter +// AlgebraBasePlugin ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const farmingCenterABI = [ +export const algebraBasePluginAbi = [ { - stateMutability: 'nonpayable', type: 'constructor', + inputs: [ + { name: '_pool', internalType: 'address', type: 'address' }, + { name: '_factory', internalType: 'address', type: 'address' }, + { name: '_pluginFactory', internalType: 'address', type: 'address' }, + ], + stateMutability: 'nonpayable', + }, + { type: 'error', inputs: [], name: 'targetIsTooOld' }, + { type: 'error', inputs: [], name: 'tickOutOfRange' }, + { type: 'error', inputs: [], name: 'transferFailed' }, + { type: 'error', inputs: [], name: 'volatilityOracleAlreadyInitialized' }, + { + type: 'event', + anonymous: false, inputs: [ { - name: '_eternalFarming', - internalType: 'contract IAlgebraEternalFarming', - type: 'address', + name: 'baseFee', + internalType: 'uint16', + type: 'uint16', + indexed: false, }, + ], + name: 'BaseFee', + }, + { + type: 'event', + anonymous: false, + inputs: [ { - name: '_nonfungiblePositionManager', - internalType: 'contract INonfungiblePositionManager', + name: 'newIncentive', + internalType: 'address', type: 'address', + indexed: false, }, ], + name: 'Incentive', }, { - stateMutability: 'nonpayable', - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, - { name: 'liquidityDelta', internalType: 'int256', type: 'int256' }, + { + name: 'priceChangeFactor', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, ], - name: 'applyLiquidityDelta', - outputs: [], + name: 'PriceChangeFactor', }, { - stateMutability: 'nonpayable', type: 'function', - inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], - name: 'burnPosition', - outputs: [{ name: 'success', internalType: 'bool', type: 'bool' }], + inputs: [], + name: 'ALGEBRA_BASE_PLUGIN_MANAGER', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { - name: 'rewardToken', - internalType: 'contract IERC20Minimal', - type: 'address', - }, - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'amountRequested', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'claimReward', - outputs: [{ name: 'reward', internalType: 'uint256', type: 'uint256' }], + name: 'afterFlash', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { - name: 'key', - internalType: 'struct IncentiveKey', - type: 'tuple', - components: [ - { - name: 'rewardToken', - internalType: 'contract IERC20Minimal', - type: 'address', - }, - { - name: 'bonusRewardToken', - internalType: 'contract IERC20Minimal', - type: 'address', - }, - { - name: 'pool', - internalType: 'contract IAlgebraPool', - type: 'address', - }, - { name: 'nonce', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, - ], - name: 'collectRewards', - outputs: [ - { name: 'reward', internalType: 'uint256', type: 'uint256' }, - { name: 'bonusReward', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'uint160', type: 'uint160' }, + { name: 'tick', internalType: 'int24', type: 'int24' }, ], + name: 'afterInitialize', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'pool', internalType: 'contract IAlgebraPool', type: 'address' }, - { name: 'newVirtualPool', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'int24', type: 'int24' }, + { name: '', internalType: 'int24', type: 'int24' }, + { name: '', internalType: 'int128', type: 'int128' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'connectVirtualPool', - outputs: [], + name: 'afterModifyPosition', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, - { name: 'liquidityDelta', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: 'zeroToOne', internalType: 'bool', type: 'bool' }, + { name: '', internalType: 'int256', type: 'int256' }, + { name: '', internalType: 'uint160', type: 'uint160' }, + { name: '', internalType: 'int256', type: 'int256' }, + { name: '', internalType: 'int256', type: 'int256' }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'decreaseLiquidity', - outputs: [{ name: 'success', internalType: 'bool', type: 'bool' }], + name: 'afterSwap', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', - inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - name: 'deposits', - outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'beforeFlash', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { - name: 'key', - internalType: 'struct IncentiveKey', - type: 'tuple', - components: [ - { - name: 'rewardToken', - internalType: 'contract IERC20Minimal', - type: 'address', - }, - { - name: 'bonusRewardToken', - internalType: 'contract IERC20Minimal', - type: 'address', - }, - { - name: 'pool', - internalType: 'contract IAlgebraPool', - type: 'address', - }, - { name: 'nonce', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'uint160', type: 'uint160' }, ], - name: 'enterFarming', - outputs: [], + name: 'beforeInitialize', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', - inputs: [], - name: 'eternalFarming', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'int24', type: 'int24' }, + { name: '', internalType: 'int24', type: 'int24' }, + { name: '', internalType: 'int128', type: 'int128' }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'beforeModifyPosition', outputs: [ - { - name: '', - internalType: 'contract IAlgebraEternalFarming', - type: 'address', - }, + { name: '', internalType: 'bytes4', type: 'bytes4' }, + { name: '', internalType: 'uint24', type: 'uint24' }, ], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { - name: 'key', - internalType: 'struct IncentiveKey', - type: 'tuple', - components: [ - { - name: 'rewardToken', - internalType: 'contract IERC20Minimal', - type: 'address', - }, - { - name: 'bonusRewardToken', - internalType: 'contract IERC20Minimal', - type: 'address', - }, - { - name: 'pool', - internalType: 'contract IAlgebraPool', - type: 'address', - }, - { name: 'nonce', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: 'zeroToOne', internalType: 'bool', type: 'bool' }, + { name: '', internalType: 'int256', type: 'int256' }, + { name: '', internalType: 'uint160', type: 'uint160' }, + { name: '', internalType: 'bool', type: 'bool' }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'exitFarming', - outputs: [], + name: 'beforeSwap', + outputs: [ + { name: '', internalType: 'bytes4', type: 'bytes4' }, + { name: '', internalType: 'uint24', type: 'uint24' }, + { name: '', internalType: 'uint24', type: 'uint24' }, + ], + stateMutability: 'nonpayable', }, { + type: 'function', + inputs: [ + { name: 'token', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + { name: 'recipient', internalType: 'address', type: 'address' }, + ], + name: 'collectPluginFee', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'defaultPluginConfig', + outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'getPool', + outputs: [{ name: '', internalType: 'address', type: 'address' }], stateMutability: 'view', + }, + { type: 'function', - inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], - name: 'incentiveKeys', + inputs: [{ name: 'secondsAgo', internalType: 'uint32', type: 'uint32' }], + name: 'getSingleTimepoint', outputs: [ + { name: 'tickCumulative', internalType: 'int56', type: 'int56' }, + { name: 'volatilityCumulative', internalType: 'uint88', type: 'uint88' }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [ + { name: 'secondsAgos', internalType: 'uint32[]', type: 'uint32[]' }, + ], + name: 'getTimepoints', + outputs: [ + { name: 'tickCumulatives', internalType: 'int56[]', type: 'int56[]' }, { - name: 'rewardToken', - internalType: 'contract IERC20Minimal', - type: 'address', - }, - { - name: 'bonusRewardToken', - internalType: 'contract IERC20Minimal', - type: 'address', + name: 'volatilityCumulatives', + internalType: 'uint88[]', + type: 'uint88[]', }, - { name: 'pool', internalType: 'contract IAlgebraPool', type: 'address' }, - { name: 'nonce', internalType: 'uint256', type: 'uint256' }, ], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, - { name: 'liquidityDelta', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'uint256', type: 'uint256' }, ], - name: 'increaseLiquidity', + name: 'handlePluginFee', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'incentive', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'initialize', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'payable', type: 'function', - inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }], - name: 'multicall', - outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }], + inputs: [ + { name: 'targetIncentive', internalType: 'address', type: 'address' }, + ], + name: 'isIncentiveConnected', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { + type: 'function', + inputs: [], + name: 'isInitialized', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'view', + }, + { type: 'function', inputs: [], - name: 'nonfungiblePositionManager', + name: 'lastTimepointTimestamp', + outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'pool', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [ + { name: 'startIndex', internalType: 'uint16', type: 'uint16' }, + { name: 'amount', internalType: 'uint16', type: 'uint16' }, + ], + name: 'prepayTimepointsStorageSlots', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 's_baseFee', + outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 's_feeFactors', outputs: [ - { - name: '', - internalType: 'contract INonfungiblePositionManager', - type: 'address', - }, + { name: 'zeroToOneFeeFactor', internalType: 'uint128', type: 'uint128' }, + { name: 'oneToZeroFeeFactor', internalType: 'uint128', type: 'uint128' }, ], + stateMutability: 'view', }, { + type: 'function', + inputs: [], + name: 's_priceChangeFactor', + outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], stateMutability: 'view', + }, + { type: 'function', - inputs: [{ name: '', internalType: 'address', type: 'address' }], - name: 'virtualPoolAddresses', - outputs: [{ name: '', internalType: 'address', type: 'address' }], + inputs: [{ name: 'newBaseFee', internalType: 'uint16', type: 'uint16' }], + name: 'setBaseFee', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [ + { name: 'newIncentive', internalType: 'address', type: 'address' }, + ], + name: 'setIncentive', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [ + { name: 'newPriceChangeFactor', internalType: 'uint16', type: 'uint16' }, + ], + name: 'setPriceChangeFactor', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'timepointIndex', + outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'timepoints', + outputs: [ + { name: 'initialized', internalType: 'bool', type: 'bool' }, + { name: 'blockTimestamp', internalType: 'uint32', type: 'uint32' }, + { name: 'tickCumulative', internalType: 'int56', type: 'int56' }, + { name: 'volatilityCumulative', internalType: 'uint88', type: 'uint88' }, + { name: 'tick', internalType: 'int24', type: 'int24' }, + { name: 'averageTick', internalType: 'int24', type: 'int24' }, + { name: 'windowStartIndex', internalType: 'uint16', type: 'uint16' }, + ], + stateMutability: 'view', }, ] as const -export const farmingCenterAddress = - '0x658E287E9C820484f5808f687dC4863B552de37D' as const - -export const farmingCenterConfig = { - address: farmingCenterAddress, - abi: farmingCenterABI, -} as const - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// EternalFarming +// AlgebraEternalFarming ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const eternalFarmingABI = [ +/** + * + */ +export const algebraEternalFarmingAbi = [ { - stateMutability: 'nonpayable', type: 'constructor', inputs: [ { @@ -305,6 +403,7 @@ export const eternalFarmingABI = [ type: 'address', }, ], + stateMutability: 'nonpayable', }, { type: 'error', inputs: [], name: 'anotherFarmingIsActive' }, { type: 'error', inputs: [], name: 'claimToZeroAddress' }, @@ -618,21 +717,20 @@ export const eternalFarmingABI = [ name: 'RewardsRatesChanged', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'FARMINGS_ADMINISTRATOR_ROLE', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'INCENTIVE_MAKER_ROLE', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { @@ -663,9 +761,9 @@ export const eternalFarmingABI = [ ], name: 'addRewards', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { @@ -678,9 +776,9 @@ export const eternalFarmingABI = [ ], name: 'claimReward', outputs: [{ name: 'reward', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { @@ -694,9 +792,9 @@ export const eternalFarmingABI = [ ], name: 'claimRewardFrom', outputs: [{ name: 'reward', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { @@ -730,9 +828,9 @@ export const eternalFarmingABI = [ { name: 'reward', internalType: 'uint256', type: 'uint256' }, { name: 'bonusReward', internalType: 'uint256', type: 'uint256' }, ], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { @@ -780,9 +878,9 @@ export const eternalFarmingABI = [ outputs: [ { name: 'virtualPool', internalType: 'address', type: 'address' }, ], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { @@ -811,9 +909,9 @@ export const eternalFarmingABI = [ ], name: 'deactivateIncentive', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { @@ -844,9 +942,9 @@ export const eternalFarmingABI = [ ], name: 'decreaseRewardsAmount', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { @@ -876,9 +974,9 @@ export const eternalFarmingABI = [ ], name: 'enterFarming', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { @@ -909,16 +1007,16 @@ export const eternalFarmingABI = [ ], name: 'exitFarming', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'farmingCenter', outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, @@ -932,9 +1030,9 @@ export const eternalFarmingABI = [ { name: 'innerRewardGrowth0', internalType: 'uint256', type: 'uint256' }, { name: 'innerRewardGrowth1', internalType: 'uint256', type: 'uint256' }, ], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [ { @@ -967,9 +1065,9 @@ export const eternalFarmingABI = [ { name: 'reward', internalType: 'uint256', type: 'uint256' }, { name: 'bonusReward', internalType: 'uint256', type: 'uint256' }, ], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [{ name: 'incentiveId', internalType: 'bytes32', type: 'bytes32' }], name: 'incentives', @@ -981,23 +1079,23 @@ export const eternalFarmingABI = [ { name: 'deactivated', internalType: 'bool', type: 'bool' }, { name: 'pluginAddress', internalType: 'address', type: 'address' }, ], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'isEmergencyWithdrawActivated', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [{ name: 'incentiveId', internalType: 'bytes32', type: 'bytes32' }], name: 'isIncentiveDeactivated', outputs: [{ name: 'res', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'nonfungiblePositionManager', @@ -1008,16 +1106,16 @@ export const eternalFarmingABI = [ type: 'address', }, ], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'numOfIncentives', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [ { name: 'owner', internalType: 'address', type: 'address' }, @@ -1031,25 +1129,25 @@ export const eternalFarmingABI = [ outputs: [ { name: 'rewardAmount', internalType: 'uint256', type: 'uint256' }, ], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [{ name: 'newStatus', internalType: 'bool', type: 'bool' }], name: 'setEmergencyWithdrawStatus', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '_farmingCenter', internalType: 'address', type: 'address' }, ], name: 'setFarmingCenterAddress', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { @@ -1080,28 +1178,39 @@ export const eternalFarmingABI = [ ], name: 'setRates', outputs: [], + stateMutability: 'nonpayable', }, ] as const -export const eternalFarmingAddress = - '0x50FCbF85d23aF7C91f94842FeCd83d16665d27bA' as const +/** + * + */ +export const algebraEternalFarmingAddress = { + 531050204: '0x50FCbF85d23aF7C91f94842FeCd83d16665d27bA', +} as const -export const eternalFarmingConfig = { - address: eternalFarmingAddress, - abi: eternalFarmingABI, +/** + * + */ +export const algebraEternalFarmingConfig = { + address: algebraEternalFarmingAddress, + abi: algebraEternalFarmingAbi, } as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // AlgebraFactory ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const algebraFactoryABI = [ +/** + * + */ +export const algebraFactoryAbi = [ { - stateMutability: 'nonpayable', type: 'constructor', inputs: [ { name: '_poolDeployer', internalType: 'address', type: 'address' }, ], + stateMutability: 'nonpayable', }, { type: 'event', @@ -1337,35 +1446,34 @@ export const algebraFactoryABI = [ name: 'VaultFactory', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'DEFAULT_ADMIN_ROLE', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'POOLS_ADMINISTRATOR_ROLE', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'POOL_INIT_CODE_HASH', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'acceptOwnership', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [ { name: 'token0', internalType: 'address', type: 'address' }, @@ -1373,9 +1481,9 @@ export const algebraFactoryABI = [ ], name: 'computePoolAddress', outputs: [{ name: 'pool', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenA', internalType: 'address', type: 'address' }, @@ -1383,16 +1491,16 @@ export const algebraFactoryABI = [ ], name: 'createPool', outputs: [{ name: 'pool', internalType: 'address', type: 'address' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'defaultCommunityFee', outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [{ name: 'pool', internalType: 'address', type: 'address' }], name: 'defaultConfigurationForPool', @@ -1402,16 +1510,16 @@ export const algebraFactoryABI = [ { name: 'fee', internalType: 'uint16', type: 'uint16' }, { name: 'communityVault', internalType: 'address', type: 'address' }, ], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'defaultFee', outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'defaultPluginFactory', @@ -1422,23 +1530,23 @@ export const algebraFactoryABI = [ type: 'address', }, ], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'defaultTickspacing', outputs: [{ name: '', internalType: 'int24', type: 'int24' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [{ name: 'role', internalType: 'bytes32', type: 'bytes32' }], name: 'getRoleAdmin', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [ { name: 'role', internalType: 'bytes32', type: 'bytes32' }, @@ -1446,16 +1554,16 @@ export const algebraFactoryABI = [ ], name: 'getRoleMember', outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [{ name: 'role', internalType: 'bytes32', type: 'bytes32' }], name: 'getRoleMemberCount', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'role', internalType: 'bytes32', type: 'bytes32' }, @@ -1463,9 +1571,9 @@ export const algebraFactoryABI = [ ], name: 'grantRole', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [ { name: 'role', internalType: 'bytes32', type: 'bytes32' }, @@ -1473,9 +1581,9 @@ export const algebraFactoryABI = [ ], name: 'hasRole', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [ { name: 'role', internalType: 'bytes32', type: 'bytes32' }, @@ -1483,23 +1591,23 @@ export const algebraFactoryABI = [ ], name: 'hasRoleOrOwner', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'owner', outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'pendingOwner', outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, @@ -1507,30 +1615,30 @@ export const algebraFactoryABI = [ ], name: 'poolByPair', outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'poolDeployer', outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'renounceOwnershipStartTimestamp', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'role', internalType: 'bytes32', type: 'bytes32' }, @@ -1538,9 +1646,9 @@ export const algebraFactoryABI = [ ], name: 'renounceRole', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'role', internalType: 'bytes32', type: 'bytes32' }, @@ -1548,9 +1656,9 @@ export const algebraFactoryABI = [ ], name: 'revokeRole', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { @@ -1561,16 +1669,16 @@ export const algebraFactoryABI = [ ], name: 'setDefaultCommunityFee', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [{ name: 'newDefaultFee', internalType: 'uint16', type: 'uint16' }], name: 'setDefaultFee', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { @@ -1581,55 +1689,55 @@ export const algebraFactoryABI = [ ], name: 'setDefaultPluginFactory', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'newDefaultTickspacing', internalType: 'int24', type: 'int24' }, ], name: 'setDefaultTickspacing', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'newVaultFactory', internalType: 'address', type: 'address' }, ], name: 'setVaultFactory', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'startRenounceOwnership', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'stopRenounceOwnership', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], name: 'supportsInterface', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], name: 'transferOwnership', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'vaultFactory', @@ -1640,160 +1748,30 @@ export const algebraFactoryABI = [ type: 'address', }, ], + stateMutability: 'view', }, ] as const -export const algebraFactoryAddress = - '0x10253594A832f967994b44f33411940533302ACb' as const +/** + * + */ +export const algebraFactoryAddress = { + 531050204: '0x10253594A832f967994b44f33411940533302ACb', +} as const +/** + * + */ export const algebraFactoryConfig = { address: algebraFactoryAddress, - abi: algebraFactoryABI, -} as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// PluginFactory -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const pluginFactoryABI = [ - { - stateMutability: 'nonpayable', - type: 'constructor', - inputs: [ - { name: '_algebraFactory', internalType: 'address', type: 'address' }, - ], - }, - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'newDefaultBaseFee', - internalType: 'uint16', - type: 'uint16', - indexed: false, - }, - ], - name: 'DefaultBaseFee', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'newFarmingAddress', - internalType: 'address', - type: 'address', - indexed: false, - }, - ], - name: 'FarmingAddress', - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'ALGEBRA_BASE_PLUGIN_FACTORY_ADMINISTRATOR', - outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - ], - name: 'afterCreatePoolHook', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'algebraFactory', - outputs: [{ name: '', internalType: 'address', type: 'address' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: 'pool', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'beforeCreatePoolHook', - outputs: [{ name: '', internalType: 'address', type: 'address' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: 'token0', internalType: 'address', type: 'address' }, - { name: 'token1', internalType: 'address', type: 'address' }, - ], - name: 'createPluginForExistingPool', - outputs: [{ name: '', internalType: 'address', type: 'address' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'defaultBaseFee', - outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'farmingAddress', - outputs: [{ name: '', internalType: 'address', type: 'address' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'poolAddress', internalType: 'address', type: 'address' }], - name: 'pluginByPool', - outputs: [ - { name: 'pluginAddress', internalType: 'address', type: 'address' }, - ], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: 'newDefaultBaseFee', internalType: 'uint16', type: 'uint16' }, - ], - name: 'setDefaultBaseFee', - outputs: [], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: 'newFarmingAddress', internalType: 'address', type: 'address' }, - ], - name: 'setFarmingAddress', - outputs: [], - }, -] as const - -export const pluginFactoryAddress = - '0xFe3BEcd788320465ab649015F34F7771220A88b2' as const - -export const pluginFactoryConfig = { - address: pluginFactoryAddress, - abi: pluginFactoryABI, + abi: algebraFactoryAbi, } as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // AlgebraPool ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const algebraPoolABI = [ +export const algebraPoolAbi = [ { type: 'error', inputs: [], name: 'alreadyInitialized' }, { type: 'error', inputs: [], name: 'arithmeticError' }, { type: 'error', inputs: [], name: 'bottomTickLowerThanMIN' }, @@ -2112,7 +2090,6 @@ export const algebraPoolABI = [ name: 'TickSpacing', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'bottomTick', internalType: 'int24', type: 'int24' }, @@ -2125,9 +2102,9 @@ export const algebraPoolABI = [ { name: 'amount0', internalType: 'uint256', type: 'uint256' }, { name: 'amount1', internalType: 'uint256', type: 'uint256' }, ], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'recipient', internalType: 'address', type: 'address' }, @@ -2141,37 +2118,37 @@ export const algebraPoolABI = [ { name: 'amount0', internalType: 'uint128', type: 'uint128' }, { name: 'amount1', internalType: 'uint128', type: 'uint128' }, ], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'communityFeeLastTimestamp', outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'communityVault', outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'factory', outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'fee', outputs: [{ name: 'currentFee', internalType: 'uint16', type: 'uint16' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'recipient', internalType: 'address', type: 'address' }, @@ -2181,9 +2158,9 @@ export const algebraPoolABI = [ ], name: 'flash', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'getCommunityFeePending', @@ -2191,9 +2168,9 @@ export const algebraPoolABI = [ { name: '', internalType: 'uint128', type: 'uint128' }, { name: '', internalType: 'uint128', type: 'uint128' }, ], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'getReserves', @@ -2201,9 +2178,9 @@ export const algebraPoolABI = [ { name: '', internalType: 'uint128', type: 'uint128' }, { name: '', internalType: 'uint128', type: 'uint128' }, ], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'globalState', @@ -2215,32 +2192,32 @@ export const algebraPoolABI = [ { name: 'communityFee', internalType: 'uint16', type: 'uint16' }, { name: 'unlocked', internalType: 'bool', type: 'bool' }, ], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'initialPrice', internalType: 'uint160', type: 'uint160' }, ], name: 'initialize', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'liquidity', outputs: [{ name: '', internalType: 'uint128', type: 'uint128' }], + stateMutability: 'view', }, { - stateMutability: 'pure', type: 'function', inputs: [], name: 'maxLiquidityPerTick', outputs: [{ name: '', internalType: 'uint128', type: 'uint128' }], + stateMutability: 'pure', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'leftoversRecipient', internalType: 'address', type: 'address' }, @@ -2256,23 +2233,23 @@ export const algebraPoolABI = [ { name: 'amount1', internalType: 'uint256', type: 'uint256' }, { name: 'liquidityActual', internalType: 'uint128', type: 'uint128' }, ], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'nextTickGlobal', outputs: [{ name: '', internalType: 'int24', type: 'int24' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'plugin', outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], name: 'positions', @@ -2291,55 +2268,55 @@ export const algebraPoolABI = [ { name: 'fees0', internalType: 'uint128', type: 'uint128' }, { name: 'fees1', internalType: 'uint128', type: 'uint128' }, ], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'prevTickGlobal', outputs: [{ name: '', internalType: 'int24', type: 'int24' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'newCommunityFee', internalType: 'uint16', type: 'uint16' }, ], name: 'setCommunityFee', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [{ name: 'newFee', internalType: 'uint16', type: 'uint16' }], name: 'setFee', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'newPluginAddress', internalType: 'address', type: 'address' }, ], name: 'setPlugin', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [{ name: 'newConfig', internalType: 'uint8', type: 'uint8' }], name: 'setPluginConfig', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [{ name: 'newTickSpacing', internalType: 'int24', type: 'int24' }], name: 'setTickSpacing', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'recipient', internalType: 'address', type: 'address' }, @@ -2353,9 +2330,9 @@ export const algebraPoolABI = [ { name: 'amount0', internalType: 'int256', type: 'int256' }, { name: 'amount1', internalType: 'int256', type: 'int256' }, ], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'leftoversRecipient', internalType: 'address', type: 'address' }, @@ -2370,23 +2347,23 @@ export const algebraPoolABI = [ { name: 'amount0', internalType: 'int256', type: 'int256' }, { name: 'amount1', internalType: 'int256', type: 'int256' }, ], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'tickSpacing', outputs: [{ name: '', internalType: 'int24', type: 'int24' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [{ name: '', internalType: 'int16', type: 'int16' }], name: 'tickTable', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [{ name: '', internalType: 'int24', type: 'int24' }], name: 'ticks', @@ -2406,103 +2383,80 @@ export const algebraPoolABI = [ type: 'uint256', }, ], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'token0', outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'token1', outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'totalFeeGrowth0Token', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'totalFeeGrowth1Token', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// AlgebraBasePlugin +// AlgebraStubPlugin ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const algebraBasePluginABI = [ +/** + * + */ +export const algebraStubPluginAbi = [ { - stateMutability: 'nonpayable', type: 'constructor', - inputs: [ - { name: '_pool', internalType: 'address', type: 'address' }, - { name: '_factory', internalType: 'address', type: 'address' }, - { name: '_pluginFactory', internalType: 'address', type: 'address' }, - ], - }, - { type: 'error', inputs: [], name: 'targetIsTooOld' }, - { type: 'error', inputs: [], name: 'tickOutOfRange' }, - { type: 'error', inputs: [], name: 'transferFailed' }, - { type: 'error', inputs: [], name: 'volatilityOracleAlreadyInitialized' }, - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'baseFee', - internalType: 'uint16', - type: 'uint16', - indexed: false, - }, - ], - name: 'BaseFee', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'newIncentive', - internalType: 'address', - type: 'address', - indexed: false, - }, - ], - name: 'Incentive', + inputs: [{ name: '_factory', internalType: 'address', type: 'address' }], + stateMutability: 'nonpayable', }, + { type: 'error', inputs: [], name: 'afterFlashHookDisabled' }, + { type: 'error', inputs: [], name: 'afterInitializeHookDisabled' }, + { type: 'error', inputs: [], name: 'afterPositionHookDisabled' }, + { type: 'error', inputs: [], name: 'afterSwapHookDisabled' }, + { type: 'error', inputs: [], name: 'beforeFlashHookDisabled' }, + { type: 'error', inputs: [], name: 'beforeInitializeHookDisabled' }, + { type: 'error', inputs: [], name: 'beforePositionHookDisabled' }, + { type: 'error', inputs: [], name: 'beforeSwapHookDisabled' }, { type: 'event', anonymous: false, inputs: [ { - name: 'priceChangeFactor', - internalType: 'uint256', - type: 'uint256', + name: 'newPluginConfig', + internalType: 'uint8', + type: 'uint8', indexed: false, }, ], - name: 'PriceChangeFactor', + name: 'newPluginConfig', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'ALGEBRA_BASE_PLUGIN_MANAGER', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, @@ -2515,20 +2469,20 @@ export const algebraBasePluginABI = [ ], name: 'afterFlash', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { name: '', internalType: 'uint160', type: 'uint160' }, - { name: 'tick', internalType: 'int24', type: 'int24' }, + { name: '', internalType: 'int24', type: 'int24' }, ], name: 'afterInitialize', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, @@ -2542,14 +2496,14 @@ export const algebraBasePluginABI = [ ], name: 'afterModifyPosition', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { name: '', internalType: 'address', type: 'address' }, - { name: 'zeroToOne', internalType: 'bool', type: 'bool' }, + { name: '', internalType: 'bool', type: 'bool' }, { name: '', internalType: 'int256', type: 'int256' }, { name: '', internalType: 'uint160', type: 'uint160' }, { name: '', internalType: 'int256', type: 'int256' }, @@ -2558,9 +2512,9 @@ export const algebraBasePluginABI = [ ], name: 'afterSwap', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, @@ -2571,9 +2525,9 @@ export const algebraBasePluginABI = [ ], name: 'beforeFlash', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, @@ -2581,9 +2535,9 @@ export const algebraBasePluginABI = [ ], name: 'beforeInitialize', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'pure', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, @@ -2594,8244 +2548,7637 @@ export const algebraBasePluginABI = [ { name: '', internalType: 'bytes', type: 'bytes' }, ], name: 'beforeModifyPosition', - outputs: [ - { name: '', internalType: 'bytes4', type: 'bytes4' }, - { name: '', internalType: 'uint24', type: 'uint24' }, - ], + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { name: '', internalType: 'address', type: 'address' }, - { name: 'zeroToOne', internalType: 'bool', type: 'bool' }, + { name: '', internalType: 'bool', type: 'bool' }, { name: '', internalType: 'int256', type: 'int256' }, { name: '', internalType: 'uint160', type: 'uint160' }, { name: '', internalType: 'bool', type: 'bool' }, { name: '', internalType: 'bytes', type: 'bytes' }, ], name: 'beforeSwap', - outputs: [ - { name: '', internalType: 'bytes4', type: 'bytes4' }, - { name: '', internalType: 'uint24', type: 'uint24' }, - { name: '', internalType: 'uint24', type: 'uint24' }, - ], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: 'token', internalType: 'address', type: 'address' }, - { name: 'amount', internalType: 'uint256', type: 'uint256' }, - { name: 'recipient', internalType: 'address', type: 'address' }, - ], - name: 'collectPluginFee', - outputs: [], + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], name: 'defaultPluginConfig', outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 'getPool', - outputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'pluginConfig', + outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', - inputs: [{ name: 'secondsAgo', internalType: 'uint32', type: 'uint32' }], - name: 'getSingleTimepoint', - outputs: [ - { name: 'tickCumulative', internalType: 'int56', type: 'int56' }, - { name: 'volatilityCumulative', internalType: 'uint88', type: 'uint88' }, - ], + inputs: [{ name: '_pluginConfig', internalType: 'uint8', type: 'uint8' }], + name: 'setNewPluginConfig', + outputs: [], + stateMutability: 'nonpayable', }, +] as const + +/** + * + */ +export const algebraStubPluginAddress = { + 531050204: '0x955B95b8532fe75DDCf2161f61127Be74A768158', +} as const + +/** + * + */ +export const algebraStubPluginConfig = { + address: algebraStubPluginAddress, + abi: algebraStubPluginAbi, +} as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// AlgebraVirtualPool +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const algebraVirtualPoolAbi = [ { - stateMutability: 'view', - type: 'function', + type: 'constructor', inputs: [ - { name: 'secondsAgos', internalType: 'uint32[]', type: 'uint32[]' }, - ], - name: 'getTimepoints', - outputs: [ - { name: 'tickCumulatives', internalType: 'int56[]', type: 'int56[]' }, - { - name: 'volatilityCumulatives', - internalType: 'uint88[]', - type: 'uint88[]', - }, + { name: '_farmingAddress', internalType: 'address', type: 'address' }, + { name: '_plugin', internalType: 'address', type: 'address' }, ], + stateMutability: 'nonpayable', }, + { type: 'error', inputs: [], name: 'invalidFeeWeights' }, + { type: 'error', inputs: [], name: 'invalidNewMaxRate' }, + { type: 'error', inputs: [], name: 'invalidNewMinRate' }, + { type: 'error', inputs: [], name: 'liquidityAdd' }, + { type: 'error', inputs: [], name: 'liquidityOverflow' }, + { type: 'error', inputs: [], name: 'liquiditySub' }, + { type: 'error', inputs: [], name: 'onlyFarming' }, + { type: 'error', inputs: [], name: 'onlyPlugin' }, + { type: 'error', inputs: [], name: 'tickInvalidLinks' }, + { type: 'error', inputs: [], name: 'tickIsNotInitialized' }, { - stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'uint256', type: 'uint256' }, - { name: '', internalType: 'uint256', type: 'uint256' }, - ], - name: 'handlePluginFee', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + inputs: [], + name: 'FEE_WEIGHT_DENOMINATOR', + outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 'incentive', - outputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'RATE_CHANGE_FREQUENCY', + outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }], + stateMutability: 'view', }, { + type: 'function', + inputs: [ + { name: 'token0Amount', internalType: 'uint128', type: 'uint128' }, + { name: 'token1Amount', internalType: 'uint128', type: 'uint128' }, + ], + name: 'addRewards', + outputs: [], stateMutability: 'nonpayable', + }, + { type: 'function', - inputs: [], - name: 'initialize', + inputs: [ + { name: 'bottomTick', internalType: 'int24', type: 'int24' }, + { name: 'topTick', internalType: 'int24', type: 'int24' }, + { name: 'liquidityDelta', internalType: 'int128', type: 'int128' }, + { name: 'currentTick', internalType: 'int24', type: 'int24' }, + ], + name: 'applyLiquidityDeltaToPosition', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [ - { name: 'targetIncentive', internalType: 'address', type: 'address' }, + { name: 'targetTick', internalType: 'int24', type: 'int24' }, + { name: 'zeroToOne', internalType: 'bool', type: 'bool' }, + { name: 'feeAmount', internalType: 'uint128', type: 'uint128' }, ], - name: 'isIncentiveConnected', + name: 'crossTo', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 'isInitialized', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + name: 'currentLiquidity', + outputs: [{ name: '', internalType: 'uint128', type: 'uint128' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 'lastTimepointTimestamp', - outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }], + name: 'deactivate', + outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 'pool', - outputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'deactivated', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'startIndex', internalType: 'uint16', type: 'uint16' }, - { name: 'amount', internalType: 'uint16', type: 'uint16' }, + { name: 'token0Amount', internalType: 'uint128', type: 'uint128' }, + { name: 'token1Amount', internalType: 'uint128', type: 'uint128' }, ], - name: 'prepayTimepointsStorageSlots', + name: 'decreaseRewards', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 's_baseFee', - outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], + name: 'distributeRewards', + outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 's_feeFactors', - outputs: [ - { name: 'zeroToOneFeeFactor', internalType: 'uint128', type: 'uint128' }, - { name: 'oneToZeroFeeFactor', internalType: 'uint128', type: 'uint128' }, - ], + name: 'dynamicRateActivated', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 's_priceChangeFactor', - outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], + name: 'farmingAddress', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', - inputs: [{ name: 'newBaseFee', internalType: 'uint16', type: 'uint16' }], - name: 'setBaseFee', - outputs: [], + inputs: [], + name: 'feeWeights', + outputs: [ + { name: 'weight0', internalType: 'uint16', type: 'uint16' }, + { name: 'weight1', internalType: 'uint16', type: 'uint16' }, + ], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'newIncentive', internalType: 'address', type: 'address' }, + { name: 'bottomTick', internalType: 'int24', type: 'int24' }, + { name: 'topTick', internalType: 'int24', type: 'int24' }, ], - name: 'setIncentive', - outputs: [], + name: 'getInnerRewardsGrowth', + outputs: [ + { name: 'rewardGrowthInside0', internalType: 'uint256', type: 'uint256' }, + { name: 'rewardGrowthInside1', internalType: 'uint256', type: 'uint256' }, + ], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', - inputs: [ - { name: 'newPriceChangeFactor', internalType: 'uint16', type: 'uint16' }, - ], - name: 'setPriceChangeFactor', - outputs: [], + inputs: [], + name: 'globalTick', + outputs: [{ name: '', internalType: 'int24', type: 'int24' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 'timepointIndex', - outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], + name: 'plugin', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { + type: 'function', + inputs: [], + name: 'prevTimestamp', + outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }], stateMutability: 'view', + }, + { type: 'function', - inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - name: 'timepoints', + inputs: [], + name: 'rateLimits', outputs: [ - { name: 'initialized', internalType: 'bool', type: 'bool' }, - { name: 'blockTimestamp', internalType: 'uint32', type: 'uint32' }, - { name: 'tickCumulative', internalType: 'int56', type: 'int56' }, - { name: 'volatilityCumulative', internalType: 'uint88', type: 'uint88' }, - { name: 'tick', internalType: 'int24', type: 'int24' }, - { name: 'averageTick', internalType: 'int24', type: 'int24' }, - { name: 'windowStartIndex', internalType: 'uint16', type: 'uint16' }, + { name: 'maxRewardRate0', internalType: 'uint128', type: 'uint128' }, + { name: 'maxRewardRate1', internalType: 'uint128', type: 'uint128' }, + { name: 'minRewardRate0', internalType: 'uint128', type: 'uint128' }, + { name: 'minRewardRate1', internalType: 'uint128', type: 'uint128' }, ], + stateMutability: 'view', }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// AlgebraStubPlugin -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const algebraStubPluginABI = [ - { - stateMutability: 'nonpayable', - type: 'constructor', - inputs: [{ name: '_factory', internalType: 'address', type: 'address' }], - }, - { type: 'error', inputs: [], name: 'afterFlashHookDisabled' }, - { type: 'error', inputs: [], name: 'afterInitializeHookDisabled' }, - { type: 'error', inputs: [], name: 'afterPositionHookDisabled' }, - { type: 'error', inputs: [], name: 'afterSwapHookDisabled' }, - { type: 'error', inputs: [], name: 'beforeFlashHookDisabled' }, - { type: 'error', inputs: [], name: 'beforeInitializeHookDisabled' }, - { type: 'error', inputs: [], name: 'beforePositionHookDisabled' }, - { type: 'error', inputs: [], name: 'beforeSwapHookDisabled' }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'newPluginConfig', - internalType: 'uint8', - type: 'uint8', - indexed: false, - }, + type: 'function', + inputs: [], + name: 'rewardRates', + outputs: [ + { name: 'rate0', internalType: 'uint128', type: 'uint128' }, + { name: 'rate1', internalType: 'uint128', type: 'uint128' }, ], - name: 'newPluginConfig', + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 'ALGEBRA_BASE_PLUGIN_MANAGER', - outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + name: 'rewardReserves', + outputs: [ + { name: 'reserve0', internalType: 'uint128', type: 'uint128' }, + { name: 'reserve1', internalType: 'uint128', type: 'uint128' }, + ], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'uint256', type: 'uint256' }, - { name: '', internalType: 'uint256', type: 'uint256' }, - { name: '', internalType: 'uint256', type: 'uint256' }, - { name: '', internalType: 'uint256', type: 'uint256' }, - { name: '', internalType: 'bytes', type: 'bytes' }, + { name: '_maxRate0', internalType: 'uint128', type: 'uint128' }, + { name: '_maxRate1', internalType: 'uint128', type: 'uint128' }, + { name: '_minRate0', internalType: 'uint128', type: 'uint128' }, + { name: '_minRate1', internalType: 'uint128', type: 'uint128' }, ], - name: 'afterFlash', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'setDynamicRateLimits', + outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'uint160', type: 'uint160' }, - { name: '', internalType: 'int24', type: 'int24' }, + { name: 'rate0', internalType: 'uint128', type: 'uint128' }, + { name: 'rate1', internalType: 'uint128', type: 'uint128' }, ], - name: 'afterInitialize', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'setRates', + outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'int24', type: 'int24' }, - { name: '', internalType: 'int24', type: 'int24' }, - { name: '', internalType: 'int128', type: 'int128' }, - { name: '', internalType: 'uint256', type: 'uint256' }, - { name: '', internalType: 'uint256', type: 'uint256' }, - { name: '', internalType: 'bytes', type: 'bytes' }, + { name: 'weight0', internalType: 'uint16', type: 'uint16' }, + { name: 'weight1', internalType: 'uint16', type: 'uint16' }, ], - name: 'afterModifyPosition', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'setWeights', + outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'bool', type: 'bool' }, - { name: '', internalType: 'int256', type: 'int256' }, - { name: '', internalType: 'uint160', type: 'uint160' }, - { name: '', internalType: 'int256', type: 'int256' }, - { name: '', internalType: 'int256', type: 'int256' }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'afterSwap', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + inputs: [{ name: 'isActive', internalType: 'bool', type: 'bool' }], + name: 'switchDynamicRate', + outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'uint256', type: 'uint256' }, - { name: '', internalType: 'uint256', type: 'uint256' }, - { name: '', internalType: 'bytes', type: 'bytes' }, + inputs: [{ name: 'tickId', internalType: 'int24', type: 'int24' }], + name: 'ticks', + outputs: [ + { name: 'liquidityTotal', internalType: 'uint256', type: 'uint256' }, + { name: 'liquidityDelta', internalType: 'int128', type: 'int128' }, + { name: 'prevTick', internalType: 'int24', type: 'int24' }, + { name: 'nextTick', internalType: 'int24', type: 'int24' }, + { + name: 'outerFeeGrowth0Token', + internalType: 'uint256', + type: 'uint256', + }, + { + name: 'outerFeeGrowth1Token', + internalType: 'uint256', + type: 'uint256', + }, ], - name: 'beforeFlash', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'view', }, { - stateMutability: 'pure', type: 'function', + inputs: [], + name: 'totalRewardGrowth', + outputs: [ + { name: 'rewardGrowth0', internalType: 'uint256', type: 'uint256' }, + { name: 'rewardGrowth1', internalType: 'uint256', type: 'uint256' }, + ], + stateMutability: 'view', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// FarmingCenter +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * + */ +export const farmingCenterAbi = [ + { + type: 'constructor', inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'uint160', type: 'uint160' }, + { + name: '_eternalFarming', + internalType: 'contract IAlgebraEternalFarming', + type: 'address', + }, + { + name: '_nonfungiblePositionManager', + internalType: 'contract INonfungiblePositionManager', + type: 'address', + }, ], - name: 'beforeInitialize', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'int24', type: 'int24' }, - { name: '', internalType: 'int24', type: 'int24' }, - { name: '', internalType: 'int128', type: 'int128' }, - { name: '', internalType: 'bytes', type: 'bytes' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'liquidityDelta', internalType: 'int256', type: 'int256' }, ], - name: 'beforeModifyPosition', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'applyLiquidityDelta', + outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'bool', type: 'bool' }, - { name: '', internalType: 'int256', type: 'int256' }, - { name: '', internalType: 'uint160', type: 'uint160' }, - { name: '', internalType: 'bool', type: 'bool' }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'beforeSwap', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], + name: 'burnPosition', + outputs: [{ name: 'success', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', - inputs: [], - name: 'defaultPluginConfig', - outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + inputs: [ + { + name: 'rewardToken', + internalType: 'contract IERC20Minimal', + type: 'address', + }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amountRequested', internalType: 'uint256', type: 'uint256' }, + ], + name: 'claimReward', + outputs: [{ name: 'reward', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', - inputs: [], - name: 'pluginConfig', - outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + inputs: [ + { + name: 'key', + internalType: 'struct IncentiveKey', + type: 'tuple', + components: [ + { + name: 'rewardToken', + internalType: 'contract IERC20Minimal', + type: 'address', + }, + { + name: 'bonusRewardToken', + internalType: 'contract IERC20Minimal', + type: 'address', + }, + { + name: 'pool', + internalType: 'contract IAlgebraPool', + type: 'address', + }, + { name: 'nonce', internalType: 'uint256', type: 'uint256' }, + ], + }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'collectRewards', + outputs: [ + { name: 'reward', internalType: 'uint256', type: 'uint256' }, + { name: 'bonusReward', internalType: 'uint256', type: 'uint256' }, + ], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', - inputs: [{ name: '_pluginConfig', internalType: 'uint8', type: 'uint8' }], - name: 'setNewPluginConfig', + inputs: [ + { name: 'pool', internalType: 'contract IAlgebraPool', type: 'address' }, + { name: 'newVirtualPool', internalType: 'address', type: 'address' }, + ], + name: 'connectVirtualPool', outputs: [], + stateMutability: 'nonpayable', }, -] as const - -export const algebraStubPluginAddress = - '0x955B95b8532fe75DDCf2161f61127Be74A768158' as const - -export const algebraStubPluginConfig = { - address: algebraStubPluginAddress, - abi: algebraStubPluginABI, -} as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// AlgebraVirtualPool -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const algebraVirtualPoolABI = [ { - stateMutability: 'nonpayable', - type: 'constructor', + type: 'function', inputs: [ - { name: '_farmingAddress', internalType: 'address', type: 'address' }, - { name: '_plugin', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'liquidityDelta', internalType: 'uint256', type: 'uint256' }, ], + name: 'decreaseLiquidity', + outputs: [{ name: 'success', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', }, - { type: 'error', inputs: [], name: 'invalidFeeWeights' }, - { type: 'error', inputs: [], name: 'invalidNewMaxRate' }, - { type: 'error', inputs: [], name: 'invalidNewMinRate' }, - { type: 'error', inputs: [], name: 'liquidityAdd' }, - { type: 'error', inputs: [], name: 'liquidityOverflow' }, - { type: 'error', inputs: [], name: 'liquiditySub' }, - { type: 'error', inputs: [], name: 'onlyFarming' }, - { type: 'error', inputs: [], name: 'onlyPlugin' }, - { type: 'error', inputs: [], name: 'tickInvalidLinks' }, - { type: 'error', inputs: [], name: 'tickIsNotInitialized' }, { - stateMutability: 'view', type: 'function', - inputs: [], - name: 'FEE_WEIGHT_DENOMINATOR', - outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], - }, - { + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'deposits', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], stateMutability: 'view', - type: 'function', - inputs: [], - name: 'RATE_CHANGE_FREQUENCY', - outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }], }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'token0Amount', internalType: 'uint128', type: 'uint128' }, - { name: 'token1Amount', internalType: 'uint128', type: 'uint128' }, + { + name: 'key', + internalType: 'struct IncentiveKey', + type: 'tuple', + components: [ + { + name: 'rewardToken', + internalType: 'contract IERC20Minimal', + type: 'address', + }, + { + name: 'bonusRewardToken', + internalType: 'contract IERC20Minimal', + type: 'address', + }, + { + name: 'pool', + internalType: 'contract IAlgebraPool', + type: 'address', + }, + { name: 'nonce', internalType: 'uint256', type: 'uint256' }, + ], + }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, ], - name: 'addRewards', + name: 'enterFarming', outputs: [], - }, - { stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: 'bottomTick', internalType: 'int24', type: 'int24' }, - { name: 'topTick', internalType: 'int24', type: 'int24' }, - { name: 'liquidityDelta', internalType: 'int128', type: 'int128' }, - { name: 'currentTick', internalType: 'int24', type: 'int24' }, - ], - name: 'applyLiquidityDeltaToPosition', - outputs: [], }, { - stateMutability: 'nonpayable', type: 'function', - inputs: [ - { name: 'targetTick', internalType: 'int24', type: 'int24' }, - { name: 'zeroToOne', internalType: 'bool', type: 'bool' }, - { name: 'feeAmount', internalType: 'uint128', type: 'uint128' }, + inputs: [], + name: 'eternalFarming', + outputs: [ + { + name: '', + internalType: 'contract IAlgebraEternalFarming', + type: 'address', + }, ], - name: 'crossTo', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], - }, - { stateMutability: 'view', - type: 'function', - inputs: [], - name: 'currentLiquidity', - outputs: [{ name: '', internalType: 'uint128', type: 'uint128' }], }, { - stateMutability: 'nonpayable', type: 'function', - inputs: [], - name: 'deactivate', + inputs: [ + { + name: 'key', + internalType: 'struct IncentiveKey', + type: 'tuple', + components: [ + { + name: 'rewardToken', + internalType: 'contract IERC20Minimal', + type: 'address', + }, + { + name: 'bonusRewardToken', + internalType: 'contract IERC20Minimal', + type: 'address', + }, + { + name: 'pool', + internalType: 'contract IAlgebraPool', + type: 'address', + }, + { name: 'nonce', internalType: 'uint256', type: 'uint256' }, + ], + }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'exitFarming', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', - inputs: [], - name: 'deactivated', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + name: 'incentiveKeys', + outputs: [ + { + name: 'rewardToken', + internalType: 'contract IERC20Minimal', + type: 'address', + }, + { + name: 'bonusRewardToken', + internalType: 'contract IERC20Minimal', + type: 'address', + }, + { name: 'pool', internalType: 'contract IAlgebraPool', type: 'address' }, + { name: 'nonce', internalType: 'uint256', type: 'uint256' }, + ], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'token0Amount', internalType: 'uint128', type: 'uint128' }, - { name: 'token1Amount', internalType: 'uint128', type: 'uint128' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'liquidityDelta', internalType: 'uint256', type: 'uint256' }, ], - name: 'decreaseRewards', + name: 'increaseLiquidity', outputs: [], - }, - { stateMutability: 'nonpayable', - type: 'function', - inputs: [], - name: 'distributeRewards', - outputs: [], }, { - stateMutability: 'view', type: 'function', - inputs: [], - name: 'dynamicRateActivated', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }], + name: 'multicall', + outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }], + stateMutability: 'payable', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 'farmingAddress', - outputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'nonfungiblePositionManager', + outputs: [ + { + name: '', + internalType: 'contract INonfungiblePositionManager', + type: 'address', + }, + ], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', - inputs: [], - name: 'feeWeights', - outputs: [ - { name: 'weight0', internalType: 'uint16', type: 'uint16' }, - { name: 'weight1', internalType: 'uint16', type: 'uint16' }, + inputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'virtualPoolAddresses', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', + }, +] as const + +/** + * + */ +export const farmingCenterAddress = { + 531050204: '0x658E287E9C820484f5808f687dC4863B552de37D', +} as const + +/** + * + */ +export const farmingCenterConfig = { + address: farmingCenterAddress, + abi: farmingCenterAbi, +} as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// PluginFactory +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * + */ +export const pluginFactoryAbi = [ + { + type: 'constructor', + inputs: [ + { name: '_algebraFactory', internalType: 'address', type: 'address' }, ], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'bottomTick', internalType: 'int24', type: 'int24' }, - { name: 'topTick', internalType: 'int24', type: 'int24' }, + { + name: 'newDefaultBaseFee', + internalType: 'uint16', + type: 'uint16', + indexed: false, + }, ], - name: 'getInnerRewardsGrowth', - outputs: [ - { name: 'rewardGrowthInside0', internalType: 'uint256', type: 'uint256' }, - { name: 'rewardGrowthInside1', internalType: 'uint256', type: 'uint256' }, + name: 'DefaultBaseFee', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'newFarmingAddress', + internalType: 'address', + type: 'address', + indexed: false, + }, ], + name: 'FarmingAddress', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 'globalTick', - outputs: [{ name: '', internalType: 'int24', type: 'int24' }], + name: 'ALGEBRA_BASE_PLUGIN_FACTORY_ADMINISTRATOR', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + stateMutability: 'view', }, { + type: 'function', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + ], + name: 'afterCreatePoolHook', + outputs: [], stateMutability: 'view', + }, + { type: 'function', inputs: [], - name: 'plugin', + name: 'algebraFactory', outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', - inputs: [], - name: 'prevTimestamp', - outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }], + inputs: [ + { name: 'pool', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'beforeCreatePoolHook', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', - inputs: [], - name: 'rateLimits', - outputs: [ - { name: 'maxRewardRate0', internalType: 'uint128', type: 'uint128' }, - { name: 'maxRewardRate1', internalType: 'uint128', type: 'uint128' }, - { name: 'minRewardRate0', internalType: 'uint128', type: 'uint128' }, - { name: 'minRewardRate1', internalType: 'uint128', type: 'uint128' }, + inputs: [ + { name: 'token0', internalType: 'address', type: 'address' }, + { name: 'token1', internalType: 'address', type: 'address' }, ], + name: 'createPluginForExistingPool', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'nonpayable', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 'rewardRates', - outputs: [ - { name: 'rate0', internalType: 'uint128', type: 'uint128' }, - { name: 'rate1', internalType: 'uint128', type: 'uint128' }, - ], + name: 'defaultBaseFee', + outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], + stateMutability: 'view', }, { - stateMutability: 'view', type: 'function', inputs: [], - name: 'rewardReserves', - outputs: [ - { name: 'reserve0', internalType: 'uint128', type: 'uint128' }, - { name: 'reserve1', internalType: 'uint128', type: 'uint128' }, - ], + name: 'farmingAddress', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', - inputs: [ - { name: '_maxRate0', internalType: 'uint128', type: 'uint128' }, - { name: '_maxRate1', internalType: 'uint128', type: 'uint128' }, - { name: '_minRate0', internalType: 'uint128', type: 'uint128' }, - { name: '_minRate1', internalType: 'uint128', type: 'uint128' }, + inputs: [{ name: 'poolAddress', internalType: 'address', type: 'address' }], + name: 'pluginByPool', + outputs: [ + { name: 'pluginAddress', internalType: 'address', type: 'address' }, ], - name: 'setDynamicRateLimits', - outputs: [], + stateMutability: 'view', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'rate0', internalType: 'uint128', type: 'uint128' }, - { name: 'rate1', internalType: 'uint128', type: 'uint128' }, + { name: 'newDefaultBaseFee', internalType: 'uint16', type: 'uint16' }, ], - name: 'setRates', + name: 'setDefaultBaseFee', outputs: [], + stateMutability: 'nonpayable', }, { - stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'weight0', internalType: 'uint16', type: 'uint16' }, - { name: 'weight1', internalType: 'uint16', type: 'uint16' }, + { name: 'newFarmingAddress', internalType: 'address', type: 'address' }, ], - name: 'setWeights', + name: 'setFarmingAddress', outputs: [], - }, - { stateMutability: 'nonpayable', - type: 'function', - inputs: [{ name: 'isActive', internalType: 'bool', type: 'bool' }], - name: 'switchDynamicRate', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tickId', internalType: 'int24', type: 'int24' }], - name: 'ticks', - outputs: [ - { name: 'liquidityTotal', internalType: 'uint256', type: 'uint256' }, - { name: 'liquidityDelta', internalType: 'int128', type: 'int128' }, - { name: 'prevTick', internalType: 'int24', type: 'int24' }, - { name: 'nextTick', internalType: 'int24', type: 'int24' }, - { - name: 'outerFeeGrowth0Token', - internalType: 'uint256', - type: 'uint256', - }, - { - name: 'outerFeeGrowth1Token', - internalType: 'uint256', - type: 'uint256', - }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'totalRewardGrowth', - outputs: [ - { name: 'rewardGrowth0', internalType: 'uint256', type: 'uint256' }, - { name: 'rewardGrowth1', internalType: 'uint256', type: 'uint256' }, - ], }, ] as const -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Core -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/** + * + */ +export const pluginFactoryAddress = { + 531050204: '0xFe3BEcd788320465ab649015F34F7771220A88b2', +} as const + +/** + * + */ +export const pluginFactoryConfig = { + address: pluginFactoryAddress, + abi: pluginFactoryAbi, +} as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// React +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ + */ +export const useReadAlgebraBasePlugin = /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"ALGEBRA_BASE_PLUGIN_MANAGER"` + */ +export const useReadAlgebraBasePluginAlgebraBasePluginManager = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 'ALGEBRA_BASE_PLUGIN_MANAGER', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"defaultPluginConfig"` + */ +export const useReadAlgebraBasePluginDefaultPluginConfig = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 'defaultPluginConfig', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"getPool"` + */ +export const useReadAlgebraBasePluginGetPool = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 'getPool', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"getSingleTimepoint"` + */ +export const useReadAlgebraBasePluginGetSingleTimepoint = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 'getSingleTimepoint', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"getTimepoints"` + */ +export const useReadAlgebraBasePluginGetTimepoints = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 'getTimepoints', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"handlePluginFee"` + */ +export const useReadAlgebraBasePluginHandlePluginFee = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 'handlePluginFee', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"incentive"` + */ +export const useReadAlgebraBasePluginIncentive = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 'incentive', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"isIncentiveConnected"` + */ +export const useReadAlgebraBasePluginIsIncentiveConnected = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 'isIncentiveConnected', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"isInitialized"` + */ +export const useReadAlgebraBasePluginIsInitialized = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 'isInitialized', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"lastTimepointTimestamp"` + */ +export const useReadAlgebraBasePluginLastTimepointTimestamp = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 'lastTimepointTimestamp', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"pool"` + */ +export const useReadAlgebraBasePluginPool = /*#__PURE__*/ createUseReadContract( + { abi: algebraBasePluginAbi, functionName: 'pool' }, +) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"s_baseFee"` + */ +export const useReadAlgebraBasePluginSBaseFee = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 's_baseFee', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"s_feeFactors"` + */ +export const useReadAlgebraBasePluginSFeeFactors = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 's_feeFactors', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"s_priceChangeFactor"` + */ +export const useReadAlgebraBasePluginSPriceChangeFactor = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 's_priceChangeFactor', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"timepointIndex"` + */ +export const useReadAlgebraBasePluginTimepointIndex = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 'timepointIndex', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"timepoints"` + */ +export const useReadAlgebraBasePluginTimepoints = + /*#__PURE__*/ createUseReadContract({ + abi: algebraBasePluginAbi, + functionName: 'timepoints', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ + */ +export const useWriteAlgebraBasePlugin = /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterFlash"` + */ +export const useWriteAlgebraBasePluginAfterFlash = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'afterFlash', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterInitialize"` + */ +export const useWriteAlgebraBasePluginAfterInitialize = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'afterInitialize', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterModifyPosition"` + */ +export const useWriteAlgebraBasePluginAfterModifyPosition = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'afterModifyPosition', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterSwap"` + */ +export const useWriteAlgebraBasePluginAfterSwap = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'afterSwap', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeFlash"` + */ +export const useWriteAlgebraBasePluginBeforeFlash = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeFlash', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeInitialize"` + */ +export const useWriteAlgebraBasePluginBeforeInitialize = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeInitialize', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeModifyPosition"` + */ +export const useWriteAlgebraBasePluginBeforeModifyPosition = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeModifyPosition', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeSwap"` + */ +export const useWriteAlgebraBasePluginBeforeSwap = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeSwap', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"collectPluginFee"` + */ +export const useWriteAlgebraBasePluginCollectPluginFee = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'collectPluginFee', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"initialize"` + */ +export const useWriteAlgebraBasePluginInitialize = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'initialize', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"prepayTimepointsStorageSlots"` + */ +export const useWriteAlgebraBasePluginPrepayTimepointsStorageSlots = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'prepayTimepointsStorageSlots', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"setBaseFee"` + */ +export const useWriteAlgebraBasePluginSetBaseFee = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'setBaseFee', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"setIncentive"` + */ +export const useWriteAlgebraBasePluginSetIncentive = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'setIncentive', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"setPriceChangeFactor"` + */ +export const useWriteAlgebraBasePluginSetPriceChangeFactor = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'setPriceChangeFactor', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ + */ +export const useSimulateAlgebraBasePlugin = + /*#__PURE__*/ createUseSimulateContract({ abi: algebraBasePluginAbi }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterFlash"` + */ +export const useSimulateAlgebraBasePluginAfterFlash = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'afterFlash', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterInitialize"` + */ +export const useSimulateAlgebraBasePluginAfterInitialize = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'afterInitialize', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterModifyPosition"` + */ +export const useSimulateAlgebraBasePluginAfterModifyPosition = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'afterModifyPosition', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterSwap"` + */ +export const useSimulateAlgebraBasePluginAfterSwap = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'afterSwap', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeFlash"` + */ +export const useSimulateAlgebraBasePluginBeforeFlash = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeFlash', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeInitialize"` + */ +export const useSimulateAlgebraBasePluginBeforeInitialize = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeInitialize', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeModifyPosition"` + */ +export const useSimulateAlgebraBasePluginBeforeModifyPosition = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeModifyPosition', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeSwap"` + */ +export const useSimulateAlgebraBasePluginBeforeSwap = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeSwap', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"collectPluginFee"` + */ +export const useSimulateAlgebraBasePluginCollectPluginFee = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'collectPluginFee', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"initialize"` + */ +export const useSimulateAlgebraBasePluginInitialize = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'initialize', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"prepayTimepointsStorageSlots"` + */ +export const useSimulateAlgebraBasePluginPrepayTimepointsStorageSlots = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'prepayTimepointsStorageSlots', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"setBaseFee"` + */ +export const useSimulateAlgebraBasePluginSetBaseFee = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'setBaseFee', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"setIncentive"` + */ +export const useSimulateAlgebraBasePluginSetIncentive = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'setIncentive', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"setPriceChangeFactor"` + */ +export const useSimulateAlgebraBasePluginSetPriceChangeFactor = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'setPriceChangeFactor', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraBasePluginAbi}__ + */ +export const useWatchAlgebraBasePluginEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: algebraBasePluginAbi }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `eventName` set to `"BaseFee"` + */ +export const useWatchAlgebraBasePluginBaseFeeEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraBasePluginAbi, + eventName: 'BaseFee', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `eventName` set to `"Incentive"` + */ +export const useWatchAlgebraBasePluginIncentiveEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraBasePluginAbi, + eventName: 'Incentive', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `eventName` set to `"PriceChangeFactor"` + */ +export const useWatchAlgebraBasePluginPriceChangeFactorEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraBasePluginAbi, + eventName: 'PriceChangeFactor', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ + * + * + */ +export const useReadAlgebraEternalFarming = /*#__PURE__*/ createUseReadContract( + { abi: algebraEternalFarmingAbi, address: algebraEternalFarmingAddress }, +) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"FARMINGS_ADMINISTRATOR_ROLE"` + * + * + */ +export const useReadAlgebraEternalFarmingFarmingsAdministratorRole = + /*#__PURE__*/ createUseReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'FARMINGS_ADMINISTRATOR_ROLE', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"INCENTIVE_MAKER_ROLE"` + * + * + */ +export const useReadAlgebraEternalFarmingIncentiveMakerRole = + /*#__PURE__*/ createUseReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'INCENTIVE_MAKER_ROLE', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"farmingCenter"` + * + * + */ +export const useReadAlgebraEternalFarmingFarmingCenter = + /*#__PURE__*/ createUseReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'farmingCenter', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"farms"` + * + * + */ +export const useReadAlgebraEternalFarmingFarms = + /*#__PURE__*/ createUseReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'farms', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"getRewardInfo"` + * + * + */ +export const useReadAlgebraEternalFarmingGetRewardInfo = + /*#__PURE__*/ createUseReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'getRewardInfo', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"incentives"` + * + * + */ +export const useReadAlgebraEternalFarmingIncentives = + /*#__PURE__*/ createUseReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'incentives', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"isEmergencyWithdrawActivated"` + * + * + */ +export const useReadAlgebraEternalFarmingIsEmergencyWithdrawActivated = + /*#__PURE__*/ createUseReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'isEmergencyWithdrawActivated', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"isIncentiveDeactivated"` + * + * + */ +export const useReadAlgebraEternalFarmingIsIncentiveDeactivated = + /*#__PURE__*/ createUseReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'isIncentiveDeactivated', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"nonfungiblePositionManager"` + * + * + */ +export const useReadAlgebraEternalFarmingNonfungiblePositionManager = + /*#__PURE__*/ createUseReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'nonfungiblePositionManager', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"numOfIncentives"` + * + * + */ +export const useReadAlgebraEternalFarmingNumOfIncentives = + /*#__PURE__*/ createUseReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'numOfIncentives', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"rewards"` + * + * + */ +export const useReadAlgebraEternalFarmingRewards = + /*#__PURE__*/ createUseReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'rewards', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ + * + * + */ +export const useWriteAlgebraEternalFarming = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"addRewards"` + * + * + */ +export const useWriteAlgebraEternalFarmingAddRewards = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'addRewards', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"claimReward"` + * + * + */ +export const useWriteAlgebraEternalFarmingClaimReward = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'claimReward', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"claimRewardFrom"` + * + * + */ +export const useWriteAlgebraEternalFarmingClaimRewardFrom = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'claimRewardFrom', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"collectRewards"` + * + * + */ +export const useWriteAlgebraEternalFarmingCollectRewards = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'collectRewards', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"createEternalFarming"` + * + * + */ +export const useWriteAlgebraEternalFarmingCreateEternalFarming = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'createEternalFarming', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"deactivateIncentive"` + * + * + */ +export const useWriteAlgebraEternalFarmingDeactivateIncentive = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'deactivateIncentive', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"decreaseRewardsAmount"` + * + * + */ +export const useWriteAlgebraEternalFarmingDecreaseRewardsAmount = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'decreaseRewardsAmount', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"enterFarming"` + * + * + */ +export const useWriteAlgebraEternalFarmingEnterFarming = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'enterFarming', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"exitFarming"` + * + * + */ +export const useWriteAlgebraEternalFarmingExitFarming = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'exitFarming', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"setEmergencyWithdrawStatus"` + * + * + */ +export const useWriteAlgebraEternalFarmingSetEmergencyWithdrawStatus = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'setEmergencyWithdrawStatus', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"setFarmingCenterAddress"` + * + * + */ +export const useWriteAlgebraEternalFarmingSetFarmingCenterAddress = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'setFarmingCenterAddress', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"setRates"` + * + * + */ +export const useWriteAlgebraEternalFarmingSetRates = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'setRates', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ + * + * + */ +export const useSimulateAlgebraEternalFarming = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"addRewards"` + * + * + */ +export const useSimulateAlgebraEternalFarmingAddRewards = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'addRewards', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"claimReward"` + * + * + */ +export const useSimulateAlgebraEternalFarmingClaimReward = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'claimReward', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"claimRewardFrom"` + * + * + */ +export const useSimulateAlgebraEternalFarmingClaimRewardFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'claimRewardFrom', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"collectRewards"` + * + * + */ +export const useSimulateAlgebraEternalFarmingCollectRewards = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'collectRewards', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"createEternalFarming"` + * + * + */ +export const useSimulateAlgebraEternalFarmingCreateEternalFarming = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'createEternalFarming', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"deactivateIncentive"` + * + * + */ +export const useSimulateAlgebraEternalFarmingDeactivateIncentive = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'deactivateIncentive', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"decreaseRewardsAmount"` + * + * + */ +export const useSimulateAlgebraEternalFarmingDecreaseRewardsAmount = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'decreaseRewardsAmount', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"enterFarming"` + * + * + */ +export const useSimulateAlgebraEternalFarmingEnterFarming = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'enterFarming', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"exitFarming"` + * + * + */ +export const useSimulateAlgebraEternalFarmingExitFarming = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'exitFarming', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"setEmergencyWithdrawStatus"` + * + * + */ +export const useSimulateAlgebraEternalFarmingSetEmergencyWithdrawStatus = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'setEmergencyWithdrawStatus', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"setFarmingCenterAddress"` + * + * + */ +export const useSimulateAlgebraEternalFarmingSetFarmingCenterAddress = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'setFarmingCenterAddress', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"setRates"` + * + * + */ +export const useSimulateAlgebraEternalFarmingSetRates = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'setRates', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ + * + * + */ +export const useWatchAlgebraEternalFarmingEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"EmergencyWithdraw"` + * + * + */ +export const useWatchAlgebraEternalFarmingEmergencyWithdrawEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'EmergencyWithdraw', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"EternalFarmingCreated"` + * + * + */ +export const useWatchAlgebraEternalFarmingEternalFarmingCreatedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'EternalFarmingCreated', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"FarmEnded"` + * + * + */ +export const useWatchAlgebraEternalFarmingFarmEndedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'FarmEnded', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"FarmEntered"` + * + * + */ +export const useWatchAlgebraEternalFarmingFarmEnteredEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'FarmEntered', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"FarmingCenter"` + * + * + */ +export const useWatchAlgebraEternalFarmingFarmingCenterEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'FarmingCenter', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"IncentiveDeactivated"` + * + * + */ +export const useWatchAlgebraEternalFarmingIncentiveDeactivatedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'IncentiveDeactivated', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"RewardAmountsDecreased"` + * + * + */ +export const useWatchAlgebraEternalFarmingRewardAmountsDecreasedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'RewardAmountsDecreased', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"RewardClaimed"` + * + * + */ +export const useWatchAlgebraEternalFarmingRewardClaimedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'RewardClaimed', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"RewardsAdded"` + * + * + */ +export const useWatchAlgebraEternalFarmingRewardsAddedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'RewardsAdded', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"RewardsCollected"` + * + * + */ +export const useWatchAlgebraEternalFarmingRewardsCollectedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'RewardsCollected', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"RewardsRatesChanged"` + * + * + */ +export const useWatchAlgebraEternalFarmingRewardsRatesChangedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'RewardsRatesChanged', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ + * + * + */ +export const useReadAlgebraFactory = /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"DEFAULT_ADMIN_ROLE"` + * + * + */ +export const useReadAlgebraFactoryDefaultAdminRole = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'DEFAULT_ADMIN_ROLE', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"POOLS_ADMINISTRATOR_ROLE"` + * + * + */ +export const useReadAlgebraFactoryPoolsAdministratorRole = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'POOLS_ADMINISTRATOR_ROLE', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"POOL_INIT_CODE_HASH"` + * + * + */ +export const useReadAlgebraFactoryPoolInitCodeHash = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'POOL_INIT_CODE_HASH', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"computePoolAddress"` + * + * + */ +export const useReadAlgebraFactoryComputePoolAddress = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'computePoolAddress', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"defaultCommunityFee"` + * + * + */ +export const useReadAlgebraFactoryDefaultCommunityFee = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'defaultCommunityFee', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"defaultConfigurationForPool"` + * + * + */ +export const useReadAlgebraFactoryDefaultConfigurationForPool = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'defaultConfigurationForPool', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"defaultFee"` + * + * + */ +export const useReadAlgebraFactoryDefaultFee = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'defaultFee', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"defaultPluginFactory"` + * + * + */ +export const useReadAlgebraFactoryDefaultPluginFactory = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'defaultPluginFactory', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"defaultTickspacing"` + * + * + */ +export const useReadAlgebraFactoryDefaultTickspacing = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'defaultTickspacing', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"getRoleAdmin"` + * + * + */ +export const useReadAlgebraFactoryGetRoleAdmin = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'getRoleAdmin', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"getRoleMember"` + * + * + */ +export const useReadAlgebraFactoryGetRoleMember = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'getRoleMember', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"getRoleMemberCount"` + * + * + */ +export const useReadAlgebraFactoryGetRoleMemberCount = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'getRoleMemberCount', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"hasRole"` + * + * + */ +export const useReadAlgebraFactoryHasRole = /*#__PURE__*/ createUseReadContract( + { + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'hasRole', + }, +) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"hasRoleOrOwner"` + * + * + */ +export const useReadAlgebraFactoryHasRoleOrOwner = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'hasRoleOrOwner', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"owner"` + * + * + */ +export const useReadAlgebraFactoryOwner = /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'owner', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"pendingOwner"` + * + * + */ +export const useReadAlgebraFactoryPendingOwner = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'pendingOwner', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"poolByPair"` + * + * + */ +export const useReadAlgebraFactoryPoolByPair = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'poolByPair', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"poolDeployer"` + * + * + */ +export const useReadAlgebraFactoryPoolDeployer = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'poolDeployer', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"renounceOwnershipStartTimestamp"` + * + * + */ +export const useReadAlgebraFactoryRenounceOwnershipStartTimestamp = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'renounceOwnershipStartTimestamp', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"supportsInterface"` + * + * + */ +export const useReadAlgebraFactorySupportsInterface = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'supportsInterface', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"vaultFactory"` + * + * + */ +export const useReadAlgebraFactoryVaultFactory = + /*#__PURE__*/ createUseReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'vaultFactory', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ + * + * + */ +export const useWriteAlgebraFactory = /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"acceptOwnership"` + * + * + */ +export const useWriteAlgebraFactoryAcceptOwnership = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'acceptOwnership', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"createPool"` + * + * + */ +export const useWriteAlgebraFactoryCreatePool = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'createPool', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"grantRole"` + * + * + */ +export const useWriteAlgebraFactoryGrantRole = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'grantRole', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"renounceOwnership"` + * + * + */ +export const useWriteAlgebraFactoryRenounceOwnership = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'renounceOwnership', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"renounceRole"` + * + * + */ +export const useWriteAlgebraFactoryRenounceRole = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'renounceRole', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"revokeRole"` + * + * + */ +export const useWriteAlgebraFactoryRevokeRole = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'revokeRole', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultCommunityFee"` + * + * + */ +export const useWriteAlgebraFactorySetDefaultCommunityFee = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultCommunityFee', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultFee"` + * + * + */ +export const useWriteAlgebraFactorySetDefaultFee = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultFee', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultPluginFactory"` + * + * + */ +export const useWriteAlgebraFactorySetDefaultPluginFactory = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultPluginFactory', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultTickspacing"` + * + * + */ +export const useWriteAlgebraFactorySetDefaultTickspacing = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultTickspacing', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setVaultFactory"` + * + * + */ +export const useWriteAlgebraFactorySetVaultFactory = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setVaultFactory', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"startRenounceOwnership"` + * + * + */ +export const useWriteAlgebraFactoryStartRenounceOwnership = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'startRenounceOwnership', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"stopRenounceOwnership"` + * + * + */ +export const useWriteAlgebraFactoryStopRenounceOwnership = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'stopRenounceOwnership', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"transferOwnership"` + * + * + */ +export const useWriteAlgebraFactoryTransferOwnership = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'transferOwnership', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ + * + * + */ +export const useSimulateAlgebraFactory = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"acceptOwnership"` + * + * + */ +export const useSimulateAlgebraFactoryAcceptOwnership = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'acceptOwnership', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"createPool"` + * + * + */ +export const useSimulateAlgebraFactoryCreatePool = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'createPool', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"grantRole"` + * + * + */ +export const useSimulateAlgebraFactoryGrantRole = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'grantRole', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"renounceOwnership"` + * + * + */ +export const useSimulateAlgebraFactoryRenounceOwnership = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'renounceOwnership', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"renounceRole"` + * + * + */ +export const useSimulateAlgebraFactoryRenounceRole = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'renounceRole', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"revokeRole"` + * + * + */ +export const useSimulateAlgebraFactoryRevokeRole = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'revokeRole', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultCommunityFee"` + * + * + */ +export const useSimulateAlgebraFactorySetDefaultCommunityFee = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultCommunityFee', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultFee"` + * + * + */ +export const useSimulateAlgebraFactorySetDefaultFee = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultFee', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultPluginFactory"` + * + * + */ +export const useSimulateAlgebraFactorySetDefaultPluginFactory = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultPluginFactory', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultTickspacing"` + * + * + */ +export const useSimulateAlgebraFactorySetDefaultTickspacing = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultTickspacing', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setVaultFactory"` + * + * + */ +export const useSimulateAlgebraFactorySetVaultFactory = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setVaultFactory', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"startRenounceOwnership"` + * + * + */ +export const useSimulateAlgebraFactoryStartRenounceOwnership = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'startRenounceOwnership', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"stopRenounceOwnership"` + * + * + */ +export const useSimulateAlgebraFactoryStopRenounceOwnership = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'stopRenounceOwnership', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"transferOwnership"` + * + * + */ +export const useSimulateAlgebraFactoryTransferOwnership = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'transferOwnership', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ + * + * + */ +export const useWatchAlgebraFactoryEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"DefaultCommunityFee"` + * + * + */ +export const useWatchAlgebraFactoryDefaultCommunityFeeEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'DefaultCommunityFee', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"DefaultFee"` + * + * + */ +export const useWatchAlgebraFactoryDefaultFeeEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'DefaultFee', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"DefaultPluginFactory"` + * + * + */ +export const useWatchAlgebraFactoryDefaultPluginFactoryEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'DefaultPluginFactory', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"DefaultTickspacing"` + * + * + */ +export const useWatchAlgebraFactoryDefaultTickspacingEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'DefaultTickspacing', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"OwnershipTransferStarted"` + * + * + */ +export const useWatchAlgebraFactoryOwnershipTransferStartedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'OwnershipTransferStarted', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"OwnershipTransferred"` + * + * + */ +export const useWatchAlgebraFactoryOwnershipTransferredEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'OwnershipTransferred', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"Pool"` + * + * + */ +export const useWatchAlgebraFactoryPoolEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'Pool', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"RenounceOwnershipFinish"` + * + * + */ +export const useWatchAlgebraFactoryRenounceOwnershipFinishEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'RenounceOwnershipFinish', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"RenounceOwnershipStart"` + * + * + */ +export const useWatchAlgebraFactoryRenounceOwnershipStartEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'RenounceOwnershipStart', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"RenounceOwnershipStop"` + * + * + */ +export const useWatchAlgebraFactoryRenounceOwnershipStopEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'RenounceOwnershipStop', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"RoleAdminChanged"` + * + * + */ +export const useWatchAlgebraFactoryRoleAdminChangedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'RoleAdminChanged', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"RoleGranted"` + * + * + */ +export const useWatchAlgebraFactoryRoleGrantedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'RoleGranted', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"RoleRevoked"` + * + * + */ +export const useWatchAlgebraFactoryRoleRevokedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'RoleRevoked', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"VaultFactory"` + * + * + */ +export const useWatchAlgebraFactoryVaultFactoryEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'VaultFactory', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ + */ +export const useReadAlgebraPool = /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"communityFeeLastTimestamp"` + */ +export const useReadAlgebraPoolCommunityFeeLastTimestamp = + /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'communityFeeLastTimestamp', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"communityVault"` + */ +export const useReadAlgebraPoolCommunityVault = + /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'communityVault', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"factory"` + */ +export const useReadAlgebraPoolFactory = /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'factory', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"fee"` + */ +export const useReadAlgebraPoolFee = /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'fee', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"getCommunityFeePending"` + */ +export const useReadAlgebraPoolGetCommunityFeePending = + /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'getCommunityFeePending', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"getReserves"` + */ +export const useReadAlgebraPoolGetReserves = + /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'getReserves', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"globalState"` + */ +export const useReadAlgebraPoolGlobalState = + /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'globalState', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"liquidity"` + */ +export const useReadAlgebraPoolLiquidity = /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'liquidity', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"maxLiquidityPerTick"` + */ +export const useReadAlgebraPoolMaxLiquidityPerTick = + /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'maxLiquidityPerTick', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"nextTickGlobal"` + */ +export const useReadAlgebraPoolNextTickGlobal = + /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'nextTickGlobal', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"plugin"` + */ +export const useReadAlgebraPoolPlugin = /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'plugin', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"positions"` + */ +export const useReadAlgebraPoolPositions = /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'positions', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"prevTickGlobal"` + */ +export const useReadAlgebraPoolPrevTickGlobal = + /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'prevTickGlobal', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"tickSpacing"` + */ +export const useReadAlgebraPoolTickSpacing = + /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'tickSpacing', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"tickTable"` + */ +export const useReadAlgebraPoolTickTable = /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'tickTable', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"ticks"` + */ +export const useReadAlgebraPoolTicks = /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'ticks', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"token0"` + */ +export const useReadAlgebraPoolToken0 = /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'token0', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"token1"` + */ +export const useReadAlgebraPoolToken1 = /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'token1', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"totalFeeGrowth0Token"` + */ +export const useReadAlgebraPoolTotalFeeGrowth0Token = + /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'totalFeeGrowth0Token', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"totalFeeGrowth1Token"` + */ +export const useReadAlgebraPoolTotalFeeGrowth1Token = + /*#__PURE__*/ createUseReadContract({ + abi: algebraPoolAbi, + functionName: 'totalFeeGrowth1Token', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ + */ +export const useWriteAlgebraPool = /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"burn"` + */ +export const useWriteAlgebraPoolBurn = /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, + functionName: 'burn', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"collect"` + */ +export const useWriteAlgebraPoolCollect = /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, + functionName: 'collect', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"flash"` + */ +export const useWriteAlgebraPoolFlash = /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, + functionName: 'flash', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"initialize"` + */ +export const useWriteAlgebraPoolInitialize = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, + functionName: 'initialize', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"mint"` + */ +export const useWriteAlgebraPoolMint = /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, + functionName: 'mint', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setCommunityFee"` + */ +export const useWriteAlgebraPoolSetCommunityFee = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, + functionName: 'setCommunityFee', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setFee"` + */ +export const useWriteAlgebraPoolSetFee = /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, + functionName: 'setFee', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setPlugin"` + */ +export const useWriteAlgebraPoolSetPlugin = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, + functionName: 'setPlugin', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setPluginConfig"` + */ +export const useWriteAlgebraPoolSetPluginConfig = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, + functionName: 'setPluginConfig', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setTickSpacing"` + */ +export const useWriteAlgebraPoolSetTickSpacing = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, + functionName: 'setTickSpacing', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"swap"` + */ +export const useWriteAlgebraPoolSwap = /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, + functionName: 'swap', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"swapWithPaymentInAdvance"` + */ +export const useWriteAlgebraPoolSwapWithPaymentInAdvance = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraPoolAbi, + functionName: 'swapWithPaymentInAdvance', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ + */ +export const useSimulateAlgebraPool = /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"burn"` + */ +export const useSimulateAlgebraPoolBurn = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, + functionName: 'burn', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"collect"` + */ +export const useSimulateAlgebraPoolCollect = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, + functionName: 'collect', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"flash"` + */ +export const useSimulateAlgebraPoolFlash = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, + functionName: 'flash', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"initialize"` + */ +export const useSimulateAlgebraPoolInitialize = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, + functionName: 'initialize', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"mint"` + */ +export const useSimulateAlgebraPoolMint = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, + functionName: 'mint', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setCommunityFee"` + */ +export const useSimulateAlgebraPoolSetCommunityFee = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, + functionName: 'setCommunityFee', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setFee"` + */ +export const useSimulateAlgebraPoolSetFee = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, + functionName: 'setFee', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setPlugin"` + */ +export const useSimulateAlgebraPoolSetPlugin = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, + functionName: 'setPlugin', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setPluginConfig"` + */ +export const useSimulateAlgebraPoolSetPluginConfig = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, + functionName: 'setPluginConfig', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setTickSpacing"` + */ +export const useSimulateAlgebraPoolSetTickSpacing = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, + functionName: 'setTickSpacing', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"swap"` + */ +export const useSimulateAlgebraPoolSwap = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, + functionName: 'swap', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"swapWithPaymentInAdvance"` + */ +export const useSimulateAlgebraPoolSwapWithPaymentInAdvance = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraPoolAbi, + functionName: 'swapWithPaymentInAdvance', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ + */ +export const useWatchAlgebraPoolEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: algebraPoolAbi }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Burn"` + */ +export const useWatchAlgebraPoolBurnEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Burn', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Collect"` + */ +export const useWatchAlgebraPoolCollectEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Collect', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"CommunityFee"` + */ +export const useWatchAlgebraPoolCommunityFeeEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'CommunityFee', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Fee"` + */ +export const useWatchAlgebraPoolFeeEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Fee', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Flash"` + */ +export const useWatchAlgebraPoolFlashEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Flash', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Initialize"` + */ +export const useWatchAlgebraPoolInitializeEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Initialize', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Mint"` + */ +export const useWatchAlgebraPoolMintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Mint', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Plugin"` + */ +export const useWatchAlgebraPoolPluginEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Plugin', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"PluginConfig"` + */ +export const useWatchAlgebraPoolPluginConfigEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'PluginConfig', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Swap"` + */ +export const useWatchAlgebraPoolSwapEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Swap', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"TickSpacing"` + */ +export const useWatchAlgebraPoolTickSpacingEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'TickSpacing', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ + * + * + */ +export const useReadAlgebraStubPlugin = /*#__PURE__*/ createUseReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"ALGEBRA_BASE_PLUGIN_MANAGER"` + * + * + */ +export const useReadAlgebraStubPluginAlgebraBasePluginManager = + /*#__PURE__*/ createUseReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'ALGEBRA_BASE_PLUGIN_MANAGER', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"afterFlash"` + * + * + */ +export const useReadAlgebraStubPluginAfterFlash = + /*#__PURE__*/ createUseReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'afterFlash', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"afterInitialize"` + * + * + */ +export const useReadAlgebraStubPluginAfterInitialize = + /*#__PURE__*/ createUseReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'afterInitialize', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"afterModifyPosition"` + * + * + */ +export const useReadAlgebraStubPluginAfterModifyPosition = + /*#__PURE__*/ createUseReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'afterModifyPosition', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"afterSwap"` + * + * + */ +export const useReadAlgebraStubPluginAfterSwap = + /*#__PURE__*/ createUseReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'afterSwap', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"beforeFlash"` + * + * + */ +export const useReadAlgebraStubPluginBeforeFlash = + /*#__PURE__*/ createUseReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'beforeFlash', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"beforeInitialize"` + * + * + */ +export const useReadAlgebraStubPluginBeforeInitialize = + /*#__PURE__*/ createUseReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'beforeInitialize', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"beforeModifyPosition"` + * + * + */ +export const useReadAlgebraStubPluginBeforeModifyPosition = + /*#__PURE__*/ createUseReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'beforeModifyPosition', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"beforeSwap"` + * + * + */ +export const useReadAlgebraStubPluginBeforeSwap = + /*#__PURE__*/ createUseReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'beforeSwap', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"defaultPluginConfig"` + * + * + */ +export const useReadAlgebraStubPluginDefaultPluginConfig = + /*#__PURE__*/ createUseReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'defaultPluginConfig', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"pluginConfig"` + * + * + */ +export const useReadAlgebraStubPluginPluginConfig = + /*#__PURE__*/ createUseReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'pluginConfig', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ + * + * + */ +export const useWriteAlgebraStubPlugin = /*#__PURE__*/ createUseWriteContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"setNewPluginConfig"` + * + * + */ +export const useWriteAlgebraStubPluginSetNewPluginConfig = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'setNewPluginConfig', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ + * + * + */ +export const useSimulateAlgebraStubPlugin = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"setNewPluginConfig"` + * + * + */ +export const useSimulateAlgebraStubPluginSetNewPluginConfig = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'setNewPluginConfig', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraStubPluginAbi}__ + * + * + */ +export const useWatchAlgebraStubPluginEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `eventName` set to `"newPluginConfig"` + * + * + */ +export const useWatchAlgebraStubPluginNewPluginConfigEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + eventName: 'newPluginConfig', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ + */ +export const useReadAlgebraVirtualPool = /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"FEE_WEIGHT_DENOMINATOR"` + */ +export const useReadAlgebraVirtualPoolFeeWeightDenominator = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'FEE_WEIGHT_DENOMINATOR', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"RATE_CHANGE_FREQUENCY"` + */ +export const useReadAlgebraVirtualPoolRateChangeFrequency = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'RATE_CHANGE_FREQUENCY', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"currentLiquidity"` + */ +export const useReadAlgebraVirtualPoolCurrentLiquidity = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'currentLiquidity', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"deactivated"` + */ +export const useReadAlgebraVirtualPoolDeactivated = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'deactivated', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"dynamicRateActivated"` + */ +export const useReadAlgebraVirtualPoolDynamicRateActivated = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'dynamicRateActivated', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"farmingAddress"` + */ +export const useReadAlgebraVirtualPoolFarmingAddress = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'farmingAddress', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"feeWeights"` + */ +export const useReadAlgebraVirtualPoolFeeWeights = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'feeWeights', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"getInnerRewardsGrowth"` + */ +export const useReadAlgebraVirtualPoolGetInnerRewardsGrowth = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'getInnerRewardsGrowth', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"globalTick"` + */ +export const useReadAlgebraVirtualPoolGlobalTick = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'globalTick', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"plugin"` + */ +export const useReadAlgebraVirtualPoolPlugin = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'plugin', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"prevTimestamp"` + */ +export const useReadAlgebraVirtualPoolPrevTimestamp = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'prevTimestamp', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"rateLimits"` + */ +export const useReadAlgebraVirtualPoolRateLimits = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'rateLimits', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"rewardRates"` + */ +export const useReadAlgebraVirtualPoolRewardRates = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'rewardRates', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"rewardReserves"` + */ +export const useReadAlgebraVirtualPoolRewardReserves = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'rewardReserves', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"ticks"` + */ +export const useReadAlgebraVirtualPoolTicks = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'ticks', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"totalRewardGrowth"` + */ +export const useReadAlgebraVirtualPoolTotalRewardGrowth = + /*#__PURE__*/ createUseReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'totalRewardGrowth', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ + */ +export const useWriteAlgebraVirtualPool = /*#__PURE__*/ createUseWriteContract({ + abi: algebraVirtualPoolAbi, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"addRewards"` + */ +export const useWriteAlgebraVirtualPoolAddRewards = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'addRewards', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"applyLiquidityDeltaToPosition"` + */ +export const useWriteAlgebraVirtualPoolApplyLiquidityDeltaToPosition = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'applyLiquidityDeltaToPosition', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"crossTo"` + */ +export const useWriteAlgebraVirtualPoolCrossTo = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'crossTo', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"deactivate"` + */ +export const useWriteAlgebraVirtualPoolDeactivate = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'deactivate', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"decreaseRewards"` + */ +export const useWriteAlgebraVirtualPoolDecreaseRewards = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'decreaseRewards', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"distributeRewards"` + */ +export const useWriteAlgebraVirtualPoolDistributeRewards = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'distributeRewards', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"setDynamicRateLimits"` + */ +export const useWriteAlgebraVirtualPoolSetDynamicRateLimits = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'setDynamicRateLimits', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"setRates"` + */ +export const useWriteAlgebraVirtualPoolSetRates = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'setRates', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"setWeights"` + */ +export const useWriteAlgebraVirtualPoolSetWeights = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'setWeights', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"switchDynamicRate"` + */ +export const useWriteAlgebraVirtualPoolSwitchDynamicRate = + /*#__PURE__*/ createUseWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'switchDynamicRate', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ + */ +export const useSimulateAlgebraVirtualPool = + /*#__PURE__*/ createUseSimulateContract({ abi: algebraVirtualPoolAbi }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"addRewards"` + */ +export const useSimulateAlgebraVirtualPoolAddRewards = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'addRewards', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"applyLiquidityDeltaToPosition"` + */ +export const useSimulateAlgebraVirtualPoolApplyLiquidityDeltaToPosition = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'applyLiquidityDeltaToPosition', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"crossTo"` + */ +export const useSimulateAlgebraVirtualPoolCrossTo = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'crossTo', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"deactivate"` + */ +export const useSimulateAlgebraVirtualPoolDeactivate = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'deactivate', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"decreaseRewards"` + */ +export const useSimulateAlgebraVirtualPoolDecreaseRewards = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'decreaseRewards', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"distributeRewards"` + */ +export const useSimulateAlgebraVirtualPoolDistributeRewards = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'distributeRewards', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"setDynamicRateLimits"` + */ +export const useSimulateAlgebraVirtualPoolSetDynamicRateLimits = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'setDynamicRateLimits', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"setRates"` + */ +export const useSimulateAlgebraVirtualPoolSetRates = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'setRates', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"setWeights"` + */ +export const useSimulateAlgebraVirtualPoolSetWeights = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'setWeights', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"switchDynamicRate"` + */ +export const useSimulateAlgebraVirtualPoolSwitchDynamicRate = + /*#__PURE__*/ createUseSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'switchDynamicRate', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link farmingCenterAbi}__ + * + * + */ +export const useReadFarmingCenter = /*#__PURE__*/ createUseReadContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"deposits"` + * + * + */ +export const useReadFarmingCenterDeposits = /*#__PURE__*/ createUseReadContract( + { + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'deposits', + }, +) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"eternalFarming"` + * + * + */ +export const useReadFarmingCenterEternalFarming = + /*#__PURE__*/ createUseReadContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'eternalFarming', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"incentiveKeys"` + * + * + */ +export const useReadFarmingCenterIncentiveKeys = + /*#__PURE__*/ createUseReadContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'incentiveKeys', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"nonfungiblePositionManager"` + * + * + */ +export const useReadFarmingCenterNonfungiblePositionManager = + /*#__PURE__*/ createUseReadContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'nonfungiblePositionManager', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"virtualPoolAddresses"` + * + * + */ +export const useReadFarmingCenterVirtualPoolAddresses = + /*#__PURE__*/ createUseReadContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'virtualPoolAddresses', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link farmingCenterAbi}__ + * + * + */ +export const useWriteFarmingCenter = /*#__PURE__*/ createUseWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"applyLiquidityDelta"` + * + * + */ +export const useWriteFarmingCenterApplyLiquidityDelta = + /*#__PURE__*/ createUseWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'applyLiquidityDelta', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"burnPosition"` + * + * + */ +export const useWriteFarmingCenterBurnPosition = + /*#__PURE__*/ createUseWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'burnPosition', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"claimReward"` + * + * + */ +export const useWriteFarmingCenterClaimReward = + /*#__PURE__*/ createUseWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'claimReward', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"collectRewards"` + * + * + */ +export const useWriteFarmingCenterCollectRewards = + /*#__PURE__*/ createUseWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'collectRewards', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"connectVirtualPool"` + * + * + */ +export const useWriteFarmingCenterConnectVirtualPool = + /*#__PURE__*/ createUseWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'connectVirtualPool', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"decreaseLiquidity"` + * + * + */ +export const useWriteFarmingCenterDecreaseLiquidity = + /*#__PURE__*/ createUseWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'decreaseLiquidity', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"enterFarming"` + * + * + */ +export const useWriteFarmingCenterEnterFarming = + /*#__PURE__*/ createUseWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'enterFarming', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"exitFarming"` + * + * + */ +export const useWriteFarmingCenterExitFarming = + /*#__PURE__*/ createUseWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'exitFarming', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"increaseLiquidity"` + * + * + */ +export const useWriteFarmingCenterIncreaseLiquidity = + /*#__PURE__*/ createUseWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'increaseLiquidity', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"multicall"` + * + * + */ +export const useWriteFarmingCenterMulticall = + /*#__PURE__*/ createUseWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'multicall', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ + * + * + */ +export const useSimulateFarmingCenter = /*#__PURE__*/ createUseSimulateContract( + { abi: farmingCenterAbi, address: farmingCenterAddress }, +) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"applyLiquidityDelta"` + * + * + */ +export const useSimulateFarmingCenterApplyLiquidityDelta = + /*#__PURE__*/ createUseSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'applyLiquidityDelta', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"burnPosition"` + * + * + */ +export const useSimulateFarmingCenterBurnPosition = + /*#__PURE__*/ createUseSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'burnPosition', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"claimReward"` + * + * + */ +export const useSimulateFarmingCenterClaimReward = + /*#__PURE__*/ createUseSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'claimReward', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"collectRewards"` + * + * + */ +export const useSimulateFarmingCenterCollectRewards = + /*#__PURE__*/ createUseSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'collectRewards', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"connectVirtualPool"` + * + * + */ +export const useSimulateFarmingCenterConnectVirtualPool = + /*#__PURE__*/ createUseSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'connectVirtualPool', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"decreaseLiquidity"` + * + * + */ +export const useSimulateFarmingCenterDecreaseLiquidity = + /*#__PURE__*/ createUseSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'decreaseLiquidity', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"enterFarming"` + * + * + */ +export const useSimulateFarmingCenterEnterFarming = + /*#__PURE__*/ createUseSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'enterFarming', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"exitFarming"` + * + * + */ +export const useSimulateFarmingCenterExitFarming = + /*#__PURE__*/ createUseSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'exitFarming', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"increaseLiquidity"` + * + * + */ +export const useSimulateFarmingCenterIncreaseLiquidity = + /*#__PURE__*/ createUseSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'increaseLiquidity', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"multicall"` + * + * + */ +export const useSimulateFarmingCenterMulticall = + /*#__PURE__*/ createUseSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'multicall', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link pluginFactoryAbi}__ + * + * + */ +export const useReadPluginFactory = /*#__PURE__*/ createUseReadContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"ALGEBRA_BASE_PLUGIN_FACTORY_ADMINISTRATOR"` + * + * + */ +export const useReadPluginFactoryAlgebraBasePluginFactoryAdministrator = + /*#__PURE__*/ createUseReadContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'ALGEBRA_BASE_PLUGIN_FACTORY_ADMINISTRATOR', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"afterCreatePoolHook"` + * + * + */ +export const useReadPluginFactoryAfterCreatePoolHook = + /*#__PURE__*/ createUseReadContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'afterCreatePoolHook', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"algebraFactory"` + * + * + */ +export const useReadPluginFactoryAlgebraFactory = + /*#__PURE__*/ createUseReadContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'algebraFactory', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"defaultBaseFee"` + * + * + */ +export const useReadPluginFactoryDefaultBaseFee = + /*#__PURE__*/ createUseReadContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'defaultBaseFee', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"farmingAddress"` + * + * + */ +export const useReadPluginFactoryFarmingAddress = + /*#__PURE__*/ createUseReadContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'farmingAddress', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"pluginByPool"` + * + * + */ +export const useReadPluginFactoryPluginByPool = + /*#__PURE__*/ createUseReadContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'pluginByPool', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link pluginFactoryAbi}__ + * + * + */ +export const useWritePluginFactory = /*#__PURE__*/ createUseWriteContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"beforeCreatePoolHook"` + * + * + */ +export const useWritePluginFactoryBeforeCreatePoolHook = + /*#__PURE__*/ createUseWriteContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'beforeCreatePoolHook', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"createPluginForExistingPool"` + * + * + */ +export const useWritePluginFactoryCreatePluginForExistingPool = + /*#__PURE__*/ createUseWriteContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'createPluginForExistingPool', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"setDefaultBaseFee"` + * + * + */ +export const useWritePluginFactorySetDefaultBaseFee = + /*#__PURE__*/ createUseWriteContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'setDefaultBaseFee', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"setFarmingAddress"` + * + * + */ +export const useWritePluginFactorySetFarmingAddress = + /*#__PURE__*/ createUseWriteContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'setFarmingAddress', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link pluginFactoryAbi}__ + * + * + */ +export const useSimulatePluginFactory = /*#__PURE__*/ createUseSimulateContract( + { abi: pluginFactoryAbi, address: pluginFactoryAddress }, +) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"beforeCreatePoolHook"` + * + * + */ +export const useSimulatePluginFactoryBeforeCreatePoolHook = + /*#__PURE__*/ createUseSimulateContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'beforeCreatePoolHook', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"createPluginForExistingPool"` + * + * + */ +export const useSimulatePluginFactoryCreatePluginForExistingPool = + /*#__PURE__*/ createUseSimulateContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'createPluginForExistingPool', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"setDefaultBaseFee"` + * + * + */ +export const useSimulatePluginFactorySetDefaultBaseFee = + /*#__PURE__*/ createUseSimulateContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'setDefaultBaseFee', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"setFarmingAddress"` + * + * + */ +export const useSimulatePluginFactorySetFarmingAddress = + /*#__PURE__*/ createUseSimulateContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'setFarmingAddress', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link pluginFactoryAbi}__ + * + * + */ +export const useWatchPluginFactoryEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link pluginFactoryAbi}__ and `eventName` set to `"DefaultBaseFee"` + * + * + */ +export const useWatchPluginFactoryDefaultBaseFeeEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + eventName: 'DefaultBaseFee', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link pluginFactoryAbi}__ and `eventName` set to `"FarmingAddress"` + * + * + */ +export const useWatchPluginFactoryFarmingAddressEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + eventName: 'FarmingAddress', + }) + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Action +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ + */ +export const readAlgebraBasePlugin = /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"ALGEBRA_BASE_PLUGIN_MANAGER"` + */ +export const readAlgebraBasePluginAlgebraBasePluginManager = + /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 'ALGEBRA_BASE_PLUGIN_MANAGER', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"defaultPluginConfig"` + */ +export const readAlgebraBasePluginDefaultPluginConfig = + /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 'defaultPluginConfig', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"getPool"` + */ +export const readAlgebraBasePluginGetPool = /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 'getPool', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"getSingleTimepoint"` + */ +export const readAlgebraBasePluginGetSingleTimepoint = + /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 'getSingleTimepoint', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"getTimepoints"` + */ +export const readAlgebraBasePluginGetTimepoints = + /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 'getTimepoints', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"handlePluginFee"` + */ +export const readAlgebraBasePluginHandlePluginFee = + /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 'handlePluginFee', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"incentive"` + */ +export const readAlgebraBasePluginIncentive = /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 'incentive', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"isIncentiveConnected"` + */ +export const readAlgebraBasePluginIsIncentiveConnected = + /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 'isIncentiveConnected', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"isInitialized"` + */ +export const readAlgebraBasePluginIsInitialized = + /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 'isInitialized', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"lastTimepointTimestamp"` + */ +export const readAlgebraBasePluginLastTimepointTimestamp = + /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 'lastTimepointTimestamp', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"pool"` + */ +export const readAlgebraBasePluginPool = /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 'pool', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"s_baseFee"` + */ +export const readAlgebraBasePluginSBaseFee = /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 's_baseFee', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"s_feeFactors"` + */ +export const readAlgebraBasePluginSFeeFactors = + /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 's_feeFactors', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"s_priceChangeFactor"` + */ +export const readAlgebraBasePluginSPriceChangeFactor = + /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 's_priceChangeFactor', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"timepointIndex"` + */ +export const readAlgebraBasePluginTimepointIndex = + /*#__PURE__*/ createReadContract({ + abi: algebraBasePluginAbi, + functionName: 'timepointIndex', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"timepoints"` + */ +export const readAlgebraBasePluginTimepoints = /*#__PURE__*/ createReadContract( + { abi: algebraBasePluginAbi, functionName: 'timepoints' }, +) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ + */ +export const writeAlgebraBasePlugin = /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterFlash"` + */ +export const writeAlgebraBasePluginAfterFlash = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'afterFlash', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterInitialize"` + */ +export const writeAlgebraBasePluginAfterInitialize = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'afterInitialize', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterModifyPosition"` + */ +export const writeAlgebraBasePluginAfterModifyPosition = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'afterModifyPosition', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterSwap"` + */ +export const writeAlgebraBasePluginAfterSwap = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'afterSwap', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeFlash"` + */ +export const writeAlgebraBasePluginBeforeFlash = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeFlash', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeInitialize"` + */ +export const writeAlgebraBasePluginBeforeInitialize = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeInitialize', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeModifyPosition"` + */ +export const writeAlgebraBasePluginBeforeModifyPosition = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeModifyPosition', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeSwap"` + */ +export const writeAlgebraBasePluginBeforeSwap = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeSwap', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"collectPluginFee"` + */ +export const writeAlgebraBasePluginCollectPluginFee = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'collectPluginFee', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"initialize"` + */ +export const writeAlgebraBasePluginInitialize = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'initialize', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"prepayTimepointsStorageSlots"` + */ +export const writeAlgebraBasePluginPrepayTimepointsStorageSlots = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'prepayTimepointsStorageSlots', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"setBaseFee"` + */ +export const writeAlgebraBasePluginSetBaseFee = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'setBaseFee', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"setIncentive"` + */ +export const writeAlgebraBasePluginSetIncentive = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'setIncentive', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"setPriceChangeFactor"` + */ +export const writeAlgebraBasePluginSetPriceChangeFactor = + /*#__PURE__*/ createWriteContract({ + abi: algebraBasePluginAbi, + functionName: 'setPriceChangeFactor', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ + */ +export const simulateAlgebraBasePlugin = /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterFlash"` + */ +export const simulateAlgebraBasePluginAfterFlash = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'afterFlash', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterInitialize"` + */ +export const simulateAlgebraBasePluginAfterInitialize = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'afterInitialize', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterModifyPosition"` + */ +export const simulateAlgebraBasePluginAfterModifyPosition = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'afterModifyPosition', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"afterSwap"` + */ +export const simulateAlgebraBasePluginAfterSwap = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'afterSwap', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeFlash"` + */ +export const simulateAlgebraBasePluginBeforeFlash = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeFlash', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeInitialize"` + */ +export const simulateAlgebraBasePluginBeforeInitialize = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeInitialize', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeModifyPosition"` + */ +export const simulateAlgebraBasePluginBeforeModifyPosition = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeModifyPosition', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"beforeSwap"` + */ +export const simulateAlgebraBasePluginBeforeSwap = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'beforeSwap', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"collectPluginFee"` + */ +export const simulateAlgebraBasePluginCollectPluginFee = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'collectPluginFee', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"initialize"` + */ +export const simulateAlgebraBasePluginInitialize = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'initialize', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"prepayTimepointsStorageSlots"` + */ +export const simulateAlgebraBasePluginPrepayTimepointsStorageSlots = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'prepayTimepointsStorageSlots', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"setBaseFee"` + */ +export const simulateAlgebraBasePluginSetBaseFee = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'setBaseFee', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"setIncentive"` + */ +export const simulateAlgebraBasePluginSetIncentive = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'setIncentive', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `functionName` set to `"setPriceChangeFactor"` + */ +export const simulateAlgebraBasePluginSetPriceChangeFactor = + /*#__PURE__*/ createSimulateContract({ + abi: algebraBasePluginAbi, + functionName: 'setPriceChangeFactor', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraBasePluginAbi}__ + */ +export const watchAlgebraBasePluginEvent = + /*#__PURE__*/ createWatchContractEvent({ abi: algebraBasePluginAbi }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `eventName` set to `"BaseFee"` + */ +export const watchAlgebraBasePluginBaseFeeEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraBasePluginAbi, + eventName: 'BaseFee', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `eventName` set to `"Incentive"` + */ +export const watchAlgebraBasePluginIncentiveEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraBasePluginAbi, + eventName: 'Incentive', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraBasePluginAbi}__ and `eventName` set to `"PriceChangeFactor"` + */ +export const watchAlgebraBasePluginPriceChangeFactorEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraBasePluginAbi, + eventName: 'PriceChangeFactor', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ + * + * + */ +export const readAlgebraEternalFarming = /*#__PURE__*/ createReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"FARMINGS_ADMINISTRATOR_ROLE"` + * + * + */ +export const readAlgebraEternalFarmingFarmingsAdministratorRole = + /*#__PURE__*/ createReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'FARMINGS_ADMINISTRATOR_ROLE', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"INCENTIVE_MAKER_ROLE"` + * + * + */ +export const readAlgebraEternalFarmingIncentiveMakerRole = + /*#__PURE__*/ createReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'INCENTIVE_MAKER_ROLE', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"farmingCenter"` + * + * + */ +export const readAlgebraEternalFarmingFarmingCenter = + /*#__PURE__*/ createReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'farmingCenter', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"farms"` + * + * + */ +export const readAlgebraEternalFarmingFarms = /*#__PURE__*/ createReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'farms', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"getRewardInfo"` + * + * + */ +export const readAlgebraEternalFarmingGetRewardInfo = + /*#__PURE__*/ createReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'getRewardInfo', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"incentives"` + * + * + */ +export const readAlgebraEternalFarmingIncentives = + /*#__PURE__*/ createReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'incentives', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"isEmergencyWithdrawActivated"` + * + * + */ +export const readAlgebraEternalFarmingIsEmergencyWithdrawActivated = + /*#__PURE__*/ createReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'isEmergencyWithdrawActivated', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"isIncentiveDeactivated"` + * + * + */ +export const readAlgebraEternalFarmingIsIncentiveDeactivated = + /*#__PURE__*/ createReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'isIncentiveDeactivated', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"nonfungiblePositionManager"` + * + * + */ +export const readAlgebraEternalFarmingNonfungiblePositionManager = + /*#__PURE__*/ createReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'nonfungiblePositionManager', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"numOfIncentives"` + * + * + */ +export const readAlgebraEternalFarmingNumOfIncentives = + /*#__PURE__*/ createReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'numOfIncentives', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"rewards"` + * + * + */ +export const readAlgebraEternalFarmingRewards = + /*#__PURE__*/ createReadContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'rewards', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ + * + * + */ +export const writeAlgebraEternalFarming = /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"addRewards"` + * + * + */ +export const writeAlgebraEternalFarmingAddRewards = + /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'addRewards', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"claimReward"` + * + * + */ +export const writeAlgebraEternalFarmingClaimReward = + /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'claimReward', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"claimRewardFrom"` + * + * + */ +export const writeAlgebraEternalFarmingClaimRewardFrom = + /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'claimRewardFrom', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"collectRewards"` + * + * + */ +export const writeAlgebraEternalFarmingCollectRewards = + /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'collectRewards', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"createEternalFarming"` + * + * + */ +export const writeAlgebraEternalFarmingCreateEternalFarming = + /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'createEternalFarming', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"deactivateIncentive"` + * + * + */ +export const writeAlgebraEternalFarmingDeactivateIncentive = + /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'deactivateIncentive', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"decreaseRewardsAmount"` + * + * + */ +export const writeAlgebraEternalFarmingDecreaseRewardsAmount = + /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'decreaseRewardsAmount', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"enterFarming"` + * + * + */ +export const writeAlgebraEternalFarmingEnterFarming = + /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'enterFarming', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"exitFarming"` + * + * + */ +export const writeAlgebraEternalFarmingExitFarming = + /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'exitFarming', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"setEmergencyWithdrawStatus"` + * + * + */ +export const writeAlgebraEternalFarmingSetEmergencyWithdrawStatus = + /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'setEmergencyWithdrawStatus', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"setFarmingCenterAddress"` + * + * + */ +export const writeAlgebraEternalFarmingSetFarmingCenterAddress = + /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'setFarmingCenterAddress', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"setRates"` + * + * + */ +export const writeAlgebraEternalFarmingSetRates = + /*#__PURE__*/ createWriteContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'setRates', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ + * + * + */ +export const simulateAlgebraEternalFarming = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"addRewards"` + * + * + */ +export const simulateAlgebraEternalFarmingAddRewards = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'addRewards', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"claimReward"` + * + * + */ +export const simulateAlgebraEternalFarmingClaimReward = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'claimReward', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"claimRewardFrom"` + * + * + */ +export const simulateAlgebraEternalFarmingClaimRewardFrom = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'claimRewardFrom', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"collectRewards"` + * + * + */ +export const simulateAlgebraEternalFarmingCollectRewards = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'collectRewards', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"createEternalFarming"` + * + * + */ +export const simulateAlgebraEternalFarmingCreateEternalFarming = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'createEternalFarming', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"deactivateIncentive"` + * + * + */ +export const simulateAlgebraEternalFarmingDeactivateIncentive = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'deactivateIncentive', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"decreaseRewardsAmount"` + * + * + */ +export const simulateAlgebraEternalFarmingDecreaseRewardsAmount = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'decreaseRewardsAmount', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"enterFarming"` + * + * + */ +export const simulateAlgebraEternalFarmingEnterFarming = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'enterFarming', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"exitFarming"` + * + * + */ +export const simulateAlgebraEternalFarmingExitFarming = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'exitFarming', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"setEmergencyWithdrawStatus"` + * + * + */ +export const simulateAlgebraEternalFarmingSetEmergencyWithdrawStatus = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'setEmergencyWithdrawStatus', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"setFarmingCenterAddress"` + * + * + */ +export const simulateAlgebraEternalFarmingSetFarmingCenterAddress = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'setFarmingCenterAddress', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `functionName` set to `"setRates"` + * + * + */ +export const simulateAlgebraEternalFarmingSetRates = + /*#__PURE__*/ createSimulateContract({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + functionName: 'setRates', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ + * + * + */ +export const watchAlgebraEternalFarmingEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"EmergencyWithdraw"` + * + * + */ +export const watchAlgebraEternalFarmingEmergencyWithdrawEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'EmergencyWithdraw', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"EternalFarmingCreated"` + * + * + */ +export const watchAlgebraEternalFarmingEternalFarmingCreatedEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'EternalFarmingCreated', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"FarmEnded"` + * + * + */ +export const watchAlgebraEternalFarmingFarmEndedEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'FarmEnded', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"FarmEntered"` + * + * + */ +export const watchAlgebraEternalFarmingFarmEnteredEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'FarmEntered', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"FarmingCenter"` + * + * + */ +export const watchAlgebraEternalFarmingFarmingCenterEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'FarmingCenter', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"IncentiveDeactivated"` + * + * + */ +export const watchAlgebraEternalFarmingIncentiveDeactivatedEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'IncentiveDeactivated', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"RewardAmountsDecreased"` + * + * + */ +export const watchAlgebraEternalFarmingRewardAmountsDecreasedEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'RewardAmountsDecreased', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"RewardClaimed"` + * + * + */ +export const watchAlgebraEternalFarmingRewardClaimedEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'RewardClaimed', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"RewardsAdded"` + * + * + */ +export const watchAlgebraEternalFarmingRewardsAddedEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'RewardsAdded', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"RewardsCollected"` + * + * + */ +export const watchAlgebraEternalFarmingRewardsCollectedEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'RewardsCollected', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraEternalFarmingAbi}__ and `eventName` set to `"RewardsRatesChanged"` + * + * + */ +export const watchAlgebraEternalFarmingRewardsRatesChangedEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraEternalFarmingAbi, + address: algebraEternalFarmingAddress, + eventName: 'RewardsRatesChanged', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ + * + * + */ +export const readAlgebraFactory = /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"DEFAULT_ADMIN_ROLE"` + * + * + */ +export const readAlgebraFactoryDefaultAdminRole = + /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'DEFAULT_ADMIN_ROLE', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"POOLS_ADMINISTRATOR_ROLE"` + * + * + */ +export const readAlgebraFactoryPoolsAdministratorRole = + /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'POOLS_ADMINISTRATOR_ROLE', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"POOL_INIT_CODE_HASH"` + * + * + */ +export const readAlgebraFactoryPoolInitCodeHash = + /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'POOL_INIT_CODE_HASH', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"computePoolAddress"` + * + * + */ +export const readAlgebraFactoryComputePoolAddress = + /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'computePoolAddress', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"defaultCommunityFee"` + * + * + */ +export const readAlgebraFactoryDefaultCommunityFee = + /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'defaultCommunityFee', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"defaultConfigurationForPool"` + * + * + */ +export const readAlgebraFactoryDefaultConfigurationForPool = + /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'defaultConfigurationForPool', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"defaultFee"` + * + * + */ +export const readAlgebraFactoryDefaultFee = /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'defaultFee', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"defaultPluginFactory"` + * + * + */ +export const readAlgebraFactoryDefaultPluginFactory = + /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'defaultPluginFactory', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"defaultTickspacing"` + * + * + */ +export const readAlgebraFactoryDefaultTickspacing = + /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'defaultTickspacing', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"getRoleAdmin"` + * + * + */ +export const readAlgebraFactoryGetRoleAdmin = /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'getRoleAdmin', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"getRoleMember"` + * + * + */ +export const readAlgebraFactoryGetRoleMember = /*#__PURE__*/ createReadContract( + { + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'getRoleMember', + }, +) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"getRoleMemberCount"` + * + * + */ +export const readAlgebraFactoryGetRoleMemberCount = + /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'getRoleMemberCount', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"hasRole"` + * + * + */ +export const readAlgebraFactoryHasRole = /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'hasRole', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"hasRoleOrOwner"` + * + * + */ +export const readAlgebraFactoryHasRoleOrOwner = + /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'hasRoleOrOwner', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"owner"` + * + * + */ +export const readAlgebraFactoryOwner = /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'owner', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"pendingOwner"` + * + * + */ +export const readAlgebraFactoryPendingOwner = /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'pendingOwner', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"poolByPair"` + * + * + */ +export const readAlgebraFactoryPoolByPair = /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'poolByPair', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"poolDeployer"` + * + * + */ +export const readAlgebraFactoryPoolDeployer = /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'poolDeployer', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"renounceOwnershipStartTimestamp"` + * + * + */ +export const readAlgebraFactoryRenounceOwnershipStartTimestamp = + /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'renounceOwnershipStartTimestamp', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"supportsInterface"` + * + * + */ +export const readAlgebraFactorySupportsInterface = + /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'supportsInterface', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"vaultFactory"` + * + * + */ +export const readAlgebraFactoryVaultFactory = /*#__PURE__*/ createReadContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'vaultFactory', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ + * + * + */ +export const writeAlgebraFactory = /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"acceptOwnership"` + * + * + */ +export const writeAlgebraFactoryAcceptOwnership = + /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'acceptOwnership', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"createPool"` + * + * + */ +export const writeAlgebraFactoryCreatePool = /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'createPool', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"grantRole"` + * + * + */ +export const writeAlgebraFactoryGrantRole = /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'grantRole', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"renounceOwnership"` + * + * + */ +export const writeAlgebraFactoryRenounceOwnership = + /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'renounceOwnership', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"renounceRole"` + * + * + */ +export const writeAlgebraFactoryRenounceRole = + /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'renounceRole', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"revokeRole"` + * + * + */ +export const writeAlgebraFactoryRevokeRole = /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'revokeRole', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultCommunityFee"` + * + * + */ +export const writeAlgebraFactorySetDefaultCommunityFee = + /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultCommunityFee', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultFee"` + * + * + */ +export const writeAlgebraFactorySetDefaultFee = + /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultFee', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultPluginFactory"` + * + * + */ +export const writeAlgebraFactorySetDefaultPluginFactory = + /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultPluginFactory', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultTickspacing"` + * + * + */ +export const writeAlgebraFactorySetDefaultTickspacing = + /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultTickspacing', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setVaultFactory"` + * + * + */ +export const writeAlgebraFactorySetVaultFactory = + /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setVaultFactory', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"startRenounceOwnership"` + * + * + */ +export const writeAlgebraFactoryStartRenounceOwnership = + /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'startRenounceOwnership', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"stopRenounceOwnership"` + * + * + */ +export const writeAlgebraFactoryStopRenounceOwnership = + /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'stopRenounceOwnership', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"transferOwnership"` + * + * + */ +export const writeAlgebraFactoryTransferOwnership = + /*#__PURE__*/ createWriteContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'transferOwnership', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ + * + * + */ +export const simulateAlgebraFactory = /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"acceptOwnership"` + * + * + */ +export const simulateAlgebraFactoryAcceptOwnership = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'acceptOwnership', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"createPool"` + * + * + */ +export const simulateAlgebraFactoryCreatePool = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'createPool', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"grantRole"` + * + * + */ +export const simulateAlgebraFactoryGrantRole = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'grantRole', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"renounceOwnership"` + * + * + */ +export const simulateAlgebraFactoryRenounceOwnership = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'renounceOwnership', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"renounceRole"` + * + * + */ +export const simulateAlgebraFactoryRenounceRole = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'renounceRole', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"revokeRole"` + * + * + */ +export const simulateAlgebraFactoryRevokeRole = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'revokeRole', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultCommunityFee"` + * + * + */ +export const simulateAlgebraFactorySetDefaultCommunityFee = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultCommunityFee', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultFee"` + * + * + */ +export const simulateAlgebraFactorySetDefaultFee = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultFee', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultPluginFactory"` + * + * + */ +export const simulateAlgebraFactorySetDefaultPluginFactory = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultPluginFactory', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setDefaultTickspacing"` + * + * + */ +export const simulateAlgebraFactorySetDefaultTickspacing = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setDefaultTickspacing', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"setVaultFactory"` + * + * + */ +export const simulateAlgebraFactorySetVaultFactory = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'setVaultFactory', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"startRenounceOwnership"` + * + * + */ +export const simulateAlgebraFactoryStartRenounceOwnership = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'startRenounceOwnership', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"stopRenounceOwnership"` + * + * + */ +export const simulateAlgebraFactoryStopRenounceOwnership = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'stopRenounceOwnership', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraFactoryAbi}__ and `functionName` set to `"transferOwnership"` + * + * + */ +export const simulateAlgebraFactoryTransferOwnership = + /*#__PURE__*/ createSimulateContract({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + functionName: 'transferOwnership', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ + * + * + */ +export const watchAlgebraFactoryEvent = /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, +}) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"DefaultCommunityFee"` + * + * + */ +export const watchAlgebraFactoryDefaultCommunityFeeEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'DefaultCommunityFee', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"DefaultFee"` + * + * + */ +export const watchAlgebraFactoryDefaultFeeEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'DefaultFee', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"DefaultPluginFactory"` + * + * + */ +export const watchAlgebraFactoryDefaultPluginFactoryEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'DefaultPluginFactory', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"DefaultTickspacing"` + * + * + */ +export const watchAlgebraFactoryDefaultTickspacingEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'DefaultTickspacing', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"OwnershipTransferStarted"` + * + * + */ +export const watchAlgebraFactoryOwnershipTransferStartedEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'OwnershipTransferStarted', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"OwnershipTransferred"` + * + * + */ +export const watchAlgebraFactoryOwnershipTransferredEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'OwnershipTransferred', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"Pool"` + * + * + */ +export const watchAlgebraFactoryPoolEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'Pool', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"RenounceOwnershipFinish"` + * + * + */ +export const watchAlgebraFactoryRenounceOwnershipFinishEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'RenounceOwnershipFinish', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"RenounceOwnershipStart"` + * + * + */ +export const watchAlgebraFactoryRenounceOwnershipStartEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'RenounceOwnershipStart', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"RenounceOwnershipStop"` + * + * + */ +export const watchAlgebraFactoryRenounceOwnershipStopEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'RenounceOwnershipStop', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"RoleAdminChanged"` + * + * + */ +export const watchAlgebraFactoryRoleAdminChangedEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'RoleAdminChanged', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"RoleGranted"` + * + * + */ +export const watchAlgebraFactoryRoleGrantedEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'RoleGranted', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"RoleRevoked"` + * + * + */ +export const watchAlgebraFactoryRoleRevokedEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'RoleRevoked', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraFactoryAbi}__ and `eventName` set to `"VaultFactory"` + * + * + */ +export const watchAlgebraFactoryVaultFactoryEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraFactoryAbi, + address: algebraFactoryAddress, + eventName: 'VaultFactory', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ + */ +export const readAlgebraPool = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"communityFeeLastTimestamp"` + */ +export const readAlgebraPoolCommunityFeeLastTimestamp = + /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'communityFeeLastTimestamp', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"communityVault"` + */ +export const readAlgebraPoolCommunityVault = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'communityVault', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"factory"` + */ +export const readAlgebraPoolFactory = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'factory', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"fee"` + */ +export const readAlgebraPoolFee = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'fee', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"getCommunityFeePending"` + */ +export const readAlgebraPoolGetCommunityFeePending = + /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'getCommunityFeePending', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"getReserves"` + */ +export const readAlgebraPoolGetReserves = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'getReserves', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"globalState"` + */ +export const readAlgebraPoolGlobalState = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'globalState', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"liquidity"` + */ +export const readAlgebraPoolLiquidity = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'liquidity', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"maxLiquidityPerTick"` + */ +export const readAlgebraPoolMaxLiquidityPerTick = + /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'maxLiquidityPerTick', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"nextTickGlobal"` + */ +export const readAlgebraPoolNextTickGlobal = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'nextTickGlobal', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"plugin"` + */ +export const readAlgebraPoolPlugin = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'plugin', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"positions"` + */ +export const readAlgebraPoolPositions = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'positions', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"prevTickGlobal"` + */ +export const readAlgebraPoolPrevTickGlobal = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'prevTickGlobal', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"tickSpacing"` + */ +export const readAlgebraPoolTickSpacing = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'tickSpacing', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"tickTable"` + */ +export const readAlgebraPoolTickTable = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'tickTable', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"ticks"` + */ +export const readAlgebraPoolTicks = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'ticks', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"token0"` + */ +export const readAlgebraPoolToken0 = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'token0', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"token1"` + */ +export const readAlgebraPoolToken1 = /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'token1', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"totalFeeGrowth0Token"` + */ +export const readAlgebraPoolTotalFeeGrowth0Token = + /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'totalFeeGrowth0Token', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"totalFeeGrowth1Token"` + */ +export const readAlgebraPoolTotalFeeGrowth1Token = + /*#__PURE__*/ createReadContract({ + abi: algebraPoolAbi, + functionName: 'totalFeeGrowth1Token', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ + */ +export const writeAlgebraPool = /*#__PURE__*/ createWriteContract({ + abi: algebraPoolAbi, +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"burn"` + */ +export const writeAlgebraPoolBurn = /*#__PURE__*/ createWriteContract({ + abi: algebraPoolAbi, + functionName: 'burn', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"collect"` + */ +export const writeAlgebraPoolCollect = /*#__PURE__*/ createWriteContract({ + abi: algebraPoolAbi, + functionName: 'collect', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"flash"` + */ +export const writeAlgebraPoolFlash = /*#__PURE__*/ createWriteContract({ + abi: algebraPoolAbi, + functionName: 'flash', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"initialize"` + */ +export const writeAlgebraPoolInitialize = /*#__PURE__*/ createWriteContract({ + abi: algebraPoolAbi, + functionName: 'initialize', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"mint"` + */ +export const writeAlgebraPoolMint = /*#__PURE__*/ createWriteContract({ + abi: algebraPoolAbi, + functionName: 'mint', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setCommunityFee"` + */ +export const writeAlgebraPoolSetCommunityFee = + /*#__PURE__*/ createWriteContract({ + abi: algebraPoolAbi, + functionName: 'setCommunityFee', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setFee"` + */ +export const writeAlgebraPoolSetFee = /*#__PURE__*/ createWriteContract({ + abi: algebraPoolAbi, + functionName: 'setFee', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setPlugin"` + */ +export const writeAlgebraPoolSetPlugin = /*#__PURE__*/ createWriteContract({ + abi: algebraPoolAbi, + functionName: 'setPlugin', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setPluginConfig"` + */ +export const writeAlgebraPoolSetPluginConfig = + /*#__PURE__*/ createWriteContract({ + abi: algebraPoolAbi, + functionName: 'setPluginConfig', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setTickSpacing"` + */ +export const writeAlgebraPoolSetTickSpacing = /*#__PURE__*/ createWriteContract( + { abi: algebraPoolAbi, functionName: 'setTickSpacing' }, +) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"swap"` + */ +export const writeAlgebraPoolSwap = /*#__PURE__*/ createWriteContract({ + abi: algebraPoolAbi, + functionName: 'swap', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"swapWithPaymentInAdvance"` + */ +export const writeAlgebraPoolSwapWithPaymentInAdvance = + /*#__PURE__*/ createWriteContract({ + abi: algebraPoolAbi, + functionName: 'swapWithPaymentInAdvance', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ + */ +export const simulateAlgebraPool = /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"burn"` + */ +export const simulateAlgebraPoolBurn = /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, + functionName: 'burn', +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"collect"` + */ +export const simulateAlgebraPoolCollect = /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, + functionName: 'collect', +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"flash"` + */ +export const simulateAlgebraPoolFlash = /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, + functionName: 'flash', +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"initialize"` + */ +export const simulateAlgebraPoolInitialize = + /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, + functionName: 'initialize', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"mint"` + */ +export const simulateAlgebraPoolMint = /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, + functionName: 'mint', +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setCommunityFee"` + */ +export const simulateAlgebraPoolSetCommunityFee = + /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, + functionName: 'setCommunityFee', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setFee"` + */ +export const simulateAlgebraPoolSetFee = /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, + functionName: 'setFee', +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setPlugin"` + */ +export const simulateAlgebraPoolSetPlugin = + /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, + functionName: 'setPlugin', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setPluginConfig"` + */ +export const simulateAlgebraPoolSetPluginConfig = + /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, + functionName: 'setPluginConfig', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"setTickSpacing"` + */ +export const simulateAlgebraPoolSetTickSpacing = + /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, + functionName: 'setTickSpacing', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"swap"` + */ +export const simulateAlgebraPoolSwap = /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, + functionName: 'swap', +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraPoolAbi}__ and `functionName` set to `"swapWithPaymentInAdvance"` + */ +export const simulateAlgebraPoolSwapWithPaymentInAdvance = + /*#__PURE__*/ createSimulateContract({ + abi: algebraPoolAbi, + functionName: 'swapWithPaymentInAdvance', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ + */ +export const watchAlgebraPoolEvent = /*#__PURE__*/ createWatchContractEvent({ + abi: algebraPoolAbi, +}) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Burn"` + */ +export const watchAlgebraPoolBurnEvent = /*#__PURE__*/ createWatchContractEvent( + { abi: algebraPoolAbi, eventName: 'Burn' }, +) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Collect"` + */ +export const watchAlgebraPoolCollectEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Collect', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"CommunityFee"` + */ +export const watchAlgebraPoolCommunityFeeEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'CommunityFee', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Fee"` + */ +export const watchAlgebraPoolFeeEvent = /*#__PURE__*/ createWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Fee', +}) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Flash"` + */ +export const watchAlgebraPoolFlashEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Flash', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Initialize"` + */ +export const watchAlgebraPoolInitializeEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Initialize', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Mint"` + */ +export const watchAlgebraPoolMintEvent = /*#__PURE__*/ createWatchContractEvent( + { abi: algebraPoolAbi, eventName: 'Mint' }, +) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Plugin"` + */ +export const watchAlgebraPoolPluginEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'Plugin', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"PluginConfig"` + */ +export const watchAlgebraPoolPluginConfigEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'PluginConfig', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"Swap"` + */ +export const watchAlgebraPoolSwapEvent = /*#__PURE__*/ createWatchContractEvent( + { abi: algebraPoolAbi, eventName: 'Swap' }, +) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraPoolAbi}__ and `eventName` set to `"TickSpacing"` + */ +export const watchAlgebraPoolTickSpacingEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraPoolAbi, + eventName: 'TickSpacing', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ + * + * + */ +export const readAlgebraStubPlugin = /*#__PURE__*/ createReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"ALGEBRA_BASE_PLUGIN_MANAGER"` + * + * + */ +export const readAlgebraStubPluginAlgebraBasePluginManager = + /*#__PURE__*/ createReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'ALGEBRA_BASE_PLUGIN_MANAGER', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"afterFlash"` + * + * + */ +export const readAlgebraStubPluginAfterFlash = /*#__PURE__*/ createReadContract( + { + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'afterFlash', + }, +) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"afterInitialize"` + * + * + */ +export const readAlgebraStubPluginAfterInitialize = + /*#__PURE__*/ createReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'afterInitialize', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"afterModifyPosition"` + * + * + */ +export const readAlgebraStubPluginAfterModifyPosition = + /*#__PURE__*/ createReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'afterModifyPosition', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"afterSwap"` + * + * + */ +export const readAlgebraStubPluginAfterSwap = /*#__PURE__*/ createReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'afterSwap', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"beforeFlash"` + * + * + */ +export const readAlgebraStubPluginBeforeFlash = + /*#__PURE__*/ createReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'beforeFlash', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"beforeInitialize"` + * + * + */ +export const readAlgebraStubPluginBeforeInitialize = + /*#__PURE__*/ createReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'beforeInitialize', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"beforeModifyPosition"` + * + * + */ +export const readAlgebraStubPluginBeforeModifyPosition = + /*#__PURE__*/ createReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'beforeModifyPosition', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"beforeSwap"` + * + * + */ +export const readAlgebraStubPluginBeforeSwap = /*#__PURE__*/ createReadContract( + { + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'beforeSwap', + }, +) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"defaultPluginConfig"` + * + * + */ +export const readAlgebraStubPluginDefaultPluginConfig = + /*#__PURE__*/ createReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'defaultPluginConfig', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"pluginConfig"` + * + * + */ +export const readAlgebraStubPluginPluginConfig = + /*#__PURE__*/ createReadContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'pluginConfig', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ + * + * + */ +export const writeAlgebraStubPlugin = /*#__PURE__*/ createWriteContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"setNewPluginConfig"` + * + * + */ +export const writeAlgebraStubPluginSetNewPluginConfig = + /*#__PURE__*/ createWriteContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'setNewPluginConfig', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ + * + * + */ +export const simulateAlgebraStubPlugin = /*#__PURE__*/ createSimulateContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `functionName` set to `"setNewPluginConfig"` + * + * + */ +export const simulateAlgebraStubPluginSetNewPluginConfig = + /*#__PURE__*/ createSimulateContract({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + functionName: 'setNewPluginConfig', + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraStubPluginAbi}__ + * + * + */ +export const watchAlgebraStubPluginEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + }) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link algebraStubPluginAbi}__ and `eventName` set to `"newPluginConfig"` + * + * + */ +export const watchAlgebraStubPluginNewPluginConfigEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: algebraStubPluginAbi, + address: algebraStubPluginAddress, + eventName: 'newPluginConfig', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ + */ +export const readAlgebraVirtualPool = /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"FEE_WEIGHT_DENOMINATOR"` + */ +export const readAlgebraVirtualPoolFeeWeightDenominator = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'FEE_WEIGHT_DENOMINATOR', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"RATE_CHANGE_FREQUENCY"` + */ +export const readAlgebraVirtualPoolRateChangeFrequency = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'RATE_CHANGE_FREQUENCY', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"currentLiquidity"` + */ +export const readAlgebraVirtualPoolCurrentLiquidity = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'currentLiquidity', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"deactivated"` + */ +export const readAlgebraVirtualPoolDeactivated = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'deactivated', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"dynamicRateActivated"` + */ +export const readAlgebraVirtualPoolDynamicRateActivated = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'dynamicRateActivated', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"farmingAddress"` + */ +export const readAlgebraVirtualPoolFarmingAddress = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'farmingAddress', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"feeWeights"` + */ +export const readAlgebraVirtualPoolFeeWeights = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'feeWeights', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"getInnerRewardsGrowth"` + */ +export const readAlgebraVirtualPoolGetInnerRewardsGrowth = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'getInnerRewardsGrowth', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"globalTick"` + */ +export const readAlgebraVirtualPoolGlobalTick = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'globalTick', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"plugin"` + */ +export const readAlgebraVirtualPoolPlugin = /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'plugin', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"prevTimestamp"` + */ +export const readAlgebraVirtualPoolPrevTimestamp = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'prevTimestamp', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"rateLimits"` + */ +export const readAlgebraVirtualPoolRateLimits = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'rateLimits', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"rewardRates"` + */ +export const readAlgebraVirtualPoolRewardRates = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'rewardRates', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"rewardReserves"` + */ +export const readAlgebraVirtualPoolRewardReserves = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'rewardReserves', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"ticks"` + */ +export const readAlgebraVirtualPoolTicks = /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'ticks', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"totalRewardGrowth"` + */ +export const readAlgebraVirtualPoolTotalRewardGrowth = + /*#__PURE__*/ createReadContract({ + abi: algebraVirtualPoolAbi, + functionName: 'totalRewardGrowth', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ + */ +export const writeAlgebraVirtualPool = /*#__PURE__*/ createWriteContract({ + abi: algebraVirtualPoolAbi, +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"addRewards"` + */ +export const writeAlgebraVirtualPoolAddRewards = + /*#__PURE__*/ createWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'addRewards', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"applyLiquidityDeltaToPosition"` + */ +export const writeAlgebraVirtualPoolApplyLiquidityDeltaToPosition = + /*#__PURE__*/ createWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'applyLiquidityDeltaToPosition', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"crossTo"` + */ +export const writeAlgebraVirtualPoolCrossTo = /*#__PURE__*/ createWriteContract( + { abi: algebraVirtualPoolAbi, functionName: 'crossTo' }, +) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"deactivate"` + */ +export const writeAlgebraVirtualPoolDeactivate = + /*#__PURE__*/ createWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'deactivate', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"decreaseRewards"` + */ +export const writeAlgebraVirtualPoolDecreaseRewards = + /*#__PURE__*/ createWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'decreaseRewards', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"distributeRewards"` + */ +export const writeAlgebraVirtualPoolDistributeRewards = + /*#__PURE__*/ createWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'distributeRewards', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"setDynamicRateLimits"` + */ +export const writeAlgebraVirtualPoolSetDynamicRateLimits = + /*#__PURE__*/ createWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'setDynamicRateLimits', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"setRates"` + */ +export const writeAlgebraVirtualPoolSetRates = + /*#__PURE__*/ createWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'setRates', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"setWeights"` + */ +export const writeAlgebraVirtualPoolSetWeights = + /*#__PURE__*/ createWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'setWeights', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"switchDynamicRate"` + */ +export const writeAlgebraVirtualPoolSwitchDynamicRate = + /*#__PURE__*/ createWriteContract({ + abi: algebraVirtualPoolAbi, + functionName: 'switchDynamicRate', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ + */ +export const simulateAlgebraVirtualPool = /*#__PURE__*/ createSimulateContract({ + abi: algebraVirtualPoolAbi, +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"addRewards"` + */ +export const simulateAlgebraVirtualPoolAddRewards = + /*#__PURE__*/ createSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'addRewards', + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"applyLiquidityDeltaToPosition"` + */ +export const simulateAlgebraVirtualPoolApplyLiquidityDeltaToPosition = + /*#__PURE__*/ createSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'applyLiquidityDeltaToPosition', + }) /** - * Wraps __{@link getContract}__ with `abi` set to __{@link farmingCenterABI}__. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"crossTo"` */ -export function getFarmingCenter( - config: Omit, -) { - return getContract({ - abi: farmingCenterABI, - address: farmingCenterAddress, - ...config, +export const simulateAlgebraVirtualPoolCrossTo = + /*#__PURE__*/ createSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'crossTo', }) -} /** - * Wraps __{@link readContract}__ with `abi` set to __{@link farmingCenterABI}__. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"deactivate"` */ -export function readFarmingCenter< - TAbi extends readonly unknown[] = typeof farmingCenterABI, - TFunctionName extends string = string, ->(config: Omit, 'abi' | 'address'>) { - return readContract({ - abi: farmingCenterABI, - address: farmingCenterAddress, - ...config, - } as unknown as ReadContractConfig) -} - -/** - * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterABI}__. - */ -export function writeFarmingCenter( - config: - | Omit< - WriteContractPreparedArgs, - 'abi' | 'address' - > - | Omit< - WriteContractUnpreparedArgs, - 'abi' | 'address' - >, -) { - return writeContract({ - abi: farmingCenterABI, - address: farmingCenterAddress, - ...config, - } as unknown as WriteContractArgs) -} - -/** - * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link farmingCenterABI}__. - */ -export function prepareWriteFarmingCenter< - TAbi extends readonly unknown[] = typeof farmingCenterABI, - TFunctionName extends string = string, ->( - config: Omit< - PrepareWriteContractConfig, - 'abi' | 'address' - >, -) { - return prepareWriteContract({ - abi: farmingCenterABI, - address: farmingCenterAddress, - ...config, - } as unknown as PrepareWriteContractConfig) -} - -/** - * Wraps __{@link getContract}__ with `abi` set to __{@link eternalFarmingABI}__. - */ -export function getEternalFarming( - config: Omit, -) { - return getContract({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - ...config, - }) -} - -/** - * Wraps __{@link readContract}__ with `abi` set to __{@link eternalFarmingABI}__. - */ -export function readEternalFarming< - TAbi extends readonly unknown[] = typeof eternalFarmingABI, - TFunctionName extends string = string, ->(config: Omit, 'abi' | 'address'>) { - return readContract({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - ...config, - } as unknown as ReadContractConfig) -} - -/** - * Wraps __{@link writeContract}__ with `abi` set to __{@link eternalFarmingABI}__. - */ -export function writeEternalFarming( - config: - | Omit< - WriteContractPreparedArgs, - 'abi' | 'address' - > - | Omit< - WriteContractUnpreparedArgs, - 'abi' | 'address' - >, -) { - return writeContract({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - ...config, - } as unknown as WriteContractArgs) -} - -/** - * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link eternalFarmingABI}__. - */ -export function prepareWriteEternalFarming< - TAbi extends readonly unknown[] = typeof eternalFarmingABI, - TFunctionName extends string = string, ->( - config: Omit< - PrepareWriteContractConfig, - 'abi' | 'address' - >, -) { - return prepareWriteContract({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - ...config, - } as unknown as PrepareWriteContractConfig) -} - -/** - * Wraps __{@link getContract}__ with `abi` set to __{@link algebraFactoryABI}__. - */ -export function getAlgebraFactory( - config: Omit, -) { - return getContract({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - ...config, +export const simulateAlgebraVirtualPoolDeactivate = + /*#__PURE__*/ createSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'deactivate', }) -} /** - * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryABI}__. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"decreaseRewards"` */ -export function readAlgebraFactory< - TAbi extends readonly unknown[] = typeof algebraFactoryABI, - TFunctionName extends string = string, ->(config: Omit, 'abi' | 'address'>) { - return readContract({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - ...config, - } as unknown as ReadContractConfig) -} - -/** - * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryABI}__. - */ -export function writeAlgebraFactory( - config: - | Omit< - WriteContractPreparedArgs, - 'abi' | 'address' - > - | Omit< - WriteContractUnpreparedArgs, - 'abi' | 'address' - >, -) { - return writeContract({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - ...config, - } as unknown as WriteContractArgs) -} - -/** - * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link algebraFactoryABI}__. - */ -export function prepareWriteAlgebraFactory< - TAbi extends readonly unknown[] = typeof algebraFactoryABI, - TFunctionName extends string = string, ->( - config: Omit< - PrepareWriteContractConfig, - 'abi' | 'address' - >, -) { - return prepareWriteContract({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - ...config, - } as unknown as PrepareWriteContractConfig) -} +export const simulateAlgebraVirtualPoolDecreaseRewards = + /*#__PURE__*/ createSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'decreaseRewards', + }) /** - * Wraps __{@link getContract}__ with `abi` set to __{@link pluginFactoryABI}__. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"distributeRewards"` */ -export function getPluginFactory( - config: Omit, -) { - return getContract({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - ...config, +export const simulateAlgebraVirtualPoolDistributeRewards = + /*#__PURE__*/ createSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'distributeRewards', }) -} /** - * Wraps __{@link readContract}__ with `abi` set to __{@link pluginFactoryABI}__. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"setDynamicRateLimits"` */ -export function readPluginFactory< - TAbi extends readonly unknown[] = typeof pluginFactoryABI, - TFunctionName extends string = string, ->(config: Omit, 'abi' | 'address'>) { - return readContract({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - ...config, - } as unknown as ReadContractConfig) -} - -/** - * Wraps __{@link writeContract}__ with `abi` set to __{@link pluginFactoryABI}__. - */ -export function writePluginFactory( - config: - | Omit< - WriteContractPreparedArgs, - 'abi' | 'address' - > - | Omit< - WriteContractUnpreparedArgs, - 'abi' | 'address' - >, -) { - return writeContract({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - ...config, - } as unknown as WriteContractArgs) -} - -/** - * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link pluginFactoryABI}__. - */ -export function prepareWritePluginFactory< - TAbi extends readonly unknown[] = typeof pluginFactoryABI, - TFunctionName extends string = string, ->( - config: Omit< - PrepareWriteContractConfig, - 'abi' | 'address' - >, -) { - return prepareWriteContract({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - ...config, - } as unknown as PrepareWriteContractConfig) -} - -/** - * Wraps __{@link getContract}__ with `abi` set to __{@link algebraPoolABI}__. - */ -export function getAlgebraPool(config: Omit) { - return getContract({ abi: algebraPoolABI, ...config }) -} - -/** - * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolABI}__. - */ -export function readAlgebraPool< - TAbi extends readonly unknown[] = typeof algebraPoolABI, - TFunctionName extends string = string, ->(config: Omit, 'abi'>) { - return readContract({ - abi: algebraPoolABI, - ...config, - } as unknown as ReadContractConfig) -} - -/** - * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolABI}__. - */ -export function writeAlgebraPool( - config: - | Omit< - WriteContractPreparedArgs, - 'abi' - > - | Omit< - WriteContractUnpreparedArgs, - 'abi' - >, -) { - return writeContract({ - abi: algebraPoolABI, - ...config, - } as unknown as WriteContractArgs) -} - -/** - * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link algebraPoolABI}__. - */ -export function prepareWriteAlgebraPool< - TAbi extends readonly unknown[] = typeof algebraPoolABI, - TFunctionName extends string = string, ->(config: Omit, 'abi'>) { - return prepareWriteContract({ - abi: algebraPoolABI, - ...config, - } as unknown as PrepareWriteContractConfig) -} - -/** - * Wraps __{@link getContract}__ with `abi` set to __{@link algebraBasePluginABI}__. - */ -export function getAlgebraBasePlugin(config: Omit) { - return getContract({ abi: algebraBasePluginABI, ...config }) -} - -/** - * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginABI}__. - */ -export function readAlgebraBasePlugin< - TAbi extends readonly unknown[] = typeof algebraBasePluginABI, - TFunctionName extends string = string, ->(config: Omit, 'abi'>) { - return readContract({ - abi: algebraBasePluginABI, - ...config, - } as unknown as ReadContractConfig) -} - -/** - * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginABI}__. - */ -export function writeAlgebraBasePlugin( - config: - | Omit< - WriteContractPreparedArgs, - 'abi' - > - | Omit< - WriteContractUnpreparedArgs, - 'abi' - >, -) { - return writeContract({ - abi: algebraBasePluginABI, - ...config, - } as unknown as WriteContractArgs) -} - -/** - * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link algebraBasePluginABI}__. - */ -export function prepareWriteAlgebraBasePlugin< - TAbi extends readonly unknown[] = typeof algebraBasePluginABI, - TFunctionName extends string = string, ->(config: Omit, 'abi'>) { - return prepareWriteContract({ - abi: algebraBasePluginABI, - ...config, - } as unknown as PrepareWriteContractConfig) -} - -/** - * Wraps __{@link getContract}__ with `abi` set to __{@link algebraStubPluginABI}__. - */ -export function getAlgebraStubPlugin( - config: Omit, -) { - return getContract({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - ...config, +export const simulateAlgebraVirtualPoolSetDynamicRateLimits = + /*#__PURE__*/ createSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'setDynamicRateLimits', }) -} /** - * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginABI}__. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"setRates"` */ -export function readAlgebraStubPlugin< - TAbi extends readonly unknown[] = typeof algebraStubPluginABI, - TFunctionName extends string = string, ->(config: Omit, 'abi' | 'address'>) { - return readContract({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - ...config, - } as unknown as ReadContractConfig) -} - -/** - * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraStubPluginABI}__. - */ -export function writeAlgebraStubPlugin( - config: - | Omit< - WriteContractPreparedArgs, - 'abi' | 'address' - > - | Omit< - WriteContractUnpreparedArgs, - 'abi' | 'address' - >, -) { - return writeContract({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - ...config, - } as unknown as WriteContractArgs) -} - -/** - * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link algebraStubPluginABI}__. - */ -export function prepareWriteAlgebraStubPlugin< - TAbi extends readonly unknown[] = typeof algebraStubPluginABI, - TFunctionName extends string = string, ->( - config: Omit< - PrepareWriteContractConfig, - 'abi' | 'address' - >, -) { - return prepareWriteContract({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - ...config, - } as unknown as PrepareWriteContractConfig) -} - -/** - * Wraps __{@link getContract}__ with `abi` set to __{@link algebraVirtualPoolABI}__. - */ -export function getAlgebraVirtualPool(config: Omit) { - return getContract({ abi: algebraVirtualPoolABI, ...config }) -} - -/** - * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolABI}__. - */ -export function readAlgebraVirtualPool< - TAbi extends readonly unknown[] = typeof algebraVirtualPoolABI, - TFunctionName extends string = string, ->(config: Omit, 'abi'>) { - return readContract({ - abi: algebraVirtualPoolABI, - ...config, - } as unknown as ReadContractConfig) -} - -/** - * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolABI}__. - */ -export function writeAlgebraVirtualPool( - config: - | Omit< - WriteContractPreparedArgs, - 'abi' - > - | Omit< - WriteContractUnpreparedArgs< - typeof algebraVirtualPoolABI, - TFunctionName - >, - 'abi' - >, -) { - return writeContract({ - abi: algebraVirtualPoolABI, - ...config, - } as unknown as WriteContractArgs< - typeof algebraVirtualPoolABI, - TFunctionName - >) -} - -/** - * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link algebraVirtualPoolABI}__. - */ -export function prepareWriteAlgebraVirtualPool< - TAbi extends readonly unknown[] = typeof algebraVirtualPoolABI, - TFunctionName extends string = string, ->(config: Omit, 'abi'>) { - return prepareWriteContract({ - abi: algebraVirtualPoolABI, - ...config, - } as unknown as PrepareWriteContractConfig) -} +export const simulateAlgebraVirtualPoolSetRates = + /*#__PURE__*/ createSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'setRates', + }) -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// React -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"setWeights"` + */ +export const simulateAlgebraVirtualPoolSetWeights = + /*#__PURE__*/ createSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'setWeights', + }) /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link farmingCenterABI}__. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link algebraVirtualPoolAbi}__ and `functionName` set to `"switchDynamicRate"` */ -export function useFarmingCenterRead< - TFunctionName extends string, - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' - > = {} as any, -) { - return useContractRead({ - abi: farmingCenterABI, - address: farmingCenterAddress, - ...config, - } as UseContractReadConfig< - typeof farmingCenterABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"deposits"`. - */ -export function useFarmingCenterDeposits< - TFunctionName extends 'deposits', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: farmingCenterABI, - address: farmingCenterAddress, - functionName: 'deposits', - ...config, - } as UseContractReadConfig< - typeof farmingCenterABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"eternalFarming"`. - */ -export function useFarmingCenterEternalFarming< - TFunctionName extends 'eternalFarming', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: farmingCenterABI, +export const simulateAlgebraVirtualPoolSwitchDynamicRate = + /*#__PURE__*/ createSimulateContract({ + abi: algebraVirtualPoolAbi, + functionName: 'switchDynamicRate', + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link farmingCenterAbi}__ + * + * + */ +export const readFarmingCenter = /*#__PURE__*/ createReadContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"deposits"` + * + * + */ +export const readFarmingCenterDeposits = /*#__PURE__*/ createReadContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'deposits', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"eternalFarming"` + * + * + */ +export const readFarmingCenterEternalFarming = /*#__PURE__*/ createReadContract( + { + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'eternalFarming', - ...config, - } as UseContractReadConfig< - typeof farmingCenterABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"incentiveKeys"`. - */ -export function useFarmingCenterIncentiveKeys< - TFunctionName extends 'incentiveKeys', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: farmingCenterABI, - address: farmingCenterAddress, - functionName: 'incentiveKeys', - ...config, - } as UseContractReadConfig< - typeof farmingCenterABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"nonfungiblePositionManager"`. - */ -export function useFarmingCenterNonfungiblePositionManager< - TFunctionName extends 'nonfungiblePositionManager', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: farmingCenterABI, + }, +) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"incentiveKeys"` + * + * + */ +export const readFarmingCenterIncentiveKeys = /*#__PURE__*/ createReadContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'incentiveKeys', +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"nonfungiblePositionManager"` + * + * + */ +export const readFarmingCenterNonfungiblePositionManager = + /*#__PURE__*/ createReadContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'nonfungiblePositionManager', - ...config, - } as UseContractReadConfig< - typeof farmingCenterABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"virtualPoolAddresses"`. - */ -export function useFarmingCenterVirtualPoolAddresses< - TFunctionName extends 'virtualPoolAddresses', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: farmingCenterABI, + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"virtualPoolAddresses"` + * + * + */ +export const readFarmingCenterVirtualPoolAddresses = + /*#__PURE__*/ createReadContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'virtualPoolAddresses', - ...config, - } as UseContractReadConfig< - typeof farmingCenterABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__. - */ -export function useFarmingCenterWrite< - TFunctionName extends string, - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof farmingCenterABI, - string - >['request']['abi'], - TFunctionName, - TMode - > - : UseContractWriteConfig & { - abi?: never - } = {} as any, -) { - return useContractWrite({ - abi: farmingCenterABI, - address: farmingCenterAddress, - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"applyLiquidityDelta"`. - */ -export function useFarmingCenterApplyLiquidityDelta< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof farmingCenterABI, - 'applyLiquidityDelta' - >['request']['abi'], - 'applyLiquidityDelta', - TMode - > & { functionName?: 'applyLiquidityDelta' } - : UseContractWriteConfig< - typeof farmingCenterABI, - 'applyLiquidityDelta', - TMode - > & { - abi?: never - functionName?: 'applyLiquidityDelta' - } = {} as any, -) { - return useContractWrite< - typeof farmingCenterABI, - 'applyLiquidityDelta', - TMode - >({ - abi: farmingCenterABI, + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterAbi}__ + * + * + */ +export const writeFarmingCenter = /*#__PURE__*/ createWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"applyLiquidityDelta"` + * + * + */ +export const writeFarmingCenterApplyLiquidityDelta = + /*#__PURE__*/ createWriteContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'applyLiquidityDelta', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"burnPosition"`. - */ -export function useFarmingCenterBurnPosition< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof farmingCenterABI, - 'burnPosition' - >['request']['abi'], - 'burnPosition', - TMode - > & { functionName?: 'burnPosition' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'burnPosition' - } = {} as any, -) { - return useContractWrite({ - abi: farmingCenterABI, + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"burnPosition"` + * + * + */ +export const writeFarmingCenterBurnPosition = /*#__PURE__*/ createWriteContract( + { + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'burnPosition', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"claimReward"`. - */ -export function useFarmingCenterClaimReward< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof farmingCenterABI, - 'claimReward' - >['request']['abi'], - 'claimReward', - TMode - > & { functionName?: 'claimReward' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'claimReward' - } = {} as any, -) { - return useContractWrite({ - abi: farmingCenterABI, - address: farmingCenterAddress, - functionName: 'claimReward', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"collectRewards"`. - */ -export function useFarmingCenterCollectRewards< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof farmingCenterABI, - 'collectRewards' - >['request']['abi'], - 'collectRewards', - TMode - > & { functionName?: 'collectRewards' } - : UseContractWriteConfig< - typeof farmingCenterABI, - 'collectRewards', - TMode - > & { - abi?: never - functionName?: 'collectRewards' - } = {} as any, -) { - return useContractWrite({ - abi: farmingCenterABI, + }, +) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"claimReward"` + * + * + */ +export const writeFarmingCenterClaimReward = /*#__PURE__*/ createWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'claimReward', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"collectRewards"` + * + * + */ +export const writeFarmingCenterCollectRewards = + /*#__PURE__*/ createWriteContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'collectRewards', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"connectVirtualPool"`. - */ -export function useFarmingCenterConnectVirtualPool< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof farmingCenterABI, - 'connectVirtualPool' - >['request']['abi'], - 'connectVirtualPool', - TMode - > & { functionName?: 'connectVirtualPool' } - : UseContractWriteConfig< - typeof farmingCenterABI, - 'connectVirtualPool', - TMode - > & { - abi?: never - functionName?: 'connectVirtualPool' - } = {} as any, -) { - return useContractWrite( - { - abi: farmingCenterABI, - address: farmingCenterAddress, - functionName: 'connectVirtualPool', - ...config, - } as any, - ) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"decreaseLiquidity"`. - */ -export function useFarmingCenterDecreaseLiquidity< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof farmingCenterABI, - 'decreaseLiquidity' - >['request']['abi'], - 'decreaseLiquidity', - TMode - > & { functionName?: 'decreaseLiquidity' } - : UseContractWriteConfig< - typeof farmingCenterABI, - 'decreaseLiquidity', - TMode - > & { - abi?: never - functionName?: 'decreaseLiquidity' - } = {} as any, -) { - return useContractWrite({ - abi: farmingCenterABI, + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"connectVirtualPool"` + * + * + */ +export const writeFarmingCenterConnectVirtualPool = + /*#__PURE__*/ createWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'connectVirtualPool', + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"decreaseLiquidity"` + * + * + */ +export const writeFarmingCenterDecreaseLiquidity = + /*#__PURE__*/ createWriteContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'decreaseLiquidity', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"enterFarming"`. - */ -export function useFarmingCenterEnterFarming< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof farmingCenterABI, - 'enterFarming' - >['request']['abi'], - 'enterFarming', - TMode - > & { functionName?: 'enterFarming' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'enterFarming' - } = {} as any, -) { - return useContractWrite({ - abi: farmingCenterABI, + }) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"enterFarming"` + * + * + */ +export const writeFarmingCenterEnterFarming = /*#__PURE__*/ createWriteContract( + { + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'enterFarming', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"exitFarming"`. - */ -export function useFarmingCenterExitFarming< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof farmingCenterABI, - 'exitFarming' - >['request']['abi'], - 'exitFarming', - TMode - > & { functionName?: 'exitFarming' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'exitFarming' - } = {} as any, -) { - return useContractWrite({ - abi: farmingCenterABI, - address: farmingCenterAddress, - functionName: 'exitFarming', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"increaseLiquidity"`. - */ -export function useFarmingCenterIncreaseLiquidity< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof farmingCenterABI, - 'increaseLiquidity' - >['request']['abi'], - 'increaseLiquidity', - TMode - > & { functionName?: 'increaseLiquidity' } - : UseContractWriteConfig< - typeof farmingCenterABI, - 'increaseLiquidity', - TMode - > & { - abi?: never - functionName?: 'increaseLiquidity' - } = {} as any, -) { - return useContractWrite({ - abi: farmingCenterABI, + }, +) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"exitFarming"` + * + * + */ +export const writeFarmingCenterExitFarming = /*#__PURE__*/ createWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'exitFarming', +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"increaseLiquidity"` + * + * + */ +export const writeFarmingCenterIncreaseLiquidity = + /*#__PURE__*/ createWriteContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'increaseLiquidity', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"multicall"`. - */ -export function useFarmingCenterMulticall< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof farmingCenterABI, - 'multicall' - >['request']['abi'], - 'multicall', - TMode - > & { functionName?: 'multicall' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'multicall' - } = {} as any, -) { - return useContractWrite({ - abi: farmingCenterABI, - address: farmingCenterAddress, - functionName: 'multicall', - ...config, - } as any) -} + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__. + * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"multicall"` + * + * */ -export function usePrepareFarmingCenterWrite( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: farmingCenterABI, - address: farmingCenterAddress, - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"applyLiquidityDelta"`. - */ -export function usePrepareFarmingCenterApplyLiquidityDelta( - config: Omit< - UsePrepareContractWriteConfig< - typeof farmingCenterABI, - 'applyLiquidityDelta' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: farmingCenterABI, +export const writeFarmingCenterMulticall = /*#__PURE__*/ createWriteContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'multicall', +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ + * + * + */ +export const simulateFarmingCenter = /*#__PURE__*/ createSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"applyLiquidityDelta"` + * + * + */ +export const simulateFarmingCenterApplyLiquidityDelta = + /*#__PURE__*/ createSimulateContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'applyLiquidityDelta', - ...config, - } as UsePrepareContractWriteConfig< - typeof farmingCenterABI, - 'applyLiquidityDelta' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"burnPosition"`. - */ -export function usePrepareFarmingCenterBurnPosition( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: farmingCenterABI, + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"burnPosition"` + * + * + */ +export const simulateFarmingCenterBurnPosition = + /*#__PURE__*/ createSimulateContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'burnPosition', - ...config, - } as UsePrepareContractWriteConfig) -} + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"claimReward"`. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"claimReward"` + * + * */ -export function usePrepareFarmingCenterClaimReward( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: farmingCenterABI, +export const simulateFarmingCenterClaimReward = + /*#__PURE__*/ createSimulateContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'claimReward', - ...config, - } as UsePrepareContractWriteConfig) -} + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"collectRewards"`. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"collectRewards"` + * + * */ -export function usePrepareFarmingCenterCollectRewards( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: farmingCenterABI, +export const simulateFarmingCenterCollectRewards = + /*#__PURE__*/ createSimulateContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'collectRewards', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"connectVirtualPool"`. - */ -export function usePrepareFarmingCenterConnectVirtualPool( - config: Omit< - UsePrepareContractWriteConfig< - typeof farmingCenterABI, - 'connectVirtualPool' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: farmingCenterABI, + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"connectVirtualPool"` + * + * + */ +export const simulateFarmingCenterConnectVirtualPool = + /*#__PURE__*/ createSimulateContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'connectVirtualPool', - ...config, - } as UsePrepareContractWriteConfig< - typeof farmingCenterABI, - 'connectVirtualPool' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"decreaseLiquidity"`. - */ -export function usePrepareFarmingCenterDecreaseLiquidity( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: farmingCenterABI, + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"decreaseLiquidity"` + * + * + */ +export const simulateFarmingCenterDecreaseLiquidity = + /*#__PURE__*/ createSimulateContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, functionName: 'decreaseLiquidity', - ...config, - } as UsePrepareContractWriteConfig< - typeof farmingCenterABI, - 'decreaseLiquidity' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"enterFarming"`. - */ -export function usePrepareFarmingCenterEnterFarming( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: farmingCenterABI, - address: farmingCenterAddress, - functionName: 'enterFarming', - ...config, - } as UsePrepareContractWriteConfig) -} + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"exitFarming"`. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"enterFarming"` + * + * */ -export function usePrepareFarmingCenterExitFarming( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: farmingCenterABI, +export const simulateFarmingCenterEnterFarming = + /*#__PURE__*/ createSimulateContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, - functionName: 'exitFarming', - ...config, - } as UsePrepareContractWriteConfig) -} + functionName: 'enterFarming', + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"increaseLiquidity"`. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"exitFarming"` + * + * */ -export function usePrepareFarmingCenterIncreaseLiquidity( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: farmingCenterABI, - address: farmingCenterAddress, - functionName: 'increaseLiquidity', - ...config, - } as UsePrepareContractWriteConfig< - typeof farmingCenterABI, - 'increaseLiquidity' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"multicall"`. - */ -export function usePrepareFarmingCenterMulticall( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: farmingCenterABI, +export const simulateFarmingCenterExitFarming = + /*#__PURE__*/ createSimulateContract({ + abi: farmingCenterAbi, address: farmingCenterAddress, - functionName: 'multicall', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__. - */ -export function useEternalFarmingRead< - TFunctionName extends string, - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' - > = {} as any, -) { - return useContractRead({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - ...config, - } as UseContractReadConfig< - typeof eternalFarmingABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"FARMINGS_ADMINISTRATOR_ROLE"`. - */ -export function useEternalFarmingFarmingsAdministratorRole< - TFunctionName extends 'FARMINGS_ADMINISTRATOR_ROLE', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'FARMINGS_ADMINISTRATOR_ROLE', - ...config, - } as UseContractReadConfig< - typeof eternalFarmingABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"INCENTIVE_MAKER_ROLE"`. - */ -export function useEternalFarmingIncentiveMakerRole< - TFunctionName extends 'INCENTIVE_MAKER_ROLE', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'INCENTIVE_MAKER_ROLE', - ...config, - } as UseContractReadConfig< - typeof eternalFarmingABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"farmingCenter"`. - */ -export function useEternalFarmingFarmingCenter< - TFunctionName extends 'farmingCenter', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'farmingCenter', - ...config, - } as UseContractReadConfig< - typeof eternalFarmingABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"farms"`. - */ -export function useEternalFarmingFarms< - TFunctionName extends 'farms', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'farms', - ...config, - } as UseContractReadConfig< - typeof eternalFarmingABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"getRewardInfo"`. - */ -export function useEternalFarmingGetRewardInfo< - TFunctionName extends 'getRewardInfo', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'getRewardInfo', - ...config, - } as UseContractReadConfig< - typeof eternalFarmingABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"incentives"`. - */ -export function useEternalFarmingIncentives< - TFunctionName extends 'incentives', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'incentives', - ...config, - } as UseContractReadConfig< - typeof eternalFarmingABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"isEmergencyWithdrawActivated"`. - */ -export function useEternalFarmingIsEmergencyWithdrawActivated< - TFunctionName extends 'isEmergencyWithdrawActivated', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'isEmergencyWithdrawActivated', - ...config, - } as UseContractReadConfig< - typeof eternalFarmingABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"isIncentiveDeactivated"`. - */ -export function useEternalFarmingIsIncentiveDeactivated< - TFunctionName extends 'isIncentiveDeactivated', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'isIncentiveDeactivated', - ...config, - } as UseContractReadConfig< - typeof eternalFarmingABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"nonfungiblePositionManager"`. - */ -export function useEternalFarmingNonfungiblePositionManager< - TFunctionName extends 'nonfungiblePositionManager', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'nonfungiblePositionManager', - ...config, - } as UseContractReadConfig< - typeof eternalFarmingABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"numOfIncentives"`. - */ -export function useEternalFarmingNumOfIncentives< - TFunctionName extends 'numOfIncentives', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'numOfIncentives', - ...config, - } as UseContractReadConfig< - typeof eternalFarmingABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"rewards"`. - */ -export function useEternalFarmingRewards< - TFunctionName extends 'rewards', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'rewards', - ...config, - } as UseContractReadConfig< - typeof eternalFarmingABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__. - */ -export function useEternalFarmingWrite< - TFunctionName extends string, - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - string - >['request']['abi'], - TFunctionName, - TMode - > - : UseContractWriteConfig & { - abi?: never - } = {} as any, -) { - return useContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"addRewards"`. - */ -export function useEternalFarmingAddRewards< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - 'addRewards' - >['request']['abi'], - 'addRewards', - TMode - > & { functionName?: 'addRewards' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'addRewards' - } = {} as any, -) { - return useContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'addRewards', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"claimReward"`. - */ -export function useEternalFarmingClaimReward< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - 'claimReward' - >['request']['abi'], - 'claimReward', - TMode - > & { functionName?: 'claimReward' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'claimReward' - } = {} as any, -) { - return useContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'claimReward', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"claimRewardFrom"`. - */ -export function useEternalFarmingClaimRewardFrom< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - 'claimRewardFrom' - >['request']['abi'], - 'claimRewardFrom', - TMode - > & { functionName?: 'claimRewardFrom' } - : UseContractWriteConfig< - typeof eternalFarmingABI, - 'claimRewardFrom', - TMode - > & { - abi?: never - functionName?: 'claimRewardFrom' - } = {} as any, -) { - return useContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'claimRewardFrom', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"collectRewards"`. - */ -export function useEternalFarmingCollectRewards< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - 'collectRewards' - >['request']['abi'], - 'collectRewards', - TMode - > & { functionName?: 'collectRewards' } - : UseContractWriteConfig< - typeof eternalFarmingABI, - 'collectRewards', - TMode - > & { - abi?: never - functionName?: 'collectRewards' - } = {} as any, -) { - return useContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'collectRewards', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"createEternalFarming"`. - */ -export function useEternalFarmingCreateEternalFarming< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - 'createEternalFarming' - >['request']['abi'], - 'createEternalFarming', - TMode - > & { functionName?: 'createEternalFarming' } - : UseContractWriteConfig< - typeof eternalFarmingABI, - 'createEternalFarming', - TMode - > & { - abi?: never - functionName?: 'createEternalFarming' - } = {} as any, -) { - return useContractWrite< - typeof eternalFarmingABI, - 'createEternalFarming', - TMode - >({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'createEternalFarming', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"deactivateIncentive"`. - */ -export function useEternalFarmingDeactivateIncentive< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - 'deactivateIncentive' - >['request']['abi'], - 'deactivateIncentive', - TMode - > & { functionName?: 'deactivateIncentive' } - : UseContractWriteConfig< - typeof eternalFarmingABI, - 'deactivateIncentive', - TMode - > & { - abi?: never - functionName?: 'deactivateIncentive' - } = {} as any, -) { - return useContractWrite< - typeof eternalFarmingABI, - 'deactivateIncentive', - TMode - >({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'deactivateIncentive', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"decreaseRewardsAmount"`. - */ -export function useEternalFarmingDecreaseRewardsAmount< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - 'decreaseRewardsAmount' - >['request']['abi'], - 'decreaseRewardsAmount', - TMode - > & { functionName?: 'decreaseRewardsAmount' } - : UseContractWriteConfig< - typeof eternalFarmingABI, - 'decreaseRewardsAmount', - TMode - > & { - abi?: never - functionName?: 'decreaseRewardsAmount' - } = {} as any, -) { - return useContractWrite< - typeof eternalFarmingABI, - 'decreaseRewardsAmount', - TMode - >({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'decreaseRewardsAmount', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"enterFarming"`. - */ -export function useEternalFarmingEnterFarming< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - 'enterFarming' - >['request']['abi'], - 'enterFarming', - TMode - > & { functionName?: 'enterFarming' } - : UseContractWriteConfig< - typeof eternalFarmingABI, - 'enterFarming', - TMode - > & { - abi?: never - functionName?: 'enterFarming' - } = {} as any, -) { - return useContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'enterFarming', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"exitFarming"`. - */ -export function useEternalFarmingExitFarming< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - 'exitFarming' - >['request']['abi'], - 'exitFarming', - TMode - > & { functionName?: 'exitFarming' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'exitFarming' - } = {} as any, -) { - return useContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'exitFarming', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"setEmergencyWithdrawStatus"`. - */ -export function useEternalFarmingSetEmergencyWithdrawStatus< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - 'setEmergencyWithdrawStatus' - >['request']['abi'], - 'setEmergencyWithdrawStatus', - TMode - > & { functionName?: 'setEmergencyWithdrawStatus' } - : UseContractWriteConfig< - typeof eternalFarmingABI, - 'setEmergencyWithdrawStatus', - TMode - > & { - abi?: never - functionName?: 'setEmergencyWithdrawStatus' - } = {} as any, -) { - return useContractWrite< - typeof eternalFarmingABI, - 'setEmergencyWithdrawStatus', - TMode - >({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'setEmergencyWithdrawStatus', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"setFarmingCenterAddress"`. - */ -export function useEternalFarmingSetFarmingCenterAddress< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - 'setFarmingCenterAddress' - >['request']['abi'], - 'setFarmingCenterAddress', - TMode - > & { functionName?: 'setFarmingCenterAddress' } - : UseContractWriteConfig< - typeof eternalFarmingABI, - 'setFarmingCenterAddress', - TMode - > & { - abi?: never - functionName?: 'setFarmingCenterAddress' - } = {} as any, -) { - return useContractWrite< - typeof eternalFarmingABI, - 'setFarmingCenterAddress', - TMode - >({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'setFarmingCenterAddress', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"setRates"`. - */ -export function useEternalFarmingSetRates< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof eternalFarmingABI, - 'setRates' - >['request']['abi'], - 'setRates', - TMode - > & { functionName?: 'setRates' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'setRates' - } = {} as any, -) { - return useContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'setRates', - ...config, - } as any) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__. - */ -export function usePrepareEternalFarmingWrite( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"addRewards"`. - */ -export function usePrepareEternalFarmingAddRewards( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'addRewards', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"claimReward"`. - */ -export function usePrepareEternalFarmingClaimReward( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'claimReward', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"claimRewardFrom"`. - */ -export function usePrepareEternalFarmingClaimRewardFrom( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'claimRewardFrom', - ...config, - } as UsePrepareContractWriteConfig< - typeof eternalFarmingABI, - 'claimRewardFrom' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"collectRewards"`. - */ -export function usePrepareEternalFarmingCollectRewards( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'collectRewards', - ...config, - } as UsePrepareContractWriteConfig< - typeof eternalFarmingABI, - 'collectRewards' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"createEternalFarming"`. - */ -export function usePrepareEternalFarmingCreateEternalFarming( - config: Omit< - UsePrepareContractWriteConfig< - typeof eternalFarmingABI, - 'createEternalFarming' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'createEternalFarming', - ...config, - } as UsePrepareContractWriteConfig< - typeof eternalFarmingABI, - 'createEternalFarming' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"deactivateIncentive"`. - */ -export function usePrepareEternalFarmingDeactivateIncentive( - config: Omit< - UsePrepareContractWriteConfig< - typeof eternalFarmingABI, - 'deactivateIncentive' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'deactivateIncentive', - ...config, - } as UsePrepareContractWriteConfig< - typeof eternalFarmingABI, - 'deactivateIncentive' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"decreaseRewardsAmount"`. - */ -export function usePrepareEternalFarmingDecreaseRewardsAmount( - config: Omit< - UsePrepareContractWriteConfig< - typeof eternalFarmingABI, - 'decreaseRewardsAmount' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'decreaseRewardsAmount', - ...config, - } as UsePrepareContractWriteConfig< - typeof eternalFarmingABI, - 'decreaseRewardsAmount' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"enterFarming"`. - */ -export function usePrepareEternalFarmingEnterFarming( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'enterFarming', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"exitFarming"`. - */ -export function usePrepareEternalFarmingExitFarming( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, functionName: 'exitFarming', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"setEmergencyWithdrawStatus"`. - */ -export function usePrepareEternalFarmingSetEmergencyWithdrawStatus( - config: Omit< - UsePrepareContractWriteConfig< - typeof eternalFarmingABI, - 'setEmergencyWithdrawStatus' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'setEmergencyWithdrawStatus', - ...config, - } as UsePrepareContractWriteConfig< - typeof eternalFarmingABI, - 'setEmergencyWithdrawStatus' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"setFarmingCenterAddress"`. - */ -export function usePrepareEternalFarmingSetFarmingCenterAddress( - config: Omit< - UsePrepareContractWriteConfig< - typeof eternalFarmingABI, - 'setFarmingCenterAddress' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'setFarmingCenterAddress', - ...config, - } as UsePrepareContractWriteConfig< - typeof eternalFarmingABI, - 'setFarmingCenterAddress' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"setRates"`. - */ -export function usePrepareEternalFarmingSetRates( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: eternalFarmingABI, - address: eternalFarmingAddress, - functionName: 'setRates', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__. - */ -export function useAlgebraFactoryRead< - TFunctionName extends string, - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"DEFAULT_ADMIN_ROLE"`. - */ -export function useAlgebraFactoryDefaultAdminRole< - TFunctionName extends 'DEFAULT_ADMIN_ROLE', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'DEFAULT_ADMIN_ROLE', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"POOLS_ADMINISTRATOR_ROLE"`. - */ -export function useAlgebraFactoryPoolsAdministratorRole< - TFunctionName extends 'POOLS_ADMINISTRATOR_ROLE', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'POOLS_ADMINISTRATOR_ROLE', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"POOL_INIT_CODE_HASH"`. - */ -export function useAlgebraFactoryPoolInitCodeHash< - TFunctionName extends 'POOL_INIT_CODE_HASH', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'POOL_INIT_CODE_HASH', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"computePoolAddress"`. - */ -export function useAlgebraFactoryComputePoolAddress< - TFunctionName extends 'computePoolAddress', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'computePoolAddress', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"defaultCommunityFee"`. - */ -export function useAlgebraFactoryDefaultCommunityFee< - TFunctionName extends 'defaultCommunityFee', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'defaultCommunityFee', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"defaultConfigurationForPool"`. - */ -export function useAlgebraFactoryDefaultConfigurationForPool< - TFunctionName extends 'defaultConfigurationForPool', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'defaultConfigurationForPool', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"defaultFee"`. - */ -export function useAlgebraFactoryDefaultFee< - TFunctionName extends 'defaultFee', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'defaultFee', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"defaultPluginFactory"`. - */ -export function useAlgebraFactoryDefaultPluginFactory< - TFunctionName extends 'defaultPluginFactory', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'defaultPluginFactory', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"defaultTickspacing"`. - */ -export function useAlgebraFactoryDefaultTickspacing< - TFunctionName extends 'defaultTickspacing', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'defaultTickspacing', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"getRoleAdmin"`. - */ -export function useAlgebraFactoryGetRoleAdmin< - TFunctionName extends 'getRoleAdmin', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'getRoleAdmin', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"getRoleMember"`. - */ -export function useAlgebraFactoryGetRoleMember< - TFunctionName extends 'getRoleMember', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'getRoleMember', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"getRoleMemberCount"`. - */ -export function useAlgebraFactoryGetRoleMemberCount< - TFunctionName extends 'getRoleMemberCount', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'getRoleMemberCount', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"hasRole"`. - */ -export function useAlgebraFactoryHasRole< - TFunctionName extends 'hasRole', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'hasRole', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"hasRoleOrOwner"`. - */ -export function useAlgebraFactoryHasRoleOrOwner< - TFunctionName extends 'hasRoleOrOwner', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'hasRoleOrOwner', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"owner"`. - */ -export function useAlgebraFactoryOwner< - TFunctionName extends 'owner', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'owner', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"pendingOwner"`. - */ -export function useAlgebraFactoryPendingOwner< - TFunctionName extends 'pendingOwner', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'pendingOwner', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"poolByPair"`. - */ -export function useAlgebraFactoryPoolByPair< - TFunctionName extends 'poolByPair', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'poolByPair', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"poolDeployer"`. - */ -export function useAlgebraFactoryPoolDeployer< - TFunctionName extends 'poolDeployer', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'poolDeployer', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"renounceOwnershipStartTimestamp"`. - */ -export function useAlgebraFactoryRenounceOwnershipStartTimestamp< - TFunctionName extends 'renounceOwnershipStartTimestamp', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'renounceOwnershipStartTimestamp', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"supportsInterface"`. - */ -export function useAlgebraFactorySupportsInterface< - TFunctionName extends 'supportsInterface', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'supportsInterface', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"vaultFactory"`. - */ -export function useAlgebraFactoryVaultFactory< - TFunctionName extends 'vaultFactory', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'vaultFactory', - ...config, - } as UseContractReadConfig< - typeof algebraFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__. - */ -export function useAlgebraFactoryWrite< - TFunctionName extends string, - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - string - >['request']['abi'], - TFunctionName, - TMode - > - : UseContractWriteConfig & { - abi?: never - } = {} as any, -) { - return useContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"acceptOwnership"`. - */ -export function useAlgebraFactoryAcceptOwnership< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'acceptOwnership' - >['request']['abi'], - 'acceptOwnership', - TMode - > & { functionName?: 'acceptOwnership' } - : UseContractWriteConfig< - typeof algebraFactoryABI, - 'acceptOwnership', - TMode - > & { - abi?: never - functionName?: 'acceptOwnership' - } = {} as any, -) { - return useContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'acceptOwnership', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"createPool"`. - */ -export function useAlgebraFactoryCreatePool< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'createPool' - >['request']['abi'], - 'createPool', - TMode - > & { functionName?: 'createPool' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'createPool' - } = {} as any, -) { - return useContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'createPool', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"grantRole"`. - */ -export function useAlgebraFactoryGrantRole< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'grantRole' - >['request']['abi'], - 'grantRole', - TMode - > & { functionName?: 'grantRole' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'grantRole' - } = {} as any, -) { - return useContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'grantRole', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"renounceOwnership"`. - */ -export function useAlgebraFactoryRenounceOwnership< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'renounceOwnership' - >['request']['abi'], - 'renounceOwnership', - TMode - > & { functionName?: 'renounceOwnership' } - : UseContractWriteConfig< - typeof algebraFactoryABI, - 'renounceOwnership', - TMode - > & { - abi?: never - functionName?: 'renounceOwnership' - } = {} as any, -) { - return useContractWrite( - { - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'renounceOwnership', - ...config, - } as any, - ) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"renounceRole"`. - */ -export function useAlgebraFactoryRenounceRole< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'renounceRole' - >['request']['abi'], - 'renounceRole', - TMode - > & { functionName?: 'renounceRole' } - : UseContractWriteConfig< - typeof algebraFactoryABI, - 'renounceRole', - TMode - > & { - abi?: never - functionName?: 'renounceRole' - } = {} as any, -) { - return useContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'renounceRole', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"revokeRole"`. - */ -export function useAlgebraFactoryRevokeRole< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'revokeRole' - >['request']['abi'], - 'revokeRole', - TMode - > & { functionName?: 'revokeRole' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'revokeRole' - } = {} as any, -) { - return useContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'revokeRole', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"setDefaultCommunityFee"`. - */ -export function useAlgebraFactorySetDefaultCommunityFee< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'setDefaultCommunityFee' - >['request']['abi'], - 'setDefaultCommunityFee', - TMode - > & { functionName?: 'setDefaultCommunityFee' } - : UseContractWriteConfig< - typeof algebraFactoryABI, - 'setDefaultCommunityFee', - TMode - > & { - abi?: never - functionName?: 'setDefaultCommunityFee' - } = {} as any, -) { - return useContractWrite< - typeof algebraFactoryABI, - 'setDefaultCommunityFee', - TMode - >({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'setDefaultCommunityFee', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"setDefaultFee"`. - */ -export function useAlgebraFactorySetDefaultFee< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'setDefaultFee' - >['request']['abi'], - 'setDefaultFee', - TMode - > & { functionName?: 'setDefaultFee' } - : UseContractWriteConfig< - typeof algebraFactoryABI, - 'setDefaultFee', - TMode - > & { - abi?: never - functionName?: 'setDefaultFee' - } = {} as any, -) { - return useContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'setDefaultFee', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"setDefaultPluginFactory"`. - */ -export function useAlgebraFactorySetDefaultPluginFactory< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'setDefaultPluginFactory' - >['request']['abi'], - 'setDefaultPluginFactory', - TMode - > & { functionName?: 'setDefaultPluginFactory' } - : UseContractWriteConfig< - typeof algebraFactoryABI, - 'setDefaultPluginFactory', - TMode - > & { - abi?: never - functionName?: 'setDefaultPluginFactory' - } = {} as any, -) { - return useContractWrite< - typeof algebraFactoryABI, - 'setDefaultPluginFactory', - TMode - >({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'setDefaultPluginFactory', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"setDefaultTickspacing"`. - */ -export function useAlgebraFactorySetDefaultTickspacing< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'setDefaultTickspacing' - >['request']['abi'], - 'setDefaultTickspacing', - TMode - > & { functionName?: 'setDefaultTickspacing' } - : UseContractWriteConfig< - typeof algebraFactoryABI, - 'setDefaultTickspacing', - TMode - > & { - abi?: never - functionName?: 'setDefaultTickspacing' - } = {} as any, -) { - return useContractWrite< - typeof algebraFactoryABI, - 'setDefaultTickspacing', - TMode - >({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'setDefaultTickspacing', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"setVaultFactory"`. - */ -export function useAlgebraFactorySetVaultFactory< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'setVaultFactory' - >['request']['abi'], - 'setVaultFactory', - TMode - > & { functionName?: 'setVaultFactory' } - : UseContractWriteConfig< - typeof algebraFactoryABI, - 'setVaultFactory', - TMode - > & { - abi?: never - functionName?: 'setVaultFactory' - } = {} as any, -) { - return useContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'setVaultFactory', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"startRenounceOwnership"`. - */ -export function useAlgebraFactoryStartRenounceOwnership< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'startRenounceOwnership' - >['request']['abi'], - 'startRenounceOwnership', - TMode - > & { functionName?: 'startRenounceOwnership' } - : UseContractWriteConfig< - typeof algebraFactoryABI, - 'startRenounceOwnership', - TMode - > & { - abi?: never - functionName?: 'startRenounceOwnership' - } = {} as any, -) { - return useContractWrite< - typeof algebraFactoryABI, - 'startRenounceOwnership', - TMode - >({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'startRenounceOwnership', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"stopRenounceOwnership"`. - */ -export function useAlgebraFactoryStopRenounceOwnership< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'stopRenounceOwnership' - >['request']['abi'], - 'stopRenounceOwnership', - TMode - > & { functionName?: 'stopRenounceOwnership' } - : UseContractWriteConfig< - typeof algebraFactoryABI, - 'stopRenounceOwnership', - TMode - > & { - abi?: never - functionName?: 'stopRenounceOwnership' - } = {} as any, -) { - return useContractWrite< - typeof algebraFactoryABI, - 'stopRenounceOwnership', - TMode - >({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'stopRenounceOwnership', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"transferOwnership"`. - */ -export function useAlgebraFactoryTransferOwnership< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraFactoryABI, - 'transferOwnership' - >['request']['abi'], - 'transferOwnership', - TMode - > & { functionName?: 'transferOwnership' } - : UseContractWriteConfig< - typeof algebraFactoryABI, - 'transferOwnership', - TMode - > & { - abi?: never - functionName?: 'transferOwnership' - } = {} as any, -) { - return useContractWrite( - { - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'transferOwnership', - ...config, - } as any, - ) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__. - */ -export function usePrepareAlgebraFactoryWrite( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - ...config, - } as UsePrepareContractWriteConfig) -} + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"acceptOwnership"`. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"increaseLiquidity"` + * + * */ -export function usePrepareAlgebraFactoryAcceptOwnership( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'acceptOwnership', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'acceptOwnership' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"createPool"`. - */ -export function usePrepareAlgebraFactoryCreatePool( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'createPool', - ...config, - } as UsePrepareContractWriteConfig) -} +export const simulateFarmingCenterIncreaseLiquidity = + /*#__PURE__*/ createSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'increaseLiquidity', + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"grantRole"`. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link farmingCenterAbi}__ and `functionName` set to `"multicall"` + * + * */ -export function usePrepareAlgebraFactoryGrantRole( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'grantRole', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"renounceOwnership"`. - */ -export function usePrepareAlgebraFactoryRenounceOwnership( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'renounceOwnership' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'renounceOwnership', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'renounceOwnership' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"renounceRole"`. - */ -export function usePrepareAlgebraFactoryRenounceRole( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'renounceRole', - ...config, - } as UsePrepareContractWriteConfig) -} +export const simulateFarmingCenterMulticall = + /*#__PURE__*/ createSimulateContract({ + abi: farmingCenterAbi, + address: farmingCenterAddress, + functionName: 'multicall', + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"revokeRole"`. + * Wraps __{@link readContract}__ with `abi` set to __{@link pluginFactoryAbi}__ + * + * */ -export function usePrepareAlgebraFactoryRevokeRole( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'revokeRole', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"setDefaultCommunityFee"`. - */ -export function usePrepareAlgebraFactorySetDefaultCommunityFee( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'setDefaultCommunityFee' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'setDefaultCommunityFee', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'setDefaultCommunityFee' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"setDefaultFee"`. - */ -export function usePrepareAlgebraFactorySetDefaultFee( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'setDefaultFee', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"setDefaultPluginFactory"`. - */ -export function usePrepareAlgebraFactorySetDefaultPluginFactory( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'setDefaultPluginFactory' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'setDefaultPluginFactory', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'setDefaultPluginFactory' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"setDefaultTickspacing"`. - */ -export function usePrepareAlgebraFactorySetDefaultTickspacing( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'setDefaultTickspacing' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'setDefaultTickspacing', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'setDefaultTickspacing' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"setVaultFactory"`. - */ -export function usePrepareAlgebraFactorySetVaultFactory( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'setVaultFactory', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'setVaultFactory' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"startRenounceOwnership"`. - */ -export function usePrepareAlgebraFactoryStartRenounceOwnership( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'startRenounceOwnership' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'startRenounceOwnership', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'startRenounceOwnership' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"stopRenounceOwnership"`. - */ -export function usePrepareAlgebraFactoryStopRenounceOwnership( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'stopRenounceOwnership' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'stopRenounceOwnership', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'stopRenounceOwnership' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"transferOwnership"`. - */ -export function usePrepareAlgebraFactoryTransferOwnership( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'transferOwnership' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraFactoryABI, - address: algebraFactoryAddress, - functionName: 'transferOwnership', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraFactoryABI, - 'transferOwnership' - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link pluginFactoryABI}__. - */ -export function usePluginFactoryRead< - TFunctionName extends string, - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' - > = {} as any, -) { - return useContractRead({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - ...config, - } as UseContractReadConfig< - typeof pluginFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"ALGEBRA_BASE_PLUGIN_FACTORY_ADMINISTRATOR"`. - */ -export function usePluginFactoryAlgebraBasePluginFactoryAdministrator< - TFunctionName extends 'ALGEBRA_BASE_PLUGIN_FACTORY_ADMINISTRATOR', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: pluginFactoryABI, +export const readPluginFactory = /*#__PURE__*/ createReadContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"ALGEBRA_BASE_PLUGIN_FACTORY_ADMINISTRATOR"` + * + * + */ +export const readPluginFactoryAlgebraBasePluginFactoryAdministrator = + /*#__PURE__*/ createReadContract({ + abi: pluginFactoryAbi, address: pluginFactoryAddress, functionName: 'ALGEBRA_BASE_PLUGIN_FACTORY_ADMINISTRATOR', - ...config, - } as UseContractReadConfig< - typeof pluginFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"afterCreatePoolHook"`. - */ -export function usePluginFactoryAfterCreatePoolHook< - TFunctionName extends 'afterCreatePoolHook', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: pluginFactoryABI, + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"afterCreatePoolHook"` + * + * + */ +export const readPluginFactoryAfterCreatePoolHook = + /*#__PURE__*/ createReadContract({ + abi: pluginFactoryAbi, address: pluginFactoryAddress, functionName: 'afterCreatePoolHook', - ...config, - } as UseContractReadConfig< - typeof pluginFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"algebraFactory"`. - */ -export function usePluginFactoryAlgebraFactory< - TFunctionName extends 'algebraFactory', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: pluginFactoryABI, + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"algebraFactory"` + * + * + */ +export const readPluginFactoryAlgebraFactory = /*#__PURE__*/ createReadContract( + { + abi: pluginFactoryAbi, address: pluginFactoryAddress, functionName: 'algebraFactory', - ...config, - } as UseContractReadConfig< - typeof pluginFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"defaultBaseFee"`. - */ -export function usePluginFactoryDefaultBaseFee< - TFunctionName extends 'defaultBaseFee', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - functionName: 'defaultBaseFee', - ...config, - } as UseContractReadConfig< - typeof pluginFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"farmingAddress"`. - */ -export function usePluginFactoryFarmingAddress< - TFunctionName extends 'farmingAddress', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - functionName: 'farmingAddress', - ...config, - } as UseContractReadConfig< - typeof pluginFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"pluginByPool"`. - */ -export function usePluginFactoryPluginByPool< - TFunctionName extends 'pluginByPool', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - functionName: 'pluginByPool', - ...config, - } as UseContractReadConfig< - typeof pluginFactoryABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link pluginFactoryABI}__. - */ -export function usePluginFactoryWrite< - TFunctionName extends string, - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof pluginFactoryABI, - string - >['request']['abi'], - TFunctionName, - TMode - > - : UseContractWriteConfig & { - abi?: never - } = {} as any, -) { - return useContractWrite({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"beforeCreatePoolHook"`. - */ -export function usePluginFactoryBeforeCreatePoolHook< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof pluginFactoryABI, - 'beforeCreatePoolHook' - >['request']['abi'], - 'beforeCreatePoolHook', - TMode - > & { functionName?: 'beforeCreatePoolHook' } - : UseContractWriteConfig< - typeof pluginFactoryABI, - 'beforeCreatePoolHook', - TMode - > & { - abi?: never - functionName?: 'beforeCreatePoolHook' - } = {} as any, -) { - return useContractWrite< - typeof pluginFactoryABI, - 'beforeCreatePoolHook', - TMode - >({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - functionName: 'beforeCreatePoolHook', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"createPluginForExistingPool"`. - */ -export function usePluginFactoryCreatePluginForExistingPool< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof pluginFactoryABI, - 'createPluginForExistingPool' - >['request']['abi'], - 'createPluginForExistingPool', - TMode - > & { functionName?: 'createPluginForExistingPool' } - : UseContractWriteConfig< - typeof pluginFactoryABI, - 'createPluginForExistingPool', - TMode - > & { - abi?: never - functionName?: 'createPluginForExistingPool' - } = {} as any, -) { - return useContractWrite< - typeof pluginFactoryABI, - 'createPluginForExistingPool', - TMode - >({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - functionName: 'createPluginForExistingPool', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"setDefaultBaseFee"`. - */ -export function usePluginFactorySetDefaultBaseFee< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof pluginFactoryABI, - 'setDefaultBaseFee' - >['request']['abi'], - 'setDefaultBaseFee', - TMode - > & { functionName?: 'setDefaultBaseFee' } - : UseContractWriteConfig< - typeof pluginFactoryABI, - 'setDefaultBaseFee', - TMode - > & { - abi?: never - functionName?: 'setDefaultBaseFee' - } = {} as any, -) { - return useContractWrite({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - functionName: 'setDefaultBaseFee', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"setFarmingAddress"`. - */ -export function usePluginFactorySetFarmingAddress< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof pluginFactoryABI, - 'setFarmingAddress' - >['request']['abi'], - 'setFarmingAddress', - TMode - > & { functionName?: 'setFarmingAddress' } - : UseContractWriteConfig< - typeof pluginFactoryABI, - 'setFarmingAddress', - TMode - > & { - abi?: never - functionName?: 'setFarmingAddress' - } = {} as any, -) { - return useContractWrite({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - functionName: 'setFarmingAddress', - ...config, - } as any) -} + }, +) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link pluginFactoryABI}__. + * Wraps __{@link readContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"defaultBaseFee"` + * + * */ -export function usePreparePluginFactoryWrite( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"beforeCreatePoolHook"`. - */ -export function usePreparePluginFactoryBeforeCreatePoolHook( - config: Omit< - UsePrepareContractWriteConfig< - typeof pluginFactoryABI, - 'beforeCreatePoolHook' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - functionName: 'beforeCreatePoolHook', - ...config, - } as UsePrepareContractWriteConfig< - typeof pluginFactoryABI, - 'beforeCreatePoolHook' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"createPluginForExistingPool"`. - */ -export function usePreparePluginFactoryCreatePluginForExistingPool( - config: Omit< - UsePrepareContractWriteConfig< - typeof pluginFactoryABI, - 'createPluginForExistingPool' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - functionName: 'createPluginForExistingPool', - ...config, - } as UsePrepareContractWriteConfig< - typeof pluginFactoryABI, - 'createPluginForExistingPool' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"setDefaultBaseFee"`. - */ -export function usePreparePluginFactorySetDefaultBaseFee( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: pluginFactoryABI, - address: pluginFactoryAddress, - functionName: 'setDefaultBaseFee', - ...config, - } as UsePrepareContractWriteConfig< - typeof pluginFactoryABI, - 'setDefaultBaseFee' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link pluginFactoryABI}__ and `functionName` set to `"setFarmingAddress"`. - */ -export function usePreparePluginFactorySetFarmingAddress( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: pluginFactoryABI, +export const readPluginFactoryDefaultBaseFee = /*#__PURE__*/ createReadContract( + { + abi: pluginFactoryAbi, address: pluginFactoryAddress, - functionName: 'setFarmingAddress', - ...config, - } as UsePrepareContractWriteConfig< - typeof pluginFactoryABI, - 'setFarmingAddress' - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__. - */ -export function useAlgebraPoolRead< - TFunctionName extends string, - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"communityFeeLastTimestamp"`. - */ -export function useAlgebraPoolCommunityFeeLastTimestamp< - TFunctionName extends 'communityFeeLastTimestamp', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'communityFeeLastTimestamp', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"communityVault"`. - */ -export function useAlgebraPoolCommunityVault< - TFunctionName extends 'communityVault', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'communityVault', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"factory"`. - */ -export function useAlgebraPoolFactory< - TFunctionName extends 'factory', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'factory', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"fee"`. - */ -export function useAlgebraPoolFee< - TFunctionName extends 'fee', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'fee', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"getCommunityFeePending"`. - */ -export function useAlgebraPoolGetCommunityFeePending< - TFunctionName extends 'getCommunityFeePending', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'getCommunityFeePending', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"getReserves"`. - */ -export function useAlgebraPoolGetReserves< - TFunctionName extends 'getReserves', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'getReserves', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"globalState"`. - */ -export function useAlgebraPoolGlobalState< - TFunctionName extends 'globalState', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'globalState', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"liquidity"`. - */ -export function useAlgebraPoolLiquidity< - TFunctionName extends 'liquidity', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'liquidity', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"maxLiquidityPerTick"`. - */ -export function useAlgebraPoolMaxLiquidityPerTick< - TFunctionName extends 'maxLiquidityPerTick', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'maxLiquidityPerTick', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"nextTickGlobal"`. - */ -export function useAlgebraPoolNextTickGlobal< - TFunctionName extends 'nextTickGlobal', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'nextTickGlobal', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"plugin"`. - */ -export function useAlgebraPoolPlugin< - TFunctionName extends 'plugin', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'plugin', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"positions"`. - */ -export function useAlgebraPoolPositions< - TFunctionName extends 'positions', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'positions', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"prevTickGlobal"`. - */ -export function useAlgebraPoolPrevTickGlobal< - TFunctionName extends 'prevTickGlobal', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'prevTickGlobal', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"tickSpacing"`. - */ -export function useAlgebraPoolTickSpacing< - TFunctionName extends 'tickSpacing', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'tickSpacing', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"tickTable"`. - */ -export function useAlgebraPoolTickTable< - TFunctionName extends 'tickTable', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'tickTable', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"ticks"`. - */ -export function useAlgebraPoolTicks< - TFunctionName extends 'ticks', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'ticks', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"token0"`. - */ -export function useAlgebraPoolToken0< - TFunctionName extends 'token0', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'token0', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"token1"`. - */ -export function useAlgebraPoolToken1< - TFunctionName extends 'token1', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'token1', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"totalFeeGrowth0Token"`. - */ -export function useAlgebraPoolTotalFeeGrowth0Token< - TFunctionName extends 'totalFeeGrowth0Token', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'totalFeeGrowth0Token', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"totalFeeGrowth1Token"`. - */ -export function useAlgebraPoolTotalFeeGrowth1Token< - TFunctionName extends 'totalFeeGrowth1Token', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraPoolABI, - functionName: 'totalFeeGrowth1Token', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__. - */ -export function useAlgebraPoolWrite< - TFunctionName extends string, - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - string - >['request']['abi'], - TFunctionName, - TMode - > - : UseContractWriteConfig & { - abi?: never - } = {} as any, -) { - return useContractWrite({ - abi: algebraPoolABI, - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"burn"`. - */ -export function useAlgebraPoolBurn( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - 'burn' - >['request']['abi'], - 'burn', - TMode - > & { functionName?: 'burn' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'burn' - } = {} as any, -) { - return useContractWrite({ - abi: algebraPoolABI, - functionName: 'burn', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"collect"`. - */ -export function useAlgebraPoolCollect< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - 'collect' - >['request']['abi'], - 'collect', - TMode - > & { functionName?: 'collect' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'collect' - } = {} as any, -) { - return useContractWrite({ - abi: algebraPoolABI, - functionName: 'collect', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"flash"`. - */ -export function useAlgebraPoolFlash< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - 'flash' - >['request']['abi'], - 'flash', - TMode - > & { functionName?: 'flash' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'flash' - } = {} as any, -) { - return useContractWrite({ - abi: algebraPoolABI, - functionName: 'flash', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"initialize"`. - */ -export function useAlgebraPoolInitialize< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - 'initialize' - >['request']['abi'], - 'initialize', - TMode - > & { functionName?: 'initialize' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'initialize' - } = {} as any, -) { - return useContractWrite({ - abi: algebraPoolABI, - functionName: 'initialize', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"mint"`. - */ -export function useAlgebraPoolMint( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - 'mint' - >['request']['abi'], - 'mint', - TMode - > & { functionName?: 'mint' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'mint' - } = {} as any, -) { - return useContractWrite({ - abi: algebraPoolABI, - functionName: 'mint', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"setCommunityFee"`. - */ -export function useAlgebraPoolSetCommunityFee< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - 'setCommunityFee' - >['request']['abi'], - 'setCommunityFee', - TMode - > & { functionName?: 'setCommunityFee' } - : UseContractWriteConfig< - typeof algebraPoolABI, - 'setCommunityFee', - TMode - > & { - abi?: never - functionName?: 'setCommunityFee' - } = {} as any, -) { - return useContractWrite({ - abi: algebraPoolABI, - functionName: 'setCommunityFee', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"setFee"`. - */ -export function useAlgebraPoolSetFee< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - 'setFee' - >['request']['abi'], - 'setFee', - TMode - > & { functionName?: 'setFee' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'setFee' - } = {} as any, -) { - return useContractWrite({ - abi: algebraPoolABI, - functionName: 'setFee', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"setPlugin"`. - */ -export function useAlgebraPoolSetPlugin< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - 'setPlugin' - >['request']['abi'], - 'setPlugin', - TMode - > & { functionName?: 'setPlugin' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'setPlugin' - } = {} as any, -) { - return useContractWrite({ - abi: algebraPoolABI, - functionName: 'setPlugin', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"setPluginConfig"`. - */ -export function useAlgebraPoolSetPluginConfig< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - 'setPluginConfig' - >['request']['abi'], - 'setPluginConfig', - TMode - > & { functionName?: 'setPluginConfig' } - : UseContractWriteConfig< - typeof algebraPoolABI, - 'setPluginConfig', - TMode - > & { - abi?: never - functionName?: 'setPluginConfig' - } = {} as any, -) { - return useContractWrite({ - abi: algebraPoolABI, - functionName: 'setPluginConfig', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"setTickSpacing"`. - */ -export function useAlgebraPoolSetTickSpacing< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - 'setTickSpacing' - >['request']['abi'], - 'setTickSpacing', - TMode - > & { functionName?: 'setTickSpacing' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'setTickSpacing' - } = {} as any, -) { - return useContractWrite({ - abi: algebraPoolABI, - functionName: 'setTickSpacing', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"swap"`. - */ -export function useAlgebraPoolSwap( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - 'swap' - >['request']['abi'], - 'swap', - TMode - > & { functionName?: 'swap' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'swap' - } = {} as any, -) { - return useContractWrite({ - abi: algebraPoolABI, - functionName: 'swap', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"swapWithPaymentInAdvance"`. - */ -export function useAlgebraPoolSwapWithPaymentInAdvance< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraPoolABI, - 'swapWithPaymentInAdvance' - >['request']['abi'], - 'swapWithPaymentInAdvance', - TMode - > & { functionName?: 'swapWithPaymentInAdvance' } - : UseContractWriteConfig< - typeof algebraPoolABI, - 'swapWithPaymentInAdvance', - TMode - > & { - abi?: never - functionName?: 'swapWithPaymentInAdvance' - } = {} as any, -) { - return useContractWrite< - typeof algebraPoolABI, - 'swapWithPaymentInAdvance', - TMode - >({ - abi: algebraPoolABI, - functionName: 'swapWithPaymentInAdvance', - ...config, - } as any) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__. - */ -export function usePrepareAlgebraPoolWrite( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"burn"`. - */ -export function usePrepareAlgebraPoolBurn( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - functionName: 'burn', - ...config, - } as UsePrepareContractWriteConfig) -} + functionName: 'defaultBaseFee', + }, +) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"collect"`. + * Wraps __{@link readContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"farmingAddress"` + * + * */ -export function usePrepareAlgebraPoolCollect( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - functionName: 'collect', - ...config, - } as UsePrepareContractWriteConfig) -} +export const readPluginFactoryFarmingAddress = /*#__PURE__*/ createReadContract( + { + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'farmingAddress', + }, +) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"flash"`. + * Wraps __{@link readContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"pluginByPool"` + * + * */ -export function usePrepareAlgebraPoolFlash( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - functionName: 'flash', - ...config, - } as UsePrepareContractWriteConfig) -} +export const readPluginFactoryPluginByPool = /*#__PURE__*/ createReadContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'pluginByPool', +}) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"initialize"`. + * Wraps __{@link writeContract}__ with `abi` set to __{@link pluginFactoryAbi}__ + * + * */ -export function usePrepareAlgebraPoolInitialize( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - functionName: 'initialize', - ...config, - } as UsePrepareContractWriteConfig) -} +export const writePluginFactory = /*#__PURE__*/ createWriteContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, +}) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"mint"`. + * Wraps __{@link writeContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"beforeCreatePoolHook"` + * + * */ -export function usePrepareAlgebraPoolMint( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - functionName: 'mint', - ...config, - } as UsePrepareContractWriteConfig) -} +export const writePluginFactoryBeforeCreatePoolHook = + /*#__PURE__*/ createWriteContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'beforeCreatePoolHook', + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"setCommunityFee"`. + * Wraps __{@link writeContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"createPluginForExistingPool"` + * + * */ -export function usePrepareAlgebraPoolSetCommunityFee( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - functionName: 'setCommunityFee', - ...config, - } as UsePrepareContractWriteConfig) -} +export const writePluginFactoryCreatePluginForExistingPool = + /*#__PURE__*/ createWriteContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'createPluginForExistingPool', + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"setFee"`. + * Wraps __{@link writeContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"setDefaultBaseFee"` + * + * */ -export function usePrepareAlgebraPoolSetFee( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - functionName: 'setFee', - ...config, - } as UsePrepareContractWriteConfig) -} +export const writePluginFactorySetDefaultBaseFee = + /*#__PURE__*/ createWriteContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'setDefaultBaseFee', + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"setPlugin"`. + * Wraps __{@link writeContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"setFarmingAddress"` + * + * */ -export function usePrepareAlgebraPoolSetPlugin( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - functionName: 'setPlugin', - ...config, - } as UsePrepareContractWriteConfig) -} +export const writePluginFactorySetFarmingAddress = + /*#__PURE__*/ createWriteContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'setFarmingAddress', + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"setPluginConfig"`. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link pluginFactoryAbi}__ + * + * */ -export function usePrepareAlgebraPoolSetPluginConfig( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - functionName: 'setPluginConfig', - ...config, - } as UsePrepareContractWriteConfig) -} +export const simulatePluginFactory = /*#__PURE__*/ createSimulateContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, +}) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"setTickSpacing"`. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"beforeCreatePoolHook"` + * + * */ -export function usePrepareAlgebraPoolSetTickSpacing( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - functionName: 'setTickSpacing', - ...config, - } as UsePrepareContractWriteConfig) -} +export const simulatePluginFactoryBeforeCreatePoolHook = + /*#__PURE__*/ createSimulateContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'beforeCreatePoolHook', + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"swap"`. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"createPluginForExistingPool"` + * + * */ -export function usePrepareAlgebraPoolSwap( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - functionName: 'swap', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraPoolABI}__ and `functionName` set to `"swapWithPaymentInAdvance"`. - */ -export function usePrepareAlgebraPoolSwapWithPaymentInAdvance( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraPoolABI, - 'swapWithPaymentInAdvance' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraPoolABI, - functionName: 'swapWithPaymentInAdvance', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraPoolABI, - 'swapWithPaymentInAdvance' - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__. - */ -export function useAlgebraBasePluginRead< - TFunctionName extends string, - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"ALGEBRA_BASE_PLUGIN_MANAGER"`. - */ -export function useAlgebraBasePluginAlgebraBasePluginManager< - TFunctionName extends 'ALGEBRA_BASE_PLUGIN_MANAGER', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'ALGEBRA_BASE_PLUGIN_MANAGER', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"defaultPluginConfig"`. - */ -export function useAlgebraBasePluginDefaultPluginConfig< - TFunctionName extends 'defaultPluginConfig', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'defaultPluginConfig', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"getPool"`. - */ -export function useAlgebraBasePluginGetPool< - TFunctionName extends 'getPool', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'getPool', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"getSingleTimepoint"`. - */ -export function useAlgebraBasePluginGetSingleTimepoint< - TFunctionName extends 'getSingleTimepoint', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'getSingleTimepoint', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"getTimepoints"`. - */ -export function useAlgebraBasePluginGetTimepoints< - TFunctionName extends 'getTimepoints', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'getTimepoints', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"handlePluginFee"`. - */ -export function useAlgebraBasePluginHandlePluginFee< - TFunctionName extends 'handlePluginFee', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'handlePluginFee', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"incentive"`. - */ -export function useAlgebraBasePluginIncentive< - TFunctionName extends 'incentive', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'incentive', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"isIncentiveConnected"`. - */ -export function useAlgebraBasePluginIsIncentiveConnected< - TFunctionName extends 'isIncentiveConnected', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'isIncentiveConnected', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"isInitialized"`. - */ -export function useAlgebraBasePluginIsInitialized< - TFunctionName extends 'isInitialized', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'isInitialized', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"lastTimepointTimestamp"`. - */ -export function useAlgebraBasePluginLastTimepointTimestamp< - TFunctionName extends 'lastTimepointTimestamp', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'lastTimepointTimestamp', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"pool"`. - */ -export function useAlgebraBasePluginPool< - TFunctionName extends 'pool', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'pool', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"s_baseFee"`. - */ -export function useAlgebraBasePluginSBaseFee< - TFunctionName extends 's_baseFee', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 's_baseFee', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"s_feeFactors"`. - */ -export function useAlgebraBasePluginSFeeFactors< - TFunctionName extends 's_feeFactors', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 's_feeFactors', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"s_priceChangeFactor"`. - */ -export function useAlgebraBasePluginSPriceChangeFactor< - TFunctionName extends 's_priceChangeFactor', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 's_priceChangeFactor', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"timepointIndex"`. - */ -export function useAlgebraBasePluginTimepointIndex< - TFunctionName extends 'timepointIndex', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'timepointIndex', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"timepoints"`. - */ -export function useAlgebraBasePluginTimepoints< - TFunctionName extends 'timepoints', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraBasePluginABI, - functionName: 'timepoints', - ...config, - } as UseContractReadConfig< - typeof algebraBasePluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__. - */ -export function useAlgebraBasePluginWrite< - TFunctionName extends string, - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - string - >['request']['abi'], - TFunctionName, - TMode - > - : UseContractWriteConfig< - typeof algebraBasePluginABI, - TFunctionName, - TMode - > & { - abi?: never - } = {} as any, -) { - return useContractWrite({ - abi: algebraBasePluginABI, - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"afterFlash"`. - */ -export function useAlgebraBasePluginAfterFlash< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'afterFlash' - >['request']['abi'], - 'afterFlash', - TMode - > & { functionName?: 'afterFlash' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'afterFlash', - TMode - > & { - abi?: never - functionName?: 'afterFlash' - } = {} as any, -) { - return useContractWrite({ - abi: algebraBasePluginABI, - functionName: 'afterFlash', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"afterInitialize"`. - */ -export function useAlgebraBasePluginAfterInitialize< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'afterInitialize' - >['request']['abi'], - 'afterInitialize', - TMode - > & { functionName?: 'afterInitialize' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'afterInitialize', - TMode - > & { - abi?: never - functionName?: 'afterInitialize' - } = {} as any, -) { - return useContractWrite< - typeof algebraBasePluginABI, - 'afterInitialize', - TMode - >({ - abi: algebraBasePluginABI, - functionName: 'afterInitialize', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"afterModifyPosition"`. - */ -export function useAlgebraBasePluginAfterModifyPosition< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'afterModifyPosition' - >['request']['abi'], - 'afterModifyPosition', - TMode - > & { functionName?: 'afterModifyPosition' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'afterModifyPosition', - TMode - > & { - abi?: never - functionName?: 'afterModifyPosition' - } = {} as any, -) { - return useContractWrite< - typeof algebraBasePluginABI, - 'afterModifyPosition', - TMode - >({ - abi: algebraBasePluginABI, - functionName: 'afterModifyPosition', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"afterSwap"`. - */ -export function useAlgebraBasePluginAfterSwap< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'afterSwap' - >['request']['abi'], - 'afterSwap', - TMode - > & { functionName?: 'afterSwap' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'afterSwap', - TMode - > & { - abi?: never - functionName?: 'afterSwap' - } = {} as any, -) { - return useContractWrite({ - abi: algebraBasePluginABI, - functionName: 'afterSwap', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"beforeFlash"`. - */ -export function useAlgebraBasePluginBeforeFlash< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'beforeFlash' - >['request']['abi'], - 'beforeFlash', - TMode - > & { functionName?: 'beforeFlash' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'beforeFlash', - TMode - > & { - abi?: never - functionName?: 'beforeFlash' - } = {} as any, -) { - return useContractWrite({ - abi: algebraBasePluginABI, - functionName: 'beforeFlash', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"beforeInitialize"`. - */ -export function useAlgebraBasePluginBeforeInitialize< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'beforeInitialize' - >['request']['abi'], - 'beforeInitialize', - TMode - > & { functionName?: 'beforeInitialize' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'beforeInitialize', - TMode - > & { - abi?: never - functionName?: 'beforeInitialize' - } = {} as any, -) { - return useContractWrite< - typeof algebraBasePluginABI, - 'beforeInitialize', - TMode - >({ - abi: algebraBasePluginABI, - functionName: 'beforeInitialize', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"beforeModifyPosition"`. - */ -export function useAlgebraBasePluginBeforeModifyPosition< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'beforeModifyPosition' - >['request']['abi'], - 'beforeModifyPosition', - TMode - > & { functionName?: 'beforeModifyPosition' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'beforeModifyPosition', - TMode - > & { - abi?: never - functionName?: 'beforeModifyPosition' - } = {} as any, -) { - return useContractWrite< - typeof algebraBasePluginABI, - 'beforeModifyPosition', - TMode - >({ - abi: algebraBasePluginABI, - functionName: 'beforeModifyPosition', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"beforeSwap"`. - */ -export function useAlgebraBasePluginBeforeSwap< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'beforeSwap' - >['request']['abi'], - 'beforeSwap', - TMode - > & { functionName?: 'beforeSwap' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'beforeSwap', - TMode - > & { - abi?: never - functionName?: 'beforeSwap' - } = {} as any, -) { - return useContractWrite({ - abi: algebraBasePluginABI, - functionName: 'beforeSwap', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"collectPluginFee"`. - */ -export function useAlgebraBasePluginCollectPluginFee< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'collectPluginFee' - >['request']['abi'], - 'collectPluginFee', - TMode - > & { functionName?: 'collectPluginFee' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'collectPluginFee', - TMode - > & { - abi?: never - functionName?: 'collectPluginFee' - } = {} as any, -) { - return useContractWrite< - typeof algebraBasePluginABI, - 'collectPluginFee', - TMode - >({ - abi: algebraBasePluginABI, - functionName: 'collectPluginFee', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"initialize"`. - */ -export function useAlgebraBasePluginInitialize< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'initialize' - >['request']['abi'], - 'initialize', - TMode - > & { functionName?: 'initialize' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'initialize', - TMode - > & { - abi?: never - functionName?: 'initialize' - } = {} as any, -) { - return useContractWrite({ - abi: algebraBasePluginABI, - functionName: 'initialize', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"prepayTimepointsStorageSlots"`. - */ -export function useAlgebraBasePluginPrepayTimepointsStorageSlots< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'prepayTimepointsStorageSlots' - >['request']['abi'], - 'prepayTimepointsStorageSlots', - TMode - > & { functionName?: 'prepayTimepointsStorageSlots' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'prepayTimepointsStorageSlots', - TMode - > & { - abi?: never - functionName?: 'prepayTimepointsStorageSlots' - } = {} as any, -) { - return useContractWrite< - typeof algebraBasePluginABI, - 'prepayTimepointsStorageSlots', - TMode - >({ - abi: algebraBasePluginABI, - functionName: 'prepayTimepointsStorageSlots', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"setBaseFee"`. - */ -export function useAlgebraBasePluginSetBaseFee< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'setBaseFee' - >['request']['abi'], - 'setBaseFee', - TMode - > & { functionName?: 'setBaseFee' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'setBaseFee', - TMode - > & { - abi?: never - functionName?: 'setBaseFee' - } = {} as any, -) { - return useContractWrite({ - abi: algebraBasePluginABI, - functionName: 'setBaseFee', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"setIncentive"`. - */ -export function useAlgebraBasePluginSetIncentive< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'setIncentive' - >['request']['abi'], - 'setIncentive', - TMode - > & { functionName?: 'setIncentive' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'setIncentive', - TMode - > & { - abi?: never - functionName?: 'setIncentive' - } = {} as any, -) { - return useContractWrite({ - abi: algebraBasePluginABI, - functionName: 'setIncentive', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"setPriceChangeFactor"`. - */ -export function useAlgebraBasePluginSetPriceChangeFactor< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraBasePluginABI, - 'setPriceChangeFactor' - >['request']['abi'], - 'setPriceChangeFactor', - TMode - > & { functionName?: 'setPriceChangeFactor' } - : UseContractWriteConfig< - typeof algebraBasePluginABI, - 'setPriceChangeFactor', - TMode - > & { - abi?: never - functionName?: 'setPriceChangeFactor' - } = {} as any, -) { - return useContractWrite< - typeof algebraBasePluginABI, - 'setPriceChangeFactor', - TMode - >({ - abi: algebraBasePluginABI, - functionName: 'setPriceChangeFactor', - ...config, - } as any) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__. - */ -export function usePrepareAlgebraBasePluginWrite( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - TFunctionName - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"afterFlash"`. - */ -export function usePrepareAlgebraBasePluginAfterFlash( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'afterFlash', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"afterInitialize"`. - */ -export function usePrepareAlgebraBasePluginAfterInitialize( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'afterInitialize' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'afterInitialize', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'afterInitialize' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"afterModifyPosition"`. - */ -export function usePrepareAlgebraBasePluginAfterModifyPosition( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'afterModifyPosition' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'afterModifyPosition', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'afterModifyPosition' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"afterSwap"`. - */ -export function usePrepareAlgebraBasePluginAfterSwap( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'afterSwap', - ...config, - } as UsePrepareContractWriteConfig) -} +export const simulatePluginFactoryCreatePluginForExistingPool = + /*#__PURE__*/ createSimulateContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'createPluginForExistingPool', + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"beforeFlash"`. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"setDefaultBaseFee"` + * + * */ -export function usePrepareAlgebraBasePluginBeforeFlash( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'beforeFlash', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'beforeFlash' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"beforeInitialize"`. - */ -export function usePrepareAlgebraBasePluginBeforeInitialize( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'beforeInitialize' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'beforeInitialize', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'beforeInitialize' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"beforeModifyPosition"`. - */ -export function usePrepareAlgebraBasePluginBeforeModifyPosition( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'beforeModifyPosition' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'beforeModifyPosition', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'beforeModifyPosition' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"beforeSwap"`. - */ -export function usePrepareAlgebraBasePluginBeforeSwap( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'beforeSwap', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"collectPluginFee"`. - */ -export function usePrepareAlgebraBasePluginCollectPluginFee( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'collectPluginFee' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'collectPluginFee', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'collectPluginFee' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"initialize"`. - */ -export function usePrepareAlgebraBasePluginInitialize( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'initialize', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"prepayTimepointsStorageSlots"`. - */ -export function usePrepareAlgebraBasePluginPrepayTimepointsStorageSlots( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'prepayTimepointsStorageSlots' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'prepayTimepointsStorageSlots', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'prepayTimepointsStorageSlots' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"setBaseFee"`. - */ -export function usePrepareAlgebraBasePluginSetBaseFee( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'setBaseFee', - ...config, - } as UsePrepareContractWriteConfig) -} +export const simulatePluginFactorySetDefaultBaseFee = + /*#__PURE__*/ createSimulateContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'setDefaultBaseFee', + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"setIncentive"`. + * Wraps __{@link simulateContract}__ with `abi` set to __{@link pluginFactoryAbi}__ and `functionName` set to `"setFarmingAddress"` + * + * */ -export function usePrepareAlgebraBasePluginSetIncentive( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'setIncentive', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'setIncentive' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraBasePluginABI}__ and `functionName` set to `"setPriceChangeFactor"`. - */ -export function usePrepareAlgebraBasePluginSetPriceChangeFactor( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'setPriceChangeFactor' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraBasePluginABI, - functionName: 'setPriceChangeFactor', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraBasePluginABI, - 'setPriceChangeFactor' - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraStubPluginABI}__. - */ -export function useAlgebraStubPluginRead< - TFunctionName extends string, - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'address' - > = {} as any, -) { - return useContractRead({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - ...config, - } as UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"ALGEBRA_BASE_PLUGIN_MANAGER"`. - */ -export function useAlgebraStubPluginAlgebraBasePluginManager< - TFunctionName extends 'ALGEBRA_BASE_PLUGIN_MANAGER', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'ALGEBRA_BASE_PLUGIN_MANAGER', - ...config, - } as UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"afterFlash"`. - */ -export function useAlgebraStubPluginAfterFlash< - TFunctionName extends 'afterFlash', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'afterFlash', - ...config, - } as UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"afterInitialize"`. - */ -export function useAlgebraStubPluginAfterInitialize< - TFunctionName extends 'afterInitialize', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'afterInitialize', - ...config, - } as UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"afterModifyPosition"`. - */ -export function useAlgebraStubPluginAfterModifyPosition< - TFunctionName extends 'afterModifyPosition', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'afterModifyPosition', - ...config, - } as UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"afterSwap"`. - */ -export function useAlgebraStubPluginAfterSwap< - TFunctionName extends 'afterSwap', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'afterSwap', - ...config, - } as UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"beforeFlash"`. - */ -export function useAlgebraStubPluginBeforeFlash< - TFunctionName extends 'beforeFlash', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'beforeFlash', - ...config, - } as UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"beforeInitialize"`. - */ -export function useAlgebraStubPluginBeforeInitialize< - TFunctionName extends 'beforeInitialize', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'beforeInitialize', - ...config, - } as UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"beforeModifyPosition"`. - */ -export function useAlgebraStubPluginBeforeModifyPosition< - TFunctionName extends 'beforeModifyPosition', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'beforeModifyPosition', - ...config, - } as UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"beforeSwap"`. - */ -export function useAlgebraStubPluginBeforeSwap< - TFunctionName extends 'beforeSwap', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'beforeSwap', - ...config, - } as UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"defaultPluginConfig"`. - */ -export function useAlgebraStubPluginDefaultPluginConfig< - TFunctionName extends 'defaultPluginConfig', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'defaultPluginConfig', - ...config, - } as UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"pluginConfig"`. - */ -export function useAlgebraStubPluginPluginConfig< - TFunctionName extends 'pluginConfig', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'pluginConfig', - ...config, - } as UseContractReadConfig< - typeof algebraStubPluginABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraStubPluginABI}__. - */ -export function useAlgebraStubPluginWrite< - TFunctionName extends string, - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraStubPluginABI, - string - >['request']['abi'], - TFunctionName, - TMode - > - : UseContractWriteConfig< - typeof algebraStubPluginABI, - TFunctionName, - TMode - > & { - abi?: never - } = {} as any, -) { - return useContractWrite({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"setNewPluginConfig"`. - */ -export function useAlgebraStubPluginSetNewPluginConfig< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraStubPluginABI, - 'setNewPluginConfig' - >['request']['abi'], - 'setNewPluginConfig', - TMode - > & { functionName?: 'setNewPluginConfig' } - : UseContractWriteConfig< - typeof algebraStubPluginABI, - 'setNewPluginConfig', - TMode - > & { - abi?: never - functionName?: 'setNewPluginConfig' - } = {} as any, -) { - return useContractWrite< - typeof algebraStubPluginABI, - 'setNewPluginConfig', - TMode - >({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'setNewPluginConfig', - ...config, - } as any) -} +export const simulatePluginFactorySetFarmingAddress = + /*#__PURE__*/ createSimulateContract({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + functionName: 'setFarmingAddress', + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraStubPluginABI}__. + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link pluginFactoryAbi}__ + * + * */ -export function usePrepareAlgebraStubPluginWrite( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'address' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraStubPluginABI, - TFunctionName - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraStubPluginABI}__ and `functionName` set to `"setNewPluginConfig"`. - */ -export function usePrepareAlgebraStubPluginSetNewPluginConfig( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraStubPluginABI, - 'setNewPluginConfig' - >, - 'abi' | 'address' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraStubPluginABI, - address: algebraStubPluginAddress, - functionName: 'setNewPluginConfig', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraStubPluginABI, - 'setNewPluginConfig' - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__. - */ -export function useAlgebraVirtualPoolRead< - TFunctionName extends string, - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"FEE_WEIGHT_DENOMINATOR"`. - */ -export function useAlgebraVirtualPoolFeeWeightDenominator< - TFunctionName extends 'FEE_WEIGHT_DENOMINATOR', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'FEE_WEIGHT_DENOMINATOR', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"RATE_CHANGE_FREQUENCY"`. - */ -export function useAlgebraVirtualPoolRateChangeFrequency< - TFunctionName extends 'RATE_CHANGE_FREQUENCY', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'RATE_CHANGE_FREQUENCY', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"currentLiquidity"`. - */ -export function useAlgebraVirtualPoolCurrentLiquidity< - TFunctionName extends 'currentLiquidity', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'currentLiquidity', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"deactivated"`. - */ -export function useAlgebraVirtualPoolDeactivated< - TFunctionName extends 'deactivated', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'deactivated', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"dynamicRateActivated"`. - */ -export function useAlgebraVirtualPoolDynamicRateActivated< - TFunctionName extends 'dynamicRateActivated', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'dynamicRateActivated', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"farmingAddress"`. - */ -export function useAlgebraVirtualPoolFarmingAddress< - TFunctionName extends 'farmingAddress', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'farmingAddress', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"feeWeights"`. - */ -export function useAlgebraVirtualPoolFeeWeights< - TFunctionName extends 'feeWeights', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'feeWeights', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"getInnerRewardsGrowth"`. - */ -export function useAlgebraVirtualPoolGetInnerRewardsGrowth< - TFunctionName extends 'getInnerRewardsGrowth', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'getInnerRewardsGrowth', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"globalTick"`. - */ -export function useAlgebraVirtualPoolGlobalTick< - TFunctionName extends 'globalTick', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'globalTick', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"plugin"`. - */ -export function useAlgebraVirtualPoolPlugin< - TFunctionName extends 'plugin', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'plugin', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"prevTimestamp"`. - */ -export function useAlgebraVirtualPoolPrevTimestamp< - TFunctionName extends 'prevTimestamp', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'prevTimestamp', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"rateLimits"`. - */ -export function useAlgebraVirtualPoolRateLimits< - TFunctionName extends 'rateLimits', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'rateLimits', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"rewardRates"`. - */ -export function useAlgebraVirtualPoolRewardRates< - TFunctionName extends 'rewardRates', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'rewardRates', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"rewardReserves"`. - */ -export function useAlgebraVirtualPoolRewardReserves< - TFunctionName extends 'rewardReserves', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'rewardReserves', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"ticks"`. - */ -export function useAlgebraVirtualPoolTicks< - TFunctionName extends 'ticks', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'ticks', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"totalRewardGrowth"`. - */ -export function useAlgebraVirtualPoolTotalRewardGrowth< - TFunctionName extends 'totalRewardGrowth', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: algebraVirtualPoolABI, - functionName: 'totalRewardGrowth', - ...config, - } as UseContractReadConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__. - */ -export function useAlgebraVirtualPoolWrite< - TFunctionName extends string, - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraVirtualPoolABI, - string - >['request']['abi'], - TFunctionName, - TMode - > - : UseContractWriteConfig< - typeof algebraVirtualPoolABI, - TFunctionName, - TMode - > & { - abi?: never - } = {} as any, -) { - return useContractWrite({ - abi: algebraVirtualPoolABI, - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"addRewards"`. - */ -export function useAlgebraVirtualPoolAddRewards< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraVirtualPoolABI, - 'addRewards' - >['request']['abi'], - 'addRewards', - TMode - > & { functionName?: 'addRewards' } - : UseContractWriteConfig< - typeof algebraVirtualPoolABI, - 'addRewards', - TMode - > & { - abi?: never - functionName?: 'addRewards' - } = {} as any, -) { - return useContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'addRewards', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"applyLiquidityDeltaToPosition"`. - */ -export function useAlgebraVirtualPoolApplyLiquidityDeltaToPosition< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraVirtualPoolABI, - 'applyLiquidityDeltaToPosition' - >['request']['abi'], - 'applyLiquidityDeltaToPosition', - TMode - > & { functionName?: 'applyLiquidityDeltaToPosition' } - : UseContractWriteConfig< - typeof algebraVirtualPoolABI, - 'applyLiquidityDeltaToPosition', - TMode - > & { - abi?: never - functionName?: 'applyLiquidityDeltaToPosition' - } = {} as any, -) { - return useContractWrite< - typeof algebraVirtualPoolABI, - 'applyLiquidityDeltaToPosition', - TMode - >({ - abi: algebraVirtualPoolABI, - functionName: 'applyLiquidityDeltaToPosition', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"crossTo"`. - */ -export function useAlgebraVirtualPoolCrossTo< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraVirtualPoolABI, - 'crossTo' - >['request']['abi'], - 'crossTo', - TMode - > & { functionName?: 'crossTo' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'crossTo' - } = {} as any, -) { - return useContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'crossTo', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"deactivate"`. - */ -export function useAlgebraVirtualPoolDeactivate< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraVirtualPoolABI, - 'deactivate' - >['request']['abi'], - 'deactivate', - TMode - > & { functionName?: 'deactivate' } - : UseContractWriteConfig< - typeof algebraVirtualPoolABI, - 'deactivate', - TMode - > & { - abi?: never - functionName?: 'deactivate' - } = {} as any, -) { - return useContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'deactivate', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"decreaseRewards"`. - */ -export function useAlgebraVirtualPoolDecreaseRewards< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraVirtualPoolABI, - 'decreaseRewards' - >['request']['abi'], - 'decreaseRewards', - TMode - > & { functionName?: 'decreaseRewards' } - : UseContractWriteConfig< - typeof algebraVirtualPoolABI, - 'decreaseRewards', - TMode - > & { - abi?: never - functionName?: 'decreaseRewards' - } = {} as any, -) { - return useContractWrite< - typeof algebraVirtualPoolABI, - 'decreaseRewards', - TMode - >({ - abi: algebraVirtualPoolABI, - functionName: 'decreaseRewards', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"distributeRewards"`. - */ -export function useAlgebraVirtualPoolDistributeRewards< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraVirtualPoolABI, - 'distributeRewards' - >['request']['abi'], - 'distributeRewards', - TMode - > & { functionName?: 'distributeRewards' } - : UseContractWriteConfig< - typeof algebraVirtualPoolABI, - 'distributeRewards', - TMode - > & { - abi?: never - functionName?: 'distributeRewards' - } = {} as any, -) { - return useContractWrite< - typeof algebraVirtualPoolABI, - 'distributeRewards', - TMode - >({ - abi: algebraVirtualPoolABI, - functionName: 'distributeRewards', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"setDynamicRateLimits"`. - */ -export function useAlgebraVirtualPoolSetDynamicRateLimits< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraVirtualPoolABI, - 'setDynamicRateLimits' - >['request']['abi'], - 'setDynamicRateLimits', - TMode - > & { functionName?: 'setDynamicRateLimits' } - : UseContractWriteConfig< - typeof algebraVirtualPoolABI, - 'setDynamicRateLimits', - TMode - > & { - abi?: never - functionName?: 'setDynamicRateLimits' - } = {} as any, -) { - return useContractWrite< - typeof algebraVirtualPoolABI, - 'setDynamicRateLimits', - TMode - >({ - abi: algebraVirtualPoolABI, - functionName: 'setDynamicRateLimits', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"setRates"`. - */ -export function useAlgebraVirtualPoolSetRates< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraVirtualPoolABI, - 'setRates' - >['request']['abi'], - 'setRates', - TMode - > & { functionName?: 'setRates' } - : UseContractWriteConfig< - typeof algebraVirtualPoolABI, - 'setRates', - TMode - > & { - abi?: never - functionName?: 'setRates' - } = {} as any, -) { - return useContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'setRates', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"setWeights"`. - */ -export function useAlgebraVirtualPoolSetWeights< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraVirtualPoolABI, - 'setWeights' - >['request']['abi'], - 'setWeights', - TMode - > & { functionName?: 'setWeights' } - : UseContractWriteConfig< - typeof algebraVirtualPoolABI, - 'setWeights', - TMode - > & { - abi?: never - functionName?: 'setWeights' - } = {} as any, -) { - return useContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'setWeights', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"switchDynamicRate"`. - */ -export function useAlgebraVirtualPoolSwitchDynamicRate< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof algebraVirtualPoolABI, - 'switchDynamicRate' - >['request']['abi'], - 'switchDynamicRate', - TMode - > & { functionName?: 'switchDynamicRate' } - : UseContractWriteConfig< - typeof algebraVirtualPoolABI, - 'switchDynamicRate', - TMode - > & { - abi?: never - functionName?: 'switchDynamicRate' - } = {} as any, -) { - return useContractWrite< - typeof algebraVirtualPoolABI, - 'switchDynamicRate', - TMode - >({ - abi: algebraVirtualPoolABI, - functionName: 'switchDynamicRate', - ...config, - } as any) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__. - */ -export function usePrepareAlgebraVirtualPoolWrite( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraVirtualPoolABI, - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - TFunctionName - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"addRewards"`. - */ -export function usePrepareAlgebraVirtualPoolAddRewards( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'addRewards', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'addRewards' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"applyLiquidityDeltaToPosition"`. - */ -export function usePrepareAlgebraVirtualPoolApplyLiquidityDeltaToPosition( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'applyLiquidityDeltaToPosition' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'applyLiquidityDeltaToPosition', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'applyLiquidityDeltaToPosition' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"crossTo"`. - */ -export function usePrepareAlgebraVirtualPoolCrossTo( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'crossTo', - ...config, - } as UsePrepareContractWriteConfig) -} +export const watchPluginFactoryEvent = /*#__PURE__*/ createWatchContractEvent({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, +}) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"deactivate"`. + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link pluginFactoryAbi}__ and `eventName` set to `"DefaultBaseFee"` + * + * */ -export function usePrepareAlgebraVirtualPoolDeactivate( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'deactivate', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'deactivate' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"decreaseRewards"`. - */ -export function usePrepareAlgebraVirtualPoolDecreaseRewards( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'decreaseRewards' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'decreaseRewards', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'decreaseRewards' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"distributeRewards"`. - */ -export function usePrepareAlgebraVirtualPoolDistributeRewards( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'distributeRewards' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'distributeRewards', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'distributeRewards' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"setDynamicRateLimits"`. - */ -export function usePrepareAlgebraVirtualPoolSetDynamicRateLimits( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'setDynamicRateLimits' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'setDynamicRateLimits', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'setDynamicRateLimits' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"setRates"`. - */ -export function usePrepareAlgebraVirtualPoolSetRates( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'setRates', - ...config, - } as UsePrepareContractWriteConfig) -} +export const watchPluginFactoryDefaultBaseFeeEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + eventName: 'DefaultBaseFee', + }) /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"setWeights"`. + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link pluginFactoryAbi}__ and `eventName` set to `"FarmingAddress"` + * + * */ -export function usePrepareAlgebraVirtualPoolSetWeights( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'setWeights', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'setWeights' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link algebraVirtualPoolABI}__ and `functionName` set to `"switchDynamicRate"`. - */ -export function usePrepareAlgebraVirtualPoolSwitchDynamicRate( - config: Omit< - UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'switchDynamicRate' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: algebraVirtualPoolABI, - functionName: 'switchDynamicRate', - ...config, - } as UsePrepareContractWriteConfig< - typeof algebraVirtualPoolABI, - 'switchDynamicRate' - >) -} +export const watchPluginFactoryFarmingAddressEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: pluginFactoryAbi, + address: pluginFactoryAddress, + eventName: 'FarmingAddress', + }) diff --git a/src/graphql/clients/index.ts b/src/graphql/clients/index.ts index 0530438..7179d63 100644 --- a/src/graphql/clients/index.ts +++ b/src/graphql/clients/index.ts @@ -1,11 +1,11 @@ -import { ApolloClient, InMemoryCache } from "@apollo/client"; +import { ApolloClient, NormalizedCacheObject } from "@apollo/client"; +import { createApolloClient } from "../utils/createApolloClient"; +import { INFO_GRAPH_URL, FARMING_GRAPH_URL } from "config/graphql-urls"; -export const infoClient = new ApolloClient({ - uri: import.meta.env.VITE_INFO_GRAPH, - cache: new InMemoryCache(), -}); +export const infoClient: Record> = Object.fromEntries( + Object.entries(INFO_GRAPH_URL).map(([chainId, url]) => [Number(chainId), createApolloClient(url)]) +); -export const farmsClient = new ApolloClient({ - uri: import.meta.env.VITE_FARMING_GRAPH, - cache: new InMemoryCache() -}) +export const farmingClient: Record> = Object.fromEntries( + Object.entries(FARMING_GRAPH_URL).map(([chainId, url]) => [Number(chainId), createApolloClient(url)]) +); diff --git a/src/graphql/generated/graphql.tsx b/src/graphql/generated/graphql.tsx index f651e09..80f8e37 100644 --- a/src/graphql/generated/graphql.tsx +++ b/src/graphql/generated/graphql.tsx @@ -761,6 +761,7 @@ export enum Burn_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -773,6 +774,7 @@ export enum Burn_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', @@ -987,6 +989,7 @@ export enum Collect_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -999,6 +1002,7 @@ export enum Collect_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', @@ -1669,6 +1673,7 @@ export enum Flash_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -1681,6 +1686,7 @@ export enum Flash_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', @@ -1956,6 +1962,7 @@ export enum Mint_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -1968,6 +1975,7 @@ export enum Mint_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', @@ -2041,6 +2049,7 @@ export enum OrderDirection { export type Plugin = { __typename?: 'Plugin'; + activeModules: Array; collectedFeesToken0: Scalars['BigDecimal']['output']; collectedFeesToken1: Scalars['BigDecimal']['output']; collectedFeesUSD: Scalars['BigDecimal']['output']; @@ -2051,6 +2060,12 @@ export type Plugin = { export type Plugin_Filter = { /** Filter for the block changed event. */ _change_block?: InputMaybe; + activeModules?: InputMaybe>; + activeModules_contains?: InputMaybe>; + activeModules_contains_nocase?: InputMaybe>; + activeModules_not?: InputMaybe>; + activeModules_not_contains?: InputMaybe>; + activeModules_not_contains_nocase?: InputMaybe>; and?: InputMaybe>>; collectedFeesToken0?: InputMaybe; collectedFeesToken0_gt?: InputMaybe; @@ -2109,6 +2124,7 @@ export type Plugin_Filter = { }; export enum Plugin_OrderBy { + ActiveModules = 'activeModules', CollectedFeesToken0 = 'collectedFeesToken0', CollectedFeesToken1 = 'collectedFeesToken1', CollectedFeesUsd = 'collectedFeesUSD', @@ -2118,6 +2134,7 @@ export enum Plugin_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -2130,6 +2147,7 @@ export enum Plugin_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', @@ -2158,6 +2176,7 @@ export type Pool = { collectedFeesUSD: Scalars['BigDecimal']['output']; collects: Array; communityFee: Scalars['BigInt']['output']; + communityVault: Scalars['Bytes']['output']; createdAtBlockNumber: Scalars['BigInt']['output']; createdAtTimestamp: Scalars['BigInt']['output']; deployer: Scalars['Bytes']['output']; @@ -2171,6 +2190,7 @@ export type Pool = { liquidityProviderCount: Scalars['BigInt']['output']; mints: Array; observationIndex: Scalars['BigInt']['output']; + overrideFee: Scalars['BigInt']['output']; plugin: Scalars['Bytes']['output']; pluginConfig: Scalars['Int']['output']; poolDayData: Array; @@ -2489,6 +2509,7 @@ export enum PoolDayData_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -2501,6 +2522,7 @@ export enum PoolDayData_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', @@ -2806,6 +2828,7 @@ export enum PoolHourData_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -2818,6 +2841,7 @@ export enum PoolHourData_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', @@ -2982,6 +3006,7 @@ export enum PoolPosition_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -2994,6 +3019,7 @@ export enum PoolPosition_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', @@ -3071,6 +3097,16 @@ export type Pool_Filter = { communityFee_lte?: InputMaybe; communityFee_not?: InputMaybe; communityFee_not_in?: InputMaybe>; + communityVault?: InputMaybe; + communityVault_contains?: InputMaybe; + communityVault_gt?: InputMaybe; + communityVault_gte?: InputMaybe; + communityVault_in?: InputMaybe>; + communityVault_lt?: InputMaybe; + communityVault_lte?: InputMaybe; + communityVault_not?: InputMaybe; + communityVault_not_contains?: InputMaybe; + communityVault_not_in?: InputMaybe>; createdAtBlockNumber?: InputMaybe; createdAtBlockNumber_gt?: InputMaybe; createdAtBlockNumber_gte?: InputMaybe; @@ -3171,6 +3207,14 @@ export type Pool_Filter = { observationIndex_not?: InputMaybe; observationIndex_not_in?: InputMaybe>; or?: InputMaybe>>; + overrideFee?: InputMaybe; + overrideFee_gt?: InputMaybe; + overrideFee_gte?: InputMaybe; + overrideFee_in?: InputMaybe>; + overrideFee_lt?: InputMaybe; + overrideFee_lte?: InputMaybe; + overrideFee_not?: InputMaybe; + overrideFee_not_in?: InputMaybe>; plugin?: InputMaybe; pluginConfig?: InputMaybe; pluginConfig_gt?: InputMaybe; @@ -3372,6 +3416,7 @@ export enum Pool_OrderBy { CollectedFeesUsd = 'collectedFeesUSD', Collects = 'collects', CommunityFee = 'communityFee', + CommunityVault = 'communityVault', CreatedAtBlockNumber = 'createdAtBlockNumber', CreatedAtTimestamp = 'createdAtTimestamp', Deployer = 'deployer', @@ -3385,6 +3430,7 @@ export enum Pool_OrderBy { LiquidityProviderCount = 'liquidityProviderCount', Mints = 'mints', ObservationIndex = 'observationIndex', + OverrideFee = 'overrideFee', Plugin = 'plugin', PluginConfig = 'pluginConfig', PoolDayData = 'poolDayData', @@ -3654,6 +3700,7 @@ export enum PositionSnapshot_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -3666,6 +3713,7 @@ export enum PositionSnapshot_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', @@ -3982,6 +4030,7 @@ export enum Position_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -3994,6 +4043,7 @@ export enum Position_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', @@ -5701,6 +5751,7 @@ export enum Swap_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -5713,6 +5764,7 @@ export enum Swap_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', @@ -5940,6 +5992,7 @@ export enum TickHourData_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -5952,6 +6005,7 @@ export enum TickHourData_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', @@ -6195,6 +6249,7 @@ export enum Tick_OrderBy { PoolCollectedFeesToken1 = 'pool__collectedFeesToken1', PoolCollectedFeesUsd = 'pool__collectedFeesUSD', PoolCommunityFee = 'pool__communityFee', + PoolCommunityVault = 'pool__communityVault', PoolCreatedAtBlockNumber = 'pool__createdAtBlockNumber', PoolCreatedAtTimestamp = 'pool__createdAtTimestamp', PoolDeployer = 'pool__deployer', @@ -6207,6 +6262,7 @@ export enum Tick_OrderBy { PoolLiquidity = 'pool__liquidity', PoolLiquidityProviderCount = 'pool__liquidityProviderCount', PoolObservationIndex = 'pool__observationIndex', + PoolOverrideFee = 'pool__overrideFee', PoolPlugin = 'pool__plugin', PoolPluginConfig = 'pool__pluginConfig', PoolSqrtPrice = 'pool__sqrtPrice', diff --git a/src/graphql/utils/createApolloClient.ts b/src/graphql/utils/createApolloClient.ts new file mode 100644 index 0000000..cb0a706 --- /dev/null +++ b/src/graphql/utils/createApolloClient.ts @@ -0,0 +1,4 @@ +import { ApolloClient, InMemoryCache } from "@apollo/client"; + +export const createApolloClient = (uri: string, apiKey?: string) => + new ApolloClient({ uri, cache: new InMemoryCache(), headers: apiKey ? { Authorization: `Bearer ${apiKey}` } : undefined }); diff --git a/src/hooks/common/useAlgebraToken.ts b/src/hooks/common/useAlgebraToken.ts index 866de22..4aca2d3 100644 --- a/src/hooks/common/useAlgebraToken.ts +++ b/src/hooks/common/useAlgebraToken.ts @@ -1,36 +1,42 @@ import { useMemo } from "react"; -import { Address, useToken } from "wagmi"; -import { Token } from "@cryptoalgebra/integral-sdk"; -import { ExtendedNative } from "@cryptoalgebra/integral-sdk"; -import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; -import { - DEFAULT_CHAIN_ID, - DEFAULT_NATIVE_NAME, - DEFAULT_NATIVE_SYMBOL, -} from "@/constants/default-chain-id"; +import { Token, ExtendedNative, ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; +import { useReadContracts } from "wagmi"; +import { Address, erc20Abi } from "viem"; +import { DEFAULT_CHAIN_ID, DEFAULT_NATIVE_NAME, DEFAULT_NATIVE_SYMBOL } from "config/default-chain"; export function useAlgebraToken(address: Address | undefined) { - const isETH = address === ADDRESS_ZERO; + const { data: tokenData, isLoading } = useReadContracts({ + allowFailure: false, + contracts: [ + { + address: address as Address, + abi: erc20Abi, + functionName: "symbol", + }, + { + address: address as Address, + abi: erc20Abi, + functionName: "name", + }, + { + address: address as Address, + abi: erc20Abi, + functionName: "decimals", + }, + ], + }); - const { data: tokenData, isLoading } = useToken({ - address: isETH ? undefined : address, - chainId: DEFAULT_CHAIN_ID, - }); + return useMemo(() => { + if (!address) return; - return useMemo(() => { - if (!address) return; + const isETH = address === ADDRESS_ZERO; - if (address === ADDRESS_ZERO) - return ExtendedNative.onChain( - DEFAULT_CHAIN_ID, - DEFAULT_NATIVE_SYMBOL, - DEFAULT_NATIVE_NAME - ); + if (isETH) return ExtendedNative.onChain(DEFAULT_CHAIN_ID, DEFAULT_NATIVE_SYMBOL, DEFAULT_NATIVE_NAME); - if (isLoading || !tokenData) return undefined; + if (isLoading || !tokenData) return undefined; - const { symbol, name, decimals } = tokenData; + const [symbol, name, decimals] = tokenData; - return new Token(DEFAULT_CHAIN_ID, address, decimals, symbol, name); - }, [address, tokenData, isLoading]); + return new Token(DEFAULT_CHAIN_ID, address, decimals, symbol, name); + }, [address, tokenData, isLoading]); } diff --git a/src/hooks/common/useApprove.ts b/src/hooks/common/useApprove.ts index 08441b5..791c7a2 100644 --- a/src/hooks/common/useApprove.ts +++ b/src/hooks/common/useApprove.ts @@ -1,62 +1,64 @@ -import { - Currency, - CurrencyAmount, -} from "@cryptoalgebra/integral-sdk"; +import { Currency, CurrencyAmount } from "@cryptoalgebra/integral-sdk"; import { useNeedAllowance } from "./useNeedAllowance"; import { ApprovalState, ApprovalStateType } from "@/types/approve-state"; -import { useMemo } from "react"; -import { - Address, - erc20ABI, - useContractWrite, - usePrepareContractWrite, -} from "wagmi"; -import { useTransitionAwait } from "./useTransactionAwait"; +import { useEffect, useMemo, useState } from "react"; +import { Address, erc20Abi } from "viem"; +import { useWriteContract } from "wagmi"; +import { useTransactionAwait } from "./useTransactionAwait"; import { formatCurrency } from "@/utils/common/formatCurrency"; export function useApprove( - amountToApprove: CurrencyAmount | undefined, - spender: Address + amountToApprove: CurrencyAmount | undefined, + spender: Address ) { - const token = amountToApprove?.currency?.isToken - ? amountToApprove.currency - : undefined; - const needAllowance = useNeedAllowance(token, amountToApprove, spender); - - const approvalState: ApprovalStateType = useMemo(() => { - if (!amountToApprove || !spender) return ApprovalState.UNKNOWN; - if (amountToApprove.currency.isNative) return ApprovalState.APPROVED; - - return needAllowance ? ApprovalState.NOT_APPROVED : ApprovalState.APPROVED; - }, [amountToApprove, needAllowance, spender]); - - const { config } = usePrepareContractWrite({ - address: amountToApprove - ? (amountToApprove.currency.wrapped.address as Address) - : undefined, - abi: erc20ABI, - functionName: "approve", - args: [ - spender, - amountToApprove ? BigInt(amountToApprove.quotient.toString()) : 0, - ] as [Address, bigint], - }); - - const { data: approvalData, writeAsync: approve } = useContractWrite(config); - - const { isLoading, isSuccess } = useTransitionAwait( - approvalData?.hash, - `Approve ${formatCurrency.format( - Number(amountToApprove?.toSignificant()) - )} ${amountToApprove?.currency.symbol}` - ); - - return { - approvalState: isLoading - ? ApprovalState.PENDING - : isSuccess && approvalState === ApprovalState.APPROVED - ? ApprovalState.APPROVED - : approvalState, - approvalCallback: approve, - }; + const token = amountToApprove?.currency?.isToken ? amountToApprove.currency : undefined; + const [shouldPolling, setShouldPolling] = useState(false); + + const needAllowance = useNeedAllowance(token, amountToApprove, spender, shouldPolling); + + const approvalState: ApprovalStateType = useMemo(() => { + if (!amountToApprove || !spender) return ApprovalState.UNKNOWN; + if (amountToApprove.currency.isNative) return ApprovalState.APPROVED; + + return needAllowance ? ApprovalState.NOT_APPROVED : ApprovalState.APPROVED; + }, [amountToApprove, needAllowance, spender]); + + const config = amountToApprove + ? { + address: amountToApprove.currency.wrapped.address as Address, + abi: erc20Abi, + functionName: "approve" as const, + args: [spender, BigInt(amountToApprove.quotient.toString())] as [Address, bigint], + } + : undefined; + + const { data: approvalData, writeContract: approve, isPending } = useWriteContract(); + + const { isLoading, isSuccess } = useTransactionAwait( + approvalData, + `Approve ${formatCurrency.format(Number(amountToApprove?.toSignificant()))} ${amountToApprove?.currency.symbol}` + ); + + useEffect(() => { + if (!needAllowance && shouldPolling) { + setShouldPolling(false); + } + }, [needAllowance, shouldPolling]); + + const approvalCallback = () => { + if (config) { + setShouldPolling(true); + approve(config); + } + }; + + return { + approvalState: + isLoading || isPending + ? ApprovalState.PENDING + : isSuccess && approvalState === ApprovalState.APPROVED + ? ApprovalState.APPROVED + : approvalState, + approvalCallback, + }; } diff --git a/src/hooks/common/useCurrency.ts b/src/hooks/common/useCurrency.ts index 97dcc7d..ca29798 100644 --- a/src/hooks/common/useCurrency.ts +++ b/src/hooks/common/useCurrency.ts @@ -1,34 +1,18 @@ -import { Address } from "wagmi"; -import { - Currency, - ExtendedNative, - WNATIVE, -} from "@cryptoalgebra/integral-sdk"; -import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; -import { - DEFAULT_CHAIN_ID, - DEFAULT_NATIVE_NAME, - DEFAULT_NATIVE_SYMBOL, -} from "@/constants/default-chain-id"; +import { Address } from "viem"; +import { Currency, ExtendedNative, WNATIVE, ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; +import { DEFAULT_CHAIN_ID, DEFAULT_NATIVE_NAME, DEFAULT_NATIVE_SYMBOL } from "config/default-chain"; import { useAlgebraToken } from "./useAlgebraToken"; -export function useCurrency( - address: Address | undefined -): Currency | ExtendedNative | undefined { - const isWNative = - address?.toLowerCase() === WNATIVE[DEFAULT_CHAIN_ID].address.toLowerCase(); +export function useCurrency(address: Address | undefined): Currency | ExtendedNative | undefined { + const isWNative = address?.toLowerCase() === WNATIVE[DEFAULT_CHAIN_ID].address.toLowerCase(); - const isNative = address === ADDRESS_ZERO; + const isNative = address === ADDRESS_ZERO; - const token = useAlgebraToken(isNative || isWNative ? ADDRESS_ZERO : address); + const token = useAlgebraToken(isNative || isWNative ? ADDRESS_ZERO : address); - const extendedEther = ExtendedNative.onChain( - DEFAULT_CHAIN_ID, - DEFAULT_NATIVE_SYMBOL, - DEFAULT_NATIVE_NAME - ); + const extendedEther = ExtendedNative.onChain(DEFAULT_CHAIN_ID, DEFAULT_NATIVE_SYMBOL, DEFAULT_NATIVE_NAME); - if (isWNative) return extendedEther.wrapped; + if (isWNative) return extendedEther.wrapped; - return isNative ? extendedEther : token; + return isNative ? extendedEther : token; } diff --git a/src/hooks/common/useNeedAllowance.ts b/src/hooks/common/useNeedAllowance.ts index d74edb7..e754ff2 100644 --- a/src/hooks/common/useNeedAllowance.ts +++ b/src/hooks/common/useNeedAllowance.ts @@ -1,28 +1,29 @@ -import { - Currency, - CurrencyAmount, -} from "@cryptoalgebra/integral-sdk"; -import { Address, erc20ABI, useAccount, useContractRead } from "wagmi"; +import { Currency, CurrencyAmount } from "@cryptoalgebra/integral-sdk"; +import { Address, erc20Abi } from "viem"; +import { useAccount, useReadContract } from "wagmi"; export function useNeedAllowance( - currency: Currency | null | undefined, - amount: CurrencyAmount | undefined, - spender: Address | undefined + currency: Currency | null | undefined, + amount: CurrencyAmount | undefined, + spender: Address | undefined, + fastPolling: boolean = false ) { - const { address: account } = useAccount(); + const { address: account } = useAccount(); - const { data: allowance } = useContractRead({ - address: currency?.wrapped.address as Address, - abi: erc20ABI, - functionName: "allowance", - watch: true, - args: account && spender && [account, spender], - }); + const { data: allowance } = useReadContract({ + address: currency?.wrapped.address as Address, + abi: erc20Abi, + functionName: "allowance", + args: account && spender ? [account, spender] : undefined, + query: { + refetchInterval: fastPolling ? 1000 : false, + }, + }); - return Boolean( - !currency?.isNative && - typeof allowance === "bigint" && - amount && - amount.greaterThan(allowance.toString()) - ); + return Boolean( + !currency?.isNative && + typeof allowance === "bigint" && + amount && + amount.greaterThan(allowance.toString()) + ); } diff --git a/src/hooks/common/useTransactionAwait.tsx b/src/hooks/common/useTransactionAwait.tsx index fec6ee9..a348c76 100644 --- a/src/hooks/common/useTransactionAwait.tsx +++ b/src/hooks/common/useTransactionAwait.tsx @@ -1,16 +1,20 @@ -import { ToastAction } from '@/components/ui/toast'; -import { useToast } from '@/components/ui/use-toast'; -import { ExternalLinkIcon } from 'lucide-react'; -import { useEffect } from 'react'; -import { Link, useNavigate } from 'react-router-dom'; -import { Address, useWaitForTransaction } from 'wagmi'; +import { ToastAction } from "@/components/ui/toast"; +import { useToast } from "@/components/ui/use-toast"; +import { useAppKitNetwork } from "@reown/appkit/react"; +import { ExternalLinkIcon } from "lucide-react"; +import { useEffect } from "react"; +import { Link, useNavigate } from "react-router-dom"; +import { Address } from "viem"; +import { useWaitForTransactionReceipt } from "wagmi"; -export const ViewTxOnExplorer = ({ hash }: { hash: Address | undefined }) => - hash ? ( +export const ViewTxOnExplorer = ({ hash }: { hash: Address | undefined }) => { + const { caipNetwork: chain } = useAppKitNetwork(); + + return hash ? ( View on explorer @@ -20,8 +24,9 @@ export const ViewTxOnExplorer = ({ hash }: { hash: Address | undefined }) => ) : ( <> ); +}; -export function useTransitionAwait( +export function useTransactionAwait( hash: Address | undefined, title: string, description?: string, @@ -31,42 +36,42 @@ export function useTransitionAwait( const navigate = useNavigate(); - const { data, isError, isLoading, isSuccess } = useWaitForTransaction({ + const { data, isError, isLoading, isSuccess } = useWaitForTransactionReceipt({ hash, }); useEffect(() => { - if (isLoading) { + if (isLoading && hash) { toast({ title: title, - description: description || 'Transaction was sent', + description: description || "Transaction was sent", action: , }); } - }, [isLoading]); + }, [isLoading, hash]); useEffect(() => { - if (isLoading) { + if (isError && hash) { toast({ title: title, - description: description || 'Transaction failed', + description: description || "Transaction failed", action: , }); } - }, [isError]); + }, [isError, hash]); useEffect(() => { - if (isSuccess) { + if (isSuccess && hash) { toast({ title: title, - description: description || 'Transaction confirmed', + description: description || "Transaction confirmed", action: , }); if (redirectPath) { navigate(redirectPath); } } - }, [isSuccess]); + }, [isSuccess, hash]); return { data, diff --git a/src/hooks/farms/useFarmData.ts b/src/hooks/farms/useFarmData.ts index 0d88a63..817624d 100644 --- a/src/hooks/farms/useFarmData.ts +++ b/src/hooks/farms/useFarmData.ts @@ -1,106 +1,101 @@ import { - useAlgebraPoolToken0, - useAlgebraPoolToken1, - useAlgebraVirtualPoolDynamicRateActivated, - useAlgebraVirtualPoolRewardRates, - useAlgebraVirtualPoolRewardReserves, + useReadAlgebraPoolToken0, + useReadAlgebraPoolToken1, + useReadAlgebraVirtualPoolDynamicRateActivated, + useReadAlgebraVirtualPoolRewardRates, + useReadAlgebraVirtualPoolRewardReserves, } from "@/generated"; import { FarmingFieldsFragment } from "@/graphql/generated/graphql"; import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; -import { formatUnits } from "viem"; -import { useToken } from "wagmi"; +import { formatUnits, Address, erc20Abi } from "viem"; +import { useReadContracts } from "wagmi"; + +function useTokenInfo(address: Address | undefined) { + const { data } = useReadContracts({ + allowFailure: false, + contracts: address + ? [ + { address, abi: erc20Abi, functionName: "symbol" }, + { address, abi: erc20Abi, functionName: "name" }, + { address, abi: erc20Abi, functionName: "decimals" }, + ] + : undefined, + }); + + if (!data) return undefined; + + return { + address, + symbol: data[0], + name: data[1], + decimals: data[2], + }; +} export function useFarmData(farm: FarmingFieldsFragment | null | undefined) { - const { - pool, - rewardToken, - bonusRewardToken, - nonce, - isDeactivated, - virtualPool, - } = farm || {}; - - const { data: rates } = useAlgebraVirtualPoolRewardRates({ - address: virtualPool, - }); - - const { data: rewardReserves } = useAlgebraVirtualPoolRewardReserves({ - address: virtualPool, - }); - - const [reward, bonusReward] = rewardReserves || [0n, 0n]; - const [rewardRate, bonusRewardRate] = rates || [0n, 0n]; - - const { data: _token0 } = useAlgebraPoolToken0({ - address: pool, - }); - - const { data: _token1 } = useAlgebraPoolToken1({ - address: pool, - }); - - const { data: token0 } = useToken({ - address: _token0, - }); - - const { data: token1 } = useToken({ - address: _token1, - }); - - const { data: _rewardToken } = useToken({ - address: rewardToken === ADDRESS_ZERO ? undefined : rewardToken, - }); - - const { data: _bonusRewardToken } = useToken({ - address: bonusRewardToken === ADDRESS_ZERO ? undefined : bonusRewardToken, - }); - - const { data: isDynamicRateActivated } = - useAlgebraVirtualPoolDynamicRateActivated({ - address: virtualPool, + const { pool, rewardToken, bonusRewardToken, nonce, isDeactivated, virtualPool } = farm || {}; + + const { data: rates } = useReadAlgebraVirtualPoolRewardRates({ + address: virtualPool, + }); + + const { data: rewardReserves } = useReadAlgebraVirtualPoolRewardReserves({ + address: virtualPool, + }); + + const [reward, bonusReward] = rewardReserves || [0n, 0n]; + const [rewardRate, bonusRewardRate] = rates || [0n, 0n]; + + const { data: _token0 } = useReadAlgebraPoolToken0({ + address: pool, + }); + + const { data: _token1 } = useReadAlgebraPoolToken1({ + address: pool, + }); + + const token0 = useTokenInfo(_token0); + const token1 = useTokenInfo(_token1); + + const _rewardToken = useTokenInfo(rewardToken === ADDRESS_ZERO ? undefined : (rewardToken as Address)); + const _bonusRewardToken = useTokenInfo(bonusRewardToken === ADDRESS_ZERO ? undefined : (bonusRewardToken as Address)); + + const { data: isDynamicRateActivated } = useReadAlgebraVirtualPoolDynamicRateActivated({ + address: virtualPool, }); - const formattedReward = _rewardToken - ? Number(formatUnits(BigInt(reward), _rewardToken.decimals)).toFixed(3) - : undefined; - const formattedBonusReward = _bonusRewardToken - ? Number( - formatUnits(BigInt(bonusReward), _bonusRewardToken.decimals) - ).toFixed(3) - : undefined; - - const formattedRewardRate = _rewardToken - ? Number(formatUnits(BigInt(rewardRate), _rewardToken.decimals)) - : undefined; - const formattedBonusRewardRate = _bonusRewardToken - ? Number(formatUnits(BigInt(bonusRewardRate), _bonusRewardToken.decimals)) - : undefined; - - const rewardRates: [ - { value: bigint; decimals: number }, - { value: bigint; decimals: number } - ] = [ - { value: BigInt(rewardRate || 0), decimals: _rewardToken?.decimals || 0 }, - { - value: BigInt(bonusRewardRate || 0), - decimals: _bonusRewardToken?.decimals || 0, - }, - ]; - - return { - token0, - token1, - pool, - virtualPool, - rewardToken: _rewardToken, - bonusRewardToken: _bonusRewardToken, - reward: formattedReward, - bonusReward: formattedBonusReward, - rewardRate: formattedRewardRate, - bonusRewardRate: formattedBonusRewardRate, - nonce, - rewardRates, - isDeactivated: Boolean(isDeactivated), - isDynamicRateActivated, - }; + const formattedReward = _rewardToken ? Number(formatUnits(BigInt(reward), _rewardToken.decimals)).toFixed(3) : undefined; + const formattedBonusReward = _bonusRewardToken + ? Number(formatUnits(BigInt(bonusReward), _bonusRewardToken.decimals)).toFixed(3) + : undefined; + + const formattedRewardRate = _rewardToken ? Number(formatUnits(BigInt(rewardRate), _rewardToken.decimals)) : undefined; + const formattedBonusRewardRate = _bonusRewardToken + ? Number(formatUnits(BigInt(bonusRewardRate), _bonusRewardToken.decimals)) + : undefined; + + const rewardRates: [{ value: bigint; decimals: number }, { value: bigint; decimals: number }] = [ + { value: BigInt(rewardRate || 0), decimals: _rewardToken?.decimals || 0 }, + { + value: BigInt(bonusRewardRate || 0), + decimals: _bonusRewardToken?.decimals || 0, + }, + ]; + + return { + token0, + token1, + pool, + virtualPool, + rewardToken: _rewardToken, + bonusRewardToken: _bonusRewardToken, + reward: formattedReward, + bonusReward: formattedBonusReward, + rewardRate: formattedRewardRate, + bonusRewardRate: formattedBonusRewardRate, + nonce, + rewardRates, + isDeactivated: Boolean(isDeactivated), + isDynamicRateActivated, + }; } diff --git a/src/hooks/graphql/useClients.ts b/src/hooks/graphql/useClients.ts new file mode 100644 index 0000000..f7c94c0 --- /dev/null +++ b/src/hooks/graphql/useClients.ts @@ -0,0 +1,11 @@ +import { infoClient, farmingClient } from "@/graphql/clients"; +import { useChainId } from "wagmi"; + +export function useClients() { + const chainId = useChainId(); + + return { + infoClient: infoClient[chainId], + farmingClient: farmingClient[chainId], + }; +} diff --git a/src/hooks/pools/usePluginFlags.ts b/src/hooks/pools/usePluginFlags.ts index bb08b13..0eb605e 100644 --- a/src/hooks/pools/usePluginFlags.ts +++ b/src/hooks/pools/usePluginFlags.ts @@ -1,10 +1,10 @@ -import { useAlgebraPoolGlobalState } from '@/generated'; -import { PluginFlags } from '@/types/pool-plugin-flags'; -import { useMemo } from 'react'; -import { Address } from 'wagmi'; +import { useReadAlgebraPoolGlobalState } from "@/generated"; +import { PluginFlags } from "@/types/pool-plugin-flags"; +import { useMemo } from "react"; +import { Address } from "viem"; export function usePluginFlags(poolId: Address): PluginFlags | undefined { - const { data: globalState, isLoading } = useAlgebraPoolGlobalState({ + const { data: globalState, isLoading } = useReadAlgebraPoolGlobalState({ address: poolId, }); diff --git a/src/hooks/pools/usePool.ts b/src/hooks/pools/usePool.ts index c7aa9b3..6391e1a 100644 --- a/src/hooks/pools/usePool.ts +++ b/src/hooks/pools/usePool.ts @@ -1,118 +1,70 @@ -import { - useAlgebraPoolGlobalState, - useAlgebraPoolLiquidity, - useAlgebraPoolTickSpacing, - useAlgebraPoolToken0, - useAlgebraPoolToken1, -} from "@/generated"; +import { useReadContracts } from "wagmi"; import { Pool, ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; -import { Address } from "wagmi"; +import { Address } from "viem"; import { useCurrency } from "@/hooks/common/useCurrency"; import { useMemo } from "react"; +import { algebraPoolABI } from "config/abis"; export const PoolState = { - LOADING: "LOADING", - NOT_EXISTS: "NOT_EXISTS", - EXISTS: "EXISTS", - INVALID: "INVALID", + LOADING: "LOADING", + NOT_EXISTS: "NOT_EXISTS", + EXISTS: "EXISTS", + INVALID: "INVALID", } as const; export type PoolStateType = (typeof PoolState)[keyof typeof PoolState]; -export function usePool( - address: Address | undefined -): [PoolStateType, Pool | null] { - const { - data: tickSpacing, - isLoading: isTickSpacingLoading, - isError: isTickSpacingError, - } = useAlgebraPoolTickSpacing({ - address, - }); - const { - data: globalState, - isLoading: isGlobalStateLoading, - isError: isGlobalStateError, - } = useAlgebraPoolGlobalState({ - address, - }); - const { - data: liquidity, - isLoading: isLiquidityLoading, - isError: isLiquidityError, - } = useAlgebraPoolLiquidity({ - address, - }); +export function usePool(address: Address | undefined): [PoolStateType, Pool | null] { + const { + data: multicallData, + isLoading: isMulticallLoading, + isError: isMulticallError, + } = useReadContracts({ + allowFailure: false, + contracts: address + ? [ + { address, abi: algebraPoolABI, functionName: "tickSpacing" }, + { address, abi: algebraPoolABI, functionName: "globalState" }, + { address, abi: algebraPoolABI, functionName: "liquidity" }, + { address, abi: algebraPoolABI, functionName: "token0" }, + { address, abi: algebraPoolABI, functionName: "token1" }, + ] + : undefined, + }); - const { - data: token0Address, - isLoading: isLoadingToken0, - isError: isToken0Error, - } = useAlgebraPoolToken0({ - address, - }); - const { - data: token1Address, - isLoading: isLoadingToken1, - isError: isToken1Error, - } = useAlgebraPoolToken1({ - address, - }); + const [tickSpacing, globalState, liquidity, token0Address, token1Address] = multicallData || []; - const token0 = useCurrency(token0Address); - const token1 = useCurrency(token1Address); + const token0 = useCurrency(token0Address); + const token1 = useCurrency(token1Address); - const isPoolError = - isTickSpacingError || - isGlobalStateError || - isLiquidityError || - isToken0Error || - isToken1Error || - !address; + const isPoolError = isMulticallError || !address; - const isPoolLoading = - isTickSpacingLoading || - isGlobalStateLoading || - isLiquidityLoading || - isLoadingToken0 || - isLoadingToken1; - const isTokensLoading = !token0 || !token1; + const isPoolLoading = isMulticallLoading; + const isTokensLoading = !token0 || !token1; - return useMemo(() => { - if ((isPoolLoading || isTokensLoading) && !isPoolError) - return [PoolState.LOADING, null]; + return useMemo(() => { + if ((isPoolLoading || isTokensLoading) && !isPoolError) return [PoolState.LOADING, null]; - if (!tickSpacing || !globalState || liquidity === undefined) - return [PoolState.NOT_EXISTS, null]; + if (!tickSpacing || !globalState || liquidity === undefined) return [PoolState.NOT_EXISTS, null]; - if (globalState[0] === 0n || !token0 || !token1) - return [PoolState.NOT_EXISTS, null]; + if (globalState[0] === 0n || !token0 || !token1) return [PoolState.NOT_EXISTS, null]; - try { - return [ - PoolState.EXISTS, - new Pool( - token0.wrapped, - token1.wrapped, - globalState[2], - ADDRESS_ZERO, - globalState[0].toString(), - Number(liquidity), - globalState[1], - tickSpacing - ), - ]; - } catch (error) { - return [PoolState.NOT_EXISTS, null]; - } - }, [ - token0, - token1, - globalState, - liquidity, - tickSpacing, - isPoolError, - isPoolLoading, - isTokensLoading, - ]); + try { + return [ + PoolState.EXISTS, + new Pool( + token0.wrapped, + token1.wrapped, + globalState[2], + ADDRESS_ZERO, + globalState[0].toString(), + Number(liquidity), + globalState[1], + tickSpacing + ), + ]; + } catch (error) { + return [PoolState.NOT_EXISTS, null]; + } + }, [token0, token1, globalState, liquidity, tickSpacing, isPoolError, isPoolLoading, isTokensLoading]); } diff --git a/src/index.css b/src/index.css index dfa9bf5..72c7627 100644 --- a/src/index.css +++ b/src/index.css @@ -1,58 +1,24 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -@layer base { - :root { - --background: oklch(1 0 0); - --foreground: oklch(0.145 0 0); - - --card: oklch(1 0 0); - --card-foreground: oklch(0.145 0 0); - - --popover: oklch(1 0 0); - --popover-foreground: oklch(0.145 0 0); - - --primary: #171717; - --primary-foreground: oklch(0.985 0 0); - - --secondary: oklch(0.97 0 0); - --secondary-foreground: oklch(0.205 0 0); - - --muted: oklch(0.97 0 0); - --muted-foreground: oklch(0.556 0 0); - - --accent: oklch(0.97 0 0); - --accent-foreground: oklch(0.205 0 0); - - --destructive: oklch(0.577 0.245 27.325); - --destructive-foreground: 0 0% 98%; - - --border: oklch(0.922 0 0); - --input: oklch(0.922 0 0); - --ring: oklch(0.708 0 0); - - --radius: 0.625rem; - } -} - -@layer base { - * { - @apply border-border; - } - body { - @apply bg-background text-foreground font-sans; - } +@import "tailwindcss"; +@import "../config/colors.css"; +@import "./tailwind.css"; + +@config "../tailwind.config.js"; + +html, +body { + height: 100%; + background-color: var(--background); + color: var(--foreground); + font-family: "Inter", sans-serif; } -input[type="number"]::-webkit-outer-spin-button, -input[type="number"]::-webkit-inner-spin-button { - -webkit-appearance: none; +#root { + max-width: 1280px; + height: 100%; + margin: 0 auto; + padding: 1rem; } -input[type="number"], -input[type="number"]:hover, -input[type="number"]:focus { - appearance: none; - -moz-appearance: textfield; +button { + cursor: pointer; } diff --git a/src/main.tsx b/src/main.tsx index 3801acf..0d0e1a4 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,75 +1,10 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import './index.css'; -import { - Navigate, - RouterProvider, - createBrowserRouter, -} from 'react-router-dom'; -import FarmsPage from './pages/Farms/index.tsx'; -import { ApolloClient, ApolloProvider, InMemoryCache } from '@apollo/client'; -import LayoutApp from './App.tsx'; -import FarmPage from './pages/Farm/index.tsx'; -import NewFarmPage from './pages/NewFarm/index.tsx'; -import PoolsPage from './pages/Pools/index.tsx'; -import PoolPage from './pages/Pool/index.tsx'; +import React from "react"; +import ReactDOM from "react-dom/client"; +import "./index.css"; +import Providers from "./providers"; -const router = createBrowserRouter([ - { - path: '/', - element: , - }, - { - path: '/farms', - element: ( - - {' '} - - ), - }, - { - path: '/farms/:farm', - element: ( - - {' '} - - ), - }, - { - path: '/new-farm', - element: ( - - {' '} - - ), - }, - { - path: '/pools', - element: ( - - {' '} - - ), - }, - { - path: '/pools/:pool', - element: ( - - {' '} - - ), - }, -]); - -const client = new ApolloClient({ - uri: import.meta.env.VITE_INFO_GRAPH, - cache: new InMemoryCache(), -}); - -ReactDOM.createRoot(document.getElementById('root')!).render( +ReactDOM.createRoot(document.getElementById("root")!).render( - - - + ); diff --git a/src/modules/__empty_module.ts b/src/modules/__empty_module.ts new file mode 100644 index 0000000..6710c00 --- /dev/null +++ b/src/modules/__empty_module.ts @@ -0,0 +1,8 @@ +// AUTO-GENERATED FILE +// This file is used as a stub when modules are disabled + +export default { + hooks: {}, + components: {}, + utils: {}, +}; diff --git a/src/modules/generate-empty-module.ts b/src/modules/generate-empty-module.ts new file mode 100644 index 0000000..32d580d --- /dev/null +++ b/src/modules/generate-empty-module.ts @@ -0,0 +1,88 @@ +import fs from "fs"; +import path from "path"; + +import { dirname, resolve } from "path"; +import { fileURLToPath } from "url"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const MODULES_DIR = resolve(__dirname, "."); +const OUTPUT_FILE = resolve(MODULES_DIR, "__empty_module.ts"); + +const SUBDIRS = ["hooks", "components", "utils"]; + +function getExportedNames(filePath: string): string[] { + const content = fs.readFileSync(filePath, "utf-8"); + const matches = [...content.matchAll(/export\s+(?:const|function|class)\s+(\w+)/g)]; + return matches.map((m) => m[1]); +} + +function getExportsFromDirRecursive(dirPath: string): string[] { + if (!fs.existsSync(dirPath)) return []; + + const entries = fs.readdirSync(dirPath, { withFileTypes: true }); + const names: string[] = []; + + for (const entry of entries) { + const fullPath = path.join(dirPath, entry.name); + + if (entry.isDirectory()) { + names.push(...getExportsFromDirRecursive(fullPath)); + } else if (entry.isFile() && (entry.name.endsWith(".ts") || entry.name.endsWith(".tsx"))) { + names.push(...getExportedNames(fullPath)); + } + } + + return names; +} + +function generateEmptyValue(name: string, category: string): string { + if (category === "components") return `${name}: () => null`; + if (category === "hooks") return `${name}: () => ({})`; + if (category === "utils") return `${name}: () => undefined`; + return `${name}: undefined`; +} + +function run() { + const allExports: Record = { + hooks: [], + components: [], + utils: [], + }; + + const moduleDirs = fs + .readdirSync(MODULES_DIR) + .filter((name) => fs.statSync(path.join(MODULES_DIR, name)).isDirectory() && name !== "__empty_module"); + + for (const mod of moduleDirs) { + for (const sub of SUBDIRS) { + const subPath = path.join(MODULES_DIR, mod, sub); + const exports = getExportsFromDirRecursive(subPath); + for (const e of exports) { + if (!allExports[sub].includes(e)) { + allExports[sub].push(e); + } + } + } + } + + const resultLines = [`// AUTO-GENERATED FILE\n`, `export default {`]; + + for (const category of SUBDIRS) { + const items = allExports[category]; + resultLines.push(` ${category}: {`); + for (const name of items) { + resultLines.push(` ${generateEmptyValue(name, category)},`); + } + resultLines.push(` },`); + } + + resultLines.push(`};\n`); + + fs.writeFileSync(OUTPUT_FILE, resultLines.join("\n"), "utf-8"); + + console.log(`✅ __empty_module.ts generated at: ${OUTPUT_FILE}`); +} + +run(); diff --git a/src/modules/utils.ts b/src/modules/utils.ts new file mode 100644 index 0000000..43899f1 --- /dev/null +++ b/src/modules/utils.ts @@ -0,0 +1,24 @@ +type StubType = "hook" | "component" | "utils"; + +export function createStubs>(source: T, type: StubType): T { + const stubs = Object.fromEntries( + Object.keys(source).map((key) => { + const stub = type === "hook" ? () => ({}) : () => null; + return [key, stub]; + }) + ); + return stubs as T; +} + +export function createSafeModule, C extends Record, U extends Record>( + enabled: boolean, + hooks: H, + components: C, + utils?: U +) { + return { + hooks: enabled ? hooks : createStubs(hooks, "hook"), + components: enabled ? components : createStubs(components, "component"), + utils: enabled && utils ? utils : utils && createStubs(utils, "utils"), + }; +} diff --git a/src/pages/Farm/index.tsx b/src/pages/Farm/index.tsx index e49b0aa..b8af603 100644 --- a/src/pages/Farm/index.tsx +++ b/src/pages/Farm/index.tsx @@ -2,120 +2,99 @@ import PageContainer from "@/components/common/PageContainer"; import FarmDetails from "@/components/farm/FarmDetails"; import FarmPoolDetails from "@/components/farm/FarmPoolDetails"; import FarmRewardDetails from "@/components/farm/FarmRewardDetails"; -import { farmsClient } from "@/graphql/clients"; import { useSingleFarmingQuery } from "@/graphql/generated/graphql"; import { useFarmData } from "@/hooks/farms/useFarmData"; +import { useClients } from "@/hooks/graphql/useClients"; import { IncentiveKey, PartialIncentiveKey } from "@/types/incentive-key"; import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; import { ArrowLeft } from "lucide-react"; import { Link, useParams } from "react-router-dom"; -import { Address } from "wagmi"; +import { Address } from "viem"; const FarmPage = () => { - const { farm } = useParams<{ farm: string }>(); + const { farmingClient } = useClients(); + const { farm } = useParams<{ farm: string }>(); - const { data: singleFarming } = useSingleFarmingQuery({ - skip: Boolean(!farm), - client: farmsClient, - variables: { - farmId: farm || "", - }, - pollInterval: 5000, - }); + const { data: singleFarming } = useSingleFarmingQuery({ + skip: Boolean(!farm), + client: farmingClient, + variables: { + farmId: farm || "", + }, + pollInterval: 5000, + }); - const { - token0, - token1, - pool, - reward, - rewardRate, - rewardToken, - bonusReward, - bonusRewardRate, - bonusRewardToken, - nonce, - rewardRates, - isDeactivated, - } = useFarmData(singleFarming?.eternalFarming); + const { + token0, + token1, + pool, + reward, + rewardRate, + rewardToken, + bonusReward, + bonusRewardRate, + bonusRewardToken, + nonce, + rewardRates, + isDeactivated, + } = useFarmData(singleFarming?.eternalFarming); - const isPoolReady = token0 && token1 && pool; + const isPoolReady = token0 && token1 && pool; - const incentiveKey: PartialIncentiveKey = { - rewardToken: rewardToken ? (rewardToken.address as Address) : ADDRESS_ZERO, - bonusRewardToken: bonusRewardToken - ? (bonusRewardToken.address as Address) - : ADDRESS_ZERO, - pool: pool, - nonce, - }; + const incentiveKey: PartialIncentiveKey = { + rewardToken: rewardToken ? (rewardToken.address as Address) : ADDRESS_ZERO, + bonusRewardToken: bonusRewardToken ? (bonusRewardToken.address as Address) : ADDRESS_ZERO, + pool: pool, + nonce, + }; - return ( - - - - Back - -
- {token0 && token1 && ( -
- {`Farm for ${token0.symbol} / ${token1.symbol} pool`} - {isDeactivated && ( - Deactivated - )} -
- )} -
-
- {rewardToken && reward ? ( - - ) : ( -
- Farm doesn't have first reward -
- )} - {bonusRewardToken && bonusReward ? ( - - ) : ( -
- Farm doesn't have second reward -
- )} - {isPoolReady ? ( - - ) : ( -
- )} - {farm && isPoolReady ? ( - - ) : null} -
-
- ); + return ( + + + + Back + +
+ {token0 && token1 && ( +
+ {`Farm for ${token0.symbol} / ${token1.symbol} pool`} + {isDeactivated && Deactivated} +
+ )} +
+
+ {rewardToken && reward ? ( + + ) : ( +
Farm doesn't have first reward
+ )} + {bonusRewardToken && bonusReward ? ( + + ) : ( +
Farm doesn't have second reward
+ )} + {isPoolReady ? :
} + {farm && isPoolReady ? ( + + ) : null} +
+
+ ); }; export default FarmPage; diff --git a/src/pages/Pool/index.tsx b/src/pages/Pool/index.tsx index 280c68b..c8d8a65 100644 --- a/src/pages/Pool/index.tsx +++ b/src/pages/Pool/index.tsx @@ -6,7 +6,7 @@ import TokenDetails from '@/components/pool/TokensDetails'; import { useSinglePoolQuery } from '@/graphql/generated/graphql'; import { ArrowLeft } from 'lucide-react'; import { Link, useParams } from 'react-router-dom'; -import { Address } from 'wagmi'; +import { Address } from 'viem'; const PoolPage = () => { const { pool: poolId } = useParams() as { pool: Address }; diff --git a/src/providers/ApolloProvider.tsx b/src/providers/ApolloProvider.tsx new file mode 100644 index 0000000..0f4ec87 --- /dev/null +++ b/src/providers/ApolloProvider.tsx @@ -0,0 +1,7 @@ +import { infoClient } from "@/graphql/clients"; +import { ApolloProvider as _ApolloProvider } from "@apollo/client"; +import { DEFAULT_CHAIN_ID } from "config/default-chain"; + +export default function ApolloProvider({ children }: { children: React.ReactNode }) { + return <_ApolloProvider client={infoClient[DEFAULT_CHAIN_ID]}>{children}; +} diff --git a/src/providers/RouterProvider.tsx b/src/providers/RouterProvider.tsx new file mode 100644 index 0000000..e63ec36 --- /dev/null +++ b/src/providers/RouterProvider.tsx @@ -0,0 +1,43 @@ +import App from "@/App"; +import FarmsPage from "@/pages/Farms"; +import FarmPage from "@/pages/Farm"; +import NewFarmPage from "@/pages/NewFarm"; +import PoolsPage from "@/pages/Pools"; +import PoolPage from "@/pages/Pool"; +import { createBrowserRouter, Navigate, RouterProvider as _RouterProvider } from "react-router-dom"; + +const router = createBrowserRouter([ + { + path: "/", + element: , + }, + { + element: , + children: [ + { + path: "farms", + element: , + }, + { + path: "farms/:farm", + element: , + }, + { + path: "new-farm", + element: , + }, + { + path: "pools", + element: , + }, + { + path: "pools/:pool", + element: , + }, + ], + }, +]); + +export default function RouterProvider() { + return <_RouterProvider router={router} />; +} diff --git a/src/providers/WagmiProvider.tsx b/src/providers/WagmiProvider.tsx new file mode 100644 index 0000000..01b9e27 --- /dev/null +++ b/src/providers/WagmiProvider.tsx @@ -0,0 +1,37 @@ +import React from "react"; +import { WagmiAdapter } from "@reown/appkit-adapter-wagmi"; +import { WagmiProvider as _WagmiProvider } from "wagmi"; +import { createAppKit } from "@reown/appkit/react"; +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import { wagmiNetworks } from "config/wagmi"; +import { CHAIN_IMAGE, DEFAULT_CHAIN_ID } from "config/default-chain"; + +const PROJECT_ID = import.meta.env.VITE_REOWN_PROJECT_ID; + +const queryClient = new QueryClient(); + +const wagmiAdapter = new WagmiAdapter({ + networks: wagmiNetworks, + projectId: PROJECT_ID, +}); + +createAppKit({ + adapters: [wagmiAdapter], + networks: wagmiNetworks, + projectId: PROJECT_ID, + defaultNetwork: wagmiNetworks.find(({ id }) => id === DEFAULT_CHAIN_ID)!, + themeMode: "dark", + chainImages: { + ...CHAIN_IMAGE, + }, +}); + +export const wagmiConfig = wagmiAdapter.wagmiConfig; + +export default function WagmiProvider({ children }: { children: React.ReactNode }) { + return ( + <_WagmiProvider config={wagmiAdapter.wagmiConfig}> + {children} + + ); +} diff --git a/src/providers/index.tsx b/src/providers/index.tsx new file mode 100644 index 0000000..ffa656f --- /dev/null +++ b/src/providers/index.tsx @@ -0,0 +1,13 @@ +import ApolloProvider from "./ApolloProvider"; +import RouterProvider from "./RouterProvider"; +import WagmiProvider from "./WagmiProvider"; + +export default function Providers() { + return ( + + + + + + ); +} diff --git a/src/tailwind.css b/src/tailwind.css new file mode 100644 index 0000000..83761df --- /dev/null +++ b/src/tailwind.css @@ -0,0 +1,58 @@ +@theme { + --color-app-background: var(--bg-100); + + --color-primary-100: var(--primary-100); + --color-primary-200: var(--primary-200); + --color-primary-300: var(--primary-300); + + --color-accent-100: var(--accent-100); + --color-accent-200: var(--accent-200); + + --color-text-100: var(--text-100); + --color-text-200: var(--text-200); + + --color-bg-100: var(--bg-100); + --color-bg-200: var(--bg-200); + --color-bg-300: var(--bg-300); + + --color-text: var(--text-100); + --color-border: var(--bg-300); + --color-input: var(--bg-300); + --color-ring: color-mix(in srgb, var(--text-200) 40%, transparent); + --color-background: var(--bg-100); + --color-foreground: var(--text-100); + + --color-primary: var(--primary-100); + --color-primary-foreground: var(--text-100); + --color-primary-button: var(--primary-100); + --color-primary-text: var(--primary-300); + + --color-secondary: var(--bg-200); + --color-secondary-foreground: var(--text-200); + + --color-destructive: var(--accent-100); + --color-destructive-foreground: var(--text-100); + + --color-muted: var(--bg-300); + --color-muted-foreground: var(--text-200); + --color-muted-primary: var(--primary-100); + + --color-accent: var(--accent-100); + --color-accent-foreground: var(--accent-200); + + --color-popover: var(--bg-200); + --color-popover-foreground: var(--text-100); + + --color-card: var(--bg-200); + --color-card-foreground: var(--text-100); + --color-card-hover: color-mix(in srgb, var(--bg-200) 50%, transparent); + --color-card-dark: var(--bg-100); + --color-card-light: var(--bg-300); + --color-card-border: var(--bg-300); + --color-card-border-focus: color-mix(in srgb, var(--text-200) 60%, transparent); + + --color-farm: #f8d81c; + --color-alm: #74f7df; + + --shadow-popover: 0 0 15px rgba(0, 0, 0, 0.4); +} diff --git a/src/types/pool.ts b/src/types/pool.ts index bfbf600..efd9b07 100644 --- a/src/types/pool.ts +++ b/src/types/pool.ts @@ -1,5 +1,5 @@ import { TokenFieldsFragment } from '@/graphql/generated/graphql'; -import { Address } from 'wagmi'; +import { Address } from 'viem'; interface Pair { token0: TokenFieldsFragment; diff --git a/src/utils/common/cn.ts b/src/utils/common/cn.ts new file mode 100644 index 0000000..e644794 --- /dev/null +++ b/src/utils/common/cn.ts @@ -0,0 +1,6 @@ +import { type ClassValue, clsx } from "clsx"; +import { twMerge } from "tailwind-merge"; + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} diff --git a/src/utils/common/formatAmount.ts b/src/utils/common/formatAmount.ts new file mode 100644 index 0000000..02458a5 --- /dev/null +++ b/src/utils/common/formatAmount.ts @@ -0,0 +1,61 @@ +function toSubscript(num: number): string { + const map: Record = { + "0": "₀", + "1": "₁", + "2": "₂", + "3": "₃", + "4": "₄", + "5": "₅", + "6": "₆", + "7": "₇", + "8": "₈", + "9": "₉", + }; + return num + .toString() + .split("") + .map((d) => map[d]) + .join(""); +} + +function formatTinyAmount(amount: number, decimals = 3): string { + if (amount === 0) return "$0"; + + if (amount < 0.001) { + const parts = amount.toExponential().split("e-"); + const mantissa = parts[0].replace(".", ""); + const zeros = parseInt(parts[1], 10) - 1; + + return `0.0₍${toSubscript(zeros)}₎${mantissa.slice(0, decimals)}`; + } + + return `$${amount.toLocaleString("en-US", { + maximumFractionDigits: decimals, + })}`; +} + +export function formatAmount(amount: string | number, decimals = 3): string { + const amountNum = Number(amount); + const minAmount = 1 / 10 ** decimals; + + if (amountNum === 0) return "0"; + if (amountNum < minAmount) return `< ${minAmount}`; + if (amountNum < 1e-6) return formatTinyAmount(amountNum); + if (amountNum < 1) return Number((Math.floor(amountNum / minAmount) * minAmount).toFixed(decimals)).toString(); + if (amountNum < 1_000) + return (Math.floor(amountNum * 100) / 100).toLocaleString("en-us", { + maximumFractionDigits: 2, + }); + if (amountNum < 100_000_000_000) + return Math.floor(amountNum).toLocaleString("en-us", { + maximumFractionDigits: 0, + }); + + if (amountNum < 1 * 10 ** 18) + return Math.floor(amountNum).toLocaleString("en-us", { + notation: "compact", + maximumFractionDigits: 0, + }); + + return "∞"; +} diff --git a/src/wagmi.ts b/src/wagmi.ts deleted file mode 100644 index a11d402..0000000 --- a/src/wagmi.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { defineChain } from 'viem' -import { configureChains, createConfig } from 'wagmi' -import { InjectedConnector } from 'wagmi/connectors/injected' -import { MetaMaskConnector } from 'wagmi/connectors/metaMask' -import { WalletConnectConnector } from 'wagmi/connectors/walletConnect' - -import { publicProvider } from 'wagmi/providers/public' - -export const plasma = defineChain({ - id: 531050204, - network: "sophon-os-testnet", - name: "SophonOSTestnet", - nativeCurrency: { name: "SOPH", symbol: "SOPH", decimals: 18 }, - rpcUrls: { - default: { - http: ["https://zksync-os-testnet-sophon.zksync.dev"], - }, - public: { - http: ["https://zksync-os-testnet-sophon.zksync.dev"], - }, - }, - blockExplorers: { - default: { - name: "SophonOSTestnet", - url: "https://block-explorer.zksync-os-testnet-sophon.zksync.dev", - }, - }, - contracts: { - multicall3: { - address: "0xca11bde05977b3631167028862be2a173976ca11", - blockCreated: 1468, - }, - }, -}) - -const { chains, publicClient, webSocketPublicClient } = configureChains( - [plasma], - [ - publicProvider(), - ], -) - -export const config = createConfig({ - autoConnect: true, - connectors: [ - new MetaMaskConnector({ chains }), - new WalletConnectConnector({ chains, options: { projectId: import.meta.env.VITE_WALLETCONNECT_PROJECT_ID, metadata: { name: 'Algebra Integral Admin Panel', description: 'Admin Panel', url: 'https://admin.algebra.finance', icons: [''] } } }), - new InjectedConnector({ - chains, - options: { - name: 'Injected', - shimDisconnect: true, - }, - }), - ], - publicClient, - webSocketPublicClient, -}) \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js index d543bef..71d5727 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,73 +1,25 @@ /** @type {import('tailwindcss').Config} */ module.exports = { - darkMode: ["class"], - content: ["./pages/**/*.{ts,tsx}", "./components/**/*.{ts,tsx}", "./app/**/*.{ts,tsx}", "./src/**/*.{ts,tsx}"], - prefix: "", theme: { - container: { - center: true, - padding: "2rem", - screens: { - "2xl": "1400px", - }, - }, extend: { - fontFamily: { - sans: ["Inter", "sans-serif"], - }, - colors: { - border: "var(--border)", - input: "var(--input)", - ring: "var(--ring)", - background: "var(--background)", - foreground: "var(--foreground)", - primary: { - DEFAULT: "var(--primary)", - foreground: "var(--primaryforeground))", - }, - secondary: { - DEFAULT: "var(--secondary)", - foreground: "var(--secondaryforeground))", - }, - destructive: { - DEFAULT: "var(--destructive)", - foreground: "var(--destructiveforeground))", - }, - muted: { - DEFAULT: "var(--muted)", - foreground: "var(--mutedforeground))", - }, - accent: { - DEFAULT: "var(--accent)", - foreground: "var(--accentforeground))", - }, - popover: { - DEFAULT: "var(--popover)", - foreground: "var(--popoverforeground))", - }, - card: { - DEFAULT: "var(--card)", - foreground: "var(--cardforeground))", - }, - }, - borderRadius: { - lg: "var(--radius)", - md: "calc(var(--radius) - 2px)", - sm: "calc(var(--radius) - 4px)", - }, keyframes: { "accordion-down": { - from: { height: "0" }, + from: { height: 0 }, to: { height: "var(--radix-accordion-content-height)" }, }, "accordion-up": { from: { height: "var(--radix-accordion-content-height)" }, - to: { height: "0" }, + to: { height: 0 }, + }, + "fade-in": { + "0%": { opacity: 0 }, + "100%": { opacity: 1 }, }, }, animation: { "accordion-down": "accordion-down 0.2s ease-out", "accordion-up": "accordion-up 0.2s ease-out", + "fade-in": "fade-in 0.2s ease-out", }, }, }, diff --git a/tsconfig.json b/tsconfig.json index d024fe0..02fd40f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,32 +1,31 @@ { - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "module": "ESNext", - "skipLibCheck": true, + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx", + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - - "baseUrl": ".", - "paths": { - "@/*": [ - "./src/*" - ] - } - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"], + "config/*": ["./config/*"] + } + }, + "include": ["src", "config"], + "exclude": ["src/generated.ts", "src/graphql/generated/graphql.tsx"], + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/tsconfig.node.json b/tsconfig.node.json index 97ede7e..828605b 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -1,11 +1,10 @@ { - "compilerOptions": { - "composite": true, - "skipLibCheck": true, - "module": "ESNext", - "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true, - "strict": true - }, - "include": ["vite.config.ts"] + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts", "./config"] } diff --git a/vite.config.ts b/vite.config.ts index 7a41129..cd489dc 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,18 +1,66 @@ -import { defineConfig } from 'vite' -import react from '@vitejs/plugin-react' -import path from 'path' +import { enabledModules } from "./config"; +import path from "path"; +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react-swc"; +import eslint from "vite-plugin-eslint"; +import tailwindcss from "@tailwindcss/vite"; +import fs from "fs"; + +const disabledModules = Object.entries(enabledModules) + .filter(([, isEnabled]) => !isEnabled) + .map(([key]) => ({ + key, + moduleDir: key, + })); + +const disabledAliases = disabledModules.map(({ moduleDir }) => ({ + find: new RegExp(`^src/modules/${moduleDir}`), + replacement: path.resolve(__dirname, "src/modules/__empty_module.ts"), +})); + +function ignoreDisabledModules(dirs: string[]) { + const emptyModulePath = path.resolve(__dirname, "src/modules/__empty_module.ts"); + const emptyModuleCode = fs.readFileSync(emptyModulePath, "utf-8"); + + return { + name: "ignore-disabled-modules", + load(id: string) { + for (const dir of dirs) { + if (id.includes(`/src/modules/${dir}/`)) { + return emptyModuleCode; + } + } + return null; + }, + }; +} + +if (disabledModules.length > 0) { + console.log("🔌 [VITE] Disabled modules replaced with __empty_module.ts:"); + for (const { key, moduleDir } of disabledModules) { + console.log(` - ${key} → src/modules/${moduleDir} (replaced with src/modules/__empty_module.ts)`); + } +} else { + console.log("✅ [VITE] All modules are enabled"); +} -// https://vitejs.dev/config/ export default defineConfig({ - define: { - global: 'globalThis' - }, - resolve: { - alias: { - process: 'process/browser', - util: 'util', - "@": path.resolve(__dirname, "./src"), + plugins: [ + react(), + tailwindcss(), + ignoreDisabledModules(disabledModules.map((m) => m.moduleDir)), + eslint({ + emitWarning: false, + emitError: true, + failOnWarning: false, + failOnError: true, + }), + ], + resolve: { + alias: [ + { find: "@", replacement: path.resolve(__dirname, "./src") }, + { find: "config", replacement: path.resolve(__dirname, "./config") }, + ...disabledAliases, + ], }, - }, - plugins: [react()], -}) +}); diff --git a/wagmi.config.ts b/wagmi.config.ts index fb8940b..ba5dc57 100644 --- a/wagmi.config.ts +++ b/wagmi.config.ts @@ -1,73 +1,9 @@ -import { ContractConfig, defineConfig } from '@wagmi/cli'; -import { actions, react } from '@wagmi/cli/plugins'; -import { - algebraBasePluginABI, - algebraFactoryABI, - algebraPoolABI, - eternalFarmingABI, - farmingCenterABI, - pluginFactoryABI, - algebraStubPluginABI, - algebraVirtualPoolABI, -} from './src/abis'; -import { - ALGEBRA_FARMING_CENTER, - ALGEBRA_ETERNAL_FARMING, - ALGEBRA_FACTORY, - PLUGIN_FACTORY, - ALGEBRA_STUB_PLUGIN, -} from './src/constants/addresses'; - -const contracts: ContractConfig[] = [ - { - address: ALGEBRA_FARMING_CENTER, - name: 'FarmingCenter', - abi: farmingCenterABI, - }, - { - address: ALGEBRA_ETERNAL_FARMING, - name: 'EternalFarming', - abi: eternalFarmingABI, - }, - { - address: ALGEBRA_FACTORY, - name: 'AlgebraFactory', - abi: algebraFactoryABI, - }, - { - address: PLUGIN_FACTORY, - name: 'PluginFactory', - abi: pluginFactoryABI, - }, - { - name: 'AlgebraPool', - abi: algebraPoolABI, - }, - { - name: 'AlgebraBasePlugin', - abi: algebraBasePluginABI, - }, - { - name: 'AlgebraStubPlugin', - abi: algebraStubPluginABI, - address: ALGEBRA_STUB_PLUGIN, - }, - { - name: 'AlgebraVirtualPool', - abi: algebraVirtualPoolABI, - } -]; +import { wagmiContracts } from "./config"; +import { defineConfig } from "@wagmi/cli"; +import { actions, react } from "@wagmi/cli/plugins"; export default defineConfig({ - out: 'src/generated.ts', - contracts, - plugins: [ - actions({ - watchContractEvent: false, - }), - react({ - useContractEvent: false, - useContractItemEvent: false, - }), - ], + out: "src/generated.ts", + contracts: wagmiContracts, + plugins: [react(), actions()], }); diff --git a/yarn.lock b/yarn.lock index 24178db..12e66a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4,41 +4,43 @@ "@aashutoshrathi/word-wrap@^1.2.3": version "1.2.6" - resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@adraffy/ens-normalize@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.0.tgz#223572538f6bea336750039bb43a4016dcc8182d" - integrity sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ== - -"@alloc/quick-lru@^5.2.0": - version "5.2.0" - resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" - integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== +"@adraffy/ens-normalize@^1.10.1", "@adraffy/ens-normalize@^1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.11.0.tgz#42cc67c5baa407ac25059fcd7d405cc5ecdb0c33" + integrity sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg== "@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@ampproject/remapping@^2.3.0": version "2.3.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@apollo/client@^3.9.6": - version "3.9.6" - resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.9.6.tgz#4292448d9b0a48244a60307b74d2fea7e83dfe70" - integrity sha512-+zpddcnZ4G2VZ0xIEnvIHFsLqeopNOnWuE2ZVbRuetLLpj/biLPNN719B/iofdd1/iHRclKfv0XaAmX6PBhYKA== +"@apollo/client@^3.8.4": + version "3.8.5" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.8.5.tgz#becd2101d6049afd03dd796693fb5804346df42f" + integrity sha512-/ueWC3f1pFeH+tWbM1phz6pzUGGijyml6oQ+LKUcQzpXF6tVFPrb6oUIUQCbZpr6Xmv/dtNiFDohc39ra7Solg== dependencies: "@graphql-typed-document-node/core" "^3.1.1" - "@wry/caches" "^1.0.0" + "@wry/context" "^0.7.3" "@wry/equality" "^0.5.6" - "@wry/trie" "^0.5.0" + "@wry/trie" "^0.4.3" graphql-tag "^2.12.6" hoist-non-react-statics "^3.3.2" - optimism "^0.18.0" + optimism "^0.17.5" prop-types "^15.7.2" - rehackt "0.0.6" response-iterator "^0.2.6" symbol-observable "^4.0.0" ts-invariant "^0.10.3" @@ -75,46 +77,46 @@ dependencies: node-fetch "^2.6.1" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13": + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== dependencies: - "@babel/highlight" "^7.23.4" + "@babel/highlight" "^7.22.13" chalk "^2.4.2" -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz" - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.9": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" + integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== -"@babel/core@^7.14.0", "@babel/core@^7.22.9", "@babel/core@^7.23.5": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.0.tgz#56cbda6b185ae9d9bed369816a8f4423c5f2ff1b" - integrity sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw== +"@babel/core@^7.14.0", "@babel/core@^7.22.9": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.0.tgz#f8259ae0e52a123eb40f552551e647b506a94d83" + integrity sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.24.0" - "@babel/parser" "^7.24.0" - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.0" - "@babel/types" "^7.24.0" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helpers" "^7.23.0" + "@babel/parser" "^7.23.0" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.0" + "@babel/types" "^7.23.0" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.14.0", "@babel/generator@^7.18.13", "@babel/generator@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" - integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== +"@babel/generator@^7.14.0", "@babel/generator@^7.18.13", "@babel/generator@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" + integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== dependencies: - "@babel/types" "^7.23.6" + "@babel/types" "^7.23.0" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" @@ -126,40 +128,40 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== +"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" + integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.15" + browserslist "^4.21.9" lru-cache "^5.1.1" semver "^6.3.1" "@babel/helper-create-class-features-plugin@^7.18.6": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz#fc7554141bdbfa2d17f7b4b80153b9b090e5d158" - integrity sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g== + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4" + integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-member-expression-to-functions" "^7.22.15" "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-replace-supers" "^7.22.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" semver "^6.3.1" -"@babel/helper-environment-visitor@^7.22.20": +"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== -"@babel/helper-function-name@^7.23.0": +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": version "7.23.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== dependencies: "@babel/template" "^7.22.15" @@ -167,12 +169,12 @@ "@babel/helper-hoist-variables@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== dependencies: "@babel/types" "^7.22.5" -"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": +"@babel/helper-member-expression-to-functions@^7.22.15": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== @@ -181,15 +183,15 @@ "@babel/helper-module-imports@^7.22.15": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== dependencies: "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== +"@babel/helper-module-transforms@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" + integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== dependencies: "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-module-imports" "^7.22.15" @@ -205,11 +207,11 @@ "@babel/types" "^7.22.5" "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": - version "7.24.0" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" - integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== -"@babel/helper-replace-supers@^7.22.20": +"@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== @@ -220,7 +222,7 @@ "@babel/helper-simple-access@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== dependencies: "@babel/types" "^7.22.5" @@ -234,48 +236,48 @@ "@babel/helper-split-export-declaration@^7.22.6": version "7.22.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== dependencies: "@babel/types" "^7.22.5" -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== -"@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== +"@babel/helper-validator-option@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" + integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== -"@babel/helpers@^7.24.0": - version "7.24.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz" - integrity sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA== +"@babel/helpers@^7.23.0": + version "7.23.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.1.tgz#44e981e8ce2b9e99f8f0b703f3326a4636c16d15" + integrity sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA== dependencies: - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.0" - "@babel/types" "^7.24.0" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.0" + "@babel/types" "^7.23.0" -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== +"@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== dependencies: "@babel/helper-validator-identifier" "^7.22.20" chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.0", "@babel/parser@^7.16.8", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0": - version "7.24.0" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz" - integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg== +"@babel/parser@^7.14.0", "@babel/parser@^7.16.8", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== "@babel/plugin-proposal-class-properties@^7.0.0": version "7.18.6" @@ -303,24 +305,24 @@ dependencies: "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz#084564e0f3cc21ea6c70c44cff984a1c0509729a" - integrity sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA== +"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz#163b820b9e7696ce134df3ee716d9c0c98035859" + integrity sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-import-assertions@^7.20.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" - integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" + integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -332,242 +334,220 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-transform-arrow-functions@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" - integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" + integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-block-scoped-functions@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" - integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" + integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-block-scoping@^7.0.0": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" - integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022" + integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-classes@^7.0.0": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" - integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz#aaf4753aee262a232bbc95451b4bdf9599c65a0b" + integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-replace-supers" "^7.22.9" "@babel/helper-split-export-declaration" "^7.22.6" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" - integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" + integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.15" + "@babel/template" "^7.22.5" "@babel/plugin-transform-destructuring@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" - integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c" + integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-flow-strip-types@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz#cfa7ca159cc3306fab526fc67091556b51af26ff" - integrity sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz#0bb17110c7bf5b35a60754b2f00c58302381dee2" + integrity sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-flow" "^7.23.3" + "@babel/plugin-syntax-flow" "^7.22.5" "@babel/plugin-transform-for-of@^7.0.0": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" - integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29" + integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-transform-function-name@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" - integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" + integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== dependencies: - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-function-name" "^7.23.0" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-literals@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" - integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" + integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-member-expression-literals@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" - integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" + integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-modules-commonjs@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" - integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481" + integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== dependencies: - "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-module-transforms" "^7.23.0" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-simple-access" "^7.22.5" "@babel/plugin-transform-object-super@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" - integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" + integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-replace-supers" "^7.22.5" "@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz#719ca82a01d177af358df64a514d64c2e3edb114" + integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-property-literals@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" - integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" + integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-display-name@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" - integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-jsx-self@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz" - integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-jsx-source@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz" - integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz#3c4326f9fce31c7968d6cb9debcaf32d9e279a2b" + integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-jsx@^7.0.0": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" - integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz#7e6266d88705d7c49f11c98db8b9464531289cd6" + integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-module-imports" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/types" "^7.23.4" + "@babel/plugin-syntax-jsx" "^7.22.5" + "@babel/types" "^7.22.15" "@babel/plugin-transform-shorthand-properties@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" - integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" + integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-spread@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" - integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" + integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-transform-template-literals@^7.0.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" - integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" + integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.2", "@babel/runtime@^7.23.4", "@babel/runtime@^7.23.7": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.0.tgz#584c450063ffda59697021430cb47101b085951e" - integrity sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.13.10": + version "7.23.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d" + integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.22.15", "@babel/template@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== +"@babel/runtime@^7.21.0", "@babel/runtime@^7.26.0": + version "7.27.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.6.tgz#ec4070a04d76bae8ddbb10770ba55714a417b7c6" + integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q== + +"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.22.15", "@babel/template@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" -"@babel/traverse@^7.14.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.24.0": - version "7.24.0" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz" - integrity sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw== +"@babel/traverse@^7.14.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.0.tgz#18196ddfbcf4ccea324b7f6d3ada00d8c5a99c53" + integrity sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw== dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" - debug "^4.3.1" + "@babel/parser" "^7.23.0" + "@babel/types" "^7.23.0" + debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.8", "@babel/types@^7.18.13", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.24.0": - version "7.24.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz" - integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== +"@babel/types@^7.0.0", "@babel/types@^7.16.8", "@babel/types@^7.18.13", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" + integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== dependencies: - "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-string-parser" "^7.22.5" "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" -"@coinbase/wallet-sdk@^3.6.6": - version "3.7.2" - resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.7.2.tgz#7a89bd9e3a06a1f26d4480d8642af33fb0c7e3aa" - integrity sha512-lIGvXMsgpsQWci/XOMQIJ2nIZ8JUy/L+bvC0wkRaYarr0YylwpXrJ2gRM3hCXPS477pkyO7N/kSiAoRgEXUdJQ== +"@coinbase/wallet-sdk@4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-4.3.3.tgz#f798e270d8f740e93636c76e40edd89a0dd033dd" + integrity sha512-h8gMLQNvP5TIJVXFOyQZaxbi1Mg5alFR4Z2/PEIngdyXZEoQGcVhzyQGuDa3t9zpllxvqfAaKfzDhsfCo+nhSQ== dependencies: - "@metamask/safe-event-emitter" "2.0.0" - "@solana/web3.js" "^1.70.1" - bind-decorator "^1.0.11" - bn.js "^5.1.1" - buffer "^6.0.3" - clsx "^1.1.0" - eth-block-tracker "6.1.0" - eth-json-rpc-filters "5.1.0" - eth-rpc-errors "4.0.2" - json-rpc-engine "6.1.0" - keccak "^3.0.1" - preact "^10.5.9" - qs "^6.10.3" - rxjs "^6.6.3" - sha.js "^2.4.11" - stream-browserify "^3.0.0" - util "^0.12.4" + "@noble/hashes" "^1.4.0" + clsx "^1.2.1" + eventemitter3 "^5.0.1" + preact "^10.24.2" "@cryptoalgebra/integral-sdk@npm:@cryptoalgebra/sophon-os-sdk@1.0.0": version "1.0.0" @@ -586,147 +566,181 @@ tiny-warning "^1.0.3" toformat "^2.0.0" -"@esbuild/aix-ppc64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" - integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== - -"@esbuild/android-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz#7ad65a36cfdb7e0d429c353e00f680d737c2aed4" - integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== - -"@esbuild/android-arm@0.15.13": - version "0.15.13" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.13.tgz#ce11237a13ee76d5eae3908e47ba4ddd380af86a" - integrity sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw== - -"@esbuild/android-arm@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz#b0c26536f37776162ca8bde25e42040c203f2824" - integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== - -"@esbuild/android-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz#cb13e2211282012194d89bf3bfe7721273473b3d" - integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== - -"@esbuild/darwin-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz#cbee41e988020d4b516e9d9e44dd29200996275e" - integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== - -"@esbuild/darwin-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz#e37d9633246d52aecf491ee916ece709f9d5f4cd" - integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== - -"@esbuild/freebsd-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz#1ee4d8b682ed363b08af74d1ea2b2b4dbba76487" - integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== - -"@esbuild/freebsd-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz#37a693553d42ff77cd7126764b535fb6cc28a11c" - integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== - -"@esbuild/linux-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz#be9b145985ec6c57470e0e051d887b09dddb2d4b" - integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== - -"@esbuild/linux-arm@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz#207ecd982a8db95f7b5279207d0ff2331acf5eef" - integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== - -"@esbuild/linux-ia32@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz#d0d86b5ca1562523dc284a6723293a52d5860601" - integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== - -"@esbuild/linux-loong64@0.15.13": - version "0.15.13" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz#64e8825bf0ce769dac94ee39d92ebe6272020dfc" - integrity sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag== - -"@esbuild/linux-loong64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz#9a37f87fec4b8408e682b528391fa22afd952299" - integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== - -"@esbuild/linux-mips64el@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz#4ddebd4e6eeba20b509d8e74c8e30d8ace0b89ec" - integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== - -"@esbuild/linux-ppc64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz#adb67dadb73656849f63cd522f5ecb351dd8dee8" - integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== - -"@esbuild/linux-riscv64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz#11bc0698bf0a2abf8727f1c7ace2112612c15adf" - integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== - -"@esbuild/linux-s390x@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz#e86fb8ffba7c5c92ba91fc3b27ed5a70196c3cc8" - integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== - -"@esbuild/linux-x64@0.19.12": - version "0.19.12" - resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz" - integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== - -"@esbuild/netbsd-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz#29da566a75324e0d0dd7e47519ba2f7ef168657b" - integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== - -"@esbuild/openbsd-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz#306c0acbdb5a99c95be98bdd1d47c916e7dc3ff0" - integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== - -"@esbuild/sunos-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz#0933eaab9af8b9b2c930236f62aae3fc593faf30" - integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== - -"@esbuild/win32-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz#773bdbaa1971b36db2f6560088639ccd1e6773ae" - integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== - -"@esbuild/win32-ia32@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz#000516cad06354cc84a73f0943a4aa690ef6fd67" - integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== - -"@esbuild/win32-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae" - integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@ecies/ciphers@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@ecies/ciphers/-/ciphers-0.2.3.tgz#963805e46d07e646550098ac29cbcc5b132218ea" + integrity sha512-tapn6XhOueMwht3E2UzY0ZZjYokdaw9XtL9kEyjhQ/Fb9vL9xTFbOaI+fV0AWvTpYu4BNloC6getKW6NtSg4mA== + +"@emnapi/core@^1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.4.3.tgz#9ac52d2d5aea958f67e52c40a065f51de59b77d6" + integrity sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g== + dependencies: + "@emnapi/wasi-threads" "1.0.2" + tslib "^2.4.0" + +"@emnapi/runtime@^1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.4.3.tgz#c0564665c80dc81c448adac23f9dfbed6c838f7d" + integrity sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ== + dependencies: + tslib "^2.4.0" + +"@emnapi/wasi-threads@1.0.2", "@emnapi/wasi-threads@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz#977f44f844eac7d6c138a415a123818c655f874c" + integrity sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA== + dependencies: + tslib "^2.4.0" + +"@esbuild/aix-ppc64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz#4e0f91776c2b340e75558f60552195f6fad09f18" + integrity sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA== + +"@esbuild/android-arm64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz#bc766407f1718923f6b8079c8c61bf86ac3a6a4f" + integrity sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg== + +"@esbuild/android-arm@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.5.tgz#4290d6d3407bae3883ad2cded1081a234473ce26" + integrity sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA== + +"@esbuild/android-x64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.5.tgz#40c11d9cbca4f2406548c8a9895d321bc3b35eff" + integrity sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw== + +"@esbuild/darwin-arm64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz#49d8bf8b1df95f759ac81eb1d0736018006d7e34" + integrity sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ== + +"@esbuild/darwin-x64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz#e27a5d92a14886ef1d492fd50fc61a2d4d87e418" + integrity sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ== + +"@esbuild/freebsd-arm64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz#97cede59d638840ca104e605cdb9f1b118ba0b1c" + integrity sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw== + +"@esbuild/freebsd-x64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz#71c77812042a1a8190c3d581e140d15b876b9c6f" + integrity sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw== + +"@esbuild/linux-arm64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz#f7b7c8f97eff8ffd2e47f6c67eb5c9765f2181b8" + integrity sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg== + +"@esbuild/linux-arm@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz#2a0be71b6cd8201fa559aea45598dffabc05d911" + integrity sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw== + +"@esbuild/linux-ia32@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz#763414463cd9ea6fa1f96555d2762f9f84c61783" + integrity sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA== + +"@esbuild/linux-loong64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz#428cf2213ff786a502a52c96cf29d1fcf1eb8506" + integrity sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg== + +"@esbuild/linux-mips64el@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz#5cbcc7fd841b4cd53358afd33527cd394e325d96" + integrity sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg== + +"@esbuild/linux-ppc64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz#0d954ab39ce4f5e50f00c4f8c4fd38f976c13ad9" + integrity sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ== + +"@esbuild/linux-riscv64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz#0e7dd30730505abd8088321e8497e94b547bfb1e" + integrity sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA== + +"@esbuild/linux-s390x@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz#5669af81327a398a336d7e40e320b5bbd6e6e72d" + integrity sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ== + +"@esbuild/linux-x64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz#b2357dd153aa49038967ddc1ffd90c68a9d2a0d4" + integrity sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw== + +"@esbuild/netbsd-arm64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz#53b4dfb8fe1cee93777c9e366893bd3daa6ba63d" + integrity sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw== + +"@esbuild/netbsd-x64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz#a0206f6314ce7dc8713b7732703d0f58de1d1e79" + integrity sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ== + +"@esbuild/openbsd-arm64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz#2a796c87c44e8de78001d808c77d948a21ec22fd" + integrity sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw== + +"@esbuild/openbsd-x64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz#28d0cd8909b7fa3953af998f2b2ed34f576728f0" + integrity sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg== + +"@esbuild/sunos-x64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz#a28164f5b997e8247d407e36c90d3fd5ddbe0dc5" + integrity sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA== + +"@esbuild/win32-arm64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz#6eadbead38e8bd12f633a5190e45eff80e24007e" + integrity sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw== + +"@esbuild/win32-ia32@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz#bab6288005482f9ed2adb9ded7e88eba9a62cc0d" + integrity sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ== + +"@esbuild/win32-x64@0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz#7fc114af5f6563f19f73324b5d5ff36ece0803d1" + integrity sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g== "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + version "4.9.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.9.1.tgz#449dfa81a57a1d755b09aa58d826c1262e4283b4" + integrity sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA== -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== +"@eslint/eslintrc@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" + integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -738,12 +752,44 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.57.0": - version "8.57.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz" - integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== +"@eslint/js@8.51.0": + version "8.51.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.51.0.tgz#6d419c240cfb2b66da37df230f7e7eef801c32fa" + integrity sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg== + +"@ethereumjs/common@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-3.2.0.tgz#b71df25845caf5456449163012074a55f048e0a0" + integrity sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA== + dependencies: + "@ethereumjs/util" "^8.1.0" + crc-32 "^1.2.0" + +"@ethereumjs/rlp@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" + integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== + +"@ethereumjs/tx@^4.1.2", "@ethereumjs/tx@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.2.0.tgz#5988ae15daf5a3b3c815493bc6b495e76009e853" + integrity sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw== + dependencies: + "@ethereumjs/common" "^3.2.0" + "@ethereumjs/rlp" "^4.0.1" + "@ethereumjs/util" "^8.1.0" + ethereum-cryptography "^2.0.0" + +"@ethereumjs/util@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" + integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== + dependencies: + "@ethereumjs/rlp" "^4.0.1" + ethereum-cryptography "^2.0.0" + micro-ftch "^0.3.1" -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": +"@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== @@ -758,7 +804,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": +"@ethersproject/abstract-provider@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== @@ -771,7 +817,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/web" "^5.7.0" -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": +"@ethersproject/abstract-signer@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== @@ -782,7 +828,7 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": +"@ethersproject/address@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== @@ -793,22 +839,14 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/rlp" "^5.7.0" -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": +"@ethersproject/base64@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== dependencies: "@ethersproject/bytes" "^5.7.0" -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" - integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": +"@ethersproject/bignumber@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== @@ -817,37 +855,21 @@ "@ethersproject/logger" "^5.7.0" bn.js "^5.2.1" -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": +"@ethersproject/bytes@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": +"@ethersproject/constants@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== dependencies: "@ethersproject/bignumber" "^5.7.0" -"@ethersproject/contracts@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" - integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": +"@ethersproject/hash@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== @@ -862,44 +884,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" - integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" - integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": +"@ethersproject/keccak256@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== @@ -907,68 +892,26 @@ "@ethersproject/bytes" "^5.7.0" js-sha3 "0.8.0" -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": +"@ethersproject/logger@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": +"@ethersproject/networks@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" - integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": +"@ethersproject/properties@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/providers@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" - integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": +"@ethersproject/rlp@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== @@ -976,7 +919,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": +"@ethersproject/sha2@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== @@ -985,7 +928,7 @@ "@ethersproject/logger" "^5.7.0" hash.js "1.1.7" -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": +"@ethersproject/signing-key@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== @@ -997,7 +940,7 @@ elliptic "6.5.4" hash.js "1.1.7" -"@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.7.0": +"@ethersproject/solidity@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== @@ -1009,7 +952,7 @@ "@ethersproject/sha2" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": +"@ethersproject/strings@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== @@ -1018,7 +961,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": +"@ethersproject/transactions@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== @@ -1033,7 +976,7 @@ "@ethersproject/rlp" "^5.7.0" "@ethersproject/signing-key" "^5.7.0" -"@ethersproject/units@5.7.0", "@ethersproject/units@^5.7.0": +"@ethersproject/units@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== @@ -1042,28 +985,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/wallet@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" - integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/json-wallets" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": +"@ethersproject/web@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== @@ -1074,51 +996,40 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" - integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@floating-ui/core@^1.0.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1" - integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g== +"@floating-ui/core@^1.4.2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.5.0.tgz#5c05c60d5ae2d05101c3021c1a2a350ddc027f8c" + integrity sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg== dependencies: - "@floating-ui/utils" "^0.2.1" + "@floating-ui/utils" "^0.1.3" -"@floating-ui/dom@^1.6.1": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.3.tgz#954e46c1dd3ad48e49db9ada7218b0985cee75ef" - integrity sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw== +"@floating-ui/dom@^1.5.1": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.5.3.tgz#54e50efcb432c06c23cd33de2b575102005436fa" + integrity sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA== dependencies: - "@floating-ui/core" "^1.0.0" - "@floating-ui/utils" "^0.2.0" + "@floating-ui/core" "^1.4.2" + "@floating-ui/utils" "^0.1.3" "@floating-ui/react-dom@^2.0.0": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.8.tgz#afc24f9756d1b433e1fe0d047c24bd4d9cefaa5d" - integrity sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw== + version "2.0.2" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.2.tgz#fab244d64db08e6bed7be4b5fcce65315ef44d20" + integrity sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ== dependencies: - "@floating-ui/dom" "^1.6.1" + "@floating-ui/dom" "^1.5.1" -"@floating-ui/utils@^0.2.0", "@floating-ui/utils@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" - integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== +"@floating-ui/utils@^0.1.3": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.6.tgz#22958c042e10b67463997bd6ea7115fe28cbcaf9" + integrity sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A== "@graphql-codegen/add@^5.0.0": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@graphql-codegen/add/-/add-5.0.2.tgz#71b3ae0465a4537172dddb84531b6967ca5545f2" - integrity sha512-ouBkSvMFUhda5VoKumo/ZvsZM9P5ZTyDsI8LW18VxSNWOjrTeLXBWHG8Gfaai0HwhflPtCYVABbriEcOmrRShQ== + version "5.0.0" + resolved "https://registry.yarnpkg.com/@graphql-codegen/add/-/add-5.0.0.tgz#578ebaf4fa87c1e934c381cd679bcedcf79feaba" + integrity sha512-ynWDOsK2yxtFHwcJTB9shoSkUd7YXd6ZE57f0nk7W5cu/nAgxZZpEsnTPEpZB/Mjf14YRGe2uJHQ7AfElHjqUQ== dependencies: - "@graphql-codegen/plugin-helpers" "^5.0.3" - tslib "~2.6.0" + "@graphql-codegen/plugin-helpers" "^5.0.0" + tslib "~2.5.0" "@graphql-codegen/cli@5.0.0": version "5.0.0" @@ -1180,14 +1091,14 @@ tslib "~2.5.0" "@graphql-codegen/core@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@graphql-codegen/core/-/core-4.0.2.tgz#7e6ec266276f54bbf02f60599d9e518f4a59d85e" - integrity sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg== + version "4.0.0" + resolved "https://registry.yarnpkg.com/@graphql-codegen/core/-/core-4.0.0.tgz#b29c911746a532a675e33720acb4eb2119823e01" + integrity sha512-JAGRn49lEtSsZVxeIlFVIRxts2lWObR+OQo7V2LHDJ7ohYYw3ilv7nJ8pf8P4GTg/w6ptcYdSdVVdkI8kUHB/Q== dependencies: - "@graphql-codegen/plugin-helpers" "^5.0.3" + "@graphql-codegen/plugin-helpers" "^5.0.0" "@graphql-tools/schema" "^10.0.0" "@graphql-tools/utils" "^10.0.0" - tslib "~2.6.0" + tslib "~2.5.0" "@graphql-codegen/gql-tag-operations@4.0.1": version "4.0.1" @@ -1224,53 +1135,53 @@ lodash "~4.17.0" tslib "~2.4.0" -"@graphql-codegen/plugin-helpers@^5.0.0", "@graphql-codegen/plugin-helpers@^5.0.1", "@graphql-codegen/plugin-helpers@^5.0.3": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-5.0.3.tgz#7027b9d911d7cb594663590fcf5d63e9cf7ec2ff" - integrity sha512-yZ1rpULIWKBZqCDlvGIJRSyj1B2utkEdGmXZTBT/GVayP4hyRYlkd36AJV/LfEsVD8dnsKL5rLz2VTYmRNlJ5Q== +"@graphql-codegen/plugin-helpers@^5.0.0", "@graphql-codegen/plugin-helpers@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-5.0.1.tgz#e2429fcfba3f078d5aa18aa062d46c922bbb0d55" + integrity sha512-6L5sb9D8wptZhnhLLBcheSPU7Tg//DGWgc5tQBWX46KYTOTQHGqDpv50FxAJJOyFVJrveN9otWk9UT9/yfY4ww== dependencies: "@graphql-tools/utils" "^10.0.0" change-case-all "1.0.15" common-tags "1.8.2" import-from "4.0.0" lodash "~4.17.0" - tslib "~2.6.0" + tslib "~2.5.0" -"@graphql-codegen/schema-ast@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@graphql-codegen/schema-ast/-/schema-ast-4.0.2.tgz#aeaa104e4555cca73a058f0a9350b4b0e290b377" - integrity sha512-5mVAOQQK3Oz7EtMl/l3vOQdc2aYClUzVDHHkMvZlunc+KlGgl81j8TLa+X7ANIllqU4fUEsQU3lJmk4hXP6K7Q== +"@graphql-codegen/schema-ast@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@graphql-codegen/schema-ast/-/schema-ast-4.0.0.tgz#5d60996c87b64f81847da8fcb2d8ef50ede89755" + integrity sha512-WIzkJFa9Gz28FITAPILbt+7A8+yzOyd1NxgwFh7ie+EmO9a5zQK6UQ3U/BviirguXCYnn+AR4dXsoDrSrtRA1g== dependencies: - "@graphql-codegen/plugin-helpers" "^5.0.3" + "@graphql-codegen/plugin-helpers" "^5.0.0" "@graphql-tools/utils" "^10.0.0" - tslib "~2.6.0" + tslib "~2.5.0" "@graphql-codegen/typed-document-node@^5.0.1": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@graphql-codegen/typed-document-node/-/typed-document-node-5.0.6.tgz#54750f4a7c6e963defeb6c27a9ea280a2a8bc2a3" - integrity sha512-US0J95hOE2/W/h42w4oiY+DFKG7IetEN1mQMgXXeat1w6FAR5PlIz4JrRrEkiVfVetZ1g7K78SOwBD8/IJnDiA== + version "5.0.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typed-document-node/-/typed-document-node-5.0.1.tgz#ac90cf67c61554f63ec100d6076b47c9f0b18b27" + integrity sha512-VFkhCuJnkgtbbgzoCAwTdJe2G1H6sd3LfCrDqWUrQe53y2ukfSb5Ov1PhAIkCBStKCMQBUY9YgGz9GKR40qQ8g== dependencies: - "@graphql-codegen/plugin-helpers" "^5.0.3" - "@graphql-codegen/visitor-plugin-common" "5.1.0" + "@graphql-codegen/plugin-helpers" "^5.0.0" + "@graphql-codegen/visitor-plugin-common" "4.0.1" auto-bind "~4.0.0" change-case-all "1.0.15" - tslib "~2.6.0" + tslib "~2.5.0" "@graphql-codegen/typescript-operations@^4.0.1": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-4.2.0.tgz#0c6bbaf41cb325809b7e9e2b9d85ab01f11d142f" - integrity sha512-lmuwYb03XC7LNRS8oo9M4/vlOrq/wOKmTLBHlltK2YJ1BO/4K/Q9Jdv/jDmJpNydHVR1fmeF4wAfsIp1f9JibA== + version "4.0.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-4.0.1.tgz#930af3e2d2ae8ff06de696291be28fe7046a2fef" + integrity sha512-GpUWWdBVUec/Zqo23aFLBMrXYxN2irypHqDcKjN78JclDPdreasAEPcIpMfqf4MClvpmvDLy4ql+djVAwmkjbw== dependencies: - "@graphql-codegen/plugin-helpers" "^5.0.3" - "@graphql-codegen/typescript" "^4.0.6" - "@graphql-codegen/visitor-plugin-common" "5.1.0" + "@graphql-codegen/plugin-helpers" "^5.0.0" + "@graphql-codegen/typescript" "^4.0.1" + "@graphql-codegen/visitor-plugin-common" "4.0.1" auto-bind "~4.0.0" - tslib "~2.6.0" + tslib "~2.5.0" "@graphql-codegen/typescript-react-apollo@^4.0.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-react-apollo/-/typescript-react-apollo-4.3.0.tgz#c20b26a3756ed39e84c465c8b0f0212c113f2fee" - integrity sha512-h+IxCGrOTDD60/6ztYDQs81yKDZZq/8aHqM9HHrZ9FiZn145O48VnQNCmGm88I619G9rEET8cCOrtYkCt+ZSzA== + version "4.0.0" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-react-apollo/-/typescript-react-apollo-4.0.0.tgz#2b8ae51a3a1131d82908eacc338934bf738bd87a" + integrity sha512-XDaZdciZ4216RyV/7HphaAP32oeqlHZbgyXUzpA8TQDu/dmgzCN0gapZU6xAQnZe+hiec+e7DLSu9AKBy55b2w== dependencies: "@graphql-codegen/plugin-helpers" "^3.0.0" "@graphql-codegen/visitor-plugin-common" "2.13.1" @@ -1278,16 +1189,16 @@ change-case-all "1.0.15" tslib "~2.6.0" -"@graphql-codegen/typescript@^4.0.1", "@graphql-codegen/typescript@^4.0.6": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-4.0.6.tgz#2c9b70dc1eafda912de5e31c119c757b1aa5fca1" - integrity sha512-IBG4N+Blv7KAL27bseruIoLTjORFCT3r+QYyMC3g11uY3/9TPpaUyjSdF70yBe5GIQ6dAgDU+ENUC1v7EPi0rw== +"@graphql-codegen/typescript@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-4.0.1.tgz#7481d68f59bea802dd10e278dce73c8a1552b2a4" + integrity sha512-3YziQ21dCVdnHb+Us1uDb3pA6eG5Chjv0uTK+bt9dXeMlwYBU8MbtzvQTo4qvzWVC1AxSOKj0rgfNu1xCXqJyA== dependencies: - "@graphql-codegen/plugin-helpers" "^5.0.3" - "@graphql-codegen/schema-ast" "^4.0.2" - "@graphql-codegen/visitor-plugin-common" "5.1.0" + "@graphql-codegen/plugin-helpers" "^5.0.0" + "@graphql-codegen/schema-ast" "^4.0.0" + "@graphql-codegen/visitor-plugin-common" "4.0.1" auto-bind "~4.0.0" - tslib "~2.6.0" + tslib "~2.5.0" "@graphql-codegen/visitor-plugin-common@2.13.1": version "2.13.1" @@ -1305,7 +1216,7 @@ parse-filepath "^1.0.2" tslib "~2.4.0" -"@graphql-codegen/visitor-plugin-common@4.0.1": +"@graphql-codegen/visitor-plugin-common@4.0.1", "@graphql-codegen/visitor-plugin-common@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-4.0.1.tgz#64e293728b3c186f6767141e41fcdb310e50d367" integrity sha512-Bi/1z0nHg4QMsAqAJhds+ForyLtk7A3HQOlkrZNm3xEkY7lcBzPtiOTLBtvziwopBsXUxqeSwVjOOFPLS5Yw1Q== @@ -1321,78 +1232,46 @@ parse-filepath "^1.0.2" tslib "~2.5.0" -"@graphql-codegen/visitor-plugin-common@5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-5.1.0.tgz#4edf7edb53460e71762a5fd8bbf5269bc3d9200b" - integrity sha512-eamQxtA9bjJqI2lU5eYoA1GbdMIRT2X8m8vhWYsVQVWD3qM7sx/IqJU0kx0J3Vd4/CSd36BzL6RKwksibytDIg== +"@graphql-tools/apollo-engine-loader@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-8.0.0.tgz#ac1f351cbe41508411784f25757f5557b0f27489" + integrity sha512-axQTbN5+Yxs1rJ6cWQBOfw3AEeC+fvIuZSfJLPLLvFJLj4pUm9fhxey/g6oQZAAQJqKPfw+tLDUQvnfvRK8Kmg== dependencies: - "@graphql-codegen/plugin-helpers" "^5.0.3" - "@graphql-tools/optimize" "^2.0.0" - "@graphql-tools/relay-operation-optimizer" "^7.0.0" + "@ardatan/sync-fetch" "^0.0.1" "@graphql-tools/utils" "^10.0.0" - auto-bind "~4.0.0" - change-case-all "1.0.15" - dependency-graph "^0.11.0" - graphql-tag "^2.11.0" - parse-filepath "^1.0.2" - tslib "~2.6.0" + "@whatwg-node/fetch" "^0.9.0" + tslib "^2.4.0" -"@graphql-codegen/visitor-plugin-common@^4.0.1": - version "4.1.2" - resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-4.1.2.tgz#674c5d5813f6c00dd65e1ee148a62536879e65e2" - integrity sha512-yk7iEAL1kYZ2Gi/pvVjdsZhul5WsYEM4Zcgh2Ev15VicMdJmPHsMhNUsZWyVJV0CaQCYpNOFlGD/11Ea3pn4GA== +"@graphql-tools/batch-execute@^9.0.1": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-9.0.2.tgz#5ac3257501e7941fad40661bb5e1110d6312f58b" + integrity sha512-Y2uwdZI6ZnatopD/SYfZ1eGuQFI7OU2KGZ2/B/7G9ISmgMl5K+ZZWz/PfIEXeiHirIDhyk54s4uka5rj2xwKqQ== dependencies: - "@graphql-codegen/plugin-helpers" "^5.0.3" - "@graphql-tools/optimize" "^2.0.0" - "@graphql-tools/relay-operation-optimizer" "^7.0.0" - "@graphql-tools/utils" "^10.0.0" - auto-bind "~4.0.0" - change-case-all "1.0.15" - dependency-graph "^0.11.0" - graphql-tag "^2.11.0" - parse-filepath "^1.0.2" - tslib "~2.6.0" - -"@graphql-tools/apollo-engine-loader@^8.0.0": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-8.0.1.tgz#1ec8718af6130ff8039cd653991412472cdd7e55" - integrity sha512-NaPeVjtrfbPXcl+MLQCJLWtqe2/E4bbAqcauEOQ+3sizw1Fc2CNmhHRF8a6W4D0ekvTRRXAMptXYgA2uConbrA== - dependencies: - "@ardatan/sync-fetch" "^0.0.1" - "@graphql-tools/utils" "^10.0.13" - "@whatwg-node/fetch" "^0.9.0" - tslib "^2.4.0" - -"@graphql-tools/batch-execute@^9.0.4": - version "9.0.4" - resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-9.0.4.tgz#11601409c0c33491971fc82592de12390ec58be2" - integrity sha512-kkebDLXgDrep5Y0gK1RN3DMUlLqNhg60OAz0lTCqrYeja6DshxLtLkj+zV4mVbBA4mQOEoBmw6g1LZs3dA84/w== - dependencies: - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/utils" "^10.0.5" dataloader "^2.2.2" tslib "^2.4.0" value-or-promise "^1.0.12" "@graphql-tools/code-file-loader@^8.0.0": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-8.1.1.tgz#517c37d4f8a20b2c6558b10cbe9a6f9bcfe98918" - integrity sha512-q4KN25EPSUztc8rA8YUU3ufh721Yk12xXDbtUA+YstczWS7a1RJlghYMFEfR1HsHSYbF7cUqkbnTKSGM3o52bQ== + version "8.0.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-8.0.2.tgz#224b9ce29d9229c52d8bd7b6d976038f4ea5d3f4" + integrity sha512-AKNpkElUL2cWocYpC4DzNEpo6qJw8Lp+L3bKQ/mIfmbsQxgLz5uve6zHBMhDaFPdlwfIox41N3iUSvi77t9e8A== dependencies: - "@graphql-tools/graphql-tag-pluck" "8.3.0" - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/graphql-tag-pluck" "8.0.2" + "@graphql-tools/utils" "^10.0.0" globby "^11.0.3" tslib "^2.4.0" unixify "^1.0.0" -"@graphql-tools/delegate@^10.0.4": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-10.0.4.tgz#7c38240f11e42ec2dd45d0a569ca6433ce4cb8dc" - integrity sha512-WswZRbQZMh/ebhc8zSomK9DIh6Pd5KbuiMsyiKkKz37TWTrlCOe+4C/fyrBFez30ksq6oFyCeSKMwfrCbeGo0Q== +"@graphql-tools/delegate@^10.0.0", "@graphql-tools/delegate@^10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-10.0.3.tgz#2d0e133da94ca92c24e0c7360414e5592321cf2d" + integrity sha512-Jor9oazZ07zuWkykD3OOhT/2XD74Zm6Ar0ENZMk75MDD51wB2UWUIMljtHxbJhV5A6UBC2v8x6iY0xdCGiIlyw== dependencies: - "@graphql-tools/batch-execute" "^9.0.4" - "@graphql-tools/executor" "^1.2.1" - "@graphql-tools/schema" "^10.0.3" - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/batch-execute" "^9.0.1" + "@graphql-tools/executor" "^1.0.0" + "@graphql-tools/schema" "^10.0.0" + "@graphql-tools/utils" "^10.0.5" dataloader "^2.2.2" tslib "^2.5.0" @@ -1404,24 +1283,24 @@ lodash.sortby "^4.7.0" tslib "^2.4.0" -"@graphql-tools/executor-graphql-ws@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-1.1.2.tgz#2bf959d2319692460b39400c0fe1515dfbb9f034" - integrity sha512-+9ZK0rychTH1LUv4iZqJ4ESbmULJMTsv3XlFooPUngpxZkk00q6LqHKJRrsLErmQrVaC7cwQCaRBJa0teK17Lg== +"@graphql-tools/executor-graphql-ws@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-1.1.0.tgz#7727159ebaa9df4dc793d0d02e74dd1ca4a7cc60" + integrity sha512-yM67SzwE8rYRpm4z4AuGtABlOp9mXXVy6sxXnTJRoYIdZrmDbKVfIY+CpZUJCqS0FX3xf2+GoHlsj7Qswaxgcg== dependencies: - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/utils" "^10.0.2" "@types/ws" "^8.0.0" graphql-ws "^5.14.0" isomorphic-ws "^5.0.0" tslib "^2.4.0" ws "^8.13.0" -"@graphql-tools/executor-http@^1.0.9": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@graphql-tools/executor-http/-/executor-http-1.0.9.tgz#87ca8b99a32241eb0cc30a9c500d2672e92d58b7" - integrity sha512-+NXaZd2MWbbrWHqU4EhXcrDbogeiCDmEbrAN+rMn4Nu2okDjn2MTFDbTIab87oEubQCH4Te1wDkWPKrzXup7+Q== +"@graphql-tools/executor-http@^1.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/executor-http/-/executor-http-1.0.2.tgz#d7964a6e5ec883842f9a8e3f104f93c9b8f472be" + integrity sha512-JKTB4E3kdQM2/1NEcyrVPyQ8057ZVthCV5dFJiKktqY9IdmF00M8gupFcW3jlbM/Udn78ickeUBsUzA3EouqpA== dependencies: - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/utils" "^10.0.2" "@repeaterjs/repeater" "^3.0.4" "@whatwg-node/fetch" "^0.9.0" extract-files "^11.0.0" @@ -1429,112 +1308,112 @@ tslib "^2.4.0" value-or-promise "^1.0.12" -"@graphql-tools/executor-legacy-ws@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.0.6.tgz#4ed311b731db8fd5c99e66a66361afbf9c2109fc" - integrity sha512-lDSxz9VyyquOrvSuCCnld3256Hmd+QI2lkmkEv7d4mdzkxkK4ddAWW1geQiWrQvWmdsmcnGGlZ7gDGbhEExwqg== +"@graphql-tools/executor-legacy-ws@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.0.3.tgz#de04eaa816fa27f46b401e8d5c28d9c0562b4993" + integrity sha512-rr3IDeO9Dh+8u8KIro++5kzJJYPHkcrIAWzqXtN663nhInC85iW7Ko91yOYwf7ovBci/7s+4Rqe4ZRyca1LGjQ== dependencies: - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/utils" "^10.0.0" "@types/ws" "^8.0.0" - isomorphic-ws "^5.0.0" + isomorphic-ws "5.0.0" tslib "^2.4.0" - ws "^8.15.0" + ws "8.14.1" -"@graphql-tools/executor@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/executor/-/executor-1.2.1.tgz#9aa132ac1839679fbd14810f7ad8a65e82c0db44" - integrity sha512-BP5UI1etbNOXmTSt7q4NL1+zsURFgh2pG+Hyt9K/xO0LlsfbSx59L5dHLerqZP7Js0xI6GYqrUQ4m29rUwUHJg== +"@graphql-tools/executor@^1.0.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/executor/-/executor-1.2.0.tgz#6c45f4add765769d9820c4c4405b76957ba39c79" + integrity sha512-SKlIcMA71Dha5JnEWlw4XxcaJ+YupuXg0QCZgl2TOLFz4SkGCwU/geAsJvUJFwK2RbVLpQv/UMq67lOaBuwDtg== dependencies: - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/utils" "^10.0.0" "@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/git-loader@^8.0.0": - version "8.0.5" - resolved "https://registry.yarnpkg.com/@graphql-tools/git-loader/-/git-loader-8.0.5.tgz#77f9c2a35fdb3a403d33660ed11702720d4b016e" - integrity sha512-P97/1mhruDiA6D5WUmx3n/aeGPLWj2+4dpzDOxFGGU+z9NcI/JdygMkeFpGZNHeJfw+kHfxgPcMPnxHcyhAoVA== + version "8.0.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/git-loader/-/git-loader-8.0.2.tgz#d26d87e176ff0cea86e0acfe7c2072f32fd836c3" + integrity sha512-AuCB0nlPvsHh8u42zRZdlD/ZMaWP9A44yAkQUVCZir1E/LG63fsZ9svTWJ+CbusW3Hd0ZP9qpxEhlHxnd4Tlsg== dependencies: - "@graphql-tools/graphql-tag-pluck" "8.3.0" - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/graphql-tag-pluck" "8.0.2" + "@graphql-tools/utils" "^10.0.0" is-glob "4.0.3" micromatch "^4.0.4" tslib "^2.4.0" unixify "^1.0.0" "@graphql-tools/github-loader@^8.0.0": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/github-loader/-/github-loader-8.0.1.tgz#011e1f9495d42a55139a12f576cc6bb04943ecf4" - integrity sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg== + version "8.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/github-loader/-/github-loader-8.0.0.tgz#683195800618364701cfea9bc6f88674486f053b" + integrity sha512-VuroArWKcG4yaOWzV0r19ElVIV6iH6UKDQn1MXemND0xu5TzrFme0kf3U9o0YwNo0kUYEk9CyFM0BYg4he17FA== dependencies: "@ardatan/sync-fetch" "^0.0.1" - "@graphql-tools/executor-http" "^1.0.9" + "@graphql-tools/executor-http" "^1.0.0" "@graphql-tools/graphql-tag-pluck" "^8.0.0" - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/utils" "^10.0.0" "@whatwg-node/fetch" "^0.9.0" tslib "^2.4.0" value-or-promise "^1.0.12" "@graphql-tools/graphql-file-loader@^8.0.0": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.0.1.tgz#03869b14cb91d0ef539df8195101279bb2df9c9e" - integrity sha512-7gswMqWBabTSmqbaNyWSmRRpStWlcCkBc73E6NZNlh4YNuiyKOwbvSkOUYFOqFMfEL+cFsXgAvr87Vz4XrYSbA== + version "8.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.0.0.tgz#a2026405bce86d974000455647511bf65df4f211" + integrity sha512-wRXj9Z1IFL3+zJG1HWEY0S4TXal7+s1vVhbZva96MSp0kbb/3JBF7j0cnJ44Eq0ClccMgGCDFqPFXty4JlpaPg== dependencies: - "@graphql-tools/import" "7.0.1" - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/import" "7.0.0" + "@graphql-tools/utils" "^10.0.0" globby "^11.0.3" tslib "^2.4.0" unixify "^1.0.0" -"@graphql-tools/graphql-tag-pluck@8.3.0", "@graphql-tools/graphql-tag-pluck@^8.0.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.3.0.tgz#11bb8c627253137b39b34fb765cd6ebe506388b9" - integrity sha512-gNqukC+s7iHC7vQZmx1SEJQmLnOguBq+aqE2zV2+o1hxkExvKqyFli1SY/9gmukFIKpKutCIj+8yLOM+jARutw== +"@graphql-tools/graphql-tag-pluck@8.0.2", "@graphql-tools/graphql-tag-pluck@^8.0.0": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.0.2.tgz#c1ce8226c951583a27765dccceea19dc5827a948" + integrity sha512-U6fE4yEHxuk/nqmPixHpw1WhqdS6aYuaV60m1bEmUmGJNbpAhaMBy01JncpvpF15yZR5LZ0UjkHg+A3Lhoc8YQ== dependencies: "@babel/core" "^7.22.9" "@babel/parser" "^7.16.8" "@babel/plugin-syntax-import-assertions" "^7.20.0" "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/utils" "^10.0.0" tslib "^2.4.0" -"@graphql-tools/import@7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-7.0.1.tgz#4e0d181c63350b1c926ae91b84a4cbaf03713c2c" - integrity sha512-935uAjAS8UAeXThqHfYVr4HEAp6nHJ2sximZKO1RzUTq5WoALMAhhGARl0+ecm6X+cqNUwIChJbjtaa6P/ML0w== +"@graphql-tools/import@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-7.0.0.tgz#a6a91a90a707d5f46bad0fd3fde2f407b548b2be" + integrity sha512-NVZiTO8o1GZs6OXzNfjB+5CtQtqsZZpQOq+Uu0w57kdUkT4RlQKlwhT8T81arEsbV55KpzkpFsOZP7J1wdmhBw== dependencies: - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/utils" "^10.0.0" resolve-from "5.0.0" tslib "^2.4.0" "@graphql-tools/json-file-loader@^8.0.0": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-8.0.1.tgz#3fcfe869f22d8129a74369da69bf491c0bff7c2d" - integrity sha512-lAy2VqxDAHjVyqeJonCP6TUemrpYdDuKt25a10X6zY2Yn3iFYGnuIDQ64cv3ytyGY6KPyPB+Kp+ZfOkNDG3FQA== + version "8.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-8.0.0.tgz#9b1b62902f766ef3f1c9cd1c192813ea4f48109c" + integrity sha512-ki6EF/mobBWJjAAC84xNrFMhNfnUFD6Y0rQMGXekrUgY0NdeYXHU0ZUgHzC9O5+55FslqUmAUHABePDHTyZsLg== dependencies: - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/utils" "^10.0.0" globby "^11.0.3" tslib "^2.4.0" unixify "^1.0.0" "@graphql-tools/load@^8.0.0": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-8.0.2.tgz#47d9916bf96dea05df27f11b53812f4327d9b6d2" - integrity sha512-S+E/cmyVmJ3CuCNfDuNF2EyovTwdWfQScXv/2gmvJOti2rGD8jTt9GYVzXaxhblLivQR9sBUCNZu/w7j7aXUCA== + version "8.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-8.0.0.tgz#62e00f48c39b4085167a096f66ba6c21fb3fc796" + integrity sha512-Cy874bQJH0FP2Az7ELPM49iDzOljQmK1PPH6IuxsWzLSTxwTqd8dXA09dcVZrI7/LsN26heTY2R8q2aiiv0GxQ== dependencies: - "@graphql-tools/schema" "^10.0.3" - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/schema" "^10.0.0" + "@graphql-tools/utils" "^10.0.0" p-limit "3.1.0" tslib "^2.4.0" -"@graphql-tools/merge@^9.0.0", "@graphql-tools/merge@^9.0.3": - version "9.0.3" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-9.0.3.tgz#4d0b467132e6f788b69fab803d31480b8ce4b61a" - integrity sha512-FeKv9lKLMwqDu0pQjPpF59GY3HReUkWXKsMIuMuJQOKh9BETu7zPEFUELvcw8w+lwZkl4ileJsHXC9+AnsT2Lw== +"@graphql-tools/merge@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-9.0.0.tgz#b0a3636c82716454bff88e9bb40108b0471db281" + integrity sha512-J7/xqjkGTTwOJmaJQJ2C+VDBDOWJL3lKrHJN4yMaRLAJH3PosB7GiPRaSDZdErs0+F77sH2MKs2haMMkywzx7Q== dependencies: - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/utils" "^10.0.0" tslib "^2.4.0" "@graphql-tools/optimize@^1.3.0": @@ -1552,12 +1431,12 @@ tslib "^2.4.0" "@graphql-tools/prisma-loader@^8.0.0": - version "8.0.3" - resolved "https://registry.yarnpkg.com/@graphql-tools/prisma-loader/-/prisma-loader-8.0.3.tgz#a41acb41629cf5327834bedd259939024cf774ba" - integrity sha512-oZhxnMr3Jw2WAW1h9FIhF27xWzIB7bXWM8olz4W12oII4NiZl7VRkFw9IT50zME2Bqi9LGh9pkmMWkjvbOpl+Q== + version "8.0.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/prisma-loader/-/prisma-loader-8.0.1.tgz#0a013c69b04e0779b5be15757173d458cdf94e35" + integrity sha512-bl6e5sAYe35Z6fEbgKXNrqRhXlCJYeWKBkarohgYA338/SD9eEhXtg3Cedj7fut3WyRLoQFpHzfiwxKs7XrgXg== dependencies: - "@graphql-tools/url-loader" "^8.0.2" - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/url-loader" "^8.0.0" + "@graphql-tools/utils" "^10.0.0" "@types/js-yaml" "^4.0.0" "@types/json-stable-stringify" "^1.0.32" "@whatwg-node/fetch" "^0.9.0" @@ -1567,7 +1446,7 @@ graphql-request "^6.0.0" http-proxy-agent "^7.0.0" https-proxy-agent "^7.0.0" - jose "^5.0.0" + jose "^4.11.4" js-yaml "^4.0.0" json-stable-stringify "^1.0.1" lodash "^4.17.20" @@ -1585,36 +1464,36 @@ tslib "^2.4.0" "@graphql-tools/relay-operation-optimizer@^7.0.0": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-7.0.1.tgz#8ac33e1d2626b6816d9283769c4a05c062b8065a" - integrity sha512-y0ZrQ/iyqWZlsS/xrJfSir3TbVYJTYmMOu4TaSz6F4FRDTQ3ie43BlKkhf04rC28pnUOS4BO9pDcAo1D30l5+A== + version "7.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-7.0.0.tgz#24367666af87bc5a81748de5e8e9b3c523fd4207" + integrity sha512-UNlJi5y3JylhVWU4MBpL0Hun4Q7IoJwv9xYtmAz+CgRa066szzY7dcuPfxrA7cIGgG/Q6TVsKsYaiF4OHPs1Fw== dependencies: "@ardatan/relay-compiler" "12.0.0" - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/utils" "^10.0.0" tslib "^2.4.0" -"@graphql-tools/schema@^10.0.0", "@graphql-tools/schema@^10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-10.0.3.tgz#48c14be84cc617c19c4c929258672b6ab01768de" - integrity sha512-p28Oh9EcOna6i0yLaCFOnkcBDQECVf3SCexT6ktb86QNj9idnkhI+tCxnwZDh58Qvjd2nURdkbevvoZkvxzCog== +"@graphql-tools/schema@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-10.0.0.tgz#7b5f6b6a59f51c927de8c9069bde4ebbfefc64b3" + integrity sha512-kf3qOXMFcMs2f/S8Y3A8fm/2w+GaHAkfr3Gnhh2LOug/JgpY/ywgFVxO3jOeSpSEdoYcDKLcXVjMigNbY4AdQg== dependencies: - "@graphql-tools/merge" "^9.0.3" - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/merge" "^9.0.0" + "@graphql-tools/utils" "^10.0.0" tslib "^2.4.0" value-or-promise "^1.0.12" -"@graphql-tools/url-loader@^8.0.0", "@graphql-tools/url-loader@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-8.0.2.tgz#ee8e10a85d82c72662f6bc6bbc7b408510a36ebd" - integrity sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ== +"@graphql-tools/url-loader@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-8.0.0.tgz#8d952d5ebb7325e587cb914aaebded3dbd078cf6" + integrity sha512-rPc9oDzMnycvz+X+wrN3PLrhMBQkG4+sd8EzaFN6dypcssiefgWKToXtRKI8HHK68n2xEq1PyrOpkjHFJB+GwA== dependencies: "@ardatan/sync-fetch" "^0.0.1" - "@graphql-tools/delegate" "^10.0.4" - "@graphql-tools/executor-graphql-ws" "^1.1.2" - "@graphql-tools/executor-http" "^1.0.9" - "@graphql-tools/executor-legacy-ws" "^1.0.6" - "@graphql-tools/utils" "^10.0.13" - "@graphql-tools/wrap" "^10.0.2" + "@graphql-tools/delegate" "^10.0.0" + "@graphql-tools/executor-graphql-ws" "^1.0.0" + "@graphql-tools/executor-http" "^1.0.0" + "@graphql-tools/executor-legacy-ws" "^1.0.0" + "@graphql-tools/utils" "^10.0.0" + "@graphql-tools/wrap" "^10.0.0" "@types/ws" "^8.0.0" "@whatwg-node/fetch" "^0.9.0" isomorphic-ws "^5.0.0" @@ -1622,13 +1501,12 @@ value-or-promise "^1.0.11" ws "^8.12.0" -"@graphql-tools/utils@^10.0.0", "@graphql-tools/utils@^10.0.13": - version "10.1.0" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-10.1.0.tgz#d8c23a8b8636a5df59b14991bf25eae5ac15d314" - integrity sha512-wLPqhgeZ9BZJPRoaQbsDN/CtJDPd/L4qmmtPkjI3NuYJ39x+Eqz1Sh34EAGMuDh+xlOHqBwHczkZUpoK9tvzjw== +"@graphql-tools/utils@^10.0.0", "@graphql-tools/utils@^10.0.2", "@graphql-tools/utils@^10.0.5": + version "10.0.6" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-10.0.6.tgz#8a809d6bc0df27ffe8964696f182af2383b5974b" + integrity sha512-hZMjl/BbX10iagovakgf3IiqArx8TPsotq5pwBld37uIX1JiZoSbgbCIFol7u55bh32o6cfDEiiJgfAD5fbeyQ== dependencies: "@graphql-typed-document-node/core" "^3.1.1" - cross-inspect "1.0.0" dset "^3.1.2" tslib "^2.4.0" @@ -1647,14 +1525,14 @@ "@graphql-typed-document-node/core" "^3.1.1" tslib "^2.4.0" -"@graphql-tools/wrap@^10.0.2": - version "10.0.2" - resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-10.0.2.tgz#87f510b5f35db2771e7743bc3d71059ee4adaf09" - integrity sha512-nb/YjBcyF02KBCy3hiyw0nBKIC+qkiDY/tGMCcIe4pM6BPEcnreaPhXA28Rdge7lKtySF4Mhbc86XafFH5bIkQ== +"@graphql-tools/wrap@^10.0.0": + version "10.0.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-10.0.1.tgz#9e3d27d2723962c26c4377d5d7ab0d3038bf728c" + integrity sha512-Cw6hVrKGM2OKBXeuAGltgy4tzuqQE0Nt7t/uAqnuokSXZhMHXJUb124Bnvxc2gPZn5chfJSDafDe4Cp8ZAVJgg== dependencies: - "@graphql-tools/delegate" "^10.0.4" - "@graphql-tools/schema" "^10.0.3" - "@graphql-tools/utils" "^10.0.13" + "@graphql-tools/delegate" "^10.0.3" + "@graphql-tools/schema" "^10.0.0" + "@graphql-tools/utils" "^10.0.0" tslib "^2.4.0" value-or-promise "^1.0.12" @@ -1663,232 +1541,392 @@ resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== -"@humanwhocodes/config-array@^0.11.14": - version "0.11.14" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== +"@humanwhocodes/config-array@^0.11.11": + version "0.11.11" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" + integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== dependencies: - "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" minimatch "^3.0.5" "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz" - integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@ioredis/commands@^1.1.1": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.2.0.tgz#6d61b3097470af1fdbbe622795b8921d42018e11" - integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg== +"@isaacs/fs-minipass@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz#2d59ae3ab4b38fb4270bfa23d30f8e2e86c7fe32" + integrity sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w== + dependencies: + minipass "^7.0.4" -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.8" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== dependencies: "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/resolve-uri@^3.1.0": +"@jridgewell/resolve-uri@^3.0.3": version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + "@jridgewell/set-array@^1.2.1": version "1.2.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.24": +"@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.19" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" + integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@jridgewell/trace-mapping@^0.3.24": version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@json-rpc-tools/provider@^1.5.5": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/provider/-/provider-1.7.6.tgz#8a17c34c493fa892632e278fd9331104e8491ec6" - integrity sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA== +"@lit-labs/ssr-dom-shim@^1.2.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.3.0.tgz#a28799c463177d1a0b0e5cefdc173da5ac859eb4" + integrity sha512-nQIWonJ6eFAvUUrSlwyHDm/aE8PBDu5kRpL0vHMg6K8fK3Diq1xdPjTnsJSwxABhaZ+5eBi1btQB5ShUTKo4nQ== + +"@lit/reactive-element@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-2.1.0.tgz#177148214488068ae209669040b7ce0f4dcc0d36" + integrity sha512-L2qyoZSQClcBmq0qajBVbhYEcG6iK0XfLn66ifLe/RfC0/ihpc+pl0Wdn8bJ8o+hj38cG0fGXRgSS20MuXn7qA== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.2.0" + +"@metamask/eth-json-rpc-provider@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@metamask/eth-json-rpc-provider/-/eth-json-rpc-provider-1.0.1.tgz#3fd5316c767847f4ca107518b611b15396a5a32c" + integrity sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA== dependencies: - "@json-rpc-tools/utils" "^1.7.6" - axios "^0.21.0" - safe-json-utils "^1.1.1" - ws "^7.4.0" + "@metamask/json-rpc-engine" "^7.0.0" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^5.0.1" -"@json-rpc-tools/types@^1.7.6": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/types/-/types-1.7.6.tgz#5abd5fde01364a130c46093b501715bcce5bdc0e" - integrity sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ== +"@metamask/json-rpc-engine@^7.0.0": + version "7.3.3" + resolved "https://registry.yarnpkg.com/@metamask/json-rpc-engine/-/json-rpc-engine-7.3.3.tgz#f2b30a2164558014bfcca45db10f5af291d989af" + integrity sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg== dependencies: - keyvaluestorage-interface "^1.0.0" + "@metamask/rpc-errors" "^6.2.1" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^8.3.0" -"@json-rpc-tools/utils@^1.7.6": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/utils/-/utils-1.7.6.tgz#67f04987dbaa2e7adb6adff1575367b75a9a9ba1" - integrity sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw== +"@metamask/json-rpc-engine@^8.0.1", "@metamask/json-rpc-engine@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@metamask/json-rpc-engine/-/json-rpc-engine-8.0.2.tgz#29510a871a8edef892f838ee854db18de0bf0d14" + integrity sha512-IoQPmql8q7ABLruW7i4EYVHWUbF74yrp63bRuXV5Zf9BQwcn5H9Ww1eLtROYvI1bUXwOiHZ6qT5CWTrDc/t/AA== dependencies: - "@json-rpc-tools/types" "^1.7.6" - "@pedrouid/environment" "^1.0.1" + "@metamask/rpc-errors" "^6.2.1" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^8.3.0" -"@kamilkisiela/fast-url-parser@^1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@kamilkisiela/fast-url-parser/-/fast-url-parser-1.1.4.tgz#9d68877a489107411b953c54ea65d0658b515809" - integrity sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew== +"@metamask/json-rpc-middleware-stream@^7.0.1": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@metamask/json-rpc-middleware-stream/-/json-rpc-middleware-stream-7.0.2.tgz#2e8b2cbc38968e3c6239a9144c35bbb08a8fb57d" + integrity sha512-yUdzsJK04Ev98Ck4D7lmRNQ8FPioXYhEUZOMS01LXW8qTvPGiRVXmVltj2p4wrLkh0vW7u6nv0mNl5xzC5Qmfg== + dependencies: + "@metamask/json-rpc-engine" "^8.0.2" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^8.3.0" + readable-stream "^3.6.2" -"@ledgerhq/connect-kit-loader@^1.0.1": - version "1.1.8" - resolved "https://registry.yarnpkg.com/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.1.8.tgz#6cc32191660dd9d6e8f89047af09b0f201e30190" - integrity sha512-mDJsOucVW8m3Lk2fdQst+P74SgiKebvq1iBk4sXLbADQOwhL9bWGaArvO+tW7jPJZwEfSPWBdHcHoYi11XAwZw== +"@metamask/object-multiplex@^2.0.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@metamask/object-multiplex/-/object-multiplex-2.1.0.tgz#5e2e908fc46aee581cbba809870eeee0e571cbb6" + integrity sha512-4vKIiv0DQxljcXwfpnbsXcfa5glMj5Zg9mqn4xpIWqkv6uJ2ma5/GtUfLFSxhlxnR8asRMv8dDmWya1Tc1sDFA== + dependencies: + once "^1.4.0" + readable-stream "^3.6.2" -"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.0.tgz#353ce4a76c83fadec272ea5674ede767650762fd" - integrity sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g== +"@metamask/onboarding@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@metamask/onboarding/-/onboarding-1.0.1.tgz#14a36e1e175e2f69f09598e2008ab6dc1b3297e6" + integrity sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ== + dependencies: + bowser "^2.9.0" + +"@metamask/providers@16.1.0": + version "16.1.0" + resolved "https://registry.yarnpkg.com/@metamask/providers/-/providers-16.1.0.tgz#7da593d17c541580fa3beab8d9d8a9b9ce19ea07" + integrity sha512-znVCvux30+3SaUwcUGaSf+pUckzT5ukPRpcBmy+muBLC0yaWnBcvDqGfcsw6CBIenUdFrVoAFa8B6jsuCY/a+g== + dependencies: + "@metamask/json-rpc-engine" "^8.0.1" + "@metamask/json-rpc-middleware-stream" "^7.0.1" + "@metamask/object-multiplex" "^2.0.0" + "@metamask/rpc-errors" "^6.2.1" + "@metamask/safe-event-emitter" "^3.1.1" + "@metamask/utils" "^8.3.0" + detect-browser "^5.2.0" + extension-port-stream "^3.0.0" + fast-deep-equal "^3.1.3" + is-stream "^2.0.0" + readable-stream "^3.6.2" + webextension-polyfill "^0.10.0" -"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.3.tgz#25b4eece2592132845d303e091bad9b04cdcfe03" - integrity sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ== +"@metamask/rpc-errors@^6.2.1": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@metamask/rpc-errors/-/rpc-errors-6.4.0.tgz#a7ce01c06c9a347ab853e55818ac5654a73bd006" + integrity sha512-1ugFO1UoirU2esS3juZanS/Fo8C8XYocCuBpfZI5N7ECtoG+zu0wF+uWZASik6CkO6w9n/Iebt4iI4pT0vptpg== dependencies: - "@lit-labs/ssr-dom-shim" "^1.0.0" + "@metamask/utils" "^9.0.0" + fast-safe-stringify "^2.0.6" -"@metamask/safe-event-emitter@2.0.0", "@metamask/safe-event-emitter@^2.0.0": +"@metamask/safe-event-emitter@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== -"@metamask/utils@^3.0.1": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-3.6.0.tgz#b218b969a05ca7a8093b5d1670f6625061de707d" - integrity sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ== +"@metamask/safe-event-emitter@^3.0.0", "@metamask/safe-event-emitter@^3.1.1": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.2.tgz#bfac8c7a1a149b5bbfe98f59fbfea512dfa3bad4" + integrity sha512-5yb2gMI1BDm0JybZezeoX/3XhPDOtTbcFvpTXM9kxsoZjPZFh4XciqRbpD6N86HYZqWDhEaKUDuOyR0sQHEjMA== + +"@metamask/sdk-communication-layer@0.32.0": + version "0.32.0" + resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.32.0.tgz#89710e807806836138ea5018b087731d6acab627" + integrity sha512-dmj/KFjMi1fsdZGIOtbhxdg3amxhKL/A5BqSU4uh/SyDKPub/OT+x5pX8bGjpTL1WPWY/Q0OIlvFyX3VWnT06Q== + dependencies: + bufferutil "^4.0.8" + date-fns "^2.29.3" + debug "^4.3.4" + utf-8-validate "^5.0.2" + uuid "^8.3.2" + +"@metamask/sdk-install-modal-web@0.32.0": + version "0.32.0" + resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.32.0.tgz#86f80420ca364fa0d7710016fa5c81f95537ab23" + integrity sha512-TFoktj0JgfWnQaL3yFkApqNwcaqJ+dw4xcnrJueMP3aXkSNev2Ido+WVNOg4IIMxnmOrfAC9t0UJ0u/dC9MjOQ== + dependencies: + "@paulmillr/qr" "^0.2.1" + +"@metamask/sdk@0.32.0": + version "0.32.0" + resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.32.0.tgz#f0e179746fe69dccd032a9026884b45b519c1975" + integrity sha512-WmGAlP1oBuD9hk4CsdlG1WJFuPtYJY+dnTHJMeCyohTWD2GgkcLMUUuvu9lO1/NVzuOoSi1OrnjbuY1O/1NZ1g== + dependencies: + "@babel/runtime" "^7.26.0" + "@metamask/onboarding" "^1.0.1" + "@metamask/providers" "16.1.0" + "@metamask/sdk-communication-layer" "0.32.0" + "@metamask/sdk-install-modal-web" "0.32.0" + "@paulmillr/qr" "^0.2.1" + bowser "^2.9.0" + cross-fetch "^4.0.0" + debug "^4.3.4" + eciesjs "^0.4.11" + eth-rpc-errors "^4.0.3" + eventemitter2 "^6.4.9" + obj-multiplex "^1.0.0" + pump "^3.0.0" + readable-stream "^3.6.2" + socket.io-client "^4.5.1" + tslib "^2.6.0" + util "^0.12.4" + uuid "^8.3.2" + +"@metamask/superstruct@^3.0.0", "@metamask/superstruct@^3.1.0": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@metamask/superstruct/-/superstruct-3.2.1.tgz#fca933017c5b78529f8f525560cef32c57e889d2" + integrity sha512-fLgJnDOXFmuVlB38rUN5SmU7hAFQcCjrg3Vrxz67KTY7YHFnSNEKvX4avmEBdOI0yTCxZjwMCFEqsC8k2+Wd3g== + +"@metamask/utils@^5.0.1": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-5.0.2.tgz#140ba5061d90d9dac0280c19cab101bc18c8857c" + integrity sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g== dependencies: + "@ethereumjs/tx" "^4.1.2" "@types/debug" "^4.1.7" debug "^4.3.4" semver "^7.3.8" superstruct "^1.0.3" -"@motionone/animation@^10.15.1", "@motionone/animation@^10.17.0": - version "10.17.0" - resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.17.0.tgz#7633c6f684b5fee2b61c405881b8c24662c68fca" - integrity sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg== +"@metamask/utils@^8.3.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-8.5.0.tgz#ddd0d4012d5191809404c97648a837ea9962cceb" + integrity sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ== dependencies: - "@motionone/easing" "^10.17.0" - "@motionone/types" "^10.17.0" - "@motionone/utils" "^10.17.0" - tslib "^2.3.1" + "@ethereumjs/tx" "^4.2.0" + "@metamask/superstruct" "^3.0.0" + "@noble/hashes" "^1.3.1" + "@scure/base" "^1.1.3" + "@types/debug" "^4.1.7" + debug "^4.3.4" + pony-cause "^2.1.10" + semver "^7.5.4" + uuid "^9.0.1" -"@motionone/dom@^10.16.2", "@motionone/dom@^10.16.4": - version "10.17.0" - resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.17.0.tgz#519dd78aab0750a94614c69a82da5290cd617383" - integrity sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q== +"@metamask/utils@^9.0.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-9.3.0.tgz#4726bd7f5d6a43ea8425b6d663ab9207f617c2d1" + integrity sha512-w8CVbdkDrVXFJbfBSlDfafDR6BAkpDmv1bC1UJVCoVny5tW2RKAdn9i68Xf7asYT4TnUhl/hN4zfUiKQq9II4g== dependencies: - "@motionone/animation" "^10.17.0" - "@motionone/generators" "^10.17.0" - "@motionone/types" "^10.17.0" - "@motionone/utils" "^10.17.0" - hey-listen "^1.0.8" - tslib "^2.3.1" + "@ethereumjs/tx" "^4.2.0" + "@metamask/superstruct" "^3.1.0" + "@noble/hashes" "^1.3.1" + "@scure/base" "^1.1.3" + "@types/debug" "^4.1.7" + debug "^4.3.4" + pony-cause "^2.1.10" + semver "^7.5.4" + uuid "^9.0.1" -"@motionone/easing@^10.17.0": - version "10.17.0" - resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.17.0.tgz#d66cecf7e3ee30104ad00389fb3f0b2282d81aa9" - integrity sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg== - dependencies: - "@motionone/utils" "^10.17.0" - tslib "^2.3.1" +"@msgpack/msgpack@3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@msgpack/msgpack/-/msgpack-3.1.2.tgz#fdd25cc2202297519798bbaf4689152ad9609e19" + integrity sha512-JEW4DEtBzfe8HvUYecLU9e6+XJnKDlUAIve8FvPzF3Kzs6Xo/KuZkZJsDH0wJXl/qEZbeeE7edxDNY3kMs39hQ== -"@motionone/generators@^10.17.0": - version "10.17.0" - resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.17.0.tgz#878d292539c41434c13310d5f863a87a94e6e689" - integrity sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ== +"@napi-rs/wasm-runtime@^0.2.10": + version "0.2.11" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.11.tgz#192c1610e1625048089ab4e35bc0649ce478500e" + integrity sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA== dependencies: - "@motionone/types" "^10.17.0" - "@motionone/utils" "^10.17.0" - tslib "^2.3.1" + "@emnapi/core" "^1.4.3" + "@emnapi/runtime" "^1.4.3" + "@tybys/wasm-util" "^0.9.0" + +"@noble/ciphers@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.2.1.tgz#3812b72c057a28b44ff0ad4aff5ca846e5b9cdc9" + integrity sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA== + +"@noble/ciphers@1.3.0", "@noble/ciphers@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.3.0.tgz#f64b8ff886c240e644e5573c097f86e5b43676dc" + integrity sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw== -"@motionone/svelte@^10.16.2": - version "10.16.4" - resolved "https://registry.yarnpkg.com/@motionone/svelte/-/svelte-10.16.4.tgz#5daf117cf5b2576fc6dd487c5e0500938a742470" - integrity sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA== +"@noble/curves@1.4.2", "@noble/curves@~1.4.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" + integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw== dependencies: - "@motionone/dom" "^10.16.4" - tslib "^2.3.1" + "@noble/hashes" "1.4.0" -"@motionone/types@^10.15.1", "@motionone/types@^10.17.0": - version "10.17.0" - resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.17.0.tgz#179571ce98851bac78e19a1c3974767227f08ba3" - integrity sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA== +"@noble/curves@1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.0.tgz#fe035a23959e6aeadf695851b51a87465b5ba8f7" + integrity sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ== + dependencies: + "@noble/hashes" "1.7.0" -"@motionone/utils@^10.15.1", "@motionone/utils@^10.17.0": - version "10.17.0" - resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.17.0.tgz#cc0ba8acdc6848ff48d8c1f2d0d3e7602f4f942e" - integrity sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg== +"@noble/curves@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.1.tgz#19bc3970e205c99e4bdb1c64a4785706bce497ff" + integrity sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ== dependencies: - "@motionone/types" "^10.17.0" - hey-listen "^1.0.8" - tslib "^2.3.1" + "@noble/hashes" "1.7.1" -"@motionone/vue@^10.16.2": - version "10.16.4" - resolved "https://registry.yarnpkg.com/@motionone/vue/-/vue-10.16.4.tgz#07d09e3aa5115ca0bcc0076cb9e5322775277c09" - integrity sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg== +"@noble/curves@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.1.tgz#9654a0bc6c13420ae252ddcf975eaf0f58f0a35c" + integrity sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA== dependencies: - "@motionone/dom" "^10.16.4" - tslib "^2.3.1" + "@noble/hashes" "1.8.0" -"@noble/curves@1.0.0", "@noble/curves@~1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.0.0.tgz#e40be8c7daf088aaf291887cbc73f43464a92932" - integrity sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw== +"@noble/curves@1.9.2", "@noble/curves@^1.6.0", "@noble/curves@^1.9.1", "@noble/curves@~1.9.0": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.2.tgz#73388356ce733922396214a933ff7c95afcef911" + integrity sha512-HxngEd2XUcg9xi20JkwlLCtYwfoFw4JGkuZpT+WlsPD4gB/cxkvTD8fSsoAnphGZhFdZYKeQIPCuFlWPm1uE0g== dependencies: - "@noble/hashes" "1.3.0" + "@noble/hashes" "1.8.0" -"@noble/curves@^1.2.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.3.0.tgz#01be46da4fd195822dab821e72f71bf4aeec635e" - integrity sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA== +"@noble/curves@~1.8.1": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.2.tgz#8f24c037795e22b90ae29e222a856294c1d9ffc7" + integrity sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g== dependencies: - "@noble/hashes" "1.3.3" + "@noble/hashes" "1.7.2" -"@noble/hashes@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" - integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== +"@noble/hashes@1.4.0", "@noble/hashes@~1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" + integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== -"@noble/hashes@1.3.3", "@noble/hashes@^1.3.3", "@noble/hashes@~1.3.0": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" - integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== +"@noble/hashes@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.0.tgz#5d9e33af2c7d04fee35de1519b80c958b2e35e39" + integrity sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w== + +"@noble/hashes@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.1.tgz#5738f6d765710921e7a751e00c20ae091ed8db0f" + integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ== + +"@noble/hashes@1.7.2", "@noble/hashes@~1.7.1": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.2.tgz#d53c65a21658fb02f3303e7ee3ba89d6754c64b4" + integrity sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ== + +"@noble/hashes@1.8.0", "@noble/hashes@^1.4.0", "@noble/hashes@^1.5.0", "@noble/hashes@^1.8.0", "@noble/hashes@~1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a" + integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== + +"@noble/hashes@^1.3.1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -1896,117 +1934,30 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@parcel/watcher-android-arm64@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz#c2c19a3c442313ff007d2d7a9c2c1dd3e1c9ca84" - integrity sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg== - -"@parcel/watcher-darwin-arm64@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz#c817c7a3b4f3a79c1535bfe54a1c2818d9ffdc34" - integrity sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA== - -"@parcel/watcher-darwin-x64@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz#1a3f69d9323eae4f1c61a5f480a59c478d2cb020" - integrity sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg== - -"@parcel/watcher-freebsd-x64@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz#0d67fef1609f90ba6a8a662bc76a55fc93706fc8" - integrity sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w== - -"@parcel/watcher-linux-arm-glibc@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz#ce5b340da5829b8e546bd00f752ae5292e1c702d" - integrity sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA== - -"@parcel/watcher-linux-arm64-glibc@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz#6d7c00dde6d40608f9554e73998db11b2b1ff7c7" - integrity sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA== - -"@parcel/watcher-linux-arm64-musl@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz#bd39bc71015f08a4a31a47cd89c236b9d6a7f635" - integrity sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA== - -"@parcel/watcher-linux-x64-glibc@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz#0ce29966b082fb6cdd3de44f2f74057eef2c9e39" - integrity sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg== - -"@parcel/watcher-linux-x64-musl@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz#d2ebbf60e407170bb647cd6e447f4f2bab19ad16" - integrity sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ== - -"@parcel/watcher-wasm@^2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-wasm/-/watcher-wasm-2.4.1.tgz#c4353e4fdb96ee14389856f7f6f6d21b7dcef9e1" - integrity sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA== - dependencies: - is-glob "^4.0.3" - micromatch "^4.0.5" - napi-wasm "^1.1.0" - -"@parcel/watcher-win32-arm64@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz#eb4deef37e80f0b5e2f215dd6d7a6d40a85f8adc" - integrity sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg== - -"@parcel/watcher-win32-ia32@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz#94fbd4b497be39fd5c8c71ba05436927842c9df7" - integrity sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw== - -"@parcel/watcher-win32-x64@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz#4bf920912f67cae5f2d264f58df81abfea68dadf" - integrity sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A== +"@paulmillr/qr@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@paulmillr/qr/-/qr-0.2.1.tgz#76ade7080be4ac4824f638146fd8b6db1805eeca" + integrity sha512-IHnV6A+zxU7XwmKFinmYjUcwlyK9+xkG3/s9KcQhI9BjQKycrJ1JRO+FbNYPwZiPKW3je/DR0k7w8/gLa5eaxQ== -"@parcel/watcher@^2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.4.1.tgz#a50275151a1bb110879c6123589dba90c19f1bf8" - integrity sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA== - dependencies: - detect-libc "^1.0.3" - is-glob "^4.0.3" - micromatch "^4.0.5" - node-addon-api "^7.0.0" - optionalDependencies: - "@parcel/watcher-android-arm64" "2.4.1" - "@parcel/watcher-darwin-arm64" "2.4.1" - "@parcel/watcher-darwin-x64" "2.4.1" - "@parcel/watcher-freebsd-x64" "2.4.1" - "@parcel/watcher-linux-arm-glibc" "2.4.1" - "@parcel/watcher-linux-arm64-glibc" "2.4.1" - "@parcel/watcher-linux-arm64-musl" "2.4.1" - "@parcel/watcher-linux-x64-glibc" "2.4.1" - "@parcel/watcher-linux-x64-musl" "2.4.1" - "@parcel/watcher-win32-arm64" "2.4.1" - "@parcel/watcher-win32-ia32" "2.4.1" - "@parcel/watcher-win32-x64" "2.4.1" - -"@peculiar/asn1-schema@^2.3.8": - version "2.3.8" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.8.tgz#04b38832a814e25731232dd5be883460a156da3b" - integrity sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA== +"@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.5" - tslib "^2.6.2" + pvtsutils "^1.3.2" + tslib "^2.4.0" "@peculiar/json-schema@^1.1.12": version "1.1.12" @@ -2016,32 +1967,20 @@ tslib "^2.0.0" "@peculiar/webcrypto@^1.4.0": - version "1.4.5" - resolved "https://registry.yarnpkg.com/@peculiar/webcrypto/-/webcrypto-1.4.5.tgz#424bed6b0d133b772f5cbffd143d0468a90f40a0" - integrity sha512-oDk93QCDGdxFRM8382Zdminzs44dg3M2+E5Np+JWkpqLDyJC9DviMh8F8mEJkYuUcUOGA5jHO5AJJ10MFWdbZw== + 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.8" + "@peculiar/asn1-schema" "^2.3.6" "@peculiar/json-schema" "^1.1.12" - pvtsutils "^1.3.5" - tslib "^2.6.2" - webcrypto-core "^1.7.8" - -"@pedrouid/environment@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec" - integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug== - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + pvtsutils "^1.3.2" + tslib "^2.5.0" + webcrypto-core "^1.7.7" -"@radix-ui/number@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.0.1.tgz#644161a3557f46ed38a042acf4a770e826021674" - integrity sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg== - dependencies: - "@babel/runtime" "^7.13.10" +"@radix-ui/number@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.1.1.tgz#7b2c9225fbf1b126539551f5985769d0048d9090" + integrity sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g== "@radix-ui/primitive@1.0.1": version "1.0.1" @@ -2050,28 +1989,31 @@ dependencies: "@babel/runtime" "^7.13.10" -"@radix-ui/react-arrow@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz#c24f7968996ed934d57fe6cde5d6ec7266e1d25d" - integrity sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA== +"@radix-ui/primitive@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.1.3.tgz#e2dbc13bdc5e4168f4334f75832d7bdd3e2de5ba" + integrity sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg== + +"@radix-ui/react-arrow@1.1.7": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz#e14a2657c81d961598c5e72b73dd6098acc04f09" + integrity sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w== dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-primitive" "2.1.3" "@radix-ui/react-checkbox@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz#98f22c38d5010dd6df4c5744cac74087e3275f4b" - integrity sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-presence" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-controllable-state" "1.0.1" - "@radix-ui/react-use-previous" "1.0.1" - "@radix-ui/react-use-size" "1.0.1" + version "1.3.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-checkbox/-/react-checkbox-1.3.3.tgz#db45ca8a6d5c056a92f74edbb564acee05318b79" + integrity sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw== + dependencies: + "@radix-ui/primitive" "1.1.3" + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-context" "1.1.2" + "@radix-ui/react-presence" "1.1.5" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-use-controllable-state" "1.2.2" + "@radix-ui/react-use-previous" "1.1.1" + "@radix-ui/react-use-size" "1.1.1" "@radix-ui/react-collection@1.0.3": version "1.0.3" @@ -2084,6 +2026,16 @@ "@radix-ui/react-primitive" "1.0.3" "@radix-ui/react-slot" "1.0.2" +"@radix-ui/react-collection@1.1.7": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.1.7.tgz#d05c25ca9ac4695cc19ba91f42f686e3ea2d9aec" + integrity sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw== + dependencies: + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-context" "1.1.2" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-slot" "1.2.3" + "@radix-ui/react-compose-refs@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz#7ed868b66946aa6030e580b1ffca386dd4d21989" @@ -2091,6 +2043,11 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-compose-refs@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz#a2c4c47af6337048ee78ff6dc0d090b390d2bb30" + integrity sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg== + "@radix-ui/react-context@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.1.tgz#fe46e67c96b240de59187dcb7a1a50ce3e2ec00c" @@ -2098,6 +2055,11 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-context@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.1.2.tgz#61628ef269a433382c364f6f1e3788a6dc213a36" + integrity sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA== + "@radix-ui/react-dialog@^1.0.4", "@radix-ui/react-dialog@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz#71657b1b116de6c7a0b03242d7d43e01062c7300" @@ -2119,12 +2081,10 @@ aria-hidden "^1.1.1" react-remove-scroll "2.5.5" -"@radix-ui/react-direction@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.0.1.tgz#9cb61bf2ccf568f3421422d182637b7f47596c9b" - integrity sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA== - dependencies: - "@babel/runtime" "^7.13.10" +"@radix-ui/react-direction@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.1.1.tgz#39e5a5769e676c753204b792fbe6cf508e550a14" + integrity sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw== "@radix-ui/react-dismissable-layer@1.0.5": version "1.0.5" @@ -2138,6 +2098,17 @@ "@radix-ui/react-use-callback-ref" "1.0.1" "@radix-ui/react-use-escape-keydown" "1.0.3" +"@radix-ui/react-dismissable-layer@1.1.11": + version "1.1.11" + resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz#e33ab6f6bdaa00f8f7327c408d9f631376b88b37" + integrity sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg== + dependencies: + "@radix-ui/primitive" "1.1.3" + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-use-callback-ref" "1.1.1" + "@radix-ui/react-use-escape-keydown" "1.1.1" + "@radix-ui/react-focus-guards@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz#1ea7e32092216b946397866199d892f71f7f98ad" @@ -2145,6 +2116,11 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-focus-guards@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz#2a5669e464ad5fde9f86d22f7fdc17781a4dfa7f" + integrity sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw== + "@radix-ui/react-focus-scope@1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz#2ac45fce8c5bb33eb18419cdc1905ef4f1906525" @@ -2155,6 +2131,15 @@ "@radix-ui/react-primitive" "1.0.3" "@radix-ui/react-use-callback-ref" "1.0.1" +"@radix-ui/react-focus-scope@1.1.7": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz#dfe76fc103537d80bf42723a183773fd07bfb58d" + integrity sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw== + dependencies: + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-use-callback-ref" "1.1.1" + "@radix-ui/react-id@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.0.1.tgz#73cdc181f650e4df24f0b6a5b7aa426b912c88c0" @@ -2163,22 +2148,28 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-layout-effect" "1.0.1" -"@radix-ui/react-popper@1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.1.3.tgz#24c03f527e7ac348fabf18c89795d85d21b00b42" - integrity sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w== +"@radix-ui/react-id@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.1.1.tgz#1404002e79a03fe062b7e3864aa01e24bd1471f7" + integrity sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg== + dependencies: + "@radix-ui/react-use-layout-effect" "1.1.1" + +"@radix-ui/react-popper@1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.2.8.tgz#a79f39cdd2b09ab9fb50bf95250918422c4d9602" + integrity sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw== dependencies: - "@babel/runtime" "^7.13.10" "@floating-ui/react-dom" "^2.0.0" - "@radix-ui/react-arrow" "1.0.3" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-callback-ref" "1.0.1" - "@radix-ui/react-use-layout-effect" "1.0.1" - "@radix-ui/react-use-rect" "1.0.1" - "@radix-ui/react-use-size" "1.0.1" - "@radix-ui/rect" "1.0.1" + "@radix-ui/react-arrow" "1.1.7" + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-context" "1.1.2" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-use-callback-ref" "1.1.1" + "@radix-ui/react-use-layout-effect" "1.1.1" + "@radix-ui/react-use-rect" "1.1.1" + "@radix-ui/react-use-size" "1.1.1" + "@radix-ui/rect" "1.1.1" "@radix-ui/react-portal@1.0.4": version "1.0.4" @@ -2188,6 +2179,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-primitive" "1.0.3" +"@radix-ui/react-portal@1.1.9": + version "1.1.9" + resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.1.9.tgz#14c3649fe48ec474ac51ed9f2b9f5da4d91c4472" + integrity sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ== + dependencies: + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-use-layout-effect" "1.1.1" + "@radix-ui/react-presence@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.0.1.tgz#491990ba913b8e2a5db1b06b203cb24b5cdef9ba" @@ -2197,6 +2196,14 @@ "@radix-ui/react-compose-refs" "1.0.1" "@radix-ui/react-use-layout-effect" "1.0.1" +"@radix-ui/react-presence@1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.1.5.tgz#5d8f28ac316c32f078afce2996839250c10693db" + integrity sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ== + dependencies: + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-use-layout-effect" "1.1.1" + "@radix-ui/react-primitive@1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz#d49ea0f3f0b2fe3ab1cb5667eb03e8b843b914d0" @@ -2205,33 +2212,39 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-slot" "1.0.2" -"@radix-ui/react-select@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-select/-/react-select-2.0.0.tgz#a3511792a51a7018d6559357323a7f52e0e38887" - integrity sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w== +"@radix-ui/react-primitive@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz#db9b8bcff49e01be510ad79893fb0e4cda50f1bc" + integrity sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ== dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/number" "1.0.1" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-collection" "1.0.3" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-direction" "1.0.1" - "@radix-ui/react-dismissable-layer" "1.0.5" - "@radix-ui/react-focus-guards" "1.0.1" - "@radix-ui/react-focus-scope" "1.0.4" - "@radix-ui/react-id" "1.0.1" - "@radix-ui/react-popper" "1.1.3" - "@radix-ui/react-portal" "1.0.4" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-slot" "1.0.2" - "@radix-ui/react-use-callback-ref" "1.0.1" - "@radix-ui/react-use-controllable-state" "1.0.1" - "@radix-ui/react-use-layout-effect" "1.0.1" - "@radix-ui/react-use-previous" "1.0.1" - "@radix-ui/react-visually-hidden" "1.0.3" - aria-hidden "^1.1.1" - react-remove-scroll "2.5.5" + "@radix-ui/react-slot" "1.2.3" + +"@radix-ui/react-select@^2.0.0": + version "2.2.6" + resolved "https://registry.yarnpkg.com/@radix-ui/react-select/-/react-select-2.2.6.tgz#022cf8dab16bf05d0d1b4df9e53e4bea1b744fd9" + integrity sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ== + dependencies: + "@radix-ui/number" "1.1.1" + "@radix-ui/primitive" "1.1.3" + "@radix-ui/react-collection" "1.1.7" + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-context" "1.1.2" + "@radix-ui/react-direction" "1.1.1" + "@radix-ui/react-dismissable-layer" "1.1.11" + "@radix-ui/react-focus-guards" "1.1.3" + "@radix-ui/react-focus-scope" "1.1.7" + "@radix-ui/react-id" "1.1.1" + "@radix-ui/react-popper" "1.2.8" + "@radix-ui/react-portal" "1.1.9" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-slot" "1.2.3" + "@radix-ui/react-use-callback-ref" "1.1.1" + "@radix-ui/react-use-controllable-state" "1.2.2" + "@radix-ui/react-use-layout-effect" "1.1.1" + "@radix-ui/react-use-previous" "1.1.1" + "@radix-ui/react-visually-hidden" "1.2.3" + aria-hidden "^1.2.4" + react-remove-scroll "^2.6.3" "@radix-ui/react-slot@1.0.2": version "1.0.2" @@ -2241,6 +2254,13 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-compose-refs" "1.0.1" +"@radix-ui/react-slot@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.2.3.tgz#502d6e354fc847d4169c3bc5f189de777f68cfe1" + integrity sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A== + dependencies: + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-switch@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@radix-ui/react-switch/-/react-switch-1.0.3.tgz#6119f16656a9eafb4424c600fdb36efa5ec5837e" @@ -2281,6 +2301,11 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-use-callback-ref@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz#62a4dba8b3255fdc5cc7787faeac1c6e4cc58d40" + integrity sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg== + "@radix-ui/react-use-controllable-state@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz#ecd2ced34e6330caf89a82854aa2f77e07440286" @@ -2289,6 +2314,21 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-callback-ref" "1.0.1" +"@radix-ui/react-use-controllable-state@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz#905793405de57d61a439f4afebbb17d0645f3190" + integrity sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg== + dependencies: + "@radix-ui/react-use-effect-event" "0.0.2" + "@radix-ui/react-use-layout-effect" "1.1.1" + +"@radix-ui/react-use-effect-event@0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz#090cf30d00a4c7632a15548512e9152217593907" + integrity sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA== + dependencies: + "@radix-ui/react-use-layout-effect" "1.1.1" + "@radix-ui/react-use-escape-keydown@1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz#217b840c250541609c66f67ed7bab2b733620755" @@ -2297,6 +2337,13 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-callback-ref" "1.0.1" +"@radix-ui/react-use-escape-keydown@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz#b3fed9bbea366a118f40427ac40500aa1423cc29" + integrity sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g== + dependencies: + "@radix-ui/react-use-callback-ref" "1.1.1" + "@radix-ui/react-use-layout-effect@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz#be8c7bc809b0c8934acf6657b577daf948a75399" @@ -2304,6 +2351,11 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-use-layout-effect@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz#0c4230a9eed49d4589c967e2d9c0d9d60a23971e" + integrity sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ== + "@radix-ui/react-use-previous@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz#b595c087b07317a4f143696c6a01de43b0d0ec66" @@ -2311,13 +2363,17 @@ dependencies: "@babel/runtime" "^7.13.10" -"@radix-ui/react-use-rect@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz#fde50b3bb9fd08f4a1cd204572e5943c244fcec2" - integrity sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw== +"@radix-ui/react-use-previous@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz#1a1ad5568973d24051ed0af687766f6c7cb9b5b5" + integrity sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ== + +"@radix-ui/react-use-rect@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz#01443ca8ed071d33023c1113e5173b5ed8769152" + integrity sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w== dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/rect" "1.0.1" + "@radix-ui/rect" "1.1.1" "@radix-ui/react-use-size@1.0.1": version "1.0.1" @@ -2327,6 +2383,13 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-layout-effect" "1.0.1" +"@radix-ui/react-use-size@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz#6de276ffbc389a537ffe4316f5b0f24129405b37" + integrity sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ== + dependencies: + "@radix-ui/react-use-layout-effect" "1.1.1" + "@radix-ui/react-visually-hidden@1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz#51aed9dd0fe5abcad7dee2a234ad36106a6984ac" @@ -2335,413 +2398,729 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-primitive" "1.0.3" -"@radix-ui/rect@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.0.1.tgz#bf8e7d947671996da2e30f4904ece343bc4a883f" - integrity sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ== +"@radix-ui/react-visually-hidden@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz#a8c38c8607735dc9f05c32f87ab0f9c2b109efbf" + integrity sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug== dependencies: - "@babel/runtime" "^7.13.10" - -"@remix-run/router@1.15.3": - version "1.15.3" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.15.3.tgz#d2509048d69dbb72d5389a14945339f1430b2d3c" - integrity sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w== + "@radix-ui/react-primitive" "2.1.3" -"@repeaterjs/repeater@^3.0.4": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@repeaterjs/repeater/-/repeater-3.0.5.tgz#b77571685410217a548a9c753aa3cdfc215bfc78" - integrity sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA== - -"@rollup/rollup-android-arm-eabi@4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.1.tgz#11aaa02a933864b87f0b31cf2b755734e1f22787" - integrity sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ== - -"@rollup/rollup-android-arm64@4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.1.tgz#b1e606fb4b46b38dc32bf010d513449462d669e9" - integrity sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg== - -"@rollup/rollup-darwin-arm64@4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.1.tgz#dc21df1be9402671a8b6b15a93dd5953c68ec114" - integrity sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg== - -"@rollup/rollup-darwin-x64@4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.1.tgz#397dcc4427d774f29b9954676893574ac563bf0b" - integrity sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw== - -"@rollup/rollup-linux-arm-gnueabihf@4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.1.tgz#d851fd49d617e7792e7cde8e5a95ca51ea520fe5" - integrity sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ== - -"@rollup/rollup-linux-arm64-gnu@4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.1.tgz#e41a271ae51f79ffee6fb2b5597cc81b4ef66ad9" - integrity sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ== - -"@rollup/rollup-linux-arm64-musl@4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.1.tgz#d3b4cd6ef18d0aa7103129755e0c535701624fac" - integrity sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ== - -"@rollup/rollup-linux-riscv64-gnu@4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.1.tgz#215101b2bb768cce2f2227145b8dd5c3c716c259" - integrity sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg== - -"@rollup/rollup-linux-x64-gnu@4.12.1": - version "4.12.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.1.tgz" - integrity sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ== - -"@rollup/rollup-linux-x64-musl@4.12.1": - version "4.12.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.1.tgz" - integrity sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ== - -"@rollup/rollup-win32-arm64-msvc@4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.1.tgz#27977d91f5059645ebb3b7fbf4429982de2278d3" - integrity sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw== - -"@rollup/rollup-win32-ia32-msvc@4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.1.tgz#0d252acd5af0274209c74374867ee8b949843d75" - integrity sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA== - -"@rollup/rollup-win32-x64-msvc@4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.1.tgz#cd8d175e001c212d5ac71c7827ef1d5c5e14494c" - integrity sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q== - -"@safe-global/safe-apps-provider@^0.15.2": - version "0.15.2" - resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.15.2.tgz#fa5c30140134e72bb969da76b80a16c545323e3a" - integrity sha512-BaoGAuY7h6jLBL7P+M6b7hd+1QfTv8uMyNF3udhiNUwA0XwfzH2ePQB13IEV3Mn7wdcIMEEUDS5kHbtAsj60qQ== - dependencies: - "@safe-global/safe-apps-sdk" "7.9.0" - events "^3.3.0" +"@radix-ui/rect@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.1.1.tgz#78244efe12930c56fd255d7923865857c41ac8cb" + integrity sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw== -"@safe-global/safe-apps-sdk@7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-7.9.0.tgz#0c79a7760470bfdaf4cce9aa5bceef56898c7037" - integrity sha512-S2EI+JL8ocSgE3uGNaDZCzKmwfhtxXZFDUP76vN0FeaY35itFMyi8F0Vhxu0XnZm3yLzJE3tp5px6GhuQFLU6w== - dependencies: - "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" - ethers "^5.7.2" +"@remix-run/router@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.9.0.tgz#9033238b41c4cbe1e961eccb3f79e2c588328cf6" + integrity sha512-bV63itrKBC0zdT27qYm6SDZHlkXwFL1xMBuhkn+X7l0+IIhNaH5wuuvZKp6eKhCD4KFhujhfhCT1YxXW6esUIA== + +"@reown/appkit-adapter-wagmi@^1.7.9": + version "1.7.9" + resolved "https://registry.yarnpkg.com/@reown/appkit-adapter-wagmi/-/appkit-adapter-wagmi-1.7.9.tgz#fb57ca8f609aa42acb974027bf3b0db527389966" + integrity sha512-BwofUaaNFxK8yp+Qs9DzB0PJ9bMprt5482wnSlpwGmYnafsThvthRSzvvapDAlQvD5BsqZUQNqo9AjPsesti4g== + dependencies: + "@reown/appkit" "1.7.9" + "@reown/appkit-common" "1.7.9" + "@reown/appkit-controllers" "1.7.9" + "@reown/appkit-polyfills" "1.7.9" + "@reown/appkit-scaffold-ui" "1.7.9" + "@reown/appkit-utils" "1.7.9" + "@reown/appkit-wallet" "1.7.9" + "@walletconnect/universal-provider" "2.21.2" + valtio "1.13.2" + optionalDependencies: + "@wagmi/connectors" ">=5.7.11" -"@safe-global/safe-apps-sdk@^7.9.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-7.11.0.tgz#2cbc164fb70141cdf4d3331ff222cd98a2529316" - integrity sha512-RDamzPM1Lhhiiz0O+Dn6FkFqIh47jmZX+HCV/BBnBBOSKfBJE//IGD3+02zMgojXHTikQAburdPes9qmH1SA1A== +"@reown/appkit-common@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-common/-/appkit-common-1.7.8.tgz#6fc29db977b7325e8170b1fd08176fe15ea0b39c" + integrity sha512-ridIhc/x6JOp7KbDdwGKY4zwf8/iK8EYBl+HtWrruutSLwZyVi5P8WaZa+8iajL6LcDcDF7LoyLwMTym7SRuwQ== dependencies: - "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" - ethers "^5.7.2" - -"@safe-global/safe-gateway-typescript-sdk@^3.5.3": - version "3.18.0" - resolved "https://registry.yarnpkg.com/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.18.0.tgz#59377cd7929e3a87d3c1dcc2092faa0142a1a17d" - integrity sha512-Do+zK2uyeaXHyQsZ0JVjAQYnOox8QoBiezdBVdDGlztQTWW8QbL0J7Us2XaXEXJAYwvrt58wvIn3iLOs0lmkwQ== - -"@scure/base@~1.1.0": - version "1.1.5" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.5.tgz#1d85d17269fe97694b9c592552dd9e5e33552157" - integrity sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ== + big.js "6.2.2" + dayjs "1.11.13" + viem ">=2.29.0" -"@scure/bip32@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.0.tgz#6c8d980ef3f290987736acd0ee2e0f0d50068d87" - integrity sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q== +"@reown/appkit-common@1.7.9": + version "1.7.9" + resolved "https://registry.yarnpkg.com/@reown/appkit-common/-/appkit-common-1.7.9.tgz#c5bc0847c5d9b7bfef30dc9abdb9802de5b198a3" + integrity sha512-HUXvZQIqVXO7j7m+Gr3o7ZZFtOpO8xrVzo+RVYu1jXVe1aR2xqqfS6qih97ZfM6vH2AVpEswCtAV+CgsRqVCvQ== dependencies: - "@noble/curves" "~1.0.0" - "@noble/hashes" "~1.3.0" - "@scure/base" "~1.1.0" + big.js "6.2.2" + dayjs "1.11.13" + viem ">=2.29.0" -"@scure/bip39@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.0.tgz#a207e2ef96de354de7d0002292ba1503538fc77b" - integrity sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg== +"@reown/appkit-controllers@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-controllers/-/appkit-controllers-1.7.8.tgz#0e4c24afaacca2251745c8844463589dda6d9e66" + integrity sha512-IdXlJlivrlj6m63VsGLsjtPHHsTWvKGVzWIP1fXZHVqmK+rZCBDjCi9j267Rb9/nYRGHWBtlFQhO8dK35WfeDA== + dependencies: + "@reown/appkit-common" "1.7.8" + "@reown/appkit-wallet" "1.7.8" + "@walletconnect/universal-provider" "2.21.0" + valtio "1.13.2" + viem ">=2.29.0" + +"@reown/appkit-controllers@1.7.9": + version "1.7.9" + resolved "https://registry.yarnpkg.com/@reown/appkit-controllers/-/appkit-controllers-1.7.9.tgz#22f33731ce5ab5e118957a7f2d22dfe93a715e98" + integrity sha512-HW9yy/J1Ab6WpxjZNOjXUBWLQA7zlG1WnJKTUSs1MMQynRlMHcm5i9jr7SAdFCbEWSnVHNgbjnQ0mkd0iM/xgw== + dependencies: + "@reown/appkit-common" "1.7.9" + "@reown/appkit-wallet" "1.7.9" + "@walletconnect/universal-provider" "2.21.2" + valtio "1.13.2" + viem ">=2.29.0" + +"@reown/appkit-pay@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-pay/-/appkit-pay-1.7.8.tgz#c1ff423635869578f6ad12e6c08180c0532bf8ab" + integrity sha512-OSGQ+QJkXx0FEEjlpQqIhT8zGJKOoHzVnyy/0QFrl3WrQTjCzg0L6+i91Ad5Iy1zb6V5JjqtfIFpRVRWN4M3pw== + dependencies: + "@reown/appkit-common" "1.7.8" + "@reown/appkit-controllers" "1.7.8" + "@reown/appkit-ui" "1.7.8" + "@reown/appkit-utils" "1.7.8" + lit "3.3.0" + valtio "1.13.2" + +"@reown/appkit-pay@1.7.9": + version "1.7.9" + resolved "https://registry.yarnpkg.com/@reown/appkit-pay/-/appkit-pay-1.7.9.tgz#ba13d950c43fcae8899aff0c6f68e44fae2d2087" + integrity sha512-PejCfJssiMxhOdlxGw056bAfc1aDGZJ+Uylj1XlLYbGIleVrftmCw5zZhrATfRHEGZNMfJc0SrUWgs8u68T97Q== + dependencies: + "@reown/appkit-common" "1.7.9" + "@reown/appkit-controllers" "1.7.9" + "@reown/appkit-ui" "1.7.9" + "@reown/appkit-utils" "1.7.9" + lit "3.3.0" + valtio "1.13.2" + +"@reown/appkit-polyfills@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-polyfills/-/appkit-polyfills-1.7.8.tgz#a0d362df8479cc66b7c6aa89e696f30783a3d21b" + integrity sha512-W/kq786dcHHAuJ3IV2prRLEgD/2iOey4ueMHf1sIFjhhCGMynMkhsOhQMUH0tzodPqUgAC494z4bpIDYjwWXaA== dependencies: - "@noble/hashes" "~1.3.0" - "@scure/base" "~1.1.0" - -"@solana/buffer-layout@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" - integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== - dependencies: - buffer "~6.0.3" - -"@solana/web3.js@^1.70.1": - version "1.91.0" - resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.91.0.tgz#a763b0fcca0fa005adce3d02f3a4b6d1b84eccb7" - integrity sha512-iqOL9RjNra0TM9BbQWxBRUcZUiNmCJJO+vXLp0GiELUJhbNAoE/K6OV6s+gNEsC13dslvKtfA4mmzRnZNWXtIQ== - dependencies: - "@babel/runtime" "^7.23.4" - "@noble/curves" "^1.2.0" - "@noble/hashes" "^1.3.3" - "@solana/buffer-layout" "^4.0.1" - agentkeepalive "^4.5.0" - bigint-buffer "^1.1.5" - bn.js "^5.2.1" - borsh "^0.7.0" - bs58 "^4.0.1" buffer "6.0.3" - fast-stable-stringify "^1.0.0" - jayson "^4.1.0" - node-fetch "^2.7.0" - rpc-websockets "^7.5.1" - superstruct "^0.14.2" - -"@stablelib/aead@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" - integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== - -"@stablelib/binary@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" - integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== - dependencies: - "@stablelib/int" "^1.0.1" -"@stablelib/bytes@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" - integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== - -"@stablelib/chacha20poly1305@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" - integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== +"@reown/appkit-polyfills@1.7.9": + version "1.7.9" + resolved "https://registry.yarnpkg.com/@reown/appkit-polyfills/-/appkit-polyfills-1.7.9.tgz#88f6540a928c279757e1cead80baf9047f9d62b0" + integrity sha512-w0t99sRDxJf9UdmAKpfMXcjSX3XD/EihXZOxlHdE3H6JQ7PL62PNmwIFyTphjjKxV5eCcUK6pn5Uss0SY3vbNA== dependencies: - "@stablelib/aead" "^1.0.1" - "@stablelib/binary" "^1.0.1" - "@stablelib/chacha" "^1.0.1" - "@stablelib/constant-time" "^1.0.1" - "@stablelib/poly1305" "^1.0.1" - "@stablelib/wipe" "^1.0.1" + buffer "6.0.3" -"@stablelib/chacha@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" - integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== +"@reown/appkit-scaffold-ui@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-scaffold-ui/-/appkit-scaffold-ui-1.7.8.tgz#36b5eb71b2e4d6525fa9a696af5c4ae83ae17f63" + integrity sha512-RCeHhAwOrIgcvHwYlNWMcIDibdI91waaoEYBGw71inE0kDB8uZbE7tE6DAXJmDkvl0qPh+DqlC4QbJLF1FVYdQ== + dependencies: + "@reown/appkit-common" "1.7.8" + "@reown/appkit-controllers" "1.7.8" + "@reown/appkit-ui" "1.7.8" + "@reown/appkit-utils" "1.7.8" + "@reown/appkit-wallet" "1.7.8" + lit "3.3.0" + +"@reown/appkit-scaffold-ui@1.7.9": + version "1.7.9" + resolved "https://registry.yarnpkg.com/@reown/appkit-scaffold-ui/-/appkit-scaffold-ui-1.7.9.tgz#d728bc3121de03b229c73b91e2928b00c7964e92" + integrity sha512-032Ca84+kLlOidyTP7Hr0EWj3yrqi4A9hS3qotHZZ8TaTCWQHPDU8qcYiVNdRU0O8lKeVJ/SZqxoJGDWgy4sJQ== + dependencies: + "@reown/appkit-common" "1.7.9" + "@reown/appkit-controllers" "1.7.9" + "@reown/appkit-ui" "1.7.9" + "@reown/appkit-utils" "1.7.9" + "@reown/appkit-wallet" "1.7.9" + lit "3.3.0" + +"@reown/appkit-ui@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-ui/-/appkit-ui-1.7.8.tgz#014b30a7378cfc685aa1d5a543d59ac5a9dd8ed2" + integrity sha512-1hjCKjf6FLMFzrulhl0Y9Vb9Fu4royE+SXCPSWh4VhZhWqlzUFc7kutnZKx8XZFVQH4pbBvY62SpRC93gqoHow== dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/constant-time@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" - integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== + "@reown/appkit-common" "1.7.8" + "@reown/appkit-controllers" "1.7.8" + "@reown/appkit-wallet" "1.7.8" + lit "3.3.0" + qrcode "1.5.3" -"@stablelib/ed25519@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996" - integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== +"@reown/appkit-ui@1.7.9": + version "1.7.9" + resolved "https://registry.yarnpkg.com/@reown/appkit-ui/-/appkit-ui-1.7.9.tgz#7d23e081a821a86b7caa89c16481e3363d5dca8c" + integrity sha512-7ELAIQZfBBC3dwRZUmX0z2ftRhrcnhW8UFki1Z9aqHUEWlEEewfO6RbvJu/LgNx3ltk+slp/b0PwBmwEDkfjHg== dependencies: - "@stablelib/random" "^1.0.2" - "@stablelib/sha512" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/hash@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" - integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== + "@reown/appkit-common" "1.7.9" + "@reown/appkit-controllers" "1.7.9" + "@reown/appkit-wallet" "1.7.9" + lit "3.3.0" + qrcode "1.5.3" -"@stablelib/hkdf@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" - integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== +"@reown/appkit-utils@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-utils/-/appkit-utils-1.7.8.tgz#86a35184976a9ba8a935ba44ca68567eea10fba0" + integrity sha512-8X7UvmE8GiaoitCwNoB86pttHgQtzy4ryHZM9kQpvjQ0ULpiER44t1qpVLXNM4X35O0v18W0Dk60DnYRMH2WRw== + dependencies: + "@reown/appkit-common" "1.7.8" + "@reown/appkit-controllers" "1.7.8" + "@reown/appkit-polyfills" "1.7.8" + "@reown/appkit-wallet" "1.7.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/universal-provider" "2.21.0" + valtio "1.13.2" + viem ">=2.29.0" + +"@reown/appkit-utils@1.7.9": + version "1.7.9" + resolved "https://registry.yarnpkg.com/@reown/appkit-utils/-/appkit-utils-1.7.9.tgz#bd0e8cdd57170227531946795a7ade7b66715493" + integrity sha512-2cTteGUAzUNO/+q1kEwJf4DU4DNYI8mQtov+V7P/oO7JoNoZGkSu8tvqmaqwW6h0HWLoTmX9Dz29/VknLM3GZQ== + dependencies: + "@reown/appkit-common" "1.7.9" + "@reown/appkit-controllers" "1.7.9" + "@reown/appkit-polyfills" "1.7.9" + "@reown/appkit-wallet" "1.7.9" + "@walletconnect/logger" "2.1.2" + "@walletconnect/universal-provider" "2.21.2" + valtio "1.13.2" + viem ">=2.29.0" + +"@reown/appkit-wallet@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-wallet/-/appkit-wallet-1.7.8.tgz#291b8c225fd3c2585d1f3e65c689a791d5ce3e5d" + integrity sha512-kspz32EwHIOT/eg/ZQbFPxgXq0B/olDOj3YMu7gvLEFz4xyOFd/wgzxxAXkp5LbG4Cp++s/elh79rVNmVFdB9A== dependencies: - "@stablelib/hash" "^1.0.1" - "@stablelib/hmac" "^1.0.1" - "@stablelib/wipe" "^1.0.1" + "@reown/appkit-common" "1.7.8" + "@reown/appkit-polyfills" "1.7.8" + "@walletconnect/logger" "2.1.2" + zod "3.22.4" -"@stablelib/hmac@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" - integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== +"@reown/appkit-wallet@1.7.9": + version "1.7.9" + resolved "https://registry.yarnpkg.com/@reown/appkit-wallet/-/appkit-wallet-1.7.9.tgz#a8204a885a3e66910572f106bbd06a0a298ac161" + integrity sha512-55ChR1TfOLkrdprDDNb8fseLl/37kV79q3Q/Le989+0JIrp7QDbq/5Zk0/CNcjA++xe5Od9lUAswq8uIZOUu1g== dependencies: - "@stablelib/constant-time" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" + "@reown/appkit-common" "1.7.9" + "@reown/appkit-polyfills" "1.7.9" + "@walletconnect/logger" "2.1.2" + zod "3.22.4" -"@stablelib/int@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" - integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== +"@reown/appkit@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit/-/appkit-1.7.8.tgz#6174bca032a4a2bf4fcfc78969e09210dff85214" + integrity sha512-51kTleozhA618T1UvMghkhKfaPcc9JlKwLJ5uV+riHyvSoWPKPRIa5A6M1Wano5puNyW0s3fwywhyqTHSilkaA== + dependencies: + "@reown/appkit-common" "1.7.8" + "@reown/appkit-controllers" "1.7.8" + "@reown/appkit-pay" "1.7.8" + "@reown/appkit-polyfills" "1.7.8" + "@reown/appkit-scaffold-ui" "1.7.8" + "@reown/appkit-ui" "1.7.8" + "@reown/appkit-utils" "1.7.8" + "@reown/appkit-wallet" "1.7.8" + "@walletconnect/types" "2.21.0" + "@walletconnect/universal-provider" "2.21.0" + bs58 "6.0.0" + valtio "1.13.2" + viem ">=2.29.0" + +"@reown/appkit@1.7.9", "@reown/appkit@^1.7.9": + version "1.7.9" + resolved "https://registry.yarnpkg.com/@reown/appkit/-/appkit-1.7.9.tgz#4d7ccec10be6845167b9d2ba348e7d4473003f29" + integrity sha512-fbpzHVX+/cF5ID0Yca7V4mFd7S2MuUGZbQvSGkOUbUvWOzyzvcqB3mN/jH9N6gncoKR0iQ65rKsXJ27KA+psLQ== + dependencies: + "@reown/appkit-common" "1.7.9" + "@reown/appkit-controllers" "1.7.9" + "@reown/appkit-pay" "1.7.9" + "@reown/appkit-polyfills" "1.7.9" + "@reown/appkit-scaffold-ui" "1.7.9" + "@reown/appkit-ui" "1.7.9" + "@reown/appkit-utils" "1.7.9" + "@reown/appkit-wallet" "1.7.9" + "@walletconnect/types" "2.21.2" + "@walletconnect/universal-provider" "2.21.2" + bs58 "6.0.0" + valtio "1.13.2" + viem ">=2.29.0" -"@stablelib/keyagreement@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" - integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== - dependencies: - "@stablelib/bytes" "^1.0.1" +"@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== -"@stablelib/poly1305@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" - integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== - dependencies: - "@stablelib/constant-time" "^1.0.1" - "@stablelib/wipe" "^1.0.1" +"@rollup/pluginutils@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" + integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + +"@rollup/rollup-android-arm-eabi@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.0.tgz#a3e4e4b2baf0bade6918cf5135c3ef7eee653196" + integrity sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA== + +"@rollup/rollup-android-arm64@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.0.tgz#63566b0e76c62d4f96d44448f38a290562280200" + integrity sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw== + +"@rollup/rollup-darwin-arm64@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.0.tgz#60a51a61b22b1f4fdf97b4adf5f0f447f492759d" + integrity sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA== + +"@rollup/rollup-darwin-x64@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.0.tgz#bfe3059440f7032de11e749ece868cd7f232e609" + integrity sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ== + +"@rollup/rollup-freebsd-arm64@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.0.tgz#d5d4c6cd3b8acb7493b76227d8b2b4a2d732a37b" + integrity sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ== + +"@rollup/rollup-freebsd-x64@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.0.tgz#cb4e1547b572cd0144c5fbd6c4a0edfed5fe6024" + integrity sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g== + +"@rollup/rollup-linux-arm-gnueabihf@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.0.tgz#feb81bd086f6a469777f75bec07e1bdf93352e69" + integrity sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ== + +"@rollup/rollup-linux-arm-musleabihf@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.0.tgz#68bff1c6620c155c9d8f5ee6a83c46eb50486f18" + integrity sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg== + +"@rollup/rollup-linux-arm64-gnu@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.0.tgz#dbc5036a85e3ca3349887c8bdbebcfd011e460b0" + integrity sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ== + +"@rollup/rollup-linux-arm64-musl@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.0.tgz#72efc633aa0b93531bdfc69d70bcafa88e6152fc" + integrity sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q== + +"@rollup/rollup-linux-loongarch64-gnu@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.0.tgz#9b6a49afde86c8f57ca11efdf8fd8d7c52048817" + integrity sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg== + +"@rollup/rollup-linux-powerpc64le-gnu@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.0.tgz#93cb96073efab0cdbf419c8dfc44b5e2bd815139" + integrity sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ== + +"@rollup/rollup-linux-riscv64-gnu@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.0.tgz#028708f73c8130ae924e5c3755de50fe93687249" + integrity sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA== + +"@rollup/rollup-linux-riscv64-musl@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.0.tgz#878bfb158b2cf6671b7611fd58e5c80d9144ac6c" + integrity sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q== + +"@rollup/rollup-linux-s390x-gnu@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.0.tgz#59b4ebb2129d34b7807ed8c462ff0baaefca9ad4" + integrity sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA== + +"@rollup/rollup-linux-x64-gnu@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.0.tgz#597d40f60d4b15bedbbacf2491a69c5b67a58e93" + integrity sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw== + +"@rollup/rollup-linux-x64-musl@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.0.tgz#0a062d6fee35ec4fbb607b2a9d933a9372ccf63a" + integrity sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA== + +"@rollup/rollup-win32-arm64-msvc@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.0.tgz#41ffab489857987c75385b0fc8cccf97f7e69d0a" + integrity sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w== + +"@rollup/rollup-win32-ia32-msvc@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.0.tgz#d9fb61d98eedfa52720b6ed9f31442b3ef4b839f" + integrity sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA== + +"@rollup/rollup-win32-x64-msvc@4.44.0": + version "4.44.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.0.tgz#a36e79b6ccece1533f777a1bca1f89c13f0c5f62" + integrity sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ== + +"@safe-global/safe-apps-provider@0.18.6": + version "0.18.6" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.6.tgz#b5756176549e35350b7e090824b71507a0d1f749" + integrity sha512-4LhMmjPWlIO8TTDC2AwLk44XKXaK6hfBTWyljDm0HQ6TWlOEijVWNrt2s3OCVMSxlXAcEzYfqyu1daHZooTC2Q== + dependencies: + "@safe-global/safe-apps-sdk" "^9.1.0" + events "^3.3.0" -"@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" - integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== +"@safe-global/safe-apps-sdk@9.1.0", "@safe-global/safe-apps-sdk@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-9.1.0.tgz#0e65913e0f202e529ed3c846e0f5a98c2d35aa98" + integrity sha512-N5p/ulfnnA2Pi2M3YeWjULeWbjo7ei22JwU/IXnhoHzKq3pYCN6ynL9mJBOlvDVv892EgLPCWCOwQk/uBT2v0Q== dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" + "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" + viem "^2.1.1" -"@stablelib/sha256@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" - integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" +"@safe-global/safe-gateway-typescript-sdk@^3.5.3": + version "3.12.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.12.0.tgz#aa767a32f4d10f4ec9a47ad7e32d547d3b51e94c" + integrity sha512-hExCo62lScVC9/ztVqYEYL2pFxcqLTvB8fj0WtdP5FWrvbtEgD0pbVolchzD5bf85pbzvEwdAxSVS7EdCZxTNw== -"@stablelib/sha512@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f" - integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" +"@scure/base@1.2.6", "@scure/base@^1.1.3", "@scure/base@~1.2.2", "@scure/base@~1.2.4", "@scure/base@~1.2.5": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.6.tgz#ca917184b8231394dd8847509c67a0be522e59f6" + integrity sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg== -"@stablelib/wipe@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" - integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== +"@scure/base@~1.1.6": + version "1.1.9" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1" + integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg== -"@stablelib/x25519@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd" - integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== +"@scure/bip32@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" + integrity sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg== dependencies: - "@stablelib/keyagreement" "^1.0.1" - "@stablelib/random" "^1.0.2" - "@stablelib/wipe" "^1.0.1" - -"@tanstack/query-core@4.36.1": - version "4.36.1" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.36.1.tgz#79f8c1a539d47c83104210be2388813a7af2e524" - integrity sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA== + "@noble/curves" "~1.4.0" + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" -"@tanstack/query-persist-client-core@4.36.1": - version "4.36.1" - resolved "https://registry.yarnpkg.com/@tanstack/query-persist-client-core/-/query-persist-client-core-4.36.1.tgz#4d7284994bdc2a15fe6cbe7161be21e03033fe12" - integrity sha512-eocgCeI7D7TRv1IUUBMfVwOI0wdSmMkBIbkKhqEdTrnUHUQEeOaYac8oeZk2cumAWJdycu6P/wB+WqGynTnzXg== +"@scure/bip32@1.6.2": + version "1.6.2" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.2.tgz#093caa94961619927659ed0e711a6e4bf35bffd0" + integrity sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw== dependencies: - "@tanstack/query-core" "4.36.1" + "@noble/curves" "~1.8.1" + "@noble/hashes" "~1.7.1" + "@scure/base" "~1.2.2" -"@tanstack/query-sync-storage-persister@^4.27.1": - version "4.36.1" - resolved "https://registry.yarnpkg.com/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.36.1.tgz#bf5d800d54416bc88f150792a53e25ed8aa8769f" - integrity sha512-yMEt5hWe2+1eclf1agMtXHnPIkxEida0lYWkfdhR8U6KXk/lO4Vca6piJmhKI85t0NHlx3l/z6zX+t/Fn5O9NA== +"@scure/bip32@1.7.0", "@scure/bip32@^1.5.0", "@scure/bip32@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.7.0.tgz#b8683bab172369f988f1589640e53c4606984219" + integrity sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw== dependencies: - "@tanstack/query-persist-client-core" "4.36.1" + "@noble/curves" "~1.9.0" + "@noble/hashes" "~1.8.0" + "@scure/base" "~1.2.5" -"@tanstack/react-query-persist-client@^4.28.0": - version "4.36.1" - resolved "https://registry.yarnpkg.com/@tanstack/react-query-persist-client/-/react-query-persist-client-4.36.1.tgz#d96fa44cdc661534379623423da596a7b5dc13a7" - integrity sha512-32I5b9aAu4NCiXZ7Te/KEQLfHbYeTNriVPrKYcvEThnZ9tlW01vLcSoxpUIsMYRsembvJUUAkzYBAiZHLOd6pQ== +"@scure/bip39@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" + integrity sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ== dependencies: - "@tanstack/query-persist-client-core" "4.36.1" + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" -"@tanstack/react-query@^4.28.0": - version "4.36.1" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-4.36.1.tgz#acb589fab4085060e2e78013164868c9c785e5d2" - integrity sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw== +"@scure/bip39@1.5.4": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.4.tgz#07fd920423aa671be4540d59bdd344cc1461db51" + integrity sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA== dependencies: - "@tanstack/query-core" "4.36.1" - use-sync-external-store "^1.2.0" + "@noble/hashes" "~1.7.1" + "@scure/base" "~1.2.4" -"@tanstack/react-table@^8.13.2": - version "8.13.2" - resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.13.2.tgz#a3aa737ae464abc651f68daa7e82dca17813606c" - integrity sha512-b6mR3mYkjRtJ443QZh9sc7CvGTce81J35F/XMr0OoWbx0KIM7TTTdyNP2XKObvkLpYnLpCrYDwI3CZnLezWvpg== +"@scure/bip39@1.6.0", "@scure/bip39@^1.4.0", "@scure/bip39@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.6.0.tgz#475970ace440d7be87a6086cbee77cb8f1a684f9" + integrity sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A== dependencies: - "@tanstack/table-core" "8.13.2" + "@noble/hashes" "~1.8.0" + "@scure/base" "~1.2.5" -"@tanstack/table-core@8.13.2": - version "8.13.2" - resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.13.2.tgz#2512574dd3d20dc94b7db1f9f48090f0c18b5c85" - integrity sha512-/2saD1lWBUV6/uNAwrsg2tw58uvMJ07bO2F1IWMxjFRkJiXKQRuc3Oq2aufeobD3873+4oIM/DRySIw7+QsPPw== - -"@types/babel__core@^7.20.5": - version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" +"@socket.io/component-emitter@~3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" + integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== + +"@swc/core-darwin-arm64@1.3.92": + version "1.3.92" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.92.tgz#0498d3584cf877e39107c94705c38fa4a8c04789" + integrity sha512-v7PqZUBtIF6Q5Cp48gqUiG8zQQnEICpnfNdoiY3xjQAglCGIQCjJIDjreZBoeZQZspB27lQN4eZ43CX18+2SnA== + +"@swc/core-darwin-x64@1.3.92": + version "1.3.92" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.92.tgz#1728e7ebbfe37b56c07d99e29dde78bfa90cf8d1" + integrity sha512-Q3XIgQfXyxxxms3bPN+xGgvwk0TtG9l89IomApu+yTKzaIIlf051mS+lGngjnh9L0aUiCp6ICyjDLtutWP54fw== + +"@swc/core-linux-arm-gnueabihf@1.3.92": + version "1.3.92" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.92.tgz#6f7c20833b739f8911c936c9783976ded2c449dc" + integrity sha512-tnOCoCpNVXC+0FCfG84PBZJyLlz0Vfj9MQhyhCvlJz9hQmvpf8nTdKH7RHrOn8VfxtUBLdVi80dXgIFgbvl7qA== + +"@swc/core-linux-arm64-gnu@1.3.92": + version "1.3.92" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.92.tgz#bb01dd9b922b0c076c38924013bd10036ce39c7c" + integrity sha512-lFfGhX32w8h1j74Iyz0Wv7JByXIwX11OE9UxG+oT7lG0RyXkF4zKyxP8EoxfLrDXse4Oop434p95e3UNC3IfCw== + +"@swc/core-linux-arm64-musl@1.3.92": + version "1.3.92" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.92.tgz#0070165eed2805475c98eb732bab8bdca955932e" + integrity sha512-rOZtRcLj57MSAbiecMsqjzBcZDuaCZ8F6l6JDwGkQ7u1NYR57cqF0QDyU7RKS1Jq27Z/Vg21z5cwqoH5fLN+Sg== + +"@swc/core-linux-x64-gnu@1.3.92": + version "1.3.92" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.92.tgz#d9785f93b9121eeef0f54e8d845dd216698e0115" + integrity sha512-qptoMGnBL6v89x/Qpn+l1TH1Y0ed+v0qhNfAEVzZvCvzEMTFXphhlhYbDdpxbzRmCjH6GOGq7Y+xrWt9T1/ARg== + +"@swc/core-linux-x64-musl@1.3.92": + version "1.3.92" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.92.tgz#8fe5cf244695bf4f0bc7dc7df450a9bd1bfccc2b" + integrity sha512-g2KrJ43bZkCZHH4zsIV5ErojuV1OIpUHaEyW1gf7JWKaFBpWYVyubzFPvPkjcxHGLbMsEzO7w/NVfxtGMlFH/Q== + +"@swc/core-win32-arm64-msvc@1.3.92": + version "1.3.92" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.92.tgz#d6150785455c813a8e62f4e4b0a22773baf398eb" + integrity sha512-3MCRGPAYDoQ8Yyd3WsCMc8eFSyKXY5kQLyg/R5zEqA0uthomo0m0F5/fxAJMZGaSdYkU1DgF73ctOWOf+Z/EzQ== + +"@swc/core-win32-ia32-msvc@1.3.92": + version "1.3.92" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.92.tgz#8142166bceafbaa209d440b36fdc8cd4b4f82768" + integrity sha512-zqTBKQhgfWm73SVGS8FKhFYDovyRl1f5dTX1IwSKynO0qHkRCqJwauFJv/yevkpJWsI2pFh03xsRs9HncTQKSA== + +"@swc/core-win32-x64-msvc@1.3.92": + version "1.3.92" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.92.tgz#4ba542875fc690b579232721ccec7873e139646a" + integrity sha512-41bE66ddr9o/Fi1FBh0sHdaKdENPTuDpv1IFHxSg0dJyM/jX8LbkjnpdInYXHBxhcLVAPraVRrNsC4SaoPw2Pg== + +"@swc/core@^1.3.85": + version "1.3.92" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.92.tgz#f51808cdb6cbb90b0877b9a51806eea9a70eafca" + integrity sha512-vx0vUrf4YTEw59njOJ46Ha5i0cZTMYdRHQ7KXU29efN1MxcmJH2RajWLPlvQarOP1ab9iv9cApD7SMchDyx2vA== + dependencies: + "@swc/counter" "^0.1.1" + "@swc/types" "^0.1.5" + optionalDependencies: + "@swc/core-darwin-arm64" "1.3.92" + "@swc/core-darwin-x64" "1.3.92" + "@swc/core-linux-arm-gnueabihf" "1.3.92" + "@swc/core-linux-arm64-gnu" "1.3.92" + "@swc/core-linux-arm64-musl" "1.3.92" + "@swc/core-linux-x64-gnu" "1.3.92" + "@swc/core-linux-x64-musl" "1.3.92" + "@swc/core-win32-arm64-msvc" "1.3.92" + "@swc/core-win32-ia32-msvc" "1.3.92" + "@swc/core-win32-x64-msvc" "1.3.92" + +"@swc/counter@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.2.tgz#bf06d0770e47c6f1102270b744e17b934586985e" + integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== + +"@swc/types@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" + integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== + +"@tailwindcss/node@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/node/-/node-4.1.10.tgz#7a53a224cdd79a926ed990bbf97c74de9dadf595" + integrity sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ== + dependencies: + "@ampproject/remapping" "^2.3.0" + enhanced-resolve "^5.18.1" + jiti "^2.4.2" + lightningcss "1.30.1" + magic-string "^0.30.17" + source-map-js "^1.2.1" + tailwindcss "4.1.10" + +"@tailwindcss/oxide-android-arm64@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.10.tgz#ad0f3cbfa219e1ee5fc8ad7170885feda397c4e3" + integrity sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ== + +"@tailwindcss/oxide-darwin-arm64@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.10.tgz#d8d744f93310b45ce16420a9addd1c4329848929" + integrity sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ== + +"@tailwindcss/oxide-darwin-x64@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.10.tgz#476490d1f95592a09801a53b48466e5065d7553f" + integrity sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ== + +"@tailwindcss/oxide-freebsd-x64@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.10.tgz#7b7ccb813592209216ed39187eb8510ce6b4fc9d" + integrity sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g== + +"@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.10.tgz#9f223c7994da846b9f3c70ac0b5713371c9b3b32" + integrity sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ== + +"@tailwindcss/oxide-linux-arm64-gnu@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.10.tgz#58412e6a359a83144b30b415f637a52c8207f311" + integrity sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA== + +"@tailwindcss/oxide-linux-arm64-musl@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.10.tgz#3ed868b801a27e8cd35a615855bc94fd2786a6e8" + integrity sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ== + +"@tailwindcss/oxide-linux-x64-gnu@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.10.tgz#aca15cc4cf9dcd687eda0f5cd2bc1f4bfb485562" + integrity sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA== + +"@tailwindcss/oxide-linux-x64-musl@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.10.tgz#0c77d1e94e499a9f85c80013e6052dd98d3cfee4" + integrity sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA== + +"@tailwindcss/oxide-wasm32-wasi@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.10.tgz#6e749424db4f6e076371a66da7c4daf1fcd4f9df" + integrity sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q== + dependencies: + "@emnapi/core" "^1.4.3" + "@emnapi/runtime" "^1.4.3" + "@emnapi/wasi-threads" "^1.0.2" + "@napi-rs/wasm-runtime" "^0.2.10" + "@tybys/wasm-util" "^0.9.0" + tslib "^2.8.0" + +"@tailwindcss/oxide-win32-arm64-msvc@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.10.tgz#e1663b5a95425f0f458f616399ed9f6707d4a786" + integrity sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA== + +"@tailwindcss/oxide-win32-x64-msvc@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.10.tgz#de3d4e8b38c31caf2522ad0c6f0efdeb5034fc95" + integrity sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA== + +"@tailwindcss/oxide@4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide/-/oxide-4.1.10.tgz#b8ad6ae678b54bb533c2074092aadebac0a6d8fe" + integrity sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q== + dependencies: + detect-libc "^2.0.4" + tar "^7.4.3" + optionalDependencies: + "@tailwindcss/oxide-android-arm64" "4.1.10" + "@tailwindcss/oxide-darwin-arm64" "4.1.10" + "@tailwindcss/oxide-darwin-x64" "4.1.10" + "@tailwindcss/oxide-freebsd-x64" "4.1.10" + "@tailwindcss/oxide-linux-arm-gnueabihf" "4.1.10" + "@tailwindcss/oxide-linux-arm64-gnu" "4.1.10" + "@tailwindcss/oxide-linux-arm64-musl" "4.1.10" + "@tailwindcss/oxide-linux-x64-gnu" "4.1.10" + "@tailwindcss/oxide-linux-x64-musl" "4.1.10" + "@tailwindcss/oxide-wasm32-wasi" "4.1.10" + "@tailwindcss/oxide-win32-arm64-msvc" "4.1.10" + "@tailwindcss/oxide-win32-x64-msvc" "4.1.10" + +"@tailwindcss/vite@^4.1.10": + version "4.1.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/vite/-/vite-4.1.10.tgz#9ffa396a3f85d31f53eeaa4bac33eb0286bc955d" + integrity sha512-QWnD5HDY2IADv+vYR82lOhqOlS1jSCUUAmfem52cXAhRTKxpDh3ARX8TTXJTCCO7Rv7cD2Nlekabv02bwP3a2A== + dependencies: + "@tailwindcss/node" "4.1.10" + "@tailwindcss/oxide" "4.1.10" + tailwindcss "4.1.10" + +"@tanstack/query-core@5.80.7": + version "5.80.7" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.80.7.tgz#e029b26cad02fc5fe64116ac245aad0c3e5f83b4" + integrity sha512-s09l5zeUKC8q7DCCCIkVSns8zZrK4ZDT6ryEjxNBFi68G4z2EBobBS7rdOY3r6W1WbUDpc1fe5oY+YO/+2UVUg== + +"@tanstack/react-query@^5.80.7": + version "5.80.7" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.80.7.tgz#664f62f42d9ae892c07543fc64f53898aad57afa" + integrity sha512-u2F0VK6+anItoEvB3+rfvTO9GEh2vb00Je05OwlUe/A0lkJBgW1HckiY3f9YZa+jx6IOe4dHPh10dyp9aY3iRQ== + dependencies: + "@tanstack/query-core" "5.80.7" + +"@tanstack/react-table@^8.10.4": + version "8.10.6" + resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.10.6.tgz#a8c03cc06ac890bce4404739b9356059c4259dd4" + integrity sha512-D0VEfkIYnIKdy6SHiBNEaMc4SxO+MV7ojaPhRu8jP933/gbMi367+Wul2LxkdovJ5cq6awm0L1+jgxdS/unzIg== + dependencies: + "@tanstack/table-core" "8.10.6" + +"@tanstack/table-core@8.10.6": + version "8.10.6" + resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.10.6.tgz#c79d145dfc3dc9947a2b1cdac82cd4ec4cef822a" + integrity sha512-9t8brthhAmCBIjzk7fCDa/kPKoLQTtA31l9Ir76jYxciTlHU61r/6gYm69XF9cbg9n88gVL5y7rNpeJ2dc1AFA== + +"@tsconfig/node10@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== -"@types/babel__traverse@*": - version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz" - integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== - dependencies: - "@babel/types" "^7.20.7" +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== -"@types/connect@^3.4.33": - version "3.4.38" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" - integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== +"@tybys/wasm-util@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.9.0.tgz#3e75eb00604c8d6db470bf18c37b7d984a0e3355" + integrity sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw== dependencies: - "@types/node" "*" + tslib "^2.4.0" "@types/debug@^4.1.7": - version "4.1.12" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" - integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.9.tgz#906996938bc672aaf2fb8c0d3733ae1dda05b005" + integrity sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow== dependencies: "@types/ms" "*" -"@types/estree@1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== +"@types/eslint@^8.4.5": + version "8.56.12" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.12.tgz#1657c814ffeba4d2f84c0d4ba0f44ca7ea1ca53a" + integrity sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" + integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== "@types/js-yaml@^4.0.0": - version "4.0.9" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.9.tgz#cd82382c4f902fed9691a2ed79ec68c5898af4c2" - integrity sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg== + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.6.tgz#4b3afd5158b8749095b1f096967b6d0f838d862f" + integrity sha512-ACTuifTSIIbyksx2HTon3aFtCKWcID7/h3XEmRpDYdMCXxPbl+m9GteOJeaAkiAta/NJaSFuA7ahZ0NkwajDSw== -"@types/json-schema@^7.0.12": +"@types/json-schema@*": version "7.0.15" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== +"@types/json-schema@^7.0.12": + version "7.0.13" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.13.tgz#02c24f4363176d2d18fc8b70b9f3c54aba178a85" + integrity sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ== + "@types/json-stable-stringify@^1.0.32": - version "1.0.36" - resolved "https://registry.yarnpkg.com/@types/json-stable-stringify/-/json-stable-stringify-1.0.36.tgz#fe6c6001a69ff8160a772da08779448a333c7ddd" - integrity sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw== + version "1.0.34" + resolved "https://registry.yarnpkg.com/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz#c0fb25e4d957e0ee2e497c1f553d7f8bb668fd75" + integrity sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw== "@types/lodash.merge@^4.6.9": version "4.6.9" @@ -2751,36 +3130,29 @@ "@types/lodash" "*" "@types/lodash@*": - version "4.17.0" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.0.tgz#d774355e41f372d5350a4d0714abb48194a489c3" - integrity sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA== + version "4.14.199" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.199.tgz#c3edb5650149d847a277a8961a7ad360c474e9bf" + integrity sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg== "@types/ms@*": - version "0.7.34" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" - integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + version "0.7.32" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.32.tgz#f6cd08939ae3ad886fcc92ef7f0109dacddf61ab" + integrity sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g== -"@types/node@*", "@types/node@^20.11.25": - version "20.11.25" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.25.tgz#0f50d62f274e54dd7a49f7704cc16bfbcccaf49f" - integrity sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw== - dependencies: - undici-types "~5.26.4" - -"@types/node@^12.12.54": - version "12.20.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" - integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== +"@types/node@*", "@types/node@^20.7.0": + version "20.8.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.3.tgz#c4ae2bb1cfab2999ed441a95c122bbbe1567a66d" + integrity sha512-jxiZQFpb+NlH5kjW49vXxvxTjeeqlbsnTAdBTKpzEdPs9itay7MscYXz3Fo9VYFEsfQ6LJFitHad3faerLAjCw== "@types/prop-types@*": - version "15.7.11" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + version "15.7.8" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.8.tgz#805eae6e8f41bd19e88917d2ea200dc992f405d3" + integrity sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ== -"@types/react-dom@^18.2.19": - version "18.2.21" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.21.tgz" - integrity sha512-gnvBA/21SA4xxqNXEwNiVcP0xSGHh/gi1VhWv9Bl46a0ItbTT5nFY+G9VSQpaG/8N/qdJpJ+vftQ4zflTtnjLw== +"@types/react-dom@^18.2.7": + version "18.2.11" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.11.tgz#4332c315544698a0875dfdb6e320dda59e1b3d58" + integrity sha512-zq6Dy0EiCuF9pWFW6I6k6W2LdpUixLE4P6XjXU1QHLfak3GPACQfLwEuHzY5pOYa4hzj1d0GxX/P141aFjZsyg== dependencies: "@types/react" "*" @@ -2791,54 +3163,47 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^18.2.56": - version "18.2.64" - resolved "https://registry.npmjs.org/@types/react/-/react-18.2.64.tgz" - integrity sha512-MlmPvHgjj2p3vZaxbQgFUQFvD8QiZwACfGqEdDSWou5yISWxDQ4/74nCAwsUiX7UFLKZz3BbVSPj+YxeoGGCfg== +"@types/react@*", "@types/react@^18.2.15": + version "18.2.25" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.25.tgz#99fa44154132979e870ff409dc5b6e67f06f0199" + integrity sha512-24xqse6+VByVLIr+xWaQ9muX1B4bXJKXBbjszbld/UEDslGLY53+ZucF44HCmLbMPejTzGG9XgR+3m2/Wqu1kw== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" csstype "^3.0.2" "@types/scheduler@*": - version "0.16.8" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== + version "0.16.4" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.4.tgz#fedc3e5b15c26dc18faae96bf1317487cb3658cf" + integrity sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ== "@types/semver@^7.5.0": - version "7.5.8" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + version "7.5.3" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.3.tgz#9a726e116beb26c24f1ccd6850201e1246122e04" + integrity sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw== "@types/trusted-types@^2.0.2": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" - integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== - -"@types/ws@^7.4.4": - version "7.4.7" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" - integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== - dependencies: - "@types/node" "*" + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.4.tgz#2b38784cd16957d3782e8e2b31c03bc1d13b4d65" + integrity sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ== "@types/ws@^8.0.0": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" - integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + version "8.5.6" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.6.tgz#e9ad51f0ab79b9110c50916c9fcbddc36d373065" + integrity sha512-8B5EO9jLVCy+B58PLHvLDuOD8DRVMgQzq8d55SjLCOn9kqGyqOvy27exVaTio1q1nX5zLu8/6N0n2ThSxOM6tg== dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^7.0.2": - version "7.1.1" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.1.tgz" - integrity sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw== +"@typescript-eslint/eslint-plugin@^6.0.0": + version "6.7.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.4.tgz#057338df21b6062c2f2fc5999fbea8af9973ac6d" + integrity sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA== dependencies: "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "7.1.1" - "@typescript-eslint/type-utils" "7.1.1" - "@typescript-eslint/utils" "7.1.1" - "@typescript-eslint/visitor-keys" "7.1.1" + "@typescript-eslint/scope-manager" "6.7.4" + "@typescript-eslint/type-utils" "6.7.4" + "@typescript-eslint/utils" "6.7.4" + "@typescript-eslint/visitor-keys" "6.7.4" debug "^4.3.4" graphemer "^1.4.0" ignore "^5.2.4" @@ -2846,207 +3211,194 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/parser@^7.0.2": - version "7.1.1" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.1.1.tgz" - integrity sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ== +"@typescript-eslint/parser@^6.0.0": + version "6.7.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.7.4.tgz#23d1dd4fe5d295c7fa2ab651f5406cd9ad0bd435" + integrity sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA== dependencies: - "@typescript-eslint/scope-manager" "7.1.1" - "@typescript-eslint/types" "7.1.1" - "@typescript-eslint/typescript-estree" "7.1.1" - "@typescript-eslint/visitor-keys" "7.1.1" + "@typescript-eslint/scope-manager" "6.7.4" + "@typescript-eslint/types" "6.7.4" + "@typescript-eslint/typescript-estree" "6.7.4" + "@typescript-eslint/visitor-keys" "6.7.4" debug "^4.3.4" -"@typescript-eslint/scope-manager@7.1.1": - version "7.1.1" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.1.1.tgz" - integrity sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA== +"@typescript-eslint/scope-manager@6.7.4": + version "6.7.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.7.4.tgz#a484a17aa219e96044db40813429eb7214d7b386" + integrity sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A== dependencies: - "@typescript-eslint/types" "7.1.1" - "@typescript-eslint/visitor-keys" "7.1.1" + "@typescript-eslint/types" "6.7.4" + "@typescript-eslint/visitor-keys" "6.7.4" -"@typescript-eslint/type-utils@7.1.1": - version "7.1.1" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.1.1.tgz" - integrity sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g== +"@typescript-eslint/type-utils@6.7.4": + version "6.7.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.7.4.tgz#847cd3b59baf948984499be3e0a12ff07373e321" + integrity sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ== dependencies: - "@typescript-eslint/typescript-estree" "7.1.1" - "@typescript-eslint/utils" "7.1.1" + "@typescript-eslint/typescript-estree" "6.7.4" + "@typescript-eslint/utils" "6.7.4" debug "^4.3.4" ts-api-utils "^1.0.1" -"@typescript-eslint/types@7.1.1": - version "7.1.1" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.1.1.tgz" - integrity sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q== +"@typescript-eslint/types@6.7.4": + version "6.7.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.7.4.tgz#5d358484d2be986980c039de68e9f1eb62ea7897" + integrity sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA== -"@typescript-eslint/typescript-estree@7.1.1": - version "7.1.1" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.1.tgz" - integrity sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw== +"@typescript-eslint/typescript-estree@6.7.4": + version "6.7.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.4.tgz#f2baece09f7bb1df9296e32638b2e1130014ef1a" + integrity sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ== dependencies: - "@typescript-eslint/types" "7.1.1" - "@typescript-eslint/visitor-keys" "7.1.1" + "@typescript-eslint/types" "6.7.4" + "@typescript-eslint/visitor-keys" "6.7.4" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" - minimatch "9.0.3" semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/utils@7.1.1": - version "7.1.1" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.1.1.tgz" - integrity sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg== +"@typescript-eslint/utils@6.7.4": + version "6.7.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.7.4.tgz#2236f72b10e38277ee05ef06142522e1de470ff2" + integrity sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" "@types/json-schema" "^7.0.12" "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "7.1.1" - "@typescript-eslint/types" "7.1.1" - "@typescript-eslint/typescript-estree" "7.1.1" + "@typescript-eslint/scope-manager" "6.7.4" + "@typescript-eslint/types" "6.7.4" + "@typescript-eslint/typescript-estree" "6.7.4" semver "^7.5.4" -"@typescript-eslint/visitor-keys@7.1.1": - version "7.1.1" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.1.tgz" - integrity sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ== +"@typescript-eslint/visitor-keys@6.7.4": + version "6.7.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.4.tgz#80dfecf820fc67574012375859085f91a4dff043" + integrity sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA== dependencies: - "@typescript-eslint/types" "7.1.1" + "@typescript-eslint/types" "6.7.4" eslint-visitor-keys "^3.4.1" -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@vitejs/plugin-react@^4.2.1": - version "4.2.1" - resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz" - integrity sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ== - dependencies: - "@babel/core" "^7.23.5" - "@babel/plugin-transform-react-jsx-self" "^7.23.3" - "@babel/plugin-transform-react-jsx-source" "^7.23.3" - "@types/babel__core" "^7.20.5" - react-refresh "^0.14.0" - -"@wagmi/chains@0.2.16": - version "0.2.16" - resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-0.2.16.tgz#a726716e4619ec1c192b312e23f9c38407617aa0" - integrity sha512-rkWaI2PxCnbD8G07ZZff5QXftnSkYL0h5f4DkHCG3fGYYr/ZDvmCL4bMae7j7A9sAif1csPPBmbCzHp3R5ogCQ== - -"@wagmi/chains@0.2.22": - version "0.2.22" - resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-0.2.22.tgz#25e511e134a00742e4fbf5108613dadf876c5bd9" - integrity sha512-TdiOzJT6TO1JrztRNjTA5Quz+UmQlbvWFG8N41u9tta0boHA1JCAzGGvU6KuIcOmJfRJkKOUIt67wlbopCpVHg== - -"@wagmi/chains@0.2.25": - version "0.2.25" - resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-0.2.25.tgz#44614a07399bcebb6651899d8116475e4a87e875" - integrity sha512-Gah0bgR+14navwxi7xTL2oFB8YgK4qoBPye1b8ucccIwF3Z8Zg1u2gVTDFAyPT4lyB+ZVqwYKs3Y/IkFNG5O4Q== - -"@wagmi/chains@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.0.0.tgz#41710941f2c2a699a246c4e3a6112b4efd996171" - integrity sha512-eNbqRWyHbivcMNq5tbXJks4NaOzVLHnNQauHPeE/EDT9AlpqzcrMc+v2T1/2Iw8zN4zgqB86NCsxeJHJs7+xng== - -"@wagmi/cli@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@wagmi/cli/-/cli-1.0.0.tgz#7dc890ced1b6fa56a1fb3615a9605eb04bced39e" - integrity sha512-f8qf7UOI/dF6nV2cLAmjm+WRLnDiPiUgSYzay2e10XvBuzVP8o604BRz7AttRuqQRxbiDWu2sYnRULYrHrV6fg== +"@vitejs/plugin-react-swc@^3.3.2": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react-swc/-/plugin-react-swc-3.4.0.tgz#53ca6a07423abadec92f967e188d5ba49b350830" + integrity sha512-m7UaA4Uvz82N/0EOVpZL4XsFIakRqrFKeSNxa1FBLSXGvWrWRBwmZb4qxk+ZIVAZcW3c3dn5YosomDgx62XWcQ== dependencies: - "@wagmi/chains" "0.2.22" - abitype "^0.8.2" - abort-controller "^3.0.0" - bundle-require "^3.1.2" - cac "^6.7.12" - change-case "^4.1.2" - chokidar "^3.5.3" + "@swc/core" "^1.3.85" + +"@wagmi/cli@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@wagmi/cli/-/cli-2.3.1.tgz#9f6f04fdcf37c6519dca32224f7a8b1000e3b801" + integrity sha512-o7s4MJ7Lnd+DEVNP4+Mbtm22FU1bxv4stJSgWqlCfpIAk0TpqNhdYXXW18wreRGLUewEZfif4q7M3JfRSTce0g== + dependencies: + abitype "^1.0.4" + bundle-require "^5.1.0" + cac "^6.7.14" + change-case "^5.4.4" + chokidar "4.0.1" dedent "^0.7.0" - detect-package-manager "^2.0.1" - dotenv "^16.0.3" + dotenv "^16.3.1" dotenv-expand "^10.0.0" - esbuild "0.15.13" - execa "^6.1.0" - find-up "^6.3.0" - fs-extra "^10.1.0" - globby "^13.1.3" - node-fetch "^3.3.0" - ora "^6.1.2" - pathe "^1.0.0" + esbuild "~0.25.4" + escalade "3.2.0" + fdir "^6.1.1" + nanospinner "1.2.2" + pathe "^1.1.2" picocolors "^1.0.0" - prettier "^2.8.1" - viem "~0.3.18" - zod "^3.21.4" - -"@wagmi/connectors@1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-1.0.5.tgz#1fbd440b4ee7e01882a61c33be33d7bd7057483a" - integrity sha512-fsnaeRv1/9Ec0n2J2W0JVUV3dvv9FoiCPCiY0I1MVJxadPn9x9h9/x69NyVsx+kUdhohKUNCbPlD3lrGg5c/Fg== - dependencies: - "@coinbase/wallet-sdk" "^3.6.6" - "@ledgerhq/connect-kit-loader" "^1.0.1" - "@safe-global/safe-apps-provider" "^0.15.2" - "@safe-global/safe-apps-sdk" "^7.9.0" - "@walletconnect/ethereum-provider" "2.7.4" - "@walletconnect/legacy-provider" "^2.0.0" - "@web3modal/standalone" "^2.4.1" - abitype "0.8.1" - eventemitter3 "^4.0.7" - -"@wagmi/core@1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-1.0.6.tgz#db1204d05c02cf5b98cc8c04f3253f072c2a943a" - integrity sha512-OYcHXS2s76CgN+kOzA1EgxvmkN+yZxjb+0PeBqdRyClnajPJ69MmVRKkWgZdLDdy2JIthPyT7mIrbW1VW+mw7w== - dependencies: - "@wagmi/chains" "0.2.25" - "@wagmi/connectors" "1.0.5" - abitype "0.8.1" - eventemitter3 "^4.0.7" - zustand "^4.3.1" - -"@walletconnect/core@2.7.4": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.7.4.tgz#1471215ca8cc08ae4719ca1bb6d45dd1b49dea3a" - integrity sha512-nDJJZALZJI8l8JvjwZE4UmUzDzQBnTTJlQa/rc5MoGYtir0hfsQEl3sPkPcXbkkW5q+cHiynXsDcgM4740fmNQ== - dependencies: - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-provider" "^1.0.12" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/jsonrpc-ws-connection" "^1.0.11" - "@walletconnect/keyvaluestorage" "^1.0.2" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/relay-auth" "^1.0.4" - "@walletconnect/safe-json" "^1.0.2" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.7.4" - "@walletconnect/utils" "2.7.4" - events "^3.3.0" - lodash.isequal "4.5.0" - uint8arrays "^3.1.0" - -"@walletconnect/crypto@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@walletconnect/crypto/-/crypto-1.0.3.tgz#7b8dd4d7e2884fe3543c7c07aea425eef5ef9dd4" - integrity sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g== - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/environment" "^1.0.1" - "@walletconnect/randombytes" "^1.0.3" - aes-js "^3.1.2" - hash.js "^1.1.7" - tslib "1.14.1" - -"@walletconnect/encoding@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/encoding/-/encoding-1.0.2.tgz#cb3942ad038d6a6bf01158f66773062dd25724da" - integrity sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag== - dependencies: - is-typedarray "1.0.0" - tslib "1.14.1" - typedarray-to-buffer "3.1.5" + picomatch "^3.0.0" + prettier "^3.0.3" + viem "2.x" + zod "^3.22.2" + +"@wagmi/connectors@5.8.5", "@wagmi/connectors@>=5.7.11": + version "5.8.5" + resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.8.5.tgz#67b87998493d4ed87faaf51947ef9b8b2d3dc867" + integrity sha512-CHh4uYP6MziCMlSVXmuAv7wMoYWdxXliuzwCRAxHNNkgXE7z37ez5XzJu0Sm39NUau3Fl8WSjwKo4a4w9BOYNA== + dependencies: + "@coinbase/wallet-sdk" "4.3.3" + "@metamask/sdk" "0.32.0" + "@safe-global/safe-apps-provider" "0.18.6" + "@safe-global/safe-apps-sdk" "9.1.0" + "@walletconnect/ethereum-provider" "2.21.1" + cbw-sdk "npm:@coinbase/wallet-sdk@3.9.3" + +"@wagmi/core@2.17.3": + version "2.17.3" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.17.3.tgz#57da549a064a2e7682e9725f140efddf4adaf564" + integrity sha512-fgZR9fAiCFtGaosTspkTx5lidccq9Z5xRWOk1HG0VfB6euQGw2//Db7upiP4uQ7DPst2YS9yQN2A1m9+iJLYCw== + dependencies: + eventemitter3 "5.0.1" + mipd "0.0.7" + zustand "5.0.0" + +"@walletconnect/core@2.21.0": + version "2.21.0" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.21.0.tgz#a8927c79cd5ff47a2eaa8dd6a8e8f0060619393d" + integrity sha512-o6R7Ua4myxR8aRUAJ1z3gT9nM+jd2B2mfamu6arzy1Cc6vi10fIwFWb6vg3bC8xJ6o9H3n/cN5TOW3aA9Y1XVw== + dependencies: + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.16" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.1.0" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.0" + "@walletconnect/utils" "2.21.0" + "@walletconnect/window-getters" "1.0.1" + es-toolkit "1.33.0" + events "3.3.0" + uint8arrays "3.1.0" + +"@walletconnect/core@2.21.1": + version "2.21.1" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.21.1.tgz#fb5ba547acb2b297a8b29b4f972167886374c9dc" + integrity sha512-Tp4MHJYcdWD846PH//2r+Mu4wz1/ZU/fr9av1UWFiaYQ2t2TPLDiZxjLw54AAEpMqlEHemwCgiRiAmjR1NDdTQ== + dependencies: + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.16" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.1.0" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.1" + "@walletconnect/utils" "2.21.1" + "@walletconnect/window-getters" "1.0.1" + es-toolkit "1.33.0" + events "3.3.0" + uint8arrays "3.1.0" + +"@walletconnect/core@2.21.2": + version "2.21.2" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.21.2.tgz#7668241303d83f67a0492499ff5f6a52f283809a" + integrity sha512-t7iW+VYkNM6sO0F6G8n9qZ/32RtM4LTeye/XqfFOeoUaWzuu2xk7iR7oy1o04cu5lLy6+OV1xKDMYcOR74z49Q== + dependencies: + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.16" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.1.0" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.2" + "@walletconnect/utils" "2.21.2" + "@walletconnect/window-getters" "1.0.1" + es-toolkit "1.38.0" + events "3.3.0" + uint8arrays "3.1.1" "@walletconnect/environment@^1.0.1": version "1.0.1" @@ -3055,22 +3407,24 @@ dependencies: tslib "1.14.1" -"@walletconnect/ethereum-provider@2.7.4": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.7.4.tgz#777ad9a6229f88f766a986bb5cffaa3ff1575c0b" - integrity sha512-R5hcByY9zIsvyTHFUS+3xqtzs2REezED4tZFyXk0snJjWlnlL2EdeHaCjr5n+SIZDin4CMj1EAFC0ZrM4KoA4Q== - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.4" - "@walletconnect/jsonrpc-provider" "^1.0.11" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/sign-client" "2.7.4" - "@walletconnect/types" "2.7.4" - "@walletconnect/universal-provider" "2.7.4" - "@walletconnect/utils" "2.7.4" - events "^3.3.0" - -"@walletconnect/events@^1.0.1": +"@walletconnect/ethereum-provider@2.21.1": + version "2.21.1" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.21.1.tgz#b1e3cdcf4894613b11353bd702c019027e5a2cde" + integrity sha512-SSlIG6QEVxClgl1s0LMk4xr2wg4eT3Zn/Hb81IocyqNSGfXpjtawWxKxiC5/9Z95f1INyBD6MctJbL/R1oBwIw== + dependencies: + "@reown/appkit" "1.7.8" + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/sign-client" "2.21.1" + "@walletconnect/types" "2.21.1" + "@walletconnect/universal-provider" "2.21.1" + "@walletconnect/utils" "2.21.1" + events "3.3.0" + +"@walletconnect/events@1.0.1", "@walletconnect/events@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== @@ -3078,33 +3432,41 @@ keyvaluestorage-interface "^1.0.0" tslib "1.14.1" -"@walletconnect/heartbeat@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz#afaa3a53232ae182d7c9cff41c1084472d8f32e9" - integrity sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q== +"@walletconnect/heartbeat@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.2.tgz#e8dc5179db7769950c6f9cf59b23516d9b95227d" + integrity sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw== dependencies: "@walletconnect/events" "^1.0.1" "@walletconnect/time" "^1.0.2" - tslib "1.14.1" + events "^3.3.0" -"@walletconnect/jsonrpc-http-connection@^1.0.4": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.7.tgz#a6973569b8854c22da707a759d241e4f5c2d5a98" - integrity sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ== +"@walletconnect/jsonrpc-http-connection@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.8.tgz#2f4c3948f074960a3edd07909560f3be13e2c7ae" + integrity sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw== dependencies: "@walletconnect/jsonrpc-utils" "^1.0.6" "@walletconnect/safe-json" "^1.0.1" cross-fetch "^3.1.4" - tslib "1.14.1" + events "^3.3.0" -"@walletconnect/jsonrpc-provider@^1.0.11", "@walletconnect/jsonrpc-provider@^1.0.12", "@walletconnect/jsonrpc-provider@^1.0.6": - version "1.0.13" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz#9a74da648d015e1fffc745f0c7d629457f53648b" - integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g== +"@walletconnect/jsonrpc-provider@1.0.14": + version "1.0.14" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.14.tgz#696f3e3b6d728b361f2e8b853cfc6afbdf2e4e3e" + integrity sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow== dependencies: "@walletconnect/jsonrpc-utils" "^1.0.8" "@walletconnect/safe-json" "^1.0.2" - tslib "1.14.1" + events "^3.3.0" + +"@walletconnect/jsonrpc-types@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.4.tgz#ce1a667d79eadf2a2d9d002c152ceb68739c230c" + integrity sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ== + dependencies: + events "^3.3.0" + keyvaluestorage-interface "^1.0.0" "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3": version "1.0.3" @@ -3114,7 +3476,7 @@ keyvaluestorage-interface "^1.0.0" tslib "1.14.1" -"@walletconnect/jsonrpc-utils@^1.0.4", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@walletconnect/jsonrpc-utils@^1.0.8": +"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.8": version "1.0.8" resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz#82d0cc6a5d6ff0ecc277cb35f71402c91ad48d72" integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== @@ -3123,17 +3485,17 @@ "@walletconnect/jsonrpc-types" "^1.0.3" tslib "1.14.1" -"@walletconnect/jsonrpc-ws-connection@^1.0.11": - version "1.0.14" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.14.tgz#eec700e74766c7887de2bd76c91a0206628732aa" - integrity sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA== +"@walletconnect/jsonrpc-ws-connection@1.0.16": + version "1.0.16" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.16.tgz#666bb13fbf32a2d4f7912d5b4d0bdef26a1d057b" + integrity sha512-G81JmsMqh5nJheE1mPst1W0WfVv0SG3N7JggwLLGnI7iuDZJq8cRJvQwLGKHn5H1WTW7DEPCo00zz5w62AbL3Q== dependencies: "@walletconnect/jsonrpc-utils" "^1.0.6" "@walletconnect/safe-json" "^1.0.2" events "^3.3.0" ws "^7.5.1" -"@walletconnect/keyvaluestorage@^1.0.2": +"@walletconnect/keyvaluestorage@1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz#dd2caddabfbaf80f6b8993a0704d8b83115a1842" integrity sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA== @@ -3142,190 +3504,261 @@ idb-keyval "^6.2.1" unstorage "^1.9.0" -"@walletconnect/legacy-client@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-client/-/legacy-client-2.0.0.tgz#9f2c09694789fd4b6c5d68d6423b44bac55aed30" - integrity sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA== - dependencies: - "@walletconnect/crypto" "^1.0.3" - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/legacy-utils" "^2.0.0" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - detect-browser "^5.3.0" - query-string "^6.13.5" - -"@walletconnect/legacy-modal@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-modal/-/legacy-modal-2.0.0.tgz#d0fab01a1337a8f5d88cdb1430cbef2d46072bbf" - integrity sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q== - dependencies: - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/legacy-utils" "^2.0.0" - copy-to-clipboard "^3.3.3" - preact "^10.12.0" - qrcode "^1.5.1" - -"@walletconnect/legacy-provider@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-provider/-/legacy-provider-2.0.0.tgz#08e2db1e4c234743b2f30422bc8100bc42e8fc44" - integrity sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ== - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.4" - "@walletconnect/jsonrpc-provider" "^1.0.6" - "@walletconnect/legacy-client" "^2.0.0" - "@walletconnect/legacy-modal" "^2.0.0" - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/legacy-utils" "^2.0.0" - -"@walletconnect/legacy-types@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-types/-/legacy-types-2.0.0.tgz#224278ae2874c6a2ca805c2d1d062a511dcf7227" - integrity sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw== - dependencies: - "@walletconnect/jsonrpc-types" "^1.0.2" - -"@walletconnect/legacy-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-utils/-/legacy-utils-2.0.0.tgz#e3a637c00783f9cd2ae139b640f82223ab78ed9d" - integrity sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ== - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - detect-browser "^5.3.0" - query-string "^6.13.5" - -"@walletconnect/logger@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.0.1.tgz#7f489b96e9a1ff6bf3e58f0fbd6d69718bf844a8" - integrity sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ== +"@walletconnect/logger@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.1.2.tgz#813c9af61b96323a99f16c10089bfeb525e2a272" + integrity sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw== dependencies: + "@walletconnect/safe-json" "^1.0.2" pino "7.11.0" - tslib "1.14.1" - -"@walletconnect/randombytes@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@walletconnect/randombytes/-/randombytes-1.0.3.tgz#e795e4918367fd1e6a2215e075e64ab93e23985b" - integrity sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw== - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/environment" "^1.0.1" - randombytes "^2.1.0" - tslib "1.14.1" -"@walletconnect/relay-api@^1.0.9": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.9.tgz#f8c2c3993dddaa9f33ed42197fc9bfebd790ecaf" - integrity sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg== +"@walletconnect/relay-api@1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.11.tgz#80ab7ef2e83c6c173be1a59756f95e515fb63224" + integrity sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q== dependencies: "@walletconnect/jsonrpc-types" "^1.0.2" - tslib "1.14.1" -"@walletconnect/relay-auth@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz#0b5c55c9aa3b0ef61f526ce679f3ff8a5c4c2c7c" - integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ== +"@walletconnect/relay-auth@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.1.0.tgz#c3c5f54abd44a5138ea7d4fe77970597ba66c077" + integrity sha512-qFw+a9uRz26jRCDgL7Q5TA9qYIgcNY8jpJzI1zAWNZ8i7mQjaijRnWFKsCHAU9CyGjvt6RKrRXyFtFOpWTVmCQ== dependencies: - "@stablelib/ed25519" "^1.0.2" - "@stablelib/random" "^1.0.1" + "@noble/curves" "1.8.0" + "@noble/hashes" "1.7.0" "@walletconnect/safe-json" "^1.0.1" "@walletconnect/time" "^1.0.2" - tslib "1.14.1" uint8arrays "^3.0.0" -"@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": +"@walletconnect/safe-json@1.0.2", "@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77" integrity sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA== dependencies: tslib "1.14.1" -"@walletconnect/sign-client@2.7.4": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.7.4.tgz#e07db5856f9e45945080a169bbd9cb6849576bac" - integrity sha512-hZoCB51GB4u32yxzYnxp8dpzXgo6E7ZWUVOgnihmoMPjgJahPtvB/Ip9jYxI3fuV+ZPQYNlxQgEvR9X+2fLz+g== - dependencies: - "@walletconnect/core" "2.7.4" - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.7.4" - "@walletconnect/utils" "2.7.4" - events "^3.3.0" - -"@walletconnect/time@^1.0.2": +"@walletconnect/sign-client@2.21.0": + version "2.21.0" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.21.0.tgz#3dc3be83be58ad9a9fb53d0fd8fa5e571cfdd046" + integrity sha512-z7h+PeLa5Au2R591d/8ZlziE0stJvdzP9jNFzFolf2RG/OiXulgFKum8PrIyXy+Rg2q95U9nRVUF9fWcn78yBA== + dependencies: + "@walletconnect/core" "2.21.0" + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.0" + "@walletconnect/utils" "2.21.0" + events "3.3.0" + +"@walletconnect/sign-client@2.21.1": + version "2.21.1" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.21.1.tgz#a0d42ae44f801d131208df7216a0326a9fad61bb" + integrity sha512-QaXzmPsMnKGV6tc4UcdnQVNOz4zyXgarvdIQibJ4L3EmLat73r5ZVl4c0cCOcoaV7rgM9Wbphgu5E/7jNcd3Zg== + dependencies: + "@walletconnect/core" "2.21.1" + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.1" + "@walletconnect/utils" "2.21.1" + events "3.3.0" + +"@walletconnect/sign-client@2.21.2": + version "2.21.2" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.21.2.tgz#358e7a05c3dead51b83f86e23d18ccb6b5063070" + integrity sha512-3cgd5j2itbbB9SiSk0lT3P/39vVW7PA8uN+BIouzlZw74RwQnzVu+Lms21hH2aY3S44EvnZoU2DtLjKNSTYc7g== + dependencies: + "@walletconnect/core" "2.21.2" + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.2" + "@walletconnect/utils" "2.21.2" + events "3.3.0" + +"@walletconnect/time@1.0.2", "@walletconnect/time@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== dependencies: tslib "1.14.1" -"@walletconnect/types@2.7.4": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.7.4.tgz#958864e7ef497206a24db0ca629a478ca8e1cc08" - integrity sha512-Nagfz8DqLxf0UlVd7xopgBX60EJp1xUEq7J30ALlTbWqEhCHuLK/qPk5vGdJ9Q6+ZDpTW9ShLq1DNf+5nVpVDQ== - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/keyvaluestorage" "^1.0.2" - "@walletconnect/logger" "^2.0.1" - events "^3.3.0" - -"@walletconnect/universal-provider@2.7.4": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.7.4.tgz#f21dcaf89c102bda79f13e92c45833f8f1196775" - integrity sha512-suH3o5LpTX7hlx5lU98oLdEM0Ws5ZysjQ4Zr6EWIK1DVT8EDdWbw49ggJSW9IYRLQ2xG22jDvmTIdFAexYOgng== - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.4" - "@walletconnect/jsonrpc-provider" "^1.0.11" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/sign-client" "2.7.4" - "@walletconnect/types" "2.7.4" - "@walletconnect/utils" "2.7.4" - eip1193-provider "1.0.1" - events "^3.3.0" - -"@walletconnect/utils@2.7.4": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.7.4.tgz#314a164aabb7551dae4ac58e63312c9ae6369e1e" - integrity sha512-2WEeKB9h/FQvyNmIBYwLtjdLm3Oo55EwtJoxkC00SA7xjf8jYxZ8q2y4P/CJP8oO5ruxBK5Ft0smKvPHXsE58Q== - dependencies: - "@stablelib/chacha20poly1305" "1.0.1" - "@stablelib/hkdf" "1.0.1" - "@stablelib/random" "^1.0.2" - "@stablelib/sha256" "1.0.1" - "@stablelib/x25519" "^1.0.3" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/safe-json" "^1.0.2" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.7.4" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" +"@walletconnect/types@2.21.0": + version "2.21.0" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.21.0.tgz#afb47ff5966d57f97dd955dc3fa4817c616b9c24" + integrity sha512-ll+9upzqt95ZBWcfkOszXZkfnpbJJ2CmxMfGgE5GmhdxxxCcO5bGhXkI+x8OpiS555RJ/v/sXJYMSOLkmu4fFw== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + events "3.3.0" + +"@walletconnect/types@2.21.1": + version "2.21.1" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.21.1.tgz#258c1b94eac20f20896b7998a76ff4f18c935983" + integrity sha512-UeefNadqP6IyfwWC1Yi7ux+ljbP2R66PLfDrDm8izmvlPmYlqRerJWJvYO4t0Vvr9wrG4Ko7E0c4M7FaPKT/sQ== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + events "3.3.0" + +"@walletconnect/types@2.21.2": + version "2.21.2" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.21.2.tgz#e7e0d9ba74fd7125090398d75c430c2d9467252e" + integrity sha512-4uvE01iPV5GgvHRREVb/gHc9qDoDwSgaI+eFO2hVO/HYZdg5KTQ50lbFX7VGuvdCG4YQqXd9PHHxfcS+/GLU0g== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + events "3.3.0" + +"@walletconnect/universal-provider@2.21.0": + version "2.21.0" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.21.0.tgz#fb21e9726a8eb983df70cf2b304b110b6a0b1354" + integrity sha512-mtUQvewt+X0VBQay/xOJBvxsB3Xsm1lTwFjZ6WUwSOTR1X+FNb71hSApnV5kbsdDIpYPXeQUbGt2se1n5E5UBg== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/sign-client" "2.21.0" + "@walletconnect/types" "2.21.0" + "@walletconnect/utils" "2.21.0" + es-toolkit "1.33.0" + events "3.3.0" + +"@walletconnect/universal-provider@2.21.1": + version "2.21.1" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.21.1.tgz#e6047b89454c64ee0766595b36ec308fba3b55e2" + integrity sha512-Wjx9G8gUHVMnYfxtasC9poGm8QMiPCpXpbbLFT+iPoQskDDly8BwueWnqKs4Mx2SdIAWAwuXeZ5ojk5qQOxJJg== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/sign-client" "2.21.1" + "@walletconnect/types" "2.21.1" + "@walletconnect/utils" "2.21.1" + es-toolkit "1.33.0" + events "3.3.0" + +"@walletconnect/universal-provider@2.21.2": + version "2.21.2" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.21.2.tgz#7958c9bc80094ef8f322c8c352357236d1fd3e0c" + integrity sha512-LeOmtAqGx+Y0hoG4p1+3Qdi+fJ8uIRJY4wXh6D1/yCfsqCIRwiRffZH1mCuFQcpJWuPI4n17na5OvsdhPBvKgA== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/sign-client" "2.21.2" + "@walletconnect/types" "2.21.2" + "@walletconnect/utils" "2.21.2" + es-toolkit "1.38.0" + events "3.3.0" + +"@walletconnect/utils@2.21.0": + version "2.21.0" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.21.0.tgz#53517aab2ba456b9765b8ab064c7f721acfc4626" + integrity sha512-zfHLiUoBrQ8rP57HTPXW7rQMnYxYI4gT9yTACxVW6LhIFROTF6/ytm5SKNoIvi4a5nX5dfXG4D9XwQUCu8Ilig== + dependencies: + "@noble/ciphers" "1.2.1" + "@noble/curves" "1.8.1" + "@noble/hashes" "1.7.1" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.1.0" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.0" + "@walletconnect/window-getters" "1.0.1" + "@walletconnect/window-metadata" "1.0.1" + bs58 "6.0.0" + detect-browser "5.3.0" + query-string "7.1.3" + uint8arrays "3.1.0" + viem "2.23.2" + +"@walletconnect/utils@2.21.1": + version "2.21.1" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.21.1.tgz#acdadc38685cefbc6b49b7d7853893dfcb8ee044" + integrity sha512-VPZvTcrNQCkbGOjFRbC24mm/pzbRMUq2DSQoiHlhh0X1U7ZhuIrzVtAoKsrzu6rqjz0EEtGxCr3K1TGRqDG4NA== + dependencies: + "@noble/ciphers" "1.2.1" + "@noble/curves" "1.8.1" + "@noble/hashes" "1.7.1" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.1.0" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.1" + "@walletconnect/window-getters" "1.0.1" + "@walletconnect/window-metadata" "1.0.1" + bs58 "6.0.0" detect-browser "5.3.0" query-string "7.1.3" - uint8arrays "^3.1.0" + uint8arrays "3.1.0" + viem "2.23.2" + +"@walletconnect/utils@2.21.2": + version "2.21.2" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.21.2.tgz#d5e73fb35fdd049bc9900abba7c9e2980f696c27" + integrity sha512-gtKKa4qw33/XgKpO2ADoo8wgGml9lvMxY5B0LLWzlIma89dbDcx80LWT2Fd4+7CXb/PKt2/2kJLLGjD8MzKoqQ== + dependencies: + "@msgpack/msgpack" "3.1.2" + "@noble/ciphers" "1.3.0" + "@noble/curves" "1.9.1" + "@noble/hashes" "1.8.0" + "@scure/base" "1.2.6" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.1.0" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.2" + "@walletconnect/window-getters" "1.0.1" + "@walletconnect/window-metadata" "1.0.1" + blakejs "1.2.1" + bs58 "6.0.0" + detect-browser "5.3.0" + query-string "7.1.3" + uint8arrays "3.1.1" + viem "2.30.6" -"@walletconnect/window-getters@^1.0.1": +"@walletconnect/window-getters@1.0.1", "@walletconnect/window-getters@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== dependencies: tslib "1.14.1" -"@walletconnect/window-metadata@^1.0.1": +"@walletconnect/window-metadata@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== @@ -3333,32 +3766,6 @@ "@walletconnect/window-getters" "^1.0.1" tslib "1.14.1" -"@web3modal/core@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@web3modal/core/-/core-2.4.3.tgz#ea6d3911e52a132c70defb7584f869d09a8af974" - integrity sha512-7Z/sDe9RIYQ2k9ITcxgEa/u7FvlI76vcVVZn9UY4ISivefqrH4JAS3GX4JmVNUUlovwuiZdyqBv4llAQOMK6Rg== - dependencies: - buffer "6.0.3" - valtio "1.10.5" - -"@web3modal/standalone@^2.4.1": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@web3modal/standalone/-/standalone-2.4.3.tgz#98aaa65eba725c34d5be9078ef04b4e9b769d0f3" - integrity sha512-5ATXBoa4GGm+TIUSsKWsfWCJunv1XevOizpgTFhqyeGgRDmWhqsz9UIPzH/1mk+g0iJ/xqMKs5F6v9D2QeKxag== - dependencies: - "@web3modal/core" "2.4.3" - "@web3modal/ui" "2.4.3" - -"@web3modal/ui@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@web3modal/ui/-/ui-2.4.3.tgz#986c6bed528dccab679c734ff531e42f6605c5b2" - integrity sha512-J989p8CdtEhI9gZHf/rZ/WFqYlrAHWw9GmAhFoiNODwjAp0BoG/uoaPiijJMchXdngihZOjLGCQwDXU16DHiKg== - dependencies: - "@web3modal/core" "2.4.3" - lit "2.7.5" - motion "10.16.2" - qrcode "1.5.3" - "@whatwg-node/events@^0.0.3": version "0.0.3" resolved "https://registry.yarnpkg.com/@whatwg-node/events/-/events-0.0.3.tgz#13a65dd4f5893f55280f766e29ae48074927acad" @@ -3381,12 +3788,12 @@ web-streams-polyfill "^3.2.1" "@whatwg-node/fetch@^0.9.0": - version "0.9.17" - resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.9.17.tgz#10e4ea2392926c8d41ff57e3156857e885317d3f" - integrity sha512-TDYP3CpCrxwxpiNY0UMNf096H5Ihf67BK1iKGegQl5u9SlpEDYrvnV71gWBGJm+Xm31qOy8ATgma9rm8Pe7/5Q== + version "0.9.13" + resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.9.13.tgz#1d084cd546b9cd425ae89cbb1252a3e47a9a2e1c" + integrity sha512-PPtMwhjtS96XROnSpowCQM85gCUG2m7AXZFw0PZlGbhzx2GK7f2iOXilfgIJ0uSlCuuGbOIzfouISkA7C4FJOw== dependencies: - "@whatwg-node/node-fetch" "^0.5.7" - urlpattern-polyfill "^10.0.0" + "@whatwg-node/node-fetch" "^0.4.17" + urlpattern-polyfill "^9.0.0" "@whatwg-node/node-fetch@^0.3.6": version "0.3.6" @@ -3399,35 +3806,28 @@ fast-url-parser "^1.1.3" tslib "^2.3.1" -"@whatwg-node/node-fetch@^0.5.7": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@whatwg-node/node-fetch/-/node-fetch-0.5.7.tgz#88d231c4e377354580f317cd5bb719fa1868850d" - integrity sha512-YZA+N3JcW1eh2QRi7o/ij+M07M0dqID73ltgsOEMRyEc2UYVDbyomaih+CWCEZqBIDHw4KMDveXvv4SBZ4TLIw== +"@whatwg-node/node-fetch@^0.4.17": + version "0.4.19" + resolved "https://registry.yarnpkg.com/@whatwg-node/node-fetch/-/node-fetch-0.4.19.tgz#29c72ff65a8e450949238612ff17a3d3717736d3" + integrity sha512-AW7/m2AuweAoSXmESrYQr/KBafueScNbn2iNO0u6xFr2JZdPmYsSm5yvAXYk6yDLv+eDmSSKrf7JnFZ0CsJIdA== dependencies: - "@kamilkisiela/fast-url-parser" "^1.1.4" "@whatwg-node/events" "^0.1.0" busboy "^1.6.0" fast-querystring "^1.1.1" + fast-url-parser "^1.1.3" tslib "^2.3.1" -"@wry/caches@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@wry/caches/-/caches-1.0.1.tgz#8641fd3b6e09230b86ce8b93558d44cf1ece7e52" - integrity sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA== - dependencies: - tslib "^2.3.0" - -"@wry/context@^0.7.0": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.4.tgz#e32d750fa075955c4ab2cfb8c48095e1d42d5990" - integrity sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ== +"@wry/context@^0.7.0", "@wry/context@^0.7.3": + version "0.7.3" + resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.3.tgz#240f6dfd4db5ef54f81f6597f6714e58d4f476a1" + integrity sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA== dependencies: tslib "^2.3.0" "@wry/equality@^0.5.6": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.7.tgz#72ec1a73760943d439d56b7b1e9985aec5d497bb" - integrity sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw== + version "0.5.6" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.6.tgz#cd4a533c72c3752993ab8cbf682d3d20e3cb601e" + integrity sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA== dependencies: tslib "^2.3.0" @@ -3438,40 +3838,10 @@ dependencies: tslib "^2.3.0" -"@wry/trie@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.5.0.tgz#11e783f3a53f6e4cd1d42d2d1323f5bc3fa99c94" - integrity sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA== - dependencies: - tslib "^2.3.0" - -JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abitype@0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.1.tgz#9575a21da88bb4094a262a653e526a088ab06041" - integrity sha512-n8Di6AWb3i7HnEkBvecU6pG0a5nj5YwMvdAIwPLsQK95ulRy/XS113s/RXvSfTX1iOQJYFrEO3/q4SMWu7OwTA== - -abitype@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.2.tgz#cacd330d07488a4020d84f54fc361361234b9c83" - integrity sha512-B1ViNMGpfx/qjVQi0RTc2HEFHuR9uoCoTEkwELT5Y7pBPtBbctYijz9BK6+Kd0hQ3S70FhYTO2dWWk0QNUEXMA== - -abitype@0.8.7: - version "0.8.7" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.7.tgz#e4b3f051febd08111f486c0cc6a98fa72d033622" - integrity sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w== - -abitype@^0.8.2: - version "0.8.11" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.11.tgz#66e1cf2cbf46f48d0e57132d7c1c392447536cc1" - integrity sha512-bM4v2dKvX08sZ9IU38IN5BKmN+ZkOSd2oI4a9f0ejHYZQYV6cDr7j+d95ga0z2XHG36Y4jzoG5Z7qDqxp7fi/A== +abitype@1.0.8, abitype@^1.0.4, abitype@^1.0.6, abitype@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.8.tgz#3554f28b2e9d6e9f35eb59878193eabd1b9f46ba" + integrity sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg== abort-controller@^3.0.0: version "3.0.0" @@ -3482,23 +3852,25 @@ abort-controller@^3.0.0: acorn-jsx@^5.3.2: version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.11.3, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== +acorn-walk@^8.1.1: + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== + dependencies: + acorn "^8.11.0" -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== +acorn@^8.11.0, acorn@^8.4.1: + version "8.15.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" + integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== -aes-js@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" - integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== +acorn@^8.9.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== agent-base@^7.0.2, agent-base@^7.1.0: version "7.1.0" @@ -3507,13 +3879,6 @@ agent-base@^7.0.2, agent-base@^7.1.0: dependencies: debug "^4.3.4" -agentkeepalive@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" - integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== - dependencies: - humanize-ms "^1.2.1" - aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -3524,7 +3889,7 @@ aggregate-error@^3.0.0: ajv@^6.12.4: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -3541,54 +3906,39 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@^3.1.3, anymatch@~3.1.2: +anymatch@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" -arg@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== aria-hidden@^1.1.1: @@ -3598,9 +3948,16 @@ aria-hidden@^1.1.1: dependencies: tslib "^2.0.0" +aria-hidden@^1.2.4: + version "1.2.6" + resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.6.tgz#73051c9b088114c795b1ea414e9c0fff874ffc1a" + integrity sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA== + dependencies: + tslib "^2.0.0" + array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== asap@~2.0.3: @@ -3639,31 +3996,22 @@ auto-bind@~4.0.0: resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb" integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== -autoprefixer@^10.4.18: - version "10.4.18" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz" - integrity sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g== +autoprefixer@^10.4.16: + version "10.4.16" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.16.tgz#fad1411024d8670880bdece3970aa72e3572feb8" + integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ== dependencies: - browserslist "^4.23.0" - caniuse-lite "^1.0.30001591" - fraction.js "^4.3.7" + browserslist "^4.21.10" + caniuse-lite "^1.0.30001538" + fraction.js "^4.3.6" normalize-range "^0.1.2" picocolors "^1.0.0" postcss-value-parser "^4.2.0" -available-typed-arrays@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -axios@^0.21.0: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: version "7.0.0-beta.0" @@ -3705,55 +4053,29 @@ babel-preset-fbjs@^3.4.0: balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base-x@^3.0.2: - version "3.0.9" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" - integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== - dependencies: - safe-buffer "^5.0.1" +base-x@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-5.0.1.tgz#16bf35254be1df8aca15e36b7c1dda74b2aa6b03" + integrity sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg== base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== +big.js@6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.2.tgz#be3bb9ac834558b53b099deef2a1d06ac6368e1a" + integrity sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ== big.js@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.1.tgz#7205ce763efb17c2e41f26f121c420c6a7c2744f" integrity sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ== -bigint-buffer@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" - integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== - dependencies: - bindings "^1.3.0" - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bind-decorator@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/bind-decorator/-/bind-decorator-1.0.11.tgz#e41bc06a1f65dd9cec476c91c5daf3978488252f" - integrity sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg== - -bindings@^1.3.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" @@ -3763,52 +4085,37 @@ bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" -bl@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-5.1.0.tgz#183715f678c7188ecef9fe475d90209400624273" - integrity sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ== - dependencies: - buffer "^6.0.3" - inherits "^2.0.4" - readable-stream "^3.4.0" +blakejs@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.1.1, bn.js@^5.2.0, bn.js@^5.2.1: +bn.js@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== -borsh@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" - integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== - dependencies: - bn.js "^5.2.0" - bs58 "^4.0.0" - text-encoding-utf-8 "^1.0.2" +bowser@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: +braces@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" @@ -3818,22 +4125,22 @@ brorand@^1.1.0: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== -browserslist@^4.22.2, browserslist@^4.23.0: - version "4.23.0" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== +browserslist@^4.21.10, browserslist@^4.21.9: + version "4.22.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" + integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" + node-releases "^2.0.13" update-browserslist-db "^1.0.13" -bs58@^4.0.0, bs58@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== +bs58@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-6.0.0.tgz#a2cda0130558535dd281a2f8697df79caaf425d8" + integrity sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw== dependencies: - base-x "^3.0.2" + base-x "^5.0.0" bser@2.1.1: version "2.1.1" @@ -3842,7 +4149,7 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" -buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: +buffer@6.0.3, buffer@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -3858,19 +4165,19 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -bufferutil@^4.0.1: - version "4.0.8" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" - integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== +bufferutil@^4.0.8: + version "4.0.9" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.9.tgz#6e81739ad48a95cad45a279588e13e95e24a800a" + integrity sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw== dependencies: node-gyp-build "^4.3.0" -bundle-require@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bundle-require/-/bundle-require-3.1.2.tgz#1374a7bdcb8b330a7ccc862ccbf7c137cc43ad27" - integrity sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA== +bundle-require@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/bundle-require/-/bundle-require-5.1.0.tgz#8db66f41950da3d77af1ef3322f4c3e04009faee" + integrity sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA== dependencies: - load-tsconfig "^0.2.0" + load-tsconfig "^0.2.3" busboy@^1.6.0: version "1.6.0" @@ -3879,25 +4186,22 @@ busboy@^1.6.0: dependencies: streamsearch "^1.1.0" -cac@^6.7.12: +cac@^6.7.14: version "6.7.14" resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== -call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== +call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.0.2" callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camel-case@^4.1.2: @@ -3908,20 +4212,15 @@ camel-case@^4.1.2: pascal-case "^3.1.2" tslib "^2.0.3" -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - camelcase@^5.0.0: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001591: - version "1.0.30001596" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001596.tgz" - integrity sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ== +caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541: + version "1.0.30001546" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz#10fdad03436cfe3cc632d3af7a99a0fb497407f0" + integrity sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw== capital-case@^1.0.4: version "1.0.4" @@ -3932,9 +4231,24 @@ capital-case@^1.0.4: tslib "^2.0.3" upper-case-first "^2.0.2" +"cbw-sdk@npm:@coinbase/wallet-sdk@3.9.3": + version "3.9.3" + resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.9.3.tgz#daf10cb0c85d0363315b7270cb3f02bedc408aab" + integrity sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw== + dependencies: + bn.js "^5.2.1" + buffer "^6.0.3" + clsx "^1.2.1" + eth-block-tracker "^7.1.0" + eth-json-rpc-filters "^6.0.0" + eventemitter3 "^5.0.1" + keccak "^3.0.3" + preact "^10.16.0" + sha.js "^2.4.11" + chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -3949,11 +4263,6 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^5.0.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== - change-case-all@1.0.14: version "1.0.14" resolved "https://registry.yarnpkg.com/change-case-all/-/change-case-all-1.0.14.tgz#bac04da08ad143278d0ac3dda7eccd39280bfba1" @@ -4004,32 +4313,34 @@ change-case@^4.1.2: snake-case "^3.0.4" tslib "^2.0.3" +change-case@^5.4.4: + version "5.4.4" + resolved "https://registry.yarnpkg.com/change-case/-/change-case-5.4.4.tgz#0d52b507d8fb8f204343432381d1a6d7bff97a02" + integrity sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w== + chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" +chokidar@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.1.tgz#4a6dff66798fb0f72a94f616abbd7e1a19f31d41" + integrity sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA== + dependencies: + readdirp "^4.0.1" -citty@^0.1.5, citty@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/citty/-/citty-0.1.6.tgz#0f7904da1ed4625e1a9ea7e0fa780981aab7c5e4" - integrity sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ== +chokidar@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" + integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== dependencies: - consola "^3.2.3" + readdirp "^4.0.1" + +chownr@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-3.0.0.tgz#9855e64ecd240a9cc4267ce8a4aa5d24a1da15e4" + integrity sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g== class-variance-authority@^0.7.0: version "0.7.0" @@ -4050,17 +4361,10 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" - integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== - dependencies: - restore-cursor "^4.0.0" - -cli-spinners@^2.5.0, cli-spinners@^2.6.1: - version "2.9.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" - integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== +cli-spinners@^2.5.0: + version "2.9.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.1.tgz#9c0b9dad69a6d47cbb4333c14319b060ed395a35" + integrity sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ== cli-truncate@^2.1.0: version "2.1.0" @@ -4075,15 +4379,6 @@ cli-width@^3.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== -clipboardy@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-4.0.0.tgz#e73ced93a76d19dd379ebf1f297565426dffdca1" - integrity sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w== - dependencies: - execa "^8.0.1" - is-wsl "^3.1.0" - is64bit "^2.0.0" - cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" @@ -4107,48 +4402,38 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== -clsx@2.0.0: +clsx@2.0.0, clsx@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== -clsx@^1.1.0: +clsx@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== -clsx@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" - integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== - -cluster-key-slot@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz#88ddaa46906e303b5de30d3153b7d9fe0a0c19ac" - integrity sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA== - color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colorette@^2.0.16: @@ -4156,16 +4441,6 @@ colorette@^2.0.16: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== -commander@^2.20.3: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.0.0: - version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - common-tags@1.8.2: version "1.8.2" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" @@ -4173,14 +4448,9 @@ common-tags@1.8.2: concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -consola@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" - integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== - constant-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-3.0.4.tgz#3b84a9aeaf4cf31ec45e6bf5de91bdfb0589faf1" @@ -4192,20 +4462,18 @@ constant-case@^3.0.4: convert-source-map@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -cookie-es@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-1.0.0.tgz#4759684af168dfc54365b2c2dda0a8d7ee1e4865" - integrity sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ== +cookie-es@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-1.2.2.tgz#18ceef9eb513cac1cb6c14bcbf8bdb2679b34821" + integrity sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg== -copy-to-clipboard@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" - integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== - dependencies: - toggle-selection "^1.0.6" +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@^8.1.0, cosmiconfig@^8.1.3: version "8.3.6" @@ -4217,6 +4485,16 @@ cosmiconfig@^8.1.0, cosmiconfig@^8.1.3: parse-json "^5.2.0" path-type "^4.0.0" +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + +create-require@^1.1.0: + version "1.1.1" + 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: version "3.1.8" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" @@ -4224,59 +4502,70 @@ cross-fetch@^3.1.4, cross-fetch@^3.1.5: dependencies: node-fetch "^2.6.12" -cross-inspect@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cross-inspect/-/cross-inspect-1.0.0.tgz#5fda1af759a148594d2d58394a9e21364f6849af" - integrity sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ== +cross-fetch@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.1.0.tgz#8f69355007ee182e47fa692ecbaa37a52e43c3d2" + integrity sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw== dependencies: - tslib "^2.4.0" + node-fetch "^2.7.0" -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.2: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" which "^2.0.1" -crossws@^0.2.0, crossws@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/crossws/-/crossws-0.2.4.tgz#82a8b518bff1018ab1d21ced9e35ffbe1681ad03" - integrity sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== +crossws@^0.3.4: + version "0.3.5" + resolved "https://registry.yarnpkg.com/crossws/-/crossws-0.3.5.tgz#daad331d44148ea6500098bc858869f3a5ab81a6" + integrity sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA== + dependencies: + uncrypto "^0.1.3" csstype@^3.0.2: - version "3.1.3" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -data-uri-to-buffer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" - integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== dataloader@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.2.2.tgz#216dc509b5abe39d43a9b9d97e6e5e473dfbe3e0" integrity sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g== +date-fns@^2.29.3: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + +dayjs@1.11.13: + version "1.11.13" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" + integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== + debounce@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@4, debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: +debug@4, 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.npmjs.org/debug/-/debug-4.3.4.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" +debug@~4.3.1, debug@~4.3.2: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -4287,7 +4576,7 @@ decimal.js-light@^2.5.1: resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934" integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== -decode-uri-component@^0.2.0, decode-uri-component@^0.2.2: +decode-uri-component@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== @@ -4299,7 +4588,7 @@ dedent@^0.7.0: deep-is@^0.1.3: version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== defaults@^1.0.3: @@ -4309,41 +4598,27 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -defu@^6.1.3, defu@^6.1.4: +defu@^6.1.4: version "6.1.4" resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.4.tgz#4e0c9cf9ff68fe5f3d7f2765cc1a012dfdcb0479" integrity sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== -delay@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" - integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== - -denque@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1" - integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== - dependency-graph@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== -destr@^2.0.1, destr@^2.0.2, destr@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.3.tgz#7f9e97cb3d16dbdca7be52aca1644ce402cfe449" - integrity sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ== +derive-valtio@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/derive-valtio/-/derive-valtio-0.1.0.tgz#4b9fb393dfefccfef15fcbbddd745dd22d5d63d7" + integrity sha512-OCg2UsLbXK7GmmpzMXhYkdO64vhJ1ROUUGaTFyHjVwEdMEcTTRj7W1TxLbSBxdY8QLBPCcp66MTyaSy0RpO17A== + +destr@^2.0.3, destr@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.5.tgz#7d112ff1b925fb8d2079fac5bdb4a90973b51fdb" + integrity sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA== -detect-browser@5.3.0, detect-browser@^5.3.0: +detect-browser@5.3.0, detect-browser@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== @@ -4353,27 +4628,20 @@ detect-indent@^6.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== -detect-libc@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== +detect-libc@^2.0.3, detect-libc@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.4.tgz#f04715b8ba815e53b4d8109655b6508a6865a7e8" + integrity sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA== detect-node-es@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== -detect-package-manager@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/detect-package-manager/-/detect-package-manager-2.0.1.tgz#6b182e3ae5e1826752bfef1de9a7b828cffa50d8" - integrity sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A== - dependencies: - execa "^5.1.1" - -didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== dijkstrajs@^1.0.1: version "1.0.3" @@ -4382,19 +4650,14 @@ dijkstrajs@^1.0.1: dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" @@ -4412,42 +4675,45 @@ dotenv-expand@^10.0.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== -dotenv@^16.0.0, dotenv@^16.0.3: - version "16.4.5" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" - integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== +dotenv@^16.0.0: + version "16.3.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" + integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== + +dotenv@^16.3.1: + version "16.5.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.5.0.tgz#092b49f25f808f020050051d1ff258e404c78692" + integrity sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg== dset@^3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.3.tgz#c194147f159841148e8e34ca41f638556d9542d2" - integrity sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ== + version "3.1.2" + resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.2.tgz#89c436ca6450398396dc6538ea00abc0c54cd45a" + integrity sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q== duplexify@^4.1.2: - version "4.1.3" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.3.tgz#a07e1c0d0a2c001158563d32592ba58bddb0236f" - integrity sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA== + version "4.1.2" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" + integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== dependencies: end-of-stream "^1.4.1" inherits "^2.0.3" readable-stream "^3.1.1" - stream-shift "^1.0.2" - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + stream-shift "^1.0.0" -eip1193-provider@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/eip1193-provider/-/eip1193-provider-1.0.1.tgz#420d29cf4f6c443e3f32e718fb16fafb250637c3" - integrity sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g== +eciesjs@^0.4.11: + version "0.4.15" + resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.4.15.tgz#8c7191ce425c54627ee5c65328ab54eaa6ed4556" + integrity sha512-r6kEJXDKecVOCj2nLMuXK/FCPeurW33+3JRpfXVbjLja3XUYFfD9I/JBreH6sUyzcm3G/YQboBjMla6poKeSdA== dependencies: - "@json-rpc-tools/provider" "^1.5.5" + "@ecies/ciphers" "^0.2.3" + "@noble/ciphers" "^1.3.0" + "@noble/curves" "^1.9.1" + "@noble/hashes" "^1.8.0" -electron-to-chromium@^1.4.668: - version "1.4.699" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.699.tgz" - integrity sha512-I7q3BbQi6e4tJJN5CRcyvxhK0iJb34TV8eJQcgh+fR2fQ8miMgZcEInckCo1U9exDHbfz7DLDnFn8oqH/VcRKw== +electron-to-chromium@^1.4.535: + version "1.4.544" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.544.tgz#fcb156d83f0ee6e4c9d030c6fedb2a37594f3abf" + integrity sha512-54z7squS1FyFRSUqq/knOFSptjjogLZXbKcYk3B0qkE1KZzvqASwRZnY2KzZQJqIYLVD38XZeoiMRflYSwyO4w== elliptic@6.5.4: version "6.5.4" @@ -4464,19 +4730,21 @@ elliptic@6.5.4: emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - encode-utf8@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== +end-of-stream@^1.1.0, end-of-stream@^1.4.0: + version "1.4.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c" + integrity sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== + dependencies: + once "^1.4.0" + end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -4484,6 +4752,30 @@ end-of-stream@^1.4.1: dependencies: once "^1.4.0" +engine.io-client@~6.6.1: + version "6.6.3" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.6.3.tgz#815393fa24f30b8e6afa8f77ccca2f28146be6de" + integrity sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + engine.io-parser "~5.2.1" + ws "~8.17.1" + xmlhttprequest-ssl "~2.1.1" + +engine.io-parser@~5.2.1: + version "5.2.3" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.3.tgz#00dc5b97b1f233a23c9398d0209504cf5f94d92f" + integrity sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q== + +enhanced-resolve@^5.18.1: + version "5.18.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf" + integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -4491,215 +4783,80 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== +es-toolkit@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.33.0.tgz#bcc9d92ef2e1ed4618c00dd30dfda9faddf4a0b7" + integrity sha512-X13Q/ZSc+vsO1q600bvNK4bxgXMkHcf//RxCmYDaRY5DAcT+eoXjY5hoAPGMdRnWQjvyLEcyauG3b6hz76LNqg== -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== +es-toolkit@1.38.0: + version "1.38.0" + resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.38.0.tgz#f2c7351fec545dde5545500f1c64c805b7f5e7ff" + integrity sha512-OT3AxczYYd3W50bCj4V0hKoOAfqIy9tof0leNQYekEDxVKir3RTVTJOLij7VAe6fsCNsGhC0JqIkURpMXTCSEA== -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== - dependencies: - es6-promise "^4.0.3" - -esbuild-android-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz#5f25864055dbd62e250f360b38b4c382224063af" - integrity sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g== - -esbuild-android-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz#d8820f999314efbe8e0f050653a99ff2da632b0f" - integrity sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w== - -esbuild-darwin-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz#99ae7fdaa43947b06cd9d1a1c3c2c9f245d81fd0" - integrity sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg== - -esbuild-darwin-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz#bafa1814354ad1a47adcad73de416130ef7f55e3" - integrity sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A== - -esbuild-freebsd-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz#84ef85535c5cc38b627d1c5115623b088d1de161" - integrity sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA== - -esbuild-freebsd-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz#033f21de434ec8e0c478054b119af8056763c2d8" - integrity sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q== - -esbuild-linux-32@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz#54290ea8035cba0faf1791ce9ae6693005512535" - integrity sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w== - -esbuild-linux-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz#4264249281ea388ead948614b57fb1ddf7779a2c" - integrity sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A== - -esbuild-linux-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz#9323c333924f97a02bdd2ae8912b36298acb312d" - integrity sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ== - -esbuild-linux-arm@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz#b407f47b3ae721fe4e00e19e9f19289bef87a111" - integrity sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ== - -esbuild-linux-mips64le@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz#bdf905aae5c0bcaa8f83567fe4c4c1bdc1f14447" - integrity sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A== - -esbuild-linux-ppc64le@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz#2911eae1c90ff58a3bd3259cb557235df25aa3b4" - integrity sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA== - -esbuild-linux-riscv64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz#1837c660be12b1d20d2a29c7189ea703f93e9265" - integrity sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow== - -esbuild-linux-s390x@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz#d52880ece229d1bd10b2d936b792914ffb07c7fc" - integrity sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag== - -esbuild-netbsd-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz#de14da46f1d20352b43e15d97a80a8788275e6ed" - integrity sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ== - -esbuild-openbsd-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz#45e8a5fd74d92ad8f732c43582369c7990f5a0ac" - integrity sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w== - -esbuild-sunos-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz#f646ac3da7aac521ee0fdbc192750c87da697806" - integrity sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw== - -esbuild-windows-32@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz#fb4fe77c7591418880b3c9b5900adc4c094f2401" - integrity sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA== - -esbuild-windows-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz#1fca8c654392c0c31bdaaed168becfea80e20660" - integrity sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ== - -esbuild-windows-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz#4ffd01b6b2888603f1584a2fe96b1f6a6f2b3dd8" - integrity sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg== - -esbuild@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.13.tgz#7293480038feb2bafa91d3f6a20edab3ba6c108a" - integrity sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ== - optionalDependencies: - "@esbuild/android-arm" "0.15.13" - "@esbuild/linux-loong64" "0.15.13" - esbuild-android-64 "0.15.13" - esbuild-android-arm64 "0.15.13" - esbuild-darwin-64 "0.15.13" - esbuild-darwin-arm64 "0.15.13" - esbuild-freebsd-64 "0.15.13" - esbuild-freebsd-arm64 "0.15.13" - esbuild-linux-32 "0.15.13" - esbuild-linux-64 "0.15.13" - esbuild-linux-arm "0.15.13" - esbuild-linux-arm64 "0.15.13" - esbuild-linux-mips64le "0.15.13" - esbuild-linux-ppc64le "0.15.13" - esbuild-linux-riscv64 "0.15.13" - esbuild-linux-s390x "0.15.13" - esbuild-netbsd-64 "0.15.13" - esbuild-openbsd-64 "0.15.13" - esbuild-sunos-64 "0.15.13" - esbuild-windows-32 "0.15.13" - esbuild-windows-64 "0.15.13" - esbuild-windows-arm64 "0.15.13" - -esbuild@^0.19.3: - version "0.19.12" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz" - integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== +esbuild@^0.25.0, esbuild@~0.25.4: + version "0.25.5" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.5.tgz#71075054993fdfae76c66586f9b9c1f8d7edd430" + integrity sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ== optionalDependencies: - "@esbuild/aix-ppc64" "0.19.12" - "@esbuild/android-arm" "0.19.12" - "@esbuild/android-arm64" "0.19.12" - "@esbuild/android-x64" "0.19.12" - "@esbuild/darwin-arm64" "0.19.12" - "@esbuild/darwin-x64" "0.19.12" - "@esbuild/freebsd-arm64" "0.19.12" - "@esbuild/freebsd-x64" "0.19.12" - "@esbuild/linux-arm" "0.19.12" - "@esbuild/linux-arm64" "0.19.12" - "@esbuild/linux-ia32" "0.19.12" - "@esbuild/linux-loong64" "0.19.12" - "@esbuild/linux-mips64el" "0.19.12" - "@esbuild/linux-ppc64" "0.19.12" - "@esbuild/linux-riscv64" "0.19.12" - "@esbuild/linux-s390x" "0.19.12" - "@esbuild/linux-x64" "0.19.12" - "@esbuild/netbsd-x64" "0.19.12" - "@esbuild/openbsd-x64" "0.19.12" - "@esbuild/sunos-x64" "0.19.12" - "@esbuild/win32-arm64" "0.19.12" - "@esbuild/win32-ia32" "0.19.12" - "@esbuild/win32-x64" "0.19.12" + "@esbuild/aix-ppc64" "0.25.5" + "@esbuild/android-arm" "0.25.5" + "@esbuild/android-arm64" "0.25.5" + "@esbuild/android-x64" "0.25.5" + "@esbuild/darwin-arm64" "0.25.5" + "@esbuild/darwin-x64" "0.25.5" + "@esbuild/freebsd-arm64" "0.25.5" + "@esbuild/freebsd-x64" "0.25.5" + "@esbuild/linux-arm" "0.25.5" + "@esbuild/linux-arm64" "0.25.5" + "@esbuild/linux-ia32" "0.25.5" + "@esbuild/linux-loong64" "0.25.5" + "@esbuild/linux-mips64el" "0.25.5" + "@esbuild/linux-ppc64" "0.25.5" + "@esbuild/linux-riscv64" "0.25.5" + "@esbuild/linux-s390x" "0.25.5" + "@esbuild/linux-x64" "0.25.5" + "@esbuild/netbsd-arm64" "0.25.5" + "@esbuild/netbsd-x64" "0.25.5" + "@esbuild/openbsd-arm64" "0.25.5" + "@esbuild/openbsd-x64" "0.25.5" + "@esbuild/sunos-x64" "0.25.5" + "@esbuild/win32-arm64" "0.25.5" + "@esbuild/win32-ia32" "0.25.5" + "@esbuild/win32-x64" "0.25.5" + +escalade@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escalade@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eslint-plugin-react-hooks@^4.6.0: version "4.6.0" - resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== -eslint-plugin-react-refresh@^0.4.5: - version "0.4.5" - resolved "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.5.tgz" - integrity sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w== +eslint-plugin-react-refresh@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.3.tgz#59dae8c00a119f06ea16b1d3e6891df3775947c7" + integrity sha512-Hh0wv8bUNY877+sI0BlCUlsS0TYYQqvzEwJsJJPM2WF4RnTStSnSR3zdJYa2nPOJgg3UghXi54lVyMSmpCalzA== eslint-scope@^7.2.2: version "7.2.2" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" @@ -4707,22 +4864,21 @@ eslint-scope@^7.2.2: eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^8.56.0: - version "8.57.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" - integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== +eslint@^8.45.0: + version "8.51.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.51.0.tgz#4a82dae60d209ac89a5cff1604fea978ba4950f3" + integrity sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.0" - "@humanwhocodes/config-array" "^0.11.14" + "@eslint/eslintrc" "^2.1.2" + "@eslint/js" "8.51.0" + "@humanwhocodes/config-array" "^0.11.11" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -4756,7 +4912,7 @@ eslint@^8.56.0: espree@^9.6.0, espree@^9.6.1: version "9.6.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: acorn "^8.9.0" @@ -4765,44 +4921,50 @@ espree@^9.6.0, espree@^9.6.1: esquery@^1.4.2: version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -eth-block-tracker@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-6.1.0.tgz#0481f97bbb88a100b9d45806fe7e37af741cbefc" - integrity sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ== +eth-block-tracker@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-7.1.0.tgz#dfc16085c6817cc30caabba381deb8d204c1c766" + integrity sha512-8YdplnuE1IK4xfqpf4iU7oBxnOYAc35934o083G8ao+8WM8QQtt/mVlAY6yIAdY1eMeLqg4Z//PZjJGmWGPMRg== dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - "@metamask/utils" "^3.0.1" + "@metamask/eth-json-rpc-provider" "^1.0.0" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^5.0.1" json-rpc-random-id "^1.0.1" pify "^3.0.0" -eth-json-rpc-filters@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-5.1.0.tgz#f0c2aeaec2a45e2dc6ca1b9843d8e85447821427" - integrity sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ== +eth-json-rpc-filters@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-6.0.1.tgz#0b3e370f017f5c6f58d3e7bd0756d8099ed85c56" + integrity sha512-ITJTvqoCw6OVMLs7pI8f4gG92n/St6x80ACtHodeS+IXmO0w+t1T5OOzfSt7KLSMLRkVUoexV7tztLgDxg+iig== dependencies: - "@metamask/safe-event-emitter" "^2.0.0" + "@metamask/safe-event-emitter" "^3.0.0" async-mutex "^0.2.6" eth-query "^2.1.2" json-rpc-engine "^6.1.0" @@ -4816,115 +4978,50 @@ eth-query@^2.1.2: json-rpc-random-id "^1.0.0" xtend "^4.0.1" -eth-rpc-errors@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz#11bc164e25237a679061ac05b7da7537b673d3b7" - integrity sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ== - dependencies: - fast-safe-stringify "^2.0.6" - -eth-rpc-errors@^4.0.2: +eth-rpc-errors@^4.0.2, eth-rpc-errors@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== dependencies: fast-safe-stringify "^2.0.6" -ethers@^5.7.2: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.2" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" - "@ethersproject/wordlists" "5.7.0" +ethereum-cryptography@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz#58f2810f8e020aecb97de8c8c76147600b0b8ccf" + integrity sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg== + dependencies: + "@noble/curves" "1.4.2" + "@noble/hashes" "1.4.0" + "@scure/bip32" "1.4.0" + "@scure/bip39" "1.3.0" event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== -eventemitter3@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== +eventemitter2@^6.4.9: + version "6.4.9" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125" + integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== -events@^3.3.0: +eventemitter3@5.0.1, eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + +events@3.3.0, events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -execa@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== +extension-port-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extension-port-stream/-/extension-port-stream-3.0.0.tgz#00a7185fe2322708a36ed24843c81bd754925fef" + integrity sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw== dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -execa@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" - integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^3.0.1" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" - -execa@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" - integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" - strip-final-newline "^3.0.0" + readable-stream "^3.6.2 || ^4.4.2" + webextension-polyfill ">=0.10.0 <1.0" external-editor@^3.0.3: version "3.1.0" @@ -4940,11 +5037,6 @@ extract-files@^11.0.0: resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-11.0.0.tgz#b72d428712f787eef1f5193aff8ab5351ca8469a" integrity sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ== -eyes@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" - integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== - fast-decode-uri-component@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz#46f8b6c22b30ff7a81357d4f59abfae938202543" @@ -4952,13 +5044,13 @@ fast-decode-uri-component@^1.0.1: fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.9, fast-glob@^3.3.0: - version "3.3.2" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== +fast-glob@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -4968,12 +5060,12 @@ fast-glob@^3.2.9, fast-glob@^3.3.0: fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-querystring@^1.1.1: @@ -4984,20 +5076,15 @@ fast-querystring@^1.1.1: fast-decode-uri-component "^1.0.1" fast-redact@^3.0.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.4.0.tgz#24e45adcbfa045375f93012bc10c34976d59352e" - integrity sha512-2gwPvyna0zwBdxKnng1suu/dTL5s8XEy2ZqH8mwDUwJdDkV8w5kp+JV26mupdK68HmPMbm6yjW9m7/Ys/BHEHg== + version "3.3.0" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.3.0.tgz#7c83ce3a7be4898241a46560d51de10f653f7634" + integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ== fast-safe-stringify@^2.0.6: version "2.1.1" resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== -fast-stable-stringify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" - integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== - fast-url-parser@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" @@ -5006,9 +5093,9 @@ fast-url-parser@^1.1.3: punycode "^1.3.2" fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: reusify "^1.0.4" @@ -5037,13 +5124,10 @@ fbjs@^3.0.0: setimmediate "^1.0.5" ua-parser-js "^1.0.35" -fetch-blob@^3.1.2, fetch-blob@^3.1.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" - integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== - dependencies: - node-domexception "^1.0.0" - web-streams-polyfill "^3.0.3" +fdir@^6.1.1, fdir@^6.4.4: + version "6.4.6" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.6.tgz#2b268c0232697063111bbf3f64810a2a741ba281" + integrity sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w== figures@^3.0.0: version "3.2.0" @@ -5054,19 +5138,14 @@ figures@^3.0.0: file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" @@ -5086,38 +5165,25 @@ find-up@^4.1.0: find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" path-exists "^4.0.0" -find-up@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" - integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== - dependencies: - locate-path "^7.1.0" - path-exists "^5.0.0" - flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + version "3.1.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b" + integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q== dependencies: flatted "^3.2.9" keyv "^4.5.3" rimraf "^3.0.2" flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== - -follow-redirects@^1.14.0: - version "1.15.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" - integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + version "3.2.9" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== for-each@^0.3.3: version "0.3.3" @@ -5126,38 +5192,14 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" -foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -formdata-polyfill@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" - integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== - dependencies: - fetch-blob "^3.1.2" - -fraction.js@^4.3.7: - version "4.3.7" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" - integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== - -fs-extra@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" +fraction.js@^4.3.6: + version "4.3.6" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.6.tgz#e9e3acec6c9a28cf7bc36cbe35eea4ceb2c5c92d" + integrity sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg== fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@~2.3.2, fsevents@~2.3.3: @@ -5165,10 +5207,10 @@ fsevents@~2.3.2, fsevents@~2.3.3: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== fuse.js@^7.0.0: version "7.0.0" @@ -5177,7 +5219,7 @@ fuse.js@^7.0.0: gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^2.0.1, get-caller-file@^2.0.5: @@ -5185,62 +5227,35 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== +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: - es-errors "^1.3.0" - function-bind "^1.1.2" + function-bind "^1.1.1" + has "^1.0.3" has-proto "^1.0.1" has-symbols "^1.0.3" - hasown "^2.0.0" get-nonce@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== -get-port-please@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-3.1.2.tgz#502795e56217128e4183025c89a48c71652f4e49" - integrity sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ== - -get-stream@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-stream@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" - integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== - -glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" -glob@^10.3.10: - version "10.3.10" - resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" - glob@^7.1.1, glob@^7.1.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" @@ -5255,13 +5270,13 @@ glob@^7.1.1, glob@^7.1.3: globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: - version "13.24.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + version "13.23.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" + integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== dependencies: type-fest "^0.20.2" @@ -5277,17 +5292,6 @@ globby@^11.0.3, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -globby@^13.1.3: - version "13.2.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" - integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== - dependencies: - dir-glob "^3.0.1" - fast-glob "^3.3.0" - ignore "^5.2.4" - merge2 "^1.4.1" - slash "^4.0.0" - gopd@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" @@ -5295,20 +5299,20 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@^4.1.6, graceful-fs@^4.2.0: +graceful-fs@^4.2.4: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== graphemer@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== graphql-config@^5.0.2: - version "5.0.3" - resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-5.0.3.tgz#d9aa2954cf47a927f9cb83cdc4e42ae55d0b321e" - integrity sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ== + version "5.0.2" + resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-5.0.2.tgz#7e962f94ccddcc2ee0aa71d75cf4491ec5092bdb" + integrity sha512-7TPxOrlbiG0JplSZYCyxn2XQtqVhXomEjXUmWJVSS5ET1nPhOJSsIb/WTwqWhcYX6G0RlHXSj9PLtGTKmxLNGg== dependencies: "@graphql-tools/graphql-file-loader" "^8.0.0" "@graphql-tools/json-file-loader" "^8.0.0" @@ -5338,66 +5342,63 @@ graphql-tag@^2.11.0, graphql-tag@^2.12.6: tslib "^2.1.0" graphql-ws@^5.14.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.15.0.tgz#2db79e1b42468a8363bf5ca6168d076e2f8fdebc" - integrity sha512-xWGAtm3fig9TIhSaNsg0FaDZ8Pyn/3re3RFlP4rhQcmjRDIPpk1EhRuNB+YSJtLzttyuToaDiNhwT1OMoGnJnw== + version "5.14.1" + resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.14.1.tgz#d05dba9c2cbf1582c990a2dfec4b8f6a55d99da4" + integrity sha512-aqkls1espsygP1PfkAuuLIV96IbztQ6EaADse97pw8wRIMT3+AL/OYfS8V2iCRkc0gzckitoDRGCQEdnySggiA== graphql@^16.8.1: version "16.8.1" resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== -h3@^1.10.2, h3@^1.8.2: - version "1.11.1" - resolved "https://registry.yarnpkg.com/h3/-/h3-1.11.1.tgz#e9414ae6f2a076a345ea07256b320edb29bab9f7" - integrity sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A== +h3@^1.15.2: + version "1.15.3" + resolved "https://registry.yarnpkg.com/h3/-/h3-1.15.3.tgz#e242ec6a7692a45caed3e4a73710cede4fb8d863" + integrity sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ== dependencies: - cookie-es "^1.0.0" - crossws "^0.2.2" + cookie-es "^1.2.2" + crossws "^0.3.4" defu "^6.1.4" - destr "^2.0.3" - iron-webcrypto "^1.0.0" - ohash "^1.1.3" - radix3 "^1.1.0" - ufo "^1.4.0" + destr "^2.0.5" + iron-webcrypto "^1.2.1" + node-mock-http "^1.0.0" + radix3 "^1.1.2" + ufo "^1.6.1" uncrypto "^0.1.3" - unenv "^1.9.0" has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - has-proto@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + 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.3: +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" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0, has-tostringtag@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== dependencies: - has-symbols "^1.0.3" + has-symbols "^1.0.2" + +has@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" + integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -5405,13 +5406,6 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" -hasown@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz" - integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== - dependencies: - function-bind "^1.1.2" - header-case@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/header-case/-/header-case-2.0.4.tgz#5a42e63b55177349cf405beb8d775acabb92c063" @@ -5420,11 +5414,6 @@ header-case@^2.0.4: capital-case "^1.0.4" tslib "^2.0.3" -hey-listen@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" - integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== - hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -5442,48 +5431,21 @@ hoist-non-react-statics@^3.3.2: react-is "^16.7.0" http-proxy-agent@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" - integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== + version "7.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz#e9096c5afd071a3fce56e6252bb321583c124673" + integrity sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ== dependencies: agent-base "^7.1.0" debug "^4.3.4" -http-shutdown@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/http-shutdown/-/http-shutdown-1.2.2.tgz#41bc78fc767637c4c95179bc492f312c0ae64c5f" - integrity sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw== - https-proxy-agent@^7.0.0: - version "7.0.4" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168" - integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== + version "7.0.2" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz#e2645b846b90e96c6e6f347fb5b2e41f1590b09b" + integrity sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA== dependencies: agent-base "^7.0.2" debug "4" -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -human-signals@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" - integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== - -human-signals@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" - integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -5492,9 +5454,9 @@ iconv-lite@^0.4.24: safer-buffer ">= 2.1.2 < 3" idb-keyval@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.1.tgz#94516d625346d16f56f3b33855da11bfded2db33" - integrity sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg== + version "6.2.2" + resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.2.tgz#b0171b5f73944854a3291a5cdba8e12768c4854a" + integrity sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg== ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" @@ -5502,9 +5464,9 @@ ieee754@^1.1.13, ieee754@^1.2.1: integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^5.2.0, ignore@^5.2.4: - version "5.3.1" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== immutable@~3.7.6: version "3.7.6" @@ -5526,7 +5488,7 @@ import-from@4.0.0: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: @@ -5536,15 +5498,15 @@ indent-string@^4.0.0: inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inquirer@^8.0.0: @@ -5575,25 +5537,10 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ioredis@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.3.2.tgz#9139f596f62fc9c72d873353ac5395bcf05709f7" - integrity sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA== - dependencies: - "@ioredis/commands" "^1.1.1" - cluster-key-slot "^1.1.0" - debug "^4.3.4" - denque "^2.1.0" - lodash.defaults "^4.2.0" - lodash.isarguments "^3.1.0" - redis-errors "^1.2.0" - redis-parser "^3.0.0" - standard-as-callback "^2.1.0" - -iron-webcrypto@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/iron-webcrypto/-/iron-webcrypto-1.1.0.tgz#f902f0cdbd77554b2195ecbb65558c311b01edfd" - integrity sha512-5vgYsCakNlaQub1orZK5QmNYhwYtcllTkZBp5sfIaCqY93Cf6l+v2rtE+E4TMbcfjxDMCdrO8wmp7+ZvhDECLA== +iron-webcrypto@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz#aa60ff2aa10550630f4c0b11fd2442becdb35a6f" + integrity sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg== is-absolute@^1.0.0: version "1.0.0" @@ -5616,38 +5563,19 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - is-callable@^1.1.3: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-docker@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" - integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== - is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-generator-function@^1.0.7: @@ -5657,30 +5585,18 @@ is-generator-function@^1.0.7: dependencies: has-tostringtag "^1.0.0" -is-glob@4.0.3, is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: +is-glob@4.0.3, is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" -is-inside-container@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" - integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== - dependencies: - is-docker "^3.0.0" - is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== -is-interactive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" - integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== - is-lower-case@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-2.0.2.tgz#1c0884d3012c841556243483aa5d522f47396d2a" @@ -5690,12 +5606,12 @@ is-lower-case@^2.0.2: is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-path-inside@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-relative@^1.0.0: @@ -5710,22 +5626,12 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - is-typed-array@^1.1.3: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + 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: - which-typed-array "^1.1.14" - -is-typedarray@1.0.0, is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + which-typed-array "^1.1.11" is-unc-path@^1.0.0: version "1.0.0" @@ -5739,11 +5645,6 @@ is-unicode-supported@^0.1.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-unicode-supported@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" - integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== - is-upper-case@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-2.0.2.tgz#f1105ced1fe4de906a5f39553e7d3803fd804649" @@ -5756,28 +5657,14 @@ is-windows@^1.0.1: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -is-wsl@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2" - integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== - dependencies: - is-inside-container "^1.0.0" - -is64bit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is64bit/-/is64bit-2.0.0.tgz#198c627cbcb198bbec402251f88e5e1a51236c07" - integrity sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw== - dependencies: - system-architecture "^0.1.0" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isomorphic-ws@5.0.0, isomorphic-ws@^5.0.0: @@ -5785,47 +5672,30 @@ isomorphic-ws@5.0.0, isomorphic-ws@^5.0.0: resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== -isomorphic-ws@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" - integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== +isows@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.6.tgz#0da29d706fa51551c663c627ace42769850f86e7" + integrity sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw== -jackspeak@^2.3.5: - version "2.3.6" - resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" +isows@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.7.tgz#1c06400b7eed216fbba3bcbd68f12490fc342915" + integrity sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg== -jayson@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.0.tgz#60dc946a85197317f2b1439d672a8b0a99cea2f9" - integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A== - dependencies: - "@types/connect" "^3.4.33" - "@types/node" "^12.12.54" - "@types/ws" "^7.4.4" - JSONStream "^1.3.5" - commander "^2.20.3" - delay "^5.0.0" - es6-promisify "^5.0.0" - eyes "^0.1.8" - isomorphic-ws "^4.0.1" - json-stringify-safe "^5.0.1" - uuid "^8.3.2" - ws "^7.4.5" +jiti@^1.17.1, jiti@^1.18.2: + version "1.20.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.20.0.tgz#2d823b5852ee8963585c8dd8b7992ffc1ae83b42" + integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA== -jiti@^1.17.1, jiti@^1.18.2, jiti@^1.19.1, jiti@^1.21.0: - version "1.21.0" - resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== +jiti@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.4.2.tgz#d19b7732ebb6116b06e2038da74a55366faef560" + integrity sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A== -jose@^5.0.0: - version "5.2.3" - resolved "https://registry.yarnpkg.com/jose/-/jose-5.2.3.tgz#071c87f9fe720cff741a403c8080b69bfe13164a" - integrity sha512-KUXdbctm1uHVL8BYhnyHkgp3zDX5KW8ZhAKVFEfUbU2P8Alpzjb+48hHvjOdQIyPshoblhzsuqOwEEAbtHVirA== +jose@^4.11.4: + version "4.15.2" + resolved "https://registry.yarnpkg.com/jose/-/jose-4.15.2.tgz#61f97383f0b433d45da26d35094155a30a672d92" + integrity sha512-IY73F228OXRl9ar3jJagh7Vnuhj/GzBunPiZP13K0lOl7Am9SoWW3kEzq3MCllJMTtZqHTiDXQvoRd4U95aU6A== js-sha3@0.8.0: version "0.8.0" @@ -5834,12 +5704,12 @@ js-sha3@0.8.0: "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^4.0.0, js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" @@ -5851,12 +5721,12 @@ jsbi@^3.2.5: jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== json-buffer@3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-even-better-errors@^2.3.0: @@ -5864,7 +5734,7 @@ json-parse-even-better-errors@^2.3.0: resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json-rpc-engine@6.1.0, json-rpc-engine@^6.1.0: +json-rpc-engine@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393" integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== @@ -5879,28 +5749,20 @@ json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stable-stringify@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz#52d4361b47d49168bcc4e564189a42e5a7439454" - integrity sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz#e06f23128e0bbe342dc996ed5a19e28b57b580e0" + integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g== dependencies: - call-bind "^1.0.5" - isarray "^2.0.5" jsonify "^0.0.1" - object-keys "^1.1.1" - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json-to-pretty-yaml@^1.2.2: version "1.2.2" @@ -5912,34 +5774,15 @@ json-to-pretty-yaml@^1.2.2: json5@^2.2.3: version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -jsonc-parser@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" - integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - jsonify@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -keccak@^3.0.1: +keccak@^3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== @@ -5950,7 +5793,7 @@ keccak@^3.0.1: keyv@^4.5.3: version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" @@ -5962,51 +5805,85 @@ keyvaluestorage-interface@^1.0.0: levn@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" type-check "~0.4.0" -lilconfig@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - -lilconfig@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz" - integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== +lightningcss-darwin-arm64@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz#3d47ce5e221b9567c703950edf2529ca4a3700ae" + integrity sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ== + +lightningcss-darwin-x64@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz#e81105d3fd6330860c15fe860f64d39cff5fbd22" + integrity sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA== + +lightningcss-freebsd-x64@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz#a0e732031083ff9d625c5db021d09eb085af8be4" + integrity sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig== + +lightningcss-linux-arm-gnueabihf@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz#1f5ecca6095528ddb649f9304ba2560c72474908" + integrity sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q== + +lightningcss-linux-arm64-gnu@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz#eee7799726103bffff1e88993df726f6911ec009" + integrity sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw== + +lightningcss-linux-arm64-musl@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz#f2e4b53f42892feeef8f620cbb889f7c064a7dfe" + integrity sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ== + +lightningcss-linux-x64-gnu@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz#2fc7096224bc000ebb97eea94aea248c5b0eb157" + integrity sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw== + +lightningcss-linux-x64-musl@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz#66dca2b159fd819ea832c44895d07e5b31d75f26" + integrity sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ== + +lightningcss-win32-arm64-msvc@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz#7d8110a19d7c2d22bfdf2f2bb8be68e7d1b69039" + integrity sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA== + +lightningcss-win32-x64-msvc@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz#fd7dd008ea98494b85d24b4bea016793f2e0e352" + integrity sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg== + +lightningcss@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.30.1.tgz#78e979c2d595bfcb90d2a8c0eb632fe6c5bfed5d" + integrity sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg== + dependencies: + detect-libc "^2.0.3" + optionalDependencies: + lightningcss-darwin-arm64 "1.30.1" + lightningcss-darwin-x64 "1.30.1" + lightningcss-freebsd-x64 "1.30.1" + lightningcss-linux-arm-gnueabihf "1.30.1" + lightningcss-linux-arm64-gnu "1.30.1" + lightningcss-linux-arm64-musl "1.30.1" + lightningcss-linux-x64-gnu "1.30.1" + lightningcss-linux-x64-musl "1.30.1" + lightningcss-win32-arm64-msvc "1.30.1" + lightningcss-win32-x64-msvc "1.30.1" lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -listhen@^1.5.5: - version "1.7.2" - resolved "https://registry.yarnpkg.com/listhen/-/listhen-1.7.2.tgz#66b81740692269d5d8cafdc475020f2fc51afbae" - integrity sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g== - dependencies: - "@parcel/watcher" "^2.4.1" - "@parcel/watcher-wasm" "^2.4.1" - citty "^0.1.6" - clipboardy "^4.0.0" - consola "^3.2.3" - crossws "^0.2.0" - defu "^6.1.4" - get-port-please "^3.1.2" - h3 "^1.10.2" - http-shutdown "^1.2.2" - jiti "^1.21.0" - mlly "^1.6.1" - node-forge "^1.3.1" - pathe "^1.1.2" - std-env "^3.7.0" - ufo "^1.4.0" - untun "^0.1.3" - uqr "^0.1.2" - listr2@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.5.tgz#9dcc50221583e8b4c71c43f9c7dfd0ef546b75d5" @@ -6021,32 +5898,32 @@ listr2@^4.0.5: through "^2.3.8" wrap-ansi "^7.0.0" -lit-element@^3.3.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.3.3.tgz#10bc19702b96ef5416cf7a70177255bfb17b3209" - integrity sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA== +lit-element@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-4.2.0.tgz#75dcf9e5fae3e3b5fd3f02a5d297c582d0bb0ba3" + integrity sha512-MGrXJVAI5x+Bfth/pU9Kst1iWID6GHDLEzFEnyULB/sFiRLgkd8NPK/PeeXxktA3T6EIIaq8U3KcbTU5XFcP2Q== dependencies: - "@lit-labs/ssr-dom-shim" "^1.1.0" - "@lit/reactive-element" "^1.3.0" - lit-html "^2.8.0" + "@lit-labs/ssr-dom-shim" "^1.2.0" + "@lit/reactive-element" "^2.1.0" + lit-html "^3.3.0" -lit-html@^2.7.0, lit-html@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.8.0.tgz#96456a4bb4ee717b9a7d2f94562a16509d39bffa" - integrity sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q== +lit-html@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-3.3.0.tgz#f66c734a6c69dbb12abf9a718fa5d3dfb46d0b7c" + integrity sha512-RHoswrFAxY2d8Cf2mm4OZ1DgzCoBKUKSPvA1fhtSELxUERq2aQQ2h05pO9j81gS1o7RIRJ+CePLogfyahwmynw== dependencies: "@types/trusted-types" "^2.0.2" -lit@2.7.5: - version "2.7.5" - resolved "https://registry.yarnpkg.com/lit/-/lit-2.7.5.tgz#60bc82990cfad169d42cd786999356dcf79b035f" - integrity sha512-i/cH7Ye6nBDUASMnfwcictBnsTN91+aBjXoTHF2xARghXScKxpD4F4WYI+VLXg9lqbMinDfvoI7VnZXjyHgdfQ== +lit@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lit/-/lit-3.3.0.tgz#b3037ea94676fb89c3dde9951914efefd0441f17" + integrity sha512-DGVsqsOIHBww2DqnuZzW7QsuCdahp50ojuDaBPC7jUDRpYoH0z7kHBBYZewRzer75FwtrkmkKk7iOAwSaWdBmw== dependencies: - "@lit/reactive-element" "^1.6.0" - lit-element "^3.3.0" - lit-html "^2.7.0" + "@lit/reactive-element" "^2.1.0" + lit-element "^4.2.0" + lit-html "^3.3.0" -load-tsconfig@^0.2.0: +load-tsconfig@^0.2.3: version "0.2.5" resolved "https://registry.yarnpkg.com/load-tsconfig/-/load-tsconfig-0.2.5.tgz#453b8cd8961bfb912dea77eb6c168fe8cca3d3a1" integrity sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg== @@ -6060,33 +5937,11 @@ locate-path@^5.0.0: locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" -locate-path@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" - integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== - dependencies: - p-locate "^6.0.0" - -lodash.defaults@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== - -lodash.isarguments@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg== - -lodash.isequal@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" @@ -6110,14 +5965,6 @@ log-symbols@^4.0.0, log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -log-symbols@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-5.1.0.tgz#a20e3b9a5f53fac6aeb8e2bb22c07cf2c8f16d93" - integrity sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA== - dependencies: - chalk "^5.0.0" - is-unicode-supported "^1.1.0" - log-update@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" @@ -6130,7 +5977,7 @@ log-update@^4.0.0: loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" @@ -6149,29 +5996,41 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" -lru-cache@^10.0.2, "lru-cache@^9.1.1 || ^10.0.0": - version "10.2.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== +lru-cache@^10.4.3: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" -lucide-react@^0.354.0: - version "0.354.0" - resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.354.0.tgz#c5c9d9d1d98cf9e586154f5c4e77777a8b42169f" - integrity sha512-qI0x/hhcuHieaUUxFejesm5T/ditszQ2x1gUkqKnTMZRAOdxT2nGzbOFYrhc0wRjuA2MN1o5JCrcRPYcHH3l8A== +lucide-react@^0.279.0: + version "0.279.0" + resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.279.0.tgz#05cdd709f3cc8b40846abf8929896ec75d684c2d" + integrity sha512-LJ8g66+Bxc3t3x9vKTeK3wn3xucrOQGfJ9ou9GsBwCt2offsrT2BB90XrTrIzE1noYYDe2O8jZaRHi6sAHXNxw== + +magic-string@^0.30.17: + version "0.30.17" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" + integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== map-cache@^0.2.0: version "0.2.2" @@ -6183,14 +6042,9 @@ map-cache@^0.2.0: resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== meros@^1.2.1: @@ -6198,29 +6052,24 @@ meros@^1.2.1: resolved "https://registry.yarnpkg.com/meros/-/meros-1.3.0.tgz#c617d2092739d55286bf618129280f362e6242f2" integrity sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w== +micro-ftch@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" + integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== + micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" picomatch "^2.3.1" -mime@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" - integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== - mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== - minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -6231,16 +6080,9 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@9.0.3, minimatch@^9.0.1: - version "9.0.3" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" @@ -6252,44 +6094,34 @@ minimatch@^4.2.3: dependencies: brace-expansion "^1.1.7" -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.0.4" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== +minipass@^7.0.4, minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== -mlly@^1.2.0, mlly@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.6.1.tgz#0983067dc3366d6314fc5e12712884e6978d028f" - integrity sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA== +minizlib@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-3.0.2.tgz#f33d638eb279f664439aa38dc5f91607468cb574" + integrity sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA== dependencies: - acorn "^8.11.3" - pathe "^1.1.2" - pkg-types "^1.0.3" - ufo "^1.3.2" - -motion@10.16.2: - version "10.16.2" - resolved "https://registry.yarnpkg.com/motion/-/motion-10.16.2.tgz#7dc173c6ad62210a7e9916caeeaf22c51e598d21" - integrity sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ== - dependencies: - "@motionone/animation" "^10.15.1" - "@motionone/dom" "^10.16.2" - "@motionone/svelte" "^10.16.2" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - "@motionone/vue" "^10.16.2" - -mri@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== + minipass "^7.1.2" + +mipd@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mipd/-/mipd-0.0.7.tgz#bb5559e21fa18dc3d9fe1c08902ef14b7ce32fd9" + integrity sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg== + +mkdirp@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" + integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== ms@2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.0.0: +ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -6304,28 +6136,26 @@ mute-stream@0.0.8: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" +nanoid@^3.3.11: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== -napi-wasm@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/napi-wasm/-/napi-wasm-1.1.0.tgz#bbe617823765ae9c1bc12ff5942370eae7b2ba4e" - integrity sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg== +nanospinner@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/nanospinner/-/nanospinner-1.2.2.tgz#5a38f4410b5bf7a41585964bee74d32eab3e040b" + integrity sha512-Zt/AmG6qRU3e+WnzGGLuMCEAO/dAu45stNbHY223tUxldaDAeE+FxSPsd9Q+j+paejmm0ZbrNVs5Sraqy3dRxA== + dependencies: + picocolors "^1.1.1" natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== no-case@^3.0.4: @@ -6341,20 +6171,10 @@ node-addon-api@^2.0.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== -node-addon-api@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.0.tgz#71f609369379c08e251c558527a107107b5e0fdb" - integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g== - -node-domexception@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" - integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== - -node-fetch-native@^1.4.0, node-fetch-native@^1.4.1, node-fetch-native@^1.6.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.2.tgz#f439000d972eb0c8a741b65dcda412322955e1c6" - integrity sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w== +node-fetch-native@^1.6.4, node-fetch-native@^1.6.6: + version "1.6.6" + resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.6.tgz#ae1d0e537af35c2c0b0de81cbff37eedd410aa37" + integrity sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ== node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.7.0: version "2.7.0" @@ -6363,34 +6183,25 @@ node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.7.0: dependencies: whatwg-url "^5.0.0" -node-fetch@^3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" - integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== - dependencies: - data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.4" - formdata-polyfill "^4.0.10" - -node-forge@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" - integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== + version "4.6.1" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.1.tgz#24b6d075e5e391b8d5539d98c7fc5c210cac8a3e" + integrity sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-mock-http@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-mock-http/-/node-mock-http-1.0.0.tgz#4b32cd509c7f46d844e68ea93fb8be405a18a42a" + integrity sha512-0uGYQ1WQL1M5kKvGRXWQ3uZCHtLTO8hln3oBjIusM75WoesZ909uQJs/Hb946i2SS+Gsrhkaa6iAO17jRIv6DQ== + +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== normalize-path@^2.1.1: version "2.1.1" @@ -6399,30 +6210,16 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0, normalize-path@~3.0.0: +normalize-path@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npm-run-path@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" - integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== - dependencies: - path-key "^4.0.0" - nullthrows@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" @@ -6433,79 +6230,60 @@ numeral@^2.0.6: resolved "https://registry.yarnpkg.com/numeral/-/numeral-2.0.6.tgz#4ad080936d443c2561aed9f2197efffe25f4e506" integrity sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA== -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +obj-multiplex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/obj-multiplex/-/obj-multiplex-1.0.0.tgz#2f2ae6bfd4ae11befe742ea9ea5b36636eabffc1" + integrity sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA== + dependencies: + end-of-stream "^1.4.0" + once "^1.4.0" + readable-stream "^2.3.3" + +object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -ofetch@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/ofetch/-/ofetch-1.3.3.tgz#588cb806a28e5c66c2c47dd8994f9059a036d8c0" - integrity sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg== +ofetch@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/ofetch/-/ofetch-1.4.1.tgz#b6bf6b0d75ba616cef6519dd8b6385a8bae480ec" + integrity sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw== dependencies: - destr "^2.0.1" - node-fetch-native "^1.4.0" - ufo "^1.3.0" - -ohash@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/ohash/-/ohash-1.1.3.tgz#f12c3c50bfe7271ce3fd1097d42568122ccdcf07" - integrity sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw== + destr "^2.0.3" + node-fetch-native "^1.6.4" + ufo "^1.5.4" on-exit-leak-free@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== -once@^1.3.0, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" -onetime@^5.1.0, onetime@^5.1.2: +onetime@^5.1.0: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== - dependencies: - mimic-fn "^4.0.0" - -optimism@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.18.0.tgz#e7bb38b24715f3fdad8a9a7fc18e999144bbfa63" - integrity sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ== +optimism@^0.17.5: + version "0.17.5" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.17.5.tgz#a4c78b3ad12c58623abedbebb4f2f2c19b8e8816" + integrity sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw== dependencies: - "@wry/caches" "^1.0.0" "@wry/context" "^0.7.0" "@wry/trie" "^0.4.3" tslib "^2.3.0" optionator@^0.9.3: version "0.9.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== dependencies: "@aashutoshrathi/word-wrap" "^1.2.3" @@ -6530,26 +6308,52 @@ ora@^5.4.1: strip-ansi "^6.0.0" wcwidth "^1.0.1" -ora@^6.1.2: - version "6.3.1" - resolved "https://registry.yarnpkg.com/ora/-/ora-6.3.1.tgz#a4e9e5c2cf5ee73c259e8b410273e706a2ad3ed6" - integrity sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ== - dependencies: - chalk "^5.0.0" - cli-cursor "^4.0.0" - cli-spinners "^2.6.1" - is-interactive "^2.0.0" - is-unicode-supported "^1.1.0" - log-symbols "^5.1.0" - stdin-discarder "^0.1.0" - strip-ansi "^7.0.1" - wcwidth "^1.0.1" - os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== +ox@0.6.7: + version "0.6.7" + resolved "https://registry.yarnpkg.com/ox/-/ox-0.6.7.tgz#afd53f2ecef68b8526660e9d29dee6e6b599a832" + integrity sha512-17Gk/eFsFRAZ80p5eKqv89a57uXjd3NgIf1CaXojATPBuujVc/fQSVhBeAU9JCRB+k7J50WQAyWTxK19T9GgbA== + dependencies: + "@adraffy/ens-normalize" "^1.10.1" + "@noble/curves" "^1.6.0" + "@noble/hashes" "^1.5.0" + "@scure/bip32" "^1.5.0" + "@scure/bip39" "^1.4.0" + abitype "^1.0.6" + eventemitter3 "5.0.1" + +ox@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ox/-/ox-0.7.1.tgz#fb23a770dd966c051ad916d4e2e655a6f995e1cf" + integrity sha512-+k9fY9PRNuAMHRFIUbiK9Nt5seYHHzSQs9Bj+iMETcGtlpS7SmBzcGSVUQO3+nqGLEiNK4598pHNFlVRaZbRsg== + dependencies: + "@adraffy/ens-normalize" "^1.10.1" + "@noble/ciphers" "^1.3.0" + "@noble/curves" "^1.6.0" + "@noble/hashes" "^1.5.0" + "@scure/bip32" "^1.5.0" + "@scure/bip39" "^1.4.0" + abitype "^1.0.6" + eventemitter3 "5.0.1" + +ox@0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/ox/-/ox-0.8.1.tgz#c1328e4c890583b9c19d338126aef4b796d53543" + integrity sha512-e+z5epnzV+Zuz91YYujecW8cF01mzmrUtWotJ0oEPym/G82uccs7q0WDHTYL3eiONbTUEvcZrptAKLgTBD3u2A== + dependencies: + "@adraffy/ens-normalize" "^1.11.0" + "@noble/ciphers" "^1.3.0" + "@noble/curves" "^1.9.1" + "@noble/hashes" "^1.8.0" + "@scure/bip32" "^1.7.0" + "@scure/bip39" "^1.6.0" + abitype "^1.0.8" + eventemitter3 "5.0.1" + p-limit@3.1.0, p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" @@ -6564,13 +6368,6 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" - integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== - dependencies: - yocto-queue "^1.0.0" - p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -6580,18 +6377,11 @@ p-locate@^4.1.0: p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" -p-locate@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" - integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== - dependencies: - p-limit "^4.0.0" - p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -6614,7 +6404,7 @@ param-case@^3.0.4: parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" @@ -6656,34 +6446,19 @@ path-case@^3.0.4: path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -path-exists@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" - integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== - path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^3.0.0, path-key@^3.1.0: +path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - path-root-regex@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" @@ -6696,38 +6471,40 @@ path-root@^0.1.1: dependencies: path-root-regex "^0.1.0" -path-scurry@^1.10.1: - version "1.10.1" - resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz" - integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== - dependencies: - lru-cache "^9.1.1 || ^10.0.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathe@^1.0.0, pathe@^1.1.0, pathe@^1.1.1, pathe@^1.1.2: +pathe@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +picomatch@^2.0.4, picomatch@^2.2.2, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== +picomatch@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-3.0.1.tgz#817033161def55ec9638567a2f3bbc876b3e7516" + integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag== + +picomatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== pify@^3.0.0: version "3.0.0" @@ -6769,97 +6546,58 @@ pino@7.11.0: sonic-boom "^2.2.1" thread-stream "^0.15.1" -pirates@^4.0.1: - version "4.0.6" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-types@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868" - integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== - dependencies: - jsonc-parser "^3.2.0" - mlly "^1.2.0" - pathe "^1.1.0" - pngjs@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== -possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== - -postcss-import@^15.1.0: - version "15.1.0" - resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" - integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-js@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" - integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== - dependencies: - camelcase-css "^2.0.1" - -postcss-load-config@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz" - integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== - dependencies: - lilconfig "^3.0.0" - yaml "^2.3.4" - -postcss-nested@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz" - integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== - dependencies: - postcss-selector-parser "^6.0.11" - -postcss-selector-parser@^6.0.11: - version "6.0.15" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz" - integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" +pony-cause@^2.1.10: + version "2.1.11" + resolved "https://registry.yarnpkg.com/pony-cause/-/pony-cause-2.1.11.tgz#d69a20aaccdb3bdb8f74dd59e5c68d8e6772e4bd" + integrity sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg== -postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: +postcss-value-parser@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.4.23, postcss@^8.4.35: - version "8.4.35" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz" - integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== +postcss@^8.4.30: + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== dependencies: - nanoid "^3.3.7" + nanoid "^3.3.6" picocolors "^1.0.0" source-map-js "^1.0.2" -preact@^10.12.0, preact@^10.5.9: - version "10.19.6" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.19.6.tgz#66007b67aad4d11899f583df1b0116d94a89b8f5" - integrity sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw== +postcss@^8.5.3: + version "8.5.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" + integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== + dependencies: + nanoid "^3.3.11" + picocolors "^1.1.1" + source-map-js "^1.2.1" + +preact@^10.16.0, preact@^10.24.2: + version "10.26.9" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.26.9.tgz#b3898d1b65140640799062ad73b89846c293b6a7" + integrity sha512-SSjF9vcnF27mJK1XyFMNJzFd5u3pQiATFqoaDy03XuN00u4ziveVVEGt5RKJrDR8MHE/wJo9Nnad56RLzS2RMA== prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prettier@^2.8.1: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prettier@^3.0.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.3.tgz#4fc2ce0d657e7a02e602549f053b239cb7dfe1b5" + integrity sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== process-warning@^1.0.0: version "1.0.0" @@ -6887,10 +6625,18 @@ prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.13.1" -proxy-compare@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" - integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== +proxy-compare@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.6.0.tgz#5e8c8b5c3af7e7f17e839bf6cf1435bcc4d315b0" + integrity sha512-8xuCeM3l8yqdmbPoYeLbrAXCBWu19XEYc5/F28f5qOaoAIMyfmBUkl5axiK+x9olUvRlcekvnm98AP9RDngOIw== + +pump@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.3.tgz#151d979f1a29668dc0025ec589a455b53282268d" + integrity sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" punycode@^1.3.2: version "1.4.1" @@ -6898,11 +6644,11 @@ punycode@^1.3.2: integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== -pvtsutils@^1.3.2, pvtsutils@^1.3.5: +pvtsutils@^1.3.2: version "1.3.5" resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.5.tgz#b8705b437b7b134cd7fd858f025a23456f1ce910" integrity sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA== @@ -6914,7 +6660,7 @@ pvutils@^1.1.3: resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.3.tgz#f35fc1d27e7cd3dfbd39c0826d173e806a03f5a3" integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== -qrcode@1.5.3, qrcode@^1.5.1: +qrcode@1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== @@ -6924,13 +6670,6 @@ qrcode@1.5.3, qrcode@^1.5.1: pngjs "^5.0.0" yargs "^15.3.1" -qs@^6.10.3: - version "6.12.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.0.tgz#edd40c3b823995946a8a0b1f208669c7a200db77" - integrity sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg== - dependencies: - side-channel "^1.0.6" - query-string@7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" @@ -6941,19 +6680,9 @@ query-string@7.1.3: split-on-first "^1.0.0" strict-uri-encode "^2.0.0" -query-string@^6.13.5: - version "6.14.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" - integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== - dependencies: - decode-uri-component "^0.2.0" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== quick-format-unescaped@^4.0.3: @@ -6961,49 +6690,45 @@ quick-format-unescaped@^4.0.3: resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== -radix3@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/radix3/-/radix3-1.1.1.tgz#60a56876ffec62c88a22396a6a1c4c7efe9eb4b1" - integrity sha512-yUUd5VTiFtcMEx0qFUxGAv5gbMc1un4RvEO1JZdP7ZUl/RHygZK6PknIKntmQRZxnMY3ZXD2ISaw1ij8GYW1yg== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" +radix3@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/radix3/-/radix3-1.1.2.tgz#fd27d2af3896c6bf4bcdfab6427c69c2afc69ec0" + integrity sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA== react-dom@^18.2.0: version "18.2.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== dependencies: loose-envify "^1.1.0" scheduler "^0.23.0" react-hook-form@^7.51.0: - version "7.51.0" - resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.51.0.tgz#757ae71b37c26e00590bd3788508287dcc5ecdaf" - integrity sha512-BggOy5j58RdhdMzzRUHGOYhSz1oeylFAv6jUSG86OvCIvlAvS7KvnRY7yoAf2pfEiPN7BesnR0xx73nEk3qIiw== + version "7.68.0" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.68.0.tgz#733c6871fa4ec5e5bfb13e7650a3a912eafe1721" + integrity sha512-oNN3fjrZ/Xo40SWlHf1yCjlMK417JxoSJVUXQjGdvdRCU07NTFei1i1f8ApUAts+IVh14e4EdakeLEA+BEAs/Q== react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== - react-remove-scroll-bar@^2.3.3: - version "2.3.5" - resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.5.tgz#cd2543b3ed7716c7c5b446342d21b0e0b303f47c" - integrity sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw== + version "2.3.4" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz#53e272d7a5cb8242990c7f144c44d8bd8ab5afd9" + integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A== dependencies: react-style-singleton "^2.2.1" tslib "^2.0.0" +react-remove-scroll-bar@^2.3.7: + version "2.3.8" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz#99c20f908ee467b385b68a3469b4a3e750012223" + integrity sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q== + dependencies: + react-style-singleton "^2.2.2" + tslib "^2.0.0" + react-remove-scroll@2.5.5: version "2.5.5" resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz#1e31a1260df08887a8a0e46d09271b52b3a37e77" @@ -7015,20 +6740,31 @@ react-remove-scroll@2.5.5: use-callback-ref "^1.3.0" use-sidecar "^1.1.2" -react-router-dom@^6.22.3: - version "6.22.3" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.22.3.tgz#9781415667fd1361a475146c5826d9f16752a691" - integrity sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw== +react-remove-scroll@^2.6.3: + version "2.7.2" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz#6442da56791117661978ae99cd29be9026fecca0" + integrity sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q== + dependencies: + react-remove-scroll-bar "^2.3.7" + react-style-singleton "^2.2.3" + tslib "^2.1.0" + use-callback-ref "^1.3.3" + use-sidecar "^1.1.3" + +react-router-dom@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.16.0.tgz#86f24658da35eb66727e75ecbb1a029e33ee39d9" + integrity sha512-aTfBLv3mk/gaKLxgRDUPbPw+s4Y/O+ma3rEN1u8EgEpLpPe6gNjIsWt9rxushMHHMb7mSwxRGdGlGdvmFsyPIg== dependencies: - "@remix-run/router" "1.15.3" - react-router "6.22.3" + "@remix-run/router" "1.9.0" + react-router "6.16.0" -react-router@6.22.3: - version "6.22.3" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.22.3.tgz#9d9142f35e08be08c736a2082db5f0c9540a885e" - integrity sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ== +react-router@6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.16.0.tgz#abbf3d5bdc9c108c9b822a18be10ee004096fb81" + integrity sha512-VT4Mmc4jj5YyjpOi5jOf0I+TYzGpvzERy4ckNSvSh2RArv8LLoCxlsZ2D+tc7zgjxcY34oTz2hZaeX5RVprKqA== dependencies: - "@remix-run/router" "1.15.3" + "@remix-run/router" "1.9.0" react-style-singleton@^2.2.1: version "2.2.1" @@ -7039,6 +6775,14 @@ react-style-singleton@^2.2.1: invariant "^2.2.4" tslib "^2.0.0" +react-style-singleton@^2.2.2, react-style-singleton@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.3.tgz#4265608be69a4d70cfe3047f2c6c88b2c3ace388" + integrity sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ== + dependencies: + get-nonce "^1.0.0" + tslib "^2.0.0" + react-window@^1.8.10: version "1.8.10" resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.10.tgz#9e6b08548316814b443f7002b1cf8fd3a1bdde03" @@ -7049,19 +6793,25 @@ react-window@^1.8.10: react@^18.2.0: version "18.2.0" - resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== dependencies: loose-envify "^1.1.0" -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: +readable-stream@^2.3.3: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0, readable-stream@^3.6.2: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -7070,39 +6820,31 @@ readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== +"readable-stream@^3.6.2 || ^4.4.2": + version "4.7.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.7.0.tgz#cedbd8a1146c13dfff8dab14068028d58c15ac91" + integrity sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg== dependencies: - picomatch "^2.2.1" + abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" + string_decoder "^1.3.0" + +readdirp@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" + integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== real-require@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== -redis-errors@^1.0.0, redis-errors@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad" - integrity sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w== - -redis-parser@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4" - integrity sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A== - dependencies: - redis-errors "^1.0.0" - regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -rehackt@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/rehackt/-/rehackt-0.0.6.tgz#7a0a2247f2295e7548915417e44fbbf03bf004f4" - integrity sha512-l3WEzkt4ntlEc/IB3/mF6SRgNHA6zfQR7BlGOgBTOmx7IJJXojDASav+NsgXHFjHn+6RmwqsGPFgZpabWpeOdw== + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== relay-runtime@12.0.0: version "12.0.0" @@ -7145,18 +6887,9 @@ resolve-from@5.0.0: resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.1.7, resolve@^1.22.2: - version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - response-iterator@^0.2.6: version "0.2.6" resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" @@ -7170,65 +6903,58 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -restore-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" - integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - reusify@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfdc@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" - integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" -rollup@^4.2.0: - version "4.12.1" - resolved "https://registry.npmjs.org/rollup/-/rollup-4.12.1.tgz" - integrity sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg== - dependencies: - "@types/estree" "1.0.5" +rollup@^2.77.2: + version "2.79.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.2.tgz#f150e4a5db4b121a21a747d762f701e5e9f49090" + integrity sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ== optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.12.1" - "@rollup/rollup-android-arm64" "4.12.1" - "@rollup/rollup-darwin-arm64" "4.12.1" - "@rollup/rollup-darwin-x64" "4.12.1" - "@rollup/rollup-linux-arm-gnueabihf" "4.12.1" - "@rollup/rollup-linux-arm64-gnu" "4.12.1" - "@rollup/rollup-linux-arm64-musl" "4.12.1" - "@rollup/rollup-linux-riscv64-gnu" "4.12.1" - "@rollup/rollup-linux-x64-gnu" "4.12.1" - "@rollup/rollup-linux-x64-musl" "4.12.1" - "@rollup/rollup-win32-arm64-msvc" "4.12.1" - "@rollup/rollup-win32-ia32-msvc" "4.12.1" - "@rollup/rollup-win32-x64-msvc" "4.12.1" fsevents "~2.3.2" -rpc-websockets@^7.5.1: - version "7.9.0" - resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.9.0.tgz#a3938e16d6f134a3999fdfac422a503731bf8973" - integrity sha512-DwKewQz1IUA5wfLvgM8wDpPRcr+nWSxuFxx5CbrI2z/MyyZ4nXLM86TvIA+cI1ZAdqC8JIBR1mZR55dzaLU+Hw== +rollup@^4.34.9: + version "4.44.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.44.0.tgz#0e10b98339b306edad1e612f1e5590a79aef521c" + integrity sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA== dependencies: - "@babel/runtime" "^7.17.2" - eventemitter3 "^4.0.7" - uuid "^8.3.2" - ws "^8.5.0" + "@types/estree" "1.0.8" optionalDependencies: - bufferutil "^4.0.1" - utf-8-validate "^5.0.2" + "@rollup/rollup-android-arm-eabi" "4.44.0" + "@rollup/rollup-android-arm64" "4.44.0" + "@rollup/rollup-darwin-arm64" "4.44.0" + "@rollup/rollup-darwin-x64" "4.44.0" + "@rollup/rollup-freebsd-arm64" "4.44.0" + "@rollup/rollup-freebsd-x64" "4.44.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.44.0" + "@rollup/rollup-linux-arm-musleabihf" "4.44.0" + "@rollup/rollup-linux-arm64-gnu" "4.44.0" + "@rollup/rollup-linux-arm64-musl" "4.44.0" + "@rollup/rollup-linux-loongarch64-gnu" "4.44.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.44.0" + "@rollup/rollup-linux-riscv64-gnu" "4.44.0" + "@rollup/rollup-linux-riscv64-musl" "4.44.0" + "@rollup/rollup-linux-s390x-gnu" "4.44.0" + "@rollup/rollup-linux-x64-gnu" "4.44.0" + "@rollup/rollup-linux-x64-musl" "4.44.0" + "@rollup/rollup-win32-arm64-msvc" "4.44.0" + "@rollup/rollup-win32-ia32-msvc" "4.44.0" + "@rollup/rollup-win32-x64-msvc" "4.44.0" + fsevents "~2.3.2" run-async@^2.4.0: version "2.4.1" @@ -7237,18 +6963,11 @@ run-async@^2.4.0: run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" -rxjs@^6.6.3: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - rxjs@^7.5.5: version "7.8.1" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" @@ -7256,15 +6975,15 @@ rxjs@^7.5.5: dependencies: tslib "^2.1.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-json-utils@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1" - integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ== +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-stable-stringify@^2.1.0: version "2.4.3" @@ -7278,16 +6997,11 @@ safe-stable-stringify@^2.1.0: scheduler@^0.23.0: version "0.23.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== dependencies: loose-envify "^1.1.0" -scrypt-js@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - scuid@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/scuid/-/scuid-1.1.0.tgz#d3f9f920956e737a60f72d0e4ad280bf324d5dab" @@ -7295,13 +7009,13 @@ scuid@^1.1.0: semver@^6.3.1: version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.3.8, semver@^7.5.4: - version "7.6.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + 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== dependencies: lru-cache "^6.0.0" @@ -7319,18 +7033,6 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -7346,14 +7048,14 @@ sha.js@^2.4.11: shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.7.3: @@ -7361,26 +7063,11 @@ shell-quote@^1.7.3: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== -side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: +signal-exit@^3.0.2: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -signal-exit@^4.0.1, signal-exit@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - signedsource@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/signedsource/-/signedsource-1.0.0.tgz#1ddace4981798f93bd833973803d80d52e93ad6a" @@ -7388,14 +7075,9 @@ signedsource@^1.0.0: slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -7422,6 +7104,24 @@ snake-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" +socket.io-client@^4.5.1: + version "4.8.1" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.8.1.tgz#1941eca135a5490b94281d0323fe2a35f6f291cb" + integrity sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.2" + engine.io-client "~6.6.1" + socket.io-parser "~4.2.4" + +socket.io-parser@~4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" + integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + sonic-boom@^2.2.1: version "2.8.0" resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" @@ -7431,9 +7131,14 @@ sonic-boom@^2.2.1: source-map-js@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + split-on-first@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" @@ -7451,35 +7156,10 @@ sponge-case@^1.0.1: dependencies: tslib "^2.0.3" -standard-as-callback@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" - integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A== - -std-env@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" - integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== - -stdin-discarder@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.1.0.tgz#22b3e400393a8e28ebf53f9958f3880622efde21" - integrity sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ== - dependencies: - bl "^5.0.0" - -stream-browserify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-shift@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b" - integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== streamsearch@^1.1.0: version "1.1.0" @@ -7496,15 +7176,6 @@ string-env-interpolation@^1.0.1: resolved "https://registry.yarnpkg.com/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz#ad4397ae4ac53fe6c91d1402ad6f6a52862c7152" integrity sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg== -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -7514,76 +7185,32 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -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== dependencies: safe-buffer "~5.2.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: - ansi-regex "^5.0.1" + safe-buffer "~5.1.0" strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -sucrase@^3.32.0: - version "3.35.0" - resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz" - integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - glob "^10.3.10" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - ts-interface-checker "^0.1.9" - -superstruct@^0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b" - integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== - superstruct@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-1.0.3.tgz#de626a5b49c6641ff4d37da3c7598e7a87697046" @@ -7591,23 +7218,18 @@ superstruct@^1.0.3: supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - swap-case@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-2.0.2.tgz#671aedb3c9c137e2985ef51c51f9e98445bf70d9" @@ -7620,74 +7242,42 @@ symbol-observable@^4.0.0: resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== -system-architecture@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/system-architecture/-/system-architecture-0.1.0.tgz#71012b3ac141427d97c67c56bc7921af6bff122d" - integrity sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA== - -tailwind-merge@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-2.2.1.tgz#3f10f296a2dba1d88769de8244fafd95c3324aeb" - integrity sha512-o+2GTLkthfa5YUt4JxPfzMIpQzZ3adD1vLVkvKE1Twl9UAhGsEbIZhHHZVRttyW177S8PDJI3bTQNaebyofK3Q== - dependencies: - "@babel/runtime" "^7.23.7" +tailwind-merge@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-3.3.1.tgz#a7e7db7c714f6020319e626ecfb7e7dac8393a4b" + integrity sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g== tailwindcss-animate@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz#318b692c4c42676cc9e67b19b78775742388bef4" integrity sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA== -tailwindcss@^3.4.1: - version "3.4.1" - resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz" - integrity sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA== - dependencies: - "@alloc/quick-lru" "^5.2.0" - arg "^5.0.2" - chokidar "^3.5.3" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.3.0" - glob-parent "^6.0.2" - is-glob "^4.0.3" - jiti "^1.19.1" - lilconfig "^2.1.0" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.23" - postcss-import "^15.1.0" - postcss-js "^4.0.1" - postcss-load-config "^4.0.1" - postcss-nested "^6.0.1" - postcss-selector-parser "^6.0.11" - resolve "^1.22.2" - sucrase "^3.32.0" - -text-encoding-utf-8@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" - integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== +tailwindcss@4.1.10, tailwindcss@^4.1.10: + version "4.1.10" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-4.1.10.tgz#515741b0a79316d1971d182f7fbc435b68679373" + integrity sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA== -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +tapable@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.2.tgz#ab4984340d30cb9989a490032f086dbb8b56d872" + integrity sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg== -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== +tar@^7.4.3: + version "7.4.3" + resolved "https://registry.yarnpkg.com/tar/-/tar-7.4.3.tgz#88bbe9286a3fcd900e94592cda7a22b192e80571" + integrity sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw== dependencies: - thenify ">= 3.1.0 < 4" + "@isaacs/fs-minipass" "^4.0.0" + chownr "^3.0.0" + minipass "^7.1.2" + minizlib "^3.0.1" + mkdirp "^3.0.1" + yallist "^5.0.0" -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== thread-stream@^0.15.1: version "0.15.2" @@ -7696,7 +7286,7 @@ thread-stream@^0.15.1: dependencies: real-require "^0.1.0" -"through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: +through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== @@ -7711,6 +7301,14 @@ tiny-warning@^1.0.3: resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== +tinyglobby@^0.2.13: + version "0.2.14" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.14.tgz#5280b0cf3f972b050e74ae88406c0a6a58f4079d" + integrity sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ== + dependencies: + fdir "^6.4.4" + picomatch "^4.0.2" + title-case@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/title-case/-/title-case-3.0.3.tgz#bc689b46f02e411f1d1e1d081f7c3deca0489982" @@ -7727,12 +7325,12 @@ tmp@^0.0.33: to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" @@ -7742,25 +7340,15 @@ toformat@^2.0.0: resolved "https://registry.yarnpkg.com/toformat/-/toformat-2.0.0.tgz#7a043fd2dfbe9021a4e36e508835ba32056739d8" integrity sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ== -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== - tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== ts-api-utils@^1.0.1: - version "1.3.0" - resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== - -ts-interface-checker@^0.1.9: - version "0.1.13" - resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + version "1.0.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" + integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== ts-invariant@^0.10.3: version "0.10.3" @@ -7774,16 +7362,40 @@ ts-log@^2.2.3: resolved "https://registry.yarnpkg.com/ts-log/-/ts-log-2.2.5.tgz#aef3252f1143d11047e2cb6f7cfaac7408d96623" integrity sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA== -tslib@1.14.1, tslib@^1.9.0: +ts-node@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tslib@1.14.1: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, 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.6.1, tslib@^2.6.2, tslib@~2.6.0: +tslib@^2.0.0, 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.6.1, tslib@~2.6.0: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tslib@^2.6.0, tslib@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tslib@~2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" @@ -7796,14 +7408,14 @@ tslib@~2.5.0: type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== type-fest@^0.21.3: @@ -7811,29 +7423,29 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== -typedarray-to-buffer@3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^5.2.2: - version "5.4.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz" - integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== +typescript@^5.0.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== ua-parser-js@^1.0.35: - version "1.0.37" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" - integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== + version "1.0.36" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.36.tgz#a9ab6b9bd3a8efb90bb0816674b412717b7c428c" + integrity sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw== -ufo@^1.3.0, ufo@^1.3.1, ufo@^1.3.2, ufo@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.4.0.tgz#39845b31be81b4f319ab1d99fd20c56cac528d32" - integrity sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ== +ufo@^1.5.4, ufo@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.6.1.tgz#ac2db1d54614d1b22c1d603e3aef44a85d8f146b" + integrity sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA== + +uint8arrays@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.0.tgz#8186b8eafce68f28bd29bd29d683a311778901e2" + integrity sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog== + dependencies: + multiformats "^9.4.2" -uint8arrays@^3.0.0, uint8arrays@^3.1.0: +uint8arrays@3.1.1, uint8arrays@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== @@ -7850,27 +7462,6 @@ uncrypto@^0.1.3: resolved "https://registry.yarnpkg.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b" integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q== -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unenv@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/unenv/-/unenv-1.9.0.tgz#469502ae85be1bd3a6aa60f810972b1a904ca312" - integrity sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g== - dependencies: - consola "^3.2.3" - defu "^6.1.3" - mime "^3.0.0" - node-fetch-native "^1.6.1" - pathe "^1.1.1" - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - unixify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unixify/-/unixify-1.0.0.tgz#3a641c8c2ffbce4da683a5c70f03a462940c2090" @@ -7879,34 +7470,22 @@ unixify@^1.0.0: normalize-path "^2.1.1" unstorage@^1.9.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.10.1.tgz#bf8cc00a406e40a6293e893da9807057d95875b0" - integrity sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw== + version "1.16.0" + resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.16.0.tgz#686e23d459532e0eccc32e15eb3b415d8f309431" + integrity sha512-WQ37/H5A7LcRPWfYOrDa1Ys02xAbpPJq6q5GkO88FBXVSQzHd7+BjEwfRqyaSWCv9MbsJy058GWjjPjcJ16GGA== dependencies: anymatch "^3.1.3" - chokidar "^3.5.3" - destr "^2.0.2" - h3 "^1.8.2" - ioredis "^5.3.2" - listhen "^1.5.5" - lru-cache "^10.0.2" - mri "^1.2.0" - node-fetch-native "^1.4.1" - ofetch "^1.3.3" - ufo "^1.3.1" - -untun@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/untun/-/untun-0.1.3.tgz#5d10dee37a3a5737ff03d158be877dae0a0e58a6" - integrity sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ== - dependencies: - citty "^0.1.5" - consola "^3.2.3" - pathe "^1.1.1" + chokidar "^4.0.3" + destr "^2.0.5" + h3 "^1.15.2" + lru-cache "^10.4.3" + node-fetch-native "^1.6.6" + ofetch "^1.4.1" + ufo "^1.6.1" update-browserslist-db@^1.0.13: version "1.0.13" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== dependencies: escalade "^3.1.1" @@ -7926,32 +7505,34 @@ upper-case@^2.0.2: dependencies: tslib "^2.0.3" -uqr@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/uqr/-/uqr-0.1.2.tgz#5c6cd5dcff9581f9bb35b982cb89e2c483a41d7d" - integrity sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA== - uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" -urlpattern-polyfill@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz#f0a03a97bfb03cdf33553e5e79a2aadd22cac8ec" - integrity sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg== - 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" + integrity sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g== + use-callback-ref@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.1.tgz#9be64c3902cbd72b07fe55e56408ae3a26036fd0" - integrity sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ== + version "1.3.0" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5" + integrity sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w== + dependencies: + tslib "^2.0.0" + +use-callback-ref@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.3.tgz#98d9fab067075841c5b2c6852090d5d0feabe2bf" + integrity sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg== dependencies: tslib "^2.0.0" @@ -7963,11 +7544,24 @@ use-sidecar@^1.1.2: detect-node-es "^1.1.0" tslib "^2.0.0" -use-sync-external-store@1.2.0, use-sync-external-store@^1.2.0: +use-sidecar@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.3.tgz#10e7fd897d130b896e2c546c63a5e8233d00efdb" + integrity sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ== + dependencies: + detect-node-es "^1.1.0" + tslib "^2.0.0" + +use-sync-external-store@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== +use-sync-external-store@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz#adbc795d8eeb47029963016cefdf89dc799fcebc" + integrity sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw== + utf-8-validate@^5.0.2: version "5.0.10" resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" @@ -7975,12 +7569,12 @@ utf-8-validate@^5.0.2: dependencies: node-gyp-build "^4.3.0" -util-deprecate@^1.0.1, util-deprecate@^1.0.2: +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util@^0.12.4, util@^0.12.5: +util@^0.12.4: version "0.12.5" resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== @@ -7996,12 +7590,23 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -valtio@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.10.5.tgz#7852125e3b774b522827d96bd9c76d285c518678" - integrity sha512-jTp0k63VXf4r5hPoaC6a6LCG4POkVSh629WLi1+d5PlajLsbynTMd7qAgEiOSPxzoX5iNvbN7iZ/k/g29wrNiQ== +uuid@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +valtio@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.13.2.tgz#e31d452d5da3550935417670aafd34d832dc7241" + integrity sha512-Qik0o+DSy741TmkqmRfjq+0xpZBXi/Y6+fXZLn0xNF1z/waFMbE3rkivv5Zcf9RrMUp6zswf2J7sbh2KBlba5A== dependencies: - proxy-compare "2.5.1" + derive-valtio "0.1.0" + proxy-compare "2.6.0" use-sync-external-store "1.2.0" value-or-promise@^1.0.11, value-or-promise@^1.0.12: @@ -8016,58 +7621,79 @@ vaul@^0.9.0: dependencies: "@radix-ui/react-dialog" "^1.0.4" -viem@0.3.36: - version "0.3.36" - resolved "https://registry.yarnpkg.com/viem/-/viem-0.3.36.tgz#3747ef6c4ae81eb14518e2fdfed17643c1b147f3" - integrity sha512-8wgZyG+Zty6b9ztM5+/1xBZBl/z1/YFtQJZqrvSOUnbrIL7u786XeZXDPyoY6zbR0HTt14k5ATsEPnXnCyDhtg== - dependencies: - "@adraffy/ens-normalize" "1.9.0" - "@noble/curves" "1.0.0" - "@noble/hashes" "1.3.0" - "@scure/bip32" "1.3.0" - "@scure/bip39" "1.2.0" - "@wagmi/chains" "0.2.16" - abitype "0.8.2" - isomorphic-ws "5.0.0" - ws "8.12.0" - -viem@~0.3.18: - version "0.3.50" - resolved "https://registry.yarnpkg.com/viem/-/viem-0.3.50.tgz#999a7682eda7eabc48c923f4b9923c3f098fc1ab" - integrity sha512-s+LxCYZTR9F/qPk1/n1YDVAX9vSeVz7GraqBZWGrDuenCJxo9ArCoIceJ6ksI0WwSeNzcZ0VVbD/kWRzTxkipw== - dependencies: - "@adraffy/ens-normalize" "1.9.0" - "@noble/curves" "1.0.0" - "@noble/hashes" "1.3.0" - "@scure/bip32" "1.3.0" - "@scure/bip39" "1.2.0" - "@wagmi/chains" "1.0.0" - abitype "0.8.7" - isomorphic-ws "5.0.0" - ws "8.12.0" - -vite@^5.1.4: - version "5.1.5" - resolved "https://registry.npmjs.org/vite/-/vite-5.1.5.tgz" - integrity sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q== - dependencies: - esbuild "^0.19.3" - postcss "^8.4.35" - rollup "^4.2.0" +viem@2.23.2: + version "2.23.2" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.23.2.tgz#db395c8cf5f4fb5572914b962fb8ce5db09f681c" + integrity sha512-NVmW/E0c5crMOtbEAqMF0e3NmvQykFXhLOc/CkLIXOlzHSA6KXVz3CYVmaKqBF8/xtjsjHAGjdJN3Ru1kFJLaA== + dependencies: + "@noble/curves" "1.8.1" + "@noble/hashes" "1.7.1" + "@scure/bip32" "1.6.2" + "@scure/bip39" "1.5.4" + abitype "1.0.8" + isows "1.0.6" + ox "0.6.7" + ws "8.18.0" + +viem@2.30.6: + version "2.30.6" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.30.6.tgz#fffe69aa4d16ab1802b21b44856ae09bacf10f9b" + integrity sha512-N3vGy3pZ+EVgQRuWqQhZPFXxQE8qMRrBd3uM+KLc1Ub2w6+vkyr7umeWQCM4c+wlsCdByUgh2630MDMLquMtpg== + dependencies: + "@noble/curves" "1.9.1" + "@noble/hashes" "1.8.0" + "@scure/bip32" "1.7.0" + "@scure/bip39" "1.6.0" + abitype "1.0.8" + isows "1.0.7" + ox "0.7.1" + ws "8.18.2" + +viem@2.x, viem@>=2.29.0, viem@^2.1.1, viem@^2.31.3: + version "2.31.3" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.31.3.tgz#4157d7c87db5a23eee5f5e230849d5f30e731825" + integrity sha512-q3JGI5QFB4LEiLfg9f2ZwjUygAn2W0wMLtj++7E/L2i8Y7zKAkR4TEEOhwBn7gyYXpuc7f1vfd26PJbkEKuj5w== + dependencies: + "@noble/curves" "1.9.2" + "@noble/hashes" "1.8.0" + "@scure/bip32" "1.7.0" + "@scure/bip39" "1.6.0" + abitype "1.0.8" + isows "1.0.7" + ox "0.8.1" + ws "8.18.2" + +vite-plugin-eslint@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/vite-plugin-eslint/-/vite-plugin-eslint-1.8.1.tgz#0381b8272e7f0fd8b663311b64f7608d55d8b04c" + integrity sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang== + dependencies: + "@rollup/pluginutils" "^4.2.1" + "@types/eslint" "^8.4.5" + rollup "^2.77.2" + +vite@^6.3.5: + version "6.3.5" + resolved "https://registry.yarnpkg.com/vite/-/vite-6.3.5.tgz#fec73879013c9c0128c8d284504c6d19410d12a3" + integrity sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ== + dependencies: + esbuild "^0.25.0" + fdir "^6.4.4" + picomatch "^4.0.2" + postcss "^8.5.3" + rollup "^4.34.9" + tinyglobby "^0.2.13" optionalDependencies: fsevents "~2.3.3" -wagmi@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-1.0.6.tgz#e40ba28e7bff70a0f6ce9b2c1b376e1468189b92" - integrity sha512-lagpdFyms43+80wwHPElXhW8QXZSH/nKesfcuFdhA3iCQ9cCksj8xrMoEcmuno3zrUaN85X5bn72QgKQNfOYNQ== +wagmi@^2.15.6: + version "2.15.6" + resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.15.6.tgz#eaad3576f29f383bb082cac53694fae3a9075393" + integrity sha512-tR4tm+7eE0UloQe1oi4hUIjIDyjv5ImQlzq/QcvvfJYWF/EquTfGrmht6+nTYGCIeSzeEvbK90KgWyNqa+HD7Q== dependencies: - "@tanstack/query-sync-storage-persister" "^4.27.1" - "@tanstack/react-query" "^4.28.0" - "@tanstack/react-query-persist-client" "^4.28.0" - "@wagmi/core" "1.0.6" - abitype "0.8.1" - use-sync-external-store "^1.2.0" + "@wagmi/connectors" "5.8.5" + "@wagmi/core" "2.17.3" + use-sync-external-store "1.4.0" wcwidth@^1.0.1: version "1.0.1" @@ -8076,21 +7702,31 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -web-streams-polyfill@^3.0.3, web-streams-polyfill@^3.2.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" - integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== +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.8: - version "1.7.8" - resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.7.8.tgz#056918036e846c72cfebbb04052e283f57f1114a" - integrity sha512-eBR98r9nQXTqXt/yDRtInszPMjTaSAMJAFDg2AHsgrnczawT1asx9YNBX6k5p+MekbPF4+s/UJJrr88zsTqkSg== +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.8" + "@peculiar/asn1-schema" "^2.3.6" "@peculiar/json-schema" "^1.1.12" asn1js "^3.0.1" - pvtsutils "^1.3.5" - tslib "^2.6.2" + pvtsutils "^1.3.2" + tslib "^2.4.0" + +"webextension-polyfill@>=0.10.0 <1.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/webextension-polyfill/-/webextension-polyfill-0.12.0.tgz#f62c57d2cd42524e9fbdcee494c034cae34a3d69" + integrity sha512-97TBmpoWJEE+3nFBQ4VocyCdLKfw54rFaJ6EVQYLBCXqCIpLSZkwGgASpv4oPt9gdKCJ80RJlcmNzNn008Ag6Q== + +webextension-polyfill@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz#ccb28101c910ba8cf955f7e6a263e662d744dbb8" + integrity sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g== webidl-conversions@^3.0.0: version "3.0.1" @@ -8110,33 +7746,24 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which-typed-array@^1.1.14, which-typed-array@^1.1.2: - version "1.1.14" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06" - integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg== +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.6" - call-bind "^1.0.5" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" for-each "^0.3.3" gopd "^1.0.1" - has-tostringtag "^1.0.1" + has-tostringtag "^1.0.0" which@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -8155,39 +7782,45 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== +ws@8.14.1: + version "8.14.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.1.tgz#4b9586b4f70f9e6534c7bb1d3dc0baa8b8cf01e0" + integrity sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A== -ws@8.12.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" - integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== +ws@8.18.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== -ws@^7.4.0, ws@^7.4.5, ws@^7.5.1: +ws@8.18.2: + version "8.18.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.2.tgz#42738b2be57ced85f46154320aabb51ab003705a" + integrity sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ== + +ws@^7.5.1: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@^8.12.0, ws@^8.13.0, ws@^8.15.0, ws@^8.5.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== +ws@^8.12.0, ws@^8.13.0: + version "8.14.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" + integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== + +ws@~8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + +xmlhttprequest-ssl@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz#e9e8023b3f29ef34b97a859f584c5e6c61418e23" + integrity sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ== xtend@^4.0.1: version "4.0.2" @@ -8206,23 +7839,28 @@ y18n@^5.0.5: yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yallist@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533" + integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== + yaml-ast-parser@^0.0.43: version "0.0.43" resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb" integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== -yaml@^2.3.1, yaml@^2.3.4: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.1.tgz#2e57e0b5e995292c25c75d2658f0664765210eed" - integrity sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg== +yaml@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.2.tgz#f522db4313c671a0ca963a75670f1c12ea909144" + integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg== yargs-parser@^18.1.2: version "18.1.3" @@ -8267,16 +7905,16 @@ yargs@^17.0.0: y18n "^5.0.5" yargs-parser "^21.1.1" +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== - zen-observable-ts@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" @@ -8289,14 +7927,24 @@ zen-observable@0.8.15: resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== -zod@^3.21.4: +zod@3.22.4: version "3.22.4" resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff" integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== -zustand@^4.3.1: - version "4.5.2" - resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.5.2.tgz#fddbe7cac1e71d45413b3682cdb47b48034c3848" - integrity sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g== +zod@^3.22.2: + version "3.25.64" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.64.tgz#57b5c7e76dd64e447f7e710285fcdb396b32f803" + integrity sha512-hbP9FpSZf7pkS7hRVUrOjhwKJNyampPgtXKc3AN6DsWtoHsg2Sb4SQaS4Tcay380zSwd2VPo9G9180emBACp5g== + +zustand@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.0.tgz#71f8aaecf185592a3ba2743d7516607361899da9" + integrity sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ== + +zustand@^4.4.1: + version "4.4.3" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.3.tgz#1d54cf7fa4507ad8bf58e2f13e08ddc8a6730128" + integrity sha512-oRy+X3ZazZvLfmv6viIaQmtLOMeij1noakIsK/Y47PWYhT8glfXzQ4j0YcP5i0P0qI1A4rIB//SGROGyZhx91A== dependencies: use-sync-external-store "1.2.0" From d3035a1f55cacd85f623fe2f8452ac3649d16f3d Mon Sep 17 00:00:00 2001 From: damnnou Date: Wed, 24 Dec 2025 18:56:26 +0300 Subject: [PATCH 17/20] refactor: add farming module, ve33 module --- config/app-modules.ts | 2 + index.html | 2 +- public/favicon.png | Bin 1261 -> 5046 bytes public/sophon-logo.png | Bin 1272 -> 0 bytes src/assets/react.svg | 1 - src/assets/sophon-logo-dark.png | Bin 6038 -> 0 bytes src/assets/sophon-logo.png | Bin 7734 -> 0 bytes src/components/common/AdminAccount/index.tsx | 6 +- src/components/common/CurrencyLogo/index.tsx | 13 +- src/components/common/Header/index.tsx | 60 +++-- src/components/common/Layout/index.tsx | 5 +- src/components/common/PageContainer/index.tsx | 12 +- src/components/common/TokenSelector/index.tsx | 2 +- src/components/gauges/NewGaugeModal/index.tsx | 0 src/components/pool/ManagePlugins/index.tsx | 2 +- src/components/pool/PoolDetails/index.tsx | 2 +- src/components/ui/checkbox.tsx | 42 ++-- src/components/ui/credenza.tsx | 238 +++++++++--------- src/components/ui/dialog.tsx | 169 ++++++------- src/components/ui/drawer.tsx | 154 +++++------- src/components/ui/input.tsx | 2 +- src/components/ui/select.tsx | 2 +- src/components/ui/switch.tsx | 44 ++-- src/components/ui/table.tsx | 162 ++++-------- src/components/ui/toast.tsx | 3 +- src/index.css | 3 +- src/lib/utils.ts | 6 - .../FarmingModule/components/CreateFarm.tsx} | 14 +- .../components/CreateFarmButton.tsx} | 0 .../FarmingModule/components/FarmDetails.tsx} | 0 .../FarmingModule/components/FarmList.tsx} | 4 +- .../components/FarmPoolDetails.tsx} | 0 .../components/FarmRewardDetails.tsx} | 9 +- .../components/ManageRewardsModal.tsx} | 0 src/modules/FarmingModule/components/index.ts | 7 + src/modules/FarmingModule/hooks/index.ts | 1 + .../FarmingModule/hooks}/useFarmData.ts | 2 +- src/modules/FarmingModule/index.ts | 9 + .../Ve33Module/components/CreateGauge.tsx} | 6 +- .../Ve33Module/components/GaugeDetails.tsx} | 0 .../Ve33Module/components/GaugeRewards.tsx} | 4 +- .../Ve33Module/components/GaugesList.tsx} | 2 +- src/modules/Ve33Module/components/index.ts | 4 + src/modules/Ve33Module/hooks/index.ts | 3 + .../Ve33Module/hooks}/useAllGauges.ts | 2 +- .../Ve33Module/hooks}/useVotingPool.ts | 6 +- .../Ve33Module/hooks}/useWhitelistForGauge.ts | 2 +- src/modules/Ve33Module/index.ts | 9 + src/modules/__empty_module.ts | 18 +- src/pages/Farm/index.tsx | 8 +- src/pages/Farms/index.tsx | 4 +- src/pages/Gauge/index.tsx | 7 +- src/pages/Gauges/index.tsx | 4 +- src/pages/NewFarm/index.tsx | 34 +-- src/pages/NewGauge/index.tsx | 4 +- src/providers/RouterProvider.tsx | 63 +++-- 56 files changed, 542 insertions(+), 616 deletions(-) delete mode 100644 public/sophon-logo.png delete mode 100644 src/assets/react.svg delete mode 100644 src/assets/sophon-logo-dark.png delete mode 100644 src/assets/sophon-logo.png delete mode 100644 src/components/gauges/NewGaugeModal/index.tsx delete mode 100644 src/lib/utils.ts rename src/{components/farms/CreateFarm/index.tsx => modules/FarmingModule/components/CreateFarm.tsx} (97%) rename src/{components/farms/CreateFarmButton/index.tsx => modules/FarmingModule/components/CreateFarmButton.tsx} (100%) rename src/{components/farm/FarmDetails/index.tsx => modules/FarmingModule/components/FarmDetails.tsx} (100%) rename src/{components/farms/FarmList/index.tsx => modules/FarmingModule/components/FarmList.tsx} (97%) rename src/{components/farm/FarmPoolDetails/index.tsx => modules/FarmingModule/components/FarmPoolDetails.tsx} (100%) rename src/{components/farm/FarmRewardDetails/index.tsx => modules/FarmingModule/components/FarmRewardDetails.tsx} (98%) rename src/{components/modals/farm/ManageRewardsModal/index.tsx => modules/FarmingModule/components/ManageRewardsModal.tsx} (100%) create mode 100644 src/modules/FarmingModule/components/index.ts create mode 100644 src/modules/FarmingModule/hooks/index.ts rename src/{hooks/farms => modules/FarmingModule/hooks}/useFarmData.ts (98%) create mode 100644 src/modules/FarmingModule/index.ts rename src/{components/gauges/CreateGauge/index.tsx => modules/Ve33Module/components/CreateGauge.tsx} (96%) rename src/{components/gauge/GaugeDetails/index.tsx => modules/Ve33Module/components/GaugeDetails.tsx} (100%) rename src/{components/gauge/GaugeRewards/index.tsx => modules/Ve33Module/components/GaugeRewards.tsx} (98%) rename src/{components/gauges/GaugesList/index.tsx => modules/Ve33Module/components/GaugesList.tsx} (98%) create mode 100644 src/modules/Ve33Module/components/index.ts create mode 100644 src/modules/Ve33Module/hooks/index.ts rename src/{hooks/gauges => modules/Ve33Module/hooks}/useAllGauges.ts (97%) rename src/{hooks/gauges => modules/Ve33Module/hooks}/useVotingPool.ts (95%) rename src/{hooks/gauges => modules/Ve33Module/hooks}/useWhitelistForGauge.ts (94%) create mode 100644 src/modules/Ve33Module/index.ts diff --git a/config/app-modules.ts b/config/app-modules.ts index 5a95826..237635c 100644 --- a/config/app-modules.ts +++ b/config/app-modules.ts @@ -1,8 +1,10 @@ export enum AppFeatureModule { FarmingModule = "FarmingModule", + Ve33Module = "Ve33Module", } /* configure enabled modules here */ export const enabledModules: Record = { [AppFeatureModule.FarmingModule]: true, + [AppFeatureModule.Ve33Module]: true, }; diff --git a/index.html b/index.html index b3537fe..278ee2c 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ - Sophon Admin Panel + Integral Admin Panel
diff --git a/public/favicon.png b/public/favicon.png index 88a3e4280cab825db7fe4beed5c4413c287f1c1b..8f283309ea694417dc6dcae6dd19e9e32af8c61d 100644 GIT binary patch literal 5046 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 M07*qoM6N<$f+51XWdHyG literal 1261 zcmV@~0drDELIAGL9O(c600d`2O+f$vv5yP8HKY7=PI0A;jEQ&J92I(egV=CK=a>p zag%Id1HshU{AMCdgzUcmzW4UM)rFx2QJ4f#oLB&&II#dkabf|8;=}?F#fb$ViW3V! z6ekvdC{APoJUl#*wbcy0@IERc6QEu{wG21tRj-|rsEAB}{{8*veXn;%q9Qs0`i}yb z=72=SA_)o8H0cH4*6H*s>q<+1cO1wOcxE!0w62u&b7crD0458U#bplc_gF!Z5nEe3 zqj7BNX5)ey9@JEO46zNJr zw0^%&cMp74W>N4Rgb?PI%jJa&;s^n_=HBQ0#E0X7m=rbiU+f_!WkE=N`nc`5_vNxB z<+2PW0tCVHAdbkh-1Ejbyf=&lK%zN5uK2D5CWpAnu5Zkog~Jd)1QxK@`)=9N@~thf zP}P$fwFOWCpyY?mb>WBMHo4qxpcS4(x6>hedwIvbv-8GiQeglw+U+YUhR8FR;0fF9 zy|Dqqk(m*LVHyw2KiWgSQ#vS8Z(rV1fe&JCTy#T5;WX`b9?2<21-g{x!8kV-=a#G(|HM z27EJwMhJ78v>ju<=mYo#bhN|x1w=p%U9Z)AAIMH~p)`YuU<;y+I>sAXDf)LF{W9kDDRFtUJ+=!a5uirYttrX>}JBDRp9V`s@^H8ZHF-*AK zZas@5F&K>_G5R{okr)qFrd+mHhs7QfgPqv=9g5Bho&isE!wMq1FR)LdU~te}B;^6J zKn&IpjXM?>)#M^i;h)Qn+QBRZk(*Ej2m%D)y=I&M^CYsr459aDJXIedA~FH=_m2rG zN&zAZ0mL<{2HhvMPf26~{4d1+Awm=<7Jw*DEC5lQSOB6pu>eGIVgZQa!~zh-QC@(* X?Oa~-GFjJP00000NkvXXu0mjf@~0drDELIAGL9O(c600d`2O+f$vv5yPSb`91wSl8BJZH2W8>sDFoz`8YAw}o{(@B;b*G~bOE z^K%mt31pm`Z|07fD@pG8&i@gWjpxs%Br#GXIT8X$awG(h`k$4{LtT*rmj2&mT^hTvJY>Wv1)h1dwl7Yeg$ReeKoAwB}~4+LZ~ z8Hx*OiU<%QlUZliFzd-=VytoCd;NeIfoI;`-LVz)xj_(`0323Ti)>}qGt7KV;oU;? zdKYx?dEd1!3VPXGjwWNbV8_QNRIco}_BjzCdNdr;XoNKiO^y;|Dhy$_w@aiJi#F2@ zf)^WE*PfXHG~3?RR#8a6-+vPd0}!EW8Vv@0(sga_=RGX|8m-oLnc!iC=ID0Lh5ImP z*ZbDQZqRO>7+GSUf&yp7!r5UR?e+;H#LF^-1mK0$>Tamu#7xm(A6kSdnkG36e81Pb zm;i<*VKw=Do@EbwHi%L{G+YR0gEG2Zw?fkP8*+4dc0Tvvc%ZJ|n1bH>AAE9IFiqKR z&YT1g0vE-#$g%+JAAUJvR`Kye#bymN0uX2p505-GfkVKr2K|1dQTVX{;W!f(cQq&w zWRxov_R|Rvadq7{0&|1O0x$x=9!y2_5^g$CYFI=vGRmTWVtTzX%RV5ZT&^(1S}g~pEUBvMx<@Ul2GO@JvU%~tg$fJY(`+8GxP>_IaK<+A~1V^35!v9cNm}!umV{ijWW@iGvOmF{dLcSJd^q0 z!GXP0RA7X(0otLC+zIr*mx*oU=3j(^G&Qgk= za(Tx{L-s(sw^w6DR@4CLytKE1#}5_*_CD2I%;JV`-!IwCQP1q4N!Q+O)U}2wID)iO zc*x4#XVwlQ6`~;Wisn zGY9WrA-I=?1{#Us!04==!bps@$eK25mFFSQP!yVJHcjnt-(y3FLgC&Wa-KucMFH*k z4Mk_e(6Q-qVPlaJaZyb!vJ~rc`KTROq#$xaiR-(sJsa++Ms=IT8X$awG(h i

Fee

-

{pool.fee}

+

{pool.fee / 10_000}%

Fees USD

diff --git a/src/components/ui/checkbox.tsx b/src/components/ui/checkbox.tsx index ddbdd01..210a07e 100644 --- a/src/components/ui/checkbox.tsx +++ b/src/components/ui/checkbox.tsx @@ -1,28 +1,26 @@ -import * as React from "react" -import * as CheckboxPrimitive from "@radix-ui/react-checkbox" -import { Check } from "lucide-react" +import * as React from "react"; +import * as CheckboxPrimitive from "@radix-ui/react-checkbox"; +import { Check } from "lucide-react"; -import { cn } from "@/lib/utils" +import { cn } from "@/utils/common/cn"; const Checkbox = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( - - - - - -)) -Checkbox.displayName = CheckboxPrimitive.Root.displayName + + + + +)); +Checkbox.displayName = CheckboxPrimitive.Root.displayName; -export { Checkbox } +export { Checkbox }; diff --git a/src/components/ui/credenza.tsx b/src/components/ui/credenza.tsx index a87b564..e6e9651 100644 --- a/src/components/ui/credenza.tsx +++ b/src/components/ui/credenza.tsx @@ -1,150 +1,150 @@ -"use client" +"use client"; -import * as React from "react" +import * as React from "react"; -import { cn } from "@/lib/utils" -import { useMediaQuery } from "@/hooks/common/useMediaQuery" +import { cn } from "@/utils/common/cn"; +import { useMediaQuery } from "@/hooks/common/useMediaQuery"; import { - Dialog, - DialogClose, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, - DialogTrigger, -} from "@/components/ui/dialog" + Dialog, + DialogClose, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, + DialogTrigger, +} from "@/components/ui/dialog"; import { - Drawer, - DrawerClose, - DrawerContent, - DrawerDescription, - DrawerFooter, - DrawerHeader, - DrawerTitle, - DrawerTrigger, -} from "@/components/ui/drawer" + Drawer, + DrawerClose, + DrawerContent, + DrawerDescription, + DrawerFooter, + DrawerHeader, + DrawerTitle, + DrawerTrigger, +} from "@/components/ui/drawer"; interface BaseProps { - children: React.ReactNode + children: React.ReactNode; } interface RootCredenzaProps extends BaseProps { - open?: boolean - onOpenChange?: (open: boolean) => void + open?: boolean; + onOpenChange?: (open: boolean) => void; } interface CredenzaProps extends BaseProps { - className?: string - asChild?: true + className?: string; + asChild?: true; } -const desktop = "(min-width: 768px)" +const desktop = "(min-width: 768px)"; const Credenza = ({ children, ...props }: RootCredenzaProps) => { - const isDesktop = useMediaQuery(desktop) - const Credenza = isDesktop ? Dialog : Drawer + const isDesktop = useMediaQuery(desktop); + const Credenza = isDesktop ? Dialog : Drawer; - return {children} -} + return {children}; +}; const CredenzaTrigger = ({ className, children, ...props }: CredenzaProps) => { - const isDesktop = useMediaQuery(desktop) - const CredenzaTrigger = isDesktop ? DialogTrigger : DrawerTrigger - - return ( - - {children} - - ) -} - -const CredenzaClose = ({ className, children, ...props }: CredenzaProps) => { - const isDesktop = useMediaQuery(desktop) - const CredenzaClose = isDesktop ? DialogClose : DrawerClose - - return ( - - {children} - - ) -} - -const CredenzaContent = ({ className, children, ...props }: CredenzaProps & { onInteractOutside?: () => void, onEscapeKeyDown?: () => void }) => { - const isDesktop = useMediaQuery(desktop) - const CredenzaContent = isDesktop ? DialogContent : DrawerContent + const isDesktop = useMediaQuery(desktop); + const CredenzaTrigger = isDesktop ? DialogTrigger : DrawerTrigger; - return ( - - {children} - - ) -} + return ( + + {children} + + ); +}; -const CredenzaDescription = ({ - className, - children, - ...props -}: CredenzaProps) => { - const isDesktop = useMediaQuery(desktop) - const CredenzaDescription = isDesktop ? DialogDescription : DrawerDescription - - return ( - - {children} - - ) -} +const CredenzaClose = ({ className, children, ...props }: CredenzaProps) => { + const isDesktop = useMediaQuery(desktop); + const CredenzaClose = isDesktop ? DialogClose : DrawerClose; + + return ( + + {children} + + ); +}; + +const CredenzaContent = ({ + className, + children, + ...props +}: CredenzaProps & { onInteractOutside?: () => void; onEscapeKeyDown?: () => void }) => { + const isDesktop = useMediaQuery(desktop); + const CredenzaContent = isDesktop ? DialogContent : DrawerContent; + + return ( + + {children} + + ); +}; + +const CredenzaDescription = ({ className, children, ...props }: CredenzaProps) => { + const isDesktop = useMediaQuery(desktop); + const CredenzaDescription = isDesktop ? DialogDescription : DrawerDescription; + + return ( + + {children} + + ); +}; const CredenzaHeader = ({ className, children, ...props }: CredenzaProps) => { - const isDesktop = useMediaQuery(desktop) - const CredenzaHeader = isDesktop ? DialogHeader : DrawerHeader - - return ( - - {children} - - ) -} + const isDesktop = useMediaQuery(desktop); + const CredenzaHeader = isDesktop ? DialogHeader : DrawerHeader; + + return ( + + {children} + + ); +}; const CredenzaTitle = ({ className, children, ...props }: CredenzaProps) => { - const isDesktop = useMediaQuery(desktop) - const CredenzaTitle = isDesktop ? DialogTitle : DrawerTitle - - return ( - - {children} - - ) -} + const isDesktop = useMediaQuery(desktop); + const CredenzaTitle = isDesktop ? DialogTitle : DrawerTitle; + + return ( + + {children} + + ); +}; const CredenzaBody = ({ className, children, ...props }: CredenzaProps) => { - return ( -
- {children} -
- ) -} + return ( +
+ {children} +
+ ); +}; const CredenzaFooter = ({ className, children, ...props }: CredenzaProps) => { - const isDesktop = useMediaQuery(desktop) - const CredenzaFooter = isDesktop ? DialogFooter : DrawerFooter - - return ( - - {children} - - ) -} + const isDesktop = useMediaQuery(desktop); + const CredenzaFooter = isDesktop ? DialogFooter : DrawerFooter; + + return ( + + {children} + + ); +}; export { - Credenza, - CredenzaTrigger, - CredenzaClose, - CredenzaContent, - CredenzaDescription, - CredenzaHeader, - CredenzaTitle, - CredenzaBody, - CredenzaFooter -} \ No newline at end of file + Credenza, + CredenzaTrigger, + CredenzaClose, + CredenzaContent, + CredenzaDescription, + CredenzaHeader, + CredenzaTitle, + CredenzaBody, + CredenzaFooter, +}; diff --git a/src/components/ui/dialog.tsx b/src/components/ui/dialog.tsx index c23630e..d6e205a 100644 --- a/src/components/ui/dialog.tsx +++ b/src/components/ui/dialog.tsx @@ -1,120 +1,91 @@ -import * as React from "react" -import * as DialogPrimitive from "@radix-ui/react-dialog" -import { X } from "lucide-react" +import * as React from "react"; +import * as DialogPrimitive from "@radix-ui/react-dialog"; +import { X } from "lucide-react"; -import { cn } from "@/lib/utils" +import { cn } from "@/utils/common/cn"; -const Dialog = DialogPrimitive.Root +const Dialog = DialogPrimitive.Root; -const DialogTrigger = DialogPrimitive.Trigger +const DialogTrigger = DialogPrimitive.Trigger; -const DialogPortal = DialogPrimitive.Portal +const DialogPortal = DialogPrimitive.Portal; -const DialogClose = DialogPrimitive.Close +const DialogClose = DialogPrimitive.Close; const DialogOverlay = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( - -)) -DialogOverlay.displayName = DialogPrimitive.Overlay.displayName + +)); +DialogOverlay.displayName = DialogPrimitive.Overlay.displayName; const DialogContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => ( - - - - {children} - - - Close - - - -)) -DialogContent.displayName = DialogPrimitive.Content.displayName + + + + {children} + + + Close + + + +)); +DialogContent.displayName = DialogPrimitive.Content.displayName; -const DialogHeader = ({ - className, - ...props -}: React.HTMLAttributes) => ( -
-) -DialogHeader.displayName = "DialogHeader" +const DialogHeader = ({ className, ...props }: React.HTMLAttributes) => ( +
+); +DialogHeader.displayName = "DialogHeader"; -const DialogFooter = ({ - className, - ...props -}: React.HTMLAttributes) => ( -
-) -DialogFooter.displayName = "DialogFooter" +const DialogFooter = ({ className, ...props }: React.HTMLAttributes) => ( +
+); +DialogFooter.displayName = "DialogFooter"; const DialogTitle = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( - -)) -DialogTitle.displayName = DialogPrimitive.Title.displayName + +)); +DialogTitle.displayName = DialogPrimitive.Title.displayName; const DialogDescription = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( - -)) -DialogDescription.displayName = DialogPrimitive.Description.displayName + +)); +DialogDescription.displayName = DialogPrimitive.Description.displayName; export { - Dialog, - DialogPortal, - DialogOverlay, - DialogClose, - DialogTrigger, - DialogContent, - DialogHeader, - DialogFooter, - DialogTitle, - DialogDescription, -} + Dialog, + DialogPortal, + DialogOverlay, + DialogClose, + DialogTrigger, + DialogContent, + DialogHeader, + DialogFooter, + DialogTitle, + DialogDescription, +}; diff --git a/src/components/ui/drawer.tsx b/src/components/ui/drawer.tsx index c17b0cc..b41d4fc 100644 --- a/src/components/ui/drawer.tsx +++ b/src/components/ui/drawer.tsx @@ -1,116 +1,80 @@ -import * as React from "react" -import { Drawer as DrawerPrimitive } from "vaul" +import * as React from "react"; +import { Drawer as DrawerPrimitive } from "vaul"; -import { cn } from "@/lib/utils" +import { cn } from "@/utils/common/cn"; -const Drawer = ({ - shouldScaleBackground = true, - ...props -}: React.ComponentProps) => ( - -) -Drawer.displayName = "Drawer" +const Drawer = ({ shouldScaleBackground = true, ...props }: React.ComponentProps) => ( + +); +Drawer.displayName = "Drawer"; -const DrawerTrigger = DrawerPrimitive.Trigger +const DrawerTrigger = DrawerPrimitive.Trigger; -const DrawerPortal = DrawerPrimitive.Portal +const DrawerPortal = DrawerPrimitive.Portal; -const DrawerClose = DrawerPrimitive.Close +const DrawerClose = DrawerPrimitive.Close; const DrawerOverlay = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( - -)) -DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName + +)); +DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName; const DrawerContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => ( - - - -
- {children} - - -)) -DrawerContent.displayName = "DrawerContent" + + + +
+ {children} + + +)); +DrawerContent.displayName = "DrawerContent"; -const DrawerHeader = ({ - className, - ...props -}: React.HTMLAttributes) => ( -
-) -DrawerHeader.displayName = "DrawerHeader" +const DrawerHeader = ({ className, ...props }: React.HTMLAttributes) => ( +
+); +DrawerHeader.displayName = "DrawerHeader"; -const DrawerFooter = ({ - className, - ...props -}: React.HTMLAttributes) => ( -
-) -DrawerFooter.displayName = "DrawerFooter" +const DrawerFooter = ({ className, ...props }: React.HTMLAttributes) => ( +
+); +DrawerFooter.displayName = "DrawerFooter"; const DrawerTitle = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( - -)) -DrawerTitle.displayName = DrawerPrimitive.Title.displayName + +)); +DrawerTitle.displayName = DrawerPrimitive.Title.displayName; const DrawerDescription = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( - -)) -DrawerDescription.displayName = DrawerPrimitive.Description.displayName + +)); +DrawerDescription.displayName = DrawerPrimitive.Description.displayName; export { - Drawer, - DrawerPortal, - DrawerOverlay, - DrawerTrigger, - DrawerClose, - DrawerContent, - DrawerHeader, - DrawerFooter, - DrawerTitle, - DrawerDescription, -} + Drawer, + DrawerPortal, + DrawerOverlay, + DrawerTrigger, + DrawerClose, + DrawerContent, + DrawerHeader, + DrawerFooter, + DrawerTitle, + DrawerDescription, +}; diff --git a/src/components/ui/input.tsx b/src/components/ui/input.tsx index ec5718d..98be694 100644 --- a/src/components/ui/input.tsx +++ b/src/components/ui/input.tsx @@ -1,6 +1,6 @@ import * as React from "react"; -import { cn } from "@/lib/utils"; +import { cn } from "@/utils/common/cn"; const inputRegex = RegExp(`^\\d*(?:\\\\[.])?\\d*$`); export interface InputProps extends React.InputHTMLAttributes { diff --git a/src/components/ui/select.tsx b/src/components/ui/select.tsx index 9830970..2e5d0d2 100644 --- a/src/components/ui/select.tsx +++ b/src/components/ui/select.tsx @@ -2,7 +2,7 @@ import * as React from "react"; import * as SelectPrimitive from "@radix-ui/react-select"; import { Check, ChevronDown, ChevronUp } from "lucide-react"; -import { cn } from "@/lib/utils"; +import { cn } from "@/utils/common/cn"; const Select = SelectPrimitive.Root; diff --git a/src/components/ui/switch.tsx b/src/components/ui/switch.tsx index bc53c57..3618014 100644 --- a/src/components/ui/switch.tsx +++ b/src/components/ui/switch.tsx @@ -1,27 +1,27 @@ -import * as React from "react" -import * as SwitchPrimitives from "@radix-ui/react-switch" +import * as React from "react"; +import * as SwitchPrimitives from "@radix-ui/react-switch"; -import { cn } from "@/lib/utils" +import { cn } from "@/utils/common/cn"; const Switch = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + React.ElementRef, + React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( - - - -)) -Switch.displayName = SwitchPrimitives.Root.displayName + + + +)); +Switch.displayName = SwitchPrimitives.Root.displayName; -export { Switch } +export { Switch }; diff --git a/src/components/ui/table.tsx b/src/components/ui/table.tsx index 7f3502f..295ab4f 100644 --- a/src/components/ui/table.tsx +++ b/src/components/ui/table.tsx @@ -1,117 +1,53 @@ -import * as React from "react" - -import { cn } from "@/lib/utils" - -const Table = React.forwardRef< - HTMLTableElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( -
- >(({ className, ...props }, ref) => ( +
+
+ +)); +Table.displayName = "Table"; + +const TableHeader = React.forwardRef>( + ({ className, ...props }, ref) => +); +TableHeader.displayName = "TableHeader"; + +const TableBody = React.forwardRef>( + ({ className, ...props }, ref) => +); +TableBody.displayName = "TableBody"; + +const TableFooter = React.forwardRef>( + ({ className, ...props }, ref) => ( + tr]:last:border-b-0", className)} {...props} /> + ) +); +TableFooter.displayName = "TableFooter"; + +const TableRow = React.forwardRef>(({ className, ...props }, ref) => ( + +)); +TableRow.displayName = "TableRow"; + +const TableHead = React.forwardRef>(({ className, ...props }, ref) => ( + -)) -TableHeader.displayName = "TableHeader" - -const TableBody = React.forwardRef< - HTMLTableSectionElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( - -)) -TableBody.displayName = "TableBody" - -const TableFooter = React.forwardRef< - HTMLTableSectionElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( - tr]:last:border-b-0", - className - )} - {...props} - /> -)) -TableFooter.displayName = "TableFooter" - -const TableRow = React.forwardRef< - HTMLTableRowElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( - -)) -TableRow.displayName = "TableRow" - -const TableHead = React.forwardRef< - HTMLTableCellElement, - React.ThHTMLAttributes ->(({ className, ...props }, ref) => ( -
- -)) -Table.displayName = "Table" - -const TableHeader = React.forwardRef< - HTMLTableSectionElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( -
-)) -TableHead.displayName = "TableHead" +)); +TableHead.displayName = "TableHead"; -const TableCell = React.forwardRef< - HTMLTableCellElement, - React.TdHTMLAttributes ->(({ className, ...props }, ref) => ( - -)) -TableCell.displayName = "TableCell" +const TableCell = React.forwardRef>(({ className, ...props }, ref) => ( + +)); +TableCell.displayName = "TableCell"; -const TableCaption = React.forwardRef< - HTMLTableCaptionElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( -
-)) -TableCaption.displayName = "TableCaption" +const TableCaption = React.forwardRef>( + ({ className, ...props }, ref) => +); +TableCaption.displayName = "TableCaption"; -export { - Table, - TableHeader, - TableBody, - TableFooter, - TableHead, - TableRow, - TableCell, - TableCaption, -} +export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption }; diff --git a/src/components/ui/toast.tsx b/src/components/ui/toast.tsx index 5a72007..60c2c41 100644 --- a/src/components/ui/toast.tsx +++ b/src/components/ui/toast.tsx @@ -2,8 +2,7 @@ import * as React from 'react'; import * as ToastPrimitives from '@radix-ui/react-toast'; import { cva, type VariantProps } from 'class-variance-authority'; import { X } from 'lucide-react'; - -import { cn } from '@/lib/utils'; +import { cn } from '@/utils/common/cn'; const ToastProvider = ToastPrimitives.Provider; diff --git a/src/index.css b/src/index.css index 72c7627..242b611 100644 --- a/src/index.css +++ b/src/index.css @@ -14,9 +14,10 @@ body { #root { max-width: 1280px; + width: 100%; height: 100%; margin: 0 auto; - padding: 1rem; + padding: 0 1rem; } button { diff --git a/src/lib/utils.ts b/src/lib/utils.ts deleted file mode 100644 index d084cca..0000000 --- a/src/lib/utils.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { type ClassValue, clsx } from "clsx" -import { twMerge } from "tailwind-merge" - -export function cn(...inputs: ClassValue[]) { - return twMerge(clsx(inputs)) -} diff --git a/src/components/farms/CreateFarm/index.tsx b/src/modules/FarmingModule/components/CreateFarm.tsx similarity index 97% rename from src/components/farms/CreateFarm/index.tsx rename to src/modules/FarmingModule/components/CreateFarm.tsx index ecb7fdb..829872e 100644 --- a/src/components/farms/CreateFarm/index.tsx +++ b/src/modules/FarmingModule/components/CreateFarm.tsx @@ -12,13 +12,13 @@ import { useActiveFarmingForPoolQuery, useAllPoolsQuery, useCustomPoolDeployerQu import CurrencyLogo from "@/components/common/CurrencyLogo"; import { DEFAULT_CHAIN_ID } from "config/default-chain"; import Loader from "@/components/common/Loader"; -import CreateFarmButton from "../CreateFarmButton"; +import CreateFarmButton from "./CreateFarmButton"; import { PartialIncentiveKey } from "@/types/incentive-key"; import { useReadAlgebraEternalFarmingNumOfIncentives } from "@/generated"; import { IRewards } from "@/types/rewards"; -import { cn } from "@/lib/utils"; +import { cn } from "@/utils/common/cn"; import { useClients } from "@/hooks/graphql/useClients"; -import { CUSTOM_POOL_DEPLOYER_TITLES } from "config/custom-pool-deployer"; +import { CUSTOM_POOL_DEPLOYER_TITLES, PoolDeployerType } from "config/custom-pool-deployer"; import { Button } from "@/components/ui/button"; interface IFormState { @@ -217,9 +217,7 @@ const Reward = ({ control, name }: { control: Control; name: "reward {value && } {value ? value.symbol : `Select Token`} {value && balance && ( - {`${formatCurrency.format( - +balance.formatted - )}`} + {`${formatCurrency.format(+balance.formatted)}`} )} @@ -394,8 +392,6 @@ const CreateFarm = () => { isRequired={false} maxDecimals={0} /> - - {/* */} ; {pool.name} - {CUSTOM_POOL_DEPLOYER_TITLES[pool.deployer]} + {CUSTOM_POOL_DEPLOYER_TITLES[pool.deployer as PoolDeployerType]} ))} diff --git a/src/components/farms/CreateFarmButton/index.tsx b/src/modules/FarmingModule/components/CreateFarmButton.tsx similarity index 100% rename from src/components/farms/CreateFarmButton/index.tsx rename to src/modules/FarmingModule/components/CreateFarmButton.tsx diff --git a/src/components/farm/FarmDetails/index.tsx b/src/modules/FarmingModule/components/FarmDetails.tsx similarity index 100% rename from src/components/farm/FarmDetails/index.tsx rename to src/modules/FarmingModule/components/FarmDetails.tsx diff --git a/src/components/farms/FarmList/index.tsx b/src/modules/FarmingModule/components/FarmList.tsx similarity index 97% rename from src/components/farms/FarmList/index.tsx rename to src/modules/FarmingModule/components/FarmList.tsx index 1998fb3..dcdfb58 100644 --- a/src/components/farms/FarmList/index.tsx +++ b/src/modules/FarmingModule/components/FarmList.tsx @@ -1,6 +1,6 @@ import { Checkbox } from "@/components/ui/checkbox"; import { FarmingFieldsFragment, useAllFarmsQuery } from "@/graphql/generated/graphql"; -import { useFarmData } from "@/hooks/farms/useFarmData"; +import { useFarmData } from "../hooks/useFarmData"; import { useClients } from "@/hooks/graphql/useClients"; import { formatAmount } from "@/utils/common/formatAmount"; import { useMemo, useState } from "react"; @@ -31,8 +31,6 @@ const FarmHeader = () => ( const FarmRow = (farm: FarmingFieldsFragment) => { const { token0, token1, reward, bonusReward, rewardToken, bonusRewardToken } = useFarmData(farm); - // const isEmpty = isDeactivated && Number(reward) === 0 && (Number(bonusReward) === 0 || !bonusReward); - return (
{token0 && token1 ? ( diff --git a/src/components/farm/FarmPoolDetails/index.tsx b/src/modules/FarmingModule/components/FarmPoolDetails.tsx similarity index 100% rename from src/components/farm/FarmPoolDetails/index.tsx rename to src/modules/FarmingModule/components/FarmPoolDetails.tsx diff --git a/src/components/farm/FarmRewardDetails/index.tsx b/src/modules/FarmingModule/components/FarmRewardDetails.tsx similarity index 98% rename from src/components/farm/FarmRewardDetails/index.tsx rename to src/modules/FarmingModule/components/FarmRewardDetails.tsx index 3279ab7..a3f8feb 100644 --- a/src/components/farm/FarmRewardDetails/index.tsx +++ b/src/modules/FarmingModule/components/FarmRewardDetails.tsx @@ -1,6 +1,6 @@ import Loader from "@/components/common/Loader"; import { Button } from "@/components/ui/button"; -import ManageRewardsModal from "@/components/modals/farm/ManageRewardsModal"; +import ManageRewardsModal from "./ManageRewardsModal"; import { useEthersSigner } from "@/hooks/common/useEthersProvider"; import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; import { IncentiveKey, PartialIncentiveKey } from "@/types/incentive-key"; @@ -11,6 +11,13 @@ import { useAccount, useChainId } from "wagmi"; import { Address } from "viem"; import { Gift } from "lucide-react"; +interface FetchTokenResult { + address: string; + symbol: string; + name: string; + decimals: number; +} + interface IFarmRewardDetails { token: FetchTokenResult; rate: number | undefined; diff --git a/src/components/modals/farm/ManageRewardsModal/index.tsx b/src/modules/FarmingModule/components/ManageRewardsModal.tsx similarity index 100% rename from src/components/modals/farm/ManageRewardsModal/index.tsx rename to src/modules/FarmingModule/components/ManageRewardsModal.tsx diff --git a/src/modules/FarmingModule/components/index.ts b/src/modules/FarmingModule/components/index.ts new file mode 100644 index 0000000..e2d849c --- /dev/null +++ b/src/modules/FarmingModule/components/index.ts @@ -0,0 +1,7 @@ +export { default as FarmDetails } from "./FarmDetails"; +export { default as FarmPoolDetails } from "./FarmPoolDetails"; +export { default as FarmRewardDetails } from "./FarmRewardDetails"; +export { default as CreateFarm, PoolSelector } from "./CreateFarm"; +export { default as CreateFarmButton } from "./CreateFarmButton"; +export { default as FarmList } from "./FarmList"; +export { default as ManageRewardsModal } from "./ManageRewardsModal"; diff --git a/src/modules/FarmingModule/hooks/index.ts b/src/modules/FarmingModule/hooks/index.ts new file mode 100644 index 0000000..02de8a3 --- /dev/null +++ b/src/modules/FarmingModule/hooks/index.ts @@ -0,0 +1 @@ +export * from "./useFarmData"; diff --git a/src/hooks/farms/useFarmData.ts b/src/modules/FarmingModule/hooks/useFarmData.ts similarity index 98% rename from src/hooks/farms/useFarmData.ts rename to src/modules/FarmingModule/hooks/useFarmData.ts index 9dd4c44..d9b1823 100644 --- a/src/hooks/farms/useFarmData.ts +++ b/src/modules/FarmingModule/hooks/useFarmData.ts @@ -10,7 +10,7 @@ import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; import { formatUnits, Address, erc20Abi } from "viem"; import { useReadContracts } from "wagmi"; -function useTokenInfo(address: Address | undefined) { +export function useTokenInfo(address: Address | undefined) { const { data } = useReadContracts({ allowFailure: false, contracts: address diff --git a/src/modules/FarmingModule/index.ts b/src/modules/FarmingModule/index.ts new file mode 100644 index 0000000..0e4a545 --- /dev/null +++ b/src/modules/FarmingModule/index.ts @@ -0,0 +1,9 @@ +import * as FarmingHooks from "./hooks"; +import * as FarmingComponents from "./components"; + +const FarmingModule = { + hooks: FarmingHooks, + components: FarmingComponents, +}; + +export default FarmingModule; diff --git a/src/components/gauges/CreateGauge/index.tsx b/src/modules/Ve33Module/components/CreateGauge.tsx similarity index 96% rename from src/components/gauges/CreateGauge/index.tsx rename to src/modules/Ve33Module/components/CreateGauge.tsx index 9a3be20..849c802 100644 --- a/src/components/gauges/CreateGauge/index.tsx +++ b/src/modules/Ve33Module/components/CreateGauge.tsx @@ -1,15 +1,17 @@ import { useForm } from "react-hook-form"; import Loader from "@/components/common/Loader"; import { Button } from "@/components/ui/button"; -import { PoolSelector } from "@/components/farms/CreateFarm"; +import FarmingModule from "@/modules/FarmingModule"; import { useEffect } from "react"; import { useNavigate } from "react-router-dom"; -import { useWhitelistForGauge } from "@/hooks/gauges/useWhitelistForGauge"; +import { useWhitelistForGauge } from "../hooks/useWhitelistForGauge"; import { ApprovalState } from "@/types/approve-state"; import { useReadAlgebraPoolToken0, useReadAlgebraPoolToken1, useReadVoterGetGauge, useWriteVoterCreateAlgebraGauge } from "@/generated"; import { Address } from "viem"; import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; +const { PoolSelector } = FarmingModule.components; + interface IFormState { pool: string | undefined; } diff --git a/src/components/gauge/GaugeDetails/index.tsx b/src/modules/Ve33Module/components/GaugeDetails.tsx similarity index 100% rename from src/components/gauge/GaugeDetails/index.tsx rename to src/modules/Ve33Module/components/GaugeDetails.tsx diff --git a/src/components/gauge/GaugeRewards/index.tsx b/src/modules/Ve33Module/components/GaugeRewards.tsx similarity index 98% rename from src/components/gauge/GaugeRewards/index.tsx rename to src/modules/Ve33Module/components/GaugeRewards.tsx index a317200..744aff9 100644 --- a/src/components/gauge/GaugeRewards/index.tsx +++ b/src/modules/Ve33Module/components/GaugeRewards.tsx @@ -7,7 +7,7 @@ import { useWriteVotingRewardIncentivize } from "@/generated"; import { useApprove } from "@/hooks/common/useApprove"; import { useCurrency } from "@/hooks/common/useCurrency"; import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; -import { useWhitelistForGauge } from "@/hooks/gauges/useWhitelistForGauge"; +import { useWhitelistForGauge } from "../hooks/useWhitelistForGauge"; import { ApprovalState } from "@/types/approve-state"; import { RewardToken, VotingPool } from "@/types/gauge"; import { Currency, CurrencyAmount } from "@cryptoalgebra/integral-sdk"; @@ -138,3 +138,5 @@ const GaugeRewardToken = ({ rewardToken }: { rewardToken: RewardToken }) => {
); }; + +export default GaugeRewards; diff --git a/src/components/gauges/GaugesList/index.tsx b/src/modules/Ve33Module/components/GaugesList.tsx similarity index 98% rename from src/components/gauges/GaugesList/index.tsx rename to src/modules/Ve33Module/components/GaugesList.tsx index eaf52b8..dd1fc57 100644 --- a/src/components/gauges/GaugesList/index.tsx +++ b/src/modules/Ve33Module/components/GaugesList.tsx @@ -1,4 +1,4 @@ -import { FormattedGauge, useAllGauges } from "@/hooks/gauges/useAllGauges"; +import { useAllGauges, FormattedGauge } from "../hooks/useAllGauges"; import { formatAmount } from "@/utils/common/formatAmount"; import { customPoolDeployerTitleByAddress } from "config/custom-pool-deployer"; import { Link } from "react-router-dom"; diff --git a/src/modules/Ve33Module/components/index.ts b/src/modules/Ve33Module/components/index.ts new file mode 100644 index 0000000..81d3c5f --- /dev/null +++ b/src/modules/Ve33Module/components/index.ts @@ -0,0 +1,4 @@ +export { default as GaugeDetails } from "./GaugeDetails"; +export { default as GaugeRewards } from "./GaugeRewards"; +export { default as CreateGauge } from "./CreateGauge"; +export { default as GaugesList } from "./GaugesList"; diff --git a/src/modules/Ve33Module/hooks/index.ts b/src/modules/Ve33Module/hooks/index.ts new file mode 100644 index 0000000..1f68f78 --- /dev/null +++ b/src/modules/Ve33Module/hooks/index.ts @@ -0,0 +1,3 @@ +export * from "./useAllGauges"; +export * from "./useVotingPool"; +export * from "./useWhitelistForGauge"; diff --git a/src/hooks/gauges/useAllGauges.ts b/src/modules/Ve33Module/hooks/useAllGauges.ts similarity index 97% rename from src/hooks/gauges/useAllGauges.ts rename to src/modules/Ve33Module/hooks/useAllGauges.ts index 9599349..773470c 100644 --- a/src/hooks/gauges/useAllGauges.ts +++ b/src/modules/Ve33Module/hooks/useAllGauges.ts @@ -2,7 +2,7 @@ import { TokenFieldsFragment, useAllPoolsQuery } from "@/graphql/generated/graph import { isDefined } from "@/utils/common/isDefined"; import { useMemo } from "react"; import { Address } from "viem"; -import { useClients } from "../graphql/useClients"; +import { useClients } from "@/hooks/graphql/useClients"; import { useChainId, useReadContracts } from "wagmi"; import { VOTER } from "config/contract-addresses"; import { voterABI } from "config/abis"; diff --git a/src/hooks/gauges/useVotingPool.ts b/src/modules/Ve33Module/hooks/useVotingPool.ts similarity index 95% rename from src/hooks/gauges/useVotingPool.ts rename to src/modules/Ve33Module/hooks/useVotingPool.ts index 2f71595..0a622db 100644 --- a/src/hooks/gauges/useVotingPool.ts +++ b/src/modules/Ve33Module/hooks/useVotingPool.ts @@ -10,9 +10,9 @@ import { useReadVotingRewardTotalVotesInPeriod, } from "@/generated"; import { useContractReads } from "wagmi"; -import { useNativePriceUSD } from "../common/useNativePriceUSD"; +import { useNativePriceUSD } from "@/hooks/common/useNativePriceUSD"; import { RewardToken, VotingPool } from "@/types/gauge"; -import { useCurrency } from "../common/useCurrency"; +import { useCurrency } from "@/hooks/common/useCurrency"; import { votingRewardABI } from "config/abis"; export function useVotingPool(poolAddress: Address | undefined) { @@ -20,7 +20,6 @@ export function useVotingPool(poolAddress: Address | undefined) { const { data: gauge, refetch: refetchGauge } = useReadVoterGetGauge({ args: poolAddress ? [poolAddress] : undefined, - // enabled: !!poolAddress, }); const { data: currentPeriod, isLoading: currentPeriodLoading } = useReadVoterGetCurrentPeriod(); @@ -43,7 +42,6 @@ export function useVotingPool(poolAddress: Address | undefined) { functionName: "rewardForPeriod", args: [nextPeriod ?? 0n, reward], })), - // enabled: rewardList && rewardList.length > 0, }); const rewardsForPeriod = useMemo(() => rewardsForPeriodResults?.map((d) => d?.result as bigint), [rewardsForPeriodResults]); diff --git a/src/hooks/gauges/useWhitelistForGauge.ts b/src/modules/Ve33Module/hooks/useWhitelistForGauge.ts similarity index 94% rename from src/hooks/gauges/useWhitelistForGauge.ts rename to src/modules/Ve33Module/hooks/useWhitelistForGauge.ts index aba893b..c6ddcb0 100644 --- a/src/hooks/gauges/useWhitelistForGauge.ts +++ b/src/modules/Ve33Module/hooks/useWhitelistForGauge.ts @@ -2,7 +2,7 @@ import { ApprovalState, ApprovalStateType } from "@/types/approve-state"; import { useCallback, useMemo } from "react"; import { Address } from "viem"; import { useReadVoterIsWhitelisted, useWriteVoterSetTokenStatus } from "@/generated"; -import { useTransactionAwait } from "../common/useTransactionAwait"; +import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; export function useWhitelistForGauge(tokenAddress: Address | undefined) { const { data: isWhitelisted } = useReadVoterIsWhitelisted({ diff --git a/src/modules/Ve33Module/index.ts b/src/modules/Ve33Module/index.ts new file mode 100644 index 0000000..037196e --- /dev/null +++ b/src/modules/Ve33Module/index.ts @@ -0,0 +1,9 @@ +import * as Ve33Hooks from "./hooks"; +import * as Ve33Components from "./components"; + +const Ve33Module = { + hooks: Ve33Hooks, + components: Ve33Components, +}; + +export default Ve33Module; diff --git a/src/modules/__empty_module.ts b/src/modules/__empty_module.ts index 6710c00..9c15805 100644 --- a/src/modules/__empty_module.ts +++ b/src/modules/__empty_module.ts @@ -1,8 +1,18 @@ // AUTO-GENERATED FILE -// This file is used as a stub when modules are disabled export default { - hooks: {}, - components: {}, - utils: {}, + hooks: { + useTokenInfo: () => ({}), + useFarmData: () => ({}), + useAllGauges: () => ({}), + useVotingPool: () => ({}), + useWhitelistForGauge: () => ({}), + }, + components: { + InputToggle: () => null, + PoolSelector: () => null, + GaugeRewards: () => null, + }, + utils: { + }, }; diff --git a/src/pages/Farm/index.tsx b/src/pages/Farm/index.tsx index 7e19b1f..ede54c0 100644 --- a/src/pages/Farm/index.tsx +++ b/src/pages/Farm/index.tsx @@ -1,9 +1,6 @@ import PageContainer from "@/components/common/PageContainer"; -import FarmDetails from "@/components/farm/FarmDetails"; -import FarmPoolDetails from "@/components/farm/FarmPoolDetails"; -import FarmRewardDetails from "@/components/farm/FarmRewardDetails"; +import FarmingModule from "@/modules/FarmingModule"; import { useSingleFarmingQuery } from "@/graphql/generated/graphql"; -import { useFarmData } from "@/hooks/farms/useFarmData"; import { useClients } from "@/hooks/graphql/useClients"; import { IncentiveKey, PartialIncentiveKey } from "@/types/incentive-key"; import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; @@ -11,6 +8,9 @@ import { ArrowLeft } from "lucide-react"; import { Link, useParams } from "react-router-dom"; import { Address } from "viem"; +const { FarmDetails, FarmPoolDetails, FarmRewardDetails } = FarmingModule.components; +const { useFarmData } = FarmingModule.hooks; + const FarmPage = () => { const { farmingClient } = useClients(); const { farm } = useParams<{ farm: string }>(); diff --git a/src/pages/Farms/index.tsx b/src/pages/Farms/index.tsx index 94a0e02..94b7eb0 100644 --- a/src/pages/Farms/index.tsx +++ b/src/pages/Farms/index.tsx @@ -1,7 +1,9 @@ -import FarmList from "@/components/farms/FarmList"; +import FarmingModule from "@/modules/FarmingModule"; import PageContainer from "../../components/common/PageContainer"; import { Link } from "react-router-dom"; +const { FarmList } = FarmingModule.components; + const FarmsPage = () => { return ( diff --git a/src/pages/Gauge/index.tsx b/src/pages/Gauge/index.tsx index 88e2fba..440b58b 100644 --- a/src/pages/Gauge/index.tsx +++ b/src/pages/Gauge/index.tsx @@ -1,12 +1,13 @@ import PageContainer from "@/components/common/PageContainer"; -import GaugeDetails from "@/components/gauge/GaugeDetails"; -import { GaugeRewards } from "@/components/gauge/GaugeRewards"; +import Ve33Module from "@/modules/Ve33Module"; import { useReadVoterGaugeToPool } from "@/generated"; -import { useVotingPool } from "@/hooks/gauges/useVotingPool"; import { ArrowLeft } from "lucide-react"; import { Link, useParams } from "react-router-dom"; import { Address } from "viem"; +const { GaugeDetails, GaugeRewards } = Ve33Module.components; +const { useVotingPool } = Ve33Module.hooks; + const GaugePage = () => { const { gauge } = useParams<{ gauge: Address }>(); diff --git a/src/pages/Gauges/index.tsx b/src/pages/Gauges/index.tsx index b114b7e..90f3e99 100644 --- a/src/pages/Gauges/index.tsx +++ b/src/pages/Gauges/index.tsx @@ -1,4 +1,4 @@ -import GaugesList from "@/components/gauges/GaugesList"; +import Ve33Module from "@/modules/Ve33Module"; import { Button } from "@/components/ui/button"; import PageContainer from "../../components/common/PageContainer"; import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; @@ -6,6 +6,8 @@ import Loader from "@/components/common/Loader"; import { useWriteVoterDistributeAll } from "@/generated"; import { Link } from "react-router-dom"; +const { GaugesList } = Ve33Module.components; + const GaugesPage = () => { const { writeContract, data: hash, isPending, isError } = useWriteVoterDistributeAll(); diff --git a/src/pages/NewFarm/index.tsx b/src/pages/NewFarm/index.tsx index 147ca3f..2156c09 100644 --- a/src/pages/NewFarm/index.tsx +++ b/src/pages/NewFarm/index.tsx @@ -1,19 +1,21 @@ -import PageContainer from "@/components/common/PageContainer" -import CreateFarm from "@/components/farms/CreateFarm" -import { ArrowLeft } from "lucide-react" -import { Link } from "react-router-dom" +import PageContainer from "@/components/common/PageContainer"; +import FarmingModule from "@/modules/FarmingModule"; +import { ArrowLeft } from "lucide-react"; +import { Link } from "react-router-dom"; -const NewFarmPage = () => { - - return - - - Back - -
New Farm
- -
+const { CreateFarm } = FarmingModule.components; -} +const NewFarmPage = () => { + return ( + + + + Back + +
New Farm
+ +
+ ); +}; -export default NewFarmPage \ No newline at end of file +export default NewFarmPage; diff --git a/src/pages/NewGauge/index.tsx b/src/pages/NewGauge/index.tsx index 7a4972b..62a7d55 100644 --- a/src/pages/NewGauge/index.tsx +++ b/src/pages/NewGauge/index.tsx @@ -1,8 +1,10 @@ import PageContainer from "@/components/common/PageContainer"; -import CreateGauge from "@/components/gauges/CreateGauge"; +import Ve33Module from "@/modules/Ve33Module"; import { ArrowLeft } from "lucide-react"; import { Link } from "react-router-dom"; +const { CreateGauge } = Ve33Module.components; + const NewGaugePage = () => { return ( diff --git a/src/providers/RouterProvider.tsx b/src/providers/RouterProvider.tsx index bbf3336..6e5a2a9 100644 --- a/src/providers/RouterProvider.tsx +++ b/src/providers/RouterProvider.tsx @@ -4,10 +4,11 @@ import FarmPage from "@/pages/Farm"; import NewFarmPage from "@/pages/NewFarm"; import PoolsPage from "@/pages/Pools"; import PoolPage from "@/pages/Pool"; -import { createBrowserRouter, Navigate, RouterProvider as _RouterProvider } from "react-router-dom"; +import { createBrowserRouter, Navigate, RouterProvider as _RouterProvider, RouteObject } from "react-router-dom"; import GaugesPage from "@/pages/Gauges"; import NewGaugePage from "@/pages/NewGauge"; import GaugePage from "@/pages/Gauge"; +import { enabledModules } from "config/app-modules"; const router = createBrowserRouter([ { @@ -17,18 +18,6 @@ const router = createBrowserRouter([ { element: , children: [ - { - path: "farms", - element: , - }, - { - path: "farms/:farm", - element: , - }, - { - path: "new-farm", - element: , - }, { path: "pools", element: , @@ -37,19 +26,41 @@ const router = createBrowserRouter([ path: "pools/:pool", element: , }, - { - path: "gauges", - element: , - }, - { - path: "gauges/:gauge", - element: , - }, - { - path: "new-gauge", - element: , - }, - ], + + ...(enabledModules.FarmingModule + ? [ + { + path: "farms", + element: , + }, + { + path: "farms/:farm", + element: , + }, + { + path: "new-farm", + element: , + }, + ] + : []), + + ...(enabledModules.Ve33Module + ? [ + { + path: "gauges", + element: , + }, + { + path: "gauges/:gauge", + element: , + }, + { + path: "new-gauge", + element: , + }, + ] + : []), + ].filter(Boolean) as RouteObject[], }, ]); From ac0c2dd18e53ba6ebce298a5eb60fa7788b38e94 Mon Sep 17 00:00:00 2001 From: damnnou Date: Wed, 24 Dec 2025 19:41:17 +0300 Subject: [PATCH 18/20] feat: add slidingFee plugin, set fee in pool --- config/abis/plugins/index.ts | 1 + config/abis/plugins/slidingFeePlugin.ts | 546 ++++++++++++++++++ config/wagmi.ts | 2 + .../modals/pool/ManageFeeModal/index.tsx | 349 +++++++++++ .../pool/ManagePoolSettingsModal/index.tsx | 71 +-- src/components/pool/PoolSettings/index.tsx | 17 +- src/components/ui/toast.tsx | 2 +- src/hooks/pools/usePoolPlugins.ts | 33 +- src/pages/Pool/index.tsx | 4 +- 9 files changed, 952 insertions(+), 73 deletions(-) create mode 100644 config/abis/plugins/slidingFeePlugin.ts create mode 100644 src/components/modals/pool/ManageFeeModal/index.tsx diff --git a/config/abis/plugins/index.ts b/config/abis/plugins/index.ts index f935785..9eba77a 100644 --- a/config/abis/plugins/index.ts +++ b/config/abis/plugins/index.ts @@ -1,3 +1,4 @@ export * from "./algebraBasePluginV1"; export * from "./limitOrderManagerAbi"; export * from "./pluginFactory"; +export * from "./slidingFeePlugin"; diff --git a/config/abis/plugins/slidingFeePlugin.ts b/config/abis/plugins/slidingFeePlugin.ts new file mode 100644 index 0000000..830f7cb --- /dev/null +++ b/config/abis/plugins/slidingFeePlugin.ts @@ -0,0 +1,546 @@ +export const slidingFeePluginAbi = [ + { + inputs: [], + name: "transferFailed", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint16", + name: "baseFee", + type: "uint16", + }, + ], + name: "BaseFee", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "priceChangeFactor", + type: "uint256", + }, + ], + name: "PriceChangeFactor", + type: "event", + }, + { + inputs: [], + name: "ALGEBRA_BASE_PLUGIN_MANAGER", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "afterFlash", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint160", + name: "", + type: "uint160", + }, + { + internalType: "int24", + name: "", + type: "int24", + }, + ], + name: "afterInitialize", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "int24", + name: "", + type: "int24", + }, + { + internalType: "int24", + name: "", + type: "int24", + }, + { + internalType: "int128", + name: "", + type: "int128", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "afterModifyPosition", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "bool", + name: "", + type: "bool", + }, + { + internalType: "int256", + name: "", + type: "int256", + }, + { + internalType: "uint160", + name: "", + type: "uint160", + }, + { + internalType: "int256", + name: "", + type: "int256", + }, + { + internalType: "int256", + name: "", + type: "int256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "afterSwap", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "beforeFlash", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint160", + name: "", + type: "uint160", + }, + ], + name: "beforeInitialize", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "int24", + name: "", + type: "int24", + }, + { + internalType: "int24", + name: "", + type: "int24", + }, + { + internalType: "int128", + name: "", + type: "int128", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "beforeModifyPosition", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + { + internalType: "uint24", + name: "", + type: "uint24", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "bool", + name: "", + type: "bool", + }, + { + internalType: "int256", + name: "", + type: "int256", + }, + { + internalType: "uint160", + name: "", + type: "uint160", + }, + { + internalType: "bool", + name: "", + type: "bool", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "beforeSwap", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + { + internalType: "uint24", + name: "", + type: "uint24", + }, + { + internalType: "uint24", + name: "", + type: "uint24", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + ], + name: "collectPluginFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "defaultPluginConfig", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "handlePluginFee", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pool", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "s_baseFee", + outputs: [ + { + internalType: "uint16", + name: "", + type: "uint16", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "s_feeFactors", + outputs: [ + { + internalType: "uint128", + name: "zeroToOneFeeFactor", + type: "uint128", + }, + { + internalType: "uint128", + name: "oneToZeroFeeFactor", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "s_priceChangeFactor", + outputs: [ + { + internalType: "uint16", + name: "", + type: "uint16", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint16", + name: "newBaseFee", + type: "uint16", + }, + ], + name: "setBaseFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint16", + name: "newPriceChangeFactor", + type: "uint16", + }, + ], + name: "setPriceChangeFactor", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; diff --git a/config/wagmi.ts b/config/wagmi.ts index 55be6b9..787d559 100644 --- a/config/wagmi.ts +++ b/config/wagmi.ts @@ -13,6 +13,7 @@ import { } from "./abis"; import { ALGEBRA_ETERNAL_FARMING, ALGEBRA_FACTORY, FARMING_CENTER, PLUGIN_FACTORY, VOTER } from "./contract-addresses"; import { defineChain } from "viem"; +import { slidingFeePluginAbi } from "./abis/plugins/slidingFeePlugin"; const baseSepoliaChain = /*#__PURE__*/ defineChain({ id: 84532, @@ -58,6 +59,7 @@ const rawContracts = [ { name: "AlgebraVirtualPool", abi: algebraVirtualPoolABI }, { name: "Voter", abi: voterABI }, { name: "VotingReward", abi: votingRewardABI }, + { name: "SlidingFeePlugin", abi: slidingFeePluginAbi }, ]; const contractAddresses = { diff --git a/src/components/modals/pool/ManageFeeModal/index.tsx b/src/components/modals/pool/ManageFeeModal/index.tsx new file mode 100644 index 0000000..e88b4fb --- /dev/null +++ b/src/components/modals/pool/ManageFeeModal/index.tsx @@ -0,0 +1,349 @@ +import Loader from "@/components/common/Loader"; +import { Button } from "@/components/ui/button"; +import { Credenza, CredenzaBody, CredenzaContent, CredenzaHeader, CredenzaTitle, CredenzaTrigger } from "@/components/ui/credenza"; +import { Input } from "@/components/ui/input"; +import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; +import { usePoolPlugins } from "@/hooks/pools/usePoolPlugins"; +import { useEffect, useState } from "react"; +import { Address } from "viem"; +import { useReadContract, useWriteContract } from "wagmi"; +import { algebraPoolABI, algebraBasePluginV1ABI, slidingFeePluginAbi } from "config/abis"; + +interface IManageFeeModal { + children: React.ReactNode; + poolId: Address; +} + +// AdaptiveFee configuration type +interface AdaptiveFeeConfig { + alpha1: number; + alpha2: number; + beta1: number; + beta2: number; + gamma1: number; + gamma2: number; + baseFee: number; +} + +// SlidingFee configuration type +interface SlidingFeeConfig { + baseFee: number; + priceChangeFactor: number; +} + +const ManageFeeModal = ({ children, poolId }: IManageFeeModal) => { + const { pluginAddress, feePluginType, isLoading: isPluginLoading } = usePoolPlugins(poolId); + + return ( + + {children} + + + Manage Fee Settings + + + {isPluginLoading ? ( +
+ +
+ ) : feePluginType === "ADAPTIVE_FEE" && pluginAddress ? ( + + ) : feePluginType === "SLIDING_FEE" && pluginAddress ? ( + + ) : ( + + )} +
+
+
+ ); +}; + +// ============ AdaptiveFee Form (AlgebraBasePluginV1) ============ +const AdaptiveFeeForm = ({ pluginAddress }: { pluginAddress: Address }) => { + const [config, setConfig] = useState({ + alpha1: 0, + alpha2: 0, + beta1: 0, + beta2: 0, + gamma1: 0, + gamma2: 0, + baseFee: 0, + }); + + // Read current fee configuration + const { data: feeConfig, isLoading: isConfigLoading } = useReadContract({ + address: pluginAddress, + abi: algebraBasePluginV1ABI, + functionName: "feeConfig", + }); + + useEffect(() => { + if (feeConfig) { + setConfig({ + alpha1: Number(feeConfig[0]), + alpha2: Number(feeConfig[1]), + beta1: Number(feeConfig[2]), + beta2: Number(feeConfig[3]), + gamma1: Number(feeConfig[4]), + gamma2: Number(feeConfig[5]), + baseFee: Number(feeConfig[6]), + }); + } + }, [feeConfig]); + + const { data: hash, writeContract, isPending } = useWriteContract(); + const { isLoading } = useTransactionAwait(hash, { title: "Change Fee Configuration" }); + + const handleConfirm = () => { + writeContract({ + address: pluginAddress, + abi: algebraBasePluginV1ABI, + functionName: "changeFeeConfiguration", + args: [ + { + alpha1: config.alpha1, + alpha2: config.alpha2, + beta1: config.beta1, + beta2: config.beta2, + gamma1: config.gamma1, + gamma2: config.gamma2, + baseFee: config.baseFee, + }, + ], + }); + }; + + const handleChange = (field: keyof AdaptiveFeeConfig, value: string) => { + setConfig((prev) => ({ + ...prev, + [field]: Number(value) || 0, + })); + }; + + if (isConfigLoading) { + return ( +
+ +
+ ); + } + + return ( +
+
+ Adaptive Fee - Configure dynamic fee parameters +
+ +
+
+ + handleChange("alpha1", v)} placeholder="Alpha 1" /> +
+
+ + handleChange("alpha2", v)} placeholder="Alpha 2" /> +
+
+ + handleChange("beta1", v)} placeholder="Beta 1" /> +
+
+ + handleChange("beta2", v)} placeholder="Beta 2" /> +
+
+ + handleChange("gamma1", v)} placeholder="Gamma 1" /> +
+
+ + handleChange("gamma2", v)} placeholder="Gamma 2" /> +
+
+ +
+ + handleChange("baseFee", v)} placeholder="Base Fee" /> +
+ + +
+ ); +}; + +// ============ SlidingFee Form ============ +const SlidingFeeForm = ({ pluginAddress }: { pluginAddress: Address }) => { + const [config, setConfig] = useState({ + baseFee: 0, + priceChangeFactor: 0, + }); + + // Read current base fee + const { data: currentBaseFee, isLoading: isBaseFeeLoading } = useReadContract({ + address: pluginAddress, + abi: slidingFeePluginAbi, + functionName: "s_baseFee", + }); + + // Read current price change factor + const { data: currentPriceChangeFactor, isLoading: isPriceFactorLoading } = useReadContract({ + address: pluginAddress, + abi: slidingFeePluginAbi, + functionName: "s_priceChangeFactor", + }); + + useEffect(() => { + if (currentBaseFee !== undefined) { + setConfig((prev) => ({ ...prev, baseFee: Number(currentBaseFee) })); + } + }, [currentBaseFee]); + + useEffect(() => { + if (currentPriceChangeFactor !== undefined) { + setConfig((prev) => ({ ...prev, priceChangeFactor: Number(currentPriceChangeFactor) })); + } + }, [currentPriceChangeFactor]); + + // Set Base Fee transaction + const { data: baseFeeHash, writeContract: writeBaseFee, isPending: isBaseFeeWritePending } = useWriteContract(); + const { isLoading: isBaseFeeWriteLoading } = useTransactionAwait(baseFeeHash, { title: "Set Base Fee" }); + + // Set Price Change Factor transaction + const { data: priceFactorHash, writeContract: writePriceFactor, isPending: isPriceFactorWritePending } = useWriteContract(); + const { isLoading: isPriceFactorWriteLoading } = useTransactionAwait(priceFactorHash, { title: "Set Price Change Factor" }); + + const handleSetBaseFee = () => { + writeBaseFee({ + address: pluginAddress, + abi: slidingFeePluginAbi, + functionName: "setBaseFee", + args: [config.baseFee], + }); + }; + + const handleSetPriceChangeFactor = () => { + writePriceFactor({ + address: pluginAddress, + abi: slidingFeePluginAbi, + functionName: "setPriceChangeFactor", + args: [config.priceChangeFactor], + }); + }; + + const isLoading = isBaseFeeLoading || isPriceFactorLoading; + + if (isLoading) { + return ( +
+ +
+ ); + } + + return ( +
+
+ Sliding Fee - Configure sliding fee parameters +
+ +
+ +
+ setConfig((prev) => ({ ...prev, baseFee: Number(v) || 0 }))} + placeholder="Base Fee" + className="flex-1" + /> + +
+
+ +
+ +
+ setConfig((prev) => ({ ...prev, priceChangeFactor: Number(v) || 0 }))} + placeholder="Price Change Factor" + className="flex-1" + /> + +
+
+
+ ); +}; + +// ============ Static Fee Form ============ +const StaticFeeForm = ({ poolId }: { poolId: Address }) => { + const [fee, setFee] = useState(0); + + // Read current fee + const { data: currentFee, isLoading: isFeeLoading } = useReadContract({ + address: poolId, + abi: algebraPoolABI, + functionName: "fee", + }); + + useEffect(() => { + if (currentFee !== undefined) { + setFee(Number(currentFee)); + } + }, [currentFee]); + + const { data: hash, writeContract, isPending } = useWriteContract(); + const { isLoading } = useTransactionAwait(hash, { title: "Set Fee" }); + + const handleConfirm = () => { + writeContract({ + address: poolId, + abi: algebraPoolABI, + functionName: "setFee", + args: [fee], + }); + }; + + if (isFeeLoading) { + return ( +
+ +
+ ); + } + + return ( +
+
+ Static Fee - Set pool fee directly +
+ +
+ + setFee(Number(v) || 0)} placeholder="Fee" /> +

+ Current fee: {currentFee !== undefined ? `${Number(currentFee) / 10000}%` : "Loading..."} +

+
+ + +
+ ); +}; + +export default ManageFeeModal; diff --git a/src/components/modals/pool/ManagePoolSettingsModal/index.tsx b/src/components/modals/pool/ManagePoolSettingsModal/index.tsx index 50a54c8..f546685 100644 --- a/src/components/modals/pool/ManagePoolSettingsModal/index.tsx +++ b/src/components/modals/pool/ManagePoolSettingsModal/index.tsx @@ -3,24 +3,22 @@ import Loader from "@/components/common/Loader"; import { Button } from "@/components/ui/button"; import { Credenza, CredenzaBody, CredenzaContent, CredenzaHeader, CredenzaTitle, CredenzaTrigger } from "@/components/ui/credenza"; import { Input } from "@/components/ui/input"; -import { useReadAlgebraPoolFee, useReadAlgebraPoolGlobalState, useReadAlgebraPoolPlugin, useReadAlgebraPoolTickSpacing } from "@/generated"; +import { useReadAlgebraPoolGlobalState, useReadAlgebraPoolTickSpacing } from "@/generated"; import { useTransactionAwait } from "@/hooks/common/useTransactionAwait"; import { useEffect, useState } from "react"; import { Address } from "viem"; import { useWriteContract } from "wagmi"; -type ManageFunctions = "setFee" | "setCommunityFee" | "setTickSpacing"; +type ManageFunctions = "setCommunityFee" | "setTickSpacing"; interface IManagePoolSettingsModal { title: string; functionName?: ManageFunctions; children: React.ReactNode; poolId: Address; - isAdaptiveFee?: boolean; } -const ManagePoolSettingsModal = ({ title, functionName, children, poolId, isAdaptiveFee = false }: IManagePoolSettingsModal) => { - /* Single values */ +const ManagePoolSettingsModal = ({ title, functionName, children, poolId }: IManagePoolSettingsModal) => { const [value, setValue] = useState(); const { data: poolGlobalState } = useReadAlgebraPoolGlobalState({ @@ -31,25 +29,14 @@ const ManagePoolSettingsModal = ({ title, functionName, children, poolId, isAdap address: poolId, }); - const { data: initialStaticFee } = useReadAlgebraPoolFee({ - address: poolId, - }); - const initialCommunityFee = poolGlobalState?.[4]; - const { data: pluginId } = useReadAlgebraPoolPlugin({ - address: poolId, - }); - const { data, writeContract, isPending } = useWriteContract(); const { isLoading } = useTransactionAwait(data, { title }); useEffect(() => { switch (functionName) { - case "setFee": - setValue(initialStaticFee); - break; case "setCommunityFee": setValue(initialCommunityFee); break; @@ -59,31 +46,10 @@ const ManagePoolSettingsModal = ({ title, functionName, children, poolId, isAdap default: setValue(undefined); } - }, [functionName, initialStaticFee, initialCommunityFee, initialTickSpacing]); - - // const { data: initialBaseFee } = useReadAlgebraBasePluginSBaseFee({ address: pluginId }); - const [baseFee, setBaseFee] = useState(); - - // const { data: feeHash, writeContract: writeFee, isPending: isFeePending } = useWriteContract(); - - // const { isLoading: isFeeLoading } = useTransactionAwait(feeHash, title); - - // useEffect(() => { - // console.log("initialBaseFee", initialBaseFee, pluginId); - // if (initialBaseFee) { - // setBaseFee(initialBaseFee); - // } - // }, [initialBaseFee]); + }, [functionName, initialCommunityFee, initialTickSpacing]); const handleConfirm = () => { - if (isAdaptiveFee && baseFee && pluginId) { - // writeFee({ - // address: pluginId, - // abi: algebraBasePluginABI, - // functionName: "setBaseFee", - // args: [baseFee], - // }); - } else if (functionName && value !== undefined) { + if (functionName && value !== undefined) { writeContract({ address: poolId, abi: algebraPoolABI, @@ -101,25 +67,14 @@ const ManagePoolSettingsModal = ({ title, functionName, children, poolId, isAdap {title} - {isAdaptiveFee ? ( - { - setBaseFee(Number(v)); - }} - /> - ) : ( - { - setValue(Number(v)); - }} - /> - )} + { + setValue(Number(v)); + }} + /> diff --git a/src/components/pool/PoolSettings/index.tsx b/src/components/pool/PoolSettings/index.tsx index fd8ba97..ec5b6a4 100644 --- a/src/components/pool/PoolSettings/index.tsx +++ b/src/components/pool/PoolSettings/index.tsx @@ -1,5 +1,6 @@ import DataWithCopyButton from "@/components/common/DataWithCopyButton"; import ManagePoolSettingsModal from "@/components/modals/pool/ManagePoolSettingsModal"; +import ManageFeeModal from "@/components/modals/pool/ManageFeeModal"; import { Button } from "@/components/ui/button"; import { PLUGIN_FACTORY } from "config/contract-addresses"; import { DEFAULT_CHAIN_ID } from "config/default-chain"; @@ -7,16 +8,14 @@ import { usePool } from "@/hooks/pools/usePool"; import { Address } from "viem"; import { useReadContract } from "wagmi"; import PoolActivationModal from "@/components/modals/pool/PoolActivationModal"; -import { ADDRESS_ZERO } from "@cryptoalgebra/integral-sdk"; import { pluginFactoryABI } from "config/abis"; import { Settings } from "lucide-react"; interface IPoolSettings { poolId: Address; - deployer: Address; } -const PoolSettings = ({ poolId, deployer }: IPoolSettings) => { +const PoolSettings = ({ poolId }: IPoolSettings) => { // const { data: pluginId } = useReadAlgebraPoolPlugin({ // address: poolId, // }); @@ -63,13 +62,11 @@ const PoolSettings = ({ poolId, deployer }: IPoolSettings) => { Community Fee - {deployer === ADDRESS_ZERO && ( - - - - )} + + + + ) + )} + + + + + + )} + + + + ); +}; + +export default PoolSecurityModal; diff --git a/src/components/pool/PoolSettings/index.tsx b/src/components/pool/PoolSettings/index.tsx index ec5b6a4..842ebba 100644 --- a/src/components/pool/PoolSettings/index.tsx +++ b/src/components/pool/PoolSettings/index.tsx @@ -1,25 +1,21 @@ import DataWithCopyButton from "@/components/common/DataWithCopyButton"; import ManagePoolSettingsModal from "@/components/modals/pool/ManagePoolSettingsModal"; import ManageFeeModal from "@/components/modals/pool/ManageFeeModal"; +import PoolSecurityModal from "@/components/modals/pool/PoolSecurityModal"; import { Button } from "@/components/ui/button"; import { PLUGIN_FACTORY } from "config/contract-addresses"; import { DEFAULT_CHAIN_ID } from "config/default-chain"; import { usePool } from "@/hooks/pools/usePool"; import { Address } from "viem"; import { useReadContract } from "wagmi"; -import PoolActivationModal from "@/components/modals/pool/PoolActivationModal"; import { pluginFactoryABI } from "config/abis"; -import { Settings } from "lucide-react"; +import { Lock, Settings } from "lucide-react"; interface IPoolSettings { poolId: Address; } const PoolSettings = ({ poolId }: IPoolSettings) => { - // const { data: pluginId } = useReadAlgebraPoolPlugin({ - // address: poolId, - // }); - const { data: basePluginId } = useReadContract({ address: PLUGIN_FACTORY[DEFAULT_CHAIN_ID], abi: pluginFactoryABI, @@ -27,8 +23,6 @@ const PoolSettings = ({ poolId }: IPoolSettings) => { args: [poolId], }); - const isToActivate = false; - const [, pool] = usePool(poolId); return ( @@ -76,31 +70,12 @@ const PoolSettings = ({ poolId }: IPoolSettings) => { - {/* Pool Activation */}
- {isToActivate && basePluginId ? ( - - - - ) : ( - - - - )} + + +
); diff --git a/src/hooks/pools/usePool.ts b/src/hooks/pools/usePool.ts index 6391e1a..1a6164d 100644 --- a/src/hooks/pools/usePool.ts +++ b/src/hooks/pools/usePool.ts @@ -12,14 +12,10 @@ export const PoolState = { INVALID: "INVALID", } as const; -export type PoolStateType = (typeof PoolState)[keyof typeof PoolState]; +export type PoolStateType = typeof PoolState[keyof typeof PoolState]; export function usePool(address: Address | undefined): [PoolStateType, Pool | null] { - const { - data: multicallData, - isLoading: isMulticallLoading, - isError: isMulticallError, - } = useReadContracts({ + const { data: multicallData, isLoading: isMulticallLoading, isError: isMulticallError } = useReadContracts({ allowFailure: false, contracts: address ? [ @@ -33,6 +29,7 @@ export function usePool(address: Address | undefined): [PoolStateType, Pool | nu }); const [tickSpacing, globalState, liquidity, token0Address, token1Address] = multicallData || []; + const [sqrtRatioX96, tickCurrent, fee] = globalState || []; const token0 = useCurrency(token0Address); const token1 = useCurrency(token1Address); @@ -43,11 +40,19 @@ export function usePool(address: Address | undefined): [PoolStateType, Pool | nu const isTokensLoading = !token0 || !token1; return useMemo(() => { + console.log(tickSpacing, globalState, liquidity, token0, token1); if ((isPoolLoading || isTokensLoading) && !isPoolError) return [PoolState.LOADING, null]; - if (!tickSpacing || !globalState || liquidity === undefined) return [PoolState.NOT_EXISTS, null]; + if (!token0 || !token1) return [PoolState.NOT_EXISTS, null]; - if (globalState[0] === 0n || !token0 || !token1) return [PoolState.NOT_EXISTS, null]; + if ( + sqrtRatioX96 === undefined || + fee === undefined || + tickCurrent === undefined || + tickSpacing === undefined || + liquidity === undefined + ) + return [PoolState.NOT_EXISTS, null]; try { return [ @@ -55,16 +60,17 @@ export function usePool(address: Address | undefined): [PoolStateType, Pool | nu new Pool( token0.wrapped, token1.wrapped, - globalState[2], + fee, + sqrtRatioX96.toString(), ADDRESS_ZERO, - globalState[0].toString(), - Number(liquidity), - globalState[1], + liquidity.toString(), + tickCurrent, tickSpacing ), ]; } catch (error) { + console.error("Failed to create Pool instance:", error); return [PoolState.NOT_EXISTS, null]; } - }, [token0, token1, globalState, liquidity, tickSpacing, isPoolError, isPoolLoading, isTokensLoading]); + }, [tickSpacing, globalState, liquidity, token0, token1, isPoolLoading, isTokensLoading, isPoolError, sqrtRatioX96, fee, tickCurrent]); } From 94e5f70edd73587f624759fbad9cb5c0cd164113 Mon Sep 17 00:00:00 2001 From: damnnou Date: Thu, 25 Dec 2025 12:19:54 +0300 Subject: [PATCH 20/20] fix: build script --- package.json | 2 +- src/components/common/Header/index.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 24ff16d..673901f 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "dev": "vite", "wagmi-generate": "wagmi generate", - "build": "vite build", + "build": "yarn codegen && yarn wagmi-generate && vite build", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview", "codegen": "graphql-codegen --config codegen.ts", diff --git a/src/components/common/Header/index.tsx b/src/components/common/Header/index.tsx index b0d6f76..1f4ecee 100644 --- a/src/components/common/Header/index.tsx +++ b/src/components/common/Header/index.tsx @@ -79,9 +79,9 @@ const Header = () => { paths.some((path) => matchPath(path, pathname)) ? "text-primary" : "text-black/50 hover:text-black/70"; return ( -
+
-
+
Integral Logo Admin Panel