diff --git a/frontend/casino/package.json b/frontend/casino/package.json index 4e229a1..382641d 100644 --- a/frontend/casino/package.json +++ b/frontend/casino/package.json @@ -11,6 +11,7 @@ }, "dependencies": { "@chakra-ui/react": "^2.8.2", + "@cityofzion/wallet-connect-sdk-react": "^3.2.0", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "@metamask/rpc-errors": "^6.1.0", @@ -19,6 +20,7 @@ "@nextui-org/react": "^1.0.0-beta.10", "@stitches/react": "^1.2.8", "autoprefixer": "^10.4.16", + "axios": "^1.6.5", "eslint-plugin-mobx": "^0.0.9", "framer-motion": "^10.16.12", "jdenticon": "^3.2.0", diff --git a/frontend/casino/src/app/components/App/AppNav/AppNav.tsx b/frontend/casino/src/app/components/App/AppNav/AppNav.tsx index f922d6c..693ffc1 100644 --- a/frontend/casino/src/app/components/App/AppNav/AppNav.tsx +++ b/frontend/casino/src/app/components/App/AppNav/AppNav.tsx @@ -1,7 +1,9 @@ +import {ConnectStateButton} from "../../../web3/connect"; + export const AppNav = () => { return (
- Header +
); }; \ No newline at end of file diff --git a/frontend/casino/src/app/hooks/useIntervalAsync.ts b/frontend/casino/src/app/hooks/useIntervalAsync.ts new file mode 100644 index 0000000..81e1a4e --- /dev/null +++ b/frontend/casino/src/app/hooks/useIntervalAsync.ts @@ -0,0 +1,50 @@ +import { useCallback, useEffect, useRef, useState } from 'react' + +const useIntervalAsync = (fn: (tx: string) => Promise, ms: number) => { + const runningCount = useRef(0) + const timeout = useRef() + const mountedRef = useRef(false) + const [allRunsCount, setAllRunsCount] = useState(0) + + const next = useCallback( + (handler: TimerHandler) => { + if (mountedRef.current && runningCount.current === 0) { + setAllRunsCount(prevState => prevState + 1) + // eslint-disable-next-line @typescript-eslint/no-implied-eval + timeout.current = window.setTimeout(handler, ms) + } + }, + [ms], + ) + + const run = useCallback(async (tx: string) => { + runningCount.current += 1 + const result = await fn(tx) + runningCount.current -= 1 + + next(run) + + return result + }, [fn, next]) + + useEffect(() => { + mountedRef.current = true + + return () => { + mountedRef.current = false + window.clearTimeout(timeout.current) + } + }, []) + + const flush = useCallback(() => { + window.clearTimeout(timeout.current) + }, []) + + return { + flush, + run, + allRunsCount, + } +} + +export default useIntervalAsync diff --git a/frontend/casino/src/app/hooks/useStatusState.ts b/frontend/casino/src/app/hooks/useStatusState.ts new file mode 100644 index 0000000..07e8911 --- /dev/null +++ b/frontend/casino/src/app/hooks/useStatusState.ts @@ -0,0 +1,42 @@ +import { useCallback, useState } from 'react' +import { useAccount } from 'wagmi' +import {stringifyError} from "../utils/error/stringifyError.ts"; + +export function useStatusState() { + const { isConnected } = useAccount() + + const [isLoading, setIsLoading] = useState(false) + const [error, setError] = useState() + const [result, setResult] = useState() + + const wrapPromise = useCallback((call: (args: Arguments) => Promise) => { + return async (args: Arguments) => { + setIsLoading(true) + setError(undefined) + setResult(undefined) + try { + const result = await call(args) + setIsLoading(false) + setResult(result) + + return result + } catch (err) { + setIsLoading(false) + setError(stringifyError(err)) + throw err + } + } + }, [isConnected]) + + return { + statuses: { + isLoading, + error, + result, + }, + setIsLoading, + setError, + setResult, + wrapPromise, + } +} diff --git a/frontend/casino/src/app/pages/MainPage/MainPage.tsx b/frontend/casino/src/app/pages/MainPage/MainPage.tsx index 4e5332f..857bb9b 100644 --- a/frontend/casino/src/app/pages/MainPage/MainPage.tsx +++ b/frontend/casino/src/app/pages/MainPage/MainPage.tsx @@ -1,7 +1,12 @@ +import {usePlayCraps} from "../../web3/functions/Craps/usePlayCraps.ts"; + export const MainPage = () => { + const { invoke } = usePlayCraps() return (

- Hello world! +

); }; \ No newline at end of file diff --git a/frontend/casino/src/app/utils/error/stringifyError.ts b/frontend/casino/src/app/utils/error/stringifyError.ts new file mode 100644 index 0000000..8207367 --- /dev/null +++ b/frontend/casino/src/app/utils/error/stringifyError.ts @@ -0,0 +1,26 @@ +export function stringifyError(error: unknown): string { + console.log(error) + if (typeof error === 'string') { + return error + } + if (error instanceof Error) { + if (error.stack) { + return error.stack + } else { + return `${error.name}: ${error.message}` + } + } + let str + try { + str = JSON.stringify(error) + if (str === '{}') { + // eslint-disable-next-line @typescript-eslint/restrict-plus-operands + str = error + '' + } + } catch (e) { + // eslint-disable-next-line @typescript-eslint/restrict-plus-operands + str = (error + '') + } + + return str +} \ No newline at end of file diff --git a/frontend/casino/src/app/web3/connect/index.ts b/frontend/casino/src/app/web3/connect/index.ts new file mode 100644 index 0000000..39d6ad3 --- /dev/null +++ b/frontend/casino/src/app/web3/connect/index.ts @@ -0,0 +1 @@ +export * from './ui' \ No newline at end of file diff --git a/frontend/casino/src/app/web3/connect/lib/config.ts b/frontend/casino/src/app/web3/connect/lib/config.ts new file mode 100644 index 0000000..3605f6a --- /dev/null +++ b/frontend/casino/src/app/web3/connect/lib/config.ts @@ -0,0 +1,10 @@ +export const wcOptions = { + projectId: '0a899bd03bff0aea6f838649d79b1983', // the ID of your project on Wallet Connect website + relayUrl: 'wss://relay.walletconnect.com', // we are using walletconnect's official relay server + metadata: { + name: 'MyApplicationName', // your application name to be displayed on the wallet + description: 'My Application description', // description to be shown on the wallet + url: 'https://myapplicationdescription.app/', // url to be linked on the wallet + icons: ['https://myapplicationdescription.app/myappicon.png'] // icon to be shown on the wallet + } +}; \ No newline at end of file diff --git a/frontend/casino/src/app/web3/connect/lib/useConnect.ts b/frontend/casino/src/app/web3/connect/lib/useConnect.ts new file mode 100644 index 0000000..8ee1ba9 --- /dev/null +++ b/frontend/casino/src/app/web3/connect/lib/useConnect.ts @@ -0,0 +1,39 @@ +import {useWalletConnect} from "@cityofzion/wallet-connect-sdk-react"; +import {useCallback, useEffect, useState} from "react"; + +export const useConnect = () => { + const wcSdk = useWalletConnect() + const [isConnected, setIsConnected] = useState(false) + + const checkIsConnected = useCallback(() => { + const isConnectedResult = wcSdk.isConnected() + setIsConnected(isConnectedResult) + }, [wcSdk]) + + const connect = useCallback(async () => { + await wcSdk.connect('neo3:testnet', ['invokeFunction', 'testInvoke', 'signMessage','verifyMessage']) + + checkIsConnected() + }, [wcSdk, checkIsConnected]) + + const disconnect = useCallback(async () => { + if (!wcSdk.isConnected()) { + setIsConnected(false) + } + + await wcSdk.disconnect() + + checkIsConnected() + }, [wcSdk, checkIsConnected, setIsConnected]) + + useEffect(() => { + checkIsConnected() + console.log(isConnected) + }, [wcSdk, checkIsConnected]) + + return { + connect, + disconnect, + isConnected + } +} \ No newline at end of file diff --git a/frontend/casino/src/app/web3/connect/ui/ConnectButton/ConnectButton.tsx b/frontend/casino/src/app/web3/connect/ui/ConnectButton/ConnectButton.tsx new file mode 100644 index 0000000..4d8863a --- /dev/null +++ b/frontend/casino/src/app/web3/connect/ui/ConnectButton/ConnectButton.tsx @@ -0,0 +1,10 @@ +import {useConnect} from "../../lib/useConnect.ts"; + +export const ConnectButton = () => { + const { connect } = useConnect() + return ( + + ); +}; \ No newline at end of file diff --git a/frontend/casino/src/app/web3/connect/ui/ConnectStateButton/ConnectStateButton.tsx b/frontend/casino/src/app/web3/connect/ui/ConnectStateButton/ConnectStateButton.tsx new file mode 100644 index 0000000..d53cf97 --- /dev/null +++ b/frontend/casino/src/app/web3/connect/ui/ConnectStateButton/ConnectStateButton.tsx @@ -0,0 +1,10 @@ +import {useConnect} from "../../lib/useConnect.ts"; +import {DisconnectButton} from "../DisconnectButton/DisconnectButton.tsx"; +import {ConnectButton} from "../ConnectButton/ConnectButton.tsx"; + +export const ConnectStateButton = () => { + const { isConnected } = useConnect() + if (isConnected) return + + return +}; \ No newline at end of file diff --git a/frontend/casino/src/app/web3/connect/ui/ConnectStateButton/index.ts b/frontend/casino/src/app/web3/connect/ui/ConnectStateButton/index.ts new file mode 100644 index 0000000..2deaf33 --- /dev/null +++ b/frontend/casino/src/app/web3/connect/ui/ConnectStateButton/index.ts @@ -0,0 +1 @@ +export * from './ConnectStateButton.tsx' \ No newline at end of file diff --git a/frontend/casino/src/app/web3/connect/ui/DisconnectButton/DisconnectButton.tsx b/frontend/casino/src/app/web3/connect/ui/DisconnectButton/DisconnectButton.tsx new file mode 100644 index 0000000..e487a1c --- /dev/null +++ b/frontend/casino/src/app/web3/connect/ui/DisconnectButton/DisconnectButton.tsx @@ -0,0 +1,10 @@ +import {useConnect} from "../../lib/useConnect.ts"; + +export const DisconnectButton = () => { + const { disconnect } = useConnect() + return ( + + ); +}; \ No newline at end of file diff --git a/frontend/casino/src/app/web3/connect/ui/index.ts b/frontend/casino/src/app/web3/connect/ui/index.ts new file mode 100644 index 0000000..3ea529e --- /dev/null +++ b/frontend/casino/src/app/web3/connect/ui/index.ts @@ -0,0 +1 @@ +export * from './ConnectStateButton' \ No newline at end of file diff --git a/frontend/casino/src/app/web3/functions/Craps/usePlayCraps.ts b/frontend/casino/src/app/web3/functions/Craps/usePlayCraps.ts new file mode 100644 index 0000000..cf86b2b --- /dev/null +++ b/frontend/casino/src/app/web3/functions/Craps/usePlayCraps.ts @@ -0,0 +1,47 @@ +import {useWalletConnect} from "@cityofzion/wallet-connect-sdk-react"; +import {useCallback} from "react"; +import {useGetResult} from "../utils/useGetResult.ts"; +import {useStatusState} from "../../../hooks/useStatusState.ts"; +import { config } from "../config/config.ts"; + +export const usePlayCraps = () => { + const wcSdk = useWalletConnect() + const { getResult } = useGetResult() + const { statuses, wrapPromise } = useStatusState() + + const playCraps = useCallback(wrapPromise(async () => { + // const resp = await wcSdk.invokeFunction({ + // invocations: [{ + // scriptHash: '270c825a5ac041e18be45074bbb942255164a214', + // operation: 'balanceOf', + // args: [ + // { type: 'Hash160', value: 'NQCLAHuu4umnR99KB5m7U8ppJFtWqhw6DS' }, + // ] + // }], + // signers: [{ + // scopes: 'Global', + // }] + // }) + const resp = await wcSdk.invokeFunction({ + invocations: [{ + scriptHash: config.craps.contractAddress, + operation: 'playRoulette', + args: [ + { type: 'Integer', value: '40' }, + { type: 'Integer', value: '3' }, + ] + }], + signers: [{ + scopes: 'Global', + }] + }) + console.log(resp) + const result = await getResult(resp) + console.log(result) + }), [wcSdk, getResult, wrapPromise]) + + return { + playCraps, + ...statuses + } +} \ No newline at end of file diff --git a/frontend/casino/src/app/web3/functions/Roulette/usePlayRoulette.ts b/frontend/casino/src/app/web3/functions/Roulette/usePlayRoulette.ts new file mode 100644 index 0000000..a6ef32b --- /dev/null +++ b/frontend/casino/src/app/web3/functions/Roulette/usePlayRoulette.ts @@ -0,0 +1,47 @@ +import {useWalletConnect} from "@cityofzion/wallet-connect-sdk-react"; +import {useCallback} from "react"; +import {useGetResult} from "../utils/useGetResult.ts"; +import {useStatusState} from "../../../hooks/useStatusState.ts"; +import {config} from "../config/config.ts"; + +export const usePlayRoulette = () => { + const wcSdk = useWalletConnect() + const { getResult } = useGetResult() + const { statuses, wrapPromise } = useStatusState() + + const playRoulette = useCallback(wrapPromise(async () => { + // const resp = await wcSdk.invokeFunction({ + // invocations: [{ + // scriptHash: '270c825a5ac041e18be45074bbb942255164a214', + // operation: 'balanceOf', + // args: [ + // { type: 'Hash160', value: 'NQCLAHuu4umnR99KB5m7U8ppJFtWqhw6DS' }, + // ] + // }], + // signers: [{ + // scopes: 'Global', + // }] + // }) + const resp = await wcSdk.invokeFunction({ + invocations: [{ + scriptHash: config.roulette.contractAddress, + operation: 'playRoulette', + args: [ + { type: 'Integer', value: '40' }, + { type: 'Integer', value: '3' }, + ] + }], + signers: [{ + scopes: 'Global', + }] + }) + console.log(resp) + const result = await getResult(resp) + console.log(result) + }), [wcSdk, getResult, wrapPromise]) + + return { + playRoulette, + ...statuses + } +} \ No newline at end of file diff --git a/frontend/casino/src/app/web3/functions/SlotMachine/useSlotMachine.ts b/frontend/casino/src/app/web3/functions/SlotMachine/useSlotMachine.ts new file mode 100644 index 0000000..280dd01 --- /dev/null +++ b/frontend/casino/src/app/web3/functions/SlotMachine/useSlotMachine.ts @@ -0,0 +1,47 @@ +import {useWalletConnect} from "@cityofzion/wallet-connect-sdk-react"; +import {useCallback} from "react"; +import {useGetResult} from "../utils/useGetResult.ts"; +import {useStatusState} from "../../../hooks/useStatusState.ts"; +import {config} from "../config/config.ts"; + +export const useSlotMachine = () => { + const wcSdk = useWalletConnect() + const { getResult } = useGetResult() + const { statuses, wrapPromise } = useStatusState() + + const playSlotMachine = useCallback(wrapPromise(async () => { + // const resp = await wcSdk.invokeFunction({ + // invocations: [{ + // scriptHash: '270c825a5ac041e18be45074bbb942255164a214', + // operation: 'balanceOf', + // args: [ + // { type: 'Hash160', value: 'NQCLAHuu4umnR99KB5m7U8ppJFtWqhw6DS' }, + // ] + // }], + // signers: [{ + // scopes: 'Global', + // }] + // }) + const resp = await wcSdk.invokeFunction({ + invocations: [{ + scriptHash: config.slotMachine.contractAddress, + operation: 'playRoulette', + args: [ + { type: 'Integer', value: '40' }, + { type: 'Integer', value: '3' }, + ] + }], + signers: [{ + scopes: 'Global', + }] + }) + console.log(resp) + const result = await getResult(resp) + console.log(result) + }), [wcSdk, getResult, wrapPromise]) + + return { + playSlotMachine, + ...statuses + } +} \ No newline at end of file diff --git a/frontend/casino/src/app/web3/functions/config/config.ts b/frontend/casino/src/app/web3/functions/config/config.ts new file mode 100644 index 0000000..acd1174 --- /dev/null +++ b/frontend/casino/src/app/web3/functions/config/config.ts @@ -0,0 +1,11 @@ +export const config = { + craps: { + contractAddress: '13f7312810758d0e2271e2c620ba93f3568e0e8c' + }, + roulette: { + contractAddress: '13f7312810758d0e2271e2c620ba93f3568e0e8c' + }, + slotMachine: { + contractAddress: '13f7312810758d0e2271e2c620ba93f3568e0e8c' + } +} \ No newline at end of file diff --git a/frontend/casino/src/app/web3/functions/utils/useGetResult.ts b/frontend/casino/src/app/web3/functions/utils/useGetResult.ts new file mode 100644 index 0000000..3ab4106 --- /dev/null +++ b/frontend/casino/src/app/web3/functions/utils/useGetResult.ts @@ -0,0 +1,36 @@ +import {useCallback} from "react"; +import axios from "axios"; +import useIntervalAsync from "../../../hooks/useIntervalAsync.ts"; + +const baseUrlToGet = 'https://dora.coz.io/api/v2/neo3/testnet/log/' +export const useGetResult = () => { + const getResultReq = useCallback(async (tx: string | undefined) => { + const result = await axios.get(baseUrlToGet + tx) + console.log(result) + return result + }, []) + + const { run: runIsApprovedRefetch } = useIntervalAsync(async (tx) => { + if (!tx) return + try { + const result = await getResultReq(tx) + if (!result) setTimeout(() => { + runIsApprovedRefetch(tx) + }, 3000) + return result + } catch (e) { setTimeout(() => { + runIsApprovedRefetch(tx) + }, 3000) } + }, 3000) + + const getResult = useCallback(async (tx: string | undefined) => { + if (!tx) return + console.log(tx) + const result = await runIsApprovedRefetch(tx) + console.log(result) + }, [runIsApprovedRefetch]) + + return { + getResult + } +} \ No newline at end of file diff --git a/frontend/casino/src/providers.tsx b/frontend/casino/src/providers.tsx index 7b4398e..375fda1 100644 --- a/frontend/casino/src/providers.tsx +++ b/frontend/casino/src/providers.tsx @@ -1,11 +1,16 @@ import { observer } from 'mobx-react-lite' import { type FC, type PropsWithChildren } from 'react' import { StitchesProvider } from './styles' +import {WalletConnectProvider} from "@cityofzion/wallet-connect-sdk-react"; +import {wcOptions} from "./app/web3/connect/lib/config.ts"; export const Providers: FC = observer(({ children }) => { return ( - - {children} - + + + {children} + + + ) }) diff --git a/frontend/casino/vite.config.ts b/frontend/casino/vite.config.ts index 5a33944..5955da9 100644 --- a/frontend/casino/vite.config.ts +++ b/frontend/casino/vite.config.ts @@ -4,4 +4,15 @@ import react from '@vitejs/plugin-react' // https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], + server: { + port: 3000, + open: true, + host: true, + proxy: { + '/api': { + target: 'https://dora.coz.io/', + changeOrigin: true + }, + } + } }) diff --git a/frontend/casino/yarn.lock b/frontend/casino/yarn.lock index 9afd692..ebfd5fb 100644 --- a/frontend/casino/yarn.lock +++ b/frontend/casino/yarn.lock @@ -1043,6 +1043,47 @@ resolved "https://registry.yarnpkg.com/@chakra-ui/visually-hidden/-/visually-hidden-2.2.0.tgz#9b0ecef8f01263ab808ba3bda7b36a0d91b4d5c1" integrity sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ== +"@cityofzion/neon-core@5.5.1": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@cityofzion/neon-core/-/neon-core-5.5.1.tgz#80ee2caeef5e1e65dcd98a2a77b7eee4d12d8801" + integrity sha512-cqJ+RYTdUVoUl2e3I5bqgAvYFuqGd2M8lmgUgH/+kf0zS0b8EuKwliauJ2EA56fudwaXtCmmHZTfRBFs+RJ2vw== + dependencies: + bn.js "5.2.1" + bs58 "5.0.0" + buffer "6.0.3" + cross-fetch "^3.1.5" + crypto-js "4.1.1" + elliptic "6.5.4" + ethereum-cryptography "2.0.0" + lodash "4.17.21" + loglevel "1.8.1" + loglevel-plugin-prefix "0.8.4" + +"@cityofzion/neon-dappkit-types@0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@cityofzion/neon-dappkit-types/-/neon-dappkit-types-0.3.0.tgz#6c04cd8db94c3ad87b435ddfd8ad927daba1c484" + integrity sha512-kWBtU2UYkESj1QxmFxjMwzB0RwBVdwKYrnwHqN+wv43ceZ3d2CCdprFsHvqQoo2DNpSKPgmq6RIlnhedBH7Shg== + +"@cityofzion/wallet-connect-sdk-core@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@cityofzion/wallet-connect-sdk-core/-/wallet-connect-sdk-core-3.2.0.tgz#34febdc6e653d878dff7f2d4b97444b06da4c014" + integrity sha512-L++F3EPLQp8x8aE82C2Bqh49g9BkIbBA24B5g8U5C7Mmm5Vzs+l58TkLeK15CGsvmJAacaqCL1PwTE8dVdaggg== + dependencies: + "@cityofzion/neon-core" "5.5.1" + "@cityofzion/neon-dappkit-types" "0.3.0" + "@walletconnect/sign-client" "2.7.3" + "@walletconnect/types" "2.7.3" + typed-emitter "^2.1.0" + +"@cityofzion/wallet-connect-sdk-react@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@cityofzion/wallet-connect-sdk-react/-/wallet-connect-sdk-react-3.2.0.tgz#784306ddc30157367c534e14414a485113418820" + integrity sha512-gyM7NjebEbxLLUtmGldvr7g10zzX8DY/BghNKvqohZ+eSdCDwHsZmFe9XRfdBzvzIR6d5qSGdskSk2ubH8WA1g== + dependencies: + "@cityofzion/neon-dappkit-types" "0.3.0" + "@cityofzion/wallet-connect-sdk-core" "3.2.0" + "@walletconnect/types" "2.7.3" + "@coinbase/wallet-sdk@^3.6.6": version "3.7.2" resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.7.2.tgz#7a89bd9e3a06a1f26d4480d8642af33fb0c7e3aa" @@ -1771,6 +1812,13 @@ "@react-types/shared" "3.13.0" "@stitches/react" "1.2.8" +"@noble/curves@1.0.0", "@noble/curves@~1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.0.0.tgz#e40be8c7daf088aaf291887cbc73f43464a92932" + integrity sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw== + dependencies: + "@noble/hashes" "1.3.0" + "@noble/curves@1.1.0", "@noble/curves@~1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" @@ -1792,6 +1840,11 @@ dependencies: "@noble/hashes" "1.3.3" +"@noble/hashes@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" + integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== + "@noble/hashes@1.3.1": version "1.3.1" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" @@ -3323,6 +3376,15 @@ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.4.tgz#cb6a3552ee15595d9864a0a4e89ffcd21ebe8c39" integrity sha512-wznebWtt+ejH8el87yuD4i9xLSbYZXf1Pe4DY0o/zq/eg5I0VQVXVbFs6XIM0pNVCJ/uE3t5wI9kh90mdLUxtw== +"@scure/bip32@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.0.tgz#6c8d980ef3f290987736acd0ee2e0f0d50068d87" + integrity sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q== + dependencies: + "@noble/curves" "~1.0.0" + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + "@scure/bip32@1.3.1": version "1.3.1" resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.1.tgz#7248aea723667f98160f593d621c47e208ccbb10" @@ -3341,6 +3403,14 @@ "@noble/hashes" "~1.3.2" "@scure/base" "~1.1.2" +"@scure/bip39@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.0.tgz#a207e2ef96de354de7d0002292ba1503538fc77b" + integrity sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg== + dependencies: + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + "@scure/bip39@1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" @@ -3930,6 +4000,27 @@ lodash.isequal "4.5.0" uint8arrays "^3.1.0" +"@walletconnect/core@2.7.3": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.7.3.tgz#a81b477b4b451b2d5a4533faa7bffc9595c15c6c" + integrity sha512-Ldb9ZE74jpivioW+Z65Lc5XVuddDQcqmXjmuZleliQwwg8USKi4qjiC3A3796jzGUCIdgKVHN1ZkudkXo2CSNw== + dependencies: + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-provider" "^1.0.12" + "@walletconnect/jsonrpc-utils" "^1.0.7" + "@walletconnect/jsonrpc-ws-connection" "^1.0.11" + "@walletconnect/keyvaluestorage" "^1.0.2" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/relay-api" "^1.0.9" + "@walletconnect/relay-auth" "^1.0.4" + "@walletconnect/safe-json" "^1.0.2" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.7.3" + "@walletconnect/utils" "2.7.3" + events "^3.3.0" + lodash.isequal "4.5.0" + uint8arrays "^3.1.0" + "@walletconnect/crypto@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@walletconnect/crypto/-/crypto-1.0.3.tgz#7b8dd4d7e2884fe3543c7c07aea425eef5ef9dd4" @@ -4000,7 +4091,7 @@ cross-fetch "^3.1.4" tslib "1.14.1" -"@walletconnect/jsonrpc-provider@1.0.13", "@walletconnect/jsonrpc-provider@^1.0.13", "@walletconnect/jsonrpc-provider@^1.0.6": +"@walletconnect/jsonrpc-provider@1.0.13", "@walletconnect/jsonrpc-provider@^1.0.12", "@walletconnect/jsonrpc-provider@^1.0.13", "@walletconnect/jsonrpc-provider@^1.0.6": version "1.0.13" resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz#9a74da648d015e1fffc745f0c7d629457f53648b" integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g== @@ -4037,6 +4128,16 @@ tslib "1.14.1" ws "^7.5.1" +"@walletconnect/jsonrpc-ws-connection@^1.0.11": + version "1.0.14" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.14.tgz#eec700e74766c7887de2bd76c91a0206628732aa" + integrity sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.2" + events "^3.3.0" + ws "^7.5.1" + "@walletconnect/keyvaluestorage@^1.0.2": version "1.1.1" resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz#dd2caddabfbaf80f6b8993a0704d8b83115a1842" @@ -4191,6 +4292,21 @@ "@walletconnect/utils" "2.10.1" events "^3.3.0" +"@walletconnect/sign-client@2.7.3": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.7.3.tgz#c57461c4017228bf3b3841c81a351927f40a99b6" + integrity sha512-QDlgBv0EoMt1OQ7SjUJA8DSx3zcKvBcKDueETYUPwP29i1Mc5gSozrpzEoSLcH3TVTt4bTcTEkqVvGvWsglJig== + dependencies: + "@walletconnect/core" "2.7.3" + "@walletconnect/events" "^1.0.1" + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-utils" "^1.0.7" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.7.3" + "@walletconnect/utils" "2.7.3" + events "^3.3.0" + "@walletconnect/time@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" @@ -4210,6 +4326,18 @@ "@walletconnect/logger" "^2.0.1" events "^3.3.0" +"@walletconnect/types@2.7.3": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.7.3.tgz#cbc894b025383ec1137023caefce55f9824909c9" + integrity sha512-01U/GwrtokgBfBzLwZQQogkYh/+HBvClO4Oet3bClnyzHZ//Jv3Xf3X9LluNrHaulzPqdc9g7wnFkpjkVqKicQ== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-types" "^1.0.2" + "@walletconnect/keyvaluestorage" "^1.0.2" + "@walletconnect/logger" "^2.0.1" + events "^3.3.0" + "@walletconnect/universal-provider@2.10.1": version "2.10.1" resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.10.1.tgz#c4a77bd2eed1a335edae5b2b298636092fff63ef" @@ -4245,6 +4373,27 @@ query-string "7.1.3" uint8arrays "^3.1.0" +"@walletconnect/utils@2.7.3": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.7.3.tgz#0a2c1095b74a747e4966e013e76e785f277a9915" + integrity sha512-ecKnoks3N8CaP5KYIrgJct5YNmvlfp1Ec8BuiXw5Gmta1HFnKpzvjmAG1627XGEfB2UVc9O2Rmbx+UmhuyB5KQ== + dependencies: + "@stablelib/chacha20poly1305" "1.0.1" + "@stablelib/hkdf" "1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/sha256" "1.0.1" + "@stablelib/x25519" "^1.0.3" + "@walletconnect/jsonrpc-utils" "^1.0.7" + "@walletconnect/relay-api" "^1.0.9" + "@walletconnect/safe-json" "^1.0.2" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.7.3" + "@walletconnect/window-getters" "^1.0.1" + "@walletconnect/window-metadata" "^1.0.1" + detect-browser "5.3.0" + query-string "7.1.3" + uint8arrays "^3.1.0" + "@walletconnect/window-getters@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" @@ -4474,6 +4623,11 @@ asynciterator.prototype@^1.0.0: dependencies: has-symbols "^1.0.3" +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + atomic-sleep@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" @@ -4496,6 +4650,15 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== +axios@^1.6.5: + version "1.6.5" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.5.tgz#2c090da14aeeab3770ad30c3a1461bc970fb0cd8" + integrity sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg== + dependencies: + follow-redirects "^1.15.4" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + 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" @@ -4517,6 +4680,11 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" +base-x@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-4.0.0.tgz#d0e3b7753450c73f8ad2389b5c018a4af7b2224a" + integrity sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw== + base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -4546,11 +4714,16 @@ bindings@^1.3.0: dependencies: file-uri-to-path "1.0.0" -bn.js@^5.1.1, bn.js@^5.2.0, bn.js@^5.2.1: +bn.js@5.2.1, bn.js@^5.1.1, bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + borsh@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" @@ -4575,6 +4748,11 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + browserslist@^4.21.10, browserslist@^4.22.2: version "4.22.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" @@ -4585,6 +4763,13 @@ browserslist@^4.21.10, browserslist@^4.22.2: node-releases "^2.0.14" update-browserslist-db "^1.0.13" +bs58@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" + integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== + dependencies: + base-x "^4.0.0" + bs58@^4.0.0, bs58@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" @@ -4780,6 +4965,13 @@ color2k@^2.0.2: resolved "https://registry.yarnpkg.com/color2k/-/color2k-2.0.3.tgz#a771244f6b6285541c82aa65ff0a0c624046e533" integrity sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog== +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -4854,7 +5046,7 @@ crc-32@^1.2.0: resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== -cross-fetch@^3.1.4: +cross-fetch@^3.1.4, cross-fetch@^3.1.5: version "3.1.8" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== @@ -4870,6 +5062,11 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +crypto-js@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" + integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== + css-box-model@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/css-box-model/-/css-box-model-1.2.1.tgz#59951d3b81fd6b2074a62d49444415b0d2b4d7c1" @@ -4956,6 +5153,11 @@ delay@^5.0.0: resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + denque@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1" @@ -5040,6 +5242,19 @@ electron-to-chromium@^1.4.601: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.610.tgz#e17b22203f4aa2e1ed77759c720546d95a51186f" integrity sha512-mqi2oL1mfeHYtOdCxbPQYV/PL7YrQlxbvFEZ0Ee8GbDdShimqt2/S6z2RWqysuvlwdOrQdqvE0KZrBTipAeJzg== +elliptic@6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -5516,6 +5731,16 @@ eth-rpc-errors@^4.0.2: dependencies: fast-safe-stringify "^2.0.6" +ethereum-cryptography@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.0.0.tgz#e052b49fa81affae29402e977b8d3a31f88612b6" + integrity sha512-g25m4EtfQGjstWgVE1aIz7XYYjf3kH5kG17ULWVB5dH6uLahsoltOhACzSxyDV+fhn4gbR4xRrOXGe6r2uh4Bg== + dependencies: + "@noble/curves" "1.0.0" + "@noble/hashes" "1.3.0" + "@scure/bip32" "1.3.0" + "@scure/bip39" "1.2.0" + ethereum-cryptography@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz#18fa7108622e56481157a5cb7c01c0c6a672eb67" @@ -5678,6 +5903,11 @@ focus-lock@^1.0.0: dependencies: tslib "^2.0.3" +follow-redirects@^1.15.4: + version "1.15.4" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.4.tgz#cdc7d308bf6493126b17ea2191ea0ccf3e535adf" + integrity sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw== + for-each@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" @@ -5685,6 +5915,15 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + formdata-polyfill@^4.0.10: version "4.0.10" resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" @@ -5927,7 +6166,7 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -hash.js@^1.1.7: +hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -5947,6 +6186,15 @@ hey-listen@^1.0.8: resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + hoist-non-react-statics@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" @@ -6012,7 +6260,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.4: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -6572,6 +6820,16 @@ lodash@4.17.21, lodash@^4.17.15, lodash@^4.17.21: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +loglevel-plugin-prefix@0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/loglevel-plugin-prefix/-/loglevel-plugin-prefix-0.8.4.tgz#2fe0e05f1a820317d98d8c123e634c1bd84ff644" + integrity sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g== + +loglevel@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" + integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== + loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -6633,6 +6891,18 @@ micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" +mime-db@1.52.0: + 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: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + mime@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" @@ -6643,11 +6913,16 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -minimalistic-assert@^1.0.1: +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" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -7244,6 +7519,11 @@ proxy-compare@2.5.1: resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + punycode@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" @@ -7706,6 +7986,13 @@ rxjs@^6.6.3: dependencies: tslib "^1.9.0" +rxjs@^7.5.2: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + safe-array-concat@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" @@ -8274,6 +8561,13 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" +typed-emitter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/typed-emitter/-/typed-emitter-2.1.0.tgz#ca78e3d8ef1476f228f548d62e04e3d4d3fd77fb" + integrity sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA== + optionalDependencies: + rxjs "^7.5.2" + typedarray-to-buffer@3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"