From 1d319865407ea7399e0c4a7ae4e8c704609746e8 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Mon, 28 Feb 2022 12:55:57 -0500 Subject: [PATCH 01/41] Folding evm modules together --- apps/ethereum/tribes/src/pages/index.tsx | 3 - packages/hyperverse-ethereum/package.json | 1 + .../hyperverse-ethereum/source/Provider.tsx | 26 + packages/hyperverse-ethereum/source/index.ts | 3 +- .../hyperverse-ethereum/source/useEthereum.ts | 213 +----- packages/hyperverse-evm/.gitignore | 2 + packages/hyperverse-evm/CHANGELOG.md | 69 ++ packages/hyperverse-evm/index.ts | 1 + packages/hyperverse-evm/package.json | 33 + packages/hyperverse-evm/source/index.ts | 10 + packages/hyperverse-evm/source/useEVM.ts | 243 ++++++ packages/hyperverse-evm/tsconfig.json | 5 + packages/hyperverse-metis/package.json | 1 + packages/hyperverse-metis/source/useMetis.ts | 218 +----- yarn.lock | 718 +++++++++++++++++- 15 files changed, 1086 insertions(+), 460 deletions(-) create mode 100644 packages/hyperverse-ethereum/source/Provider.tsx create mode 100644 packages/hyperverse-evm/.gitignore create mode 100644 packages/hyperverse-evm/CHANGELOG.md create mode 100644 packages/hyperverse-evm/index.ts create mode 100644 packages/hyperverse-evm/package.json create mode 100644 packages/hyperverse-evm/source/index.ts create mode 100644 packages/hyperverse-evm/source/useEVM.ts create mode 100644 packages/hyperverse-evm/tsconfig.json diff --git a/apps/ethereum/tribes/src/pages/index.tsx b/apps/ethereum/tribes/src/pages/index.tsx index eba74068..319b4867 100644 --- a/apps/ethereum/tribes/src/pages/index.tsx +++ b/apps/ethereum/tribes/src/pages/index.tsx @@ -7,15 +7,12 @@ import Nav from '../components/Nav'; import { useTribes } from '@decentology/hyperverse-ethereum-tribes'; import { useEthereum } from '@decentology/hyperverse-ethereum'; import { toast } from 'react-toastify'; -import { useHyperverse } from '@decentology/hyperverse'; const Home: NextPage = () => { const router = useRouter(); - const { blockchain } = useHyperverse(); const { address } = useEthereum(); const { TribeId } = useTribes(); const { data, error } = TribeId(); - console.log('Blockchian:', blockchain); useEffect(() => { if (error) { if (error instanceof Error) { diff --git a/packages/hyperverse-ethereum/package.json b/packages/hyperverse-ethereum/package.json index e94f5eda..90024646 100644 --- a/packages/hyperverse-ethereum/package.json +++ b/packages/hyperverse-ethereum/package.json @@ -20,6 +20,7 @@ }, "dependencies": { "@decentology/hyperverse": "^1.0.9", + "@decentology/hyperverse-evm": "^1.0.0", "@decentology/web3modal": "^1.9.6", "@walletconnect/web3-provider": "^1.7.1", "ethers": "^5.5.3", diff --git a/packages/hyperverse-ethereum/source/Provider.tsx b/packages/hyperverse-ethereum/source/Provider.tsx new file mode 100644 index 00000000..27e68e0b --- /dev/null +++ b/packages/hyperverse-ethereum/source/Provider.tsx @@ -0,0 +1,26 @@ +import { FC } from 'react'; +import { Evm } from '@decentology/hyperverse-evm'; +import { Ethereum } from './useEthereum'; +const Provider: FC = ({ children }) => { + return ( + + {children} + + ); +}; + +export default Provider; diff --git a/packages/hyperverse-ethereum/source/index.ts b/packages/hyperverse-ethereum/source/index.ts index 1c8aa69f..89317fcb 100644 --- a/packages/hyperverse-ethereum/source/index.ts +++ b/packages/hyperverse-ethereum/source/index.ts @@ -1,5 +1,6 @@ export * from '@decentology/web3modal'; -import { Provider, useEthereum } from './useEthereum'; +import { useEthereum } from './useEthereum'; +import Provider from './Provider' import { blockchains, makeHyperverseBlockchain } from '@decentology/hyperverse'; export const Ethereum = makeHyperverseBlockchain({ diff --git a/packages/hyperverse-ethereum/source/useEthereum.ts b/packages/hyperverse-ethereum/source/useEthereum.ts index 2e5ffbed..64be2374 100644 --- a/packages/hyperverse-ethereum/source/useEthereum.ts +++ b/packages/hyperverse-ethereum/source/useEthereum.ts @@ -1,216 +1,15 @@ -import { useCallback, useEffect, useRef, useState } from 'react'; -import Web3Modal from '@decentology/web3modal'; -import WalletConnectProvider from '@walletconnect/web3-provider'; -import { providers, ethers } from 'ethers'; import { createContainer, useContainer } from '@decentology/unstated-next'; -import { useHyperverse, networks, blockchains } from '@decentology/hyperverse'; - -const INFURA_ID = process.env.INFURA_API_KEY! || 'fb9f66bab7574d70b281f62e19c27d49'; - -const providerOptions = { - walletconnect: { - package: WalletConnectProvider, // required - options: { - infuraId: INFURA_ID, // required - }, - }, -}; - -let web3Modal: Web3Modal; -if (typeof window !== 'undefined') { - web3Modal = new Web3Modal({ - network: 'mainnet', // optional - cacheProvider: true, - providerOptions, // required - }); -} - -type State = { - provider: any | null; - web3Provider: providers.Web3Provider | null; - address: string | null; - chainId: number | null; - error: Error | null; -}; - -const switchNetwork = async (network: networks, prov: any) => { - if (network === networks.Mainnet) { - await prov.request({ - method: 'wallet_switchEthereumChain', - params: [{ chainId: '0x1' }], - }); - } else { - await prov.request({ - method: 'wallet_switchEthereumChain', - params: [{ chainId: '0x4' }], - }); - } -}; +import {useEvm} from '@decentology/hyperverse-evm' function EthereumState() { - const { blockchain, network } = useHyperverse(); - const infuraNetwork = network === networks.Mainnet ? 'mainnet' : 'rinkeby'; - const [state, setState] = useState({ - provider: new ethers.providers.JsonRpcProvider( - `https://${infuraNetwork}.infura.io/v3/${INFURA_ID}` - ), - web3Provider: null, - address: null, - chainId: null, - error: null, - }); - const { provider } = state; - const addressRef = useRef(state.address); - addressRef.current = state.address; - - const connect = useCallback(async function () { - try { - // This is the initial `provider` that is returned when - // using web3Modal to connect. Can be MetaMask or WalletConnect. - const externalProvider = await web3Modal.connect(); - // We plug the initial `provider` into ethers.js and get back - // a Web3Provider. This will add on methods from ethers.js and - // event listeners such as `.on()` will be different. - const web3Provider = new providers.Web3Provider(externalProvider); - - const signer = web3Provider.getSigner(); - const address = await signer.getAddress(); - - const userNetwork = await web3Provider.getNetwork(); - - if (blockchain?.name === blockchains.Ethereum && userNetwork.chainId !== 4) { - await switchNetwork(network, web3Provider.provider); + const state = useEvm(); - // setTimeout(() => { - // window.location.reload(); - // }, 1000); - } - - setState((prev) => ({ - ...prev, - provider, - web3Provider: web3Provider, - address, - chainId: userNetwork.chainId, - })); - } catch (err: any) { - if (typeof err === 'string') { - setState((prev) => ({ - ...prev, - error: new Error(err), - })); - } else if ( - err.message.includes('User Rejected') || - err.message.includes('Already processing') - ) { - setState((prev) => ({ - ...prev, - error: new Error('Please click the metamask extension to sign in!'), - })); - } else { - setState((prev) => ({ - ...prev, - error: new Error('Something went wrong!'), - })); - } - } - }, [blockchain?.name]); - - const disconnect = useCallback(async () => { - await web3Modal.clearCachedProvider(); - - setState((prevState) => ({ - ...prevState, - web3Provider: null, - address: null, - chainId: null, - error: null, - })); - // window.location.reload(); - }, [state.web3Provider]); - - useEffect(() => { - if (web3Modal) { - // @ts-ignore - Using private method to override click event handler - const web3ModalUserOptions = web3Modal.userOptions.find( - (x: any) => x.name === 'MetaMask' - ); - if (web3ModalUserOptions) { - const click = web3ModalUserOptions.onClick; - web3ModalUserOptions.onClick = async () => { - const timeout = setTimeout(() => { - // If not triggered in second(s) show alert to user - (window as Window).removeEventListener('blur', blur); - if (!addressRef.current) { - setState((prev) => ({ - ...prev, - error: new Error('Please click the metamask extension to sign in!'), - })); - } - }, 500); - const blur = () => { - clearTimeout(timeout); - (window as Window).removeEventListener('blur', blur); - }; - (window as Window).addEventListener('blur', blur); - // Call original click event handler to trigger metamask - click(); - }; - } - } - }, [web3Modal]); - - // Auto connect to the cached provider - useEffect(() => { - if (blockchain?.name === blockchains.Ethereum) { - if (web3Modal.cachedProvider) { - connect(); - } - } else { - disconnect(); - } - }, [blockchain?.name, connect]); - - // A `provider` should come with EIP-1193 events. We'll listen for those events - // here so that when a user switches accounts or networks, we can update the - // local React state with that new information. - useEffect(() => { - // MetaMask Only - const provider = state.web3Provider?.provider as any; - if (provider?.on) { - const handleAccountsChanged = (accounts: string[]) => { - setState((prev) => ({ ...prev, address: accounts[0] })); - // disconnect(); - }; - - // https://docs.ethers.io/v5/concepts/best-practices/#best-practices--network-changes - const handleChainChanged = (_hexChainId: string) => { - // window.location.reload(); - }; - - const handleDisconnect = (error: { code: number; message: string }) => { - web3Modal.clearCachedProvider(); - disconnect(); - }; - - provider.on('accountsChanged', handleAccountsChanged); - provider.on('chainChanged', handleChainChanged); - provider.on('disconnect', handleDisconnect); - - // Subscription Cleanup - return () => { - if (provider.removeListener) { - provider.removeListener('accountsChanged', handleAccountsChanged); - provider.removeListener('chainChanged', handleChainChanged); - provider.removeListener('disconnect', handleDisconnect); - } - }; - } - }, [state.web3Provider, disconnect]); - return { ...state, connect, disconnect }; + return { + ...state + } } -const Ethereum = createContainer(EthereumState); +export const Ethereum = createContainer(EthereumState); export const Provider = Ethereum.Provider; export function useEthereum() { return useContainer(Ethereum); diff --git a/packages/hyperverse-evm/.gitignore b/packages/hyperverse-evm/.gitignore new file mode 100644 index 00000000..40151f43 --- /dev/null +++ b/packages/hyperverse-evm/.gitignore @@ -0,0 +1,2 @@ +node_modules +distribution \ No newline at end of file diff --git a/packages/hyperverse-evm/CHANGELOG.md b/packages/hyperverse-evm/CHANGELOG.md new file mode 100644 index 00000000..6eefe632 --- /dev/null +++ b/packages/hyperverse-evm/CHANGELOG.md @@ -0,0 +1,69 @@ +# @decentology/hyperverse-ethereum + +## 1.0.9 + +### Patch Changes + +- Milestone update. Added token and er721 modules +- Updated dependencies + - @decentology/unstated-next@1.1.1 + - @decentology/web3modal@1.9.6 + - @decentology/hyperverse@1.0.9 + +## 1.0.8 + +### Patch Changes + +- 9df884a: Updated package deps versions for semver +- Milestone update. Added support for multi chain swapping +- Updated dependencies [9df884a] +- Updated dependencies + - @decentology/hyperverse@1.0.8 + +## 1.0.7 + +### Patch Changes + +- SSL error with SiaSky.net vs FilePortal.org +- Updated dependencies + - @decentology/hyperverse@1.0.7 + +## 1.0.6 + +### Patch Changes + +- Updated dependencies + - @decentology/hyperverse@1.0.6 + +## 1.0.5 + +### Patch Changes + +- 38bce19: fixed caching on logout +- 8183269: Bug fixes for login/logout workflow +- Updated dependencies [8183269] + - @decentology/hyperverse@1.0.5 + +## 1.0.4 + +### Patch Changes + +- Handle metamask workflow and stablizing platform +- Updated dependencies + - @decentology/hyperverse@1.0.4 + +## 1.0.3 + +### Patch Changes + +- Version bump after changeset and build +- Updated dependencies + - @decentology/hyperverse@1.0.3 + +## 1.0.2 + +### Patch Changes + +- Milestone change of state management +- Updated dependencies + - @decentology/hyperverse@1.0.2 diff --git a/packages/hyperverse-evm/index.ts b/packages/hyperverse-evm/index.ts new file mode 100644 index 00000000..6ffed2ee --- /dev/null +++ b/packages/hyperverse-evm/index.ts @@ -0,0 +1 @@ +export * from './source'; diff --git a/packages/hyperverse-evm/package.json b/packages/hyperverse-evm/package.json new file mode 100644 index 00000000..003ed0c7 --- /dev/null +++ b/packages/hyperverse-evm/package.json @@ -0,0 +1,33 @@ +{ + "name": "@decentology/hyperverse-evm", + "version": "1.0.9", + "source": "./source/index.ts", + "main": "./distribution/index.js", + "types": "./distribution/index.d.ts", + "license": "MIT", + "scripts": { + "build": "parcel build", + "clean": "rimraf ./distribution" + }, + "files": [ + "distribution" + ], + "publishConfig": { + "access": "public" + }, + "peerDependencies": { + "react": "^17.0.2" + }, + "dependencies": { + "@decentology/hyperverse": "^1.0.9", + "@decentology/web3modal": "^1.9.6", + "@walletconnect/web3-provider": "^1.7.1", + "ethers": "^5.5.3", + "@decentology/unstated-next": "^1.1.1" + }, + "devDependencies": { + "@decentology/config": "^1.0.0", + "parcel": "^2.2.1", + "rimraf": "^3.0.2" + } +} diff --git a/packages/hyperverse-evm/source/index.ts b/packages/hyperverse-evm/source/index.ts new file mode 100644 index 00000000..cdd25cc1 --- /dev/null +++ b/packages/hyperverse-evm/source/index.ts @@ -0,0 +1,10 @@ +export * from '@decentology/web3modal'; +import { Provider, useEvm, Evm } from './useEVM'; +import { blockchains, makeHyperverseBlockchain } from '@decentology/hyperverse'; + +export const Ethereum = makeHyperverseBlockchain({ + name: blockchains.Ethereum, + Provider: Provider, +}); + +export { Provider, useEvm, Evm }; diff --git a/packages/hyperverse-evm/source/useEVM.ts b/packages/hyperverse-evm/source/useEVM.ts new file mode 100644 index 00000000..4762e08c --- /dev/null +++ b/packages/hyperverse-evm/source/useEVM.ts @@ -0,0 +1,243 @@ +import { useCallback, useEffect, useRef, useState } from 'react'; +import Web3Modal from '@decentology/web3modal'; +import WalletConnectProvider from '@walletconnect/web3-provider'; +import { providers, ethers } from 'ethers'; +import { createContainer, useContainer } from '@decentology/unstated-next'; +import { useHyperverse, networks, blockchains } from '@decentology/hyperverse'; + +const INFURA_ID = process.env.INFURA_API_KEY! || 'fb9f66bab7574d70b281f62e19c27d49'; + +const providerOptions = { + walletconnect: { + package: WalletConnectProvider, // required + options: { + infuraId: INFURA_ID, // required + }, + }, +}; + +let web3Modal: Web3Modal; +if (typeof window !== 'undefined') { + web3Modal = new Web3Modal({ + network: 'mainnet', // optional + cacheProvider: true, + providerOptions, // required + }); +} + +type State = { + provider: any | null; + web3Provider: providers.Web3Provider | null; + address: string | null; + chainId: number | null; + error: Error | null; +}; + + + +type Network = { + name: string, + chainId: number, + explorerUrl?: string +} + +type EvmStateState = { + networks: { + [networks.Mainnet]: Network + [networks.Testnet]: Network + } +} + +function EvmState(initialState: EvmStateState = { + networks: { + mainnet: { + name: '', + chainId: 0, + }, + testnet: { + name: '', + chainId: 0, + }, + } +}) { + const { blockchain, network } = useHyperverse(); + const infuraNetwork = network === networks.Mainnet ? initialState.networks[networks.Mainnet].name : initialState.networks[networks.Testnet].name; + const [state, setState] = useState({ + provider: new ethers.providers.JsonRpcProvider( + `https://${infuraNetwork}.infura.io/v3/${INFURA_ID}` + ), + web3Provider: null, + address: null, + chainId: null, + error: null, + }); + const { provider } = state; + const addressRef = useRef(state.address); + addressRef.current = state.address; + + const switchNetwork = useCallback(async (network: networks, prov: any) => { + if (network === networks.Mainnet) { + await prov.request({ + method: 'wallet_switchEthereumChain', + params: [{ chainId: initialState.networks[networks.Mainnet].chainId.toString(16) }], + }); + } else { + await prov.request({ + method: 'wallet_switchEthereumChain', + params: [{ chainId: initialState.networks[networks.Testnet].chainId.toString(16) }], + }); + } + }, [initialState.networks]); + + const connect = useCallback(async function () { + try { + // This is the initial `provider` that is returned when + // using web3Modal to connect. Can be MetaMask or WalletConnect. + const externalProvider = await web3Modal.connect(); + // We plug the initial `provider` into ethers.js and get back + // a Web3Provider. This will add on methods from ethers.js and + // event listeners such as `.on()` will be different. + const web3Provider = new providers.Web3Provider(externalProvider); + + const signer = web3Provider.getSigner(); + const address = await signer.getAddress(); + + const userNetwork = await web3Provider.getNetwork(); + + if (blockchain?.name === blockchains.Ethereum && userNetwork.chainId !== 4) { + await switchNetwork(network, web3Provider.provider); + + // setTimeout(() => { + // window.location.reload(); + // }, 1000); + } + + setState((prev) => ({ + ...prev, + provider, + web3Provider: web3Provider, + address, + chainId: userNetwork.chainId, + })); + } catch (err: any) { + if (typeof err === 'string') { + setState((prev) => ({ + ...prev, + error: new Error(err), + })); + } else if ( + err.message.includes('User Rejected') || + err.message.includes('Already processing') + ) { + setState((prev) => ({ + ...prev, + error: new Error('Please click the metamask extension to sign in!'), + })); + } else { + setState((prev) => ({ + ...prev, + error: new Error('Something went wrong!'), + })); + } + } + }, [blockchain?.name]); + + const disconnect = useCallback(async () => { + await web3Modal.clearCachedProvider(); + + setState((prevState) => ({ + ...prevState, + web3Provider: null, + address: null, + chainId: null, + error: null, + })); + // window.location.reload(); + }, [state.web3Provider]); + + useEffect(() => { + if (web3Modal) { + // @ts-ignore - Using private method to override click event handler + const web3ModalUserOptions = web3Modal.userOptions.find( + (x: any) => x.name === 'MetaMask' + ); + if (web3ModalUserOptions) { + const click = web3ModalUserOptions.onClick; + web3ModalUserOptions.onClick = async () => { + const timeout = setTimeout(() => { + // If not triggered in second(s) show alert to user + (window as Window).removeEventListener('blur', blur); + if (!addressRef.current) { + setState((prev) => ({ + ...prev, + error: new Error('Please click the metamask extension to sign in!'), + })); + } + }, 500); + const blur = () => { + clearTimeout(timeout); + (window as Window).removeEventListener('blur', blur); + }; + (window as Window).addEventListener('blur', blur); + // Call original click event handler to trigger metamask + click(); + }; + } + } + }, [web3Modal]); + + // Auto connect to the cached provider + useEffect(() => { + if (blockchain?.name === blockchains.Ethereum) { + if (web3Modal.cachedProvider) { + connect(); + } + } else { + disconnect(); + } + }, [blockchain?.name, connect]); + + // A `provider` should come with EIP-1193 events. We'll listen for those events + // here so that when a user switches accounts or networks, we can update the + // local React state with that new information. + useEffect(() => { + // MetaMask Only + const provider = state.web3Provider?.provider as any; + if (provider?.on) { + const handleAccountsChanged = (accounts: string[]) => { + setState((prev) => ({ ...prev, address: accounts[0] })); + // disconnect(); + }; + + // https://docs.ethers.io/v5/concepts/best-practices/#best-practices--network-changes + const handleChainChanged = (_hexChainId: string) => { + // window.location.reload(); + }; + + const handleDisconnect = (error: { code: number; message: string }) => { + web3Modal.clearCachedProvider(); + disconnect(); + }; + + provider.on('accountsChanged', handleAccountsChanged); + provider.on('chainChanged', handleChainChanged); + provider.on('disconnect', handleDisconnect); + + // Subscription Cleanup + return () => { + if (provider.removeListener) { + provider.removeListener('accountsChanged', handleAccountsChanged); + provider.removeListener('chainChanged', handleChainChanged); + provider.removeListener('disconnect', handleDisconnect); + } + }; + } + }, [state.web3Provider, disconnect]); + return { ...state, connect, disconnect }; +} + +export const Evm = createContainer(EvmState); +export const Provider = Evm.Provider; +export function useEvm() { + return useContainer(Evm); +} diff --git a/packages/hyperverse-evm/tsconfig.json b/packages/hyperverse-evm/tsconfig.json new file mode 100644 index 00000000..0989c602 --- /dev/null +++ b/packages/hyperverse-evm/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "@decentology/config/react-library.json", + "include": ["source/**/*.ts", "source/**/*.tsx"], + "exclude": ["node_modules", "distribution"] +} diff --git a/packages/hyperverse-metis/package.json b/packages/hyperverse-metis/package.json index 93ce351c..be14b750 100644 --- a/packages/hyperverse-metis/package.json +++ b/packages/hyperverse-metis/package.json @@ -20,6 +20,7 @@ }, "dependencies": { "@decentology/hyperverse": "^1.0.9", + "@decentology/hyperverse-evm": "^1.0.0", "@decentology/web3modal": "^1.9.6", "@walletconnect/web3-provider": "^1.7.1", "ethers": "^5.5.3", diff --git a/packages/hyperverse-metis/source/useMetis.ts b/packages/hyperverse-metis/source/useMetis.ts index ba8fd42e..37c00c8b 100644 --- a/packages/hyperverse-metis/source/useMetis.ts +++ b/packages/hyperverse-metis/source/useMetis.ts @@ -1,220 +1,14 @@ -import { useCallback, useEffect, useRef, useState } from 'react'; -import Web3Modal from '@decentology/web3modal'; -import WalletConnectProvider from '@walletconnect/web3-provider'; -import { providers, ethers } from 'ethers'; import { createContainer, useContainer } from '@decentology/unstated-next'; -import { useHyperverse, networks, blockchains } from '@decentology/hyperverse'; - -const INFURA_ID = process.env.INFURA_API_KEY! || 'fb9f66bab7574d70b281f62e19c27d49'; - -const providerOptions = { - walletconnect: { - package: WalletConnectProvider, // required - options: { - infuraId: INFURA_ID, // required - }, - }, -}; - -let web3Modal: Web3Modal; -if (typeof window !== 'undefined') { - web3Modal = new Web3Modal({ - cacheProvider: true, - providerOptions, // required - }); -} -type State = { - provider: any | null; - web3Provider: providers.Web3Provider | null; - address: string | null; - explorer: string; - chainId: number | null; - error: Error | null; -}; +import { useEvm } from '@decentology/hyperverse-evm' function MetisState() { - const { blockchain, network } = useHyperverse(); - const networkUrl = - network === networks.Mainnet - ? 'https://andromeda.metis.io/?owner=1088' - : 'https://stardust.metis.io/?owner=588'; - const explorerUrl = - network === networks.Mainnet - ? 'https://andromeda-explorer.metis.io/' - : 'https://stardust.metis.io/'; - const [state, setState] = useState({ - provider: new ethers.providers.JsonRpcProvider(networkUrl), - explorer: explorerUrl, - web3Provider: null, - address: null, - chainId: null, - error: null, - }); - const { provider } = state; - const addressRef = useRef(state.address); - addressRef.current = state.address; - - const switchNetwork = async (network: networks, prov: any) => { - if (network === networks.Mainnet) { - await prov.request({ - method: 'wallet_switchEthereumChain', - params: [{ chainId: '0x440' }], - }); - } else { - await prov.request({ - method: 'wallet_switchEthereumChain', - params: [{ chainId: '0x24C' }], - }); - } - }; - - const connect = useCallback( - async function () { - try { - // This is the initial `provider` that is returned when - // using web3Modal to connect. Can be MetaMask or WalletConnect. - const externalProvider = await web3Modal.connect(); - - // We plug the initial `provider` into ethers.js and get back - // a Web3Provider. This will add on methods from ethers.js and - // event listeners such as `.on()` will be different. - const web3Provider = new providers.Web3Provider(externalProvider); - - const signer = web3Provider.getSigner(); - const address = await signer.getAddress(); - - const userNetwork = await web3Provider.getNetwork(); - if (blockchain?.name === blockchains.Metis && userNetwork.chainId !== 588) { - // await switchNetwork(network, web3Provider.provider); - // setTimeout(() => { - // window.location.reload(); - // }, 1000); - } - - setState((prev) => ({ - ...prev, - provider, - web3Provider: web3Provider, - address, - chainId: userNetwork.chainId, - })); - } catch (err: any) { - if (typeof err === 'string') { - setState((prev) => ({ - ...prev, - error: new Error(err), - })); - } else if ( - err.message.includes('User Rejected') || - err.message.includes('Already processing') - ) { - setState((prev) => ({ - ...prev, - error: new Error('Please click the metamask extension to sign in!'), - })); - } else { - setState((prev) => ({ - ...prev, - error: new Error('Something went wrong!'), - })); - } - } - }, - [blockchain?.name] - ); - - const disconnect = useCallback(async () => { - await web3Modal.clearCachedProvider(); - - setState((prevState) => ({ - ...prevState, - web3Provider: null, - address: null, - chainId: null, - error: null, - })); - }, [state.web3Provider]); - - useEffect(() => { - if (web3Modal) { - // @ts-ignore - Using private method to override click event handler - const web3ModalUserOptions = web3Modal.userOptions.find( - (x: any) => x.name === 'MetaMask' - ); - if (web3ModalUserOptions) { - const click = web3ModalUserOptions.onClick; - web3ModalUserOptions.onClick = async () => { - const timeout = setTimeout(() => { - // If not triggered in second(s) show alert to user - (window as Window).removeEventListener('blur', blur); - if (!addressRef.current) { - setState((prev) => ({ - ...prev, - error: new Error('Please click the metamask extension to sign in!'), - })); - } - }, 500); - const blur = () => { - clearTimeout(timeout); - (window as Window).removeEventListener('blur', blur); - }; - (window as Window).addEventListener('blur', blur); - // Call original click event handler to trigger metamask - click(); - }; - } - } - }, [web3Modal]); - // Auto connect to the cached provider - useEffect(() => { - if (blockchain?.name === blockchains.Metis) { - if (web3Modal.cachedProvider) { - connect(); - } - } else { - disconnect(); - } - }, [blockchain?.name, connect]); - - // A `provider` should come with EIP-1193 events. We'll listen for those events - // here so that when a user switches accounts or networks, we can update the - // local React state with that new information. - useEffect(() => { - // MetaMask Only - const provider = state.web3Provider?.provider as any; - if (provider?.on) { - const handleAccountsChanged = (accounts: string[]) => { - setState((prev) => ({ ...prev, address: accounts[0] })); - // disconnect(); - }; - - // https://docs.ethers.io/v5/concepts/best-practices/#best-practices--network-changes - const handleChainChanged = (_hexChainId: string) => { - // window.location.reload(); - }; - - const handleDisconnect = (error: { code: number; message: string }) => { - disconnect(); - }; - - provider.on('accountsChanged', handleAccountsChanged); - provider.on('chainChanged', handleChainChanged); - provider.on('disconnect', handleDisconnect); - - // Subscription Cleanup - return () => { - if (provider.removeListener) { - provider.removeListener('accountsChanged', handleAccountsChanged); - provider.removeListener('chainChanged', handleChainChanged); - provider.removeListener('disconnect', handleDisconnect); - } - }; - } - }, [state.web3Provider, disconnect]); - return { ...state, connect, disconnect }; + const state = useEvm(); + return { + ...state + } } -const Metis = createContainer(MetisState); +export const Metis = createContainer(MetisState); export const Provider = Metis.Provider; export function useMetis() { return useContainer(Metis); diff --git a/yarn.lock b/yarn.lock index 6f84da2b..5896bf7a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1374,7 +1374,7 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@eslint/eslintrc@^1.0.5", "@eslint/eslintrc@^1.1.0": +"@eslint/eslintrc@^1.0.5", "@eslint/eslintrc@^1.1.0", "@eslint/eslintrc@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.0.tgz#7ce1547a5c46dfe56e1e45c3c9ed18038c721c6a" integrity sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w== @@ -1901,6 +1901,16 @@ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17" integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw== +"@headlessui/react@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.5.0.tgz#483b44ba2c8b8d4391e1d2c863898d7dd0cc0296" + integrity sha512-aaRnYxBb3MU2FNJf3Ut9RMTUqqU3as0aI1lQhgo2n9Fa67wRu14iOGqx93xB+uMNVfNwZ5B3y/Ndm7qZGuFeMQ== + +"@heroicons/react@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@heroicons/react/-/react-1.0.5.tgz#2fe4df9d33eb6ce6d5178a0f862e97b61c01e27d" + integrity sha512-UDMyLM2KavIu2vlWfMspapw9yii7aoLwzI2Hudx4fyoPwfKfxU8r3cL8dEBXOjcLG0/oOONZzbT14M1HoNtEcg== + "@humanwhocodes/config-array@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" @@ -2047,6 +2057,13 @@ resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c" integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA== +"@next/bundle-analyzer@^12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-12.1.0.tgz#9f6d6cda2a26220c936805be407243e22790f4b7" + integrity sha512-pOtWRWaKQXff8A80Ex3E67EH8XuERHxBPn8cQgKzfhRKQwoTEareHe2nWJO1uXTQm6m7ZRhmhb4+uwp+UvmITQ== + dependencies: + webpack-bundle-analyzer "4.3.0" + "@next/env@12.0.3": version "12.0.3" resolved "https://registry.yarnpkg.com/@next/env/-/env-12.0.3.tgz#e676b4d1454d8b6be433a348e99f2b8276ab6cd7" @@ -3188,6 +3205,11 @@ resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec" integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug== +"@polka/url@^1.0.0-next.20": + version "1.0.0-next.21" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" + integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -3605,6 +3627,11 @@ resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== +"@types/json-schema@^7.0.9": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" @@ -3634,6 +3661,11 @@ resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== +"@types/marked@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.2.tgz#cb2dbf10da2f41cf20bd91fb5f89b67540c282f7" + integrity sha512-auNrZ/c0w6wsM9DccwVxWHssrMDezHUAXNesdp2RQrCVCyrQbOiSq7yqdJKrUQQpw9VTm7CGYJH2A/YG7jjrjQ== + "@types/minimatch@*", "@types/minimatch@^3.0.4": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" @@ -3659,7 +3691,7 @@ "@types/node" "*" form-data "^3.0.0" -"@types/node@*", "@types/node@17.0.21", "@types/node@>=13.7.0", "@types/node@^17.0.16": +"@types/node@*", "@types/node@17.0.21", "@types/node@>=13.7.0", "@types/node@^17.0.16", "@types/node@^17.0.21": version "17.0.21" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== @@ -3718,7 +3750,7 @@ dependencies: "@types/react" "^16" -"@types/react@*", "@types/react@17.0.39": +"@types/react@*", "@types/react@17.0.39", "@types/react@^17.0.39": version "17.0.39" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.39.tgz#d0f4cde092502a6db00a1cded6e6bf2abb7633ce" integrity sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug== @@ -3827,7 +3859,22 @@ dependencies: web3 "*" -"@typescript-eslint/parser@^5.0.0": +"@typescript-eslint/eslint-plugin@^5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.1.tgz#b2cd3e288f250ce8332d5035a2ff65aba3374ac4" + integrity sha512-M499lqa8rnNK7mUv74lSFFttuUsubIRdAbHcVaP93oFcKkEmHmLqy2n7jM9C8DVmFMYK61ExrZU6dLYhQZmUpw== + dependencies: + "@typescript-eslint/scope-manager" "5.12.1" + "@typescript-eslint/type-utils" "5.12.1" + "@typescript-eslint/utils" "5.12.1" + debug "^4.3.2" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.2.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.12.1": version "5.12.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.1.tgz#b090289b553b8aa0899740d799d0f96e6f49771b" integrity sha512-6LuVUbe7oSdHxUWoX/m40Ni8gsZMKCi31rlawBHt7VtW15iHzjbpj2WLiToG2758KjtCCiLRKZqfrOdl3cNKuw== @@ -3845,6 +3892,15 @@ "@typescript-eslint/types" "5.12.1" "@typescript-eslint/visitor-keys" "5.12.1" +"@typescript-eslint/type-utils@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.12.1.tgz#8d58c6a0bb176b5e9a91581cda1a7f91a114d3f0" + integrity sha512-Gh8feEhsNLeCz6aYqynh61Vsdy+tiNNkQtc+bN3IvQvRqHkXGUhYkUi+ePKzP0Mb42se7FDb+y2SypTbpbR/Sg== + dependencies: + "@typescript-eslint/utils" "5.12.1" + debug "^4.3.2" + tsutils "^3.21.0" + "@typescript-eslint/types@5.12.1": version "5.12.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.1.tgz#46a36a28ff4d946821b58fe5a73c81dc2e12aa89" @@ -3863,6 +3919,18 @@ semver "^7.3.5" tsutils "^3.21.0" +"@typescript-eslint/utils@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.12.1.tgz#447c24a05d9c33f9c6c64cb48f251f2371eef920" + integrity sha512-Qq9FIuU0EVEsi8fS6pG+uurbhNTtoYr4fq8tKjBupsK5Bgbk2I32UGm0Sh+WOyjOPgo/5URbxxSNV6HYsxV4MQ== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.12.1" + "@typescript-eslint/types" "5.12.1" + "@typescript-eslint/typescript-estree" "5.12.1" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + "@typescript-eslint/visitor-keys@5.12.1": version "5.12.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.1.tgz#f722da106c8f9695ae5640574225e45af3e52ec3" @@ -4299,12 +4367,26 @@ acorn-jsx@^5.0.1, acorn-jsx@^5.3.1: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== +acorn-node@^1.6.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" + integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== + dependencies: + acorn "^7.0.0" + acorn-walk "^7.0.0" + xtend "^4.0.2" + acorn-walk@^6.0.1: version "6.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== -acorn-walk@^8.1.1: +acorn-walk@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn-walk@^8.0.0, acorn-walk@^8.1.1: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== @@ -4319,12 +4401,12 @@ acorn@^6.0.1, acorn@^6.0.4, acorn@^6.1.1, acorn@^6.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== -acorn@^7.1.1, acorn@^7.4.0: +acorn@^7.0.0, acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: +acorn@^8.0.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== @@ -4356,6 +4438,14 @@ agent-base@6: dependencies: debug "4" +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -4478,6 +4568,11 @@ ansi-regex@^5.0.1: 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.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -4497,6 +4592,11 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" +ansi-styles@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" + integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== + ansi-to-html@^0.6.4: version "0.6.15" resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.15.tgz#ac6ad4798a00f6aa045535d7f6a9cb9294eebea7" @@ -4570,6 +4670,11 @@ arg@^4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== +arg@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" + integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -4842,6 +4947,18 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +autoprefixer@^10.4.2: + version "10.4.2" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b" + integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ== + dependencies: + browserslist "^4.19.1" + caniuse-lite "^1.0.30001297" + fraction.js "^4.1.2" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + autoprefixer@^6.3.1: version "6.7.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" @@ -6271,6 +6388,11 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + camelcase-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" @@ -6334,7 +6456,7 @@ caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30001312.tgz#efb31cb54e5f4714126d8c35292666c9b7290c87" integrity sha512-4eJfCSGxsF9JcQXBLdHclxkpLWv+Va7Y6QESYCWSdrR8b8x16TxUjCoOK/kU7SFC0BdcuK0nvt6ZkM59Q03LjQ== -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001312: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001312: version "1.0.30001312" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== @@ -6376,7 +6498,7 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3. escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@4, chalk@^4.0.0, chalk@^4.1.0: +chalk@4, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -6477,7 +6599,7 @@ chokidar@^2.1.5, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.4.0, chokidar@^3.4.1: +chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -6600,6 +6722,13 @@ cli-cursor@^2.0.0, cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + cli-spinners@^1.1.0: version "1.3.1" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" @@ -6626,6 +6755,22 @@ cli-truncate@^1.1.0: slice-ansi "^1.0.0" string-width "^2.0.0" +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cli-truncate@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" + integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== + dependencies: + slice-ansi "^5.0.0" + string-width "^5.0.0" + cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -6739,7 +6884,7 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@^1.0.0, color-name@~1.1.4: +color-name@^1.0.0, color-name@^1.1.4, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== @@ -6786,6 +6931,11 @@ colorette@^1.2.2: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== +colorette@^2.0.16: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + colormin@^1.0.5: version "1.1.2" resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" @@ -6854,11 +7004,21 @@ commander@^5.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + commander@^7.0.0, commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + common-path-prefix@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" @@ -6925,6 +7085,11 @@ configstore@^3.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" +confusing-browser-globals@^1.0.10: + version "1.0.11" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" + integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== + console-browserify@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" @@ -7145,6 +7310,13 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== +cross-env@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== + dependencies: + cross-spawn "^7.0.1" + cross-fetch@^2.1.0, cross-fetch@^2.1.1: version "2.2.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.5.tgz#afaf5729f3b6c78d89c9296115c9f142541a5705" @@ -7173,7 +7345,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.4, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.2: +cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -7912,6 +8084,20 @@ detect-node@^2.0.4, detect-node@^2.1.0: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== +detective@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" + integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== + dependencies: + acorn-node "^1.6.1" + defined "^1.0.0" + minimist "^1.1.1" + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + diff@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -7950,6 +8136,11 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + dns-over-http-resolver@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz#194d5e140a42153f55bb79ac5a64dd2768c36af9" @@ -8109,7 +8300,7 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= -duplexer@^0.1.1: +duplexer@^0.1.1, duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== @@ -8124,6 +8315,11 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -8472,6 +8668,23 @@ escodegen@~1.9.0: optionalDependencies: source-map "~0.6.1" +eslint-config-airbnb-base@^15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz#6b09add90ac79c2f8d723a2580e07f3925afd236" + integrity sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig== + dependencies: + confusing-browser-globals "^1.0.10" + object.assign "^4.1.2" + object.entries "^1.1.5" + semver "^6.3.0" + +eslint-config-airbnb-typescript@^16.1.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-16.1.0.tgz#f75a6b4f3bb679eef34c3c930359c2ca9bc3f09c" + integrity sha512-W5Cq20KpEx5ZLC54bnVrC37zq2+WD956Kp/Ma3nYFRjT1v9KM63v+DPkrrmmrVqrlDKaD0ivm/qeYmyHV6qKlw== + dependencies: + eslint-config-airbnb-base "^15.0.0" + eslint-config-next@12.0.7: version "12.0.7" resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.0.7.tgz#985f06c3d749673f6b4b214db6b9321da1bf0b5f" @@ -8502,7 +8715,7 @@ eslint-config-next@12.0.8: eslint-plugin-react "^7.27.0" eslint-plugin-react-hooks "^4.3.0" -eslint-config-next@12.1.0, eslint-config-next@^12.0.3: +eslint-config-next@12.1.0, eslint-config-next@^12.0.3, eslint-config-next@^12.1.0: version "12.1.0" resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.1.0.tgz#8ace680dc5207e6ab6c915f3989adec122f582e7" integrity sha512-tBhuUgoDITcdcM7xFvensi9I5WTI4dnvH4ETGRg1U8ZKpXrZsWQFdOKIDzR3RLP5HR3xXrLviaMM4c3zVoE/pA== @@ -8517,7 +8730,7 @@ eslint-config-next@12.1.0, eslint-config-next@^12.0.3: eslint-plugin-react "^7.27.0" eslint-plugin-react-hooks "^4.3.0" -eslint-config-prettier@^8.3.0: +eslint-config-prettier@^8.3.0, eslint-config-prettier@^8.4.0: version "8.4.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.4.0.tgz#8e6d17c7436649e98c4c2189868562921ef563de" integrity sha512-CFotdUcMY18nGRo5KGsnNxpznzhkopOcOo0InID+sgQssPrzjvsyKZPvOgymTFeHrFuC3Tzdf2YndhXtULK9Iw== @@ -8549,7 +8762,7 @@ eslint-module-utils@^2.7.2: debug "^3.2.7" find-up "^2.1.0" -eslint-plugin-import@^2.25.2: +eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.25.4: version "2.25.4" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== @@ -8586,12 +8799,19 @@ eslint-plugin-jsx-a11y@^6.5.1: language-tags "^1.0.5" minimatch "^3.0.4" +eslint-plugin-prettier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== + dependencies: + prettier-linter-helpers "^1.0.0" + eslint-plugin-react-hooks@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== -eslint-plugin-react@^7.27.0: +eslint-plugin-react@^7.27.0, eslint-plugin-react@^7.29.1: version "7.29.2" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.2.tgz#2d4da69d30d0a736efd30890dc6826f3e91f3f7c" integrity sha512-ypEBTKOy5liFQXZWMchJ3LN0JX1uPI6n7MN7OPHKacqXAxq5gYC30TdO7wqGYQyxD1OrzpobdHC3hDmlRWDg9w== @@ -8611,6 +8831,18 @@ eslint-plugin-react@^7.27.0: semver "^6.3.0" string.prototype.matchall "^4.0.6" +eslint-plugin-unused-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz#d8db8c4d0cfa0637a8b51ce3fd7d1b6bc3f08520" + integrity sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A== + dependencies: + eslint-rule-composer "^0.3.0" + +eslint-rule-composer@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" + integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== + eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" @@ -8836,6 +9068,47 @@ eslint@8.9.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +eslint@^8.9.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.10.0.tgz#931be395eb60f900c01658b278e05b6dae47199d" + integrity sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw== + dependencies: + "@eslint/eslintrc" "^1.2.0" + "@humanwhocodes/config-array" "^0.9.2" + ajv "^6.10.0" + 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.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^6.0.1" + globals "^13.6.0" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + esm@^3.2.20: version "3.2.25" resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" @@ -9496,6 +9769,21 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execa@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + 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" + exit-on-epipe@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" @@ -9692,7 +9980,7 @@ fast-glob@^2.2.2: merge2 "^1.2.3" micromatch "^3.1.10" -fast-glob@^3.2.9: +fast-glob@^3.2.11, fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== @@ -10058,6 +10346,11 @@ fp-ts@^1.0.0: resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a" integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== +fraction.js@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.3.tgz#be65b0f20762ef27e1e793860bc2dfb716e99e65" + integrity sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg== + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -10341,6 +10634,11 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" +get-stream@^6.0.0: + 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-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" @@ -10396,7 +10694,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1: +glob-parent@^6.0.1, glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -10681,6 +10979,13 @@ gzip-size@^5.0.0: duplexer "^0.1.1" pify "^4.0.1" +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -11084,6 +11389,11 @@ human-id@^1.0.2: resolved "https://registry.yarnpkg.com/human-id/-/human-id-1.0.2.tgz#e654d4b2b0d8b07e45da9f6020d8af17ec0a5df3" integrity sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== +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== + husky@^2.1.0: version "2.7.0" resolved "https://registry.yarnpkg.com/husky/-/husky-2.7.0.tgz#c0a9a6a3b51146224e11bba0b46bba546e461d05" @@ -11117,6 +11427,11 @@ husky@^3.0.0: run-node "^1.0.0" slash "^3.0.0" +husky@^7.0.4: + version "7.0.4" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" + integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== + hyphenate-style-name@^1.0.2, hyphenate-style-name@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" @@ -11173,7 +11488,7 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.2.0: +ignore@^5.1.8, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -11211,7 +11526,7 @@ immutable@^4.0.0-rc.12: resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== -import-cwd@^2.1.0: +import-cwd@^2.0.0, import-cwd@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= @@ -11716,6 +12031,11 @@ is-fullwidth-code-point@^3.0.0: 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-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + is-function@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" @@ -12911,7 +13231,7 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -lilconfig@^2.0.3: +lilconfig@2.0.4, lilconfig@^2.0.3, lilconfig@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== @@ -12921,6 +13241,25 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +lint-staged@^12.3.4: + version "12.3.4" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.3.4.tgz#4b1ff8c394c3e6da436aaec5afd4db18b5dac360" + integrity sha512-yv/iK4WwZ7/v0GtVkNb3R82pdL9M+ScpIbJLJNyCXkJ1FGaXvRCOg/SeL59SZtPpqZhE7BD6kPKFLIDUhDx2/w== + dependencies: + cli-truncate "^3.1.0" + colorette "^2.0.16" + commander "^8.3.0" + debug "^4.3.3" + execa "^5.1.1" + lilconfig "2.0.4" + listr2 "^4.0.1" + micromatch "^4.0.4" + normalize-path "^3.0.0" + object-inspect "^1.12.0" + string-argv "^0.3.1" + supports-color "^9.2.1" + yaml "^1.10.2" + lint-staged@^8.1.5: version "8.2.1" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.2.1.tgz#752fcf222d9d28f323a3b80f1e668f3654ff221f" @@ -12980,6 +13319,20 @@ listr-verbose-renderer@^0.5.0: date-fns "^1.27.2" figures "^2.0.0" +listr2@^4.0.1: + version "4.0.4" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.4.tgz#d098a1c419284fb26e184b5d5889b235e8912245" + integrity sha512-vJOm5KD6uZXjSsrwajr+mNacIjf87gWvlBEltPWLbTkslUscWAzquyK4xfe9Zd4RDgO5nnwFyV06FC+uVR+5mg== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.4" + through "^2.3.8" + wrap-ansi "^7.0.0" + listr@^0.14.2: version "0.14.3" resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" @@ -13246,7 +13599,7 @@ lodash@4.17.20: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.4: +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -13281,6 +13634,16 @@ log-update@^2.3.0: cli-cursor "^2.0.0" wrap-ansi "^3.0.1" +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" @@ -13440,6 +13803,11 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +marked@^4.0.12: + version "4.0.12" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.12.tgz#2262a4e6fd1afd2f13557726238b69a48b982f7d" + integrity sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ== + match-sorter@^6.0.2: version "6.3.1" resolved "https://registry.yarnpkg.com/match-sorter/-/match-sorter-6.3.1.tgz#98cc37fda756093424ddf3cbc62bfe9c75b92bda" @@ -13815,6 +14183,11 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +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-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" @@ -13883,7 +14256,7 @@ minimist@0.0.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@~1.2.5: +minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@~1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -14044,6 +14417,11 @@ mri@^1.1.0: resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== +mrmime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.0.tgz#14d387f0585a5233d291baba339b063752a2398b" + integrity sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -14236,6 +14614,18 @@ neo-async@^2.5.0, neo-async@^2.6.1: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +next-connect@^0.12.2: + version "0.12.2" + resolved "https://registry.yarnpkg.com/next-connect/-/next-connect-0.12.2.tgz#8191db0f03c80f8f4dbbe80e643a48cb3c9a20b9" + integrity sha512-B/zKHPs5S7XWvAVsZVLvOeY2eL2U3g0W/BgCDetEJRcNDzxX2vi8rzqBuEoLLPlI8LvtHwujDVUFFjSgOEZTbA== + dependencies: + trouter "^3.2.0" + +next-seo@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-5.1.0.tgz#aa9fd6249a11bf93e6da06fa2a6bc89268936edf" + integrity sha512-ampuQfNTOi1x+xtRIb6CZGunIo6rQXtMo2Tyu861d5GjJFIwfOXsA4lzCa4+e2rLkyXDyVpavNNUZWa3US9ELw== + next-tick@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" @@ -14412,7 +14802,7 @@ next@12.0.8: "@next/swc-win32-ia32-msvc" "12.0.8" "@next/swc-win32-x64-msvc" "12.0.8" -next@12.1.0: +next@12.1.0, next@^12.1.0: version "12.1.0" resolved "https://registry.yarnpkg.com/next/-/next-12.1.0.tgz#c33d753b644be92fc58e06e5a214f143da61dd5d" integrity sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q== @@ -14614,6 +15004,21 @@ npm-path@^2.0.2: dependencies: which "^1.2.10" +npm-run-all@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" + integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== + dependencies: + ansi-styles "^3.2.1" + chalk "^2.4.1" + cross-spawn "^6.0.5" + memorystream "^0.3.1" + minimatch "^3.0.4" + pidtree "^0.3.0" + read-pkg "^3.0.0" + shell-quote "^1.6.1" + string.prototype.padend "^3.0.0" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -14621,6 +15026,13 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" +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-which@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" @@ -14701,7 +15113,12 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.11.0, object-inspect@^1.9.0, object-inspect@~1.12.0: +object-hash@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" + integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== + +object-inspect@^1.11.0, object-inspect@^1.12.0, object-inspect@^1.9.0, object-inspect@~1.12.0: version "1.12.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== @@ -14868,6 +15285,13 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +onetime@^5.1.0, onetime@^5.1.2: + 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" + open@^7.4.2: version "7.4.2" resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" @@ -14881,6 +15305,11 @@ opencollective-postinstall@^2.0.2: resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + opn@^5.1.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" @@ -15067,6 +15496,13 @@ p-map@^2.0.0: resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + p-queue@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-2.4.2.tgz#03609826682b743be9a22dba25051bd46724fc34" @@ -15385,7 +15821,7 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-key@^3.1.0: +path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -15462,6 +15898,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.0: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +pidtree@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" + integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -15730,6 +16171,13 @@ postcss-filter-plugins@^2.0.0: dependencies: postcss "^5.0.4" +postcss-js@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" + integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== + dependencies: + camelcase-css "^2.0.1" + postcss-load-config@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" @@ -15740,6 +16188,22 @@ postcss-load-config@^1.2.0: postcss-load-options "^1.2.0" postcss-load-plugins "^2.3.0" +postcss-load-config@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-load-config@^3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.3.tgz#21935b2c43b9a86e6581a576ca7ee1bde2bd1d23" + integrity sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw== + dependencies: + lilconfig "^2.0.4" + yaml "^1.10.2" + postcss-load-options@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" @@ -15979,6 +16443,13 @@ postcss-modules@^1.1.0: postcss "^7.0.1" string-hash "^1.1.1" +postcss-nested@5.0.6: + version "5.0.6" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" + integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== + dependencies: + postcss-selector-parser "^6.0.6" + postcss-normalize-charset@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" @@ -16251,7 +16722,7 @@ postcss-selector-parser@^3.0.0: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: version "6.0.9" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== @@ -16393,7 +16864,7 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.17, postcss@^7.0.2 picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.4.5: +postcss@^8.4.5, postcss@^8.4.6, postcss@^8.4.7: version "8.4.7" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.7.tgz#f99862069ec4541de386bf57f5660a6c7a0875a8" integrity sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A== @@ -16537,6 +17008,13 @@ preserve@^0.2.0: resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + prettier@^1.17.0, prettier@^1.18.2, prettier@^1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" @@ -16903,6 +17381,11 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + quote-stream@^1.0.1, quote-stream@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2" @@ -17003,7 +17486,7 @@ react-display-name@^0.2.4: resolved "https://registry.yarnpkg.com/react-display-name/-/react-display-name-0.2.5.tgz#304c7cbfb59ee40389d436e1a822c17fe27936c6" integrity sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg== -react-dom@17.0.2: +react-dom@17.0.2, react-dom@^17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== @@ -17107,7 +17590,7 @@ react-use@^17.3.2: ts-easing "^0.2.0" tslib "^2.1.0" -react@17.0.2: +react@17.0.2, react@^17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== @@ -17371,6 +17854,11 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: call-bind "^1.0.2" define-properties "^1.1.3" +regexparam@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-1.3.0.tgz#2fe42c93e32a40eff6235d635e0ffa344b92965f" + integrity sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g== + regexpp@^3.1.0, regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" @@ -17635,7 +18123,7 @@ resolve@1.8.1: dependencies: path-parse "^1.0.5" -resolve@^1.1.5, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@~1.22.0: +resolve@^1.1.5, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@~1.22.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -17667,6 +18155,14 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + resumer@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" @@ -17694,6 +18190,11 @@ reusify@^1.0.4: 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.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + rgb-regex@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" @@ -17933,6 +18434,13 @@ rxjs@^6.3.3: dependencies: tslib "^1.9.0" +rxjs@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.4.tgz#3d6bd407e6b7ce9a123e76b1e770dc5761aa368d" + integrity sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ== + dependencies: + tslib "^2.1.0" + sade@^1.4.0: version "1.8.1" resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" @@ -18249,7 +18757,7 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@1.7.3: +shell-quote@1.7.3, shell-quote@^1.6.1: version "1.7.3" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== @@ -18263,7 +18771,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: 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== @@ -18305,6 +18813,15 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" +sirv@^1.0.7: + version "1.0.19" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49" + integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== + dependencies: + "@polka/url" "^1.0.0-next.20" + mrmime "^1.0.0" + totalist "^1.0.0" + sjcl@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.8.tgz#f2ec8d7dc1f0f21b069b8914a41a8f236b0e252a" @@ -18385,6 +18902,15 @@ slice-ansi@^1.0.0: dependencies: is-fullwidth-code-point "^2.0.0" +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" @@ -18394,6 +18920,14 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + slide@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" @@ -18843,6 +19377,11 @@ string-argv@^0.0.2: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736" integrity sha1-2sMECGkMIfPDYwo/86BYd73L1zY= +string-argv@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + string-hash@1.1.3, string-hash@^1.1.1, string-hash@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" @@ -18883,6 +19422,15 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + string.prototype.matchall@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" @@ -18897,6 +19445,15 @@ string.prototype.matchall@^4.0.6: regexp.prototype.flags "^1.3.1" side-channel "^1.0.4" +string.prototype.padend@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1" + integrity sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + string.prototype.trim@~1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.5.tgz#a587bcc8bfad8cb9829a577f5de30dd170c1682c" @@ -18978,6 +19535,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" + integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== + dependencies: + ansi-regex "^6.0.1" + strip-bom-buf@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" @@ -19002,6 +19566,11 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= +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-hex-prefix@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" @@ -19052,6 +19621,13 @@ styled-components@^5.3.3: shallowequal "^1.1.0" supports-color "^5.5.0" +styled-jsx-plugin-postcss@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/styled-jsx-plugin-postcss/-/styled-jsx-plugin-postcss-4.0.1.tgz#d1980db5f3af9bd662236822d02db3e80017371d" + integrity sha512-Qy3OnewWZYykT0ESWRqqC7KhYSghXpel+cnY3/MOnmatEwvJl1+RB5YwJRjqhcODDoY/D+dKH97PZFuF3/rCBg== + dependencies: + postcss-load-config "^2.1.2" + styled-jsx@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0.tgz#816b4b92e07b1786c6b7111821750e0ba4d26e77" @@ -19199,6 +19775,11 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" +supports-color@^9.2.1: + version "9.2.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891" + integrity sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ== + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -19297,6 +19878,33 @@ table@^6.0.9: string-width "^4.2.3" strip-ansi "^6.0.1" +tailwindcss@^3.0.23: + version "3.0.23" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.23.tgz#c620521d53a289650872a66adfcb4129d2200d10" + integrity sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA== + dependencies: + arg "^5.0.1" + chalk "^4.1.2" + chokidar "^3.5.3" + color-name "^1.1.4" + cosmiconfig "^7.0.1" + detective "^5.2.0" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.2.11" + glob-parent "^6.0.2" + is-glob "^4.0.3" + normalize-path "^3.0.0" + object-hash "^2.2.0" + postcss "^8.4.6" + postcss-js "^4.0.0" + postcss-load-config "^3.1.0" + postcss-nested "5.0.6" + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" + quick-lru "^5.1.1" + resolve "^1.22.0" + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -19463,7 +20071,7 @@ through2@^2.0.0, through2@^2.0.3, through2@~2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through@~2.3.4, through@~2.3.8: +through@^2.3.8, through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -19607,6 +20215,11 @@ toposort@^2.0.2: resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA= +totalist@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" + integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== + tough-cookie@^2.3.3, tough-cookie@^2.5.0, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -19647,6 +20260,13 @@ trim-right@^1.0.1: resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= +trouter@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/trouter/-/trouter-3.2.0.tgz#a9c510fce21b8e659a28732c9de9d82871efe8df" + integrity sha512-rLLXbhTObLy2MBVjLC+jTnoIKw99n0GuJs9ov10J870vDw5qhTurPzsDrudNtBf5w/CZ9ctZy2p2IMmhGcel2w== + dependencies: + regexparam "^1.3.0" + "true-case-path@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-2.2.1.tgz#c5bf04a5bbec3fd118be4084461b3a27c4d796bf" @@ -20064,7 +20684,7 @@ typescript@4.5.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== -typescript@4.5.5, typescript@>=2.8.3, typescript@>=3.0.0: +typescript@4.5.5, typescript@>=2.8.3, typescript@>=3.0.0, typescript@^4.5.5: version "4.5.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== @@ -21126,6 +21746,21 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== +webpack-bundle-analyzer@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.3.0.tgz#2f3c0ca9041d5ee47fa418693cf56b4a518b578b" + integrity sha512-J3TPm54bPARx6QG8z4cKBszahnUglcv70+N+8gUqv2I5KOFHJbzBiLx+pAp606so0X004fxM7hqRu10MLjJifA== + dependencies: + acorn "^8.0.4" + acorn-walk "^8.0.0" + chalk "^4.1.0" + commander "^6.2.0" + gzip-size "^6.0.0" + lodash "^4.17.20" + opener "^1.5.2" + sirv "^1.0.7" + ws "^7.3.1" + webpack-cli@^3.2.1: version "3.3.12" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a" @@ -21385,6 +22020,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -21432,7 +22076,7 @@ ws@^6.1.2: dependencies: async-limiter "~1.0.0" -ws@^7.2.1, ws@^7.4.6: +ws@^7.2.1, ws@^7.3.1, ws@^7.4.6: version "7.5.7" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== From eb686c8ae95873a403d06ecf09b0b4d37dfe17cc Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Mon, 28 Feb 2022 13:09:38 -0500 Subject: [PATCH 02/41] Network URL needs configured now --- apps/hyperverse.dev | 2 +- .../hyperverse-ethereum/source/Provider.tsx | 5 ++++ packages/hyperverse-evm/source/useEVM.ts | 10 +++---- packages/hyperverse-metis/source/Provider.tsx | 29 +++++++++++++++++++ 4 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 packages/hyperverse-metis/source/Provider.tsx diff --git a/apps/hyperverse.dev b/apps/hyperverse.dev index 571758dc..63c1dd75 160000 --- a/apps/hyperverse.dev +++ b/apps/hyperverse.dev @@ -1 +1 @@ -Subproject commit 571758dc2791f90e564b5e92a41b001ae4c290cd +Subproject commit 63c1dd75f3ca9f5431fb640cf2a23d374ae5634a diff --git a/packages/hyperverse-ethereum/source/Provider.tsx b/packages/hyperverse-ethereum/source/Provider.tsx index 27e68e0b..9617b934 100644 --- a/packages/hyperverse-ethereum/source/Provider.tsx +++ b/packages/hyperverse-ethereum/source/Provider.tsx @@ -1,6 +1,9 @@ import { FC } from 'react'; import { Evm } from '@decentology/hyperverse-evm'; import { Ethereum } from './useEthereum'; + +const INFURA_ID = process.env.INFURA_API_KEY! || 'fb9f66bab7574d70b281f62e19c27d49'; + const Provider: FC = ({ children }) => { return ( = ({ children }) => { networks: { mainnet: { name: 'mainnet', + networkUrl: `https://mainnet.infura.io/v3/${INFURA_ID}`, chainId: 1, }, testnet: { name: 'rinkeby', chainId: 4, + networkUrl: `https://rinkeby.infura.io/v3/${INFURA_ID}`, explorerUrl: 'https://rinkeby.etherscan.io', }, }, diff --git a/packages/hyperverse-evm/source/useEVM.ts b/packages/hyperverse-evm/source/useEVM.ts index 4762e08c..76d08c5d 100644 --- a/packages/hyperverse-evm/source/useEVM.ts +++ b/packages/hyperverse-evm/source/useEVM.ts @@ -19,7 +19,6 @@ const providerOptions = { let web3Modal: Web3Modal; if (typeof window !== 'undefined') { web3Modal = new Web3Modal({ - network: 'mainnet', // optional cacheProvider: true, providerOptions, // required }); @@ -38,6 +37,7 @@ type State = { type Network = { name: string, chainId: number, + networkUrl: string, explorerUrl?: string } @@ -52,20 +52,20 @@ function EvmState(initialState: EvmStateState = { networks: { mainnet: { name: '', + networkUrl: '', chainId: 0, }, testnet: { name: '', + networkUrl: '', chainId: 0, }, } }) { const { blockchain, network } = useHyperverse(); - const infuraNetwork = network === networks.Mainnet ? initialState.networks[networks.Mainnet].name : initialState.networks[networks.Testnet].name; + const networkUrl = network === networks.Mainnet ? initialState.networks[networks.Mainnet].networkUrl : initialState.networks[networks.Testnet].networkUrl; const [state, setState] = useState({ - provider: new ethers.providers.JsonRpcProvider( - `https://${infuraNetwork}.infura.io/v3/${INFURA_ID}` - ), + provider: new ethers.providers.JsonRpcProvider(networkUrl), web3Provider: null, address: null, chainId: null, diff --git a/packages/hyperverse-metis/source/Provider.tsx b/packages/hyperverse-metis/source/Provider.tsx new file mode 100644 index 00000000..08b77d80 --- /dev/null +++ b/packages/hyperverse-metis/source/Provider.tsx @@ -0,0 +1,29 @@ +import { FC } from 'react'; +import { Evm } from '@decentology/hyperverse-evm'; +import { Metis } from './useMetis'; +const Provider: FC = ({ children }) => { + return ( + + {children} + + ); +}; + +export default Provider; From 723fee075090bc027262c7a49095f89cbdd0bc60 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Mon, 28 Feb 2022 13:14:23 -0500 Subject: [PATCH 03/41] Set name back --- packages/hyperverse-evm/source/useEVM.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/hyperverse-evm/source/useEVM.ts b/packages/hyperverse-evm/source/useEVM.ts index 76d08c5d..35eb5d5a 100644 --- a/packages/hyperverse-evm/source/useEVM.ts +++ b/packages/hyperverse-evm/source/useEVM.ts @@ -41,14 +41,14 @@ type Network = { explorerUrl?: string } -type EvmStateState = { +type EvmState = { networks: { [networks.Mainnet]: Network [networks.Testnet]: Network } } -function EvmState(initialState: EvmStateState = { +function EvmState(initialState: EvmState = { networks: { mainnet: { name: '', From 99c60480673b0dc83152aabda8e11f720da58c30 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Mon, 28 Feb 2022 13:44:37 -0500 Subject: [PATCH 04/41] Typing update --- packages/hyperverse-evm/source/useEVM.ts | 4 ++-- packages/hyperverse/source/types.ts | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/hyperverse-evm/source/useEVM.ts b/packages/hyperverse-evm/source/useEVM.ts index 35eb5d5a..d3d3ae93 100644 --- a/packages/hyperverse-evm/source/useEVM.ts +++ b/packages/hyperverse-evm/source/useEVM.ts @@ -41,14 +41,14 @@ type Network = { explorerUrl?: string } -type EvmState = { +type InitialEvmState = { networks: { [networks.Mainnet]: Network [networks.Testnet]: Network } } -function EvmState(initialState: EvmState = { +function EvmState(initialState: InitialEvmState = { networks: { mainnet: { name: '', diff --git a/packages/hyperverse/source/types.ts b/packages/hyperverse/source/types.ts index fb026335..682359f9 100644 --- a/packages/hyperverse/source/types.ts +++ b/packages/hyperverse/source/types.ts @@ -1,5 +1,5 @@ -import { FC, Context } from 'react'; -import { ContainerProvider, ContainerProviderProps } from '@decentology/unstated-next'; +import { FC } from 'react'; +import { ContainerProvider } from '@decentology/unstated-next'; import Blockchain from './constants/blockchains'; import Network from './constants/networks'; import Storage from './constants/storage'; @@ -15,7 +15,7 @@ export type HyperverseBlockchainInit = ( export type HyperverseBlockchain = { name: Blockchain; - Provider: FC | ContainerProvider; + Provider: FC | ContainerProvider | ContainerProvider }; export type BlockchainFeatures = { From 599160b78df4ec72501b97d76a2cf507dd1e372d Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Mon, 28 Feb 2022 16:36:50 -0500 Subject: [PATCH 05/41] Converting Tribes to EVM --- packages/hyperverse-evm-tribes/.gitignore | 10 + packages/hyperverse-evm-tribes/CHANGELOG.md | 82 +++++ packages/hyperverse-evm-tribes/README.md | 15 + .../contracts/Tribes.sol | 119 +++++++ .../contracts/hyperverse/CloneFactory.sol | 52 +++ .../hyperverse/IHyperverseModule.sol | 34 ++ .../hyperverse-evm-tribes/hardhat.config.js | 37 +++ packages/hyperverse-evm-tribes/index.ts | 1 + packages/hyperverse-evm-tribes/package.json | 44 +++ .../hyperverse-evm-tribes/scripts/deploy.js | 19 ++ .../hyperverse-evm-tribes/source/Provider.tsx | 27 ++ .../source/environment.ts | 41 +++ .../hyperverse-evm-tribes/source/index.ts | 2 + .../hyperverse-evm-tribes/source/useTribes.ts | 269 +++++++++++++++ .../hyperverse-evm-tribes/test/tribes-test.js | 130 ++++++++ packages/hyperverse-evm-tribes/tsconfig.json | 8 + .../hyperverse-evm-tribes/utils/Tribes.json | 314 ++++++++++++++++++ 17 files changed, 1204 insertions(+) create mode 100644 packages/hyperverse-evm-tribes/.gitignore create mode 100644 packages/hyperverse-evm-tribes/CHANGELOG.md create mode 100644 packages/hyperverse-evm-tribes/README.md create mode 100644 packages/hyperverse-evm-tribes/contracts/Tribes.sol create mode 100644 packages/hyperverse-evm-tribes/contracts/hyperverse/CloneFactory.sol create mode 100644 packages/hyperverse-evm-tribes/contracts/hyperverse/IHyperverseModule.sol create mode 100644 packages/hyperverse-evm-tribes/hardhat.config.js create mode 100644 packages/hyperverse-evm-tribes/index.ts create mode 100644 packages/hyperverse-evm-tribes/package.json create mode 100644 packages/hyperverse-evm-tribes/scripts/deploy.js create mode 100644 packages/hyperverse-evm-tribes/source/Provider.tsx create mode 100644 packages/hyperverse-evm-tribes/source/environment.ts create mode 100644 packages/hyperverse-evm-tribes/source/index.ts create mode 100644 packages/hyperverse-evm-tribes/source/useTribes.ts create mode 100644 packages/hyperverse-evm-tribes/test/tribes-test.js create mode 100644 packages/hyperverse-evm-tribes/tsconfig.json create mode 100644 packages/hyperverse-evm-tribes/utils/Tribes.json diff --git a/packages/hyperverse-evm-tribes/.gitignore b/packages/hyperverse-evm-tribes/.gitignore new file mode 100644 index 00000000..71e12656 --- /dev/null +++ b/packages/hyperverse-evm-tribes/.gitignore @@ -0,0 +1,10 @@ +node_modules +.env +coverage +coverage.json +typechain + +#Hardhat files +cache +artifacts +distribution \ No newline at end of file diff --git a/packages/hyperverse-evm-tribes/CHANGELOG.md b/packages/hyperverse-evm-tribes/CHANGELOG.md new file mode 100644 index 00000000..69ab8f48 --- /dev/null +++ b/packages/hyperverse-evm-tribes/CHANGELOG.md @@ -0,0 +1,82 @@ +# @decentology/hyperverse-ethereum-tribes + +## 1.0.9 + +### Patch Changes + +- Milestone update. Added token and er721 modules +- Updated dependencies + - @decentology/unstated-next@1.1.1 + - @decentology/hyperverse@1.0.9 + - @decentology/hyperverse-ethereum@1.0.9 + - @decentology/hyperverse-storage-skynet@1.0.8 + +## 1.0.8 + +### Patch Changes + +- 9df884a: Updated package deps versions for semver +- Milestone update. Added support for multi chain swapping +- Updated dependencies [9df884a] +- Updated dependencies + - @decentology/hyperverse@1.0.8 + - @decentology/hyperverse-ethereum@1.0.8 + - @decentology/hyperverse-storage-skynet@1.0.7 + +## 1.0.7 + +### Patch Changes + +- SSL error with SiaSky.net vs FilePortal.org +- Updated dependencies + - @decentology/hyperverse@1.0.7 + - @decentology/hyperverse-ethereum@1.0.7 + - @decentology/hyperverse-storage-skynet@1.0.6 + +## 1.0.6 + +### Patch Changes + +- Updated dependencies + - @decentology/hyperverse@1.0.6 + - @decentology/hyperverse-ethereum@1.0.6 + +## 1.0.5 + +### Patch Changes + +- 8183269: Bug fixes for login/logout workflow +- Updated dependencies [38bce19] +- Updated dependencies [8183269] + - @decentology/hyperverse-ethereum@1.0.5 + - @decentology/hyperverse@1.0.5 + - @decentology/hyperverse-storage-skynet@1.0.5 + +## 1.0.4 + +### Patch Changes + +- Handle metamask workflow and stablizing platform +- Updated dependencies + - @decentology/hyperverse@1.0.4 + - @decentology/hyperverse-ethereum@1.0.4 + - @decentology/hyperverse-storage-skynet@1.0.4 + +## 1.0.3 + +### Patch Changes + +- Version bump after changeset and build +- Updated dependencies + - @decentology/hyperverse@1.0.3 + - @decentology/hyperverse-ethereum@1.0.3 + - @decentology/hyperverse-storage-skynet@1.0.3 + +## 1.0.2 + +### Patch Changes + +- Milestone change of state management +- Updated dependencies + - @decentology/hyperverse@1.0.2 + - @decentology/hyperverse-ethereum@1.0.2 diff --git a/packages/hyperverse-evm-tribes/README.md b/packages/hyperverse-evm-tribes/README.md new file mode 100644 index 00000000..cb97640d --- /dev/null +++ b/packages/hyperverse-evm-tribes/README.md @@ -0,0 +1,15 @@ +# Basic Sample Hardhat Project + +This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, a sample script that deploys that contract, and an example of a task implementation, which simply lists the available accounts. + +Try running some of the following tasks: + +```shell +npx hardhat accounts +npx hardhat compile +npx hardhat clean +npx hardhat test +npx hardhat node +node scripts/sample-script.js +npx hardhat help +``` diff --git a/packages/hyperverse-evm-tribes/contracts/Tribes.sol b/packages/hyperverse-evm-tribes/contracts/Tribes.sol new file mode 100644 index 00000000..d068b423 --- /dev/null +++ b/packages/hyperverse-evm-tribes/contracts/Tribes.sol @@ -0,0 +1,119 @@ +//SPDX-License-Identifier: Unlicense +pragma solidity ^0.8.0; + +import "./hyperverse/IHyperverseModule.sol"; +import "@openzeppelin/contracts/utils/Counters.sol"; + +contract Tribes is IHyperverseModule { + using Counters for Counters.Counter; + + address public owner; + Counters.Counter public tenantCount; + + struct Tenant { + mapping(uint256 => TribeData) tribes; + mapping(address => uint256) participants; + Counters.Counter tribeIds; + } + + struct TribeData { + string metadata; + mapping(address => bool) members; + uint256 numOfMembers; + uint256 tribeId; + } + + mapping(address => Tenant) public tenants; + mapping(address => bool) public instance; + + modifier hasAnInstance(address tenant) { + require(instance[tenant], "Tenant does not have an instance"); + _; + } + + event NewTenantInstance(address tenant); + event JoinedTribe(uint256 tribeId, address newMember); + event LeftTribe(uint256 tribeId, address member); + event NewTribeCreated(string metadata); + + constructor() { + metadata = ModuleMetadata( + "Tribes", + Author(msg.sender, "https://externallink.net"), + "0.0.1", + 3479831479814, + "https://externalLink.net" + ); + owner = msg.sender; + } + + function createInstance() public virtual { + require(instance[msg.sender] == false, "You already have an instance"); + tenants[msg.sender]; + instance[msg.sender] = true; + tenantCount.increment(); + emit NewTenantInstance(msg.sender); + } + + function getState(address tenant) private view hasAnInstance(tenant) returns (Tenant storage) { + return tenants[tenant]; + } + + function addNewTribe(string memory metadata) public virtual hasAnInstance(msg.sender) { + Tenant storage state = getState(msg.sender); + + state.tribeIds.increment(); + uint256 newTribeId = state.tribeIds.current(); + + TribeData storage newTribe = state.tribes[newTribeId]; + newTribe.metadata = metadata; + newTribe.tribeId = newTribeId; + emit NewTribeCreated(metadata); + } + + function joinTribe(address tenant, uint256 tribeId) public virtual { + address user = msg.sender; + Tenant storage state = getState(tenant); + require(state.participants[user] == 0, "User is already in a Tribe!"); + require(state.tribeIds.current() >= tribeId, "Tribe does not exist"); + + state.participants[user] = tribeId; + TribeData storage tribeData = state.tribes[tribeId]; + tribeData.members[user] = true; + tribeData.numOfMembers += 1; + + emit JoinedTribe(tribeId, user); + } + + function leaveTribe(address tenant) public virtual { + Tenant storage state = getState(tenant); + require(state.participants[msg.sender] != 0, "This member is not in a Tribe!"); + + TribeData storage tribeData = state.tribes[state.participants[msg.sender]]; + uint256 tribeId = state.participants[msg.sender]; + state.participants[msg.sender] = 0; + tribeData.members[msg.sender] = false; + tribeData.numOfMembers -= 1; + + emit LeftTribe(tribeId, msg.sender); + } + + function getUserTribe(address tenant, address user) public view virtual returns (uint256) { + Tenant storage state = getState(tenant); + + require(state.participants[user] != 0, "This member is not in a Tribe!"); + + uint256 tribeId = state.participants[user]; + return tribeId; + } + + function getTribeData(address tenant, uint256 tribeId) public view virtual returns (string memory) { + Tenant storage state = getState(tenant); + TribeData storage tribeData = state.tribes[tribeId]; + return (tribeData.metadata); + } + + function totalTribes(address tenant) public view virtual returns (uint256) { + return getState(tenant).tribeIds.current(); + } +} diff --git a/packages/hyperverse-evm-tribes/contracts/hyperverse/CloneFactory.sol b/packages/hyperverse-evm-tribes/contracts/hyperverse/CloneFactory.sol new file mode 100644 index 00000000..7893fe82 --- /dev/null +++ b/packages/hyperverse-evm-tribes/contracts/hyperverse/CloneFactory.sol @@ -0,0 +1,52 @@ +//SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/* +The MIT License (MIT) +Copyright (c) 2018 Murray Software, LLC. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +//solhint-disable max-line-length +//solhint-disable no-inline-assembly + +contract CloneFactory { + function createClone(address target) internal returns (address result) { + bytes20 targetBytes = bytes20(target); + assembly { + let clone := mload(0x40) + mstore(clone, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000) + mstore(add(clone, 0x14), targetBytes) + mstore(add(clone, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) + result := create(0, clone, 0x37) + } + } + + function isClone(address target, address query) internal view returns (bool result) { + bytes20 targetBytes = bytes20(target); + assembly { + let clone := mload(0x40) + mstore(clone, 0x363d3d373d3d3d363d7300000000000000000000000000000000000000000000) + mstore(add(clone, 0xa), targetBytes) + mstore(add(clone, 0x1e), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) + + let other := add(clone, 0x40) + extcodecopy(query, other, 0, 0x2d) + result := and(eq(mload(clone), mload(other)), eq(mload(add(clone, 0xd)), mload(add(other, 0xd)))) + } + } +} diff --git a/packages/hyperverse-evm-tribes/contracts/hyperverse/IHyperverseModule.sol b/packages/hyperverse-evm-tribes/contracts/hyperverse/IHyperverseModule.sol new file mode 100644 index 00000000..c80ab4a0 --- /dev/null +++ b/packages/hyperverse-evm-tribes/contracts/hyperverse/IHyperverseModule.sol @@ -0,0 +1,34 @@ +/** + +## The Decentology Smart Module standard on Ethereum + +## `IHyperverseModule` interface + +In essense, this contract serves the equivalent of two purposes +in respect to Cadence: +1) Enforces the `metadata` variable (same as IHyperverseModule.cdc) +2) Defines what a ModuleMetadata is (sam as HyperverseModule.cdc) + +*/ + +// SPDX-License-Identifier: UNLICENSED + +pragma solidity ^0.8.0; + +abstract contract IHyperverseModule { + ModuleMetadata public metadata; + address private owner; + + struct ModuleMetadata { + bytes title; // <-- `pub var title: String` in Cadence + Author author; + bytes version; + uint64 publishedAt; + bytes externalLink; // <-- can't be "external" in Solidity because it's a keyword + } + + struct Author { + address authorAddress; // <-- can't be "address" in Solidity because it's a keyword + string externalLink; + } +} diff --git a/packages/hyperverse-evm-tribes/hardhat.config.js b/packages/hyperverse-evm-tribes/hardhat.config.js new file mode 100644 index 00000000..fca075a7 --- /dev/null +++ b/packages/hyperverse-evm-tribes/hardhat.config.js @@ -0,0 +1,37 @@ +require("@nomiclabs/hardhat-waffle"); + +// This is a sample Hardhat task. To learn how to create your own go to +// https://hardhat.org/guides/create-task.html +task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { + const accounts = await hre.ethers.getSigners(); + + for (const account of accounts) { + console.log(account.address); + } +}); + +// You need to export an object to set up your config +// Go to https://hardhat.org/config/ to learn more + +/** + * @type import('hardhat/config').HardhatUserConfig + */ +module.exports = { + solidity: "0.8.4", + networks: { + rinkeby: { + url: `https://rinkeby.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_API_KEY}`, + accounts: [process.env.NEXT_PRIVATE_KEY], + }, + metis: { + url: "https://stardust.metis.io/?owner=588", + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + avalanche: { + url: "", + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + }, +}; diff --git a/packages/hyperverse-evm-tribes/index.ts b/packages/hyperverse-evm-tribes/index.ts new file mode 100644 index 00000000..6ffed2ee --- /dev/null +++ b/packages/hyperverse-evm-tribes/index.ts @@ -0,0 +1 @@ +export * from './source'; diff --git a/packages/hyperverse-evm-tribes/package.json b/packages/hyperverse-evm-tribes/package.json new file mode 100644 index 00000000..283856f9 --- /dev/null +++ b/packages/hyperverse-evm-tribes/package.json @@ -0,0 +1,44 @@ +{ + "name": "@decentology/hyperverse-evm-tribes", + "version": "1.0.9", + "source": "./source/index.ts", + "types": "./distribution/index.d.ts", + "main": "./distribution/index.js", + "license": "MIT", + "scripts": { + "test": "hardhat test", + "build": "parcel build", + "clean": "rimraf ./distribution" + }, + "publishConfig": { + "access": "public" + }, + "peerDependencies": { + "react": "^17.0.2" + }, + "files": [ + "distribution", + "utils" + ], + "dependencies": { + "@decentology/hyperverse": "^1.0.9", + "@decentology/hyperverse-evm": "^1.0.9", + "@decentology/hyperverse-storage-skynet": "^1.0.8", + "@openzeppelin/contracts": "^4.4.2", + "ethers": "^5.5.3", + "react-query": "^3.34.7", + "react-use": "^17.3.2", + "skynet-js": "^4.0.23-beta", + "@decentology/unstated-next": "^1.1.1" + }, + "devDependencies": { + "@decentology/config": "^1.0.0", + "@nomiclabs/hardhat-ethers": "^2.0.4", + "@nomiclabs/hardhat-waffle": "^2.0.2", + "chai": "^4.3.4", + "ethereum-waffle": "^3.4.0", + "hardhat": "^2.8.3", + "parcel": "^2.2.1", + "rimraf": "^3.0.2" + } +} diff --git a/packages/hyperverse-evm-tribes/scripts/deploy.js b/packages/hyperverse-evm-tribes/scripts/deploy.js new file mode 100644 index 00000000..03a9427b --- /dev/null +++ b/packages/hyperverse-evm-tribes/scripts/deploy.js @@ -0,0 +1,19 @@ +const hre = require('hardhat'); +const main = async () => { + const tribesContractFactory = await hre.ethers.getContractFactory('Tribes'); + const baseTribesContract = await tribesContractFactory.deploy(); + await baseTribesContract.deployed(); + console.log('Tribes Contract deployed to: ', baseTribesContract.address); +}; + +const runMain = async () => { + try { + await main(); + process.exit(0); + } catch (error) { + console.error(error); + process.exit(1); + } +}; + +runMain(); \ No newline at end of file diff --git a/packages/hyperverse-evm-tribes/source/Provider.tsx b/packages/hyperverse-evm-tribes/source/Provider.tsx new file mode 100644 index 00000000..02b8cbf3 --- /dev/null +++ b/packages/hyperverse-evm-tribes/source/Provider.tsx @@ -0,0 +1,27 @@ +import { createContext, FC } from 'react'; +import { useEthereum } from '@decentology/hyperverse-ethereum'; +import { QueryClientProvider, QueryClient } from 'react-query'; +import ABI from '../utils/Tribes.json'; +import { HyperverseModuleInstance, networks, useHyperverse } from '@decentology/hyperverse'; +import { Tribes } from './useTribes'; +const client = new QueryClient(); + +export const ContractABI = ABI.abi; +export const CONTRACT_TESTNET_ADDRESS = '0xf8CEc073d08e42cdDC1bF1fd8d44ce3252ab7352'; +export const TENANT_TESTNET_ADDRESS = '0xD847C7408c48b6b6720CCa75eB30a93acbF5163D'; + +const Provider: FC = ({ children, tenantId }) => { + const { network } = useHyperverse(); + if (network === networks.Mainnet && tenantId == null) { + throw new Error('Tenant ID is required for Mainnet'); + } + return ( + + + {children} + + + ); +}; + +export { Provider }; diff --git a/packages/hyperverse-evm-tribes/source/environment.ts b/packages/hyperverse-evm-tribes/source/environment.ts new file mode 100644 index 00000000..60831e25 --- /dev/null +++ b/packages/hyperverse-evm-tribes/source/environment.ts @@ -0,0 +1,41 @@ +import { networks, useHyperverse, blockchains, } from '@decentology/hyperverse'; + +const environment = { + [blockchains.Ethereum]: { + [networks.Mainnet]: { + contractAddress: null, + }, + [networks.Testnet]: { + contractAddress: '0xf8CEc073d08e42cdDC1bF1fd8d44ce3252ab7352', + tenantAddress: '0xD847C7408c48b6b6720CCa75eB30a93acbF5163D' + }, + }, + [blockchains.Metis]: { + [networks.Mainnet]: { + contractAddress: null, + }, + [networks.Testnet]: { + contractAddress: 'x07F3062D51C9A6CA568C8135656054FA88D5b646', + tenantAdress: '0x8f8B8BE836fbe857c65E892dBb261F249f9b0adb' + }, + }, + [blockchains.Avalanche]: { + [networks.Mainnet]: { + contractAddress: null, + }, + [networks.Testnet]: { + contractAddress: '' + } + } +} + +function useEnvironment() { + const { blockchain, network } = useHyperverse(); + if (blockchain == null) { + throw new Error('Blockchain is not set'); + } + // @ts-ignore -- TODO: Properly type this index lookup + return environment[blockchain.name][network]; +} + +export { environment, useEnvironment }; diff --git a/packages/hyperverse-evm-tribes/source/index.ts b/packages/hyperverse-evm-tribes/source/index.ts new file mode 100644 index 00000000..c87bde61 --- /dev/null +++ b/packages/hyperverse-evm-tribes/source/index.ts @@ -0,0 +1,2 @@ +export { useTribes } from './useTribes'; +export { Provider } from './Provider'; diff --git a/packages/hyperverse-evm-tribes/source/useTribes.ts b/packages/hyperverse-evm-tribes/source/useTribes.ts new file mode 100644 index 00000000..5be1ab68 --- /dev/null +++ b/packages/hyperverse-evm-tribes/source/useTribes.ts @@ -0,0 +1,269 @@ +import { useState, useEffect, useCallback } from 'react'; +import { useQuery, useMutation, useQueryClient, UseMutationOptions } from 'react-query'; +import { ethers } from 'ethers'; +import { ContractABI, CONTRACT_TESTNET_ADDRESS } from './Provider'; +import { useEvent } from 'react-use'; +import { useStorage } from '@decentology/hyperverse-storage-skynet'; +import { createContainer, useContainer } from '@decentology/unstated-next'; +import { useEvm } from '@decentology/hyperverse-evm'; + +type ContractState = ethers.Contract; + +type MetaData = { + name: string; + description: string; + image: string; +}; + +function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { + const { tenantId } = initialState; + const queryClient = useQueryClient(); + const { address, web3Provider, provider, connect } = useEvm(); + const { clientUrl } = useStorage(); + const [contract, setTribesContract] = useState( + new ethers.Contract(CONTRACT_TESTNET_ADDRESS, ContractABI, provider) as ContractState + ); + const { uploadFile } = useStorage(); + const setup = useCallback(async () => { + const signer = await web3Provider?.getSigner(); + if (signer && contract) { + const ctr = contract.connect(signer) as ContractState; + setTribesContract(ctr); + } + }, [web3Provider]); + + const formatTribeResultFromTribeId = useCallback( + async (tribeId: number) => { + const txn = await contract.getTribeData(tenantId, tribeId); + const link = txn.replace('sia:', ''); + const json = JSON.parse( + // eslint-disable-next-line no-await-in-loop + await (await fetch(`${clientUrl}/${link}`)).text() + ); + + json.id = tribeId; + json.imageUrl = `${clientUrl}/${json.image.replace('sia:', '')}`; + return json; + }, + [contract] + ); + + const errors = (err: any) => { + if (!contract?.signer) { + throw new Error('Please connect your wallet!'); + } + + if (err.code === 4001) { + throw new Error('You rejected the transaction!'); + } + + if (err.message.includes('User is already in a Tribe!')) { + throw new Error('You are already in a tribe!'); + } + + throw err; + // throw new Error("Something went wrong!"); + }; + + useEffect(() => { + if (web3Provider) { + setup(); + } + }, [web3Provider]); + + const checkInstance = useCallback( + async (account: any) => { + try { + const instance = await contract.instance(account); + return instance; + } catch (err) { + return false; + } + }, + [contract] + ); + + const createInstance = useCallback(async () => { + try { + const createTxn = await contract.createInstance(); + return createTxn.wait(); + } catch (err) { + errors(err); + throw err; + } + }, [contract]); + + const getTotalTenants = useCallback(async () => { + try { + const tenantCount = await contract.tenantCount(); + + return tenantCount.toNumber(); + } catch (err) { + throw err; + } + }, [contract]); + + const addTribe = useCallback( + async (metadata: Omit, image: File) => { + try { + // TODO: Add progress indicator notices for steps + // 1. Upload file notification + // 2. Upload metadata information + // 3. Success notification + + const { skylink: imageLink } = await uploadFile(image); + const fullMetaData: MetaData = { + ...metadata, + image: imageLink.replace('sia:', ''), + }; + const metadataFile = new File([JSON.stringify(fullMetaData)], 'metadata.json'); + const { skylink: metadataFileLink } = await uploadFile(metadataFile); + + const addTxn = await contract.addNewTribe(metadataFileLink.replace('sia:', '')); + return addTxn.wait(); + } catch (err) { + errors(err); + throw err; + } + }, + [contract] + ); + + const getTribeId = useCallback( + async (account) => { + try { + const id = await contract.getUserTribe(tenantId, account); + return id.toNumber(); + } catch (err) { + if (err instanceof Error) { + if (err.message.includes('This member is not in a Tribe!')) { + return null; + } + } + errors(err); + } + }, + [contract] + ); + + const getTribe = useCallback( + async (id) => { + try { + const userTribeTxn = await contract.getTribeData(tenantId, id); + // return userTribeTxn; + return formatTribeResultFromTribeId(id); + } catch (err) { + errors(err); + } + }, + [contract] + ); + + const leaveTribe = useCallback(async () => { + try { + const leaveTxn = await contract.leaveTribe(tenantId); + await leaveTxn.wait(); + return leaveTxn.hash; + } catch (err) { + errors(err); + } + }, [contract]); + + const getAllTribes = useCallback(async () => { + try { + const tribesData = await contract.totalTribes(tenantId); + const tribes = []; + for (let tribeId = 1; tribeId <= tribesData.toNumber(); ++tribeId) { + const json = await formatTribeResultFromTribeId(tribeId); + tribes.push(json); + } + + return tribes; + } catch (err) { + errors(err); + } + }, [contract]); + + const joinTribe = useCallback( + async (id) => { + try { + const joinTxn = await contract.joinTribe(tenantId, id); + return joinTxn.wait(); + } catch (err) { + errors(err); + } + }, + [contract] + ); + + const useTribeEvents = (eventName: string, callback: any) => { + return useEvent(eventName, useCallback(callback, [contract]), contract); + }; + + return { + tenantId, + contract, + useTribeEvents, + CheckInstance: () => + useQuery(['checkInstance', address, contract?.address], () => checkInstance(address), { + enabled: !!address && !!contract?.address, + }), + NewInstance: ( + options?: Omit, 'mutationFn'> + ) => useMutation(createInstance, options), + TotalTenants: () => + useQuery(['totalTenants', contract?.address], () => getTotalTenants(), { + enabled: !!contract?.address, + }), + AddTribe: ( + options?: Omit< + UseMutationOptions< + unknown, + unknown, + { metadata: Omit; image: File }, + unknown + >, + 'mutationFn' + > + ) => useMutation((payload) => addTribe(payload.metadata, payload.image), options), + Tribes: () => + useQuery(['tribes', contract?.address], () => getAllTribes(), { + enabled: !!contract?.address, + }), + Join: ( + options?: Omit, 'mutationFn'> + ) => useMutation((id) => joinTribe(id), options), + Leave: ( + options?: Omit, 'mutationFn'> + ) => + useMutation(() => leaveTribe(), { + ...options, + onSuccess: (...args) => { + queryClient.clear(); + const fn = options?.onSuccess; + if (fn) fn(...args); + }, + }), + TribeId: () => + useQuery(['getTribeId', address, contract?.address], () => getTribeId(address), { + enabled: !!address && !!contract?.address, + retry: false, + }), + Tribe: () => { + const { data: tribeId } = useQuery( + ['getTribeId', address, contract?.address], + () => getTribeId(address), + { enabled: !!address && !!contract?.address } + ); + return useQuery(['getTribeData', tribeId], () => getTribe(tribeId), { + enabled: !!tribeId, + }); + }, + }; +} + +export const Tribes = createContainer(TribesState); + +export function useTribes() { + return useContainer(Tribes); +} diff --git a/packages/hyperverse-evm-tribes/test/tribes-test.js b/packages/hyperverse-evm-tribes/test/tribes-test.js new file mode 100644 index 00000000..a3698fef --- /dev/null +++ b/packages/hyperverse-evm-tribes/test/tribes-test.js @@ -0,0 +1,130 @@ +const { ethers } = require('hardhat'); +const { expect } = require('chai'); +const crypto = require('crypto'); + +describe('Tribes', async () => { + let Tribes; + let tribesContract; + let alice; + let bob; + let cara; + + beforeEach(async () => { + Tribes = await ethers.getContractFactory('Tribes'); + [alice, bob, cara] = await ethers.getSigners(); + + tribesContract = await Tribes.deploy(); + await tribesContract.deployed(); + }); + + describe('Initial', async () => { + it('Checking owner', async () => { + expect(await tribesContract.owner()).to.equal(alice.address); + }); + }); + + describe('No Instance', async () => { + it('Tenant mapping should be empty', async () => { + expect(await tribesContract.tenantCount()).to.equal(0); + }); + + it('Add a Tribe without instance should error', async () => { + await expect(tribesContract.connect(bob).addNewTribe('metadata')).to.be.revertedWith( + 'Tenant does not have an instance', + ); + }); + + it('Joining tribe with uninstantiated Tenant should error', async () => { + await expect(tribesContract.joinTribe(bob.address, 1)).to.be.revertedWith('Tenant does not have an instance'); + }); + + it('Leaving tribe with uninstantiated Tenant should error', async () => { + await expect(tribesContract.leaveTribe(bob.address)).to.be.revertedWith('Tenant does not have an instance'); + }); + + it('Getting user tribe with uninstantiated Tenant should error', async () => { + await expect(tribesContract.getUserTribe(bob.address, cara.address)).to.be.revertedWith( + 'Tenant does not have an instance', + ); + }); + + it('Getting tribe data with uninstantiated Tenant should error', async () => { + await expect(tribesContract.getTribeData(bob.address, 1)).to.be.revertedWith('Tenant does not have an instance'); + }); + + it('Getting total tribes with uninstantiated Tenant should error', async () => { + await expect(tribesContract.totalTribes(bob.address)).to.be.revertedWith('Tenant does not have an instance'); + }); + }); + + describe('With an instance', async () => { + beforeEach(async () => { + await tribesContract.connect(cara).createInstance(); + await tribesContract.connect(alice).createInstance(); + await tribesContract.connect(bob).createInstance(); + await tribesContract.connect(cara).addNewTribe('metadata'); + + }); + + it('Should return a Tenant Total of 3', async () => { + expect(await tribesContract.tenantCount()).to.equal(3); + }); + + it('Should error on creating another instance using Cara', async () => { + await expect(tribesContract.connect(cara).createInstance()).to.be.revertedWith('You already have an instance'); + }); + + it('Should return 1 for totalTribes', async () => { + expect(await tribesContract.totalTribes(cara.address)).to.equal(1); + }); + + it('Should allow cara to add another tribe 1', async () => { + await expect(tribesContract.connect(cara).addNewTribe('metadata')) + .to.emit(tribesContract, 'NewTribeCreated') + .withArgs('metadata'); + }); + + it('Should allow cara to get Tribe data', async () => { + expect(await tribesContract.getTribeData(cara.address, 1)).to.equal('metadata'); + }); + }); + + describe('Within instance user functionality', async () => { + beforeEach(async () => { + await tribesContract.connect(cara).createInstance(); + await tribesContract.connect(cara).addNewTribe('tribe1'); + await tribesContract.connect(cara).addNewTribe('tribe2'); + }); + + it('Should allow bob to join a tribe', async () => { + await expect(tribesContract.connect(bob).joinTribe(cara.address, 1)) + .to.emit(tribesContract, 'JoinedTribe') + .withArgs(1, bob.address); + }); + + it('Should error when bob joins another tribe', async () => { + await tribesContract.connect(bob).joinTribe(cara.address, 1); + + await expect(tribesContract.connect(bob).joinTribe(cara.address, 2)).to.be.revertedWith( + 'User is already in a Tribe!', + ); + }); + + it("Should return bob's tribeID which is 1", async () => { + await tribesContract.connect(bob).joinTribe(cara.address, 1); + + expect(await tribesContract.getUserTribe(cara.address, bob.address)).to.equal(1); + }); + + it('Should return tribe data of tribe1', async () => { + expect(await tribesContract.getTribeData(cara.address, 1)).to.equal('tribe1'); + }); + + it('Should allow bob to leaveTribe', async () => { + await tribesContract.connect(bob).joinTribe(cara.address, 1); + await expect(tribesContract.connect(bob).leaveTribe(cara.address)) + .to.emit(tribesContract, 'LeftTribe') + .withArgs(1, bob.address); + }); + }); +}); diff --git a/packages/hyperverse-evm-tribes/tsconfig.json b/packages/hyperverse-evm-tribes/tsconfig.json new file mode 100644 index 00000000..c8791f5f --- /dev/null +++ b/packages/hyperverse-evm-tribes/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@decentology/config/react-library.json", + "include": ["source/**/*.ts", "source/**/*.tsx", "**/*.json"], + "exclude": ["distribution", "node_modules"], + "compilerOptions": { + "resolveJsonModule": true + } +} diff --git a/packages/hyperverse-evm-tribes/utils/Tribes.json b/packages/hyperverse-evm-tribes/utils/Tribes.json new file mode 100644 index 00000000..a2c2dd4b --- /dev/null +++ b/packages/hyperverse-evm-tribes/utils/Tribes.json @@ -0,0 +1,314 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Tribes", + "sourceName": "contracts/Tribes.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "tribeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "newMember", + "type": "address" + } + ], + "name": "JoinedTribe", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "tribeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "member", + "type": "address" + } + ], + "name": "LeftTribe", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "tenant", + "type": "address" + } + ], + "name": "NewTenantInstance", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "metadata", + "type": "string" + } + ], + "name": "NewTribeCreated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "metadata", + "type": "string" + } + ], + "name": "addNewTribe", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "createInstance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tenant", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tribeId", + "type": "uint256" + } + ], + "name": "getTribeData", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tenant", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getUserTribe", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "instance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tenant", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tribeId", + "type": "uint256" + } + ], + "name": "joinTribe", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tenant", + "type": "address" + } + ], + "name": "leaveTribe", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "metadata", + "outputs": [ + { + "internalType": "bytes", + "name": "title", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "authorAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "externalLink", + "type": "string" + } + ], + "internalType": "struct IHyperverseModule.Author", + "name": "author", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "version", + "type": "bytes" + }, + { + "internalType": "uint64", + "name": "publishedAt", + "type": "uint64" + }, + { + "internalType": "bytes", + "name": "externalLink", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tenantCount", + "outputs": [ + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "tenants", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "internalType": "struct Counters.Counter", + "name": "tribeIds", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tenant", + "type": "address" + } + ], + "name": "totalTribes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b506040518060a001604052806040518060400160405280600681526020017f5472696265730000000000000000000000000000000000000000000000000000815250815260200160405180604001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016040518060400160405280601881526020017f68747470733a2f2f65787465726e616c6c696e6b2e6e6574000000000000000081525081525081526020016040518060400160405280600581526020017f302e302e31000000000000000000000000000000000000000000000000000000815250815260200165032a361e860667ffffffffffffffff1681526020016040518060400160405280601881526020017f68747470733a2f2f65787465726e616c4c696e6b2e6e65740000000000000000815250815250600080820151816000019080519060200190620001669291906200028f565b5060208201518160010160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019080519060200190620001d592919062000320565b5050506040820151816003019080519060200190620001f69291906200028f565b5060608201518160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506080820151816005019080519060200190620002449291906200028f565b5090505033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000435565b8280546200029d90620003d0565b90600052602060002090601f016020900481019282620002c157600085556200030d565b82601f10620002dc57805160ff19168380011785556200030d565b828001600101855582156200030d579182015b828111156200030c578251825591602001919060010190620002ef565b5b5090506200031c9190620003b1565b5090565b8280546200032e90620003d0565b90600052602060002090601f0160209004810192826200035257600085556200039e565b82601f106200036d57805160ff19168380011785556200039e565b828001600101855582156200039e579182015b828111156200039d57825182559160200191906001019062000380565b5b509050620003ad9190620003b1565b5090565b5b80821115620003cc576000816000905550600101620003b2565b5090565b60006002820490506001821680620003e957607f821691505b602082108114156200040057620003ff62000406565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61190c80620004456000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461017d578063aae9f2591461019b578063ad501467146101cb578063be51f4f8146101d5578063cf33d58814610205578063fd9153a314610235576100b4565b80631307430a146100b957806316d24710146100d75780633269c74e146100f357806333d03bcc1461010f578063392f37e91461013f5780636d019c9214610161575b600080fd5b6100c1610265565b6040516100ce91906114cf565b60405180910390f35b6100f160048036038101906100ec91906110c3565b610271565b005b61010d6004803603810190610108919061105e565b61046a565b005b6101296004803603810190610124919061105e565b610698565b60405161013691906114cf565b60405180910390f35b6101476106b5565b604051610158959493929190611383565b60405180910390f35b61017b600480360381019061017691906110ff565b610977565b005b610185610aa6565b604051610192919061134d565b60405180910390f35b6101b560048036038101906101b09190611087565b610acc565b6040516101c291906114cf565b60405180910390f35b6101d3610bb0565b005b6101ef60048036038101906101ea91906110c3565b610d1e565b6040516101fc91906113f2565b60405180910390f35b61021f600480360381019061021a919061105e565b610ddd565b60405161022c9190611368565b60405180910390f35b61024f600480360381019061024a919061105e565b610dfd565b60405161025c91906114b4565b60405180910390f35b60088060000154905081565b6000339050600061028184610e2f565b905060008160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fe90611474565b60405180910390fd5b8261031482600201610f05565b1015610355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034c90611494565b60405180910390fd5b828160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000816000016000858152602001908152602001600020905060018160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600181600201600082825461042391906115b2565b925050819055507f8e0fdde8512c413931ab05e9ae74b54525259ce920b11c355705e510829841db848460405161045b9291906114ea565b60405180910390a15050505050565b600061047582610e2f565b905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156104fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f390611414565b60405180910390fd5b60008160000160008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020905060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018260020160008282546106529190611608565b925050819055507fbeae83c5a8a13a5d2a71926ba1055d7a1d9de899e96f7244654799627236644d813360405161068a9291906114ea565b60405180910390a150505050565b60006106ae6106a683610e2f565b600201610f05565b9050919050565b60008060000180546106c6906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546106f2906116da565b801561073f5780601f106107145761010080835404028352916020019161073f565b820191906000526020600020905b81548152906001019060200180831161072257829003601f168201915b505050505090806001016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180546107ba906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546107e6906116da565b80156108335780601f1061080857610100808354040283529160200191610833565b820191906000526020600020905b81548152906001019060200180831161081657829003601f168201915b5050505050815250509080600301805461084c906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610878906116da565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050908060040160009054906101000a900467ffffffffffffffff16908060050180546108f4906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610920906116da565b801561096d5780601f106109425761010080835404028352916020019161096d565b820191906000526020600020905b81548152906001019060200180831161095057829003601f168201915b5050505050905085565b33600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb90611434565b60405180910390fd5b6000610a0f33610e2f565b9050610a1d81600201610f13565b6000610a2b82600201610f05565b90506000826000016000838152602001908152602001600020905084816000019080519060200190610a5e929190610f29565b508181600301819055507f2d06fe5eff482a0b08e70bd38f111a1a397e6952391bdc714df3eacb735b354c85604051610a9791906113f2565b60405180910390a15050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610ad884610e2f565b905060008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5690611414565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050809250505092915050565b60001515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90611454565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610ce56008610f13565b7fa7c4d74046e6121f6c1f91b52d5af6460c49a30ba0cb5920a2dd4434af77933a33604051610d14919061134d565b60405180910390a1565b60606000610d2b84610e2f565b905060008160000160008581526020019081526020016000209050806000018054610d55906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610d81906116da565b8015610dce5780601f10610da357610100808354040283529160200191610dce565b820191906000526020600020905b815481529060010190602001808311610db157829003601f168201915b50505050509250505092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600960205280600052604060002060009150905080600201604051806020016040529081600082015481525050905081565b600081600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590611434565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915050919050565b600081600001549050919050565b6001816000016000828254019250508190555050565b828054610f35906116da565b90600052602060002090601f016020900481019282610f575760008555610f9e565b82601f10610f7057805160ff1916838001178555610f9e565b82800160010185558215610f9e579182015b82811115610f9d578251825591602001919060010190610f82565b5b509050610fab9190610faf565b5090565b5b80821115610fc8576000816000905550600101610fb0565b5090565b6000610fdf610fda84611538565b611513565b905082815260208101848484011115610ff757600080fd5b611002848285611698565b509392505050565b600081359050611019816118a8565b92915050565b600082601f83011261103057600080fd5b8135611040848260208601610fcc565b91505092915050565b600081359050611058816118bf565b92915050565b60006020828403121561107057600080fd5b600061107e8482850161100a565b91505092915050565b6000806040838503121561109a57600080fd5b60006110a88582860161100a565b92505060206110b98582860161100a565b9150509250929050565b600080604083850312156110d657600080fd5b60006110e48582860161100a565b92505060206110f585828601611049565b9150509250929050565b60006020828403121561111157600080fd5b600082013567ffffffffffffffff81111561112b57600080fd5b6111378482850161101f565b91505092915050565b6111498161163c565b82525050565b6111588161163c565b82525050565b6111678161164e565b82525050565b600061117882611569565b611182818561157f565b93506111928185602086016116a7565b61119b816117ca565b840191505092915050565b60006111b182611574565b6111bb8185611590565b93506111cb8185602086016116a7565b6111d4816117ca565b840191505092915050565b60006111ea82611574565b6111f481856115a1565b93506112048185602086016116a7565b61120d816117ca565b840191505092915050565b6000611225601e836115a1565b9150611230826117db565b602082019050919050565b60006112486020836115a1565b915061125382611804565b602082019050919050565b600061126b601c836115a1565b91506112768261182d565b602082019050919050565b600061128e601b836115a1565b915061129982611856565b602082019050919050565b60006112b16014836115a1565b91506112bc8261187f565b602082019050919050565b60006040830160008301516112df6000860182611140565b50602083015184820360208601526112f782826111a6565b9150508091505092915050565b60208201600082015161131a6000850182611320565b50505050565b6113298161167a565b82525050565b6113388161167a565b82525050565b61134781611684565b82525050565b6000602082019050611362600083018461114f565b92915050565b600060208201905061137d600083018461115e565b92915050565b600060a082019050818103600083015261139d818861116d565b905081810360208301526113b181876112c7565b905081810360408301526113c5818661116d565b90506113d4606083018561133e565b81810360808301526113e6818461116d565b90509695505050505050565b6000602082019050818103600083015261140c81846111df565b905092915050565b6000602082019050818103600083015261142d81611218565b9050919050565b6000602082019050818103600083015261144d8161123b565b9050919050565b6000602082019050818103600083015261146d8161125e565b9050919050565b6000602082019050818103600083015261148d81611281565b9050919050565b600060208201905081810360008301526114ad816112a4565b9050919050565b60006020820190506114c96000830184611304565b92915050565b60006020820190506114e4600083018461132f565b92915050565b60006040820190506114ff600083018561132f565b61150c602083018461114f565b9392505050565b600061151d61152e565b9050611529828261170c565b919050565b6000604051905090565b600067ffffffffffffffff8211156115535761155261179b565b5b61155c826117ca565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006115bd8261167a565b91506115c88361167a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115fd576115fc61173d565b5b828201905092915050565b60006116138261167a565b915061161e8361167a565b9250828210156116315761163061173d565b5b828203905092915050565b60006116478261165a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b838110156116c55780820151818401526020810190506116aa565b838111156116d4576000848401525b50505050565b600060028204905060018216806116f257607f821691505b602082108114156117065761170561176c565b5b50919050565b611715826117ca565b810181811067ffffffffffffffff821117156117345761173361179b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f54686973206d656d626572206973206e6f7420696e2061205472696265210000600082015250565b7f54656e616e7420646f6573206e6f74206861766520616e20696e7374616e6365600082015250565b7f596f7520616c7265616479206861766520616e20696e7374616e636500000000600082015250565b7f5573657220697320616c726561647920696e2061205472696265210000000000600082015250565b7f547269626520646f6573206e6f74206578697374000000000000000000000000600082015250565b6118b18161163c565b81146118bc57600080fd5b50565b6118c88161167a565b81146118d357600080fd5b5056fea2646970667358221220ebe031daa7895c6bbfbbc341e12d1c27c4ddaf19caf64e15506af591a7e70f1364736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461017d578063aae9f2591461019b578063ad501467146101cb578063be51f4f8146101d5578063cf33d58814610205578063fd9153a314610235576100b4565b80631307430a146100b957806316d24710146100d75780633269c74e146100f357806333d03bcc1461010f578063392f37e91461013f5780636d019c9214610161575b600080fd5b6100c1610265565b6040516100ce91906114cf565b60405180910390f35b6100f160048036038101906100ec91906110c3565b610271565b005b61010d6004803603810190610108919061105e565b61046a565b005b6101296004803603810190610124919061105e565b610698565b60405161013691906114cf565b60405180910390f35b6101476106b5565b604051610158959493929190611383565b60405180910390f35b61017b600480360381019061017691906110ff565b610977565b005b610185610aa6565b604051610192919061134d565b60405180910390f35b6101b560048036038101906101b09190611087565b610acc565b6040516101c291906114cf565b60405180910390f35b6101d3610bb0565b005b6101ef60048036038101906101ea91906110c3565b610d1e565b6040516101fc91906113f2565b60405180910390f35b61021f600480360381019061021a919061105e565b610ddd565b60405161022c9190611368565b60405180910390f35b61024f600480360381019061024a919061105e565b610dfd565b60405161025c91906114b4565b60405180910390f35b60088060000154905081565b6000339050600061028184610e2f565b905060008160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fe90611474565b60405180910390fd5b8261031482600201610f05565b1015610355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034c90611494565b60405180910390fd5b828160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000816000016000858152602001908152602001600020905060018160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600181600201600082825461042391906115b2565b925050819055507f8e0fdde8512c413931ab05e9ae74b54525259ce920b11c355705e510829841db848460405161045b9291906114ea565b60405180910390a15050505050565b600061047582610e2f565b905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156104fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f390611414565b60405180910390fd5b60008160000160008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020905060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018260020160008282546106529190611608565b925050819055507fbeae83c5a8a13a5d2a71926ba1055d7a1d9de899e96f7244654799627236644d813360405161068a9291906114ea565b60405180910390a150505050565b60006106ae6106a683610e2f565b600201610f05565b9050919050565b60008060000180546106c6906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546106f2906116da565b801561073f5780601f106107145761010080835404028352916020019161073f565b820191906000526020600020905b81548152906001019060200180831161072257829003601f168201915b505050505090806001016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180546107ba906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546107e6906116da565b80156108335780601f1061080857610100808354040283529160200191610833565b820191906000526020600020905b81548152906001019060200180831161081657829003601f168201915b5050505050815250509080600301805461084c906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610878906116da565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050908060040160009054906101000a900467ffffffffffffffff16908060050180546108f4906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610920906116da565b801561096d5780601f106109425761010080835404028352916020019161096d565b820191906000526020600020905b81548152906001019060200180831161095057829003601f168201915b5050505050905085565b33600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb90611434565b60405180910390fd5b6000610a0f33610e2f565b9050610a1d81600201610f13565b6000610a2b82600201610f05565b90506000826000016000838152602001908152602001600020905084816000019080519060200190610a5e929190610f29565b508181600301819055507f2d06fe5eff482a0b08e70bd38f111a1a397e6952391bdc714df3eacb735b354c85604051610a9791906113f2565b60405180910390a15050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610ad884610e2f565b905060008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5690611414565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050809250505092915050565b60001515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90611454565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610ce56008610f13565b7fa7c4d74046e6121f6c1f91b52d5af6460c49a30ba0cb5920a2dd4434af77933a33604051610d14919061134d565b60405180910390a1565b60606000610d2b84610e2f565b905060008160000160008581526020019081526020016000209050806000018054610d55906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610d81906116da565b8015610dce5780601f10610da357610100808354040283529160200191610dce565b820191906000526020600020905b815481529060010190602001808311610db157829003601f168201915b50505050509250505092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600960205280600052604060002060009150905080600201604051806020016040529081600082015481525050905081565b600081600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590611434565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915050919050565b600081600001549050919050565b6001816000016000828254019250508190555050565b828054610f35906116da565b90600052602060002090601f016020900481019282610f575760008555610f9e565b82601f10610f7057805160ff1916838001178555610f9e565b82800160010185558215610f9e579182015b82811115610f9d578251825591602001919060010190610f82565b5b509050610fab9190610faf565b5090565b5b80821115610fc8576000816000905550600101610fb0565b5090565b6000610fdf610fda84611538565b611513565b905082815260208101848484011115610ff757600080fd5b611002848285611698565b509392505050565b600081359050611019816118a8565b92915050565b600082601f83011261103057600080fd5b8135611040848260208601610fcc565b91505092915050565b600081359050611058816118bf565b92915050565b60006020828403121561107057600080fd5b600061107e8482850161100a565b91505092915050565b6000806040838503121561109a57600080fd5b60006110a88582860161100a565b92505060206110b98582860161100a565b9150509250929050565b600080604083850312156110d657600080fd5b60006110e48582860161100a565b92505060206110f585828601611049565b9150509250929050565b60006020828403121561111157600080fd5b600082013567ffffffffffffffff81111561112b57600080fd5b6111378482850161101f565b91505092915050565b6111498161163c565b82525050565b6111588161163c565b82525050565b6111678161164e565b82525050565b600061117882611569565b611182818561157f565b93506111928185602086016116a7565b61119b816117ca565b840191505092915050565b60006111b182611574565b6111bb8185611590565b93506111cb8185602086016116a7565b6111d4816117ca565b840191505092915050565b60006111ea82611574565b6111f481856115a1565b93506112048185602086016116a7565b61120d816117ca565b840191505092915050565b6000611225601e836115a1565b9150611230826117db565b602082019050919050565b60006112486020836115a1565b915061125382611804565b602082019050919050565b600061126b601c836115a1565b91506112768261182d565b602082019050919050565b600061128e601b836115a1565b915061129982611856565b602082019050919050565b60006112b16014836115a1565b91506112bc8261187f565b602082019050919050565b60006040830160008301516112df6000860182611140565b50602083015184820360208601526112f782826111a6565b9150508091505092915050565b60208201600082015161131a6000850182611320565b50505050565b6113298161167a565b82525050565b6113388161167a565b82525050565b61134781611684565b82525050565b6000602082019050611362600083018461114f565b92915050565b600060208201905061137d600083018461115e565b92915050565b600060a082019050818103600083015261139d818861116d565b905081810360208301526113b181876112c7565b905081810360408301526113c5818661116d565b90506113d4606083018561133e565b81810360808301526113e6818461116d565b90509695505050505050565b6000602082019050818103600083015261140c81846111df565b905092915050565b6000602082019050818103600083015261142d81611218565b9050919050565b6000602082019050818103600083015261144d8161123b565b9050919050565b6000602082019050818103600083015261146d8161125e565b9050919050565b6000602082019050818103600083015261148d81611281565b9050919050565b600060208201905081810360008301526114ad816112a4565b9050919050565b60006020820190506114c96000830184611304565b92915050565b60006020820190506114e4600083018461132f565b92915050565b60006040820190506114ff600083018561132f565b61150c602083018461114f565b9392505050565b600061151d61152e565b9050611529828261170c565b919050565b6000604051905090565b600067ffffffffffffffff8211156115535761155261179b565b5b61155c826117ca565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006115bd8261167a565b91506115c88361167a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115fd576115fc61173d565b5b828201905092915050565b60006116138261167a565b915061161e8361167a565b9250828210156116315761163061173d565b5b828203905092915050565b60006116478261165a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b838110156116c55780820151818401526020810190506116aa565b838111156116d4576000848401525b50505050565b600060028204905060018216806116f257607f821691505b602082108114156117065761170561176c565b5b50919050565b611715826117ca565b810181811067ffffffffffffffff821117156117345761173361179b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f54686973206d656d626572206973206e6f7420696e2061205472696265210000600082015250565b7f54656e616e7420646f6573206e6f74206861766520616e20696e7374616e6365600082015250565b7f596f7520616c7265616479206861766520616e20696e7374616e636500000000600082015250565b7f5573657220697320616c726561647920696e2061205472696265210000000000600082015250565b7f547269626520646f6573206e6f74206578697374000000000000000000000000600082015250565b6118b18161163c565b81146118bc57600080fd5b50565b6118c88161167a565b81146118d357600080fd5b5056fea2646970667358221220ebe031daa7895c6bbfbbc341e12d1c27c4ddaf19caf64e15506af591a7e70f1364736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} From d4340099acb60ef2a6e71687090de5e891551b9c Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Tue, 1 Mar 2022 09:11:33 -0500 Subject: [PATCH 06/41] WIP --- packages/hyperverse-evm-tribes/source/environment.ts | 6 +++++- packages/hyperverse/source/constants/blockchains.ts | 12 ++++++++++++ packages/hyperverse/source/index.ts | 1 + 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/hyperverse-evm-tribes/source/environment.ts b/packages/hyperverse-evm-tribes/source/environment.ts index 60831e25..24f3b78f 100644 --- a/packages/hyperverse-evm-tribes/source/environment.ts +++ b/packages/hyperverse-evm-tribes/source/environment.ts @@ -1,4 +1,5 @@ import { networks, useHyperverse, blockchains, } from '@decentology/hyperverse'; +import Blockchain, { isEvm } from '@decentology/hyperverse/source/constants/blockchains'; const environment = { [blockchains.Ethereum]: { @@ -34,8 +35,11 @@ function useEnvironment() { if (blockchain == null) { throw new Error('Blockchain is not set'); } - // @ts-ignore -- TODO: Properly type this index lookup + if (!isEvm(blockchain?.name)) { + throw new Error("Blockchain is not EVM compatible") + } return environment[blockchain.name][network]; + } export { environment, useEnvironment }; diff --git a/packages/hyperverse/source/constants/blockchains.ts b/packages/hyperverse/source/constants/blockchains.ts index 466f4dcc..05caa7f2 100644 --- a/packages/hyperverse/source/constants/blockchains.ts +++ b/packages/hyperverse/source/constants/blockchains.ts @@ -6,6 +6,18 @@ enum Blockchain { Avalanche = 'avalanche', } +export type BlockchainEvm = Blockchain.Ethereum | Blockchain.Metis | Blockchain.Avalanche; + +export const EVM: Record = { + [Blockchain.Ethereum]: Blockchain.Ethereum, + [Blockchain.Avalanche]: Blockchain.Avalanche, + [Blockchain.Metis]: Blockchain.Metis +} + +export function isEvm(blockchain: Blockchain | Exclude): blockchain is Blockchain { + return !!EVM[blockchain as BlockchainEvm] +} + export default Blockchain; export const BlockchainList: string[] = Object.values(Blockchain).filter( (v) => typeof v === 'string' diff --git a/packages/hyperverse/source/index.ts b/packages/hyperverse/source/index.ts index dbf43c40..e0676dae 100644 --- a/packages/hyperverse/source/index.ts +++ b/packages/hyperverse/source/index.ts @@ -3,6 +3,7 @@ export { Provider, useHyperverse } from './Provider'; export { useDeviceDetect } from './components'; export { default as blockchains } from './constants/blockchains'; +export * from './constants/blockchains'; export { default as networks } from './constants/networks'; export { default as storage } from './constants/storage'; From 450c76a67d1a836b9fd1652748757bbe765cb6d3 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Tue, 1 Mar 2022 12:01:42 -0500 Subject: [PATCH 07/41] Removing specific module --- packages/hyperverse-metis-tribes/.gitignore | 10 - packages/hyperverse-metis-tribes/CHANGELOG.md | 95 ------ packages/hyperverse-metis-tribes/README.md | 15 - .../contracts/Tribes.sol | 119 ------- .../contracts/hyperverse/CloneFactory.sol | 52 --- .../hyperverse/IHyperverseModule.sol | 34 -- .../hyperverse-metis-tribes/hardhat.config.js | 28 -- packages/hyperverse-metis-tribes/index.ts | 1 - packages/hyperverse-metis-tribes/package.json | 44 --- .../hyperverse-metis-tribes/scripts/deploy.js | 19 -- .../source/Provider.tsx | 22 -- .../hyperverse-metis-tribes/source/index.ts | 2 - .../source/useTribes.ts | 269 --------------- .../test/tribes-test.js | 130 -------- .../hyperverse-metis-tribes/tsconfig.json | 8 - .../hyperverse-metis-tribes/utils/Tribes.json | 314 ------------------ 16 files changed, 1162 deletions(-) delete mode 100644 packages/hyperverse-metis-tribes/.gitignore delete mode 100644 packages/hyperverse-metis-tribes/CHANGELOG.md delete mode 100644 packages/hyperverse-metis-tribes/README.md delete mode 100644 packages/hyperverse-metis-tribes/contracts/Tribes.sol delete mode 100644 packages/hyperverse-metis-tribes/contracts/hyperverse/CloneFactory.sol delete mode 100644 packages/hyperverse-metis-tribes/contracts/hyperverse/IHyperverseModule.sol delete mode 100644 packages/hyperverse-metis-tribes/hardhat.config.js delete mode 100644 packages/hyperverse-metis-tribes/index.ts delete mode 100644 packages/hyperverse-metis-tribes/package.json delete mode 100644 packages/hyperverse-metis-tribes/scripts/deploy.js delete mode 100644 packages/hyperverse-metis-tribes/source/Provider.tsx delete mode 100644 packages/hyperverse-metis-tribes/source/index.ts delete mode 100644 packages/hyperverse-metis-tribes/source/useTribes.ts delete mode 100644 packages/hyperverse-metis-tribes/test/tribes-test.js delete mode 100644 packages/hyperverse-metis-tribes/tsconfig.json delete mode 100644 packages/hyperverse-metis-tribes/utils/Tribes.json diff --git a/packages/hyperverse-metis-tribes/.gitignore b/packages/hyperverse-metis-tribes/.gitignore deleted file mode 100644 index 71e12656..00000000 --- a/packages/hyperverse-metis-tribes/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -node_modules -.env -coverage -coverage.json -typechain - -#Hardhat files -cache -artifacts -distribution \ No newline at end of file diff --git a/packages/hyperverse-metis-tribes/CHANGELOG.md b/packages/hyperverse-metis-tribes/CHANGELOG.md deleted file mode 100644 index 740e0633..00000000 --- a/packages/hyperverse-metis-tribes/CHANGELOG.md +++ /dev/null @@ -1,95 +0,0 @@ -# @decentology/hyperverse-ethereum-tribes - -## 1.0.11 - -### Patch Changes - -- Milestone update. Added token and er721 modules -- Updated dependencies - - @decentology/unstated-next@1.1.1 - - @decentology/hyperverse@1.0.9 - - @decentology/hyperverse-metis@1.0.10 - - @decentology/hyperverse-storage-skynet@1.0.8 - -## 1.0.10 - -### Patch Changes - -- Version pinning issue with packages - -## 1.0.9 - -### Patch Changes - -- Fixed version pinning on metis -- Updated dependencies - - @decentology/hyperverse-metis@1.0.9 - -## 1.0.8 - -### Patch Changes - -- Milestone update. Added support for multi chain swapping -- Updated dependencies [9df884a] -- Updated dependencies - - @decentology/hyperverse@1.0.8 - - @decentology/hyperverse-storage-skynet@1.0.7 - - @decentology/hyperverse-metis@1.0.8 - -## 1.0.7 - -### Patch Changes - -- SSL error with SiaSky.net vs FilePortal.org -- Updated dependencies - - @decentology/hyperverse@1.0.7 - - @decentology/hyperverse-ethereum@1.0.7 - - @decentology/hyperverse-storage-skynet@1.0.6 - -## 1.0.6 - -### Patch Changes - -- Updated dependencies - - @decentology/hyperverse@1.0.6 - - @decentology/hyperverse-ethereum@1.0.6 - -## 1.0.5 - -### Patch Changes - -- 8183269: Bug fixes for login/logout workflow -- Updated dependencies [38bce19] -- Updated dependencies [8183269] - - @decentology/hyperverse-ethereum@1.0.5 - - @decentology/hyperverse@1.0.5 - - @decentology/hyperverse-storage-skynet@1.0.5 - -## 1.0.4 - -### Patch Changes - -- Handle metamask workflow and stablizing platform -- Updated dependencies - - @decentology/hyperverse@1.0.4 - - @decentology/hyperverse-ethereum@1.0.4 - - @decentology/hyperverse-storage-skynet@1.0.4 - -## 1.0.3 - -### Patch Changes - -- Version bump after changeset and build -- Updated dependencies - - @decentology/hyperverse@1.0.3 - - @decentology/hyperverse-ethereum@1.0.3 - - @decentology/hyperverse-storage-skynet@1.0.3 - -## 1.0.2 - -### Patch Changes - -- Milestone change of state management -- Updated dependencies - - @decentology/hyperverse@1.0.2 - - @decentology/hyperverse-ethereum@1.0.2 diff --git a/packages/hyperverse-metis-tribes/README.md b/packages/hyperverse-metis-tribes/README.md deleted file mode 100644 index cb97640d..00000000 --- a/packages/hyperverse-metis-tribes/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Basic Sample Hardhat Project - -This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, a sample script that deploys that contract, and an example of a task implementation, which simply lists the available accounts. - -Try running some of the following tasks: - -```shell -npx hardhat accounts -npx hardhat compile -npx hardhat clean -npx hardhat test -npx hardhat node -node scripts/sample-script.js -npx hardhat help -``` diff --git a/packages/hyperverse-metis-tribes/contracts/Tribes.sol b/packages/hyperverse-metis-tribes/contracts/Tribes.sol deleted file mode 100644 index d068b423..00000000 --- a/packages/hyperverse-metis-tribes/contracts/Tribes.sol +++ /dev/null @@ -1,119 +0,0 @@ -//SPDX-License-Identifier: Unlicense -pragma solidity ^0.8.0; - -import "./hyperverse/IHyperverseModule.sol"; -import "@openzeppelin/contracts/utils/Counters.sol"; - -contract Tribes is IHyperverseModule { - using Counters for Counters.Counter; - - address public owner; - Counters.Counter public tenantCount; - - struct Tenant { - mapping(uint256 => TribeData) tribes; - mapping(address => uint256) participants; - Counters.Counter tribeIds; - } - - struct TribeData { - string metadata; - mapping(address => bool) members; - uint256 numOfMembers; - uint256 tribeId; - } - - mapping(address => Tenant) public tenants; - mapping(address => bool) public instance; - - modifier hasAnInstance(address tenant) { - require(instance[tenant], "Tenant does not have an instance"); - _; - } - - event NewTenantInstance(address tenant); - event JoinedTribe(uint256 tribeId, address newMember); - event LeftTribe(uint256 tribeId, address member); - event NewTribeCreated(string metadata); - - constructor() { - metadata = ModuleMetadata( - "Tribes", - Author(msg.sender, "https://externallink.net"), - "0.0.1", - 3479831479814, - "https://externalLink.net" - ); - owner = msg.sender; - } - - function createInstance() public virtual { - require(instance[msg.sender] == false, "You already have an instance"); - tenants[msg.sender]; - instance[msg.sender] = true; - tenantCount.increment(); - emit NewTenantInstance(msg.sender); - } - - function getState(address tenant) private view hasAnInstance(tenant) returns (Tenant storage) { - return tenants[tenant]; - } - - function addNewTribe(string memory metadata) public virtual hasAnInstance(msg.sender) { - Tenant storage state = getState(msg.sender); - - state.tribeIds.increment(); - uint256 newTribeId = state.tribeIds.current(); - - TribeData storage newTribe = state.tribes[newTribeId]; - newTribe.metadata = metadata; - newTribe.tribeId = newTribeId; - emit NewTribeCreated(metadata); - } - - function joinTribe(address tenant, uint256 tribeId) public virtual { - address user = msg.sender; - Tenant storage state = getState(tenant); - require(state.participants[user] == 0, "User is already in a Tribe!"); - require(state.tribeIds.current() >= tribeId, "Tribe does not exist"); - - state.participants[user] = tribeId; - TribeData storage tribeData = state.tribes[tribeId]; - tribeData.members[user] = true; - tribeData.numOfMembers += 1; - - emit JoinedTribe(tribeId, user); - } - - function leaveTribe(address tenant) public virtual { - Tenant storage state = getState(tenant); - require(state.participants[msg.sender] != 0, "This member is not in a Tribe!"); - - TribeData storage tribeData = state.tribes[state.participants[msg.sender]]; - uint256 tribeId = state.participants[msg.sender]; - state.participants[msg.sender] = 0; - tribeData.members[msg.sender] = false; - tribeData.numOfMembers -= 1; - - emit LeftTribe(tribeId, msg.sender); - } - - function getUserTribe(address tenant, address user) public view virtual returns (uint256) { - Tenant storage state = getState(tenant); - - require(state.participants[user] != 0, "This member is not in a Tribe!"); - - uint256 tribeId = state.participants[user]; - return tribeId; - } - - function getTribeData(address tenant, uint256 tribeId) public view virtual returns (string memory) { - Tenant storage state = getState(tenant); - TribeData storage tribeData = state.tribes[tribeId]; - return (tribeData.metadata); - } - - function totalTribes(address tenant) public view virtual returns (uint256) { - return getState(tenant).tribeIds.current(); - } -} diff --git a/packages/hyperverse-metis-tribes/contracts/hyperverse/CloneFactory.sol b/packages/hyperverse-metis-tribes/contracts/hyperverse/CloneFactory.sol deleted file mode 100644 index 7893fe82..00000000 --- a/packages/hyperverse-metis-tribes/contracts/hyperverse/CloneFactory.sol +++ /dev/null @@ -1,52 +0,0 @@ -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -/* -The MIT License (MIT) -Copyright (c) 2018 Murray Software, LLC. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -//solhint-disable max-line-length -//solhint-disable no-inline-assembly - -contract CloneFactory { - function createClone(address target) internal returns (address result) { - bytes20 targetBytes = bytes20(target); - assembly { - let clone := mload(0x40) - mstore(clone, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000) - mstore(add(clone, 0x14), targetBytes) - mstore(add(clone, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) - result := create(0, clone, 0x37) - } - } - - function isClone(address target, address query) internal view returns (bool result) { - bytes20 targetBytes = bytes20(target); - assembly { - let clone := mload(0x40) - mstore(clone, 0x363d3d373d3d3d363d7300000000000000000000000000000000000000000000) - mstore(add(clone, 0xa), targetBytes) - mstore(add(clone, 0x1e), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) - - let other := add(clone, 0x40) - extcodecopy(query, other, 0, 0x2d) - result := and(eq(mload(clone), mload(other)), eq(mload(add(clone, 0xd)), mload(add(other, 0xd)))) - } - } -} diff --git a/packages/hyperverse-metis-tribes/contracts/hyperverse/IHyperverseModule.sol b/packages/hyperverse-metis-tribes/contracts/hyperverse/IHyperverseModule.sol deleted file mode 100644 index c80ab4a0..00000000 --- a/packages/hyperverse-metis-tribes/contracts/hyperverse/IHyperverseModule.sol +++ /dev/null @@ -1,34 +0,0 @@ -/** - -## The Decentology Smart Module standard on Ethereum - -## `IHyperverseModule` interface - -In essense, this contract serves the equivalent of two purposes -in respect to Cadence: -1) Enforces the `metadata` variable (same as IHyperverseModule.cdc) -2) Defines what a ModuleMetadata is (sam as HyperverseModule.cdc) - -*/ - -// SPDX-License-Identifier: UNLICENSED - -pragma solidity ^0.8.0; - -abstract contract IHyperverseModule { - ModuleMetadata public metadata; - address private owner; - - struct ModuleMetadata { - bytes title; // <-- `pub var title: String` in Cadence - Author author; - bytes version; - uint64 publishedAt; - bytes externalLink; // <-- can't be "external" in Solidity because it's a keyword - } - - struct Author { - address authorAddress; // <-- can't be "address" in Solidity because it's a keyword - string externalLink; - } -} diff --git a/packages/hyperverse-metis-tribes/hardhat.config.js b/packages/hyperverse-metis-tribes/hardhat.config.js deleted file mode 100644 index d84b8f5e..00000000 --- a/packages/hyperverse-metis-tribes/hardhat.config.js +++ /dev/null @@ -1,28 +0,0 @@ -require("@nomiclabs/hardhat-waffle"); - -// This is a sample Hardhat task. To learn how to create your own go to -// https://hardhat.org/guides/create-task.html -task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { - const accounts = await hre.ethers.getSigners(); - - for (const account of accounts) { - console.log(account.address); - } -}); - -// You need to export an object to set up your config -// Go to https://hardhat.org/config/ to learn more - -/** - * @type import('hardhat/config').HardhatUserConfig - */ -module.exports = { - solidity: "0.8.4", - networks: { - metis: { - url: "https://stardust.metis.io/?owner=588", - accounts: - process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], - }, - }, -}; diff --git a/packages/hyperverse-metis-tribes/index.ts b/packages/hyperverse-metis-tribes/index.ts deleted file mode 100644 index 6ffed2ee..00000000 --- a/packages/hyperverse-metis-tribes/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './source'; diff --git a/packages/hyperverse-metis-tribes/package.json b/packages/hyperverse-metis-tribes/package.json deleted file mode 100644 index 4bcd8798..00000000 --- a/packages/hyperverse-metis-tribes/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "@decentology/hyperverse-metis-tribes", - "version": "1.0.11", - "source": "./source/index.ts", - "types": "./distribution/index.d.ts", - "main": "./distribution/index.js", - "license": "MIT", - "scripts": { - "test": "hardhat test", - "build": "parcel build", - "clean": "rimraf ./distribution" - }, - "publishConfig": { - "access": "public" - }, - "peerDependencies": { - "react": "^17.0.2" - }, - "files": [ - "distribution", - "utils" - ], - "dependencies": { - "@decentology/hyperverse": "^1.0.9", - "@decentology/hyperverse-metis": "^1.0.10", - "@decentology/hyperverse-storage-skynet": "^1.0.8", - "@openzeppelin/contracts": "^4.4.2", - "ethers": "^5.5.3", - "react-query": "^3.34.7", - "react-use": "^17.3.2", - "skynet-js": "^4.0.23-beta", - "@decentology/unstated-next": "^1.1.1" - }, - "devDependencies": { - "@decentology/config": "^1.0.0", - "@nomiclabs/hardhat-ethers": "^2.0.4", - "@nomiclabs/hardhat-waffle": "^2.0.2", - "chai": "^4.3.4", - "ethereum-waffle": "^3.4.0", - "hardhat": "^2.8.3", - "parcel": "^2.2.1", - "rimraf": "^3.0.2" - } -} diff --git a/packages/hyperverse-metis-tribes/scripts/deploy.js b/packages/hyperverse-metis-tribes/scripts/deploy.js deleted file mode 100644 index 03a9427b..00000000 --- a/packages/hyperverse-metis-tribes/scripts/deploy.js +++ /dev/null @@ -1,19 +0,0 @@ -const hre = require('hardhat'); -const main = async () => { - const tribesContractFactory = await hre.ethers.getContractFactory('Tribes'); - const baseTribesContract = await tribesContractFactory.deploy(); - await baseTribesContract.deployed(); - console.log('Tribes Contract deployed to: ', baseTribesContract.address); -}; - -const runMain = async () => { - try { - await main(); - process.exit(0); - } catch (error) { - console.error(error); - process.exit(1); - } -}; - -runMain(); \ No newline at end of file diff --git a/packages/hyperverse-metis-tribes/source/Provider.tsx b/packages/hyperverse-metis-tribes/source/Provider.tsx deleted file mode 100644 index 99ca93c6..00000000 --- a/packages/hyperverse-metis-tribes/source/Provider.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { FC } from 'react'; -import { QueryClientProvider, QueryClient } from 'react-query'; -import ABI from '../utils/Tribes.json'; -import { HyperverseModuleInstance } from '@decentology/hyperverse'; -import { Tribes } from './useTribes'; -const client = new QueryClient(); - -export const ContractABI = ABI.abi; -export const CONTRACT_ADDRESS = '0x07F3062D51C9A6CA568C8135656054FA88D5b646'; -export const TENANT_ADDRESS = '0x8f8B8BE836fbe857c65E892dBb261F249f9b0adb'; - -const Provider: FC = ({ children, tenantId }) => { - return ( - - - {children} - - - ); -}; - -export { Provider }; diff --git a/packages/hyperverse-metis-tribes/source/index.ts b/packages/hyperverse-metis-tribes/source/index.ts deleted file mode 100644 index c87bde61..00000000 --- a/packages/hyperverse-metis-tribes/source/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { useTribes } from './useTribes'; -export { Provider } from './Provider'; diff --git a/packages/hyperverse-metis-tribes/source/useTribes.ts b/packages/hyperverse-metis-tribes/source/useTribes.ts deleted file mode 100644 index 8644cb2d..00000000 --- a/packages/hyperverse-metis-tribes/source/useTribes.ts +++ /dev/null @@ -1,269 +0,0 @@ -import { useState, useEffect, useCallback } from 'react'; -import { useQuery, useMutation, useQueryClient, UseMutationOptions } from 'react-query'; -import { ethers } from 'ethers'; -import { useMetis } from '@decentology/hyperverse-metis'; -import { ContractABI, CONTRACT_ADDRESS } from './Provider'; -import { useEvent } from 'react-use'; -import { useStorage } from '@decentology/hyperverse-storage-skynet'; -import { createContainer, useContainer } from '@decentology/unstated-next'; - -type ContractState = ethers.Contract; - -type MetaData = { - name: string; - description: string; - image: string; -}; - -function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { - const { tenantId } = initialState; - const queryClient = useQueryClient(); - const { address, web3Provider, provider } = useMetis(); - const { clientUrl } = useStorage(); - const [contract, setTribesContract] = useState( - new ethers.Contract(CONTRACT_ADDRESS, ContractABI, provider) as ContractState - ); - const { uploadFile } = useStorage(); - const setup = useCallback(async () => { - const signer = await web3Provider?.getSigner(); - if (signer && contract) { - const ctr = contract.connect(signer) as ContractState; - setTribesContract(ctr); - } - }, [web3Provider]); - - const formatTribeResultFromTribeId = useCallback( - async (tribeId: number) => { - const txn = await contract.getTribeData(tenantId, tribeId); - const link = txn.replace('sia:', ''); - const json = JSON.parse( - // eslint-disable-next-line no-await-in-loop - await (await fetch(`${clientUrl}/${link}`)).text() - ); - - json.id = tribeId; - json.imageUrl = `${clientUrl}/${json.image.replace('sia:', '')}`; - return json; - }, - [contract] - ); - - const errors = (err: any) => { - if (!contract?.signer) { - throw new Error('Please connect your wallet!'); - } - - if (err.code === 4001) { - throw new Error('You rejected the transaction!'); - } - - if (err.message.includes('User is already in a Tribe!')) { - throw new Error('You are already in a tribe!'); - } - - throw err; - // throw new Error("Something went wrong!"); - }; - - useEffect(() => { - if (web3Provider) { - setup(); - } - }, [web3Provider]); - - const checkInstance = useCallback( - async (account: any) => { - try { - const instance = await contract.instance(account); - return instance; - } catch (err) { - return false; - } - }, - [contract] - ); - - const createInstance = useCallback(async () => { - try { - const createTxn = await contract.createInstance(); - return createTxn.wait(); - } catch (err) { - errors(err); - throw err; - } - }, [contract]); - - const getTotalTenants = useCallback(async () => { - try { - const tenantCount = await contract.tenantCount(); - - return tenantCount.toNumber(); - } catch (err) { - throw err; - } - }, [contract]); - - const addTribe = useCallback( - async (metadata: Omit, image: File) => { - try { - // TODO: Add progress indicator notices for steps - // 1. Upload file notification - // 2. Upload metadata information - // 3. Success notification - - const { skylink: imageLink } = await uploadFile(image); - const fullMetaData: MetaData = { - ...metadata, - image: imageLink.replace('sia:', ''), - }; - const metadataFile = new File([JSON.stringify(fullMetaData)], 'metadata.json'); - const { skylink: metadataFileLink } = await uploadFile(metadataFile); - - const addTxn = await contract.addNewTribe(metadataFileLink.replace('sia:', '')); - return addTxn.wait(); - } catch (err) { - errors(err); - throw err; - } - }, - [contract] - ); - - const getTribeId = useCallback( - async (account) => { - try { - const id = await contract.getUserTribe(tenantId, account); - return id.toNumber(); - } catch (err) { - if (err instanceof Error) { - if (err.message.includes('This member is not in a Tribe!')) { - return null; - } - } - errors(err); - } - }, - [contract] - ); - - const getTribe = useCallback( - async (id) => { - try { - const userTribeTxn = await contract.getTribeData(tenantId, id); - // return userTribeTxn; - return formatTribeResultFromTribeId(id); - } catch (err) { - errors(err); - } - }, - [contract] - ); - - const leaveTribe = useCallback(async () => { - try { - const leaveTxn = await contract.leaveTribe(tenantId); - await leaveTxn.wait(); - return leaveTxn.hash; - } catch (err) { - errors(err); - } - }, [contract]); - - const getAllTribes = useCallback(async () => { - try { - const tribesData = await contract.totalTribes(tenantId); - const tribes = []; - for (let tribeId = 1; tribeId <= tribesData.toNumber(); ++tribeId) { - const json = await formatTribeResultFromTribeId(tribeId); - tribes.push(json); - } - - return tribes; - } catch (err) { - errors(err); - } - }, [contract]); - - const joinTribe = useCallback( - async (id) => { - try { - const joinTxn = await contract.joinTribe(tenantId, id); - return joinTxn.wait(); - } catch (err) { - errors(err); - } - }, - [contract] - ); - - const useTribeEvents = (eventName: string, callback: any) => { - return useEvent(eventName, useCallback(callback, [contract]), contract); - }; - - return { - tenantId, - contract, - useTribeEvents, - CheckInstance: () => - useQuery(['checkInstance', address, contract?.address], () => checkInstance(address), { - enabled: !!address && !!contract?.address, - }), - NewInstance: ( - options?: Omit, 'mutationFn'> - ) => useMutation(createInstance, options), - TotalTenants: () => - useQuery(['totalTenants', contract?.address], () => getTotalTenants(), { - enabled: !!contract?.address, - }), - AddTribe: ( - options?: Omit< - UseMutationOptions< - unknown, - unknown, - { metadata: Omit; image: File }, - unknown - >, - 'mutationFn' - > - ) => useMutation((payload) => addTribe(payload.metadata, payload.image), options), - Tribes: () => - useQuery(['tribes', contract?.address], () => getAllTribes(), { - enabled: !!contract?.address, - }), - Join: ( - options?: Omit, 'mutationFn'> - ) => useMutation((id) => joinTribe(id), options), - Leave: ( - options?: Omit, 'mutationFn'> - ) => - useMutation(() => leaveTribe(), { - ...options, - onSuccess: (...args) => { - queryClient.clear(); - const fn = options?.onSuccess; - if (fn) fn(...args); - }, - }), - TribeId: () => - useQuery(['getTribeId', address, contract?.address], () => getTribeId(address), { - enabled: !!address && !!contract?.address, - retry: false, - }), - Tribe: () => { - const { data: tribeId } = useQuery( - ['getTribeId', address, contract?.address], - () => getTribeId(address), - { enabled: !!address && !!contract?.address } - ); - return useQuery(['getTribeData', tribeId], () => getTribe(tribeId), { - enabled: !!tribeId, - }); - }, - }; -} - -export const Tribes = createContainer(TribesState); - -export function useTribes() { - return useContainer(Tribes); -} diff --git a/packages/hyperverse-metis-tribes/test/tribes-test.js b/packages/hyperverse-metis-tribes/test/tribes-test.js deleted file mode 100644 index a3698fef..00000000 --- a/packages/hyperverse-metis-tribes/test/tribes-test.js +++ /dev/null @@ -1,130 +0,0 @@ -const { ethers } = require('hardhat'); -const { expect } = require('chai'); -const crypto = require('crypto'); - -describe('Tribes', async () => { - let Tribes; - let tribesContract; - let alice; - let bob; - let cara; - - beforeEach(async () => { - Tribes = await ethers.getContractFactory('Tribes'); - [alice, bob, cara] = await ethers.getSigners(); - - tribesContract = await Tribes.deploy(); - await tribesContract.deployed(); - }); - - describe('Initial', async () => { - it('Checking owner', async () => { - expect(await tribesContract.owner()).to.equal(alice.address); - }); - }); - - describe('No Instance', async () => { - it('Tenant mapping should be empty', async () => { - expect(await tribesContract.tenantCount()).to.equal(0); - }); - - it('Add a Tribe without instance should error', async () => { - await expect(tribesContract.connect(bob).addNewTribe('metadata')).to.be.revertedWith( - 'Tenant does not have an instance', - ); - }); - - it('Joining tribe with uninstantiated Tenant should error', async () => { - await expect(tribesContract.joinTribe(bob.address, 1)).to.be.revertedWith('Tenant does not have an instance'); - }); - - it('Leaving tribe with uninstantiated Tenant should error', async () => { - await expect(tribesContract.leaveTribe(bob.address)).to.be.revertedWith('Tenant does not have an instance'); - }); - - it('Getting user tribe with uninstantiated Tenant should error', async () => { - await expect(tribesContract.getUserTribe(bob.address, cara.address)).to.be.revertedWith( - 'Tenant does not have an instance', - ); - }); - - it('Getting tribe data with uninstantiated Tenant should error', async () => { - await expect(tribesContract.getTribeData(bob.address, 1)).to.be.revertedWith('Tenant does not have an instance'); - }); - - it('Getting total tribes with uninstantiated Tenant should error', async () => { - await expect(tribesContract.totalTribes(bob.address)).to.be.revertedWith('Tenant does not have an instance'); - }); - }); - - describe('With an instance', async () => { - beforeEach(async () => { - await tribesContract.connect(cara).createInstance(); - await tribesContract.connect(alice).createInstance(); - await tribesContract.connect(bob).createInstance(); - await tribesContract.connect(cara).addNewTribe('metadata'); - - }); - - it('Should return a Tenant Total of 3', async () => { - expect(await tribesContract.tenantCount()).to.equal(3); - }); - - it('Should error on creating another instance using Cara', async () => { - await expect(tribesContract.connect(cara).createInstance()).to.be.revertedWith('You already have an instance'); - }); - - it('Should return 1 for totalTribes', async () => { - expect(await tribesContract.totalTribes(cara.address)).to.equal(1); - }); - - it('Should allow cara to add another tribe 1', async () => { - await expect(tribesContract.connect(cara).addNewTribe('metadata')) - .to.emit(tribesContract, 'NewTribeCreated') - .withArgs('metadata'); - }); - - it('Should allow cara to get Tribe data', async () => { - expect(await tribesContract.getTribeData(cara.address, 1)).to.equal('metadata'); - }); - }); - - describe('Within instance user functionality', async () => { - beforeEach(async () => { - await tribesContract.connect(cara).createInstance(); - await tribesContract.connect(cara).addNewTribe('tribe1'); - await tribesContract.connect(cara).addNewTribe('tribe2'); - }); - - it('Should allow bob to join a tribe', async () => { - await expect(tribesContract.connect(bob).joinTribe(cara.address, 1)) - .to.emit(tribesContract, 'JoinedTribe') - .withArgs(1, bob.address); - }); - - it('Should error when bob joins another tribe', async () => { - await tribesContract.connect(bob).joinTribe(cara.address, 1); - - await expect(tribesContract.connect(bob).joinTribe(cara.address, 2)).to.be.revertedWith( - 'User is already in a Tribe!', - ); - }); - - it("Should return bob's tribeID which is 1", async () => { - await tribesContract.connect(bob).joinTribe(cara.address, 1); - - expect(await tribesContract.getUserTribe(cara.address, bob.address)).to.equal(1); - }); - - it('Should return tribe data of tribe1', async () => { - expect(await tribesContract.getTribeData(cara.address, 1)).to.equal('tribe1'); - }); - - it('Should allow bob to leaveTribe', async () => { - await tribesContract.connect(bob).joinTribe(cara.address, 1); - await expect(tribesContract.connect(bob).leaveTribe(cara.address)) - .to.emit(tribesContract, 'LeftTribe') - .withArgs(1, bob.address); - }); - }); -}); diff --git a/packages/hyperverse-metis-tribes/tsconfig.json b/packages/hyperverse-metis-tribes/tsconfig.json deleted file mode 100644 index c8791f5f..00000000 --- a/packages/hyperverse-metis-tribes/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "@decentology/config/react-library.json", - "include": ["source/**/*.ts", "source/**/*.tsx", "**/*.json"], - "exclude": ["distribution", "node_modules"], - "compilerOptions": { - "resolveJsonModule": true - } -} diff --git a/packages/hyperverse-metis-tribes/utils/Tribes.json b/packages/hyperverse-metis-tribes/utils/Tribes.json deleted file mode 100644 index a2c2dd4b..00000000 --- a/packages/hyperverse-metis-tribes/utils/Tribes.json +++ /dev/null @@ -1,314 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Tribes", - "sourceName": "contracts/Tribes.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "tribeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "newMember", - "type": "address" - } - ], - "name": "JoinedTribe", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "tribeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "member", - "type": "address" - } - ], - "name": "LeftTribe", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "tenant", - "type": "address" - } - ], - "name": "NewTenantInstance", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "metadata", - "type": "string" - } - ], - "name": "NewTribeCreated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "metadata", - "type": "string" - } - ], - "name": "addNewTribe", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "createInstance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tribeId", - "type": "uint256" - } - ], - "name": "getTribeData", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getUserTribe", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "instance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tribeId", - "type": "uint256" - } - ], - "name": "joinTribe", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - } - ], - "name": "leaveTribe", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "metadata", - "outputs": [ - { - "internalType": "bytes", - "name": "title", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "authorAddress", - "type": "address" - }, - { - "internalType": "string", - "name": "externalLink", - "type": "string" - } - ], - "internalType": "struct IHyperverseModule.Author", - "name": "author", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "version", - "type": "bytes" - }, - { - "internalType": "uint64", - "name": "publishedAt", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "externalLink", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tenantCount", - "outputs": [ - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "tenants", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "internalType": "struct Counters.Counter", - "name": "tribeIds", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - } - ], - "name": "totalTribes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506040518060a001604052806040518060400160405280600681526020017f5472696265730000000000000000000000000000000000000000000000000000815250815260200160405180604001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016040518060400160405280601881526020017f68747470733a2f2f65787465726e616c6c696e6b2e6e6574000000000000000081525081525081526020016040518060400160405280600581526020017f302e302e31000000000000000000000000000000000000000000000000000000815250815260200165032a361e860667ffffffffffffffff1681526020016040518060400160405280601881526020017f68747470733a2f2f65787465726e616c4c696e6b2e6e65740000000000000000815250815250600080820151816000019080519060200190620001669291906200028f565b5060208201518160010160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019080519060200190620001d592919062000320565b5050506040820151816003019080519060200190620001f69291906200028f565b5060608201518160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506080820151816005019080519060200190620002449291906200028f565b5090505033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000435565b8280546200029d90620003d0565b90600052602060002090601f016020900481019282620002c157600085556200030d565b82601f10620002dc57805160ff19168380011785556200030d565b828001600101855582156200030d579182015b828111156200030c578251825591602001919060010190620002ef565b5b5090506200031c9190620003b1565b5090565b8280546200032e90620003d0565b90600052602060002090601f0160209004810192826200035257600085556200039e565b82601f106200036d57805160ff19168380011785556200039e565b828001600101855582156200039e579182015b828111156200039d57825182559160200191906001019062000380565b5b509050620003ad9190620003b1565b5090565b5b80821115620003cc576000816000905550600101620003b2565b5090565b60006002820490506001821680620003e957607f821691505b602082108114156200040057620003ff62000406565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61190c80620004456000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461017d578063aae9f2591461019b578063ad501467146101cb578063be51f4f8146101d5578063cf33d58814610205578063fd9153a314610235576100b4565b80631307430a146100b957806316d24710146100d75780633269c74e146100f357806333d03bcc1461010f578063392f37e91461013f5780636d019c9214610161575b600080fd5b6100c1610265565b6040516100ce91906114cf565b60405180910390f35b6100f160048036038101906100ec91906110c3565b610271565b005b61010d6004803603810190610108919061105e565b61046a565b005b6101296004803603810190610124919061105e565b610698565b60405161013691906114cf565b60405180910390f35b6101476106b5565b604051610158959493929190611383565b60405180910390f35b61017b600480360381019061017691906110ff565b610977565b005b610185610aa6565b604051610192919061134d565b60405180910390f35b6101b560048036038101906101b09190611087565b610acc565b6040516101c291906114cf565b60405180910390f35b6101d3610bb0565b005b6101ef60048036038101906101ea91906110c3565b610d1e565b6040516101fc91906113f2565b60405180910390f35b61021f600480360381019061021a919061105e565b610ddd565b60405161022c9190611368565b60405180910390f35b61024f600480360381019061024a919061105e565b610dfd565b60405161025c91906114b4565b60405180910390f35b60088060000154905081565b6000339050600061028184610e2f565b905060008160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fe90611474565b60405180910390fd5b8261031482600201610f05565b1015610355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034c90611494565b60405180910390fd5b828160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000816000016000858152602001908152602001600020905060018160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600181600201600082825461042391906115b2565b925050819055507f8e0fdde8512c413931ab05e9ae74b54525259ce920b11c355705e510829841db848460405161045b9291906114ea565b60405180910390a15050505050565b600061047582610e2f565b905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156104fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f390611414565b60405180910390fd5b60008160000160008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020905060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018260020160008282546106529190611608565b925050819055507fbeae83c5a8a13a5d2a71926ba1055d7a1d9de899e96f7244654799627236644d813360405161068a9291906114ea565b60405180910390a150505050565b60006106ae6106a683610e2f565b600201610f05565b9050919050565b60008060000180546106c6906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546106f2906116da565b801561073f5780601f106107145761010080835404028352916020019161073f565b820191906000526020600020905b81548152906001019060200180831161072257829003601f168201915b505050505090806001016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180546107ba906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546107e6906116da565b80156108335780601f1061080857610100808354040283529160200191610833565b820191906000526020600020905b81548152906001019060200180831161081657829003601f168201915b5050505050815250509080600301805461084c906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610878906116da565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050908060040160009054906101000a900467ffffffffffffffff16908060050180546108f4906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610920906116da565b801561096d5780601f106109425761010080835404028352916020019161096d565b820191906000526020600020905b81548152906001019060200180831161095057829003601f168201915b5050505050905085565b33600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb90611434565b60405180910390fd5b6000610a0f33610e2f565b9050610a1d81600201610f13565b6000610a2b82600201610f05565b90506000826000016000838152602001908152602001600020905084816000019080519060200190610a5e929190610f29565b508181600301819055507f2d06fe5eff482a0b08e70bd38f111a1a397e6952391bdc714df3eacb735b354c85604051610a9791906113f2565b60405180910390a15050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610ad884610e2f565b905060008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5690611414565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050809250505092915050565b60001515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90611454565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610ce56008610f13565b7fa7c4d74046e6121f6c1f91b52d5af6460c49a30ba0cb5920a2dd4434af77933a33604051610d14919061134d565b60405180910390a1565b60606000610d2b84610e2f565b905060008160000160008581526020019081526020016000209050806000018054610d55906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610d81906116da565b8015610dce5780601f10610da357610100808354040283529160200191610dce565b820191906000526020600020905b815481529060010190602001808311610db157829003601f168201915b50505050509250505092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600960205280600052604060002060009150905080600201604051806020016040529081600082015481525050905081565b600081600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590611434565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915050919050565b600081600001549050919050565b6001816000016000828254019250508190555050565b828054610f35906116da565b90600052602060002090601f016020900481019282610f575760008555610f9e565b82601f10610f7057805160ff1916838001178555610f9e565b82800160010185558215610f9e579182015b82811115610f9d578251825591602001919060010190610f82565b5b509050610fab9190610faf565b5090565b5b80821115610fc8576000816000905550600101610fb0565b5090565b6000610fdf610fda84611538565b611513565b905082815260208101848484011115610ff757600080fd5b611002848285611698565b509392505050565b600081359050611019816118a8565b92915050565b600082601f83011261103057600080fd5b8135611040848260208601610fcc565b91505092915050565b600081359050611058816118bf565b92915050565b60006020828403121561107057600080fd5b600061107e8482850161100a565b91505092915050565b6000806040838503121561109a57600080fd5b60006110a88582860161100a565b92505060206110b98582860161100a565b9150509250929050565b600080604083850312156110d657600080fd5b60006110e48582860161100a565b92505060206110f585828601611049565b9150509250929050565b60006020828403121561111157600080fd5b600082013567ffffffffffffffff81111561112b57600080fd5b6111378482850161101f565b91505092915050565b6111498161163c565b82525050565b6111588161163c565b82525050565b6111678161164e565b82525050565b600061117882611569565b611182818561157f565b93506111928185602086016116a7565b61119b816117ca565b840191505092915050565b60006111b182611574565b6111bb8185611590565b93506111cb8185602086016116a7565b6111d4816117ca565b840191505092915050565b60006111ea82611574565b6111f481856115a1565b93506112048185602086016116a7565b61120d816117ca565b840191505092915050565b6000611225601e836115a1565b9150611230826117db565b602082019050919050565b60006112486020836115a1565b915061125382611804565b602082019050919050565b600061126b601c836115a1565b91506112768261182d565b602082019050919050565b600061128e601b836115a1565b915061129982611856565b602082019050919050565b60006112b16014836115a1565b91506112bc8261187f565b602082019050919050565b60006040830160008301516112df6000860182611140565b50602083015184820360208601526112f782826111a6565b9150508091505092915050565b60208201600082015161131a6000850182611320565b50505050565b6113298161167a565b82525050565b6113388161167a565b82525050565b61134781611684565b82525050565b6000602082019050611362600083018461114f565b92915050565b600060208201905061137d600083018461115e565b92915050565b600060a082019050818103600083015261139d818861116d565b905081810360208301526113b181876112c7565b905081810360408301526113c5818661116d565b90506113d4606083018561133e565b81810360808301526113e6818461116d565b90509695505050505050565b6000602082019050818103600083015261140c81846111df565b905092915050565b6000602082019050818103600083015261142d81611218565b9050919050565b6000602082019050818103600083015261144d8161123b565b9050919050565b6000602082019050818103600083015261146d8161125e565b9050919050565b6000602082019050818103600083015261148d81611281565b9050919050565b600060208201905081810360008301526114ad816112a4565b9050919050565b60006020820190506114c96000830184611304565b92915050565b60006020820190506114e4600083018461132f565b92915050565b60006040820190506114ff600083018561132f565b61150c602083018461114f565b9392505050565b600061151d61152e565b9050611529828261170c565b919050565b6000604051905090565b600067ffffffffffffffff8211156115535761155261179b565b5b61155c826117ca565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006115bd8261167a565b91506115c88361167a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115fd576115fc61173d565b5b828201905092915050565b60006116138261167a565b915061161e8361167a565b9250828210156116315761163061173d565b5b828203905092915050565b60006116478261165a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b838110156116c55780820151818401526020810190506116aa565b838111156116d4576000848401525b50505050565b600060028204905060018216806116f257607f821691505b602082108114156117065761170561176c565b5b50919050565b611715826117ca565b810181811067ffffffffffffffff821117156117345761173361179b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f54686973206d656d626572206973206e6f7420696e2061205472696265210000600082015250565b7f54656e616e7420646f6573206e6f74206861766520616e20696e7374616e6365600082015250565b7f596f7520616c7265616479206861766520616e20696e7374616e636500000000600082015250565b7f5573657220697320616c726561647920696e2061205472696265210000000000600082015250565b7f547269626520646f6573206e6f74206578697374000000000000000000000000600082015250565b6118b18161163c565b81146118bc57600080fd5b50565b6118c88161167a565b81146118d357600080fd5b5056fea2646970667358221220ebe031daa7895c6bbfbbc341e12d1c27c4ddaf19caf64e15506af591a7e70f1364736f6c63430008040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461017d578063aae9f2591461019b578063ad501467146101cb578063be51f4f8146101d5578063cf33d58814610205578063fd9153a314610235576100b4565b80631307430a146100b957806316d24710146100d75780633269c74e146100f357806333d03bcc1461010f578063392f37e91461013f5780636d019c9214610161575b600080fd5b6100c1610265565b6040516100ce91906114cf565b60405180910390f35b6100f160048036038101906100ec91906110c3565b610271565b005b61010d6004803603810190610108919061105e565b61046a565b005b6101296004803603810190610124919061105e565b610698565b60405161013691906114cf565b60405180910390f35b6101476106b5565b604051610158959493929190611383565b60405180910390f35b61017b600480360381019061017691906110ff565b610977565b005b610185610aa6565b604051610192919061134d565b60405180910390f35b6101b560048036038101906101b09190611087565b610acc565b6040516101c291906114cf565b60405180910390f35b6101d3610bb0565b005b6101ef60048036038101906101ea91906110c3565b610d1e565b6040516101fc91906113f2565b60405180910390f35b61021f600480360381019061021a919061105e565b610ddd565b60405161022c9190611368565b60405180910390f35b61024f600480360381019061024a919061105e565b610dfd565b60405161025c91906114b4565b60405180910390f35b60088060000154905081565b6000339050600061028184610e2f565b905060008160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fe90611474565b60405180910390fd5b8261031482600201610f05565b1015610355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034c90611494565b60405180910390fd5b828160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000816000016000858152602001908152602001600020905060018160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600181600201600082825461042391906115b2565b925050819055507f8e0fdde8512c413931ab05e9ae74b54525259ce920b11c355705e510829841db848460405161045b9291906114ea565b60405180910390a15050505050565b600061047582610e2f565b905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156104fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f390611414565b60405180910390fd5b60008160000160008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020905060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018260020160008282546106529190611608565b925050819055507fbeae83c5a8a13a5d2a71926ba1055d7a1d9de899e96f7244654799627236644d813360405161068a9291906114ea565b60405180910390a150505050565b60006106ae6106a683610e2f565b600201610f05565b9050919050565b60008060000180546106c6906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546106f2906116da565b801561073f5780601f106107145761010080835404028352916020019161073f565b820191906000526020600020905b81548152906001019060200180831161072257829003601f168201915b505050505090806001016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180546107ba906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546107e6906116da565b80156108335780601f1061080857610100808354040283529160200191610833565b820191906000526020600020905b81548152906001019060200180831161081657829003601f168201915b5050505050815250509080600301805461084c906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610878906116da565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050908060040160009054906101000a900467ffffffffffffffff16908060050180546108f4906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610920906116da565b801561096d5780601f106109425761010080835404028352916020019161096d565b820191906000526020600020905b81548152906001019060200180831161095057829003601f168201915b5050505050905085565b33600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb90611434565b60405180910390fd5b6000610a0f33610e2f565b9050610a1d81600201610f13565b6000610a2b82600201610f05565b90506000826000016000838152602001908152602001600020905084816000019080519060200190610a5e929190610f29565b508181600301819055507f2d06fe5eff482a0b08e70bd38f111a1a397e6952391bdc714df3eacb735b354c85604051610a9791906113f2565b60405180910390a15050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610ad884610e2f565b905060008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5690611414565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050809250505092915050565b60001515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90611454565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610ce56008610f13565b7fa7c4d74046e6121f6c1f91b52d5af6460c49a30ba0cb5920a2dd4434af77933a33604051610d14919061134d565b60405180910390a1565b60606000610d2b84610e2f565b905060008160000160008581526020019081526020016000209050806000018054610d55906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610d81906116da565b8015610dce5780601f10610da357610100808354040283529160200191610dce565b820191906000526020600020905b815481529060010190602001808311610db157829003601f168201915b50505050509250505092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600960205280600052604060002060009150905080600201604051806020016040529081600082015481525050905081565b600081600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590611434565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915050919050565b600081600001549050919050565b6001816000016000828254019250508190555050565b828054610f35906116da565b90600052602060002090601f016020900481019282610f575760008555610f9e565b82601f10610f7057805160ff1916838001178555610f9e565b82800160010185558215610f9e579182015b82811115610f9d578251825591602001919060010190610f82565b5b509050610fab9190610faf565b5090565b5b80821115610fc8576000816000905550600101610fb0565b5090565b6000610fdf610fda84611538565b611513565b905082815260208101848484011115610ff757600080fd5b611002848285611698565b509392505050565b600081359050611019816118a8565b92915050565b600082601f83011261103057600080fd5b8135611040848260208601610fcc565b91505092915050565b600081359050611058816118bf565b92915050565b60006020828403121561107057600080fd5b600061107e8482850161100a565b91505092915050565b6000806040838503121561109a57600080fd5b60006110a88582860161100a565b92505060206110b98582860161100a565b9150509250929050565b600080604083850312156110d657600080fd5b60006110e48582860161100a565b92505060206110f585828601611049565b9150509250929050565b60006020828403121561111157600080fd5b600082013567ffffffffffffffff81111561112b57600080fd5b6111378482850161101f565b91505092915050565b6111498161163c565b82525050565b6111588161163c565b82525050565b6111678161164e565b82525050565b600061117882611569565b611182818561157f565b93506111928185602086016116a7565b61119b816117ca565b840191505092915050565b60006111b182611574565b6111bb8185611590565b93506111cb8185602086016116a7565b6111d4816117ca565b840191505092915050565b60006111ea82611574565b6111f481856115a1565b93506112048185602086016116a7565b61120d816117ca565b840191505092915050565b6000611225601e836115a1565b9150611230826117db565b602082019050919050565b60006112486020836115a1565b915061125382611804565b602082019050919050565b600061126b601c836115a1565b91506112768261182d565b602082019050919050565b600061128e601b836115a1565b915061129982611856565b602082019050919050565b60006112b16014836115a1565b91506112bc8261187f565b602082019050919050565b60006040830160008301516112df6000860182611140565b50602083015184820360208601526112f782826111a6565b9150508091505092915050565b60208201600082015161131a6000850182611320565b50505050565b6113298161167a565b82525050565b6113388161167a565b82525050565b61134781611684565b82525050565b6000602082019050611362600083018461114f565b92915050565b600060208201905061137d600083018461115e565b92915050565b600060a082019050818103600083015261139d818861116d565b905081810360208301526113b181876112c7565b905081810360408301526113c5818661116d565b90506113d4606083018561133e565b81810360808301526113e6818461116d565b90509695505050505050565b6000602082019050818103600083015261140c81846111df565b905092915050565b6000602082019050818103600083015261142d81611218565b9050919050565b6000602082019050818103600083015261144d8161123b565b9050919050565b6000602082019050818103600083015261146d8161125e565b9050919050565b6000602082019050818103600083015261148d81611281565b9050919050565b600060208201905081810360008301526114ad816112a4565b9050919050565b60006020820190506114c96000830184611304565b92915050565b60006020820190506114e4600083018461132f565b92915050565b60006040820190506114ff600083018561132f565b61150c602083018461114f565b9392505050565b600061151d61152e565b9050611529828261170c565b919050565b6000604051905090565b600067ffffffffffffffff8211156115535761155261179b565b5b61155c826117ca565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006115bd8261167a565b91506115c88361167a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115fd576115fc61173d565b5b828201905092915050565b60006116138261167a565b915061161e8361167a565b9250828210156116315761163061173d565b5b828203905092915050565b60006116478261165a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b838110156116c55780820151818401526020810190506116aa565b838111156116d4576000848401525b50505050565b600060028204905060018216806116f257607f821691505b602082108114156117065761170561176c565b5b50919050565b611715826117ca565b810181811067ffffffffffffffff821117156117345761173361179b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f54686973206d656d626572206973206e6f7420696e2061205472696265210000600082015250565b7f54656e616e7420646f6573206e6f74206861766520616e20696e7374616e6365600082015250565b7f596f7520616c7265616479206861766520616e20696e7374616e636500000000600082015250565b7f5573657220697320616c726561647920696e2061205472696265210000000000600082015250565b7f547269626520646f6573206e6f74206578697374000000000000000000000000600082015250565b6118b18161163c565b81146118bc57600080fd5b50565b6118c88161167a565b81146118d357600080fd5b5056fea2646970667358221220ebe031daa7895c6bbfbbc341e12d1c27c4ddaf19caf64e15506af591a7e70f1364736f6c63430008040033", - "linkReferences": {}, - "deployedLinkReferences": {} -} From 5509efee426003bdf55e64ee68eae8f7e54f560f Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Tue, 1 Mar 2022 12:07:01 -0500 Subject: [PATCH 08/41] Type safe --- packages/hyperverse-evm-tribes/source/environment.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/hyperverse-evm-tribes/source/environment.ts b/packages/hyperverse-evm-tribes/source/environment.ts index 24f3b78f..b9454d88 100644 --- a/packages/hyperverse-evm-tribes/source/environment.ts +++ b/packages/hyperverse-evm-tribes/source/environment.ts @@ -1,5 +1,4 @@ -import { networks, useHyperverse, blockchains, } from '@decentology/hyperverse'; -import Blockchain, { isEvm } from '@decentology/hyperverse/source/constants/blockchains'; +import { networks, useHyperverse, blockchains, isEvm, BlockchainEvm } from '@decentology/hyperverse'; const environment = { [blockchains.Ethereum]: { @@ -38,7 +37,7 @@ function useEnvironment() { if (!isEvm(blockchain?.name)) { throw new Error("Blockchain is not EVM compatible") } - return environment[blockchain.name][network]; + return environment[blockchain.name as BlockchainEvm][network]; } From 06832e4e1eff4b40187bfa5175318537ec1d08f2 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Tue, 1 Mar 2022 12:07:39 -0500 Subject: [PATCH 09/41] Added module package updates --- apps/ethereum/tribes/package.json | 1 + packages/config/package.json | 1 - yarn.lock | 15 +++++++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/apps/ethereum/tribes/package.json b/apps/ethereum/tribes/package.json index 4970fff3..28c48a13 100644 --- a/apps/ethereum/tribes/package.json +++ b/apps/ethereum/tribes/package.json @@ -11,6 +11,7 @@ "dependencies": { "@decentology/hyperverse": "^1.0.0", "@decentology/hyperverse-ethereum": "^1.0.0", + "@decentology/hyperverse-ethereum-randompick": "^1.0.0", "@decentology/hyperverse-ethereum-tribes": "^1.0.0", "ethers": "^5.5.2", "next": "12.0.7", diff --git a/packages/config/package.json b/packages/config/package.json index 07006801..8ea0d3a5 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,7 +1,6 @@ { "name": "@decentology/config", "version": "1.0.0", - "private": true, "license": "MIT", "files": [ "eslint-preset.js", diff --git a/yarn.lock b/yarn.lock index 5896bf7a..ae6fbc77 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1309,6 +1309,21 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" +"@decentology/hyperverse-metis-tribes@*", "@decentology/hyperverse-metis-tribes@^1.0.0": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@decentology/hyperverse-metis-tribes/-/hyperverse-metis-tribes-1.0.11.tgz#976106b88c26e2b7b34881a8a212794c8255a9eb" + integrity sha512-fpUGdcoWRe2hs0A2L8rzmhTCC+So1gOtxn9hOakhHqAjss7eSBIYeXZysh0gPKHL7VaK8HUtrNUlPXzXZEAPZg== + dependencies: + "@decentology/hyperverse" "^1.0.9" + "@decentology/hyperverse-metis" "^1.0.10" + "@decentology/hyperverse-storage-skynet" "^1.0.8" + "@decentology/unstated-next" "^1.1.1" + "@openzeppelin/contracts" "^4.4.2" + ethers "^5.5.3" + react-query "^3.34.7" + react-use "^17.3.2" + skynet-js "^4.0.23-beta" + "@emotion/is-prop-valid@^0.7.3": version "0.7.3" resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.7.3.tgz#a6bf4fa5387cbba59d44e698a4680f481a8da6cc" From b9f89afb9edb6e82744a37d6aeb9e2e4b5fa3230 Mon Sep 17 00:00:00 2001 From: Angelica Turla Date: Tue, 1 Mar 2022 15:46:37 -0500 Subject: [PATCH 10/41] renaming --- apps/ethereum/token/package.json | 2 +- .../.gitignore | 0 .../CHANGELOG.md | 0 .../README.md | 0 .../contracts/ERC20.sol} | 2 +- .../contracts/ERC20Factory.sol} | 14 +- .../contracts/hyperverse/CloneFactory.sol | 0 .../hyperverse/IHyperverseModule.sol | 8 +- .../hardhat.config.js | 4 +- .../index.ts | 0 .../package.json | 2 +- .../scripts/deploy.js | 12 +- .../source/Provider.tsx | 4 +- .../source/constants.ts | 7 + .../source/environment.ts | 4 +- .../source/index.ts | 2 +- .../source/useERC20.ts} | 14 +- .../test/token-test.js | 0 .../artifacts/contracts/Token.sol/Token.json | 408 ------------------ .../TokenFactory.sol/TokenFactory.json | 143 ------ .../source/constants.ts | 7 - 21 files changed, 41 insertions(+), 592 deletions(-) rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/.gitignore (100%) rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/CHANGELOG.md (100%) rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/README.md (100%) rename packages/{hyperverse-ethereum-token/contracts/Token.sol => hyperverse-ethereum-erc20/contracts/ERC20.sol} (99%) rename packages/{hyperverse-ethereum-token/contracts/TokenFactory.sol => hyperverse-ethereum-erc20/contracts/ERC20Factory.sol} (88%) rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/contracts/hyperverse/CloneFactory.sol (100%) rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/contracts/hyperverse/IHyperverseModule.sol (72%) rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/hardhat.config.js (79%) rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/index.ts (100%) rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/package.json (95%) rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/scripts/deploy.js (50%) rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/source/Provider.tsx (81%) create mode 100644 packages/hyperverse-ethereum-erc20/source/constants.ts rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/source/environment.ts (74%) rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/source/index.ts (50%) rename packages/{hyperverse-ethereum-token/source/useToken.ts => hyperverse-ethereum-erc20/source/useERC20.ts} (95%) rename packages/{hyperverse-ethereum-token => hyperverse-ethereum-erc20}/test/token-test.js (100%) delete mode 100644 packages/hyperverse-ethereum-token/artifacts/contracts/Token.sol/Token.json delete mode 100644 packages/hyperverse-ethereum-token/artifacts/contracts/TokenFactory.sol/TokenFactory.json delete mode 100644 packages/hyperverse-ethereum-token/source/constants.ts diff --git a/apps/ethereum/token/package.json b/apps/ethereum/token/package.json index 7132bd5b..da620713 100644 --- a/apps/ethereum/token/package.json +++ b/apps/ethereum/token/package.json @@ -11,7 +11,7 @@ "dependencies": { "@decentology/hyperverse": "^1.0.9", "@decentology/hyperverse-ethereum": "^1.0.9", - "@decentology/hyperverse-ethereum-token": "^1.0.0", + "@decentology/hyperverse-ethereum-erc20": "^1.0.0", "@radix-ui/react-accordion": "^0.1.6", "@stitches/react": "^1.2.6", "ethers": "^5.5.4", diff --git a/packages/hyperverse-ethereum-token/.gitignore b/packages/hyperverse-ethereum-erc20/.gitignore similarity index 100% rename from packages/hyperverse-ethereum-token/.gitignore rename to packages/hyperverse-ethereum-erc20/.gitignore diff --git a/packages/hyperverse-ethereum-token/CHANGELOG.md b/packages/hyperverse-ethereum-erc20/CHANGELOG.md similarity index 100% rename from packages/hyperverse-ethereum-token/CHANGELOG.md rename to packages/hyperverse-ethereum-erc20/CHANGELOG.md diff --git a/packages/hyperverse-ethereum-token/README.md b/packages/hyperverse-ethereum-erc20/README.md similarity index 100% rename from packages/hyperverse-ethereum-token/README.md rename to packages/hyperverse-ethereum-erc20/README.md diff --git a/packages/hyperverse-ethereum-token/contracts/Token.sol b/packages/hyperverse-ethereum-erc20/contracts/ERC20.sol similarity index 99% rename from packages/hyperverse-ethereum-token/contracts/Token.sol rename to packages/hyperverse-ethereum-erc20/contracts/ERC20.sol index b755d44d..56094605 100644 --- a/packages/hyperverse-ethereum-token/contracts/Token.sol +++ b/packages/hyperverse-ethereum-erc20/contracts/ERC20.sol @@ -8,7 +8,7 @@ import "hardhat/console.sol"; import "./hyperverse/IHyperverseModule.sol"; -contract Token is IERC20, IHyperverseModule { +contract ERC20 is IERC20, IHyperverseModule { using SafeMath for uint256; /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ S T A T E @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ diff --git a/packages/hyperverse-ethereum-token/contracts/TokenFactory.sol b/packages/hyperverse-ethereum-erc20/contracts/ERC20Factory.sol similarity index 88% rename from packages/hyperverse-ethereum-token/contracts/TokenFactory.sol rename to packages/hyperverse-ethereum-erc20/contracts/ERC20Factory.sol index 9cb678c9..30618398 100644 --- a/packages/hyperverse-ethereum-token/contracts/TokenFactory.sol +++ b/packages/hyperverse-ethereum-erc20/contracts/ERC20Factory.sol @@ -4,17 +4,17 @@ pragma experimental ABIEncoderV2; import "./hyperverse/CloneFactory.sol"; import "./hyperverse/IHyperverseModule.sol"; -import "./Token.sol"; +import "./ERC20.sol"; /** * @dev Clone Factory Implementation for ERC20 Token */ - contract TokenFactory is CloneFactory { + contract ERC20Factory is CloneFactory { /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ S T A T E @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ struct Tenant { - Token token; + ERC20 erc20; address owner; } @@ -65,20 +65,20 @@ import "./Token.sol"; isAllowedToCreateInstance(_tenant) external { - Token token = Token(createClone(masterContract)); + ERC20 token = ERC20(createClone(masterContract)); //initializing tenant state of clone token.init(_name, _symbol, _decimal, msg.sender); //set Tenant data Tenant storage newTenant = tenants[_tenant]; - newTenant.token = token; + newTenant.erc20 = token; newTenant.owner = _tenant; instance[_tenant] = true; } - function getProxy(address _tenant) public view returns (Token) { - return tenants[_tenant].token; + function getProxy(address _tenant) public view returns (ERC20) { + return tenants[_tenant].erc20; } } \ No newline at end of file diff --git a/packages/hyperverse-ethereum-token/contracts/hyperverse/CloneFactory.sol b/packages/hyperverse-ethereum-erc20/contracts/hyperverse/CloneFactory.sol similarity index 100% rename from packages/hyperverse-ethereum-token/contracts/hyperverse/CloneFactory.sol rename to packages/hyperverse-ethereum-erc20/contracts/hyperverse/CloneFactory.sol diff --git a/packages/hyperverse-ethereum-token/contracts/hyperverse/IHyperverseModule.sol b/packages/hyperverse-ethereum-erc20/contracts/hyperverse/IHyperverseModule.sol similarity index 72% rename from packages/hyperverse-ethereum-token/contracts/hyperverse/IHyperverseModule.sol rename to packages/hyperverse-ethereum-erc20/contracts/hyperverse/IHyperverseModule.sol index 7eac7249..7dc01190 100644 --- a/packages/hyperverse-ethereum-token/contracts/hyperverse/IHyperverseModule.sol +++ b/packages/hyperverse-ethereum-erc20/contracts/hyperverse/IHyperverseModule.sol @@ -20,15 +20,15 @@ abstract contract IHyperverseModule { address private owner; struct ModuleMetadata { - bytes title; // <-- `pub var title: String` in Cadence + bytes title; Author author; bytes version; uint64 publishedAt; - bytes externalLink; // <-- can't be "external" in Solidity because it's a keyword + bytes externalLink; } - + struct Author { - address authorAddress; // <-- can't be "address" in Solidity because it's a keyword + address authorAddress; string externalLink; } } \ No newline at end of file diff --git a/packages/hyperverse-ethereum-token/hardhat.config.js b/packages/hyperverse-ethereum-erc20/hardhat.config.js similarity index 79% rename from packages/hyperverse-ethereum-token/hardhat.config.js rename to packages/hyperverse-ethereum-erc20/hardhat.config.js index a20f17bb..799c074a 100644 --- a/packages/hyperverse-ethereum-token/hardhat.config.js +++ b/packages/hyperverse-ethereum-erc20/hardhat.config.js @@ -20,8 +20,8 @@ module.exports = { solidity: "0.8.4", networks: { rinkeby: { - url: `https://rinkeby.infura.io/v3/${INFURA_KEY}`, - accounts: [${PRIVATE_KEY}], + url: `https://rinkeby.infura.io/v3/c44d445baf414d18a5b487d1ac2cbdb8`, + accounts: ['f81dcb5b4bc7adc644846256e942accf98e936786838657dcb55f3c350204ca4'], }, }, }; diff --git a/packages/hyperverse-ethereum-token/index.ts b/packages/hyperverse-ethereum-erc20/index.ts similarity index 100% rename from packages/hyperverse-ethereum-token/index.ts rename to packages/hyperverse-ethereum-erc20/index.ts diff --git a/packages/hyperverse-ethereum-token/package.json b/packages/hyperverse-ethereum-erc20/package.json similarity index 95% rename from packages/hyperverse-ethereum-token/package.json rename to packages/hyperverse-ethereum-erc20/package.json index 5a6a196a..9a32aa8f 100644 --- a/packages/hyperverse-ethereum-token/package.json +++ b/packages/hyperverse-ethereum-erc20/package.json @@ -1,5 +1,5 @@ { - "name": "@decentology/hyperverse-ethereum-token", + "name": "@decentology/hyperverse-ethereum-erc20", "version": "1.0.1", "source": "./source/index.ts", "types": "./distribution/index.d.ts", diff --git a/packages/hyperverse-ethereum-token/scripts/deploy.js b/packages/hyperverse-ethereum-erc20/scripts/deploy.js similarity index 50% rename from packages/hyperverse-ethereum-token/scripts/deploy.js rename to packages/hyperverse-ethereum-erc20/scripts/deploy.js index 894ed551..c7cfcd75 100644 --- a/packages/hyperverse-ethereum-token/scripts/deploy.js +++ b/packages/hyperverse-ethereum-erc20/scripts/deploy.js @@ -1,13 +1,13 @@ const hre = require('hardhat'); const main = async () => { const hyperverseAdmin = '0x05DF0a749F733779aa2FA5706C7552b094A7E8B0'; - const Token = await hre.ethers.getContractFactory('Token'); - const token = await Token.deploy(hyperverseAdmin); - await token.deployed(); - console.log(`Token deployed to: ${token.address}`); + // const Token = await hre.ethers.getContractFactory('ERC20'); + // const token = await Token.deploy(hyperverseAdmin); + // await token.deployed(); + // console.log(`Token deployed to: ${token.address}`); - const TokenFactory = await hre.ethers.getContractFactory('TokenFactory'); - const tokenFactory = await TokenFactory.deploy(token.address, hyperverseAdmin); + const TokenFactory = await hre.ethers.getContractFactory('ERC20Factory'); + const tokenFactory = await TokenFactory.deploy('0x97DECc530f9ff4798Bfdc4f766AA0Ec428145B08', hyperverseAdmin); await tokenFactory.deployed(); console.log('Token Factory deployed to: ', tokenFactory.address); diff --git a/packages/hyperverse-ethereum-token/source/Provider.tsx b/packages/hyperverse-ethereum-erc20/source/Provider.tsx similarity index 81% rename from packages/hyperverse-ethereum-token/source/Provider.tsx rename to packages/hyperverse-ethereum-erc20/source/Provider.tsx index b2e2ac13..a160fd92 100644 --- a/packages/hyperverse-ethereum-token/source/Provider.tsx +++ b/packages/hyperverse-ethereum-erc20/source/Provider.tsx @@ -1,5 +1,5 @@ import { HyperverseModuleInstance, useHyperverse, networks } from '@decentology/hyperverse'; -import { Token } from './useToken' +import { ERC20 } from './useERC20' import { FC } from 'react'; import { QueryClientProvider, QueryClient } from 'react-query'; const client = new QueryClient(); @@ -13,7 +13,7 @@ const Provider: FC = ({children, tenantId}) => { } return ( - {children} + {children} ); }; diff --git a/packages/hyperverse-ethereum-erc20/source/constants.ts b/packages/hyperverse-ethereum-erc20/source/constants.ts new file mode 100644 index 00000000..1e762a1f --- /dev/null +++ b/packages/hyperverse-ethereum-erc20/source/constants.ts @@ -0,0 +1,7 @@ +import ERC20Factory from '../artifacts/contracts/ERC20Factory.sol/ERC20Factory.json'; +import ERC20 from '../artifacts/contracts/ERC20.sol/ERC20.json'; +export const ERC20ABI = ERC20.abi; +export const ERC20FactoryABI = ERC20Factory.abi; +export const ERC20_MAIN_ADDRESS = '0x97DECc530f9ff4798Bfdc4f766AA0Ec428145B08'; +export const ERC20_FACTORY_ADDRESS = '0x898ee1817b534C64f768D9832D3ddAd8aA353222'; +export const TENANT_ADDRESS = '0xDf61226090C2475D9ec7c494684d2715b61F130c'; diff --git a/packages/hyperverse-ethereum-token/source/environment.ts b/packages/hyperverse-ethereum-erc20/source/environment.ts similarity index 74% rename from packages/hyperverse-ethereum-token/source/environment.ts rename to packages/hyperverse-ethereum-erc20/source/environment.ts index 70ff6341..8eb1f7ec 100644 --- a/packages/hyperverse-ethereum-token/source/environment.ts +++ b/packages/hyperverse-ethereum-erc20/source/environment.ts @@ -5,8 +5,8 @@ const environment = { appID: null, }, [networks.Testnet]: { - tokenAddress: '0xf8CEc073d08e42cdDC1bF1fd8d44ce3252ab7352', - factoryAddress: '0x9355320b627Bf3dBb4315886ff85e845f04Db6a9' + erc20Address: '0x97DECc530f9ff4798Bfdc4f766AA0Ec428145B08', + erc20FactoryAddress: '0x898ee1817b534C64f768D9832D3ddAd8aA353222' }, }; diff --git a/packages/hyperverse-ethereum-token/source/index.ts b/packages/hyperverse-ethereum-erc20/source/index.ts similarity index 50% rename from packages/hyperverse-ethereum-token/source/index.ts rename to packages/hyperverse-ethereum-erc20/source/index.ts index c0e73f79..b04c195c 100644 --- a/packages/hyperverse-ethereum-token/source/index.ts +++ b/packages/hyperverse-ethereum-erc20/source/index.ts @@ -1,2 +1,2 @@ -export { useToken } from './useToken'; +export { useERC20 } from './useERC20'; export { Provider } from './Provider'; diff --git a/packages/hyperverse-ethereum-token/source/useToken.ts b/packages/hyperverse-ethereum-erc20/source/useERC20.ts similarity index 95% rename from packages/hyperverse-ethereum-token/source/useToken.ts rename to packages/hyperverse-ethereum-erc20/source/useERC20.ts index 48e0433a..a6aa8424 100644 --- a/packages/hyperverse-ethereum-token/source/useToken.ts +++ b/packages/hyperverse-ethereum-erc20/source/useERC20.ts @@ -1,4 +1,4 @@ -import { TokenABI, TokenFactoryABI, TOKEN_FACTORY_ADDRESS } from './constants'; +import { ERC20ABI, ERC20FactoryABI, ERC20_FACTORY_ADDRESS } from './constants'; import { ethers, constants } from 'ethers'; import { createContainer, useContainer } from '@decentology/unstated-next'; import { useQuery, useMutation, UseMutationOptions } from 'react-query'; @@ -8,12 +8,12 @@ import { TENANT_ADDRESS } from './constants'; type ContractState = ethers.Contract; -function TokenState(initialState: { tenantId: string } = { tenantId: TENANT_ADDRESS }) { +function ERC20State(initialState: { tenantId: string } = { tenantId: TENANT_ADDRESS }) { const { tenantId } = initialState; const { address, web3Provider, provider } = useEthereum(); const [contract, setContract] = useState( - new ethers.Contract(TOKEN_FACTORY_ADDRESS, TokenFactoryABI, provider) as ContractState + new ethers.Contract(ERC20_FACTORY_ADDRESS, ERC20FactoryABI, provider) as ContractState ); const [proxyContract, setProxyContract] = useState(); @@ -27,7 +27,7 @@ function TokenState(initialState: { tenantId: string } = { tenantId: TENANT_ADDR if(proxyAddress == constants.AddressZero) { return; } - const proxyCtr = new ethers.Contract(proxyAddress, TokenABI, provider); + const proxyCtr = new ethers.Contract(proxyAddress, ERC20ABI, provider); const accountSigner = await signer; if (accountSigner) { setProxyContract(proxyCtr.connect(accountSigner)); @@ -298,8 +298,8 @@ function TokenState(initialState: { tenantId: string } = { tenantId: TENANT_ADDR }; } -export const Token = createContainer(TokenState); +export const ERC20 = createContainer(ERC20State); -export function useToken() { - return useContainer(Token); +export function useERC20() { + return useContainer(ERC20); } diff --git a/packages/hyperverse-ethereum-token/test/token-test.js b/packages/hyperverse-ethereum-erc20/test/token-test.js similarity index 100% rename from packages/hyperverse-ethereum-token/test/token-test.js rename to packages/hyperverse-ethereum-erc20/test/token-test.js diff --git a/packages/hyperverse-ethereum-token/artifacts/contracts/Token.sol/Token.json b/packages/hyperverse-ethereum-token/artifacts/contracts/Token.sol/Token.json deleted file mode 100644 index 0f258d8f..00000000 --- a/packages/hyperverse-ethereum-token/artifacts/contracts/Token.sol/Token.json +++ /dev/null @@ -1,408 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Token", - "sourceName": "contracts/Token.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "UNIT_MULTIPLIER", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "balance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "contractOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_decimal", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_tenant", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "initialSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "metadata", - "outputs": [ - { - "internalType": "bytes", - "name": "title", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "authorAddress", - "type": "address" - }, - { - "internalType": "string", - "name": "externalLink", - "type": "string" - } - ], - "internalType": "struct IHyperverseModule.Author", - "name": "author", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "version", - "type": "bytes" - }, - { - "internalType": "uint64", - "name": "publishedAt", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "externalLink", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "total", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506040516200289d3803806200289d83398181016040528101906200003791906200040d565b6040518060a001604052806040518060400160405280600581526020017f546f6b656e000000000000000000000000000000000000000000000000000000815250815260200160405180604001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020016040518060400160405280601881526020017f68747470733a2f2f65787465726e616c6c696e6b2e6e6574000000000000000081525081525081526020016040518060400160405280600581526020017f302e302e31000000000000000000000000000000000000000000000000000000815250815260200165032a361e860667ffffffffffffffff1681526020016040518060400160405280601881526020017f68747470733a2f2f65787465726e616c4c696e6b2e6e657400000000000000008152508152506000808201518160000190805190602001906200018b929190620002b5565b5060208201518160010160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019080519060200190620001fa92919062000346565b50505060408201518160030190805190602001906200021b929190620002b5565b5060608201518160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550608082015181600501908051906020019062000269929190620002b5565b5090505080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620004ec565b828054620002c3906200046d565b90600052602060002090601f016020900481019282620002e7576000855562000333565b82601f106200030257805160ff191683800117855562000333565b8280016001018555821562000333579182015b828111156200033257825182559160200191906001019062000315565b5b509050620003429190620003d7565b5090565b82805462000354906200046d565b90600052602060002090601f016020900481019282620003785760008555620003c4565b82601f106200039357805160ff1916838001178555620003c4565b82800160010185558215620003c4579182015b82811115620003c3578251825591602001919060010190620003a6565b5b509050620003d39190620003d7565b5090565b5b80821115620003f2576000816000905550600101620003d8565b5090565b6000815190506200040781620004d2565b92915050565b6000602082840312156200042057600080fd5b60006200043084828501620003f6565b91505092915050565b600062000446826200044d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600060028204905060018216806200048657607f821691505b602082108114156200049d576200049c620004a3565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b620004dd8162000439565b8114620004e957600080fd5b50565b6123a180620004fc6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063685d0a96116100a2578063a9059cbb11610071578063a9059cbb146102d5578063b69ef8a814610305578063ce606ee014610323578063dd62ed3e14610341578063fc540cd31461037157610116565b8063685d0a961461024f57806370a082311461026b57806395d89b411461029b578063a0712d68146102b957610116565b80632ddbd13a116100e95780632ddbd13a146101b7578063313ce567146101d5578063378dc3dc146101f3578063392f37e91461021157806342966c681461023357610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b61012361038f565b6040516101309190611b80565b60405180910390f35b610153600480360381019061014e9190611798565b61041d565b6040516101609190611af6565b60405180910390f35b61017161050f565b60405161017e9190611ca2565b60405180910390f35b6101a1600480360381019061019c9190611749565b610519565b6040516101ae9190611af6565b60405180910390f35b6101bf610a1c565b6040516101cc9190611ca2565b60405180910390f35b6101dd610a22565b6040516101ea9190611ca2565b60405180910390f35b6101fb610a28565b6040516102089190611ca2565b60405180910390f35b610219610a2e565b60405161022a959493929190611b11565b60405180910390f35b61024d60048036038101906102489190611867565b610cf0565b005b610269600480360381019061026491906117d4565b610e13565b005b610285600480360381019061028091906116e4565b610fa7565b6040516102929190611ca2565b60405180910390f35b6102a3610ff0565b6040516102b09190611b80565b60405180910390f35b6102d360048036038101906102ce9190611867565b61107e565b005b6102ef60048036038101906102ea9190611798565b6111e6565b6040516102fc9190611af6565b60405180910390f35b61030d6114aa565b60405161031a9190611ca2565b60405180910390f35b61032b6114ba565b6040516103389190611adb565b60405180910390f35b61035b6004803603810190610356919061170d565b6114e0565b6040516103689190611ca2565b60405180910390f35b610379611567565b6040516103869190611ca2565b60405180910390f35b6009805461039c9061204f565b80601f01602080910402602001604051908101604052809291908181526020018280546103c89061204f565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b505050505081565b600081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104fd9190611ca2565b60405180910390a36001905092915050565b6000600e54905090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058190611bc2565b60405180910390fd5b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610649576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064090611c62565b60405180910390fd5b61065284610fa7565b821115610694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068b90611ba2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fb90611bc2565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076a90611c42565b60405180910390fd5b6107c582600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156d90919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061085a82600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158390919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061092c82600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156d90919063ffffffff16565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a099190611ca2565b60405180910390a3600190509392505050565b600e5481565b600b5481565b600f5481565b6000806000018054610a3f9061204f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6b9061204f565b8015610ab85780601f10610a8d57610100808354040283529160200191610ab8565b820191906000526020600020905b815481529060010190602001808311610a9b57829003601f168201915b505050505090806001016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054610b339061204f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5f9061204f565b8015610bac5780601f10610b8157610100808354040283529160200191610bac565b820191906000526020600020905b815481529060010190602001808311610b8f57829003601f168201915b50505050508152505090806003018054610bc59061204f565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf19061204f565b8015610c3e5780601f10610c1357610100808354040283529160200191610c3e565b820191906000526020600020905b815481529060010190602001808311610c2157829003601f168201915b5050505050908060040160009054906101000a900467ffffffffffffffff1690806005018054610c6d9061204f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c999061204f565b8015610ce65780601f10610cbb57610100808354040283529160200191610ce6565b820191906000526020600020905b815481529060010190602001808311610cc957829003601f168201915b5050505050905085565b80610cfa33610fa7565b1015610d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3290611c02565b60405180910390fd5b80600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d8a9190611f7d565b9250508190555080600e6000828254610da39190611f7d565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e089190611ca2565b60405180910390a350565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b90611be2565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360099080519060200190610efb9291906115af565b5082600a9080519060200190610f129291906115af565b5081600b81905550600b54600a610f299190611e05565b60108190555060006103e89050610f4b6010548261159990919063ffffffff16565b600e81905550600e54600f81905550600e54600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600a8054610ffd9061204f565b80601f01602080910402602001604051908101604052809291908181526020018280546110299061204f565b80156110765780601f1061104b57610100808354040283529160200191611076565b820191906000526020600020905b81548152906001019060200180831161105957829003601f168201915b505050505081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461110e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110590611c82565b60405180910390fd5b80600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461115d9190611d5c565b9250508190555080600e60008282546111769190611d5c565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111db9190611ca2565b60405180910390a350565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e90611bc2565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90611c22565b60405180910390fd5b6112cf33610fa7565b821115611311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130890611c02565b60405180910390fd5b61136382600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156d90919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113f882600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158390919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114989190611ca2565b60405180910390a36001905092915050565b60006114b533610fa7565b905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60105481565b6000818361157b9190611f7d565b905092915050565b600081836115919190611d5c565b905092915050565b600081836115a79190611f23565b905092915050565b8280546115bb9061204f565b90600052602060002090601f0160209004810192826115dd5760008555611624565b82601f106115f657805160ff1916838001178555611624565b82800160010185558215611624579182015b82811115611623578251825591602001919060010190611608565b5b5090506116319190611635565b5090565b5b8082111561164e576000816000905550600101611636565b5090565b600061166561166084611ce2565b611cbd565b90508281526020810184848401111561167d57600080fd5b61168884828561200d565b509392505050565b60008135905061169f8161233d565b92915050565b600082601f8301126116b657600080fd5b81356116c6848260208601611652565b91505092915050565b6000813590506116de81612354565b92915050565b6000602082840312156116f657600080fd5b600061170484828501611690565b91505092915050565b6000806040838503121561172057600080fd5b600061172e85828601611690565b925050602061173f85828601611690565b9150509250929050565b60008060006060848603121561175e57600080fd5b600061176c86828701611690565b935050602061177d86828701611690565b925050604061178e868287016116cf565b9150509250925092565b600080604083850312156117ab57600080fd5b60006117b985828601611690565b92505060206117ca858286016116cf565b9150509250929050565b600080600080608085870312156117ea57600080fd5b600085013567ffffffffffffffff81111561180457600080fd5b611810878288016116a5565b945050602085013567ffffffffffffffff81111561182d57600080fd5b611839878288016116a5565b935050604061184a878288016116cf565b925050606061185b87828801611690565b91505092959194509250565b60006020828403121561187957600080fd5b6000611887848285016116cf565b91505092915050565b61189981611fb1565b82525050565b6118a881611fb1565b82525050565b6118b781611fc3565b82525050565b60006118c882611d13565b6118d28185611d29565b93506118e281856020860161201c565b6118eb8161213f565b840191505092915050565b600061190182611d1e565b61190b8185611d3a565b935061191b81856020860161201c565b6119248161213f565b840191505092915050565b600061193a82611d1e565b6119448185611d4b565b935061195481856020860161201c565b61195d8161213f565b840191505092915050565b6000611975601f83611d4b565b91506119808261215d565b602082019050919050565b6000611998602b83611d4b565b91506119a382612186565b604082019050919050565b60006119bb601f83611d4b565b91506119c6826121d5565b602082019050919050565b60006119de601283611d4b565b91506119e9826121fe565b602082019050919050565b6000611a01602383611d4b565b9150611a0c82612227565b604082019050919050565b6000611a24603483611d4b565b9150611a2f82612276565b604082019050919050565b6000611a47602783611d4b565b9150611a52826122c5565b604082019050919050565b6000611a6a601c83611d4b565b9150611a7582612314565b602082019050919050565b6000604083016000830151611a986000860182611890565b5060208301518482036020860152611ab082826118f6565b9150508091505092915050565b611ac681611fef565b82525050565b611ad581611ff9565b82525050565b6000602082019050611af0600083018461189f565b92915050565b6000602082019050611b0b60008301846118ae565b92915050565b600060a0820190508181036000830152611b2b81886118bd565b90508181036020830152611b3f8187611a80565b90508181036040830152611b5381866118bd565b9050611b626060830185611acc565b8181036080830152611b7481846118bd565b90509695505050505050565b60006020820190508181036000830152611b9a818461192f565b905092915050565b60006020820190508181036000830152611bbb81611968565b9050919050565b60006020820190508181036000830152611bdb8161198b565b9050919050565b60006020820190508181036000830152611bfb816119ae565b9050919050565b60006020820190508181036000830152611c1b816119d1565b9050919050565b60006020820190508181036000830152611c3b816119f4565b9050919050565b60006020820190508181036000830152611c5b81611a17565b9050919050565b60006020820190508181036000830152611c7b81611a3a565b9050919050565b60006020820190508181036000830152611c9b81611a5d565b9050919050565b6000602082019050611cb76000830184611abd565b92915050565b6000611cc7611cd8565b9050611cd38282612081565b919050565b6000604051905090565b600067ffffffffffffffff821115611cfd57611cfc612110565b5b611d068261213f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d6782611fef565b9150611d7283611fef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611da757611da66120b2565b5b828201905092915050565b6000808291508390505b6001851115611dfc57808604811115611dd857611dd76120b2565b5b6001851615611de75780820291505b8081029050611df585612150565b9450611dbc565b94509492505050565b6000611e1082611fef565b9150611e1b83611fef565b9250611e487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611e50565b905092915050565b600082611e605760019050611f1c565b81611e6e5760009050611f1c565b8160018114611e845760028114611e8e57611ebd565b6001915050611f1c565b60ff841115611ea057611e9f6120b2565b5b8360020a915084821115611eb757611eb66120b2565b5b50611f1c565b5060208310610133831016604e8410600b8410161715611ef25782820a905083811115611eed57611eec6120b2565b5b611f1c565b611eff8484846001611db2565b92509050818404811115611f1657611f156120b2565b5b81810290505b9392505050565b6000611f2e82611fef565b9150611f3983611fef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f7257611f716120b2565b5b828202905092915050565b6000611f8882611fef565b9150611f9383611fef565b925082821015611fa657611fa56120b2565b5b828203905092915050565b6000611fbc82611fcf565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b8381101561203a57808201518184015260208101905061201f565b83811115612049576000848401525b50505050565b6000600282049050600182168061206757607f821691505b6020821081141561207b5761207a6120e1565b5b50919050565b61208a8261213f565b810181811067ffffffffffffffff821117156120a9576120a8612110565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4e6f7420656e6f7567682062616c616e636520666f72207472616e7366657200600082015250565b7f5472616e7366657220746f20746865207a65726f20616464726573732069732060008201527f6e6f7420616c6c6f776564000000000000000000000000000000000000000000602082015250565b7f436f6e747261637420697320616c726561647920696e697469616c697a656400600082015250565b7f4e6f7420656e6f7567682062616c616e63650000000000000000000000000000600082015250565b7f5472616e7366657220746f20796f757273656c66206973206e6f7420616c6c6f60008201527f7765640000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e736665722066726f6d20616e6420746f207468652073616d6520616460008201527f6472657373206973206e6f7420616c6c6f776564000000000000000000000000602082015250565b7f4e6f7420656e6f75676820616c6c6f7765642062616c616e636520666f72207460008201527f72616e7366657200000000000000000000000000000000000000000000000000602082015250565b7f596f7520617265206e6f74207468652074656e616e74206f776e657200000000600082015250565b61234681611fb1565b811461235157600080fd5b50565b61235d81611fef565b811461236857600080fd5b5056fea2646970667358221220e37527f259dda4ef4dd930f6c1cf8101545f419fab1dfa7ff285872b286cc21664736f6c63430008040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063685d0a96116100a2578063a9059cbb11610071578063a9059cbb146102d5578063b69ef8a814610305578063ce606ee014610323578063dd62ed3e14610341578063fc540cd31461037157610116565b8063685d0a961461024f57806370a082311461026b57806395d89b411461029b578063a0712d68146102b957610116565b80632ddbd13a116100e95780632ddbd13a146101b7578063313ce567146101d5578063378dc3dc146101f3578063392f37e91461021157806342966c681461023357610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b61012361038f565b6040516101309190611b80565b60405180910390f35b610153600480360381019061014e9190611798565b61041d565b6040516101609190611af6565b60405180910390f35b61017161050f565b60405161017e9190611ca2565b60405180910390f35b6101a1600480360381019061019c9190611749565b610519565b6040516101ae9190611af6565b60405180910390f35b6101bf610a1c565b6040516101cc9190611ca2565b60405180910390f35b6101dd610a22565b6040516101ea9190611ca2565b60405180910390f35b6101fb610a28565b6040516102089190611ca2565b60405180910390f35b610219610a2e565b60405161022a959493929190611b11565b60405180910390f35b61024d60048036038101906102489190611867565b610cf0565b005b610269600480360381019061026491906117d4565b610e13565b005b610285600480360381019061028091906116e4565b610fa7565b6040516102929190611ca2565b60405180910390f35b6102a3610ff0565b6040516102b09190611b80565b60405180910390f35b6102d360048036038101906102ce9190611867565b61107e565b005b6102ef60048036038101906102ea9190611798565b6111e6565b6040516102fc9190611af6565b60405180910390f35b61030d6114aa565b60405161031a9190611ca2565b60405180910390f35b61032b6114ba565b6040516103389190611adb565b60405180910390f35b61035b6004803603810190610356919061170d565b6114e0565b6040516103689190611ca2565b60405180910390f35b610379611567565b6040516103869190611ca2565b60405180910390f35b6009805461039c9061204f565b80601f01602080910402602001604051908101604052809291908181526020018280546103c89061204f565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b505050505081565b600081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104fd9190611ca2565b60405180910390a36001905092915050565b6000600e54905090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058190611bc2565b60405180910390fd5b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610649576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064090611c62565b60405180910390fd5b61065284610fa7565b821115610694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068b90611ba2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fb90611bc2565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076a90611c42565b60405180910390fd5b6107c582600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156d90919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061085a82600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158390919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061092c82600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156d90919063ffffffff16565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a099190611ca2565b60405180910390a3600190509392505050565b600e5481565b600b5481565b600f5481565b6000806000018054610a3f9061204f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6b9061204f565b8015610ab85780601f10610a8d57610100808354040283529160200191610ab8565b820191906000526020600020905b815481529060010190602001808311610a9b57829003601f168201915b505050505090806001016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054610b339061204f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5f9061204f565b8015610bac5780601f10610b8157610100808354040283529160200191610bac565b820191906000526020600020905b815481529060010190602001808311610b8f57829003601f168201915b50505050508152505090806003018054610bc59061204f565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf19061204f565b8015610c3e5780601f10610c1357610100808354040283529160200191610c3e565b820191906000526020600020905b815481529060010190602001808311610c2157829003601f168201915b5050505050908060040160009054906101000a900467ffffffffffffffff1690806005018054610c6d9061204f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c999061204f565b8015610ce65780601f10610cbb57610100808354040283529160200191610ce6565b820191906000526020600020905b815481529060010190602001808311610cc957829003601f168201915b5050505050905085565b80610cfa33610fa7565b1015610d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3290611c02565b60405180910390fd5b80600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d8a9190611f7d565b9250508190555080600e6000828254610da39190611f7d565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e089190611ca2565b60405180910390a350565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b90611be2565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360099080519060200190610efb9291906115af565b5082600a9080519060200190610f129291906115af565b5081600b81905550600b54600a610f299190611e05565b60108190555060006103e89050610f4b6010548261159990919063ffffffff16565b600e81905550600e54600f81905550600e54600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600a8054610ffd9061204f565b80601f01602080910402602001604051908101604052809291908181526020018280546110299061204f565b80156110765780601f1061104b57610100808354040283529160200191611076565b820191906000526020600020905b81548152906001019060200180831161105957829003601f168201915b505050505081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461110e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110590611c82565b60405180910390fd5b80600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461115d9190611d5c565b9250508190555080600e60008282546111769190611d5c565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111db9190611ca2565b60405180910390a350565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e90611bc2565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90611c22565b60405180910390fd5b6112cf33610fa7565b821115611311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130890611c02565b60405180910390fd5b61136382600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156d90919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113f882600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158390919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114989190611ca2565b60405180910390a36001905092915050565b60006114b533610fa7565b905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60105481565b6000818361157b9190611f7d565b905092915050565b600081836115919190611d5c565b905092915050565b600081836115a79190611f23565b905092915050565b8280546115bb9061204f565b90600052602060002090601f0160209004810192826115dd5760008555611624565b82601f106115f657805160ff1916838001178555611624565b82800160010185558215611624579182015b82811115611623578251825591602001919060010190611608565b5b5090506116319190611635565b5090565b5b8082111561164e576000816000905550600101611636565b5090565b600061166561166084611ce2565b611cbd565b90508281526020810184848401111561167d57600080fd5b61168884828561200d565b509392505050565b60008135905061169f8161233d565b92915050565b600082601f8301126116b657600080fd5b81356116c6848260208601611652565b91505092915050565b6000813590506116de81612354565b92915050565b6000602082840312156116f657600080fd5b600061170484828501611690565b91505092915050565b6000806040838503121561172057600080fd5b600061172e85828601611690565b925050602061173f85828601611690565b9150509250929050565b60008060006060848603121561175e57600080fd5b600061176c86828701611690565b935050602061177d86828701611690565b925050604061178e868287016116cf565b9150509250925092565b600080604083850312156117ab57600080fd5b60006117b985828601611690565b92505060206117ca858286016116cf565b9150509250929050565b600080600080608085870312156117ea57600080fd5b600085013567ffffffffffffffff81111561180457600080fd5b611810878288016116a5565b945050602085013567ffffffffffffffff81111561182d57600080fd5b611839878288016116a5565b935050604061184a878288016116cf565b925050606061185b87828801611690565b91505092959194509250565b60006020828403121561187957600080fd5b6000611887848285016116cf565b91505092915050565b61189981611fb1565b82525050565b6118a881611fb1565b82525050565b6118b781611fc3565b82525050565b60006118c882611d13565b6118d28185611d29565b93506118e281856020860161201c565b6118eb8161213f565b840191505092915050565b600061190182611d1e565b61190b8185611d3a565b935061191b81856020860161201c565b6119248161213f565b840191505092915050565b600061193a82611d1e565b6119448185611d4b565b935061195481856020860161201c565b61195d8161213f565b840191505092915050565b6000611975601f83611d4b565b91506119808261215d565b602082019050919050565b6000611998602b83611d4b565b91506119a382612186565b604082019050919050565b60006119bb601f83611d4b565b91506119c6826121d5565b602082019050919050565b60006119de601283611d4b565b91506119e9826121fe565b602082019050919050565b6000611a01602383611d4b565b9150611a0c82612227565b604082019050919050565b6000611a24603483611d4b565b9150611a2f82612276565b604082019050919050565b6000611a47602783611d4b565b9150611a52826122c5565b604082019050919050565b6000611a6a601c83611d4b565b9150611a7582612314565b602082019050919050565b6000604083016000830151611a986000860182611890565b5060208301518482036020860152611ab082826118f6565b9150508091505092915050565b611ac681611fef565b82525050565b611ad581611ff9565b82525050565b6000602082019050611af0600083018461189f565b92915050565b6000602082019050611b0b60008301846118ae565b92915050565b600060a0820190508181036000830152611b2b81886118bd565b90508181036020830152611b3f8187611a80565b90508181036040830152611b5381866118bd565b9050611b626060830185611acc565b8181036080830152611b7481846118bd565b90509695505050505050565b60006020820190508181036000830152611b9a818461192f565b905092915050565b60006020820190508181036000830152611bbb81611968565b9050919050565b60006020820190508181036000830152611bdb8161198b565b9050919050565b60006020820190508181036000830152611bfb816119ae565b9050919050565b60006020820190508181036000830152611c1b816119d1565b9050919050565b60006020820190508181036000830152611c3b816119f4565b9050919050565b60006020820190508181036000830152611c5b81611a17565b9050919050565b60006020820190508181036000830152611c7b81611a3a565b9050919050565b60006020820190508181036000830152611c9b81611a5d565b9050919050565b6000602082019050611cb76000830184611abd565b92915050565b6000611cc7611cd8565b9050611cd38282612081565b919050565b6000604051905090565b600067ffffffffffffffff821115611cfd57611cfc612110565b5b611d068261213f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d6782611fef565b9150611d7283611fef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611da757611da66120b2565b5b828201905092915050565b6000808291508390505b6001851115611dfc57808604811115611dd857611dd76120b2565b5b6001851615611de75780820291505b8081029050611df585612150565b9450611dbc565b94509492505050565b6000611e1082611fef565b9150611e1b83611fef565b9250611e487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611e50565b905092915050565b600082611e605760019050611f1c565b81611e6e5760009050611f1c565b8160018114611e845760028114611e8e57611ebd565b6001915050611f1c565b60ff841115611ea057611e9f6120b2565b5b8360020a915084821115611eb757611eb66120b2565b5b50611f1c565b5060208310610133831016604e8410600b8410161715611ef25782820a905083811115611eed57611eec6120b2565b5b611f1c565b611eff8484846001611db2565b92509050818404811115611f1657611f156120b2565b5b81810290505b9392505050565b6000611f2e82611fef565b9150611f3983611fef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f7257611f716120b2565b5b828202905092915050565b6000611f8882611fef565b9150611f9383611fef565b925082821015611fa657611fa56120b2565b5b828203905092915050565b6000611fbc82611fcf565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b8381101561203a57808201518184015260208101905061201f565b83811115612049576000848401525b50505050565b6000600282049050600182168061206757607f821691505b6020821081141561207b5761207a6120e1565b5b50919050565b61208a8261213f565b810181811067ffffffffffffffff821117156120a9576120a8612110565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4e6f7420656e6f7567682062616c616e636520666f72207472616e7366657200600082015250565b7f5472616e7366657220746f20746865207a65726f20616464726573732069732060008201527f6e6f7420616c6c6f776564000000000000000000000000000000000000000000602082015250565b7f436f6e747261637420697320616c726561647920696e697469616c697a656400600082015250565b7f4e6f7420656e6f7567682062616c616e63650000000000000000000000000000600082015250565b7f5472616e7366657220746f20796f757273656c66206973206e6f7420616c6c6f60008201527f7765640000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e736665722066726f6d20616e6420746f207468652073616d6520616460008201527f6472657373206973206e6f7420616c6c6f776564000000000000000000000000602082015250565b7f4e6f7420656e6f75676820616c6c6f7765642062616c616e636520666f72207460008201527f72616e7366657200000000000000000000000000000000000000000000000000602082015250565b7f596f7520617265206e6f74207468652074656e616e74206f776e657200000000600082015250565b61234681611fb1565b811461235157600080fd5b50565b61235d81611fef565b811461236857600080fd5b5056fea2646970667358221220e37527f259dda4ef4dd930f6c1cf8101545f419fab1dfa7ff285872b286cc21664736f6c63430008040033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/hyperverse-ethereum-token/artifacts/contracts/TokenFactory.sol/TokenFactory.json b/packages/hyperverse-ethereum-token/artifacts/contracts/TokenFactory.sol/TokenFactory.json deleted file mode 100644 index dd7b02db..00000000 --- a/packages/hyperverse-ethereum-token/artifacts/contracts/TokenFactory.sol/TokenFactory.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TokenFactory", - "sourceName": "contracts/TokenFactory.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_masterContract", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_tenant", - "type": "address" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_decimal", - "type": "uint256" - } - ], - "name": "createInstance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_tenant", - "type": "address" - } - ], - "name": "getProxy", - "outputs": [ - { - "internalType": "contract Token", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "instance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "masterContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "tenants", - "outputs": [ - { - "internalType": "contract Token", - "name": "token", - "type": "address" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60c06040527305df0a749f733779aa2fa5706c7552b094a7e8b0600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006557600080fd5b50604051610d84380380610d8483398181016040528101906100879190610111565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250505050610196565b60008151905061010b8161017f565b92915050565b6000806040838503121561012457600080fd5b6000610132858286016100fc565b9250506020610143858286016100fc565b9150509250929050565b60006101588261015f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6101888161014d565b811461019357600080fd5b50565b60805160601c60a05160601c610bbc6101c8600039600061015201526000818161034101526105030152610bbc6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80638da5cb5b14610067578063b7fba4d314610085578063c7330d74146100b5578063cd446e22146100d1578063cf33d588146100ef578063fd9153a31461011f575b600080fd5b61006f610150565b60405161007c919061081c565b60405180910390f35b61009f600480360381019061009a91906106a5565b610174565b6040516100ac9190610852565b60405180910390f35b6100cf60048036038101906100ca91906106ce565b6101df565b005b6100d9610501565b6040516100e6919061081c565b60405180910390f35b610109600480360381019061010491906106a5565b610525565b6040516101169190610837565b60405180910390f35b610139600480360381019061013491906106a5565b610545565b60405161014792919061086d565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8360001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026a906108e9565b60405180910390fd5b848073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102fb5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61033a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033190610909565b60405180910390fd5b60006103657f00000000000000000000000000000000000000000000000000000000000000006105a9565b90508073ffffffffffffffffffffffffffffffffffffffff1663685d0a96878787336040518563ffffffff1660e01b81526004016103a69493929190610896565b600060405180830381600087803b1580156103c057600080fd5b505af11580156103d4573d6000803e3d6000fd5b5050505060008060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550878160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60016020528060005260406000206000915054906101000a900460ff1681565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f092505050919050565b60006106266106218461094e565b610929565b90508281526020810184848401111561063e57600080fd5b610649848285610a07565b509392505050565b60008135905061066081610b58565b92915050565b600082601f83011261067757600080fd5b8135610687848260208601610613565b91505092915050565b60008135905061069f81610b6f565b92915050565b6000602082840312156106b757600080fd5b60006106c584828501610651565b91505092915050565b600080600080608085870312156106e457600080fd5b60006106f287828801610651565b945050602085013567ffffffffffffffff81111561070f57600080fd5b61071b87828801610666565b935050604085013567ffffffffffffffff81111561073857600080fd5b61074487828801610666565b925050606061075587828801610690565b91505092959194509250565b61076a8161099b565b82525050565b610779816109ad565b82525050565b610788816109e3565b82525050565b60006107998261097f565b6107a3818561098a565b93506107b3818560208601610a16565b6107bc81610aa9565b840191505092915050565b60006107d460228361098a565b91506107df82610aba565b604082019050919050565b60006107f760308361098a565b915061080282610b09565b604082019050919050565b610816816109d9565b82525050565b60006020820190506108316000830184610761565b92915050565b600060208201905061084c6000830184610770565b92915050565b6000602082019050610867600083018461077f565b92915050565b6000604082019050610882600083018561077f565b61088f6020830184610761565b9392505050565b600060808201905081810360008301526108b0818761078e565b905081810360208301526108c4818661078e565b90506108d3604083018561080d565b6108e06060830184610761565b95945050505050565b60006020820190508181036000830152610902816107c7565b9050919050565b60006020820190508181036000830152610922816107ea565b9050919050565b6000610933610944565b905061093f8282610a49565b919050565b6000604051905090565b600067ffffffffffffffff82111561096957610968610a7a565b5b61097282610aa9565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006109a6826109b9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006109ee826109f5565b9050919050565b6000610a00826109b9565b9050919050565b82818337600083830152505050565b60005b83811015610a34578082015181840152602081019050610a19565b83811115610a43576000848401525b50505050565b610a5282610aa9565b810181811067ffffffffffffffff82111715610a7157610a70610a7a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f5468652074656e616e7420616c72656164792068617320616e20696e7374616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f506c656173652075736520612076616c6964206164647265737320746f20637260008201527f6561746520616e20696e7374616e636500000000000000000000000000000000602082015250565b610b618161099b565b8114610b6c57600080fd5b50565b610b78816109d9565b8114610b8357600080fd5b5056fea26469706673582212203b245498c66e33b8bad248662fae87b4b3d1926b5f20566fd621a7b681276f9a64736f6c63430008040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80638da5cb5b14610067578063b7fba4d314610085578063c7330d74146100b5578063cd446e22146100d1578063cf33d588146100ef578063fd9153a31461011f575b600080fd5b61006f610150565b60405161007c919061081c565b60405180910390f35b61009f600480360381019061009a91906106a5565b610174565b6040516100ac9190610852565b60405180910390f35b6100cf60048036038101906100ca91906106ce565b6101df565b005b6100d9610501565b6040516100e6919061081c565b60405180910390f35b610109600480360381019061010491906106a5565b610525565b6040516101169190610837565b60405180910390f35b610139600480360381019061013491906106a5565b610545565b60405161014792919061086d565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8360001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026a906108e9565b60405180910390fd5b848073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102fb5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61033a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033190610909565b60405180910390fd5b60006103657f00000000000000000000000000000000000000000000000000000000000000006105a9565b90508073ffffffffffffffffffffffffffffffffffffffff1663685d0a96878787336040518563ffffffff1660e01b81526004016103a69493929190610896565b600060405180830381600087803b1580156103c057600080fd5b505af11580156103d4573d6000803e3d6000fd5b5050505060008060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550878160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60016020528060005260406000206000915054906101000a900460ff1681565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f092505050919050565b60006106266106218461094e565b610929565b90508281526020810184848401111561063e57600080fd5b610649848285610a07565b509392505050565b60008135905061066081610b58565b92915050565b600082601f83011261067757600080fd5b8135610687848260208601610613565b91505092915050565b60008135905061069f81610b6f565b92915050565b6000602082840312156106b757600080fd5b60006106c584828501610651565b91505092915050565b600080600080608085870312156106e457600080fd5b60006106f287828801610651565b945050602085013567ffffffffffffffff81111561070f57600080fd5b61071b87828801610666565b935050604085013567ffffffffffffffff81111561073857600080fd5b61074487828801610666565b925050606061075587828801610690565b91505092959194509250565b61076a8161099b565b82525050565b610779816109ad565b82525050565b610788816109e3565b82525050565b60006107998261097f565b6107a3818561098a565b93506107b3818560208601610a16565b6107bc81610aa9565b840191505092915050565b60006107d460228361098a565b91506107df82610aba565b604082019050919050565b60006107f760308361098a565b915061080282610b09565b604082019050919050565b610816816109d9565b82525050565b60006020820190506108316000830184610761565b92915050565b600060208201905061084c6000830184610770565b92915050565b6000602082019050610867600083018461077f565b92915050565b6000604082019050610882600083018561077f565b61088f6020830184610761565b9392505050565b600060808201905081810360008301526108b0818761078e565b905081810360208301526108c4818661078e565b90506108d3604083018561080d565b6108e06060830184610761565b95945050505050565b60006020820190508181036000830152610902816107c7565b9050919050565b60006020820190508181036000830152610922816107ea565b9050919050565b6000610933610944565b905061093f8282610a49565b919050565b6000604051905090565b600067ffffffffffffffff82111561096957610968610a7a565b5b61097282610aa9565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006109a6826109b9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006109ee826109f5565b9050919050565b6000610a00826109b9565b9050919050565b82818337600083830152505050565b60005b83811015610a34578082015181840152602081019050610a19565b83811115610a43576000848401525b50505050565b610a5282610aa9565b810181811067ffffffffffffffff82111715610a7157610a70610a7a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f5468652074656e616e7420616c72656164792068617320616e20696e7374616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f506c656173652075736520612076616c6964206164647265737320746f20637260008201527f6561746520616e20696e7374616e636500000000000000000000000000000000602082015250565b610b618161099b565b8114610b6c57600080fd5b50565b610b78816109d9565b8114610b8357600080fd5b5056fea26469706673582212203b245498c66e33b8bad248662fae87b4b3d1926b5f20566fd621a7b681276f9a64736f6c63430008040033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/hyperverse-ethereum-token/source/constants.ts b/packages/hyperverse-ethereum-token/source/constants.ts deleted file mode 100644 index 09463dbf..00000000 --- a/packages/hyperverse-ethereum-token/source/constants.ts +++ /dev/null @@ -1,7 +0,0 @@ -import TokenFactory from '../artifacts/contracts/TokenFactory.sol/TokenFactory.json'; -import Token from '../artifacts/contracts/Token.sol/Token.json'; -export const TokenABI = Token.abi; -export const TokenFactoryABI = TokenFactory.abi; -export const TOKEN_MAIN_ADDRESS = '0xDae5770EDdba196d7dAA716475A5703A68200bc8'; -export const TOKEN_FACTORY_ADDRESS = '0x1fdb160Ebee5C3374078D59A721413B1566c1B0B'; -export const TENANT_ADDRESS = '0xDf61226090C2475D9ec7c494684d2715b61F130c'; From 4d3c463d1d607fc4b52b35cb5dc79b13af5a1660 Mon Sep 17 00:00:00 2001 From: Angelica Turla Date: Tue, 1 Mar 2022 16:07:27 -0500 Subject: [PATCH 11/41] add .env so stop exposing test accounts --- packages/hyperverse-ethereum-erc20/.gitignore | 1 + .../contracts/ERC20Factory.sol | 2 +- packages/hyperverse-ethereum-erc20/hardhat.config.js | 6 ++++-- packages/hyperverse-ethereum-erc20/package.json | 5 +++-- packages/hyperverse-ethereum-erc20/scripts/deploy.js | 12 ++++++------ .../hyperverse-ethereum-erc20/source/constants.ts | 4 ++-- .../hyperverse-ethereum-erc20/source/environment.ts | 4 ++-- yarn.lock | 5 +++++ 8 files changed, 24 insertions(+), 15 deletions(-) diff --git a/packages/hyperverse-ethereum-erc20/.gitignore b/packages/hyperverse-ethereum-erc20/.gitignore index 48e34b86..8ed1d68b 100644 --- a/packages/hyperverse-ethereum-erc20/.gitignore +++ b/packages/hyperverse-ethereum-erc20/.gitignore @@ -8,3 +8,4 @@ typechain cache artifacts distribution +.env \ No newline at end of file diff --git a/packages/hyperverse-ethereum-erc20/contracts/ERC20Factory.sol b/packages/hyperverse-ethereum-erc20/contracts/ERC20Factory.sol index 30618398..baeafbfb 100644 --- a/packages/hyperverse-ethereum-erc20/contracts/ERC20Factory.sol +++ b/packages/hyperverse-ethereum-erc20/contracts/ERC20Factory.sol @@ -23,7 +23,7 @@ import "./ERC20.sol"; address public immutable masterContract; address public immutable owner; - address private hyperverseAdmin = 0x05DF0a749F733779aa2FA5706C7552b094A7E8B0; + address private hyperverseAdmin = 0x62a7aa79a52591Ccc62B71729329A80a666fA50f; /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ M O D I F I E R S @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ modifier isOwner(address _tenant) { diff --git a/packages/hyperverse-ethereum-erc20/hardhat.config.js b/packages/hyperverse-ethereum-erc20/hardhat.config.js index 799c074a..541c4169 100644 --- a/packages/hyperverse-ethereum-erc20/hardhat.config.js +++ b/packages/hyperverse-ethereum-erc20/hardhat.config.js @@ -1,3 +1,5 @@ +const { config } = require("dotenv"); +config(); require("@nomiclabs/hardhat-waffle"); // This is a sample Hardhat task. To learn how to create your own go to @@ -20,8 +22,8 @@ module.exports = { solidity: "0.8.4", networks: { rinkeby: { - url: `https://rinkeby.infura.io/v3/c44d445baf414d18a5b487d1ac2cbdb8`, - accounts: ['f81dcb5b4bc7adc644846256e942accf98e936786838657dcb55f3c350204ca4'], + url: `https://rinkeby.infura.io/v3/${process.env.INFURA_API_KEY}`, + accounts: [process.env.ACCOUNT_KEY], }, }, }; diff --git a/packages/hyperverse-ethereum-erc20/package.json b/packages/hyperverse-ethereum-erc20/package.json index 9a32aa8f..9b32805f 100644 --- a/packages/hyperverse-ethereum-erc20/package.json +++ b/packages/hyperverse-ethereum-erc20/package.json @@ -25,10 +25,11 @@ "dependencies": { "@decentology/hyperverse": "^1.0.9", "@decentology/hyperverse-ethereum": "^1.0.9", + "@decentology/unstated-next": "^1.1.1", + "dotenv": "^16.0.0", "ethers": "^5.5.3", "react-query": "^3.34.7", - "react-use": "^17.3.2", - "@decentology/unstated-next": "^1.1.1" + "react-use": "^17.3.2" }, "devDependencies": { "@decentology/config": "^1.0.0", diff --git a/packages/hyperverse-ethereum-erc20/scripts/deploy.js b/packages/hyperverse-ethereum-erc20/scripts/deploy.js index c7cfcd75..f3c901c9 100644 --- a/packages/hyperverse-ethereum-erc20/scripts/deploy.js +++ b/packages/hyperverse-ethereum-erc20/scripts/deploy.js @@ -1,13 +1,13 @@ const hre = require('hardhat'); const main = async () => { - const hyperverseAdmin = '0x05DF0a749F733779aa2FA5706C7552b094A7E8B0'; - // const Token = await hre.ethers.getContractFactory('ERC20'); - // const token = await Token.deploy(hyperverseAdmin); - // await token.deployed(); - // console.log(`Token deployed to: ${token.address}`); + const hyperverseAdmin = '0x62a7aa79a52591Ccc62B71729329A80a666fA50f'; + const Token = await hre.ethers.getContractFactory('ERC20'); + const token = await Token.deploy(hyperverseAdmin); + await token.deployed(); + console.log(`Token deployed to: ${token.address}`); const TokenFactory = await hre.ethers.getContractFactory('ERC20Factory'); - const tokenFactory = await TokenFactory.deploy('0x97DECc530f9ff4798Bfdc4f766AA0Ec428145B08', hyperverseAdmin); + const tokenFactory = await TokenFactory.deploy(token.address, hyperverseAdmin); await tokenFactory.deployed(); console.log('Token Factory deployed to: ', tokenFactory.address); diff --git a/packages/hyperverse-ethereum-erc20/source/constants.ts b/packages/hyperverse-ethereum-erc20/source/constants.ts index 1e762a1f..9ba1cca9 100644 --- a/packages/hyperverse-ethereum-erc20/source/constants.ts +++ b/packages/hyperverse-ethereum-erc20/source/constants.ts @@ -2,6 +2,6 @@ import ERC20Factory from '../artifacts/contracts/ERC20Factory.sol/ERC20Factory.j import ERC20 from '../artifacts/contracts/ERC20.sol/ERC20.json'; export const ERC20ABI = ERC20.abi; export const ERC20FactoryABI = ERC20Factory.abi; -export const ERC20_MAIN_ADDRESS = '0x97DECc530f9ff4798Bfdc4f766AA0Ec428145B08'; -export const ERC20_FACTORY_ADDRESS = '0x898ee1817b534C64f768D9832D3ddAd8aA353222'; +export const ERC20_MAIN_ADDRESS = '0x5075a0259b418fbD46211B81AfA766157e7DD135'; +export const ERC20_FACTORY_ADDRESS = '0x4330f8f04490d09852e6916777e15259dF195F6A'; export const TENANT_ADDRESS = '0xDf61226090C2475D9ec7c494684d2715b61F130c'; diff --git a/packages/hyperverse-ethereum-erc20/source/environment.ts b/packages/hyperverse-ethereum-erc20/source/environment.ts index 8eb1f7ec..ee2b7e17 100644 --- a/packages/hyperverse-ethereum-erc20/source/environment.ts +++ b/packages/hyperverse-ethereum-erc20/source/environment.ts @@ -5,8 +5,8 @@ const environment = { appID: null, }, [networks.Testnet]: { - erc20Address: '0x97DECc530f9ff4798Bfdc4f766AA0Ec428145B08', - erc20FactoryAddress: '0x898ee1817b534C64f768D9832D3ddAd8aA353222' + erc20Address: '0x5075a0259b418fbD46211B81AfA766157e7DD135', + erc20FactoryAddress: '0x4330f8f04490d09852e6916777e15259dF195F6A' }, }; diff --git a/yarn.lock b/yarn.lock index 6f84da2b..f3904ca3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8080,6 +8080,11 @@ dotenv-expand@^5.1.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== +dotenv@^16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.0.tgz#c619001253be89ebb638d027b609c75c26e47411" + integrity sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q== + dotenv@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" From 226a20c736ce4bb275f1101421c194db15ef362b Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Tue, 1 Mar 2022 16:18:38 -0500 Subject: [PATCH 12/41] Convert Ethereum Tribes to EVM --- apps/ethereum/tribes/next.config.js | 2 +- apps/ethereum/tribes/package.json | 2 +- .../tribes/src/components/InnerComponent.tsx | 2 +- apps/ethereum/tribes/src/pages/_app.tsx | 2 +- apps/ethereum/tribes/src/pages/all-tribes.tsx | 2 +- apps/ethereum/tribes/src/pages/battle.tsx | 2 +- apps/ethereum/tribes/src/pages/index.tsx | 2 +- apps/ethereum/tribes/src/pages/my-tribe.tsx | 2 +- apps/ethereum/tribes/src/pages/setup.tsx | 2 +- .../source/constants.ts | 8 - .../hyperverse-ethereum-tribes/.gitignore | 10 - .../hyperverse-ethereum-tribes/CHANGELOG.md | 82 ----- packages/hyperverse-ethereum-tribes/README.md | 15 - .../contracts/Tribes.sol | 119 ------- .../contracts/hyperverse/CloneFactory.sol | 52 --- .../hyperverse/IHyperverseModule.sol | 34 -- .../hardhat.config.js | 27 -- packages/hyperverse-ethereum-tribes/index.ts | 1 - .../hyperverse-ethereum-tribes/package.json | 44 --- .../scripts/deploy.js | 19 -- .../source/Provider.tsx | 27 -- .../source/index.ts | 2 - .../source/useTribes.ts | 269 --------------- .../test/tribes-test.js | 130 -------- .../hyperverse-ethereum-tribes/tsconfig.json | 8 - .../utils/Tribes.json | 314 ------------------ .../.gitignore | 0 .../CHANGELOG.md | 0 .../README.md | 0 .../contracts/ExampleNFT.sol | 0 .../contracts/ExampleNFTFactory.sol | 0 .../contracts/Greeter.sol | 0 .../contracts/MERC721.sol | 0 .../contracts/hyperverse/CloneFactory.sol | 0 .../hyperverse/IHyperverseModule.sol | 0 .../hardhat.config.js | 0 .../index.tsx | 0 .../package.json | 4 +- .../scripts/deploy-test.js | 0 .../scripts/deploy.js | 0 .../scripts/sample-script.js | 0 .../scripts/test.js | 0 .../source/Provider.tsx | 0 .../source/environment.ts | 54 +++ .../source/index.ts | 0 .../source/useERC721.ts | 15 +- .../test/sample-test.js | 0 .../utils/ExampleNFT.json | 0 .../utils/ExampleNFTFactory.json | 0 yarn.lock | 15 + 50 files changed, 86 insertions(+), 1181 deletions(-) delete mode 100644 packages/hyperverse-ethereum-erc721/source/constants.ts delete mode 100644 packages/hyperverse-ethereum-tribes/.gitignore delete mode 100644 packages/hyperverse-ethereum-tribes/CHANGELOG.md delete mode 100644 packages/hyperverse-ethereum-tribes/README.md delete mode 100644 packages/hyperverse-ethereum-tribes/contracts/Tribes.sol delete mode 100644 packages/hyperverse-ethereum-tribes/contracts/hyperverse/CloneFactory.sol delete mode 100644 packages/hyperverse-ethereum-tribes/contracts/hyperverse/IHyperverseModule.sol delete mode 100644 packages/hyperverse-ethereum-tribes/hardhat.config.js delete mode 100644 packages/hyperverse-ethereum-tribes/index.ts delete mode 100644 packages/hyperverse-ethereum-tribes/package.json delete mode 100644 packages/hyperverse-ethereum-tribes/scripts/deploy.js delete mode 100644 packages/hyperverse-ethereum-tribes/source/Provider.tsx delete mode 100644 packages/hyperverse-ethereum-tribes/source/index.ts delete mode 100644 packages/hyperverse-ethereum-tribes/source/useTribes.ts delete mode 100644 packages/hyperverse-ethereum-tribes/test/tribes-test.js delete mode 100644 packages/hyperverse-ethereum-tribes/tsconfig.json delete mode 100644 packages/hyperverse-ethereum-tribes/utils/Tribes.json rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/.gitignore (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/CHANGELOG.md (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/README.md (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/contracts/ExampleNFT.sol (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/contracts/ExampleNFTFactory.sol (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/contracts/Greeter.sol (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/contracts/MERC721.sol (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/contracts/hyperverse/CloneFactory.sol (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/contracts/hyperverse/IHyperverseModule.sol (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/hardhat.config.js (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/index.tsx (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/package.json (90%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/scripts/deploy-test.js (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/scripts/deploy.js (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/scripts/sample-script.js (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/scripts/test.js (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/source/Provider.tsx (100%) create mode 100644 packages/hyperverse-evm-erc721/source/environment.ts rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/source/index.ts (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/source/useERC721.ts (93%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/test/sample-test.js (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/utils/ExampleNFT.json (100%) rename packages/{hyperverse-ethereum-erc721 => hyperverse-evm-erc721}/utils/ExampleNFTFactory.json (100%) diff --git a/apps/ethereum/tribes/next.config.js b/apps/ethereum/tribes/next.config.js index 327dbb50..53605cc1 100644 --- a/apps/ethereum/tribes/next.config.js +++ b/apps/ethereum/tribes/next.config.js @@ -3,7 +3,7 @@ const withTM = require('next-transpile-modules')([ '@decentology/unstated-next', '@decentology/hyperverse', '@decentology/hyperverse-ethereum', - '@decentology/hyperverse-ethereum-tribes', + '@decentology/hyperverse-evm-tribes', ]); module.exports = withTM({ diff --git a/apps/ethereum/tribes/package.json b/apps/ethereum/tribes/package.json index d61c5300..d1ff1bc1 100644 --- a/apps/ethereum/tribes/package.json +++ b/apps/ethereum/tribes/package.json @@ -12,7 +12,7 @@ "@decentology/hyperverse": "^1.0.0", "@decentology/hyperverse-ethereum": "^1.0.0", "@decentology/hyperverse-ethereum-randompick": "^1.0.0", - "@decentology/hyperverse-ethereum-tribes": "^1.0.0", + "@decentology/hyperverse-evm-tribes": "^1.0.0", "ethers": "^5.5.2", "next": "12.0.7", "react": "17.0.2", diff --git a/apps/ethereum/tribes/src/components/InnerComponent.tsx b/apps/ethereum/tribes/src/components/InnerComponent.tsx index 464df293..95eef533 100644 --- a/apps/ethereum/tribes/src/components/InnerComponent.tsx +++ b/apps/ethereum/tribes/src/components/InnerComponent.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { useTribes } from '@decentology/hyperverse-ethereum-tribes'; +import { useTribes } from '@decentology/hyperverse-evm-tribes'; const InnerComponent: React.FunctionComponent = ({ children }) => { const { useTribeEvents } = useTribes(); diff --git a/apps/ethereum/tribes/src/pages/_app.tsx b/apps/ethereum/tribes/src/pages/_app.tsx index c5f09ee7..cb8c2fa9 100644 --- a/apps/ethereum/tribes/src/pages/_app.tsx +++ b/apps/ethereum/tribes/src/pages/_app.tsx @@ -3,7 +3,7 @@ import type { AppProps } from 'next/app'; import { initialize, Provider } from '@decentology/hyperverse'; import { networks } from '@decentology/hyperverse'; import { Ethereum } from '@decentology/hyperverse-ethereum'; -import * as Tribes from '@decentology/hyperverse-ethereum-tribes'; +import * as Tribes from '@decentology/hyperverse-evm-tribes'; import * as RandomPick from '@decentology/hyperverse-ethereum-randompick'; import InnerComponent from '../components/InnerComponent'; import { ToastContainer } from 'react-toastify'; diff --git a/apps/ethereum/tribes/src/pages/all-tribes.tsx b/apps/ethereum/tribes/src/pages/all-tribes.tsx index 1b8770b3..92a88b18 100644 --- a/apps/ethereum/tribes/src/pages/all-tribes.tsx +++ b/apps/ethereum/tribes/src/pages/all-tribes.tsx @@ -2,7 +2,7 @@ import { useRouter } from 'next/router'; import styles from '../styles/Home.module.css'; import Nav from '../components/Nav'; import Loader from '../components/Loader'; -import { useTribes } from '@decentology/hyperverse-ethereum-tribes'; +import { useTribes } from '@decentology/hyperverse-evm-tribes'; import { useEthereum } from '@decentology/hyperverse-ethereum'; import Image from 'next/image'; import { toast } from 'react-toastify'; diff --git a/apps/ethereum/tribes/src/pages/battle.tsx b/apps/ethereum/tribes/src/pages/battle.tsx index 33f7c575..e5c11566 100644 --- a/apps/ethereum/tribes/src/pages/battle.tsx +++ b/apps/ethereum/tribes/src/pages/battle.tsx @@ -1,5 +1,5 @@ import { useRandomPick } from '@decentology/hyperverse-ethereum-randompick'; -import { useTribes } from '@decentology/hyperverse-ethereum-tribes'; +import { useTribes } from '@decentology/hyperverse-evm-tribes'; import Image from 'next/image'; import { useCallback, useEffect, useState } from 'react'; import Confetti from 'react-confetti'; diff --git a/apps/ethereum/tribes/src/pages/index.tsx b/apps/ethereum/tribes/src/pages/index.tsx index 319b4867..b22ba503 100644 --- a/apps/ethereum/tribes/src/pages/index.tsx +++ b/apps/ethereum/tribes/src/pages/index.tsx @@ -4,7 +4,7 @@ import { useRouter } from 'next/router'; import { useEffect } from 'react'; import styles from '../styles/Home.module.css'; import Nav from '../components/Nav'; -import { useTribes } from '@decentology/hyperverse-ethereum-tribes'; +import { useTribes } from '@decentology/hyperverse-evm-tribes'; import { useEthereum } from '@decentology/hyperverse-ethereum'; import { toast } from 'react-toastify'; diff --git a/apps/ethereum/tribes/src/pages/my-tribe.tsx b/apps/ethereum/tribes/src/pages/my-tribe.tsx index 4c29e1d0..106d0a40 100644 --- a/apps/ethereum/tribes/src/pages/my-tribe.tsx +++ b/apps/ethereum/tribes/src/pages/my-tribe.tsx @@ -2,7 +2,7 @@ import { useRouter } from 'next/router'; import { useQuery } from 'react-query'; import { useEffect } from 'react'; import { useEthereum } from '@decentology/hyperverse-ethereum'; -import { useTribes } from '@decentology/hyperverse-ethereum-tribes'; +import { useTribes } from '@decentology/hyperverse-evm-tribes'; import styles from '../styles/Home.module.css'; import Nav from '../components/Nav'; import Loader from '../components/Loader'; diff --git a/apps/ethereum/tribes/src/pages/setup.tsx b/apps/ethereum/tribes/src/pages/setup.tsx index ecd2bbc6..f2fde38d 100644 --- a/apps/ethereum/tribes/src/pages/setup.tsx +++ b/apps/ethereum/tribes/src/pages/setup.tsx @@ -2,7 +2,7 @@ import { useState, useEffect } from 'react'; import { useRouter } from 'next/router'; import styles from '../styles/Home.module.css'; import Loader from '../components/Loader'; -import { useTribes } from '@decentology/hyperverse-ethereum-tribes'; +import { useTribes } from '@decentology/hyperverse-evm-tribes'; import { useEthereum } from '@decentology/hyperverse-ethereum'; import { toast } from 'react-toastify'; diff --git a/packages/hyperverse-ethereum-erc721/source/constants.ts b/packages/hyperverse-ethereum-erc721/source/constants.ts deleted file mode 100644 index e2b79ba6..00000000 --- a/packages/hyperverse-ethereum-erc721/source/constants.ts +++ /dev/null @@ -1,8 +0,0 @@ -import ERC721FactoryABI from '../utils/ExampleNFTFactory.json'; -import ERC721ABI from '../utils/ExampleNFT.json'; - -export const FactoryABI = ERC721FactoryABI.abi; -export const ABI = ERC721ABI.abi; -export const ExampleNFT = `0x0af78495a25D77D25F51D4F797F473521f29e07B`; -export const ExampleNFTFactory = `0xe5d761311212ABF55c9C6eb6d80eAF804F213d72`; -export const TENANT_ADDRESS = `0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266`; \ No newline at end of file diff --git a/packages/hyperverse-ethereum-tribes/.gitignore b/packages/hyperverse-ethereum-tribes/.gitignore deleted file mode 100644 index 71e12656..00000000 --- a/packages/hyperverse-ethereum-tribes/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -node_modules -.env -coverage -coverage.json -typechain - -#Hardhat files -cache -artifacts -distribution \ No newline at end of file diff --git a/packages/hyperverse-ethereum-tribes/CHANGELOG.md b/packages/hyperverse-ethereum-tribes/CHANGELOG.md deleted file mode 100644 index 69ab8f48..00000000 --- a/packages/hyperverse-ethereum-tribes/CHANGELOG.md +++ /dev/null @@ -1,82 +0,0 @@ -# @decentology/hyperverse-ethereum-tribes - -## 1.0.9 - -### Patch Changes - -- Milestone update. Added token and er721 modules -- Updated dependencies - - @decentology/unstated-next@1.1.1 - - @decentology/hyperverse@1.0.9 - - @decentology/hyperverse-ethereum@1.0.9 - - @decentology/hyperverse-storage-skynet@1.0.8 - -## 1.0.8 - -### Patch Changes - -- 9df884a: Updated package deps versions for semver -- Milestone update. Added support for multi chain swapping -- Updated dependencies [9df884a] -- Updated dependencies - - @decentology/hyperverse@1.0.8 - - @decentology/hyperverse-ethereum@1.0.8 - - @decentology/hyperverse-storage-skynet@1.0.7 - -## 1.0.7 - -### Patch Changes - -- SSL error with SiaSky.net vs FilePortal.org -- Updated dependencies - - @decentology/hyperverse@1.0.7 - - @decentology/hyperverse-ethereum@1.0.7 - - @decentology/hyperverse-storage-skynet@1.0.6 - -## 1.0.6 - -### Patch Changes - -- Updated dependencies - - @decentology/hyperverse@1.0.6 - - @decentology/hyperverse-ethereum@1.0.6 - -## 1.0.5 - -### Patch Changes - -- 8183269: Bug fixes for login/logout workflow -- Updated dependencies [38bce19] -- Updated dependencies [8183269] - - @decentology/hyperverse-ethereum@1.0.5 - - @decentology/hyperverse@1.0.5 - - @decentology/hyperverse-storage-skynet@1.0.5 - -## 1.0.4 - -### Patch Changes - -- Handle metamask workflow and stablizing platform -- Updated dependencies - - @decentology/hyperverse@1.0.4 - - @decentology/hyperverse-ethereum@1.0.4 - - @decentology/hyperverse-storage-skynet@1.0.4 - -## 1.0.3 - -### Patch Changes - -- Version bump after changeset and build -- Updated dependencies - - @decentology/hyperverse@1.0.3 - - @decentology/hyperverse-ethereum@1.0.3 - - @decentology/hyperverse-storage-skynet@1.0.3 - -## 1.0.2 - -### Patch Changes - -- Milestone change of state management -- Updated dependencies - - @decentology/hyperverse@1.0.2 - - @decentology/hyperverse-ethereum@1.0.2 diff --git a/packages/hyperverse-ethereum-tribes/README.md b/packages/hyperverse-ethereum-tribes/README.md deleted file mode 100644 index cb97640d..00000000 --- a/packages/hyperverse-ethereum-tribes/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Basic Sample Hardhat Project - -This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, a sample script that deploys that contract, and an example of a task implementation, which simply lists the available accounts. - -Try running some of the following tasks: - -```shell -npx hardhat accounts -npx hardhat compile -npx hardhat clean -npx hardhat test -npx hardhat node -node scripts/sample-script.js -npx hardhat help -``` diff --git a/packages/hyperverse-ethereum-tribes/contracts/Tribes.sol b/packages/hyperverse-ethereum-tribes/contracts/Tribes.sol deleted file mode 100644 index d068b423..00000000 --- a/packages/hyperverse-ethereum-tribes/contracts/Tribes.sol +++ /dev/null @@ -1,119 +0,0 @@ -//SPDX-License-Identifier: Unlicense -pragma solidity ^0.8.0; - -import "./hyperverse/IHyperverseModule.sol"; -import "@openzeppelin/contracts/utils/Counters.sol"; - -contract Tribes is IHyperverseModule { - using Counters for Counters.Counter; - - address public owner; - Counters.Counter public tenantCount; - - struct Tenant { - mapping(uint256 => TribeData) tribes; - mapping(address => uint256) participants; - Counters.Counter tribeIds; - } - - struct TribeData { - string metadata; - mapping(address => bool) members; - uint256 numOfMembers; - uint256 tribeId; - } - - mapping(address => Tenant) public tenants; - mapping(address => bool) public instance; - - modifier hasAnInstance(address tenant) { - require(instance[tenant], "Tenant does not have an instance"); - _; - } - - event NewTenantInstance(address tenant); - event JoinedTribe(uint256 tribeId, address newMember); - event LeftTribe(uint256 tribeId, address member); - event NewTribeCreated(string metadata); - - constructor() { - metadata = ModuleMetadata( - "Tribes", - Author(msg.sender, "https://externallink.net"), - "0.0.1", - 3479831479814, - "https://externalLink.net" - ); - owner = msg.sender; - } - - function createInstance() public virtual { - require(instance[msg.sender] == false, "You already have an instance"); - tenants[msg.sender]; - instance[msg.sender] = true; - tenantCount.increment(); - emit NewTenantInstance(msg.sender); - } - - function getState(address tenant) private view hasAnInstance(tenant) returns (Tenant storage) { - return tenants[tenant]; - } - - function addNewTribe(string memory metadata) public virtual hasAnInstance(msg.sender) { - Tenant storage state = getState(msg.sender); - - state.tribeIds.increment(); - uint256 newTribeId = state.tribeIds.current(); - - TribeData storage newTribe = state.tribes[newTribeId]; - newTribe.metadata = metadata; - newTribe.tribeId = newTribeId; - emit NewTribeCreated(metadata); - } - - function joinTribe(address tenant, uint256 tribeId) public virtual { - address user = msg.sender; - Tenant storage state = getState(tenant); - require(state.participants[user] == 0, "User is already in a Tribe!"); - require(state.tribeIds.current() >= tribeId, "Tribe does not exist"); - - state.participants[user] = tribeId; - TribeData storage tribeData = state.tribes[tribeId]; - tribeData.members[user] = true; - tribeData.numOfMembers += 1; - - emit JoinedTribe(tribeId, user); - } - - function leaveTribe(address tenant) public virtual { - Tenant storage state = getState(tenant); - require(state.participants[msg.sender] != 0, "This member is not in a Tribe!"); - - TribeData storage tribeData = state.tribes[state.participants[msg.sender]]; - uint256 tribeId = state.participants[msg.sender]; - state.participants[msg.sender] = 0; - tribeData.members[msg.sender] = false; - tribeData.numOfMembers -= 1; - - emit LeftTribe(tribeId, msg.sender); - } - - function getUserTribe(address tenant, address user) public view virtual returns (uint256) { - Tenant storage state = getState(tenant); - - require(state.participants[user] != 0, "This member is not in a Tribe!"); - - uint256 tribeId = state.participants[user]; - return tribeId; - } - - function getTribeData(address tenant, uint256 tribeId) public view virtual returns (string memory) { - Tenant storage state = getState(tenant); - TribeData storage tribeData = state.tribes[tribeId]; - return (tribeData.metadata); - } - - function totalTribes(address tenant) public view virtual returns (uint256) { - return getState(tenant).tribeIds.current(); - } -} diff --git a/packages/hyperverse-ethereum-tribes/contracts/hyperverse/CloneFactory.sol b/packages/hyperverse-ethereum-tribes/contracts/hyperverse/CloneFactory.sol deleted file mode 100644 index 7893fe82..00000000 --- a/packages/hyperverse-ethereum-tribes/contracts/hyperverse/CloneFactory.sol +++ /dev/null @@ -1,52 +0,0 @@ -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -/* -The MIT License (MIT) -Copyright (c) 2018 Murray Software, LLC. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -//solhint-disable max-line-length -//solhint-disable no-inline-assembly - -contract CloneFactory { - function createClone(address target) internal returns (address result) { - bytes20 targetBytes = bytes20(target); - assembly { - let clone := mload(0x40) - mstore(clone, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000) - mstore(add(clone, 0x14), targetBytes) - mstore(add(clone, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) - result := create(0, clone, 0x37) - } - } - - function isClone(address target, address query) internal view returns (bool result) { - bytes20 targetBytes = bytes20(target); - assembly { - let clone := mload(0x40) - mstore(clone, 0x363d3d373d3d3d363d7300000000000000000000000000000000000000000000) - mstore(add(clone, 0xa), targetBytes) - mstore(add(clone, 0x1e), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) - - let other := add(clone, 0x40) - extcodecopy(query, other, 0, 0x2d) - result := and(eq(mload(clone), mload(other)), eq(mload(add(clone, 0xd)), mload(add(other, 0xd)))) - } - } -} diff --git a/packages/hyperverse-ethereum-tribes/contracts/hyperverse/IHyperverseModule.sol b/packages/hyperverse-ethereum-tribes/contracts/hyperverse/IHyperverseModule.sol deleted file mode 100644 index c80ab4a0..00000000 --- a/packages/hyperverse-ethereum-tribes/contracts/hyperverse/IHyperverseModule.sol +++ /dev/null @@ -1,34 +0,0 @@ -/** - -## The Decentology Smart Module standard on Ethereum - -## `IHyperverseModule` interface - -In essense, this contract serves the equivalent of two purposes -in respect to Cadence: -1) Enforces the `metadata` variable (same as IHyperverseModule.cdc) -2) Defines what a ModuleMetadata is (sam as HyperverseModule.cdc) - -*/ - -// SPDX-License-Identifier: UNLICENSED - -pragma solidity ^0.8.0; - -abstract contract IHyperverseModule { - ModuleMetadata public metadata; - address private owner; - - struct ModuleMetadata { - bytes title; // <-- `pub var title: String` in Cadence - Author author; - bytes version; - uint64 publishedAt; - bytes externalLink; // <-- can't be "external" in Solidity because it's a keyword - } - - struct Author { - address authorAddress; // <-- can't be "address" in Solidity because it's a keyword - string externalLink; - } -} diff --git a/packages/hyperverse-ethereum-tribes/hardhat.config.js b/packages/hyperverse-ethereum-tribes/hardhat.config.js deleted file mode 100644 index 95ed8b2a..00000000 --- a/packages/hyperverse-ethereum-tribes/hardhat.config.js +++ /dev/null @@ -1,27 +0,0 @@ -require("@nomiclabs/hardhat-waffle"); - -// This is a sample Hardhat task. To learn how to create your own go to -// https://hardhat.org/guides/create-task.html -task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { - const accounts = await hre.ethers.getSigners(); - - for (const account of accounts) { - console.log(account.address); - } -}); - -// You need to export an object to set up your config -// Go to https://hardhat.org/config/ to learn more - -/** - * @type import('hardhat/config').HardhatUserConfig - */ -module.exports = { - solidity: "0.8.4", - networks: { - rinkeby: { - url: `https://rinkeby.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_API_KEY}`, - accounts: [process.env.NEXT_PRIVATE_KEY], - }, - }, -}; diff --git a/packages/hyperverse-ethereum-tribes/index.ts b/packages/hyperverse-ethereum-tribes/index.ts deleted file mode 100644 index 6ffed2ee..00000000 --- a/packages/hyperverse-ethereum-tribes/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './source'; diff --git a/packages/hyperverse-ethereum-tribes/package.json b/packages/hyperverse-ethereum-tribes/package.json deleted file mode 100644 index 43683c49..00000000 --- a/packages/hyperverse-ethereum-tribes/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "@decentology/hyperverse-ethereum-tribes", - "version": "1.0.9", - "source": "./source/index.ts", - "types": "./distribution/index.d.ts", - "main": "./distribution/index.js", - "license": "MIT", - "scripts": { - "test": "hardhat test", - "build": "parcel build", - "clean": "rimraf ./distribution" - }, - "publishConfig": { - "access": "public" - }, - "peerDependencies": { - "react": "^17.0.2" - }, - "files": [ - "distribution", - "utils" - ], - "dependencies": { - "@decentology/hyperverse": "^1.0.9", - "@decentology/hyperverse-ethereum": "^1.0.9", - "@decentology/hyperverse-storage-skynet": "^1.0.8", - "@openzeppelin/contracts": "^4.4.2", - "ethers": "^5.5.3", - "react-query": "^3.34.7", - "react-use": "^17.3.2", - "skynet-js": "^4.0.23-beta", - "@decentology/unstated-next": "^1.1.1" - }, - "devDependencies": { - "@decentology/config": "^1.0.0", - "@nomiclabs/hardhat-ethers": "^2.0.4", - "@nomiclabs/hardhat-waffle": "^2.0.2", - "chai": "^4.3.4", - "ethereum-waffle": "^3.4.0", - "hardhat": "^2.8.3", - "parcel": "^2.2.1", - "rimraf": "^3.0.2" - } -} diff --git a/packages/hyperverse-ethereum-tribes/scripts/deploy.js b/packages/hyperverse-ethereum-tribes/scripts/deploy.js deleted file mode 100644 index 03a9427b..00000000 --- a/packages/hyperverse-ethereum-tribes/scripts/deploy.js +++ /dev/null @@ -1,19 +0,0 @@ -const hre = require('hardhat'); -const main = async () => { - const tribesContractFactory = await hre.ethers.getContractFactory('Tribes'); - const baseTribesContract = await tribesContractFactory.deploy(); - await baseTribesContract.deployed(); - console.log('Tribes Contract deployed to: ', baseTribesContract.address); -}; - -const runMain = async () => { - try { - await main(); - process.exit(0); - } catch (error) { - console.error(error); - process.exit(1); - } -}; - -runMain(); \ No newline at end of file diff --git a/packages/hyperverse-ethereum-tribes/source/Provider.tsx b/packages/hyperverse-ethereum-tribes/source/Provider.tsx deleted file mode 100644 index 02b8cbf3..00000000 --- a/packages/hyperverse-ethereum-tribes/source/Provider.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { createContext, FC } from 'react'; -import { useEthereum } from '@decentology/hyperverse-ethereum'; -import { QueryClientProvider, QueryClient } from 'react-query'; -import ABI from '../utils/Tribes.json'; -import { HyperverseModuleInstance, networks, useHyperverse } from '@decentology/hyperverse'; -import { Tribes } from './useTribes'; -const client = new QueryClient(); - -export const ContractABI = ABI.abi; -export const CONTRACT_TESTNET_ADDRESS = '0xf8CEc073d08e42cdDC1bF1fd8d44ce3252ab7352'; -export const TENANT_TESTNET_ADDRESS = '0xD847C7408c48b6b6720CCa75eB30a93acbF5163D'; - -const Provider: FC = ({ children, tenantId }) => { - const { network } = useHyperverse(); - if (network === networks.Mainnet && tenantId == null) { - throw new Error('Tenant ID is required for Mainnet'); - } - return ( - - - {children} - - - ); -}; - -export { Provider }; diff --git a/packages/hyperverse-ethereum-tribes/source/index.ts b/packages/hyperverse-ethereum-tribes/source/index.ts deleted file mode 100644 index c87bde61..00000000 --- a/packages/hyperverse-ethereum-tribes/source/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { useTribes } from './useTribes'; -export { Provider } from './Provider'; diff --git a/packages/hyperverse-ethereum-tribes/source/useTribes.ts b/packages/hyperverse-ethereum-tribes/source/useTribes.ts deleted file mode 100644 index c7b4932a..00000000 --- a/packages/hyperverse-ethereum-tribes/source/useTribes.ts +++ /dev/null @@ -1,269 +0,0 @@ -import { useState, useEffect, useCallback } from 'react'; -import { useQuery, useMutation, useQueryClient, UseMutationOptions } from 'react-query'; -import { ethers } from 'ethers'; -import { useEthereum } from '@decentology/hyperverse-ethereum'; -import { ContractABI, CONTRACT_TESTNET_ADDRESS } from './Provider'; -import { useEvent } from 'react-use'; -import { useStorage } from '@decentology/hyperverse-storage-skynet'; -import { createContainer, useContainer } from '@decentology/unstated-next'; - -type ContractState = ethers.Contract; - -type MetaData = { - name: string; - description: string; - image: string; -}; - -function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { - const { tenantId } = initialState; - const queryClient = useQueryClient(); - const { address, web3Provider, provider, connect } = useEthereum(); - const { clientUrl } = useStorage(); - const [contract, setTribesContract] = useState( - new ethers.Contract(CONTRACT_TESTNET_ADDRESS, ContractABI, provider) as ContractState - ); - const { uploadFile } = useStorage(); - const setup = useCallback(async () => { - const signer = await web3Provider?.getSigner(); - if (signer && contract) { - const ctr = contract.connect(signer) as ContractState; - setTribesContract(ctr); - } - }, [web3Provider]); - - const formatTribeResultFromTribeId = useCallback( - async (tribeId: number) => { - const txn = await contract.getTribeData(tenantId, tribeId); - const link = txn.replace('sia:', ''); - const json = JSON.parse( - // eslint-disable-next-line no-await-in-loop - await (await fetch(`${clientUrl}/${link}`)).text() - ); - - json.id = tribeId; - json.imageUrl = `${clientUrl}/${json.image.replace('sia:', '')}`; - return json; - }, - [contract] - ); - - const errors = (err: any) => { - if (!contract?.signer) { - throw new Error('Please connect your wallet!'); - } - - if (err.code === 4001) { - throw new Error('You rejected the transaction!'); - } - - if (err.message.includes('User is already in a Tribe!')) { - throw new Error('You are already in a tribe!'); - } - - throw err; - // throw new Error("Something went wrong!"); - }; - - useEffect(() => { - if (web3Provider) { - setup(); - } - }, [web3Provider]); - - const checkInstance = useCallback( - async (account: any) => { - try { - const instance = await contract.instance(account); - return instance; - } catch (err) { - return false; - } - }, - [contract] - ); - - const createInstance = useCallback(async () => { - try { - const createTxn = await contract.createInstance(); - return createTxn.wait(); - } catch (err) { - errors(err); - throw err; - } - }, [contract]); - - const getTotalTenants = useCallback(async () => { - try { - const tenantCount = await contract.tenantCount(); - - return tenantCount.toNumber(); - } catch (err) { - throw err; - } - }, [contract]); - - const addTribe = useCallback( - async (metadata: Omit, image: File) => { - try { - // TODO: Add progress indicator notices for steps - // 1. Upload file notification - // 2. Upload metadata information - // 3. Success notification - - const { skylink: imageLink } = await uploadFile(image); - const fullMetaData: MetaData = { - ...metadata, - image: imageLink.replace('sia:', ''), - }; - const metadataFile = new File([JSON.stringify(fullMetaData)], 'metadata.json'); - const { skylink: metadataFileLink } = await uploadFile(metadataFile); - - const addTxn = await contract.addNewTribe(metadataFileLink.replace('sia:', '')); - return addTxn.wait(); - } catch (err) { - errors(err); - throw err; - } - }, - [contract] - ); - - const getTribeId = useCallback( - async (account) => { - try { - const id = await contract.getUserTribe(tenantId, account); - return id.toNumber(); - } catch (err) { - if (err instanceof Error) { - if (err.message.includes('This member is not in a Tribe!')) { - return null; - } - } - errors(err); - } - }, - [contract] - ); - - const getTribe = useCallback( - async (id) => { - try { - const userTribeTxn = await contract.getTribeData(tenantId, id); - // return userTribeTxn; - return formatTribeResultFromTribeId(id); - } catch (err) { - errors(err); - } - }, - [contract] - ); - - const leaveTribe = useCallback(async () => { - try { - const leaveTxn = await contract.leaveTribe(tenantId); - await leaveTxn.wait(); - return leaveTxn.hash; - } catch (err) { - errors(err); - } - }, [contract]); - - const getAllTribes = useCallback(async () => { - try { - const tribesData = await contract.totalTribes(tenantId); - const tribes = []; - for (let tribeId = 1; tribeId <= tribesData.toNumber(); ++tribeId) { - const json = await formatTribeResultFromTribeId(tribeId); - tribes.push(json); - } - - return tribes; - } catch (err) { - errors(err); - } - }, [contract]); - - const joinTribe = useCallback( - async (id) => { - try { - const joinTxn = await contract.joinTribe(tenantId, id); - return joinTxn.wait(); - } catch (err) { - errors(err); - } - }, - [contract] - ); - - const useTribeEvents = (eventName: string, callback: any) => { - return useEvent(eventName, useCallback(callback, [contract]), contract); - }; - - return { - tenantId, - contract, - useTribeEvents, - CheckInstance: () => - useQuery(['checkInstance', address, contract?.address], () => checkInstance(address), { - enabled: !!address && !!contract?.address, - }), - NewInstance: ( - options?: Omit, 'mutationFn'> - ) => useMutation(createInstance, options), - TotalTenants: () => - useQuery(['totalTenants', contract?.address], () => getTotalTenants(), { - enabled: !!contract?.address, - }), - AddTribe: ( - options?: Omit< - UseMutationOptions< - unknown, - unknown, - { metadata: Omit; image: File }, - unknown - >, - 'mutationFn' - > - ) => useMutation((payload) => addTribe(payload.metadata, payload.image), options), - Tribes: () => - useQuery(['tribes', contract?.address], () => getAllTribes(), { - enabled: !!contract?.address, - }), - Join: ( - options?: Omit, 'mutationFn'> - ) => useMutation((id) => joinTribe(id), options), - Leave: ( - options?: Omit, 'mutationFn'> - ) => - useMutation(() => leaveTribe(), { - ...options, - onSuccess: (...args) => { - queryClient.clear(); - const fn = options?.onSuccess; - if (fn) fn(...args); - }, - }), - TribeId: () => - useQuery(['getTribeId', address, contract?.address], () => getTribeId(address), { - enabled: !!address && !!contract?.address, - retry: false, - }), - Tribe: () => { - const { data: tribeId } = useQuery( - ['getTribeId', address, contract?.address], - () => getTribeId(address), - { enabled: !!address && !!contract?.address } - ); - return useQuery(['getTribeData', tribeId], () => getTribe(tribeId), { - enabled: !!tribeId, - }); - }, - }; -} - -export const Tribes = createContainer(TribesState); - -export function useTribes() { - return useContainer(Tribes); -} diff --git a/packages/hyperverse-ethereum-tribes/test/tribes-test.js b/packages/hyperverse-ethereum-tribes/test/tribes-test.js deleted file mode 100644 index a3698fef..00000000 --- a/packages/hyperverse-ethereum-tribes/test/tribes-test.js +++ /dev/null @@ -1,130 +0,0 @@ -const { ethers } = require('hardhat'); -const { expect } = require('chai'); -const crypto = require('crypto'); - -describe('Tribes', async () => { - let Tribes; - let tribesContract; - let alice; - let bob; - let cara; - - beforeEach(async () => { - Tribes = await ethers.getContractFactory('Tribes'); - [alice, bob, cara] = await ethers.getSigners(); - - tribesContract = await Tribes.deploy(); - await tribesContract.deployed(); - }); - - describe('Initial', async () => { - it('Checking owner', async () => { - expect(await tribesContract.owner()).to.equal(alice.address); - }); - }); - - describe('No Instance', async () => { - it('Tenant mapping should be empty', async () => { - expect(await tribesContract.tenantCount()).to.equal(0); - }); - - it('Add a Tribe without instance should error', async () => { - await expect(tribesContract.connect(bob).addNewTribe('metadata')).to.be.revertedWith( - 'Tenant does not have an instance', - ); - }); - - it('Joining tribe with uninstantiated Tenant should error', async () => { - await expect(tribesContract.joinTribe(bob.address, 1)).to.be.revertedWith('Tenant does not have an instance'); - }); - - it('Leaving tribe with uninstantiated Tenant should error', async () => { - await expect(tribesContract.leaveTribe(bob.address)).to.be.revertedWith('Tenant does not have an instance'); - }); - - it('Getting user tribe with uninstantiated Tenant should error', async () => { - await expect(tribesContract.getUserTribe(bob.address, cara.address)).to.be.revertedWith( - 'Tenant does not have an instance', - ); - }); - - it('Getting tribe data with uninstantiated Tenant should error', async () => { - await expect(tribesContract.getTribeData(bob.address, 1)).to.be.revertedWith('Tenant does not have an instance'); - }); - - it('Getting total tribes with uninstantiated Tenant should error', async () => { - await expect(tribesContract.totalTribes(bob.address)).to.be.revertedWith('Tenant does not have an instance'); - }); - }); - - describe('With an instance', async () => { - beforeEach(async () => { - await tribesContract.connect(cara).createInstance(); - await tribesContract.connect(alice).createInstance(); - await tribesContract.connect(bob).createInstance(); - await tribesContract.connect(cara).addNewTribe('metadata'); - - }); - - it('Should return a Tenant Total of 3', async () => { - expect(await tribesContract.tenantCount()).to.equal(3); - }); - - it('Should error on creating another instance using Cara', async () => { - await expect(tribesContract.connect(cara).createInstance()).to.be.revertedWith('You already have an instance'); - }); - - it('Should return 1 for totalTribes', async () => { - expect(await tribesContract.totalTribes(cara.address)).to.equal(1); - }); - - it('Should allow cara to add another tribe 1', async () => { - await expect(tribesContract.connect(cara).addNewTribe('metadata')) - .to.emit(tribesContract, 'NewTribeCreated') - .withArgs('metadata'); - }); - - it('Should allow cara to get Tribe data', async () => { - expect(await tribesContract.getTribeData(cara.address, 1)).to.equal('metadata'); - }); - }); - - describe('Within instance user functionality', async () => { - beforeEach(async () => { - await tribesContract.connect(cara).createInstance(); - await tribesContract.connect(cara).addNewTribe('tribe1'); - await tribesContract.connect(cara).addNewTribe('tribe2'); - }); - - it('Should allow bob to join a tribe', async () => { - await expect(tribesContract.connect(bob).joinTribe(cara.address, 1)) - .to.emit(tribesContract, 'JoinedTribe') - .withArgs(1, bob.address); - }); - - it('Should error when bob joins another tribe', async () => { - await tribesContract.connect(bob).joinTribe(cara.address, 1); - - await expect(tribesContract.connect(bob).joinTribe(cara.address, 2)).to.be.revertedWith( - 'User is already in a Tribe!', - ); - }); - - it("Should return bob's tribeID which is 1", async () => { - await tribesContract.connect(bob).joinTribe(cara.address, 1); - - expect(await tribesContract.getUserTribe(cara.address, bob.address)).to.equal(1); - }); - - it('Should return tribe data of tribe1', async () => { - expect(await tribesContract.getTribeData(cara.address, 1)).to.equal('tribe1'); - }); - - it('Should allow bob to leaveTribe', async () => { - await tribesContract.connect(bob).joinTribe(cara.address, 1); - await expect(tribesContract.connect(bob).leaveTribe(cara.address)) - .to.emit(tribesContract, 'LeftTribe') - .withArgs(1, bob.address); - }); - }); -}); diff --git a/packages/hyperverse-ethereum-tribes/tsconfig.json b/packages/hyperverse-ethereum-tribes/tsconfig.json deleted file mode 100644 index c8791f5f..00000000 --- a/packages/hyperverse-ethereum-tribes/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "@decentology/config/react-library.json", - "include": ["source/**/*.ts", "source/**/*.tsx", "**/*.json"], - "exclude": ["distribution", "node_modules"], - "compilerOptions": { - "resolveJsonModule": true - } -} diff --git a/packages/hyperverse-ethereum-tribes/utils/Tribes.json b/packages/hyperverse-ethereum-tribes/utils/Tribes.json deleted file mode 100644 index a2c2dd4b..00000000 --- a/packages/hyperverse-ethereum-tribes/utils/Tribes.json +++ /dev/null @@ -1,314 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Tribes", - "sourceName": "contracts/Tribes.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "tribeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "newMember", - "type": "address" - } - ], - "name": "JoinedTribe", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "tribeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "member", - "type": "address" - } - ], - "name": "LeftTribe", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "tenant", - "type": "address" - } - ], - "name": "NewTenantInstance", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "metadata", - "type": "string" - } - ], - "name": "NewTribeCreated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "metadata", - "type": "string" - } - ], - "name": "addNewTribe", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "createInstance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tribeId", - "type": "uint256" - } - ], - "name": "getTribeData", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getUserTribe", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "instance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tribeId", - "type": "uint256" - } - ], - "name": "joinTribe", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - } - ], - "name": "leaveTribe", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "metadata", - "outputs": [ - { - "internalType": "bytes", - "name": "title", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "authorAddress", - "type": "address" - }, - { - "internalType": "string", - "name": "externalLink", - "type": "string" - } - ], - "internalType": "struct IHyperverseModule.Author", - "name": "author", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "version", - "type": "bytes" - }, - { - "internalType": "uint64", - "name": "publishedAt", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "externalLink", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tenantCount", - "outputs": [ - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "tenants", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "internalType": "struct Counters.Counter", - "name": "tribeIds", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - } - ], - "name": "totalTribes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506040518060a001604052806040518060400160405280600681526020017f5472696265730000000000000000000000000000000000000000000000000000815250815260200160405180604001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016040518060400160405280601881526020017f68747470733a2f2f65787465726e616c6c696e6b2e6e6574000000000000000081525081525081526020016040518060400160405280600581526020017f302e302e31000000000000000000000000000000000000000000000000000000815250815260200165032a361e860667ffffffffffffffff1681526020016040518060400160405280601881526020017f68747470733a2f2f65787465726e616c4c696e6b2e6e65740000000000000000815250815250600080820151816000019080519060200190620001669291906200028f565b5060208201518160010160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019080519060200190620001d592919062000320565b5050506040820151816003019080519060200190620001f69291906200028f565b5060608201518160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506080820151816005019080519060200190620002449291906200028f565b5090505033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000435565b8280546200029d90620003d0565b90600052602060002090601f016020900481019282620002c157600085556200030d565b82601f10620002dc57805160ff19168380011785556200030d565b828001600101855582156200030d579182015b828111156200030c578251825591602001919060010190620002ef565b5b5090506200031c9190620003b1565b5090565b8280546200032e90620003d0565b90600052602060002090601f0160209004810192826200035257600085556200039e565b82601f106200036d57805160ff19168380011785556200039e565b828001600101855582156200039e579182015b828111156200039d57825182559160200191906001019062000380565b5b509050620003ad9190620003b1565b5090565b5b80821115620003cc576000816000905550600101620003b2565b5090565b60006002820490506001821680620003e957607f821691505b602082108114156200040057620003ff62000406565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61190c80620004456000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461017d578063aae9f2591461019b578063ad501467146101cb578063be51f4f8146101d5578063cf33d58814610205578063fd9153a314610235576100b4565b80631307430a146100b957806316d24710146100d75780633269c74e146100f357806333d03bcc1461010f578063392f37e91461013f5780636d019c9214610161575b600080fd5b6100c1610265565b6040516100ce91906114cf565b60405180910390f35b6100f160048036038101906100ec91906110c3565b610271565b005b61010d6004803603810190610108919061105e565b61046a565b005b6101296004803603810190610124919061105e565b610698565b60405161013691906114cf565b60405180910390f35b6101476106b5565b604051610158959493929190611383565b60405180910390f35b61017b600480360381019061017691906110ff565b610977565b005b610185610aa6565b604051610192919061134d565b60405180910390f35b6101b560048036038101906101b09190611087565b610acc565b6040516101c291906114cf565b60405180910390f35b6101d3610bb0565b005b6101ef60048036038101906101ea91906110c3565b610d1e565b6040516101fc91906113f2565b60405180910390f35b61021f600480360381019061021a919061105e565b610ddd565b60405161022c9190611368565b60405180910390f35b61024f600480360381019061024a919061105e565b610dfd565b60405161025c91906114b4565b60405180910390f35b60088060000154905081565b6000339050600061028184610e2f565b905060008160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fe90611474565b60405180910390fd5b8261031482600201610f05565b1015610355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034c90611494565b60405180910390fd5b828160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000816000016000858152602001908152602001600020905060018160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600181600201600082825461042391906115b2565b925050819055507f8e0fdde8512c413931ab05e9ae74b54525259ce920b11c355705e510829841db848460405161045b9291906114ea565b60405180910390a15050505050565b600061047582610e2f565b905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156104fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f390611414565b60405180910390fd5b60008160000160008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020905060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018260020160008282546106529190611608565b925050819055507fbeae83c5a8a13a5d2a71926ba1055d7a1d9de899e96f7244654799627236644d813360405161068a9291906114ea565b60405180910390a150505050565b60006106ae6106a683610e2f565b600201610f05565b9050919050565b60008060000180546106c6906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546106f2906116da565b801561073f5780601f106107145761010080835404028352916020019161073f565b820191906000526020600020905b81548152906001019060200180831161072257829003601f168201915b505050505090806001016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180546107ba906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546107e6906116da565b80156108335780601f1061080857610100808354040283529160200191610833565b820191906000526020600020905b81548152906001019060200180831161081657829003601f168201915b5050505050815250509080600301805461084c906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610878906116da565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050908060040160009054906101000a900467ffffffffffffffff16908060050180546108f4906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610920906116da565b801561096d5780601f106109425761010080835404028352916020019161096d565b820191906000526020600020905b81548152906001019060200180831161095057829003601f168201915b5050505050905085565b33600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb90611434565b60405180910390fd5b6000610a0f33610e2f565b9050610a1d81600201610f13565b6000610a2b82600201610f05565b90506000826000016000838152602001908152602001600020905084816000019080519060200190610a5e929190610f29565b508181600301819055507f2d06fe5eff482a0b08e70bd38f111a1a397e6952391bdc714df3eacb735b354c85604051610a9791906113f2565b60405180910390a15050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610ad884610e2f565b905060008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5690611414565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050809250505092915050565b60001515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90611454565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610ce56008610f13565b7fa7c4d74046e6121f6c1f91b52d5af6460c49a30ba0cb5920a2dd4434af77933a33604051610d14919061134d565b60405180910390a1565b60606000610d2b84610e2f565b905060008160000160008581526020019081526020016000209050806000018054610d55906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610d81906116da565b8015610dce5780601f10610da357610100808354040283529160200191610dce565b820191906000526020600020905b815481529060010190602001808311610db157829003601f168201915b50505050509250505092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600960205280600052604060002060009150905080600201604051806020016040529081600082015481525050905081565b600081600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590611434565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915050919050565b600081600001549050919050565b6001816000016000828254019250508190555050565b828054610f35906116da565b90600052602060002090601f016020900481019282610f575760008555610f9e565b82601f10610f7057805160ff1916838001178555610f9e565b82800160010185558215610f9e579182015b82811115610f9d578251825591602001919060010190610f82565b5b509050610fab9190610faf565b5090565b5b80821115610fc8576000816000905550600101610fb0565b5090565b6000610fdf610fda84611538565b611513565b905082815260208101848484011115610ff757600080fd5b611002848285611698565b509392505050565b600081359050611019816118a8565b92915050565b600082601f83011261103057600080fd5b8135611040848260208601610fcc565b91505092915050565b600081359050611058816118bf565b92915050565b60006020828403121561107057600080fd5b600061107e8482850161100a565b91505092915050565b6000806040838503121561109a57600080fd5b60006110a88582860161100a565b92505060206110b98582860161100a565b9150509250929050565b600080604083850312156110d657600080fd5b60006110e48582860161100a565b92505060206110f585828601611049565b9150509250929050565b60006020828403121561111157600080fd5b600082013567ffffffffffffffff81111561112b57600080fd5b6111378482850161101f565b91505092915050565b6111498161163c565b82525050565b6111588161163c565b82525050565b6111678161164e565b82525050565b600061117882611569565b611182818561157f565b93506111928185602086016116a7565b61119b816117ca565b840191505092915050565b60006111b182611574565b6111bb8185611590565b93506111cb8185602086016116a7565b6111d4816117ca565b840191505092915050565b60006111ea82611574565b6111f481856115a1565b93506112048185602086016116a7565b61120d816117ca565b840191505092915050565b6000611225601e836115a1565b9150611230826117db565b602082019050919050565b60006112486020836115a1565b915061125382611804565b602082019050919050565b600061126b601c836115a1565b91506112768261182d565b602082019050919050565b600061128e601b836115a1565b915061129982611856565b602082019050919050565b60006112b16014836115a1565b91506112bc8261187f565b602082019050919050565b60006040830160008301516112df6000860182611140565b50602083015184820360208601526112f782826111a6565b9150508091505092915050565b60208201600082015161131a6000850182611320565b50505050565b6113298161167a565b82525050565b6113388161167a565b82525050565b61134781611684565b82525050565b6000602082019050611362600083018461114f565b92915050565b600060208201905061137d600083018461115e565b92915050565b600060a082019050818103600083015261139d818861116d565b905081810360208301526113b181876112c7565b905081810360408301526113c5818661116d565b90506113d4606083018561133e565b81810360808301526113e6818461116d565b90509695505050505050565b6000602082019050818103600083015261140c81846111df565b905092915050565b6000602082019050818103600083015261142d81611218565b9050919050565b6000602082019050818103600083015261144d8161123b565b9050919050565b6000602082019050818103600083015261146d8161125e565b9050919050565b6000602082019050818103600083015261148d81611281565b9050919050565b600060208201905081810360008301526114ad816112a4565b9050919050565b60006020820190506114c96000830184611304565b92915050565b60006020820190506114e4600083018461132f565b92915050565b60006040820190506114ff600083018561132f565b61150c602083018461114f565b9392505050565b600061151d61152e565b9050611529828261170c565b919050565b6000604051905090565b600067ffffffffffffffff8211156115535761155261179b565b5b61155c826117ca565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006115bd8261167a565b91506115c88361167a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115fd576115fc61173d565b5b828201905092915050565b60006116138261167a565b915061161e8361167a565b9250828210156116315761163061173d565b5b828203905092915050565b60006116478261165a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b838110156116c55780820151818401526020810190506116aa565b838111156116d4576000848401525b50505050565b600060028204905060018216806116f257607f821691505b602082108114156117065761170561176c565b5b50919050565b611715826117ca565b810181811067ffffffffffffffff821117156117345761173361179b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f54686973206d656d626572206973206e6f7420696e2061205472696265210000600082015250565b7f54656e616e7420646f6573206e6f74206861766520616e20696e7374616e6365600082015250565b7f596f7520616c7265616479206861766520616e20696e7374616e636500000000600082015250565b7f5573657220697320616c726561647920696e2061205472696265210000000000600082015250565b7f547269626520646f6573206e6f74206578697374000000000000000000000000600082015250565b6118b18161163c565b81146118bc57600080fd5b50565b6118c88161167a565b81146118d357600080fd5b5056fea2646970667358221220ebe031daa7895c6bbfbbc341e12d1c27c4ddaf19caf64e15506af591a7e70f1364736f6c63430008040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461017d578063aae9f2591461019b578063ad501467146101cb578063be51f4f8146101d5578063cf33d58814610205578063fd9153a314610235576100b4565b80631307430a146100b957806316d24710146100d75780633269c74e146100f357806333d03bcc1461010f578063392f37e91461013f5780636d019c9214610161575b600080fd5b6100c1610265565b6040516100ce91906114cf565b60405180910390f35b6100f160048036038101906100ec91906110c3565b610271565b005b61010d6004803603810190610108919061105e565b61046a565b005b6101296004803603810190610124919061105e565b610698565b60405161013691906114cf565b60405180910390f35b6101476106b5565b604051610158959493929190611383565b60405180910390f35b61017b600480360381019061017691906110ff565b610977565b005b610185610aa6565b604051610192919061134d565b60405180910390f35b6101b560048036038101906101b09190611087565b610acc565b6040516101c291906114cf565b60405180910390f35b6101d3610bb0565b005b6101ef60048036038101906101ea91906110c3565b610d1e565b6040516101fc91906113f2565b60405180910390f35b61021f600480360381019061021a919061105e565b610ddd565b60405161022c9190611368565b60405180910390f35b61024f600480360381019061024a919061105e565b610dfd565b60405161025c91906114b4565b60405180910390f35b60088060000154905081565b6000339050600061028184610e2f565b905060008160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fe90611474565b60405180910390fd5b8261031482600201610f05565b1015610355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034c90611494565b60405180910390fd5b828160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000816000016000858152602001908152602001600020905060018160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600181600201600082825461042391906115b2565b925050819055507f8e0fdde8512c413931ab05e9ae74b54525259ce920b11c355705e510829841db848460405161045b9291906114ea565b60405180910390a15050505050565b600061047582610e2f565b905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156104fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f390611414565b60405180910390fd5b60008160000160008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020905060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018260020160008282546106529190611608565b925050819055507fbeae83c5a8a13a5d2a71926ba1055d7a1d9de899e96f7244654799627236644d813360405161068a9291906114ea565b60405180910390a150505050565b60006106ae6106a683610e2f565b600201610f05565b9050919050565b60008060000180546106c6906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546106f2906116da565b801561073f5780601f106107145761010080835404028352916020019161073f565b820191906000526020600020905b81548152906001019060200180831161072257829003601f168201915b505050505090806001016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180546107ba906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546107e6906116da565b80156108335780601f1061080857610100808354040283529160200191610833565b820191906000526020600020905b81548152906001019060200180831161081657829003601f168201915b5050505050815250509080600301805461084c906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610878906116da565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050908060040160009054906101000a900467ffffffffffffffff16908060050180546108f4906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610920906116da565b801561096d5780601f106109425761010080835404028352916020019161096d565b820191906000526020600020905b81548152906001019060200180831161095057829003601f168201915b5050505050905085565b33600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb90611434565b60405180910390fd5b6000610a0f33610e2f565b9050610a1d81600201610f13565b6000610a2b82600201610f05565b90506000826000016000838152602001908152602001600020905084816000019080519060200190610a5e929190610f29565b508181600301819055507f2d06fe5eff482a0b08e70bd38f111a1a397e6952391bdc714df3eacb735b354c85604051610a9791906113f2565b60405180910390a15050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610ad884610e2f565b905060008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5690611414565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050809250505092915050565b60001515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90611454565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610ce56008610f13565b7fa7c4d74046e6121f6c1f91b52d5af6460c49a30ba0cb5920a2dd4434af77933a33604051610d14919061134d565b60405180910390a1565b60606000610d2b84610e2f565b905060008160000160008581526020019081526020016000209050806000018054610d55906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610d81906116da565b8015610dce5780601f10610da357610100808354040283529160200191610dce565b820191906000526020600020905b815481529060010190602001808311610db157829003601f168201915b50505050509250505092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600960205280600052604060002060009150905080600201604051806020016040529081600082015481525050905081565b600081600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590611434565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915050919050565b600081600001549050919050565b6001816000016000828254019250508190555050565b828054610f35906116da565b90600052602060002090601f016020900481019282610f575760008555610f9e565b82601f10610f7057805160ff1916838001178555610f9e565b82800160010185558215610f9e579182015b82811115610f9d578251825591602001919060010190610f82565b5b509050610fab9190610faf565b5090565b5b80821115610fc8576000816000905550600101610fb0565b5090565b6000610fdf610fda84611538565b611513565b905082815260208101848484011115610ff757600080fd5b611002848285611698565b509392505050565b600081359050611019816118a8565b92915050565b600082601f83011261103057600080fd5b8135611040848260208601610fcc565b91505092915050565b600081359050611058816118bf565b92915050565b60006020828403121561107057600080fd5b600061107e8482850161100a565b91505092915050565b6000806040838503121561109a57600080fd5b60006110a88582860161100a565b92505060206110b98582860161100a565b9150509250929050565b600080604083850312156110d657600080fd5b60006110e48582860161100a565b92505060206110f585828601611049565b9150509250929050565b60006020828403121561111157600080fd5b600082013567ffffffffffffffff81111561112b57600080fd5b6111378482850161101f565b91505092915050565b6111498161163c565b82525050565b6111588161163c565b82525050565b6111678161164e565b82525050565b600061117882611569565b611182818561157f565b93506111928185602086016116a7565b61119b816117ca565b840191505092915050565b60006111b182611574565b6111bb8185611590565b93506111cb8185602086016116a7565b6111d4816117ca565b840191505092915050565b60006111ea82611574565b6111f481856115a1565b93506112048185602086016116a7565b61120d816117ca565b840191505092915050565b6000611225601e836115a1565b9150611230826117db565b602082019050919050565b60006112486020836115a1565b915061125382611804565b602082019050919050565b600061126b601c836115a1565b91506112768261182d565b602082019050919050565b600061128e601b836115a1565b915061129982611856565b602082019050919050565b60006112b16014836115a1565b91506112bc8261187f565b602082019050919050565b60006040830160008301516112df6000860182611140565b50602083015184820360208601526112f782826111a6565b9150508091505092915050565b60208201600082015161131a6000850182611320565b50505050565b6113298161167a565b82525050565b6113388161167a565b82525050565b61134781611684565b82525050565b6000602082019050611362600083018461114f565b92915050565b600060208201905061137d600083018461115e565b92915050565b600060a082019050818103600083015261139d818861116d565b905081810360208301526113b181876112c7565b905081810360408301526113c5818661116d565b90506113d4606083018561133e565b81810360808301526113e6818461116d565b90509695505050505050565b6000602082019050818103600083015261140c81846111df565b905092915050565b6000602082019050818103600083015261142d81611218565b9050919050565b6000602082019050818103600083015261144d8161123b565b9050919050565b6000602082019050818103600083015261146d8161125e565b9050919050565b6000602082019050818103600083015261148d81611281565b9050919050565b600060208201905081810360008301526114ad816112a4565b9050919050565b60006020820190506114c96000830184611304565b92915050565b60006020820190506114e4600083018461132f565b92915050565b60006040820190506114ff600083018561132f565b61150c602083018461114f565b9392505050565b600061151d61152e565b9050611529828261170c565b919050565b6000604051905090565b600067ffffffffffffffff8211156115535761155261179b565b5b61155c826117ca565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006115bd8261167a565b91506115c88361167a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115fd576115fc61173d565b5b828201905092915050565b60006116138261167a565b915061161e8361167a565b9250828210156116315761163061173d565b5b828203905092915050565b60006116478261165a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b838110156116c55780820151818401526020810190506116aa565b838111156116d4576000848401525b50505050565b600060028204905060018216806116f257607f821691505b602082108114156117065761170561176c565b5b50919050565b611715826117ca565b810181811067ffffffffffffffff821117156117345761173361179b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f54686973206d656d626572206973206e6f7420696e2061205472696265210000600082015250565b7f54656e616e7420646f6573206e6f74206861766520616e20696e7374616e6365600082015250565b7f596f7520616c7265616479206861766520616e20696e7374616e636500000000600082015250565b7f5573657220697320616c726561647920696e2061205472696265210000000000600082015250565b7f547269626520646f6573206e6f74206578697374000000000000000000000000600082015250565b6118b18161163c565b81146118bc57600080fd5b50565b6118c88161167a565b81146118d357600080fd5b5056fea2646970667358221220ebe031daa7895c6bbfbbc341e12d1c27c4ddaf19caf64e15506af591a7e70f1364736f6c63430008040033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/hyperverse-ethereum-erc721/.gitignore b/packages/hyperverse-evm-erc721/.gitignore similarity index 100% rename from packages/hyperverse-ethereum-erc721/.gitignore rename to packages/hyperverse-evm-erc721/.gitignore diff --git a/packages/hyperverse-ethereum-erc721/CHANGELOG.md b/packages/hyperverse-evm-erc721/CHANGELOG.md similarity index 100% rename from packages/hyperverse-ethereum-erc721/CHANGELOG.md rename to packages/hyperverse-evm-erc721/CHANGELOG.md diff --git a/packages/hyperverse-ethereum-erc721/README.md b/packages/hyperverse-evm-erc721/README.md similarity index 100% rename from packages/hyperverse-ethereum-erc721/README.md rename to packages/hyperverse-evm-erc721/README.md diff --git a/packages/hyperverse-ethereum-erc721/contracts/ExampleNFT.sol b/packages/hyperverse-evm-erc721/contracts/ExampleNFT.sol similarity index 100% rename from packages/hyperverse-ethereum-erc721/contracts/ExampleNFT.sol rename to packages/hyperverse-evm-erc721/contracts/ExampleNFT.sol diff --git a/packages/hyperverse-ethereum-erc721/contracts/ExampleNFTFactory.sol b/packages/hyperverse-evm-erc721/contracts/ExampleNFTFactory.sol similarity index 100% rename from packages/hyperverse-ethereum-erc721/contracts/ExampleNFTFactory.sol rename to packages/hyperverse-evm-erc721/contracts/ExampleNFTFactory.sol diff --git a/packages/hyperverse-ethereum-erc721/contracts/Greeter.sol b/packages/hyperverse-evm-erc721/contracts/Greeter.sol similarity index 100% rename from packages/hyperverse-ethereum-erc721/contracts/Greeter.sol rename to packages/hyperverse-evm-erc721/contracts/Greeter.sol diff --git a/packages/hyperverse-ethereum-erc721/contracts/MERC721.sol b/packages/hyperverse-evm-erc721/contracts/MERC721.sol similarity index 100% rename from packages/hyperverse-ethereum-erc721/contracts/MERC721.sol rename to packages/hyperverse-evm-erc721/contracts/MERC721.sol diff --git a/packages/hyperverse-ethereum-erc721/contracts/hyperverse/CloneFactory.sol b/packages/hyperverse-evm-erc721/contracts/hyperverse/CloneFactory.sol similarity index 100% rename from packages/hyperverse-ethereum-erc721/contracts/hyperverse/CloneFactory.sol rename to packages/hyperverse-evm-erc721/contracts/hyperverse/CloneFactory.sol diff --git a/packages/hyperverse-ethereum-erc721/contracts/hyperverse/IHyperverseModule.sol b/packages/hyperverse-evm-erc721/contracts/hyperverse/IHyperverseModule.sol similarity index 100% rename from packages/hyperverse-ethereum-erc721/contracts/hyperverse/IHyperverseModule.sol rename to packages/hyperverse-evm-erc721/contracts/hyperverse/IHyperverseModule.sol diff --git a/packages/hyperverse-ethereum-erc721/hardhat.config.js b/packages/hyperverse-evm-erc721/hardhat.config.js similarity index 100% rename from packages/hyperverse-ethereum-erc721/hardhat.config.js rename to packages/hyperverse-evm-erc721/hardhat.config.js diff --git a/packages/hyperverse-ethereum-erc721/index.tsx b/packages/hyperverse-evm-erc721/index.tsx similarity index 100% rename from packages/hyperverse-ethereum-erc721/index.tsx rename to packages/hyperverse-evm-erc721/index.tsx diff --git a/packages/hyperverse-ethereum-erc721/package.json b/packages/hyperverse-evm-erc721/package.json similarity index 90% rename from packages/hyperverse-ethereum-erc721/package.json rename to packages/hyperverse-evm-erc721/package.json index c25bbf1e..2f973f4a 100644 --- a/packages/hyperverse-ethereum-erc721/package.json +++ b/packages/hyperverse-evm-erc721/package.json @@ -1,5 +1,5 @@ { - "name": "@decentology/hyperverse-ethereum-erc721", + "name": "@decentology/hyperverse-evm-erc721", "version": "1.0.1", "source": "./source/index.ts", "types": "./distribution/index.d.ts", @@ -22,7 +22,7 @@ ], "dependencies": { "@decentology/hyperverse": "^1.0.9", - "@decentology/hyperverse-ethereum": "^1.0.9", + "@decentology/hyperverse-evm": "^1.0.9", "@decentology/hyperverse-storage-skynet": "^1.0.8", "@openzeppelin/contracts": "^4.5.0", "ethers": "^5.5.3", diff --git a/packages/hyperverse-ethereum-erc721/scripts/deploy-test.js b/packages/hyperverse-evm-erc721/scripts/deploy-test.js similarity index 100% rename from packages/hyperverse-ethereum-erc721/scripts/deploy-test.js rename to packages/hyperverse-evm-erc721/scripts/deploy-test.js diff --git a/packages/hyperverse-ethereum-erc721/scripts/deploy.js b/packages/hyperverse-evm-erc721/scripts/deploy.js similarity index 100% rename from packages/hyperverse-ethereum-erc721/scripts/deploy.js rename to packages/hyperverse-evm-erc721/scripts/deploy.js diff --git a/packages/hyperverse-ethereum-erc721/scripts/sample-script.js b/packages/hyperverse-evm-erc721/scripts/sample-script.js similarity index 100% rename from packages/hyperverse-ethereum-erc721/scripts/sample-script.js rename to packages/hyperverse-evm-erc721/scripts/sample-script.js diff --git a/packages/hyperverse-ethereum-erc721/scripts/test.js b/packages/hyperverse-evm-erc721/scripts/test.js similarity index 100% rename from packages/hyperverse-ethereum-erc721/scripts/test.js rename to packages/hyperverse-evm-erc721/scripts/test.js diff --git a/packages/hyperverse-ethereum-erc721/source/Provider.tsx b/packages/hyperverse-evm-erc721/source/Provider.tsx similarity index 100% rename from packages/hyperverse-ethereum-erc721/source/Provider.tsx rename to packages/hyperverse-evm-erc721/source/Provider.tsx diff --git a/packages/hyperverse-evm-erc721/source/environment.ts b/packages/hyperverse-evm-erc721/source/environment.ts new file mode 100644 index 00000000..be084631 --- /dev/null +++ b/packages/hyperverse-evm-erc721/source/environment.ts @@ -0,0 +1,54 @@ +import { networks, useHyperverse, blockchains, isEvm, BlockchainEvm } from '@decentology/hyperverse'; +import ERC721FactoryABI from '../utils/ExampleNFTFactory.json'; +import ERC721ABI from '../utils/ExampleNFT.json'; + +export const FactoryABI = ERC721FactoryABI.abi; +export const ABI = ERC721ABI.abi; + +const environment = { + [blockchains.Ethereum]: { + [networks.Mainnet]: { + contractAddress: null, + }, + [networks.Testnet]: { + contractAddress: '0xe5d761311212ABF55c9C6eb6d80eAF804F213d72', + tenantAddress: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266' + }, + }, + [blockchains.Metis]: { + [networks.Mainnet]: { + contractAddress: null, + }, + [networks.Testnet]: { + contractAddress: 'x07F3062D51C9A6CA568C8135656054FA88D5b646', + tenantAdress: '0x8f8B8BE836fbe857c65E892dBb261F249f9b0adb' + }, + }, + [blockchains.Avalanche]: { + [networks.Mainnet]: { + contractAddress: null, + }, + [networks.Testnet]: { + contractAddress: '' + } + } +} + +function useEnvironment() { + const { blockchain, network } = useHyperverse(); + if (blockchain == null) { + throw new Error('Blockchain is not set'); + } + if (!isEvm(blockchain?.name)) { + throw new Error("Blockchain is not EVM compatible") + } + const env = environment[blockchain.name as BlockchainEvm][network]; + return { + ...env, + ABI, + FactoryABI, + } + +} + +export { environment, useEnvironment }; diff --git a/packages/hyperverse-ethereum-erc721/source/index.ts b/packages/hyperverse-evm-erc721/source/index.ts similarity index 100% rename from packages/hyperverse-ethereum-erc721/source/index.ts rename to packages/hyperverse-evm-erc721/source/index.ts diff --git a/packages/hyperverse-ethereum-erc721/source/useERC721.ts b/packages/hyperverse-evm-erc721/source/useERC721.ts similarity index 93% rename from packages/hyperverse-ethereum-erc721/source/useERC721.ts rename to packages/hyperverse-evm-erc721/source/useERC721.ts index 0c829fe2..541ad684 100644 --- a/packages/hyperverse-ethereum-erc721/source/useERC721.ts +++ b/packages/hyperverse-evm-erc721/source/useERC721.ts @@ -1,25 +1,22 @@ -import { ABI, FactoryABI, ExampleNFTFactory } from './constants'; import { ethers } from 'ethers'; import { createContainer, useContainer } from '@decentology/unstated-next'; import { useQuery, useMutation, - useQueryClient, UseMutationOptions } from 'react-query'; import { useMemo, useState, useEffect, useCallback } from 'react'; -import { useEthereum } from '@decentology/hyperverse-ethereum'; -import { TENANT_ADDRESS } from './constants' +import { useEvm } from '@decentology/hyperverse-evm'; +import { useEnvironment } from './environment'; type ContractState = ethers.Contract; -function ERC721State(initialState: { tenantId: string } = { tenantId: TENANT_ADDRESS }) { +function ERC721State(initialState: { tenantId: string } = { tenantId: ''}) { const { tenantId } = initialState; - const queryClient = useQueryClient(); - const { address, web3Provider, provider } = useEthereum(); - + const { address, web3Provider, provider } = useEvm(); + const {contractAddress, ABI, FactoryABI} = useEnvironment() const [contract, setContract] = useState( - new ethers.Contract(ExampleNFTFactory, FactoryABI, provider) as ContractState + new ethers.Contract(contractAddress!, FactoryABI, provider) as ContractState ); const [proxyContract, setProxyContract] = useState(); diff --git a/packages/hyperverse-ethereum-erc721/test/sample-test.js b/packages/hyperverse-evm-erc721/test/sample-test.js similarity index 100% rename from packages/hyperverse-ethereum-erc721/test/sample-test.js rename to packages/hyperverse-evm-erc721/test/sample-test.js diff --git a/packages/hyperverse-ethereum-erc721/utils/ExampleNFT.json b/packages/hyperverse-evm-erc721/utils/ExampleNFT.json similarity index 100% rename from packages/hyperverse-ethereum-erc721/utils/ExampleNFT.json rename to packages/hyperverse-evm-erc721/utils/ExampleNFT.json diff --git a/packages/hyperverse-ethereum-erc721/utils/ExampleNFTFactory.json b/packages/hyperverse-evm-erc721/utils/ExampleNFTFactory.json similarity index 100% rename from packages/hyperverse-ethereum-erc721/utils/ExampleNFTFactory.json rename to packages/hyperverse-evm-erc721/utils/ExampleNFTFactory.json diff --git a/yarn.lock b/yarn.lock index ae6fbc77..3fe24631 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1309,6 +1309,21 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" +"@decentology/hyperverse-ethereum-erc721@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@decentology/hyperverse-ethereum-erc721/-/hyperverse-ethereum-erc721-1.0.1.tgz#bb112d18147778b3dbefc6adacb1521cd994ab4e" + integrity sha512-9enVw/cyK4+14xDG3c2e81nyYTQtNt5CbtvBwcMOtQ4jjbHfxu/KSHqPNjmKNiGEaUkILPiewoHdtLvTZjXLeQ== + dependencies: + "@decentology/hyperverse" "^1.0.9" + "@decentology/hyperverse-ethereum" "^1.0.9" + "@decentology/hyperverse-storage-skynet" "^1.0.8" + "@decentology/unstated-next" "^1.1.1" + "@openzeppelin/contracts" "^4.5.0" + ethers "^5.5.3" + react-query "^3.34.7" + react-use "^17.3.2" + skynet-js "^4.0.23-beta" + "@decentology/hyperverse-metis-tribes@*", "@decentology/hyperverse-metis-tribes@^1.0.0": version "1.0.11" resolved "https://registry.yarnpkg.com/@decentology/hyperverse-metis-tribes/-/hyperverse-metis-tribes-1.0.11.tgz#976106b88c26e2b7b34881a8a212794c8255a9eb" From b2c1a5f3052b2b3ef05d7d090e00f02c672a452e Mon Sep 17 00:00:00 2001 From: Angelica Turla Date: Wed, 2 Mar 2022 14:52:25 -0500 Subject: [PATCH 13/41] get tribe members added in hook --- .../hyperverse-evm-tribes/source/useTribes.ts | 23 + yarn.lock | 733 ++---------------- 2 files changed, 75 insertions(+), 681 deletions(-) diff --git a/packages/hyperverse-evm-tribes/source/useTribes.ts b/packages/hyperverse-evm-tribes/source/useTribes.ts index 5be1ab68..ce11ff85 100644 --- a/packages/hyperverse-evm-tribes/source/useTribes.ts +++ b/packages/hyperverse-evm-tribes/source/useTribes.ts @@ -196,6 +196,25 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { [contract] ); + + const getTribeMembers = useCallback(async (tribeId:number) => { + try { + const events = await contract.queryFilter(contract.filters.JoinedTribe(), 0) + const members = events.map(e => { + if (e.args){ + return { + tribeId: e.args[0].toNumber(), + account: e.args[1], + } + } + }).filter(e => e?.tribeId === tribeId) + return members + } catch (err) { + errors(err); + } + }, [contract]); + + const useTribeEvents = (eventName: string, callback: any) => { return useEvent(eventName, useCallback(callback, [contract]), contract); }; @@ -259,6 +278,10 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { enabled: !!tribeId, }); }, + TribeMembers: (tribeId: number) => + useQuery(['getTribeMembers', contract?.address], () => getTribeMembers(tribeId), { + enabled: !!contract?.address, + }), }; } diff --git a/yarn.lock b/yarn.lock index 3fe24631..b326a8fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1324,6 +1324,21 @@ react-use "^17.3.2" skynet-js "^4.0.23-beta" +"@decentology/hyperverse-ethereum-tribes@^1.0.0": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@decentology/hyperverse-ethereum-tribes/-/hyperverse-ethereum-tribes-1.0.9.tgz#79b1e76d3a48935bc3b0050ba8d16652b6ac1eea" + integrity sha512-L0H8NtTqt5UjfMEougknWQTC1PEjmI4rg2AM5lTBJqnCZYxpvLPR5vYnRy2JK4M30lfT8gfEcNKfzRJAQVQFLQ== + dependencies: + "@decentology/hyperverse" "^1.0.9" + "@decentology/hyperverse-ethereum" "^1.0.9" + "@decentology/hyperverse-storage-skynet" "^1.0.8" + "@decentology/unstated-next" "^1.1.1" + "@openzeppelin/contracts" "^4.4.2" + ethers "^5.5.3" + react-query "^3.34.7" + react-use "^17.3.2" + skynet-js "^4.0.23-beta" + "@decentology/hyperverse-metis-tribes@*", "@decentology/hyperverse-metis-tribes@^1.0.0": version "1.0.11" resolved "https://registry.yarnpkg.com/@decentology/hyperverse-metis-tribes/-/hyperverse-metis-tribes-1.0.11.tgz#976106b88c26e2b7b34881a8a212794c8255a9eb" @@ -1404,7 +1419,7 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@eslint/eslintrc@^1.0.5", "@eslint/eslintrc@^1.1.0", "@eslint/eslintrc@^1.2.0": +"@eslint/eslintrc@^1.0.5", "@eslint/eslintrc@^1.1.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.0.tgz#7ce1547a5c46dfe56e1e45c3c9ed18038c721c6a" integrity sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w== @@ -1931,16 +1946,6 @@ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17" integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw== -"@headlessui/react@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.5.0.tgz#483b44ba2c8b8d4391e1d2c863898d7dd0cc0296" - integrity sha512-aaRnYxBb3MU2FNJf3Ut9RMTUqqU3as0aI1lQhgo2n9Fa67wRu14iOGqx93xB+uMNVfNwZ5B3y/Ndm7qZGuFeMQ== - -"@heroicons/react@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@heroicons/react/-/react-1.0.5.tgz#2fe4df9d33eb6ce6d5178a0f862e97b61c01e27d" - integrity sha512-UDMyLM2KavIu2vlWfMspapw9yii7aoLwzI2Hudx4fyoPwfKfxU8r3cL8dEBXOjcLG0/oOONZzbT14M1HoNtEcg== - "@humanwhocodes/config-array@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" @@ -2087,13 +2092,6 @@ resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c" integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA== -"@next/bundle-analyzer@^12.1.0": - version "12.1.0" - resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-12.1.0.tgz#9f6d6cda2a26220c936805be407243e22790f4b7" - integrity sha512-pOtWRWaKQXff8A80Ex3E67EH8XuERHxBPn8cQgKzfhRKQwoTEareHe2nWJO1uXTQm6m7ZRhmhb4+uwp+UvmITQ== - dependencies: - webpack-bundle-analyzer "4.3.0" - "@next/env@12.0.3": version "12.0.3" resolved "https://registry.yarnpkg.com/@next/env/-/env-12.0.3.tgz#e676b4d1454d8b6be433a348e99f2b8276ab6cd7" @@ -3235,11 +3233,6 @@ resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec" integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug== -"@polka/url@^1.0.0-next.20": - version "1.0.0-next.21" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" - integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== - "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -3657,11 +3650,6 @@ resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== -"@types/json-schema@^7.0.9": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== - "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" @@ -3691,11 +3679,6 @@ resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== -"@types/marked@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.2.tgz#cb2dbf10da2f41cf20bd91fb5f89b67540c282f7" - integrity sha512-auNrZ/c0w6wsM9DccwVxWHssrMDezHUAXNesdp2RQrCVCyrQbOiSq7yqdJKrUQQpw9VTm7CGYJH2A/YG7jjrjQ== - "@types/minimatch@*", "@types/minimatch@^3.0.4": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" @@ -3721,7 +3704,7 @@ "@types/node" "*" form-data "^3.0.0" -"@types/node@*", "@types/node@17.0.21", "@types/node@>=13.7.0", "@types/node@^17.0.16", "@types/node@^17.0.21": +"@types/node@*", "@types/node@17.0.21", "@types/node@>=13.7.0", "@types/node@^17.0.16": version "17.0.21" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== @@ -3780,7 +3763,7 @@ dependencies: "@types/react" "^16" -"@types/react@*", "@types/react@17.0.39", "@types/react@^17.0.39": +"@types/react@*", "@types/react@17.0.39": version "17.0.39" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.39.tgz#d0f4cde092502a6db00a1cded6e6bf2abb7633ce" integrity sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug== @@ -3889,22 +3872,7 @@ dependencies: web3 "*" -"@typescript-eslint/eslint-plugin@^5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.1.tgz#b2cd3e288f250ce8332d5035a2ff65aba3374ac4" - integrity sha512-M499lqa8rnNK7mUv74lSFFttuUsubIRdAbHcVaP93oFcKkEmHmLqy2n7jM9C8DVmFMYK61ExrZU6dLYhQZmUpw== - dependencies: - "@typescript-eslint/scope-manager" "5.12.1" - "@typescript-eslint/type-utils" "5.12.1" - "@typescript-eslint/utils" "5.12.1" - debug "^4.3.2" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.2.0" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.12.1": +"@typescript-eslint/parser@^5.0.0": version "5.12.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.1.tgz#b090289b553b8aa0899740d799d0f96e6f49771b" integrity sha512-6LuVUbe7oSdHxUWoX/m40Ni8gsZMKCi31rlawBHt7VtW15iHzjbpj2WLiToG2758KjtCCiLRKZqfrOdl3cNKuw== @@ -3922,15 +3890,6 @@ "@typescript-eslint/types" "5.12.1" "@typescript-eslint/visitor-keys" "5.12.1" -"@typescript-eslint/type-utils@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.12.1.tgz#8d58c6a0bb176b5e9a91581cda1a7f91a114d3f0" - integrity sha512-Gh8feEhsNLeCz6aYqynh61Vsdy+tiNNkQtc+bN3IvQvRqHkXGUhYkUi+ePKzP0Mb42se7FDb+y2SypTbpbR/Sg== - dependencies: - "@typescript-eslint/utils" "5.12.1" - debug "^4.3.2" - tsutils "^3.21.0" - "@typescript-eslint/types@5.12.1": version "5.12.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.1.tgz#46a36a28ff4d946821b58fe5a73c81dc2e12aa89" @@ -3949,18 +3908,6 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.12.1.tgz#447c24a05d9c33f9c6c64cb48f251f2371eef920" - integrity sha512-Qq9FIuU0EVEsi8fS6pG+uurbhNTtoYr4fq8tKjBupsK5Bgbk2I32UGm0Sh+WOyjOPgo/5URbxxSNV6HYsxV4MQ== - dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.12.1" - "@typescript-eslint/types" "5.12.1" - "@typescript-eslint/typescript-estree" "5.12.1" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - "@typescript-eslint/visitor-keys@5.12.1": version "5.12.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.1.tgz#f722da106c8f9695ae5640574225e45af3e52ec3" @@ -4397,26 +4344,12 @@ acorn-jsx@^5.0.1, acorn-jsx@^5.3.1: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-node@^1.6.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== - dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" - acorn-walk@^6.0.1: version "6.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== -acorn-walk@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn-walk@^8.0.0, acorn-walk@^8.1.1: +acorn-walk@^8.1.1: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== @@ -4431,12 +4364,12 @@ acorn@^6.0.1, acorn@^6.0.4, acorn@^6.1.1, acorn@^6.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== -acorn@^7.0.0, acorn@^7.1.1, acorn@^7.4.0: +acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: +acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== @@ -4468,14 +4401,6 @@ agent-base@6: dependencies: debug "4" -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -4598,11 +4523,6 @@ ansi-regex@^5.0.1: 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.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -4622,11 +4542,6 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ansi-styles@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" - integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== - ansi-to-html@^0.6.4: version "0.6.15" resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.15.tgz#ac6ad4798a00f6aa045535d7f6a9cb9294eebea7" @@ -4700,11 +4615,6 @@ arg@^4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -arg@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" - integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== - argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -4977,18 +4887,6 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@^10.4.2: - version "10.4.2" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b" - integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ== - dependencies: - browserslist "^4.19.1" - caniuse-lite "^1.0.30001297" - fraction.js "^4.1.2" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - autoprefixer@^6.3.1: version "6.7.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" @@ -6418,11 +6316,6 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - camelcase-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" @@ -6486,7 +6379,7 @@ caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30001312.tgz#efb31cb54e5f4714126d8c35292666c9b7290c87" integrity sha512-4eJfCSGxsF9JcQXBLdHclxkpLWv+Va7Y6QESYCWSdrR8b8x16TxUjCoOK/kU7SFC0BdcuK0nvt6ZkM59Q03LjQ== -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001312: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001312: version "1.0.30001312" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== @@ -6528,7 +6421,7 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3. escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@4, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: +chalk@4, chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -6629,7 +6522,7 @@ chokidar@^2.1.5, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.5.3: +chokidar@^3.4.0, chokidar@^3.4.1: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -6752,13 +6645,6 @@ cli-cursor@^2.0.0, cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - cli-spinners@^1.1.0: version "1.3.1" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" @@ -6785,22 +6671,6 @@ cli-truncate@^1.1.0: slice-ansi "^1.0.0" string-width "^2.0.0" -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cli-truncate@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" - integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== - dependencies: - slice-ansi "^5.0.0" - string-width "^5.0.0" - cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -6914,7 +6784,7 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@^1.0.0, color-name@^1.1.4, color-name@~1.1.4: +color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== @@ -6961,11 +6831,6 @@ colorette@^1.2.2: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== -colorette@^2.0.16: - version "2.0.16" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" - integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== - colormin@^1.0.5: version "1.1.2" resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" @@ -7034,21 +6899,11 @@ commander@^5.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== -commander@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - commander@^7.0.0, commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - common-path-prefix@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" @@ -7115,11 +6970,6 @@ configstore@^3.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" -confusing-browser-globals@^1.0.10: - version "1.0.11" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - console-browserify@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" @@ -7340,13 +7190,6 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-env@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" - integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== - dependencies: - cross-spawn "^7.0.1" - cross-fetch@^2.1.0, cross-fetch@^2.1.1: version "2.2.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.5.tgz#afaf5729f3b6c78d89c9296115c9f142541a5705" @@ -7375,7 +7218,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.4, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -8114,20 +7957,6 @@ detect-node@^2.0.4, detect-node@^2.1.0: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== -detective@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" - integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== - dependencies: - acorn-node "^1.6.1" - defined "^1.0.0" - minimist "^1.1.1" - -didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - diff@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -8166,11 +7995,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - dns-over-http-resolver@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz#194d5e140a42153f55bb79ac5a64dd2768c36af9" @@ -8330,7 +8154,7 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= -duplexer@^0.1.1, duplexer@^0.1.2: +duplexer@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== @@ -8345,11 +8169,6 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -8698,23 +8517,6 @@ escodegen@~1.9.0: optionalDependencies: source-map "~0.6.1" -eslint-config-airbnb-base@^15.0.0: - version "15.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz#6b09add90ac79c2f8d723a2580e07f3925afd236" - integrity sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig== - dependencies: - confusing-browser-globals "^1.0.10" - object.assign "^4.1.2" - object.entries "^1.1.5" - semver "^6.3.0" - -eslint-config-airbnb-typescript@^16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-16.1.0.tgz#f75a6b4f3bb679eef34c3c930359c2ca9bc3f09c" - integrity sha512-W5Cq20KpEx5ZLC54bnVrC37zq2+WD956Kp/Ma3nYFRjT1v9KM63v+DPkrrmmrVqrlDKaD0ivm/qeYmyHV6qKlw== - dependencies: - eslint-config-airbnb-base "^15.0.0" - eslint-config-next@12.0.7: version "12.0.7" resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.0.7.tgz#985f06c3d749673f6b4b214db6b9321da1bf0b5f" @@ -8745,7 +8547,7 @@ eslint-config-next@12.0.8: eslint-plugin-react "^7.27.0" eslint-plugin-react-hooks "^4.3.0" -eslint-config-next@12.1.0, eslint-config-next@^12.0.3, eslint-config-next@^12.1.0: +eslint-config-next@12.1.0, eslint-config-next@^12.0.3: version "12.1.0" resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.1.0.tgz#8ace680dc5207e6ab6c915f3989adec122f582e7" integrity sha512-tBhuUgoDITcdcM7xFvensi9I5WTI4dnvH4ETGRg1U8ZKpXrZsWQFdOKIDzR3RLP5HR3xXrLviaMM4c3zVoE/pA== @@ -8760,7 +8562,7 @@ eslint-config-next@12.1.0, eslint-config-next@^12.0.3, eslint-config-next@^12.1. eslint-plugin-react "^7.27.0" eslint-plugin-react-hooks "^4.3.0" -eslint-config-prettier@^8.3.0, eslint-config-prettier@^8.4.0: +eslint-config-prettier@^8.3.0: version "8.4.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.4.0.tgz#8e6d17c7436649e98c4c2189868562921ef563de" integrity sha512-CFotdUcMY18nGRo5KGsnNxpznzhkopOcOo0InID+sgQssPrzjvsyKZPvOgymTFeHrFuC3Tzdf2YndhXtULK9Iw== @@ -8792,7 +8594,7 @@ eslint-module-utils@^2.7.2: debug "^3.2.7" find-up "^2.1.0" -eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.25.4: +eslint-plugin-import@^2.25.2: version "2.25.4" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== @@ -8829,19 +8631,12 @@ eslint-plugin-jsx-a11y@^6.5.1: language-tags "^1.0.5" minimatch "^3.0.4" -eslint-plugin-prettier@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" - integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== - dependencies: - prettier-linter-helpers "^1.0.0" - eslint-plugin-react-hooks@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== -eslint-plugin-react@^7.27.0, eslint-plugin-react@^7.29.1: +eslint-plugin-react@^7.27.0: version "7.29.2" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.2.tgz#2d4da69d30d0a736efd30890dc6826f3e91f3f7c" integrity sha512-ypEBTKOy5liFQXZWMchJ3LN0JX1uPI6n7MN7OPHKacqXAxq5gYC30TdO7wqGYQyxD1OrzpobdHC3hDmlRWDg9w== @@ -8861,18 +8656,6 @@ eslint-plugin-react@^7.27.0, eslint-plugin-react@^7.29.1: semver "^6.3.0" string.prototype.matchall "^4.0.6" -eslint-plugin-unused-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz#d8db8c4d0cfa0637a8b51ce3fd7d1b6bc3f08520" - integrity sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A== - dependencies: - eslint-rule-composer "^0.3.0" - -eslint-rule-composer@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" - integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== - eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" @@ -9098,47 +8881,6 @@ eslint@8.9.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -eslint@^8.9.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.10.0.tgz#931be395eb60f900c01658b278e05b6dae47199d" - integrity sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw== - dependencies: - "@eslint/eslintrc" "^1.2.0" - "@humanwhocodes/config-array" "^0.9.2" - ajv "^6.10.0" - 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.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^6.0.1" - globals "^13.6.0" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - esm@^3.2.20: version "3.2.25" resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" @@ -9799,21 +9541,6 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - 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" - exit-on-epipe@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" @@ -10010,7 +9737,7 @@ fast-glob@^2.2.2: merge2 "^1.2.3" micromatch "^3.1.10" -fast-glob@^3.2.11, fast-glob@^3.2.9: +fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== @@ -10376,11 +10103,6 @@ fp-ts@^1.0.0: resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a" integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== -fraction.js@^4.1.2: - version "4.1.3" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.3.tgz#be65b0f20762ef27e1e793860bc2dfb716e99e65" - integrity sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg== - fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -10664,11 +10386,6 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" -get-stream@^6.0.0: - 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-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" @@ -10724,7 +10441,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1, glob-parent@^6.0.2: +glob-parent@^6.0.1: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -11009,13 +10726,6 @@ gzip-size@^5.0.0: duplexer "^0.1.1" pify "^4.0.1" -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -11419,11 +11129,6 @@ human-id@^1.0.2: resolved "https://registry.yarnpkg.com/human-id/-/human-id-1.0.2.tgz#e654d4b2b0d8b07e45da9f6020d8af17ec0a5df3" integrity sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== -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== - husky@^2.1.0: version "2.7.0" resolved "https://registry.yarnpkg.com/husky/-/husky-2.7.0.tgz#c0a9a6a3b51146224e11bba0b46bba546e461d05" @@ -11457,11 +11162,6 @@ husky@^3.0.0: run-node "^1.0.0" slash "^3.0.0" -husky@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" - integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== - hyphenate-style-name@^1.0.2, hyphenate-style-name@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" @@ -11518,7 +11218,7 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.8, ignore@^5.2.0: +ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -11556,7 +11256,7 @@ immutable@^4.0.0-rc.12: resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== -import-cwd@^2.0.0, import-cwd@^2.1.0: +import-cwd@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= @@ -12061,11 +11761,6 @@ is-fullwidth-code-point@^3.0.0: 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-fullwidth-code-point@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" - integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== - is-function@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" @@ -13261,7 +12956,7 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -lilconfig@2.0.4, lilconfig@^2.0.3, lilconfig@^2.0.4: +lilconfig@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== @@ -13271,25 +12966,6 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^12.3.4: - version "12.3.4" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.3.4.tgz#4b1ff8c394c3e6da436aaec5afd4db18b5dac360" - integrity sha512-yv/iK4WwZ7/v0GtVkNb3R82pdL9M+ScpIbJLJNyCXkJ1FGaXvRCOg/SeL59SZtPpqZhE7BD6kPKFLIDUhDx2/w== - dependencies: - cli-truncate "^3.1.0" - colorette "^2.0.16" - commander "^8.3.0" - debug "^4.3.3" - execa "^5.1.1" - lilconfig "2.0.4" - listr2 "^4.0.1" - micromatch "^4.0.4" - normalize-path "^3.0.0" - object-inspect "^1.12.0" - string-argv "^0.3.1" - supports-color "^9.2.1" - yaml "^1.10.2" - lint-staged@^8.1.5: version "8.2.1" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.2.1.tgz#752fcf222d9d28f323a3b80f1e668f3654ff221f" @@ -13349,20 +13025,6 @@ listr-verbose-renderer@^0.5.0: date-fns "^1.27.2" figures "^2.0.0" -listr2@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.4.tgz#d098a1c419284fb26e184b5d5889b235e8912245" - integrity sha512-vJOm5KD6uZXjSsrwajr+mNacIjf87gWvlBEltPWLbTkslUscWAzquyK4xfe9Zd4RDgO5nnwFyV06FC+uVR+5mg== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.4" - through "^2.3.8" - wrap-ansi "^7.0.0" - listr@^0.14.2: version "0.14.3" resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" @@ -13629,7 +13291,7 @@ lodash@4.17.20: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4: +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -13664,16 +13326,6 @@ log-update@^2.3.0: cli-cursor "^2.0.0" wrap-ansi "^3.0.1" -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" @@ -13833,11 +13485,6 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -marked@^4.0.12: - version "4.0.12" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.12.tgz#2262a4e6fd1afd2f13557726238b69a48b982f7d" - integrity sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ== - match-sorter@^6.0.2: version "6.3.1" resolved "https://registry.yarnpkg.com/match-sorter/-/match-sorter-6.3.1.tgz#98cc37fda756093424ddf3cbc62bfe9c75b92bda" @@ -14213,11 +13860,6 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== -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-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" @@ -14286,7 +13928,7 @@ minimist@0.0.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@~1.2.5: +minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@~1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -14447,11 +14089,6 @@ mri@^1.1.0: resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== -mrmime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.0.tgz#14d387f0585a5233d291baba339b063752a2398b" - integrity sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ== - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -14644,18 +14281,6 @@ neo-async@^2.5.0, neo-async@^2.6.1: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -next-connect@^0.12.2: - version "0.12.2" - resolved "https://registry.yarnpkg.com/next-connect/-/next-connect-0.12.2.tgz#8191db0f03c80f8f4dbbe80e643a48cb3c9a20b9" - integrity sha512-B/zKHPs5S7XWvAVsZVLvOeY2eL2U3g0W/BgCDetEJRcNDzxX2vi8rzqBuEoLLPlI8LvtHwujDVUFFjSgOEZTbA== - dependencies: - trouter "^3.2.0" - -next-seo@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-5.1.0.tgz#aa9fd6249a11bf93e6da06fa2a6bc89268936edf" - integrity sha512-ampuQfNTOi1x+xtRIb6CZGunIo6rQXtMo2Tyu861d5GjJFIwfOXsA4lzCa4+e2rLkyXDyVpavNNUZWa3US9ELw== - next-tick@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" @@ -14832,7 +14457,7 @@ next@12.0.8: "@next/swc-win32-ia32-msvc" "12.0.8" "@next/swc-win32-x64-msvc" "12.0.8" -next@12.1.0, next@^12.1.0: +next@12.1.0: version "12.1.0" resolved "https://registry.yarnpkg.com/next/-/next-12.1.0.tgz#c33d753b644be92fc58e06e5a214f143da61dd5d" integrity sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q== @@ -15034,21 +14659,6 @@ npm-path@^2.0.2: dependencies: which "^1.2.10" -npm-run-all@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" - integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== - dependencies: - ansi-styles "^3.2.1" - chalk "^2.4.1" - cross-spawn "^6.0.5" - memorystream "^0.3.1" - minimatch "^3.0.4" - pidtree "^0.3.0" - read-pkg "^3.0.0" - shell-quote "^1.6.1" - string.prototype.padend "^3.0.0" - npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -15056,13 +14666,6 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -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-which@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" @@ -15143,12 +14746,7 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-hash@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" - integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== - -object-inspect@^1.11.0, object-inspect@^1.12.0, object-inspect@^1.9.0, object-inspect@~1.12.0: +object-inspect@^1.11.0, object-inspect@^1.9.0, object-inspect@~1.12.0: version "1.12.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== @@ -15315,13 +14913,6 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" -onetime@^5.1.0, onetime@^5.1.2: - 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" - open@^7.4.2: version "7.4.2" resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" @@ -15335,11 +14926,6 @@ opencollective-postinstall@^2.0.2: resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== -opener@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - opn@^5.1.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" @@ -15526,13 +15112,6 @@ p-map@^2.0.0: resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - p-queue@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-2.4.2.tgz#03609826682b743be9a22dba25051bd46724fc34" @@ -15851,7 +15430,7 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-key@^3.0.0, path-key@^3.1.0: +path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -15928,11 +15507,6 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.0: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pidtree@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" - integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== - pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -16201,13 +15775,6 @@ postcss-filter-plugins@^2.0.0: dependencies: postcss "^5.0.4" -postcss-js@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" - integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== - dependencies: - camelcase-css "^2.0.1" - postcss-load-config@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" @@ -16218,22 +15785,6 @@ postcss-load-config@^1.2.0: postcss-load-options "^1.2.0" postcss-load-plugins "^2.3.0" -postcss-load-config@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" - integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-load-config@^3.1.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.3.tgz#21935b2c43b9a86e6581a576ca7ee1bde2bd1d23" - integrity sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw== - dependencies: - lilconfig "^2.0.4" - yaml "^1.10.2" - postcss-load-options@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" @@ -16473,13 +16024,6 @@ postcss-modules@^1.1.0: postcss "^7.0.1" string-hash "^1.1.1" -postcss-nested@5.0.6: - version "5.0.6" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" - integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== - dependencies: - postcss-selector-parser "^6.0.6" - postcss-normalize-charset@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" @@ -16752,7 +16296,7 @@ postcss-selector-parser@^3.0.0: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: version "6.0.9" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== @@ -16894,7 +16438,7 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.17, postcss@^7.0.2 picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.4.5, postcss@^8.4.6, postcss@^8.4.7: +postcss@^8.4.5: version "8.4.7" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.7.tgz#f99862069ec4541de386bf57f5660a6c7a0875a8" integrity sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A== @@ -17038,13 +16582,6 @@ preserve@^0.2.0: resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - prettier@^1.17.0, prettier@^1.18.2, prettier@^1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" @@ -17411,11 +16948,6 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - quote-stream@^1.0.1, quote-stream@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2" @@ -17516,7 +17048,7 @@ react-display-name@^0.2.4: resolved "https://registry.yarnpkg.com/react-display-name/-/react-display-name-0.2.5.tgz#304c7cbfb59ee40389d436e1a822c17fe27936c6" integrity sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg== -react-dom@17.0.2, react-dom@^17.0.2: +react-dom@17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== @@ -17620,7 +17152,7 @@ react-use@^17.3.2: ts-easing "^0.2.0" tslib "^2.1.0" -react@17.0.2, react@^17.0.2: +react@17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== @@ -17884,11 +17416,6 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: call-bind "^1.0.2" define-properties "^1.1.3" -regexparam@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-1.3.0.tgz#2fe42c93e32a40eff6235d635e0ffa344b92965f" - integrity sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g== - regexpp@^3.1.0, regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" @@ -18153,7 +17680,7 @@ resolve@1.8.1: dependencies: path-parse "^1.0.5" -resolve@^1.1.5, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@~1.22.0: +resolve@^1.1.5, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@~1.22.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -18185,14 +17712,6 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - resumer@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" @@ -18220,11 +17739,6 @@ reusify@^1.0.4: 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.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== - rgb-regex@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" @@ -18464,13 +17978,6 @@ rxjs@^6.3.3: dependencies: tslib "^1.9.0" -rxjs@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.4.tgz#3d6bd407e6b7ce9a123e76b1e770dc5761aa368d" - integrity sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ== - dependencies: - tslib "^2.1.0" - sade@^1.4.0: version "1.8.1" resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" @@ -18787,7 +18294,7 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@1.7.3, shell-quote@^1.6.1: +shell-quote@1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== @@ -18801,7 +18308,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: +signal-exit@^3.0.0, 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== @@ -18843,15 +18350,6 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -sirv@^1.0.7: - version "1.0.19" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49" - integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== - dependencies: - "@polka/url" "^1.0.0-next.20" - mrmime "^1.0.0" - totalist "^1.0.0" - sjcl@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.8.tgz#f2ec8d7dc1f0f21b069b8914a41a8f236b0e252a" @@ -18932,15 +18430,6 @@ slice-ansi@^1.0.0: dependencies: is-fullwidth-code-point "^2.0.0" -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" @@ -18950,14 +18439,6 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" -slice-ansi@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" - integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== - dependencies: - ansi-styles "^6.0.0" - is-fullwidth-code-point "^4.0.0" - slide@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" @@ -19407,11 +18888,6 @@ string-argv@^0.0.2: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736" integrity sha1-2sMECGkMIfPDYwo/86BYd73L1zY= -string-argv@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - string-hash@1.1.3, string-hash@^1.1.1, string-hash@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" @@ -19452,15 +18928,6 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - string.prototype.matchall@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" @@ -19475,15 +18942,6 @@ string.prototype.matchall@^4.0.6: regexp.prototype.flags "^1.3.1" side-channel "^1.0.4" -string.prototype.padend@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1" - integrity sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - string.prototype.trim@~1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.5.tgz#a587bcc8bfad8cb9829a577f5de30dd170c1682c" @@ -19565,13 +19023,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== - dependencies: - ansi-regex "^6.0.1" - strip-bom-buf@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" @@ -19596,11 +19047,6 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -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-hex-prefix@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" @@ -19651,13 +19097,6 @@ styled-components@^5.3.3: shallowequal "^1.1.0" supports-color "^5.5.0" -styled-jsx-plugin-postcss@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/styled-jsx-plugin-postcss/-/styled-jsx-plugin-postcss-4.0.1.tgz#d1980db5f3af9bd662236822d02db3e80017371d" - integrity sha512-Qy3OnewWZYykT0ESWRqqC7KhYSghXpel+cnY3/MOnmatEwvJl1+RB5YwJRjqhcODDoY/D+dKH97PZFuF3/rCBg== - dependencies: - postcss-load-config "^2.1.2" - styled-jsx@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0.tgz#816b4b92e07b1786c6b7111821750e0ba4d26e77" @@ -19805,11 +19244,6 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" -supports-color@^9.2.1: - version "9.2.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891" - integrity sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ== - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -19908,33 +19342,6 @@ table@^6.0.9: string-width "^4.2.3" strip-ansi "^6.0.1" -tailwindcss@^3.0.23: - version "3.0.23" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.23.tgz#c620521d53a289650872a66adfcb4129d2200d10" - integrity sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA== - dependencies: - arg "^5.0.1" - chalk "^4.1.2" - chokidar "^3.5.3" - color-name "^1.1.4" - cosmiconfig "^7.0.1" - detective "^5.2.0" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.2.11" - glob-parent "^6.0.2" - is-glob "^4.0.3" - normalize-path "^3.0.0" - object-hash "^2.2.0" - postcss "^8.4.6" - postcss-js "^4.0.0" - postcss-load-config "^3.1.0" - postcss-nested "5.0.6" - postcss-selector-parser "^6.0.9" - postcss-value-parser "^4.2.0" - quick-lru "^5.1.1" - resolve "^1.22.0" - tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -20101,7 +19508,7 @@ through2@^2.0.0, through2@^2.0.3, through2@~2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through@^2.3.8, through@~2.3.4, through@~2.3.8: +through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -20245,11 +19652,6 @@ toposort@^2.0.2: resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA= -totalist@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" - integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== - tough-cookie@^2.3.3, tough-cookie@^2.5.0, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -20290,13 +19692,6 @@ trim-right@^1.0.1: resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= -trouter@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/trouter/-/trouter-3.2.0.tgz#a9c510fce21b8e659a28732c9de9d82871efe8df" - integrity sha512-rLLXbhTObLy2MBVjLC+jTnoIKw99n0GuJs9ov10J870vDw5qhTurPzsDrudNtBf5w/CZ9ctZy2p2IMmhGcel2w== - dependencies: - regexparam "^1.3.0" - "true-case-path@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-2.2.1.tgz#c5bf04a5bbec3fd118be4084461b3a27c4d796bf" @@ -20714,7 +20109,7 @@ typescript@4.5.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== -typescript@4.5.5, typescript@>=2.8.3, typescript@>=3.0.0, typescript@^4.5.5: +typescript@4.5.5, typescript@>=2.8.3, typescript@>=3.0.0: version "4.5.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== @@ -21776,21 +21171,6 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-bundle-analyzer@4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.3.0.tgz#2f3c0ca9041d5ee47fa418693cf56b4a518b578b" - integrity sha512-J3TPm54bPARx6QG8z4cKBszahnUglcv70+N+8gUqv2I5KOFHJbzBiLx+pAp606so0X004fxM7hqRu10MLjJifA== - dependencies: - acorn "^8.0.4" - acorn-walk "^8.0.0" - chalk "^4.1.0" - commander "^6.2.0" - gzip-size "^6.0.0" - lodash "^4.17.20" - opener "^1.5.2" - sirv "^1.0.7" - ws "^7.3.1" - webpack-cli@^3.2.1: version "3.3.12" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a" @@ -22050,15 +21430,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -22106,7 +21477,7 @@ ws@^6.1.2: dependencies: async-limiter "~1.0.0" -ws@^7.2.1, ws@^7.3.1, ws@^7.4.6: +ws@^7.2.1, ws@^7.4.6: version "7.5.7" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== From 3379894755440c0898ce809b84af754b2205970f Mon Sep 17 00:00:00 2001 From: Angelica Turla Date: Wed, 2 Mar 2022 16:15:00 -0500 Subject: [PATCH 14/41] updates tribes module to contract factory --- .../contracts/Tribes.sol | 222 ++++++------- .../contracts/TribesFactory.sol | 80 +++++ .../hyperverse/IHyperverseModule.sol | 6 +- .../hyperverse-evm-tribes/hardhat.config.js | 2 + packages/hyperverse-evm-tribes/index.ts | 2 +- packages/hyperverse-evm-tribes/package.json | 8 +- .../hyperverse-evm-tribes/scripts/deploy.js | 16 +- .../hyperverse-evm-tribes/source/Provider.tsx | 8 +- .../hyperverse-evm-tribes/source/constants.ts | 7 + .../hyperverse-evm-tribes/source/useTribes.ts | 243 ++++++++------ .../hyperverse-evm-tribes/utils/Tribes.json | 314 ------------------ 11 files changed, 357 insertions(+), 551 deletions(-) create mode 100644 packages/hyperverse-evm-tribes/contracts/TribesFactory.sol create mode 100644 packages/hyperverse-evm-tribes/source/constants.ts delete mode 100644 packages/hyperverse-evm-tribes/utils/Tribes.json diff --git a/packages/hyperverse-evm-tribes/contracts/Tribes.sol b/packages/hyperverse-evm-tribes/contracts/Tribes.sol index d068b423..2b7b53d6 100644 --- a/packages/hyperverse-evm-tribes/contracts/Tribes.sol +++ b/packages/hyperverse-evm-tribes/contracts/Tribes.sol @@ -1,119 +1,113 @@ -//SPDX-License-Identifier: Unlicense +// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; +pragma experimental ABIEncoderV2; -import "./hyperverse/IHyperverseModule.sol"; -import "@openzeppelin/contracts/utils/Counters.sol"; +import './hyperverse/IHyperverseModule.sol'; +import '@openzeppelin/contracts/utils/Counters.sol'; +import '@openzeppelin/contracts/utils/math/SafeMath.sol'; contract Tribes is IHyperverseModule { - using Counters for Counters.Counter; - - address public owner; - Counters.Counter public tenantCount; - - struct Tenant { - mapping(uint256 => TribeData) tribes; - mapping(address => uint256) participants; - Counters.Counter tribeIds; - } - - struct TribeData { - string metadata; - mapping(address => bool) members; - uint256 numOfMembers; - uint256 tribeId; - } - - mapping(address => Tenant) public tenants; - mapping(address => bool) public instance; - - modifier hasAnInstance(address tenant) { - require(instance[tenant], "Tenant does not have an instance"); - _; - } - - event NewTenantInstance(address tenant); - event JoinedTribe(uint256 tribeId, address newMember); - event LeftTribe(uint256 tribeId, address member); - event NewTribeCreated(string metadata); - - constructor() { - metadata = ModuleMetadata( - "Tribes", - Author(msg.sender, "https://externallink.net"), - "0.0.1", - 3479831479814, - "https://externalLink.net" - ); - owner = msg.sender; - } - - function createInstance() public virtual { - require(instance[msg.sender] == false, "You already have an instance"); - tenants[msg.sender]; - instance[msg.sender] = true; - tenantCount.increment(); - emit NewTenantInstance(msg.sender); - } - - function getState(address tenant) private view hasAnInstance(tenant) returns (Tenant storage) { - return tenants[tenant]; - } - - function addNewTribe(string memory metadata) public virtual hasAnInstance(msg.sender) { - Tenant storage state = getState(msg.sender); - - state.tribeIds.increment(); - uint256 newTribeId = state.tribeIds.current(); - - TribeData storage newTribe = state.tribes[newTribeId]; - newTribe.metadata = metadata; - newTribe.tribeId = newTribeId; - emit NewTribeCreated(metadata); - } - - function joinTribe(address tenant, uint256 tribeId) public virtual { - address user = msg.sender; - Tenant storage state = getState(tenant); - require(state.participants[user] == 0, "User is already in a Tribe!"); - require(state.tribeIds.current() >= tribeId, "Tribe does not exist"); - - state.participants[user] = tribeId; - TribeData storage tribeData = state.tribes[tribeId]; - tribeData.members[user] = true; - tribeData.numOfMembers += 1; - - emit JoinedTribe(tribeId, user); - } - - function leaveTribe(address tenant) public virtual { - Tenant storage state = getState(tenant); - require(state.participants[msg.sender] != 0, "This member is not in a Tribe!"); - - TribeData storage tribeData = state.tribes[state.participants[msg.sender]]; - uint256 tribeId = state.participants[msg.sender]; - state.participants[msg.sender] = 0; - tribeData.members[msg.sender] = false; - tribeData.numOfMembers -= 1; - - emit LeftTribe(tribeId, msg.sender); - } - - function getUserTribe(address tenant, address user) public view virtual returns (uint256) { - Tenant storage state = getState(tenant); - - require(state.participants[user] != 0, "This member is not in a Tribe!"); - - uint256 tribeId = state.participants[user]; - return tribeId; - } - - function getTribeData(address tenant, uint256 tribeId) public view virtual returns (string memory) { - Tenant storage state = getState(tenant); - TribeData storage tribeData = state.tribes[tribeId]; - return (tribeData.metadata); - } - - function totalTribes(address tenant) public view virtual returns (uint256) { - return getState(tenant).tribeIds.current(); - } + using Counters for Counters.Counter; + using SafeMath for uint256; + + /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ S T A T E @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ + address public immutable contractOwner; + address private tenantOwner; + + mapping(uint256 => TribeData) public allTribes; + mapping(address => uint256) public participants; + Counters.Counter public tribeCounter; + + struct TribeData { + string metadata; + mapping(address => bool) members; + uint256 numOfMembers; + uint256 tribeId; + } + /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ E V E N T S @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ + + ///+events + event JoinedTribe(uint256 indexed tribeId, address newMember); + event LeftTribe(uint256 indexed tribeId, address member); + event NewTribeCreated(string metadata); + + /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ M O D I F I E R S @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ + + ///+modifiers + modifier isTenantOwner() { + require(msg.sender == tenantOwner, 'You are not the tenant owner'); + _; + } + + modifier isNotInATribe(address _user) { + require(participants[_user] != 0, 'This member is not in a Tribe!'); + _; + } + + modifier tribeExists(uint256 _tribeId) { + require(tribeCounter.current() >= _tribeId, 'Tribe does not exist!'); + _; + } + + constructor(address _owner) { + metadata = ModuleMetadata( + 'Tribe Module', + Author(_owner, 'https://externallink.net'), + '1.0.0', + 3479831479814, + 'https://externallink.net' + ); + contractOwner = _owner; + } + + /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> TENANT FUNCTIONALITIES <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ + function init(address _tenant) external { + require(tenantOwner == address(0), 'Contract is already initialized'); + /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ASSET VALUE TRACKING: TOKEN <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ + tenantOwner = _tenant; + } + + function addNewTribe(string memory _metadata) public isTenantOwner { + tribeCounter.increment(); + uint256 newTribeId = tribeCounter.current(); + + TribeData storage newTribe = allTribes[newTribeId]; + newTribe.metadata = _metadata; + newTribe.tribeId = newTribeId; + emit NewTribeCreated(_metadata); + } + + function joinTribe(uint256 _tribeId) external tribeExists(_tribeId) { + require(participants[msg.sender] == 0, 'User is already in a Tribe!'); + + TribeData storage tribe = allTribes[_tribeId]; + tribe.members[msg.sender] = true; + tribe.numOfMembers += 1; + participants[msg.sender] = _tribeId; + + emit JoinedTribe(_tribeId, msg.sender); + } + + function leaveTribe() external isNotInATribe(msg.sender) { + uint256 tribeId = participants[msg.sender]; + TribeData storage tribe = allTribes[tribeId]; + tribe.members[msg.sender] = false; + tribe.numOfMembers -= 1; + participants[msg.sender] = 0; + + emit LeftTribe(tribeId, msg.sender); + } + + function getUserTribe(address _user) + public + view + isNotInATribe(_user) + returns (uint256 tribeId) + { + return participants[_user]; + } + + function getTribeData(uint256 _tribeId) public view tribeExists(_tribeId) returns (string memory) { + return allTribes[_tribeId].metadata; + } } diff --git a/packages/hyperverse-evm-tribes/contracts/TribesFactory.sol b/packages/hyperverse-evm-tribes/contracts/TribesFactory.sol new file mode 100644 index 00000000..2f4b9be9 --- /dev/null +++ b/packages/hyperverse-evm-tribes/contracts/TribesFactory.sol @@ -0,0 +1,80 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; +pragma experimental ABIEncoderV2; + +import './hyperverse/CloneFactory.sol'; +import './hyperverse/IHyperverseModule.sol'; +import '@openzeppelin/contracts/utils/Counters.sol'; +import './Tribes.sol'; + +/** + * @dev Clone Factory Implementation for ERC20 Token + */ + +contract TribesFactory is CloneFactory { + using Counters for Counters.Counter; + + Counters.Counter public tenantCounter; + + struct Tenant { + Tribes tribes; + address owner; + } + + mapping(address => Tenant) public tenants; + mapping(address => bool) public instance; + + + address public immutable owner; + address public immutable masterContract; + address private hyperverseAdmin = 0x62a7aa79a52591Ccc62B71729329A80a666fA50f; + + modifier isOwner(address _tenant) { + require( + tenants[_tenant].owner == msg.sender, + 'The calling address is not an owner of a tenant' + ); + _; + } + + modifier isAllowedToCreateInstance(address _tenant) { + require( + msg.sender == _tenant || msg.sender == hyperverseAdmin, + 'Please use a valid address to create an instance' + ); + _; + } + + modifier hasAnInstance(address _tenant) { + require( + instance[_tenant] == false, + 'The tenant already has an instance' + ); + _; + } + + constructor(address _masterContract, address _owner) { + masterContract = _masterContract; + owner = _owner; + } + + /******************* TENANT FUNCTIONALITIES *******************/ + + function createInstance(address _tenant) external hasAnInstance(_tenant) isAllowedToCreateInstance(_tenant) { + Tribes tribe = Tribes(createClone(masterContract)); + + //initializing tenant state of clone + tribe.init(msg.sender); + + //set Tenant data + Tenant storage newTenant = tenants[_tenant]; + newTenant.tribes = tribe; + newTenant.owner = _tenant; + instance[_tenant] = true; + tenantCounter.increment(); + } + + function getProxy(address _tenant) public view returns (Tribes) { + return tenants[_tenant].tribes; + } +} diff --git a/packages/hyperverse-evm-tribes/contracts/hyperverse/IHyperverseModule.sol b/packages/hyperverse-evm-tribes/contracts/hyperverse/IHyperverseModule.sol index c80ab4a0..1b320581 100644 --- a/packages/hyperverse-evm-tribes/contracts/hyperverse/IHyperverseModule.sol +++ b/packages/hyperverse-evm-tribes/contracts/hyperverse/IHyperverseModule.sol @@ -20,15 +20,15 @@ abstract contract IHyperverseModule { address private owner; struct ModuleMetadata { - bytes title; // <-- `pub var title: String` in Cadence + bytes title; Author author; bytes version; uint64 publishedAt; - bytes externalLink; // <-- can't be "external" in Solidity because it's a keyword + bytes externalLink; } struct Author { - address authorAddress; // <-- can't be "address" in Solidity because it's a keyword + address authorAddress; string externalLink; } } diff --git a/packages/hyperverse-evm-tribes/hardhat.config.js b/packages/hyperverse-evm-tribes/hardhat.config.js index fca075a7..5f8719f4 100644 --- a/packages/hyperverse-evm-tribes/hardhat.config.js +++ b/packages/hyperverse-evm-tribes/hardhat.config.js @@ -1,3 +1,5 @@ +const { config } = require("dotenv"); +config(); require("@nomiclabs/hardhat-waffle"); // This is a sample Hardhat task. To learn how to create your own go to diff --git a/packages/hyperverse-evm-tribes/index.ts b/packages/hyperverse-evm-tribes/index.ts index 6ffed2ee..d388504e 100644 --- a/packages/hyperverse-evm-tribes/index.ts +++ b/packages/hyperverse-evm-tribes/index.ts @@ -1 +1 @@ -export * from './source'; +export * from './sourceOld'; diff --git a/packages/hyperverse-evm-tribes/package.json b/packages/hyperverse-evm-tribes/package.json index 283856f9..99a390d3 100644 --- a/packages/hyperverse-evm-tribes/package.json +++ b/packages/hyperverse-evm-tribes/package.json @@ -6,7 +6,10 @@ "main": "./distribution/index.js", "license": "MIT", "scripts": { + "compile": "hardhat compile", "test": "hardhat test", + "deploy-rinkeby": "hardhat run scripts/deploy.js --network rinkeby ", + "deploy-metis": "hardhat run scripts/deploy.js --network metis", "build": "parcel build", "clean": "rimraf ./distribution" }, @@ -24,12 +27,13 @@ "@decentology/hyperverse": "^1.0.9", "@decentology/hyperverse-evm": "^1.0.9", "@decentology/hyperverse-storage-skynet": "^1.0.8", + "@decentology/unstated-next": "^1.1.1", "@openzeppelin/contracts": "^4.4.2", + "dotenv": "^16.0.0", "ethers": "^5.5.3", "react-query": "^3.34.7", "react-use": "^17.3.2", - "skynet-js": "^4.0.23-beta", - "@decentology/unstated-next": "^1.1.1" + "skynet-js": "^4.0.23-beta" }, "devDependencies": { "@decentology/config": "^1.0.0", diff --git a/packages/hyperverse-evm-tribes/scripts/deploy.js b/packages/hyperverse-evm-tribes/scripts/deploy.js index 03a9427b..57983c09 100644 --- a/packages/hyperverse-evm-tribes/scripts/deploy.js +++ b/packages/hyperverse-evm-tribes/scripts/deploy.js @@ -1,9 +1,17 @@ const hre = require('hardhat'); const main = async () => { - const tribesContractFactory = await hre.ethers.getContractFactory('Tribes'); - const baseTribesContract = await tribesContractFactory.deploy(); - await baseTribesContract.deployed(); - console.log('Tribes Contract deployed to: ', baseTribesContract.address); + const hyperverseAdmin = '0x62a7aa79a52591Ccc62B71729329A80a666fA50f'; + const Tribes = await hre.ethers.getContractFactory('Tribes'); + const tribes = await Tribes.deploy(hyperverseAdmin); + await tribes.deployed(); + console.log(`Tribes deployed to: ${tribes.address}`); + + const TribesFactory = await hre.ethers.getContractFactory('TribesFactory'); + const tribesFactory = await TribesFactory.deploy(tribes.address, hyperverseAdmin); + await tribesFactory.deployed(); + console.log('Tribes Factory deployed to: ', tribesFactory.address); + + }; const runMain = async () => { diff --git a/packages/hyperverse-evm-tribes/source/Provider.tsx b/packages/hyperverse-evm-tribes/source/Provider.tsx index 02b8cbf3..0a3e6b06 100644 --- a/packages/hyperverse-evm-tribes/source/Provider.tsx +++ b/packages/hyperverse-evm-tribes/source/Provider.tsx @@ -1,14 +1,10 @@ -import { createContext, FC } from 'react'; -import { useEthereum } from '@decentology/hyperverse-ethereum'; +import { FC } from 'react'; import { QueryClientProvider, QueryClient } from 'react-query'; -import ABI from '../utils/Tribes.json'; import { HyperverseModuleInstance, networks, useHyperverse } from '@decentology/hyperverse'; import { Tribes } from './useTribes'; const client = new QueryClient(); -export const ContractABI = ABI.abi; -export const CONTRACT_TESTNET_ADDRESS = '0xf8CEc073d08e42cdDC1bF1fd8d44ce3252ab7352'; -export const TENANT_TESTNET_ADDRESS = '0xD847C7408c48b6b6720CCa75eB30a93acbF5163D'; +import { TENANT_TESTNET_ADDRESS }from './constants' const Provider: FC = ({ children, tenantId }) => { const { network } = useHyperverse(); diff --git a/packages/hyperverse-evm-tribes/source/constants.ts b/packages/hyperverse-evm-tribes/source/constants.ts new file mode 100644 index 00000000..01f6d24e --- /dev/null +++ b/packages/hyperverse-evm-tribes/source/constants.ts @@ -0,0 +1,7 @@ +import TribesFactory from '../artifacts/contracts/TribesFactory.sol/TribesFactory.json'; +import Tribes from '../artifacts/contracts/Tribes.sol/Tribes.json'; +export const TribesABI = Tribes.abi; +export const TribesFactoryABI = TribesFactory.abi; +export const TRIBES_MAIN_ADDRESS = '0x995d701c0CaAeDA88DBF21727202F3a61AF01177'; +export const TRIBES_FACTORY_ADDRESS = '0xACec20ad889Ba58Ec9d65AB0aA7C0e0D151222e0'; +export const TENANT_TESTNET_ADDRESS = '0xDf61226090C2475D9ec7c494684d2715b61F130c'; diff --git a/packages/hyperverse-evm-tribes/source/useTribes.ts b/packages/hyperverse-evm-tribes/source/useTribes.ts index ce11ff85..4d8be592 100644 --- a/packages/hyperverse-evm-tribes/source/useTribes.ts +++ b/packages/hyperverse-evm-tribes/source/useTribes.ts @@ -1,7 +1,7 @@ -import { useState, useEffect, useCallback } from 'react'; +import { useState, useEffect, useCallback, useMemo } from 'react'; import { useQuery, useMutation, useQueryClient, UseMutationOptions } from 'react-query'; -import { ethers } from 'ethers'; -import { ContractABI, CONTRACT_TESTNET_ADDRESS } from './Provider'; +import { ethers, constants } from 'ethers'; +import { TribesABI, TribesFactoryABI, TRIBES_FACTORY_ADDRESS } from './constants'; import { useEvent } from 'react-use'; import { useStorage } from '@decentology/hyperverse-storage-skynet'; import { createContainer, useContainer } from '@decentology/unstated-next'; @@ -20,21 +20,48 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { const queryClient = useQueryClient(); const { address, web3Provider, provider, connect } = useEvm(); const { clientUrl } = useStorage(); - const [contract, setTribesContract] = useState( - new ethers.Contract(CONTRACT_TESTNET_ADDRESS, ContractABI, provider) as ContractState - ); const { uploadFile } = useStorage(); + + const [factoryContract, setFactoryContract] = useState( + new ethers.Contract(TRIBES_FACTORY_ADDRESS, TribesFactoryABI, provider) as ContractState + ); + + const [proxyContract, setProxyContract] = useState(); + + const signer = useMemo(async () => { + return web3Provider?.getSigner(); + }, [web3Provider]); + + useEffect(() => { + const fetchContract = async () => { + const proxyAddress = await factoryContract.getProxy(tenantId); + if (proxyAddress == constants.AddressZero) { + return; + } + const proxyCtr = new ethers.Contract(proxyAddress, TribesABI, provider); + const accountSigner = await signer; + if (accountSigner) { + setProxyContract(proxyCtr.connect(accountSigner)); + } else { + setProxyContract(proxyCtr); + } + }; + fetchContract(); + }, [factoryContract, tenantId, provider, signer]); + const setup = useCallback(async () => { - const signer = await web3Provider?.getSigner(); - if (signer && contract) { - const ctr = contract.connect(signer) as ContractState; - setTribesContract(ctr); + const accountSigner = await signer; + if (accountSigner) { + const ctr = factoryContract.connect(accountSigner) as ContractState; + setFactoryContract(ctr); } - }, [web3Provider]); + // We have a defualt contract that has no signer. Which will work for read-only operations. + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [signer]); const formatTribeResultFromTribeId = useCallback( async (tribeId: number) => { - const txn = await contract.getTribeData(tenantId, tribeId); + const txn = await proxyContract?.getTribeData(tenantId, tribeId); const link = txn.replace('sia:', ''); const json = JSON.parse( // eslint-disable-next-line no-await-in-loop @@ -45,25 +72,27 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { json.imageUrl = `${clientUrl}/${json.image.replace('sia:', '')}`; return json; }, - [contract] + [proxyContract?.signer] ); - const errors = (err: any) => { - if (!contract?.signer) { - throw new Error('Please connect your wallet!'); - } + const errors = useCallback( + (err: any) => { + if (!proxyContract?.signer) { + throw new Error('Please connect your wallet!'); + } - if (err.code === 4001) { - throw new Error('You rejected the transaction!'); - } + if (err.code === 4001) { + throw new Error('You rejected the transaction!'); + } - if (err.message.includes('User is already in a Tribe!')) { - throw new Error('You are already in a tribe!'); - } + if (err.message.includes('User is already in a Tribe!')) { + throw new Error('You are already in a tribe!'); + } - throw err; - // throw new Error("Something went wrong!"); - }; + throw err; + }, + [proxyContract?.signer] + ); useEffect(() => { if (web3Provider) { @@ -71,37 +100,34 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { } }, [web3Provider]); - const checkInstance = useCallback( - async (account: any) => { - try { - const instance = await contract.instance(account); - return instance; - } catch (err) { - return false; - } - }, - [contract] - ); + const checkInstance = async (account: any) => { + try { + const instance = await factoryContract.instance(account); + return instance; + } catch (err) { + return false; + } + }; const createInstance = useCallback(async () => { try { - const createTxn = await contract.createInstance(); + const createTxn = await factoryContract.createInstance(); return createTxn.wait(); } catch (err) { errors(err); throw err; } - }, [contract]); + }, [factoryContract?.signer]); - const getTotalTenants = useCallback(async () => { + const getTotalTenants = async () => { try { - const tenantCount = await contract.tenantCount(); + const tenantCount = await factoryContract.tenantCounter(); return tenantCount.toNumber(); } catch (err) { throw err; } - }, [contract]); + }; const addTribe = useCallback( async (metadata: Omit, image: File) => { @@ -119,59 +145,54 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { const metadataFile = new File([JSON.stringify(fullMetaData)], 'metadata.json'); const { skylink: metadataFileLink } = await uploadFile(metadataFile); - const addTxn = await contract.addNewTribe(metadataFileLink.replace('sia:', '')); + const addTxn = await proxyContract?.addNewTribe( + metadataFileLink.replace('sia:', '') + ); return addTxn.wait(); } catch (err) { errors(err); throw err; } }, - [contract] + [address, proxyContract?.signer] ); - const getTribeId = useCallback( - async (account) => { - try { - const id = await contract.getUserTribe(tenantId, account); - return id.toNumber(); - } catch (err) { - if (err instanceof Error) { - if (err.message.includes('This member is not in a Tribe!')) { - return null; - } + const getTribeId = async (account: string) => { + try { + const id = await proxyContract?.getUserTribe(account); + return id.toNumber(); + } catch (err) { + if (err instanceof Error) { + if (err.message.includes('This member is not in a Tribe!')) { + return null; } - errors(err); - } - }, - [contract] - ); - - const getTribe = useCallback( - async (id) => { - try { - const userTribeTxn = await contract.getTribeData(tenantId, id); - // return userTribeTxn; - return formatTribeResultFromTribeId(id); - } catch (err) { - errors(err); } - }, - [contract] - ); + errors(err); + } + }; + const getTribe = async (id: number) => { + try { + const userTribeTxn = await proxyContract?.getTribeData(id); + // return userTribeTxn; + return formatTribeResultFromTribeId(id); + } catch (err) { + errors(err); + } + }; const leaveTribe = useCallback(async () => { try { - const leaveTxn = await contract.leaveTribe(tenantId); + const leaveTxn = await proxyContract?.leaveTribe(); await leaveTxn.wait(); return leaveTxn.hash; } catch (err) { errors(err); } - }, [contract]); + }, [address, proxyContract?.signer]); const getAllTribes = useCallback(async () => { try { - const tribesData = await contract.totalTribes(tenantId); + const tribesData = await proxyContract?.tribeCounter(); const tribes = []; for (let tribeId = 1; tribeId <= tribesData.toNumber(); ++tribeId) { const json = await formatTribeResultFromTribeId(tribeId); @@ -182,57 +203,65 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { } catch (err) { errors(err); } - }, [contract]); + }, [address, proxyContract?.address]); const joinTribe = useCallback( async (id) => { try { - const joinTxn = await contract.joinTribe(tenantId, id); + const joinTxn = await proxyContract?.joinTribe(id); return joinTxn.wait(); } catch (err) { errors(err); } }, - [contract] + [address, proxyContract?.signer] ); - - const getTribeMembers = useCallback(async (tribeId:number) => { + const getTribeMembers = async (tribeId: number) => { try { - const events = await contract.queryFilter(contract.filters.JoinedTribe(), 0) - const members = events.map(e => { - if (e.args){ - return { - tribeId: e.args[0].toNumber(), - account: e.args[1], + const events = await proxyContract?.queryFilter( + proxyContract?.filters.JoinedTribe(), + 0 + ); + const members = events + ?.map((e) => { + if (e.args) { + return { + tribeId: e.args[0].toNumber(), + account: e.args[1], + }; } - } - }).filter(e => e?.tribeId === tribeId) - return members + }) + .filter((e) => e?.tribeId === tribeId); + return members; } catch (err) { errors(err); } - }, [contract]); - + }; const useTribeEvents = (eventName: string, callback: any) => { - return useEvent(eventName, useCallback(callback, [contract]), contract); + return useEvent(eventName, useCallback(callback, [proxyContract]), proxyContract); }; return { tenantId, - contract, + factoryContract, + proxyContract, useTribeEvents, CheckInstance: () => - useQuery(['checkInstance', address, contract?.address], () => checkInstance(address), { - enabled: !!address && !!contract?.address, - }), + useQuery( + ['checkInstance', address, factoryContract?.address], + () => checkInstance(address), + { + enabled: !!address && !!factoryContract?.signer, + } + ), NewInstance: ( options?: Omit, 'mutationFn'> ) => useMutation(createInstance, options), TotalTenants: () => - useQuery(['totalTenants', contract?.address], () => getTotalTenants(), { - enabled: !!contract?.address, + useQuery(['totalTenants', factoryContract?.address], () => getTotalTenants(), { + enabled: !!factoryContract?.address, }), AddTribe: ( options?: Omit< @@ -246,8 +275,8 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { > ) => useMutation((payload) => addTribe(payload.metadata, payload.image), options), Tribes: () => - useQuery(['tribes', contract?.address], () => getAllTribes(), { - enabled: !!contract?.address, + useQuery(['tribes', proxyContract?.address], () => getAllTribes(), { + enabled: !!proxyContract?.address, }), Join: ( options?: Omit, 'mutationFn'> @@ -264,24 +293,24 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { }, }), TribeId: () => - useQuery(['getTribeId', address, contract?.address], () => getTribeId(address), { - enabled: !!address && !!contract?.address, + useQuery(['getTribeId', address, proxyContract?.address], () => getTribeId(address!), { + enabled: !!address && !!proxyContract?.address, retry: false, }), Tribe: () => { const { data: tribeId } = useQuery( - ['getTribeId', address, contract?.address], - () => getTribeId(address), - { enabled: !!address && !!contract?.address } + ['getTribeId', address, proxyContract?.address], + () => getTribeId(address!), + { enabled: !!address && !!proxyContract?.address } ); return useQuery(['getTribeData', tribeId], () => getTribe(tribeId), { enabled: !!tribeId, }); }, TribeMembers: (tribeId: number) => - useQuery(['getTribeMembers', contract?.address], () => getTribeMembers(tribeId), { - enabled: !!contract?.address, - }), + useQuery(['getTribeMembers', proxyContract?.address], () => getTribeMembers(tribeId), { + enabled: !!proxyContract?.address && !!tribeId, + }), }; } diff --git a/packages/hyperverse-evm-tribes/utils/Tribes.json b/packages/hyperverse-evm-tribes/utils/Tribes.json deleted file mode 100644 index a2c2dd4b..00000000 --- a/packages/hyperverse-evm-tribes/utils/Tribes.json +++ /dev/null @@ -1,314 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Tribes", - "sourceName": "contracts/Tribes.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "tribeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "newMember", - "type": "address" - } - ], - "name": "JoinedTribe", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "tribeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "member", - "type": "address" - } - ], - "name": "LeftTribe", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "tenant", - "type": "address" - } - ], - "name": "NewTenantInstance", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "metadata", - "type": "string" - } - ], - "name": "NewTribeCreated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "metadata", - "type": "string" - } - ], - "name": "addNewTribe", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "createInstance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tribeId", - "type": "uint256" - } - ], - "name": "getTribeData", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getUserTribe", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "instance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tribeId", - "type": "uint256" - } - ], - "name": "joinTribe", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - } - ], - "name": "leaveTribe", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "metadata", - "outputs": [ - { - "internalType": "bytes", - "name": "title", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "address", - "name": "authorAddress", - "type": "address" - }, - { - "internalType": "string", - "name": "externalLink", - "type": "string" - } - ], - "internalType": "struct IHyperverseModule.Author", - "name": "author", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "version", - "type": "bytes" - }, - { - "internalType": "uint64", - "name": "publishedAt", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "externalLink", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tenantCount", - "outputs": [ - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "tenants", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "internalType": "struct Counters.Counter", - "name": "tribeIds", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tenant", - "type": "address" - } - ], - "name": "totalTribes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506040518060a001604052806040518060400160405280600681526020017f5472696265730000000000000000000000000000000000000000000000000000815250815260200160405180604001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016040518060400160405280601881526020017f68747470733a2f2f65787465726e616c6c696e6b2e6e6574000000000000000081525081525081526020016040518060400160405280600581526020017f302e302e31000000000000000000000000000000000000000000000000000000815250815260200165032a361e860667ffffffffffffffff1681526020016040518060400160405280601881526020017f68747470733a2f2f65787465726e616c4c696e6b2e6e65740000000000000000815250815250600080820151816000019080519060200190620001669291906200028f565b5060208201518160010160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019080519060200190620001d592919062000320565b5050506040820151816003019080519060200190620001f69291906200028f565b5060608201518160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506080820151816005019080519060200190620002449291906200028f565b5090505033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000435565b8280546200029d90620003d0565b90600052602060002090601f016020900481019282620002c157600085556200030d565b82601f10620002dc57805160ff19168380011785556200030d565b828001600101855582156200030d579182015b828111156200030c578251825591602001919060010190620002ef565b5b5090506200031c9190620003b1565b5090565b8280546200032e90620003d0565b90600052602060002090601f0160209004810192826200035257600085556200039e565b82601f106200036d57805160ff19168380011785556200039e565b828001600101855582156200039e579182015b828111156200039d57825182559160200191906001019062000380565b5b509050620003ad9190620003b1565b5090565b5b80821115620003cc576000816000905550600101620003b2565b5090565b60006002820490506001821680620003e957607f821691505b602082108114156200040057620003ff62000406565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61190c80620004456000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461017d578063aae9f2591461019b578063ad501467146101cb578063be51f4f8146101d5578063cf33d58814610205578063fd9153a314610235576100b4565b80631307430a146100b957806316d24710146100d75780633269c74e146100f357806333d03bcc1461010f578063392f37e91461013f5780636d019c9214610161575b600080fd5b6100c1610265565b6040516100ce91906114cf565b60405180910390f35b6100f160048036038101906100ec91906110c3565b610271565b005b61010d6004803603810190610108919061105e565b61046a565b005b6101296004803603810190610124919061105e565b610698565b60405161013691906114cf565b60405180910390f35b6101476106b5565b604051610158959493929190611383565b60405180910390f35b61017b600480360381019061017691906110ff565b610977565b005b610185610aa6565b604051610192919061134d565b60405180910390f35b6101b560048036038101906101b09190611087565b610acc565b6040516101c291906114cf565b60405180910390f35b6101d3610bb0565b005b6101ef60048036038101906101ea91906110c3565b610d1e565b6040516101fc91906113f2565b60405180910390f35b61021f600480360381019061021a919061105e565b610ddd565b60405161022c9190611368565b60405180910390f35b61024f600480360381019061024a919061105e565b610dfd565b60405161025c91906114b4565b60405180910390f35b60088060000154905081565b6000339050600061028184610e2f565b905060008160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fe90611474565b60405180910390fd5b8261031482600201610f05565b1015610355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034c90611494565b60405180910390fd5b828160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000816000016000858152602001908152602001600020905060018160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600181600201600082825461042391906115b2565b925050819055507f8e0fdde8512c413931ab05e9ae74b54525259ce920b11c355705e510829841db848460405161045b9291906114ea565b60405180910390a15050505050565b600061047582610e2f565b905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156104fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f390611414565b60405180910390fd5b60008160000160008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020905060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018260020160008282546106529190611608565b925050819055507fbeae83c5a8a13a5d2a71926ba1055d7a1d9de899e96f7244654799627236644d813360405161068a9291906114ea565b60405180910390a150505050565b60006106ae6106a683610e2f565b600201610f05565b9050919050565b60008060000180546106c6906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546106f2906116da565b801561073f5780601f106107145761010080835404028352916020019161073f565b820191906000526020600020905b81548152906001019060200180831161072257829003601f168201915b505050505090806001016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180546107ba906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546107e6906116da565b80156108335780601f1061080857610100808354040283529160200191610833565b820191906000526020600020905b81548152906001019060200180831161081657829003601f168201915b5050505050815250509080600301805461084c906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610878906116da565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050908060040160009054906101000a900467ffffffffffffffff16908060050180546108f4906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610920906116da565b801561096d5780601f106109425761010080835404028352916020019161096d565b820191906000526020600020905b81548152906001019060200180831161095057829003601f168201915b5050505050905085565b33600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb90611434565b60405180910390fd5b6000610a0f33610e2f565b9050610a1d81600201610f13565b6000610a2b82600201610f05565b90506000826000016000838152602001908152602001600020905084816000019080519060200190610a5e929190610f29565b508181600301819055507f2d06fe5eff482a0b08e70bd38f111a1a397e6952391bdc714df3eacb735b354c85604051610a9791906113f2565b60405180910390a15050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610ad884610e2f565b905060008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5690611414565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050809250505092915050565b60001515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90611454565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610ce56008610f13565b7fa7c4d74046e6121f6c1f91b52d5af6460c49a30ba0cb5920a2dd4434af77933a33604051610d14919061134d565b60405180910390a1565b60606000610d2b84610e2f565b905060008160000160008581526020019081526020016000209050806000018054610d55906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610d81906116da565b8015610dce5780601f10610da357610100808354040283529160200191610dce565b820191906000526020600020905b815481529060010190602001808311610db157829003601f168201915b50505050509250505092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600960205280600052604060002060009150905080600201604051806020016040529081600082015481525050905081565b600081600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590611434565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915050919050565b600081600001549050919050565b6001816000016000828254019250508190555050565b828054610f35906116da565b90600052602060002090601f016020900481019282610f575760008555610f9e565b82601f10610f7057805160ff1916838001178555610f9e565b82800160010185558215610f9e579182015b82811115610f9d578251825591602001919060010190610f82565b5b509050610fab9190610faf565b5090565b5b80821115610fc8576000816000905550600101610fb0565b5090565b6000610fdf610fda84611538565b611513565b905082815260208101848484011115610ff757600080fd5b611002848285611698565b509392505050565b600081359050611019816118a8565b92915050565b600082601f83011261103057600080fd5b8135611040848260208601610fcc565b91505092915050565b600081359050611058816118bf565b92915050565b60006020828403121561107057600080fd5b600061107e8482850161100a565b91505092915050565b6000806040838503121561109a57600080fd5b60006110a88582860161100a565b92505060206110b98582860161100a565b9150509250929050565b600080604083850312156110d657600080fd5b60006110e48582860161100a565b92505060206110f585828601611049565b9150509250929050565b60006020828403121561111157600080fd5b600082013567ffffffffffffffff81111561112b57600080fd5b6111378482850161101f565b91505092915050565b6111498161163c565b82525050565b6111588161163c565b82525050565b6111678161164e565b82525050565b600061117882611569565b611182818561157f565b93506111928185602086016116a7565b61119b816117ca565b840191505092915050565b60006111b182611574565b6111bb8185611590565b93506111cb8185602086016116a7565b6111d4816117ca565b840191505092915050565b60006111ea82611574565b6111f481856115a1565b93506112048185602086016116a7565b61120d816117ca565b840191505092915050565b6000611225601e836115a1565b9150611230826117db565b602082019050919050565b60006112486020836115a1565b915061125382611804565b602082019050919050565b600061126b601c836115a1565b91506112768261182d565b602082019050919050565b600061128e601b836115a1565b915061129982611856565b602082019050919050565b60006112b16014836115a1565b91506112bc8261187f565b602082019050919050565b60006040830160008301516112df6000860182611140565b50602083015184820360208601526112f782826111a6565b9150508091505092915050565b60208201600082015161131a6000850182611320565b50505050565b6113298161167a565b82525050565b6113388161167a565b82525050565b61134781611684565b82525050565b6000602082019050611362600083018461114f565b92915050565b600060208201905061137d600083018461115e565b92915050565b600060a082019050818103600083015261139d818861116d565b905081810360208301526113b181876112c7565b905081810360408301526113c5818661116d565b90506113d4606083018561133e565b81810360808301526113e6818461116d565b90509695505050505050565b6000602082019050818103600083015261140c81846111df565b905092915050565b6000602082019050818103600083015261142d81611218565b9050919050565b6000602082019050818103600083015261144d8161123b565b9050919050565b6000602082019050818103600083015261146d8161125e565b9050919050565b6000602082019050818103600083015261148d81611281565b9050919050565b600060208201905081810360008301526114ad816112a4565b9050919050565b60006020820190506114c96000830184611304565b92915050565b60006020820190506114e4600083018461132f565b92915050565b60006040820190506114ff600083018561132f565b61150c602083018461114f565b9392505050565b600061151d61152e565b9050611529828261170c565b919050565b6000604051905090565b600067ffffffffffffffff8211156115535761155261179b565b5b61155c826117ca565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006115bd8261167a565b91506115c88361167a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115fd576115fc61173d565b5b828201905092915050565b60006116138261167a565b915061161e8361167a565b9250828210156116315761163061173d565b5b828203905092915050565b60006116478261165a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b838110156116c55780820151818401526020810190506116aa565b838111156116d4576000848401525b50505050565b600060028204905060018216806116f257607f821691505b602082108114156117065761170561176c565b5b50919050565b611715826117ca565b810181811067ffffffffffffffff821117156117345761173361179b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f54686973206d656d626572206973206e6f7420696e2061205472696265210000600082015250565b7f54656e616e7420646f6573206e6f74206861766520616e20696e7374616e6365600082015250565b7f596f7520616c7265616479206861766520616e20696e7374616e636500000000600082015250565b7f5573657220697320616c726561647920696e2061205472696265210000000000600082015250565b7f547269626520646f6573206e6f74206578697374000000000000000000000000600082015250565b6118b18161163c565b81146118bc57600080fd5b50565b6118c88161167a565b81146118d357600080fd5b5056fea2646970667358221220ebe031daa7895c6bbfbbc341e12d1c27c4ddaf19caf64e15506af591a7e70f1364736f6c63430008040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461017d578063aae9f2591461019b578063ad501467146101cb578063be51f4f8146101d5578063cf33d58814610205578063fd9153a314610235576100b4565b80631307430a146100b957806316d24710146100d75780633269c74e146100f357806333d03bcc1461010f578063392f37e91461013f5780636d019c9214610161575b600080fd5b6100c1610265565b6040516100ce91906114cf565b60405180910390f35b6100f160048036038101906100ec91906110c3565b610271565b005b61010d6004803603810190610108919061105e565b61046a565b005b6101296004803603810190610124919061105e565b610698565b60405161013691906114cf565b60405180910390f35b6101476106b5565b604051610158959493929190611383565b60405180910390f35b61017b600480360381019061017691906110ff565b610977565b005b610185610aa6565b604051610192919061134d565b60405180910390f35b6101b560048036038101906101b09190611087565b610acc565b6040516101c291906114cf565b60405180910390f35b6101d3610bb0565b005b6101ef60048036038101906101ea91906110c3565b610d1e565b6040516101fc91906113f2565b60405180910390f35b61021f600480360381019061021a919061105e565b610ddd565b60405161022c9190611368565b60405180910390f35b61024f600480360381019061024a919061105e565b610dfd565b60405161025c91906114b4565b60405180910390f35b60088060000154905081565b6000339050600061028184610e2f565b905060008160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fe90611474565b60405180910390fd5b8261031482600201610f05565b1015610355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034c90611494565b60405180910390fd5b828160010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000816000016000858152602001908152602001600020905060018160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600181600201600082825461042391906115b2565b925050819055507f8e0fdde8512c413931ab05e9ae74b54525259ce920b11c355705e510829841db848460405161045b9291906114ea565b60405180910390a15050505050565b600061047582610e2f565b905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156104fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f390611414565b60405180910390fd5b60008160000160008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020905060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008360010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018260020160008282546106529190611608565b925050819055507fbeae83c5a8a13a5d2a71926ba1055d7a1d9de899e96f7244654799627236644d813360405161068a9291906114ea565b60405180910390a150505050565b60006106ae6106a683610e2f565b600201610f05565b9050919050565b60008060000180546106c6906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546106f2906116da565b801561073f5780601f106107145761010080835404028352916020019161073f565b820191906000526020600020905b81548152906001019060200180831161072257829003601f168201915b505050505090806001016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180546107ba906116da565b80601f01602080910402602001604051908101604052809291908181526020018280546107e6906116da565b80156108335780601f1061080857610100808354040283529160200191610833565b820191906000526020600020905b81548152906001019060200180831161081657829003601f168201915b5050505050815250509080600301805461084c906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610878906116da565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050908060040160009054906101000a900467ffffffffffffffff16908060050180546108f4906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610920906116da565b801561096d5780601f106109425761010080835404028352916020019161096d565b820191906000526020600020905b81548152906001019060200180831161095057829003601f168201915b5050505050905085565b33600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb90611434565b60405180910390fd5b6000610a0f33610e2f565b9050610a1d81600201610f13565b6000610a2b82600201610f05565b90506000826000016000838152602001908152602001600020905084816000019080519060200190610a5e929190610f29565b508181600301819055507f2d06fe5eff482a0b08e70bd38f111a1a397e6952391bdc714df3eacb735b354c85604051610a9791906113f2565b60405180910390a15050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610ad884610e2f565b905060008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5690611414565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050809250505092915050565b60001515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90611454565b60405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610ce56008610f13565b7fa7c4d74046e6121f6c1f91b52d5af6460c49a30ba0cb5920a2dd4434af77933a33604051610d14919061134d565b60405180910390a1565b60606000610d2b84610e2f565b905060008160000160008581526020019081526020016000209050806000018054610d55906116da565b80601f0160208091040260200160405190810160405280929190818152602001828054610d81906116da565b8015610dce5780601f10610da357610100808354040283529160200191610dce565b820191906000526020600020905b815481529060010190602001808311610db157829003601f168201915b50505050509250505092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600960205280600052604060002060009150905080600201604051806020016040529081600082015481525050905081565b600081600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590611434565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915050919050565b600081600001549050919050565b6001816000016000828254019250508190555050565b828054610f35906116da565b90600052602060002090601f016020900481019282610f575760008555610f9e565b82601f10610f7057805160ff1916838001178555610f9e565b82800160010185558215610f9e579182015b82811115610f9d578251825591602001919060010190610f82565b5b509050610fab9190610faf565b5090565b5b80821115610fc8576000816000905550600101610fb0565b5090565b6000610fdf610fda84611538565b611513565b905082815260208101848484011115610ff757600080fd5b611002848285611698565b509392505050565b600081359050611019816118a8565b92915050565b600082601f83011261103057600080fd5b8135611040848260208601610fcc565b91505092915050565b600081359050611058816118bf565b92915050565b60006020828403121561107057600080fd5b600061107e8482850161100a565b91505092915050565b6000806040838503121561109a57600080fd5b60006110a88582860161100a565b92505060206110b98582860161100a565b9150509250929050565b600080604083850312156110d657600080fd5b60006110e48582860161100a565b92505060206110f585828601611049565b9150509250929050565b60006020828403121561111157600080fd5b600082013567ffffffffffffffff81111561112b57600080fd5b6111378482850161101f565b91505092915050565b6111498161163c565b82525050565b6111588161163c565b82525050565b6111678161164e565b82525050565b600061117882611569565b611182818561157f565b93506111928185602086016116a7565b61119b816117ca565b840191505092915050565b60006111b182611574565b6111bb8185611590565b93506111cb8185602086016116a7565b6111d4816117ca565b840191505092915050565b60006111ea82611574565b6111f481856115a1565b93506112048185602086016116a7565b61120d816117ca565b840191505092915050565b6000611225601e836115a1565b9150611230826117db565b602082019050919050565b60006112486020836115a1565b915061125382611804565b602082019050919050565b600061126b601c836115a1565b91506112768261182d565b602082019050919050565b600061128e601b836115a1565b915061129982611856565b602082019050919050565b60006112b16014836115a1565b91506112bc8261187f565b602082019050919050565b60006040830160008301516112df6000860182611140565b50602083015184820360208601526112f782826111a6565b9150508091505092915050565b60208201600082015161131a6000850182611320565b50505050565b6113298161167a565b82525050565b6113388161167a565b82525050565b61134781611684565b82525050565b6000602082019050611362600083018461114f565b92915050565b600060208201905061137d600083018461115e565b92915050565b600060a082019050818103600083015261139d818861116d565b905081810360208301526113b181876112c7565b905081810360408301526113c5818661116d565b90506113d4606083018561133e565b81810360808301526113e6818461116d565b90509695505050505050565b6000602082019050818103600083015261140c81846111df565b905092915050565b6000602082019050818103600083015261142d81611218565b9050919050565b6000602082019050818103600083015261144d8161123b565b9050919050565b6000602082019050818103600083015261146d8161125e565b9050919050565b6000602082019050818103600083015261148d81611281565b9050919050565b600060208201905081810360008301526114ad816112a4565b9050919050565b60006020820190506114c96000830184611304565b92915050565b60006020820190506114e4600083018461132f565b92915050565b60006040820190506114ff600083018561132f565b61150c602083018461114f565b9392505050565b600061151d61152e565b9050611529828261170c565b919050565b6000604051905090565b600067ffffffffffffffff8211156115535761155261179b565b5b61155c826117ca565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006115bd8261167a565b91506115c88361167a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115fd576115fc61173d565b5b828201905092915050565b60006116138261167a565b915061161e8361167a565b9250828210156116315761163061173d565b5b828203905092915050565b60006116478261165a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b838110156116c55780820151818401526020810190506116aa565b838111156116d4576000848401525b50505050565b600060028204905060018216806116f257607f821691505b602082108114156117065761170561176c565b5b50919050565b611715826117ca565b810181811067ffffffffffffffff821117156117345761173361179b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f54686973206d656d626572206973206e6f7420696e2061205472696265210000600082015250565b7f54656e616e7420646f6573206e6f74206861766520616e20696e7374616e6365600082015250565b7f596f7520616c7265616479206861766520616e20696e7374616e636500000000600082015250565b7f5573657220697320616c726561647920696e2061205472696265210000000000600082015250565b7f547269626520646f6573206e6f74206578697374000000000000000000000000600082015250565b6118b18161163c565b81146118bc57600080fd5b50565b6118c88161167a565b81146118d357600080fd5b5056fea2646970667358221220ebe031daa7895c6bbfbbc341e12d1c27c4ddaf19caf64e15506af591a7e70f1364736f6c63430008040033", - "linkReferences": {}, - "deployedLinkReferences": {} -} From e7819b9667936b1542cc9a80401a631c5382d808 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Wed, 2 Mar 2022 16:42:20 -0500 Subject: [PATCH 15/41] Renamed Contracts --- .../contracts/Greeter.sol | 11 ------ .../contracts/{ExampleNFT.sol => NFT.sol} | 2 +- .../{ExampleNFTFactory.sol => NFTFactory.sol} | 10 ++--- .../hyperverse/IHyperverseModule.sol | 38 ++++++++----------- 4 files changed, 21 insertions(+), 40 deletions(-) delete mode 100644 packages/hyperverse-evm-erc721/contracts/Greeter.sol rename packages/hyperverse-evm-erc721/contracts/{ExampleNFT.sol => NFT.sol} (97%) rename packages/hyperverse-evm-erc721/contracts/{ExampleNFTFactory.sol => NFTFactory.sol} (88%) diff --git a/packages/hyperverse-evm-erc721/contracts/Greeter.sol b/packages/hyperverse-evm-erc721/contracts/Greeter.sol deleted file mode 100644 index 3754716e..00000000 --- a/packages/hyperverse-evm-erc721/contracts/Greeter.sol +++ /dev/null @@ -1,11 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC721/ERC721.sol) -pragma solidity ^0.8.0; - -contract Greeter { - string thing; - - constructor(string memory _thing) { - thing = _thing; - } -} diff --git a/packages/hyperverse-evm-erc721/contracts/ExampleNFT.sol b/packages/hyperverse-evm-erc721/contracts/NFT.sol similarity index 97% rename from packages/hyperverse-evm-erc721/contracts/ExampleNFT.sol rename to packages/hyperverse-evm-erc721/contracts/NFT.sol index 7a5a44b5..d97ac9f8 100644 --- a/packages/hyperverse-evm-erc721/contracts/ExampleNFT.sol +++ b/packages/hyperverse-evm-erc721/contracts/NFT.sol @@ -10,7 +10,7 @@ import './MERC721.sol'; * the Metadata extension, but not including the Enumerable extension, which is available separately as * {ERC721Enumerable}. */ -contract ExampleNFT is MERC721 { +contract NFT is MERC721 { uint256 public tokenCounter; // Account used to deploy contract diff --git a/packages/hyperverse-evm-erc721/contracts/ExampleNFTFactory.sol b/packages/hyperverse-evm-erc721/contracts/NFTFactory.sol similarity index 88% rename from packages/hyperverse-evm-erc721/contracts/ExampleNFTFactory.sol rename to packages/hyperverse-evm-erc721/contracts/NFTFactory.sol index 84beb182..b7f76244 100644 --- a/packages/hyperverse-evm-erc721/contracts/ExampleNFTFactory.sol +++ b/packages/hyperverse-evm-erc721/contracts/NFTFactory.sol @@ -4,16 +4,16 @@ pragma experimental ABIEncoderV2; import './hyperverse/CloneFactory.sol'; import './hyperverse/IHyperverseModule.sol'; -import './ExampleNFT.sol'; +import './NFT.sol'; /** * @dev Clone Factory Implementation for ERC20 Token */ -contract ExampleNFTFactory is CloneFactory { +contract NFTFactory is CloneFactory { /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ S T A T E @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ struct Tenant { - ExampleNFT nft; + NFT nft; address owner; } @@ -50,7 +50,7 @@ contract ExampleNFTFactory is CloneFactory { function createInstance(string memory name, string memory symbol) external { address tenant = msg.sender; - ExampleNFT nft = ExampleNFT(createClone(masterContract)); + NFT nft = NFT(createClone(masterContract)); //initializing tenant state of clone nft.init(name, symbol, tenant); @@ -61,7 +61,7 @@ contract ExampleNFTFactory is CloneFactory { newTenant.owner = tenant; } - function getProxy(address _tenant) public view returns (ExampleNFT) { + function getProxy(address _tenant) public view returns (NFT) { return tenants[_tenant].nft; } } diff --git a/packages/hyperverse-evm-erc721/contracts/hyperverse/IHyperverseModule.sol b/packages/hyperverse-evm-erc721/contracts/hyperverse/IHyperverseModule.sol index c80ab4a0..c5dea23c 100644 --- a/packages/hyperverse-evm-erc721/contracts/hyperverse/IHyperverseModule.sol +++ b/packages/hyperverse-evm-erc721/contracts/hyperverse/IHyperverseModule.sol @@ -1,14 +1,6 @@ /** - ## The Decentology Smart Module standard on Ethereum - ## `IHyperverseModule` interface - -In essense, this contract serves the equivalent of two purposes -in respect to Cadence: -1) Enforces the `metadata` variable (same as IHyperverseModule.cdc) -2) Defines what a ModuleMetadata is (sam as HyperverseModule.cdc) - */ // SPDX-License-Identifier: UNLICENSED @@ -16,19 +8,19 @@ in respect to Cadence: pragma solidity ^0.8.0; abstract contract IHyperverseModule { - ModuleMetadata public metadata; - address private owner; - - struct ModuleMetadata { - bytes title; // <-- `pub var title: String` in Cadence - Author author; - bytes version; - uint64 publishedAt; - bytes externalLink; // <-- can't be "external" in Solidity because it's a keyword - } - - struct Author { - address authorAddress; // <-- can't be "address" in Solidity because it's a keyword - string externalLink; - } + ModuleMetadata public metadata; + address private owner; + + struct ModuleMetadata { + bytes title; + Author author; + bytes version; + uint64 publishedAt; + bytes externalLink; + } + + struct Author { + address authorAddress; + string externalLink; + } } From 0c719af6a4e1c52043da41619b180ce176164057 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Wed, 2 Mar 2022 16:57:41 -0500 Subject: [PATCH 16/41] Added EVM environment type --- .../hyperverse-evm-erc721/source/Provider.tsx | 5 ++- .../source/environment.ts | 40 ++++++++++++------- packages/hyperverse/source/types.ts | 14 +++++-- 3 files changed, 39 insertions(+), 20 deletions(-) diff --git a/packages/hyperverse-evm-erc721/source/Provider.tsx b/packages/hyperverse-evm-erc721/source/Provider.tsx index 8ab23210..085a8962 100644 --- a/packages/hyperverse-evm-erc721/source/Provider.tsx +++ b/packages/hyperverse-evm-erc721/source/Provider.tsx @@ -2,17 +2,18 @@ import { FC } from 'react'; import { QueryClientProvider, QueryClient } from 'react-query'; import { HyperverseModuleInstance, networks, useHyperverse } from '@decentology/hyperverse'; import { ERC721 } from './useERC721'; -import { TENANT_ADDRESS } from './constants'; +import { useEnvironment } from './environment'; const client = new QueryClient(); const Provider: FC = ({ children, tenantId }) => { const { network } = useHyperverse(); + const { tenantAddress } = useEnvironment(); if (network === networks.Mainnet && tenantId == null) { throw new Error('Tenant ID is required for Mainnet'); } return ( - + {children} diff --git a/packages/hyperverse-evm-erc721/source/environment.ts b/packages/hyperverse-evm-erc721/source/environment.ts index be084631..1a1f428d 100644 --- a/packages/hyperverse-evm-erc721/source/environment.ts +++ b/packages/hyperverse-evm-erc721/source/environment.ts @@ -1,38 +1,49 @@ -import { networks, useHyperverse, blockchains, isEvm, BlockchainEvm } from '@decentology/hyperverse'; +import { + networks, + useHyperverse, + blockchains, + isEvm, + BlockchainEvm, + EvmEnvironment, +} from '@decentology/hyperverse'; import ERC721FactoryABI from '../utils/ExampleNFTFactory.json'; import ERC721ABI from '../utils/ExampleNFT.json'; export const FactoryABI = ERC721FactoryABI.abi; export const ABI = ERC721ABI.abi; -const environment = { +const environment: EvmEnvironment = { [blockchains.Ethereum]: { [networks.Mainnet]: { contractAddress: null, + tenantAddress: '', }, [networks.Testnet]: { contractAddress: '0xe5d761311212ABF55c9C6eb6d80eAF804F213d72', - tenantAddress: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266' + tenantAddress: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', }, }, [blockchains.Metis]: { [networks.Mainnet]: { contractAddress: null, + tenantAddress: '', }, [networks.Testnet]: { contractAddress: 'x07F3062D51C9A6CA568C8135656054FA88D5b646', - tenantAdress: '0x8f8B8BE836fbe857c65E892dBb261F249f9b0adb' + tenantAddress: '0x8f8B8BE836fbe857c65E892dBb261F249f9b0adb', }, }, [blockchains.Avalanche]: { [networks.Mainnet]: { contractAddress: null, + tenantAddress: '', }, [networks.Testnet]: { - contractAddress: '' - } - } -} + contractAddress: '', + tenantAddress: '', + }, + }, +}; function useEnvironment() { const { blockchain, network } = useHyperverse(); @@ -40,15 +51,14 @@ function useEnvironment() { throw new Error('Blockchain is not set'); } if (!isEvm(blockchain?.name)) { - throw new Error("Blockchain is not EVM compatible") + throw new Error('Blockchain is not EVM compatible'); } const env = environment[blockchain.name as BlockchainEvm][network]; - return { - ...env, - ABI, - FactoryABI, - } - + return { + ...env, + ABI, + FactoryABI, + }; } export { environment, useEnvironment }; diff --git a/packages/hyperverse/source/types.ts b/packages/hyperverse/source/types.ts index 682359f9..8d6eef54 100644 --- a/packages/hyperverse/source/types.ts +++ b/packages/hyperverse/source/types.ts @@ -1,6 +1,6 @@ import { FC } from 'react'; import { ContainerProvider } from '@decentology/unstated-next'; -import Blockchain from './constants/blockchains'; +import Blockchain, { BlockchainEvm } from './constants/blockchains'; import Network from './constants/networks'; import Storage from './constants/storage'; type Exact = A extends B ? (B extends A ? A : never) : never; @@ -51,6 +51,14 @@ export type HyperverseModule = { export type HyperverseModuleInstance = { tenantId?: string; - // network: Network; - // blockchain: Blockchain; +}; + +export type EvmEnvironment = { + [key in BlockchainEvm]: { + [key in Network]: { + [key: string]: any; + contractAddress: string | null; + tenantAddress: string | null; + }; + }; }; From c281373d010f7c600449f5f6583d65d77da05315 Mon Sep 17 00:00:00 2001 From: Angelica Turla Date: Wed, 2 Mar 2022 17:37:16 -0500 Subject: [PATCH 17/41] updates --- apps/ethereum/tribes/src/pages/_app.tsx | 2 +- apps/ethereum/tribes/src/pages/my-tribe.tsx | 2 +- apps/ethereum/tribes/src/pages/setup.tsx | 2 +- .../tribes/src/styles/Home.module.css | 2 +- packages/hyperverse-evm-tribes/index.ts | 2 +- .../hyperverse-evm-tribes/source/useTribes.ts | 64 ++++++++++--------- 6 files changed, 38 insertions(+), 36 deletions(-) diff --git a/apps/ethereum/tribes/src/pages/_app.tsx b/apps/ethereum/tribes/src/pages/_app.tsx index cb8c2fa9..1200e25a 100644 --- a/apps/ethereum/tribes/src/pages/_app.tsx +++ b/apps/ethereum/tribes/src/pages/_app.tsx @@ -10,7 +10,7 @@ import { ToastContainer } from 'react-toastify'; import 'react-toastify/dist/ReactToastify.css'; // Change your Tenant ID here. -const TENANT_ID = '0xD847C7408c48b6b6720CCa75eB30a93acbF5163D'; +const TENANT_ID = '0xDf61226090C2475D9ec7c494684d2715b61F130c'; function MyApp({ Component, pageProps }: AppProps) { const hyperverse = initialize({ diff --git a/apps/ethereum/tribes/src/pages/my-tribe.tsx b/apps/ethereum/tribes/src/pages/my-tribe.tsx index 106d0a40..16205268 100644 --- a/apps/ethereum/tribes/src/pages/my-tribe.tsx +++ b/apps/ethereum/tribes/src/pages/my-tribe.tsx @@ -51,7 +51,7 @@ const TribesPage = () => { ) : ( {data.name} {
{account && !data && ( <> -

diff --git a/apps/ethereum/tribes/src/styles/Home.module.css b/apps/ethereum/tribes/src/styles/Home.module.css index 790506f0..18964ad5 100644 --- a/apps/ethereum/tribes/src/styles/Home.module.css +++ b/apps/ethereum/tribes/src/styles/Home.module.css @@ -238,7 +238,7 @@ .tribe { height: auto; margin-top: 2.5rem; - margin-right: 2rem !important; + margin-right: 1rem !important; } .tribeCard { diff --git a/packages/hyperverse-evm-tribes/index.ts b/packages/hyperverse-evm-tribes/index.ts index d388504e..6ffed2ee 100644 --- a/packages/hyperverse-evm-tribes/index.ts +++ b/packages/hyperverse-evm-tribes/index.ts @@ -1 +1 @@ -export * from './sourceOld'; +export * from './source'; diff --git a/packages/hyperverse-evm-tribes/source/useTribes.ts b/packages/hyperverse-evm-tribes/source/useTribes.ts index 4d8be592..e44f3ee3 100644 --- a/packages/hyperverse-evm-tribes/source/useTribes.ts +++ b/packages/hyperverse-evm-tribes/source/useTribes.ts @@ -61,7 +61,7 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { const formatTribeResultFromTribeId = useCallback( async (tribeId: number) => { - const txn = await proxyContract?.getTribeData(tenantId, tribeId); + const txn = await proxyContract?.getTribeData(tribeId); const link = txn.replace('sia:', ''); const json = JSON.parse( // eslint-disable-next-line no-await-in-loop @@ -75,9 +75,9 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { [proxyContract?.signer] ); - const errors = useCallback( + const factoryErrors = useCallback( (err: any) => { - if (!proxyContract?.signer) { + if (!factoryContract?.signer) { throw new Error('Please connect your wallet!'); } @@ -85,13 +85,9 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { throw new Error('You rejected the transaction!'); } - if (err.message.includes('User is already in a Tribe!')) { - throw new Error('You are already in a tribe!'); - } - throw err; }, - [proxyContract?.signer] + [factoryContract?.signer] ); useEffect(() => { @@ -105,19 +101,23 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { const instance = await factoryContract.instance(account); return instance; } catch (err) { - return false; + factoryErrors(err); + throw err; } }; - const createInstance = useCallback(async () => { - try { - const createTxn = await factoryContract.createInstance(); - return createTxn.wait(); - } catch (err) { - errors(err); - throw err; - } - }, [factoryContract?.signer]); + const createInstance = useCallback( + async (account: string) => { + try { + const createTxn = await factoryContract.createInstance(account); + return createTxn.wait(); + } catch (err) { + factoryErrors(err); + throw err; + } + }, + [factoryContract?.signer] + ); const getTotalTenants = async () => { try { @@ -125,6 +125,7 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { return tenantCount.toNumber(); } catch (err) { + factoryErrors(err); throw err; } }; @@ -150,7 +151,6 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { ); return addTxn.wait(); } catch (err) { - errors(err); throw err; } }, @@ -167,16 +167,15 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { return null; } } - errors(err); } }; + const getTribe = async (id: number) => { try { - const userTribeTxn = await proxyContract?.getTribeData(id); - // return userTribeTxn; + await proxyContract?.getTribeData(id); return formatTribeResultFromTribeId(id); } catch (err) { - errors(err); + throw err; } }; @@ -186,22 +185,22 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { await leaveTxn.wait(); return leaveTxn.hash; } catch (err) { - errors(err); + throw err; } }, [address, proxyContract?.signer]); const getAllTribes = useCallback(async () => { try { - const tribesData = await proxyContract?.tribeCounter(); + const tribeCount = await proxyContract?.tribeCounter(); const tribes = []; - for (let tribeId = 1; tribeId <= tribesData.toNumber(); ++tribeId) { + for (let tribeId = 1; tribeId <= tribeCount.toNumber(); ++tribeId) { const json = await formatTribeResultFromTribeId(tribeId); tribes.push(json); } return tribes; } catch (err) { - errors(err); + throw err; } }, [address, proxyContract?.address]); @@ -211,7 +210,7 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { const joinTxn = await proxyContract?.joinTribe(id); return joinTxn.wait(); } catch (err) { - errors(err); + throw err; } }, [address, proxyContract?.signer] @@ -235,7 +234,7 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { .filter((e) => e?.tribeId === tribeId); return members; } catch (err) { - errors(err); + throw err; } }; @@ -257,8 +256,11 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { } ), NewInstance: ( - options?: Omit, 'mutationFn'> - ) => useMutation(createInstance, options), + options?: Omit< + UseMutationOptions, + 'mutationFn' + > + ) => useMutation(({ account }) => createInstance(account), options), TotalTenants: () => useQuery(['totalTenants', factoryContract?.address], () => getTotalTenants(), { enabled: !!factoryContract?.address, From b8b04becf13470632c156e06d403c54734f089b8 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Wed, 2 Mar 2022 17:41:19 -0500 Subject: [PATCH 18/41] Renaming module to EVM --- .../.gitignore | 0 .../CHANGELOG.md | 0 .../README.md | 0 .../contracts/ERC20.sol | 0 .../contracts/ERC20Factory.sol | 0 .../contracts/hyperverse/CloneFactory.sol | 0 .../hyperverse/IHyperverseModule.sol | 0 .../hardhat.config.js | 0 .../index.ts | 0 .../package.json | 0 .../scripts/deploy.js | 0 .../source/Provider.tsx | 0 .../source/constants.ts | 0 .../source/environment.ts | 0 .../source/index.ts | 0 .../source/useERC20.ts | 0 .../test/token-test.js | 0 .../artifacts/contracts/NFT.sol/NFT.json | 427 ++++++++++++++++++ .../contracts/NFTFactory.sol/NFTFactory.json | 96 ++++ .../source/environment.ts | 24 +- .../hyperverse-evm-erc721/source/useERC721.ts | 4 +- packages/hyperverse-metis-token/.gitignore | 10 - packages/hyperverse-metis-token/CHANGELOG.md | 10 - packages/hyperverse-metis-token/README.md | 15 - .../contracts/Token.sol | 230 ---------- .../contracts/TokenFactory.sol | 83 ---- .../contracts/hyperverse/CloneFactory.sol | 52 --- .../hyperverse/IHyperverseModule.sol | 34 -- .../hyperverse-metis-token/hardhat.config.js | 28 -- packages/hyperverse-metis-token/index.ts | 1 - packages/hyperverse-metis-token/package.json | 43 -- .../hyperverse-metis-token/scripts/deploy.js | 27 -- .../source/Provider.tsx | 21 - .../source/constants.ts | 7 - .../source/environment.ts | 21 - .../hyperverse-metis-token/source/index.ts | 2 - .../hyperverse-metis-token/source/useToken.ts | 303 ------------- .../hyperverse-metis-token/test/token-test.js | 166 ------- packages/hyperverse/source/types.ts | 1 + 39 files changed, 541 insertions(+), 1064 deletions(-) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/.gitignore (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/CHANGELOG.md (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/README.md (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/contracts/ERC20.sol (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/contracts/ERC20Factory.sol (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/contracts/hyperverse/CloneFactory.sol (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/contracts/hyperverse/IHyperverseModule.sol (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/hardhat.config.js (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/index.ts (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/package.json (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/scripts/deploy.js (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/source/Provider.tsx (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/source/constants.ts (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/source/environment.ts (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/source/index.ts (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/source/useERC20.ts (100%) rename packages/{hyperverse-ethereum-erc20 => hyperverse-evm-erc20}/test/token-test.js (100%) create mode 100644 packages/hyperverse-evm-erc721/artifacts/contracts/NFT.sol/NFT.json create mode 100644 packages/hyperverse-evm-erc721/artifacts/contracts/NFTFactory.sol/NFTFactory.json delete mode 100644 packages/hyperverse-metis-token/.gitignore delete mode 100644 packages/hyperverse-metis-token/CHANGELOG.md delete mode 100644 packages/hyperverse-metis-token/README.md delete mode 100644 packages/hyperverse-metis-token/contracts/Token.sol delete mode 100644 packages/hyperverse-metis-token/contracts/TokenFactory.sol delete mode 100644 packages/hyperverse-metis-token/contracts/hyperverse/CloneFactory.sol delete mode 100644 packages/hyperverse-metis-token/contracts/hyperverse/IHyperverseModule.sol delete mode 100644 packages/hyperverse-metis-token/hardhat.config.js delete mode 100644 packages/hyperverse-metis-token/index.ts delete mode 100644 packages/hyperverse-metis-token/package.json delete mode 100644 packages/hyperverse-metis-token/scripts/deploy.js delete mode 100644 packages/hyperverse-metis-token/source/Provider.tsx delete mode 100644 packages/hyperverse-metis-token/source/constants.ts delete mode 100644 packages/hyperverse-metis-token/source/environment.ts delete mode 100644 packages/hyperverse-metis-token/source/index.ts delete mode 100644 packages/hyperverse-metis-token/source/useToken.ts delete mode 100644 packages/hyperverse-metis-token/test/token-test.js diff --git a/packages/hyperverse-ethereum-erc20/.gitignore b/packages/hyperverse-evm-erc20/.gitignore similarity index 100% rename from packages/hyperverse-ethereum-erc20/.gitignore rename to packages/hyperverse-evm-erc20/.gitignore diff --git a/packages/hyperverse-ethereum-erc20/CHANGELOG.md b/packages/hyperverse-evm-erc20/CHANGELOG.md similarity index 100% rename from packages/hyperverse-ethereum-erc20/CHANGELOG.md rename to packages/hyperverse-evm-erc20/CHANGELOG.md diff --git a/packages/hyperverse-ethereum-erc20/README.md b/packages/hyperverse-evm-erc20/README.md similarity index 100% rename from packages/hyperverse-ethereum-erc20/README.md rename to packages/hyperverse-evm-erc20/README.md diff --git a/packages/hyperverse-ethereum-erc20/contracts/ERC20.sol b/packages/hyperverse-evm-erc20/contracts/ERC20.sol similarity index 100% rename from packages/hyperverse-ethereum-erc20/contracts/ERC20.sol rename to packages/hyperverse-evm-erc20/contracts/ERC20.sol diff --git a/packages/hyperverse-ethereum-erc20/contracts/ERC20Factory.sol b/packages/hyperverse-evm-erc20/contracts/ERC20Factory.sol similarity index 100% rename from packages/hyperverse-ethereum-erc20/contracts/ERC20Factory.sol rename to packages/hyperverse-evm-erc20/contracts/ERC20Factory.sol diff --git a/packages/hyperverse-ethereum-erc20/contracts/hyperverse/CloneFactory.sol b/packages/hyperverse-evm-erc20/contracts/hyperverse/CloneFactory.sol similarity index 100% rename from packages/hyperverse-ethereum-erc20/contracts/hyperverse/CloneFactory.sol rename to packages/hyperverse-evm-erc20/contracts/hyperverse/CloneFactory.sol diff --git a/packages/hyperverse-ethereum-erc20/contracts/hyperverse/IHyperverseModule.sol b/packages/hyperverse-evm-erc20/contracts/hyperverse/IHyperverseModule.sol similarity index 100% rename from packages/hyperverse-ethereum-erc20/contracts/hyperverse/IHyperverseModule.sol rename to packages/hyperverse-evm-erc20/contracts/hyperverse/IHyperverseModule.sol diff --git a/packages/hyperverse-ethereum-erc20/hardhat.config.js b/packages/hyperverse-evm-erc20/hardhat.config.js similarity index 100% rename from packages/hyperverse-ethereum-erc20/hardhat.config.js rename to packages/hyperverse-evm-erc20/hardhat.config.js diff --git a/packages/hyperverse-ethereum-erc20/index.ts b/packages/hyperverse-evm-erc20/index.ts similarity index 100% rename from packages/hyperverse-ethereum-erc20/index.ts rename to packages/hyperverse-evm-erc20/index.ts diff --git a/packages/hyperverse-ethereum-erc20/package.json b/packages/hyperverse-evm-erc20/package.json similarity index 100% rename from packages/hyperverse-ethereum-erc20/package.json rename to packages/hyperverse-evm-erc20/package.json diff --git a/packages/hyperverse-ethereum-erc20/scripts/deploy.js b/packages/hyperverse-evm-erc20/scripts/deploy.js similarity index 100% rename from packages/hyperverse-ethereum-erc20/scripts/deploy.js rename to packages/hyperverse-evm-erc20/scripts/deploy.js diff --git a/packages/hyperverse-ethereum-erc20/source/Provider.tsx b/packages/hyperverse-evm-erc20/source/Provider.tsx similarity index 100% rename from packages/hyperverse-ethereum-erc20/source/Provider.tsx rename to packages/hyperverse-evm-erc20/source/Provider.tsx diff --git a/packages/hyperverse-ethereum-erc20/source/constants.ts b/packages/hyperverse-evm-erc20/source/constants.ts similarity index 100% rename from packages/hyperverse-ethereum-erc20/source/constants.ts rename to packages/hyperverse-evm-erc20/source/constants.ts diff --git a/packages/hyperverse-ethereum-erc20/source/environment.ts b/packages/hyperverse-evm-erc20/source/environment.ts similarity index 100% rename from packages/hyperverse-ethereum-erc20/source/environment.ts rename to packages/hyperverse-evm-erc20/source/environment.ts diff --git a/packages/hyperverse-ethereum-erc20/source/index.ts b/packages/hyperverse-evm-erc20/source/index.ts similarity index 100% rename from packages/hyperverse-ethereum-erc20/source/index.ts rename to packages/hyperverse-evm-erc20/source/index.ts diff --git a/packages/hyperverse-ethereum-erc20/source/useERC20.ts b/packages/hyperverse-evm-erc20/source/useERC20.ts similarity index 100% rename from packages/hyperverse-ethereum-erc20/source/useERC20.ts rename to packages/hyperverse-evm-erc20/source/useERC20.ts diff --git a/packages/hyperverse-ethereum-erc20/test/token-test.js b/packages/hyperverse-evm-erc20/test/token-test.js similarity index 100% rename from packages/hyperverse-ethereum-erc20/test/token-test.js rename to packages/hyperverse-evm-erc20/test/token-test.js diff --git a/packages/hyperverse-evm-erc721/artifacts/contracts/NFT.sol/NFT.json b/packages/hyperverse-evm-erc721/artifacts/contracts/NFT.sol/NFT.json new file mode 100644 index 00000000..8cd460ec --- /dev/null +++ b/packages/hyperverse-evm-erc721/artifacts/contracts/NFT.sol/NFT.json @@ -0,0 +1,427 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NFT", + "sourceName": "contracts/NFT.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "contractOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "createNFT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "address", + "name": "_tenant", + "type": "address" + } + ], + "name": "init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "initialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60a060405234801561001057600080fd5b503373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505060805160601c612c956100666000396000610b8d0152612c956000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80636ee5741a116100a2578063b88d4fde11610071578063b88d4fde146102f1578063c87b56dd1461030d578063ce606ee01461033d578063d082e3811461035b578063e985e9c51461037957610116565b80636ee5741a1461026b57806370a082311461028757806395d89b41146102b7578063a22cb465146102d557610116565b8063158ef93e116100e9578063158ef93e146101b557806317e5883c146101d357806323b872dd1461020357806342842e0e1461021f5780636352211e1461023b57610116565b806301ffc9a71461011b57806306fdde031461014b578063081812fc14610169578063095ea7b314610199575b600080fd5b61013560048036038101906101309190611ce9565b6103a9565b604051610142919061216e565b60405180910390f35b61015361048b565b6040516101609190612189565b60405180910390f35b610183600480360381019061017e9190611dba565b61051d565b6040516101909190612107565b60405180910390f35b6101b360048036038101906101ae9190611cad565b6105a2565b005b6101bd6106ba565b6040516101ca919061216e565b60405180910390f35b6101ed60048036038101906101e89190611b42565b6106cd565b6040516101fa91906123ab565b60405180910390f35b61021d60048036038101906102189190611ba7565b610798565b005b61023960048036038101906102349190611ba7565b6107f8565b005b61025560048036038101906102509190611dba565b610818565b6040516102629190612107565b60405180910390f35b61028560048036038101906102809190611d3b565b6108ca565b005b6102a1600480360381019061029c9190611b42565b610922565b6040516102ae91906123ab565b60405180910390f35b6102bf6109da565b6040516102cc9190612189565b60405180910390f35b6102ef60048036038101906102ea9190611c71565b610a6c565b005b61030b60048036038101906103069190611bf6565b610a82565b005b61032760048036038101906103229190611dba565b610ae4565b6040516103349190612189565b60405180910390f35b610345610b8b565b6040516103529190612107565b60405180910390f35b610363610baf565b60405161037091906123ab565b60405180910390f35b610393600480360381019061038e9190611b6b565b610bb5565b6040516103a0919061216e565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061047457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610484575061048382610c49565b5b9050919050565b60606000805461049a90612601565b80601f01602080910402602001604051908101604052809291908181526020018280546104c690612601565b80156105135780601f106104e857610100808354040283529160200191610513565b820191906000526020600020905b8154815290600101906020018083116104f657829003601f168201915b5050505050905090565b600061052882610cb3565b610567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055e906122eb565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006105ad82610818565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561061e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106159061234b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661063d610d1f565b73ffffffffffffffffffffffffffffffffffffffff16148061066c575061066b81610666610d1f565b610bb5565b5b6106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a29061226b565b60405180910390fd5b6106b58383610d27565b505050565b600260009054906101000a900460ff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461075f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107569061232b565b60405180910390fd5b600060075490506107708382610de0565b61077981610ae4565b5060016007546107899190612490565b60078190555080915050919050565b6107a96107a3610d1f565b82610dfe565b6107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df9061236b565b60405180910390fd5b6107f3838383610edc565b505050565b61081383838360405180602001604052806000815250610a82565b505050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b8906122ab565b60405180910390fd5b80915050919050565b6108d48383611143565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600781905550505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098a9061228b565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546109e990612601565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1590612601565b8015610a625780601f10610a3757610100808354040283529160200191610a62565b820191906000526020600020905b815481529060010190602001808311610a4557829003601f168201915b5050505050905090565b610a7e610a77610d1f565b83836111e0565b5050565b610a93610a8d610d1f565b83610dfe565b610ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac99061236b565b60405180910390fd5b610ade8484848461134d565b50505050565b6060610aef82610cb3565b610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b259061230b565b60405180910390fd5b6000610b386113a9565b90506000815111610b585760405180602001604052806000815250610b83565b80610b62846113c0565b604051602001610b739291906120e3565b6040516020818303038152906040525b915050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60075481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610d9a83610818565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610dfa82826040518060200160405280600081525061156d565b5050565b6000610e0982610cb3565b610e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3f9061224b565b60405180910390fd5b6000610e5383610818565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610ec257508373ffffffffffffffffffffffffffffffffffffffff16610eaa8461051d565b73ffffffffffffffffffffffffffffffffffffffff16145b80610ed35750610ed28185610bb5565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610efc82610818565b73ffffffffffffffffffffffffffffffffffffffff1614610f52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f49906121cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb99061220b565b60405180910390fd5b610fcd8383836115c8565b610fd8600082610d27565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110289190612517565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461107f9190612490565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461113e8383836115cd565b505050565b600260009054906101000a900460ff1615611193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118a9061238b565b60405180910390fd5b81600090805190602001906111a9929190611966565b5080600190805190602001906111c0929190611966565b506001600260006101000a81548160ff0219169083151502179055505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561124f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112469061222b565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611340919061216e565b60405180910390a3505050565b611358848484610edc565b611364848484846115d2565b6113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a906121ab565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000821415611408576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611568565b600082905060005b6000821461143a57808061142390612664565b915050600a8261143391906124e6565b9150611410565b60008167ffffffffffffffff81111561147c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156114ae5781602001600182028036833780820191505090505b5090505b60008514611561576001826114c79190612517565b9150600a856114d691906126ad565b60306114e29190612490565b60f81b81838151811061151e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561155a91906124e6565b94506114b2565b8093505050505b919050565b6115778383611769565b61158460008484846115d2565b6115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba906121ab565b60405180910390fd5b505050565b505050565b505050565b60006115f38473ffffffffffffffffffffffffffffffffffffffff16611943565b1561175c578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261161c610d1f565b8786866040518563ffffffff1660e01b815260040161163e9493929190612122565b602060405180830381600087803b15801561165857600080fd5b505af192505050801561168957506040513d601f19601f820116820180604052508101906116869190611d12565b60015b61170c573d80600081146116b9576040519150601f19603f3d011682016040523d82523d6000602084013e6116be565b606091505b50600081511415611704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fb906121ab565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611761565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d0906122cb565b60405180910390fd5b6117e281610cb3565b15611822576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611819906121eb565b60405180910390fd5b61182e600083836115c8565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461187e9190612490565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461193f600083836115cd565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b82805461197290612601565b90600052602060002090601f01602090048101928261199457600085556119db565b82601f106119ad57805160ff19168380011785556119db565b828001600101855582156119db579182015b828111156119da5782518255916020019190600101906119bf565b5b5090506119e891906119ec565b5090565b5b80821115611a055760008160009055506001016119ed565b5090565b6000611a1c611a17846123eb565b6123c6565b905082815260208101848484011115611a3457600080fd5b611a3f8482856125bf565b509392505050565b6000611a5a611a558461241c565b6123c6565b905082815260208101848484011115611a7257600080fd5b611a7d8482856125bf565b509392505050565b600081359050611a9481612c03565b92915050565b600081359050611aa981612c1a565b92915050565b600081359050611abe81612c31565b92915050565b600081519050611ad381612c31565b92915050565b600082601f830112611aea57600080fd5b8135611afa848260208601611a09565b91505092915050565b600082601f830112611b1457600080fd5b8135611b24848260208601611a47565b91505092915050565b600081359050611b3c81612c48565b92915050565b600060208284031215611b5457600080fd5b6000611b6284828501611a85565b91505092915050565b60008060408385031215611b7e57600080fd5b6000611b8c85828601611a85565b9250506020611b9d85828601611a85565b9150509250929050565b600080600060608486031215611bbc57600080fd5b6000611bca86828701611a85565b9350506020611bdb86828701611a85565b9250506040611bec86828701611b2d565b9150509250925092565b60008060008060808587031215611c0c57600080fd5b6000611c1a87828801611a85565b9450506020611c2b87828801611a85565b9350506040611c3c87828801611b2d565b925050606085013567ffffffffffffffff811115611c5957600080fd5b611c6587828801611ad9565b91505092959194509250565b60008060408385031215611c8457600080fd5b6000611c9285828601611a85565b9250506020611ca385828601611a9a565b9150509250929050565b60008060408385031215611cc057600080fd5b6000611cce85828601611a85565b9250506020611cdf85828601611b2d565b9150509250929050565b600060208284031215611cfb57600080fd5b6000611d0984828501611aaf565b91505092915050565b600060208284031215611d2457600080fd5b6000611d3284828501611ac4565b91505092915050565b600080600060608486031215611d5057600080fd5b600084013567ffffffffffffffff811115611d6a57600080fd5b611d7686828701611b03565b935050602084013567ffffffffffffffff811115611d9357600080fd5b611d9f86828701611b03565b9250506040611db086828701611a85565b9150509250925092565b600060208284031215611dcc57600080fd5b6000611dda84828501611b2d565b91505092915050565b611dec8161254b565b82525050565b611dfb8161255d565b82525050565b6000611e0c8261244d565b611e168185612463565b9350611e268185602086016125ce565b611e2f8161279a565b840191505092915050565b6000611e4582612458565b611e4f8185612474565b9350611e5f8185602086016125ce565b611e688161279a565b840191505092915050565b6000611e7e82612458565b611e888185612485565b9350611e988185602086016125ce565b80840191505092915050565b6000611eb1603283612474565b9150611ebc826127ab565b604082019050919050565b6000611ed4602583612474565b9150611edf826127fa565b604082019050919050565b6000611ef7601c83612474565b9150611f0282612849565b602082019050919050565b6000611f1a602483612474565b9150611f2582612872565b604082019050919050565b6000611f3d601983612474565b9150611f48826128c1565b602082019050919050565b6000611f60602c83612474565b9150611f6b826128ea565b604082019050919050565b6000611f83603883612474565b9150611f8e82612939565b604082019050919050565b6000611fa6602a83612474565b9150611fb182612988565b604082019050919050565b6000611fc9602983612474565b9150611fd4826129d7565b604082019050919050565b6000611fec602083612474565b9150611ff782612a26565b602082019050919050565b600061200f602c83612474565b915061201a82612a4f565b604082019050919050565b6000612032602f83612474565b915061203d82612a9e565b604082019050919050565b6000612055602583612474565b915061206082612aed565b604082019050919050565b6000612078602183612474565b915061208382612b3c565b604082019050919050565b600061209b603183612474565b91506120a682612b8b565b604082019050919050565b60006120be601e83612474565b91506120c982612bda565b602082019050919050565b6120dd816125b5565b82525050565b60006120ef8285611e73565b91506120fb8284611e73565b91508190509392505050565b600060208201905061211c6000830184611de3565b92915050565b60006080820190506121376000830187611de3565b6121446020830186611de3565b61215160408301856120d4565b81810360608301526121638184611e01565b905095945050505050565b60006020820190506121836000830184611df2565b92915050565b600060208201905081810360008301526121a38184611e3a565b905092915050565b600060208201905081810360008301526121c481611ea4565b9050919050565b600060208201905081810360008301526121e481611ec7565b9050919050565b6000602082019050818103600083015261220481611eea565b9050919050565b6000602082019050818103600083015261222481611f0d565b9050919050565b6000602082019050818103600083015261224481611f30565b9050919050565b6000602082019050818103600083015261226481611f53565b9050919050565b6000602082019050818103600083015261228481611f76565b9050919050565b600060208201905081810360008301526122a481611f99565b9050919050565b600060208201905081810360008301526122c481611fbc565b9050919050565b600060208201905081810360008301526122e481611fdf565b9050919050565b6000602082019050818103600083015261230481612002565b9050919050565b6000602082019050818103600083015261232481612025565b9050919050565b6000602082019050818103600083015261234481612048565b9050919050565b600060208201905081810360008301526123648161206b565b9050919050565b600060208201905081810360008301526123848161208e565b9050919050565b600060208201905081810360008301526123a4816120b1565b9050919050565b60006020820190506123c060008301846120d4565b92915050565b60006123d06123e1565b90506123dc8282612633565b919050565b6000604051905090565b600067ffffffffffffffff8211156124065761240561276b565b5b61240f8261279a565b9050602081019050919050565b600067ffffffffffffffff8211156124375761243661276b565b5b6124408261279a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061249b826125b5565b91506124a6836125b5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124db576124da6126de565b5b828201905092915050565b60006124f1826125b5565b91506124fc836125b5565b92508261250c5761250b61270d565b5b828204905092915050565b6000612522826125b5565b915061252d836125b5565b9250828210156125405761253f6126de565b5b828203905092915050565b600061255682612595565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156125ec5780820151818401526020810190506125d1565b838111156125fb576000848401525b50505050565b6000600282049050600182168061261957607f821691505b6020821081141561262d5761262c61273c565b5b50919050565b61263c8261279a565b810181811067ffffffffffffffff8211171561265b5761265a61276b565b5b80604052505050565b600061266f826125b5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156126a2576126a16126de565b5b600182019050919050565b60006126b8826125b5565b91506126c3836125b5565b9250826126d3576126d261270d565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4f6e6c79207468652054656e616e74206f776e65722063616e206d696e74206160008201527f6e204e4654000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f416c726561647920696e697469616c697a6564207468652073746174652e0000600082015250565b612c0c8161254b565b8114612c1757600080fd5b50565b612c238161255d565b8114612c2e57600080fd5b50565b612c3a81612569565b8114612c4557600080fd5b50565b612c51816125b5565b8114612c5c57600080fd5b5056fea264697066735822122044b34058ac075fde73ce4e27ea8fed02213c90e4ed8c3d2efe9e4f72ddd2cd0f64736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c80636ee5741a116100a2578063b88d4fde11610071578063b88d4fde146102f1578063c87b56dd1461030d578063ce606ee01461033d578063d082e3811461035b578063e985e9c51461037957610116565b80636ee5741a1461026b57806370a082311461028757806395d89b41146102b7578063a22cb465146102d557610116565b8063158ef93e116100e9578063158ef93e146101b557806317e5883c146101d357806323b872dd1461020357806342842e0e1461021f5780636352211e1461023b57610116565b806301ffc9a71461011b57806306fdde031461014b578063081812fc14610169578063095ea7b314610199575b600080fd5b61013560048036038101906101309190611ce9565b6103a9565b604051610142919061216e565b60405180910390f35b61015361048b565b6040516101609190612189565b60405180910390f35b610183600480360381019061017e9190611dba565b61051d565b6040516101909190612107565b60405180910390f35b6101b360048036038101906101ae9190611cad565b6105a2565b005b6101bd6106ba565b6040516101ca919061216e565b60405180910390f35b6101ed60048036038101906101e89190611b42565b6106cd565b6040516101fa91906123ab565b60405180910390f35b61021d60048036038101906102189190611ba7565b610798565b005b61023960048036038101906102349190611ba7565b6107f8565b005b61025560048036038101906102509190611dba565b610818565b6040516102629190612107565b60405180910390f35b61028560048036038101906102809190611d3b565b6108ca565b005b6102a1600480360381019061029c9190611b42565b610922565b6040516102ae91906123ab565b60405180910390f35b6102bf6109da565b6040516102cc9190612189565b60405180910390f35b6102ef60048036038101906102ea9190611c71565b610a6c565b005b61030b60048036038101906103069190611bf6565b610a82565b005b61032760048036038101906103229190611dba565b610ae4565b6040516103349190612189565b60405180910390f35b610345610b8b565b6040516103529190612107565b60405180910390f35b610363610baf565b60405161037091906123ab565b60405180910390f35b610393600480360381019061038e9190611b6b565b610bb5565b6040516103a0919061216e565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061047457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610484575061048382610c49565b5b9050919050565b60606000805461049a90612601565b80601f01602080910402602001604051908101604052809291908181526020018280546104c690612601565b80156105135780601f106104e857610100808354040283529160200191610513565b820191906000526020600020905b8154815290600101906020018083116104f657829003601f168201915b5050505050905090565b600061052882610cb3565b610567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055e906122eb565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006105ad82610818565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561061e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106159061234b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661063d610d1f565b73ffffffffffffffffffffffffffffffffffffffff16148061066c575061066b81610666610d1f565b610bb5565b5b6106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a29061226b565b60405180910390fd5b6106b58383610d27565b505050565b600260009054906101000a900460ff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461075f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107569061232b565b60405180910390fd5b600060075490506107708382610de0565b61077981610ae4565b5060016007546107899190612490565b60078190555080915050919050565b6107a96107a3610d1f565b82610dfe565b6107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df9061236b565b60405180910390fd5b6107f3838383610edc565b505050565b61081383838360405180602001604052806000815250610a82565b505050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b8906122ab565b60405180910390fd5b80915050919050565b6108d48383611143565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600781905550505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098a9061228b565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546109e990612601565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1590612601565b8015610a625780601f10610a3757610100808354040283529160200191610a62565b820191906000526020600020905b815481529060010190602001808311610a4557829003601f168201915b5050505050905090565b610a7e610a77610d1f565b83836111e0565b5050565b610a93610a8d610d1f565b83610dfe565b610ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac99061236b565b60405180910390fd5b610ade8484848461134d565b50505050565b6060610aef82610cb3565b610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b259061230b565b60405180910390fd5b6000610b386113a9565b90506000815111610b585760405180602001604052806000815250610b83565b80610b62846113c0565b604051602001610b739291906120e3565b6040516020818303038152906040525b915050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60075481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610d9a83610818565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610dfa82826040518060200160405280600081525061156d565b5050565b6000610e0982610cb3565b610e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3f9061224b565b60405180910390fd5b6000610e5383610818565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610ec257508373ffffffffffffffffffffffffffffffffffffffff16610eaa8461051d565b73ffffffffffffffffffffffffffffffffffffffff16145b80610ed35750610ed28185610bb5565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610efc82610818565b73ffffffffffffffffffffffffffffffffffffffff1614610f52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f49906121cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb99061220b565b60405180910390fd5b610fcd8383836115c8565b610fd8600082610d27565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110289190612517565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461107f9190612490565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461113e8383836115cd565b505050565b600260009054906101000a900460ff1615611193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118a9061238b565b60405180910390fd5b81600090805190602001906111a9929190611966565b5080600190805190602001906111c0929190611966565b506001600260006101000a81548160ff0219169083151502179055505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561124f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112469061222b565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611340919061216e565b60405180910390a3505050565b611358848484610edc565b611364848484846115d2565b6113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a906121ab565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000821415611408576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611568565b600082905060005b6000821461143a57808061142390612664565b915050600a8261143391906124e6565b9150611410565b60008167ffffffffffffffff81111561147c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156114ae5781602001600182028036833780820191505090505b5090505b60008514611561576001826114c79190612517565b9150600a856114d691906126ad565b60306114e29190612490565b60f81b81838151811061151e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561155a91906124e6565b94506114b2565b8093505050505b919050565b6115778383611769565b61158460008484846115d2565b6115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba906121ab565b60405180910390fd5b505050565b505050565b505050565b60006115f38473ffffffffffffffffffffffffffffffffffffffff16611943565b1561175c578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261161c610d1f565b8786866040518563ffffffff1660e01b815260040161163e9493929190612122565b602060405180830381600087803b15801561165857600080fd5b505af192505050801561168957506040513d601f19601f820116820180604052508101906116869190611d12565b60015b61170c573d80600081146116b9576040519150601f19603f3d011682016040523d82523d6000602084013e6116be565b606091505b50600081511415611704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fb906121ab565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611761565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d0906122cb565b60405180910390fd5b6117e281610cb3565b15611822576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611819906121eb565b60405180910390fd5b61182e600083836115c8565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461187e9190612490565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461193f600083836115cd565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b82805461197290612601565b90600052602060002090601f01602090048101928261199457600085556119db565b82601f106119ad57805160ff19168380011785556119db565b828001600101855582156119db579182015b828111156119da5782518255916020019190600101906119bf565b5b5090506119e891906119ec565b5090565b5b80821115611a055760008160009055506001016119ed565b5090565b6000611a1c611a17846123eb565b6123c6565b905082815260208101848484011115611a3457600080fd5b611a3f8482856125bf565b509392505050565b6000611a5a611a558461241c565b6123c6565b905082815260208101848484011115611a7257600080fd5b611a7d8482856125bf565b509392505050565b600081359050611a9481612c03565b92915050565b600081359050611aa981612c1a565b92915050565b600081359050611abe81612c31565b92915050565b600081519050611ad381612c31565b92915050565b600082601f830112611aea57600080fd5b8135611afa848260208601611a09565b91505092915050565b600082601f830112611b1457600080fd5b8135611b24848260208601611a47565b91505092915050565b600081359050611b3c81612c48565b92915050565b600060208284031215611b5457600080fd5b6000611b6284828501611a85565b91505092915050565b60008060408385031215611b7e57600080fd5b6000611b8c85828601611a85565b9250506020611b9d85828601611a85565b9150509250929050565b600080600060608486031215611bbc57600080fd5b6000611bca86828701611a85565b9350506020611bdb86828701611a85565b9250506040611bec86828701611b2d565b9150509250925092565b60008060008060808587031215611c0c57600080fd5b6000611c1a87828801611a85565b9450506020611c2b87828801611a85565b9350506040611c3c87828801611b2d565b925050606085013567ffffffffffffffff811115611c5957600080fd5b611c6587828801611ad9565b91505092959194509250565b60008060408385031215611c8457600080fd5b6000611c9285828601611a85565b9250506020611ca385828601611a9a565b9150509250929050565b60008060408385031215611cc057600080fd5b6000611cce85828601611a85565b9250506020611cdf85828601611b2d565b9150509250929050565b600060208284031215611cfb57600080fd5b6000611d0984828501611aaf565b91505092915050565b600060208284031215611d2457600080fd5b6000611d3284828501611ac4565b91505092915050565b600080600060608486031215611d5057600080fd5b600084013567ffffffffffffffff811115611d6a57600080fd5b611d7686828701611b03565b935050602084013567ffffffffffffffff811115611d9357600080fd5b611d9f86828701611b03565b9250506040611db086828701611a85565b9150509250925092565b600060208284031215611dcc57600080fd5b6000611dda84828501611b2d565b91505092915050565b611dec8161254b565b82525050565b611dfb8161255d565b82525050565b6000611e0c8261244d565b611e168185612463565b9350611e268185602086016125ce565b611e2f8161279a565b840191505092915050565b6000611e4582612458565b611e4f8185612474565b9350611e5f8185602086016125ce565b611e688161279a565b840191505092915050565b6000611e7e82612458565b611e888185612485565b9350611e988185602086016125ce565b80840191505092915050565b6000611eb1603283612474565b9150611ebc826127ab565b604082019050919050565b6000611ed4602583612474565b9150611edf826127fa565b604082019050919050565b6000611ef7601c83612474565b9150611f0282612849565b602082019050919050565b6000611f1a602483612474565b9150611f2582612872565b604082019050919050565b6000611f3d601983612474565b9150611f48826128c1565b602082019050919050565b6000611f60602c83612474565b9150611f6b826128ea565b604082019050919050565b6000611f83603883612474565b9150611f8e82612939565b604082019050919050565b6000611fa6602a83612474565b9150611fb182612988565b604082019050919050565b6000611fc9602983612474565b9150611fd4826129d7565b604082019050919050565b6000611fec602083612474565b9150611ff782612a26565b602082019050919050565b600061200f602c83612474565b915061201a82612a4f565b604082019050919050565b6000612032602f83612474565b915061203d82612a9e565b604082019050919050565b6000612055602583612474565b915061206082612aed565b604082019050919050565b6000612078602183612474565b915061208382612b3c565b604082019050919050565b600061209b603183612474565b91506120a682612b8b565b604082019050919050565b60006120be601e83612474565b91506120c982612bda565b602082019050919050565b6120dd816125b5565b82525050565b60006120ef8285611e73565b91506120fb8284611e73565b91508190509392505050565b600060208201905061211c6000830184611de3565b92915050565b60006080820190506121376000830187611de3565b6121446020830186611de3565b61215160408301856120d4565b81810360608301526121638184611e01565b905095945050505050565b60006020820190506121836000830184611df2565b92915050565b600060208201905081810360008301526121a38184611e3a565b905092915050565b600060208201905081810360008301526121c481611ea4565b9050919050565b600060208201905081810360008301526121e481611ec7565b9050919050565b6000602082019050818103600083015261220481611eea565b9050919050565b6000602082019050818103600083015261222481611f0d565b9050919050565b6000602082019050818103600083015261224481611f30565b9050919050565b6000602082019050818103600083015261226481611f53565b9050919050565b6000602082019050818103600083015261228481611f76565b9050919050565b600060208201905081810360008301526122a481611f99565b9050919050565b600060208201905081810360008301526122c481611fbc565b9050919050565b600060208201905081810360008301526122e481611fdf565b9050919050565b6000602082019050818103600083015261230481612002565b9050919050565b6000602082019050818103600083015261232481612025565b9050919050565b6000602082019050818103600083015261234481612048565b9050919050565b600060208201905081810360008301526123648161206b565b9050919050565b600060208201905081810360008301526123848161208e565b9050919050565b600060208201905081810360008301526123a4816120b1565b9050919050565b60006020820190506123c060008301846120d4565b92915050565b60006123d06123e1565b90506123dc8282612633565b919050565b6000604051905090565b600067ffffffffffffffff8211156124065761240561276b565b5b61240f8261279a565b9050602081019050919050565b600067ffffffffffffffff8211156124375761243661276b565b5b6124408261279a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061249b826125b5565b91506124a6836125b5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124db576124da6126de565b5b828201905092915050565b60006124f1826125b5565b91506124fc836125b5565b92508261250c5761250b61270d565b5b828204905092915050565b6000612522826125b5565b915061252d836125b5565b9250828210156125405761253f6126de565b5b828203905092915050565b600061255682612595565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156125ec5780820151818401526020810190506125d1565b838111156125fb576000848401525b50505050565b6000600282049050600182168061261957607f821691505b6020821081141561262d5761262c61273c565b5b50919050565b61263c8261279a565b810181811067ffffffffffffffff8211171561265b5761265a61276b565b5b80604052505050565b600061266f826125b5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156126a2576126a16126de565b5b600182019050919050565b60006126b8826125b5565b91506126c3836125b5565b9250826126d3576126d261270d565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4f6e6c79207468652054656e616e74206f776e65722063616e206d696e74206160008201527f6e204e4654000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f416c726561647920696e697469616c697a6564207468652073746174652e0000600082015250565b612c0c8161254b565b8114612c1757600080fd5b50565b612c238161255d565b8114612c2e57600080fd5b50565b612c3a81612569565b8114612c4557600080fd5b50565b612c51816125b5565b8114612c5c57600080fd5b5056fea264697066735822122044b34058ac075fde73ce4e27ea8fed02213c90e4ed8c3d2efe9e4f72ddd2cd0f64736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/hyperverse-evm-erc721/artifacts/contracts/NFTFactory.sol/NFTFactory.json b/packages/hyperverse-evm-erc721/artifacts/contracts/NFTFactory.sol/NFTFactory.json new file mode 100644 index 00000000..cf9b65b7 --- /dev/null +++ b/packages/hyperverse-evm-erc721/artifacts/contracts/NFTFactory.sol/NFTFactory.json @@ -0,0 +1,96 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NFTFactory", + "sourceName": "contracts/NFTFactory.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_masterContract", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "createInstance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tenant", + "type": "address" + } + ], + "name": "getProxy", + "outputs": [ + { + "internalType": "contract NFT", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "masterContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "tenants", + "outputs": [ + { + "internalType": "contract NFT", + "name": "nft", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60a060405273d847c7408c48b6b6720cca75eb30a93acbf5163d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006557600080fd5b506040516108fd3803806108fd833981810160405281019061008791906100d9565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250505061014b565b6000815190506100d381610134565b92915050565b6000602082840312156100eb57600080fd5b60006100f9848285016100c4565b91505092915050565b600061010d82610114565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b61013d81610102565b811461014857600080fd5b50565b60805160601c61078e61016f6000396000818160f801526102c9015261078e6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806397162f4214610051578063b7fba4d31461006d578063cd446e221461009d578063fd9153a3146100bb575b600080fd5b61006b6004803603810190610066919061045f565b6100ec565b005b61008760048036038101906100829190610436565b61025c565b604051610094919061053d565b60405180910390f35b6100a56102c7565b6040516100b29190610522565b60405180910390f35b6100d560048036038101906100d09190610436565b6102eb565b6040516100e3929190610558565b60405180910390f35b6000339050600061011c7f000000000000000000000000000000000000000000000000000000000000000061034f565b90508073ffffffffffffffffffffffffffffffffffffffff16636ee5741a8585856040518463ffffffff1660e01b815260040161015b93929190610581565b600060405180830381600087803b15801561017557600080fd5b505af1158015610189573d6000803e3d6000fd5b5050505060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f092505050919050565b60006103cc6103c7846105eb565b6105c6565b9050828152602081018484840111156103e457600080fd5b6103ef84828561068e565b509392505050565b60008135905061040681610741565b92915050565b600082601f83011261041d57600080fd5b813561042d8482602086016103b9565b91505092915050565b60006020828403121561044857600080fd5b6000610456848285016103f7565b91505092915050565b6000806040838503121561047257600080fd5b600083013567ffffffffffffffff81111561048c57600080fd5b6104988582860161040c565b925050602083013567ffffffffffffffff8111156104b557600080fd5b6104c18582860161040c565b9150509250929050565b6104d481610638565b82525050565b6104e38161066a565b82525050565b60006104f48261061c565b6104fe8185610627565b935061050e81856020860161069d565b61051781610730565b840191505092915050565b600060208201905061053760008301846104cb565b92915050565b600060208201905061055260008301846104da565b92915050565b600060408201905061056d60008301856104da565b61057a60208301846104cb565b9392505050565b6000606082019050818103600083015261059b81866104e9565b905081810360208301526105af81856104e9565b90506105be60408301846104cb565b949350505050565b60006105d06105e1565b90506105dc82826106d0565b919050565b6000604051905090565b600067ffffffffffffffff82111561060657610605610701565b5b61060f82610730565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006106438261064a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106758261067c565b9050919050565b60006106878261064a565b9050919050565b82818337600083830152505050565b60005b838110156106bb5780820151818401526020810190506106a0565b838111156106ca576000848401525b50505050565b6106d982610730565b810181811067ffffffffffffffff821117156106f8576106f7610701565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61074a81610638565b811461075557600080fd5b5056fea2646970667358221220779e6745f76f83944f0672858f38ab241588b4d18d6d6f8bfe859147d6bc0c6e64736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806397162f4214610051578063b7fba4d31461006d578063cd446e221461009d578063fd9153a3146100bb575b600080fd5b61006b6004803603810190610066919061045f565b6100ec565b005b61008760048036038101906100829190610436565b61025c565b604051610094919061053d565b60405180910390f35b6100a56102c7565b6040516100b29190610522565b60405180910390f35b6100d560048036038101906100d09190610436565b6102eb565b6040516100e3929190610558565b60405180910390f35b6000339050600061011c7f000000000000000000000000000000000000000000000000000000000000000061034f565b90508073ffffffffffffffffffffffffffffffffffffffff16636ee5741a8585856040518463ffffffff1660e01b815260040161015b93929190610581565b600060405180830381600087803b15801561017557600080fd5b505af1158015610189573d6000803e3d6000fd5b5050505060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f092505050919050565b60006103cc6103c7846105eb565b6105c6565b9050828152602081018484840111156103e457600080fd5b6103ef84828561068e565b509392505050565b60008135905061040681610741565b92915050565b600082601f83011261041d57600080fd5b813561042d8482602086016103b9565b91505092915050565b60006020828403121561044857600080fd5b6000610456848285016103f7565b91505092915050565b6000806040838503121561047257600080fd5b600083013567ffffffffffffffff81111561048c57600080fd5b6104988582860161040c565b925050602083013567ffffffffffffffff8111156104b557600080fd5b6104c18582860161040c565b9150509250929050565b6104d481610638565b82525050565b6104e38161066a565b82525050565b60006104f48261061c565b6104fe8185610627565b935061050e81856020860161069d565b61051781610730565b840191505092915050565b600060208201905061053760008301846104cb565b92915050565b600060208201905061055260008301846104da565b92915050565b600060408201905061056d60008301856104da565b61057a60208301846104cb565b9392505050565b6000606082019050818103600083015261059b81866104e9565b905081810360208301526105af81856104e9565b90506105be60408301846104cb565b949350505050565b60006105d06105e1565b90506105dc82826106d0565b919050565b6000604051905090565b600067ffffffffffffffff82111561060657610605610701565b5b61060f82610730565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006106438261064a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106758261067c565b9050919050565b60006106878261064a565b9050919050565b82818337600083830152505050565b60005b838110156106bb5780820151818401526020810190506106a0565b838111156106ca576000848401525b50505050565b6106d982610730565b810181811067ffffffffffffffff821117156106f8576106f7610701565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61074a81610638565b811461075557600080fd5b5056fea2646970667358221220779e6745f76f83944f0672858f38ab241588b4d18d6d6f8bfe859147d6bc0c6e64736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/hyperverse-evm-erc721/source/environment.ts b/packages/hyperverse-evm-erc721/source/environment.ts index 1a1f428d..6386a7c8 100644 --- a/packages/hyperverse-evm-erc721/source/environment.ts +++ b/packages/hyperverse-evm-erc721/source/environment.ts @@ -6,41 +6,47 @@ import { BlockchainEvm, EvmEnvironment, } from '@decentology/hyperverse'; -import ERC721FactoryABI from '../utils/ExampleNFTFactory.json'; -import ERC721ABI from '../utils/ExampleNFT.json'; +import ERC721FactoryABI from '../artifacts/contracts/NFTFactory.sol/NFTFactory.json'; +import ERC721ABI from '../artifacts/contracts/NFT.sol/NFT.json'; export const FactoryABI = ERC721FactoryABI.abi; -export const ABI = ERC721ABI.abi; +export const ContractABI = ERC721ABI.abi; const environment: EvmEnvironment = { [blockchains.Ethereum]: { [networks.Mainnet]: { contractAddress: null, - tenantAddress: '', + factoryAddress: null, + tenantAddress: null, }, [networks.Testnet]: { + factoryAddress: null, contractAddress: '0xe5d761311212ABF55c9C6eb6d80eAF804F213d72', tenantAddress: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', }, }, [blockchains.Metis]: { [networks.Mainnet]: { + factoryAddress: null, contractAddress: null, - tenantAddress: '', + tenantAddress: null, }, [networks.Testnet]: { + factoryAddress: null, contractAddress: 'x07F3062D51C9A6CA568C8135656054FA88D5b646', tenantAddress: '0x8f8B8BE836fbe857c65E892dBb261F249f9b0adb', }, }, [blockchains.Avalanche]: { [networks.Mainnet]: { + factoryAddress: null, contractAddress: null, - tenantAddress: '', + tenantAddress: null, }, [networks.Testnet]: { - contractAddress: '', - tenantAddress: '', + factoryAddress: null, + contractAddress: null, + tenantAddress: null, }, }, }; @@ -56,7 +62,7 @@ function useEnvironment() { const env = environment[blockchain.name as BlockchainEvm][network]; return { ...env, - ABI, + ContractABI, FactoryABI, }; } diff --git a/packages/hyperverse-evm-erc721/source/useERC721.ts b/packages/hyperverse-evm-erc721/source/useERC721.ts index 541ad684..156b9fde 100644 --- a/packages/hyperverse-evm-erc721/source/useERC721.ts +++ b/packages/hyperverse-evm-erc721/source/useERC721.ts @@ -14,7 +14,7 @@ type ContractState = ethers.Contract; function ERC721State(initialState: { tenantId: string } = { tenantId: ''}) { const { tenantId } = initialState; const { address, web3Provider, provider } = useEvm(); - const {contractAddress, ABI, FactoryABI} = useEnvironment() + const {contractAddress, ContractABI, FactoryABI} = useEnvironment() const [contract, setContract] = useState( new ethers.Contract(contractAddress!, FactoryABI, provider) as ContractState ); @@ -27,7 +27,7 @@ function ERC721State(initialState: { tenantId: string } = { tenantId: ''}) { useEffect(() => { const fetchContract = async () => { const proxyAddress = await contract.getProxy(tenantId); - const proxyCtr = new ethers.Contract(proxyAddress, ABI, provider); + const proxyCtr = new ethers.Contract(proxyAddress, ContractABI, provider); const accountSigner = await signer; if (accountSigner) { setProxyContract(proxyCtr.connect(accountSigner)); diff --git a/packages/hyperverse-metis-token/.gitignore b/packages/hyperverse-metis-token/.gitignore deleted file mode 100644 index 48e34b86..00000000 --- a/packages/hyperverse-metis-token/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -node_modules -.env -coverage -coverage.json -typechain - -#Hardhat files -cache -artifacts -distribution diff --git a/packages/hyperverse-metis-token/CHANGELOG.md b/packages/hyperverse-metis-token/CHANGELOG.md deleted file mode 100644 index 57b97f66..00000000 --- a/packages/hyperverse-metis-token/CHANGELOG.md +++ /dev/null @@ -1,10 +0,0 @@ -# @decentology/hyperverse-ethereum-token - -## 1.0.1 -### Patch Changes - -- Milestone update. Added token and er721 modules -- Updated dependencies - - @decentology/unstated-next@1.1.1 - - @decentology/hyperverse@1.0.9 - - @decentology/hyperverse-ethereum@1.0.9 diff --git a/packages/hyperverse-metis-token/README.md b/packages/hyperverse-metis-token/README.md deleted file mode 100644 index cb97640d..00000000 --- a/packages/hyperverse-metis-token/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Basic Sample Hardhat Project - -This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, a sample script that deploys that contract, and an example of a task implementation, which simply lists the available accounts. - -Try running some of the following tasks: - -```shell -npx hardhat accounts -npx hardhat compile -npx hardhat clean -npx hardhat test -npx hardhat node -node scripts/sample-script.js -npx hardhat help -``` diff --git a/packages/hyperverse-metis-token/contracts/Token.sol b/packages/hyperverse-metis-token/contracts/Token.sol deleted file mode 100644 index 252db312..00000000 --- a/packages/hyperverse-metis-token/contracts/Token.sol +++ /dev/null @@ -1,230 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; -pragma experimental ABIEncoderV2; - -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import "@openzeppelin/contracts/utils/math/SafeMath.sol"; - -import "./hyperverse/IHyperverseModule.sol"; - -contract Token is IERC20, IHyperverseModule { - using SafeMath for uint256; - - /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ S T A T E @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - - - // Account used to deploy contract - address public immutable contractOwner; - - //stores the tenant owner - address private tenantOwner; - - /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ASSET VALUE TRACKING: TOKEN <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ - string public name; - string public symbol; - uint256 public decimals; - - // Token balance for each address - mapping(address => uint256) balances; - - // Approval granted to transfer tokens by one address to another address - mapping(address => mapping(address => uint256)) internal allowed; - - // Tokens currently in circulation (you'll need to update this if you create more tokens) - uint256 public total; - - // Tokens created when contract was deployed - uint256 public initialSupply; - - // Multiplier to convert to smallest unit - uint256 public UNIT_MULTIPLIER; - - /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ E V E N T S @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - - ///+events - - /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ M O D I F I E R S @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - - ///+modifiers - modifier isTenantOwner () { - require(msg.sender == tenantOwner, "You are not the tenant owner"); - _; - } - - /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ C O N S T R U C T O R @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - - constructor(address _owner) { - metadata = ModuleMetadata( - "Token", - Author(_owner, "https://externallink.net"), - "0.0.1", - 3479831479814, - "https://externalLink.net" - ); - contractOwner = _owner; - } - - /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ F U N C T I O N S @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - - /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> TENANT FUNCTIONALITIES <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ - - - /** - * @dev Initializes the instance of a tenant for this contract and sets the state variables - * - * @param _name The name of the token - * @param _symbol The symbol of the token - * @param _decimal The number of decimals of the token - * @param _tenant The address of the instance owner - */ - function init(string memory _name, string memory _symbol, uint256 _decimal, address _tenant) external { - /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ASSET VALUE TRACKING: TOKEN <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ - tenantOwner = _tenant; - name = _name; - symbol = _symbol; - decimals = _decimal; - - // Multiplier to convert to smallest unit - UNIT_MULTIPLIER = 10**uint256(decimals); - - uint256 supply = 1000; - - // Convert supply to smallest unit - total = supply.mul(UNIT_MULTIPLIER); - initialSupply = total; - - // Assign entire initial supply to contract owner - balances[_tenant] = total; - - } - - /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ASSET VALUE TRACKING: TOKEN <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ - /** - * @dev Total supply of tokens - */ - function totalSupply() external view override returns (uint256) { - return total; - } - - /** - * @dev Gets the balance of the calling address. - * - * @return An uint256 representing the amount owned by the calling address - */ - function balance() public view returns (uint256) { - return balanceOf(msg.sender); - } - - /** - * @dev Gets the balance of the specified address. - * - * @param _owner The address to query the balance of - * @return An uint256 representing the amount owned by the passed address - */ - function balanceOf(address _owner) public view override returns (uint256) { - return balances[_owner]; - } - - /** - * @dev Transfers token for a specified address - * - * @param _to The address to transfer to. - * @param _value The amount to be transferred. - * @return A bool indicating if the transfer was successful. - */ - function transfer(address _to, uint256 _value) public override returns (bool) { - require(_to != address(0), "Transfer to the zero address is not allowed"); - require(_to != msg.sender, "Transfer to yourself is not allowed"); - require(_value <= balanceOf(msg.sender), "Not enough balance"); - - balances[msg.sender] = balances[msg.sender].sub(_value); - balances[_to] = balances[_to].add(_value); - emit Transfer(msg.sender, _to, _value); - return true; - } - - /** - * @dev Transfers tokens from one address to another - * - * @param _from address The address which you want to send tokens from - * @param _to address The address which you want to transfer to - * @param _value uint256 the amount of tokens to be transferred - * @return A bool indicating if the transfer was successful. - */ - function transferFrom( - address _from, - address _to, - uint256 _value - ) public override returns (bool) { - require(_from != address(0), "Transfer to the zero address is not allowed"); - require(_value <= allowed[_from][msg.sender], "Not enough allowed balance for transfer"); - require(_value <= balanceOf(_from), "Not enough balance for transfer"); - require(_to != address(0), "Transfer to the zero address is not allowed"); - require(_from != _to, "Transfer from and to the same address is not allowed"); - - balances[_from] = balances[_from].sub(_value); - balances[_to] = balances[_to].add(_value); - allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); - emit Transfer(_from, _to, _value); - return true; - } - - /** - * @dev Checks the amount of tokens that an owner allowed to a spender. - * - * @param _owner address The address which owns the funds. - * @param _spender address The address which will spend the funds. - * @return A uint256 specifying the amount of tokens still available for the spender. - */ - function allowance(address _owner, address _spender) - public - view - override - returns (uint256) - { - return allowed[_owner][_spender]; - } - - /** - * @dev Approves the passed address to spend the specified amount of tokens - * on behalf of msg.sender. - * - * @param _spender The address which will spend the funds. - * @param _value The amount of tokens to be spent. - * @return A bool indicating success (always returns true) - */ - function approve(address _spender, uint256 _value) public override returns (bool) { - allowed[msg.sender][_spender] = _value; - emit Approval(msg.sender, _spender, _value); - return true; - } - - - /** @dev Creates `amount` tokens and assigns them to tenantOwner, increasing - * the total supply. - * - * Emits a {Transfer} event with `from` set to the zero address. - * - * @param _amount The address which will spend the funds. - */ - function mint(uint _amount) external isTenantOwner(){ - balances[msg.sender] += _amount; - total += _amount; - emit Transfer(address(0), msg.sender, _amount); - } - - - /** @dev Destroys `amount` of tokens from the caller's account, decreasing - * the total supply. - * - * Emits a {Transfer} event with `from` set to the zero address. - * - * @param _amount The total tokens to be destroyed. - */ - function burn( uint _amount) external { - require(balanceOf(msg.sender) >= _amount, "Not enough balance"); - balances[msg.sender] -= _amount; - total -= _amount; - emit Transfer(msg.sender, address(0), _amount); - } -} \ No newline at end of file diff --git a/packages/hyperverse-metis-token/contracts/TokenFactory.sol b/packages/hyperverse-metis-token/contracts/TokenFactory.sol deleted file mode 100644 index d39b1cfd..00000000 --- a/packages/hyperverse-metis-token/contracts/TokenFactory.sol +++ /dev/null @@ -1,83 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; -pragma experimental ABIEncoderV2; - -import "./hyperverse/CloneFactory.sol"; -import "./hyperverse/IHyperverseModule.sol"; -import "./Token.sol"; - -/** - * @dev Clone Factory Implementation for ERC20 Token - */ - - contract TokenFactory is CloneFactory { - - /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ S T A T E @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - struct Tenant { - Token token; - address owner; - } - - mapping(address => Tenant) public tenants; - mapping(address => bool) public instance; - - address public immutable masterContract; - address public immutable owner; - address private hyperverseAdmin = 0xD847C7408c48b6b6720CCa75eB30a93acbF5163D; - - /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ M O D I F I E R S @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - modifier isOwner(address _tenant) { - require( - tenants[_tenant].owner == msg.sender, - "The calling address is not an owner of a tenant" - ); - _; - } - - modifier isAllowedToCreateInstance(address _tenant) { - require( - msg.sender == _tenant || msg.sender == hyperverseAdmin, - "Please use a valid address to create an instance" - ); - _; - } - - modifier hasAnInstance(address _tenant) { - require( - instance[_tenant] == false, - 'The tenant already has an instance' - ); - _; - } - - /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ E V E N T S @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - - /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ C O N S T R U C T O R @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - constructor(address _masterContract, address _owner) { - masterContract = _masterContract; - owner = _owner; - } - - /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ F U N C T I O N S @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - - function createInstance(address _tenant, string memory _name, string memory _symbol, uint256 _decimal) - isAllowedToCreateInstance(_tenant) - external - { - Token token = Token(createClone(masterContract)); - - //initializing tenant state of clone - token.init(_name, _symbol, _decimal, msg.sender); - - //set Tenant data - Tenant storage newTenant = tenants[_tenant]; - newTenant.token = token; - newTenant.owner = _tenant; - instance[_tenant] = true; - } - - function getProxy(address _tenant) public view returns (Token) { - return tenants[_tenant].token; - } - - } diff --git a/packages/hyperverse-metis-token/contracts/hyperverse/CloneFactory.sol b/packages/hyperverse-metis-token/contracts/hyperverse/CloneFactory.sol deleted file mode 100644 index e925bce4..00000000 --- a/packages/hyperverse-metis-token/contracts/hyperverse/CloneFactory.sol +++ /dev/null @@ -1,52 +0,0 @@ -//SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -/* -The MIT License (MIT) -Copyright (c) 2018 Murray Software, LLC. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -//solhint-disable max-line-length -//solhint-disable no-inline-assembly - -contract CloneFactory { - function createClone(address target) internal returns (address result) { - bytes20 targetBytes = bytes20(target); - assembly { - let clone := mload(0x40) - mstore(clone, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000) - mstore(add(clone, 0x14), targetBytes) - mstore(add(clone, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) - result := create(0, clone, 0x37) - } - } - - function isClone(address target, address query) internal view returns (bool result) { - bytes20 targetBytes = bytes20(target); - assembly { - let clone := mload(0x40) - mstore(clone, 0x363d3d373d3d3d363d7300000000000000000000000000000000000000000000) - mstore(add(clone, 0xa), targetBytes) - mstore(add(clone, 0x1e), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) - - let other := add(clone, 0x40) - extcodecopy(query, other, 0, 0x2d) - result := and(eq(mload(clone), mload(other)), eq(mload(add(clone, 0xd)), mload(add(other, 0xd)))) - } - } -} \ No newline at end of file diff --git a/packages/hyperverse-metis-token/contracts/hyperverse/IHyperverseModule.sol b/packages/hyperverse-metis-token/contracts/hyperverse/IHyperverseModule.sol deleted file mode 100644 index 7eac7249..00000000 --- a/packages/hyperverse-metis-token/contracts/hyperverse/IHyperverseModule.sol +++ /dev/null @@ -1,34 +0,0 @@ -/** - -## The Decentology Smart Module standard on Ethereum - -## `IHyperverseModule` interface - -In essense, this contract serves the equivalent of two purposes -in respect to Cadence: -1) Enforces the `metadata` variable (same as IHyperverseModule.cdc) -2) Defines what a ModuleMetadata is (sam as HyperverseModule.cdc) - -*/ - -// SPDX-License-Identifier: UNLICENSED - -pragma solidity ^0.8.0; - -abstract contract IHyperverseModule { - ModuleMetadata public metadata; - address private owner; - - struct ModuleMetadata { - bytes title; // <-- `pub var title: String` in Cadence - Author author; - bytes version; - uint64 publishedAt; - bytes externalLink; // <-- can't be "external" in Solidity because it's a keyword - } - - struct Author { - address authorAddress; // <-- can't be "address" in Solidity because it's a keyword - string externalLink; - } -} \ No newline at end of file diff --git a/packages/hyperverse-metis-token/hardhat.config.js b/packages/hyperverse-metis-token/hardhat.config.js deleted file mode 100644 index f7dd9a5b..00000000 --- a/packages/hyperverse-metis-token/hardhat.config.js +++ /dev/null @@ -1,28 +0,0 @@ -require('@nomiclabs/hardhat-waffle'); - -// This is a sample Hardhat task. To learn how to create your own go to -// https://hardhat.org/guides/create-task.html -task('accounts', 'Prints the list of accounts', async (taskArgs, hre) => { - const accounts = await hre.ethers.getSigners(); - - for (const account of accounts) { - console.log(account.address); - } -}); - -// You need to export an object to set up your config -// Go to https://hardhat.org/config/ to learn more - -/** - * @type import('hardhat/config').HardhatUserConfig - */ -module.exports = { - solidity: '0.8.4', - networks: { - metis: { - url: 'https://stardust.metis.io/?owner=588', - accounts: - process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], - }, - }, -}; diff --git a/packages/hyperverse-metis-token/index.ts b/packages/hyperverse-metis-token/index.ts deleted file mode 100644 index c42c1942..00000000 --- a/packages/hyperverse-metis-token/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './source' diff --git a/packages/hyperverse-metis-token/package.json b/packages/hyperverse-metis-token/package.json deleted file mode 100644 index a1eb6351..00000000 --- a/packages/hyperverse-metis-token/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "@decentology/hyperverse-metis-token", - "version": "1.0.1", - "source": "./source/index.ts", - "types": "./distribution/index.d.ts", - "main": "./distribution/index.js", - "license": "MIT", - "scripts": { - "test": "hardhat test", - "compile": "hardhat compile", - "deploy": "hardhat run scripts/deploy.js --network metis", - "build": "parcel build", - "clean": "rimraf ./distribution" - }, - "publishConfig": { - "access": "public" - }, - "peerDependencies": { - "react": "^17.0.2" - }, - "files": [ - "distribution", - "utils" - ], - "dependencies": { - "@decentology/hyperverse": "^1.0.9", - "@decentology/hyperverse-metis": "^1.0.9", - "ethers": "^5.5.3", - "react-query": "^3.34.7", - "react-use": "^17.3.2", - "@decentology/unstated-next": "^1.1.1" - }, - "devDependencies": { - "@decentology/config": "^1.0.0", - "@nomiclabs/hardhat-ethers": "^2.0.4", - "@nomiclabs/hardhat-waffle": "^2.0.2", - "chai": "^4.3.4", - "ethereum-waffle": "^3.4.0", - "hardhat": "^2.8.3", - "parcel": "^2.2.1", - "rimraf": "^3.0.2" - } -} diff --git a/packages/hyperverse-metis-token/scripts/deploy.js b/packages/hyperverse-metis-token/scripts/deploy.js deleted file mode 100644 index 86f1c06c..00000000 --- a/packages/hyperverse-metis-token/scripts/deploy.js +++ /dev/null @@ -1,27 +0,0 @@ -const hre = require('hardhat'); -const main = async () => { - const hyperverseAdmin = '0xD847C7408c48b6b6720CCa75eB30a93acbF5163D'; - const Token = await hre.ethers.getContractFactory('Token'); - const token = await Token.deploy(hyperverseAdmin); - await token.deployed(); - console.log(`Token deployed to: ${token.address}`); - - const TokenFactory = await hre.ethers.getContractFactory('TokenFactory'); - const tokenFactory = await TokenFactory.deploy(token.address, hyperverseAdmin); - await tokenFactory.deployed(); - console.log('Token Factory deployed to: ', tokenFactory.address); - - -}; - -const runMain = async () => { - try { - await main(); - process.exit(0); - } catch (error) { - console.error(error); - process.exit(1); - } -}; - -runMain(); \ No newline at end of file diff --git a/packages/hyperverse-metis-token/source/Provider.tsx b/packages/hyperverse-metis-token/source/Provider.tsx deleted file mode 100644 index b2e2ac13..00000000 --- a/packages/hyperverse-metis-token/source/Provider.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { HyperverseModuleInstance, useHyperverse, networks } from '@decentology/hyperverse'; -import { Token } from './useToken' -import { FC } from 'react'; -import { QueryClientProvider, QueryClient } from 'react-query'; -const client = new QueryClient(); - -import { TENANT_ADDRESS }from './constants' - -const Provider: FC = ({children, tenantId}) => { - const { network } = useHyperverse(); - if (network === networks.Mainnet && tenantId === null) { - throw new Error('Tenant ID is required for Mainnet'); - } - return ( - - {children} - - ); -}; - -export { Provider }; diff --git a/packages/hyperverse-metis-token/source/constants.ts b/packages/hyperverse-metis-token/source/constants.ts deleted file mode 100644 index f548f44d..00000000 --- a/packages/hyperverse-metis-token/source/constants.ts +++ /dev/null @@ -1,7 +0,0 @@ -import TokenFactory from '../artifacts/contracts/TokenFactory.sol/TokenFactory.json'; -import Token from '../artifacts/contracts/Token.sol/Token.json'; -export const TokenABI = Token.abi; -export const TokenFactoryABI = TokenFactory.abi; -export const TOKEN_MAIN_ADDRESS = '0xC7ca00A24da99Eb8AFD3eE1511801eBAFc49C368'; -export const TOKEN_FACTORY_ADDRESS = '0xA2F0607C9bC4C1E534A150a43BE4058447B66975'; -export const TENANT_ADDRESS = '0x8f8B8BE836fbe857c65E892dBb261F249f9b0adb'; diff --git a/packages/hyperverse-metis-token/source/environment.ts b/packages/hyperverse-metis-token/source/environment.ts deleted file mode 100644 index f95bfb16..00000000 --- a/packages/hyperverse-metis-token/source/environment.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { networks, useHyperverse } from '@decentology/hyperverse'; -import { TOKEN_FACTORY_ADDRESS, TOKEN_MAIN_ADDRESS } from '@decentology/hyperverse-ethereum-token/source/constants'; - -const environment = { - [networks.Mainnet]: { - appID: null, - }, - [networks.Testnet]: { - tokenAddress: TOKEN_MAIN_ADDRESS, - factoryAddress: TOKEN_FACTORY_ADDRESS - }, -}; - -function useEnvironment() { - const {network} = useHyperverse(); - return network === networks.Mainnet - ? environment[networks.Mainnet] - : environment[networks.Testnet]; -} - -export { environment, useEnvironment }; diff --git a/packages/hyperverse-metis-token/source/index.ts b/packages/hyperverse-metis-token/source/index.ts deleted file mode 100644 index c0e73f79..00000000 --- a/packages/hyperverse-metis-token/source/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { useToken } from './useToken'; -export { Provider } from './Provider'; diff --git a/packages/hyperverse-metis-token/source/useToken.ts b/packages/hyperverse-metis-token/source/useToken.ts deleted file mode 100644 index 17286ccb..00000000 --- a/packages/hyperverse-metis-token/source/useToken.ts +++ /dev/null @@ -1,303 +0,0 @@ -import { TokenABI, TokenFactoryABI, TOKEN_FACTORY_ADDRESS } from './constants'; -import { ethers } from 'ethers'; -import { createContainer, useContainer } from '@decentology/unstated-next'; -import { useQuery, useMutation, UseMutationOptions } from 'react-query'; -import { useMemo, useState, useEffect, useCallback } from 'react'; -import { useMetis } from '@decentology/hyperverse-metis'; -import { TENANT_ADDRESS } from './constants'; - -type ContractState = ethers.Contract; - -function TokenState(initialState: { tenantId: string } = { tenantId: TENANT_ADDRESS }) { - const { tenantId } = initialState; - const { address, web3Provider, provider } = useMetis(); - - const [contract, setContract] = useState( - new ethers.Contract(TOKEN_FACTORY_ADDRESS, TokenFactoryABI, provider) as ContractState - ); - const [proxyContract, setProxyContract] = useState(); - - const signer = useMemo(async () => { - return web3Provider?.getSigner(); - }, [web3Provider]); - - useEffect(() => { - const fetchContract = async () => { - const proxyAddress = await contract.getProxy(tenantId); - const proxyCtr = new ethers.Contract(proxyAddress, TokenABI, provider); - const accountSigner = await signer; - if (accountSigner) { - setProxyContract(proxyCtr.connect(accountSigner)); - } else { - setProxyContract(proxyCtr); - } - }; - fetchContract(); - }, [contract, tenantId, provider, signer]); - - const setup = useCallback(async () => { - const accountSigner = await signer; - if (accountSigner) { - const ctr = contract.connect(accountSigner) as ContractState; - setContract(ctr); - } - // We have a defualt contract that has no signer. Which will work for read-only operations. - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [signer]); - - const errors = useCallback( - (err: any) => { - if (!contract?.signer) { - throw new Error('Please connect your wallet!'); - } - - if (err.code === 4001) { - throw new Error('You rejected the transaction!'); - } - - throw err; - }, - [contract?.signer] - ); - - useEffect(() => { - if (web3Provider) { - setup(); - } - }, [setup, web3Provider]); - - const createInstance = async ( - account: string, - name: string, - symbol: string, - decimal: number - ) => { - try { - const createTxn = await contract.createInstance(account, name, symbol, decimal); - return createTxn.wait(); - } catch (err) { - errors(err); - throw err; - } - }; - - const getProxy = async (account: string | null) => { - try { - const proxyAccount = await contract.getProxy(account); - return proxyAccount; - } catch (err) { - errors(err); - throw err; - } - }; - - const getTotalSupply = async () => { - try { - const totalSupply = await proxyContract?.totalSupply(); - return totalSupply.toNumber(); - } catch (err) { - errors(err); - throw err; - } - }; - - const getBalanceOf = async (account: string) => { - try { - const balance = await proxyContract?.balanceOf(account); - return balance.toNumber(); - } catch (err) { - errors(err); - throw err; - } - }; - - const getBalance = async () => { - try { - const balance = await proxyContract?.balance(); - return balance.toNumber(); - } catch (err) { - errors(err); - throw err; - } - }; - - const transfer = async (to: string, value: number) => { - try { - const transfer = await proxyContract?.transfer(to, value); - return transfer.wait(); - } catch (err) { - if (err instanceof String) { - if (err.includes('Not enough balance')) { - throw new Error('Not enough balance'); - } - errors(err); - } - throw err; - } - }; - - const transferFrom = useCallback(async (from: string, to: string, value: number) => { - try { - const transfer = await proxyContract?.transferFrom(from, to, value); - return transfer.wait(); - } catch (err) { - errors(err); - throw err; - } - } , [address]); - - const allowance = async (owner: string, spender: string) => { - try { - const allowance = await proxyContract?.allowance(owner, spender); - return allowance.toNumber(); - } catch (err) { - errors(err); - throw err; - } - }; - // 0xD847C7408c48b6b6720CCa75eB30a93acbF5163D - // 0x9809ABAfe657533F4Fd409a4DDf442B093A8AEAe - const approve = useCallback (async (spender: string, amount: number) => { - try { - const approve = await proxyContract?.approve(spender, amount); - return approve.wait(); - } catch (err) { - errors(err); - throw err; - } - }, [address]); - - const mint = async (amount: number) => { - try { - const mint = await proxyContract?.mint(amount); - return mint.wait(); - } catch (err) { - errors(err); - throw err; - } - }; - - const burn = async (amount: number) => { - try { - const burn = await proxyContract?.burn(amount); - return burn.wait(); - } catch (err) { - errors(err); - throw err; - } - }; - - const getTokenName = async () => { - try { - const name = await proxyContract?.name(); - return name; - } catch (err) { - errors(err); - throw err; - } - }; - - const getTokenSymbol = async () => { - try { - const name = await proxyContract?.symbol(); - return name; - } catch (err) { - errors(err); - throw err; - } - }; - return { - tenantId, - contract, - NewInstance: ( - options?: Omit< - UseMutationOptions< - unknown, - unknown, - { account: string; name: string; symbol: string; decimal: number }, - unknown - >, - 'mutationFn' - > - ) => - useMutation( - ({ account, name, symbol, decimal }) => - createInstance(account, name, symbol, decimal), - options - ), - Proxy: () => - useQuery(['getProxy', address, contract?.address], () => getProxy(address), { - enabled: !!address && !!contract?.address, - }), - TotalSupply: () => - useQuery(['getTotalSupply', address], () => getTotalSupply(), { - enabled: !!proxyContract?.signer && !!address, - }), - Balance: () => - useQuery(['getBalance', address], () => getBalance(), { - enabled: !!proxyContract?.signer && !!address, - }), - BalanceOf: (account: string) => - useQuery(['getBalanceOf', address, { account }], () => getBalanceOf(account), { - enabled: !!proxyContract?.signer && !!address, - }), - Transfer: ( - options?: Omit< - UseMutationOptions, - 'mutationFn' - > - ) => useMutation(({ to, value }) => transfer(to, value), options), - TransferFrom: ( - options?: Omit< - UseMutationOptions< - unknown, - unknown, - { from: string; to: string; value: number }, - unknown - >, - 'mutationFn' - > - ) => useMutation(({ from, to, value }) => transferFrom(from, to, value), options), - Allowance: (owner: string, spender: string) => - useQuery(['allowance', address, { owner, spender }], () => allowance(owner, spender), { - enabled: !!proxyContract?.signer && !!address, - }), - - Mint: ( - options?: Omit< - UseMutationOptions, - 'mutationFn' - > - ) => useMutation(({ amount }) => mint(amount), options), - - Burn: ( - options?: Omit< - UseMutationOptions, - 'mutationFn' - > - ) => useMutation(({ amount }) => burn(amount), options), - - TokenName: () => - useQuery(['getTokenName', address], () => getTokenName(), { - enabled: !!proxyContract?.signer && !!address, - }), - - TokenSymbol: () => - useQuery(['getTokenSymbol', address], () => getTokenSymbol(), { - enabled: !!proxyContract?.signer && !!address, - }), - - Approve: ( - options?: Omit< - UseMutationOptions, - 'mutationFn' - > - ) => useMutation(({ spender, amount }) => approve(spender, amount), options), - }; -} - -export const Token = createContainer(TokenState); - -export function useToken() { - return useContainer(Token); -} diff --git a/packages/hyperverse-metis-token/test/token-test.js b/packages/hyperverse-metis-token/test/token-test.js deleted file mode 100644 index e136f0b8..00000000 --- a/packages/hyperverse-metis-token/test/token-test.js +++ /dev/null @@ -1,166 +0,0 @@ -const { expect } = require('chai'); -const { BigNumber } = require('ethers'); -const { ethers } = require('hardhat'); - -let unitMultiple = new BigNumber.from(10).pow(new BigNumber.from(3)); -let initialSupply = new BigNumber.from(1000000).mul(unitMultiple); - -describe('Token', function () { - let TokenMain; - let tokenMainCtr; - let TokenFactory; - let tokenFactoryCtr; - let alice; - let bob; - let cara; - let aliceProxyContract; - - beforeEach(async () => { - TokenMain = await ethers.getContractFactory('Token'); - [owner, alice, bob, cara] = await ethers.getSigners(); - - tokenMainCtr = await TokenMain.deploy(owner.address); - await tokenMainCtr.deployed(); - - TokenFactory = await ethers.getContractFactory('TokenFactory'); - tokenFactoryCtr = await TokenFactory.deploy(tokenMainCtr.address, owner.address); - await tokenFactoryCtr.deployed(); - - await tokenFactoryCtr.connect(alice).createInstance(alice.address, 'ALICE', 'ALC', '6'); - - const main = await ethers.getContractFactory('Token'); - aliceProxyContract = await main.attach(await tokenFactoryCtr.getProxy(alice.address)); - }); - - describe('Initial State Variables', function () { - it('Master Contract should match tokenMainCtr', async function () { - expect(await tokenFactoryCtr.masterContract()).to.equal(tokenMainCtr.address); - }); - - it("Should match alice's initial token data", async function () { - expect(await aliceProxyContract.name()).to.equal('ALICE'); - expect(await aliceProxyContract.symbol()).to.equal('ALC'); - expect(await aliceProxyContract.decimals()).to.equal(6); - }); - - it('Should have the correct supply off tokens using totalSupply()', async function () { - expect(await aliceProxyContract.totalSupply()).to.equal(initialSupply); - }); - - it('Should have correct balance of tokens using balance() and balanceOf()', async function () { - expect(await aliceProxyContract.connect(alice).balance()).to.equal(initialSupply); - expect(await aliceProxyContract.balanceOf(alice.address)).to.equal(initialSupply); - }); - }); - - describe('Transfer', function () { - it('Should be able to transfer funds using transfer()', async function () { - const sourceAccount = alice.address; - const tragetAccount = cara.address; - const amount = new BigNumber.from(1000); - - const sourceOldBal = await aliceProxyContract.balanceOf(sourceAccount); - const targetOldBal = await aliceProxyContract.balanceOf(tragetAccount); - - const transferTxn = await aliceProxyContract - .connect(alice) - .transfer(tragetAccount, amount); - - const sourceNewBal = await aliceProxyContract.balanceOf(sourceAccount); - const targetNewBal = await aliceProxyContract.balanceOf(tragetAccount); - - expect(sourceNewBal).to.not.equal(sourceOldBal); - expect(targetOldBal).to.not.equal(targetNewBal); - expect(sourceNewBal).to.equal(sourceOldBal.sub(amount)); - }); - - it('Should approve funds tranfer using approve() and check spend amount using allowance()', async function () { - const sourceAccount = alice.address; - const tragetAccount = cara.address; - const amount = new BigNumber.from(500).mul(unitMultiple); - - await aliceProxyContract.connect(alice).approve(tragetAccount, amount); - - const allowance = await aliceProxyContract.allowance(sourceAccount, tragetAccount); - - expect(allowance).to.equal(amount); - }); - - it('Should transfer allowance funds between accounts using tranferFrom()', async function () { - const sourceAccount = alice.address; - const tragetAccount = cara.address; - const authorizedAccount = bob.address; - const amount = new BigNumber.from(500).mul(unitMultiple); - - const sourceOldBal = await aliceProxyContract.balanceOf(sourceAccount); - const targetOldBal = await aliceProxyContract.balanceOf(tragetAccount); - - await aliceProxyContract.connect(alice).approve(authorizedAccount, amount); - - let oldAllowance = await aliceProxyContract.allowance(sourceAccount, authorizedAccount); - - await aliceProxyContract - .connect(bob) - .transferFrom(sourceAccount, tragetAccount, amount); - - let sourceNewBal = await aliceProxyContract.balanceOf(sourceAccount); - let targetNewBal = await aliceProxyContract.balanceOf(tragetAccount); - - let newAllowance = await aliceProxyContract.allowance(sourceAccount, authorizedAccount); - - expect(sourceNewBal).to.not.equal(sourceOldBal); - expect(targetOldBal).to.not.equal(targetNewBal); - expect(oldAllowance).to.not.equal(newAllowance); - expect(sourceNewBal).to.equal(sourceOldBal.sub(amount)); - expect(newAllowance).to.equal(oldAllowance.sub(amount)); - expect(newAllowance).to.equal(0); - }); - - it('Should not transfer funds between acounts using transferFrom() unless authorized', async function () { - const sourceAccount = alice.address; - const tragetAccount = cara.address; - const authorizedAccount = bob.address; - const amount = new BigNumber.from(500).mul(unitMultiple); - - // const transferTxn = await aliceProxyContract.connect(bob).transferFrom(sourceAccount, tragetAccount, amount); - await expect( - aliceProxyContract.connect(bob).transferFrom(sourceAccount, tragetAccount, amount) - ).to.be.revertedWith('Not enough allowed balance for transfer'); - }); - }); - - describe('Minting', function () { - it('Should mint tokens using mint()', async function () { - const amount = new BigNumber.from(500).mul(unitMultiple); - - const mintTxn = await aliceProxyContract.connect(alice).mint(amount); - - const newBal = await aliceProxyContract.balanceOf(alice.address); - - expect(newBal).to.equal(initialSupply.add(amount)); - }); - - it('Should not mint tokens using mint() if not owner', async function () { - const amount = new BigNumber.from(500).mul(unitMultiple); - - await expect( - aliceProxyContract.connect(bob).mint(amount) - ).to.be.revertedWith('You are not the tenant owner'); - }); - - }) - - describe('Burning', function () { - it('Should burn Alice\'s tokens', async function () { - const amount = new BigNumber.from(500).mul(unitMultiple); - - const oldBal = await aliceProxyContract.balanceOf(alice.address); - await aliceProxyContract.connect(alice).burn(amount); - - const newBal = await aliceProxyContract.balanceOf(alice.address); - - expect(oldBal).to.not.equal(newBal); - expect(newBal).to.equal(initialSupply.sub(amount)); - }) - }) -}); diff --git a/packages/hyperverse/source/types.ts b/packages/hyperverse/source/types.ts index 8d6eef54..474202e2 100644 --- a/packages/hyperverse/source/types.ts +++ b/packages/hyperverse/source/types.ts @@ -58,6 +58,7 @@ export type EvmEnvironment = { [key in Network]: { [key: string]: any; contractAddress: string | null; + factoryAddress: string | null; tenantAddress: string | null; }; }; From 0ca49d7cef1b91a39cc48a94fcabdb3265f51e97 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Wed, 2 Mar 2022 17:51:04 -0500 Subject: [PATCH 19/41] Remove utils --- .../utils/ExampleNFT.json | 427 ------------------ .../utils/ExampleNFTFactory.json | 96 ---- 2 files changed, 523 deletions(-) delete mode 100644 packages/hyperverse-evm-erc721/utils/ExampleNFT.json delete mode 100644 packages/hyperverse-evm-erc721/utils/ExampleNFTFactory.json diff --git a/packages/hyperverse-evm-erc721/utils/ExampleNFT.json b/packages/hyperverse-evm-erc721/utils/ExampleNFT.json deleted file mode 100644 index 80be7a24..00000000 --- a/packages/hyperverse-evm-erc721/utils/ExampleNFT.json +++ /dev/null @@ -1,427 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ExampleNFT", - "sourceName": "contracts/ExampleNFT.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "contractOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "createNFT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - }, - { - "internalType": "address", - "name": "_tenant", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "initialized", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenCounter", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60a060405234801561001057600080fd5b503373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505060805160601c612c956100666000396000610b8d0152612c956000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80636ee5741a116100a2578063b88d4fde11610071578063b88d4fde146102f1578063c87b56dd1461030d578063ce606ee01461033d578063d082e3811461035b578063e985e9c51461037957610116565b80636ee5741a1461026b57806370a082311461028757806395d89b41146102b7578063a22cb465146102d557610116565b8063158ef93e116100e9578063158ef93e146101b557806317e5883c146101d357806323b872dd1461020357806342842e0e1461021f5780636352211e1461023b57610116565b806301ffc9a71461011b57806306fdde031461014b578063081812fc14610169578063095ea7b314610199575b600080fd5b61013560048036038101906101309190611ce9565b6103a9565b604051610142919061216e565b60405180910390f35b61015361048b565b6040516101609190612189565b60405180910390f35b610183600480360381019061017e9190611dba565b61051d565b6040516101909190612107565b60405180910390f35b6101b360048036038101906101ae9190611cad565b6105a2565b005b6101bd6106ba565b6040516101ca919061216e565b60405180910390f35b6101ed60048036038101906101e89190611b42565b6106cd565b6040516101fa91906123ab565b60405180910390f35b61021d60048036038101906102189190611ba7565b610798565b005b61023960048036038101906102349190611ba7565b6107f8565b005b61025560048036038101906102509190611dba565b610818565b6040516102629190612107565b60405180910390f35b61028560048036038101906102809190611d3b565b6108ca565b005b6102a1600480360381019061029c9190611b42565b610922565b6040516102ae91906123ab565b60405180910390f35b6102bf6109da565b6040516102cc9190612189565b60405180910390f35b6102ef60048036038101906102ea9190611c71565b610a6c565b005b61030b60048036038101906103069190611bf6565b610a82565b005b61032760048036038101906103229190611dba565b610ae4565b6040516103349190612189565b60405180910390f35b610345610b8b565b6040516103529190612107565b60405180910390f35b610363610baf565b60405161037091906123ab565b60405180910390f35b610393600480360381019061038e9190611b6b565b610bb5565b6040516103a0919061216e565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061047457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610484575061048382610c49565b5b9050919050565b60606000805461049a90612601565b80601f01602080910402602001604051908101604052809291908181526020018280546104c690612601565b80156105135780601f106104e857610100808354040283529160200191610513565b820191906000526020600020905b8154815290600101906020018083116104f657829003601f168201915b5050505050905090565b600061052882610cb3565b610567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055e906122eb565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006105ad82610818565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561061e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106159061234b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661063d610d1f565b73ffffffffffffffffffffffffffffffffffffffff16148061066c575061066b81610666610d1f565b610bb5565b5b6106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a29061226b565b60405180910390fd5b6106b58383610d27565b505050565b600260009054906101000a900460ff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461075f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107569061232b565b60405180910390fd5b600060075490506107708382610de0565b61077981610ae4565b5060016007546107899190612490565b60078190555080915050919050565b6107a96107a3610d1f565b82610dfe565b6107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df9061236b565b60405180910390fd5b6107f3838383610edc565b505050565b61081383838360405180602001604052806000815250610a82565b505050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b8906122ab565b60405180910390fd5b80915050919050565b6108d48383611143565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600781905550505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098a9061228b565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546109e990612601565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1590612601565b8015610a625780601f10610a3757610100808354040283529160200191610a62565b820191906000526020600020905b815481529060010190602001808311610a4557829003601f168201915b5050505050905090565b610a7e610a77610d1f565b83836111e0565b5050565b610a93610a8d610d1f565b83610dfe565b610ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac99061236b565b60405180910390fd5b610ade8484848461134d565b50505050565b6060610aef82610cb3565b610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b259061230b565b60405180910390fd5b6000610b386113a9565b90506000815111610b585760405180602001604052806000815250610b83565b80610b62846113c0565b604051602001610b739291906120e3565b6040516020818303038152906040525b915050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60075481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610d9a83610818565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610dfa82826040518060200160405280600081525061156d565b5050565b6000610e0982610cb3565b610e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3f9061224b565b60405180910390fd5b6000610e5383610818565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610ec257508373ffffffffffffffffffffffffffffffffffffffff16610eaa8461051d565b73ffffffffffffffffffffffffffffffffffffffff16145b80610ed35750610ed28185610bb5565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610efc82610818565b73ffffffffffffffffffffffffffffffffffffffff1614610f52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f49906121cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb99061220b565b60405180910390fd5b610fcd8383836115c8565b610fd8600082610d27565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110289190612517565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461107f9190612490565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461113e8383836115cd565b505050565b600260009054906101000a900460ff1615611193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118a9061238b565b60405180910390fd5b81600090805190602001906111a9929190611966565b5080600190805190602001906111c0929190611966565b506001600260006101000a81548160ff0219169083151502179055505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561124f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112469061222b565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611340919061216e565b60405180910390a3505050565b611358848484610edc565b611364848484846115d2565b6113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a906121ab565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000821415611408576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611568565b600082905060005b6000821461143a57808061142390612664565b915050600a8261143391906124e6565b9150611410565b60008167ffffffffffffffff81111561147c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156114ae5781602001600182028036833780820191505090505b5090505b60008514611561576001826114c79190612517565b9150600a856114d691906126ad565b60306114e29190612490565b60f81b81838151811061151e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561155a91906124e6565b94506114b2565b8093505050505b919050565b6115778383611769565b61158460008484846115d2565b6115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba906121ab565b60405180910390fd5b505050565b505050565b505050565b60006115f38473ffffffffffffffffffffffffffffffffffffffff16611943565b1561175c578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261161c610d1f565b8786866040518563ffffffff1660e01b815260040161163e9493929190612122565b602060405180830381600087803b15801561165857600080fd5b505af192505050801561168957506040513d601f19601f820116820180604052508101906116869190611d12565b60015b61170c573d80600081146116b9576040519150601f19603f3d011682016040523d82523d6000602084013e6116be565b606091505b50600081511415611704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fb906121ab565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611761565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d0906122cb565b60405180910390fd5b6117e281610cb3565b15611822576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611819906121eb565b60405180910390fd5b61182e600083836115c8565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461187e9190612490565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461193f600083836115cd565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b82805461197290612601565b90600052602060002090601f01602090048101928261199457600085556119db565b82601f106119ad57805160ff19168380011785556119db565b828001600101855582156119db579182015b828111156119da5782518255916020019190600101906119bf565b5b5090506119e891906119ec565b5090565b5b80821115611a055760008160009055506001016119ed565b5090565b6000611a1c611a17846123eb565b6123c6565b905082815260208101848484011115611a3457600080fd5b611a3f8482856125bf565b509392505050565b6000611a5a611a558461241c565b6123c6565b905082815260208101848484011115611a7257600080fd5b611a7d8482856125bf565b509392505050565b600081359050611a9481612c03565b92915050565b600081359050611aa981612c1a565b92915050565b600081359050611abe81612c31565b92915050565b600081519050611ad381612c31565b92915050565b600082601f830112611aea57600080fd5b8135611afa848260208601611a09565b91505092915050565b600082601f830112611b1457600080fd5b8135611b24848260208601611a47565b91505092915050565b600081359050611b3c81612c48565b92915050565b600060208284031215611b5457600080fd5b6000611b6284828501611a85565b91505092915050565b60008060408385031215611b7e57600080fd5b6000611b8c85828601611a85565b9250506020611b9d85828601611a85565b9150509250929050565b600080600060608486031215611bbc57600080fd5b6000611bca86828701611a85565b9350506020611bdb86828701611a85565b9250506040611bec86828701611b2d565b9150509250925092565b60008060008060808587031215611c0c57600080fd5b6000611c1a87828801611a85565b9450506020611c2b87828801611a85565b9350506040611c3c87828801611b2d565b925050606085013567ffffffffffffffff811115611c5957600080fd5b611c6587828801611ad9565b91505092959194509250565b60008060408385031215611c8457600080fd5b6000611c9285828601611a85565b9250506020611ca385828601611a9a565b9150509250929050565b60008060408385031215611cc057600080fd5b6000611cce85828601611a85565b9250506020611cdf85828601611b2d565b9150509250929050565b600060208284031215611cfb57600080fd5b6000611d0984828501611aaf565b91505092915050565b600060208284031215611d2457600080fd5b6000611d3284828501611ac4565b91505092915050565b600080600060608486031215611d5057600080fd5b600084013567ffffffffffffffff811115611d6a57600080fd5b611d7686828701611b03565b935050602084013567ffffffffffffffff811115611d9357600080fd5b611d9f86828701611b03565b9250506040611db086828701611a85565b9150509250925092565b600060208284031215611dcc57600080fd5b6000611dda84828501611b2d565b91505092915050565b611dec8161254b565b82525050565b611dfb8161255d565b82525050565b6000611e0c8261244d565b611e168185612463565b9350611e268185602086016125ce565b611e2f8161279a565b840191505092915050565b6000611e4582612458565b611e4f8185612474565b9350611e5f8185602086016125ce565b611e688161279a565b840191505092915050565b6000611e7e82612458565b611e888185612485565b9350611e988185602086016125ce565b80840191505092915050565b6000611eb1603283612474565b9150611ebc826127ab565b604082019050919050565b6000611ed4602583612474565b9150611edf826127fa565b604082019050919050565b6000611ef7601c83612474565b9150611f0282612849565b602082019050919050565b6000611f1a602483612474565b9150611f2582612872565b604082019050919050565b6000611f3d601983612474565b9150611f48826128c1565b602082019050919050565b6000611f60602c83612474565b9150611f6b826128ea565b604082019050919050565b6000611f83603883612474565b9150611f8e82612939565b604082019050919050565b6000611fa6602a83612474565b9150611fb182612988565b604082019050919050565b6000611fc9602983612474565b9150611fd4826129d7565b604082019050919050565b6000611fec602083612474565b9150611ff782612a26565b602082019050919050565b600061200f602c83612474565b915061201a82612a4f565b604082019050919050565b6000612032602f83612474565b915061203d82612a9e565b604082019050919050565b6000612055602583612474565b915061206082612aed565b604082019050919050565b6000612078602183612474565b915061208382612b3c565b604082019050919050565b600061209b603183612474565b91506120a682612b8b565b604082019050919050565b60006120be601e83612474565b91506120c982612bda565b602082019050919050565b6120dd816125b5565b82525050565b60006120ef8285611e73565b91506120fb8284611e73565b91508190509392505050565b600060208201905061211c6000830184611de3565b92915050565b60006080820190506121376000830187611de3565b6121446020830186611de3565b61215160408301856120d4565b81810360608301526121638184611e01565b905095945050505050565b60006020820190506121836000830184611df2565b92915050565b600060208201905081810360008301526121a38184611e3a565b905092915050565b600060208201905081810360008301526121c481611ea4565b9050919050565b600060208201905081810360008301526121e481611ec7565b9050919050565b6000602082019050818103600083015261220481611eea565b9050919050565b6000602082019050818103600083015261222481611f0d565b9050919050565b6000602082019050818103600083015261224481611f30565b9050919050565b6000602082019050818103600083015261226481611f53565b9050919050565b6000602082019050818103600083015261228481611f76565b9050919050565b600060208201905081810360008301526122a481611f99565b9050919050565b600060208201905081810360008301526122c481611fbc565b9050919050565b600060208201905081810360008301526122e481611fdf565b9050919050565b6000602082019050818103600083015261230481612002565b9050919050565b6000602082019050818103600083015261232481612025565b9050919050565b6000602082019050818103600083015261234481612048565b9050919050565b600060208201905081810360008301526123648161206b565b9050919050565b600060208201905081810360008301526123848161208e565b9050919050565b600060208201905081810360008301526123a4816120b1565b9050919050565b60006020820190506123c060008301846120d4565b92915050565b60006123d06123e1565b90506123dc8282612633565b919050565b6000604051905090565b600067ffffffffffffffff8211156124065761240561276b565b5b61240f8261279a565b9050602081019050919050565b600067ffffffffffffffff8211156124375761243661276b565b5b6124408261279a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061249b826125b5565b91506124a6836125b5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124db576124da6126de565b5b828201905092915050565b60006124f1826125b5565b91506124fc836125b5565b92508261250c5761250b61270d565b5b828204905092915050565b6000612522826125b5565b915061252d836125b5565b9250828210156125405761253f6126de565b5b828203905092915050565b600061255682612595565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156125ec5780820151818401526020810190506125d1565b838111156125fb576000848401525b50505050565b6000600282049050600182168061261957607f821691505b6020821081141561262d5761262c61273c565b5b50919050565b61263c8261279a565b810181811067ffffffffffffffff8211171561265b5761265a61276b565b5b80604052505050565b600061266f826125b5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156126a2576126a16126de565b5b600182019050919050565b60006126b8826125b5565b91506126c3836125b5565b9250826126d3576126d261270d565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4f6e6c79207468652054656e616e74206f776e65722063616e206d696e74206160008201527f6e204e4654000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f416c726561647920696e697469616c697a6564207468652073746174652e0000600082015250565b612c0c8161254b565b8114612c1757600080fd5b50565b612c238161255d565b8114612c2e57600080fd5b50565b612c3a81612569565b8114612c4557600080fd5b50565b612c51816125b5565b8114612c5c57600080fd5b5056fea264697066735822122004e81f95d5f05f83fd8f96857144131d8ec7bf016522988da54228e59f8a986364736f6c63430008040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c80636ee5741a116100a2578063b88d4fde11610071578063b88d4fde146102f1578063c87b56dd1461030d578063ce606ee01461033d578063d082e3811461035b578063e985e9c51461037957610116565b80636ee5741a1461026b57806370a082311461028757806395d89b41146102b7578063a22cb465146102d557610116565b8063158ef93e116100e9578063158ef93e146101b557806317e5883c146101d357806323b872dd1461020357806342842e0e1461021f5780636352211e1461023b57610116565b806301ffc9a71461011b57806306fdde031461014b578063081812fc14610169578063095ea7b314610199575b600080fd5b61013560048036038101906101309190611ce9565b6103a9565b604051610142919061216e565b60405180910390f35b61015361048b565b6040516101609190612189565b60405180910390f35b610183600480360381019061017e9190611dba565b61051d565b6040516101909190612107565b60405180910390f35b6101b360048036038101906101ae9190611cad565b6105a2565b005b6101bd6106ba565b6040516101ca919061216e565b60405180910390f35b6101ed60048036038101906101e89190611b42565b6106cd565b6040516101fa91906123ab565b60405180910390f35b61021d60048036038101906102189190611ba7565b610798565b005b61023960048036038101906102349190611ba7565b6107f8565b005b61025560048036038101906102509190611dba565b610818565b6040516102629190612107565b60405180910390f35b61028560048036038101906102809190611d3b565b6108ca565b005b6102a1600480360381019061029c9190611b42565b610922565b6040516102ae91906123ab565b60405180910390f35b6102bf6109da565b6040516102cc9190612189565b60405180910390f35b6102ef60048036038101906102ea9190611c71565b610a6c565b005b61030b60048036038101906103069190611bf6565b610a82565b005b61032760048036038101906103229190611dba565b610ae4565b6040516103349190612189565b60405180910390f35b610345610b8b565b6040516103529190612107565b60405180910390f35b610363610baf565b60405161037091906123ab565b60405180910390f35b610393600480360381019061038e9190611b6b565b610bb5565b6040516103a0919061216e565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061047457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610484575061048382610c49565b5b9050919050565b60606000805461049a90612601565b80601f01602080910402602001604051908101604052809291908181526020018280546104c690612601565b80156105135780601f106104e857610100808354040283529160200191610513565b820191906000526020600020905b8154815290600101906020018083116104f657829003601f168201915b5050505050905090565b600061052882610cb3565b610567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055e906122eb565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006105ad82610818565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561061e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106159061234b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661063d610d1f565b73ffffffffffffffffffffffffffffffffffffffff16148061066c575061066b81610666610d1f565b610bb5565b5b6106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a29061226b565b60405180910390fd5b6106b58383610d27565b505050565b600260009054906101000a900460ff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461075f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107569061232b565b60405180910390fd5b600060075490506107708382610de0565b61077981610ae4565b5060016007546107899190612490565b60078190555080915050919050565b6107a96107a3610d1f565b82610dfe565b6107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df9061236b565b60405180910390fd5b6107f3838383610edc565b505050565b61081383838360405180602001604052806000815250610a82565b505050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b8906122ab565b60405180910390fd5b80915050919050565b6108d48383611143565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600781905550505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098a9061228b565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546109e990612601565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1590612601565b8015610a625780601f10610a3757610100808354040283529160200191610a62565b820191906000526020600020905b815481529060010190602001808311610a4557829003601f168201915b5050505050905090565b610a7e610a77610d1f565b83836111e0565b5050565b610a93610a8d610d1f565b83610dfe565b610ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac99061236b565b60405180910390fd5b610ade8484848461134d565b50505050565b6060610aef82610cb3565b610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b259061230b565b60405180910390fd5b6000610b386113a9565b90506000815111610b585760405180602001604052806000815250610b83565b80610b62846113c0565b604051602001610b739291906120e3565b6040516020818303038152906040525b915050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60075481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610d9a83610818565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610dfa82826040518060200160405280600081525061156d565b5050565b6000610e0982610cb3565b610e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3f9061224b565b60405180910390fd5b6000610e5383610818565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610ec257508373ffffffffffffffffffffffffffffffffffffffff16610eaa8461051d565b73ffffffffffffffffffffffffffffffffffffffff16145b80610ed35750610ed28185610bb5565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610efc82610818565b73ffffffffffffffffffffffffffffffffffffffff1614610f52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f49906121cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb99061220b565b60405180910390fd5b610fcd8383836115c8565b610fd8600082610d27565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110289190612517565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461107f9190612490565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461113e8383836115cd565b505050565b600260009054906101000a900460ff1615611193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118a9061238b565b60405180910390fd5b81600090805190602001906111a9929190611966565b5080600190805190602001906111c0929190611966565b506001600260006101000a81548160ff0219169083151502179055505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561124f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112469061222b565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611340919061216e565b60405180910390a3505050565b611358848484610edc565b611364848484846115d2565b6113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a906121ab565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000821415611408576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611568565b600082905060005b6000821461143a57808061142390612664565b915050600a8261143391906124e6565b9150611410565b60008167ffffffffffffffff81111561147c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156114ae5781602001600182028036833780820191505090505b5090505b60008514611561576001826114c79190612517565b9150600a856114d691906126ad565b60306114e29190612490565b60f81b81838151811061151e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561155a91906124e6565b94506114b2565b8093505050505b919050565b6115778383611769565b61158460008484846115d2565b6115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba906121ab565b60405180910390fd5b505050565b505050565b505050565b60006115f38473ffffffffffffffffffffffffffffffffffffffff16611943565b1561175c578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261161c610d1f565b8786866040518563ffffffff1660e01b815260040161163e9493929190612122565b602060405180830381600087803b15801561165857600080fd5b505af192505050801561168957506040513d601f19601f820116820180604052508101906116869190611d12565b60015b61170c573d80600081146116b9576040519150601f19603f3d011682016040523d82523d6000602084013e6116be565b606091505b50600081511415611704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fb906121ab565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611761565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d0906122cb565b60405180910390fd5b6117e281610cb3565b15611822576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611819906121eb565b60405180910390fd5b61182e600083836115c8565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461187e9190612490565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461193f600083836115cd565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b82805461197290612601565b90600052602060002090601f01602090048101928261199457600085556119db565b82601f106119ad57805160ff19168380011785556119db565b828001600101855582156119db579182015b828111156119da5782518255916020019190600101906119bf565b5b5090506119e891906119ec565b5090565b5b80821115611a055760008160009055506001016119ed565b5090565b6000611a1c611a17846123eb565b6123c6565b905082815260208101848484011115611a3457600080fd5b611a3f8482856125bf565b509392505050565b6000611a5a611a558461241c565b6123c6565b905082815260208101848484011115611a7257600080fd5b611a7d8482856125bf565b509392505050565b600081359050611a9481612c03565b92915050565b600081359050611aa981612c1a565b92915050565b600081359050611abe81612c31565b92915050565b600081519050611ad381612c31565b92915050565b600082601f830112611aea57600080fd5b8135611afa848260208601611a09565b91505092915050565b600082601f830112611b1457600080fd5b8135611b24848260208601611a47565b91505092915050565b600081359050611b3c81612c48565b92915050565b600060208284031215611b5457600080fd5b6000611b6284828501611a85565b91505092915050565b60008060408385031215611b7e57600080fd5b6000611b8c85828601611a85565b9250506020611b9d85828601611a85565b9150509250929050565b600080600060608486031215611bbc57600080fd5b6000611bca86828701611a85565b9350506020611bdb86828701611a85565b9250506040611bec86828701611b2d565b9150509250925092565b60008060008060808587031215611c0c57600080fd5b6000611c1a87828801611a85565b9450506020611c2b87828801611a85565b9350506040611c3c87828801611b2d565b925050606085013567ffffffffffffffff811115611c5957600080fd5b611c6587828801611ad9565b91505092959194509250565b60008060408385031215611c8457600080fd5b6000611c9285828601611a85565b9250506020611ca385828601611a9a565b9150509250929050565b60008060408385031215611cc057600080fd5b6000611cce85828601611a85565b9250506020611cdf85828601611b2d565b9150509250929050565b600060208284031215611cfb57600080fd5b6000611d0984828501611aaf565b91505092915050565b600060208284031215611d2457600080fd5b6000611d3284828501611ac4565b91505092915050565b600080600060608486031215611d5057600080fd5b600084013567ffffffffffffffff811115611d6a57600080fd5b611d7686828701611b03565b935050602084013567ffffffffffffffff811115611d9357600080fd5b611d9f86828701611b03565b9250506040611db086828701611a85565b9150509250925092565b600060208284031215611dcc57600080fd5b6000611dda84828501611b2d565b91505092915050565b611dec8161254b565b82525050565b611dfb8161255d565b82525050565b6000611e0c8261244d565b611e168185612463565b9350611e268185602086016125ce565b611e2f8161279a565b840191505092915050565b6000611e4582612458565b611e4f8185612474565b9350611e5f8185602086016125ce565b611e688161279a565b840191505092915050565b6000611e7e82612458565b611e888185612485565b9350611e988185602086016125ce565b80840191505092915050565b6000611eb1603283612474565b9150611ebc826127ab565b604082019050919050565b6000611ed4602583612474565b9150611edf826127fa565b604082019050919050565b6000611ef7601c83612474565b9150611f0282612849565b602082019050919050565b6000611f1a602483612474565b9150611f2582612872565b604082019050919050565b6000611f3d601983612474565b9150611f48826128c1565b602082019050919050565b6000611f60602c83612474565b9150611f6b826128ea565b604082019050919050565b6000611f83603883612474565b9150611f8e82612939565b604082019050919050565b6000611fa6602a83612474565b9150611fb182612988565b604082019050919050565b6000611fc9602983612474565b9150611fd4826129d7565b604082019050919050565b6000611fec602083612474565b9150611ff782612a26565b602082019050919050565b600061200f602c83612474565b915061201a82612a4f565b604082019050919050565b6000612032602f83612474565b915061203d82612a9e565b604082019050919050565b6000612055602583612474565b915061206082612aed565b604082019050919050565b6000612078602183612474565b915061208382612b3c565b604082019050919050565b600061209b603183612474565b91506120a682612b8b565b604082019050919050565b60006120be601e83612474565b91506120c982612bda565b602082019050919050565b6120dd816125b5565b82525050565b60006120ef8285611e73565b91506120fb8284611e73565b91508190509392505050565b600060208201905061211c6000830184611de3565b92915050565b60006080820190506121376000830187611de3565b6121446020830186611de3565b61215160408301856120d4565b81810360608301526121638184611e01565b905095945050505050565b60006020820190506121836000830184611df2565b92915050565b600060208201905081810360008301526121a38184611e3a565b905092915050565b600060208201905081810360008301526121c481611ea4565b9050919050565b600060208201905081810360008301526121e481611ec7565b9050919050565b6000602082019050818103600083015261220481611eea565b9050919050565b6000602082019050818103600083015261222481611f0d565b9050919050565b6000602082019050818103600083015261224481611f30565b9050919050565b6000602082019050818103600083015261226481611f53565b9050919050565b6000602082019050818103600083015261228481611f76565b9050919050565b600060208201905081810360008301526122a481611f99565b9050919050565b600060208201905081810360008301526122c481611fbc565b9050919050565b600060208201905081810360008301526122e481611fdf565b9050919050565b6000602082019050818103600083015261230481612002565b9050919050565b6000602082019050818103600083015261232481612025565b9050919050565b6000602082019050818103600083015261234481612048565b9050919050565b600060208201905081810360008301526123648161206b565b9050919050565b600060208201905081810360008301526123848161208e565b9050919050565b600060208201905081810360008301526123a4816120b1565b9050919050565b60006020820190506123c060008301846120d4565b92915050565b60006123d06123e1565b90506123dc8282612633565b919050565b6000604051905090565b600067ffffffffffffffff8211156124065761240561276b565b5b61240f8261279a565b9050602081019050919050565b600067ffffffffffffffff8211156124375761243661276b565b5b6124408261279a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061249b826125b5565b91506124a6836125b5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124db576124da6126de565b5b828201905092915050565b60006124f1826125b5565b91506124fc836125b5565b92508261250c5761250b61270d565b5b828204905092915050565b6000612522826125b5565b915061252d836125b5565b9250828210156125405761253f6126de565b5b828203905092915050565b600061255682612595565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156125ec5780820151818401526020810190506125d1565b838111156125fb576000848401525b50505050565b6000600282049050600182168061261957607f821691505b6020821081141561262d5761262c61273c565b5b50919050565b61263c8261279a565b810181811067ffffffffffffffff8211171561265b5761265a61276b565b5b80604052505050565b600061266f826125b5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156126a2576126a16126de565b5b600182019050919050565b60006126b8826125b5565b91506126c3836125b5565b9250826126d3576126d261270d565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4f6e6c79207468652054656e616e74206f776e65722063616e206d696e74206160008201527f6e204e4654000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f416c726561647920696e697469616c697a6564207468652073746174652e0000600082015250565b612c0c8161254b565b8114612c1757600080fd5b50565b612c238161255d565b8114612c2e57600080fd5b50565b612c3a81612569565b8114612c4557600080fd5b50565b612c51816125b5565b8114612c5c57600080fd5b5056fea264697066735822122004e81f95d5f05f83fd8f96857144131d8ec7bf016522988da54228e59f8a986364736f6c63430008040033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/packages/hyperverse-evm-erc721/utils/ExampleNFTFactory.json b/packages/hyperverse-evm-erc721/utils/ExampleNFTFactory.json deleted file mode 100644 index 4ebf7a2d..00000000 --- a/packages/hyperverse-evm-erc721/utils/ExampleNFTFactory.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ExampleNFTFactory", - "sourceName": "contracts/ExampleNFTFactory.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_masterContract", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "createInstance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_tenant", - "type": "address" - } - ], - "name": "getProxy", - "outputs": [ - { - "internalType": "contract ExampleNFT", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "masterContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "tenants", - "outputs": [ - { - "internalType": "contract ExampleNFT", - "name": "nft", - "type": "address" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60a060405273d847c7408c48b6b6720cca75eb30a93acbf5163d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006557600080fd5b506040516108fd3803806108fd833981810160405281019061008791906100d9565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250505061014b565b6000815190506100d381610134565b92915050565b6000602082840312156100eb57600080fd5b60006100f9848285016100c4565b91505092915050565b600061010d82610114565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b61013d81610102565b811461014857600080fd5b50565b60805160601c61078e61016f6000396000818160f801526102c9015261078e6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806397162f4214610051578063b7fba4d31461006d578063cd446e221461009d578063fd9153a3146100bb575b600080fd5b61006b6004803603810190610066919061045f565b6100ec565b005b61008760048036038101906100829190610436565b61025c565b604051610094919061053d565b60405180910390f35b6100a56102c7565b6040516100b29190610522565b60405180910390f35b6100d560048036038101906100d09190610436565b6102eb565b6040516100e3929190610558565b60405180910390f35b6000339050600061011c7f000000000000000000000000000000000000000000000000000000000000000061034f565b90508073ffffffffffffffffffffffffffffffffffffffff16636ee5741a8585856040518463ffffffff1660e01b815260040161015b93929190610581565b600060405180830381600087803b15801561017557600080fd5b505af1158015610189573d6000803e3d6000fd5b5050505060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f092505050919050565b60006103cc6103c7846105eb565b6105c6565b9050828152602081018484840111156103e457600080fd5b6103ef84828561068e565b509392505050565b60008135905061040681610741565b92915050565b600082601f83011261041d57600080fd5b813561042d8482602086016103b9565b91505092915050565b60006020828403121561044857600080fd5b6000610456848285016103f7565b91505092915050565b6000806040838503121561047257600080fd5b600083013567ffffffffffffffff81111561048c57600080fd5b6104988582860161040c565b925050602083013567ffffffffffffffff8111156104b557600080fd5b6104c18582860161040c565b9150509250929050565b6104d481610638565b82525050565b6104e38161066a565b82525050565b60006104f48261061c565b6104fe8185610627565b935061050e81856020860161069d565b61051781610730565b840191505092915050565b600060208201905061053760008301846104cb565b92915050565b600060208201905061055260008301846104da565b92915050565b600060408201905061056d60008301856104da565b61057a60208301846104cb565b9392505050565b6000606082019050818103600083015261059b81866104e9565b905081810360208301526105af81856104e9565b90506105be60408301846104cb565b949350505050565b60006105d06105e1565b90506105dc82826106d0565b919050565b6000604051905090565b600067ffffffffffffffff82111561060657610605610701565b5b61060f82610730565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006106438261064a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106758261067c565b9050919050565b60006106878261064a565b9050919050565b82818337600083830152505050565b60005b838110156106bb5780820151818401526020810190506106a0565b838111156106ca576000848401525b50505050565b6106d982610730565b810181811067ffffffffffffffff821117156106f8576106f7610701565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61074a81610638565b811461075557600080fd5b5056fea2646970667358221220719e6a08a6950709aea902505cbd0e7e53935e024984f3f53c19c8d744016e3564736f6c63430008040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806397162f4214610051578063b7fba4d31461006d578063cd446e221461009d578063fd9153a3146100bb575b600080fd5b61006b6004803603810190610066919061045f565b6100ec565b005b61008760048036038101906100829190610436565b61025c565b604051610094919061053d565b60405180910390f35b6100a56102c7565b6040516100b29190610522565b60405180910390f35b6100d560048036038101906100d09190610436565b6102eb565b6040516100e3929190610558565b60405180910390f35b6000339050600061011c7f000000000000000000000000000000000000000000000000000000000000000061034f565b90508073ffffffffffffffffffffffffffffffffffffffff16636ee5741a8585856040518463ffffffff1660e01b815260040161015b93929190610581565b600060405180830381600087803b15801561017557600080fd5b505af1158015610189573d6000803e3d6000fd5b5050505060008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f092505050919050565b60006103cc6103c7846105eb565b6105c6565b9050828152602081018484840111156103e457600080fd5b6103ef84828561068e565b509392505050565b60008135905061040681610741565b92915050565b600082601f83011261041d57600080fd5b813561042d8482602086016103b9565b91505092915050565b60006020828403121561044857600080fd5b6000610456848285016103f7565b91505092915050565b6000806040838503121561047257600080fd5b600083013567ffffffffffffffff81111561048c57600080fd5b6104988582860161040c565b925050602083013567ffffffffffffffff8111156104b557600080fd5b6104c18582860161040c565b9150509250929050565b6104d481610638565b82525050565b6104e38161066a565b82525050565b60006104f48261061c565b6104fe8185610627565b935061050e81856020860161069d565b61051781610730565b840191505092915050565b600060208201905061053760008301846104cb565b92915050565b600060208201905061055260008301846104da565b92915050565b600060408201905061056d60008301856104da565b61057a60208301846104cb565b9392505050565b6000606082019050818103600083015261059b81866104e9565b905081810360208301526105af81856104e9565b90506105be60408301846104cb565b949350505050565b60006105d06105e1565b90506105dc82826106d0565b919050565b6000604051905090565b600067ffffffffffffffff82111561060657610605610701565b5b61060f82610730565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006106438261064a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106758261067c565b9050919050565b60006106878261064a565b9050919050565b82818337600083830152505050565b60005b838110156106bb5780820151818401526020810190506106a0565b838111156106ca576000848401525b50505050565b6106d982610730565b810181811067ffffffffffffffff821117156106f8576106f7610701565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61074a81610638565b811461075557600080fd5b5056fea2646970667358221220719e6a08a6950709aea902505cbd0e7e53935e024984f3f53c19c8d744016e3564736f6c63430008040033", - "linkReferences": {}, - "deployedLinkReferences": {} -} From 39798bea6f026a9532a0cad22ac89778c31833c9 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Wed, 2 Mar 2022 17:51:42 -0500 Subject: [PATCH 20/41] Reference ERC20 package --- apps/ethereum/token/package.json | 2 +- apps/ethereum/token/pages/_app.tsx | 2 +- packages/hyperverse-evm-erc20/package.json | 2 +- yarn.lock | 766 ++++++++++++++++++++- 4 files changed, 735 insertions(+), 37 deletions(-) diff --git a/apps/ethereum/token/package.json b/apps/ethereum/token/package.json index da620713..822f88ec 100644 --- a/apps/ethereum/token/package.json +++ b/apps/ethereum/token/package.json @@ -11,7 +11,7 @@ "dependencies": { "@decentology/hyperverse": "^1.0.9", "@decentology/hyperverse-ethereum": "^1.0.9", - "@decentology/hyperverse-ethereum-erc20": "^1.0.0", + "@decentology/hyperverse-evm-erc20": "^1.0.0", "@radix-ui/react-accordion": "^0.1.6", "@stitches/react": "^1.2.6", "ethers": "^5.5.4", diff --git a/apps/ethereum/token/pages/_app.tsx b/apps/ethereum/token/pages/_app.tsx index bdb6cf42..0531d29d 100644 --- a/apps/ethereum/token/pages/_app.tsx +++ b/apps/ethereum/token/pages/_app.tsx @@ -1,6 +1,6 @@ import { initialize, Provider, networks } from '@decentology/hyperverse'; import { Ethereum } from '@decentology/hyperverse-ethereum'; -import * as Token from '@decentology/hyperverse-ethereum-token'; +import * as Token from '@decentology/hyperverse-evm-erc20'; import { globalCss } from '../stitches.config'; import { ToastContainer } from 'react-toastify'; import 'react-toastify/dist/ReactToastify.css'; diff --git a/packages/hyperverse-evm-erc20/package.json b/packages/hyperverse-evm-erc20/package.json index 9b32805f..c62dbfc2 100644 --- a/packages/hyperverse-evm-erc20/package.json +++ b/packages/hyperverse-evm-erc20/package.json @@ -1,5 +1,5 @@ { - "name": "@decentology/hyperverse-ethereum-erc20", + "name": "@decentology/hyperverse-evm-erc20", "version": "1.0.1", "source": "./source/index.ts", "types": "./distribution/index.d.ts", diff --git a/yarn.lock b/yarn.lock index 012cb46f..86976ad5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1419,7 +1419,7 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@eslint/eslintrc@^1.0.5", "@eslint/eslintrc@^1.1.0": +"@eslint/eslintrc@^1.0.5", "@eslint/eslintrc@^1.1.0", "@eslint/eslintrc@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.0.tgz#7ce1547a5c46dfe56e1e45c3c9ed18038c721c6a" integrity sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w== @@ -1946,6 +1946,16 @@ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17" integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw== +"@headlessui/react@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.5.0.tgz#483b44ba2c8b8d4391e1d2c863898d7dd0cc0296" + integrity sha512-aaRnYxBb3MU2FNJf3Ut9RMTUqqU3as0aI1lQhgo2n9Fa67wRu14iOGqx93xB+uMNVfNwZ5B3y/Ndm7qZGuFeMQ== + +"@heroicons/react@^1.0.5": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@heroicons/react/-/react-1.0.6.tgz#35dd26987228b39ef2316db3b1245c42eb19e324" + integrity sha512-JJCXydOFWMDpCP4q13iEplA503MQO3xLoZiKum+955ZCtHINWnx26CUxVxxFQu/uLb4LW3ge15ZpzIkXKkJ8oQ== + "@humanwhocodes/config-array@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" @@ -2092,6 +2102,13 @@ resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c" integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA== +"@next/bundle-analyzer@^12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-12.1.0.tgz#9f6d6cda2a26220c936805be407243e22790f4b7" + integrity sha512-pOtWRWaKQXff8A80Ex3E67EH8XuERHxBPn8cQgKzfhRKQwoTEareHe2nWJO1uXTQm6m7ZRhmhb4+uwp+UvmITQ== + dependencies: + webpack-bundle-analyzer "4.3.0" + "@next/env@12.0.3": version "12.0.3" resolved "https://registry.yarnpkg.com/@next/env/-/env-12.0.3.tgz#e676b4d1454d8b6be433a348e99f2b8276ab6cd7" @@ -3233,6 +3250,11 @@ resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec" integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug== +"@polka/url@^1.0.0-next.20": + version "1.0.0-next.21" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" + integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -3650,6 +3672,11 @@ resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== +"@types/json-schema@^7.0.9": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" @@ -3679,6 +3706,11 @@ resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== +"@types/marked@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.2.tgz#cb2dbf10da2f41cf20bd91fb5f89b67540c282f7" + integrity sha512-auNrZ/c0w6wsM9DccwVxWHssrMDezHUAXNesdp2RQrCVCyrQbOiSq7yqdJKrUQQpw9VTm7CGYJH2A/YG7jjrjQ== + "@types/minimatch@*", "@types/minimatch@^3.0.4": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" @@ -3704,7 +3736,7 @@ "@types/node" "*" form-data "^3.0.0" -"@types/node@*", "@types/node@17.0.21", "@types/node@>=13.7.0", "@types/node@^17.0.16": +"@types/node@*", "@types/node@17.0.21", "@types/node@>=13.7.0", "@types/node@^17.0.16", "@types/node@^17.0.21": version "17.0.21" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== @@ -3763,7 +3795,7 @@ dependencies: "@types/react" "^16" -"@types/react@*", "@types/react@17.0.39": +"@types/react@*", "@types/react@17.0.39", "@types/react@^17.0.39": version "17.0.39" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.39.tgz#d0f4cde092502a6db00a1cded6e6bf2abb7633ce" integrity sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug== @@ -3872,6 +3904,21 @@ dependencies: web3 "*" +"@typescript-eslint/eslint-plugin@^5.12.1": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.13.0.tgz#2809052b85911ced9c54a60dac10e515e9114497" + integrity sha512-vLktb2Uec81fxm/cfz2Hd6QaWOs8qdmVAZXLdOBX6JFJDhf6oDZpMzZ4/LZ6SFM/5DgDcxIMIvy3F+O9yZBuiQ== + dependencies: + "@typescript-eslint/scope-manager" "5.13.0" + "@typescript-eslint/type-utils" "5.13.0" + "@typescript-eslint/utils" "5.13.0" + debug "^4.3.2" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.2.0" + semver "^7.3.5" + tsutils "^3.21.0" + "@typescript-eslint/parser@^5.0.0": version "5.12.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.1.tgz#b090289b553b8aa0899740d799d0f96e6f49771b" @@ -3882,6 +3929,16 @@ "@typescript-eslint/typescript-estree" "5.12.1" debug "^4.3.2" +"@typescript-eslint/parser@^5.12.1": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.13.0.tgz#0394ed8f2f849273c0bf4b811994d177112ced5c" + integrity sha512-GdrU4GvBE29tm2RqWOM0P5QfCtgCyN4hXICj/X9ibKED16136l9ZpoJvCL5pSKtmJzA+NRDzQ312wWMejCVVfg== + dependencies: + "@typescript-eslint/scope-manager" "5.13.0" + "@typescript-eslint/types" "5.13.0" + "@typescript-eslint/typescript-estree" "5.13.0" + debug "^4.3.2" + "@typescript-eslint/scope-manager@5.12.1": version "5.12.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.12.1.tgz#58734fd45d2d1dec49641aacc075fba5f0968817" @@ -3890,11 +3947,33 @@ "@typescript-eslint/types" "5.12.1" "@typescript-eslint/visitor-keys" "5.12.1" +"@typescript-eslint/scope-manager@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.13.0.tgz#cf6aff61ca497cb19f0397eea8444a58f46156b6" + integrity sha512-T4N8UvKYDSfVYdmJq7g2IPJYCRzwtp74KyDZytkR4OL3NRupvswvmJQJ4CX5tDSurW2cvCc1Ia1qM7d0jpa7IA== + dependencies: + "@typescript-eslint/types" "5.13.0" + "@typescript-eslint/visitor-keys" "5.13.0" + +"@typescript-eslint/type-utils@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.13.0.tgz#b0efd45c85b7bab1125c97b752cab3a86c7b615d" + integrity sha512-/nz7qFizaBM1SuqAKb7GLkcNn2buRdDgZraXlkhz+vUGiN1NZ9LzkA595tHHeduAiS2MsHqMNhE2zNzGdw43Yg== + dependencies: + "@typescript-eslint/utils" "5.13.0" + debug "^4.3.2" + tsutils "^3.21.0" + "@typescript-eslint/types@5.12.1": version "5.12.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.1.tgz#46a36a28ff4d946821b58fe5a73c81dc2e12aa89" integrity sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA== +"@typescript-eslint/types@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.13.0.tgz#da1de4ae905b1b9ff682cab0bed6b2e3be9c04e5" + integrity sha512-LmE/KO6DUy0nFY/OoQU0XelnmDt+V8lPQhh8MOVa7Y5k2gGRd6U9Kp3wAjhB4OHg57tUO0nOnwYQhRRyEAyOyg== + "@typescript-eslint/typescript-estree@5.12.1": version "5.12.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz#6a9425b9c305bcbc38e2d1d9a24c08e15e02b722" @@ -3908,6 +3987,31 @@ semver "^7.3.5" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.13.0.tgz#b37c07b748ff030a3e93d87c842714e020b78141" + integrity sha512-Q9cQow0DeLjnp5DuEDjLZ6JIkwGx3oYZe+BfcNuw/POhtpcxMTy18Icl6BJqTSd+3ftsrfuVb7mNHRZf7xiaNA== + dependencies: + "@typescript-eslint/types" "5.13.0" + "@typescript-eslint/visitor-keys" "5.13.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.13.0.tgz#2328feca700eb02837298339a2e49c46b41bd0af" + integrity sha512-+9oHlPWYNl6AwwoEt5TQryEHwiKRVjz7Vk6kaBeD3/kwHE5YqTGHtm/JZY8Bo9ITOeKutFaXnBlMgSATMJALUQ== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.13.0" + "@typescript-eslint/types" "5.13.0" + "@typescript-eslint/typescript-estree" "5.13.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + "@typescript-eslint/visitor-keys@5.12.1": version "5.12.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.1.tgz#f722da106c8f9695ae5640574225e45af3e52ec3" @@ -3916,6 +4020,14 @@ "@typescript-eslint/types" "5.12.1" eslint-visitor-keys "^3.0.0" +"@typescript-eslint/visitor-keys@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.13.0.tgz#f45ff55bcce16403b221ac9240fbeeae4764f0fd" + integrity sha512-HLKEAS/qA1V7d9EzcpLFykTePmOQqOFim8oCvhY3pZgQ8Hi38hYpHd9e5GN6nQBFQNecNhws5wkS9Y5XIO0s/g== + dependencies: + "@typescript-eslint/types" "5.13.0" + eslint-visitor-keys "^3.0.0" + "@walletconnect/browser-utils@^1.6.1", "@walletconnect/browser-utils@^1.7.1": version "1.7.1" resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.7.1.tgz#2a28846cd4d73166debbbf7d470e78ba25616f5e" @@ -4344,12 +4456,26 @@ acorn-jsx@^5.0.1, acorn-jsx@^5.3.1: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== +acorn-node@^1.6.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" + integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== + dependencies: + acorn "^7.0.0" + acorn-walk "^7.0.0" + xtend "^4.0.2" + acorn-walk@^6.0.1: version "6.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== -acorn-walk@^8.1.1: +acorn-walk@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn-walk@^8.0.0, acorn-walk@^8.1.1: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== @@ -4364,12 +4490,12 @@ acorn@^6.0.1, acorn@^6.0.4, acorn@^6.1.1, acorn@^6.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== -acorn@^7.1.1, acorn@^7.4.0: +acorn@^7.0.0, acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: +acorn@^8.0.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== @@ -4401,6 +4527,14 @@ agent-base@6: dependencies: debug "4" +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -4523,6 +4657,11 @@ ansi-regex@^5.0.1: 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.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -4542,6 +4681,11 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" +ansi-styles@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" + integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== + ansi-to-html@^0.6.4: version "0.6.15" resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.15.tgz#ac6ad4798a00f6aa045535d7f6a9cb9294eebea7" @@ -4615,6 +4759,11 @@ arg@^4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== +arg@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" + integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -4887,6 +5036,18 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +autoprefixer@^10.4.2: + version "10.4.2" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b" + integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ== + dependencies: + browserslist "^4.19.1" + caniuse-lite "^1.0.30001297" + fraction.js "^4.1.2" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + autoprefixer@^6.3.1: version "6.7.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" @@ -6316,6 +6477,11 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + camelcase-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" @@ -6379,7 +6545,7 @@ caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30001312.tgz#efb31cb54e5f4714126d8c35292666c9b7290c87" integrity sha512-4eJfCSGxsF9JcQXBLdHclxkpLWv+Va7Y6QESYCWSdrR8b8x16TxUjCoOK/kU7SFC0BdcuK0nvt6ZkM59Q03LjQ== -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001312: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001312: version "1.0.30001312" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== @@ -6421,7 +6587,7 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3. escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@4, chalk@^4.0.0, chalk@^4.1.0: +chalk@4, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -6522,7 +6688,7 @@ chokidar@^2.1.5, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.4.0, chokidar@^3.4.1: +chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -6645,6 +6811,13 @@ cli-cursor@^2.0.0, cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + cli-spinners@^1.1.0: version "1.3.1" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" @@ -6671,6 +6844,22 @@ cli-truncate@^1.1.0: slice-ansi "^1.0.0" string-width "^2.0.0" +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cli-truncate@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" + integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== + dependencies: + slice-ansi "^5.0.0" + string-width "^5.0.0" + cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -6784,7 +6973,7 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@^1.0.0, color-name@~1.1.4: +color-name@^1.0.0, color-name@^1.1.4, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== @@ -6831,6 +7020,11 @@ colorette@^1.2.2: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== +colorette@^2.0.16: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + colormin@^1.0.5: version "1.1.2" resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" @@ -6899,11 +7093,21 @@ commander@^5.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + commander@^7.0.0, commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + common-path-prefix@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" @@ -6970,6 +7174,11 @@ configstore@^3.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" +confusing-browser-globals@^1.0.10: + version "1.0.11" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" + integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== + console-browserify@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" @@ -7190,6 +7399,13 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== +cross-env@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== + dependencies: + cross-spawn "^7.0.1" + cross-fetch@^2.1.0, cross-fetch@^2.1.1: version "2.2.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.5.tgz#afaf5729f3b6c78d89c9296115c9f142541a5705" @@ -7218,7 +7434,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.4, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.2: +cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -7957,6 +8173,20 @@ detect-node@^2.0.4, detect-node@^2.1.0: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== +detective@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" + integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== + dependencies: + acorn-node "^1.6.1" + defined "^1.0.0" + minimist "^1.1.1" + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + diff@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -7995,6 +8225,11 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + dns-over-http-resolver@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz#194d5e140a42153f55bb79ac5a64dd2768c36af9" @@ -8159,7 +8394,7 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= -duplexer@^0.1.1: +duplexer@^0.1.1, duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== @@ -8174,6 +8409,11 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -8522,6 +8762,23 @@ escodegen@~1.9.0: optionalDependencies: source-map "~0.6.1" +eslint-config-airbnb-base@^15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz#6b09add90ac79c2f8d723a2580e07f3925afd236" + integrity sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig== + dependencies: + confusing-browser-globals "^1.0.10" + object.assign "^4.1.2" + object.entries "^1.1.5" + semver "^6.3.0" + +eslint-config-airbnb-typescript@^16.1.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-16.1.0.tgz#f75a6b4f3bb679eef34c3c930359c2ca9bc3f09c" + integrity sha512-W5Cq20KpEx5ZLC54bnVrC37zq2+WD956Kp/Ma3nYFRjT1v9KM63v+DPkrrmmrVqrlDKaD0ivm/qeYmyHV6qKlw== + dependencies: + eslint-config-airbnb-base "^15.0.0" + eslint-config-next@12.0.7: version "12.0.7" resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.0.7.tgz#985f06c3d749673f6b4b214db6b9321da1bf0b5f" @@ -8552,7 +8809,7 @@ eslint-config-next@12.0.8: eslint-plugin-react "^7.27.0" eslint-plugin-react-hooks "^4.3.0" -eslint-config-next@12.1.0, eslint-config-next@^12.0.3: +eslint-config-next@12.1.0, eslint-config-next@^12.0.3, eslint-config-next@^12.1.0: version "12.1.0" resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.1.0.tgz#8ace680dc5207e6ab6c915f3989adec122f582e7" integrity sha512-tBhuUgoDITcdcM7xFvensi9I5WTI4dnvH4ETGRg1U8ZKpXrZsWQFdOKIDzR3RLP5HR3xXrLviaMM4c3zVoE/pA== @@ -8572,6 +8829,11 @@ eslint-config-prettier@^8.3.0: resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.4.0.tgz#8e6d17c7436649e98c4c2189868562921ef563de" integrity sha512-CFotdUcMY18nGRo5KGsnNxpznzhkopOcOo0InID+sgQssPrzjvsyKZPvOgymTFeHrFuC3Tzdf2YndhXtULK9Iw== +eslint-config-prettier@^8.4.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" @@ -8599,7 +8861,7 @@ eslint-module-utils@^2.7.2: debug "^3.2.7" find-up "^2.1.0" -eslint-plugin-import@^2.25.2: +eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.25.4: version "2.25.4" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== @@ -8636,12 +8898,19 @@ eslint-plugin-jsx-a11y@^6.5.1: language-tags "^1.0.5" minimatch "^3.0.4" +eslint-plugin-prettier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== + dependencies: + prettier-linter-helpers "^1.0.0" + eslint-plugin-react-hooks@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== -eslint-plugin-react@^7.27.0: +eslint-plugin-react@^7.27.0, eslint-plugin-react@^7.29.1: version "7.29.2" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.2.tgz#2d4da69d30d0a736efd30890dc6826f3e91f3f7c" integrity sha512-ypEBTKOy5liFQXZWMchJ3LN0JX1uPI6n7MN7OPHKacqXAxq5gYC30TdO7wqGYQyxD1OrzpobdHC3hDmlRWDg9w== @@ -8661,6 +8930,18 @@ eslint-plugin-react@^7.27.0: semver "^6.3.0" string.prototype.matchall "^4.0.6" +eslint-plugin-unused-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz#d8db8c4d0cfa0637a8b51ce3fd7d1b6bc3f08520" + integrity sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A== + dependencies: + eslint-rule-composer "^0.3.0" + +eslint-rule-composer@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" + integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== + eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" @@ -8886,6 +9167,47 @@ eslint@8.9.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +eslint@^8.9.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.10.0.tgz#931be395eb60f900c01658b278e05b6dae47199d" + integrity sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw== + dependencies: + "@eslint/eslintrc" "^1.2.0" + "@humanwhocodes/config-array" "^0.9.2" + ajv "^6.10.0" + 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.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^6.0.1" + globals "^13.6.0" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + esm@^3.2.20: version "3.2.25" resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" @@ -9546,6 +9868,21 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execa@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + 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" + exit-on-epipe@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" @@ -9742,7 +10079,7 @@ fast-glob@^2.2.2: merge2 "^1.2.3" micromatch "^3.1.10" -fast-glob@^3.2.9: +fast-glob@^3.2.11, fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== @@ -10108,6 +10445,11 @@ fp-ts@^1.0.0: resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a" integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== +fraction.js@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.3.tgz#be65b0f20762ef27e1e793860bc2dfb716e99e65" + integrity sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg== + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -10391,6 +10733,11 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" +get-stream@^6.0.0: + 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-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" @@ -10446,7 +10793,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1: +glob-parent@^6.0.1, glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -10731,6 +11078,13 @@ gzip-size@^5.0.0: duplexer "^0.1.1" pify "^4.0.1" +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -11134,6 +11488,11 @@ human-id@^1.0.2: resolved "https://registry.yarnpkg.com/human-id/-/human-id-1.0.2.tgz#e654d4b2b0d8b07e45da9f6020d8af17ec0a5df3" integrity sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== +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== + husky@^2.1.0: version "2.7.0" resolved "https://registry.yarnpkg.com/husky/-/husky-2.7.0.tgz#c0a9a6a3b51146224e11bba0b46bba546e461d05" @@ -11167,6 +11526,11 @@ husky@^3.0.0: run-node "^1.0.0" slash "^3.0.0" +husky@^7.0.4: + version "7.0.4" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" + integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== + hyphenate-style-name@^1.0.2, hyphenate-style-name@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" @@ -11223,7 +11587,7 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.2.0: +ignore@^5.1.8, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -11261,7 +11625,7 @@ immutable@^4.0.0-rc.12: resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== -import-cwd@^2.1.0: +import-cwd@^2.0.0, import-cwd@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= @@ -11766,6 +12130,11 @@ is-fullwidth-code-point@^3.0.0: 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-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + is-function@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" @@ -12961,7 +13330,7 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -lilconfig@^2.0.3: +lilconfig@2.0.4, lilconfig@^2.0.3, lilconfig@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== @@ -12971,6 +13340,25 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +lint-staged@^12.3.4: + version "12.3.4" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.3.4.tgz#4b1ff8c394c3e6da436aaec5afd4db18b5dac360" + integrity sha512-yv/iK4WwZ7/v0GtVkNb3R82pdL9M+ScpIbJLJNyCXkJ1FGaXvRCOg/SeL59SZtPpqZhE7BD6kPKFLIDUhDx2/w== + dependencies: + cli-truncate "^3.1.0" + colorette "^2.0.16" + commander "^8.3.0" + debug "^4.3.3" + execa "^5.1.1" + lilconfig "2.0.4" + listr2 "^4.0.1" + micromatch "^4.0.4" + normalize-path "^3.0.0" + object-inspect "^1.12.0" + string-argv "^0.3.1" + supports-color "^9.2.1" + yaml "^1.10.2" + lint-staged@^8.1.5: version "8.2.1" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.2.1.tgz#752fcf222d9d28f323a3b80f1e668f3654ff221f" @@ -13030,6 +13418,20 @@ listr-verbose-renderer@^0.5.0: date-fns "^1.27.2" figures "^2.0.0" +listr2@^4.0.1: + version "4.0.4" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.4.tgz#d098a1c419284fb26e184b5d5889b235e8912245" + integrity sha512-vJOm5KD6uZXjSsrwajr+mNacIjf87gWvlBEltPWLbTkslUscWAzquyK4xfe9Zd4RDgO5nnwFyV06FC+uVR+5mg== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.4" + through "^2.3.8" + wrap-ansi "^7.0.0" + listr@^0.14.2: version "0.14.3" resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" @@ -13296,7 +13698,7 @@ lodash@4.17.20: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.4: +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -13331,6 +13733,16 @@ log-update@^2.3.0: cli-cursor "^2.0.0" wrap-ansi "^3.0.1" +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" @@ -13490,6 +13902,11 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +marked@^4.0.12: + version "4.0.12" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.12.tgz#2262a4e6fd1afd2f13557726238b69a48b982f7d" + integrity sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ== + match-sorter@^6.0.2: version "6.3.1" resolved "https://registry.yarnpkg.com/match-sorter/-/match-sorter-6.3.1.tgz#98cc37fda756093424ddf3cbc62bfe9c75b92bda" @@ -13865,6 +14282,11 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +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-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" @@ -13933,7 +14355,7 @@ minimist@0.0.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@~1.2.5: +minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@~1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -14094,6 +14516,11 @@ mri@^1.1.0: resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== +mrmime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.0.tgz#14d387f0585a5233d291baba339b063752a2398b" + integrity sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -14286,6 +14713,18 @@ neo-async@^2.5.0, neo-async@^2.6.1: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +next-connect@^0.12.2: + version "0.12.2" + resolved "https://registry.yarnpkg.com/next-connect/-/next-connect-0.12.2.tgz#8191db0f03c80f8f4dbbe80e643a48cb3c9a20b9" + integrity sha512-B/zKHPs5S7XWvAVsZVLvOeY2eL2U3g0W/BgCDetEJRcNDzxX2vi8rzqBuEoLLPlI8LvtHwujDVUFFjSgOEZTbA== + dependencies: + trouter "^3.2.0" + +next-seo@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-5.1.0.tgz#aa9fd6249a11bf93e6da06fa2a6bc89268936edf" + integrity sha512-ampuQfNTOi1x+xtRIb6CZGunIo6rQXtMo2Tyu861d5GjJFIwfOXsA4lzCa4+e2rLkyXDyVpavNNUZWa3US9ELw== + next-tick@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" @@ -14462,7 +14901,7 @@ next@12.0.8: "@next/swc-win32-ia32-msvc" "12.0.8" "@next/swc-win32-x64-msvc" "12.0.8" -next@12.1.0: +next@12.1.0, next@^12.1.0: version "12.1.0" resolved "https://registry.yarnpkg.com/next/-/next-12.1.0.tgz#c33d753b644be92fc58e06e5a214f143da61dd5d" integrity sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q== @@ -14664,6 +15103,21 @@ npm-path@^2.0.2: dependencies: which "^1.2.10" +npm-run-all@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" + integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== + dependencies: + ansi-styles "^3.2.1" + chalk "^2.4.1" + cross-spawn "^6.0.5" + memorystream "^0.3.1" + minimatch "^3.0.4" + pidtree "^0.3.0" + read-pkg "^3.0.0" + shell-quote "^1.6.1" + string.prototype.padend "^3.0.0" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -14671,6 +15125,13 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" +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-which@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" @@ -14751,7 +15212,12 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.11.0, object-inspect@^1.9.0, object-inspect@~1.12.0: +object-hash@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" + integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== + +object-inspect@^1.11.0, object-inspect@^1.12.0, object-inspect@^1.9.0, object-inspect@~1.12.0: version "1.12.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== @@ -14918,6 +15384,13 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +onetime@^5.1.0, onetime@^5.1.2: + 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" + open@^7.4.2: version "7.4.2" resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" @@ -14931,6 +15404,11 @@ opencollective-postinstall@^2.0.2: resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + opn@^5.1.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" @@ -15117,6 +15595,13 @@ p-map@^2.0.0: resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + p-queue@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-2.4.2.tgz#03609826682b743be9a22dba25051bd46724fc34" @@ -15435,7 +15920,7 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-key@^3.1.0: +path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -15512,6 +15997,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.0: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +pidtree@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" + integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -15780,6 +16270,13 @@ postcss-filter-plugins@^2.0.0: dependencies: postcss "^5.0.4" +postcss-js@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" + integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== + dependencies: + camelcase-css "^2.0.1" + postcss-load-config@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" @@ -15790,6 +16287,22 @@ postcss-load-config@^1.2.0: postcss-load-options "^1.2.0" postcss-load-plugins "^2.3.0" +postcss-load-config@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-load-config@^3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.3.tgz#21935b2c43b9a86e6581a576ca7ee1bde2bd1d23" + integrity sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw== + dependencies: + lilconfig "^2.0.4" + yaml "^1.10.2" + postcss-load-options@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" @@ -16029,6 +16542,13 @@ postcss-modules@^1.1.0: postcss "^7.0.1" string-hash "^1.1.1" +postcss-nested@5.0.6: + version "5.0.6" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" + integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== + dependencies: + postcss-selector-parser "^6.0.6" + postcss-normalize-charset@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" @@ -16301,7 +16821,7 @@ postcss-selector-parser@^3.0.0: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: version "6.0.9" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== @@ -16443,7 +16963,7 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.17, postcss@^7.0.2 picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.4.5: +postcss@^8.4.5, postcss@^8.4.6, postcss@^8.4.7: version "8.4.7" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.7.tgz#f99862069ec4541de386bf57f5660a6c7a0875a8" integrity sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A== @@ -16587,6 +17107,13 @@ preserve@^0.2.0: resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + prettier@^1.17.0, prettier@^1.18.2, prettier@^1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" @@ -16953,6 +17480,11 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + quote-stream@^1.0.1, quote-stream@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2" @@ -17053,7 +17585,7 @@ react-display-name@^0.2.4: resolved "https://registry.yarnpkg.com/react-display-name/-/react-display-name-0.2.5.tgz#304c7cbfb59ee40389d436e1a822c17fe27936c6" integrity sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg== -react-dom@17.0.2: +react-dom@17.0.2, react-dom@^17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== @@ -17157,7 +17689,7 @@ react-use@^17.3.2: ts-easing "^0.2.0" tslib "^2.1.0" -react@17.0.2: +react@17.0.2, react@^17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== @@ -17421,6 +17953,11 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: call-bind "^1.0.2" define-properties "^1.1.3" +regexparam@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-1.3.0.tgz#2fe42c93e32a40eff6235d635e0ffa344b92965f" + integrity sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g== + regexpp@^3.1.0, regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" @@ -17685,7 +18222,7 @@ resolve@1.8.1: dependencies: path-parse "^1.0.5" -resolve@^1.1.5, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@~1.22.0: +resolve@^1.1.5, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@~1.22.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -17717,6 +18254,14 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + resumer@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" @@ -17744,6 +18289,11 @@ reusify@^1.0.4: 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.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + rgb-regex@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" @@ -17983,6 +18533,13 @@ rxjs@^6.3.3: dependencies: tslib "^1.9.0" +rxjs@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.4.tgz#3d6bd407e6b7ce9a123e76b1e770dc5761aa368d" + integrity sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ== + dependencies: + tslib "^2.1.0" + sade@^1.4.0: version "1.8.1" resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" @@ -18299,7 +18856,7 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@1.7.3: +shell-quote@1.7.3, shell-quote@^1.6.1: version "1.7.3" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== @@ -18313,7 +18870,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: 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== @@ -18355,6 +18912,15 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" +sirv@^1.0.7: + version "1.0.19" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49" + integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== + dependencies: + "@polka/url" "^1.0.0-next.20" + mrmime "^1.0.0" + totalist "^1.0.0" + sjcl@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.8.tgz#f2ec8d7dc1f0f21b069b8914a41a8f236b0e252a" @@ -18435,6 +19001,15 @@ slice-ansi@^1.0.0: dependencies: is-fullwidth-code-point "^2.0.0" +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" @@ -18444,6 +19019,14 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + slide@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" @@ -18893,6 +19476,11 @@ string-argv@^0.0.2: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736" integrity sha1-2sMECGkMIfPDYwo/86BYd73L1zY= +string-argv@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + string-hash@1.1.3, string-hash@^1.1.1, string-hash@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" @@ -18933,6 +19521,15 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + string.prototype.matchall@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" @@ -18947,6 +19544,15 @@ string.prototype.matchall@^4.0.6: regexp.prototype.flags "^1.3.1" side-channel "^1.0.4" +string.prototype.padend@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1" + integrity sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + string.prototype.trim@~1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.5.tgz#a587bcc8bfad8cb9829a577f5de30dd170c1682c" @@ -19028,6 +19634,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" + integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== + dependencies: + ansi-regex "^6.0.1" + strip-bom-buf@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" @@ -19052,6 +19665,11 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= +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-hex-prefix@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" @@ -19102,6 +19720,13 @@ styled-components@^5.3.3: shallowequal "^1.1.0" supports-color "^5.5.0" +styled-jsx-plugin-postcss@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/styled-jsx-plugin-postcss/-/styled-jsx-plugin-postcss-4.0.1.tgz#d1980db5f3af9bd662236822d02db3e80017371d" + integrity sha512-Qy3OnewWZYykT0ESWRqqC7KhYSghXpel+cnY3/MOnmatEwvJl1+RB5YwJRjqhcODDoY/D+dKH97PZFuF3/rCBg== + dependencies: + postcss-load-config "^2.1.2" + styled-jsx@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0.tgz#816b4b92e07b1786c6b7111821750e0ba4d26e77" @@ -19249,6 +19874,11 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" +supports-color@^9.2.1: + version "9.2.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891" + integrity sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ== + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -19347,6 +19977,33 @@ table@^6.0.9: string-width "^4.2.3" strip-ansi "^6.0.1" +tailwindcss@^3.0.23: + version "3.0.23" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.23.tgz#c620521d53a289650872a66adfcb4129d2200d10" + integrity sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA== + dependencies: + arg "^5.0.1" + chalk "^4.1.2" + chokidar "^3.5.3" + color-name "^1.1.4" + cosmiconfig "^7.0.1" + detective "^5.2.0" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.2.11" + glob-parent "^6.0.2" + is-glob "^4.0.3" + normalize-path "^3.0.0" + object-hash "^2.2.0" + postcss "^8.4.6" + postcss-js "^4.0.0" + postcss-load-config "^3.1.0" + postcss-nested "5.0.6" + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" + quick-lru "^5.1.1" + resolve "^1.22.0" + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -19513,7 +20170,7 @@ through2@^2.0.0, through2@^2.0.3, through2@~2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through@~2.3.4, through@~2.3.8: +through@^2.3.8, through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -19657,6 +20314,11 @@ toposort@^2.0.2: resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA= +totalist@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" + integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== + tough-cookie@^2.3.3, tough-cookie@^2.5.0, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -19697,6 +20359,13 @@ trim-right@^1.0.1: resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= +trouter@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/trouter/-/trouter-3.2.0.tgz#a9c510fce21b8e659a28732c9de9d82871efe8df" + integrity sha512-rLLXbhTObLy2MBVjLC+jTnoIKw99n0GuJs9ov10J870vDw5qhTurPzsDrudNtBf5w/CZ9ctZy2p2IMmhGcel2w== + dependencies: + regexparam "^1.3.0" + "true-case-path@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-2.2.1.tgz#c5bf04a5bbec3fd118be4084461b3a27c4d796bf" @@ -20124,6 +20793,11 @@ typescript@^3.1.3, typescript@^3.4.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== +typescript@^4.5.5: + version "4.6.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" + integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== + typewise-core@^1.2, typewise-core@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/typewise-core/-/typewise-core-1.2.0.tgz#97eb91805c7f55d2f941748fa50d315d991ef195" @@ -21176,6 +21850,21 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== +webpack-bundle-analyzer@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.3.0.tgz#2f3c0ca9041d5ee47fa418693cf56b4a518b578b" + integrity sha512-J3TPm54bPARx6QG8z4cKBszahnUglcv70+N+8gUqv2I5KOFHJbzBiLx+pAp606so0X004fxM7hqRu10MLjJifA== + dependencies: + acorn "^8.0.4" + acorn-walk "^8.0.0" + chalk "^4.1.0" + commander "^6.2.0" + gzip-size "^6.0.0" + lodash "^4.17.20" + opener "^1.5.2" + sirv "^1.0.7" + ws "^7.3.1" + webpack-cli@^3.2.1: version "3.3.12" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a" @@ -21435,6 +22124,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -21482,7 +22180,7 @@ ws@^6.1.2: dependencies: async-limiter "~1.0.0" -ws@^7.2.1, ws@^7.4.6: +ws@^7.2.1, ws@^7.3.1, ws@^7.4.6: version "7.5.7" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== From 791a13f975a7d4c6db7dc4df7ef943e46fbce130 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Wed, 2 Mar 2022 17:55:35 -0500 Subject: [PATCH 21/41] Added contract ABI --- .../artifacts/contracts/ERC20.sol/ERC20.json | 408 ++++++++++++++++++ .../ERC20Factory.sol/ERC20Factory.json | 143 ++++++ 2 files changed, 551 insertions(+) create mode 100644 packages/hyperverse-evm-erc20/artifacts/contracts/ERC20.sol/ERC20.json create mode 100644 packages/hyperverse-evm-erc20/artifacts/contracts/ERC20Factory.sol/ERC20Factory.json diff --git a/packages/hyperverse-evm-erc20/artifacts/contracts/ERC20.sol/ERC20.json b/packages/hyperverse-evm-erc20/artifacts/contracts/ERC20.sol/ERC20.json new file mode 100644 index 00000000..e7de8f3f --- /dev/null +++ b/packages/hyperverse-evm-erc20/artifacts/contracts/ERC20.sol/ERC20.json @@ -0,0 +1,408 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ERC20", + "sourceName": "contracts/ERC20.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "UNIT_MULTIPLIER", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "balance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "contractOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_decimal", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_tenant", + "type": "address" + } + ], + "name": "init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "initialSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "metadata", + "outputs": [ + { + "internalType": "bytes", + "name": "title", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "authorAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "externalLink", + "type": "string" + } + ], + "internalType": "struct IHyperverseModule.Author", + "name": "author", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "version", + "type": "bytes" + }, + { + "internalType": "uint64", + "name": "publishedAt", + "type": "uint64" + }, + { + "internalType": "bytes", + "name": "externalLink", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "total", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60a06040523480156200001157600080fd5b50604051620028a0380380620028a0833981810160405281019062000037919062000403565b6040518060a001604052806040518060400160405280600581526020017f546f6b656e000000000000000000000000000000000000000000000000000000815250815260200160405180604001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020016040518060400160405280601881526020017f68747470733a2f2f65787465726e616c6c696e6b2e6e6574000000000000000081525081525081526020016040518060400160405280600581526020017f302e302e31000000000000000000000000000000000000000000000000000000815250815260200165032a361e860667ffffffffffffffff1681526020016040518060400160405280601881526020017f68747470733a2f2f65787465726e616c4c696e6b2e6e657400000000000000008152508152506000808201518160000190805190602001906200018b929190620002ab565b5060208201518160010160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019080519060200190620001fa9291906200033c565b50505060408201518160030190805190602001906200021b929190620002ab565b5060608201518160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550608082015181600501908051906020019062000269929190620002ab565b509050508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505050620004e2565b828054620002b99062000463565b90600052602060002090601f016020900481019282620002dd576000855562000329565b82601f10620002f857805160ff191683800117855562000329565b8280016001018555821562000329579182015b82811115620003285782518255916020019190600101906200030b565b5b509050620003389190620003cd565b5090565b8280546200034a9062000463565b90600052602060002090601f0160209004810192826200036e5760008555620003ba565b82601f106200038957805160ff1916838001178555620003ba565b82800160010185558215620003ba579182015b82811115620003b95782518255916020019190600101906200039c565b5b509050620003c99190620003cd565b5090565b5b80821115620003e8576000816000905550600101620003ce565b5090565b600081519050620003fd81620004c8565b92915050565b6000602082840312156200041657600080fd5b60006200042684828501620003ec565b91505092915050565b60006200043c8262000443565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600060028204905060018216806200047c57607f821691505b6020821081141562000493576200049262000499565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b620004d3816200042f565b8114620004df57600080fd5b50565b60805160601c61239f6200050160003960006114bc015261239f6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063685d0a96116100a2578063a9059cbb11610071578063a9059cbb146102d5578063b69ef8a814610305578063ce606ee014610323578063dd62ed3e14610341578063fc540cd31461037157610116565b8063685d0a961461024f57806370a082311461026b57806395d89b411461029b578063a0712d68146102b957610116565b80632ddbd13a116100e95780632ddbd13a146101b7578063313ce567146101d5578063378dc3dc146101f3578063392f37e91461021157806342966c681461023357610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b61012361038f565b6040516101309190611b7e565b60405180910390f35b610153600480360381019061014e9190611796565b61041d565b6040516101609190611af4565b60405180910390f35b61017161050f565b60405161017e9190611ca0565b60405180910390f35b6101a1600480360381019061019c9190611747565b610519565b6040516101ae9190611af4565b60405180910390f35b6101bf610a1c565b6040516101cc9190611ca0565b60405180910390f35b6101dd610a22565b6040516101ea9190611ca0565b60405180910390f35b6101fb610a28565b6040516102089190611ca0565b60405180910390f35b610219610a2e565b60405161022a959493929190611b0f565b60405180910390f35b61024d60048036038101906102489190611865565b610cf0565b005b610269600480360381019061026491906117d2565b610e13565b005b610285600480360381019061028091906116e2565b610fa7565b6040516102929190611ca0565b60405180910390f35b6102a3610ff0565b6040516102b09190611b7e565b60405180910390f35b6102d360048036038101906102ce9190611865565b61107e565b005b6102ef60048036038101906102ea9190611796565b6111e6565b6040516102fc9190611af4565b60405180910390f35b61030d6114aa565b60405161031a9190611ca0565b60405180910390f35b61032b6114ba565b6040516103389190611ad9565b60405180910390f35b61035b6004803603810190610356919061170b565b6114de565b6040516103689190611ca0565b60405180910390f35b610379611565565b6040516103869190611ca0565b60405180910390f35b6008805461039c9061204d565b80601f01602080910402602001604051908101604052809291908181526020018280546103c89061204d565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b505050505081565b600081600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104fd9190611ca0565b60405180910390a36001905092915050565b6000600d54905090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058190611bc0565b60405180910390fd5b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610649576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064090611c60565b60405180910390fd5b61065284610fa7565b821115610694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068b90611ba0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fb90611bc0565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076a90611c40565b60405180910390fd5b6107c582600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156b90919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061085a82600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158190919063ffffffff16565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061092c82600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156b90919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a099190611ca0565b60405180910390a3600190509392505050565b600d5481565b600a5481565b600e5481565b6000806000018054610a3f9061204d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6b9061204d565b8015610ab85780601f10610a8d57610100808354040283529160200191610ab8565b820191906000526020600020905b815481529060010190602001808311610a9b57829003601f168201915b505050505090806001016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054610b339061204d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5f9061204d565b8015610bac5780601f10610b8157610100808354040283529160200191610bac565b820191906000526020600020905b815481529060010190602001808311610b8f57829003601f168201915b50505050508152505090806003018054610bc59061204d565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf19061204d565b8015610c3e5780601f10610c1357610100808354040283529160200191610c3e565b820191906000526020600020905b815481529060010190602001808311610c2157829003601f168201915b5050505050908060040160009054906101000a900467ffffffffffffffff1690806005018054610c6d9061204d565b80601f0160208091040260200160405190810160405280929190818152602001828054610c999061204d565b8015610ce65780601f10610cbb57610100808354040283529160200191610ce6565b820191906000526020600020905b815481529060010190602001808311610cc957829003601f168201915b5050505050905085565b80610cfa33610fa7565b1015610d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3290611c00565b60405180910390fd5b80600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d8a9190611f7b565b9250508190555080600d6000828254610da39190611f7b565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e089190611ca0565b60405180910390a350565b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b90611be0565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360089080519060200190610efb9291906115ad565b508260099080519060200190610f129291906115ad565b5081600a81905550600a54600a610f299190611e03565b600f8190555060006103e89050610f4b600f548261159790919063ffffffff16565b600d81905550600d54600e81905550600d54600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60098054610ffd9061204d565b80601f01602080910402602001604051908101604052809291908181526020018280546110299061204d565b80156110765780601f1061104b57610100808354040283529160200191611076565b820191906000526020600020905b81548152906001019060200180831161105957829003601f168201915b505050505081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461110e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110590611c80565b60405180910390fd5b80600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461115d9190611d5a565b9250508190555080600d60008282546111769190611d5a565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111db9190611ca0565b60405180910390a350565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e90611bc0565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90611c20565b60405180910390fd5b6112cf33610fa7565b821115611311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130890611c00565b60405180910390fd5b61136382600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156b90919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113f882600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158190919063ffffffff16565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114989190611ca0565b60405180910390a36001905092915050565b60006114b533610fa7565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f5481565b600081836115799190611f7b565b905092915050565b6000818361158f9190611d5a565b905092915050565b600081836115a59190611f21565b905092915050565b8280546115b99061204d565b90600052602060002090601f0160209004810192826115db5760008555611622565b82601f106115f457805160ff1916838001178555611622565b82800160010185558215611622579182015b82811115611621578251825591602001919060010190611606565b5b50905061162f9190611633565b5090565b5b8082111561164c576000816000905550600101611634565b5090565b600061166361165e84611ce0565b611cbb565b90508281526020810184848401111561167b57600080fd5b61168684828561200b565b509392505050565b60008135905061169d8161233b565b92915050565b600082601f8301126116b457600080fd5b81356116c4848260208601611650565b91505092915050565b6000813590506116dc81612352565b92915050565b6000602082840312156116f457600080fd5b60006117028482850161168e565b91505092915050565b6000806040838503121561171e57600080fd5b600061172c8582860161168e565b925050602061173d8582860161168e565b9150509250929050565b60008060006060848603121561175c57600080fd5b600061176a8682870161168e565b935050602061177b8682870161168e565b925050604061178c868287016116cd565b9150509250925092565b600080604083850312156117a957600080fd5b60006117b78582860161168e565b92505060206117c8858286016116cd565b9150509250929050565b600080600080608085870312156117e857600080fd5b600085013567ffffffffffffffff81111561180257600080fd5b61180e878288016116a3565b945050602085013567ffffffffffffffff81111561182b57600080fd5b611837878288016116a3565b9350506040611848878288016116cd565b92505060606118598782880161168e565b91505092959194509250565b60006020828403121561187757600080fd5b6000611885848285016116cd565b91505092915050565b61189781611faf565b82525050565b6118a681611faf565b82525050565b6118b581611fc1565b82525050565b60006118c682611d11565b6118d08185611d27565b93506118e081856020860161201a565b6118e98161213d565b840191505092915050565b60006118ff82611d1c565b6119098185611d38565b935061191981856020860161201a565b6119228161213d565b840191505092915050565b600061193882611d1c565b6119428185611d49565b935061195281856020860161201a565b61195b8161213d565b840191505092915050565b6000611973601f83611d49565b915061197e8261215b565b602082019050919050565b6000611996602b83611d49565b91506119a182612184565b604082019050919050565b60006119b9601f83611d49565b91506119c4826121d3565b602082019050919050565b60006119dc601283611d49565b91506119e7826121fc565b602082019050919050565b60006119ff602383611d49565b9150611a0a82612225565b604082019050919050565b6000611a22603483611d49565b9150611a2d82612274565b604082019050919050565b6000611a45602783611d49565b9150611a50826122c3565b604082019050919050565b6000611a68601c83611d49565b9150611a7382612312565b602082019050919050565b6000604083016000830151611a96600086018261188e565b5060208301518482036020860152611aae82826118f4565b9150508091505092915050565b611ac481611fed565b82525050565b611ad381611ff7565b82525050565b6000602082019050611aee600083018461189d565b92915050565b6000602082019050611b0960008301846118ac565b92915050565b600060a0820190508181036000830152611b2981886118bb565b90508181036020830152611b3d8187611a7e565b90508181036040830152611b5181866118bb565b9050611b606060830185611aca565b8181036080830152611b7281846118bb565b90509695505050505050565b60006020820190508181036000830152611b98818461192d565b905092915050565b60006020820190508181036000830152611bb981611966565b9050919050565b60006020820190508181036000830152611bd981611989565b9050919050565b60006020820190508181036000830152611bf9816119ac565b9050919050565b60006020820190508181036000830152611c19816119cf565b9050919050565b60006020820190508181036000830152611c39816119f2565b9050919050565b60006020820190508181036000830152611c5981611a15565b9050919050565b60006020820190508181036000830152611c7981611a38565b9050919050565b60006020820190508181036000830152611c9981611a5b565b9050919050565b6000602082019050611cb56000830184611abb565b92915050565b6000611cc5611cd6565b9050611cd1828261207f565b919050565b6000604051905090565b600067ffffffffffffffff821115611cfb57611cfa61210e565b5b611d048261213d565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d6582611fed565b9150611d7083611fed565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611da557611da46120b0565b5b828201905092915050565b6000808291508390505b6001851115611dfa57808604811115611dd657611dd56120b0565b5b6001851615611de55780820291505b8081029050611df38561214e565b9450611dba565b94509492505050565b6000611e0e82611fed565b9150611e1983611fed565b9250611e467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611e4e565b905092915050565b600082611e5e5760019050611f1a565b81611e6c5760009050611f1a565b8160018114611e825760028114611e8c57611ebb565b6001915050611f1a565b60ff841115611e9e57611e9d6120b0565b5b8360020a915084821115611eb557611eb46120b0565b5b50611f1a565b5060208310610133831016604e8410600b8410161715611ef05782820a905083811115611eeb57611eea6120b0565b5b611f1a565b611efd8484846001611db0565b92509050818404811115611f1457611f136120b0565b5b81810290505b9392505050565b6000611f2c82611fed565b9150611f3783611fed565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f7057611f6f6120b0565b5b828202905092915050565b6000611f8682611fed565b9150611f9183611fed565b925082821015611fa457611fa36120b0565b5b828203905092915050565b6000611fba82611fcd565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b8381101561203857808201518184015260208101905061201d565b83811115612047576000848401525b50505050565b6000600282049050600182168061206557607f821691505b60208210811415612079576120786120df565b5b50919050565b6120888261213d565b810181811067ffffffffffffffff821117156120a7576120a661210e565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4e6f7420656e6f7567682062616c616e636520666f72207472616e7366657200600082015250565b7f5472616e7366657220746f20746865207a65726f20616464726573732069732060008201527f6e6f7420616c6c6f776564000000000000000000000000000000000000000000602082015250565b7f436f6e747261637420697320616c726561647920696e697469616c697a656400600082015250565b7f4e6f7420656e6f7567682062616c616e63650000000000000000000000000000600082015250565b7f5472616e7366657220746f20796f757273656c66206973206e6f7420616c6c6f60008201527f7765640000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e736665722066726f6d20616e6420746f207468652073616d6520616460008201527f6472657373206973206e6f7420616c6c6f776564000000000000000000000000602082015250565b7f4e6f7420656e6f75676820616c6c6f7765642062616c616e636520666f72207460008201527f72616e7366657200000000000000000000000000000000000000000000000000602082015250565b7f596f7520617265206e6f74207468652074656e616e74206f776e657200000000600082015250565b61234481611faf565b811461234f57600080fd5b50565b61235b81611fed565b811461236657600080fd5b5056fea2646970667358221220d6d18cfc7b92c966064889c693b2ca6fa20899e6b3d59b0ff994186551b0662164736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063685d0a96116100a2578063a9059cbb11610071578063a9059cbb146102d5578063b69ef8a814610305578063ce606ee014610323578063dd62ed3e14610341578063fc540cd31461037157610116565b8063685d0a961461024f57806370a082311461026b57806395d89b411461029b578063a0712d68146102b957610116565b80632ddbd13a116100e95780632ddbd13a146101b7578063313ce567146101d5578063378dc3dc146101f3578063392f37e91461021157806342966c681461023357610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b61012361038f565b6040516101309190611b7e565b60405180910390f35b610153600480360381019061014e9190611796565b61041d565b6040516101609190611af4565b60405180910390f35b61017161050f565b60405161017e9190611ca0565b60405180910390f35b6101a1600480360381019061019c9190611747565b610519565b6040516101ae9190611af4565b60405180910390f35b6101bf610a1c565b6040516101cc9190611ca0565b60405180910390f35b6101dd610a22565b6040516101ea9190611ca0565b60405180910390f35b6101fb610a28565b6040516102089190611ca0565b60405180910390f35b610219610a2e565b60405161022a959493929190611b0f565b60405180910390f35b61024d60048036038101906102489190611865565b610cf0565b005b610269600480360381019061026491906117d2565b610e13565b005b610285600480360381019061028091906116e2565b610fa7565b6040516102929190611ca0565b60405180910390f35b6102a3610ff0565b6040516102b09190611b7e565b60405180910390f35b6102d360048036038101906102ce9190611865565b61107e565b005b6102ef60048036038101906102ea9190611796565b6111e6565b6040516102fc9190611af4565b60405180910390f35b61030d6114aa565b60405161031a9190611ca0565b60405180910390f35b61032b6114ba565b6040516103389190611ad9565b60405180910390f35b61035b6004803603810190610356919061170b565b6114de565b6040516103689190611ca0565b60405180910390f35b610379611565565b6040516103869190611ca0565b60405180910390f35b6008805461039c9061204d565b80601f01602080910402602001604051908101604052809291908181526020018280546103c89061204d565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b505050505081565b600081600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104fd9190611ca0565b60405180910390a36001905092915050565b6000600d54905090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058190611bc0565b60405180910390fd5b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610649576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064090611c60565b60405180910390fd5b61065284610fa7565b821115610694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068b90611ba0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fb90611bc0565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076a90611c40565b60405180910390fd5b6107c582600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156b90919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061085a82600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158190919063ffffffff16565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061092c82600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156b90919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a099190611ca0565b60405180910390a3600190509392505050565b600d5481565b600a5481565b600e5481565b6000806000018054610a3f9061204d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6b9061204d565b8015610ab85780601f10610a8d57610100808354040283529160200191610ab8565b820191906000526020600020905b815481529060010190602001808311610a9b57829003601f168201915b505050505090806001016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054610b339061204d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5f9061204d565b8015610bac5780601f10610b8157610100808354040283529160200191610bac565b820191906000526020600020905b815481529060010190602001808311610b8f57829003601f168201915b50505050508152505090806003018054610bc59061204d565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf19061204d565b8015610c3e5780601f10610c1357610100808354040283529160200191610c3e565b820191906000526020600020905b815481529060010190602001808311610c2157829003601f168201915b5050505050908060040160009054906101000a900467ffffffffffffffff1690806005018054610c6d9061204d565b80601f0160208091040260200160405190810160405280929190818152602001828054610c999061204d565b8015610ce65780601f10610cbb57610100808354040283529160200191610ce6565b820191906000526020600020905b815481529060010190602001808311610cc957829003601f168201915b5050505050905085565b80610cfa33610fa7565b1015610d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3290611c00565b60405180910390fd5b80600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d8a9190611f7b565b9250508190555080600d6000828254610da39190611f7b565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e089190611ca0565b60405180910390a350565b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b90611be0565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360089080519060200190610efb9291906115ad565b508260099080519060200190610f129291906115ad565b5081600a81905550600a54600a610f299190611e03565b600f8190555060006103e89050610f4b600f548261159790919063ffffffff16565b600d81905550600d54600e81905550600d54600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60098054610ffd9061204d565b80601f01602080910402602001604051908101604052809291908181526020018280546110299061204d565b80156110765780601f1061104b57610100808354040283529160200191611076565b820191906000526020600020905b81548152906001019060200180831161105957829003601f168201915b505050505081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461110e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110590611c80565b60405180910390fd5b80600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461115d9190611d5a565b9250508190555080600d60008282546111769190611d5a565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111db9190611ca0565b60405180910390a350565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e90611bc0565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90611c20565b60405180910390fd5b6112cf33610fa7565b821115611311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130890611c00565b60405180910390fd5b61136382600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156b90919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113f882600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158190919063ffffffff16565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114989190611ca0565b60405180910390a36001905092915050565b60006114b533610fa7565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f5481565b600081836115799190611f7b565b905092915050565b6000818361158f9190611d5a565b905092915050565b600081836115a59190611f21565b905092915050565b8280546115b99061204d565b90600052602060002090601f0160209004810192826115db5760008555611622565b82601f106115f457805160ff1916838001178555611622565b82800160010185558215611622579182015b82811115611621578251825591602001919060010190611606565b5b50905061162f9190611633565b5090565b5b8082111561164c576000816000905550600101611634565b5090565b600061166361165e84611ce0565b611cbb565b90508281526020810184848401111561167b57600080fd5b61168684828561200b565b509392505050565b60008135905061169d8161233b565b92915050565b600082601f8301126116b457600080fd5b81356116c4848260208601611650565b91505092915050565b6000813590506116dc81612352565b92915050565b6000602082840312156116f457600080fd5b60006117028482850161168e565b91505092915050565b6000806040838503121561171e57600080fd5b600061172c8582860161168e565b925050602061173d8582860161168e565b9150509250929050565b60008060006060848603121561175c57600080fd5b600061176a8682870161168e565b935050602061177b8682870161168e565b925050604061178c868287016116cd565b9150509250925092565b600080604083850312156117a957600080fd5b60006117b78582860161168e565b92505060206117c8858286016116cd565b9150509250929050565b600080600080608085870312156117e857600080fd5b600085013567ffffffffffffffff81111561180257600080fd5b61180e878288016116a3565b945050602085013567ffffffffffffffff81111561182b57600080fd5b611837878288016116a3565b9350506040611848878288016116cd565b92505060606118598782880161168e565b91505092959194509250565b60006020828403121561187757600080fd5b6000611885848285016116cd565b91505092915050565b61189781611faf565b82525050565b6118a681611faf565b82525050565b6118b581611fc1565b82525050565b60006118c682611d11565b6118d08185611d27565b93506118e081856020860161201a565b6118e98161213d565b840191505092915050565b60006118ff82611d1c565b6119098185611d38565b935061191981856020860161201a565b6119228161213d565b840191505092915050565b600061193882611d1c565b6119428185611d49565b935061195281856020860161201a565b61195b8161213d565b840191505092915050565b6000611973601f83611d49565b915061197e8261215b565b602082019050919050565b6000611996602b83611d49565b91506119a182612184565b604082019050919050565b60006119b9601f83611d49565b91506119c4826121d3565b602082019050919050565b60006119dc601283611d49565b91506119e7826121fc565b602082019050919050565b60006119ff602383611d49565b9150611a0a82612225565b604082019050919050565b6000611a22603483611d49565b9150611a2d82612274565b604082019050919050565b6000611a45602783611d49565b9150611a50826122c3565b604082019050919050565b6000611a68601c83611d49565b9150611a7382612312565b602082019050919050565b6000604083016000830151611a96600086018261188e565b5060208301518482036020860152611aae82826118f4565b9150508091505092915050565b611ac481611fed565b82525050565b611ad381611ff7565b82525050565b6000602082019050611aee600083018461189d565b92915050565b6000602082019050611b0960008301846118ac565b92915050565b600060a0820190508181036000830152611b2981886118bb565b90508181036020830152611b3d8187611a7e565b90508181036040830152611b5181866118bb565b9050611b606060830185611aca565b8181036080830152611b7281846118bb565b90509695505050505050565b60006020820190508181036000830152611b98818461192d565b905092915050565b60006020820190508181036000830152611bb981611966565b9050919050565b60006020820190508181036000830152611bd981611989565b9050919050565b60006020820190508181036000830152611bf9816119ac565b9050919050565b60006020820190508181036000830152611c19816119cf565b9050919050565b60006020820190508181036000830152611c39816119f2565b9050919050565b60006020820190508181036000830152611c5981611a15565b9050919050565b60006020820190508181036000830152611c7981611a38565b9050919050565b60006020820190508181036000830152611c9981611a5b565b9050919050565b6000602082019050611cb56000830184611abb565b92915050565b6000611cc5611cd6565b9050611cd1828261207f565b919050565b6000604051905090565b600067ffffffffffffffff821115611cfb57611cfa61210e565b5b611d048261213d565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d6582611fed565b9150611d7083611fed565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611da557611da46120b0565b5b828201905092915050565b6000808291508390505b6001851115611dfa57808604811115611dd657611dd56120b0565b5b6001851615611de55780820291505b8081029050611df38561214e565b9450611dba565b94509492505050565b6000611e0e82611fed565b9150611e1983611fed565b9250611e467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611e4e565b905092915050565b600082611e5e5760019050611f1a565b81611e6c5760009050611f1a565b8160018114611e825760028114611e8c57611ebb565b6001915050611f1a565b60ff841115611e9e57611e9d6120b0565b5b8360020a915084821115611eb557611eb46120b0565b5b50611f1a565b5060208310610133831016604e8410600b8410161715611ef05782820a905083811115611eeb57611eea6120b0565b5b611f1a565b611efd8484846001611db0565b92509050818404811115611f1457611f136120b0565b5b81810290505b9392505050565b6000611f2c82611fed565b9150611f3783611fed565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f7057611f6f6120b0565b5b828202905092915050565b6000611f8682611fed565b9150611f9183611fed565b925082821015611fa457611fa36120b0565b5b828203905092915050565b6000611fba82611fcd565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b8381101561203857808201518184015260208101905061201d565b83811115612047576000848401525b50505050565b6000600282049050600182168061206557607f821691505b60208210811415612079576120786120df565b5b50919050565b6120888261213d565b810181811067ffffffffffffffff821117156120a7576120a661210e565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4e6f7420656e6f7567682062616c616e636520666f72207472616e7366657200600082015250565b7f5472616e7366657220746f20746865207a65726f20616464726573732069732060008201527f6e6f7420616c6c6f776564000000000000000000000000000000000000000000602082015250565b7f436f6e747261637420697320616c726561647920696e697469616c697a656400600082015250565b7f4e6f7420656e6f7567682062616c616e63650000000000000000000000000000600082015250565b7f5472616e7366657220746f20796f757273656c66206973206e6f7420616c6c6f60008201527f7765640000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e736665722066726f6d20616e6420746f207468652073616d6520616460008201527f6472657373206973206e6f7420616c6c6f776564000000000000000000000000602082015250565b7f4e6f7420656e6f75676820616c6c6f7765642062616c616e636520666f72207460008201527f72616e7366657200000000000000000000000000000000000000000000000000602082015250565b7f596f7520617265206e6f74207468652074656e616e74206f776e657200000000600082015250565b61234481611faf565b811461234f57600080fd5b50565b61235b81611fed565b811461236657600080fd5b5056fea2646970667358221220d6d18cfc7b92c966064889c693b2ca6fa20899e6b3d59b0ff994186551b0662164736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/packages/hyperverse-evm-erc20/artifacts/contracts/ERC20Factory.sol/ERC20Factory.json b/packages/hyperverse-evm-erc20/artifacts/contracts/ERC20Factory.sol/ERC20Factory.json new file mode 100644 index 00000000..9f526701 --- /dev/null +++ b/packages/hyperverse-evm-erc20/artifacts/contracts/ERC20Factory.sol/ERC20Factory.json @@ -0,0 +1,143 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ERC20Factory", + "sourceName": "contracts/ERC20Factory.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_masterContract", + "type": "address" + }, + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tenant", + "type": "address" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_decimal", + "type": "uint256" + } + ], + "name": "createInstance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tenant", + "type": "address" + } + ], + "name": "getProxy", + "outputs": [ + { + "internalType": "contract ERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "instance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "masterContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "tenants", + "outputs": [ + { + "internalType": "contract ERC20", + "name": "erc20", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60c06040527362a7aa79a52591ccc62b71729329a80a666fa50f600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006557600080fd5b50604051610d84380380610d8483398181016040528101906100879190610111565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250505050610196565b60008151905061010b8161017f565b92915050565b6000806040838503121561012457600080fd5b6000610132858286016100fc565b9250506020610143858286016100fc565b9150509250929050565b60006101588261015f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6101888161014d565b811461019357600080fd5b50565b60805160601c60a05160601c610bbc6101c8600039600061015201526000818161034101526105030152610bbc6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80638da5cb5b14610067578063b7fba4d314610085578063c7330d74146100b5578063cd446e22146100d1578063cf33d588146100ef578063fd9153a31461011f575b600080fd5b61006f610150565b60405161007c919061081c565b60405180910390f35b61009f600480360381019061009a91906106a5565b610174565b6040516100ac9190610852565b60405180910390f35b6100cf60048036038101906100ca91906106ce565b6101df565b005b6100d9610501565b6040516100e6919061081c565b60405180910390f35b610109600480360381019061010491906106a5565b610525565b6040516101169190610837565b60405180910390f35b610139600480360381019061013491906106a5565b610545565b60405161014792919061086d565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8360001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026a906108e9565b60405180910390fd5b848073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102fb5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61033a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033190610909565b60405180910390fd5b60006103657f00000000000000000000000000000000000000000000000000000000000000006105a9565b90508073ffffffffffffffffffffffffffffffffffffffff1663685d0a96878787336040518563ffffffff1660e01b81526004016103a69493929190610896565b600060405180830381600087803b1580156103c057600080fd5b505af11580156103d4573d6000803e3d6000fd5b5050505060008060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550878160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60016020528060005260406000206000915054906101000a900460ff1681565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f092505050919050565b60006106266106218461094e565b610929565b90508281526020810184848401111561063e57600080fd5b610649848285610a07565b509392505050565b60008135905061066081610b58565b92915050565b600082601f83011261067757600080fd5b8135610687848260208601610613565b91505092915050565b60008135905061069f81610b6f565b92915050565b6000602082840312156106b757600080fd5b60006106c584828501610651565b91505092915050565b600080600080608085870312156106e457600080fd5b60006106f287828801610651565b945050602085013567ffffffffffffffff81111561070f57600080fd5b61071b87828801610666565b935050604085013567ffffffffffffffff81111561073857600080fd5b61074487828801610666565b925050606061075587828801610690565b91505092959194509250565b61076a8161099b565b82525050565b610779816109ad565b82525050565b610788816109e3565b82525050565b60006107998261097f565b6107a3818561098a565b93506107b3818560208601610a16565b6107bc81610aa9565b840191505092915050565b60006107d460228361098a565b91506107df82610aba565b604082019050919050565b60006107f760308361098a565b915061080282610b09565b604082019050919050565b610816816109d9565b82525050565b60006020820190506108316000830184610761565b92915050565b600060208201905061084c6000830184610770565b92915050565b6000602082019050610867600083018461077f565b92915050565b6000604082019050610882600083018561077f565b61088f6020830184610761565b9392505050565b600060808201905081810360008301526108b0818761078e565b905081810360208301526108c4818661078e565b90506108d3604083018561080d565b6108e06060830184610761565b95945050505050565b60006020820190508181036000830152610902816107c7565b9050919050565b60006020820190508181036000830152610922816107ea565b9050919050565b6000610933610944565b905061093f8282610a49565b919050565b6000604051905090565b600067ffffffffffffffff82111561096957610968610a7a565b5b61097282610aa9565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006109a6826109b9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006109ee826109f5565b9050919050565b6000610a00826109b9565b9050919050565b82818337600083830152505050565b60005b83811015610a34578082015181840152602081019050610a19565b83811115610a43576000848401525b50505050565b610a5282610aa9565b810181811067ffffffffffffffff82111715610a7157610a70610a7a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f5468652074656e616e7420616c72656164792068617320616e20696e7374616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f506c656173652075736520612076616c6964206164647265737320746f20637260008201527f6561746520616e20696e7374616e636500000000000000000000000000000000602082015250565b610b618161099b565b8114610b6c57600080fd5b50565b610b78816109d9565b8114610b8357600080fd5b5056fea26469706673582212204b489ae6dfbaacd2f266159e562b0ae877c1deb52afc22a48b46611e1eea336c64736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80638da5cb5b14610067578063b7fba4d314610085578063c7330d74146100b5578063cd446e22146100d1578063cf33d588146100ef578063fd9153a31461011f575b600080fd5b61006f610150565b60405161007c919061081c565b60405180910390f35b61009f600480360381019061009a91906106a5565b610174565b6040516100ac9190610852565b60405180910390f35b6100cf60048036038101906100ca91906106ce565b6101df565b005b6100d9610501565b6040516100e6919061081c565b60405180910390f35b610109600480360381019061010491906106a5565b610525565b6040516101169190610837565b60405180910390f35b610139600480360381019061013491906106a5565b610545565b60405161014792919061086d565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8360001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026a906108e9565b60405180910390fd5b848073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102fb5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61033a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033190610909565b60405180910390fd5b60006103657f00000000000000000000000000000000000000000000000000000000000000006105a9565b90508073ffffffffffffffffffffffffffffffffffffffff1663685d0a96878787336040518563ffffffff1660e01b81526004016103a69493929190610896565b600060405180830381600087803b1580156103c057600080fd5b505af11580156103d4573d6000803e3d6000fd5b5050505060008060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550878160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60016020528060005260406000206000915054906101000a900460ff1681565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f092505050919050565b60006106266106218461094e565b610929565b90508281526020810184848401111561063e57600080fd5b610649848285610a07565b509392505050565b60008135905061066081610b58565b92915050565b600082601f83011261067757600080fd5b8135610687848260208601610613565b91505092915050565b60008135905061069f81610b6f565b92915050565b6000602082840312156106b757600080fd5b60006106c584828501610651565b91505092915050565b600080600080608085870312156106e457600080fd5b60006106f287828801610651565b945050602085013567ffffffffffffffff81111561070f57600080fd5b61071b87828801610666565b935050604085013567ffffffffffffffff81111561073857600080fd5b61074487828801610666565b925050606061075587828801610690565b91505092959194509250565b61076a8161099b565b82525050565b610779816109ad565b82525050565b610788816109e3565b82525050565b60006107998261097f565b6107a3818561098a565b93506107b3818560208601610a16565b6107bc81610aa9565b840191505092915050565b60006107d460228361098a565b91506107df82610aba565b604082019050919050565b60006107f760308361098a565b915061080282610b09565b604082019050919050565b610816816109d9565b82525050565b60006020820190506108316000830184610761565b92915050565b600060208201905061084c6000830184610770565b92915050565b6000602082019050610867600083018461077f565b92915050565b6000604082019050610882600083018561077f565b61088f6020830184610761565b9392505050565b600060808201905081810360008301526108b0818761078e565b905081810360208301526108c4818661078e565b90506108d3604083018561080d565b6108e06060830184610761565b95945050505050565b60006020820190508181036000830152610902816107c7565b9050919050565b60006020820190508181036000830152610922816107ea565b9050919050565b6000610933610944565b905061093f8282610a49565b919050565b6000604051905090565b600067ffffffffffffffff82111561096957610968610a7a565b5b61097282610aa9565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006109a6826109b9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006109ee826109f5565b9050919050565b6000610a00826109b9565b9050919050565b82818337600083830152505050565b60005b83811015610a34578082015181840152602081019050610a19565b83811115610a43576000848401525b50505050565b610a5282610aa9565b810181811067ffffffffffffffff82111715610a7157610a70610a7a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f5468652074656e616e7420616c72656164792068617320616e20696e7374616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f506c656173652075736520612076616c6964206164647265737320746f20637260008201527f6561746520616e20696e7374616e636500000000000000000000000000000000602082015250565b610b618161099b565b8114610b6c57600080fd5b50565b610b78816109d9565b8114610b8357600080fd5b5056fea26469706673582212204b489ae6dfbaacd2f266159e562b0ae877c1deb52afc22a48b46611e1eea336c64736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} From a043a8ab17a1dba0db4e4465d229f4b57e3ffec9 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Wed, 2 Mar 2022 18:08:24 -0500 Subject: [PATCH 22/41] Updated references --- apps/ethereum/token/components/Container.tsx | 4 ++-- apps/ethereum/token/components/ReadFunctions/Allowance.tsx | 4 ++-- apps/ethereum/token/components/ReadFunctions/BalanceOf.tsx | 4 ++-- apps/ethereum/token/components/WriteFunctions/Approve.tsx | 4 ++-- .../token/components/WriteFunctions/CreateInstance.tsx | 4 ++-- apps/ethereum/token/components/WriteFunctions/Mint.tsx | 4 ++-- apps/ethereum/token/components/WriteFunctions/Transfer.tsx | 4 ++-- .../ethereum/token/components/WriteFunctions/TransferFrom.tsx | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/apps/ethereum/token/components/Container.tsx b/apps/ethereum/token/components/Container.tsx index 9797f356..ea61c622 100644 --- a/apps/ethereum/token/components/Container.tsx +++ b/apps/ethereum/token/components/Container.tsx @@ -7,10 +7,10 @@ import Allowance from './ReadFunctions/Allowance'; import TransferFrom from './WriteFunctions/TransferFrom'; import Approve from './WriteFunctions/Approve'; import Mint from './WriteFunctions/Mint'; -import { useToken } from '@decentology/hyperverse-ethereum-token'; +import { useERC20 } from '@decentology/hyperverse-evm-erc20'; const Container = () => { - const { Proxy, TokenName, TokenSymbol, Balance, TotalSupply } = useToken(); + const { Proxy, TokenName, TokenSymbol, Balance, TotalSupply } = useERC20(); const TokenReadFunctions = [ { diff --git a/apps/ethereum/token/components/ReadFunctions/Allowance.tsx b/apps/ethereum/token/components/ReadFunctions/Allowance.tsx index e943546a..9eab735d 100644 --- a/apps/ethereum/token/components/ReadFunctions/Allowance.tsx +++ b/apps/ethereum/token/components/ReadFunctions/Allowance.tsx @@ -1,7 +1,7 @@ import { useState } from 'react'; import * as Accordion from '@radix-ui/react-accordion'; import { useEthereum } from '@decentology/hyperverse-ethereum'; -import { useToken } from '@decentology/hyperverse-ethereum-token'; +import { useERC20 } from '@decentology/hyperverse-evm-erc20'; import { Box, Item, @@ -15,7 +15,7 @@ import { const Allowance = () => { const { address } = useEthereum(); - const { Allowance } = useToken(); + const { Allowance } = useERC20(); const [owner, setOwner] = useState(''); const [spender, setSpender] = useState(''); const { data, refetch } = Allowance(owner!, spender!); diff --git a/apps/ethereum/token/components/ReadFunctions/BalanceOf.tsx b/apps/ethereum/token/components/ReadFunctions/BalanceOf.tsx index 3197931c..3ac65eac 100644 --- a/apps/ethereum/token/components/ReadFunctions/BalanceOf.tsx +++ b/apps/ethereum/token/components/ReadFunctions/BalanceOf.tsx @@ -1,7 +1,7 @@ import { useState } from 'react'; import * as Accordion from '@radix-ui/react-accordion'; import { useEthereum } from '@decentology/hyperverse-ethereum'; -import { useToken } from '@decentology/hyperverse-ethereum-token'; +import { useERC20 } from '@decentology/hyperverse-evm-erc20'; import { Box, Item, @@ -15,7 +15,7 @@ import { const BalanceOf = () => { const { address } = useEthereum(); - const { BalanceOf } = useToken(); + const { BalanceOf } = useERC20(); const [account, setAccount] = useState(address); const { data } = BalanceOf(account!); const [hidden, setHidden] = useState(false); diff --git a/apps/ethereum/token/components/WriteFunctions/Approve.tsx b/apps/ethereum/token/components/WriteFunctions/Approve.tsx index 9333b2c0..517626f7 100644 --- a/apps/ethereum/token/components/WriteFunctions/Approve.tsx +++ b/apps/ethereum/token/components/WriteFunctions/Approve.tsx @@ -1,7 +1,7 @@ import { useState } from 'react'; import * as Accordion from '@radix-ui/react-accordion'; import { useEthereum } from '@decentology/hyperverse-ethereum'; -import { useToken } from '@decentology/hyperverse-ethereum-token'; +import { useERC20 } from '@decentology/hyperverse-evm-erc20'; import { Box, Item, @@ -15,7 +15,7 @@ import { const Approve = () => { const { address } = useEthereum(); - const { Approve } = useToken(); + const { Approve } = useERC20(); const { mutate } = Approve(); const [spender, setSpender] = useState(''); const [amount, setAmount] = useState(0); diff --git a/apps/ethereum/token/components/WriteFunctions/CreateInstance.tsx b/apps/ethereum/token/components/WriteFunctions/CreateInstance.tsx index bf4ef307..7446f580 100644 --- a/apps/ethereum/token/components/WriteFunctions/CreateInstance.tsx +++ b/apps/ethereum/token/components/WriteFunctions/CreateInstance.tsx @@ -2,12 +2,12 @@ import { useState } from 'react'; import * as Accordion from '@radix-ui/react-accordion'; import { useEthereum } from '@decentology/hyperverse-ethereum'; -import { useToken } from '@decentology/hyperverse-ethereum-token'; +import { useERC20 } from '@decentology/hyperverse-evm-erc20'; import { Box, Item, TriggerContainer, Trigger, Parameters, Input, Content, Button} from '../ComponentStyles' const CreateInstance = () => { const { address } = useEthereum(); - const { NewInstance } = useToken(); + const { NewInstance } = useERC20(); const { mutate } = NewInstance(); const [tokenName, setTokenName] = useState(''); const [tokenSymbol, setTokenSymbol] = useState(''); diff --git a/apps/ethereum/token/components/WriteFunctions/Mint.tsx b/apps/ethereum/token/components/WriteFunctions/Mint.tsx index 75a33adc..c6e7191b 100644 --- a/apps/ethereum/token/components/WriteFunctions/Mint.tsx +++ b/apps/ethereum/token/components/WriteFunctions/Mint.tsx @@ -1,7 +1,7 @@ import { useState } from 'react'; import * as Accordion from '@radix-ui/react-accordion'; import { useEthereum } from '@decentology/hyperverse-ethereum'; -import { useToken } from '@decentology/hyperverse-ethereum-token'; +import { useERC20 } from '@decentology/hyperverse-evm-erc20'; import { Box, Item, @@ -15,7 +15,7 @@ import { const Mint = () => { const { address } = useEthereum(); - const { Mint } = useToken(); + const { Mint } = useERC20(); const { mutate } = Mint(); const [amount, setAmount] = useState(0); diff --git a/apps/ethereum/token/components/WriteFunctions/Transfer.tsx b/apps/ethereum/token/components/WriteFunctions/Transfer.tsx index 7119fb38..ceb93ea5 100644 --- a/apps/ethereum/token/components/WriteFunctions/Transfer.tsx +++ b/apps/ethereum/token/components/WriteFunctions/Transfer.tsx @@ -1,7 +1,7 @@ import { useEffect, useState } from 'react'; import * as Accordion from '@radix-ui/react-accordion'; import { useEthereum } from '@decentology/hyperverse-ethereum'; -import { useToken } from '@decentology/hyperverse-ethereum-token'; +import { useERC20 } from '@decentology/hyperverse-evm-erc20'; import { toast } from 'react-toastify'; import { Box, @@ -16,7 +16,7 @@ import { const Transfer = () => { const { address } = useEthereum(); - const { Transfer } = useToken(); + const { Transfer } = useERC20(); const { mutate, error } = Transfer(); const [receiver, setReceiver] = useState(''); const [amount, setAmount] = useState(0); diff --git a/apps/ethereum/token/components/WriteFunctions/TransferFrom.tsx b/apps/ethereum/token/components/WriteFunctions/TransferFrom.tsx index 0112f2eb..deeb3e17 100644 --- a/apps/ethereum/token/components/WriteFunctions/TransferFrom.tsx +++ b/apps/ethereum/token/components/WriteFunctions/TransferFrom.tsx @@ -1,7 +1,7 @@ import { useState } from 'react'; import * as Accordion from '@radix-ui/react-accordion'; import { useEthereum } from '@decentology/hyperverse-ethereum'; -import { useToken } from '@decentology/hyperverse-ethereum-token'; +import { useERC20 } from '@decentology/hyperverse-evm-erc20'; import { Box, Item, @@ -15,7 +15,7 @@ import { const TransferFrom = () => { const { address } = useEthereum(); - const { TransferFrom } = useToken(); + const { TransferFrom } = useERC20(); const { mutate } = TransferFrom(); const [from, setFrom] = useState(''); const [receiver, setReceiver] = useState(''); From 49a913f59738412266c466bd8eb009b872cb3e35 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Wed, 2 Mar 2022 19:05:40 -0500 Subject: [PATCH 23/41] This template is old. Removing --- packages/hyperverse-template/index.ts | 1 - packages/hyperverse-template/package.json | 34 -------------------- packages/hyperverse-template/source/index.ts | 1 - packages/hyperverse-template/tsconfig.json | 5 --- 4 files changed, 41 deletions(-) delete mode 100644 packages/hyperverse-template/index.ts delete mode 100755 packages/hyperverse-template/package.json delete mode 100644 packages/hyperverse-template/source/index.ts delete mode 100644 packages/hyperverse-template/tsconfig.json diff --git a/packages/hyperverse-template/index.ts b/packages/hyperverse-template/index.ts deleted file mode 100644 index 6ffed2ee..00000000 --- a/packages/hyperverse-template/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './source'; diff --git a/packages/hyperverse-template/package.json b/packages/hyperverse-template/package.json deleted file mode 100755 index c46151b4..00000000 --- a/packages/hyperverse-template/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "@decentology/hyperverse-template", - "source": "./source/index.ts", - "main": "./distribution/index.js", - "types": "./distribution/index.d.ts", - "private": true, - "version": "1.0.0", - "license": "MIT", - "files": [ - "distribution" - ], - "repository": { - "type": "git", - "url": "https://github.com/decentology/hyperverse-mono" - }, - "publishConfig": { - "access": "public" - }, - "scripts": { - "build": "parcel build", - "clean": "rimraf ./distribution" - }, - "peerDependencies": { - "react": "^17.0.2" - }, - "devDependencies": { - "@decentology/config": "^1.0.0", - "parcel": "^2.2.1", - "rimraf": "^3.0.2" - }, - "dependencies": { - "@decentology/unstated-next": "^1.1.0" - } -} diff --git a/packages/hyperverse-template/source/index.ts b/packages/hyperverse-template/source/index.ts deleted file mode 100644 index cb0ff5c3..00000000 --- a/packages/hyperverse-template/source/index.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/hyperverse-template/tsconfig.json b/packages/hyperverse-template/tsconfig.json deleted file mode 100644 index 13bc87e7..00000000 --- a/packages/hyperverse-template/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": "@decentology/config/react-library.json", - "include": ["source/**/*.ts", "source/**/*.tsx"], - "exclude": ["distribution", "node_modules"] -} From b0b59a124db437c7dcc6517a2106660c88453a68 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Thu, 3 Mar 2022 09:27:50 -0500 Subject: [PATCH 24/41] Updated gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 26761aec..150b0433 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ yarn-error.log* .turbo .parcel-cache apps/hyperverse.dev +.idea From e6e5dd0240ccc604772399f4da74e159bd5d9305 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Thu, 3 Mar 2022 18:36:11 -0500 Subject: [PATCH 25/41] Updated Tribes environment --- .../hyperverse-evm-tribes/source/Provider.tsx | 5 ++- .../hyperverse-evm-tribes/source/constants.ts | 7 ---- .../source/environment.ts | 38 ++++++++++++++----- .../hyperverse-evm-tribes/source/useTribes.ts | 10 ++--- 4 files changed, 37 insertions(+), 23 deletions(-) delete mode 100644 packages/hyperverse-evm-tribes/source/constants.ts diff --git a/packages/hyperverse-evm-tribes/source/Provider.tsx b/packages/hyperverse-evm-tribes/source/Provider.tsx index 0a3e6b06..05604ebb 100644 --- a/packages/hyperverse-evm-tribes/source/Provider.tsx +++ b/packages/hyperverse-evm-tribes/source/Provider.tsx @@ -2,18 +2,19 @@ import { FC } from 'react'; import { QueryClientProvider, QueryClient } from 'react-query'; import { HyperverseModuleInstance, networks, useHyperverse } from '@decentology/hyperverse'; import { Tribes } from './useTribes'; +import { useEnvironment } from './environment'; const client = new QueryClient(); -import { TENANT_TESTNET_ADDRESS }from './constants' const Provider: FC = ({ children, tenantId }) => { const { network } = useHyperverse(); + const {tenantAddress} = useEnvironment(); if (network === networks.Mainnet && tenantId == null) { throw new Error('Tenant ID is required for Mainnet'); } return ( - + {children} diff --git a/packages/hyperverse-evm-tribes/source/constants.ts b/packages/hyperverse-evm-tribes/source/constants.ts deleted file mode 100644 index 01f6d24e..00000000 --- a/packages/hyperverse-evm-tribes/source/constants.ts +++ /dev/null @@ -1,7 +0,0 @@ -import TribesFactory from '../artifacts/contracts/TribesFactory.sol/TribesFactory.json'; -import Tribes from '../artifacts/contracts/Tribes.sol/Tribes.json'; -export const TribesABI = Tribes.abi; -export const TribesFactoryABI = TribesFactory.abi; -export const TRIBES_MAIN_ADDRESS = '0x995d701c0CaAeDA88DBF21727202F3a61AF01177'; -export const TRIBES_FACTORY_ADDRESS = '0xACec20ad889Ba58Ec9d65AB0aA7C0e0D151222e0'; -export const TENANT_TESTNET_ADDRESS = '0xDf61226090C2475D9ec7c494684d2715b61F130c'; diff --git a/packages/hyperverse-evm-tribes/source/environment.ts b/packages/hyperverse-evm-tribes/source/environment.ts index b9454d88..1ebd290b 100644 --- a/packages/hyperverse-evm-tribes/source/environment.ts +++ b/packages/hyperverse-evm-tribes/source/environment.ts @@ -1,30 +1,44 @@ -import { networks, useHyperverse, blockchains, isEvm, BlockchainEvm } from '@decentology/hyperverse'; - -const environment = { +import { networks, useHyperverse, blockchains, isEvm, BlockchainEvm, EvmEnvironment } from '@decentology/hyperverse'; +import TribesFactory from '../artifacts/contracts/TribesFactory.sol/TribesFactory.json'; +import Tribes from '../artifacts/contracts/Tribes.sol/Tribes.json'; +export const ContractABI = Tribes.abi; +export const FactoryABI = TribesFactory.abi; +const environment: EvmEnvironment = { [blockchains.Ethereum]: { [networks.Mainnet]: { contractAddress: null, + factoryAddress: null, + tenantAddress: null, }, [networks.Testnet]: { - contractAddress: '0xf8CEc073d08e42cdDC1bF1fd8d44ce3252ab7352', - tenantAddress: '0xD847C7408c48b6b6720CCa75eB30a93acbF5163D' + contractAddress: '0x995d701c0CaAeDA88DBF21727202F3a61AF01177', + factoryAddress: '0xACec20ad889Ba58Ec9d65AB0aA7C0e0D151222e0', + tenantAddress: '0xDf61226090C2475D9ec7c494684d2715b61F130c' }, }, [blockchains.Metis]: { [networks.Mainnet]: { contractAddress: null, + factoryAddress: null, + tenantAddress: null, }, [networks.Testnet]: { - contractAddress: 'x07F3062D51C9A6CA568C8135656054FA88D5b646', - tenantAdress: '0x8f8B8BE836fbe857c65E892dBb261F249f9b0adb' + contractAddress: '', + factoryAddress: '', + tenantAddress: '' }, }, [blockchains.Avalanche]: { [networks.Mainnet]: { contractAddress: null, + factoryAddress: null, + tenantAddress: null }, [networks.Testnet]: { - contractAddress: '' + contractAddress: '', + factoryAddress: '', + tenantAddress: '' + } } } @@ -37,7 +51,13 @@ function useEnvironment() { if (!isEvm(blockchain?.name)) { throw new Error("Blockchain is not EVM compatible") } - return environment[blockchain.name as BlockchainEvm][network]; + + const env = environment[blockchain.name as BlockchainEvm][network]; + return { + ...env, + ContractABI, + FactoryABI, + }; } diff --git a/packages/hyperverse-evm-tribes/source/useTribes.ts b/packages/hyperverse-evm-tribes/source/useTribes.ts index e44f3ee3..b91bb744 100644 --- a/packages/hyperverse-evm-tribes/source/useTribes.ts +++ b/packages/hyperverse-evm-tribes/source/useTribes.ts @@ -1,11 +1,11 @@ import { useState, useEffect, useCallback, useMemo } from 'react'; import { useQuery, useMutation, useQueryClient, UseMutationOptions } from 'react-query'; import { ethers, constants } from 'ethers'; -import { TribesABI, TribesFactoryABI, TRIBES_FACTORY_ADDRESS } from './constants'; import { useEvent } from 'react-use'; import { useStorage } from '@decentology/hyperverse-storage-skynet'; import { createContainer, useContainer } from '@decentology/unstated-next'; import { useEvm } from '@decentology/hyperverse-evm'; +import { useEnvironment } from './environment'; type ContractState = ethers.Contract; @@ -18,12 +18,12 @@ type MetaData = { function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { const { tenantId } = initialState; const queryClient = useQueryClient(); - const { address, web3Provider, provider, connect } = useEvm(); + const { address, web3Provider, provider } = useEvm(); const { clientUrl } = useStorage(); const { uploadFile } = useStorage(); - + const { ContractABI, FactoryABI, factoryAddress } = useEnvironment(); const [factoryContract, setFactoryContract] = useState( - new ethers.Contract(TRIBES_FACTORY_ADDRESS, TribesFactoryABI, provider) as ContractState + new ethers.Contract(factoryAddress!, FactoryABI, provider) as ContractState ); const [proxyContract, setProxyContract] = useState(); @@ -38,7 +38,7 @@ function TribesState(initialState: { tenantId: string } = { tenantId: '' }) { if (proxyAddress == constants.AddressZero) { return; } - const proxyCtr = new ethers.Contract(proxyAddress, TribesABI, provider); + const proxyCtr = new ethers.Contract(proxyAddress, ContractABI, provider); const accountSigner = await signer; if (accountSigner) { setProxyContract(proxyCtr.connect(accountSigner)); From b9d65972a555bf3f47da59fe3b8cd53ba2abd9ce Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Thu, 3 Mar 2022 18:45:44 -0500 Subject: [PATCH 26/41] Added contract abi --- .../TribesFactory.sol/TribesFactory.json | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 packages/hyperverse-evm-tribes/artifacts/contracts/TribesFactory.sol/TribesFactory.json diff --git a/packages/hyperverse-evm-tribes/artifacts/contracts/TribesFactory.sol/TribesFactory.json b/packages/hyperverse-evm-tribes/artifacts/contracts/TribesFactory.sol/TribesFactory.json new file mode 100644 index 00000000..d1f8c300 --- /dev/null +++ b/packages/hyperverse-evm-tribes/artifacts/contracts/TribesFactory.sol/TribesFactory.json @@ -0,0 +1,141 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "TribesFactory", + "sourceName": "contracts/TribesFactory.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_masterContract", + "type": "address" + }, + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tenant", + "type": "address" + } + ], + "name": "createInstance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tenant", + "type": "address" + } + ], + "name": "getProxy", + "outputs": [ + { + "internalType": "contract Tribes", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "instance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "masterContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tenantCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "tenants", + "outputs": [ + { + "internalType": "contract Tribes", + "name": "tribes", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60c06040527362a7aa79a52591ccc62b71729329a80a666fa50f600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006557600080fd5b50604051610b37380380610b3783398181016040528101906100879190610111565b8173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250505050610196565b60008151905061010b8161017f565b92915050565b6000806040838503121561012457600080fd5b6000610132858286016100fc565b9250506020610143858286016100fc565b9150509250929050565b60006101588261015f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6101888161014d565b811461019357600080fd5b50565b60805160601c60a05160601c61096f6101c8600039600081816102f7015261054c015260006104bc015261096f6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b7fba4d31161005b578063b7fba4d3146100da578063cd446e221461010a578063cf33d58814610128578063fd9153a3146101585761007d565b80631e9b4755146100825780637726f776146100a05780638da5cb5b146100bc575b600080fd5b61008a610189565b60405161009791906107ec565b60405180910390f35b6100ba60048036038101906100b59190610687565b610195565b005b6100c46104ba565b6040516100d19190610732565b60405180910390f35b6100f460048036038101906100ef9190610687565b6104de565b6040516101019190610768565b60405180910390f35b61011261054a565b60405161011f9190610732565b60405180910390f35b610142600480360381019061013d9190610687565b61056e565b60405161014f919061074d565b60405180910390f35b610172600480360381019061016d9190610687565b61058e565b604051610180929190610783565b60405180910390f35b60008060000154905081565b8060001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610229576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610220906107ac565b60405180910390fd5b818073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102b15750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6102f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102e7906107cc565b60405180910390fd5b600061031b7f00000000000000000000000000000000000000000000000000000000000000006105f2565b90508073ffffffffffffffffffffffffffffffffffffffff166319ab453c336040518263ffffffff1660e01b81526004016103569190610732565b600060405180830381600087803b15801561037057600080fd5b505af1158015610384573d6000803e3d6000fd5b505050506000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506104b3600061065c565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f092505050919050565b6001816000016000828254019250508190555050565b60008135905061068181610922565b92915050565b60006020828403121561069957600080fd5b60006106a784828501610672565b91505092915050565b6106b981610818565b82525050565b6106c88161082a565b82525050565b6106d781610860565b82525050565b60006106ea602283610807565b91506106f582610884565b604082019050919050565b600061070d603083610807565b9150610718826108d3565b604082019050919050565b61072c81610856565b82525050565b600060208201905061074760008301846106b0565b92915050565b600060208201905061076260008301846106bf565b92915050565b600060208201905061077d60008301846106ce565b92915050565b600060408201905061079860008301856106ce565b6107a560208301846106b0565b9392505050565b600060208201905081810360008301526107c5816106dd565b9050919050565b600060208201905081810360008301526107e581610700565b9050919050565b60006020820190506108016000830184610723565b92915050565b600082825260208201905092915050565b600061082382610836565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061086b82610872565b9050919050565b600061087d82610836565b9050919050565b7f5468652074656e616e7420616c72656164792068617320616e20696e7374616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f506c656173652075736520612076616c6964206164647265737320746f20637260008201527f6561746520616e20696e7374616e636500000000000000000000000000000000602082015250565b61092b81610818565b811461093657600080fd5b5056fea2646970667358221220b382bff52c386ede2bf13b21cce4b255f3edbae32b6bc0619179d4da7ffe8e3564736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b7fba4d31161005b578063b7fba4d3146100da578063cd446e221461010a578063cf33d58814610128578063fd9153a3146101585761007d565b80631e9b4755146100825780637726f776146100a05780638da5cb5b146100bc575b600080fd5b61008a610189565b60405161009791906107ec565b60405180910390f35b6100ba60048036038101906100b59190610687565b610195565b005b6100c46104ba565b6040516100d19190610732565b60405180910390f35b6100f460048036038101906100ef9190610687565b6104de565b6040516101019190610768565b60405180910390f35b61011261054a565b60405161011f9190610732565b60405180910390f35b610142600480360381019061013d9190610687565b61056e565b60405161014f919061074d565b60405180910390f35b610172600480360381019061016d9190610687565b61058e565b604051610180929190610783565b60405180910390f35b60008060000154905081565b8060001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610229576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610220906107ac565b60405180910390fd5b818073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102b15750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6102f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102e7906107cc565b60405180910390fd5b600061031b7f00000000000000000000000000000000000000000000000000000000000000006105f2565b90508073ffffffffffffffffffffffffffffffffffffffff166319ab453c336040518263ffffffff1660e01b81526004016103569190610732565b600060405180830381600087803b15801561037057600080fd5b505af1158015610384573d6000803e3d6000fd5b505050506000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506104b3600061065c565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f092505050919050565b6001816000016000828254019250508190555050565b60008135905061068181610922565b92915050565b60006020828403121561069957600080fd5b60006106a784828501610672565b91505092915050565b6106b981610818565b82525050565b6106c88161082a565b82525050565b6106d781610860565b82525050565b60006106ea602283610807565b91506106f582610884565b604082019050919050565b600061070d603083610807565b9150610718826108d3565b604082019050919050565b61072c81610856565b82525050565b600060208201905061074760008301846106b0565b92915050565b600060208201905061076260008301846106bf565b92915050565b600060208201905061077d60008301846106ce565b92915050565b600060408201905061079860008301856106ce565b6107a560208301846106b0565b9392505050565b600060208201905081810360008301526107c5816106dd565b9050919050565b600060208201905081810360008301526107e581610700565b9050919050565b60006020820190506108016000830184610723565b92915050565b600082825260208201905092915050565b600061082382610836565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061086b82610872565b9050919050565b600061087d82610836565b9050919050565b7f5468652074656e616e7420616c72656164792068617320616e20696e7374616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f506c656173652075736520612076616c6964206164647265737320746f20637260008201527f6561746520616e20696e7374616e636500000000000000000000000000000000602082015250565b61092b81610818565b811461093657600080fd5b5056fea2646970667358221220b382bff52c386ede2bf13b21cce4b255f3edbae32b6bc0619179d4da7ffe8e3564736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} From 644dd09214539a5d8289737e0e95c1cfd3b65232 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Fri, 4 Mar 2022 11:40:47 -0500 Subject: [PATCH 27/41] Updated compilation step --- .../hyperverse-evm-tribes/hardhat.config.js | 51 ++++++++++--------- packages/hyperverse-evm-tribes/package.json | 1 + 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/packages/hyperverse-evm-tribes/hardhat.config.js b/packages/hyperverse-evm-tribes/hardhat.config.js index 5f8719f4..e9aa95ef 100644 --- a/packages/hyperverse-evm-tribes/hardhat.config.js +++ b/packages/hyperverse-evm-tribes/hardhat.config.js @@ -1,15 +1,15 @@ -const { config } = require("dotenv"); +const { config } = require('dotenv'); config(); -require("@nomiclabs/hardhat-waffle"); +require('@nomiclabs/hardhat-waffle'); // This is a sample Hardhat task. To learn how to create your own go to // https://hardhat.org/guides/create-task.html -task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { - const accounts = await hre.ethers.getSigners(); +task('accounts', 'Prints the list of accounts', async (taskArgs, hre) => { + const accounts = await hre.ethers.getSigners(); - for (const account of accounts) { - console.log(account.address); - } + for (const account of accounts) { + console.log(account.address); + } }); // You need to export an object to set up your config @@ -19,21 +19,24 @@ task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { * @type import('hardhat/config').HardhatUserConfig */ module.exports = { - solidity: "0.8.4", - networks: { - rinkeby: { - url: `https://rinkeby.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_API_KEY}`, - accounts: [process.env.NEXT_PRIVATE_KEY], - }, - metis: { - url: "https://stardust.metis.io/?owner=588", - accounts: - process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], - }, - avalanche: { - url: "", - accounts: - process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], - }, - }, + solidity: '0.8.4', + defaultNetwork: 'hardhat', + networks: { + hardhat: {}, + rinkeby: { + url: `https://rinkeby.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_API_KEY}`, + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + metis: { + url: 'https://stardust.metis.io/?owner=588', + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + avalanche: { + url: '', + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + }, }; diff --git a/packages/hyperverse-evm-tribes/package.json b/packages/hyperverse-evm-tribes/package.json index 99a390d3..901dd6f2 100644 --- a/packages/hyperverse-evm-tribes/package.json +++ b/packages/hyperverse-evm-tribes/package.json @@ -31,6 +31,7 @@ "@openzeppelin/contracts": "^4.4.2", "dotenv": "^16.0.0", "ethers": "^5.5.3", + "hardhat": "^2.9.0", "react-query": "^3.34.7", "react-use": "^17.3.2", "skynet-js": "^4.0.23-beta" From 7dbb59eef5b799038c79747a836a49725a5e941b Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Fri, 4 Mar 2022 11:49:32 -0500 Subject: [PATCH 28/41] Updated hardhat configs --- .../hardhat.config.js | 33 +++++++++++---- .../hardhat.config.js | 39 ++++++++++++------ .../hyperverse-evm-erc20/hardhat.config.js | 41 ++++++++++++------- .../hyperverse-evm-erc721/hardhat.config.js | 33 +++++++++++---- 4 files changed, 105 insertions(+), 41 deletions(-) diff --git a/packages/hyperverse-ethereum-randompick/hardhat.config.js b/packages/hyperverse-ethereum-randompick/hardhat.config.js index cfeed558..3f2c5c84 100644 --- a/packages/hyperverse-ethereum-randompick/hardhat.config.js +++ b/packages/hyperverse-ethereum-randompick/hardhat.config.js @@ -1,13 +1,13 @@ -require("@nomiclabs/hardhat-waffle"); +require('@nomiclabs/hardhat-waffle'); // This is a sample Hardhat task. To learn how to create your own go to // https://hardhat.org/guides/create-task.html -task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { - const accounts = await hre.ethers.getSigners(); +task('accounts', 'Prints the list of accounts', async (taskArgs, hre) => { + const accounts = await hre.ethers.getSigners(); - for (const account of accounts) { - console.log(account.address); - } + for (const account of accounts) { + console.log(account.address); + } }); // You need to export an object to set up your config @@ -17,5 +17,24 @@ task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { * @type import('hardhat/config').HardhatUserConfig */ module.exports = { - solidity: "0.8.4", + solidity: '0.8.4', + defaultNetwork: 'hardhat', + networks: { + hardhat: {}, + rinkeby: { + url: `https://rinkeby.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_API_KEY}`, + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + metis: { + url: 'https://stardust.metis.io/?owner=588', + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + avalanche: { + url: '', + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + }, }; diff --git a/packages/hyperverse-ethereum-starterkit/hardhat.config.js b/packages/hyperverse-ethereum-starterkit/hardhat.config.js index bb18741f..3f2c5c84 100644 --- a/packages/hyperverse-ethereum-starterkit/hardhat.config.js +++ b/packages/hyperverse-ethereum-starterkit/hardhat.config.js @@ -1,13 +1,13 @@ -require("@nomiclabs/hardhat-waffle"); +require('@nomiclabs/hardhat-waffle'); // This is a sample Hardhat task. To learn how to create your own go to // https://hardhat.org/guides/create-task.html -task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { - const accounts = await hre.ethers.getSigners(); +task('accounts', 'Prints the list of accounts', async (taskArgs, hre) => { + const accounts = await hre.ethers.getSigners(); - for (const account of accounts) { - console.log(account.address); - } + for (const account of accounts) { + console.log(account.address); + } }); // You need to export an object to set up your config @@ -17,11 +17,24 @@ task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { * @type import('hardhat/config').HardhatUserConfig */ module.exports = { - solidity: "0.8.4", -// networks: { -// rinkeby: { -// url: `https://rinkeby.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_API_KEY}`, -// accounts: [process.env.NEXT_PRIVATE_KEY], -// }, -// }, + solidity: '0.8.4', + defaultNetwork: 'hardhat', + networks: { + hardhat: {}, + rinkeby: { + url: `https://rinkeby.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_API_KEY}`, + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + metis: { + url: 'https://stardust.metis.io/?owner=588', + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + avalanche: { + url: '', + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + }, }; diff --git a/packages/hyperverse-evm-erc20/hardhat.config.js b/packages/hyperverse-evm-erc20/hardhat.config.js index 541c4169..e9aa95ef 100644 --- a/packages/hyperverse-evm-erc20/hardhat.config.js +++ b/packages/hyperverse-evm-erc20/hardhat.config.js @@ -1,15 +1,15 @@ -const { config } = require("dotenv"); +const { config } = require('dotenv'); config(); -require("@nomiclabs/hardhat-waffle"); +require('@nomiclabs/hardhat-waffle'); // This is a sample Hardhat task. To learn how to create your own go to // https://hardhat.org/guides/create-task.html -task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { - const accounts = await hre.ethers.getSigners(); +task('accounts', 'Prints the list of accounts', async (taskArgs, hre) => { + const accounts = await hre.ethers.getSigners(); - for (const account of accounts) { - console.log(account.address); - } + for (const account of accounts) { + console.log(account.address); + } }); // You need to export an object to set up your config @@ -19,11 +19,24 @@ task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { * @type import('hardhat/config').HardhatUserConfig */ module.exports = { - solidity: "0.8.4", - networks: { - rinkeby: { - url: `https://rinkeby.infura.io/v3/${process.env.INFURA_API_KEY}`, - accounts: [process.env.ACCOUNT_KEY], - }, - }, + solidity: '0.8.4', + defaultNetwork: 'hardhat', + networks: { + hardhat: {}, + rinkeby: { + url: `https://rinkeby.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_API_KEY}`, + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + metis: { + url: 'https://stardust.metis.io/?owner=588', + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + avalanche: { + url: '', + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + }, }; diff --git a/packages/hyperverse-evm-erc721/hardhat.config.js b/packages/hyperverse-evm-erc721/hardhat.config.js index cfeed558..3f2c5c84 100644 --- a/packages/hyperverse-evm-erc721/hardhat.config.js +++ b/packages/hyperverse-evm-erc721/hardhat.config.js @@ -1,13 +1,13 @@ -require("@nomiclabs/hardhat-waffle"); +require('@nomiclabs/hardhat-waffle'); // This is a sample Hardhat task. To learn how to create your own go to // https://hardhat.org/guides/create-task.html -task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { - const accounts = await hre.ethers.getSigners(); +task('accounts', 'Prints the list of accounts', async (taskArgs, hre) => { + const accounts = await hre.ethers.getSigners(); - for (const account of accounts) { - console.log(account.address); - } + for (const account of accounts) { + console.log(account.address); + } }); // You need to export an object to set up your config @@ -17,5 +17,24 @@ task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { * @type import('hardhat/config').HardhatUserConfig */ module.exports = { - solidity: "0.8.4", + solidity: '0.8.4', + defaultNetwork: 'hardhat', + networks: { + hardhat: {}, + rinkeby: { + url: `https://rinkeby.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_API_KEY}`, + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + metis: { + url: 'https://stardust.metis.io/?owner=588', + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + avalanche: { + url: '', + accounts: + process.env.NEXT_PRIVATE_KEY !== undefined ? [process.env.NEXT_PRIVATE_KEY] : [], + }, + }, }; From 6e73d4aa78681b251164e68405b90c17ff192200 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Sat, 5 Mar 2022 08:42:23 -0500 Subject: [PATCH 29/41] Added NetworkConfig --- .../source/environment.ts | 2 +- packages/hyperverse-evm/source/useEVM.ts | 18 ++++++++++++++++-- .../hyperverse/source/constants/networks.ts | 10 ++++++++++ packages/hyperverse/source/index.ts | 2 ++ packages/hyperverse/source/initialize.ts | 2 +- packages/hyperverse/source/types.ts | 4 ++-- 6 files changed, 32 insertions(+), 6 deletions(-) diff --git a/packages/hyperverse-evm-tribes/source/environment.ts b/packages/hyperverse-evm-tribes/source/environment.ts index 1ebd290b..ffcf8979 100644 --- a/packages/hyperverse-evm-tribes/source/environment.ts +++ b/packages/hyperverse-evm-tribes/source/environment.ts @@ -52,7 +52,7 @@ function useEnvironment() { throw new Error("Blockchain is not EVM compatible") } - const env = environment[blockchain.name as BlockchainEvm][network]; + const env = environment[blockchain.name as BlockchainEvm][typeof network === 'string' ? network : network.type]; return { ...env, ContractABI, diff --git a/packages/hyperverse-evm/source/useEVM.ts b/packages/hyperverse-evm/source/useEVM.ts index d3d3ae93..d13db336 100644 --- a/packages/hyperverse-evm/source/useEVM.ts +++ b/packages/hyperverse-evm/source/useEVM.ts @@ -4,6 +4,7 @@ import WalletConnectProvider from '@walletconnect/web3-provider'; import { providers, ethers } from 'ethers'; import { createContainer, useContainer } from '@decentology/unstated-next'; import { useHyperverse, networks, blockchains } from '@decentology/hyperverse'; +import { NetworkConfig } from '@decentology/hyperverse/source/constants/networks'; const INFURA_ID = process.env.INFURA_API_KEY! || 'fb9f66bab7574d70b281f62e19c27d49'; @@ -63,7 +64,20 @@ function EvmState(initialState: InitialEvmState = { } }) { const { blockchain, network } = useHyperverse(); - const networkUrl = network === networks.Mainnet ? initialState.networks[networks.Mainnet].networkUrl : initialState.networks[networks.Testnet].networkUrl; + let networkConfig: NetworkConfig = { + type: typeof network === 'object' ? network.type : network, + networkUrl: typeof network === 'object' ? network.networkUrl : initialState.networks[network].networkUrl, + } + if (typeof network === 'object') { + initialState.networks[network.type] = { + ...initialState.networks[network.type], + ...network + } + } + + const networkUrl = networkConfig.networkUrl; + console.log(networkConfig); + const [state, setState] = useState({ provider: new ethers.providers.JsonRpcProvider(networkUrl), web3Provider: null, @@ -105,7 +119,7 @@ function EvmState(initialState: InitialEvmState = { const userNetwork = await web3Provider.getNetwork(); if (blockchain?.name === blockchains.Ethereum && userNetwork.chainId !== 4) { - await switchNetwork(network, web3Provider.provider); + await switchNetwork(networkConfig.type, web3Provider.provider); // setTimeout(() => { // window.location.reload(); diff --git a/packages/hyperverse/source/constants/networks.ts b/packages/hyperverse/source/constants/networks.ts index bb082b6c..e470806a 100644 --- a/packages/hyperverse/source/constants/networks.ts +++ b/packages/hyperverse/source/constants/networks.ts @@ -2,5 +2,15 @@ enum Network { Mainnet = 'mainnet', Testnet = 'testnet', } + +export type NetworkConfig = { + type: Network, + networkUrl: string; + name?: string; + chainId?: number; + explorerUrl?: string; + +} + export default Network; export const NetworkList: string[] = Object.values(Network).filter((v) => typeof v === 'string'); diff --git a/packages/hyperverse/source/index.ts b/packages/hyperverse/source/index.ts index e0676dae..f6e2abdc 100644 --- a/packages/hyperverse/source/index.ts +++ b/packages/hyperverse/source/index.ts @@ -1,6 +1,8 @@ export { default as initialize } from './initialize'; export { Provider, useHyperverse } from './Provider'; export { useDeviceDetect } from './components'; +import { Provider } from './Provider' +export { Provider as Hyperverse }; export { default as blockchains } from './constants/blockchains'; export * from './constants/blockchains'; diff --git a/packages/hyperverse/source/initialize.ts b/packages/hyperverse/source/initialize.ts index 5769ebd6..14db6fbe 100644 --- a/packages/hyperverse/source/initialize.ts +++ b/packages/hyperverse/source/initialize.ts @@ -1,4 +1,4 @@ -import { Hyperverse, HyperverseModuleBase } from '.'; +import { Hyperverse } from './types'; function initialize(options: Hyperverse) { return options; diff --git a/packages/hyperverse/source/types.ts b/packages/hyperverse/source/types.ts index 474202e2..270f558c 100644 --- a/packages/hyperverse/source/types.ts +++ b/packages/hyperverse/source/types.ts @@ -1,7 +1,7 @@ import { FC } from 'react'; import { ContainerProvider } from '@decentology/unstated-next'; import Blockchain, { BlockchainEvm } from './constants/blockchains'; -import Network from './constants/networks'; +import Network, { NetworkConfig } from './constants/networks'; import Storage from './constants/storage'; type Exact = A extends B ? (B extends A ? A : never) : never; @@ -30,7 +30,7 @@ export type BlockchainFeatures2 = T & { export type Hyperverse = { blockchain: HyperverseBlockchain | null; - network: Network; + network: Network | NetworkConfig; storage?: Storage | ({ name?: Storage; options: { clientUrl: string } } | undefined); modules: HyperverseModuleBase[]; options?: { From e8986021b502b4ae9c714d68a55a717feb352a4b Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Sat, 5 Mar 2022 10:51:17 -0500 Subject: [PATCH 30/41] Massive overhaul of Network configuration --- .../components/WriteFunctions/Transfer.tsx | 16 +- apps/ethereum/erc721/pages/_app.tsx | 4 +- apps/ethereum/token/pages/_app.tsx | 4 +- apps/ethereum/tribes/src/pages/_app.tsx | 4 +- apps/flow/tribes/pages/_app.tsx | 4 +- apps/flow/tribes/pages/setup.tsx | 4 +- apps/metis/tribes/src/pages/_app.tsx | 4 +- apps/multi/web/pages/_app.tsx | 4 +- apps/multi/web/pages/index.tsx | 8 +- .../source/environment.ts | 18 +- .../source/context/Provider.tsx | 2 +- .../source/context/initialize.ts | 14 +- packages/hyperverse-algorand/source/index.ts | 6 +- .../hyperverse-algorand/source/useAlgorand.ts | 2 +- .../source/Provider.tsx | 11 +- .../source/constants.ts | 7 - .../source/environment.ts | 64 +++++- .../source/useHook.ts | 22 +- .../hyperverse-ethereum/source/Provider.tsx | 3 + packages/hyperverse-ethereum/source/index.ts | 4 +- .../hyperverse-evm-erc20/source/Provider.tsx | 16 +- .../hyperverse-evm-erc20/source/constants.ts | 7 - .../source/environment.ts | 68 +++++- .../hyperverse-evm-erc20/source/useERC20.ts | 11 +- .../hyperverse-evm-erc721/source/Provider.tsx | 4 +- .../source/environment.ts | 48 ++-- .../hyperverse-evm-tribes/source/Provider.tsx | 7 +- .../source/environment.ts | 45 ++-- packages/hyperverse-evm/source/index.ts | 4 +- packages/hyperverse-evm/source/useEVM.ts | 216 +++++++++--------- .../source/useTribes.ts | 8 +- .../source/context/initialize.ts | 10 +- packages/hyperverse-flow/source/index.ts | 4 +- packages/hyperverse-flow/source/useFlow.ts | 45 ++-- packages/hyperverse-metis/source/Provider.tsx | 3 + packages/hyperverse-metis/source/index.ts | 4 +- packages/hyperverse/source/Provider.tsx | 25 +- .../source/constants/blockchains.ts | 3 +- .../hyperverse/source/constants/networks.ts | 6 +- packages/hyperverse/source/index.ts | 3 +- packages/hyperverse/source/types.ts | 13 +- packages/unstated-next/example/index.tsx | 6 +- 42 files changed, 424 insertions(+), 337 deletions(-) delete mode 100644 packages/hyperverse-ethereum-starterkit/source/constants.ts delete mode 100644 packages/hyperverse-evm-erc20/source/constants.ts diff --git a/apps/ethereum/erc721/components/WriteFunctions/Transfer.tsx b/apps/ethereum/erc721/components/WriteFunctions/Transfer.tsx index b5aed8df..cfbaf0fb 100644 --- a/apps/ethereum/erc721/components/WriteFunctions/Transfer.tsx +++ b/apps/ethereum/erc721/components/WriteFunctions/Transfer.tsx @@ -10,7 +10,7 @@ import { Parameters, Input, Content, - Button, + Button } from './WriteComponents'; const Transfer = () => { @@ -23,13 +23,11 @@ const Transfer = () => { const createNewInstance = async () => { try { - const instanceData = { - from: address, + mutate({ + from: address!, to: receiver, - tokenId: tokenId, - }; - - mutate(instanceData); + tokenId: tokenId + }); } catch (error) { throw error; } @@ -50,13 +48,13 @@ const Transfer = () => { setReceiver(e.target.value)} + onChange={e => setReceiver(e.target.value)} /> setTokenId(e.currentTarget.valueAsNumber)} + onChange={e => setTokenId(e.currentTarget.valueAsNumber)} /> - - - - - - ) -} + return ( + +

New Instance

+

Create your own instance of a token

+ + + + + {!address ? 'Connect Wallet' : 'Create Instance'} + + + + + setTokenName(e.target.value)} + /> + setTokenSymbol(e.target.value)} + /> + setTokenDecimals(e.currentTarget.valueAsNumber)} + /> + + + + + + + ); +}; export default CreateInstance; diff --git a/apps/ethereum/token/stitches.config.ts b/apps/ethereum/token/stitches.config.ts index 5d06f796..a0db5a2e 100644 --- a/apps/ethereum/token/stitches.config.ts +++ b/apps/ethereum/token/stitches.config.ts @@ -26,6 +26,6 @@ export const { bp1: '(min-width: 480px)', }, utils: { - marginX: (value) => ({ marginLeft: value, marginRight: value }), + marginX: (value: any) => ({ marginLeft: value, marginRight: value }), }, -}); \ No newline at end of file +}); diff --git a/apps/ethereum/tribes/src/pages/_app.tsx b/apps/ethereum/tribes/src/pages/_app.tsx index 3f052bdd..fa707f39 100644 --- a/apps/ethereum/tribes/src/pages/_app.tsx +++ b/apps/ethereum/tribes/src/pages/_app.tsx @@ -26,7 +26,7 @@ function MyApp({ Component, pageProps }: AppProps) { }, { bundle: RandomPick, - tenantId: null, + tenantId: '0x45e4c90801b1a17c178bB9855aA181A886DAA603', }, ], }); diff --git a/apps/ethereum/tribes/src/pages/battle.tsx b/apps/ethereum/tribes/src/pages/battle.tsx index e5c11566..bc952dcf 100644 --- a/apps/ethereum/tribes/src/pages/battle.tsx +++ b/apps/ethereum/tribes/src/pages/battle.tsx @@ -99,7 +99,7 @@ const Battle = () => { ? winner === contestants[1] ? styles.winner : styles.loser - : null + : '' } > { + onChange={e => updateInput({ ...formInput, name: e.target.value }) } /> @@ -67,15 +67,15 @@ const Setup = () => { id="tribe-image" name="tribe image" accept="image/*, .jpg" - onChange={(e) => uploadToIPFS(e)} + onChange={e => uploadToIPFS(e)} /> + onChange={e => updateInput({ ...formInput, - description: e.target.value, + description: e.target.value }) } /> @@ -95,7 +95,7 @@ const Setup = () => {

If you are, please use the right tenant address for this project. You can change it in /pages/shared.tsx to be the - address you're logged in to. + address you're logged in to.

)} diff --git a/packages/hyperverse-flow/source/types.ts b/packages/hyperverse-flow/source/types.ts index d137390f..216ae626 100644 --- a/packages/hyperverse-flow/source/types.ts +++ b/packages/hyperverse-flow/source/types.ts @@ -1,9 +1,9 @@ export type FlowUser = { f_type: 'User'; f_vsn: '1.0.0'; - addr: null; - cid: null; - loggedIn: null; - expiresAt: null; + addr: string; + cid: string; + loggedIn: boolean; + expiresAt: Date; services: []; } | null; From dbc9f3e83b274fa587b2df740f9c6dd57db1879a Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Sat, 5 Mar 2022 17:26:57 -0500 Subject: [PATCH 32/41] Upgraded hardhat for experiment --- yarn.lock | 289 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 240 insertions(+), 49 deletions(-) diff --git a/yarn.lock b/yarn.lock index 86976ad5..29ea00a8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3547,7 +3547,7 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== -"@solidity-parser/parser@^0.14.0": +"@solidity-parser/parser@^0.14.0", "@solidity-parser/parser@^0.14.1": version "0.14.1" resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.1.tgz#179afb29f4e295a77cc141151f26b3848abc3c46" integrity sha512-eLjj2L6AuQjBB6s/ibwCAc0DwrR5Ge+ys+wgWo+bviU7fV2nTMQhU63CGaDKXg9iTmMxwhkyoggdIR7ZGRfMgw== @@ -4028,6 +4028,11 @@ "@typescript-eslint/types" "5.13.0" eslint-visitor-keys "^3.0.0" +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + "@walletconnect/browser-utils@^1.6.1", "@walletconnect/browser-utils@^1.7.1": version "1.7.1" resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.7.1.tgz#2a28846cd4d73166debbbf7d470e78ba25616f5e" @@ -4620,7 +4625,7 @@ ansi-colors@3.2.3: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== -ansi-colors@^4.1.1: +ansi-colors@4.1.1, ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== @@ -6515,6 +6520,11 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + camelize@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" @@ -6669,6 +6679,21 @@ chokidar@3.5.1: optionalDependencies: fsevents "~2.3.1" +chokidar@3.5.3, chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + 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@^2.1.5, chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -6688,21 +6713,6 @@ chokidar@^2.1.5, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - 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" - chownr@^1.1.1, chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -6887,6 +6897,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -7924,7 +7943,7 @@ debug@3.2.6: dependencies: ms "^2.1.1" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3: +debug@4, debug@4.3.3, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== @@ -7951,6 +7970,11 @@ decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -8192,6 +8216,11 @@ diff@3.5.0: resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" @@ -8728,16 +8757,16 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escape-string-regexp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - escodegen@^1.11.0, escodegen@^1.11.1: version "1.14.3" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" @@ -10258,6 +10287,14 @@ find-up@3.0.0, find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-up@5.0.0, find-up@^5.0.0: + version "5.0.0" + 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@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -10281,14 +10318,6 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -find-up@^5.0.0: - version "5.0.0" - 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-yarn-workspace-root2@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz#60287009dd2f324f59646bdb4b7610a6b301c2a9" @@ -10337,6 +10366,11 @@ flat@^4.1.0: dependencies: is-buffer "~2.0.3" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^3.1.0: version "3.2.5" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" @@ -10663,7 +10697,7 @@ get-caller-file@^1.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -10846,7 +10880,7 @@ glob@7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.7, glob@~7.2.0: +glob@7.2.0, glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.7, glob@~7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -11156,6 +11190,60 @@ hardhat@^2.8.3: uuid "^8.3.2" ws "^7.4.6" +hardhat@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.9.0.tgz#3154faf616a87b735fd81311e68b82f1d7dd9916" + integrity sha512-jF8UlisdQ07ldCqaRU+rEB6lzAJzWS5Gg4KT2pUyqat0hJc7jfccE8ITRvAGP8ksC6DZ+kRpDfUSgoLsPFynaA== + dependencies: + "@ethereumjs/block" "^3.6.0" + "@ethereumjs/blockchain" "^5.5.0" + "@ethereumjs/common" "^2.6.0" + "@ethereumjs/tx" "^3.4.0" + "@ethereumjs/vm" "^5.6.0" + "@ethersproject/abi" "^5.1.2" + "@metamask/eth-sig-util" "^4.0.0" + "@sentry/node" "^5.18.1" + "@solidity-parser/parser" "^0.14.1" + "@types/bn.js" "^5.1.0" + "@types/lru-cache" "^5.1.0" + abort-controller "^3.0.0" + adm-zip "^0.4.16" + aggregate-error "^3.0.0" + ansi-escapes "^4.3.0" + chalk "^2.4.2" + chokidar "^3.4.0" + ci-info "^2.0.0" + debug "^4.1.1" + enquirer "^2.3.0" + env-paths "^2.2.0" + ethereum-cryptography "^0.1.2" + ethereumjs-abi "^0.6.8" + ethereumjs-util "^7.1.3" + find-up "^2.1.0" + fp-ts "1.19.3" + fs-extra "^7.0.1" + glob "^7.1.3" + immutable "^4.0.0-rc.12" + io-ts "1.10.4" + lodash "^4.17.11" + merkle-patricia-tree "^4.2.2" + mnemonist "^0.38.0" + mocha "^9.2.0" + p-map "^4.0.0" + qs "^6.7.0" + raw-body "^2.4.1" + resolve "1.17.0" + semver "^6.3.0" + slash "^3.0.0" + solc "0.7.3" + source-map-support "^0.5.13" + stacktrace-parser "^0.1.10" + "true-case-path" "^2.2.1" + tsort "0.0.1" + undici "^4.14.1" + uuid "^8.3.2" + ws "^7.4.6" + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -12445,6 +12533,11 @@ is-typedarray@1.0.0, is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-unicode-supported@^0.1.0: + version "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-url@^1.2.1, is-url@^1.2.2, is-url@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" @@ -12651,6 +12744,13 @@ js-yaml@3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + js-yaml@^3.10.0, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.4.3, js-yaml@^3.6.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" @@ -12659,13 +12759,6 @@ js-yaml@^3.10.0, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.4.3, js-yaml@^3.6. argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - js-yaml@~3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" @@ -13710,6 +13803,14 @@ log-symbols@3.0.0: dependencies: chalk "^2.4.2" +log-symbols@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + log-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" @@ -14489,6 +14590,36 @@ mocha@^7.2.0: yargs-parser "13.1.2" yargs-unparser "1.6.0" +mocha@^9.2.0: + version "9.2.1" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.2.1.tgz#a1abb675aa9a8490798503af57e8782a78f1338e" + integrity sha512-T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ== + dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.3" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" + growl "1.10.5" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "3.0.4" + ms "2.1.3" + nanoid "3.2.0" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + which "2.0.2" + workerpool "6.2.0" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + mock-fs@^4.1.0: version "4.14.0" resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" @@ -14661,6 +14792,11 @@ nano-time@1.0.0: dependencies: big-integer "^1.6.16" +nanoid@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" + integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== + nanoid@^3.0.2, nanoid@^3.1.20, nanoid@^3.1.23, nanoid@^3.1.30, nanoid@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" @@ -18717,6 +18853,13 @@ serialize-error@^2.1.0: resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" integrity sha1-ULZ51WNc34Rme9yOWa9OW4HV9go= +serialize-javascript@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + serialize-javascript@^1.5.0: version "1.9.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" @@ -19694,7 +19837,7 @@ strip-json-comments@2.0.1, strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -19834,6 +19977,13 @@ supports-color@6.0.0: dependencies: has-flag "^3.0.0" +supports-color@8.1.1, supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -19867,13 +20017,6 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - supports-color@^9.2.1: version "9.2.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891" @@ -20867,6 +21010,11 @@ underscore@1.9.1: resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== +undici@^4.14.1: + version "4.14.1" + resolved "https://registry.yarnpkg.com/undici/-/undici-4.14.1.tgz#7633b143a8a10d6d63335e00511d071e8d52a1d9" + integrity sha512-WJ+g+XqiZcATcBaUeluCajqy4pEDcQfK1vy+Fo+bC4/mqXI9IIQD/XWHLS70fkGUT6P52Drm7IFslO651OdLPQ== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -22045,7 +22193,7 @@ which@1.3.1, which@^1.2.10, which@^1.2.14, which@^1.2.9, which@^1.3.1: dependencies: isexe "^2.0.0" -which@^2.0.1: +which@2.0.2, which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== @@ -22090,6 +22238,11 @@ worker-farm@^1.7.0: dependencies: errno "~0.1.7" +workerpool@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b" + integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -22264,6 +22417,11 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + yaeti@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" @@ -22297,6 +22455,11 @@ yargs-parser@13.1.2, yargs-parser@^13.1.2: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + yargs-parser@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" @@ -22320,6 +22483,11 @@ yargs-parser@^2.4.1: camelcase "^3.0.0" lodash.assign "^4.0.6" +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + yargs-unparser@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" @@ -22329,6 +22497,16 @@ yargs-unparser@1.6.0: lodash "^4.17.15" yargs "^13.3.0" +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + yargs@13.3.2, yargs@^13.2.4, yargs@^13.3.0, yargs@^13.3.2: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" @@ -22345,6 +22523,19 @@ yargs@13.3.2, yargs@^13.2.4, yargs@^13.3.0, yargs@^13.3.2: y18n "^4.0.0" yargs-parser "^13.1.2" +yargs@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + yargs@^15.1.0: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" From cbe362417967f28612a419dd12951af6caf03b3d Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Sat, 5 Mar 2022 18:00:17 -0500 Subject: [PATCH 33/41] Updated hyperverse hook --- packages/hyperverse-evm-tribes/package.json | 3 +-- packages/hyperverse-evm/source/useEVM.ts | 7 +++--- packages/hyperverse/source/Provider.tsx | 26 +++----------------- packages/hyperverse/source/index.ts | 6 ++--- packages/hyperverse/source/useHyperverse.tsx | 22 +++++++++++++++++ yarn.lock | 14 +++++------ 6 files changed, 39 insertions(+), 39 deletions(-) create mode 100644 packages/hyperverse/source/useHyperverse.tsx diff --git a/packages/hyperverse-evm-tribes/package.json b/packages/hyperverse-evm-tribes/package.json index 901dd6f2..b7ad5a74 100644 --- a/packages/hyperverse-evm-tribes/package.json +++ b/packages/hyperverse-evm-tribes/package.json @@ -31,7 +31,7 @@ "@openzeppelin/contracts": "^4.4.2", "dotenv": "^16.0.0", "ethers": "^5.5.3", - "hardhat": "^2.9.0", + "hardhat": "^2.9.1", "react-query": "^3.34.7", "react-use": "^17.3.2", "skynet-js": "^4.0.23-beta" @@ -42,7 +42,6 @@ "@nomiclabs/hardhat-waffle": "^2.0.2", "chai": "^4.3.4", "ethereum-waffle": "^3.4.0", - "hardhat": "^2.8.3", "parcel": "^2.2.1", "rimraf": "^3.0.2" } diff --git a/packages/hyperverse-evm/source/useEVM.ts b/packages/hyperverse-evm/source/useEVM.ts index 822322c9..d43b57be 100644 --- a/packages/hyperverse-evm/source/useEVM.ts +++ b/packages/hyperverse-evm/source/useEVM.ts @@ -3,8 +3,7 @@ import Web3Modal from '@decentology/web3modal'; import WalletConnectProvider from '@walletconnect/web3-provider'; import { providers, ethers } from 'ethers'; import { createContainer, useContainer } from '@decentology/unstated-next'; -import { useHyperverse, Network, Blockchain } from '@decentology/hyperverse'; -import { NetworkConfig } from '@decentology/hyperverse/source/constants/networks'; +import { useHyperverse, Network, Blockchain, NetworkConfig } from '@decentology/hyperverse'; const INFURA_ID = process.env.INFURA_API_KEY! || 'fb9f66bab7574d70b281f62e19c27d49'; @@ -77,14 +76,14 @@ function EvmState( await prov.request({ method: 'wallet_switchEthereumChain', params: [ - { chainId: initialState.networks[Network.Mainnet].chainId!.toString(16) } + { chainId: initialState.networks[Network.Mainnet].chainId! } ] }); } else { await prov.request({ method: 'wallet_switchEthereumChain', params: [ - { chainId: initialState.networks[Network.Testnet].chainId!.toString(16) } + { chainId: initialState.networks[Network.Testnet].chainId! } ] }); } diff --git a/packages/hyperverse/source/Provider.tsx b/packages/hyperverse/source/Provider.tsx index e7363ed5..e1f39d60 100644 --- a/packages/hyperverse/source/Provider.tsx +++ b/packages/hyperverse/source/Provider.tsx @@ -1,27 +1,7 @@ -import { createElement, FC, useEffect, useState } from 'react'; +import { createElement, FC, useEffect, useState } from "react"; +import { Hyperverse, HyperverseConfig } from "./types"; +import { HyperverseContainer } from "./useHyperverse"; import { Provider as SkyNetProvider } from '@decentology/hyperverse-storage-skynet'; -import { Network, NetworkConfig } from './constants/networks'; -import Storage from './constants/storage'; -import { Hyperverse, HyperverseConfig } from './types'; -import { createContainer } from '@decentology/unstated-next'; - -function HyperverseState( - initialState: HyperverseConfig = { - blockchain: null, - network: { - type: Network.Testnet - }, - storage: Storage.Skynet, - modules: [] - } -) { - return initialState; -} - -const HyperverseContainer = createContainer(HyperverseState); -export function useHyperverse() { - return HyperverseContainer.useContainer(); -} export const Provider: FC<{ initialState: Hyperverse }> = ({ children, initialState }) => { const [selectedBlockchain, setSelectedBlockchain] = useState( diff --git a/packages/hyperverse/source/index.ts b/packages/hyperverse/source/index.ts index d08f3233..ea791534 100644 --- a/packages/hyperverse/source/index.ts +++ b/packages/hyperverse/source/index.ts @@ -1,8 +1,8 @@ export { default as initialize } from './initialize'; -export { Provider, useHyperverse } from './Provider'; +export { useHyperverse } from './useHyperverse'; export { useDeviceDetect } from './components'; -import { Provider } from './Provider' -export { Provider as Hyperverse }; +import { Provider } from './Provider'; +export { Provider, Provider as Hyperverse }; export * from './constants/blockchains'; export * from './constants/networks'; diff --git a/packages/hyperverse/source/useHyperverse.tsx b/packages/hyperverse/source/useHyperverse.tsx new file mode 100644 index 00000000..2fda4dd4 --- /dev/null +++ b/packages/hyperverse/source/useHyperverse.tsx @@ -0,0 +1,22 @@ +import { Network } from './constants/networks'; +import Storage from './constants/storage'; +import { HyperverseConfig } from './types'; +import { createContainer } from '@decentology/unstated-next'; + +function HyperverseState( + initialState: HyperverseConfig = { + blockchain: null, + network: { + type: Network.Testnet + }, + storage: Storage.Skynet, + modules: [] + } +) { + return initialState; +} + +export const HyperverseContainer = createContainer(HyperverseState); +export function useHyperverse() { + return HyperverseContainer.useContainer(); +} diff --git a/yarn.lock b/yarn.lock index 29ea00a8..18c0c157 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11190,10 +11190,10 @@ hardhat@^2.8.3: uuid "^8.3.2" ws "^7.4.6" -hardhat@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.9.0.tgz#3154faf616a87b735fd81311e68b82f1d7dd9916" - integrity sha512-jF8UlisdQ07ldCqaRU+rEB6lzAJzWS5Gg4KT2pUyqat0hJc7jfccE8ITRvAGP8ksC6DZ+kRpDfUSgoLsPFynaA== +hardhat@^2.9.1: + version "2.9.1" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.9.1.tgz#f69f82bb4d98e28744584779483caa7c5cfbde8b" + integrity sha512-q0AkYXV7R26RzyAkHGQRhhQjk508pseVvH3wSwZwwPUbvA+tjl0vMIrD4aFQDonRXkrnXX4+5KglozzjSd0//Q== dependencies: "@ethereumjs/block" "^3.6.0" "@ethereumjs/blockchain" "^5.5.0" @@ -21011,9 +21011,9 @@ underscore@1.9.1: integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== undici@^4.14.1: - version "4.14.1" - resolved "https://registry.yarnpkg.com/undici/-/undici-4.14.1.tgz#7633b143a8a10d6d63335e00511d071e8d52a1d9" - integrity sha512-WJ+g+XqiZcATcBaUeluCajqy4pEDcQfK1vy+Fo+bC4/mqXI9IIQD/XWHLS70fkGUT6P52Drm7IFslO651OdLPQ== + version "4.15.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-4.15.0.tgz#507ec94bce46bec5c76e934938c50b825eda8258" + integrity sha512-kHppwh/y49FLEXl/zYCCbGB0D3nrcWNBczNYCsDdNYzWPs80aQgfKic1PVkJEIc2YlR7m0Lf5i559zbr0AA7FQ== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" From edeee7ef3283449c13deb595f00960f7398da44b Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Sat, 5 Mar 2022 18:23:11 -0500 Subject: [PATCH 34/41] Override default network values --- .../hyperverse-ethereum/source/Provider.tsx | 14 +++++++------- packages/hyperverse-evm/source/useEVM.ts | 19 ++++++++++--------- packages/hyperverse-metis/source/Provider.tsx | 2 +- packages/hyperverse/source/Provider.tsx | 1 - 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/hyperverse-ethereum/source/Provider.tsx b/packages/hyperverse-ethereum/source/Provider.tsx index 53375e74..339f49bf 100644 --- a/packages/hyperverse-ethereum/source/Provider.tsx +++ b/packages/hyperverse-ethereum/source/Provider.tsx @@ -1,7 +1,7 @@ import { FC } from 'react'; import { Evm } from '@decentology/hyperverse-evm'; import { Ethereum } from './useEthereum'; -import { Network } from '@decentology/hyperverse/source'; +import { Network } from '@decentology/hyperverse'; const INFURA_ID = process.env.INFURA_API_KEY! || 'fb9f66bab7574d70b281f62e19c27d49'; @@ -10,20 +10,20 @@ const Provider: FC = ({ children }) => { {children} diff --git a/packages/hyperverse-evm/source/useEVM.ts b/packages/hyperverse-evm/source/useEVM.ts index d43b57be..e4859108 100644 --- a/packages/hyperverse-evm/source/useEVM.ts +++ b/packages/hyperverse-evm/source/useEVM.ts @@ -4,6 +4,7 @@ import WalletConnectProvider from '@walletconnect/web3-provider'; import { providers, ethers } from 'ethers'; import { createContainer, useContainer } from '@decentology/unstated-next'; import { useHyperverse, Network, Blockchain, NetworkConfig } from '@decentology/hyperverse'; +import { BlockchainEvm } from '@decentology/hyperverse/source'; const INFURA_ID = process.env.INFURA_API_KEY! || 'fb9f66bab7574d70b281f62e19c27d49'; @@ -57,7 +58,11 @@ function EvmState( } } ) { - const { blockchain, network } = useHyperverse(); + const { blockchain, network: hyperverseNetwork } = useHyperverse(); + let network = { + ...initialState.networks[hyperverseNetwork.type], + ...hyperverseNetwork + }; const [state, setState] = useState({ provider: new ethers.providers.JsonRpcProvider(network.networkUrl), @@ -75,16 +80,12 @@ function EvmState( if (network === Network.Mainnet) { await prov.request({ method: 'wallet_switchEthereumChain', - params: [ - { chainId: initialState.networks[Network.Mainnet].chainId! } - ] + params: [{ chainId: initialState.networks[Network.Mainnet].chainId! }] }); } else { await prov.request({ method: 'wallet_switchEthereumChain', - params: [ - { chainId: initialState.networks[Network.Testnet].chainId! } - ] + params: [{ chainId: initialState.networks[Network.Testnet].chainId! }] }); } }, @@ -126,9 +127,9 @@ function EvmState( error: innerError })); } else if ( - err instanceof Error && + err instanceof Error && (err.message.includes('User Rejected') || - err.message.includes('Already processing')) + err.message.includes('Already processing')) ) { setState(prev => ({ ...prev, diff --git a/packages/hyperverse-metis/source/Provider.tsx b/packages/hyperverse-metis/source/Provider.tsx index f82e308d..a7121205 100644 --- a/packages/hyperverse-metis/source/Provider.tsx +++ b/packages/hyperverse-metis/source/Provider.tsx @@ -1,7 +1,7 @@ import { FC } from 'react'; import { Evm } from '@decentology/hyperverse-evm'; import { Metis } from './useMetis'; -import { Network } from '@decentology/hyperverse/source'; +import { Network } from '@decentology/hyperverse'; const Provider: FC = ({ children }) => { return ( = ({ children, initialSt ); } } - const hyperverseConfig: HyperverseConfig = { ...initialState, network: From 4806fa193c64c8c80b1363a264e6a1f291727daf Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Sat, 5 Mar 2022 18:49:55 -0500 Subject: [PATCH 35/41] This should be a link --- apps/ethereum/tribes/src/pages/all-tribes.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/ethereum/tribes/src/pages/all-tribes.tsx b/apps/ethereum/tribes/src/pages/all-tribes.tsx index 92a88b18..a2ddbec3 100644 --- a/apps/ethereum/tribes/src/pages/all-tribes.tsx +++ b/apps/ethereum/tribes/src/pages/all-tribes.tsx @@ -7,6 +7,7 @@ import { useEthereum } from '@decentology/hyperverse-ethereum'; import Image from 'next/image'; import { toast } from 'react-toastify'; import { useEffect } from 'react'; +import Link from 'next/link'; const AllTribes = () => { const { address } = useEthereum(); @@ -46,7 +47,7 @@ const AllTribes = () => { !data ? ( <>
There are currently no existing tribes.
- Go back home + Go back home ) : ( <> From b4b5975a77358764ab5d153acb87f38103169968 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Sat, 5 Mar 2022 18:50:25 -0500 Subject: [PATCH 36/41] Fix typings for Next.js compilation --- packages/web3modal/src/helpers/types.ts | 2 +- packages/web3modal/src/providers/connectors/walletlink.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/web3modal/src/helpers/types.ts b/packages/web3modal/src/helpers/types.ts index 374325ee..86e142b4 100644 --- a/packages/web3modal/src/helpers/types.ts +++ b/packages/web3modal/src/helpers/types.ts @@ -21,7 +21,7 @@ export interface IInjectedProvidersMap { export interface IProviderDisplay { name: string; - logo: string; + logo: string | any; description?: string; } diff --git a/packages/web3modal/src/providers/connectors/walletlink.ts b/packages/web3modal/src/providers/connectors/walletlink.ts index 74be44b3..224eac7b 100644 --- a/packages/web3modal/src/providers/connectors/walletlink.ts +++ b/packages/web3modal/src/providers/connectors/walletlink.ts @@ -14,7 +14,7 @@ const ConnectToWalletLink = ( opts: IWalletLinkConnectorOptions ) => { return new Promise(async (resolve, reject) => { - const options = opts || {}; + const options = opts || {} as IWalletLinkConnectorOptions; const infuraId = options.infuraId || ""; const chainId = options.chainId || 1; const appName = options.appName || ""; From e4f83d95931b05b7737db377983383004315ded7 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Mon, 7 Mar 2022 09:18:07 -0500 Subject: [PATCH 37/41] WIP. Don't lose all these changes --- apps/ethereum/cra-example/.gitignore | 23 + apps/ethereum/cra-example/README.md | 46 + apps/ethereum/cra-example/package.json | 46 + apps/ethereum/cra-example/public/favicon.ico | Bin 0 -> 3870 bytes apps/ethereum/cra-example/public/index.html | 43 + apps/ethereum/cra-example/public/logo192.png | Bin 0 -> 5347 bytes apps/ethereum/cra-example/public/logo512.png | Bin 0 -> 9664 bytes .../ethereum/cra-example/public/manifest.json | 25 + apps/ethereum/cra-example/public/robots.txt | 3 + apps/ethereum/cra-example/src/App.css | 38 + apps/ethereum/cra-example/src/App.test.tsx | 9 + apps/ethereum/cra-example/src/App.tsx | 26 + apps/ethereum/cra-example/src/index.css | 13 + apps/ethereum/cra-example/src/index.tsx | 24 + apps/ethereum/cra-example/src/logo.svg | 1 + .../cra-example/src/react-app-env.d.ts | 1 + .../cra-example/src/reportWebVitals.ts | 15 + apps/ethereum/cra-example/src/setupTests.ts | 5 + apps/ethereum/cra-example/tsconfig.json | 29 + apps/ethereum/vite-example/.gitignore | 24 + apps/ethereum/vite-example/index.html | 13 + apps/ethereum/vite-example/package.json | 26 + apps/ethereum/vite-example/src/App.css | 42 + apps/ethereum/vite-example/src/App.tsx | 45 + apps/ethereum/vite-example/src/favicon.svg | 15 + apps/ethereum/vite-example/src/index.css | 13 + apps/ethereum/vite-example/src/logo.svg | 7 + apps/ethereum/vite-example/src/main.tsx | 28 + apps/ethereum/vite-example/src/vite-env.d.ts | 1 + apps/ethereum/vite-example/tsconfig.json | 21 + apps/ethereum/vite-example/tsconfig.node.json | 8 + apps/ethereum/vite-example/vite.config.ts | 48 + package.json | 2 +- packages/config/base.json | 2 +- packages/config/react-library.json | 27 +- packages/hyperverse-ethereum/package.json | 2 +- packages/hyperverse-ethereum/source/index.ts | 1 - packages/hyperverse-evm/package.json | 5 +- packages/hyperverse-evm/source/index.ts | 2 +- packages/hyperverse-evm/source/useEVM.ts | 1 - .../hyperverse-storage-skynet/package.json | 1 + packages/hyperverse/package.json | 7 +- packages/hyperverse/source/Provider.tsx | 6 +- packages/hyperverse/tsconfig.json | 6 +- packages/unstated-next/tsconfig.json | 2 +- packages/unstated-next/tsconfig.tsbuildinfo | 1 + packages/web3modal/index.ts | 4 +- packages/web3modal/package.json | 2 +- packages/web3modal/src/core/index.tsx | 4 +- packages/web3modal/src/index.ts | 16 +- packages/web3modal/tsconfig.json | 61 +- packages/web3modal/webpack.config.js | 69 +- tsconfig.json | 2 +- yarn.lock | 5624 ++++++++++++++--- 54 files changed, 5372 insertions(+), 1113 deletions(-) create mode 100644 apps/ethereum/cra-example/.gitignore create mode 100644 apps/ethereum/cra-example/README.md create mode 100644 apps/ethereum/cra-example/package.json create mode 100644 apps/ethereum/cra-example/public/favicon.ico create mode 100644 apps/ethereum/cra-example/public/index.html create mode 100644 apps/ethereum/cra-example/public/logo192.png create mode 100644 apps/ethereum/cra-example/public/logo512.png create mode 100644 apps/ethereum/cra-example/public/manifest.json create mode 100644 apps/ethereum/cra-example/public/robots.txt create mode 100644 apps/ethereum/cra-example/src/App.css create mode 100644 apps/ethereum/cra-example/src/App.test.tsx create mode 100644 apps/ethereum/cra-example/src/App.tsx create mode 100644 apps/ethereum/cra-example/src/index.css create mode 100644 apps/ethereum/cra-example/src/index.tsx create mode 100644 apps/ethereum/cra-example/src/logo.svg create mode 100644 apps/ethereum/cra-example/src/react-app-env.d.ts create mode 100644 apps/ethereum/cra-example/src/reportWebVitals.ts create mode 100644 apps/ethereum/cra-example/src/setupTests.ts create mode 100644 apps/ethereum/cra-example/tsconfig.json create mode 100644 apps/ethereum/vite-example/.gitignore create mode 100644 apps/ethereum/vite-example/index.html create mode 100644 apps/ethereum/vite-example/package.json create mode 100644 apps/ethereum/vite-example/src/App.css create mode 100644 apps/ethereum/vite-example/src/App.tsx create mode 100644 apps/ethereum/vite-example/src/favicon.svg create mode 100644 apps/ethereum/vite-example/src/index.css create mode 100644 apps/ethereum/vite-example/src/logo.svg create mode 100644 apps/ethereum/vite-example/src/main.tsx create mode 100644 apps/ethereum/vite-example/src/vite-env.d.ts create mode 100644 apps/ethereum/vite-example/tsconfig.json create mode 100644 apps/ethereum/vite-example/tsconfig.node.json create mode 100644 apps/ethereum/vite-example/vite.config.ts create mode 100644 packages/unstated-next/tsconfig.tsbuildinfo diff --git a/apps/ethereum/cra-example/.gitignore b/apps/ethereum/cra-example/.gitignore new file mode 100644 index 00000000..4d29575d --- /dev/null +++ b/apps/ethereum/cra-example/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/apps/ethereum/cra-example/README.md b/apps/ethereum/cra-example/README.md new file mode 100644 index 00000000..b87cb004 --- /dev/null +++ b/apps/ethereum/cra-example/README.md @@ -0,0 +1,46 @@ +# Getting Started with Create React App + +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.\ +Open [http://localhost:3000](http://localhost:3000) to view it in the browser. + +The page will reload if you make edits.\ +You will also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.\ +See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ +Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can’t go back!** + +If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. + +You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). diff --git a/apps/ethereum/cra-example/package.json b/apps/ethereum/cra-example/package.json new file mode 100644 index 00000000..d10c514e --- /dev/null +++ b/apps/ethereum/cra-example/package.json @@ -0,0 +1,46 @@ +{ + "name": "cra-example", + "version": "0.1.0", + "private": true, + "dependencies": { + "@decentology/hyperverse": "^1.0.9", + "@decentology/hyperverse-ethereum": "^1.0.9", + "@decentology/hyperverse-ethereum-randompick": "^1.0.11", + "@testing-library/jest-dom": "^5.16.2", + "@testing-library/react": "^12.1.3", + "@testing-library/user-event": "^13.5.0", + "@types/jest": "^27.4.1", + "@types/node": "^16.11.26", + "@types/react": "^17.0.39", + "@types/react-dom": "^17.0.13", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "react-scripts": "5.0.0", + "typescript": "^4.6.2", + "web-vitals": "^2.1.4" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/apps/ethereum/cra-example/public/favicon.ico b/apps/ethereum/cra-example/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a GIT binary patch literal 3870 zcma);c{J4h9>;%nil|2-o+rCuEF-(I%-F}ijC~o(k~HKAkr0)!FCj~d>`RtpD?8b; zXOC1OD!V*IsqUwzbMF1)-gEDD=A573Z-&G7^LoAC9|WO7Xc0Cx1g^Zu0u_SjAPB3vGa^W|sj)80f#V0@M_CAZTIO(t--xg= z!sii`1giyH7EKL_+Wi0ab<)&E_0KD!3Rp2^HNB*K2@PHCs4PWSA32*-^7d{9nH2_E zmC{C*N*)(vEF1_aMamw2A{ZH5aIDqiabnFdJ|y0%aS|64E$`s2ccV~3lR!u<){eS` z#^Mx6o(iP1Ix%4dv`t@!&Za-K@mTm#vadc{0aWDV*_%EiGK7qMC_(`exc>-$Gb9~W!w_^{*pYRm~G zBN{nA;cm^w$VWg1O^^<6vY`1XCD|s_zv*g*5&V#wv&s#h$xlUilPe4U@I&UXZbL z0)%9Uj&@yd03n;!7do+bfixH^FeZ-Ema}s;DQX2gY+7g0s(9;`8GyvPY1*vxiF&|w z>!vA~GA<~JUqH}d;DfBSi^IT*#lrzXl$fNpq0_T1tA+`A$1?(gLb?e#0>UELvljtQ zK+*74m0jn&)5yk8mLBv;=@}c{t0ztT<v;Avck$S6D`Z)^c0(jiwKhQsn|LDRY&w(Fmi91I7H6S;b0XM{e zXp0~(T@k_r-!jkLwd1_Vre^v$G4|kh4}=Gi?$AaJ)3I+^m|Zyj#*?Kp@w(lQdJZf4 z#|IJW5z+S^e9@(6hW6N~{pj8|NO*>1)E=%?nNUAkmv~OY&ZV;m-%?pQ_11)hAr0oAwILrlsGawpxx4D43J&K=n+p3WLnlDsQ$b(9+4 z?mO^hmV^F8MV{4Lx>(Q=aHhQ1){0d*(e&s%G=i5rq3;t{JC zmgbn5Nkl)t@fPH$v;af26lyhH!k+#}_&aBK4baYPbZy$5aFx4}ka&qxl z$=Rh$W;U)>-=S-0=?7FH9dUAd2(q#4TCAHky!$^~;Dz^j|8_wuKc*YzfdAht@Q&ror?91Dm!N03=4=O!a)I*0q~p0g$Fm$pmr$ zb;wD;STDIi$@M%y1>p&_>%?UP($15gou_ue1u0!4(%81;qcIW8NyxFEvXpiJ|H4wz z*mFT(qVx1FKufG11hByuX%lPk4t#WZ{>8ka2efjY`~;AL6vWyQKpJun2nRiZYDij$ zP>4jQXPaP$UC$yIVgGa)jDV;F0l^n(V=HMRB5)20V7&r$jmk{UUIe zVjKroK}JAbD>B`2cwNQ&GDLx8{pg`7hbA~grk|W6LgiZ`8y`{Iq0i>t!3p2}MS6S+ zO_ruKyAElt)rdS>CtF7j{&6rP-#c=7evGMt7B6`7HG|-(WL`bDUAjyn+k$mx$CH;q2Dz4x;cPP$hW=`pFfLO)!jaCL@V2+F)So3}vg|%O*^T1j>C2lx zsURO-zIJC$^$g2byVbRIo^w>UxK}74^TqUiRR#7s_X$e)$6iYG1(PcW7un-va-S&u zHk9-6Zn&>T==A)lM^D~bk{&rFzCi35>UR!ZjQkdSiNX*-;l4z9j*7|q`TBl~Au`5& z+c)*8?#-tgUR$Zd%Q3bs96w6k7q@#tUn`5rj+r@_sAVVLqco|6O{ILX&U-&-cbVa3 zY?ngHR@%l{;`ri%H*0EhBWrGjv!LE4db?HEWb5mu*t@{kv|XwK8?npOshmzf=vZA@ zVSN9sL~!sn?r(AK)Q7Jk2(|M67Uy3I{eRy z_l&Y@A>;vjkWN5I2xvFFTLX0i+`{qz7C_@bo`ZUzDugfq4+>a3?1v%)O+YTd6@Ul7 zAfLfm=nhZ`)P~&v90$&UcF+yXm9sq!qCx3^9gzIcO|Y(js^Fj)Rvq>nQAHI92ap=P z10A4@prk+AGWCb`2)dQYFuR$|H6iDE8p}9a?#nV2}LBCoCf(Xi2@szia7#gY>b|l!-U`c}@ zLdhvQjc!BdLJvYvzzzngnw51yRYCqh4}$oRCy-z|v3Hc*d|?^Wj=l~18*E~*cR_kU z{XsxM1i{V*4GujHQ3DBpl2w4FgFR48Nma@HPgnyKoIEY-MqmMeY=I<%oG~l!f<+FN z1ZY^;10j4M4#HYXP zw5eJpA_y(>uLQ~OucgxDLuf}fVs272FaMxhn4xnDGIyLXnw>Xsd^J8XhcWIwIoQ9} z%FoSJTAGW(SRGwJwb=@pY7r$uQRK3Zd~XbxU)ts!4XsJrCycrWSI?e!IqwqIR8+Jh zlRjZ`UO1I!BtJR_2~7AbkbSm%XQqxEPkz6BTGWx8e}nQ=w7bZ|eVP4?*Tb!$(R)iC z9)&%bS*u(lXqzitAN)Oo=&Ytn>%Hzjc<5liuPi>zC_nw;Z0AE3Y$Jao_Q90R-gl~5 z_xAb2J%eArrC1CN4G$}-zVvCqF1;H;abAu6G*+PDHSYFx@Tdbfox*uEd3}BUyYY-l zTfEsOqsi#f9^FoLO;ChK<554qkri&Av~SIM*{fEYRE?vH7pTAOmu2pz3X?Wn*!ROX ztd54huAk&mFBemMooL33RV-*1f0Q3_(7hl$<#*|WF9P!;r;4_+X~k~uKEqdzZ$5Al zV63XN@)j$FN#cCD;ek1R#l zv%pGrhB~KWgoCj%GT?%{@@o(AJGt*PG#l3i>lhmb_twKH^EYvacVY-6bsCl5*^~L0 zonm@lk2UvvTKr2RS%}T>^~EYqdL1q4nD%0n&Xqr^cK^`J5W;lRRB^R-O8b&HENO||mo0xaD+S=I8RTlIfVgqN@SXDr2&-)we--K7w= zJVU8?Z+7k9dy;s;^gDkQa`0nz6N{T?(A&Iz)2!DEecLyRa&FI!id#5Z7B*O2=PsR0 zEvc|8{NS^)!d)MDX(97Xw}m&kEO@5jqRaDZ!+%`wYOI<23q|&js`&o4xvjP7D_xv@ z5hEwpsp{HezI9!~6O{~)lLR@oF7?J7i>1|5a~UuoN=q&6N}EJPV_GD`&M*v8Y`^2j zKII*d_@Fi$+i*YEW+Hbzn{iQk~yP z>7N{S4)r*!NwQ`(qcN#8SRQsNK6>{)X12nbF`*7#ecO7I)Q$uZsV+xS4E7aUn+U(K baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ literal 0 HcmV?d00001 diff --git a/apps/ethereum/cra-example/public/index.html b/apps/ethereum/cra-example/public/index.html new file mode 100644 index 00000000..aa069f27 --- /dev/null +++ b/apps/ethereum/cra-example/public/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + + React App + + + +
+ + + diff --git a/apps/ethereum/cra-example/public/logo192.png b/apps/ethereum/cra-example/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 zcmZWtbyO6NvR-oO24RV%BvuJ&=?+<7=`LvyB&A_#M7mSDYw1v6DJkiYl9XjT!%$dLEBTQ8R9|wd3008in6lFF3GV-6mLi?MoP_y~}QUnaDCHI#t z7w^m$@6DI)|C8_jrT?q=f8D?0AM?L)Z}xAo^e^W>t$*Y0KlT5=@bBjT9kxb%-KNdk zeOS1tKO#ChhG7%{ApNBzE2ZVNcxbrin#E1TiAw#BlUhXllzhN$qWez5l;h+t^q#Eav8PhR2|T}y5kkflaK`ba-eoE+Z2q@o6P$)=&` z+(8}+-McnNO>e#$Rr{32ngsZIAX>GH??tqgwUuUz6kjns|LjsB37zUEWd|(&O!)DY zQLrq%Y>)Y8G`yYbYCx&aVHi@-vZ3|ebG!f$sTQqMgi0hWRJ^Wc+Ibv!udh_r%2|U) zPi|E^PK?UE!>_4`f`1k4hqqj_$+d!EB_#IYt;f9)fBOumGNyglU(ofY`yHq4Y?B%- zp&G!MRY<~ajTgIHErMe(Z8JG*;D-PJhd@RX@QatggM7+G(Lz8eZ;73)72Hfx5KDOE zkT(m}i2;@X2AT5fW?qVp?@WgN$aT+f_6eo?IsLh;jscNRp|8H}Z9p_UBO^SJXpZew zEK8fz|0Th%(Wr|KZBGTM4yxkA5CFdAj8=QSrT$fKW#tweUFqr0TZ9D~a5lF{)%-tTGMK^2tz(y2v$i%V8XAxIywrZCp=)83p(zIk6@S5AWl|Oa2hF`~~^W zI;KeOSkw1O#TiQ8;U7OPXjZM|KrnN}9arP)m0v$c|L)lF`j_rpG(zW1Qjv$=^|p*f z>)Na{D&>n`jOWMwB^TM}slgTEcjxTlUby89j1)|6ydRfWERn3|7Zd2&e7?!K&5G$x z`5U3uFtn4~SZq|LjFVrz$3iln-+ucY4q$BC{CSm7Xe5c1J<=%Oagztj{ifpaZk_bQ z9Sb-LaQMKp-qJA*bP6DzgE3`}*i1o3GKmo2pn@dj0;He}F=BgINo};6gQF8!n0ULZ zL>kC0nPSFzlcB7p41doao2F7%6IUTi_+!L`MM4o*#Y#0v~WiO8uSeAUNp=vA2KaR&=jNR2iVwG>7t%sG2x_~yXzY)7K& zk3p+O0AFZ1eu^T3s};B%6TpJ6h-Y%B^*zT&SN7C=N;g|#dGIVMSOru3iv^SvO>h4M=t-N1GSLLDqVTcgurco6)3&XpU!FP6Hlrmj}f$ zp95;b)>M~`kxuZF3r~a!rMf4|&1=uMG$;h^g=Kl;H&Np-(pFT9FF@++MMEx3RBsK?AU0fPk-#mdR)Wdkj)`>ZMl#^<80kM87VvsI3r_c@_vX=fdQ`_9-d(xiI z4K;1y1TiPj_RPh*SpDI7U~^QQ?%0&!$Sh#?x_@;ag)P}ZkAik{_WPB4rHyW#%>|Gs zdbhyt=qQPA7`?h2_8T;-E6HI#im9K>au*(j4;kzwMSLgo6u*}-K`$_Gzgu&XE)udQ zmQ72^eZd|vzI)~!20JV-v-T|<4@7ruqrj|o4=JJPlybwMg;M$Ud7>h6g()CT@wXm` zbq=A(t;RJ^{Xxi*Ff~!|3!-l_PS{AyNAU~t{h;(N(PXMEf^R(B+ZVX3 z8y0;0A8hJYp@g+c*`>eTA|3Tgv9U8#BDTO9@a@gVMDxr(fVaEqL1tl?md{v^j8aUv zm&%PX4^|rX|?E4^CkplWWNv*OKM>DxPa z!RJ)U^0-WJMi)Ksc!^ixOtw^egoAZZ2Cg;X7(5xZG7yL_;UJ#yp*ZD-;I^Z9qkP`} zwCTs0*%rIVF1sgLervtnUo&brwz?6?PXRuOCS*JI-WL6GKy7-~yi0giTEMmDs_-UX zo=+nFrW_EfTg>oY72_4Z0*uG>MnXP=c0VpT&*|rvv1iStW;*^={rP1y?Hv+6R6bxFMkxpWkJ>m7Ba{>zc_q zEefC3jsXdyS5??Mz7IET$Kft|EMNJIv7Ny8ZOcKnzf`K5Cd)&`-fTY#W&jnV0l2vt z?Gqhic}l}mCv1yUEy$%DP}4AN;36$=7aNI^*AzV(eYGeJ(Px-j<^gSDp5dBAv2#?; zcMXv#aj>%;MiG^q^$0MSg-(uTl!xm49dH!{X0){Ew7ThWV~Gtj7h%ZD zVN-R-^7Cf0VH!8O)uUHPL2mO2tmE*cecwQv_5CzWeh)ykX8r5Hi`ehYo)d{Jnh&3p z9ndXT$OW51#H5cFKa76c<%nNkP~FU93b5h-|Cb}ScHs@4Q#|}byWg;KDMJ#|l zE=MKD*F@HDBcX@~QJH%56eh~jfPO-uKm}~t7VkHxHT;)4sd+?Wc4* z>CyR*{w@4(gnYRdFq=^(#-ytb^5ESD?x<0Skhb%Pt?npNW1m+Nv`tr9+qN<3H1f<% zZvNEqyK5FgPsQ`QIu9P0x_}wJR~^CotL|n zk?dn;tLRw9jJTur4uWoX6iMm914f0AJfB@C74a;_qRrAP4E7l890P&{v<}>_&GLrW z)klculcg`?zJO~4;BBAa=POU%aN|pmZJn2{hA!d!*lwO%YSIzv8bTJ}=nhC^n}g(ld^rn#kq9Z3)z`k9lvV>y#!F4e{5c$tnr9M{V)0m(Z< z#88vX6-AW7T2UUwW`g<;8I$Jb!R%z@rCcGT)-2k7&x9kZZT66}Ztid~6t0jKb&9mm zpa}LCb`bz`{MzpZR#E*QuBiZXI#<`5qxx=&LMr-UUf~@dRk}YI2hbMsAMWOmDzYtm zjof16D=mc`^B$+_bCG$$@R0t;e?~UkF?7<(vkb70*EQB1rfUWXh$j)R2)+dNAH5%R zEBs^?N;UMdy}V};59Gu#0$q53$}|+q7CIGg_w_WlvE}AdqoS<7DY1LWS9?TrfmcvT zaypmplwn=P4;a8-%l^e?f`OpGb}%(_mFsL&GywhyN(-VROj`4~V~9bGv%UhcA|YW% zs{;nh@aDX11y^HOFXB$a7#Sr3cEtNd4eLm@Y#fc&j)TGvbbMwze zXtekX_wJqxe4NhuW$r}cNy|L{V=t#$%SuWEW)YZTH|!iT79k#?632OFse{+BT_gau zJwQcbH{b}dzKO?^dV&3nTILYlGw{27UJ72ZN){BILd_HV_s$WfI2DC<9LIHFmtyw? zQ;?MuK7g%Ym+4e^W#5}WDLpko%jPOC=aN)3!=8)s#Rnercak&b3ESRX3z{xfKBF8L z5%CGkFmGO@x?_mPGlpEej!3!AMddChabyf~nJNZxx!D&{@xEb!TDyvqSj%Y5@A{}9 zRzoBn0?x}=krh{ok3Nn%e)#~uh;6jpezhA)ySb^b#E>73e*frBFu6IZ^D7Ii&rsiU z%jzygxT-n*joJpY4o&8UXr2s%j^Q{?e-voloX`4DQyEK+DmrZh8A$)iWL#NO9+Y@!sO2f@rI!@jN@>HOA< z?q2l{^%mY*PNx2FoX+A7X3N}(RV$B`g&N=e0uvAvEN1W^{*W?zT1i#fxuw10%~))J zjx#gxoVlXREWZf4hRkgdHx5V_S*;p-y%JtGgQ4}lnA~MBz-AFdxUxU1RIT$`sal|X zPB6sEVRjGbXIP0U+?rT|y5+ev&OMX*5C$n2SBPZr`jqzrmpVrNciR0e*Wm?fK6DY& zl(XQZ60yWXV-|Ps!A{EF;=_z(YAF=T(-MkJXUoX zI{UMQDAV2}Ya?EisdEW;@pE6dt;j0fg5oT2dxCi{wqWJ<)|SR6fxX~5CzblPGr8cb zUBVJ2CQd~3L?7yfTpLNbt)He1D>*KXI^GK%<`bq^cUq$Q@uJifG>p3LU(!H=C)aEL zenk7pVg}0{dKU}&l)Y2Y2eFMdS(JS0}oZUuVaf2+K*YFNGHB`^YGcIpnBlMhO7d4@vV zv(@N}(k#REdul8~fP+^F@ky*wt@~&|(&&meNO>rKDEnB{ykAZ}k>e@lad7to>Ao$B zz<1(L=#J*u4_LB=8w+*{KFK^u00NAmeNN7pr+Pf+N*Zl^dO{LM-hMHyP6N!~`24jd zXYP|Ze;dRXKdF2iJG$U{k=S86l@pytLx}$JFFs8e)*Vi?aVBtGJ3JZUj!~c{(rw5>vuRF$`^p!P8w1B=O!skwkO5yd4_XuG^QVF z`-r5K7(IPSiKQ2|U9+`@Js!g6sfJwAHVd|s?|mnC*q zp|B|z)(8+mxXyxQ{8Pg3F4|tdpgZZSoU4P&9I8)nHo1@)9_9u&NcT^FI)6|hsAZFk zZ+arl&@*>RXBf-OZxhZerOr&dN5LW9@gV=oGFbK*J+m#R-|e6(Loz(;g@T^*oO)0R zN`N=X46b{7yk5FZGr#5&n1!-@j@g02g|X>MOpF3#IjZ_4wg{dX+G9eqS+Es9@6nC7 zD9$NuVJI}6ZlwtUm5cCAiYv0(Yi{%eH+}t)!E^>^KxB5^L~a`4%1~5q6h>d;paC9c zTj0wTCKrhWf+F#5>EgX`sl%POl?oyCq0(w0xoL?L%)|Q7d|Hl92rUYAU#lc**I&^6p=4lNQPa0 znQ|A~i0ip@`B=FW-Q;zh?-wF;Wl5!+q3GXDu-x&}$gUO)NoO7^$BeEIrd~1Dh{Tr` z8s<(Bn@gZ(mkIGnmYh_ehXnq78QL$pNDi)|QcT*|GtS%nz1uKE+E{7jdEBp%h0}%r zD2|KmYGiPa4;md-t_m5YDz#c*oV_FqXd85d@eub?9N61QuYcb3CnVWpM(D-^|CmkL z(F}L&N7qhL2PCq)fRh}XO@U`Yn<?TNGR4L(mF7#4u29{i~@k;pLsgl({YW5`Mo+p=zZn3L*4{JU;++dG9 X@eDJUQo;Ye2mwlRs?y0|+_a0zY+Zo%Dkae}+MySoIppb75o?vUW_?)>@g{U2`ERQIXV zeY$JrWnMZ$QC<=ii4X|@0H8`si75jB(ElJb00HAB%>SlLR{!zO|C9P3zxw_U8?1d8uRZ=({Ga4shyN}3 zAK}WA(ds|``G4jA)9}Bt2Hy0+f3rV1E6b|@?hpGA=PI&r8)ah|)I2s(P5Ic*Ndhn^ z*T&j@gbCTv7+8rpYbR^Ty}1AY)YH;p!m948r#%7x^Z@_-w{pDl|1S4`EM3n_PaXvK z1JF)E3qy$qTj5Xs{jU9k=y%SQ0>8E$;x?p9ayU0bZZeo{5Z@&FKX>}s!0+^>C^D#z z>xsCPvxD3Z=dP}TTOSJhNTPyVt14VCQ9MQFN`rn!c&_p?&4<5_PGm4a;WS&1(!qKE z_H$;dDdiPQ!F_gsN`2>`X}$I=B;={R8%L~`>RyKcS$72ai$!2>d(YkciA^J0@X%G4 z4cu!%Ps~2JuJ8ex`&;Fa0NQOq_nDZ&X;^A=oc1&f#3P1(!5il>6?uK4QpEG8z0Rhu zvBJ+A9RV?z%v?!$=(vcH?*;vRs*+PPbOQ3cdPr5=tOcLqmfx@#hOqX0iN)wTTO21jH<>jpmwRIAGw7`a|sl?9y9zRBh>(_%| zF?h|P7}~RKj?HR+q|4U`CjRmV-$mLW>MScKnNXiv{vD3&2@*u)-6P@h0A`eeZ7}71 zK(w%@R<4lLt`O7fs1E)$5iGb~fPfJ?WxhY7c3Q>T-w#wT&zW522pH-B%r5v#5y^CF zcC30Se|`D2mY$hAlIULL%-PNXgbbpRHgn<&X3N9W!@BUk@9g*P5mz-YnZBb*-$zMM z7Qq}ic0mR8n{^L|=+diODdV}Q!gwr?y+2m=3HWwMq4z)DqYVg0J~^}-%7rMR@S1;9 z7GFj6K}i32X;3*$SmzB&HW{PJ55kT+EI#SsZf}bD7nW^Haf}_gXciYKX{QBxIPSx2Ma? zHQqgzZq!_{&zg{yxqv3xq8YV+`S}F6A>Gtl39_m;K4dA{pP$BW0oIXJ>jEQ!2V3A2 zdpoTxG&V=(?^q?ZTj2ZUpDUdMb)T?E$}CI>r@}PFPWD9@*%V6;4Ag>D#h>!s)=$0R zRXvdkZ%|c}ubej`jl?cS$onl9Tw52rBKT)kgyw~Xy%z62Lr%V6Y=f?2)J|bZJ5(Wx zmji`O;_B+*X@qe-#~`HFP<{8$w@z4@&`q^Q-Zk8JG3>WalhnW1cvnoVw>*R@c&|o8 zZ%w!{Z+MHeZ*OE4v*otkZqz11*s!#s^Gq>+o`8Z5 z^i-qzJLJh9!W-;SmFkR8HEZJWiXk$40i6)7 zZpr=k2lp}SasbM*Nbn3j$sn0;rUI;%EDbi7T1ZI4qL6PNNM2Y%6{LMIKW+FY_yF3) zSKQ2QSujzNMSL2r&bYs`|i2Dnn z=>}c0>a}>|uT!IiMOA~pVT~R@bGlm}Edf}Kq0?*Af6#mW9f9!}RjW7om0c9Qlp;yK z)=XQs(|6GCadQbWIhYF=rf{Y)sj%^Id-ARO0=O^Ad;Ph+ z0?$eE1xhH?{T$QI>0JP75`r)U_$#%K1^BQ8z#uciKf(C701&RyLQWBUp*Q7eyn76} z6JHpC9}R$J#(R0cDCkXoFSp;j6{x{b&0yE@P7{;pCEpKjS(+1RQy38`=&Yxo%F=3y zCPeefABp34U-s?WmU#JJw23dcC{sPPFc2#J$ZgEN%zod}J~8dLm*fx9f6SpO zn^Ww3bt9-r0XaT2a@Wpw;C23XM}7_14#%QpubrIw5aZtP+CqIFmsG4`Cm6rfxl9n5 z7=r2C-+lM2AB9X0T_`?EW&Byv&K?HS4QLoylJ|OAF z`8atBNTzJ&AQ!>sOo$?^0xj~D(;kS$`9zbEGd>f6r`NC3X`tX)sWgWUUOQ7w=$TO&*j;=u%25ay-%>3@81tGe^_z*C7pb9y*Ed^H3t$BIKH2o+olp#$q;)_ zfpjCb_^VFg5fU~K)nf*d*r@BCC>UZ!0&b?AGk_jTPXaSnCuW110wjHPPe^9R^;jo3 zwvzTl)C`Zl5}O2}3lec=hZ*$JnkW#7enKKc)(pM${_$9Hc=Sr_A9Biwe*Y=T?~1CK z6eZ9uPICjy-sMGbZl$yQmpB&`ouS8v{58__t0$JP%i3R&%QR3ianbZqDs<2#5FdN@n5bCn^ZtH992~5k(eA|8|@G9u`wdn7bnpg|@{m z^d6Y`*$Zf2Xr&|g%sai#5}Syvv(>Jnx&EM7-|Jr7!M~zdAyjt*xl;OLhvW-a%H1m0 z*x5*nb=R5u><7lyVpNAR?q@1U59 zO+)QWwL8t zyip?u_nI+K$uh{y)~}qj?(w0&=SE^8`_WMM zTybjG=999h38Yes7}-4*LJ7H)UE8{mE(6;8voE+TYY%33A>S6`G_95^5QHNTo_;Ao ztIQIZ_}49%{8|=O;isBZ?=7kfdF8_@azfoTd+hEJKWE!)$)N%HIe2cplaK`ry#=pV z0q{9w-`i0h@!R8K3GC{ivt{70IWG`EP|(1g7i_Q<>aEAT{5(yD z=!O?kq61VegV+st@XCw475j6vS)_z@efuqQgHQR1T4;|-#OLZNQJPV4k$AX1Uk8Lm z{N*b*ia=I+MB}kWpupJ~>!C@xEN#Wa7V+7{m4j8c?)ChV=D?o~sjT?0C_AQ7B-vxqX30s0I_`2$in86#`mAsT-w?j{&AL@B3$;P z31G4(lV|b}uSDCIrjk+M1R!X7s4Aabn<)zpgT}#gE|mIvV38^ODy@<&yflpCwS#fRf9ZX3lPV_?8@C5)A;T zqmouFLFk;qIs4rA=hh=GL~sCFsXHsqO6_y~*AFt939UYVBSx1s(=Kb&5;j7cSowdE;7()CC2|-i9Zz+_BIw8#ll~-tyH?F3{%`QCsYa*b#s*9iCc`1P1oC26?`g<9))EJ3%xz+O!B3 zZ7$j~To)C@PquR>a1+Dh>-a%IvH_Y7^ys|4o?E%3`I&ADXfC8++hAdZfzIT#%C+Jz z1lU~K_vAm0m8Qk}K$F>|>RPK%<1SI0(G+8q~H zAsjezyP+u!Se4q3GW)`h`NPSRlMoBjCzNPesWJwVTY!o@G8=(6I%4XHGaSiS3MEBK zhgGFv6Jc>L$4jVE!I?TQuwvz_%CyO!bLh94nqK11C2W$*aa2ueGopG8DnBICVUORP zgytv#)49fVXDaR$SukloYC3u7#5H)}1K21=?DKj^U)8G;MS)&Op)g^zR2($<>C*zW z;X7`hLxiIO#J`ANdyAOJle4V%ppa*(+0i3w;8i*BA_;u8gOO6)MY`ueq7stBMJTB; z-a0R>hT*}>z|Gg}@^zDL1MrH+2hsR8 zHc}*9IvuQC^Ju)^#Y{fOr(96rQNPNhxc;mH@W*m206>Lo<*SaaH?~8zg&f&%YiOEG zGiz?*CP>Bci}!WiS=zj#K5I}>DtpregpP_tfZtPa(N<%vo^#WCQ5BTv0vr%Z{)0q+ z)RbfHktUm|lg&U3YM%lMUM(fu}i#kjX9h>GYctkx9Mt_8{@s%!K_EI zScgwy6%_fR?CGJQtmgNAj^h9B#zmaMDWgH55pGuY1Gv7D z;8Psm(vEPiwn#MgJYu4Ty9D|h!?Rj0ddE|&L3S{IP%H4^N!m`60ZwZw^;eg4sk6K{ ziA^`Sbl_4~f&Oo%n;8Ye(tiAdlZKI!Z=|j$5hS|D$bDJ}p{gh$KN&JZYLUjv4h{NY zBJ>X9z!xfDGY z+oh_Z&_e#Q(-}>ssZfm=j$D&4W4FNy&-kAO1~#3Im;F)Nwe{(*75(p=P^VI?X0GFakfh+X-px4a%Uw@fSbmp9hM1_~R>?Z8+ ziy|e9>8V*`OP}4x5JjdWp}7eX;lVxp5qS}0YZek;SNmm7tEeSF*-dI)6U-A%m6YvCgM(}_=k#a6o^%-K4{`B1+}O4x zztDT%hVb;v#?j`lTvlFQ3aV#zkX=7;YFLS$uIzb0E3lozs5`Xy zi~vF+%{z9uLjKvKPhP%x5f~7-Gj+%5N`%^=yk*Qn{`> z;xj&ROY6g`iy2a@{O)V(jk&8#hHACVDXey5a+KDod_Z&}kHM}xt7}Md@pil{2x7E~ zL$k^d2@Ec2XskjrN+IILw;#7((abu;OJii&v3?60x>d_Ma(onIPtcVnX@ELF0aL?T zSmWiL3(dOFkt!x=1O!_0n(cAzZW+3nHJ{2S>tgSK?~cFha^y(l@-Mr2W$%MN{#af8J;V*>hdq!gx=d0h$T7l}>91Wh07)9CTX zh2_ZdQCyFOQ)l(}gft0UZG`Sh2`x-w`5vC2UD}lZs*5 zG76$akzn}Xi))L3oGJ75#pcN=cX3!=57$Ha=hQ2^lwdyU#a}4JJOz6ddR%zae%#4& za)bFj)z=YQela(F#Y|Q#dp}PJghITwXouVaMq$BM?K%cXn9^Y@g43$=O)F&ZlOUom zJiad#dea;-eywBA@e&D6Pdso1?2^(pXiN91?jvcaUyYoKUmvl5G9e$W!okWe*@a<^ z8cQQ6cNSf+UPDx%?_G4aIiybZHHagF{;IcD(dPO!#=u zWfqLcPc^+7Uu#l(Bpxft{*4lv#*u7X9AOzDO z1D9?^jIo}?%iz(_dwLa{ex#T}76ZfN_Z-hwpus9y+4xaUu9cX}&P{XrZVWE{1^0yw zO;YhLEW!pJcbCt3L8~a7>jsaN{V3>tz6_7`&pi%GxZ=V3?3K^U+*ryLSb)8^IblJ0 zSRLNDvIxt)S}g30?s_3NX>F?NKIGrG_zB9@Z>uSW3k2es_H2kU;Rnn%j5qP)!XHKE zPB2mHP~tLCg4K_vH$xv`HbRsJwbZMUV(t=ez;Ec(vyHH)FbfLg`c61I$W_uBB>i^r z&{_P;369-&>23R%qNIULe=1~T$(DA`ev*EWZ6j(B$(te}x1WvmIll21zvygkS%vwG zzkR6Z#RKA2!z!C%M!O>!=Gr0(J0FP=-MN=5t-Ir)of50y10W}j`GtRCsXBakrKtG& zazmITDJMA0C51&BnLY)SY9r)NVTMs);1<=oosS9g31l{4ztjD3#+2H7u_|66b|_*O z;Qk6nalpqdHOjx|K&vUS_6ITgGll;TdaN*ta=M_YtyC)I9Tmr~VaPrH2qb6sd~=AcIxV+%z{E&0@y=DPArw zdV7z(G1hBx7hd{>(cr43^WF%4Y@PXZ?wPpj{OQ#tvc$pABJbvPGvdR`cAtHn)cSEV zrpu}1tJwQ3y!mSmH*uz*x0o|CS<^w%&KJzsj~DU0cLQUxk5B!hWE>aBkjJle8z~;s z-!A=($+}Jq_BTK5^B!`R>!MulZN)F=iXXeUd0w5lUsE5VP*H*oCy(;?S$p*TVvTxwAeWFB$jHyb0593)$zqalVlDX=GcCN1gU0 zlgU)I$LcXZ8Oyc2TZYTPu@-;7<4YYB-``Qa;IDcvydIA$%kHhJKV^m*-zxcvU4viy&Kr5GVM{IT>WRywKQ9;>SEiQD*NqplK-KK4YR`p0@JW)n_{TU3bt0 zim%;(m1=#v2}zTps=?fU5w^(*y)xT%1vtQH&}50ZF!9YxW=&7*W($2kgKyz1mUgfs zfV<*XVVIFnohW=|j+@Kfo!#liQR^x>2yQdrG;2o8WZR+XzU_nG=Ed2rK?ntA;K5B{ z>M8+*A4!Jm^Bg}aW?R?6;@QG@uQ8&oJ{hFixcfEnJ4QH?A4>P=q29oDGW;L;= z9-a0;g%c`C+Ai!UmK$NC*4#;Jp<1=TioL=t^YM)<<%u#hnnfSS`nq63QKGO1L8RzX z@MFDqs1z ztYmxDl@LU)5acvHk)~Z`RW7=aJ_nGD!mOSYD>5Odjn@TK#LY{jf?+piB5AM-CAoT_ z?S-*q7}wyLJzK>N%eMPuFgN)Q_otKP;aqy=D5f!7<=n(lNkYRXVpkB{TAYLYg{|(jtRqYmg$xH zjmq?B(RE4 zQx^~Pt}gxC2~l=K$$-sYy_r$CO(d=+b3H1MB*y_5g6WLaWTXn+TKQ|hNY^>Mp6k*$ zwkovomhu776vQATqT4blf~g;TY(MWCrf^^yfWJvSAB$p5l;jm@o#=!lqw+Lqfq>X= z$6~kxfm7`3q4zUEB;u4qa#BdJxO!;xGm)wwuisj{0y2x{R(IGMrsIzDY9LW>m!Y`= z04sx3IjnYvL<4JqxQ8f7qYd0s2Ig%`ytYPEMKI)s(LD}D@EY>x`VFtqvnADNBdeao zC96X+MxnwKmjpg{U&gP3HE}1=s!lv&D{6(g_lzyF3A`7Jn*&d_kL<;dAFx!UZ>hB8 z5A*%LsAn;VLp>3${0>M?PSQ)9s3}|h2e?TG4_F{}{Cs>#3Q*t$(CUc}M)I}8cPF6% z=+h(Kh^8)}gj(0}#e7O^FQ6`~fd1#8#!}LMuo3A0bN`o}PYsm!Y}sdOz$+Tegc=qT z8x`PH$7lvnhJp{kHWb22l;@7B7|4yL4UOOVM0MP_>P%S1Lnid)+k9{+3D+JFa#Pyf zhVc#&df87APl4W9X)F3pGS>@etfl=_E5tBcVoOfrD4hmVeTY-cj((pkn%n@EgN{0f zwb_^Rk0I#iZuHK!l*lN`ceJn(sI{$Fq6nN& zE<-=0_2WN}m+*ivmIOxB@#~Q-cZ>l136w{#TIJe478`KE7@=a{>SzPHsKLzYAyBQO zAtuuF$-JSDy_S@6GW0MOE~R)b;+0f%_NMrW(+V#c_d&U8Z9+ec4=HmOHw?gdjF(Lu zzra83M_BoO-1b3;9`%&DHfuUY)6YDV21P$C!Rc?mv&{lx#f8oc6?0?x zK08{WP65?#>(vPfA-c=MCY|%*1_<3D4NX zeVTi-JGl2uP_2@0F{G({pxQOXt_d{g_CV6b?jNpfUG9;8yle-^4KHRvZs-_2siata zt+d_T@U$&t*xaD22(fH(W1r$Mo?3dc%Tncm=C6{V9y{v&VT#^1L04vDrLM9qBoZ4@ z6DBN#m57hX7$C(=#$Y5$bJmwA$T8jKD8+6A!-IJwA{WOfs%s}yxUw^?MRZjF$n_KN z6`_bGXcmE#5e4Ym)aQJ)xg3Pg0@k`iGuHe?f(5LtuzSq=nS^5z>vqU0EuZ&75V%Z{ zYyhRLN^)$c6Ds{f7*FBpE;n5iglx5PkHfWrj3`x^j^t z7ntuV`g!9Xg#^3!x)l*}IW=(Tz3>Y5l4uGaB&lz{GDjm2D5S$CExLT`I1#n^lBH7Y zDgpMag@`iETKAI=p<5E#LTkwzVR@=yY|uBVI1HG|8h+d;G-qfuj}-ZR6fN>EfCCW z9~wRQoAPEa#aO?3h?x{YvV*d+NtPkf&4V0k4|L=uj!U{L+oLa(z#&iuhJr3-PjO3R z5s?=nn_5^*^Rawr>>Nr@K(jwkB#JK-=+HqwfdO<+P5byeim)wvqGlP-P|~Nse8=XF zz`?RYB|D6SwS}C+YQv+;}k6$-%D(@+t14BL@vM z2q%q?f6D-A5s$_WY3{^G0F131bbh|g!}#BKw=HQ7mx;Dzg4Z*bTLQSfo{ed{4}NZW zfrRm^Ca$rlE{Ue~uYv>R9{3smwATcdM_6+yWIO z*ZRH~uXE@#p$XTbCt5j7j2=86e{9>HIB6xDzV+vAo&B?KUiMP|ttOElepnl%|DPqL b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/apps/ethereum/cra-example/public/manifest.json b/apps/ethereum/cra-example/public/manifest.json new file mode 100644 index 00000000..080d6c77 --- /dev/null +++ b/apps/ethereum/cra-example/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/apps/ethereum/cra-example/public/robots.txt b/apps/ethereum/cra-example/public/robots.txt new file mode 100644 index 00000000..e9e57dc4 --- /dev/null +++ b/apps/ethereum/cra-example/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/apps/ethereum/cra-example/src/App.css b/apps/ethereum/cra-example/src/App.css new file mode 100644 index 00000000..74b5e053 --- /dev/null +++ b/apps/ethereum/cra-example/src/App.css @@ -0,0 +1,38 @@ +.App { + text-align: center; +} + +.App-logo { + height: 40vmin; + pointer-events: none; +} + +@media (prefers-reduced-motion: no-preference) { + .App-logo { + animation: App-logo-spin infinite 20s linear; + } +} + +.App-header { + background-color: #282c34; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: white; +} + +.App-link { + color: #61dafb; +} + +@keyframes App-logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/apps/ethereum/cra-example/src/App.test.tsx b/apps/ethereum/cra-example/src/App.test.tsx new file mode 100644 index 00000000..2a68616d --- /dev/null +++ b/apps/ethereum/cra-example/src/App.test.tsx @@ -0,0 +1,9 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import App from './App'; + +test('renders learn react link', () => { + render(); + const linkElement = screen.getByText(/learn react/i); + expect(linkElement).toBeInTheDocument(); +}); diff --git a/apps/ethereum/cra-example/src/App.tsx b/apps/ethereum/cra-example/src/App.tsx new file mode 100644 index 00000000..a53698aa --- /dev/null +++ b/apps/ethereum/cra-example/src/App.tsx @@ -0,0 +1,26 @@ +import React from 'react'; +import logo from './logo.svg'; +import './App.css'; + +function App() { + return ( + + ); +} + +export default App; diff --git a/apps/ethereum/cra-example/src/index.css b/apps/ethereum/cra-example/src/index.css new file mode 100644 index 00000000..ec2585e8 --- /dev/null +++ b/apps/ethereum/cra-example/src/index.css @@ -0,0 +1,13 @@ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} diff --git a/apps/ethereum/cra-example/src/index.tsx b/apps/ethereum/cra-example/src/index.tsx new file mode 100644 index 00000000..571ba379 --- /dev/null +++ b/apps/ethereum/cra-example/src/index.tsx @@ -0,0 +1,24 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import './index.css'; +import App from './App'; +import reportWebVitals from './reportWebVitals'; +import { initialize, Network } from '@decentology/hyperverse'; + +const hyperverse = initialize({ + blockchain: null, + network: Network.Testnet, + modules: [] +}); + +ReactDOM.render( + + + , + document.getElementById('root') +); + +// If you want to start measuring performance in your app, pass a function +// to log results (for example: reportWebVitals(console.log)) +// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals +reportWebVitals(); diff --git a/apps/ethereum/cra-example/src/logo.svg b/apps/ethereum/cra-example/src/logo.svg new file mode 100644 index 00000000..9dfc1c05 --- /dev/null +++ b/apps/ethereum/cra-example/src/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/ethereum/cra-example/src/react-app-env.d.ts b/apps/ethereum/cra-example/src/react-app-env.d.ts new file mode 100644 index 00000000..6431bc5f --- /dev/null +++ b/apps/ethereum/cra-example/src/react-app-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/apps/ethereum/cra-example/src/reportWebVitals.ts b/apps/ethereum/cra-example/src/reportWebVitals.ts new file mode 100644 index 00000000..49a2a16e --- /dev/null +++ b/apps/ethereum/cra-example/src/reportWebVitals.ts @@ -0,0 +1,15 @@ +import { ReportHandler } from 'web-vitals'; + +const reportWebVitals = (onPerfEntry?: ReportHandler) => { + if (onPerfEntry && onPerfEntry instanceof Function) { + import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { + getCLS(onPerfEntry); + getFID(onPerfEntry); + getFCP(onPerfEntry); + getLCP(onPerfEntry); + getTTFB(onPerfEntry); + }); + } +}; + +export default reportWebVitals; diff --git a/apps/ethereum/cra-example/src/setupTests.ts b/apps/ethereum/cra-example/src/setupTests.ts new file mode 100644 index 00000000..8f2609b7 --- /dev/null +++ b/apps/ethereum/cra-example/src/setupTests.ts @@ -0,0 +1,5 @@ +// jest-dom adds custom jest matchers for asserting on DOM nodes. +// allows you to do things like: +// expect(element).toHaveTextContent(/react/i) +// learn more: https://github.com/testing-library/jest-dom +import '@testing-library/jest-dom'; diff --git a/apps/ethereum/cra-example/tsconfig.json b/apps/ethereum/cra-example/tsconfig.json new file mode 100644 index 00000000..36fb9db8 --- /dev/null +++ b/apps/ethereum/cra-example/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": [ + "src", + ], + "references": [ + {"path": "../../../packages/hyperverse"} + ] +} diff --git a/apps/ethereum/vite-example/.gitignore b/apps/ethereum/vite-example/.gitignore new file mode 100644 index 00000000..a547bf36 --- /dev/null +++ b/apps/ethereum/vite-example/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/apps/ethereum/vite-example/index.html b/apps/ethereum/vite-example/index.html new file mode 100644 index 00000000..38f38611 --- /dev/null +++ b/apps/ethereum/vite-example/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/apps/ethereum/vite-example/package.json b/apps/ethereum/vite-example/package.json new file mode 100644 index 00000000..3850e22c --- /dev/null +++ b/apps/ethereum/vite-example/package.json @@ -0,0 +1,26 @@ +{ + "name": "vite-example", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@decentology/hyperverse": "^1.0.9", + "@decentology/hyperverse-ethereum": "^1.0.9", + "@decentology/hyperverse-ethereum-randompick": "^1.0.11", + "@esbuild-plugins/node-globals-polyfill": "^0.1.1", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "rollup-plugin-polyfill-node": "^0.8.0" + }, + "devDependencies": { + "@types/react": "^17.0.33", + "@types/react-dom": "^17.0.10", + "@vitejs/plugin-react": "^1.0.7", + "typescript": "^4.5.4", + "vite": "^2.8.0" + } +} diff --git a/apps/ethereum/vite-example/src/App.css b/apps/ethereum/vite-example/src/App.css new file mode 100644 index 00000000..8da3fde6 --- /dev/null +++ b/apps/ethereum/vite-example/src/App.css @@ -0,0 +1,42 @@ +.App { + text-align: center; +} + +.App-logo { + height: 40vmin; + pointer-events: none; +} + +@media (prefers-reduced-motion: no-preference) { + .App-logo { + animation: App-logo-spin infinite 20s linear; + } +} + +.App-header { + background-color: #282c34; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: white; +} + +.App-link { + color: #61dafb; +} + +@keyframes App-logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +button { + font-size: calc(10px + 2vmin); +} diff --git a/apps/ethereum/vite-example/src/App.tsx b/apps/ethereum/vite-example/src/App.tsx new file mode 100644 index 00000000..3d9bd71e --- /dev/null +++ b/apps/ethereum/vite-example/src/App.tsx @@ -0,0 +1,45 @@ +import { useState } from 'react' +import logo from './logo.svg' +import './App.css' + +function App() { + const [count, setCount] = useState(0) + + return ( +
+
+ logo +

Hello Vite + React!

+

+ +

+

+ Edit App.tsx and save to test HMR updates. +

+

+ + Learn React + + {' | '} + + Vite Docs + +

+
+
+ ) +} + +export default App diff --git a/apps/ethereum/vite-example/src/favicon.svg b/apps/ethereum/vite-example/src/favicon.svg new file mode 100644 index 00000000..de4aeddc --- /dev/null +++ b/apps/ethereum/vite-example/src/favicon.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/apps/ethereum/vite-example/src/index.css b/apps/ethereum/vite-example/src/index.css new file mode 100644 index 00000000..ec2585e8 --- /dev/null +++ b/apps/ethereum/vite-example/src/index.css @@ -0,0 +1,13 @@ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} diff --git a/apps/ethereum/vite-example/src/logo.svg b/apps/ethereum/vite-example/src/logo.svg new file mode 100644 index 00000000..6b60c104 --- /dev/null +++ b/apps/ethereum/vite-example/src/logo.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ethereum/vite-example/src/main.tsx b/apps/ethereum/vite-example/src/main.tsx new file mode 100644 index 00000000..53cd94c5 --- /dev/null +++ b/apps/ethereum/vite-example/src/main.tsx @@ -0,0 +1,28 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import './index.css'; +import App from './App'; +import { Provider, initialize, Network } from '@decentology/hyperverse'; +import { Ethereum } from '@decentology/hyperverse-ethereum'; +import * as RandomPick from '@decentology/hyperverse-ethereum-randompick'; + +ReactDOM.render( + + + + + , + document.getElementById('root') +); diff --git a/apps/ethereum/vite-example/src/vite-env.d.ts b/apps/ethereum/vite-example/src/vite-env.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/apps/ethereum/vite-example/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/apps/ethereum/vite-example/tsconfig.json b/apps/ethereum/vite-example/tsconfig.json new file mode 100644 index 00000000..c8bdc640 --- /dev/null +++ b/apps/ethereum/vite-example/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": false, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/apps/ethereum/vite-example/tsconfig.node.json b/apps/ethereum/vite-example/tsconfig.node.json new file mode 100644 index 00000000..e993792c --- /dev/null +++ b/apps/ethereum/vite-example/tsconfig.node.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node" + }, + "include": ["vite.config.ts"] +} diff --git a/apps/ethereum/vite-example/vite.config.ts b/apps/ethereum/vite-example/vite.config.ts new file mode 100644 index 00000000..31da07a8 --- /dev/null +++ b/apps/ethereum/vite-example/vite.config.ts @@ -0,0 +1,48 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; +import NodeGlobalsPolyfillPlugin from '@esbuild-plugins/node-globals-polyfill'; +import polyfillNode from 'rollup-plugin-polyfill-node'; +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + polyfillNode(), + react(), + + ], + optimizeDeps: { + include: [ + // '@decentology/hyperverse', + // '@decentology/hyperverse-evm', + '@decentology/web3modal', + // '@decentology/hyperverse-ethereum' + ], + esbuildOptions: { + define: { + global: "globalThis" + }, + plugins: [ + NodeGlobalsPolyfillPlugin({ + buffer: true + }) + ] + } + // exclude: ['@decentology/web3modal'] + }, + build: { + commonjsOptions: { + include: ['@decentology/web3modal'] + } + }, + resolve: { + alias: { + 'react/jsx-runtime': 'react/jsx-runtime.js', + buffer: 'buffer' + } + }, + define: { + global: {}, + process: { + env: {} + } + } +}); diff --git a/package.json b/package.json index 61674d13..a61255b0 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "packages/*" ], "scripts": { - "build": "turbo run build --no-deps --scope=@decentology/hyperverse-ethereum-erc721 --scope=@decentology/hyperverse-token --scope=@decentology/hyperverse-metis --scope=@decentology/hyperverse-metis-tribes --scope=@decentology/hyperverse --scope=@decentology/hyperverse-algorand --scope=@decentology/hyperverse-algorand-counter --scope=@decentology/hyperverse-ethereum --scope=@decentology/hyperverse-ethereum-tribes --scope=@decentology/hyperverse-flow --scope=@decentology/hyperverse-flow-tribes --scope=@decentology/hyperverse-storage-skynet", + "build": "turbo run build --no-deps --scope=@decentology/hyperverse-ethereum-randompick --scope=@decentology/web3modal --scope=@decentology/hyperverse-evm --scope=@decentology/unstated-next --scope=@decentology/hyperverse-ethereum-erc721 --scope=@decentology/hyperverse-token --scope=@decentology/hyperverse-metis --scope=@decentology/hyperverse-metis-tribes --scope=@decentology/hyperverse --scope=@decentology/hyperverse-algorand --scope=@decentology/hyperverse-algorand-counter --scope=@decentology/hyperverse-ethereum --scope=@decentology/hyperverse-ethereum-tribes --scope=@decentology/hyperverse-flow --scope=@decentology/hyperverse-flow-tribes --scope=@decentology/hyperverse-storage-skynet", "dev": "turbo run dev --parallel", "clean": "turbo run clean --parallel", "dev:algorand": "turbo run dev --cwd=./apps/algorand --parallel ", diff --git a/packages/config/base.json b/packages/config/base.json index 5b57072b..885f12a6 100644 --- a/packages/config/base.json +++ b/packages/config/base.json @@ -2,7 +2,7 @@ "$schema": "https://json.schemastore.org/tsconfig", "display": "Default", "compilerOptions": { - "composite": false, + "composite": true, "declaration": true, "declarationMap": true, "esModuleInterop": true, diff --git a/packages/config/react-library.json b/packages/config/react-library.json index 33b429e0..133d87d2 100644 --- a/packages/config/react-library.json +++ b/packages/config/react-library.json @@ -1,15 +1,16 @@ { - "$schema": "https://json.schemastore.org/tsconfig", - "display": "React Library", - "extends": "./base.json", - "include": ["source/**/*"], - "exclude": ["node_modules"], - "compilerOptions": { - "lib": ["ES2015", "DOM"], - "module": "ESNext", - "rootDir": "../", - "outDir": "distribution", - "moduleResolution": "Node", - "jsx": "react-jsx" - } + "$schema": "https://json.schemastore.org/tsconfig", + "display": "React Library", + "extends": "./base.json", + "include": ["source/**/*"], + "exclude": ["node_modules"], + "compilerOptions": { + "lib": ["ES2015", "DOM"], + "module": "ES6", + "rootDir": "../", + "outDir": "distribution", + "importHelpers": false, + "moduleResolution": "Node", + "jsx": "react-jsx" + } } diff --git a/packages/hyperverse-ethereum/package.json b/packages/hyperverse-ethereum/package.json index 90024646..722181d9 100644 --- a/packages/hyperverse-ethereum/package.json +++ b/packages/hyperverse-ethereum/package.json @@ -3,6 +3,7 @@ "version": "1.0.9", "source": "./source/index.ts", "main": "./distribution/index.js", + "module": "./distribution/index.es.js", "types": "./distribution/index.d.ts", "license": "MIT", "scripts": { @@ -21,7 +22,6 @@ "dependencies": { "@decentology/hyperverse": "^1.0.9", "@decentology/hyperverse-evm": "^1.0.0", - "@decentology/web3modal": "^1.9.6", "@walletconnect/web3-provider": "^1.7.1", "ethers": "^5.5.3", "@decentology/unstated-next": "^1.1.1" diff --git a/packages/hyperverse-ethereum/source/index.ts b/packages/hyperverse-ethereum/source/index.ts index e2f4f261..87054f0e 100644 --- a/packages/hyperverse-ethereum/source/index.ts +++ b/packages/hyperverse-ethereum/source/index.ts @@ -1,4 +1,3 @@ -export * from '@decentology/web3modal'; import { useEthereum } from './useEthereum'; import Provider from './Provider' import { Blockchain, makeHyperverseBlockchain } from '@decentology/hyperverse'; diff --git a/packages/hyperverse-evm/package.json b/packages/hyperverse-evm/package.json index 003ed0c7..340c82f5 100644 --- a/packages/hyperverse-evm/package.json +++ b/packages/hyperverse-evm/package.json @@ -2,6 +2,7 @@ "name": "@decentology/hyperverse-evm", "version": "1.0.9", "source": "./source/index.ts", + "module": "./distribution/index.es.js", "main": "./distribution/index.js", "types": "./distribution/index.d.ts", "license": "MIT", @@ -20,10 +21,10 @@ }, "dependencies": { "@decentology/hyperverse": "^1.0.9", + "@decentology/unstated-next": "^1.1.1", "@decentology/web3modal": "^1.9.6", "@walletconnect/web3-provider": "^1.7.1", - "ethers": "^5.5.3", - "@decentology/unstated-next": "^1.1.1" + "ethers": "^5.5.3" }, "devDependencies": { "@decentology/config": "^1.0.0", diff --git a/packages/hyperverse-evm/source/index.ts b/packages/hyperverse-evm/source/index.ts index 23b51a1a..911de18f 100644 --- a/packages/hyperverse-evm/source/index.ts +++ b/packages/hyperverse-evm/source/index.ts @@ -4,7 +4,7 @@ import { Blockchain, makeHyperverseBlockchain } from '@decentology/hyperverse'; export const Ethereum = makeHyperverseBlockchain({ name: Blockchain.Ethereum, - Provider: Provider, + Provider: Provider }); export { Provider, useEvm, Evm }; diff --git a/packages/hyperverse-evm/source/useEVM.ts b/packages/hyperverse-evm/source/useEVM.ts index e4859108..233551e6 100644 --- a/packages/hyperverse-evm/source/useEVM.ts +++ b/packages/hyperverse-evm/source/useEVM.ts @@ -4,7 +4,6 @@ import WalletConnectProvider from '@walletconnect/web3-provider'; import { providers, ethers } from 'ethers'; import { createContainer, useContainer } from '@decentology/unstated-next'; import { useHyperverse, Network, Blockchain, NetworkConfig } from '@decentology/hyperverse'; -import { BlockchainEvm } from '@decentology/hyperverse/source'; const INFURA_ID = process.env.INFURA_API_KEY! || 'fb9f66bab7574d70b281f62e19c27d49'; diff --git a/packages/hyperverse-storage-skynet/package.json b/packages/hyperverse-storage-skynet/package.json index f547a7f8..50d01641 100755 --- a/packages/hyperverse-storage-skynet/package.json +++ b/packages/hyperverse-storage-skynet/package.json @@ -2,6 +2,7 @@ "name": "@decentology/hyperverse-storage-skynet", "source": "./source/index.ts", "main": "./distribution/index.js", + "module": "./distribution/index.es.js", "types": "./distribution/index.d.ts", "version": "1.0.8", "license": "MIT", diff --git a/packages/hyperverse/package.json b/packages/hyperverse/package.json index d777b85c..85dce0cb 100755 --- a/packages/hyperverse/package.json +++ b/packages/hyperverse/package.json @@ -2,6 +2,7 @@ "name": "@decentology/hyperverse", "source": "./source/index.ts", "main": "./distribution/index.js", + "module": "./distribution/index.es.js", "types": "./distribution/index.d.ts", "version": "1.0.9", "license": "MIT", @@ -22,13 +23,15 @@ "peerDependencies": { "react": "^17.0.2" }, + "browserslist": "> 0.5%, last 2 versions, not dead", "dependencies": { "@decentology/hyperverse-storage-skynet": "^1.0.8", - "@decentology/unstated-next": "^1.1.1" + "@decentology/unstated-next": "^1.1.1", + "@swc/helpers": "^0.3.6" }, "devDependencies": { "@decentology/config": "^1.0.0", - "parcel": "^2.2.1", + "parcel": "^2.3.2", "rimraf": "^3.0.2" } } diff --git a/packages/hyperverse/source/Provider.tsx b/packages/hyperverse/source/Provider.tsx index d7f7e95d..72488a2f 100644 --- a/packages/hyperverse/source/Provider.tsx +++ b/packages/hyperverse/source/Provider.tsx @@ -1,6 +1,6 @@ -import { createElement, FC, useEffect, useState } from "react"; -import { Hyperverse, HyperverseConfig } from "./types"; -import { HyperverseContainer } from "./useHyperverse"; +import { createElement, FC, useEffect, useState } from 'react'; +import { Hyperverse, HyperverseConfig } from './types'; +import { HyperverseContainer } from './useHyperverse'; import { Provider as SkyNetProvider } from '@decentology/hyperverse-storage-skynet'; export const Provider: FC<{ initialState: Hyperverse }> = ({ children, initialState }) => { diff --git a/packages/hyperverse/tsconfig.json b/packages/hyperverse/tsconfig.json index 13bc87e7..48a5c8d1 100644 --- a/packages/hyperverse/tsconfig.json +++ b/packages/hyperverse/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@decentology/config/react-library.json", - "include": ["source/**/*.ts", "source/**/*.tsx"], - "exclude": ["distribution", "node_modules"] + "extends": "@decentology/config/react-library.json", + "include": ["source/**/*.ts", "source/**/*.tsx"], + "exclude": ["distribution", "node_modules"] } diff --git a/packages/unstated-next/tsconfig.json b/packages/unstated-next/tsconfig.json index 4aea28e8..d09d57b3 100644 --- a/packages/unstated-next/tsconfig.json +++ b/packages/unstated-next/tsconfig.json @@ -9,7 +9,7 @@ // "lib": [], /* Specify library files to be included in the compilation. */ // "allowJs": true, /* Allow javascript files to be compiled. */ // "checkJs": true, /* Report errors in .js files. */ - "jsx": "react", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ + "jsx": "react-jsx", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ "declaration": true, /* Generates corresponding '.d.ts' file. */ "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ // "sourceMap": true, /* Generates corresponding '.map' file. */ diff --git a/packages/unstated-next/tsconfig.tsbuildinfo b/packages/unstated-next/tsconfig.tsbuildinfo new file mode 100644 index 00000000..df3bd5ea --- /dev/null +++ b/packages/unstated-next/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../../node_modules/typescript/lib/lib.d.ts","../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/@types/react/global.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/scheduler/tracing.d.ts","./node_modules/@types/react/index.d.ts","./src/unstated-next.tsx","../../node_modules/@types/abstract-leveldown/index.d.ts","../../node_modules/@types/aria-query/index.d.ts","../../node_modules/@types/asn1js/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/bn.js/index.d.ts","../../node_modules/@types/connect/index.d.ts","../../node_modules/@types/body-parser/index.d.ts","../../node_modules/@types/bonjour/index.d.ts","../../node_modules/@types/chai/index.d.ts","../../node_modules/@types/range-parser/index.d.ts","../../node_modules/@types/qs/index.d.ts","../../node_modules/@types/express-serve-static-core/index.d.ts","../../node_modules/@types/connect-history-api-fallback/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/eslint/lib/rules/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/mime/index.d.ts","../../node_modules/@types/serve-static/index.d.ts","../../node_modules/@types/express/index.d.ts","../../node_modules/@types/fs-extra/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/@types/react/index.d.ts","../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../node_modules/@types/html-minifier-terser/index.d.ts","../../node_modules/@types/http-proxy/index.d.ts","../../node_modules/@types/is-ci/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/js-cookie/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/level-errors/index.d.ts","../../node_modules/@types/levelup/index.d.ts","../../node_modules/@types/long/index.d.ts","../../node_modules/@types/lru-cache/index.d.ts","../../node_modules/@types/marked/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/mkdirp/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/parse-json/index.d.ts","../../node_modules/@types/pbkdf2/index.d.ts","../../node_modules/@types/prettier/index.d.ts","../../node_modules/@types/q/index.d.ts","../../node_modules/@types/react-dom/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/retry/index.d.ts","../../node_modules/@types/scheduler/index.d.ts","../../node_modules/@types/secp256k1/index.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/serve-index/index.d.ts","../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../node_modules/@types/sinon/index.d.ts","../../node_modules/@types/sinon-chai/index.d.ts","../../node_modules/@types/sockjs/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/styled-components/index.d.ts","../../node_modules/@types/testing-library__jest-dom/matchers.d.ts","../../node_modules/@types/testing-library__jest-dom/index.d.ts","../../node_modules/@types/trusted-types/index.d.ts","../../node_modules/@types/underscore/index.d.ts","../../node_modules/@types/ws/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":["2dc8c927c9c162a773c6bb3cdc4f3286c23f10eedc67414028f9cb5951610f60",{"version":"89f78430e422a0f06d13019d60d5a45b37ec2d28e67eb647f73b1b0d19a46b72","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"abba1071bfd89e55e88a054b0c851ea3e8a494c340d0f3fab19eb18f6afb0c9e","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"d071129cba6a5f2700be09c86c07ad2791ab67d4e5ed1eb301d6746c62745ea4","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"a43173cf2484132b26b1732c68869e4cbe811a86e9a4b6dcc5285b15fd294bc1","affectsGlobalScope":true},"6e8faa427e8f3727e099aab849fb14b677ae27001777ce08d13dec2918a6a4ce","4d1a185f12e4ff59831b2ebf45bf0500d0831c2bb1635b9ae41aee7f3bfae918","5024433f8da3a7968f6d12cffd32f2cefae4442a9ad1c965fa2d23342338b700","c53cdb0195a9103489a97d79baf26c1d8d4e695476be311a932b54a68363cbae","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","dd5647a9ccccb2b074dca8a02b00948ac293091ebe73fdf2e6e98f718819f669","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","bc6dd50ac2fc9a7ca6488811b116bd0ddd606338db0bb97852c8fcf757e2d7f5","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","d78e5898c8de5e0f934eee83f680262de005caa268d137101b833fd932f95e07",{"version":"c8747693e5872ad5ef3aa016731a06915e1c34dae987829d9aa5bd40c7a2c54b","affectsGlobalScope":true},"16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"d2f7baf43dfa349d4010cbd9d64d84cdf3ec26c65fa5f44c8f74f052bedd0b49","affectsGlobalScope":true},"56cbe80e6c42d7e6e66b6f048add8b01c663797b843a074d9f19c4a3d63a269a",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"0133ebdd17a823ae56861948870cde4dac18dd8818ab641039c85bbb720429e0","0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","874d84ca5699231d5af2868fef01fc63f948bd83be928881479db48508f92ca0","dc33ce27fbeaf0ea3da556c80a6cc8af9d13eb443088c8f25cdc39fca8e756f6","84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba",{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},{"version":"5a1b30146d105f86b15aaf11ff43af00c29972d18bc3b16c8b8f56aa47801733","affectsGlobalScope":true},"bfe1b52cf71aea9bf8815810cc5d9490fa9617313e3d3c2ee3809a28b80d0bb4","ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","e4b4326b61261bf5ffd6de8b4825f00eb11ebb89a51bd92663dd6e660abf4210","a3e5b8b86e7bd38d9afdc294875c4445c535319e288d3a13c1e2e41f9af934f2","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0",{"version":"3fe15a491a792852283caeece8142bc7427a29c183d9fec8691d95a49c8932a1","affectsGlobalScope":true},"b3338366fe1f2c5f978e2ec200f57d35c5bd2c4c90c2191f1e638cfa5621c1f6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","49afdedca00d22b171678e3cf9c47b7e0c1846fd4905a01d68f0145eb90add94","f76664b98868fc7c62a83e62cecb8db7c3a2d44bc1d9250b368bd799ec370d47","e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b","6d727c1f6a7122c04e4f7c164c5e6f460c21ada618856894cdaa6ac25e95f38c","619062cca9c6ac6bfb7774ea4e845a1e548b8a3f155a7802266a08befea48870","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6396a7a06f3ef0fc31a7c89330e015146b78a2256b030c698b6d404594c37b8f","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","6209c901f30cc321f4b86800d11fad3d67e73a3308f19946b1bc642af0280298","62b931417104c7cb35d0725e1869f51d52d7b18462fd58f32f846a314a42ba10","c45d6f4d3a20be54e46237608f537a8d85397f87b9c3318d68ed925c2f1d0b51","2880728492d6a6baa55411d14cc42fa55714a24b1d1d27ff9a8a610abd47c761","58a3914b1cce4560d9ad6eee2b716caaa030eda0a90b21ca2457ea9e2783eaa3","74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","87352bb579421f6938177a53bb66e8514067b4872ccaa5fe08ddbca56364570c","acebfe99678cf7cddcddc3435222cf132052b1226e902daac9fbb495c321a9b5","550650516d34048712520ffb1fce4a02f2d837761ee45c7d9868a7a35e7b0343","24a09dc3e07d69b0a224dbd14b2994c40d1efd0954e759004b61b9e683dabe5f",{"version":"0fd3b5704bf037608646df5aa053fd06819ff69302ff6ada9736c300f79df852","affectsGlobalScope":true},"82b1f9a6eefef7386aebe22ac49f23b806421e82dbf35c6e5b7132d79e4165da","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298",{"version":"4f1fe94e613c3d69306e9c5130ff429b869eedbfc32fd1b7933f2ea68449b0f6","affectsGlobalScope":true},"bd0f4458d57115491a1dd9fe522fa1d6ffe45a85b12bbd463967f90b50e43c29",{"version":"06279f0df6f368af41fe267319e90b5af9d89ad489d1662164b94ce30a797c79","affectsGlobalScope":true},{"version":"bb4248c7f953233ac52332088fac897d62b82be07244e551d87c5049600b6cf7","affectsGlobalScope":true},{"version":"0609dda5350cd6d8c42daef710dffe3b51521ffbd00109e234f7bfb7533194e7","affectsGlobalScope":true},"77a5c173bcffb453051d4b36454ff7928a091e4a0d1388346bd77c332b7cda09","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438"],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"jsx":2,"module":5,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"strict":true,"target":1},"fileIdsList":[[98],[51,52,53,98],[98,105],[73,98,105,107],[65,98,105],[97,98,105,113],[73,98,105],[98,118,119],[98,115,116,117,118],[98,119],[70,73,98,105,111,112],[98,108,112,113,122],[71,98,105],[70,71,98,105,125],[98,129],[70,73,75,78,87,97,98,105],[98,134],[98,135],[48,70,98,105,140],[73,97,98,105,147],[55,98],[58,98],[59,64,98],[60,70,71,78,87,97,98],[60,61,70,78,98],[62,98],[63,64,71,79,98],[64,87,94,98],[65,67,70,78,98],[66,98],[67,68,98],[69,70,98],[70,98],[70,71,72,87,97,98],[70,71,72,87,98],[73,78,87,97,98],[70,71,73,74,78,87,94,97,98],[73,75,87,94,97,98],[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],[70,76,98],[77,97,98],[67,70,78,87,98],[79,98],[80,98],[58,81,98],[82,96,98,102],[83,98],[84,98],[70,85,98],[85,86,98,100],[70,87,88,89,98],[87,89,98],[87,88,98],[90,98],[91,98],[70,92,93,98],[92,93,98],[64,78,87,94,98],[95,98],[78,96,98],[59,73,84,97,98],[64,98],[87,98,99],[98,100],[98,101],[59,64,70,72,81,87,97,98,100,102],[87,98,103],[44,45,98,128],[71,98,123],[73,98,105,121],[98,110,162],[98,161],[98,129,130],[98,137,167],[70,73,75,87,94,97,98,103,105],[98,172],[43,44,45,98],[46,98]],"referencedMap":[[48,1],[49,1],[50,1],[54,2],[51,1],[52,1],[53,1],[106,3],[108,4],[109,5],[110,1],[114,6],[107,7],[120,8],[115,1],[119,9],[116,10],[118,1],[113,11],[123,12],[124,13],[126,14],[127,13],[130,15],[131,1],[132,16],[133,1],[134,1],[135,17],[136,18],[137,1],[138,1],[117,1],[139,1],[140,1],[141,19],[142,1],[143,1],[144,1],[121,1],[125,1],[145,1],[146,13],[147,1],[148,20],[55,21],[56,21],[58,22],[59,23],[60,24],[61,25],[62,26],[63,27],[64,28],[65,29],[66,30],[67,31],[68,31],[69,32],[70,33],[71,34],[72,35],[57,1],[104,1],[73,36],[74,37],[75,38],[105,39],[76,40],[77,41],[78,42],[79,43],[80,44],[81,45],[82,46],[83,47],[84,48],[85,49],[86,50],[87,51],[89,52],[88,53],[90,54],[91,55],[92,56],[93,57],[94,58],[95,59],[96,60],[97,61],[98,62],[99,63],[100,64],[101,65],[102,66],[103,67],[149,1],[150,1],[151,3],[152,1],[44,1],[153,1],[112,1],[111,1],[154,15],[128,1],[129,68],[155,3],[156,1],[157,1],[45,1],[158,3],[159,1],[160,69],[122,70],[163,71],[162,72],[161,1],[164,7],[165,1],[166,73],[168,74],[167,1],[169,1],[170,1],[171,75],[172,1],[173,76],[1,1],[9,1],[13,1],[12,1],[3,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[4,1],[5,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[6,1],[29,1],[30,1],[31,1],[32,1],[7,1],[33,1],[34,1],[35,1],[36,1],[8,1],[41,1],[37,1],[38,1],[39,1],[40,1],[2,1],[42,1],[11,1],[10,1],[43,1],[46,77],[47,78]],"exportedModulesMap":[[48,1],[49,1],[50,1],[54,2],[51,1],[52,1],[53,1],[106,3],[108,4],[109,5],[110,1],[114,6],[107,7],[120,8],[115,1],[119,9],[116,10],[118,1],[113,11],[123,12],[124,13],[126,14],[127,13],[130,15],[131,1],[132,16],[133,1],[134,1],[135,17],[136,18],[137,1],[138,1],[117,1],[139,1],[140,1],[141,19],[142,1],[143,1],[144,1],[121,1],[125,1],[145,1],[146,13],[147,1],[148,20],[55,21],[56,21],[58,22],[59,23],[60,24],[61,25],[62,26],[63,27],[64,28],[65,29],[66,30],[67,31],[68,31],[69,32],[70,33],[71,34],[72,35],[57,1],[104,1],[73,36],[74,37],[75,38],[105,39],[76,40],[77,41],[78,42],[79,43],[80,44],[81,45],[82,46],[83,47],[84,48],[85,49],[86,50],[87,51],[89,52],[88,53],[90,54],[91,55],[92,56],[93,57],[94,58],[95,59],[96,60],[97,61],[98,62],[99,63],[100,64],[101,65],[102,66],[103,67],[149,1],[150,1],[151,3],[152,1],[44,1],[153,1],[112,1],[111,1],[154,15],[128,1],[129,68],[155,3],[156,1],[157,1],[45,1],[158,3],[159,1],[160,69],[122,70],[163,71],[162,72],[161,1],[164,7],[165,1],[166,73],[168,74],[167,1],[169,1],[170,1],[171,75],[172,1],[173,76],[1,1],[9,1],[13,1],[12,1],[3,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[4,1],[5,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[6,1],[29,1],[30,1],[31,1],[32,1],[7,1],[33,1],[34,1],[35,1],[36,1],[8,1],[41,1],[37,1],[38,1],[39,1],[40,1],[2,1],[42,1],[11,1],[10,1],[43,1],[46,77],[47,78]],"semanticDiagnosticsPerFile":[48,49,50,[54,[{"file":"../../node_modules/@types/babel__core/index.d.ts","start":649,"length":15,"messageText":"Cannot find module '@babel/parser'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792},{"file":"../../node_modules/@types/babel__core/index.d.ts","start":800,"length":14,"messageText":"Cannot find module '@babel/types'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792}]],[51,[{"file":"../../node_modules/@types/babel__generator/index.d.ts","start":501,"length":14,"messageText":"Cannot find module '@babel/types'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792}]],[52,[{"file":"../../node_modules/@types/babel__template/index.d.ts","start":504,"length":15,"messageText":"Cannot find module '@babel/parser'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792},{"file":"../../node_modules/@types/babel__template/index.d.ts","start":568,"length":14,"messageText":"Cannot find module '@babel/types'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792}]],[53,[{"file":"../../node_modules/@types/babel__traverse/index.d.ts","start":730,"length":14,"messageText":"Cannot find module '@babel/types'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792},{"file":"../../node_modules/@types/babel__traverse/index.d.ts","start":2419,"length":15,"messageText":"Property 'blacklist' of type 'any[] | undefined' is not assignable to 'string' index type '(VisitNode & VisitNode) | undefined'.","category":1,"code":2411},{"file":"../../node_modules/@types/babel__traverse/index.d.ts","start":2419,"length":15,"messageText":"Property 'denylist' of type 'any[] | undefined' is not assignable to 'string' index type '(VisitNode & VisitNode) | undefined'.","category":1,"code":2411},{"file":"../../node_modules/@types/babel__traverse/index.d.ts","start":2470,"length":5,"messageText":"Property 'scope' of type 'Scope | undefined' is not assignable to 'string' index type '(VisitNode & VisitNode) | undefined'.","category":1,"code":2411},{"file":"../../node_modules/@types/babel__traverse/index.d.ts","start":2501,"length":7,"messageText":"Property 'noScope' of type 'boolean | undefined' is not assignable to 'string' index type '(VisitNode & VisitNode) | undefined'.","category":1,"code":2411},{"file":"../../node_modules/@types/babel__traverse/index.d.ts","start":7908,"length":9,"messageText":"Type '\"type\"' cannot be used to index type 'T'.","category":1,"code":2536}]],106,108,109,110,114,107,120,115,[119,[{"file":"../../node_modules/@types/eslint/index.d.ts","start":16614,"length":15,"messageText":"'\"/home/jsheely/Projects/Decentology/hyperverse-base/node_modules/@types/estree/index\"' has no exported member named 'ChainExpression'. Did you mean 'ThisExpression'?","category":1,"code":2724},{"file":"../../node_modules/@types/eslint/index.d.ts","start":19025,"length":16,"messageText":"Namespace '\"/home/jsheely/Projects/Decentology/hyperverse-base/node_modules/@types/estree/index\"' has no exported member 'ImportExpression'.","category":1,"code":2694}]],116,118,113,123,124,126,127,130,131,132,[133,[{"file":"../../node_modules/@types/is-ci/index.d.ts","start":300,"length":9,"messageText":"Cannot find module 'ci-info'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792}]],134,135,136,[137,[{"file":"../../node_modules/@types/jest/index.d.ts","start":21445,"length":20,"messageText":"Cannot find module 'jest-matcher-utils'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792},{"file":"../../node_modules/@types/jest/index.d.ts","start":22298,"length":15,"messageText":"Cannot find module 'pretty-format'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792}]],138,117,139,140,141,142,143,144,121,125,145,146,147,[148,[{"file":"../../node_modules/@types/node-fetch/index.d.ts","start":985,"length":11,"messageText":"Cannot find module 'form-data'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792}]],55,56,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,57,104,73,74,75,105,76,77,78,79,80,81,82,83,84,85,86,87,89,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,149,150,151,152,44,153,112,111,154,128,[129,[{"file":"../../node_modules/@types/react/index.d.ts","start":2338,"length":9,"messageText":"Cannot find module 'csstype'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792},{"file":"../../node_modules/@types/react/index.d.ts","start":135839,"length":24,"messageText":"Duplicate identifier 'LibraryManagedAttributes'.","category":1,"code":2300,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":135448,"length":24,"messageText":"'LibraryManagedAttributes' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":136410,"length":1,"messageText":"Subsequent property declarations must have the same type. Property 'a' must be of type 'DetailedHTMLProps, HTMLAnchorElement>', but here has type 'DetailedHTMLProps, HTMLAnchorElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":136129,"length":1,"messageText":"'a' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":136516,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'abbr' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":136235,"length":4,"messageText":"'abbr' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":136607,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'address' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":136326,"length":7,"messageText":"'address' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":136701,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'area' must be of type 'DetailedHTMLProps, HTMLAreaElement>', but here has type 'DetailedHTMLProps, HTMLAreaElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":136420,"length":4,"messageText":"'area' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":136804,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'article' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":136523,"length":7,"messageText":"'article' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":136898,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'aside' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":136617,"length":5,"messageText":"'aside' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":136990,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'audio' must be of type 'DetailedHTMLProps, HTMLAudioElement>', but here has type 'DetailedHTMLProps, HTMLAudioElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":136709,"length":5,"messageText":"'audio' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":137097,"length":1,"messageText":"Subsequent property declarations must have the same type. Property 'b' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":136816,"length":1,"messageText":"'b' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":137185,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'base' must be of type 'DetailedHTMLProps, HTMLBaseElement>', but here has type 'DetailedHTMLProps, HTMLBaseElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":136904,"length":4,"messageText":"'base' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":137288,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'bdi' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":137007,"length":3,"messageText":"'bdi' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":137378,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'bdo' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":137097,"length":3,"messageText":"'bdo' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":137468,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'big' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":137187,"length":3,"messageText":"'big' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":137558,"length":10,"messageText":"Subsequent property declarations must have the same type. Property 'blockquote' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":137277,"length":10,"messageText":"'blockquote' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":137665,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'body' must be of type 'DetailedHTMLProps, HTMLBodyElement>', but here has type 'DetailedHTMLProps, HTMLBodyElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":137384,"length":4,"messageText":"'body' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":137764,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'br' must be of type 'DetailedHTMLProps, HTMLBRElement>', but here has type 'DetailedHTMLProps, HTMLBRElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":137483,"length":2,"messageText":"'br' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":137857,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'button' must be of type 'DetailedHTMLProps, HTMLButtonElement>', but here has type 'DetailedHTMLProps, HTMLButtonElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":137576,"length":6,"messageText":"'button' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":137968,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'canvas' must be of type 'DetailedHTMLProps, HTMLCanvasElement>', but here has type 'DetailedHTMLProps, HTMLCanvasElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":137687,"length":6,"messageText":"'canvas' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":138079,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'caption' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":137798,"length":7,"messageText":"'caption' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":138173,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'cite' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":137892,"length":4,"messageText":"'cite' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":138264,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'code' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":137983,"length":4,"messageText":"'code' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":138355,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'col' must be of type 'DetailedHTMLProps, HTMLTableColElement>', but here has type 'DetailedHTMLProps, HTMLTableColElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":138074,"length":3,"messageText":"'col' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":138464,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'colgroup' must be of type 'DetailedHTMLProps, HTMLTableColElement>', but here has type 'DetailedHTMLProps, HTMLTableColElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":138183,"length":8,"messageText":"'colgroup' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":138583,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'data' must be of type 'DetailedHTMLProps, HTMLDataElement>', but here has type 'DetailedHTMLProps, HTMLDataElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":138302,"length":4,"messageText":"'data' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":138686,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'datalist' must be of type 'DetailedHTMLProps, HTMLDataListElement>', but here has type 'DetailedHTMLProps, HTMLDataListElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":138405,"length":8,"messageText":"'datalist' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":138797,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'dd' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":138516,"length":2,"messageText":"'dd' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":138886,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'del' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":138605,"length":3,"messageText":"'del' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":138979,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'details' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":138698,"length":7,"messageText":"'details' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":139080,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'dfn' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":138799,"length":3,"messageText":"'dfn' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":139170,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'dialog' must be of type 'DetailedHTMLProps, HTMLDialogElement>', but here has type 'DetailedHTMLProps, HTMLDialogElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":138889,"length":6,"messageText":"'dialog' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":139281,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'div' must be of type 'DetailedHTMLProps, HTMLDivElement>', but here has type 'DetailedHTMLProps, HTMLDivElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":139000,"length":3,"messageText":"'div' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":139377,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'dl' must be of type 'DetailedHTMLProps, HTMLDListElement>', but here has type 'DetailedHTMLProps, HTMLDListElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":139096,"length":2,"messageText":"'dl' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":139476,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'dt' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":139195,"length":2,"messageText":"'dt' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":139565,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'em' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":139284,"length":2,"messageText":"'em' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":139654,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'embed' must be of type 'DetailedHTMLProps, HTMLEmbedElement>', but here has type 'DetailedHTMLProps, HTMLEmbedElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":139373,"length":5,"messageText":"'embed' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":139761,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'fieldset' must be of type 'DetailedHTMLProps, HTMLFieldSetElement>', but here has type 'DetailedHTMLProps, HTMLFieldSetElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":139480,"length":8,"messageText":"'fieldset' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":139880,"length":10,"messageText":"Subsequent property declarations must have the same type. Property 'figcaption' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":139599,"length":10,"messageText":"'figcaption' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":139977,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'figure' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":139696,"length":6,"messageText":"'figure' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":140070,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'footer' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":139789,"length":6,"messageText":"'footer' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":140163,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'form' must be of type 'DetailedHTMLProps, HTMLFormElement>', but here has type 'DetailedHTMLProps, HTMLFormElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":139882,"length":4,"messageText":"'form' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":140266,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'h1' must be of type 'DetailedHTMLProps, HTMLHeadingElement>', but here has type 'DetailedHTMLProps, HTMLHeadingElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":139985,"length":2,"messageText":"'h1' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":140369,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'h2' must be of type 'DetailedHTMLProps, HTMLHeadingElement>', but here has type 'DetailedHTMLProps, HTMLHeadingElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":140088,"length":2,"messageText":"'h2' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":140472,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'h3' must be of type 'DetailedHTMLProps, HTMLHeadingElement>', but here has type 'DetailedHTMLProps, HTMLHeadingElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":140191,"length":2,"messageText":"'h3' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":140575,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'h4' must be of type 'DetailedHTMLProps, HTMLHeadingElement>', but here has type 'DetailedHTMLProps, HTMLHeadingElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":140294,"length":2,"messageText":"'h4' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":140678,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'h5' must be of type 'DetailedHTMLProps, HTMLHeadingElement>', but here has type 'DetailedHTMLProps, HTMLHeadingElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":140397,"length":2,"messageText":"'h5' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":140781,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'h6' must be of type 'DetailedHTMLProps, HTMLHeadingElement>', but here has type 'DetailedHTMLProps, HTMLHeadingElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":140500,"length":2,"messageText":"'h6' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":140884,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'head' must be of type 'DetailedHTMLProps, HTMLHeadElement>', but here has type 'DetailedHTMLProps, HTMLHeadElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":140603,"length":4,"messageText":"'head' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":140983,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'header' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":140702,"length":6,"messageText":"'header' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":141076,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'hgroup' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":140795,"length":6,"messageText":"'hgroup' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":141169,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'hr' must be of type 'DetailedHTMLProps, HTMLHRElement>', but here has type 'DetailedHTMLProps, HTMLHRElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":140888,"length":2,"messageText":"'hr' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":141262,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'html' must be of type 'DetailedHTMLProps, HTMLHtmlElement>', but here has type 'DetailedHTMLProps, HTMLHtmlElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":140981,"length":4,"messageText":"'html' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":141365,"length":1,"messageText":"Subsequent property declarations must have the same type. Property 'i' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":141084,"length":1,"messageText":"'i' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":141453,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'iframe' must be of type 'DetailedHTMLProps, HTMLIFrameElement>', but here has type 'DetailedHTMLProps, HTMLIFrameElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":141172,"length":6,"messageText":"'iframe' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":141564,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'img' must be of type 'DetailedHTMLProps, HTMLImageElement>', but here has type 'DetailedHTMLProps, HTMLImageElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":141283,"length":3,"messageText":"'img' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":141667,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'input' must be of type 'DetailedHTMLProps, HTMLInputElement>', but here has type 'DetailedHTMLProps, HTMLInputElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":141386,"length":5,"messageText":"'input' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":141774,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'ins' must be of type 'DetailedHTMLProps, HTMLModElement>', but here has type 'DetailedHTMLProps, HTMLModElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":141493,"length":3,"messageText":"'ins' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":141873,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'kbd' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":141592,"length":3,"messageText":"'kbd' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":141963,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'keygen' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":141682,"length":6,"messageText":"'keygen' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":142062,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'label' must be of type 'DetailedHTMLProps, HTMLLabelElement>', but here has type 'DetailedHTMLProps, HTMLLabelElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":141781,"length":5,"messageText":"'label' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":142169,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'legend' must be of type 'DetailedHTMLProps, HTMLLegendElement>', but here has type 'DetailedHTMLProps, HTMLLegendElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":141888,"length":6,"messageText":"'legend' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":142274,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'li' must be of type 'DetailedHTMLProps, HTMLLIElement>', but here has type 'DetailedHTMLProps, HTMLLIElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":141993,"length":2,"messageText":"'li' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":142369,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'link' must be of type 'DetailedHTMLProps, HTMLLinkElement>', but here has type 'DetailedHTMLProps, HTMLLinkElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":142088,"length":4,"messageText":"'link' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":142472,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'main' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":142191,"length":4,"messageText":"'main' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":142563,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'map' must be of type 'DetailedHTMLProps, HTMLMapElement>', but here has type 'DetailedHTMLProps, HTMLMapElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":142282,"length":3,"messageText":"'map' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":142662,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'mark' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":142381,"length":4,"messageText":"'mark' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":142753,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'menu' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":142472,"length":4,"messageText":"'menu' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":142848,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'menuitem' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":142567,"length":8,"messageText":"'menuitem' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":142943,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'meta' must be of type 'DetailedHTMLProps, HTMLMetaElement>', but here has type 'DetailedHTMLProps, HTMLMetaElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":142662,"length":4,"messageText":"'meta' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":143046,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'meter' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":142765,"length":5,"messageText":"'meter' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":143143,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'nav' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":142862,"length":3,"messageText":"'nav' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":143233,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'noindex' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":142952,"length":7,"messageText":"'noindex' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":143327,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'noscript' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":143046,"length":8,"messageText":"'noscript' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":143422,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'object' must be of type 'DetailedHTMLProps, HTMLObjectElement>', but here has type 'DetailedHTMLProps, HTMLObjectElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":143141,"length":6,"messageText":"'object' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":143533,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'ol' must be of type 'DetailedHTMLProps, HTMLOListElement>', but here has type 'DetailedHTMLProps, HTMLOListElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":143252,"length":2,"messageText":"'ol' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":143634,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'optgroup' must be of type 'DetailedHTMLProps, HTMLOptGroupElement>', but here has type 'DetailedHTMLProps, HTMLOptGroupElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":143353,"length":8,"messageText":"'optgroup' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":143753,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'option' must be of type 'DetailedHTMLProps, HTMLOptionElement>', but here has type 'DetailedHTMLProps, HTMLOptionElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":143472,"length":6,"messageText":"'option' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":143864,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'output' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":143583,"length":6,"messageText":"'output' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":143963,"length":1,"messageText":"Subsequent property declarations must have the same type. Property 'p' must be of type 'DetailedHTMLProps, HTMLParagraphElement>', but here has type 'DetailedHTMLProps, HTMLParagraphElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":143682,"length":1,"messageText":"'p' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":144069,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'param' must be of type 'DetailedHTMLProps, HTMLParamElement>', but here has type 'DetailedHTMLProps, HTMLParamElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":143788,"length":5,"messageText":"'param' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":144176,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'picture' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":143895,"length":7,"messageText":"'picture' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":144270,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'pre' must be of type 'DetailedHTMLProps, HTMLPreElement>', but here has type 'DetailedHTMLProps, HTMLPreElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":143989,"length":3,"messageText":"'pre' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":144366,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'progress' must be of type 'DetailedHTMLProps, HTMLProgressElement>', but here has type 'DetailedHTMLProps, HTMLProgressElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":144085,"length":8,"messageText":"'progress' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":144485,"length":1,"messageText":"Subsequent property declarations must have the same type. Property 'q' must be of type 'DetailedHTMLProps, HTMLQuoteElement>', but here has type 'DetailedHTMLProps, HTMLQuoteElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":144204,"length":1,"messageText":"'q' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":144588,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'rp' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":144307,"length":2,"messageText":"'rp' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":144677,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'rt' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":144396,"length":2,"messageText":"'rt' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":144766,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'ruby' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":144485,"length":4,"messageText":"'ruby' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":144857,"length":1,"messageText":"Subsequent property declarations must have the same type. Property 's' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":144576,"length":1,"messageText":"'s' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":144945,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'samp' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":144664,"length":4,"messageText":"'samp' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":145036,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'slot' must be of type 'DetailedHTMLProps, HTMLSlotElement>', but here has type 'DetailedHTMLProps, HTMLSlotElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":144755,"length":4,"messageText":"'slot' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":145139,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'script' must be of type 'DetailedHTMLProps, HTMLScriptElement>', but here has type 'DetailedHTMLProps, HTMLScriptElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":144858,"length":6,"messageText":"'script' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":145250,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'section' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":144969,"length":7,"messageText":"'section' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":145344,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'select' must be of type 'DetailedHTMLProps, HTMLSelectElement>', but here has type 'DetailedHTMLProps, HTMLSelectElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":145063,"length":6,"messageText":"'select' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":145455,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'small' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":145174,"length":5,"messageText":"'small' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":145547,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'source' must be of type 'DetailedHTMLProps, HTMLSourceElement>', but here has type 'DetailedHTMLProps, HTMLSourceElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":145266,"length":6,"messageText":"'source' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":145658,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'span' must be of type 'DetailedHTMLProps, HTMLSpanElement>', but here has type 'DetailedHTMLProps, HTMLSpanElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":145377,"length":4,"messageText":"'span' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":145757,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'strong' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":145476,"length":6,"messageText":"'strong' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":145850,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'style' must be of type 'DetailedHTMLProps, HTMLStyleElement>', but here has type 'DetailedHTMLProps, HTMLStyleElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":145569,"length":5,"messageText":"'style' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":145957,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'sub' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":145676,"length":3,"messageText":"'sub' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":146047,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'summary' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":145766,"length":7,"messageText":"'summary' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":146141,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'sup' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":145860,"length":3,"messageText":"'sup' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":146231,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'table' must be of type 'DetailedHTMLProps, HTMLTableElement>', but here has type 'DetailedHTMLProps, HTMLTableElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":145950,"length":5,"messageText":"'table' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":146338,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'template' must be of type 'DetailedHTMLProps, HTMLTemplateElement>', but here has type 'DetailedHTMLProps, HTMLTemplateElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":146057,"length":8,"messageText":"'template' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":146449,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'tbody' must be of type 'DetailedHTMLProps, HTMLTableSectionElement>', but here has type 'DetailedHTMLProps, HTMLTableSectionElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":146168,"length":5,"messageText":"'tbody' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":146565,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'td' must be of type 'DetailedHTMLProps, HTMLTableDataCellElement>', but here has type 'DetailedHTMLProps, HTMLTableDataCellElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":146284,"length":2,"messageText":"'td' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":146682,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'textarea' must be of type 'DetailedHTMLProps, HTMLTextAreaElement>', but here has type 'DetailedHTMLProps, HTMLTextAreaElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":146401,"length":8,"messageText":"'textarea' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":146801,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'tfoot' must be of type 'DetailedHTMLProps, HTMLTableSectionElement>', but here has type 'DetailedHTMLProps, HTMLTableSectionElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":146520,"length":5,"messageText":"'tfoot' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":146917,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'th' must be of type 'DetailedHTMLProps, HTMLTableHeaderCellElement>', but here has type 'DetailedHTMLProps, HTMLTableHeaderCellElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":146636,"length":2,"messageText":"'th' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":147038,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'thead' must be of type 'DetailedHTMLProps, HTMLTableSectionElement>', but here has type 'DetailedHTMLProps, HTMLTableSectionElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":146757,"length":5,"messageText":"'thead' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":147154,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'time' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":146873,"length":4,"messageText":"'time' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":147249,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'title' must be of type 'DetailedHTMLProps, HTMLTitleElement>', but here has type 'DetailedHTMLProps, HTMLTitleElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":146968,"length":5,"messageText":"'title' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":147351,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'tr' must be of type 'DetailedHTMLProps, HTMLTableRowElement>', but here has type 'DetailedHTMLProps, HTMLTableRowElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":147070,"length":2,"messageText":"'tr' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":147456,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'track' must be of type 'DetailedHTMLProps, HTMLTrackElement>', but here has type 'DetailedHTMLProps, HTMLTrackElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":147175,"length":5,"messageText":"'track' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":147563,"length":1,"messageText":"Subsequent property declarations must have the same type. Property 'u' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":147282,"length":1,"messageText":"'u' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":147651,"length":2,"messageText":"Subsequent property declarations must have the same type. Property 'ul' must be of type 'DetailedHTMLProps, HTMLUListElement>', but here has type 'DetailedHTMLProps, HTMLUListElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":147370,"length":2,"messageText":"'ul' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":147750,"length":5,"messageText":"Subsequent property declarations must have the same type. Property '\"var\"' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":147469,"length":5,"messageText":"'\"var\"' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":147842,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'video' must be of type 'DetailedHTMLProps, HTMLVideoElement>', but here has type 'DetailedHTMLProps, HTMLVideoElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":147561,"length":5,"messageText":"'video' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":147949,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'wbr' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'DetailedHTMLProps, HTMLElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":147668,"length":3,"messageText":"'wbr' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148039,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'webview' must be of type 'DetailedHTMLProps, HTMLWebViewElement>', but here has type 'DetailedHTMLProps, HTMLWebViewElement>'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":147758,"length":7,"messageText":"'webview' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148174,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'svg' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":147893,"length":3,"messageText":"'svg' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148223,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'animate' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":147942,"length":7,"messageText":"'animate' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148354,"length":13,"messageText":"Subsequent property declarations must have the same type. Property 'animateMotion' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148073,"length":13,"messageText":"'animateMotion' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148409,"length":16,"messageText":"Subsequent property declarations must have the same type. Property 'animateTransform' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148128,"length":16,"messageText":"'animateTransform' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148558,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'circle' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148277,"length":6,"messageText":"'circle' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148612,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'clipPath' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148331,"length":8,"messageText":"'clipPath' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148670,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'defs' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148389,"length":4,"messageText":"'defs' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148720,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'desc' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148439,"length":4,"messageText":"'desc' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148770,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'ellipse' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148489,"length":7,"messageText":"'ellipse' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148826,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'feBlend' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148545,"length":7,"messageText":"'feBlend' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148882,"length":13,"messageText":"Subsequent property declarations must have the same type. Property 'feColorMatrix' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148601,"length":13,"messageText":"'feColorMatrix' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":148950,"length":19,"messageText":"Subsequent property declarations must have the same type. Property 'feComponentTransfer' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148669,"length":19,"messageText":"'feComponentTransfer' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149030,"length":11,"messageText":"Subsequent property declarations must have the same type. Property 'feComposite' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148749,"length":11,"messageText":"'feComposite' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149094,"length":16,"messageText":"Subsequent property declarations must have the same type. Property 'feConvolveMatrix' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148813,"length":16,"messageText":"'feConvolveMatrix' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149168,"length":17,"messageText":"Subsequent property declarations must have the same type. Property 'feDiffuseLighting' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148887,"length":17,"messageText":"'feDiffuseLighting' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149244,"length":17,"messageText":"Subsequent property declarations must have the same type. Property 'feDisplacementMap' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":148963,"length":17,"messageText":"'feDisplacementMap' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149320,"length":14,"messageText":"Subsequent property declarations must have the same type. Property 'feDistantLight' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149039,"length":14,"messageText":"'feDistantLight' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149390,"length":12,"messageText":"Subsequent property declarations must have the same type. Property 'feDropShadow' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149109,"length":12,"messageText":"'feDropShadow' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149456,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'feFlood' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149175,"length":7,"messageText":"'feFlood' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149512,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'feFuncA' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149231,"length":7,"messageText":"'feFuncA' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149568,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'feFuncB' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149287,"length":7,"messageText":"'feFuncB' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149624,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'feFuncG' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149343,"length":7,"messageText":"'feFuncG' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149680,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'feFuncR' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149399,"length":7,"messageText":"'feFuncR' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149736,"length":14,"messageText":"Subsequent property declarations must have the same type. Property 'feGaussianBlur' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149455,"length":14,"messageText":"'feGaussianBlur' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149806,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'feImage' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149525,"length":7,"messageText":"'feImage' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149862,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'feMerge' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149581,"length":7,"messageText":"'feMerge' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149918,"length":11,"messageText":"Subsequent property declarations must have the same type. Property 'feMergeNode' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149637,"length":11,"messageText":"'feMergeNode' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":149982,"length":12,"messageText":"Subsequent property declarations must have the same type. Property 'feMorphology' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149701,"length":12,"messageText":"'feMorphology' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150048,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'feOffset' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149767,"length":8,"messageText":"'feOffset' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150106,"length":12,"messageText":"Subsequent property declarations must have the same type. Property 'fePointLight' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149825,"length":12,"messageText":"'fePointLight' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150172,"length":18,"messageText":"Subsequent property declarations must have the same type. Property 'feSpecularLighting' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149891,"length":18,"messageText":"'feSpecularLighting' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150250,"length":11,"messageText":"Subsequent property declarations must have the same type. Property 'feSpotLight' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":149969,"length":11,"messageText":"'feSpotLight' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150314,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'feTile' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150033,"length":6,"messageText":"'feTile' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150368,"length":12,"messageText":"Subsequent property declarations must have the same type. Property 'feTurbulence' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150087,"length":12,"messageText":"'feTurbulence' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150434,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'filter' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150153,"length":6,"messageText":"'filter' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150488,"length":13,"messageText":"Subsequent property declarations must have the same type. Property 'foreignObject' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150207,"length":13,"messageText":"'foreignObject' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150556,"length":1,"messageText":"Subsequent property declarations must have the same type. Property 'g' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150275,"length":1,"messageText":"'g' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150600,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'image' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150319,"length":5,"messageText":"'image' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150652,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'line' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150371,"length":4,"messageText":"'line' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150702,"length":14,"messageText":"Subsequent property declarations must have the same type. Property 'linearGradient' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150421,"length":14,"messageText":"'linearGradient' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150772,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'marker' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150491,"length":6,"messageText":"'marker' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150826,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'mask' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150545,"length":4,"messageText":"'mask' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150876,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'metadata' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150595,"length":8,"messageText":"'metadata' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150934,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'mpath' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150653,"length":5,"messageText":"'mpath' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":150981,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'path' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150700,"length":4,"messageText":"'path' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151031,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'pattern' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150750,"length":7,"messageText":"'pattern' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151087,"length":7,"messageText":"Subsequent property declarations must have the same type. Property 'polygon' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150806,"length":7,"messageText":"'polygon' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151143,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'polyline' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150862,"length":8,"messageText":"'polyline' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151201,"length":14,"messageText":"Subsequent property declarations must have the same type. Property 'radialGradient' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150920,"length":14,"messageText":"'radialGradient' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151271,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'rect' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":150990,"length":4,"messageText":"'rect' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151321,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'stop' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":151040,"length":4,"messageText":"'stop' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151371,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'switch' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":151090,"length":6,"messageText":"'switch' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151425,"length":6,"messageText":"Subsequent property declarations must have the same type. Property 'symbol' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":151144,"length":6,"messageText":"'symbol' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151479,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'text' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":151198,"length":4,"messageText":"'text' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151529,"length":8,"messageText":"Subsequent property declarations must have the same type. Property 'textPath' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":151248,"length":8,"messageText":"'textPath' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151587,"length":5,"messageText":"Subsequent property declarations must have the same type. Property 'tspan' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":151306,"length":5,"messageText":"'tspan' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151639,"length":3,"messageText":"Subsequent property declarations must have the same type. Property 'use' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":151358,"length":3,"messageText":"'use' was also declared here.","category":3,"code":6203}]},{"file":"../../node_modules/@types/react/index.d.ts","start":151687,"length":4,"messageText":"Subsequent property declarations must have the same type. Property 'view' must be of type 'SVGProps', but here has type 'SVGProps'.","category":1,"code":2717,"relatedInformation":[{"file":"./node_modules/@types/react/index.d.ts","start":151406,"length":4,"messageText":"'view' was also declared here.","category":3,"code":6203}]}]],155,156,157,45,158,159,160,122,163,162,161,164,165,[166,[{"file":"../../node_modules/@types/styled-components/index.d.ts","start":912,"length":9,"messageText":"Cannot find module 'csstype'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792},{"file":"../../node_modules/@types/styled-components/index.d.ts","start":1162,"length":9,"code":2430,"category":1,"messageText":{"messageText":"Interface 'CSSObject' incorrectly extends interface 'CSSPseudos'.","category":1,"code":2430,"next":[{"messageText":"'string' index signatures are incompatible.","category":1,"code":2634,"next":[{"messageText":"Type 'string | number | CSSObject | undefined' is not assignable to type 'CSSObject | undefined'.","category":1,"code":2322,"next":[{"messageText":"Type 'string' is not assignable to type 'CSSObject | undefined'.","category":1,"code":2322}]}]}]}}]],168,167,[169,[{"file":"../../node_modules/@types/trusted-types/index.d.ts","start":452,"length":7,"messageText":"Cannot find module './lib'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792}]],170,171,172,173,1,9,13,12,3,14,15,16,17,18,19,20,21,4,5,25,22,23,24,26,27,28,6,29,30,31,32,7,33,34,35,36,8,41,37,38,39,40,2,42,11,10,43,[46,[{"file":"./node_modules/@types/react/index.d.ts","start":2142,"length":9,"messageText":"Cannot find module 'csstype'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?","category":1,"code":2792},{"file":"./node_modules/@types/react/index.d.ts","start":135033,"length":12,"code":2320,"category":1,"messageText":{"messageText":"Interface 'ElementClass' cannot simultaneously extend types 'Component' and 'Component'.","category":1,"code":2320,"next":[{"messageText":"Named property 'props' of types 'Component' and 'Component' are not identical.","category":1,"code":2319}]}},{"file":"./node_modules/@types/react/index.d.ts","start":135033,"length":12,"code":2320,"category":1,"messageText":{"messageText":"Interface 'ElementClass' cannot simultaneously extend types 'Component' and 'Component'.","category":1,"code":2320,"next":[{"messageText":"Named property 'refs' of types 'Component' and 'Component' are not identical.","category":1,"code":2319}]}},{"file":"./node_modules/@types/react/index.d.ts","start":135448,"length":24,"messageText":"Duplicate identifier 'LibraryManagedAttributes'.","category":1,"code":2300,"relatedInformation":[{"file":"../../node_modules/@types/react/index.d.ts","start":135839,"length":24,"messageText":"'LibraryManagedAttributes' was also declared here.","category":3,"code":6203}]}]],47],"affectedFilesPendingEmit":[[48,1],[49,1],[50,1],[54,1],[51,1],[52,1],[53,1],[106,1],[108,1],[109,1],[110,1],[114,1],[107,1],[120,1],[115,1],[119,1],[116,1],[118,1],[113,1],[123,1],[124,1],[126,1],[127,1],[130,1],[131,1],[132,1],[133,1],[134,1],[135,1],[136,1],[137,1],[138,1],[117,1],[139,1],[140,1],[141,1],[142,1],[143,1],[144,1],[121,1],[125,1],[145,1],[146,1],[147,1],[148,1],[55,1],[56,1],[58,1],[59,1],[60,1],[61,1],[62,1],[63,1],[64,1],[65,1],[66,1],[67,1],[68,1],[69,1],[70,1],[71,1],[72,1],[57,1],[104,1],[73,1],[74,1],[75,1],[105,1],[76,1],[77,1],[78,1],[79,1],[80,1],[81,1],[82,1],[83,1],[84,1],[85,1],[86,1],[87,1],[89,1],[88,1],[90,1],[91,1],[92,1],[93,1],[94,1],[95,1],[96,1],[97,1],[98,1],[99,1],[100,1],[101,1],[102,1],[103,1],[149,1],[150,1],[151,1],[152,1],[44,1],[153,1],[112,1],[111,1],[154,1],[128,1],[129,1],[155,1],[156,1],[157,1],[45,1],[158,1],[159,1],[160,1],[122,1],[163,1],[162,1],[161,1],[164,1],[165,1],[166,1],[168,1],[167,1],[169,1],[170,1],[171,1],[172,1],[173,1],[1,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1],[43,1],[46,1],[47,1]]},"version":"4.5.5"} \ No newline at end of file diff --git a/packages/web3modal/index.ts b/packages/web3modal/index.ts index 4ff9cef3..ed8e86b7 100644 --- a/packages/web3modal/index.ts +++ b/packages/web3modal/index.ts @@ -1,3 +1,3 @@ -export * from './src' -import Core from './src'; +export * from './src'; +import { Core } from './src/core'; export default Core; diff --git a/packages/web3modal/package.json b/packages/web3modal/package.json index ec0e2a68..fef547c7 100644 --- a/packages/web3modal/package.json +++ b/packages/web3modal/package.json @@ -47,7 +47,7 @@ "clean:all": "npm run clean && npm run clean:example && npm run clean:node_modules", "bootstrap": "npm install && cd example && npm install", "start": "npm run check && cd example && npm run start", - "build": "webpack", + "build": "tsc", "build:example": "npm run bootstrap && npm run build && cd example && npm run build", "test": "mocha --require ./babel-polyfill.js test/**/*.spec.js", "lint": "tslint ./src/*.ts ./src/**/*.ts", diff --git a/packages/web3modal/src/core/index.tsx b/packages/web3modal/src/core/index.tsx index d9aae079..e4ae609a 100644 --- a/packages/web3modal/src/core/index.tsx +++ b/packages/web3modal/src/core/index.tsx @@ -185,8 +185,8 @@ export class Core { private updateState = async (state: any) => { Object.keys(state).forEach(key => { this[key] = state[key]; - }); - this.renderModal(); + }); + this.renderModal(); }; private resetState = () => this.updateState({ ...INITIAL_STATE }); diff --git a/packages/web3modal/src/index.ts b/packages/web3modal/src/index.ts index 1c7fe791..550eda3c 100644 --- a/packages/web3modal/src/index.ts +++ b/packages/web3modal/src/index.ts @@ -1,10 +1,10 @@ -import { Core } from "./core"; - -export * from "./components"; -export * from "./constants"; -export * from "./controllers"; -export * from "./providers"; -export * from "./helpers"; -export * from "./themes"; +import { Core } from './core'; +export * from './components'; +export * from './constants'; +export * from './controllers'; +export * from './providers'; +export * from './helpers'; +export * from './themes'; +export { Core as Web3Modal }; export default Core; diff --git a/packages/web3modal/tsconfig.json b/packages/web3modal/tsconfig.json index 8805922b..c2091d17 100644 --- a/packages/web3modal/tsconfig.json +++ b/packages/web3modal/tsconfig.json @@ -1,31 +1,34 @@ { - "compilerOptions": { - "outDir": "dist", - "rootDir": "src", - "baseUrl": ".", - "module": "commonjs", - "target": "es5", - "lib": ["es7", "dom"], - "jsx": "react", - "allowSyntheticDefaultImports": true, - "composite": true, - "declaration": true, - "declarationMap": true, - "downlevelIteration": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importHelpers": true, - "noImplicitAny": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noUnusedLocals": true, - "preserveSymlinks": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "sourceMap": true, - "strict": true, - "strictNullChecks": true, - "suppressImplicitAnyIndexErrors": true - }, - "include": ["./src/**/*"] + "compilerOptions": { + "outDir": "dist", + "rootDir": "src", + "baseUrl": ".", + "module": "es6", + "moduleResolution": "node", + "target": "es6", + "lib": ["es7", "dom"], + "jsx": "react", + "incremental": false, + "allowSyntheticDefaultImports": true, + "composite": false, + "declaration": true, + "declarationMap": true, + "downlevelIteration": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "importHelpers": false, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noUnusedLocals": true, + "preserveSymlinks": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "strictNullChecks": true, + "suppressImplicitAnyIndexErrors": true + }, + "files": ["index.d.ts"], + "include": ["./src/**/*", "index.d.ts"], + "exclude": ["dist", "node_modules"] } diff --git a/packages/web3modal/webpack.config.js b/packages/web3modal/webpack.config.js index 759601fd..17074139 100644 --- a/packages/web3modal/webpack.config.js +++ b/packages/web3modal/webpack.config.js @@ -1,37 +1,38 @@ -const path = require("path"); +const path = require('path'); module.exports = { - mode: "production", - entry: { - index: "./src/index.ts" - }, - output: { - path: path.resolve(__dirname, "dist"), - filename: "[name].js", - libraryTarget: "umd", - library: "Web3Modal", - umdNamedDefine: true, - globalObject: "this" - }, - resolve: { - extensions: [".ts", ".tsx", ".js"] - }, - devtool: "source-map", - module: { - rules: [ - { test: /\.tsx?$/, loader: "ts-loader" }, - { - test: /\.(png|svg|jpg|gif)$/, - use: [ - { - loader: "url-loader", - options: { - limit: 65535, - name: "static/media/[name].[hash:8].[ext]" - } - } - ] - } - ] - } + mode: 'production', + entry: { + index: './src/index.ts' + }, + output: { + path: path.resolve(__dirname, 'dist'), + filename: '[name].js', + libraryTarget: 'umd', + library: 'Web3Modal', + libraryExport: 'default', + umdNamedDefine: true, + globalObject: 'this' + }, + resolve: { + extensions: ['.ts', '.tsx', '.js'] + }, + devtool: 'source-map', + module: { + rules: [ + { test: /\.tsx?$/, loader: 'ts-loader' }, + { + test: /\.(png|svg|jpg|gif)$/, + use: [ + { + loader: 'url-loader', + options: { + limit: 65535, + name: 'static/media/[name].[hash:8].[ext]' + } + } + ] + } + ] + } }; diff --git a/tsconfig.json b/tsconfig.json index 1efefdd1..f675d45b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,4 +15,4 @@ "skipLibCheck": true, "strict": true, } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index 18c0c157..eafeade8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,6 +9,15 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" +"@apideck/better-ajv-errors@^0.3.1": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.3.tgz#ab0b1e981e1749bf59736cf7ebe25cfc9f949c15" + integrity sha512-9o+HO2MbJhJHjDYZaDxJmSDckvDpiuItEsrIShV0DXeCshXWRHhqYyU/PKHMkuClOmFnZhRd6wzv4vpDu/dRKg== + dependencies: + json-schema "^0.4.0" + jsonpointer "^5.0.0" + leven "^3.1.0" + "@ava/babel-plugin-throws-helper@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-3.0.0.tgz#2c933ec22da0c4ce1fc5369f2b95452c70420586" @@ -68,7 +77,7 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.8.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== @@ -80,7 +89,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== -"@babel/core@^7.11.6", "@babel/core@^7.2.2", "@babel/core@^7.4.0", "@babel/core@^7.4.4": +"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.16.12", "@babel/core@^7.2.2", "@babel/core@^7.4.0", "@babel/core@^7.4.4", "@babel/core@^7.7.2", "@babel/core@^7.8.0": version "7.17.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA== @@ -101,7 +110,16 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/generator@^7.0.0", "@babel/generator@^7.17.3", "@babel/generator@^7.4.0", "@babel/generator@^7.4.4": +"@babel/eslint-parser@^7.16.3": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz#eabb24ad9f0afa80e5849f8240d0e5facc2d90d6" + integrity sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA== + dependencies: + eslint-scope "^5.1.1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.0" + +"@babel/generator@^7.0.0", "@babel/generator@^7.17.3", "@babel/generator@^7.4.0", "@babel/generator@^7.4.4", "@babel/generator@^7.7.2": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== @@ -135,7 +153,7 @@ browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6", "@babel/helper-create-class-features-plugin@^7.2.1": +"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.1", "@babel/helper-create-class-features-plugin@^7.17.6", "@babel/helper-create-class-features-plugin@^7.2.1": version "7.17.6" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== @@ -214,7 +232,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.16.7": +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== @@ -338,7 +356,7 @@ regenerator-runtime "^0.13.4" v8flags "^3.1.1" -"@babel/parser@^7.0.0", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.4.4", "@babel/parser@^7.7.0": +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.4.4", "@babel/parser@^7.7.0": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== @@ -376,7 +394,7 @@ "@babel/helper-create-class-features-plugin" "^7.2.1" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-class-properties@^7.16.7": +"@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== @@ -393,6 +411,17 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" +"@babel/plugin-proposal-decorators@^7.16.4": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.2.tgz#c36372ddfe0360cac1ee331a238310bddca11493" + integrity sha512-WH8Z95CwTq/W8rFbMqb9p3hicpt4RX4f0K659ax2VHxgOyT6qQmUaEVEjIh4WR9Eh9NymkVn5vwsrE68fAQNUw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.17.1" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/plugin-syntax-decorators" "^7.17.0" + charcodes "^0.2.0" + "@babel/plugin-proposal-dynamic-import@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" @@ -425,7 +454,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== @@ -433,7 +462,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.16.7": +"@babel/plugin-proposal-numeric-separator@^7.16.0", "@babel/plugin-proposal-numeric-separator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== @@ -460,7 +489,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.16.7": +"@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== @@ -469,7 +498,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.16.11": +"@babel/plugin-proposal-private-methods@^7.16.0", "@babel/plugin-proposal-private-methods@^7.16.11": version "7.16.11" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== @@ -502,7 +531,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.12.13": +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== @@ -516,6 +552,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" +"@babel/plugin-syntax-decorators@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.0.tgz#a2be3b2c9fe7d78bd4994e790896bc411e2f166d" + integrity sha512-qWe85yCXsvDEluNP0OyeQjH63DlhAR3W7K9BxxU1MvbDb48tgBG+Ao6IJJ6smPDrrVzSQZrbF6donpkFBMcs3A== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" @@ -537,6 +580,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" @@ -558,7 +608,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== @@ -572,7 +622,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.10.4": +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== @@ -607,14 +657,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-top-level-await@^7.14.5": +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.16.7": +"@babel/plugin-syntax-typescript@^7.16.7", "@babel/plugin-syntax-typescript@^7.7.2": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8" integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== @@ -702,7 +752,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-flow-strip-types@^7.4.4": +"@babel/plugin-transform-flow-strip-types@^7.16.0", "@babel/plugin-transform-flow-strip-types@^7.4.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz#291fb140c78dabbf87f2427e7c7c332b126964b8" integrity sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg== @@ -814,7 +864,42 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-react-jsx@^7.0.0": +"@babel/plugin-transform-react-constant-elements@^7.12.1": + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.17.6.tgz#6cc273c2f612a6a50cb657e63ee1303e5e68d10a" + integrity sha512-OBv9VkyyKtsHZiHLoSfCn+h6yU7YKX8nrs32xUmOa1SRSk+t03FosB6fBZ0Yz4BpD1WV7l73Nsad+2Tz7APpqw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340" + integrity sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-react-jsx-development@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8" + integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.16.7" + +"@babel/plugin-transform-react-jsx-self@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.7.tgz#f432ad0cba14c4a1faf44f0076c69e42a4d4479e" + integrity sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-react-jsx-source@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.7.tgz#1879c3f23629d287cc6186a6c683154509ec70c0" + integrity sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.16.7": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz#eac1565da176ccb1a715dae0b4609858808008c1" integrity sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ== @@ -825,6 +910,14 @@ "@babel/plugin-syntax-jsx" "^7.16.7" "@babel/types" "^7.17.0" +"@babel/plugin-transform-react-pure-annotations@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz#232bfd2f12eb551d6d7d01d13fe3f86b45eb9c67" + integrity sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-transform-regenerator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" @@ -839,7 +932,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-runtime@^7.5.5": +"@babel/plugin-transform-runtime@^7.16.4", "@babel/plugin-transform-runtime@^7.5.5": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz#0a2e08b5e2b2d95c4b1d3b3371a2180617455b70" integrity sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A== @@ -919,7 +1012,7 @@ core-js "^2.6.5" regenerator-runtime "^0.13.4" -"@babel/preset-env@^7.11.5", "@babel/preset-env@^7.4.4": +"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.11.5", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4", "@babel/preset-env@^7.4.4": version "7.16.11" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== @@ -1010,7 +1103,19 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-typescript@^7.1.0": +"@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.7.tgz#4c18150491edc69c183ff818f9f2aecbe5d93852" + integrity sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-transform-react-display-name" "^7.16.7" + "@babel/plugin-transform-react-jsx" "^7.16.7" + "@babel/plugin-transform-react-jsx-development" "^7.16.7" + "@babel/plugin-transform-react-pure-annotations" "^7.16.7" + +"@babel/preset-typescript@^7.1.0", "@babel/preset-typescript@^7.16.0": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz#ab114d68bb2020afc069cd51b37ff98a046a70b9" integrity sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ== @@ -1045,14 +1150,14 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.16.3", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.16.3", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.16.7", "@babel/template@^7.4.4": +"@babel/template@^7.16.7", "@babel/template@^7.3.3", "@babel/template@^7.4.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== @@ -1061,7 +1166,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.17.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.17.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== @@ -1085,7 +1190,7 @@ "@babel/helper-validator-identifier" "^7.14.9" to-fast-properties "^2.0.0" -"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0": +"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== @@ -1093,6 +1198,11 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + "@chainlink/contracts@^0.4.0": version "0.4.0" resolved "https://registry.yarnpkg.com/@chainlink/contracts/-/contracts-0.4.0.tgz#4bcfd486d02cdc73047f27904119d0f8cb7291f4" @@ -1117,10 +1227,10 @@ resolve-from "^5.0.0" semver "^5.4.1" -"@changesets/assemble-release-plan@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@changesets/assemble-release-plan/-/assemble-release-plan-5.1.0.tgz#0fcb18253998e3bc037a554874de43bcc58c4840" - integrity sha512-iYlqffCMhcwZ+6Cv8cimf10OBGYXQKufBI7J6htpRgCV2nT99RKXEjbYOtrXWKQqzu0XxOsk15apSEwjZN0JRw== +"@changesets/assemble-release-plan@^5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@changesets/assemble-release-plan/-/assemble-release-plan-5.1.1.tgz#43ad4a832aae55059a1096ee28c4e8708c79c674" + integrity sha512-TQRZnK1sqYuoibJdSwpqE81rfDh0Xrkkr/M6bCQZ1ogGoRJNVbNYDWvNfkNvR4rEdRylri8cfKzffo/ruoy8QA== dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" @@ -1137,18 +1247,18 @@ "@changesets/types" "^4.1.0" "@changesets/cli@^2.20.0": - version "2.21.0" - resolved "https://registry.yarnpkg.com/@changesets/cli/-/cli-2.21.0.tgz#b689f91ed908150efc06e0985e6b4cfbd9aea3a3" - integrity sha512-cJXRg28MmF9VbQrlwSjpY4AJA2xZUbXFCpQ3kFmX0IeppO7wknZ2QfocAhIqwM828t8d3R4Zpi5xnvJ/crIcQw== + version "2.21.1" + resolved "https://registry.yarnpkg.com/@changesets/cli/-/cli-2.21.1.tgz#00da1ab14be3c07383030d351b61f2606305d16d" + integrity sha512-4AJKo/UW0P217m2VHjiuhZy+CstLw54eu9I1fsY7tst76GeEN7mX0mVrTNEisR6CvOH7wLav3ITqvDcKVPbKsw== dependencies: "@babel/runtime" "^7.10.4" "@changesets/apply-release-plan" "^5.0.5" - "@changesets/assemble-release-plan" "^5.1.0" + "@changesets/assemble-release-plan" "^5.1.1" "@changesets/changelog-git" "^0.1.10" "@changesets/config" "^1.7.0" "@changesets/errors" "^0.1.4" "@changesets/get-dependents-graph" "^1.3.1" - "@changesets/get-release-plan" "^3.0.6" + "@changesets/get-release-plan" "^3.0.7" "@changesets/git" "^1.3.1" "@changesets/logger" "^0.0.5" "@changesets/pre" "^1.0.10" @@ -1204,13 +1314,13 @@ fs-extra "^7.0.1" semver "^5.4.1" -"@changesets/get-release-plan@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@changesets/get-release-plan/-/get-release-plan-3.0.6.tgz#15aac108b9d0f139841562c9372d8cfd738503dc" - integrity sha512-HpPyr8y6xkihy3rONLZ6OtfgYq88NotidPAuS3nwMeZjLHiIVLyejR2+/5q717f6HKcrATxAjTwMAcjl7X/uzA== +"@changesets/get-release-plan@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@changesets/get-release-plan/-/get-release-plan-3.0.7.tgz#db4a393985dec813d433129f1f828810ac95fa88" + integrity sha512-zDp6RIEKvERIF4Osy8sJ5BzqTiiLMhPWBO02y6w3nzTQJ0VBMaTs4hhwImQ/54O9I34eUHR3D0DwmwGQ27ifaw== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/assemble-release-plan" "^5.1.0" + "@changesets/assemble-release-plan" "^5.1.1" "@changesets/config" "^1.7.0" "@changesets/pre" "^1.0.10" "@changesets/read" "^0.5.4" @@ -1309,6 +1419,70 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" +"@csstools/normalize.css@*": + version "12.0.0" + resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.0.0.tgz#a9583a75c3f150667771f30b60d9f059473e62c4" + integrity sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg== + +"@csstools/postcss-color-function@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.0.2.tgz#0843fe19be08eeb22e5d2242a6ac06f8b87b9ed2" + integrity sha512-uayvFqfa0hITPwVduxRYNL9YBD/anTqula0tu2llalaxblEd7QPuETSN3gB5PvTYxSfd0d8kS4Fypgo5JaUJ6A== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-font-format-keywords@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.0.tgz#7e7df948a83a0dfb7eb150a96e2390ac642356a1" + integrity sha512-oO0cZt8do8FdVBX8INftvIA4lUrKUSCcWUf9IwH9IPWOgKT22oAZFXeHLoDK7nhB2SmkNycp5brxfNMRLIhd6Q== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-hwb-function@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.0.tgz#d6785c1c5ba8152d1d392c66f3a6a446c6034f6d" + integrity sha512-VSTd7hGjmde4rTj1rR30sokY3ONJph1reCBTUXqeW1fKwETPy1x4t/XIeaaqbMbC5Xg4SM/lyXZ2S8NELT2TaA== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-ic-unit@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.0.tgz#f484db59fc94f35a21b6d680d23b0ec69b286b7f" + integrity sha512-i4yps1mBp2ijrx7E96RXrQXQQHm6F4ym1TOD0D69/sjDjZvQ22tqiEvaNw7pFZTUO5b9vWRHzbHzP9+UKuw+bA== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-is-pseudo-class@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.1.tgz#472fff2cf434bdf832f7145b2a5491587e790c9e" + integrity sha512-Og5RrTzwFhrKoA79c3MLkfrIBYmwuf/X83s+JQtz/Dkk/MpsaKtqHV1OOzYkogQ+tj3oYp5Mq39XotBXNqVc3Q== + dependencies: + postcss-selector-parser "^6.0.9" + +"@csstools/postcss-normalize-display-values@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.0.tgz#ce698f688c28517447aedf15a9037987e3d2dc97" + integrity sha512-bX+nx5V8XTJEmGtpWTO6kywdS725t71YSLlxWt78XoHUbELWgoCXeOFymRJmL3SU1TLlKSIi7v52EWqe60vJTQ== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-oklab-function@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.0.1.tgz#a12348eae202d4ded908a06aa92cf19a946b6cec" + integrity sha512-Bnly2FWWSTZX20hDJLYHpurhp1ot+ZGvojLOsrHa9frzOVruOv4oPYMZ6wQomi9KsbZZ+Af/CuRYaGReTyGtEg== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.2.0.tgz#7d53b773de50874c3885918dcb10cac97bf66ed5" + integrity sha512-YLpFPK5OaLIRKZhUfnrZPT9s9cmtqltIOg7W6jPcxmiDpnZ4lk+odfufZttOAgcg6IHWvNLgcITSLpJxIQB/qQ== + dependencies: + postcss-value-parser "^4.2.0" + "@decentology/hyperverse-ethereum-erc721@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@decentology/hyperverse-ethereum-erc721/-/hyperverse-ethereum-erc721-1.0.1.tgz#bb112d18147778b3dbefc6adacb1521cd994ab4e" @@ -1404,6 +1578,11 @@ resolved "https://registry.yarnpkg.com/@ensdomains/resolver/-/resolver-0.2.4.tgz#c10fe28bf5efbf49bff4666d909aed0265efbc89" integrity sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA== +"@esbuild-plugins/node-globals-polyfill@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.1.1.tgz#a313ab3efbb2c17c8ce376aa216c627c9b40f9d7" + integrity sha512-MR0oAA+mlnJWrt1RQVQ+4VYuRJW/P2YmRTv1AsplObyvuBMnPHiizUF95HHYiSsMGLhyGtWufaq2XQg6+iurBg== + "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" @@ -2012,12 +2191,197 @@ multiformats "^9.5.4" "@ipld/dag-pb@^2.1.3": - version "2.1.15" - resolved "https://registry.yarnpkg.com/@ipld/dag-pb/-/dag-pb-2.1.15.tgz#416d1a720bd3b1c3b876ec73d8a15e7bd121f09b" - integrity sha512-qkoUIiuQDx2ZN+YmYFdSNNHRt15p1XTYbqsseb8DgA0ACcqCUurbiNVd0jt5GuiBm76t2mOV2cZsNu6rykRFBQ== + version "2.1.16" + resolved "https://registry.yarnpkg.com/@ipld/dag-pb/-/dag-pb-2.1.16.tgz#7133fec4f1bbce8fedb859bc2d477a0a2401de93" + integrity sha512-5+A87ZsKZ2yEEjtW6LIzTgDJcm6O24d0lmXlubwtMblI5ZB+aTw7PH6kjc8fM6pbnNtVg4Y+c+WZ3zCxdesIBg== dependencies: multiformats "^9.5.4" +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" + integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^27.5.1" + jest-util "^27.5.1" + slash "^3.0.0" + +"@jest/core@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" + integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== + dependencies: + "@jest/console" "^27.5.1" + "@jest/reporters" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.8.1" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^27.5.1" + jest-config "^27.5.1" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-resolve-dependencies "^27.5.1" + jest-runner "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + jest-watcher "^27.5.1" + micromatch "^4.0.4" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" + integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== + dependencies: + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + +"@jest/fake-timers@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" + integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== + dependencies: + "@jest/types" "^27.5.1" + "@sinonjs/fake-timers" "^8.0.1" + "@types/node" "*" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-util "^27.5.1" + +"@jest/globals@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" + integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/types" "^27.5.1" + expect "^27.5.1" + +"@jest/reporters@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" + integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-haste-map "^27.5.1" + jest-resolve "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^8.1.0" + +"@jest/source-map@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" + integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.9" + source-map "^0.6.0" + +"@jest/test-result@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" + integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== + dependencies: + "@jest/console" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" + integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== + dependencies: + "@jest/test-result" "^27.5.1" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-runtime "^27.5.1" + +"@jest/transform@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" + integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^27.5.1" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-regex-util "^27.5.1" + jest-util "^27.5.1" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" + integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + "@jridgewell/resolve-uri@^3.0.3": version "3.0.5" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" @@ -2466,9 +2830,9 @@ integrity sha512-A2gZAGB6kUvLx+kzM92HKuUF33F1FSe90L0TmkXkT2Hh0OKRpvWZURUSU2nghD2yC4DzfEZ3DftfeHGvZ2JTUw== "@nomiclabs/hardhat-waffle@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.2.tgz#6030aa6fd9ea05327bf79d1107356af906d8b1e4" - integrity sha512-dnhry6Bj15O8L3pBksTuXfr4RAUIf+BxRxWJXiu+ioSawcQaOcNF4gfMxn6ik0auk3zrsAJLA6m9vqe87d4xvg== + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.3.tgz#9c538a09c5ed89f68f5fd2dc3f78f16ed1d6e0b1" + integrity sha512-049PHSnI1CZq6+XTbrMbMv5NaL7cednTfPenx02k3cEh8wBMLa6ys++dBETJa6JjfwgA9nBhhHQ173LJv6k2Pg== dependencies: "@types/sinon-chai" "^3.2.3" "@types/web3" "1.0.19" @@ -3235,21 +3599,36 @@ tslib "^2.0.0" "@peculiar/webcrypto@^1.1.1": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@peculiar/webcrypto/-/webcrypto-1.3.0.tgz#9b597b90470afdb566040e703e6aaaf704d9be7c" - integrity sha512-gV+1F0jQmZmxChl8kNqhdBEYqQbSBvvzT/6r05FSj95/wXmAP+EIAKqMM8ehM2aCxHYTQpOV7bs7y+RQvAwZaw== + version "1.3.1" + resolved "https://registry.yarnpkg.com/@peculiar/webcrypto/-/webcrypto-1.3.1.tgz#cd152b5d41841b4296983425fbeb9defb085bb0a" + integrity sha512-BdzqCnzquMaoPYsFqWP/Q8SNslweb6A+oVaVbt9JBuXuvb528CEDUGVA0NSEZrgXj8jt++2kx3anChiKhOV3Nw== dependencies: "@peculiar/asn1-schema" "^2.0.44" "@peculiar/json-schema" "^1.1.12" - pvtsutils "^1.2.1" + pvtsutils "^1.2.2" tslib "^2.3.1" - webcrypto-core "^1.4.0" + webcrypto-core "^1.6.0" "@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== +"@pmmmwh/react-refresh-webpack-plugin@^0.5.3": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.4.tgz#df0d0d855fc527db48aac93c218a0bf4ada41f99" + integrity sha512-zZbZeHQDnoTlt2AF+diQT0wsSXpvWiaIOZwBRdltNFhG1+I3ozyaw7U/nBiUwyJ0D+zwdXp0E3bWOl38Ag2BMw== + dependencies: + ansi-html-community "^0.0.8" + common-path-prefix "^3.0.0" + core-js-pure "^3.8.1" + error-stack-parser "^2.0.6" + find-up "^5.0.0" + html-entities "^2.1.0" + loader-utils "^2.0.0" + schema-utils "^3.0.0" + source-map "^0.7.3" + "@polka/url@^1.0.0-next.20": version "1.0.0-next.21" resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" @@ -3462,7 +3841,61 @@ path-browserify "^1.0.0" url "^0.11.0" -"@rushstack/eslint-patch@^1.0.8": +"@rollup/plugin-babel@^5.2.0": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" + integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" + +"@rollup/plugin-inject@^4.0.0": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-4.0.4.tgz#fbeee66e9a700782c4f65c8b0edbafe58678fbc2" + integrity sha512-4pbcU4J/nS+zuHk+c+OL3WtmEQhqxlZ9uqfjQMQDOHOPld7PsCd8k5LWs8h5wjwJN7MgnAn768F2sDxEP4eNFQ== + dependencies: + "@rollup/pluginutils" "^3.1.0" + estree-walker "^2.0.1" + magic-string "^0.25.7" + +"@rollup/plugin-node-resolve@^11.2.1": + version "11.2.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" + integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" + builtin-modules "^3.1.0" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.19.0" + +"@rollup/plugin-replace@^2.4.1": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" + integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + magic-string "^0.25.7" + +"@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@rollup/pluginutils@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.2.tgz#ed5821c15e5e05e32816f5fb9ec607cdf5a75751" + integrity sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ== + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + +"@rushstack/eslint-patch@^1.0.8", "@rushstack/eslint-patch@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz#7f698254aadf921e48dda8c0a6b304026b8a9323" integrity sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A== @@ -3547,7 +3980,21 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== -"@solidity-parser/parser@^0.14.0", "@solidity-parser/parser@^0.14.1": +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^8.0.1": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" + integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@solidity-parser/parser@^0.14.1": version "0.14.1" resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.1.tgz#179afb29f4e295a77cc141151f26b3848abc3c46" integrity sha512-eLjj2L6AuQjBB6s/ibwCAc0DwrR5Ge+ys+wgWo+bviU7fV2nTMQhU63CGaDKXg9iTmMxwhkyoggdIR7ZGRfMgw== @@ -3559,11 +4006,129 @@ resolved "https://registry.yarnpkg.com/@stitches/react/-/react-1.2.7.tgz#aea2403fac726db66d1740d29557e3910b1a1dc7" integrity sha512-6AxpUag7OW55ANzRnuy7R15FEyQeZ66fytVo3BBilFIU0mfo3t49CAMcEAL/A1SbhSj/FCdWkn/XrbjGBTJTzg== +"@surma/rollup-plugin-off-main-thread@^2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz#ee34985952ca21558ab0d952f00298ad2190c053" + integrity sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ== + dependencies: + ejs "^3.1.6" + json5 "^2.2.0" + magic-string "^0.25.0" + string.prototype.matchall "^4.0.6" + +"@svgr/babel-plugin-add-jsx-attribute@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" + integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== + +"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" + integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== + +"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" + integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" + integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== + +"@svgr/babel-plugin-svg-dynamic-title@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" + integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== + +"@svgr/babel-plugin-svg-em-dimensions@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" + integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== + +"@svgr/babel-plugin-transform-react-native-svg@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" + integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== + +"@svgr/babel-plugin-transform-svg-component@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" + integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== + +"@svgr/babel-preset@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" + integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" + "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1" + "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0" + "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0" + "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" + "@svgr/babel-plugin-transform-svg-component" "^5.5.0" + +"@svgr/core@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" + integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== + dependencies: + "@svgr/plugin-jsx" "^5.5.0" + camelcase "^6.2.0" + cosmiconfig "^7.0.0" + +"@svgr/hast-util-to-babel-ast@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" + integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== + dependencies: + "@babel/types" "^7.12.6" + +"@svgr/plugin-jsx@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" + integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== + dependencies: + "@babel/core" "^7.12.3" + "@svgr/babel-preset" "^5.5.0" + "@svgr/hast-util-to-babel-ast" "^5.5.0" + svg-parser "^2.0.2" + +"@svgr/plugin-svgo@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" + integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== + dependencies: + cosmiconfig "^7.0.0" + deepmerge "^4.2.2" + svgo "^1.2.2" + +"@svgr/webpack@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" + integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== + dependencies: + "@babel/core" "^7.12.3" + "@babel/plugin-transform-react-constant-elements" "^7.12.1" + "@babel/preset-env" "^7.12.1" + "@babel/preset-react" "^7.12.5" + "@svgr/core" "^5.5.0" + "@svgr/plugin-jsx" "^5.5.0" + "@svgr/plugin-svgo" "^5.5.0" + loader-utils "^2.0.0" + "@swc/helpers@^0.2.11": version "0.2.14" resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.2.14.tgz#20288c3627442339dd3d743c944f7043ee3590f0" integrity sha512-wpCQMhf5p5GhNg2MmGKXzUNwxe7zRiCsmqYsamez2beP7mKPCSiu+BjZcdN95yYSzO857kr0VfQewmGpS77nqA== +"@swc/helpers@^0.3.6": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.3.6.tgz#b41e77dbf14e9cb138988484563ad9680ae5dc3d" + integrity sha512-xVl7Sddrl9/eMjEMqkH9lT8fLOGCuWHH9VmR2IBKQ8xTcjA6UQw4O3/4oS3xnyZHLtL9vC3P+C0kLneHpiqeEg== + "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" @@ -3571,6 +4136,56 @@ dependencies: defer-to-connect "^1.0.1" +"@testing-library/dom@^8.0.0": + version "8.11.3" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.11.3.tgz#38fd63cbfe14557021e88982d931e33fb7c1a808" + integrity sha512-9LId28I+lx70wUiZjLvi1DB/WT2zGOxUh46glrSNMaWVx849kKAluezVzZrXJfTKKoQTmEOutLes/bHg4Bj3aA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^4.2.0" + aria-query "^5.0.0" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.4.4" + pretty-format "^27.0.2" + +"@testing-library/jest-dom@^5.16.2": + version "5.16.2" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.2.tgz#f329b36b44aa6149cd6ced9adf567f8b6aa1c959" + integrity sha512-6ewxs1MXWwsBFZXIk4nKKskWANelkdUehchEOokHsN8X7c2eKXGw+77aRV63UU8f/DTSVUPLaGxdrj4lN7D/ug== + dependencies: + "@babel/runtime" "^7.9.2" + "@types/testing-library__jest-dom" "^5.9.1" + aria-query "^5.0.0" + chalk "^3.0.0" + css "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.5.6" + lodash "^4.17.15" + redent "^3.0.0" + +"@testing-library/react@^12.1.3": + version "12.1.3" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.3.tgz#ef26c5f122661ea9b6f672b23dc6b328cadbbf26" + integrity sha512-oCULRXWRrBtC9m6G/WohPo1GLcLesH7T4fuKzRAKn1CWVu9BzXtqLXDDTA6KhFNNtRwLtfSMr20HFl+Qrdrvmg== + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^8.0.0" + "@types/react-dom" "*" + +"@testing-library/user-event@^13.5.0": + version "13.5.0" + resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295" + integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg== + dependencies: + "@babel/runtime" "^7.12.5" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "@trysound/sax@0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" @@ -3608,11 +4223,49 @@ resolved "https://registry.yarnpkg.com/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz#f055979a99f7654e84d6b8e6267419e9c4cfff87" integrity sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ== +"@types/aria-query@^4.2.0": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" + integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== + "@types/asn1js@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@types/asn1js/-/asn1js-2.0.2.tgz#bb1992291381b5f06e22a829f2ae009267cdf8c5" integrity sha512-t4YHCgtD+ERvH0FyxvNlYwJ2ezhqw7t+Ygh4urQ7dJER8i185JPv6oIM3ey5YQmGN6Zp9EMbpohkjZi9t3UxwA== +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": + version "7.1.18" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.18.tgz#1a29abcc411a9c05e2094c98f9a1b7da6cdf49f8" + integrity sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + dependencies: + "@babel/types" "^7.3.0" + "@types/bn.js@*", "@types/bn.js@^5.1.0": version "5.1.0" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" @@ -3627,17 +4280,95 @@ dependencies: "@types/node" "*" +"@types/body-parser@*": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.10" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" + integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== + dependencies: + "@types/node" "*" + "@types/chai@*": version "4.3.0" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.0.tgz#23509ebc1fa32f1b4d50d6a66c4032d5b8eaabdc" integrity sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw== -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/connect-history-api-fallback@^1.3.5": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" + integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" -"@types/fs-extra@^9.0.13": +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.3" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" + integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.4.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304" + integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/eslint@^7.28.2": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.29.0.tgz#e56ddc8e542815272720bb0b4ccc2aff9c3e1c78" + integrity sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^0.0.51": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": + version "4.17.28" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" + integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@*", "@types/express@^4.17.13": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" + integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/fs-extra@^9.0.13": version "9.0.13" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== @@ -3652,6 +4383,13 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + "@types/hoist-non-react-statics@*": version "3.3.1" resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" @@ -3660,6 +4398,18 @@ "@types/react" "*" hoist-non-react-statics "^3.3.0" +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== + +"@types/http-proxy@^1.17.8": + version "1.17.8" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.8.tgz#968c66903e7e42b483608030ee85800f22d03f55" + integrity sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA== + dependencies: + "@types/node" "*" + "@types/is-ci@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/is-ci/-/is-ci-3.0.0.tgz#7e8910af6857601315592436f030aaa3ed9783c3" @@ -3667,12 +4417,39 @@ dependencies: ci-info "^3.1.0" +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@*", "@types/jest@^27.4.1": + version "27.4.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.4.1.tgz#185cbe2926eaaf9662d340cc02e548ce9e11ab6d" + integrity sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw== + dependencies: + jest-matcher-utils "^27.0.0" + pretty-format "^27.0.0" + "@types/js-cookie@^2.2.6": version "2.2.7" resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== -"@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== @@ -3711,6 +4488,11 @@ resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.2.tgz#cb2dbf10da2f41cf20bd91fb5f89b67540c282f7" integrity sha512-auNrZ/c0w6wsM9DccwVxWHssrMDezHUAXNesdp2RQrCVCyrQbOiSq7yqdJKrUQQpw9VTm7CGYJH2A/YG7jjrjQ== +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + "@types/minimatch@*", "@types/minimatch@^3.0.4": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" @@ -3756,6 +4538,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.46.tgz#7e49dee4c54fd19584e6a9e0da5f3dc2e9136bc7" integrity sha512-cPjLXj8d6anFPzFvOPxS3fvly3Shm5nTfl6g8X5smexixbuGUf7hfr21J5tX9JW+UPStp/5P5R8qrKL5IyVJ+A== +"@types/node@^16.11.26": + version "16.11.26" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.26.tgz#63d204d136c9916fb4dcd1b50f9740fe86884e47" + integrity sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ== + "@types/normalize-package-data@^2.4.0": version "2.4.1" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" @@ -3773,7 +4560,7 @@ dependencies: "@types/node" "*" -"@types/prettier@^2.1.1": +"@types/prettier@^2.1.1", "@types/prettier@^2.1.5": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.4.tgz#5d9b63132df54d8909fce1c3f8ca260fdd693e17" integrity sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA== @@ -3788,6 +4575,23 @@ resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/react-dom@*", "@types/react-dom@^17.0.10", "@types/react-dom@^17.0.13": + version "17.0.13" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.13.tgz#a3323b974ee4280070982b3112351bb1952a7809" + integrity sha512-wEP+B8hzvy6ORDv1QBhcQia4j6ea4SFIBttHYpXKPFZRviBvknq0FRh3VrIxeXUmsPkwuXVZrVGG7KUVONmXCQ== + dependencies: + "@types/react" "*" + "@types/react-dom@^16.8.4": version "16.9.14" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.14.tgz#674b8f116645fe5266b40b525777fc6bb8eb3bcd" @@ -3795,7 +4599,7 @@ dependencies: "@types/react" "^16" -"@types/react@*", "@types/react@17.0.39", "@types/react@^17.0.39": +"@types/react@*", "@types/react@17.0.39", "@types/react@^17.0.33", "@types/react@^17.0.39": version "17.0.39" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.39.tgz#d0f4cde092502a6db00a1cded6e6bf2abb7633ce" integrity sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug== @@ -3838,6 +4642,18 @@ dependencies: "@types/node" "*" +"@types/resolve@1.17.1": + version "1.17.1" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + dependencies: + "@types/node" "*" + +"@types/retry@^0.12.0": + version "0.12.1" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" + integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== + "@types/scheduler@*": version "0.16.2" resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" @@ -3855,6 +4671,21 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.2.3.tgz#5798ecf1bec94eaa64db39ee52808ec0693315aa" integrity sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A== +"@types/serve-index@^1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" + integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== + dependencies: + "@types/express" "*" + +"@types/serve-static@*": + version "1.13.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" + integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + "@types/sinon-chai@^3.2.3": version "3.2.8" resolved "https://registry.yarnpkg.com/@types/sinon-chai/-/sinon-chai-3.2.8.tgz#5871d09ab50d671d8e6dd72e9073f8e738ac61dc" @@ -3875,15 +4706,39 @@ resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== +"@types/sockjs@^0.3.33": + version "0.3.33" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" + integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== + dependencies: + "@types/node" "*" + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + "@types/styled-components@^5.1.19": - version "5.1.23" - resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-5.1.23.tgz#11e5740047f292b42a042c60c0ef16b58d5adef6" - integrity sha512-zt8oQGU6XB4LH1Xpq169YnAVmt22+swzHJvyKMyTZu/z8+afvgKjjg0s79aAodgNSf36ZOEG6DyVAW/JhLH2Nw== + version "5.1.24" + resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-5.1.24.tgz#b52ae677f03ea8a6018aa34c6c96b7018b7a3571" + integrity sha512-mz0fzq2nez+Lq5IuYammYwWgyLUE6OMAJTQL9D8hFLP4Pkh7gVYJii/VQWxq8/TK34g/OrkehXaFNdcEKcItug== dependencies: "@types/hoist-non-react-statics" "*" "@types/react" "*" csstype "^3.0.2" +"@types/testing-library__jest-dom@^5.9.1": + version "5.14.3" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.3.tgz#ee6c7ffe9f8595882ee7bda8af33ae7b8789ef17" + integrity sha512-oKZe+Mf4ioWlMuzVBaXQ9WDnEm1+umLx0InILg+yvZVBBDmzV5KfZyLrCvadtWcx8+916jLmHafcmqqffl+iIw== + dependencies: + "@types/jest" "*" + +"@types/trusted-types@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756" + integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== + "@types/underscore@*": version "1.11.4" resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.11.4.tgz#62e393f8bc4bd8a06154d110c7d042a93751def3" @@ -3904,7 +4759,26 @@ dependencies: web3 "*" -"@typescript-eslint/eslint-plugin@^5.12.1": +"@types/ws@^8.2.2": + version "8.5.2" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.2.tgz#77e0c2e360e9579da930ffcfa53c5975ea3bdd26" + integrity sha512-VXI82ykONr5tacHEojnErTQk+KQSoYbW1NB6iz6wUwrNd+BqfkfggQNoNdCqhJSzbNumShPERbM+Pc5zpfhlbw== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^16.0.0": + version "16.0.4" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" + integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^5.12.1", "@typescript-eslint/eslint-plugin@^5.5.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.13.0.tgz#2809052b85911ced9c54a60dac10e515e9114497" integrity sha512-vLktb2Uec81fxm/cfz2Hd6QaWOs8qdmVAZXLdOBX6JFJDhf6oDZpMzZ4/LZ6SFM/5DgDcxIMIvy3F+O9yZBuiQ== @@ -3919,17 +4793,14 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.0.0": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.1.tgz#b090289b553b8aa0899740d799d0f96e6f49771b" - integrity sha512-6LuVUbe7oSdHxUWoX/m40Ni8gsZMKCi31rlawBHt7VtW15iHzjbpj2WLiToG2758KjtCCiLRKZqfrOdl3cNKuw== +"@typescript-eslint/experimental-utils@^5.0.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.13.0.tgz#5f9c509998a4b0b5662c23a758ac0e178dc7bb98" + integrity sha512-A0btJxjB9gH6yJsARONe5xd0ykgj1+0fO1TRWoUBn2hT3haWiZeh4f1FILKW0z/9OBchT5zCOz3hiJfRK/vumA== dependencies: - "@typescript-eslint/scope-manager" "5.12.1" - "@typescript-eslint/types" "5.12.1" - "@typescript-eslint/typescript-estree" "5.12.1" - debug "^4.3.2" + "@typescript-eslint/utils" "5.13.0" -"@typescript-eslint/parser@^5.12.1": +"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.12.1", "@typescript-eslint/parser@^5.5.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.13.0.tgz#0394ed8f2f849273c0bf4b811994d177112ced5c" integrity sha512-GdrU4GvBE29tm2RqWOM0P5QfCtgCyN4hXICj/X9ibKED16136l9ZpoJvCL5pSKtmJzA+NRDzQ312wWMejCVVfg== @@ -3939,14 +4810,6 @@ "@typescript-eslint/typescript-estree" "5.13.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.12.1.tgz#58734fd45d2d1dec49641aacc075fba5f0968817" - integrity sha512-J0Wrh5xS6XNkd4TkOosxdpObzlYfXjAFIm9QxYLCPOcHVv1FyyFCPom66uIh8uBr0sZCrtS+n19tzufhwab8ZQ== - dependencies: - "@typescript-eslint/types" "5.12.1" - "@typescript-eslint/visitor-keys" "5.12.1" - "@typescript-eslint/scope-manager@5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.13.0.tgz#cf6aff61ca497cb19f0397eea8444a58f46156b6" @@ -3964,29 +4827,11 @@ debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.1.tgz#46a36a28ff4d946821b58fe5a73c81dc2e12aa89" - integrity sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA== - "@typescript-eslint/types@5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.13.0.tgz#da1de4ae905b1b9ff682cab0bed6b2e3be9c04e5" integrity sha512-LmE/KO6DUy0nFY/OoQU0XelnmDt+V8lPQhh8MOVa7Y5k2gGRd6U9Kp3wAjhB4OHg57tUO0nOnwYQhRRyEAyOyg== -"@typescript-eslint/typescript-estree@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz#6a9425b9c305bcbc38e2d1d9a24c08e15e02b722" - integrity sha512-ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw== - dependencies: - "@typescript-eslint/types" "5.12.1" - "@typescript-eslint/visitor-keys" "5.12.1" - debug "^4.3.2" - globby "^11.0.4" - is-glob "^4.0.3" - semver "^7.3.5" - tsutils "^3.21.0" - "@typescript-eslint/typescript-estree@5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.13.0.tgz#b37c07b748ff030a3e93d87c842714e020b78141" @@ -4000,7 +4845,7 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.13.0": +"@typescript-eslint/utils@5.13.0", "@typescript-eslint/utils@^5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.13.0.tgz#2328feca700eb02837298339a2e49c46b41bd0af" integrity sha512-+9oHlPWYNl6AwwoEt5TQryEHwiKRVjz7Vk6kaBeD3/kwHE5YqTGHtm/JZY8Bo9ITOeKutFaXnBlMgSATMJALUQ== @@ -4012,14 +4857,6 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.1.tgz#f722da106c8f9695ae5640574225e45af3e52ec3" - integrity sha512-l1KSLfupuwrXx6wc0AuOmC7Ko5g14ZOQ86wJJqRbdLbXLK02pK/DPiDDqCc7BqqiiA04/eAA6ayL0bgOrAkH7A== - dependencies: - "@typescript-eslint/types" "5.12.1" - eslint-visitor-keys "^3.0.0" - "@typescript-eslint/visitor-keys@5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.13.0.tgz#f45ff55bcce16403b221ac9240fbeeae4764f0fd" @@ -4028,40 +4865,59 @@ "@typescript-eslint/types" "5.13.0" eslint-visitor-keys "^3.0.0" +"@typescript/lib-dom@npm:@types/web": + version "0.0.54" + resolved "https://registry.yarnpkg.com/@types/web/-/web-0.0.54.tgz#1e92b09b80212e7c2024c49fa9d455fab9057593" + integrity sha512-LYaiVWt3ZzwTb4Hj9eqDXjN+GI+YphBYJdo3/cQC+qICk1SdbXW1t3YImUaQYKf9//JEM9089ll+owgl/WKuHg== + "@ungap/promise-all-settled@1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== -"@walletconnect/browser-utils@^1.6.1", "@walletconnect/browser-utils@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.7.1.tgz#2a28846cd4d73166debbbf7d470e78ba25616f5e" - integrity sha512-y6KvxPhi52sWzS0/HtA3EhdgmtG8mXcxdc26YURDOVC/BJh3MxV8E16JFrT4InylOqYJs6dcSLWVfcnJaiPtZw== +"@vitejs/plugin-react@^1.0.7": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-1.2.0.tgz#4cfb4c0475e93885e56d66ff15e12ef4c34b0af0" + integrity sha512-Rywwt0IXXg6yQ0hv3cMT3mtdDcGIw31mGaa+MMMAT651LhoXLF2yFy4LrakiTs7UKs7RPBo9eNgaS8pgl2A6Qw== + dependencies: + "@babel/core" "^7.16.12" + "@babel/plugin-transform-react-jsx" "^7.16.7" + "@babel/plugin-transform-react-jsx-development" "^7.16.7" + "@babel/plugin-transform-react-jsx-self" "^7.16.7" + "@babel/plugin-transform-react-jsx-source" "^7.16.7" + "@rollup/pluginutils" "^4.1.2" + react-refresh "^0.11.0" + resolve "^1.22.0" + +"@walletconnect/browser-utils@^1.6.1", "@walletconnect/browser-utils@^1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.7.3.tgz#06efabd67a6b487a2690e12ae7f75707f05582e0" + integrity sha512-QYpzoBgvEDBF2lu6L55d0jX1K9bfEy1UtPqAWCi6KBOgw1KQgfvHavephOXW+tQIAWYB5CROTxa4HTSVyYUEQA== dependencies: "@walletconnect/safe-json" "1.0.0" - "@walletconnect/types" "^1.7.1" + "@walletconnect/types" "^1.7.3" "@walletconnect/window-getters" "1.0.0" "@walletconnect/window-metadata" "1.0.0" detect-browser "5.2.0" -"@walletconnect/client@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@walletconnect/client/-/client-1.7.1.tgz#aaa74199bdc0605db9ac2ecdf8a463b271586d3b" - integrity sha512-xD8B8s1hL7Z5vJwb3L0u1bCVAk6cRQfIY9ycymf7KkmIhkAONQJNf2Y0C0xIpbPp2fdn9VwnSfLm5Ed/Ht/1IA== +"@walletconnect/client@^1.7.1", "@walletconnect/client@^1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/client/-/client-1.7.3.tgz#0b83626926a044bc35f68dd5ad21b8c621395baf" + integrity sha512-jXdkVC2JhpWymsR4G9l4E+OmnlXT6lr+/112QDWIjYmpWD1vfMBvCQiqYEJ5UfZl14U3xvzVlyMf2pL9uaxKDg== dependencies: - "@walletconnect/core" "^1.7.1" - "@walletconnect/iso-crypto" "^1.7.1" - "@walletconnect/types" "^1.7.1" - "@walletconnect/utils" "^1.7.1" + "@walletconnect/core" "^1.7.3" + "@walletconnect/iso-crypto" "^1.7.3" + "@walletconnect/types" "^1.7.3" + "@walletconnect/utils" "^1.7.3" -"@walletconnect/core@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-1.7.1.tgz#321c14d63af81241658b028022e0e5fa6dc7f374" - integrity sha512-qO+4wykyRNiq3HEuaAA2pW2PDnMM4y7pyPAgiCwfHiqF4PpWvtcdB301hI0K5am9ghuqKZMy1HlE9LWNOEBvcw== +"@walletconnect/core@^1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-1.7.3.tgz#d67d7e0b96076aa47cad2ea7e83d0915e523069e" + integrity sha512-sDKWrQccs96T2uMbyWbKxLOFjKFLyoLIxMtknNuZXGG6kw+NUee5GBu9tTZ7zfVuIh0te1YcpZPX7slXwNjY8g== dependencies: - "@walletconnect/socket-transport" "^1.7.1" - "@walletconnect/types" "^1.7.1" - "@walletconnect/utils" "^1.7.1" + "@walletconnect/socket-transport" "^1.7.3" + "@walletconnect/types" "^1.7.3" + "@walletconnect/utils" "^1.7.3" "@walletconnect/crypto@^1.0.1": version "1.0.1" @@ -4087,24 +4943,24 @@ resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.0.tgz#c4545869fa9c389ec88c364e1a5f8178e8ab5034" integrity sha512-4BwqyWy6KpSvkocSaV7WR3BlZfrxLbJSLkg+j7Gl6pTDE+U55lLhJvQaMuDVazXYxcjBsG09k7UlH7cGiUI5vQ== -"@walletconnect/http-connection@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@walletconnect/http-connection/-/http-connection-1.7.1.tgz#fddddccd70a5c659c6e6ac25ba5305290c158705" - integrity sha512-cz3pw2MsTyBT5hy8qhs67NFHTIFOzltdMx9Hy1ftkjXQYtenxIBzAQpZzF6l/lXC3GmMziueYnknZILo1+wgfg== +"@walletconnect/http-connection@^1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/http-connection/-/http-connection-1.7.3.tgz#4b346b13b40f4d35d9d979160878c6280d5934ce" + integrity sha512-vF9OUeIUISbGxk9+pi4LRz8gTVVHc6lGLZryMR7I+kNcLk5pqUuUiu9ublChdz1bbaw6Bn8J7a/SV95QUZkO0w== dependencies: - "@walletconnect/types" "^1.7.1" - "@walletconnect/utils" "^1.7.1" + "@walletconnect/types" "^1.7.3" + "@walletconnect/utils" "^1.7.3" eventemitter3 "4.0.7" xhr2-cookies "1.1.0" -"@walletconnect/iso-crypto@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@walletconnect/iso-crypto/-/iso-crypto-1.7.1.tgz#c463bb5874686c2f21344e2c7f3cf4d71c34ca70" - integrity sha512-qMiW0kLN6KCjnLMD50ijIj1lQqjNjGszGUwrSVUiS2/Dp4Ecx+4QEtHbmVwGEkfx4kelYPFpDJV3ZJpQ4Kqg/g== +"@walletconnect/iso-crypto@^1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/iso-crypto/-/iso-crypto-1.7.3.tgz#973c1d45881a0db30a0d9d9ac15b07c7aea60ec7" + integrity sha512-T/mEoHMuYjft7SWiFTQa4Fng12U9Z7XQPUq9axJPgBY7a5dC4Bk3tJX8Ml7s7syLxc6inzCCMv/vaZGNskTgAw== dependencies: "@walletconnect/crypto" "^1.0.1" - "@walletconnect/types" "^1.7.1" - "@walletconnect/utils" "^1.7.1" + "@walletconnect/types" "^1.7.3" + "@walletconnect/utils" "^1.7.3" "@walletconnect/jsonrpc-types@^1.0.0": version "1.0.0" @@ -4126,14 +4982,14 @@ resolved "https://registry.yarnpkg.com/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz#502cf8ab87330841d794819081e748ebdef7aee5" integrity sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw== -"@walletconnect/qrcode-modal@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@walletconnect/qrcode-modal/-/qrcode-modal-1.7.1.tgz#89b19c2eb6466ec237ccd597388d7a1b1b946067" - integrity sha512-m/4lSx3pgj8V2eHVJcGnxBKUSCNFtyVIcg5tqbSJHi9HjKIBxvRq4D5M4X4yEpgXYtRmTucihxNCrj2zQrmlSQ== +"@walletconnect/qrcode-modal@^1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/qrcode-modal/-/qrcode-modal-1.7.3.tgz#8fea5ec14fe488ece215e23ba1ed4eea3afc77a6" + integrity sha512-4MfFXEckI0q14lB7GVG27rg6WUELV4xkZlKf5Od3rzed7YSm9JmcSGOw6SHtERAM5rKwy2Dn1IC8lskfOVCpZQ== dependencies: - "@walletconnect/browser-utils" "^1.7.1" + "@walletconnect/browser-utils" "^1.7.3" "@walletconnect/mobile-registry" "^1.4.0" - "@walletconnect/types" "^1.7.1" + "@walletconnect/types" "^1.7.3" copy-to-clipboard "^3.3.1" preact "10.4.1" qrcode "1.4.4" @@ -4152,43 +5008,43 @@ resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.0.tgz#12eeb11d43795199c045fafde97e3c91646683b2" integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg== -"@walletconnect/socket-transport@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@walletconnect/socket-transport/-/socket-transport-1.7.1.tgz#cc4c8dcf21c40b805812ecb066b2abb156fdb146" - integrity sha512-Gu1RPro0eLe+HHtLhq/1T5TNFfO/HW2z3BnWuUYuJ/F8w1U9iK7+4LMHe+LTgwgWy9Ybcb2k0tiO5e3LgjHBHQ== +"@walletconnect/socket-transport@^1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/socket-transport/-/socket-transport-1.7.3.tgz#3673996c984b735aadf0894c66515ba449ff2c24" + integrity sha512-t0WlbgtnyOKHqKjceVBJI0c7wlsZIvZTsbYgQ3NN03uX8r5gv01FJxLvf/Uu5uip+LcjBZEz4TVwIO80As64nw== dependencies: - "@walletconnect/types" "^1.7.1" - "@walletconnect/utils" "^1.7.1" + "@walletconnect/types" "^1.7.3" + "@walletconnect/utils" "^1.7.3" ws "7.5.3" -"@walletconnect/types@^1.6.1", "@walletconnect/types@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.7.1.tgz#86cc3832e02415dc9f518f3dcb5366722afbfc03" - integrity sha512-X0NunEUgq46ExDcKo7BnnFpFhuZ89bZ04/1FtohNziBWcP2Mblp2yf+FN7iwmZiuZ3bRTb8J1O4oJH2JGP9I7A== +"@walletconnect/types@^1.6.1", "@walletconnect/types@^1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.7.3.tgz#6378fc058b463beb869f5583b30c000ffd67c082" + integrity sha512-EtFM7LxjrbCoCJvRZf3wydPitwlB0s4S9sj9yXe13j7mMgf9ruS5Ixa/sCfDKskZdGvkhFis9+Nw+gO++A/klg== -"@walletconnect/utils@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-1.7.1.tgz#f858d5f22425a4c2da2a28ae493bde7f2eecf815" - integrity sha512-7Lig9rruqTMaFuwEhBrArq1QgzIf2NuzO6J3sCUYCZh60EQ7uIZjekaDonQjiQJAbfYcgWUBm8qa0PG1TzYN3Q== +"@walletconnect/utils@^1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-1.7.3.tgz#187ef510dec3c0c2ce832b7c347dbcd98ee47b38" + integrity sha512-WVZqCBgoIer3fUUVEQm0TYZrDBEOSlKJ91EgA27I41TJGer7OE7pEjJhaNgwWTIwsfJJkjNWp+4wa78Qf/e5vg== dependencies: - "@walletconnect/browser-utils" "^1.7.1" + "@walletconnect/browser-utils" "^1.7.3" "@walletconnect/encoding" "^1.0.0" "@walletconnect/jsonrpc-utils" "^1.0.0" - "@walletconnect/types" "^1.7.1" + "@walletconnect/types" "^1.7.3" bn.js "4.11.8" js-sha3 "0.8.0" query-string "6.13.5" "@walletconnect/web3-provider@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@walletconnect/web3-provider/-/web3-provider-1.7.1.tgz#3b7bf41bfd0198b18f5cc5626e1ec28e931667c7" - integrity sha512-dhoYwQaBVbaKIiELNeCF4kW7Dslbf73wDIsxOF9gmjVch1Qi18kNlqbR03u56iBcAsXU0tAwfd9Z7cGHfUX1Fg== - dependencies: - "@walletconnect/client" "^1.7.1" - "@walletconnect/http-connection" "^1.7.1" - "@walletconnect/qrcode-modal" "^1.7.1" - "@walletconnect/types" "^1.7.1" - "@walletconnect/utils" "^1.7.1" + version "1.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/web3-provider/-/web3-provider-1.7.3.tgz#6f111314e66b12d7a3dcba41da179903b76120bb" + integrity sha512-LSioyTLokp7xBTlWDRoff84auaAGxr5XdNhPlVNSVyTHOsfzl9o29eEfbkWfIcc5YQJ8IY1B9goO6iQgha7RvQ== + dependencies: + "@walletconnect/client" "^1.7.3" + "@walletconnect/http-connection" "^1.7.3" + "@walletconnect/qrcode-modal" "^1.7.3" + "@walletconnect/types" "^1.7.3" + "@walletconnect/utils" "^1.7.3" web3-provider-engine "16.0.1" "@walletconnect/window-getters@1.0.0", "@walletconnect/window-getters@^1.0.0": @@ -4203,6 +5059,14 @@ dependencies: "@walletconnect/window-getters" "^1.0.0" +"@webassemblyjs/ast@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" @@ -4212,16 +5076,31 @@ "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" +"@webassemblyjs/floating-point-hex-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== + "@webassemblyjs/floating-point-hex-parser@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== +"@webassemblyjs/helper-api-error@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== + "@webassemblyjs/helper-api-error@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== +"@webassemblyjs/helper-buffer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== + "@webassemblyjs/helper-buffer@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" @@ -4246,11 +5125,35 @@ dependencies: "@webassemblyjs/ast" "1.9.0" +"@webassemblyjs/helper-numbers@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== + "@webassemblyjs/helper-wasm-bytecode@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== +"@webassemblyjs/helper-wasm-section@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/helper-wasm-section@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" @@ -4261,6 +5164,13 @@ "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/wasm-gen" "1.9.0" +"@webassemblyjs/ieee754@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== + dependencies: + "@xtuc/ieee754" "^1.2.0" + "@webassemblyjs/ieee754@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" @@ -4268,6 +5178,13 @@ dependencies: "@xtuc/ieee754" "^1.2.0" +"@webassemblyjs/leb128@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== + dependencies: + "@xtuc/long" "4.2.2" + "@webassemblyjs/leb128@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" @@ -4275,11 +5192,30 @@ dependencies: "@xtuc/long" "4.2.2" +"@webassemblyjs/utf8@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + "@webassemblyjs/utf8@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== +"@webassemblyjs/wasm-edit@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-wasm-section" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-opt" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + "@webassemblyjs/wast-printer" "1.11.1" + "@webassemblyjs/wasm-edit@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" @@ -4294,6 +5230,17 @@ "@webassemblyjs/wasm-parser" "1.9.0" "@webassemblyjs/wast-printer" "1.9.0" +"@webassemblyjs/wasm-gen@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + "@webassemblyjs/wasm-gen@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" @@ -4305,6 +5252,16 @@ "@webassemblyjs/leb128" "1.9.0" "@webassemblyjs/utf8" "1.9.0" +"@webassemblyjs/wasm-opt@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + "@webassemblyjs/wasm-opt@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" @@ -4315,6 +5272,18 @@ "@webassemblyjs/wasm-gen" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0" +"@webassemblyjs/wasm-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + "@webassemblyjs/wasm-parser@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" @@ -4339,6 +5308,14 @@ "@webassemblyjs/helper-fsm" "1.9.0" "@xtuc/long" "4.2.2" +"@webassemblyjs/wast-printer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@xtuc/long" "4.2.2" + "@webassemblyjs/wast-printer@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" @@ -4368,7 +5345,7 @@ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -abab@^2.0.0: +abab@^2.0.0, abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== @@ -4435,7 +5412,7 @@ abstract-leveldown@~6.2.1: level-supports "~1.0.0" xtend "~4.0.0" -accepts@~1.3.8: +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== @@ -4456,6 +5433,19 @@ acorn-globals@^4.3.0: acorn "^6.0.1" acorn-walk "^6.0.1" +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-import-assertions@^1.7.6: + version "1.8.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" + integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== + acorn-jsx@^5.0.1, acorn-jsx@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -4475,7 +5465,7 @@ acorn-walk@^6.0.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== -acorn-walk@^7.0.0: +acorn-walk@^7.0.0, acorn-walk@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== @@ -4500,16 +5490,29 @@ acorn@^7.0.0, acorn@^7.1.1, acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: +acorn@^8.0.4, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== +address@^1.0.1, address@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== + addressparser@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-0.3.2.tgz#59873f35e8fcf6c7361c10239261d76e15348bb2" integrity sha1-WYc/Nej89sc2HBAjkmHXbhU0i7I= +adjust-sourcemap-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz#fc4a0fd080f7d10471f30a7320f25560ade28c99" + integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A== + dependencies: + loader-utils "^2.0.0" + regex-parser "^2.2.11" + adm-zip@^0.4.16: version "0.4.16" resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" @@ -4545,12 +5548,26 @@ ajv-errors@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: +ajv-keywords@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -4560,7 +5577,7 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1: +ajv@^8.0.0, ajv@^8.0.1, ajv@^8.6.0, ajv@^8.8.0: version "8.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== @@ -4620,11 +5637,6 @@ ansi-align@^2.0.0: dependencies: string-width "^2.0.0" -ansi-colors@3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" - integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== - ansi-colors@4.1.1, ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -4635,13 +5647,18 @@ ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== -ansi-escapes@^4.3.0: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -4686,6 +5703,11 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + ansi-styles@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" @@ -4729,7 +5751,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@~3.1.1, anymatch@~3.1.2: +anymatch@^3.0.3, anymatch@~3.1.1, anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -4789,6 +5811,11 @@ aria-query@^4.2.2: "@babel/runtime" "^7.10.2" "@babel/runtime-corejs3" "^7.10.2" +aria-query@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.0.0.tgz#210c21aaf469613ee8c9a62c7f86525e058db52c" + integrity sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg== + arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" @@ -4845,6 +5872,11 @@ array-flatten@1.1.1: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + array-includes@^3.1.3, array-includes@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" @@ -4911,7 +5943,7 @@ arrify@^1.0.0, arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asap@^2.0.3: +asap@^2.0.3, asap@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= @@ -4933,7 +5965,7 @@ asn1@~0.2.3: dependencies: safer-buffer "~2.1.0" -asn1js@^2.1.1: +asn1js@^2.1.1, asn1js@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-2.2.0.tgz#d890fcdda86b8a005693df14a986bfb2c2069c57" integrity sha512-oagLNqpfNv7CvmyMoexMDNyVDSiq1rya0AEUgcLlNHdHgNl6U/hi8xY370n5y+ZIFEXOx0J4B1qF2NDjMRxklA== @@ -5007,6 +6039,11 @@ async-mutex@^0.2.6: dependencies: tslib "^2.0.0" +async@0.9.x: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= + async@2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" @@ -5019,7 +6056,7 @@ async@^1.4.2: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0, async@^2.6.1: +async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0, async@^2.6.1, async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== @@ -5036,6 +6073,11 @@ asyncro@^3.0.0: resolved "https://registry.yarnpkg.com/asyncro/-/asyncro-3.0.0.tgz#3c7a732e263bc4a42499042f48d7d858e9c0134e" integrity sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg== +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -5377,6 +6419,30 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" +babel-jest@^27.4.2, babel-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" + integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== + dependencies: + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-loader@^8.2.3: + version "8.2.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" + integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^1.4.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + babel-messages@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" @@ -5411,6 +6477,41 @@ babel-plugin-espower@^3.0.1: espurify "^1.6.0" estraverse "^4.1.1" +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" + integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + +babel-plugin-named-asset-import@^0.3.8: + version "0.3.8" + resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2" + integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== + babel-plugin-polyfill-corejs2@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" @@ -5679,6 +6780,11 @@ babel-plugin-transform-exponentiation-operator@^6.22.0: babel-plugin-syntax-exponentiation-operator "^6.8.0" babel-runtime "^6.22.0" +babel-plugin-transform-react-remove-prop-types@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" + integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== + babel-plugin-transform-regenerator@^6.22.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" @@ -5694,6 +6800,24 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + babel-preset-env@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" @@ -5730,6 +6854,36 @@ babel-preset-env@^1.7.0: invariant "^2.2.2" semver "^5.3.0" +babel-preset-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" + integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== + dependencies: + babel-plugin-jest-hoist "^27.5.1" + babel-preset-current-node-syntax "^1.0.0" + +babel-preset-react-app@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz#ed6005a20a24f2c88521809fa9aea99903751584" + integrity sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg== + dependencies: + "@babel/core" "^7.16.0" + "@babel/plugin-proposal-class-properties" "^7.16.0" + "@babel/plugin-proposal-decorators" "^7.16.4" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" + "@babel/plugin-proposal-numeric-separator" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-private-methods" "^7.16.0" + "@babel/plugin-transform-flow-strip-types" "^7.16.0" + "@babel/plugin-transform-react-display-name" "^7.16.0" + "@babel/plugin-transform-runtime" "^7.16.4" + "@babel/preset-env" "^7.16.4" + "@babel/preset-react" "^7.16.0" + "@babel/preset-typescript" "^7.16.0" + "@babel/runtime" "^7.16.3" + babel-plugin-macros "^3.1.0" + babel-plugin-transform-react-remove-prop-types "^0.4.24" + babel-register@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" @@ -5863,6 +7017,11 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" @@ -5882,6 +7041,16 @@ better-path-resolve@1.0.0: dependencies: is-windows "^1.0.0" +bfj@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.0.2.tgz#1988ce76f3add9ac2913fd8ba47aad9e651bfbb2" + integrity sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw== + dependencies: + bluebird "^3.5.5" + check-types "^11.1.1" + hoopy "^0.1.4" + tryer "^1.0.1" + big-integer@^1.6.16: version "1.6.51" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" @@ -5987,6 +7156,18 @@ body-parser@1.19.2, body-parser@^1.16.0: raw-body "2.4.3" type-is "~1.6.18" +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -6197,7 +7378,7 @@ browserslist@^3.2.6: caniuse-lite "^1.0.30000844" electron-to-chromium "^1.3.47" -browserslist@^4.0.0, browserslist@^4.1.0, browserslist@^4.12.0, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.6.6: +browserslist@^4.0.0, browserslist@^4.1.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.18.1, browserslist@^4.19.1, browserslist@^4.19.3, browserslist@^4.6.6: version "4.19.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.3.tgz#29b7caad327ecf2859485f696f9604214bedd383" integrity sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg== @@ -6224,6 +7405,13 @@ bs58check@^2.1.2: create-hash "^1.1.0" safe-buffer "^5.1.2" +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + btoa@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" @@ -6276,6 +7464,11 @@ buffer-from@^1.0.0, buffer-from@^1.1.1: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + buffer-to-arraybuffer@^0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" @@ -6348,6 +7541,11 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + bytes@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" @@ -6482,6 +7680,14 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + camelcase-css@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" @@ -6520,7 +7726,7 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.0.0: +camelcase@^6.0.0, camelcase@^6.2.0, camelcase@^6.2.1: version "6.3.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== @@ -6551,29 +7757,34 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30001312" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30001312.tgz#efb31cb54e5f4714126d8c35292666c9b7290c87" - integrity sha512-4eJfCSGxsF9JcQXBLdHclxkpLWv+Va7Y6QESYCWSdrR8b8x16TxUjCoOK/kU7SFC0BdcuK0nvt6ZkM59Q03LjQ== + version "1.0.30001313" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30001313.tgz#b5020a8625e497460c718c0eab0e4e08d8530751" + integrity sha512-PZyWlQBhg+8OxsTh2uRQasXMETl1aDmyRT+JzgYBYyRGsz7yztRT7cKssmBstR1QdNTlR/4WevJ1lNsMjo515A== caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001312: - version "1.0.30001312" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" - integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== + version "1.0.30001313" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001313.tgz#a380b079db91621e1b7120895874e2fd62ed2e2f" + integrity sha512-rI1UN0koZUiKINjysQDuRi2VeSCce3bYJNmDcj3PIKREiAmjakugBul1QSkg/fPrlULYl6oWfGg3PbgOSY9X4Q== capture-stack-trace@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== +case-sensitive-paths-webpack-plugin@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" + integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= cborg@^1.5.4: - version "1.8.0" - resolved "https://registry.yarnpkg.com/cborg/-/cborg-1.8.0.tgz#d75be6c5cdaa0f9aab3d24c62b8d2c47ed57ca76" - integrity sha512-zT4TJQJJFXLGpd0iMmj1gQCscbcrBxC6X5S0D9bdA8nH34ZbsSdtzJXD0A2ZJzBWP95WI1pKX9CLkwW6UpolwA== + version "1.8.1" + resolved "https://registry.yarnpkg.com/cborg/-/cborg-1.8.1.tgz#c54334f70f411783b9f67feb5ec81ecb600be797" + integrity sha512-x49Vf1DUrS9rc+ar8QwOqfvA48H9YRn6UzcvlXpd1jKIzq2ebSR1R/yegu7MsskJew4+yc+3znWmud0PMJkR1Q== chai@^4.1.2, chai@^4.3.4: version "4.3.6" @@ -6632,6 +7843,21 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +char-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e" + integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== + +charcodes@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/charcodes/-/charcodes-0.2.0.tgz#5208d327e6cc05f99eb80ffc814707572d1f14e4" + integrity sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ== + chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -6642,6 +7868,11 @@ check-error@^1.0.2: resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= +check-types@^11.1.1: + version "11.1.2" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.1.2.tgz#86a7c12bf5539f6324eb0e70ca8896c0e38f3e2f" + integrity sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ== + checkpoint-store@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" @@ -6649,25 +7880,10 @@ checkpoint-store@^1.1.0: dependencies: functional-red-black-tree "^1.0.1" -chokidar@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6" - integrity sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.2.0" - optionalDependencies: - fsevents "~2.1.1" - -chokidar@3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" - integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== +chokidar@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -6679,7 +7895,7 @@ chokidar@3.5.1: optionalDependencies: fsevents "~2.3.1" -chokidar@3.5.3, chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.5.3: +chokidar@3.5.3, chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -6767,6 +7983,11 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" +cjs-module-lexer@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" + integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== + clap@^1.0.9: version "1.2.3" resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" @@ -6799,6 +8020,13 @@ classnames@^2.3.1: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== +clean-css@^5.2.2: + version "5.2.4" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.2.4.tgz#982b058f8581adb2ae062520808fb2429bd487a4" + integrity sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg== + dependencies: + source-map "~0.6.0" + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -6937,6 +8165,11 @@ clsx@^1.1.1: resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + coa@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" @@ -6965,6 +8198,11 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -7039,7 +8277,7 @@ colorette@^1.2.2: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== -colorette@^2.0.16: +colorette@^2.0.10, colorette@^2.0.16: version "2.0.16" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== @@ -7132,6 +8370,16 @@ common-path-prefix@^1.0.0: resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" integrity sha1-zVL28HEuC6q5fW+XModPIvR3UsA= +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== + +common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -7142,6 +8390,26 @@ component-emitter@^1.2.1, component-emitter@^1.3.0: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -7193,11 +8461,16 @@ configstore@^3.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" -confusing-browser-globals@^1.0.10: +confusing-browser-globals@^1.0.10, confusing-browser-globals@^1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== +connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + console-browserify@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" @@ -7241,7 +8514,7 @@ convert-source-map@1.7.0: dependencies: safe-buffer "~5.1.1" -convert-source-map@^1.1.0, convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.8.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== @@ -7300,7 +8573,7 @@ core-js-compat@^3.20.2, core-js-compat@^3.21.0: browserslist "^4.19.1" semver "7.0.0" -core-js-pure@^3.0.1, core-js-pure@^3.20.2: +core-js-pure@^3.0.1, core-js-pure@^3.20.2, core-js-pure@^3.8.1: version "3.21.1" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.21.1.tgz#8c4d1e78839f5f46208de7230cebfb72bc3bdb51" integrity sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ== @@ -7310,7 +8583,7 @@ core-js@^2.0.0, core-js@^2.4.0, core-js@^2.5.0, core-js@^2.6.5: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-js@^3.20.2: +core-js@^3.19.2, core-js@^3.20.2: version "3.21.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.1.tgz#f2e0ddc1fc43da6f904706e8e955bc19d06a0d94" integrity sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig== @@ -7356,7 +8629,18 @@ cosmiconfig@^5.0.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: js-yaml "^3.13.1" parse-json "^4.0.0" -cosmiconfig@^7.0.1: +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== @@ -7484,6 +8768,18 @@ crypto-random-string@^1.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + +css-blank-pseudo@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561" + integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== + dependencies: + postcss-selector-parser "^6.0.9" + css-color-keywords@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" @@ -7509,6 +8805,13 @@ css-declaration-sorter@^6.0.3: dependencies: timsort "^0.3.0" +css-has-pseudo@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73" + integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== + dependencies: + postcss-selector-parser "^6.0.9" + css-in-js-utils@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz#3b472b398787291b47cfe3e44fecfdd9e914ba99" @@ -7526,6 +8829,32 @@ css-jss@10.9.0: jss "10.9.0" jss-preset-default "10.9.0" +css-loader@^6.5.1: + version "6.7.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.0.tgz#c1200da1dfffe6643b18bda20fdd84cad3e36d39" + integrity sha512-S7HCfCiDHLA+VXKqdZwyRZgoO0R9BnKDnVIoHMq5grl3N86zAu7MB+FBWHr5xOJC8SmvpTLha/2NpfFkFEN/ig== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.7" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.3.5" + +css-minimizer-webpack-plugin@^3.2.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" + integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== + dependencies: + cssnano "^5.0.6" + jest-worker "^27.0.2" + postcss "^8.3.5" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + css-modules-loader-core@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz#5908668294a1becd261ae0a4ce21b0b551f21d16" @@ -7538,6 +8867,11 @@ css-modules-loader-core@^1.1.0: postcss-modules-scope "1.1.0" postcss-modules-values "1.3.0" +css-prefers-color-scheme@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" + integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== + css-select-base-adapter@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" @@ -7615,11 +8949,25 @@ css-what@^5.1.0: resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== -css.escape@1.5.1: +css.escape@1.5.1, css.escape@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= +css@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" + integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== + dependencies: + inherits "^2.0.4" + source-map "^0.6.1" + source-map-resolve "^0.6.0" + +cssdb@^6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.4.0.tgz#54899b9042e302be3090b8510ea71fefd08c9e6b" + integrity sha512-8NMWrur/ewSNrRNZndbtOTXc2Xb2b+NCTPHj8VErFYvJUlgsMAiBGaFaxG6hjy9zbCjj2ZLwSQrMM+tormO8qA== + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -7661,40 +9009,40 @@ cssnano-preset-default@^4.0.8: postcss-svgo "^4.0.3" postcss-unique-selectors "^4.0.1" -cssnano-preset-default@^5.1.12: - version "5.1.12" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.12.tgz#64e2ad8e27a279e1413d2d2383ef89a41c909be9" - integrity sha512-rO/JZYyjW1QNkWBxMGV28DW7d98UDLaF759frhli58QFehZ+D/LSmwQ2z/ylBAe2hUlsIWTq6NYGfQPq65EF9w== +cssnano-preset-default@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.0.tgz#2579d38b9217746f2cf9f938954a91e00418ded6" + integrity sha512-3N5Vcptj2pqVKpHVqH6ezOJvqikR2PdLTbTrsrhF61FbLRQuujAqZ2sKN5rvcMsb7hFjrNnjZT8CGEkxoN/Pwg== dependencies: css-declaration-sorter "^6.0.3" - cssnano-utils "^3.0.2" - postcss-calc "^8.2.0" - postcss-colormin "^5.2.5" - postcss-convert-values "^5.0.4" - postcss-discard-comments "^5.0.3" - postcss-discard-duplicates "^5.0.3" - postcss-discard-empty "^5.0.3" - postcss-discard-overridden "^5.0.4" - postcss-merge-longhand "^5.0.6" - postcss-merge-rules "^5.0.6" - postcss-minify-font-values "^5.0.4" - postcss-minify-gradients "^5.0.6" - postcss-minify-params "^5.0.5" - postcss-minify-selectors "^5.1.3" - postcss-normalize-charset "^5.0.3" - postcss-normalize-display-values "^5.0.3" - postcss-normalize-positions "^5.0.4" - postcss-normalize-repeat-style "^5.0.4" - postcss-normalize-string "^5.0.4" - postcss-normalize-timing-functions "^5.0.3" - postcss-normalize-unicode "^5.0.4" - postcss-normalize-url "^5.0.5" - postcss-normalize-whitespace "^5.0.4" - postcss-ordered-values "^5.0.5" - postcss-reduce-initial "^5.0.3" - postcss-reduce-transforms "^5.0.4" - postcss-svgo "^5.0.4" - postcss-unique-selectors "^5.0.4" + cssnano-utils "^3.1.0" + postcss-calc "^8.2.3" + postcss-colormin "^5.3.0" + postcss-convert-values "^5.1.0" + postcss-discard-comments "^5.1.0" + postcss-discard-duplicates "^5.1.0" + postcss-discard-empty "^5.1.0" + postcss-discard-overridden "^5.1.0" + postcss-merge-longhand "^5.1.0" + postcss-merge-rules "^5.1.0" + postcss-minify-font-values "^5.1.0" + postcss-minify-gradients "^5.1.0" + postcss-minify-params "^5.1.0" + postcss-minify-selectors "^5.2.0" + postcss-normalize-charset "^5.1.0" + postcss-normalize-display-values "^5.1.0" + postcss-normalize-positions "^5.1.0" + postcss-normalize-repeat-style "^5.1.0" + postcss-normalize-string "^5.1.0" + postcss-normalize-timing-functions "^5.1.0" + postcss-normalize-unicode "^5.1.0" + postcss-normalize-url "^5.1.0" + postcss-normalize-whitespace "^5.1.0" + postcss-ordered-values "^5.1.0" + postcss-reduce-initial "^5.1.0" + postcss-reduce-transforms "^5.1.0" + postcss-svgo "^5.1.0" + postcss-unique-selectors "^5.1.0" cssnano-preset-simple@^3.0.0: version "3.0.0" @@ -7732,10 +9080,10 @@ cssnano-util-same-parent@^4.0.0: resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== -cssnano-utils@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.0.2.tgz#d82b4991a27ba6fec644b39bab35fe027137f516" - integrity sha512-KhprijuQv2sP4kT92sSQwhlK3SJTbDIsxcfIEySB0O+3m9esFOai7dP9bMx5enHAh2MwarVIcnwiWoOm01RIbQ== +cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== cssnano@^3.10.0: version "3.10.0" @@ -7785,12 +9133,12 @@ cssnano@^4.0.0, cssnano@^4.1.11, cssnano@^4.1.7: is-resolvable "^1.0.0" postcss "^7.0.0" -cssnano@^5.0.15: - version "5.0.17" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.17.tgz#ff45713c05cfc780a1aeb3e663b6f224d091cabf" - integrity sha512-fmjLP7k8kL18xSspeXTzRhaFtRI7DL9b8IcXR80JgtnWBpvAzHT7sCR/6qdn0tnxIaINUN6OEQu83wF57Gs3Xw== +cssnano@^5.0.15, cssnano@^5.0.6: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.0.tgz#cf977d660a5824d0d5542639ed1d4045afd84cbe" + integrity sha512-wWxave1wMlThGg4ueK98jFKaNqXnQd1nVZpSkQ9XvR+YymlzP1ofWqES1JkHtI250LksP9z5JH+oDcrKDJezAg== dependencies: - cssnano-preset-default "^5.1.12" + cssnano-preset-default "^5.2.0" lilconfig "^2.0.3" yaml "^1.10.2" @@ -7809,11 +9157,16 @@ csso@~2.3.1: clap "^1.0.9" source-map "^0.5.3" -cssom@0.3.x, cssom@^0.3.4: +cssom@0.3.x, cssom@^0.3.4, cssom@~0.3.6: version "0.3.8" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + cssstyle@^1.1.1: version "1.4.0" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" @@ -7821,10 +9174,17 @@ cssstyle@^1.1.1: dependencies: cssom "0.3.x" +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + csstype@^3.0.2, csstype@^3.0.6: - version "3.0.10" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" - integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== + version "3.0.11" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33" + integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== csv-generate@^3.4.3: version "3.4.3" @@ -7902,6 +9262,15 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + date-fns@^1.27.2: version "1.30.1" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" @@ -7922,7 +9291,7 @@ deasync@^0.1.14: bindings "^1.5.0" node-addon-api "^1.7.1" -debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: +debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -7950,7 +9319,7 @@ debug@4, debug@4.3.3, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, de dependencies: ms "2.1.2" -debug@^3.1.0, debug@^3.2.7: +debug@^3.1.0, debug@^3.1.1, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -7975,6 +9344,11 @@ decamelize@^4.0.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -8006,7 +9380,7 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" -deep-equal@^1.0.0, deep-equal@~1.1.1: +deep-equal@^1.0.0, deep-equal@^1.0.1, deep-equal@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== @@ -8033,6 +9407,13 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" @@ -8068,7 +9449,12 @@ deferred-leveldown@~5.3.0: abstract-leveldown "~6.2.1" inherits "^2.0.3" -define-properties@^1.1.2, define-properties@^1.1.3: +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -8127,6 +9513,20 @@ del@^4.0.0: pify "^4.0.1" rimraf "^2.6.3" +del@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952" + integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== + dependencies: + globby "^11.0.1" + graceful-fs "^4.2.4" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.2" + p-map "^4.0.0" + rimraf "^3.0.2" + slash "^3.0.0" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -8192,11 +9592,24 @@ detect-libc@^1.0.3: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + detect-node@^2.0.4, detect-node@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== +detect-port-alt@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== + dependencies: + address "^1.0.1" + debug "^2.6.0" + detective@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" @@ -8211,6 +9624,11 @@ didyoumean@^1.2.2: resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== +diff-sequences@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" + integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== + diff@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -8259,6 +9677,11 @@ dlv@^1.1.3: resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + dns-over-http-resolver@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz#194d5e140a42153f55bb79ac5a64dd2768c36af9" @@ -8268,6 +9691,21 @@ dns-over-http-resolver@^1.2.3: native-fetch "^3.0.0" receptacle "^1.3.2" +dns-packet@^1.3.1: + version "1.3.4" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" + integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + doctrine@0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523" @@ -8290,6 +9728,18 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: + version "0.5.13" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.13.tgz#102ee5f25eacce09bdf1cfa5a298f86da473be4b" + integrity sha512-R305kwb5CcMDIpSHUnLyIAp7SrSPBx6F0VfQFB3M75xVMHhXJJIdePYgbPPh1o57vCHNu5QztokWUPsLjWzFqw== + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -8339,6 +9789,13 @@ domexception@^1.0.1: dependencies: webidl-conversions "^4.0.2" +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + domhandler@^2.3.0: version "2.4.2" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" @@ -8370,6 +9827,14 @@ domutils@^2.5.2, domutils@^2.8.0: domelementtype "^2.2.0" domhandler "^4.2.0" +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + dot-prop@^4.2.0, dot-prop@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" @@ -8389,6 +9854,11 @@ dotenv-expand@^5.1.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== +dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + dotenv@^16.0.0: version "16.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.0.tgz#c619001253be89ebb638d027b609c75c26e47411" @@ -8456,6 +9926,13 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= +ejs@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" + integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== + dependencies: + jake "^10.6.1" + electron-fetch@^1.7.2: version "1.7.4" resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.7.4.tgz#af975ab92a14798bfaa025f88dcd2e54a7b0b769" @@ -8464,9 +9941,9 @@ electron-fetch@^1.7.2: encoding "^0.1.13" electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.723, electron-to-chromium@^1.4.71: - version "1.4.73" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.73.tgz#422f6f514315bcace9615903e4a9b6b9fa283137" - integrity sha512-RlCffXkE/LliqfA5m29+dVDPB2r72y2D2egMMfIy3Le8ODrxjuZNVo4NIC2yPL01N4xb4nZQLwzi6Z5tGIGLnA== + version "1.4.76" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.76.tgz#a0494baedaf51094b1c172999919becd9975a934" + integrity sha512-3Vftv7cenJtQb+k00McEBZ2vVmZ/x+HEF7pcZONZIkOsESqAqVuACmBxMv0JhzX7u0YltU0vSqRqgBSTAhFUjA== elegant-spinner@^1.0.1: version "1.0.1" @@ -8513,6 +9990,11 @@ emittery@^0.4.1: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.4.1.tgz#abe9d3297389ba424ac87e53d1c701962ce7433d" integrity sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ== +emittery@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" + integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -8595,10 +10077,10 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.1, enhanced-resolve@^4.5.0: memory-fs "^0.5.0" tapable "^1.0.0" -enhanced-resolve@^5.7.0: - version "5.9.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.1.tgz#e898cea44d9199fd92137496cff5691b910fb43e" - integrity sha512-jdyZMwCQ5Oj4c5+BTnkxPgDZO/BJzh/ADDmKebayyzNwjVX1AFCeGkOfxNx0mHi2+8BKC5VxUYiw3TIvoT7vhw== +enhanced-resolve@^5.7.0, enhanced-resolve@^5.9.2: + version "5.9.2" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz#0224dcd6a43389ebfb2d55efee517e5466772dd9" + integrity sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -8692,6 +10174,11 @@ es-abstract@^1.17.2, es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19 string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" +es-module-lexer@^0.9.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -8742,6 +10229,132 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.3: d "^1.0.1" ext "^1.1.2" +esbuild-android-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz#d532d38cb5fe0ae45167ce35f4bbc784c636be40" + integrity sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ== + +esbuild-android-arm64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz#9c5bb3366aabfd14a1c726d36978b79441dfcb6e" + integrity sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw== + +esbuild-darwin-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz#05dcdb6d884f427039ffee5e92ff97527e56c26d" + integrity sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA== + +esbuild-darwin-arm64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz#28e080da4ea0cfe9498071e7f8060498caee1a95" + integrity sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw== + +esbuild-freebsd-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz#200d3664a3b945bc9fdcba73614b49a11ebd1cfa" + integrity sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ== + +esbuild-freebsd-arm64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz#624b08c5da6013bdc312aaa23c4ff409580f5c3c" + integrity sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug== + +esbuild-linux-32@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz#0238e597eb0b60aa06c7e98fccbbfd6bb9a0d6c5" + integrity sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw== + +esbuild-linux-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz#8a8b8cf47dfce127c858e71229d9a385a82c62e8" + integrity sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug== + +esbuild-linux-arm64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz#7ac94371418a2640ba413bc1700aaedeb2794e52" + integrity sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw== + +esbuild-linux-arm@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz#034bd18e9310b9f010c89f90ef7f05706689600b" + integrity sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw== + +esbuild-linux-mips64le@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz#05f98a8cf6b578eab6b4e6b0ab094f37530934f4" + integrity sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ== + +esbuild-linux-ppc64le@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz#46fd0add8d8535678439d7a9c2876ad20042d952" + integrity sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw== + +esbuild-linux-riscv64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz#ea2e986f0f3e5df73c635135dd778051734fc605" + integrity sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w== + +esbuild-linux-s390x@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz#efe89486e9a1b1508925048076e3f3a6698aa6a3" + integrity sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ== + +esbuild-netbsd-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz#439fe27d8ee3b5887501ee63988e85f920107db6" + integrity sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA== + +esbuild-openbsd-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz#31ebf616aadf6e60674469f2b92cec92280d9930" + integrity sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A== + +esbuild-sunos-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz#815e4f936d74970292a63ccfd5791fe5e3569f5f" + integrity sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw== + +esbuild-windows-32@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz#189e14df2478f2c193c86968ab1fb54e1ceaafd2" + integrity sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA== + +esbuild-windows-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz#3d5fbfdc3856850bb47439299e3b60dd18be111f" + integrity sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA== + +esbuild-windows-arm64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz#8b243cbbad8a86cf98697da9ccb88c05df2ef458" + integrity sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA== + +esbuild@^0.14.14: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.25.tgz#ddb9d47b91ca76abb7d850ce3dfed0bc3dc88d16" + integrity sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q== + optionalDependencies: + esbuild-android-64 "0.14.25" + esbuild-android-arm64 "0.14.25" + esbuild-darwin-64 "0.14.25" + esbuild-darwin-arm64 "0.14.25" + esbuild-freebsd-64 "0.14.25" + esbuild-freebsd-arm64 "0.14.25" + esbuild-linux-32 "0.14.25" + esbuild-linux-64 "0.14.25" + esbuild-linux-arm "0.14.25" + esbuild-linux-arm64 "0.14.25" + esbuild-linux-mips64le "0.14.25" + esbuild-linux-ppc64le "0.14.25" + esbuild-linux-riscv64 "0.14.25" + esbuild-linux-s390x "0.14.25" + esbuild-netbsd-64 "0.14.25" + esbuild-openbsd-64 "0.14.25" + esbuild-sunos-64 "0.14.25" + esbuild-windows-32 "0.14.25" + esbuild-windows-64 "0.14.25" + esbuild-windows-arm64 "0.14.25" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -8779,6 +10392,18 @@ escodegen@^1.11.0, escodegen@^1.11.1: optionalDependencies: source-map "~0.6.1" +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + escodegen@~1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" @@ -8853,16 +10478,31 @@ eslint-config-next@12.1.0, eslint-config-next@^12.0.3, eslint-config-next@^12.1. eslint-plugin-react "^7.27.0" eslint-plugin-react-hooks "^4.3.0" -eslint-config-prettier@^8.3.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.4.0.tgz#8e6d17c7436649e98c4c2189868562921ef563de" - integrity sha512-CFotdUcMY18nGRo5KGsnNxpznzhkopOcOo0InID+sgQssPrzjvsyKZPvOgymTFeHrFuC3Tzdf2YndhXtULK9Iw== - -eslint-config-prettier@^8.4.0: +eslint-config-prettier@^8.3.0, eslint-config-prettier@^8.4.0: version "8.5.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== +eslint-config-react-app@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-7.0.0.tgz#0fa96d5ec1dfb99c029b1554362ab3fa1c3757df" + integrity sha512-xyymoxtIt1EOsSaGag+/jmcywRuieQoA2JbPCjnw9HukFj9/97aGPoZVFioaotzk1K5Qt9sHO5EutZbkrAXS0g== + dependencies: + "@babel/core" "^7.16.0" + "@babel/eslint-parser" "^7.16.3" + "@rushstack/eslint-patch" "^1.1.0" + "@typescript-eslint/eslint-plugin" "^5.5.0" + "@typescript-eslint/parser" "^5.5.0" + babel-preset-react-app "^10.0.1" + confusing-browser-globals "^1.0.11" + eslint-plugin-flowtype "^8.0.3" + eslint-plugin-import "^2.25.3" + eslint-plugin-jest "^25.3.0" + eslint-plugin-jsx-a11y "^6.5.1" + eslint-plugin-react "^7.27.1" + eslint-plugin-react-hooks "^4.3.0" + eslint-plugin-testing-library "^5.0.1" + eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" @@ -8890,7 +10530,15 @@ eslint-module-utils@^2.7.2: debug "^3.2.7" find-up "^2.1.0" -eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.25.4: +eslint-plugin-flowtype@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz#e1557e37118f24734aa3122e7536a038d34a4912" + integrity sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ== + dependencies: + lodash "^4.17.21" + string-natural-compare "^3.0.1" + +eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.25.3, eslint-plugin-import@^2.25.4: version "2.25.4" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== @@ -8909,6 +10557,13 @@ eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.25.4: resolve "^1.20.0" tsconfig-paths "^3.12.0" +eslint-plugin-jest@^25.3.0: + version "25.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a" + integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ== + dependencies: + "@typescript-eslint/experimental-utils" "^5.0.0" + eslint-plugin-jsx-a11y@^6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" @@ -8939,10 +10594,10 @@ eslint-plugin-react-hooks@^4.3.0: resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== -eslint-plugin-react@^7.27.0, eslint-plugin-react@^7.29.1: - version "7.29.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.2.tgz#2d4da69d30d0a736efd30890dc6826f3e91f3f7c" - integrity sha512-ypEBTKOy5liFQXZWMchJ3LN0JX1uPI6n7MN7OPHKacqXAxq5gYC30TdO7wqGYQyxD1OrzpobdHC3hDmlRWDg9w== +eslint-plugin-react@^7.27.0, eslint-plugin-react@^7.27.1, eslint-plugin-react@^7.29.1: + version "7.29.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.3.tgz#f4eab757f2756d25d6d4c2a58a9e20b004791f05" + integrity sha512-MzW6TuCnDOcta67CkpDyRfRsEVx9FNMDV8wZsDqe1luHPdGTrQIUaUXD27Ja3gHsdOIs/cXzNchWGlqm+qRVRg== dependencies: array-includes "^3.1.4" array.prototype.flatmap "^1.2.5" @@ -8959,6 +10614,13 @@ eslint-plugin-react@^7.27.0, eslint-plugin-react@^7.29.1: semver "^6.3.0" string.prototype.matchall "^4.0.6" +eslint-plugin-testing-library@^5.0.1: + version "5.0.6" + resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.0.6.tgz#86b0aff2ed0c80f63966c2a4894c06bff382b6d5" + integrity sha512-mMU4+slZsWKHNxtxc5TE2+bs9S//e2uFPlcpTapPhVdnctgn0+G/DaUu6VbT0JLiVMcbBjy3IcfddK+abZawbw== + dependencies: + "@typescript-eslint/utils" "^5.13.0" + eslint-plugin-unused-imports@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz#d8db8c4d0cfa0637a8b51ce3fd7d1b6bc3f08520" @@ -8971,6 +10633,14 @@ eslint-rule-composer@^0.3.0: resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" @@ -8979,14 +10649,6 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - eslint-scope@^7.1.0, eslint-scope@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" @@ -9014,7 +10676,7 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== -eslint-visitor-keys@^2.0.0: +eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== @@ -9024,6 +10686,17 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== +eslint-webpack-plugin@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.1.1.tgz#83dad2395e5f572d6f4d919eedaa9cf902890fcb" + integrity sha512-xSucskTN9tOkfW7so4EaiFIkulWLXwCB/15H917lR6pTv0Zot6/fetFucmENRb7J5whVSFKIvwnrnsa78SG2yg== + dependencies: + "@types/eslint" "^7.28.2" + jest-worker "^27.3.1" + micromatch "^4.0.4" + normalize-path "^3.0.0" + schema-utils "^3.1.1" + eslint@7.32.0, eslint@^7.10.0: version "7.32.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" @@ -9196,7 +10869,7 @@ eslint@8.9.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -eslint@^8.9.0: +eslint@^8.3.0, eslint@^8.9.0: version "8.10.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.10.0.tgz#931be395eb60f900c01658b278e05b6dae47199d" integrity sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw== @@ -9331,6 +11004,16 @@ estree-walker@^0.6.0, estree-walker@^0.6.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +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@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" @@ -9853,12 +11536,12 @@ eventemitter3@4.0.4: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== -eventemitter3@4.0.7: +eventemitter3@4.0.7, eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@3.3.0, events@^3.0.0: +events@3.3.0, events@^3.0.0, events@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== @@ -9897,7 +11580,7 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^5.1.1: +execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -9917,6 +11600,11 @@ exit-on-epipe@~1.0.1: resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -9956,7 +11644,17 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -express@^4.14.0: +expect@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" + integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== + dependencies: + "@jest/types" "^27.5.1" + jest-get-type "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + +express@^4.14.0, express@^4.17.1: version "4.17.3" resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== @@ -10119,7 +11817,7 @@ fast-glob@^3.2.11, fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -10156,6 +11854,20 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + fetch-ponyfill@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz#ae3ce5f732c645eab87e4ae8793414709b239893" @@ -10198,11 +11910,26 @@ file-loader@^3.0.1: loader-utils "^1.0.2" schema-utils "^1.0.0" +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + 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== +filelist@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b" + integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ== + dependencies: + minimatch "^3.0.4" + filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" @@ -10213,6 +11940,11 @@ filesize@^3.5.11, filesize@^3.6.0: resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== +filesize@^8.0.6: + version "8.0.7" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" + integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== + fill-range@^2.1.0: version "2.2.4" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" @@ -10272,6 +12004,15 @@ find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: make-dir "^2.0.0" pkg-dir "^3.0.0" +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + find-replace@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz#b88e7364d2d9c959559f388c66670d6130441fa0" @@ -10280,13 +12021,6 @@ find-replace@^1.0.3: array-back "^1.0.4" test-value "^2.1.0" -find-up@3.0.0, find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - find-up@5.0.0, find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -10310,6 +12044,13 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -10359,13 +12100,6 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" -flat@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.1.tgz#a392059cc382881ff98642f5da4dde0a959f309b" - integrity sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA== - dependencies: - is-buffer "~2.0.3" - flat@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" @@ -10407,7 +12141,7 @@ fn-name@~2.0.1: resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" integrity sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc= -follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.14.4: +follow-redirects@^1.0.0, follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.14.4: version "1.14.9" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== @@ -10441,6 +12175,25 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= +fork-ts-checker-webpack-plugin@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.0.tgz#0282b335fa495a97e167f69018f566ea7d2a2b5e" + integrity sha512-cS178Y+xxtIjEUorcHddKS7yCMlrDPV31mt47blKKRfMd70Kxu5xruAFE2o9sDY6wVC5deuob/u/alD04YYHnw== + dependencies: + "@babel/code-frame" "^7.8.3" + "@types/json-schema" "^7.0.5" + chalk "^4.1.0" + chokidar "^3.4.2" + cosmiconfig "^6.0.0" + deepmerge "^4.2.2" + fs-extra "^9.0.0" + glob "^7.1.6" + memfs "^3.1.2" + minimatch "^3.0.4" + schema-utils "2.7.0" + semver "^7.3.2" + tapable "^1.0.0" + form-data@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" @@ -10480,9 +12233,9 @@ fp-ts@^1.0.0: integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== fraction.js@^4.1.2: - version "4.1.3" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.3.tgz#be65b0f20762ef27e1e793860bc2dfb716e99e65" - integrity sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg== + version "4.2.0" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== fragment-cache@^0.2.1: version "0.2.1" @@ -10565,6 +12318,16 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^9.0.0, fs-extra@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-minipass@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" @@ -10572,6 +12335,11 @@ fs-minipass@^1.2.7: dependencies: minipass "^2.6.0" +fs-monkey@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" + integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== + fs-readdir-recursive@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" @@ -10600,12 +12368,7 @@ fsevents@^1.2.7: bindings "^1.5.0" nan "^2.12.1" -fsevents@~2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - -fsevents@~2.3.1, fsevents@~2.3.2: +fsevents@^2.3.2, fsevents@~2.3.1, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -10733,6 +12496,11 @@ get-own-enumerable-property-symbols@^3.0.0: resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + get-port@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" @@ -10856,18 +12624,6 @@ glob@7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@7.1.7: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" @@ -10880,7 +12636,7 @@ glob@7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.2.0, glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.7, glob@~7.2.0: +glob@7.2.0, glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@~7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -10965,7 +12721,7 @@ globalyzer@0.1.0: resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== -globby@^11.0.0, globby@^11.0.4: +globby@^11.0.0, globby@^11.0.1, globby@^11.0.4: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -11064,7 +12820,7 @@ got@^7.1.0: url-parse-lax "^1.0.0" url-to-options "^1.0.1" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== @@ -11119,6 +12875,11 @@ gzip-size@^6.0.0: dependencies: duplexer "^0.1.2" +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -11137,10 +12898,10 @@ hard-rejection@^2.1.0: resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== -hardhat@^2.8.3: - version "2.8.4" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.8.4.tgz#b12cc8b8ea578fc6cefbcd9683d558adc302152d" - integrity sha512-lEwvQSbhABpKgBTJnRgdZ6nZZRmgKUF2G8aGNaBVIQnJeRZjELnZHLIWXAF1HW0Q1NFCyo9trxOrOuzmiS+r/w== +hardhat@^2.8.3, hardhat@^2.9.1: + version "2.9.1" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.9.1.tgz#f69f82bb4d98e28744584779483caa7c5cfbde8b" + integrity sha512-q0AkYXV7R26RzyAkHGQRhhQjk508pseVvH3wSwZwwPUbvA+tjl0vMIrD4aFQDonRXkrnXX4+5KglozzjSd0//Q== dependencies: "@ethereumjs/block" "^3.6.0" "@ethereumjs/blockchain" "^5.5.0" @@ -11150,11 +12911,12 @@ hardhat@^2.8.3: "@ethersproject/abi" "^5.1.2" "@metamask/eth-sig-util" "^4.0.0" "@sentry/node" "^5.18.1" - "@solidity-parser/parser" "^0.14.0" + "@solidity-parser/parser" "^0.14.1" "@types/bn.js" "^5.1.0" "@types/lru-cache" "^5.1.0" abort-controller "^3.0.0" adm-zip "^0.4.16" + aggregate-error "^3.0.0" ansi-escapes "^4.3.0" chalk "^2.4.2" chokidar "^3.4.0" @@ -11169,14 +12931,13 @@ hardhat@^2.8.3: fp-ts "1.19.3" fs-extra "^7.0.1" glob "^7.1.3" - https-proxy-agent "^5.0.0" immutable "^4.0.0-rc.12" io-ts "1.10.4" lodash "^4.17.11" merkle-patricia-tree "^4.2.2" mnemonist "^0.38.0" - mocha "^7.2.0" - node-fetch "^2.6.0" + mocha "^9.2.0" + p-map "^4.0.0" qs "^6.7.0" raw-body "^2.4.1" resolve "1.17.0" @@ -11187,62 +12948,14 @@ hardhat@^2.8.3: stacktrace-parser "^0.1.10" "true-case-path" "^2.2.1" tsort "0.0.1" + undici "^4.14.1" uuid "^8.3.2" ws "^7.4.6" -hardhat@^2.9.1: - version "2.9.1" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.9.1.tgz#f69f82bb4d98e28744584779483caa7c5cfbde8b" - integrity sha512-q0AkYXV7R26RzyAkHGQRhhQjk508pseVvH3wSwZwwPUbvA+tjl0vMIrD4aFQDonRXkrnXX4+5KglozzjSd0//Q== - dependencies: - "@ethereumjs/block" "^3.6.0" - "@ethereumjs/blockchain" "^5.5.0" - "@ethereumjs/common" "^2.6.0" - "@ethereumjs/tx" "^3.4.0" - "@ethereumjs/vm" "^5.6.0" - "@ethersproject/abi" "^5.1.2" - "@metamask/eth-sig-util" "^4.0.0" - "@sentry/node" "^5.18.1" - "@solidity-parser/parser" "^0.14.1" - "@types/bn.js" "^5.1.0" - "@types/lru-cache" "^5.1.0" - abort-controller "^3.0.0" - adm-zip "^0.4.16" - aggregate-error "^3.0.0" - ansi-escapes "^4.3.0" - chalk "^2.4.2" - chokidar "^3.4.0" - ci-info "^2.0.0" - debug "^4.1.1" - enquirer "^2.3.0" - env-paths "^2.2.0" - ethereum-cryptography "^0.1.2" - ethereumjs-abi "^0.6.8" - ethereumjs-util "^7.1.3" - find-up "^2.1.0" - fp-ts "1.19.3" - fs-extra "^7.0.1" - glob "^7.1.3" - immutable "^4.0.0-rc.12" - io-ts "1.10.4" - lodash "^4.17.11" - merkle-patricia-tree "^4.2.2" - mnemonist "^0.38.0" - mocha "^9.2.0" - p-map "^4.0.0" - qs "^6.7.0" - raw-body "^2.4.1" - resolve "1.17.0" - semver "^6.3.0" - slash "^3.0.0" - solc "0.7.3" - source-map-support "^0.5.13" - stacktrace-parser "^0.1.10" - "true-case-path" "^2.2.1" - tsort "0.0.1" - undici "^4.14.1" - uuid "^8.3.2" - ws "^7.4.6" +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== has-ansi@^2.0.0: version "2.0.0" @@ -11276,10 +12989,10 @@ has-symbol-support-x@^1.4.1: resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== -has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-to-string-tag-x@^1.2.0: version "1.4.1" @@ -11367,7 +13080,7 @@ he@1.1.1: resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= -he@1.2.0: +he@1.2.0, he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -11418,11 +13131,26 @@ homedir-polyfill@^1.0.1: dependencies: parse-passwd "^1.0.0" +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + hsl-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" @@ -11445,11 +13173,52 @@ html-encoding-sniffer@^1.0.2: dependencies: whatwg-encoding "^1.0.1" +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-entities@^2.1.0, html-entities@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.2.tgz#760b404685cb1d794e4f4b744332e3b00dcfe488" + integrity sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== + dependencies: + camel-case "^4.1.2" + clean-css "^5.2.2" + commander "^8.3.0" + he "^1.2.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.10.0" + html-tags@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-1.2.0.tgz#c78de65b5663aa597989dd2b7ab49200d7e4db98" integrity sha1-x43mW1Zjqll5id0rerSSANfk25g= +html-webpack-plugin@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50" + integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== + dependencies: + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" + tapable "^2.0.0" + htmlnano@^0.2.2: version "0.2.9" resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-0.2.9.tgz#5723a26afa0d1343ea8648c2d5be8170744af9a7" @@ -11486,7 +13255,7 @@ htmlparser2@^3.9.2: inherits "^2.0.1" readable-stream "^3.1.1" -htmlparser2@^6.0.0: +htmlparser2@^6.0.0, htmlparser2@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== @@ -11511,6 +13280,11 @@ http-cache-semantics@^4.0.0: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + http-errors@1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" @@ -11544,11 +13318,55 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-https@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= +http-parser-js@>=0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.6.tgz#2e02406ab2df8af8a7abfba62e0da01c62b95afd" + integrity sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA== + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +http-proxy-middleware@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.3.tgz#5df04f69a89f530c2284cd71eeaa51ba52243289" + integrity sha512-1bloEwnrHMnCoO/Gcwbz7eSVvW50KPES01PecpagI+YLNLci4AcuKJrujW4Mc3sBLpFxMSlsLNHS5Nl/lvrTPA== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -11631,7 +13449,7 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.2: +iconv-lite@^0.6.2, iconv-lite@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== @@ -11643,6 +13461,23 @@ icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0: resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +idb@^6.1.4: + version "6.1.5" + resolved "https://registry.yarnpkg.com/idb/-/idb-6.1.5.tgz#dbc53e7adf1ac7c59f9b2bf56e00b4ea4fce8c7b" + integrity sha512-IJtugpKkiVXQn5Y+LteyBCNk1N8xpGV3wWZk9EVtZWH8DYkjBn0bX1XnGP9RkyZF0sAcywa6unHqSWKe7q4LGw== + +identity-obj-proxy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= + dependencies: + harmony-reflect "^1.4.6" + idna-uts46-hx@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" @@ -11708,6 +13543,11 @@ immediate@~3.2.3: resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" integrity sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw= +immer@^9.0.7: + version "9.0.12" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.12.tgz#2d33ddf3ee1d247deab9d707ca472c8c942a0f20" + integrity sha512-lk7UNmSbAukB5B6dh9fnh5D0bJTOFKxVg2cyJWTYrWRfhLrLMBquONcUs3aFq507hNoIZEDDh8lb8UtOizSMhA== + immutable@^4.0.0-rc.12: version "4.0.0" resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" @@ -11728,7 +13568,7 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.0.0, import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -11756,6 +13596,14 @@ import-local@^2.0.0: pkg-dir "^3.0.0" resolve-cwd "^2.0.0" +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -11875,11 +13723,21 @@ ip-regex@^4.0.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== +ip@^1.1.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== +ipaddr.js@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" + integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== + ipfs-core-types@^0.8.4: version "0.8.4" resolved "https://registry.yarnpkg.com/ipfs-core-types/-/ipfs-core-types-0.8.4.tgz#4d483dc6035714ea48a0b02e3f82b6c6d55c8525" @@ -11948,9 +13806,9 @@ ipfs-unixfs@^6.0.3: protobufjs "^6.10.2" ipfs-utils@^9.0.2: - version "9.0.4" - resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-9.0.4.tgz#364be777e73ac86956b8f7cbee89f3b09510884b" - integrity sha512-cfLKk004KLoEWJhBx4zg3mCro6mkiNhyGIlT7OZX9zxO1UqvLWpvW7cSZ1b1fbUIZ8qI7X2B7PeKlXC7jSfZ7g== + version "9.0.5" + resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-9.0.5.tgz#861c4ae02c71b7f94d0eb7e16b613d91235a96e9" + integrity sha512-GXWfsq/nKtwkcTI4+KGc4CU9EFXjtkWaGcFAsnm177kAhA0Fnn8aWNRaF/C0xFraUIl1wTAUTWkaGKigVyfsTw== dependencies: any-signal "^3.0.0" buffer "^6.0.1" @@ -12048,11 +13906,6 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@~2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" @@ -12142,7 +13995,7 @@ is-directory@^0.3.1: resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= -is-docker@^2.0.0: +is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== @@ -12228,6 +14081,11 @@ is-function@^1.0.1: resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + is-generator-function@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" @@ -12381,7 +14239,7 @@ is-path-cwd@^1.0.0: resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= -is-path-cwd@^2.0.0: +is-path-cwd@^2.0.0, is-path-cwd@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== @@ -12414,6 +14272,11 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -12424,6 +14287,11 @@ is-plain-obj@^2.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -12436,6 +14304,11 @@ is-posix-bracket@^0.1.0: resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" @@ -12474,6 +14347,11 @@ is-retry-allowed@^1.0.0: resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== +is-root@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== + is-shared-array-buffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" @@ -12565,7 +14443,7 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= -is-wsl@^2.1.1: +is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== @@ -12622,6 +14500,48 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" + integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.4" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" + integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + isurl@^1.0.0-alpha5: version "1.0.0" resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" @@ -12675,6 +14595,416 @@ it-to-stream@^1.0.0: p-fifo "^1.0.0" readable-stream "^3.6.0" +jake@^10.6.1: + version "10.8.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" + integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== + dependencies: + async "0.9.x" + chalk "^2.4.2" + filelist "^1.0.1" + minimatch "^3.0.4" + +jest-changed-files@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" + integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== + dependencies: + "@jest/types" "^27.5.1" + execa "^5.0.0" + throat "^6.0.1" + +jest-circus@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" + integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + expect "^27.5.1" + is-generator-fn "^2.0.0" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + slash "^3.0.0" + stack-utils "^2.0.3" + throat "^6.0.1" + +jest-cli@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" + integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== + dependencies: + "@jest/core" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + prompts "^2.0.1" + yargs "^16.2.0" + +jest-config@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" + integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== + dependencies: + "@babel/core" "^7.8.0" + "@jest/test-sequencer" "^27.5.1" + "@jest/types" "^27.5.1" + babel-jest "^27.5.1" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.9" + jest-circus "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-get-type "^27.5.1" + jest-jasmine2 "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runner "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^27.5.1" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" + integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-docblock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" + integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== + dependencies: + detect-newline "^3.0.0" + +jest-each@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" + integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== + dependencies: + "@jest/types" "^27.5.1" + chalk "^4.0.0" + jest-get-type "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + +jest-environment-jsdom@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" + integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + jest-util "^27.5.1" + jsdom "^16.6.0" + +jest-environment-node@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" + integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + jest-util "^27.5.1" + +jest-get-type@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" + integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== + +jest-haste-map@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" + integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== + dependencies: + "@jest/types" "^27.5.1" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.1" + jest-serializer "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + +jest-jasmine2@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" + integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^27.5.1" + is-generator-fn "^2.0.0" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + throat "^6.0.1" + +jest-leak-detector@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" + integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== + dependencies: + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" + integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== + dependencies: + chalk "^4.0.0" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-message-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" + integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.5.1" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^27.5.1" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" + integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^27.0.0, jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== + +jest-resolve-dependencies@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" + integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== + dependencies: + "@jest/types" "^27.5.1" + jest-regex-util "^27.5.1" + jest-snapshot "^27.5.1" + +jest-resolve@^27.4.2, jest-resolve@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" + integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== + dependencies: + "@jest/types" "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-pnp-resolver "^1.2.2" + jest-util "^27.5.1" + jest-validate "^27.5.1" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-runner@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" + integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== + dependencies: + "@jest/console" "^27.5.1" + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.8.1" + graceful-fs "^4.2.9" + jest-docblock "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-haste-map "^27.5.1" + jest-leak-detector "^27.5.1" + jest-message-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runtime "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + source-map-support "^0.5.6" + throat "^6.0.1" + +jest-runtime@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" + integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/globals" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + execa "^5.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-serializer@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" + integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.9" + +jest-snapshot@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" + integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== + dependencies: + "@babel/core" "^7.7.2" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.0.0" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^27.5.1" + graceful-fs "^4.2.9" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + jest-haste-map "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-util "^27.5.1" + natural-compare "^1.4.0" + pretty-format "^27.5.1" + semver "^7.3.2" + +jest-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" + integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== + dependencies: + "@jest/types" "^27.5.1" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^27.5.1" + leven "^3.1.0" + pretty-format "^27.5.1" + +jest-watch-typeahead@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-1.0.0.tgz#4de2ca1eb596acb1889752afbab84b74fcd99173" + integrity sha512-jxoszalAb394WElmiJTFBMzie/RDCF+W7Q29n5LzOPtcoQoHWfdUtHFkbhgf5NwWe8uMOxvKb/g7ea7CshfkTw== + dependencies: + ansi-escapes "^4.3.1" + chalk "^4.0.0" + jest-regex-util "^27.0.0" + jest-watcher "^27.0.0" + slash "^4.0.0" + string-length "^5.0.1" + strip-ansi "^7.0.1" + +jest-watcher@^27.0.0, jest-watcher@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" + integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== + dependencies: + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^27.5.1" + string-length "^4.0.1" + jest-worker@27.0.0-next.5: version "27.0.0-next.5" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.0-next.5.tgz#5985ee29b12a4e191f4aae4bb73b97971d86ec28" @@ -12691,6 +15021,33 @@ jest-worker@^23.2.0: dependencies: merge-stream "^1.0.1" +jest-worker@^26.2.1: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest-worker@^27.0.2, jest-worker@^27.3.1, jest-worker@^27.4.5, jest-worker@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^27.4.3: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" + integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== + dependencies: + "@jest/core" "^27.5.1" + import-local "^3.0.2" + jest-cli "^27.5.1" + js-base64@^2.1.9, js-base64@^2.6.1: version "2.6.4" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" @@ -12736,14 +15093,6 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - js-yaml@4.1.0, js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -12804,6 +15153,39 @@ jsdom@^14.1.0: ws "^6.1.2" xml-name-validator "^3.0.0" +jsdom@^16.6.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.0.0" + jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" @@ -12891,7 +15273,7 @@ json-schema-traverse@^1.0.0: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-schema@0.4.0: +json-schema@0.4.0, json-schema@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== @@ -12965,6 +15347,11 @@ jsonify@~0.0.0: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= +jsonpointer@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.0.tgz#f802669a524ec4805fa7389eadbc9921d5dc8072" + integrity sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg== + jsprim@^1.2.2: version "1.4.2" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" @@ -13184,6 +15571,16 @@ klaw@^1.0.0: optionalDependencies: graceful-fs "^4.1.9" +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +klona@^2.0.4, klona@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" + integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== + language-subtag-registry@~0.3.2: version "0.3.21" resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" @@ -13407,6 +15804,11 @@ levelup@^4.3.2: level-supports "~1.0.0" xtend "~4.0.0" +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -13434,9 +15836,9 @@ lines-and-columns@^1.1.6: integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lint-staged@^12.3.4: - version "12.3.4" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.3.4.tgz#4b1ff8c394c3e6da436aaec5afd4db18b5dac360" - integrity sha512-yv/iK4WwZ7/v0GtVkNb3R82pdL9M+ScpIbJLJNyCXkJ1FGaXvRCOg/SeL59SZtPpqZhE7BD6kPKFLIDUhDx2/w== + version "12.3.5" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.3.5.tgz#8048ce048c3cac12f57200a06344a54dc91c8fa9" + integrity sha512-oOH36RUs1It7b9U/C7Nl/a0sLfoIBcMB8ramiB3nuJ6brBqzsWiUAFSR5DQ3yyP/OR7XKMpijtgKl2DV1lQ3lA== dependencies: cli-truncate "^3.1.0" colorette "^2.0.16" @@ -13541,9 +15943,9 @@ listr@^0.14.2: rxjs "^6.3.3" lmdb@^2.0.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.2.3.tgz#713ffa515c31e042808abf364b4aa0feaeaf6360" - integrity sha512-+OiHQpw22mBBxocb/9vcVNETqf0k5vgHA2r+KX7eCf8j5tSV50ZIv388iY1mnnrERIUhs2sjKQbZhPg7z4HyPQ== + version "2.2.4" + resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.2.4.tgz#6494d5a1d1db152e0be759edcfa06893e4cbdb53" + integrity sha512-gto+BB2uEob8qRiTlOq+R3uX0YNHsX9mjxj9Sbdue/LIKqu6IlZjrsjKeGyOMquc/474GEqFyX2pdytpydp0rQ== dependencies: msgpackr "^1.5.4" nan "^2.14.2" @@ -13598,6 +16000,11 @@ loader-runner@^2.4.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== +loader-runner@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" + integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== + loader-utils@1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" @@ -13616,6 +16023,20 @@ loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4 emojis-list "^3.0.0" json5 "^1.0.1" +loader-utils@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" + integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +loader-utils@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.0.tgz#bcecc51a7898bee7473d4bc6b845b23af8304d4f" + integrity sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ== + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -13791,18 +16212,11 @@ lodash@4.17.20: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4: +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== - dependencies: - chalk "^2.4.2" - log-symbols@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -13881,6 +16295,13 @@ loupe@^2.3.1: dependencies: get-func-name "^2.0.0" +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" @@ -13935,6 +16356,11 @@ ltgt@~2.1.1: resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.1.3.tgz#10851a06d9964b971178441c23c9e52698eece34" integrity sha1-EIUaBtmWS5cReEQcI8nlJpjuzjQ= +lz-string@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" + integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= + magic-string@^0.22.4: version "0.22.5" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" @@ -13942,12 +16368,12 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" -magic-string@^0.25.2, magic-string@^0.25.3: - version "0.25.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" - integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== +magic-string@^0.25.0, magic-string@^0.25.2, magic-string@^0.25.3, magic-string@^0.25.7: + version "0.25.9" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== dependencies: - sourcemap-codec "^1.4.4" + sourcemap-codec "^1.4.8" make-dir@^1.0.0: version "1.3.0" @@ -13964,7 +16390,7 @@ make-dir@^2.0.0, make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-dir@^3.0.2: +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== @@ -13976,6 +16402,13 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -14120,6 +16553,13 @@ memdown@~3.0.0: ltgt "~2.2.0" safe-buffer "~5.1.1" +memfs@^3.1.2, memfs@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.1.tgz#b78092f466a0dce054d63d39275b24c71d3f1305" + integrity sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw== + dependencies: + fs-monkey "1.0.3" + memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -14356,7 +16796,12 @@ mime-db@1.51.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== -mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: +"mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.16, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.34" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== @@ -14410,6 +16855,13 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== +mini-css-extract-plugin@^2.4.5: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz#578aebc7fc14d32c0ad304c2c34f08af44673f5e" + integrity sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w== + dependencies: + schema-utils "^4.0.0" + 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" @@ -14529,7 +16981,7 @@ mkdirp@0.5.1: dependencies: minimist "0.0.8" -mkdirp@0.5.5, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -14560,36 +17012,6 @@ mocha@5.2.0: mkdirp "0.5.1" supports-color "5.4.0" -mocha@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.2.0.tgz#01cc227b00d875ab1eed03a75106689cfed5a604" - integrity sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ== - dependencies: - ansi-colors "3.2.3" - browser-stdout "1.3.1" - chokidar "3.3.0" - debug "3.2.6" - diff "3.5.0" - escape-string-regexp "1.0.5" - find-up "3.0.0" - glob "7.1.3" - growl "1.10.5" - he "1.2.0" - js-yaml "3.13.1" - log-symbols "3.0.0" - minimatch "3.0.4" - mkdirp "0.5.5" - ms "2.1.1" - node-environment-flags "1.0.6" - object.assign "4.1.0" - strip-json-comments "2.0.1" - supports-color "6.0.0" - which "1.3.1" - wide-align "1.1.3" - yargs "13.3.2" - yargs-parser "13.1.2" - yargs-unparser "1.6.0" - mocha@^9.2.0: version "9.2.1" resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.2.1.tgz#a1abb675aa9a8490798503af57e8782a78f1338e" @@ -14657,11 +17079,6 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -14722,6 +17139,19 @@ multibase@~0.6.0: base-x "^3.0.8" buffer "^5.5.0" +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + multicodec@^0.5.5: version "0.5.7" resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" @@ -14844,7 +17274,7 @@ negotiator@0.6.3: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== -neo-async@^2.5.0, neo-async@^2.6.1: +neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== @@ -15065,6 +17495,14 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + node-abi@^2.7.0: version "2.30.1" resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf" @@ -15087,7 +17525,7 @@ node-addon-api@^3.2.1: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-environment-flags@1.0.6, node-environment-flags@^1.0.5: +node-environment-flags@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088" integrity sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw== @@ -15108,14 +17546,7 @@ node-fetch@^1.0.1, node-fetch@~1.7.1: encoding "^0.1.11" is-stream "^1.0.1" -node-fetch@^2.6.0, node-fetch@^2.6.1: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -"node-fetch@https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz": +node-fetch@^2.6.0, node-fetch@^2.6.1, "node-fetch@https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz": version "2.6.7" resolved "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz#1b5d62978f2ed07b99444f64f0df39f960a6d34d" @@ -15124,6 +17555,11 @@ node-forge@^0.7.1: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.6.tgz#fdf3b418aee1f94f0ef642cd63486c77ca9724ac" integrity sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw== +node-forge@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c" + integrity sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w== + node-gyp-build@^4.2.0, node-gyp-build@^4.2.3, node-gyp-build@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" @@ -15136,6 +17572,11 @@ node-html-parser@1.4.9: dependencies: he "1.2.0" +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + node-libs-browser@^2.0.0, node-libs-browser@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" @@ -15324,7 +17765,7 @@ number-to-bn@1.7.0: bn.js "4.11.6" strip-hex-prefix "1.0.0" -nwsapi@^2.1.3: +nwsapi@^2.1.3, nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== @@ -15371,7 +17812,7 @@ object-is@^1.0.1: call-bind "^1.0.2" define-properties "^1.1.3" -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.0.6, object-keys@^1.1.1: +object-keys@^1.0.12, object-keys@^1.0.6, 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== @@ -15388,16 +17829,6 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - object.assign@^4.1.0, object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" @@ -15499,6 +17930,11 @@ observable-to-promise@^0.5.0: is-observable "^0.2.0" symbol-observable "^1.0.4" +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -15506,6 +17942,11 @@ on-finished@~2.3.0: dependencies: ee-first "1.1.1" +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -15535,6 +17976,15 @@ open@^7.4.2: is-docker "^2.0.0" is-wsl "^2.1.1" +open@^8.0.9, open@^8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" + integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + opencollective-postinstall@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" @@ -15743,6 +18193,14 @@ p-queue@^2.4.2: resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-2.4.2.tgz#03609826682b743be9a22dba25051bd46724fc34" integrity sha512-n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng== +p-retry@^4.5.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.1.tgz#8fcddd5cdf7a67a0911a9cf2ef0e5df7f602316c" + integrity sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA== + dependencies: + "@types/retry" "^0.12.0" + retry "^0.13.1" + p-timeout@^1.1.1: version "1.2.1" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" @@ -15799,6 +18257,14 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + parcel@^1.12.3: version "1.12.4" resolved "https://registry.yarnpkg.com/parcel/-/parcel-1.12.4.tgz#c8136085179c6382e632ca98126093e110be2ac5" @@ -15864,7 +18330,7 @@ parcel@^1.12.3: v8-compile-cache "^2.0.0" ws "^5.1.1" -parcel@^2.2.1: +parcel@^2.2.1, parcel@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/parcel/-/parcel-2.3.2.tgz#d1cb475f27edae981edea7a7104e04d3a35a87ca" integrity sha512-4jhgoBcQaiGKmnmBvNyKyOvZrxCgzgUzdEoVup/fRCOP99hNmvYIN5IErIIJxsU9ObcG/RGCFF8wa4kVRsWfIg== @@ -15937,7 +18403,7 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse-json@^5.0.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -15962,11 +18428,24 @@ parse5@5.1.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== -parseurl@~1.3.3: +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" @@ -16128,7 +18607,7 @@ picocolors@^1.0.0: 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.2.3, picomatch@^2.3.0: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -16170,7 +18649,7 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= -pirates@^4.0.5: +pirates@^4.0.4, pirates@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== @@ -16197,6 +18676,13 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + platform@1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" @@ -16226,6 +18712,15 @@ pngjs@^3.3.0: resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== +portfinder@^1.0.28: + version "1.0.28" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -16236,6 +18731,18 @@ post-me@^0.4.5: resolved "https://registry.yarnpkg.com/post-me/-/post-me-0.4.5.tgz#6171b721c7b86230c51cfbe48ddea047ef8831ce" integrity sha512-XgPdktF/2M5jglgVDULr9NUb/QNv3bY3g6RG22iTb5MIMtB07/5FJB5fbVmu5Eaopowc6uZx7K3e7x1shPwnXw== +postcss-attribute-case-insensitive@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.0.tgz#39cbf6babf3ded1e4abf37d09d6eda21c644105c" + integrity sha512-b4g9eagFGq9T5SWX4+USfVyjIb3liPnjhHHRMP7FMB2kFVpYyfEscV0wP3eaXhKlcHKUut8lt5BGoeylWA/dBQ== + dependencies: + postcss-selector-parser "^6.0.2" + +postcss-browser-comments@^4: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz#bcfc86134df5807f5d3c0eefa191d42136b5e72a" + integrity sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg== + postcss-calc@^5.2.0: version "5.3.1" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" @@ -16254,7 +18761,7 @@ postcss-calc@^7.0.1: postcss-selector-parser "^6.0.2" postcss-value-parser "^4.0.2" -postcss-calc@^8.2.0: +postcss-calc@^8.2.3: version "8.2.4" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== @@ -16262,6 +18769,27 @@ postcss-calc@^8.2.0: postcss-selector-parser "^6.0.9" postcss-value-parser "^4.2.0" +postcss-color-functional-notation@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.2.tgz#f59ccaeb4ee78f1b32987d43df146109cc743073" + integrity sha512-DXVtwUhIk4f49KK5EGuEdgx4Gnyj6+t2jBSEmxvpIK9QI40tWrpS2Pua8Q7iIZWBrki2QOaeUdEaLPPa91K0RQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-color-hex-alpha@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.3.tgz#61a0fd151d28b128aa6a8a21a2dad24eebb34d52" + integrity sha512-fESawWJCrBV035DcbKRPAVmy21LpoyiXdPTuHUfWJ14ZRjY7Y7PA6P4g8z6LQGYhU1WAxkTxjIjurXzoe68Glw== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-color-rebeccapurple@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.0.2.tgz#5d397039424a58a9ca628762eb0b88a61a66e079" + integrity sha512-SFc3MaocHaQ6k3oZaFwH8io6MdypkUtEy/eXzXEB1vEQlO3S3oDc/FSZA8AsS04Z25RirQhlDlHLh3dn7XewWw== + dependencies: + postcss-value-parser "^4.2.0" + postcss-colormin@^2.1.8: version "2.2.2" resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" @@ -16282,10 +18810,10 @@ postcss-colormin@^4.0.3: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-colormin@^5.2.5: - version "5.2.5" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.5.tgz#d1fc269ac2ad03fe641d462b5d1dada35c69968a" - integrity sha512-+X30aDaGYq81mFqwyPpnYInsZQnNpdxMX0ajlY7AExCexEFkPVV+KrO7kXwayqEWL2xwEbNQ4nUO0ZsRWGnevg== +postcss-colormin@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a" + integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== dependencies: browserslist "^4.16.6" caniuse-api "^3.0.0" @@ -16308,13 +18836,39 @@ postcss-convert-values@^4.0.1: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-convert-values@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.4.tgz#3e74dd97c581f475ae7b4500bc0a7c4fb3a6b1b6" - integrity sha512-bugzSAyjIexdObovsPZu/sBCTHccImJxLyFgeV0MmNBm/Lw5h5XnjfML6gzEmJ3A6nyfCW7hb1JXzcsA4Zfbdw== +postcss-convert-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz#f8d3abe40b4ce4b1470702a0706343eac17e7c10" + integrity sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-custom-media@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz#1be6aff8be7dc9bf1fe014bde3b71b92bb4552f1" + integrity sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g== + +postcss-custom-properties@^12.1.4: + version "12.1.4" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.4.tgz#e3d8a8000f28094453b836dff5132385f2862285" + integrity sha512-i6AytuTCoDLJkWN/MtAIGriJz3j7UX6bV7Z5t+KgFz+dwZS15/mlTJY1S0kRizlk6ba0V8u8hN50Fz5Nm7tdZw== dependencies: postcss-value-parser "^4.2.0" +postcss-custom-selectors@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.0.tgz#022839e41fbf71c47ae6e316cb0e6213012df5ef" + integrity sha512-/1iyBhz/W8jUepjGyu7V1OPcGbc636snN1yXEQCinb6Bwt7KxsiU7/bLQlp8GwAXzCh7cobBU5odNn/2zQWR8Q== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-dir-pseudo-class@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.4.tgz#9afe49ea631f0cb36fa0076e7c2feb4e7e3f049c" + integrity sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-discard-comments@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" @@ -16329,10 +18883,10 @@ postcss-discard-comments@^4.0.2: dependencies: postcss "^7.0.0" -postcss-discard-comments@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.3.tgz#011acb63418d600fdbe18804e1bbecb543ad2f87" - integrity sha512-6W5BemziRoqIdAKT+1QjM4bNcJAQ7z7zk073730NHg4cUXh3/rQHHj7pmYxUB9aGhuRhBiUf0pXvIHkRwhQP0Q== +postcss-discard-comments@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.0.tgz#87be4e0953bf599935837b940c701f8d4eca7d0b" + integrity sha512-L0IKF4jAshRyn03SkEO6ar/Ipz2oLywVbg2THf2EqqdNkBwmVMxuTR/RoAltOw4piiaLt3gCAdrbAqmTBInmhg== postcss-discard-duplicates@^2.0.1: version "2.1.0" @@ -16348,10 +18902,10 @@ postcss-discard-duplicates@^4.0.2: dependencies: postcss "^7.0.0" -postcss-discard-duplicates@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.3.tgz#10f202a4cfe9d407b73dfea7a477054d21ea0c1f" - integrity sha512-vPtm1Mf+kp7iAENTG7jI1MN1lk+fBqL5y+qxyi4v3H+lzsXEdfS3dwUZD45KVhgzDEgduur8ycB4hMegyMTeRw== +postcss-discard-duplicates@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== postcss-discard-empty@^2.0.1: version "2.1.0" @@ -16367,10 +18921,10 @@ postcss-discard-empty@^4.0.1: dependencies: postcss "^7.0.0" -postcss-discard-empty@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.3.tgz#ec185af4a3710b88933b0ff751aa157b6041dd6a" - integrity sha512-xGJugpaXKakwKI7sSdZjUuN4V3zSzb2Y0LOlmTajFbNinEjTfVs9PFW2lmKBaC/E64WwYppfqLD03P8l9BuueA== +postcss-discard-empty@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.0.tgz#7f51b16cd1b89f8180bbc7cee34d6cbabf2ef810" + integrity sha512-782T/buGgb3HOuHOJAHpdyKzAAKsv/BxWqsutnZ+QsiHEcDkY7v+6WWdturuBiSal6XMOO1p1aJvwXdqLD5vhA== postcss-discard-overridden@^0.1.1: version "0.1.1" @@ -16386,10 +18940,10 @@ postcss-discard-overridden@^4.0.1: dependencies: postcss "^7.0.0" -postcss-discard-overridden@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.4.tgz#cc999d6caf18ea16eff8b2b58f48ec3ddee35c9c" - integrity sha512-3j9QH0Qh1KkdxwiZOW82cId7zdwXVQv/gRXYDnwx5pBtR1sTkU4cXRK9lp5dSdiM0r0OICO/L8J6sV1/7m0kHg== +postcss-discard-overridden@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== postcss-discard-unused@^2.2.1: version "2.2.3" @@ -16399,6 +18953,21 @@ postcss-discard-unused@^2.2.1: postcss "^5.0.14" uniqs "^2.0.0" +postcss-double-position-gradients@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.0.tgz#a8614fb3a2a4b8877bffb8961b770e00322bbad1" + integrity sha512-oz73I08yMN3oxjj0s8mED1rG+uOYoK3H8N9RjQofyg52KBRNmePJKg3fVwTpL2U5ZFbCzXoZBsUD/CvZdlqE4Q== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +postcss-env-function@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.5.tgz#b9614d50abd91e4c88a114644a9766880dabe393" + integrity sha512-gPUJc71ji9XKyl0WSzAalBeEA/89kU+XpffpPxSaaaZ1c48OL36r1Ep5R6+9XAPkIiDlSvVAwP4io12q/vTcvA== + dependencies: + postcss-value-parser "^4.2.0" + postcss-filter-plugins@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz#82245fdf82337041645e477114d8e593aa18b8ec" @@ -16406,6 +18975,47 @@ postcss-filter-plugins@^2.0.0: dependencies: postcss "^5.0.4" +postcss-flexbugs-fixes@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz#2028e145313074fc9abe276cb7ca14e5401eb49d" + integrity sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ== + +postcss-focus-visible@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" + integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== + dependencies: + postcss-selector-parser "^6.0.9" + +postcss-focus-within@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" + integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== + dependencies: + postcss-selector-parser "^6.0.9" + +postcss-font-variant@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" + integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== + +postcss-gap-properties@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz#6401bb2f67d9cf255d677042928a70a915e6ba60" + integrity sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ== + +postcss-image-set-function@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.6.tgz#bcff2794efae778c09441498f40e0c77374870a9" + integrity sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-initial@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" + integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== + postcss-js@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" @@ -16413,6 +19023,14 @@ postcss-js@^4.0.0: dependencies: camelcase-css "^2.0.1" +postcss-lab-function@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.1.tgz#8b37dfcb9ca4ff82bbe7192c7ba3cc2bccbc0ef1" + integrity sha512-j3Z0WQCimY2tMle++YcmygnnVbt6XdnrCV1FO2IpzaCSmtTF2oO8h4ZYUA1Q+QHYroIiaWPvNHt9uBR4riCksQ== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + postcss-load-config@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" @@ -16455,6 +19073,25 @@ postcss-load-plugins@^2.3.0: cosmiconfig "^2.1.1" object-assign "^4.1.0" +postcss-loader@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" + integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.5" + +postcss-logical@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" + integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== + +postcss-media-minmax@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" + integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== + postcss-merge-idents@^2.1.5: version "2.1.7" resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" @@ -16481,13 +19118,13 @@ postcss-merge-longhand@^4.0.11: postcss-value-parser "^3.0.0" stylehacks "^4.0.0" -postcss-merge-longhand@^5.0.6: - version "5.0.6" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.6.tgz#090e60d5d3b3caad899f8774f8dccb33217d2166" - integrity sha512-rkmoPwQO6ymJSmWsX6l2hHeEBQa7C4kJb9jyi5fZB1sE8nSCv7sqchoYPixRwX/yvLoZP2y6FA5kcjiByeJqDg== +postcss-merge-longhand@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.0.tgz#f716bffbf0bdfbde6ea78c36088e21559f8a0a95" + integrity sha512-Gr46srN2tsLD8fudKYoHO56RG0BLQ2nsBRnSZGY04eNBPwTeWa9KeHrbL3tOLAHyB2aliikycPH2TMJG1U+W6g== dependencies: postcss-value-parser "^4.2.0" - stylehacks "^5.0.3" + stylehacks "^5.1.0" postcss-merge-rules@^2.0.3: version "2.1.2" @@ -16512,14 +19149,14 @@ postcss-merge-rules@^4.0.3: postcss-selector-parser "^3.0.0" vendors "^1.0.0" -postcss-merge-rules@^5.0.6: - version "5.0.6" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.6.tgz#26b37411fe1e80202fcef61cab027265b8925f2b" - integrity sha512-nzJWJ9yXWp8AOEpn/HFAW72WKVGD2bsLiAmgw4hDchSij27bt6TF+sIK0cJUBAYT3SGcjtGGsOR89bwkkMuMgQ== +postcss-merge-rules@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.0.tgz#a2d5117eba09c8686a5471d97bd9afcf30d1b41f" + integrity sha512-NecukEJovQ0mG7h7xV8wbYAkXGTO3MPKnXvuiXzOKcxoOodfTTKYjeo8TMhAswlSkjcPIBlnKbSFcTuVSDaPyQ== dependencies: browserslist "^4.16.6" caniuse-api "^3.0.0" - cssnano-utils "^3.0.2" + cssnano-utils "^3.1.0" postcss-selector-parser "^6.0.5" postcss-message-helpers@^2.0.0: @@ -16544,10 +19181,10 @@ postcss-minify-font-values@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-minify-font-values@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.4.tgz#627d824406b0712243221891f40a44fffe1467fd" - integrity sha512-RN6q3tyuEesvyCYYFCRGJ41J1XFvgV+dvYGHr0CeHv8F00yILlN8Slf4t8XW4IghlfZYCeyRrANO6HpJ948ieA== +postcss-minify-font-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== dependencies: postcss-value-parser "^4.2.0" @@ -16569,13 +19206,13 @@ postcss-minify-gradients@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-minify-gradients@^5.0.6: - version "5.0.6" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.6.tgz#b07cef51a93f075e94053fd972ff1cba2eaf6503" - integrity sha512-E/dT6oVxB9nLGUTiY/rG5dX9taugv9cbLNTFad3dKxOO+BQg25Q/xo2z2ddG+ZB1CbkZYaVwx5blY8VC7R/43A== +postcss-minify-gradients@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.0.tgz#de0260a67a13b7b321a8adc3150725f2c6612377" + integrity sha512-J/TMLklkONn3LuL8wCwfwU8zKC1hpS6VcxFkNUNjmVt53uKqrrykR3ov11mdUYyqVMEx67slMce0tE14cE4DTg== dependencies: colord "^2.9.1" - cssnano-utils "^3.0.2" + cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" postcss-minify-params@^1.0.4: @@ -16600,13 +19237,13 @@ postcss-minify-params@^4.0.2: postcss-value-parser "^3.0.0" uniqs "^2.0.0" -postcss-minify-params@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.5.tgz#86cb624358cd45c21946f8c317893f0449396646" - integrity sha512-YBNuq3Rz5LfLFNHb9wrvm6t859b8qIqfXsWeK7wROm3jSKNpO1Y5e8cOyBv6Acji15TgSrAwb3JkVNCqNyLvBg== +postcss-minify-params@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.0.tgz#e0b1f4e05cfd396682f612856485907e4064f25e" + integrity sha512-q67dcts4Hct6x8+JmhBgctHkbvUsqGIg2IItenjE63iZXMbhjr7AlVZkNnKtIGt/1Wsv7p/7YzeSII6Q+KPXRg== dependencies: browserslist "^4.16.6" - cssnano-utils "^3.0.2" + cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" postcss-minify-selectors@^2.0.4: @@ -16629,10 +19266,10 @@ postcss-minify-selectors@^4.0.2: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -postcss-minify-selectors@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.3.tgz#6ac12d52aa661fd509469d87ab2cebb0a1e3a1b5" - integrity sha512-9RJfTiQEKA/kZhMaEXND893nBqmYQ8qYa/G+uPdVnXF6D/FzpfI6kwBtWEcHx5FqDbA79O9n6fQJfrIj6M8jvQ== +postcss-minify-selectors@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz#17c2be233e12b28ffa8a421a02fc8b839825536c" + integrity sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA== dependencies: postcss-selector-parser "^6.0.5" @@ -16643,6 +19280,11 @@ postcss-modules-extract-imports@1.1.0: dependencies: postcss "^6.0.1" +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + postcss-modules-local-by-default@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" @@ -16651,6 +19293,15 @@ postcss-modules-local-by-default@1.2.0: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + postcss-modules-scope@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" @@ -16659,6 +19310,13 @@ postcss-modules-scope@1.1.0: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== + dependencies: + postcss-selector-parser "^6.0.4" + postcss-modules-values@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" @@ -16667,6 +19325,13 @@ postcss-modules-values@1.3.0: icss-replace-symbols "^1.1.0" postcss "^6.0.1" +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + postcss-modules@^1.1.0: version "1.5.0" resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-1.5.0.tgz#08da6ce43fcfadbc685a021fe6ed30ef929f0bcc" @@ -16685,6 +19350,13 @@ postcss-nested@5.0.6: dependencies: postcss-selector-parser "^6.0.6" +postcss-nesting@^10.1.2: + version "10.1.3" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.3.tgz#f0b1cd7ae675c697ab6a5a5ca1feea4784a2ef77" + integrity sha512-wUC+/YCik4wH3StsbC5fBG1s2Z3ZV74vjGqBFYtmYKlVxoio5TYGM06AiaKkQPPlkXWn72HKfS7Cw5PYxnoXSw== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-normalize-charset@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" @@ -16699,10 +19371,10 @@ postcss-normalize-charset@^4.0.1: dependencies: postcss "^7.0.0" -postcss-normalize-charset@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.3.tgz#719fb9f9ca9835fcbd4fed8d6e0d72a79e7b5472" - integrity sha512-iKEplDBco9EfH7sx4ut7R2r/dwTnUqyfACf62Unc9UiyFuI7uUqZZtY+u+qp7g8Qszl/U28HIfcsI3pEABWFfA== +postcss-normalize-charset@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== postcss-normalize-display-values@^4.0.2: version "4.0.2" @@ -16713,10 +19385,10 @@ postcss-normalize-display-values@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-display-values@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.3.tgz#94cc82e20c51cc4ffba6b36e9618adc1e50db8c1" - integrity sha512-FIV5FY/qs4Ja32jiDb5mVj5iWBlS3N8tFcw2yg98+8MkRgyhtnBgSC0lxU+16AMHbjX5fbSJgw5AXLMolonuRQ== +postcss-normalize-display-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== dependencies: postcss-value-parser "^4.2.0" @@ -16730,10 +19402,10 @@ postcss-normalize-positions@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-positions@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.4.tgz#4001f38c99675437b83277836fb4291887fcc6cc" - integrity sha512-qynirjBX0Lc73ROomZE3lzzmXXTu48/QiEzKgMeqh28+MfuHLsuqC9po4kj84igZqqFGovz8F8hf44hA3dPYmQ== +postcss-normalize-positions@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz#902a7cb97cf0b9e8b1b654d4a43d451e48966458" + integrity sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ== dependencies: postcss-value-parser "^4.2.0" @@ -16747,10 +19419,10 @@ postcss-normalize-repeat-style@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-repeat-style@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.4.tgz#d005adf9ee45fae78b673031a376c0c871315145" - integrity sha512-Innt+wctD7YpfeDR7r5Ik6krdyppyAg2HBRpX88fo5AYzC1Ut/l3xaxACG0KsbX49cO2n5EB13clPwuYVt8cMA== +postcss-normalize-repeat-style@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz#f6d6fd5a54f51a741cc84a37f7459e60ef7a6398" + integrity sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw== dependencies: postcss-value-parser "^4.2.0" @@ -16763,10 +19435,10 @@ postcss-normalize-string@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-string@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.4.tgz#b5e00a07597e7aa8a871817bfeac2bfaa59c3333" - integrity sha512-Dfk42l0+A1CDnVpgE606ENvdmksttLynEqTQf5FL3XGQOyqxjbo25+pglCUvziicTxjtI2NLUR6KkxyUWEVubQ== +postcss-normalize-string@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== dependencies: postcss-value-parser "^4.2.0" @@ -16779,10 +19451,10 @@ postcss-normalize-timing-functions@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-timing-functions@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.3.tgz#47210227bfcba5e52650d7a18654337090de7072" - integrity sha512-QRfjvFh11moN4PYnJ7hia4uJXeFotyK3t2jjg8lM9mswleGsNw2Lm3I5wO+l4k1FzK96EFwEVn8X8Ojrp2gP4g== +postcss-normalize-timing-functions@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== dependencies: postcss-value-parser "^4.2.0" @@ -16795,10 +19467,10 @@ postcss-normalize-unicode@^4.0.1: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-unicode@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.4.tgz#02866096937005cdb2c17116c690f29505a1623d" - integrity sha512-W79Regn+a+eXTzB+oV/8XJ33s3pDyFTND2yDuUCo0Xa3QSy1HtNIfRVPXNubHxjhlqmMFADr3FSCHT84ITW3ig== +postcss-normalize-unicode@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz#3d23aede35e160089a285e27bf715de11dc9db75" + integrity sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ== dependencies: browserslist "^4.16.6" postcss-value-parser "^4.2.0" @@ -16823,10 +19495,10 @@ postcss-normalize-url@^4.0.1: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-url@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.5.tgz#c39efc12ff119f6f45f0b4f516902b12c8080e3a" - integrity sha512-Ws3tX+PcekYlXh+ycAt0wyzqGthkvVtZ9SZLutMVvHARxcpu4o7vvXcNoiNKyjKuWecnjS6HDI3fjBuDr5MQxQ== +postcss-normalize-url@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== dependencies: normalize-url "^6.0.1" postcss-value-parser "^4.2.0" @@ -16839,13 +19511,27 @@ postcss-normalize-whitespace@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-whitespace@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.4.tgz#1d477e7da23fecef91fc4e37d462272c7b55c5ca" - integrity sha512-wsnuHolYZjMwWZJoTC9jeI2AcjA67v4UuidDrPN9RnX8KIZfE+r2Nd6XZRwHVwUiHmRvKQtxiqo64K+h8/imaw== +postcss-normalize-whitespace@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.0.tgz#aed8b4580c9ad6e8eac034177291187ea16a059c" + integrity sha512-7O1FanKaJkpWFyCghFzIkLhehujV/frGkdofGLwhg5upbLyGsSfiTcZAdSzoPsSUgyPCkBkNMeWR8yVgPdQybg== dependencies: postcss-value-parser "^4.2.0" +postcss-normalize@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-10.0.1.tgz#464692676b52792a06b06880a176279216540dd7" + integrity sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA== + dependencies: + "@csstools/normalize.css" "*" + postcss-browser-comments "^4" + sanitize.css "*" + +postcss-opacity-percentage@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" + integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== + postcss-ordered-values@^2.1.0: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" @@ -16863,14 +19549,86 @@ postcss-ordered-values@^4.1.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-ordered-values@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.5.tgz#e878af822a130c3f3709737e24cb815ca7c6d040" - integrity sha512-mfY7lXpq+8bDEHfP+muqibDPhZ5eP9zgBEF9XRvoQgXcQe2Db3G1wcvjbnfjXG6wYsl+0UIjikqq4ym1V2jGMQ== +postcss-ordered-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.0.tgz#04ef429e0991b0292bc918b135cd4c038f7b889f" + integrity sha512-wU4Z4D4uOIH+BUKkYid36gGDJNQtkVJT7Twv8qH6UyfttbbJWyw4/xIPuVEkkCtQLAJ0EdsNSh8dlvqkXb49TA== + dependencies: + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-overflow-shorthand@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz#ebcfc0483a15bbf1b27fdd9b3c10125372f4cbc2" + integrity sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg== + +postcss-page-break@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" + integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== + +postcss-place@^7.0.4: + version "7.0.4" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.4.tgz#eb026650b7f769ae57ca4f938c1addd6be2f62c9" + integrity sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg== dependencies: - cssnano-utils "^3.0.2" postcss-value-parser "^4.2.0" +postcss-preset-env@^7.0.1: + version "7.4.2" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.2.tgz#2ff3e4787bd9d89710659535855d6ce85ce6110b" + integrity sha512-AmOkb8AeNNQwE/z2fHl1iwOIt8J50V8WR0rmLagcgIDoqlJZWjV3NdtOPnLGco1oN8DZe+Ss5B9ULbBeS6HfeA== + dependencies: + "@csstools/postcss-color-function" "^1.0.2" + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.0" + "@csstools/postcss-ic-unit" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.0" + "@csstools/postcss-normalize-display-values" "^1.0.0" + "@csstools/postcss-oklab-function" "^1.0.1" + "@csstools/postcss-progressive-custom-properties" "^1.2.0" + autoprefixer "^10.4.2" + browserslist "^4.19.3" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.4.0" + postcss-attribute-case-insensitive "^5.0.0" + postcss-color-functional-notation "^4.2.2" + postcss-color-hex-alpha "^8.0.3" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.0" + postcss-custom-properties "^12.1.4" + postcss-custom-selectors "^6.0.0" + postcss-dir-pseudo-class "^6.0.4" + postcss-double-position-gradients "^3.1.0" + postcss-env-function "^4.0.5" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.3" + postcss-image-set-function "^4.0.6" + postcss-initial "^4.0.1" + postcss-lab-function "^4.1.1" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.2" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.3" + postcss-page-break "^3.0.4" + postcss-place "^7.0.4" + postcss-pseudo-class-any-link "^7.1.1" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^5.0.0" + postcss-value-parser "^4.2.0" + +postcss-pseudo-class-any-link@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.1.tgz#534eb1dadd9945eb07830dbcc06fb4d5d865b8e0" + integrity sha512-JRoLFvPEX/1YTPxRxp1JO4WxBVXJYrSY7NHeak5LImwJ+VobFMwYDQHvfTXEpcn+7fYIeGkC29zYFhFWIZD8fg== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-reduce-idents@^2.2.2: version "2.4.0" resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" @@ -16896,10 +19654,10 @@ postcss-reduce-initial@^4.0.3: has "^1.0.0" postcss "^7.0.0" -postcss-reduce-initial@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.3.tgz#68891594defd648253703bbd8f1093162f19568d" - integrity sha512-c88TkSnQ/Dnwgb4OZbKPOBbCaauwEjbECP5uAuFPOzQ+XdjNjRH7SG0dteXrpp1LlIFEKK76iUGgmw2V0xeieA== +postcss-reduce-initial@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz#fc31659ea6e85c492fb2a7b545370c215822c5d6" + integrity sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw== dependencies: browserslist "^4.16.6" caniuse-api "^3.0.0" @@ -16923,13 +19681,25 @@ postcss-reduce-transforms@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-reduce-transforms@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.4.tgz#717e72d30befe857f7d2784dba10eb1157863712" - integrity sha512-VIJB9SFSaL8B/B7AXb7KHL6/GNNbbCHslgdzS9UDfBZYIA2nx8NLY7iD/BXFSO/1sRUILzBTfHCoW5inP37C5g== +postcss-reduce-transforms@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== dependencies: postcss-value-parser "^4.2.0" +postcss-replace-overflow-wrap@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" + integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== + +postcss-selector-not@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz#ac5fc506f7565dd872f82f5314c0f81a05630dc7" + integrity sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ== + dependencies: + balanced-match "^1.0.0" + postcss-selector-parser@6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" @@ -16984,10 +19754,10 @@ postcss-svgo@^4.0.3: postcss-value-parser "^3.0.0" svgo "^1.0.0" -postcss-svgo@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.4.tgz#cfa8682f47b88f7cd75108ec499e133b43102abf" - integrity sha512-yDKHvULbnZtIrRqhZoA+rxreWpee28JSRH/gy9727u0UCgtpv1M/9WEWY3xySlFa0zQJcqf6oCBJPR5NwkmYpg== +postcss-svgo@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== dependencies: postcss-value-parser "^4.2.0" svgo "^2.7.0" @@ -17010,10 +19780,10 @@ postcss-unique-selectors@^4.0.1: postcss "^7.0.0" uniqs "^2.0.0" -postcss-unique-selectors@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.4.tgz#08e188126b634ddfa615fb1d6c262bafdd64826e" - integrity sha512-5ampwoSDJCxDPoANBIlMgoBcYUHnhaiuLYJR5pj1DLnYQvMRVyFuTA5C3Bvt+aHtiqWpJkD/lXT50Vo1D0ZsAQ== +postcss-unique-selectors@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.0.tgz#70a945da1b0599d00f617222a44ba1d82a676694" + integrity sha512-LmUhgGobtpeVJJHuogzjLRwJlN7VH+BL5c9GKMVJSS/ejoyePZkXvNsYUtk//F6vKOGK86gfRS0xH7fXQSDtvA== dependencies: postcss-selector-parser "^6.0.5" @@ -17091,7 +19861,7 @@ postcss@^6.0.1, postcss@^6.0.21: source-map "^0.6.1" supports-color "^5.4.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.17, postcss@^7.0.27, postcss@^7.0.32: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.17, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.35: version "7.0.39" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== @@ -17099,7 +19869,7 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.17, postcss@^7.0.2 picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.4.5, postcss@^8.4.6, postcss@^8.4.7: +postcss@^8.3.5, postcss@^8.4.4, postcss@^8.4.5, postcss@^8.4.6, postcss@^8.4.7: version "8.4.7" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.7.tgz#f99862069ec4541de386bf57f5660a6c7a0875a8" integrity sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A== @@ -17267,11 +20037,28 @@ pretty-bytes@^3.0.0: dependencies: number-is-nan "^1.0.0" -pretty-bytes@^5.1.0: +pretty-bytes@^5.1.0, pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== + dependencies: + lodash "^4.17.20" + renderkid "^3.0.0" + +pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + pretty-ms@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-4.0.0.tgz#31baf41b94fd02227098aaa03bd62608eb0d6e92" @@ -17322,7 +20109,22 @@ promise.series@^0.2.0: resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" integrity sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= -prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: +promise@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" + integrity sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q== + dependencies: + asap "~2.0.6" + +prompts@^2.0.1, prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -17381,7 +20183,7 @@ pseudomap@^1.0.1, pseudomap@^1.0.2: resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= -psl@^1.1.28: +psl@^1.1.28, psl@^1.1.33: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== @@ -17501,7 +20303,7 @@ purgecss@^2.3.0: postcss "7.0.32" postcss-selector-parser "^6.0.2" -pvtsutils@^1.2.0, pvtsutils@^1.2.1: +pvtsutils@^1.2.1, pvtsutils@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.2.2.tgz#62ef6bc0513cbc255ee02574dedeaa41272d6101" integrity sha512-OALo5ZEdqiI127i64+CXwkCOyFHUA+tCQgaUO/MvRDFXWPr53f2sx28ECNztUEzuyu5xvuuD1EB/szg9mwJoGA== @@ -17509,9 +20311,9 @@ pvtsutils@^1.2.0, pvtsutils@^1.2.1: tslib "^2.3.1" pvutils@latest: - version "1.1.2" - resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.2.tgz#8d046cabeb81040d430744b0e76f4b2970c9e81f" - integrity sha512-wlo0BUInyP+ZgBJHV8PnJW8S2HubdQfMMip8B9yXr9aFlauJFuF1jZ/RWFmzGYitC7GxkxqXdwbY9/R97v+Cqg== + version "1.1.3" + resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.3.tgz#f35fc1d27e7cd3dfbd39c0826d173e806a03f5a3" + integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== q@^1.1.2: version "1.5.1" @@ -17630,6 +20432,13 @@ quote-stream@^1.0.1, quote-stream@~1.0.2: minimist "^1.1.3" through2 "^2.0.0" +raf@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + ramda@^0.26.1: version "0.26.1" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz#8d41351eb8111c55353617fc3bbffad8e4d35d06" @@ -17659,7 +20468,7 @@ randomfill@^1.0.3: randombytes "^2.0.5" safe-buffer "^5.1.0" -range-parser@~1.2.1: +range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== @@ -17685,9 +20494,9 @@ raw-body@2.4.3: unpipe "1.0.0" raw-body@^2.4.1: - version "2.5.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.0.tgz#865890d9435243e9fe6141feb4decf929a6e1525" - integrity sha512-XpyZ6O7PVu3ItMQl0LslfsRoKxMOxi3SzDkrOtxMES5AqLFpYjQCryxI4LGygUN2jL+RgFsPkMPPlG7cg/47+A== + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: bytes "3.1.2" http-errors "2.0.0" @@ -17704,6 +20513,18 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +react-app-polyfill@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz#95221e0a9bd259e5ca6b177c7bb1cb6768f68fd7" + integrity sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w== + dependencies: + core-js "^3.19.2" + object-assign "^4.1.1" + promise "^8.1.0" + raf "^3.4.1" + regenerator-runtime "^0.13.9" + whatwg-fetch "^3.6.2" + react-async-hook@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/react-async-hook/-/react-async-hook-4.0.0.tgz#1f0467586654e1f33b7433bd98c300a0c5f9b3d0" @@ -17716,6 +20537,36 @@ react-confetti@^6.0.1: dependencies: tween-functions "^1.2.0" +react-dev-utils@^12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.0.tgz#4eab12cdb95692a077616770b5988f0adf806526" + integrity sha512-xBQkitdxozPxt1YZ9O1097EJiVpwHr9FoAuEVURCKV0Av8NBERovJauzP7bo1ThvuhZ4shsQ1AJiu4vQpoT1AQ== + dependencies: + "@babel/code-frame" "^7.16.0" + address "^1.1.2" + browserslist "^4.18.1" + chalk "^4.1.2" + cross-spawn "^7.0.3" + detect-port-alt "^1.1.6" + escape-string-regexp "^4.0.0" + filesize "^8.0.6" + find-up "^5.0.0" + fork-ts-checker-webpack-plugin "^6.5.0" + global-modules "^2.0.0" + globby "^11.0.4" + gzip-size "^6.0.0" + immer "^9.0.7" + is-root "^2.1.0" + loader-utils "^3.2.0" + open "^8.4.0" + pkg-up "^3.1.0" + prompts "^2.4.2" + react-error-overlay "^6.0.10" + recursive-readdir "^2.2.2" + shell-quote "^1.7.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + react-display-name@^0.2.4: version "0.2.5" resolved "https://registry.yarnpkg.com/react-display-name/-/react-display-name-0.2.5.tgz#304c7cbfb59ee40389d436e1a822c17fe27936c6" @@ -17740,7 +20591,12 @@ react-dom@^16.8.6: prop-types "^15.6.2" scheduler "^0.19.1" -react-is@17.0.2: +react-error-overlay@^6.0.10: + version "6.0.10" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.10.tgz#0fe26db4fa85d9dbb8624729580e90e7159a59a6" + integrity sha512-mKR90fX7Pm5seCOfz8q9F+66VCc1PGsWSBxKbITjfKVQHMNF2zudxHnMdJiB1fRCb+XsbQV9sO9DCkgsMQgBIA== + +react-is@17.0.2, react-is@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== @@ -17788,11 +20644,71 @@ react-refresh@0.8.3: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== +react-refresh@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" + integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== + react-refresh@^0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.9.0.tgz#71863337adc3e5c2f8a6bfddd12ae3bfe32aafbf" integrity sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ== +react-scripts@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-5.0.0.tgz#6547a6d7f8b64364ef95273767466cc577cb4b60" + integrity sha512-3i0L2CyIlROz7mxETEdfif6Sfhh9Lfpzi10CtcGs1emDQStmZfWjJbAIMtRD0opVUjQuFWqHZyRZ9PPzKCFxWg== + dependencies: + "@babel/core" "^7.16.0" + "@pmmmwh/react-refresh-webpack-plugin" "^0.5.3" + "@svgr/webpack" "^5.5.0" + babel-jest "^27.4.2" + babel-loader "^8.2.3" + babel-plugin-named-asset-import "^0.3.8" + babel-preset-react-app "^10.0.1" + bfj "^7.0.2" + browserslist "^4.18.1" + camelcase "^6.2.1" + case-sensitive-paths-webpack-plugin "^2.4.0" + css-loader "^6.5.1" + css-minimizer-webpack-plugin "^3.2.0" + dotenv "^10.0.0" + dotenv-expand "^5.1.0" + eslint "^8.3.0" + eslint-config-react-app "^7.0.0" + eslint-webpack-plugin "^3.1.1" + file-loader "^6.2.0" + fs-extra "^10.0.0" + html-webpack-plugin "^5.5.0" + identity-obj-proxy "^3.0.0" + jest "^27.4.3" + jest-resolve "^27.4.2" + jest-watch-typeahead "^1.0.0" + mini-css-extract-plugin "^2.4.5" + postcss "^8.4.4" + postcss-flexbugs-fixes "^5.0.2" + postcss-loader "^6.2.1" + postcss-normalize "^10.0.1" + postcss-preset-env "^7.0.1" + prompts "^2.4.2" + react-app-polyfill "^3.0.0" + react-dev-utils "^12.0.0" + react-refresh "^0.11.0" + resolve "^1.20.0" + resolve-url-loader "^4.0.0" + sass-loader "^12.3.0" + semver "^7.3.5" + source-map-loader "^3.0.0" + style-loader "^3.3.1" + tailwindcss "^3.0.2" + terser-webpack-plugin "^5.2.5" + webpack "^5.64.4" + webpack-dev-server "^4.6.0" + webpack-manifest-plugin "^4.0.2" + workbox-webpack-plugin "^6.4.1" + optionalDependencies: + fsevents "^2.3.2" + react-toastify@^8.1.1, react-toastify@^8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-8.2.0.tgz#ef7d56bdfdc6272ca6b228368ab564721c3a3244" @@ -17956,13 +20872,6 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" - integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== - dependencies: - picomatch "^2.0.4" - readdirp@~3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" @@ -17984,6 +20893,13 @@ receptacle@^1.3.2: dependencies: ms "^2.1.1" +recursive-readdir@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" + integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== + dependencies: + minimatch "3.0.4" + redent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" @@ -18045,7 +20961,7 @@ regenerator-runtime@^0.11.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: +regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7, regenerator-runtime@^0.13.9: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== @@ -18081,6 +20997,11 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regex-parser@^2.2.11: + version "2.2.11" + resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" + integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== + regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: version "1.4.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" @@ -18205,6 +21126,17 @@ remove-trailing-separator@^1.0.1: resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.1" + repeat-element@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" @@ -18316,6 +21248,13 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" @@ -18339,11 +21278,27 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-url-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" + integrity sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA== + dependencies: + adjust-sourcemap-loader "^4.0.0" + convert-source-map "^1.7.0" + loader-utils "^2.0.0" + postcss "^7.0.35" + source-map "0.6.1" + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= +resolve.exports@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" + integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + resolve@1.17.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" @@ -18358,7 +21313,7 @@ resolve@1.8.1: dependencies: path-parse "^1.0.5" -resolve@^1.1.5, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@~1.22.0: +resolve@^1.1.5, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@~1.22.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -18420,6 +21375,11 @@ retry@^0.10.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -18440,7 +21400,7 @@ rgba-regex@^1.0.0: resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@3.0.2, rimraf@^3.0.2: +rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -18542,6 +21502,13 @@ rollup-plugin-node-resolve@^4.0.0: is-module "^1.0.0" resolve "^1.10.0" +rollup-plugin-polyfill-node@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-polyfill-node/-/rollup-plugin-polyfill-node-0.8.0.tgz#859c070822f5e38d221e5b4238cb34aa894c2b19" + integrity sha512-C4UeKedOmOBkB3FgR+z/v9kzRwV1Q/H8xWs1u1+CNe4XOV6hINfOrcO+TredKxYvopCmr+WKUSNsFUnD1RLHgQ== + dependencies: + "@rollup/plugin-inject" "^4.0.0" + rollup-plugin-postcss@^1.6.1: version "1.6.3" resolved "https://registry.yarnpkg.com/rollup-plugin-postcss/-/rollup-plugin-postcss-1.6.3.tgz#18256ba66f29ecd9d42a68f4ef136b92b939ddb8" @@ -18590,6 +21557,16 @@ rollup-plugin-terser@^3.0.0: serialize-javascript "^1.5.0" terser "^3.8.2" +rollup-plugin-terser@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" + integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== + dependencies: + "@babel/code-frame" "^7.10.4" + jest-worker "^26.2.1" + serialize-javascript "^4.0.0" + terser "^5.0.0" + rollup-plugin-typescript2@^0.19.0: version "0.19.3" resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.19.3.tgz#713063233461765f030a2baa2640905c2656164f" @@ -18631,6 +21608,13 @@ rollup@^0.67.3: "@types/estree" "0.0.39" "@types/node" "*" +rollup@^2.43.1, rollup@^2.59.0: + version "2.69.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.69.2.tgz#5e0f3b6d07b2a293bc4f4727315dcddb46a96b85" + integrity sha512-KghktpWg3Wd+nYCsx3Griidm2/CKIJYG2yyaaKspo0TXSoGdW+0duwzKl4wWIu62oN3mFg3zCDbwVRPwuNPPlA== + optionalDependencies: + fsevents "~2.3.2" + rtl-css-js@^1.14.0: version "1.15.0" resolved "https://registry.yarnpkg.com/rtl-css-js/-/rtl-css-js-1.15.0.tgz#680ed816e570a9ebccba9e1cd0f202c6a8bb2dc0" @@ -18683,16 +21667,16 @@ sade@^1.4.0: dependencies: mri "^1.1.0" -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.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-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2, 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-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.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-event-emitter@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz#5b692ef22329ed8f69fdce607e50ca734f6f20af" @@ -18712,6 +21696,19 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +sanitize.css@*: + version "13.0.0" + resolved "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-13.0.0.tgz#2675553974b27964c75562ade3bd85d79879f173" + integrity sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA== + +sass-loader@^12.3.0: + version "12.6.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" + integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + sax@~1.2.1, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -18724,6 +21721,13 @@ saxes@^3.1.9: dependencies: xmlchars "^2.1.1" +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + scheduler@^0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" @@ -18740,6 +21744,15 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" @@ -18749,6 +21762,34 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" + integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.8.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.0.0" + screenfull@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.2.0.tgz#6533d524d30621fc1283b9692146f3f13a93d1ba" @@ -18780,6 +21821,18 @@ seedrandom@3.0.1: resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.1.tgz#eb3dde015bcf55df05a233514e5df44ef9dce083" integrity sha512-1/02Y/rUeU1CJBAGLebiC5Lbo5FnB22gQbIFFYTLkwvp1xdABZJH1sn4ZT1MzXmPpzv+Rf/Lu2NcsLJiK4rcDg== +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.0.tgz#e927cd5377cbb0a1075302cff8df1042cc2bce5b" + integrity sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ== + dependencies: + node-forge "^1.2.0" + semaphore-async-await@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz#857bef5e3644601ca4b9570b87e9df5ca12974fa" @@ -18853,7 +21906,7 @@ serialize-error@^2.1.0: resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" integrity sha1-ULZ51WNc34Rme9yOWa9OW4HV9go= -serialize-javascript@6.0.0: +serialize-javascript@6.0.0, serialize-javascript@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== @@ -18877,6 +21930,19 @@ serialize-to-js@^3.0.0: resolved "https://registry.yarnpkg.com/serialize-to-js/-/serialize-to-js-3.1.1.tgz#b3e77d0568ee4a60bfe66287f991e104d3a1a4ac" integrity sha512-F+NGU0UHMBO4Q965tjw7rvieNVjlH6Lqi2emq/Lc9LUURYJbiCzmpi4Cy1OOjjVPtxu0c+NE85LU6968Wko5ZA== +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + serve-static@1.14.2, serve-static@^1.12.4: version "1.14.2" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" @@ -18928,6 +21994,11 @@ setimmediate@^1.0.4, setimmediate@^1.0.5: resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + setprototypeof@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" @@ -18999,7 +22070,7 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@1.7.3, shell-quote@^1.6.1: +shell-quote@1.7.3, shell-quote@^1.6.1, shell-quote@^1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== @@ -19064,6 +22135,11 @@ sirv@^1.0.7: mrmime "^1.0.0" totalist "^1.0.0" +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + sjcl@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.8.tgz#f2ec8d7dc1f0f21b069b8914a41a8f236b0e252a" @@ -19132,6 +22208,11 @@ slash@^3.0.0: 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@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" @@ -19216,6 +22297,15 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" +sockjs@^0.3.21: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + solc@0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/solc/-/solc-0.7.3.tgz#04646961bd867a744f63d2b4e3c0701ffdc7d78a" @@ -19263,7 +22353,7 @@ sort-keys@^1.0.0: dependencies: is-plain-obj "^1.0.0" -source-list-map@^2.0.0: +source-list-map@^2.0.0, source-list-map@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== @@ -19273,6 +22363,15 @@ source-map-js@^1.0.1, source-map-js@^1.0.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +source-map-loader@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.1.tgz#9ae5edc7c2d42570934be4c95d1ccc6352eba52d" + integrity sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA== + dependencies: + abab "^2.0.5" + iconv-lite "^0.6.3" + source-map-js "^1.0.1" + source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -19284,6 +22383,14 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" +source-map-resolve@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" + integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + source-map-support@0.5.12: version "0.5.12" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" @@ -19299,7 +22406,7 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" -source-map-support@^0.5.11, source-map-support@^0.5.13, source-map-support@^0.5.16, source-map-support@^0.5.17, source-map-support@~0.5.10, source-map-support@~0.5.12, source-map-support@~0.5.20: +source-map-support@^0.5.11, source-map-support@^0.5.13, source-map-support@^0.5.16, source-map-support@^0.5.17, source-map-support@^0.5.6, source-map-support@~0.5.10, source-map-support@~0.5.12, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -19317,17 +22424,17 @@ source-map@0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" integrity sha1-dc449SvwczxafwwRjYEzSiu19BI= -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@0.7.3, source-map@~0.7.2: +source-map@0.7.3, source-map@^0.7.3, source-map@~0.7.2: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -source-map@0.8.0-beta.0: +source-map@0.8.0-beta.0, source-map@^0.8.0-beta.0: version "0.8.0-beta.0" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== @@ -19339,7 +22446,7 @@ source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8: +sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== @@ -19378,6 +22485,29 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + 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" @@ -19441,6 +22571,13 @@ stack-utils@^1.0.2: dependencies: escape-string-regexp "^2.0.0" +stack-utils@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + stackframe@^1.1.1: version "1.2.1" resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.1.tgz#1033a3473ee67f08e2f2fc8eba6aef4f845124e1" @@ -19515,7 +22652,7 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= @@ -19629,6 +22766,27 @@ string-hash@1.1.3, string-hash@^1.1.1, string-hash@^1.1.3: resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-length@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-5.0.1.tgz#3d647f497b6e8e8d41e422f7e0b23bc536c8381e" + integrity sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow== + dependencies: + char-regex "^2.0.0" + strip-ansi "^7.0.1" + +string-natural-compare@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" + integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== + string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -19638,14 +22796,6 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - "string-width@^1.0.2 || 2 || 3 || 4", 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" @@ -19655,6 +22805,14 @@ string-width@^1.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -19740,7 +22898,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-object@^3.2.2: +stringify-object@^3.2.2, stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== @@ -19777,7 +22935,7 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^7.0.1: +strip-ansi@^7.0.0, strip-ansi@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== @@ -19803,6 +22961,16 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-comments@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b" + integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -19832,21 +23000,26 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@2.0.1, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + style-inject@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== +style-loader@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" + integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== + styled-components@^5.3.3: version "5.3.3" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.3.tgz#312a3d9a549f4708f0fb0edc829eb34bde032743" @@ -19912,10 +23085,10 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -stylehacks@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.3.tgz#2ef3de567bfa2be716d29a93bf3d208c133e8d04" - integrity sha512-ENcUdpf4yO0E1rubu8rkxI+JGQk4CgjchynZ4bDBJDfqdy+uhTRSWb8/F3Jtu+Bw5MW45Po3/aQGeIyyxgQtxg== +stylehacks@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.0.tgz#a40066490ca0caca04e96c6b02153ddc39913520" + integrity sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q== dependencies: browserslist "^4.16.6" postcss-selector-parser "^6.0.4" @@ -19970,13 +23143,6 @@ supports-color@5.4.0: dependencies: has-flag "^3.0.0" -supports-color@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" - integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== - dependencies: - has-flag "^3.0.0" - supports-color@8.1.1, supports-color@^8.0.0: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" @@ -20010,7 +23176,7 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -supports-color@^7.1.0: +supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== @@ -20022,11 +23188,24 @@ supports-color@^9.2.1: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891" integrity sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ== +supports-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +svg-parser@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + svgo@^0.7.0: version "0.7.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" @@ -20040,7 +23219,7 @@ svgo@^0.7.0: sax "~1.2.1" whet.extend "~0.9.9" -svgo@^1.0.0, svgo@^1.3.2: +svgo@^1.0.0, svgo@^1.2.2, svgo@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== @@ -20099,7 +23278,7 @@ symbol-observable@^1.0.4, symbol-observable@^1.1.0, symbol-observable@^1.2.0: resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== -symbol-tree@^3.2.2: +symbol-tree@^3.2.2, symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== @@ -20120,7 +23299,7 @@ table@^6.0.9: string-width "^4.2.3" strip-ansi "^6.0.1" -tailwindcss@^3.0.23: +tailwindcss@^3.0.2, tailwindcss@^3.0.23: version "3.0.23" resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.23.tgz#c620521d53a289650872a66adfcb4129d2200d10" integrity sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA== @@ -20152,7 +23331,7 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tapable@^2.2.0: +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== @@ -20212,6 +23391,21 @@ tar@^4.0.2: safe-buffer "^5.2.1" yallist "^3.1.1" +temp-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" + integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== + +tempy@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.6.0.tgz#65e2c35abc06f1124a97f387b08303442bde59f3" + integrity sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw== + dependencies: + is-stream "^2.0.0" + temp-dir "^2.0.0" + type-fest "^0.16.0" + unique-string "^2.0.0" + term-size@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" @@ -20224,6 +23418,14 @@ term-size@^2.1.0: resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + terser-webpack-plugin@^1.4.3: version "1.4.5" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" @@ -20239,6 +23441,17 @@ terser-webpack-plugin@^1.4.3: webpack-sources "^1.4.0" worker-farm "^1.7.0" +terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.5: + version "5.3.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54" + integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g== + dependencies: + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + terser "^5.7.2" + terser@^3.14.1, terser@^3.7.3, terser@^3.8.2: version "3.17.0" resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" @@ -20257,16 +23470,25 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.2.0, terser@^5.6.1: - version "5.11.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.11.0.tgz#2da5506c02e12cd8799947f30ce9c5b760be000f" - integrity sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A== +terser@^5.0.0, terser@^5.10.0, terser@^5.2.0, terser@^5.6.1, terser@^5.7.2: + version "5.12.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.0.tgz#728c6bff05f7d1dcb687d8eace0644802a9dae8a" + integrity sha512-R3AUhNBGWiFc77HXag+1fXpAxTAFRQTJemlJKjAgD9r8xXTpjNKqIXwHM/o7Rh+O0kUJtS3WQVdBeMKFk5sw9A== dependencies: acorn "^8.5.0" commander "^2.20.0" source-map "~0.7.2" source-map-support "~0.5.20" +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + test-value@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz#11da6ff670f3471a73b625ca4f3fdcf7bb748291" @@ -20300,6 +23522,11 @@ theming@^3.3.0: react-display-name "^0.2.4" tiny-warning "^1.0.2" +throat@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" + integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== + throttle-debounce@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" @@ -20318,6 +23545,11 @@ through@^2.3.8, through@~2.3.4, through@~2.3.8: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + time-zone@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" @@ -20380,6 +23612,11 @@ tmp@0.1.0: dependencies: rimraf "^2.6.3" +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" @@ -20470,6 +23707,15 @@ tough-cookie@^2.3.3, tough-cookie@^2.5.0, tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + tr46@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" @@ -20477,10 +23723,12 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" trim-newlines@^2.0.0: version "2.0.0" @@ -20514,6 +23762,11 @@ trouter@^3.2.0: resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-2.2.1.tgz#c5bf04a5bbec3fd118be4084461b3a27c4d796bf" integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + ts-easing@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/ts-easing/-/ts-easing-0.2.0.tgz#c8a8a35025105566588d87dbda05dd7fbfa5a4ec" @@ -20556,9 +23809,9 @@ ts-loader@^5.3.3: semver "^5.0.1" ts-node@^10.5.0: - version "10.5.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.5.0.tgz#618bef5854c1fbbedf5e31465cbb224a1d524ef9" - integrity sha512-6kEJKwVxAJ35W4akuiysfKwKmjkbYxwQMTBaAxo9KKAx/Yd26mPUyhGz3ji+EsJoAgrLqVsYHNuuYwQe22lbtw== + version "10.7.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" + integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== dependencies: "@cspotcode/source-map-support" "0.7.0" "@tsconfig/node10" "^1.0.7" @@ -20586,9 +23839,9 @@ ts-node@^8.1.0: yn "3.1.1" tsconfig-paths@^3.12.0, tsconfig-paths@^3.9.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" - integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== + version "3.13.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.13.0.tgz#f3e9b8f6876698581d94470c03c95b3a48c0e3d7" + integrity sha512-nWuffZppoaYK0vQ1SQmkSsQzJoHA4s6uzdb2waRpD806x9yfq153AdVsWz4je2qZcW+pENrMQXbGQ3sMCkXuhw== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" @@ -20610,7 +23863,7 @@ tslib@^1.10.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1: +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== @@ -20703,83 +23956,83 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -turbo-darwin-64@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.1.4.tgz#cfe3970da9eb2c40e6d39aee06e2a124ef591d0c" - integrity sha512-X10dAxqCMXnDjyN4K5mSvhol42kfAcJhI9NS7neIMD25kLcULYFe96Qk1XWEBxgCEBAmkf7UrysYSP+dQMPlGw== +turbo-darwin-64@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.1.5.tgz#7800af2d0a20df5ff674a8a6fb96d32957d11f48" + integrity sha512-qdGMylQ408NmYhzuMmx+25W0iHFyFMRPO4579tDEv+WBiVDfAEYEzjajE4c+CQOLhd1aVEaPdSa+YhngQUgoDQ== -turbo-darwin-arm64@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.1.4.tgz#565413799f98ff7da170be13396975e834c7d570" - integrity sha512-sl5TiMLNqWKvKpQsh6lg2sUXRTVt5lfRqnStVw/E/5BTm/KIBZTNWHmx0hO8/LwDmXenVtpiW7h7BbWewfPqTQ== +turbo-darwin-arm64@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.1.5.tgz#d70a9b791c1d2a930f1ac49fdf4ab6728b19fa7b" + integrity sha512-mXU324d3vYzxRT9FSSkW9yG2BvFosd0f4DUvqy4qms8wzM6Yv9Aeo4zZTL86rF88UYGUkbiRaPQUeceb/QARVg== -turbo-freebsd-64@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo-freebsd-64/-/turbo-freebsd-64-1.1.4.tgz#ad11411522ea3ffc470a89e33a8e8dae41220dcf" - integrity sha512-EKrAzIyVgmeQf0NpAcxYrhFEiBTrjO163dpiiHxwRiRxTYtcWgY+RJiWVQyIeG0yPx1Z+aLXvmPqf6HvC0T3hg== +turbo-freebsd-64@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo-freebsd-64/-/turbo-freebsd-64-1.1.5.tgz#39808f38d6af1400dd3bad0531c18444d9df9eab" + integrity sha512-qjjPTnZKOxw2x1Ito3yZAYDcwsCEg/5kYJwbPVvDn1jyXoxr3pUxTHUohroxQ6EmyxQ28qL7QpCVWDoQpDwrOQ== -turbo-freebsd-arm64@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo-freebsd-arm64/-/turbo-freebsd-arm64-1.1.4.tgz#bf73cbb4d59244c6486dcf87a758842fed662284" - integrity sha512-Vz3NSbc909eZU1DaS54vL1Z022OCG9wnrK7cB2e2ynMMdeYrIxAWnQeGVrYewQHYhwcCs7/6TgZCfhZKnG2nxQ== +turbo-freebsd-arm64@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo-freebsd-arm64/-/turbo-freebsd-arm64-1.1.5.tgz#91b3b71b7a34d9845179cc8d6bdc5c28de252885" + integrity sha512-jYW+Th9Y6yEYevaFe7v3lFQoxyrpd8wX5KuuvqLazMRbNxvKgqTDmT7AbCOGJY5ejzqGnMlTGkQr8c3g3B8ndA== -turbo-linux-32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo-linux-32/-/turbo-linux-32-1.1.4.tgz#cc4e02a790a6703535f9fb8144d95d27a6e75437" - integrity sha512-sACZPPv0wDpoTu1qRuOP0CYZS6HY8naySg9fTBP4kcRF5dLC4xPQZA46g8AUMkRFoBsyqA08t2whwV8gvYFoUg== +turbo-linux-32@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo-linux-32/-/turbo-linux-32-1.1.5.tgz#9fc0970d2aa20871e9541f3d7d228c5c81b4b853" + integrity sha512-c5I8tdR1jD8L8pJWk+rlO734bpWI1gwGdvNOaA/IGZxzOfDSn4CGoUErnUPgOadT8azi7lT9UPQf/pLfEvjCOw== -turbo-linux-64@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.1.4.tgz#a64834b2abd0be4f4fb7ff0497445bcd005421b1" - integrity sha512-VTDSlTiF01P50JcyemWhGC1lx736gQMi3q6eLkGrt0t9HTtkl9FpQEypJDyRKZXTL+60ldriIwhivHmWm9cwQA== +turbo-linux-64@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.1.5.tgz#2bb481bf0634b4ad578752cfb6f81fbbc2794568" + integrity sha512-BZAxLfIkEtQa7u+VPYpdeVVJH6ab4WwXv4oCrUDaZf2BseDUxr57y2ASAWNFsg40T3oXXt4Kcbdc5LibjWQdtQ== -turbo-linux-arm64@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.1.4.tgz#cc1c35896de9a55f67d473165a49d916072d7437" - integrity sha512-rMSjwzWg9W8J/JwIBtp0+e8O8MP6Z5U4htMgk88zalhSYhAxGIhOCIQT8KsaKoc71Ee/wG1soeprZvqBf/B84Q== +turbo-linux-arm64@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.1.5.tgz#bb4ad4ba101d72363d6b191c8a6f4de84631aeea" + integrity sha512-8/yz5L0B6Jb0pNcvx/08LcPswizqggxQ0zlFEw+Oh9RAC+ZM5+X2YiMyKolvLCpkoRqrlKku0lmXH7mx6DWbig== -turbo-linux-arm@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo-linux-arm/-/turbo-linux-arm-1.1.4.tgz#7c4310dfc7e8e1e42a766f57969e972a23c4c70b" - integrity sha512-XDVX6rzRr7AgqQvA4VwPVAHWxxWFI8SgEsNtbXD4sKiEFo9fTWqMvtRJqhx86Z/XHtCJF8VuU3yPS5puItdc9A== +turbo-linux-arm@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo-linux-arm/-/turbo-linux-arm-1.1.5.tgz#ba321a3b6086a0e633cff41c1a1312245240abe9" + integrity sha512-X6J05gQSWTc2c/TCkOQdFLhr35pUjEExY6K8yanYs2QKgd4GvDHmxYaBZ+6f90qcIUHYpe++adDPJcuAUv+8ug== -turbo-linux-mips64le@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo-linux-mips64le/-/turbo-linux-mips64le-1.1.4.tgz#33ce619f2ed6259594a521bf4495f51f0ee8171b" - integrity sha512-2VK+R9eUQU1xPJ+tGOsALQ6hsc8W7h9ohIumBYYs++SDazwaMQB7lsusXDasf6smEzD02KyUJuj0OvwzJjqq7Q== +turbo-linux-mips64le@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo-linux-mips64le/-/turbo-linux-mips64le-1.1.5.tgz#70f544e38317a536170636dfef1f68e9ebae7746" + integrity sha512-K26bEFcLDGPkcaW7Eq4CMSxUbJf/x58aE92+0tONhrxXzamaBqTrSxPYlk/T8OoH7HxOvja2ctkpeI/NRAoIyw== -turbo-linux-ppc64le@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo-linux-ppc64le/-/turbo-linux-ppc64le-1.1.4.tgz#fa9e9b5fa5efd2cad7d076ef9060af874019b994" - integrity sha512-Ja9eiRxjioO1PV+TxRmTzsNvGGUQDdJnTLsG1YkKldkplecQdUfJRFdWksEZ7dZ+Hv44g4zvskJgUuCYlGckyA== +turbo-linux-ppc64le@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo-linux-ppc64le/-/turbo-linux-ppc64le-1.1.5.tgz#2a6c8bda8a61d1c09a7bb95942a285c4f6cf9cba" + integrity sha512-fr1/5yf8fe1BJiW/6Y9lmV+kxZZC3u3xvSBC5AXDSl9u3aJFZl96CRE9tOJbTZMaOVGxhplKD+EiHbjIxUnTrA== -turbo-windows-32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo-windows-32/-/turbo-windows-32-1.1.4.tgz#e0762183582e01a21384023199e6b9fb2a883b84" - integrity sha512-c8l91hmpsFcmZQJBsDlhLAxfaBl83DXSmDOQoE7YT60vOZZSkfPlNSsHm9tq+4WN54unFfqpNbO7r6z+6R7rfw== +turbo-windows-32@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo-windows-32/-/turbo-windows-32-1.1.5.tgz#3606e5b860e8d6c33f7dc6fa12ed7414d4862f20" + integrity sha512-K9LdIgQXJ7jL0aLJS0l2asJAH/vYBFP7qFzODiAcJ1EeKBjYqAVnIxFQrUN07lzNDtL9WK/aN5q0bJCDnhwTQw== -turbo-windows-64@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.1.4.tgz#a11e1cc8fc9867066f2863da506179373b39e6bd" - integrity sha512-DMitFYd5eIhZ2CyPUeds3JXDB/onXBdA2DEj9cxVXY7q2ZBE4rpoV0Ft/mh15LsQZhwap9ipgddbCn16OGFvzw== +turbo-windows-64@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.1.5.tgz#aeeef0d598b8d1c17170a676a29b2ff0839d0069" + integrity sha512-c2Jkmw8yGZVz4opzEvB5HAf9XkA8CZBnorie46s44ec0FaNbcP9SCuUNvgAHxqDIHTGWC4A5PoPn0owkD3ss6A== turbo@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.1.4.tgz#c42db7d5b5eaad5714bff7c5babf11ba97a17244" - integrity sha512-kz08AV61hJeY9xuL4yQ27G2qks5LMAdvbd36GpcKvrh4Za+m0t+r2ijMjDvATp8uj4i6IlSV0t/G0/OMwkm6HA== + version "1.1.5" + resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.1.5.tgz#2ca8a1bcfd9de4c59feaff022672ffd2c4fbc4b4" + integrity sha512-jXW8G4lr01/E/jS/66LYpEjwWFQAksC8TxR8gi3VGea7OeNj28l8zmXoY3IgT5H22MBnhmtOKV/GhsbPjI2Jrg== optionalDependencies: - turbo-darwin-64 "1.1.4" - turbo-darwin-arm64 "1.1.4" - turbo-freebsd-64 "1.1.4" - turbo-freebsd-arm64 "1.1.4" - turbo-linux-32 "1.1.4" - turbo-linux-64 "1.1.4" - turbo-linux-arm "1.1.4" - turbo-linux-arm64 "1.1.4" - turbo-linux-mips64le "1.1.4" - turbo-linux-ppc64le "1.1.4" - turbo-windows-32 "1.1.4" - turbo-windows-64 "1.1.4" + turbo-darwin-64 "1.1.5" + turbo-darwin-arm64 "1.1.5" + turbo-freebsd-64 "1.1.5" + turbo-freebsd-arm64 "1.1.5" + turbo-linux-32 "1.1.5" + turbo-linux-64 "1.1.5" + turbo-linux-arm "1.1.5" + turbo-linux-arm64 "1.1.5" + turbo-linux-mips64le "1.1.5" + turbo-linux-ppc64le "1.1.5" + turbo-windows-32 "1.1.5" + turbo-windows-64 "1.1.5" turborepo@^0.0.1: version "0.0.1" @@ -20833,7 +24086,7 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-detect@^4.0.0, type-detect@^4.0.5: +type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== @@ -20843,6 +24096,11 @@ type-fest@^0.13.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +type-fest@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" + integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== + type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" @@ -20926,21 +24184,21 @@ typescript@4.5.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== -typescript@4.5.5, typescript@>=2.8.3, typescript@>=3.0.0: +typescript@4.5.5: version "4.5.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== +typescript@>=2.8.3, typescript@>=3.0.0, typescript@^4.5.4, typescript@^4.5.5, typescript@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" + integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== + typescript@^3.1.3, typescript@^3.4.5: version "3.9.10" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== -typescript@^4.5.5: - version "4.6.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" - integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== - typewise-core@^1.2, typewise-core@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/typewise-core/-/typewise-core-1.2.0.tgz#97eb91805c7f55d2f941748fa50d315d991ef195" @@ -21087,6 +24345,13 @@ unique-string@^1.0.0: dependencies: crypto-random-string "^1.0.0" +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + unique-temp-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385" @@ -21096,7 +24361,7 @@ unique-temp-dir@^1.0.0: os-tmpdir "^1.0.1" uid2 "0.0.3" -universalify@^0.1.0: +universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== @@ -21142,7 +24407,7 @@ unzip-response@^2.0.1: resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= -upath@^1.1.1: +upath@^1.1.1, upath@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== @@ -21305,6 +24570,11 @@ util@^0.11.0: dependencies: inherits "2.0.3" +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + utility-types@^3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.10.0.tgz#ea4148f9a741015f05ed74fd615e1d20e6bed82b" @@ -21340,6 +24610,15 @@ v8-compile-cache@^2.0.0, v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== +v8-to-istanbul@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" + integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + v8flags@^3.1.1: version "3.2.0" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" @@ -21384,6 +24663,18 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +vite@^2.8.0: + version "2.8.6" + resolved "https://registry.yarnpkg.com/vite/-/vite-2.8.6.tgz#32d50e23c99ca31b26b8ccdc78b1d72d4d7323d3" + integrity sha512-e4H0QpludOVKkmOsRyqQ7LTcMUDF3mcgyNU4lmi0B5JUbe0ZxeBBl8VoZ8Y6Rfn9eFKYtdXNPcYK97ZwH+K2ug== + dependencies: + esbuild "^0.14.14" + postcss "^8.4.6" + resolve "^1.22.0" + rollup "^2.59.0" + optionalDependencies: + fsevents "~2.3.2" + vlq@^0.2.1, vlq@^0.2.2: version "0.2.3" resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" @@ -21394,7 +24685,7 @@ vm-browserify@1.1.2, vm-browserify@^1.0.1: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -w3c-hr-time@^1.0.1: +w3c-hr-time@^1.0.1, w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== @@ -21410,6 +24701,20 @@ w3c-xmlserializer@^1.1.2: webidl-conversions "^4.0.2" xml-name-validator "^3.0.0" +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + watchpack-chokidar2@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" @@ -21444,6 +24749,21 @@ watchpack@^1.7.4: chokidar "^3.4.1" watchpack-chokidar2 "^2.0.1" +watchpack@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" + integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" @@ -21456,6 +24776,11 @@ weak-lru-cache@^1.2.2: resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz#fdbb6741f36bae9540d12f480ce8254060dccd19" integrity sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw== +web-vitals@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-2.1.4.tgz#76563175a475a5e835264d373704f9dde718290c" + integrity sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg== + web3-bzz@1.2.11: version "1.2.11" resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.11.tgz#41bc19a77444bd5365744596d778b811880f707f" @@ -21466,10 +24791,10 @@ web3-bzz@1.2.11: swarm-js "^0.1.40" underscore "1.9.1" -web3-bzz@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.7.0.tgz#0b754d787a1700f0580fa741fc707d19d1447ff4" - integrity sha512-XPhTWUnZa8gnARfiqaag3jJ9+6+a66Li8OikgBUJoMUqPuQTCJPncTbGYqOJIfRFGavEAdlMnfYXx9lvgv2ZPw== +web3-bzz@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.7.1.tgz#ea1e7d27050eca089bc5d71b7f7688d20b68a25d" + integrity sha512-sVeUSINx4a4pfdnT+3ahdRdpDPvZDf4ZT/eBF5XtqGWq1mhGTl8XaQAk15zafKVm6Onq28vN8abgB/l+TrG8kA== dependencies: "@types/node" "^12.12.6" got "9.6.0" @@ -21484,13 +24809,13 @@ web3-core-helpers@1.2.11: web3-eth-iban "1.2.11" web3-utils "1.2.11" -web3-core-helpers@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.7.0.tgz#0eaef7bc55ff7ec5ba726181d0e8529be5d60903" - integrity sha512-kFiqsZFHJliKF8VKZNjt2JvKu3gu7h3N1/ke3EPhdp9Li/rLmiyzFVr6ApryZ1FSjbSx6vyOkibG3m6xQ5EHJA== +web3-core-helpers@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.7.1.tgz#6dc34eff6ad31149db6c7cc2babbf574a09970cd" + integrity sha512-xn7Sx+s4CyukOJdlW8bBBDnUCWndr+OCJAlUe/dN2wXiyaGRiCWRhuQZrFjbxLeBt1fYFH7uWyYHhYU6muOHgw== dependencies: - web3-eth-iban "1.7.0" - web3-utils "1.7.0" + web3-eth-iban "1.7.1" + web3-utils "1.7.1" web3-core-method@1.2.11: version "1.2.11" @@ -21504,16 +24829,16 @@ web3-core-method@1.2.11: web3-core-subscriptions "1.2.11" web3-utils "1.2.11" -web3-core-method@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.7.0.tgz#5e98030ac9e0d96c6ff1ba93fde1292a332b1b81" - integrity sha512-43Om+kZX8wU5u1pJ28TltF9e9pSTRph6b8wrOb6wgXAfPHqMulq6UTBJWjXXIRVN46Eiqv0nflw35hp9bbgnbA== +web3-core-method@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.7.1.tgz#912c87d0f107d3f823932cf8a716852e3250e557" + integrity sha512-383wu5FMcEphBFl5jCjk502JnEg3ugHj7MQrsX7DY76pg5N5/dEzxeEMIJFCN6kr5Iq32NINOG3VuJIyjxpsEg== dependencies: "@ethersproject/transactions" "^5.0.0-beta.135" - web3-core-helpers "1.7.0" - web3-core-promievent "1.7.0" - web3-core-subscriptions "1.7.0" - web3-utils "1.7.0" + web3-core-helpers "1.7.1" + web3-core-promievent "1.7.1" + web3-core-subscriptions "1.7.1" + web3-utils "1.7.1" web3-core-promievent@1.2.11: version "1.2.11" @@ -21522,10 +24847,10 @@ web3-core-promievent@1.2.11: dependencies: eventemitter3 "4.0.4" -web3-core-promievent@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.7.0.tgz#e2c6c38f29b912cc549a2a3f806636a3393983eb" - integrity sha512-xPH66XeC0K0k29GoRd0vyPQ07yxERPRd4yVPrbMzGAz/e9E4M3XN//XK6+PdfGvGw3fx8VojS+tNIMiw+PujbQ== +web3-core-promievent@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.7.1.tgz#7f78ec100a696954d0c882dac619fec28b2efc96" + integrity sha512-Vd+CVnpPejrnevIdxhCkzMEywqgVbhHk/AmXXceYpmwA6sX41c5a65TqXv1i3FWRJAz/dW7oKz9NAzRIBAO/kA== dependencies: eventemitter3 "4.0.4" @@ -21540,16 +24865,16 @@ web3-core-requestmanager@1.2.11: web3-providers-ipc "1.2.11" web3-providers-ws "1.2.11" -web3-core-requestmanager@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.7.0.tgz#5b62b413471d6d2a789ee33d587d280178979c7e" - integrity sha512-rA3dBTBPrt+eIfTAQ2/oYNTN/2wbZaYNR3pFZGqG8+2oCK03+7oQyz4sWISKy/nYQhURh4GK01rs9sN4o/Tq9w== +web3-core-requestmanager@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.7.1.tgz#5cd7507276ca449538fe11cb4f363de8507502e5" + integrity sha512-/EHVTiMShpZKiq0Jka0Vgguxi3vxq1DAHKxg42miqHdUsz4/cDWay2wGALDR2x3ofDB9kqp7pb66HsvQImQeag== dependencies: util "^0.12.0" - web3-core-helpers "1.7.0" - web3-providers-http "1.7.0" - web3-providers-ipc "1.7.0" - web3-providers-ws "1.7.0" + web3-core-helpers "1.7.1" + web3-providers-http "1.7.1" + web3-providers-ipc "1.7.1" + web3-providers-ws "1.7.1" web3-core-subscriptions@1.2.11: version "1.2.11" @@ -21560,13 +24885,13 @@ web3-core-subscriptions@1.2.11: underscore "1.9.1" web3-core-helpers "1.2.11" -web3-core-subscriptions@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.7.0.tgz#30475d8ed5f51a170e5df02085f721925622a795" - integrity sha512-6giF8pyJrPmWrRpc2WLoVCvQdMMADp20ZpAusEW72axauZCNlW1XfTjs0i4QHQBfdd2lFp65qad9IuATPhuzrQ== +web3-core-subscriptions@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.7.1.tgz#f7c834ee3544f4a5641a989304f61fde6a523e0b" + integrity sha512-NZBsvSe4J+Wt16xCf4KEtBbxA9TOwSVr8KWfUQ0tC2KMdDYdzNswl0Q9P58xaVuNlJ3/BH+uDFZJJ5E61BSA1Q== dependencies: eventemitter3 "4.0.4" - web3-core-helpers "1.7.0" + web3-core-helpers "1.7.1" web3-core@1.2.11: version "1.2.11" @@ -21581,18 +24906,18 @@ web3-core@1.2.11: web3-core-requestmanager "1.2.11" web3-utils "1.2.11" -web3-core@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.7.0.tgz#67b7839130abd19476e7f614ea6ec4c64d08eb00" - integrity sha512-U/CRL53h3T5KHl8L3njzCBT7fCaHkbE6BGJe3McazvFldRbfTDEHXkUJCyM30ZD0RoLi3aDfTVeFIusmEyCctA== +web3-core@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.7.1.tgz#ef9b7f03909387b9ab783f34cdc5ebcb50248368" + integrity sha512-HOyDPj+4cNyeNPwgSeUkhtS0F+Pxc2obcm4oRYPW5ku6jnTO34pjaij0us+zoY3QEusR8FfAKVK1kFPZnS7Dzw== dependencies: "@types/bn.js" "^4.11.5" "@types/node" "^12.12.6" bignumber.js "^9.0.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-core-requestmanager "1.7.0" - web3-utils "1.7.0" + web3-core-helpers "1.7.1" + web3-core-method "1.7.1" + web3-core-requestmanager "1.7.1" + web3-utils "1.7.1" web3-eth-abi@1.2.11: version "1.2.11" @@ -21603,13 +24928,13 @@ web3-eth-abi@1.2.11: underscore "1.9.1" web3-utils "1.2.11" -web3-eth-abi@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz#4fac9c7d9e5a62b57f8884b37371f515c766f3f4" - integrity sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg== +web3-eth-abi@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.7.1.tgz#6632003220a4defee4de8215dc703e43147382ea" + integrity sha512-8BVBOoFX1oheXk+t+uERBibDaVZ5dxdcefpbFTWcBs7cdm0tP8CD1ZTCLi5Xo+1bolVHNH2dMSf/nEAssq5pUA== dependencies: "@ethersproject/abi" "5.0.7" - web3-utils "1.7.0" + web3-utils "1.7.1" web3-eth-accounts@1.2.11: version "1.2.11" @@ -21628,10 +24953,10 @@ web3-eth-accounts@1.2.11: web3-core-method "1.2.11" web3-utils "1.2.11" -web3-eth-accounts@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.7.0.tgz#d0a6f2cfbd61dd6014224056070b7f8d1d63c0ab" - integrity sha512-Zwm7TlQXdXGRuS6+ib1YsR5fQwpfnFyL6UAZg1zERdrUrs3IkCZSL3yCP/8ZYbAjdTEwWljoott2iSqXNH09ug== +web3-eth-accounts@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.7.1.tgz#f938060d08f4b641bebe743809b0018fd4e4ba51" + integrity sha512-3xGQ2bkTQc7LFoqGWxp5cQDrKndlX05s7m0rAFVoyZZODMqrdSGjMPMqmWqHzJRUswNEMc+oelqSnGBubqhguQ== dependencies: "@ethereumjs/common" "^2.5.0" "@ethereumjs/tx" "^3.3.2" @@ -21640,10 +24965,10 @@ web3-eth-accounts@1.7.0: ethereumjs-util "^7.0.10" scrypt-js "^3.0.1" uuid "3.3.2" - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-utils "1.7.0" + web3-core "1.7.1" + web3-core-helpers "1.7.1" + web3-core-method "1.7.1" + web3-utils "1.7.1" web3-eth-contract@1.2.11: version "1.2.11" @@ -21660,19 +24985,19 @@ web3-eth-contract@1.2.11: web3-eth-abi "1.2.11" web3-utils "1.2.11" -web3-eth-contract@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.7.0.tgz#3795767a65d7b87bd22baea3e18aafdd928d5313" - integrity sha512-2LY1Xwxu5rx468nqHuhvupQAIpytxIUj3mGL9uexszkhrQf05THVe3i4OnUCzkeN6B2cDztNOqLT3j9SSnVQDg== +web3-eth-contract@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.7.1.tgz#3f5147e5f1441ae388c985ba95023d02503378ae" + integrity sha512-HpnbkPYkVK3lOyos2SaUjCleKfbF0SP3yjw7l551rAAi5sIz/vwlEzdPWd0IHL7ouxXbO0tDn7jzWBRcD3sTbA== dependencies: "@types/bn.js" "^4.11.5" - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-core-promievent "1.7.0" - web3-core-subscriptions "1.7.0" - web3-eth-abi "1.7.0" - web3-utils "1.7.0" + web3-core "1.7.1" + web3-core-helpers "1.7.1" + web3-core-method "1.7.1" + web3-core-promievent "1.7.1" + web3-core-subscriptions "1.7.1" + web3-eth-abi "1.7.1" + web3-utils "1.7.1" web3-eth-ens@1.2.11: version "1.2.11" @@ -21689,19 +25014,19 @@ web3-eth-ens@1.2.11: web3-eth-contract "1.2.11" web3-utils "1.2.11" -web3-eth-ens@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.7.0.tgz#49c5300935b026578aaaf9664e5e5529d4c76a68" - integrity sha512-I1bikYJJWQ/FJZIAvwsGOvzAgcRIkosWG4s1L6veRoXaU8OEJFeh4s00KcfHDxg7GWZZGbUSbdbzKpwRbWnvkg== +web3-eth-ens@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.7.1.tgz#18ddb22e14e50108f9515c9d17f14560d69ff397" + integrity sha512-DVCF76i9wM93DrPQwLrYiCw/UzxFuofBsuxTVugrnbm0SzucajLLNftp3ITK0c4/lV3x9oo5ER/wD6RRMHQnvw== dependencies: content-hash "^2.5.2" eth-ens-namehash "2.0.8" - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-promievent "1.7.0" - web3-eth-abi "1.7.0" - web3-eth-contract "1.7.0" - web3-utils "1.7.0" + web3-core "1.7.1" + web3-core-helpers "1.7.1" + web3-core-promievent "1.7.1" + web3-eth-abi "1.7.1" + web3-eth-contract "1.7.1" + web3-utils "1.7.1" web3-eth-iban@1.2.11: version "1.2.11" @@ -21711,13 +25036,13 @@ web3-eth-iban@1.2.11: bn.js "^4.11.9" web3-utils "1.2.11" -web3-eth-iban@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.7.0.tgz#b56cd58587457d3339730e0cb42772a37141b434" - integrity sha512-1PFE/Og+sPZaug+M9TqVUtjOtq0HecE+SjDcsOOysXSzslNC2CItBGkcRwbvUcS+LbIkA7MFsuqYxOL0IV/gyA== +web3-eth-iban@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.7.1.tgz#2148dff256392491df36b175e393b03c6874cd31" + integrity sha512-XG4I3QXuKB/udRwZdNEhdYdGKjkhfb/uH477oFVMLBqNimU/Cw8yXUI5qwFKvBHM+hMQWfzPDuSDEDKC2uuiMg== dependencies: bn.js "^4.11.9" - web3-utils "1.7.0" + web3-utils "1.7.1" web3-eth-personal@1.2.11: version "1.2.11" @@ -21731,17 +25056,17 @@ web3-eth-personal@1.2.11: web3-net "1.2.11" web3-utils "1.2.11" -web3-eth-personal@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.7.0.tgz#260c9b6af6e0bea772c6a9a5d58c8d62c035ed99" - integrity sha512-Dr9RZTNOR80PhrPKGdktDUXpOgExEcCcosBj080lKCJFU1paSPj9Zfnth3u6BtIOXyKsVFTrpqekqUDyAwXnNw== +web3-eth-personal@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.7.1.tgz#38635f94223f951422105e5fcb7f7ba767a3ee9f" + integrity sha512-02H6nFBNfNmFjMGZL6xcDi0r7tUhxrUP91FTFdoLyR94eIJDadPp4rpXfG7MVES873i1PReh4ep5pSCHbc3+Pg== dependencies: "@types/node" "^12.12.6" - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-net "1.7.0" - web3-utils "1.7.0" + web3-core "1.7.1" + web3-core-helpers "1.7.1" + web3-core-method "1.7.1" + web3-net "1.7.1" + web3-utils "1.7.1" web3-eth@1.2.11: version "1.2.11" @@ -21762,23 +25087,23 @@ web3-eth@1.2.11: web3-net "1.2.11" web3-utils "1.2.11" -web3-eth@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.7.0.tgz#4adbed9b28ab7f81cb11e3586a12d01ab6e812aa" - integrity sha512-3uYwjMjn/MZjKIzXCt4YL9ja/k9X5shfa4lKparZhZE6uesmu+xmSmrEFXA/e9qcveF50jkV7frjkT8H+cLYtw== - dependencies: - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-core-subscriptions "1.7.0" - web3-eth-abi "1.7.0" - web3-eth-accounts "1.7.0" - web3-eth-contract "1.7.0" - web3-eth-ens "1.7.0" - web3-eth-iban "1.7.0" - web3-eth-personal "1.7.0" - web3-net "1.7.0" - web3-utils "1.7.0" +web3-eth@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.7.1.tgz#721599865f675b43877f5a18babfb7ae087449f7" + integrity sha512-Uz3gO4CjTJ+hMyJZAd2eiv2Ur1uurpN7sTMATWKXYR/SgG+SZgncnk/9d8t23hyu4lyi2GiVL1AqVqptpRElxg== + dependencies: + web3-core "1.7.1" + web3-core-helpers "1.7.1" + web3-core-method "1.7.1" + web3-core-subscriptions "1.7.1" + web3-eth-abi "1.7.1" + web3-eth-accounts "1.7.1" + web3-eth-contract "1.7.1" + web3-eth-ens "1.7.1" + web3-eth-iban "1.7.1" + web3-eth-personal "1.7.1" + web3-net "1.7.1" + web3-utils "1.7.1" web3-net@1.2.11: version "1.2.11" @@ -21789,14 +25114,14 @@ web3-net@1.2.11: web3-core-method "1.2.11" web3-utils "1.2.11" -web3-net@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.7.0.tgz#694a0c7988f7efc336bab0ee413eb4522efee3b2" - integrity sha512-8pmfU1Se7DmG40Pu8nOCKlhuI12VsVzCtdFDnLAai0zGVAOUuuOCK71B2aKm6u9amWBJjtOlyrCwvsG+QEd6dw== +web3-net@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.7.1.tgz#c75ff7ccabb949cf15e9098505516eb1ed8e37de" + integrity sha512-8yPNp2gvjInWnU7DCoj4pIPNhxzUjrxKlODsyyXF8j0q3Z2VZuQp+c63gL++r2Prg4fS8t141/HcJw4aMu5sVA== dependencies: - web3-core "1.7.0" - web3-core-method "1.7.0" - web3-utils "1.7.0" + web3-core "1.7.1" + web3-core-method "1.7.1" + web3-utils "1.7.1" web3-provider-engine@14.2.1: version "14.2.1" @@ -21860,12 +25185,12 @@ web3-providers-http@1.2.11: web3-core-helpers "1.2.11" xhr2-cookies "1.1.0" -web3-providers-http@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.7.0.tgz#0661261eace122a0ed5853f8be5379d575a9130c" - integrity sha512-Y9reeEiApfvQKLUUtrU4Z0c+H6b7BMWcsxjgoXndI1C5NB297mIUfltXxfXsh5C/jk5qn4Q3sJp3SwQTyVjH7Q== +web3-providers-http@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.7.1.tgz#3e00e013f013766aade28da29247daa1a937e759" + integrity sha512-dmiO6G4dgAa3yv+2VD5TduKNckgfR97VI9YKXVleWdcpBoKXe2jofhdvtafd42fpIoaKiYsErxQNcOC5gI/7Vg== dependencies: - web3-core-helpers "1.7.0" + web3-core-helpers "1.7.1" xhr2-cookies "1.1.0" web3-providers-ipc@1.2.11: @@ -21877,13 +25202,13 @@ web3-providers-ipc@1.2.11: underscore "1.9.1" web3-core-helpers "1.2.11" -web3-providers-ipc@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.7.0.tgz#152dc1231eb4f17426498d4d5d973c865eab03d9" - integrity sha512-U5YLXgu6fvAK4nnMYqo9eoml3WywgTym0dgCdVX/n1UegLIQ4nctTubBAuWQEJzmAzwh+a6ValGcE7ZApTRI7Q== +web3-providers-ipc@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.7.1.tgz#cde879a2ba57b1deac2e1030de90d185b793dd50" + integrity sha512-uNgLIFynwnd5M9ZC0lBvRQU5iLtU75hgaPpc7ZYYR+kjSk2jr2BkEAQhFVJ8dlqisrVmmqoAPXOEU0flYZZgNQ== dependencies: oboe "2.1.5" - web3-core-helpers "1.7.0" + web3-core-helpers "1.7.1" web3-providers-ws@1.2.11: version "1.2.11" @@ -21895,13 +25220,13 @@ web3-providers-ws@1.2.11: web3-core-helpers "1.2.11" websocket "^1.0.31" -web3-providers-ws@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.7.0.tgz#99c2de9f6b5ac56e926794ef9074c7442d937372" - integrity sha512-0a8+lVV3JBf+eYnGOsdzOpftK1kis5X7s35QAdoaG5SDapnEylXFlR4xDSSSU88ZwMwvse8hvng2xW6A7oeWxw== +web3-providers-ws@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.7.1.tgz#b6b3919ce155eff29b21bc3f205a098299a8c1b2" + integrity sha512-Uj0n5hdrh0ESkMnTQBsEUS2u6Unqdc7Pe4Zl+iZFb7Yn9cIGsPJBl7/YOP4137EtD5ueXAv+MKwzcelpVhFiFg== dependencies: eventemitter3 "4.0.4" - web3-core-helpers "1.7.0" + web3-core-helpers "1.7.1" websocket "^1.0.32" web3-shh@1.2.11: @@ -21914,15 +25239,15 @@ web3-shh@1.2.11: web3-core-subscriptions "1.2.11" web3-net "1.2.11" -web3-shh@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.7.0.tgz#ed9d085b670bb5a938f2847393478e33df3ec95c" - integrity sha512-RZhxcevALIPK178VZCpwMBvQeW+IoWtRJ4EMdegpbnETeZaC3aRUcs6vKnrf0jXJjm4J/E2Dt438Y1Ord/1IMw== +web3-shh@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.7.1.tgz#c6a0fc67321dd585085e3e3be8f2c1c8d61636ef" + integrity sha512-NO+jpEjo8kYX6c7GiaAm57Sx93PLYkWYUCWlZmUOW7URdUcux8VVluvTWklGPvdM9H1WfDrol91DjuSW+ykyqg== dependencies: - web3-core "1.7.0" - web3-core-method "1.7.0" - web3-core-subscriptions "1.7.0" - web3-net "1.7.0" + web3-core "1.7.1" + web3-core-method "1.7.1" + web3-core-subscriptions "1.7.1" + web3-net "1.7.1" web3-utils@1.2.11: version "1.2.11" @@ -21938,10 +25263,10 @@ web3-utils@1.2.11: underscore "1.9.1" utf8 "3.0.0" -web3-utils@1.7.0, web3-utils@^1.0.0-beta.31: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.0.tgz#c59f0fd43b2449357296eb54541810b99b1c771c" - integrity sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w== +web3-utils@1.7.1, web3-utils@^1.0.0-beta.31: + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.1.tgz#77d8bacaf426c66027d8aa4864d77f0ed211aacd" + integrity sha512-fef0EsqMGJUgiHPdX+KN9okVWshbIumyJPmR+btnD1HgvoXijKEkuKBv0OmUqjbeqmLKP2/N9EiXKJel5+E1Dw== dependencies: bn.js "^4.11.9" ethereum-bloom-filters "^1.0.6" @@ -21952,17 +25277,17 @@ web3-utils@1.7.0, web3-utils@^1.0.0-beta.31: utf8 "3.0.0" web3@*: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.7.0.tgz#5867cd10a2bebb5c33fc218368e3f6f826f6897e" - integrity sha512-n39O7QQNkpsjhiHMJ/6JY6TaLbdX+2FT5iGs8tb3HbIWOhPm4+a7UDbr5Lkm+gLa9aRKWesZs5D5hWyEvg4aJA== + version "1.7.1" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.7.1.tgz#4d01371a2c0c07dba089f8009dabd2b11821c5e8" + integrity sha512-RKVdyZ5FuVEykj62C1o2tc0teJciSOh61jpVB9yb344dBHO3ZV4XPPP24s/PPqIMXmVFN00g2GD9M/v1SoHO/A== dependencies: - web3-bzz "1.7.0" - web3-core "1.7.0" - web3-eth "1.7.0" - web3-eth-personal "1.7.0" - web3-net "1.7.0" - web3-shh "1.7.0" - web3-utils "1.7.0" + web3-bzz "1.7.1" + web3-core "1.7.1" + web3-eth "1.7.1" + web3-eth-personal "1.7.1" + web3-net "1.7.1" + web3-shh "1.7.1" + web3-utils "1.7.1" web3@1.2.11: version "1.2.11" @@ -21977,27 +25302,33 @@ web3@1.2.11: web3-shh "1.2.11" web3-utils "1.2.11" -webcrypto-core@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.4.0.tgz#9a395920792bcfa4605dc64aaf264156f79e873e" - integrity sha512-HY3Zo0GcRIQUUDnlZ/shGjN+4f7LVMkdJZoGPog+oHhJsJdMz6iM8Za5xZ0t6qg7Fx/JXXz+oBv2J2p982hGTQ== +webcrypto-core@^1.6.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.7.0.tgz#7c1a7e65253d874e081c6d5fbcc48f59bd840137" + integrity sha512-7d2yeX62KSjpy8wM6/aJsuKDQjYRlTobxFxh/UM9VPS5usePpsjy5j2Y9Mv0k7dSuUxMo0BaIVmnRRcindi2sA== dependencies: "@peculiar/asn1-schema" "^2.0.44" "@peculiar/json-schema" "^1.1.12" - asn1js "^2.1.1" - pvtsutils "^1.2.0" + "@typescript/lib-dom" "npm:@types/web" + asn1js "^2.2.0" + pvtsutils "^1.2.2" tslib "^2.3.1" -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + webpack-bundle-analyzer@4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.3.0.tgz#2f3c0ca9041d5ee47fa418693cf56b4a518b578b" @@ -22030,7 +25361,62 @@ webpack-cli@^3.2.1: v8-compile-cache "^2.1.1" yargs "^13.3.2" -webpack-sources@^1.4.0, webpack-sources@^1.4.1: +webpack-dev-middleware@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz#aa079a8dedd7e58bfeab358a9af7dab304cee57f" + integrity sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg== + dependencies: + colorette "^2.0.10" + memfs "^3.4.1" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.6.0: + version "4.7.4" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz#d0ef7da78224578384e795ac228d8efb63d5f945" + integrity sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.2.2" + ansi-html-community "^0.0.8" + bonjour "^3.5.0" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + default-gateway "^6.0.3" + del "^6.0.0" + express "^4.17.1" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.0" + ipaddr.js "^2.0.1" + open "^8.0.9" + p-retry "^4.5.0" + portfinder "^1.0.28" + schema-utils "^4.0.0" + selfsigned "^2.0.0" + serve-index "^1.9.1" + sockjs "^0.3.21" + spdy "^4.0.2" + strip-ansi "^7.0.0" + webpack-dev-middleware "^5.3.1" + ws "^8.4.2" + +webpack-manifest-plugin@^4.0.2: + version "4.1.1" + resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz#10f8dbf4714ff93a215d5a45bcc416d80506f94f" + integrity sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow== + dependencies: + tapable "^2.0.0" + webpack-sources "^2.2.0" + +webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== @@ -22038,6 +25424,19 @@ webpack-sources@^1.4.0, webpack-sources@^1.4.1: source-list-map "^2.0.0" source-map "~0.6.1" +webpack-sources@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.1.tgz#570de0af163949fe272233c2cefe1b56f74511fd" + integrity sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA== + dependencies: + source-list-map "^2.0.1" + source-map "^0.6.1" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + webpack@^4.44.2: version "4.46.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" @@ -22067,6 +25466,50 @@ webpack@^4.44.2: watchpack "^1.7.4" webpack-sources "^1.4.1" +webpack@^5.64.4: + version "5.70.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.70.0.tgz#3461e6287a72b5e6e2f4872700bc8de0d7500e6d" + integrity sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.9.2" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + websocket@1.0.32: version "1.0.32" resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.32.tgz#1f16ddab3a21a2d929dec1687ab21cfdc6d3dbb1" @@ -22108,7 +25551,7 @@ whatwg-fetch@2.0.4: resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== -whatwg-fetch@>=0.10.0: +whatwg-fetch@>=0.10.0, whatwg-fetch@^3.6.2: version "3.6.2" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== @@ -22118,14 +25561,6 @@ whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - whatwg-url@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" @@ -22135,6 +25570,15 @@ whatwg-url@^7.0.0: tr46 "^1.0.1" webidl-conversions "^4.0.2" +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + whet.extend@~0.9.9: version "0.9.9" resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" @@ -22186,13 +25630,6 @@ which-typed-array@^1.1.2: has-tostringtag "^1.0.0" is-typed-array "^1.1.7" -which@1.3.1, which@^1.2.10, which@^1.2.14, which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - which@2.0.2, which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -22200,12 +25637,12 @@ which@2.0.2, which@^2.0.1: dependencies: isexe "^2.0.0" -wide-align@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== +which@^1.2.10, which@^1.2.14, which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: - string-width "^1.0.2 || 2" + isexe "^2.0.0" wide-align@^1.1.0: version "1.1.5" @@ -22231,6 +25668,175 @@ word-wrap@^1.2.3, word-wrap@~1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +workbox-background-sync@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-6.5.1.tgz#df79c6a4a22945d8a44493a4947a6ed0f720ef86" + integrity sha512-T5a35fagLXQvV8Dr4+bDU+XYsP90jJ3eBLjZMKuCNELMQZNj+VekCODz1QK44jgoBeQk+vp94pkZV6G+e41pgg== + dependencies: + idb "^6.1.4" + workbox-core "6.5.1" + +workbox-broadcast-update@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-6.5.1.tgz#9aecb116979b0709480b84cfd1beca7a901d01d4" + integrity sha512-mb/oyblyEpDbw167cCTyHnC3RqCnCQHtFYuYZd+QTpuExxM60qZuBH1AuQCgvLtDcztBKdEYK2VFD9SZYgRbaQ== + dependencies: + workbox-core "6.5.1" + +workbox-build@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-6.5.1.tgz#6b5e8f090bb608267868540d3072b44b8531b3bc" + integrity sha512-coDUDzHvFZ1ADOl3wKCsCSyOBvkPKlPgcQDb6LMMShN1zgF31Mev/1HzN3+9T2cjjWAgFwZKkuRyExqc1v21Zw== + dependencies: + "@apideck/better-ajv-errors" "^0.3.1" + "@babel/core" "^7.11.1" + "@babel/preset-env" "^7.11.0" + "@babel/runtime" "^7.11.2" + "@rollup/plugin-babel" "^5.2.0" + "@rollup/plugin-node-resolve" "^11.2.1" + "@rollup/plugin-replace" "^2.4.1" + "@surma/rollup-plugin-off-main-thread" "^2.2.3" + ajv "^8.6.0" + common-tags "^1.8.0" + fast-json-stable-stringify "^2.1.0" + fs-extra "^9.0.1" + glob "^7.1.6" + lodash "^4.17.20" + pretty-bytes "^5.3.0" + rollup "^2.43.1" + rollup-plugin-terser "^7.0.0" + source-map "^0.8.0-beta.0" + stringify-object "^3.3.0" + strip-comments "^2.0.1" + tempy "^0.6.0" + upath "^1.2.0" + workbox-background-sync "6.5.1" + workbox-broadcast-update "6.5.1" + workbox-cacheable-response "6.5.1" + workbox-core "6.5.1" + workbox-expiration "6.5.1" + workbox-google-analytics "6.5.1" + workbox-navigation-preload "6.5.1" + workbox-precaching "6.5.1" + workbox-range-requests "6.5.1" + workbox-recipes "6.5.1" + workbox-routing "6.5.1" + workbox-strategies "6.5.1" + workbox-streams "6.5.1" + workbox-sw "6.5.1" + workbox-window "6.5.1" + +workbox-cacheable-response@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-6.5.1.tgz#f71d0a75b3d6846e39594955e99ac42fd26f8693" + integrity sha512-3TdtH/luDiytmM+Cn72HCBLZXmbeRNJqZx2yaVOfUZhj0IVwZqQXhNarlGE9/k6U5Jelb+TtpH2mLVhnzfiSMg== + dependencies: + workbox-core "6.5.1" + +workbox-core@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-6.5.1.tgz#0dba3bccf883a46dfa61cc412eaa3cb09bb549e6" + integrity sha512-qObXZ39aFJ2N8X7IUbGrJHKWguliCuU1jOXM/I4MTT84u9BiKD2rHMkIzgeRP1Ixu9+cXU4/XHJq3Cy0Qqc5hw== + +workbox-expiration@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-6.5.1.tgz#9f105fcf3362852754884ad153888070ce98b692" + integrity sha512-iY/cTADAQATMmPkUBRmQdacqq0TJd2wMHimBQz+tRnPGHSMH+/BoLPABPnu7O7rT/g/s59CUYYRGxe3mEgoJCA== + dependencies: + idb "^6.1.4" + workbox-core "6.5.1" + +workbox-google-analytics@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-6.5.1.tgz#685224d439c1e7a943f8241d65e2a34ee95a4ba0" + integrity sha512-qZU46/h4dbionYT6Yk6iBkUwpiEzAfnO1W7KkI+AMmY7G9/gA03dQQ7rpTw8F4vWrG7ahTUGWDFv6fERtaw1BQ== + dependencies: + workbox-background-sync "6.5.1" + workbox-core "6.5.1" + workbox-routing "6.5.1" + workbox-strategies "6.5.1" + +workbox-navigation-preload@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-6.5.1.tgz#a244e3bdf99ce86da7210315ca1ba5aef3710825" + integrity sha512-aKrgAbn2IMgzTowTi/ZyKdQUcES2m++9aGtpxqsX7Gn9ovCY8zcssaMEAMMwrIeveij5HiWNBrmj6MWDHi+0rg== + dependencies: + workbox-core "6.5.1" + +workbox-precaching@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-6.5.1.tgz#177b6424f1e71e601b9c3d6864decad2655f9ff9" + integrity sha512-EzlPBxvmjGfE56YZzsT/vpVkpLG1XJhoplgXa5RPyVWLUL1LbwEAxhkrENElSS/R9tgiTw80IFwysidfUqLihg== + dependencies: + workbox-core "6.5.1" + workbox-routing "6.5.1" + workbox-strategies "6.5.1" + +workbox-range-requests@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-6.5.1.tgz#f40f84aa8765940543eba16131d02f12b38e2fdc" + integrity sha512-57Da/qRbd9v33YlHX0rlSUVFmE4THCjKqwkmfhY3tNLnSKN2L5YBS3qhWeDO0IrMNgUj+rGve2moKYXeUqQt4A== + dependencies: + workbox-core "6.5.1" + +workbox-recipes@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-6.5.1.tgz#d2fb21743677cc3ca9e1fc9e3b68f0d1587df205" + integrity sha512-DGsyKygHggcGPQpWafC/Nmbm1Ny3sB2vE9r//3UbeidXiQ+pLF14KEG1/0NNGRaY+lfOXOagq6d1H7SC8KA+rA== + dependencies: + workbox-cacheable-response "6.5.1" + workbox-core "6.5.1" + workbox-expiration "6.5.1" + workbox-precaching "6.5.1" + workbox-routing "6.5.1" + workbox-strategies "6.5.1" + +workbox-routing@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-6.5.1.tgz#5488795ae850fe3ae435241143b54ff25ab0db70" + integrity sha512-yAAncdTwanvlR8KPjubyvFKeAok8ZcIws6UKxvIAg0I+wsf7UYi93DXNuZr6RBSQrByrN6HkCyjuhmk8P63+PA== + dependencies: + workbox-core "6.5.1" + +workbox-strategies@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-6.5.1.tgz#51cabbddad5a1956eb9d51cf6ce01ab0a6372756" + integrity sha512-JNaTXPy8wXzKkr+6za7/eJX9opoZk7UgY261I2kPxl80XQD8lMjz0vo9EOcBwvD72v3ZhGJbW84ZaDwFEhFvWA== + dependencies: + workbox-core "6.5.1" + +workbox-streams@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-6.5.1.tgz#12036817385fa4449a86a3ef77fce1cb00ecad9f" + integrity sha512-7jaTWm6HRGJ/ewECnhb+UgjTT50R42E0/uNCC4eTKQwnLO/NzNGjoXTdQgFjo4zteR+L/K6AtFAiYKH3ZJbAYw== + dependencies: + workbox-core "6.5.1" + workbox-routing "6.5.1" + +workbox-sw@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-6.5.1.tgz#f9256b40f0a7e94656ccd06f127ba19a92cd23c5" + integrity sha512-hVrQa19yo9wzN1fQQ/h2JlkzFpkuH2qzYT2/rk7CLaWt6tLnTJVFCNHlGRRPhytZSf++LoIy7zThT714sowT/Q== + +workbox-webpack-plugin@^6.4.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.1.tgz#da88b4b6d8eff855958f0e7ebb7aa3eea50a8282" + integrity sha512-SHtlQBpKruI16CAYhICDMkgjXE2fH5Yp+D+1UmBfRVhByZYzusVOykvnPm8ObJb9d/tXgn9yoppoxafFS7D4vQ== + dependencies: + fast-json-stable-stringify "^2.1.0" + pretty-bytes "^5.4.1" + upath "^1.2.0" + webpack-sources "^1.4.3" + workbox-build "6.5.1" + +workbox-window@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-6.5.1.tgz#7b5ca29467b1da45dc9e2b5a1b89159d3eb9957a" + integrity sha512-oRlun9u7b7YEjo2fIDBqJkU2hXtrEljXcOytRhfeQRbqXxjUOpFgXSGRSAkmDx1MlKUNOSbr+zfi8h5n7In3yA== + dependencies: + "@types/trusted-types" "^2.0.2" + workbox-core "6.5.1" + worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" @@ -22300,6 +25906,16 @@ write-file-atomic@^2.0.0: imurmurhash "^0.1.4" signal-exit "^3.0.2" +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + ws@7.4.6: version "7.4.6" resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" @@ -22338,6 +25954,11 @@ ws@^7.2.1, ws@^7.3.1, ws@^7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== +ws@^8.4.2: + version "8.5.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" + integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== + xdg-basedir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" @@ -22385,7 +26006,7 @@ xml-name-validator@^3.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== -xmlchars@^2.1.1: +xmlchars@^2.1.1, xmlchars@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== @@ -22442,19 +26063,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2: +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@13.1.2, yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@20.2.4: version "20.2.4" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" @@ -22467,6 +26080,14 @@ yargs-parser@^10.0.0: dependencies: camelcase "^4.1.0" +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^18.1.2, yargs-parser@^18.1.3: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -22488,15 +26109,6 @@ yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-unparser@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" - integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== - dependencies: - flat "^4.1.0" - lodash "^4.17.15" - yargs "^13.3.0" - yargs-unparser@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" @@ -22507,7 +26119,20 @@ yargs-unparser@2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@13.3.2, yargs@^13.2.4, yargs@^13.3.0, yargs@^13.3.2: +yargs@16.2.0, yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^13.2.4, yargs@^13.3.2: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== @@ -22523,19 +26148,6 @@ yargs@13.3.2, yargs@^13.2.4, yargs@^13.3.0, yargs@^13.3.2: y18n "^4.0.0" yargs-parser "^13.1.2" -yargs@16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - yargs@^15.1.0: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" From 68133c2ec502a031594fce930ecc27c56874c414 Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Mon, 7 Mar 2022 14:02:49 -0500 Subject: [PATCH 38/41] More WIP I don't want to lose --- apps/ethereum/vite-example/package.json | 2 + apps/ethereum/vite-example/src/main.tsx | 26 ++++++------ apps/ethereum/vite-example/vite.config.ts | 40 ++++++++++++------- package.json | 2 +- .../package.json | 1 + packages/hyperverse-evm-tribes/package.json | 1 + yarn.lock | 30 ++++++++++++-- 7 files changed, 71 insertions(+), 31 deletions(-) diff --git a/apps/ethereum/vite-example/package.json b/apps/ethereum/vite-example/package.json index 3850e22c..1b922997 100644 --- a/apps/ethereum/vite-example/package.json +++ b/apps/ethereum/vite-example/package.json @@ -11,7 +11,9 @@ "@decentology/hyperverse": "^1.0.9", "@decentology/hyperverse-ethereum": "^1.0.9", "@decentology/hyperverse-ethereum-randompick": "^1.0.11", + "@decentology/hyperverse-evm-tribes": "^1.0.0", "@esbuild-plugins/node-globals-polyfill": "^0.1.1", + "@vitejs/plugin-react-refresh": "^1.3.6", "react": "^17.0.2", "react-dom": "^17.0.2", "rollup-plugin-polyfill-node": "^0.8.0" diff --git a/apps/ethereum/vite-example/src/main.tsx b/apps/ethereum/vite-example/src/main.tsx index 53cd94c5..76719977 100644 --- a/apps/ethereum/vite-example/src/main.tsx +++ b/apps/ethereum/vite-example/src/main.tsx @@ -5,22 +5,22 @@ import App from './App'; import { Provider, initialize, Network } from '@decentology/hyperverse'; import { Ethereum } from '@decentology/hyperverse-ethereum'; import * as RandomPick from '@decentology/hyperverse-ethereum-randompick'; +// import * as Tribes from '@decentology/hyperverse-evm-tribes'; -ReactDOM.render( - - + tenantId: '0x8f8B8BE836fbe857c65E892dBb261F249f9b0adb', + }, + ], +}); + +ReactDOM.render( + + , diff --git a/apps/ethereum/vite-example/vite.config.ts b/apps/ethereum/vite-example/vite.config.ts index 31da07a8..1bd64ffc 100644 --- a/apps/ethereum/vite-example/vite.config.ts +++ b/apps/ethereum/vite-example/vite.config.ts @@ -1,21 +1,23 @@ import { defineConfig } from 'vite'; -import react from '@vitejs/plugin-react'; +// import react from '@vitejs/plugin-react'; +import refreshRefresh from '@vitejs/plugin-react-refresh'; import NodeGlobalsPolyfillPlugin from '@esbuild-plugins/node-globals-polyfill'; import polyfillNode from 'rollup-plugin-polyfill-node'; // https://vitejs.dev/config/ export default defineConfig({ plugins: [ polyfillNode(), - react(), + refreshRefresh(), ], optimizeDeps: { - include: [ - // '@decentology/hyperverse', - // '@decentology/hyperverse-evm', - '@decentology/web3modal', - // '@decentology/hyperverse-ethereum' - ], + // include: [ + // '@decentology/hyperverse', + // '@decentology/hyperverse-evm', + // '@decentology/web3modal', + // '@decentology/hyperverse-ethereum', + // '@decentology/hyperverse-ethereum-randompick' + // ], esbuildOptions: { define: { global: "globalThis" @@ -28,15 +30,25 @@ export default defineConfig({ } // exclude: ['@decentology/web3modal'] }, - build: { - commonjsOptions: { - include: ['@decentology/web3modal'] - } - }, + // build: { + // commonjsOptions: { + // include: [ + // '@decentology/hyperverse', + // '@decentology/hyperverse-evm', + // '@decentology/web3modal', + // '@decentology/hyperverse-ethereum', + // '@decentology/hyperverse-ethereum-randompick' + // ] + // } + // }, resolve: { alias: { 'react/jsx-runtime': 'react/jsx-runtime.js', - buffer: 'buffer' + '@decentology/hyperverse': 'hyperverse', + '@decentology/hyperverse-evm': 'hyperverse-evm', + '@decentology/web3modal': 'web3modal', + '@decentology/hyperverse-ethereum': 'hyperverse-ethereum', + '@decentology/hyperverse-ethereum-randompick': 'hyperverse-ethereum-randompick' } }, define: { diff --git a/package.json b/package.json index a61255b0..d7b9d3e1 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "packages/*" ], "scripts": { - "build": "turbo run build --no-deps --scope=@decentology/hyperverse-ethereum-randompick --scope=@decentology/web3modal --scope=@decentology/hyperverse-evm --scope=@decentology/unstated-next --scope=@decentology/hyperverse-ethereum-erc721 --scope=@decentology/hyperverse-token --scope=@decentology/hyperverse-metis --scope=@decentology/hyperverse-metis-tribes --scope=@decentology/hyperverse --scope=@decentology/hyperverse-algorand --scope=@decentology/hyperverse-algorand-counter --scope=@decentology/hyperverse-ethereum --scope=@decentology/hyperverse-ethereum-tribes --scope=@decentology/hyperverse-flow --scope=@decentology/hyperverse-flow-tribes --scope=@decentology/hyperverse-storage-skynet", + "build": "turbo run build --no-deps --scope=@decentology/hyperverse-evm-tribes --scope=@decentology/hyperverse-ethereum-randompick --scope=@decentology/web3modal --scope=@decentology/hyperverse-evm --scope=@decentology/unstated-next --scope=@decentology/hyperverse-ethereum-erc721 --scope=@decentology/hyperverse-token --scope=@decentology/hyperverse-metis --scope=@decentology/hyperverse-metis-tribes --scope=@decentology/hyperverse --scope=@decentology/hyperverse-algorand --scope=@decentology/hyperverse-algorand-counter --scope=@decentology/hyperverse-ethereum --scope=@decentology/hyperverse-ethereum-tribes --scope=@decentology/hyperverse-flow --scope=@decentology/hyperverse-flow-tribes --scope=@decentology/hyperverse-storage-skynet", "dev": "turbo run dev --parallel", "clean": "turbo run clean --parallel", "dev:algorand": "turbo run dev --cwd=./apps/algorand --parallel ", diff --git a/packages/hyperverse-ethereum-randompick/package.json b/packages/hyperverse-ethereum-randompick/package.json index ee6a34e0..1c30ee1e 100644 --- a/packages/hyperverse-ethereum-randompick/package.json +++ b/packages/hyperverse-ethereum-randompick/package.json @@ -3,6 +3,7 @@ "version": "1.0.11", "source": "./source/index.ts", "types": "./distribution/index.d.ts", + "module": "./distribution/index.es.js", "main": "./distribution/index.js", "license": "MIT", "scripts": { diff --git a/packages/hyperverse-evm-tribes/package.json b/packages/hyperverse-evm-tribes/package.json index b7ad5a74..1f34a324 100644 --- a/packages/hyperverse-evm-tribes/package.json +++ b/packages/hyperverse-evm-tribes/package.json @@ -3,6 +3,7 @@ "version": "1.0.9", "source": "./source/index.ts", "types": "./distribution/index.d.ts", + "module": "./distribution/index.es.js", "main": "./distribution/index.js", "license": "MIT", "scripts": { diff --git a/yarn.lock b/yarn.lock index eafeade8..7e68495a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -89,7 +89,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== -"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.16.12", "@babel/core@^7.2.2", "@babel/core@^7.4.0", "@babel/core@^7.4.4", "@babel/core@^7.7.2", "@babel/core@^7.8.0": +"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.14.8", "@babel/core@^7.16.0", "@babel/core@^7.16.12", "@babel/core@^7.2.2", "@babel/core@^7.4.0", "@babel/core@^7.4.4", "@babel/core@^7.7.2", "@babel/core@^7.8.0": version "7.17.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA== @@ -885,14 +885,14 @@ dependencies: "@babel/plugin-transform-react-jsx" "^7.16.7" -"@babel/plugin-transform-react-jsx-self@^7.16.7": +"@babel/plugin-transform-react-jsx-self@^7.14.5", "@babel/plugin-transform-react-jsx-self@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.7.tgz#f432ad0cba14c4a1faf44f0076c69e42a4d4479e" integrity sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-react-jsx-source@^7.16.7": +"@babel/plugin-transform-react-jsx-source@^7.14.5", "@babel/plugin-transform-react-jsx-source@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.7.tgz#1879c3f23629d287cc6186a6c683154509ec70c0" integrity sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw== @@ -3887,6 +3887,14 @@ estree-walker "^1.0.1" picomatch "^2.2.2" +"@rollup/pluginutils@^4.1.1": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.0.tgz#a14bbd058fdbba0a5647143b16ed0d86fb60bd08" + integrity sha512-2WUyJNRkyH5p487pGnn4tWAsxhEFKN/pT8CMgHshd5H+IXkOnKvKZwsz5ZWz+YCXkleZRAU5kwbfgF8CPfDRqA== + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + "@rollup/pluginutils@^4.1.2": version "4.1.2" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.2.tgz#ed5821c15e5e05e32816f5fb9ec607cdf5a75751" @@ -4875,6 +4883,17 @@ resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== +"@vitejs/plugin-react-refresh@^1.3.6": + version "1.3.6" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react-refresh/-/plugin-react-refresh-1.3.6.tgz#19818392db01e81746cfeb04e096ab3010e79fe3" + integrity sha512-iNR/UqhUOmFFxiezt0em9CgmiJBdWR+5jGxB2FihaoJfqGt76kiwaKoVOJVU5NYcDWMdN06LbyN2VIGIoYdsEA== + dependencies: + "@babel/core" "^7.14.8" + "@babel/plugin-transform-react-jsx-self" "^7.14.5" + "@babel/plugin-transform-react-jsx-source" "^7.14.5" + "@rollup/pluginutils" "^4.1.1" + react-refresh "^0.10.0" + "@vitejs/plugin-react@^1.0.7": version "1.2.0" resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-1.2.0.tgz#4cfb4c0475e93885e56d66ff15e12ef4c34b0af0" @@ -20644,6 +20663,11 @@ react-refresh@0.8.3: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== +react-refresh@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.10.0.tgz#2f536c9660c0b9b1d500684d9e52a65e7404f7e3" + integrity sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ== + react-refresh@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" From beaf7a72b6b68126e691a33cffda35c9a087bc3e Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Mon, 7 Mar 2022 15:05:00 -0500 Subject: [PATCH 39/41] I don't know what I'm doing --- apps/ethereum/vite-example/vite.config.ts | 40 ++++++++--------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/apps/ethereum/vite-example/vite.config.ts b/apps/ethereum/vite-example/vite.config.ts index 1bd64ffc..4d7bfec7 100644 --- a/apps/ethereum/vite-example/vite.config.ts +++ b/apps/ethereum/vite-example/vite.config.ts @@ -1,23 +1,21 @@ import { defineConfig } from 'vite'; -// import react from '@vitejs/plugin-react'; -import refreshRefresh from '@vitejs/plugin-react-refresh'; +import react from '@vitejs/plugin-react'; import NodeGlobalsPolyfillPlugin from '@esbuild-plugins/node-globals-polyfill'; import polyfillNode from 'rollup-plugin-polyfill-node'; // https://vitejs.dev/config/ export default defineConfig({ plugins: [ polyfillNode(), - refreshRefresh(), + react(), ], optimizeDeps: { - // include: [ - // '@decentology/hyperverse', - // '@decentology/hyperverse-evm', - // '@decentology/web3modal', - // '@decentology/hyperverse-ethereum', - // '@decentology/hyperverse-ethereum-randompick' - // ], + include: [ + // '@decentology/hyperverse', + // '@decentology/hyperverse-evm', + // '@decentology/web3modal', + // '@decentology/hyperverse-ethereum' + ], esbuildOptions: { define: { global: "globalThis" @@ -30,25 +28,15 @@ export default defineConfig({ } // exclude: ['@decentology/web3modal'] }, - // build: { - // commonjsOptions: { - // include: [ - // '@decentology/hyperverse', - // '@decentology/hyperverse-evm', - // '@decentology/web3modal', - // '@decentology/hyperverse-ethereum', - // '@decentology/hyperverse-ethereum-randompick' - // ] - // } - // }, + build: { + commonjsOptions: { + // include: ['@decentology/web3modal'] + } + }, resolve: { alias: { 'react/jsx-runtime': 'react/jsx-runtime.js', - '@decentology/hyperverse': 'hyperverse', - '@decentology/hyperverse-evm': 'hyperverse-evm', - '@decentology/web3modal': 'web3modal', - '@decentology/hyperverse-ethereum': 'hyperverse-ethereum', - '@decentology/hyperverse-ethereum-randompick': 'hyperverse-ethereum-randompick' + // buffer: 'buffer' } }, define: { From 800c427bc2471318b9607410d6b4b0009a725ccd Mon Sep 17 00:00:00 2001 From: Jonathan Sheely Date: Mon, 7 Mar 2022 15:05:09 -0500 Subject: [PATCH 40/41] TenantId is now required --- packages/hyperverse-evm-erc20/source/environment.ts | 1 - packages/hyperverse-evm-erc721/source/Provider.tsx | 7 +++---- packages/hyperverse-evm-erc721/source/environment.ts | 6 ------ packages/hyperverse-evm-tribes/source/Provider.tsx | 8 +++----- packages/hyperverse-evm-tribes/source/environment.ts | 6 ------ 5 files changed, 6 insertions(+), 22 deletions(-) diff --git a/packages/hyperverse-evm-erc20/source/environment.ts b/packages/hyperverse-evm-erc20/source/environment.ts index 559f0e06..c36cc935 100644 --- a/packages/hyperverse-evm-erc20/source/environment.ts +++ b/packages/hyperverse-evm-erc20/source/environment.ts @@ -19,7 +19,6 @@ const environment: EvmEnvironment = { [Network.Testnet]: { contractAddress: '0x5075a0259b418fbD46211B81AfA766157e7DD135', factoryAddress: '0x4330f8f04490d09852e6916777e15259dF195F6A', - tenantAddress: '0xDf61226090C2475D9ec7c494684d2715b61F130c' } }, [Blockchain.Metis]: { diff --git a/packages/hyperverse-evm-erc721/source/Provider.tsx b/packages/hyperverse-evm-erc721/source/Provider.tsx index e0802545..5bc4fe1b 100644 --- a/packages/hyperverse-evm-erc721/source/Provider.tsx +++ b/packages/hyperverse-evm-erc721/source/Provider.tsx @@ -7,13 +7,12 @@ const client = new QueryClient(); const Provider: FC = ({ children, tenantId }) => { const { network } = useHyperverse(); - const { tenantAddress } = useEnvironment(); - if (network.type === Network.Mainnet && tenantId == null) { - throw new Error('Tenant ID is required for Mainnet'); + if (tenantId == null) { + throw new Error('Tenant ID is required'); } return ( - + {children} diff --git a/packages/hyperverse-evm-erc721/source/environment.ts b/packages/hyperverse-evm-erc721/source/environment.ts index d30200bf..26cfcad5 100644 --- a/packages/hyperverse-evm-erc721/source/environment.ts +++ b/packages/hyperverse-evm-erc721/source/environment.ts @@ -17,36 +17,30 @@ const environment: EvmEnvironment = { [Network.Mainnet]: { contractAddress: null, factoryAddress: null, - tenantAddress: null }, [Network.Testnet]: { factoryAddress: null, contractAddress: '0xe5d761311212ABF55c9C6eb6d80eAF804F213d72', - tenantAddress: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266' } }, [Blockchain.Metis]: { [Network.Mainnet]: { factoryAddress: null, contractAddress: null, - tenantAddress: null }, [Network.Testnet]: { factoryAddress: null, contractAddress: 'x07F3062D51C9A6CA568C8135656054FA88D5b646', - tenantAddress: '0x8f8B8BE836fbe857c65E892dBb261F249f9b0adb' } }, [Blockchain.Avalanche]: { [Network.Mainnet]: { factoryAddress: null, contractAddress: null, - tenantAddress: null }, [Network.Testnet]: { factoryAddress: null, contractAddress: null, - tenantAddress: null } } }; diff --git a/packages/hyperverse-evm-tribes/source/Provider.tsx b/packages/hyperverse-evm-tribes/source/Provider.tsx index df78283e..6beb4023 100644 --- a/packages/hyperverse-evm-tribes/source/Provider.tsx +++ b/packages/hyperverse-evm-tribes/source/Provider.tsx @@ -6,14 +6,12 @@ import { useEnvironment } from './environment'; const client = new QueryClient(); const Provider: FC = ({ children, tenantId }) => { - const { network } = useHyperverse(); - const { tenantAddress } = useEnvironment(); - if (network.type === Network.Mainnet && tenantId == null) { - throw new Error('Tenant ID is required for Mainnet'); + if (tenantId == null) { + throw new Error('Tenant ID is required'); } return ( - + {children} diff --git a/packages/hyperverse-evm-tribes/source/environment.ts b/packages/hyperverse-evm-tribes/source/environment.ts index a1634a78..9a4a5bc7 100644 --- a/packages/hyperverse-evm-tribes/source/environment.ts +++ b/packages/hyperverse-evm-tribes/source/environment.ts @@ -15,36 +15,30 @@ const environment: EvmEnvironment = { [Network.Mainnet]: { contractAddress: null, factoryAddress: null, - tenantAddress: null }, [Network.Testnet]: { contractAddress: '0x995d701c0CaAeDA88DBF21727202F3a61AF01177', factoryAddress: '0xACec20ad889Ba58Ec9d65AB0aA7C0e0D151222e0', - tenantAddress: '0xDf61226090C2475D9ec7c494684d2715b61F130c' } }, [Blockchain.Metis]: { [Network.Mainnet]: { contractAddress: null, factoryAddress: null, - tenantAddress: null }, [Network.Testnet]: { contractAddress: '', factoryAddress: '', - tenantAddress: '' } }, [Blockchain.Avalanche]: { [Network.Mainnet]: { contractAddress: null, factoryAddress: null, - tenantAddress: null }, [Network.Testnet]: { contractAddress: '', factoryAddress: '', - tenantAddress: '' } } }; From dba73499ea0945cb1f17cebe2eddef52347aaa1e Mon Sep 17 00:00:00 2001 From: Kendyl Key <67116724+kendylkey@users.noreply.github.com> Date: Tue, 15 Mar 2022 09:31:00 -0600 Subject: [PATCH 41/41] updated readme --- packages/hyperverse-evm-erc20/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/hyperverse-evm-erc20/README.md b/packages/hyperverse-evm-erc20/README.md index cb97640d..48c129cd 100644 --- a/packages/hyperverse-evm-erc20/README.md +++ b/packages/hyperverse-evm-erc20/README.md @@ -2,7 +2,7 @@ This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, a sample script that deploys that contract, and an example of a task implementation, which simply lists the available accounts. -Try running some of the following tasks: +Try running some of the following tasks: ajknsdkjanskjd ```shell npx hardhat accounts