diff --git a/components/createCandymachine.tsx b/components/createCandymachine.tsx new file mode 100644 index 0000000..04f90fe --- /dev/null +++ b/components/createCandymachine.tsx @@ -0,0 +1,629 @@ +import { useState } from 'react' +import { useWallet } from '@solana/wallet-adapter-react' +import { Connection, clusterApiUrl, Keypair, PublicKey } from '@solana/web3.js' +import { + Metaplex, + walletAdapterIdentity, + CreateCandyMachineInput, + sol, + UsdCurrency +} from '@metaplex-foundation/js' +import { materialRenderers, materialCells } from '@jsonforms/material-renderers' +import { Button } from 'antd' +import bn from 'bn.js' +import { JsonForms } from '@jsonforms/react' +import { BN } from '@project-serum/anchor' +import { NATIVE_MINT } from '@solana/spl-token' +import { toast } from 'react-toastify' + +import {JsonViewer} from '@textea/json-viewer' + + +const schema = { + type: 'object', + properties: { + wallet: { + type: 'string' + }, + goLiveDate: { + type: "string", + format: "date-time", + }, + itemsAvailable: { + type: 'integer' + }, + sellerFeeBasisPoints: { + type: 'integer' + }, + price: { + type: 'number' + }, + tokenMint: { + type: 'string' + }, + symbol: { + type: 'string' + }, + retainAuthority: { + type: 'boolean' + }, + isMutable: { + type: 'boolean' + }, + creators: { + type: 'array', + maxItems: 4, + items: { + types: 'object', + properties: { + address: { + type: 'string' + }, + share: { + type: 'integer' + } + } + } + }, + hiddenSettings: { + type: 'object', + properties: { + name: { + type: 'string' + }, + uri: { + type: 'string' + }, + hash: { + type: 'string' + } + } + }, + gatekeeper: { + type: 'object', + properties: { + gatekeeperNetwork: { + type: 'string' + }, + expireOnUse: { + type: 'boolean' + } + } + }, + endSettings: { + type: 'object', + properties: { + endSettingType: { + type: 'string', + enum: ['Date', 'Amount'] + // need Amount or date object depending on emnum + }, + date: { + type: 'string' + }, + number: { + type: 'integer' + } + } + }, + whitelistMintSettings: { + type: 'object', + properties: { + endSettingType: { + type: 'string', + enum: ['burnEveryTime', 'neverBurn'] + }, + mint: { + type: 'string' + }, + presale: { + type: 'boolean' + }, + discountPrice: { + type: 'number' + } + } + } + }, + required: ['uri'] +} + +const gateKeeperUISchema = { + type: 'VerticalLayout', + elements: [ + { + type: 'Control', + scope: '#/properties/gatekeeper/properties/gatekeeperNetwork', + label: 'Gatekeeper Network' + }, + { + type: 'Control', + scope: '#/properties/gatekeeper/properties/expireOnUse', + label: 'Expire on use?' + } + ] +} + +const whitelistMintUISchema = { + type: 'VerticalLayout', + elements: [ + { + type: 'Control', + scope: '#/properties/whitelistMintSettings/properties/endSettingType', + label: 'End settings type' + }, + { + type: 'Control', + scope: '#/properties/whitelistMintSettings/properties/mint', + label: 'Mint Address' + }, + { + type: 'Control', + scope: '#/properties/whitelistMintSettings/properties/presale', + label: 'Presale?' + }, + { + type: 'Control', + scope: '#/properties/whitelistMintSettings/properties/discountPrice', + label: 'Discount Price?' + } + ] +} + +const splTokenSettingsUISchema = { + type: 'VerticalLayout', + elements: [ + { + type: 'Control', + scope: '#/properties/tokenMint', // token mint + label: 'SPL Token Address' + }, + { + type: 'Control', + scope: '#/properties/wallet', // wallet ata + label: 'Wallet Token Account' + }//, + // { + // type: 'Control', + // scope: '#/properties/hash', // wallet ata + // label: 'Hash (dont edit this unless you know what you\'re doing)' + // } + ] +} + +const hiddenSettingsUISchema = { + type: 'VerticalLayout', + elements: [ + { + type: 'Control', + scope: '#/properties/hiddenSettings/properties/name', + label: 'Name' + }, + { + type: 'Control', + scope: '#/properties/hiddenSettings/properties/uri', + label: 'Metadata URI' + } + ] +} + +const endSettingsUISchema = { + type: 'VerticalLayout', + elements: [ + { + type: 'Control', + scope: '#/properties/endSettings/properties/endSettingType', + label: 'End settings type' + } + ] +} + +const endSettingsDateUISchema = { + type: 'VerticalLayout', + elements: [ + { + type: 'Control', + scope: '#/properties/endSettings/properties/endSettingType', + label: 'End settings type' + }, + { + type: 'Control', + scope: '#/properties/endSettings/properties/date', + label: 'End when?' + } + ] +} + +const endSettingsNumberUISchema = { + type: 'VerticalLayout', + elements: [ + { + type: 'Control', + scope: '#/properties/endSettings/properties/endSettingType', + label: 'End settings type' + }, + { + type: 'Control', + scope: '#/properties/endSettings/properties/number', + label: 'Stop a mint after how many mints?' + } + ] +} + +const uiSchema = { + type: 'VerticalLayout', + elements: [ + { + type: 'Control', + scope: '#/properties/price', + label: 'price' + }, + { + type: 'Control', + scope: '#/properties/itemsAvailable', + label: 'How many?' + }, + { + type: 'Control', + scope: '#/properties/symbol', + label: 'symbol' + }, + { + type: 'Control', + scope: '#/properties/sellerFeeBasisPoints', + label: 'royalty percentage?' + }, + { + type: 'Control', + scope: '#/properties/goLiveDate', + label: 'start time?' + }, + { + type: 'Control', + scope: '#/properties/creators', + label: 'royalty split (max 4, share must add up to 100)' + }, + { + type: 'Control', + scope: '#/properties/retainAuthority', + label: 'retain auth (yes)?' + }, + { + type: 'Control', + scope: '#/properties/isMutable', + label: 'do you want to be able to update these nfts in future?' + } + ] +} + +export const CreateCandyMachine = () => { + const connection = new Connection(clusterApiUrl('mainnet-beta')) + const wallet = useWallet() + + const initData = { + wallet: wallet.publicKey?.toBase58(), + isMutable: true, + retainAuthority: true, + itemsAvailable: 100, + price: 100, + tokenMint: NATIVE_MINT.toBase58(), + sellerFeeBasisPoints: 1000, + symbol: '', + gateKeeper: null, + goLiveDate: null, + endSettings: null, + creators: [ + { address: wallet.publicKey?.toBase58(), share: 100, verified: false } + ] + } + + const [loading, setLoading] = useState(false) + const [data, setData] = useState(initData) + const [step, setStep] = useState(0) + const [showSplTokenMint, setShowSplTokenMint] = useState(false) + const [showGateKeeper, setShowGateKeeper] = useState(false) + const [showHiddenSettings, setShowHiddenSettings] = useState(false) + const [showWhitelistMint, setShowWhitelistMint] = useState(false) + const [showEndSettings, setShowEndSettings] = useState(false) + const metaplex = Metaplex.make(connection).use( + walletAdapterIdentity(wallet) + ) + + + return ( + <> +
+

Create Candy Machine

+ {step == 0 && ( + <> + setData(data)} + /> + + + )} + {step == 1 && ( + <> +
+

Extras?

+
+
+ { + setShowSplTokenMint(!showSplTokenMint) + let tData = data + tData.wallet = wallet.publicKey?.toBase58() + tData.tokenMint = NATIVE_MINT.toBase58() + setData(tData) + }} + /> + + {showSplTokenMint && ( +
+ +
+ )} +
+
+ { + setShowGateKeeper(!showGateKeeper) + let tData = data + tData.gateKeeper = null + setData(tData) + }} + /> + + {showGateKeeper && ( +
+ +
+ )} +
+
+ { + setShowWhitelistMint(!showWhitelistMint) + let tData = data + tData.whitelistMintSettings = null + setData(tData) + }} + /> + + {showWhitelistMint && ( +
+ setData(data)} + /> +
+ )} +
+
+ { + console.log(data) + setShowEndSettings(!showEndSettings) + let tData = data + tData.endSettings = null + setData(tData) + }} + /> + + + {showEndSettings && ( +
+ {!data.endSettings && ( + setData(data)} + /> + )} + + {data.endSettings != 'null' && + data.endSettings?.endSettingType == '' && ( + { + setData(data) + console.log(data) + }} + /> + )} + {data.endSettings != 'null' && + data.endSettings?.endSettingType == 'Date' && ( + setData(data)} + /> + )} + {data.endSettings != 'null' && + data.endSettings?.endSettingType == 'Amount' && ( + setData(data)} + /> + )} +
+ )} +
+
+ { + setShowHiddenSettings(!showHiddenSettings) + if(!showHiddenSettings){ + let tData = data + tData.hiddenSettings = null + setData(tData) + } + }} + /> + + {showHiddenSettings && ( +
+ {' '} + setData(data)} + /> +
+ )} +
+
+
+ + + + )} + + {step == 2 && ( + <> +

next step

+ + + + + )} +
+ + ) +} + +export default CreateCandyMachine diff --git a/components/info.tsx b/components/info.tsx new file mode 100644 index 0000000..ebfbd6c --- /dev/null +++ b/components/info.tsx @@ -0,0 +1,18 @@ +interface InfoInterface { + about: string +} + +export const Info = (params: InfoInterface) => { + + console.log("info about: ", params.about) + + return ( + <> +
+

info about the thing goes here

+
+ + ) +} + +export default Info diff --git a/components/nftDetails.tsx b/components/nftDetails.tsx index af61474..d1918ae 100644 --- a/components/nftDetails.tsx +++ b/components/nftDetails.tsx @@ -6,7 +6,7 @@ interface nftDetailsInterface { export const NftDetails = (props: nftDetailsInterface) => { const { nft } = props - if (!nft) return (<>) + if (!nft) return <> console.log('nft details') console.log(nft) return ( @@ -27,17 +27,29 @@ export const NftDetails = (props: nftDetailsInterface) => { })}

Creators

- {nft.creators.map((creator) => { - if (creator.twitterHandle) - return (

{creator.twitterHandle}  

({creator.address})

) - else - return (

{creator.address}

)})} + {nft.creators.map(creator => { + if (creator.twitterHandle) + return ( +
+

+ {creator.twitterHandle}   +

+

({creator.address})

+
+ ) + else + return ( +
+

{creator.address}

+
+ ) + })}
{nft.attributes.length > 0 && ( <>

Attributes

- {nft.attributes.map((attr,i) => ( + {nft.attributes.map((attr, i) => (

{attr.traitType}

{attr.value}

diff --git a/package.json b/package.json index cd44eb3..bb470f9 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "@solana/wallet-adapter-wallets": "^0.15.4", "@solana/web3.js": "^1.50.0", "@strata-foundation/spl-utils": "^3.9.7", + "@textea/json-viewer": "^2.7.3", "@types/react": "18.0.0", "antd": "^4.20.7", "autoprefixer": "^10.4.4", @@ -50,6 +51,7 @@ "react-dom": "18.1.0", "react-feather": "^2.0.10", "react-hook-form": "^7.27.0", + "react-json-view": "^1.21.3", "react-router-dom": "^6.3.0", "react-select": "^5.4.0", "react-toastify": "^9.0.1", diff --git a/pages/[which].tsx b/pages/[which].tsx index 4c01b7d..ba78dcc 100644 --- a/pages/[which].tsx +++ b/pages/[which].tsx @@ -22,6 +22,7 @@ import Burn from '../components/burn' import client from '../client' import Viewer from '../components/viewer' import NftMint from '../components/nftMinter' +import CreateCandyMachine from '../components/createCandymachine' const navbarLinks = [ { title: 'INDEX', href: '' }, @@ -29,6 +30,7 @@ const navbarLinks = [ { title: 'BURN', href: 'burn' }, { title: 'CHANGE UA', href: 'updateua' }, { title: 'CLOSE ACCTS', href: 'closeaccts' }, + { title: 'CREATE CANDY MACHINES', href: 'createcm' }, { title: 'EDITION PRINTER', href: 'editionprinter' }, { title: 'HOLDER SNAPSHOT', href: 'holdersnapshot' }, { title: 'MASS SEND', href: 'multisend' }, @@ -215,6 +217,9 @@ const Home: NextPage = () => { {connected && allowed && query.which == 'viewer' && ( )} + {connected && allowed && query.which == 'createcm' && ( + + )} {connected && !allowed && (

🚫{' '} diff --git a/yarn.lock b/yarn.lock index 71eb28d..e77b710 100644 --- a/yarn.lock +++ b/yarn.lock @@ -133,6 +133,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" + integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/types@^7.18.6": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f" @@ -230,6 +237,17 @@ "@emotion/weak-memoize" "^0.3.0" stylis "4.0.13" +"@emotion/cache@^11.10.3": + version "11.10.3" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.10.3.tgz#c4f67904fad10c945fea5165c3a5a0583c164b87" + integrity sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ== + dependencies: + "@emotion/memoize" "^0.8.0" + "@emotion/sheet" "^1.2.0" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" + stylis "4.0.13" + "@emotion/hash@^0.8.0": version "0.8.0" resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz" @@ -240,11 +258,32 @@ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7" integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ== +"@emotion/is-prop-valid@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz#7f2d35c97891669f7e276eb71c83376a5dc44c83" + integrity sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg== + dependencies: + "@emotion/memoize" "^0.8.0" + "@emotion/memoize@^0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.0.tgz#f580f9beb67176fa57aae70b08ed510e1b18980f" integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== +"@emotion/react@^11.10.4": + version "11.10.4" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.4.tgz#9dc6bccbda5d70ff68fdb204746c0e8b13a79199" + integrity sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.10.0" + "@emotion/cache" "^11.10.0" + "@emotion/serialize" "^1.1.0" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" + hoist-non-react-statics "^3.3.1" + "@emotion/react@^11.8.1": version "11.10.0" resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.0.tgz#53c577f063f26493f68a05188fb87528d912ff2e" @@ -274,11 +313,28 @@ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.0.tgz#771b1987855839e214fc1741bde43089397f7be5" integrity sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w== +"@emotion/styled@^11.10.4": + version "11.10.4" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.10.4.tgz#e93f84a4d54003c2acbde178c3f97b421fce1cd4" + integrity sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.10.0" + "@emotion/is-prop-valid" "^1.2.0" + "@emotion/serialize" "^1.1.0" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + "@emotion/unitless@^0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.0.tgz#a4a36e9cbdc6903737cd20d38033241e1b8833db" integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw== +"@emotion/use-insertion-effect-with-fallbacks@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz#ffadaec35dbb7885bd54de3fa267ab2f860294df" + integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A== + "@emotion/utils@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.0.tgz#9716eaccbc6b5ded2ea5a90d65562609aab0f561" @@ -1147,6 +1203,99 @@ crypto-hash "^1.3.0" form-data "^4.0.0" +"@mui/base@5.0.0-alpha.99": + version "5.0.0-alpha.99" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.99.tgz#52589c72b6bf69e016e5811292529d60f81537ad" + integrity sha512-D04H6O1c0Jv561yI0SVbpa8MpqpW3G43CwJxV2o6ALfI0DMJ45w07dGafmDchb6aCWTRTdggd3rjgmuzyNwPiQ== + dependencies: + "@babel/runtime" "^7.19.0" + "@emotion/is-prop-valid" "^1.2.0" + "@mui/types" "^7.2.0" + "@mui/utils" "^5.10.6" + "@popperjs/core" "^2.11.6" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@mui/core-downloads-tracker@^5.10.7": + version "5.10.7" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.7.tgz#b0dd472438cf769ba10c44ce44b35b597bfa0e17" + integrity sha512-3N0UYVy3MbrHzM3j6f7fIUCZ+bQ1/sSZq143tLxwSssW3Z4AqE83brpr5flEY1Lx+Aowv/cPyQMmZxzRlFCGqw== + +"@mui/icons-material@^5.10.6": + version "5.10.6" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.10.6.tgz#a032395cfe7fe8e9a8edde2d27b9e3bd23e5b935" + integrity sha512-QwxdRmLA46S94B0hExPDx0td+A2unF+33bQ6Cs+lNpJKVsm1YeHwNdYXYcnpWeHeQQ07055OXl7IB2GKDd0MfA== + dependencies: + "@babel/runtime" "^7.19.0" + +"@mui/material@^5.10.6": + version "5.10.7" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.10.7.tgz#08e72c554bd528f9f5fef604eea542551f9e5986" + integrity sha512-o1jcQGii+q7ORrXhBiMmGzFDaboc1qTgOOC3zDW+NR9ryVzWzL7qEeqoORbgDB5zk9OBsXCjB91fUH/ls5xMwg== + dependencies: + "@babel/runtime" "^7.19.0" + "@mui/base" "5.0.0-alpha.99" + "@mui/core-downloads-tracker" "^5.10.7" + "@mui/system" "^5.10.7" + "@mui/types" "^7.2.0" + "@mui/utils" "^5.10.6" + "@types/react-transition-group" "^4.4.5" + clsx "^1.2.1" + csstype "^3.1.1" + prop-types "^15.8.1" + react-is "^18.2.0" + react-transition-group "^4.4.5" + +"@mui/private-theming@^5.10.6": + version "5.10.6" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.10.6.tgz#2c6bb2a4b7034cd402a099bd0349f217584e7b25" + integrity sha512-I/W0QyTLRdEx6py3lKAquKO/rNF/7j+nIOM/xCyI9kU0fcotVTcTY08mKMsS6vrzdWpi6pAkD0wP0KwWy5R5VA== + dependencies: + "@babel/runtime" "^7.19.0" + "@mui/utils" "^5.10.6" + prop-types "^15.8.1" + +"@mui/styled-engine@^5.10.7": + version "5.10.7" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.10.7.tgz#0080319577aec765590e3c2272f6629427a65eb0" + integrity sha512-CCrtW+vvCKEm6pOE/QcutQ+ORC/iE6D1ghscN4l7LE2JXPvTXO/z0yu8Wxug1JEDlWm4r1Qa0PzJe1P9bjKzNA== + dependencies: + "@babel/runtime" "^7.19.0" + "@emotion/cache" "^11.10.3" + csstype "^3.1.1" + prop-types "^15.8.1" + +"@mui/system@^5.10.7": + version "5.10.7" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.10.7.tgz#c13e5d135967e9689c473a66db4695ff78012701" + integrity sha512-kwyhjjKGsgtBRFl6vSqidDZcNKU5S1juTgm4Xi2fyWxaEbIQb9Sh9y0iVP2bNCJzgDr0alLaENOZOEaDWHISAQ== + dependencies: + "@babel/runtime" "^7.19.0" + "@mui/private-theming" "^5.10.6" + "@mui/styled-engine" "^5.10.7" + "@mui/types" "^7.2.0" + "@mui/utils" "^5.10.6" + clsx "^1.2.1" + csstype "^3.1.1" + prop-types "^15.8.1" + +"@mui/types@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.0.tgz#91380c2d42420f51f404120f7a9270eadd6f5c23" + integrity sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA== + +"@mui/utils@^5.10.6": + version "5.10.6" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.10.6.tgz#98d432d2b05544c46efe356cf095cea3a37c2e59" + integrity sha512-g0Qs8xN/MW2M3fLL8197h5J2VB9U+49fLlnKKqC6zy/yus5cZwdT+Gwec+wUMxgwQoxMDn+J8oDWAn28kEOR/Q== + dependencies: + "@babel/runtime" "^7.19.0" + "@types/prop-types" "^15.7.5" + "@types/react-is" "^16.7.1 || ^17.0.0" + prop-types "^15.8.1" + react-is "^18.2.0" + "@multiformats/murmur3@^1.0.3": version "1.1.3" resolved "https://registry.npmjs.org/@multiformats/murmur3/-/murmur3-1.1.3.tgz" @@ -1253,6 +1402,11 @@ resolved "https://registry.npmjs.org/@pedrouid/environment/-/environment-1.0.1.tgz" integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug== +"@popperjs/core@^2.11.6": + version "2.11.6" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" + integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== + "@project-serum/anchor@^0.11.1": version "0.11.1" resolved "https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.11.1.tgz#155bff2c70652eafdcfd5559c81a83bb19cec9ff" @@ -1885,6 +2039,19 @@ resolved "https://registry.yarnpkg.com/@supercharge/promise-pool/-/promise-pool-2.3.0.tgz#9528b11d69a63ff2a342d404afb13cd011c9651a" integrity sha512-KLf3JBWW4JymplvT/c5JCZhc4KrNE9EBf15FPjvklQiGcoUczSLInpV23iV5dITnvktJlwQ5xq08wfNwBk71Rg== +"@textea/json-viewer@^2.7.3": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@textea/json-viewer/-/json-viewer-2.7.3.tgz#dd26f34e8ebb68a3c2d1b7fee245459d0d76c5cb" + integrity sha512-RUJRSynaM+ZmsITwqUWBI/qAx5AYBFfSzUTnP1aL9ycBmmlcwkt114QZlKMcM4UKMsqtmpfTrewuDBr8RvJV+g== + dependencies: + "@emotion/react" "^11.10.4" + "@emotion/styled" "^11.10.4" + "@mui/icons-material" "^5.10.6" + "@mui/material" "^5.10.6" + copy-to-clipboard "^3.3.2" + group-items "^2.2.0" + zustand "^4.1.1" + "@toruslabs/base-controllers@^1.4.2": version "1.6.13" resolved "https://registry.npmjs.org/@toruslabs/base-controllers/-/base-controllers-1.6.13.tgz" @@ -2091,6 +2258,11 @@ resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz" integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== +"@types/prop-types@^15.7.5": + version "15.7.5" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + "@types/qs@*": version "6.9.7" resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" @@ -2115,7 +2287,14 @@ dependencies: "@types/react" "^17" -"@types/react-transition-group@^4.2.0", "@types/react-transition-group@^4.4.0": +"@types/react-is@^16.7.1 || ^17.0.0": + version "17.0.3" + resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-17.0.3.tgz#2d855ba575f2fc8d17ef9861f084acc4b90a137a" + integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw== + dependencies: + "@types/react" "*" + +"@types/react-transition-group@^4.2.0", "@types/react-transition-group@^4.4.0", "@types/react-transition-group@^4.4.5": version "4.4.5" resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.5.tgz#aae20dcf773c5aa275d5b9f7cdbca638abc5e416" integrity sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA== @@ -2619,7 +2798,7 @@ arweave@^1.10.13, arweave@^1.11.4: bignumber.js "^9.0.2" util "^0.12.4" -asap@^2.0.0: +asap@^2.0.0, asap@~2.0.3: version "2.0.6" resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== @@ -2759,6 +2938,11 @@ base-x@^4.0.0: resolved "https://registry.yarnpkg.com/base-x/-/base-x-4.0.0.tgz#d0e3b7753450c73f8ad2389b5c018a4af7b2224a" integrity sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw== +base16@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" + integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ== + base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" @@ -3202,7 +3386,7 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== -clsx@^1.0.2: +clsx@^1.0.2, clsx@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== @@ -3303,6 +3487,13 @@ copy-to-clipboard@^3.2.0: dependencies: toggle-selection "^1.0.6" +copy-to-clipboard@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.2.tgz#5b263ec2366224b100181dded7ce0579b340c107" + integrity sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg== + dependencies: + toggle-selection "^1.0.6" + core-js-pure@^3.20.2: version "3.21.1" resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz" @@ -3417,6 +3608,11 @@ csstype@^3.0.2: resolved "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz" integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== +csstype@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" + integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== + csv-generate@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/csv-generate/-/csv-generate-4.2.0.tgz#06e23634415c1d5a7cb111102bbea868b0857e6f" @@ -3520,6 +3716,13 @@ decamelize@^1.1.0, decamelize@^1.2.0: resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== +deep-eql@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.1.tgz#b1154ea8c95012d9f23f37f4eecfd2ee8e5b9323" + integrity sha512-rc6HkZswtl+KMi/IODZ8k7C/P37clC2Rf1HYI11GqdbgvggIyHjsU5MdjlTlaP6eu24c0sR3mcW2SqsVZ1sXUw== + dependencies: + type-detect "^4.0.0" + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" @@ -4227,6 +4430,31 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fbemitter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" + integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== + dependencies: + fbjs "^3.0.0" + +fbjs-css-vars@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" + integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== + +fbjs@^3.0.0, fbjs@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.4.tgz#e1871c6bd3083bac71ff2da868ad5067d37716c6" + integrity sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ== + dependencies: + cross-fetch "^3.1.5" + fbjs-css-vars "^1.0.0" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.30" + feather-icons@^4.29.0: version "4.29.0" resolved "https://registry.yarnpkg.com/feather-icons/-/feather-icons-4.29.0.tgz#4e40e3cbb7bf359ffbbf700edbebdde4e4a74ab6" @@ -4301,6 +4529,14 @@ flatted@^3.1.0: resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz" integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== +flux@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/flux/-/flux-4.0.3.tgz#573b504a24982c4768fdfb59d8d2ea5637d72ee7" + integrity sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw== + dependencies: + fbemitter "^3.0.0" + fbjs "^3.0.1" + follow-redirects@^1.14.0: version "1.14.9" resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz" @@ -4509,6 +4745,13 @@ graphql@^16.4.0: resolved "https://registry.npmjs.org/graphql/-/graphql-16.4.0.tgz" integrity sha512-tYDNcRvKCcfHREZYje3v33NSrSD/ZpbWWdPtBtUUuXx9NCo/2QDxYzNqCnMvfsrnbwRpEHMovVrPu/ERoLrIRg== +group-items@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/group-items/-/group-items-2.2.0.tgz#38fe35d5d1fb3d670dde55d74b3582b8ba268e16" + integrity sha512-lpY+zRs0sFoQoLHRdZn2nb0XJR6ReCuyouR7nmHB2PajS4BZE6JFb2HG+ZCSE9Tf34WdKcLV3AC0tp6J0wuCuA== + dependencies: + deep-eql "^4.0.0" + hamt-sharding@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/hamt-sharding/-/hamt-sharding-2.0.1.tgz" @@ -5497,6 +5740,16 @@ lodash.clonedeep@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== +lodash.curry@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" + integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== + +lodash.flow@^3.3.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" + integrity sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw== + lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" @@ -5535,7 +5788,7 @@ long@^4.0.0: resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== -loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -5985,7 +6238,7 @@ o3@^1.0.3: dependencies: capability "^0.2.5" -object-assign@^4, object-assign@^4.1.1: +object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -6408,7 +6661,14 @@ promise-retry@^2.0.1: err-code "^2.0.2" retry "^0.12.0" -prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +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.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -6456,6 +6716,11 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +pure-color@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" + integrity sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA== + qs@6.9.3: version "6.9.3" resolved "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz" @@ -6874,6 +7139,16 @@ rc-virtual-list@^3.2.0, rc-virtual-list@^3.4.2: rc-resize-observer "^1.0.0" rc-util "^5.15.0" +react-base16-styling@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" + integrity sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ== + dependencies: + base16 "^1.0.0" + lodash.curry "^4.0.1" + lodash.flow "^3.3.0" + pure-color "^1.2.0" + react-confetti-explosion@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/react-confetti-explosion/-/react-confetti-explosion-1.0.3.tgz" @@ -6913,6 +7188,26 @@ react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0: resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-json-view@^1.21.3: + version "1.21.3" + resolved "https://registry.yarnpkg.com/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" + integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== + dependencies: + flux "^4.0.1" + react-base16-styling "^0.6.0" + react-lifecycles-compat "^3.0.4" + react-textarea-autosize "^8.3.2" + +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + react-native-fetch-api@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-2.0.0.tgz" @@ -6955,6 +7250,15 @@ react-select@^5.4.0: prop-types "^15.6.0" react-transition-group "^4.3.0" +react-textarea-autosize@^8.3.2: + version "8.3.4" + resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz#270a343de7ad350534141b02c9cb78903e553524" + integrity sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ== + dependencies: + "@babel/runtime" "^7.10.2" + use-composed-ref "^1.3.0" + use-latest "^1.2.1" + react-toastify@^9.0.1: version "9.0.1" resolved "https://registry.npmjs.org/react-toastify/-/react-toastify-9.0.1.tgz" @@ -6982,6 +7286,16 @@ react-transition-group@^4.3.0: loose-envify "^1.4.0" prop-types "^15.6.2" +react-transition-group@^4.4.5: + version "4.4.5" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react@18.1.0: version "18.1.0" resolved "https://registry.yarnpkg.com/react/-/react-18.1.0.tgz#6f8620382decb17fdc5cc223a115e2adbf104890" @@ -7891,6 +8205,11 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-detect@^4.0.0: + 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== + type-fest@^0.18.0: version "0.18.1" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" @@ -7926,6 +8245,11 @@ u3@^0.1.1: resolved "https://registry.yarnpkg.com/u3/-/u3-0.1.1.tgz#5f52044f42ee76cd8de33148829e14528494b73b" integrity sha512-+J5D5ir763y+Am/QY6hXNRlwljIeRMZMGs0cT6qqZVVzzT3X3nFPXVyPOFRMOR4kupB0T8JnCdpWdp6Q/iXn3w== +ua-parser-js@^0.7.30: + version "0.7.31" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" + integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== + uint8arrays@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz" @@ -7963,6 +8287,28 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +use-composed-ref@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" + integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== + +use-isomorphic-layout-effect@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" + integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== + +use-latest@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2" + integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== + dependencies: + use-isomorphic-layout-effect "^1.1.1" + +use-sync-external-store@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + utf-8-validate@^5.0.2: version "5.0.9" resolved "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz" @@ -8212,3 +8558,10 @@ zen-observable@0.8.15: version "0.8.15" resolved "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz" integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== + +zustand@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.1.1.tgz#5a61cc755a002df5f041840a414ae6e9a99ee22b" + integrity sha512-h4F3WMqsZgvvaE0n3lThx4MM81Ls9xebjvrABNzf5+jb3/03YjNTSgZXeyrvXDArMeV9untvWXRw1tY+ntPYbA== + dependencies: + use-sync-external-store "1.2.0"