diff --git a/api/market_data.js b/api/market_data.js new file mode 100644 index 0000000000..59f3664ce7 --- /dev/null +++ b/api/market_data.js @@ -0,0 +1,106 @@ +// Dia to Coingecko names +const tickers = { + "Tether USD": "tether", + "Acala USD": "acala-dollar", + "BNB": "binancecoin", + "Wrapped BTC": "wrapped-bitcoin", + "Dai Stablecoin": "dai", + "Ether": "ethereum", + "USD Coin": "usd-coin", + "tBTC v2": "tbtc", + "Voucher Dot": "voucher-dot", + "Voucher KSM": "voucher-ksm" +} + +// Coingecko to Dia asset ids +const dia_assets = { + "bitcoin": "/Bitcoin/0x0000000000000000000000000000000000000000", + "ethereum": "/Ethereum/0x0000000000000000000000000000000000000000", + "interlay": "/Interlay/0x0000000000000000000000000000000000000000", + "polkadot": "/Polkadot/0x0000000000000000000000000000000000000000", + "kusama": "/Kusama/0x0000000000000000000000000000000000000000", + "kintsugi": "/Kintsugi/Token:KINT", + "acala-dollar": "/Acala/Token:AUSD", + "karura": "/Bifrost/518", + "tether": "/Ethereum/0xdAC17F958D2ee523a2206206994597C13D831ec7", + "voucher-dot": "/Bifrost-polkadot/2304", + "voucher-ksm": "/Bifrost/260", + "binancecoin": "/Ethereum/0xB8c77482e45F1F44dE1745F52C74426C631bDD52", + "bnb": "/Ethereum/0xB8c77482e45F1F44dE1745F52C74426C631bDD52", + "tbtc": "/Ethereum/0x18084fbA666a33d37592fA2633fD49a74DD93a88", + "dai": "/Ethereum/0x6B175474E89094C44Da98b954EedeAC495271d0F", + "moonbeam": "/Moonbeam/0x0000000000000000000000000000000000000000", + "usd-coin": "/Ethereum/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "wrapped-bitcoin": "/Ethereum/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599" +} + +const fetchDiaAsset = async (asset) => { + try { + if (!dia_assets[asset]) { + console.log('Missing DIA asset: ', asset) + return coingecko({ ids: [asset], vs_currencies: ["usd"] }) + } + const url = 'https://api.diadata.org/v1/assetQuotation' + dia_assets[asset] + const response = await fetch(url, { headers: { "accept": "application/json" } }) + if (!response.ok) { + throw new Error(response.status) + } + const json = await response.json() + + // optionally rename the ticker + const name = (tickers[json.Name] ?? json.Name).toLowerCase() + return { + [name]: { + 'usd': json.Price + } + } + } catch (error) { + console.log(error) + } +} + +const dia = async (args) => { + const assets = args.ids.split(',') + + return Promise + .all(assets.map(x => fetchDiaAsset(x))) + .then(x => x.reduce((map, obj) => { + // we need to convert the list to an object + const k = Object.keys(obj)[0] + map[k] = obj[k] + return map + }, {})) +} + +const coingecko = async (args) => { + const url = 'https://api.coingecko.com/api/v3/simple/price?' + new URLSearchParams(args) + const response = await fetch(url, { headers: { "accept": "application/json" } }) + return await response.json() +} + +const fetchPrices = (priceSource, args) => { + if (priceSource === 'coingecko') { + return coingecko(args) + } else if (priceSource === 'dia') { + return dia(args) + } else { + try { + return dia(args) + } catch (error) { + console.log(error) + return coingecko(args) + } + } +} + +export default async function (request, response) { + const args = request.query + const priceSource = args['price-source'] + + const resp = await fetchPrices(priceSource, args) + return response + .status(200) + .setHeader("content-type", "application/json") + .setHeader("cache-control", "public, maxage=0, s-maxage=300") + .json(resp) +} diff --git a/api/market_data.py b/api/market_data.py deleted file mode 100644 index 6c2c7eeae3..0000000000 --- a/api/market_data.py +++ /dev/null @@ -1,106 +0,0 @@ -from flask import Flask, request, jsonify -from flask_cors import CORS -import requests -import os - -app = Flask(__name__) -CORS(app) - -api_key = os.environ.get("CG_API_KEY") - -tickers = { - "Tether USD": "tether", - "Acala USD": "acala-dollar" -} - -# map coingecko ids to dia ids -dia_assets = { - "bitcoin": "/Bitcoin/0x0000000000000000000000000000000000000000", - "ethereum": "/Ethereum/0x0000000000000000000000000000000000000000", - "interlay": "/Interlay/0x0000000000000000000000000000000000000000", - "polkadot": "/Polkadot/0x0000000000000000000000000000000000000000", - "kusama": "/Kusama/0x0000000000000000000000000000000000000000", - "kintsugi": "/Kintsugi/Token:KINT", - "acala-dollar": "/Acala/Token:AUSD", - "karura": "/Bifrost/518", - "tether": "/Ethereum/0xdAC17F958D2ee523a2206206994597C13D831ec7", - "voucher-dot": "/Bifrost-polkadot/2304", - "binancecoin": "/Ethereum/0xB8c77482e45F1F44dE1745F52C74426C631bDD52", - "bnb": "/Ethereum/0xB8c77482e45F1F44dE1745F52C74426C631bDD52", - "tbtc": "/Ethereum/0x18084fbA666a33d37592fA2633fD49a74DD93a88", - "dai": "/Ethereum/0x6B175474E89094C44Da98b954EedeAC495271d0F", -} - -@app.after_request -def add_header(response): - response.cache_control.max_age = 0 - response.cache_control.s_maxage = 300 - return response - -def coingecko(args): - headers_dict = { - "content-type": "application/json", - "accept": "application/json" - } - url = "https://api.coingecko.com/api/v3/simple/price" - resp = requests.get(url, params=args, headers=headers_dict) - data = resp.json() - return data - -def dia(asset): - headers_dict = { - "content-type": "application/json", - "accept": "application/json" - } - - url = "https://api.diadata.org/v1/assetQuotation" - try: - url += dia_assets[asset] - resp = requests.get(url, headers=headers_dict) - data = resp.json() - - # optionally rename the ticker - ticker = tickers.get(data["Name"], data["Name"]).lower() - - return { - ticker: { - "usd": data["Price"], - } - } - except KeyError: - try: - return coingecko({"ids": [asset], "vs_currencies": ["usd"]}) - except Exception as e: - print("Coingecko error", e) - return { asset: None } - - -@app.route("/marketdata/price", methods=["GET"]) -def get_price(): - args = request.args - - price_source = args.get('price-source') - - data = {} - - def _dia(): - ticker_ids = args["ids"].split(",") - for ticker_id in ticker_ids: - data.update(dia(ticker_id)) - - if price_source == "dia": - _dia() - elif price_source == "coingecko": - data = coingecko(args) - else: - try: - _dia() - except Exception as e: - print("Error", e) - data = coingecko(args) - - return jsonify(data) - - -if __name__ == "__main__": - app.run() diff --git a/package.json b/package.json index 4bb28ed380..573947a1a2 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,18 @@ { "name": "interbtc-ui", - "version": "2.38.1", + "version": "2.39.1", "private": true, "dependencies": { "@craco/craco": "^6.1.1", "@headlessui/react": "^1.1.1", "@heroicons/react": "^2.0.18", - "@interlay/bridge": "^0.3.13", - "@interlay/interbtc-api": "2.4.3", + "@interlay/bridge": "^0.4.0", + "@interlay/interbtc-api": "2.5.1", "@interlay/monetary-js": "0.7.3", - "@polkadot/api": "9.14.2", - "@polkadot/extension-dapp": "0.44.1", - "@polkadot/react-identicon": "^2.11.1", - "@polkadot/ui-keyring": "^2.9.7", + "@polkadot/api": "10.9.1", + "@polkadot/extension-dapp": "^0.46.5", + "@polkadot/react-identicon": "^3.6.2", + "@polkadot/ui-keyring": "^3.6.2", "@reach/tooltip": "^0.16.0", "@react-aria/accordion": "^3.0.0-alpha.14", "@react-aria/breadcrumbs": "^3.5.3", @@ -91,7 +91,7 @@ "@commitlint/cli": "^16.2.4", "@commitlint/config-conventional": "^16.2.4", "@open-wc/webpack-import-meta-loader": "^0.4.7", - "@polkadot/types": "9.14.2", + "@polkadot/types": "10.9.1", "@react-types/grid": "^3.1.2", "@react-types/shared": "^3.14.0", "@storybook/addon-actions": "^6.5.9", @@ -135,27 +135,12 @@ "webpack-bundle-analyzer": "^4.4.0" }, "resolutions": { + "@acala-network/api": "5.1.2-7", + "@acala-network/eth-providers": "2.6.10", "babel-loader": "8.1.0", "bn.js": "4.12.0", "react-error-overlay": "6.0.9", - "styled-components": "^5", - "@types/history": "^4.7.1", - "@polkadot/api": "^9.14.2", - "@polkadot/api-augment": "^9.14.2", - "@polkadot/api-base": "^9.14.2", - "@polkadot/api-contract": "^9.14.2", - "@polkadot/api-derive": "^9.14.2", - "@polkadot/rpc-augment": "^9.14.2", - "@polkadot/rpc-core": "^9.14.2", - "@polkadot/rpc-provider": "^9.14.2", - "@polkadot/types": "^9.14.2", - "@polkadot/types-augment": "^9.14.2", - "@polkadot/types-codec": "^9.14.2", - "@polkadot/types-create": "^9.14.2", - "@polkadot/types-known": "^9.14.2", - "@polkadot/types-support": "^9.14.2", - "@polkadot/util": "^10.2.4", - "@polkadot/util-crypto": "^10.2.4" + "@types/history": "^4.7.1" }, "scripts": { "start": "NODE_OPTIONS=--openssl-legacy-provider craco start", diff --git a/src/component-library/CoinIcon/CoinIcon.tsx b/src/component-library/CoinIcon/CoinIcon.tsx index 11276bd4f4..112bfebeac 100644 --- a/src/component-library/CoinIcon/CoinIcon.tsx +++ b/src/component-library/CoinIcon/CoinIcon.tsx @@ -17,15 +17,22 @@ type CoinIconProps = Props & NativeAttrs; const CoinIcon = forwardRef( ({ ticker, tickers, ...props }, ref): JSX.Element => { + // TODO: The change to support wormhole assets means that some tickers include a `.wh` suffix. + // Our code assumes tickers only include letters. The proper fix is to support tickers with a suffix, + // so this is a temporary fix until we find time to do that work. For now the only ticker formats we + // have are XXXX and XXXX.wh so splitting and using the first substring will work. + const tickerSubstring = ticker.split('.')[0]; + // Only want to render multi-token if has more than 1 ticker if (tickers && tickers?.length > 1) { - return ; + const tickersSubstrings = tickers.map((ticker) => ticker.split('.')[0]); + return ; } - const CoinIcon = coins[ticker]; + const CoinIcon = coins[tickerSubstring]; if (!CoinIcon) { - return ; + return ; } return ; diff --git a/src/component-library/CoinIcon/icons/DAI.tsx b/src/component-library/CoinIcon/icons/DAI.tsx new file mode 100644 index 0000000000..86b544c80b --- /dev/null +++ b/src/component-library/CoinIcon/icons/DAI.tsx @@ -0,0 +1,28 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const DAI = forwardRef((props, ref) => ( + + DAI + + + + + + + + + + +)); + +DAI.displayName = 'DAI'; + +export { DAI }; diff --git a/src/component-library/CoinIcon/icons/GLMR.tsx b/src/component-library/CoinIcon/icons/GLMR.tsx new file mode 100644 index 0000000000..2d52dd42f3 --- /dev/null +++ b/src/component-library/CoinIcon/icons/GLMR.tsx @@ -0,0 +1,36 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const GLMR = forwardRef((props, ref) => ( + + GLMR + + + + + + + + + + + + + + + + + + +)); + +GLMR.displayName = 'GLMR'; + +export { GLMR }; diff --git a/src/component-library/CoinIcon/icons/TBTC.tsx b/src/component-library/CoinIcon/icons/TBTC.tsx new file mode 100644 index 0000000000..748a79cc00 --- /dev/null +++ b/src/component-library/CoinIcon/icons/TBTC.tsx @@ -0,0 +1,25 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const TBTC = forwardRef((props, ref) => ( + + TBTC + + + + + + +)); + +TBTC.displayName = 'TBTC'; + +export { TBTC }; diff --git a/src/component-library/CoinIcon/icons/USDC.tsx b/src/component-library/CoinIcon/icons/USDC.tsx new file mode 100644 index 0000000000..5d61c399eb --- /dev/null +++ b/src/component-library/CoinIcon/icons/USDC.tsx @@ -0,0 +1,29 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const USDC = forwardRef((props, ref) => ( + + USDC + + + + + + + + + + + +)); + +USDC.displayName = 'USDC'; + +export { USDC }; diff --git a/src/component-library/CoinIcon/icons/VDOT.tsx b/src/component-library/CoinIcon/icons/VDOT.tsx new file mode 100644 index 0000000000..4171f21ee1 --- /dev/null +++ b/src/component-library/CoinIcon/icons/VDOT.tsx @@ -0,0 +1,54 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const VDOT = forwardRef((props, ref) => ( + + VDOT + + + + + + + + + + + + + + + + + + + + + + + + + + + + +)); + +VDOT.displayName = 'VDOT'; + +export { VDOT }; diff --git a/src/component-library/CoinIcon/icons/WBNB.tsx b/src/component-library/CoinIcon/icons/WBNB.tsx new file mode 100644 index 0000000000..28844d6ccc --- /dev/null +++ b/src/component-library/CoinIcon/icons/WBNB.tsx @@ -0,0 +1,39 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const WBNB = forwardRef((props, ref) => ( + + WBNB + + + + + + + + + + + + + +)); + +WBNB.displayName = 'WBNB'; + +export { WBNB }; diff --git a/src/component-library/CoinIcon/icons/WBTC.tsx b/src/component-library/CoinIcon/icons/WBTC.tsx new file mode 100644 index 0000000000..7093d45123 --- /dev/null +++ b/src/component-library/CoinIcon/icons/WBTC.tsx @@ -0,0 +1,28 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const WBTC = forwardRef((props, ref) => ( + + WBTC + + + + + +)); + +WBTC.displayName = 'WBTC'; + +export { WBTC }; diff --git a/src/component-library/CoinIcon/icons/WETH.tsx b/src/component-library/CoinIcon/icons/WETH.tsx new file mode 100644 index 0000000000..87cac93d50 --- /dev/null +++ b/src/component-library/CoinIcon/icons/WETH.tsx @@ -0,0 +1,50 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const WETH = forwardRef((props, ref) => ( + + WETH + + + + + + + + + + + + + + + +)); + +WETH.displayName = 'WETH'; + +export { WETH }; diff --git a/src/component-library/CoinIcon/icons/index.ts b/src/component-library/CoinIcon/icons/index.ts index fc94af8105..a91c938782 100644 --- a/src/component-library/CoinIcon/icons/index.ts +++ b/src/component-library/CoinIcon/icons/index.ts @@ -1,7 +1,9 @@ export { AUSD } from './AUSD'; export { BTC } from './BTC'; +export { DAI } from './DAI'; export { DOT } from './DOT'; export { ETH } from './ETH'; +export { GLMR } from './GLMR'; export { IBTC } from './IBTC'; export { INTR } from './INTR'; export { KAR } from './KAR'; @@ -21,5 +23,11 @@ export { qKSM } from './qKSM'; export { qMOVR } from './qMOVR'; export { qUSDT } from './qUSDT'; export { SKSM } from './SKSM'; +export { TBTC } from './TBTC'; +export { USDC } from './USDC'; export { USDT } from './USDT'; +export { VDOT } from './VDOT'; export { VKSM } from './VKSM'; +export { WBNB } from './WBNB'; +export { WBTC } from './WBTC'; +export { WETH } from './WETH'; diff --git a/src/component-library/CoinIcon/utils.ts b/src/component-library/CoinIcon/utils.ts index 04f540e234..9146090662 100644 --- a/src/component-library/CoinIcon/utils.ts +++ b/src/component-library/CoinIcon/utils.ts @@ -1,8 +1,10 @@ import { AUSD, BTC, + DAI, DOT, ETH, + GLMR, IBTC, INTR, KAR, @@ -22,35 +24,49 @@ import { qMOVR, qUSDT, SKSM, + TBTC, + USDC, USDT, - VKSM + VDOT, + VKSM, + WBNB, + WBTC, + WETH } from './icons'; import { CoinComponent } from './types'; export const coins: Record = { + AUSD, BTC, + DAI, DOT, + ETH, + GLMR, IBTC, INTR, + KAR, KBTC, KINT, KSM, LDOT, LKSM, - USDT, - VKSM, LSKSM, MOVR, - SKSM, - qUSDT, - qKINT, - qKBTC, - qKSM, - qMOVR, - AUSD, - KAR, qDOT, qIBTC, qINTR, - ETH + qKBTC, + qKINT, + qKSM, + qMOVR, + qUSDT, + SKSM, + TBTC, + USDC, + USDT, + VDOT, + VKSM, + WBNB, + WBTC, + WETH }; diff --git a/src/component-library/WalletIcon/icons/SubWallet.tsx b/src/component-library/WalletIcon/icons/SubWallet.tsx index 6c760f802a..1e7ba71020 100644 --- a/src/component-library/WalletIcon/icons/SubWallet.tsx +++ b/src/component-library/WalletIcon/icons/SubWallet.tsx @@ -3,95 +3,33 @@ import { forwardRef } from 'react'; import { Icon, IconProps } from '@/component-library/Icon'; const SubWallet = forwardRef((props, ref) => ( - + SubWallet - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + )); diff --git a/src/components/AccountSelect/AccountSelect.tsx b/src/components/AccountSelect/AccountSelect.tsx index d00b83f64d..38a9ac8f57 100644 --- a/src/components/AccountSelect/AccountSelect.tsx +++ b/src/components/AccountSelect/AccountSelect.tsx @@ -1,15 +1,14 @@ -import { InjectedAccountWithMeta } from '@polkadot/extension-inject/types'; - import { Item, Select, SelectProps } from '@/component-library'; +import { KeyringPair } from '@/lib/substrate'; import { AccountItem } from './AccountItem'; -type AccountSelectProps = Omit, 'children' | 'type'>; +type AccountSelectProps = Omit, 'children' | 'type'>; const AccountSelect = ({ ...props }: AccountSelectProps): JSX.Element => { return ( - {...props} type='modal' modalTitle='Select Account' size='large'> - {(data: InjectedAccountWithMeta) => ( + {...props} type='modal' modalTitle='Select Account' size='large'> + {(data: KeyringPair) => ( diff --git a/src/components/AuthModal/AccountStep.tsx b/src/components/AuthModal/AccountStep.tsx index 7a28cfabbe..1d5d175f8f 100644 --- a/src/components/AuthModal/AccountStep.tsx +++ b/src/components/AuthModal/AccountStep.tsx @@ -1,4 +1,3 @@ -import { InjectedAccountWithMeta } from '@polkadot/extension-inject/types'; import { mergeProps } from '@react-aria/utils'; import { useTranslation } from 'react-i18next'; import { useCopyToClipboard } from 'react-use'; @@ -14,7 +13,7 @@ import { StepComponentProps, withStep } from '@/utils/hocs/step'; import { StyledAccountItem, StyledCopyItem, StyledP } from './AuthModal.style'; import { AuthModalSteps } from './types'; -type CopyAddressProps = { account: InjectedAccountWithMeta }; +type CopyAddressProps = { account: KeyringPair }; const CopyAddress = ({ account }: CopyAddressProps) => { const [, copy] = useCopyToClipboard(); @@ -36,11 +35,11 @@ const CopyAddress = ({ account }: CopyAddressProps) => { }; type AccountStepProps = { - accounts: InjectedAccountWithMeta[]; + accounts: KeyringPair[]; wallet: WalletData; selectedAccount?: KeyringPair; onChangeWallet?: () => void; - onSelectionChange: (account: InjectedAccountWithMeta) => void; + onSelectionChange: (account: KeyringPair) => void; } & StepComponentProps; const AccountComponent = ({ diff --git a/src/components/AuthModal/AuthModal.tsx b/src/components/AuthModal/AuthModal.tsx index 89d8eb0904..41c621d3c1 100644 --- a/src/components/AuthModal/AuthModal.tsx +++ b/src/components/AuthModal/AuthModal.tsx @@ -1,9 +1,10 @@ -import { InjectedAccountWithMeta, InjectedExtension } from '@polkadot/extension-inject/types'; +import { InjectedExtension } from '@polkadot/extension-inject/types'; import { useEffect, useMemo, useState } from 'react'; import { TFunction, useTranslation } from 'react-i18next'; import { CTA, Modal, ModalBody, ModalFooter, ModalHeader, ModalProps } from '@/component-library'; import { useSubstrateSecureState } from '@/lib/substrate'; +import { KeyringPair } from '@/lib/substrate'; import { WalletData } from '@/utils/constants/wallets'; import { findWallet } from '@/utils/helpers/wallet'; @@ -25,7 +26,7 @@ const getTitle = (t: TFunction, step: AuthModalSteps, extensions: InjectedExtens }; type Props = { - onAccountSelect?: (account: InjectedAccountWithMeta) => void; + onAccountSelect?: (account: KeyringPair) => void; onDisconnect?: () => void; }; @@ -58,7 +59,7 @@ const AuthModal = ({ onAccountSelect, onDisconnect, isOpen, ...props }: AuthModa setWallet(undefined); }; - const handleAccountSelection = (account: InjectedAccountWithMeta) => onAccountSelect?.(account); + const handleAccountSelection = (account: KeyringPair) => onAccountSelect?.(account); const handleDisconnect = () => onDisconnect?.(); diff --git a/src/config/links.ts b/src/config/links.ts index f4d6699528..d5b7affca1 100644 --- a/src/config/links.ts +++ b/src/config/links.ts @@ -28,8 +28,11 @@ const GEOBLOCK_REDIRECTION_LINK = 'https://www.interlay.io/geoblock'; const FORMS_STRATEGIES_LINK = 'https://forms.gle/Ue7NQ81j2u5oNDey6'; +const BIFROST_SWAP_LINK = 'https://bifrost.app/swap'; + export { BANXA_LINK, + BIFROST_SWAP_LINK, FORMS_STRATEGIES_LINK, GEOBLOCK_API_ENDPOINT, GEOBLOCK_REDIRECTION_LINK, diff --git a/src/config/relay-chains.tsx b/src/config/relay-chains.tsx index fc0d3a9737..44b7fea11a 100644 --- a/src/config/relay-chains.tsx +++ b/src/config/relay-chains.tsx @@ -1,6 +1,6 @@ import { AcalaAdapter, KaruraAdapter } from '@interlay/bridge/build/adapters/acala'; import { AstarAdapter } from '@interlay/bridge/build/adapters/astar'; -import { BifrostAdapter } from '@interlay/bridge/build/adapters/bifrost'; +import { BifrostKusamaAdapter, BifrostPolkadotAdapter } from '@interlay/bridge/build/adapters/bifrost'; import { HydraAdapter } from '@interlay/bridge/build/adapters/hydradx'; import { InterlayAdapter, KintsugiAdapter } from '@interlay/bridge/build/adapters/interlay'; import { HeikoAdapter, ParallelAdapter } from '@interlay/bridge/build/adapters/parallel'; @@ -165,6 +165,7 @@ switch (process.env.REACT_APP_RELAY_CHAIN_NAME) { XCM_ADAPTERS = { interlay: new InterlayAdapter(), acala: new AcalaAdapter(), + bifrost_polkadot: new BifrostPolkadotAdapter(), astar: new AstarAdapter(), hydra: new HydraAdapter(), parallel: new ParallelAdapter(), @@ -214,7 +215,7 @@ switch (process.env.REACT_APP_RELAY_CHAIN_NAME) { kusama: new KusamaAdapter(), karura: new KaruraAdapter(), statemine: new StatemineAdapter(), - bifrost: new BifrostAdapter(), + bifrost: new BifrostKusamaAdapter(), heiko: new HeikoAdapter() }; SS58_PREFIX = 2; diff --git a/src/hooks/api/use-get-prices.tsx b/src/hooks/api/use-get-prices.tsx index 8cacd07989..2c0bd250fc 100644 --- a/src/hooks/api/use-get-prices.tsx +++ b/src/hooks/api/use-get-prices.tsx @@ -14,7 +14,17 @@ import { useGetCurrencies } from './use-get-currencies'; // MEMO: Returns `undefined` for currencies without coingecko ID. const getCoingeckoId = (currency: CurrencyExt) => { if (isForeignAsset(currency)) { - return currency.foreignAsset.coingeckoId; + // TODO: This is a temporary fix to force V[DOT/KSM] prices. We need to refactor the lib to return an id + // even when a CoinGecko id doesn't exist. We also need to remove references to CoinGecko ids; this + // doesn't make sense/is very confusing now that we use DIA as our primary price source. + switch (currency.ticker) { + case 'VDOT': + return 'voucher-dot'; + case 'VKSM': + return 'voucher-ksm'; + default: + return currency.foreignAsset.coingeckoId; + } } return COINGECKO_ID_BY_CURRENCY_TICKER[currency.ticker]; }; @@ -22,6 +32,7 @@ const getCoingeckoId = (currency: CurrencyExt) => { const composeIds = (currencies: CurrencyExt[]): string => currencies.reduce((acc, currency) => { const coingeckoId = getCoingeckoId(currency); + if (!coingeckoId) { return acc; } diff --git a/src/hooks/api/xcm/xcm-endpoints.ts b/src/hooks/api/xcm/xcm-endpoints.ts index 7f40bd7a80..f071e7bef5 100644 --- a/src/hooks/api/xcm/xcm-endpoints.ts +++ b/src/hooks/api/xcm/xcm-endpoints.ts @@ -6,6 +6,7 @@ const XCMEndpoints: XCMEndpointsRecord = { acala: ['wss://acala-rpc-1.aca-api.network', 'wss://acala-rpc-3.aca-api.network/ws', 'wss://acala-rpc.dwellir.com'], astar: ['wss://rpc.astar.network', 'wss://astar-rpc.dwellir.com'], bifrost: ['wss://bifrost-rpc.dwellir.com'], + bifrost_polkadot: ['wss://hk.p.bifrost-rpc.liebi.com/ws'], heiko: ['wss://heiko-rpc.parallel.fi'], hydra: ['wss://rpc.hydradx.cloud', 'wss://hydradx-rpc.dwellir.com'], interlay: ['wss://api.interlay.io/parachain'], diff --git a/src/hooks/use-wallet.ts b/src/hooks/use-wallet.ts index 60609b60b9..633620a08f 100644 --- a/src/hooks/use-wallet.ts +++ b/src/hooks/use-wallet.ts @@ -1,17 +1,16 @@ import { newAccountId } from '@interlay/interbtc-api'; -import { InjectedAccountWithMeta } from '@polkadot/extension-inject/types'; import { AccountId } from '@polkadot/types/interfaces'; import { useCallback, useMemo } from 'react'; import { useSelector } from 'react-redux'; import { StoreType } from '@/common/types/util.types'; import { SS58_PREFIX } from '@/config/relay-chains'; -import { useSubstrateSecureState } from '@/lib/substrate'; +import { KeyringPair, useSubstrateSecureState } from '@/lib/substrate'; type UseWalletResult = { isAuth: boolean; account?: AccountId; - accounts: InjectedAccountWithMeta[]; + accounts: KeyringPair[]; getRelayChainAddress: (address?: string) => string | undefined; }; diff --git a/src/legacy-components/IssueUI/index.tsx b/src/legacy-components/IssueUI/index.tsx index 9c97b0eb12..5721453831 100644 --- a/src/legacy-components/IssueUI/index.tsx +++ b/src/legacy-components/IssueUI/index.tsx @@ -7,6 +7,7 @@ import { displayMonetaryAmountInUSDFormat, formatNumber } from '@/common/utils/u import { Flex } from '@/component-library'; import { WRAPPED_TOKEN_SYMBOL, WrappedTokenAmount } from '@/config/relay-chains'; import { useGetPrices } from '@/hooks/api/use-get-prices'; +import { useWallet } from '@/hooks/use-wallet'; import AddressWithCopyUI from '@/legacy-components/AddressWithCopyUI'; import Hr2 from '@/legacy-components/hrs/Hr2'; import PriceInfo from '@/legacy-components/PriceInfo'; @@ -20,10 +21,10 @@ import IssueRequestStatusUI from './IssueRequestStatusUI'; import WhoopsStatusUI from './WhoopsStatusUI'; // TODO: should type properly (`Relay`) -const renderModalStatusPanel = (request: any) => { +const renderModalStatusPanel = (request: any, showPendingStatus: boolean) => { switch (request.status) { case IssueStatus.PendingWithBtcTxNotFound: { - return ; + return showPendingStatus && ; } case IssueStatus.RequestedRefund: { return ; @@ -41,8 +42,10 @@ interface Props { const IssueUI = ({ issue }: Props): JSX.Element => { const { t } = useTranslation(); const prices = useGetPrices(); + const { account } = useWallet(); const destinationAddress = issue.userParachainAddress; + const showPendingStatus = account?.toString() === issue.userParachainAddress; const receivedWrappedTokenAmount: WrappedTokenAmount = issue.execution ? issue.execution.amountWrapped @@ -55,33 +58,35 @@ const IssueUI = ({ issue }: Props): JSX.Element => { return (
-
- {/* TODO: could componentize */} -

- {t('receive')} + {showPendingStatus && ( +
+ {/* TODO: could componentize */} +

+ {t('receive')} + + {receivedWrappedTokenAmount.toHuman(8)} + + {WRAPPED_TOKEN_SYMBOL} +

- {receivedWrappedTokenAmount.toHuman(8)} + {`≈ ${displayMonetaryAmountInUSDFormat( + receivedWrappedTokenAmount, + getTokenPrice(prices, ForeignAssetIdLiteral.BTC)?.usd + )}`} - {WRAPPED_TOKEN_SYMBOL} -

- - {`≈ ${displayMonetaryAmountInUSDFormat( - receivedWrappedTokenAmount, - getTokenPrice(prices, ForeignAssetIdLiteral.BTC)?.usd - )}`} - -
+
+ )}
{

- <>{renderModalStatusPanel(issue)} + <>{renderModalStatusPanel(issue, showPendingStatus)}
); }; diff --git a/src/legacy-components/Topbar/index.tsx b/src/legacy-components/Topbar/index.tsx index 3c66aa8735..d14eadbeb6 100644 --- a/src/legacy-components/Topbar/index.tsx +++ b/src/legacy-components/Topbar/index.tsx @@ -1,6 +1,5 @@ import { ArrowTopRightOnSquareIcon } from '@heroicons/react/24/outline'; import { Keyring } from '@polkadot/api'; -import { InjectedAccountWithMeta } from '@polkadot/extension-inject/types'; import clsx from 'clsx'; import { useTranslation } from 'react-i18next'; import { useDispatch, useSelector } from 'react-redux'; @@ -42,7 +41,7 @@ const Topbar = (): JSX.Element => { const handleAccountModalClose = () => dispatch(showAccountModalAction(false)); - const handleAccountSelect = (account: InjectedAccountWithMeta) => { + const handleAccountSelect = (account: KeyringPair) => { const keyring = new Keyring({ type: 'sr25519', ss58Format: SS58_FORMAT }); const keyringAccount = keyring.addFromAddress(account.address, account.meta); setSelectedAccount(keyringAccount); diff --git a/src/lib/substrate/context/provider.tsx b/src/lib/substrate/context/provider.tsx index dc08b624b4..19858a1356 100644 --- a/src/lib/substrate/context/provider.tsx +++ b/src/lib/substrate/context/provider.tsx @@ -131,7 +131,7 @@ const loadAccounts = async (api: ApiPromise, dispatch: Dispatch): Promise payload: theExtensions }); - const theAccounts = await web3Accounts({ ss58Format: constants.SS58_FORMAT }); + const theAccounts = (await web3Accounts({ ss58Format: constants.SS58_FORMAT })) as KeyringPair[]; dispatch({ type: ActionType.SetAccounts, payload: theAccounts diff --git a/src/lib/substrate/context/types.ts b/src/lib/substrate/context/types.ts index 4ebcf91fe2..d121205773 100644 --- a/src/lib/substrate/context/types.ts +++ b/src/lib/substrate/context/types.ts @@ -1,5 +1,5 @@ import { ApiPromise } from '@polkadot/api'; -import { InjectedAccountWithMeta, InjectedExtension } from '@polkadot/extension-inject/types'; +import { InjectedExtension } from '@polkadot/extension-inject/types'; import { KeyringPair as PolkadotKeyringPair, KeyringPair$Meta } from '@polkadot/keyring/types'; import type { DefinitionRpcExt } from '@polkadot/types/types'; import { Keyring } from '@polkadot/ui-keyring/Keyring'; @@ -59,7 +59,7 @@ type Action = | { type: ActionType.SetKeyringReady; payload: Keyring } | { type: ActionType.SetKeyringError } | { type: ActionType.SetSelectedAccount; payload: KeyringPair | undefined } - | { type: ActionType.SetAccounts; payload: Array } + | { type: ActionType.SetAccounts; payload: Array } | { type: ActionType.SetExtensions; payload: Array }; type Dispatch = (action: Action) => void; @@ -73,7 +73,7 @@ type State = { apiError: APIError | undefined; apiStatus: ApiStatus; selectedAccount: KeyringPair | undefined; - accounts: Array; + accounts: Array; extensions: Array; }; diff --git a/src/pages/BTC/BTCOverview/components/RedeemForm/RedeemForm.tsx b/src/pages/BTC/BTCOverview/components/RedeemForm/RedeemForm.tsx index 5218e0f917..8c5cbd6051 100644 --- a/src/pages/BTC/BTCOverview/components/RedeemForm/RedeemForm.tsx +++ b/src/pages/BTC/BTCOverview/components/RedeemForm/RedeemForm.tsx @@ -249,8 +249,7 @@ const RedeemForm = ({ ? convertMonetaryAmountToValueInUSD(totalAmount, getTokenPrice(prices, totalAmount.currency.ticker)?.usd) || 0 : 0; - const compensationAmount = - monetaryAmount.isZero() && isPremiumRedeem ? getCompensationAmount(monetaryAmount) : undefined; + const compensationAmount = isPremiumRedeem ? getCompensationAmount(monetaryAmount) : undefined; const compensationAmountUSD = compensationAmount ? convertMonetaryAmountToValueInUSD( compensationAmount, diff --git a/src/pages/Loans/LoansOverview/components/CollateralModal/CollateralForm.tsx b/src/pages/Loans/LoansOverview/components/CollateralModal/CollateralForm.tsx index 68340b1f52..378f6dfd17 100644 --- a/src/pages/Loans/LoansOverview/components/CollateralModal/CollateralForm.tsx +++ b/src/pages/Loans/LoansOverview/components/CollateralModal/CollateralForm.tsx @@ -1,5 +1,5 @@ import { LoanAsset } from '@interlay/interbtc-api'; -import { useEffect, useRef } from 'react'; +import { RefObject, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import { Flex } from '@/component-library'; @@ -20,16 +20,21 @@ type CollateralFormProps = { asset: LoanAsset; variant: Extract; isOpen?: boolean; + overlappingModalRef: RefObject; onSigning: () => void; }; -const CollateralForm = ({ asset, variant, isOpen, onSigning }: CollateralFormProps): JSX.Element => { +const CollateralForm = ({ + asset, + variant, + isOpen, + overlappingModalRef, + onSigning +}: CollateralFormProps): JSX.Element => { const { t } = useTranslation(); const { refetch } = useGetAccountLendingStatistics(); - const overlappingModalRef = useRef(null); - const transaction = useTransaction({ onSigning, onSuccess: refetch diff --git a/src/pages/Loans/LoansOverview/components/CollateralModal/CollateralModal.tsx b/src/pages/Loans/LoansOverview/components/CollateralModal/CollateralModal.tsx index 6236b6bccd..a32b593a65 100644 --- a/src/pages/Loans/LoansOverview/components/CollateralModal/CollateralModal.tsx +++ b/src/pages/Loans/LoansOverview/components/CollateralModal/CollateralModal.tsx @@ -101,7 +101,13 @@ const CollateralModal = ({ asset, position, onClose, isOpen, ...props }: Collate {t('dismiss')} ) : ( - + )} diff --git a/src/pages/Onboarding/Onboarding.tsx b/src/pages/Onboarding/Onboarding.tsx index 2df83f77e5..d81908dc8f 100644 --- a/src/pages/Onboarding/Onboarding.tsx +++ b/src/pages/Onboarding/Onboarding.tsx @@ -1,5 +1,4 @@ import { Keyring } from '@polkadot/api'; -import { InjectedAccountWithMeta } from '@polkadot/extension-inject/types'; import { ReactNode } from 'react'; import { useTranslation } from 'react-i18next'; import { useDispatch, useSelector } from 'react-redux'; @@ -45,7 +44,7 @@ const Onboarding = (): JSX.Element => { const handleAccountModalClose = () => dispatch(showAccountModalAction(false)); - const handleAccountSelect = (account: InjectedAccountWithMeta) => { + const handleAccountSelect = (account: KeyringPair) => { const keyring = new Keyring({ type: 'sr25519', ss58Format: SS58_FORMAT }); const keyringAccount = keyring.addFromAddress(account.address, account.meta); setSelectedAccount(keyringAccount); diff --git a/src/pages/SendAndReceive/SendAndReceiveForms/components/BridgeForm/BridgeForm.tsx b/src/pages/SendAndReceive/SendAndReceiveForms/components/BridgeForm/BridgeForm.tsx index ea338af315..0176f48ee0 100644 --- a/src/pages/SendAndReceive/SendAndReceiveForms/components/BridgeForm/BridgeForm.tsx +++ b/src/pages/SendAndReceive/SendAndReceiveForms/components/BridgeForm/BridgeForm.tsx @@ -87,7 +87,7 @@ const BridgeForm = (): JSX.Element => { const apiPromise = data.provider.getApiPromise(formData[BRIDGE_FROM_FIELD] as string); apiPromise.setSigner(signer); - adapter.setApi(apiPromise); + await adapter.setApi(apiPromise); const transferCurrency = getCurrencyFromTicker(currentToken.value); const transferAmount = newMonetaryAmount(form.values[BRIDGE_AMOUNT_FIELD] || 0, transferCurrency, true); diff --git a/src/pages/SendAndReceive/SendAndReceiveForms/components/ChainIcon/ChainIcon.tsx b/src/pages/SendAndReceive/SendAndReceiveForms/components/ChainIcon/ChainIcon.tsx index dd99e9e509..7164dfca4f 100644 --- a/src/pages/SendAndReceive/SendAndReceiveForms/components/ChainIcon/ChainIcon.tsx +++ b/src/pages/SendAndReceive/SendAndReceiveForms/components/ChainIcon/ChainIcon.tsx @@ -7,6 +7,7 @@ import { ACALA, ASTAR, BIFROST, + BIFROST_POLKADOT, HEIKO, HYDRA, INTERLAY, @@ -25,6 +26,7 @@ const chainsIcon: Record = { ACALA, ASTAR, BIFROST, + BIFROST_POLKADOT, HEIKO, HYDRA, INTERLAY, diff --git a/src/pages/SendAndReceive/SendAndReceiveForms/components/ChainIcon/icons/BifrostPolkadot.tsx b/src/pages/SendAndReceive/SendAndReceiveForms/components/ChainIcon/icons/BifrostPolkadot.tsx new file mode 100644 index 0000000000..91ce62fb31 --- /dev/null +++ b/src/pages/SendAndReceive/SendAndReceiveForms/components/ChainIcon/icons/BifrostPolkadot.tsx @@ -0,0 +1,38 @@ +import { forwardRef } from 'react'; + +import { Icon, IconProps } from '@/component-library/Icon'; + +const BIFROST_POLKADOT = forwardRef((props, ref) => ( + + BIFROST_POLKADOT + + + + + + + + + + + + + + + + + + + + + + +)); + +BIFROST_POLKADOT.displayName = 'BIFROST_POLKADOT'; + +export { BIFROST_POLKADOT }; diff --git a/src/pages/SendAndReceive/SendAndReceiveForms/components/ChainIcon/icons/index.ts b/src/pages/SendAndReceive/SendAndReceiveForms/components/ChainIcon/icons/index.ts index d3c471eb7a..55d97dc446 100644 --- a/src/pages/SendAndReceive/SendAndReceiveForms/components/ChainIcon/icons/index.ts +++ b/src/pages/SendAndReceive/SendAndReceiveForms/components/ChainIcon/icons/index.ts @@ -1,6 +1,7 @@ export { ACALA } from './Acala'; export { ASTAR } from './Astar'; export { BIFROST } from './Bifrost'; +export { BIFROST_POLKADOT } from './BifrostPolkadot'; export { HEIKO } from './Heiko'; export { HYDRA } from './Hydra'; export { INTERLAY } from './Interlay'; diff --git a/src/pages/Wallet/WalletOverview/components/AvailableAssetsTable/ActionsCell.tsx b/src/pages/Wallet/WalletOverview/components/AvailableAssetsTable/ActionsCell.tsx index 7aec2bbd23..aa52542d17 100644 --- a/src/pages/Wallet/WalletOverview/components/AvailableAssetsTable/ActionsCell.tsx +++ b/src/pages/Wallet/WalletOverview/components/AvailableAssetsTable/ActionsCell.tsx @@ -6,24 +6,30 @@ import { useDispatch } from 'react-redux'; import { showBuyModal } from '@/common/actions/general.actions'; import { CTA, CTALink, CTAProps, Divider, Flex, theme } from '@/component-library'; import { useMediaQuery } from '@/component-library/utils/use-media-query'; +import { BIFROST_SWAP_LINK } from '@/config/links'; import { WRAPPED_TOKEN } from '@/config/relay-chains'; import { Transaction, useTransaction } from '@/hooks/transaction'; import { usePageQueryParams } from '@/hooks/use-page-query-params'; +import { BIFROST_RELAY_CHAIN_NATIVE_TOKEN } from '@/utils/constants/currency'; import { PAGES, QUERY_PARAMETERS, QUERY_PARAMETERS_VALUES } from '@/utils/constants/links'; +const EXTERNAL_SWAP_LINKS = { + [BIFROST_RELAY_CHAIN_NATIVE_TOKEN]: BIFROST_SWAP_LINK +}; + type ActionsCellProps = { currency: CurrencyExt; isWrappedToken: boolean; isRedeemable: boolean; - isPooledAsset: boolean; isGovernanceToken: boolean; isVestingClaimable: boolean; + swappableToken?: 'internal' | 'external'; }; const ActionsCell = ({ currency, + swappableToken, isGovernanceToken, - isPooledAsset, isRedeemable, isVestingClaimable, isWrappedToken @@ -76,7 +82,7 @@ const ActionsCell = ({ {t('redeem')} )} - {isPooledAsset && ( + {swappableToken === 'internal' ? ( {t('amm.swap')} - )} + ) : swappableToken === 'external' ? ( + + {t('amm.swap')} + + ) : undefined} {isGovernanceToken && ( <> @@ -118,5 +128,5 @@ const ActionsCell = ({ ); }; -export { ActionsCell }; +export { ActionsCell, EXTERNAL_SWAP_LINKS }; export type { ActionsCellProps }; diff --git a/src/pages/Wallet/WalletOverview/components/AvailableAssetsTable/AvailableAssetsTable.tsx b/src/pages/Wallet/WalletOverview/components/AvailableAssetsTable/AvailableAssetsTable.tsx index 96a9548a34..1fbfcbe7e9 100644 --- a/src/pages/Wallet/WalletOverview/components/AvailableAssetsTable/AvailableAssetsTable.tsx +++ b/src/pages/Wallet/WalletOverview/components/AvailableAssetsTable/AvailableAssetsTable.tsx @@ -17,7 +17,7 @@ import { EXTERNAL_QUERY_PARAMETERS } from '@/utils/constants/links'; import { getCoinIconProps } from '@/utils/helpers/coin-icon'; import { getTokenPrice } from '@/utils/helpers/prices'; -import { ActionsCell } from './ActionsCell'; +import { ActionsCell, EXTERNAL_SWAP_LINKS } from './ActionsCell'; const queryString = require('query-string'); @@ -102,15 +102,19 @@ const AvailableAssetsTable = ({ balances, pooledTickers }: AvailableAssetsTableP const isWrappedToken = isCurrencyEqual(currency, WRAPPED_TOKEN); const isRedeemable = isWrappedToken && !transferable.isZero(); - const isPooledAsset = !!pooledTickers?.has(currency.ticker); + const swappableToken = pooledTickers?.has(currency.ticker) + ? 'internal' + : Object.keys(EXTERNAL_SWAP_LINKS).includes(currency.ticker) + ? 'external' + : undefined; const isGovernanceToken = isCurrencyEqual(currency, GOVERNANCE_TOKEN); const isVestingClaimable = isGovernanceToken && !!vestingData?.isClaimable; - const hasActions = isRedeemable || isPooledAsset || isVestingClaimable; + const hasActions = isRedeemable || !!swappableToken || isVestingClaimable; const actions = hasActions ? ( = - process.env.REACT_APP_RELAY_CHAIN_NAME === POLKADOT ? [Polkadot, InterBtc, Interlay] : [KBtc, Kintsugi, Kusama]; +const NATIVE_CURRENCIES: Array = isPolkadotChain + ? [Polkadot, InterBtc, Interlay] + : [KBtc, Kintsugi, Kusama]; const FEE_TICKERS = [...NATIVE_CURRENCIES.map(({ ticker }) => ticker), 'USDT']; +const BIFROST_RELAY_CHAIN_NATIVE_TOKEN = isPolkadotChain ? 'VDOT' : 'VKSM'; + const COINGECKO_ID_BY_CURRENCY_TICKER: Record = Object.freeze({ [Bitcoin.ticker]: 'bitcoin', [Kintsugi.ticker]: 'kintsugi', @@ -34,6 +39,7 @@ const COINGECKO_ID_BY_CURRENCY_TICKER: Record=12": version "18.7.5" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.5.tgz#f1c1d4b7d8231c0278962347163656f9c36f3e83" @@ -6568,6 +8302,11 @@ "@types/react" "*" csstype "^3.0.2" +"@types/stylis@^4.0.2": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@types/stylis/-/stylis-4.2.0.tgz#199a3f473f0c3a6f6e4e1b17cdbc967f274bdc6b" + integrity sha512-n4sx2bqL0mW1tvDf/loQ+aMX7GQD3lc3fkCMC55VFNDu/vBOabO+LTIeXKM14xK0ppk5TUGcWRjiSpIlUpghKw== + "@types/tapable@^1", "@types/tapable@^1.0.5": version "1.0.8" resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" @@ -6592,10 +8331,10 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== -"@types/uuid@^8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" - integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== +"@types/uuid@^9.0.2": + version "9.0.3" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.3.tgz#6cdd939b4316b4f81625de9f06028d848c4a1533" + integrity sha512-taHQQH/3ZyI3zP8M/puluDEIEvtQHVYcC6y3N8ijFtAd28+Ey/G4sg1u2gB01S8MwybLOKAp9/yCMu/uR5l3Ug== "@types/webpack-env@^1.16.0", "@types/webpack-env@^1.17.0": version "1.17.0" @@ -6756,20 +8495,25 @@ "@typescript-eslint/types" "4.33.0" eslint-visitor-keys "^2.0.0" -"@unique-nft/opal-testnet-types@930.34.0": - version "930.34.0" - resolved "https://registry.yarnpkg.com/@unique-nft/opal-testnet-types/-/opal-testnet-types-930.34.0.tgz#e4274976ebc9614dbec6c1a074674a3620eacb6f" - integrity sha512-6N5MQC5o4V5J0PZ/JmhRfYOtJTSpCjxxM1pdGysh6aIu/rSey8ELa/9BnGwLIZsOPxW77PKwnt7NIRc01Sze3g== +"@unique-nft/opal-testnet-types@942.57.0": + version "942.57.0" + resolved "https://registry.yarnpkg.com/@unique-nft/opal-testnet-types/-/opal-testnet-types-942.57.0.tgz#fdd64ca04d44b263e48816ee7d14fc44d6b78502" + integrity sha512-VmVDQQmIQn3xQgdkmNov3Ja6yMQlZRIIBkPcIm+eKuX5LeldaBTW5YZJfXjGF9Q18PkoFTSc38QmrfBC+x8D8g== + +"@unique-nft/quartz-mainnet-types@942.57.0": + version "942.57.0" + resolved "https://registry.yarnpkg.com/@unique-nft/quartz-mainnet-types/-/quartz-mainnet-types-942.57.0.tgz#a33018bd54325b78d2edd34fdec3fb283b67ed9d" + integrity sha512-Tg6VuIIJt9uEhauEOjw5vpXX37B56f6IImtihOLnoyHmHt83LDTWI78YyD8Wph3A///ixexNfQj4VbchFmQRlA== -"@unique-nft/quartz-mainnet-types@930.34.0": - version "930.34.0" - resolved "https://registry.yarnpkg.com/@unique-nft/quartz-mainnet-types/-/quartz-mainnet-types-930.34.0.tgz#d99a744b10575533441a0ca13f855eeca45a9047" - integrity sha512-YwJ3h7Q0crnvGsYfBXjxtPIpQnB9T5JY1LLAapLGvOO3A0iA1PWbSiqAgOdjZTt4zivYm3IbdhxQhyyY6d5jLA== +"@unique-nft/sapphire-mainnet-types@942.57.0": + version "942.57.0" + resolved "https://registry.yarnpkg.com/@unique-nft/sapphire-mainnet-types/-/sapphire-mainnet-types-942.57.0.tgz#371e8c8c74cd92d33e7b2bc1cb61e132f529cc18" + integrity sha512-JopqrlUILDvbfRZdg3oF1y40rHUUZt42hNXHTGejAGLSRQIRyfZOJ8fIVFb+WmJLNbbgefnW/OdlFk2Hvqwm8w== -"@unique-nft/unique-mainnet-types@930.33.0": - version "930.33.0" - resolved "https://registry.yarnpkg.com/@unique-nft/unique-mainnet-types/-/unique-mainnet-types-930.33.0.tgz#196bbe704882ad826b709c5ec9cbbb8067e456ee" - integrity sha512-KlliDzrwcyl1igi/rjltue/T6DZQP5yAijcFzWtCsKfLzkCPxcplzYgd5S+VKRoAFrndOMVXleXTUgpPSYiL9Q== +"@unique-nft/unique-mainnet-types@941.56.0": + version "941.56.0" + resolved "https://registry.yarnpkg.com/@unique-nft/unique-mainnet-types/-/unique-mainnet-types-941.56.0.tgz#77859f77f10a58c57ec11d0d7a01c0a04a98a4c1" + integrity sha512-bkYPdaRQ2mN8QgrWLi7fREjEbUquCATR8vYnBP8ISXc1lp+N6zHYb0XkIloSn6qoDOyfOlXk61JzDjUSoEKTeQ== "@uphold/request-logger@^2.0.0": version "2.0.0" @@ -7059,10 +8803,10 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -"@zeitgeistpm/type-defs@0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@zeitgeistpm/type-defs/-/type-defs-0.10.0.tgz#7f551f949b45b082541a254a9845ab15b2ff9148" - integrity sha512-nQBdyRbkIopPOVjRHk9c/RBWiQI6iYE8fs5rmtSNCXm6IxoXssk/1PtWE+UxXXq9mco7rPao9nJMeYXJ1Ro2kg== +"@zeitgeistpm/type-defs@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@zeitgeistpm/type-defs/-/type-defs-1.0.0.tgz#cea874444a9d2714078dbc20f5474a08ce299328" + integrity sha512-dtjNlJSb8ELz87aTD6jqKKfO7kY4HFYzSmDk9JrzHLv+w/JKtG+aLz+WImL6MSaF1MjDE1tm28dj980Zn+nfGA== "@zeroio/type-definitions@0.0.14": version "0.0.14" @@ -7779,6 +9523,15 @@ babel-plugin-polyfill-corejs2@^0.3.0: "@babel/helper-define-polyfill-provider" "^0.3.1" semver "^6.1.1" +babel-plugin-polyfill-corejs2@^0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz#8097b4cb4af5b64a1d11332b6fb72ef5e64a054c" + integrity sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.4.2" + semver "^6.3.1" + babel-plugin-polyfill-corejs3@^0.1.0: version "0.1.7" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz#80449d9d6f2274912e05d9e182b54816904befd0" @@ -7795,6 +9548,14 @@ babel-plugin-polyfill-corejs3@^0.5.0: "@babel/helper-define-polyfill-provider" "^0.3.1" core-js-compat "^3.21.0" +babel-plugin-polyfill-corejs3@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz#b4f719d0ad9bb8e0c23e3e630c0c8ec6dd7a1c52" + integrity sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.2" + core-js-compat "^3.31.0" + babel-plugin-polyfill-regenerator@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" @@ -7802,6 +9563,13 @@ babel-plugin-polyfill-regenerator@^0.3.0: dependencies: "@babel/helper-define-polyfill-provider" "^0.3.1" +babel-plugin-polyfill-regenerator@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz#80d0f3e1098c080c8b5a65f41e9427af692dc326" + integrity sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.2" + babel-plugin-react-docgen@^4.1.0, babel-plugin-react-docgen@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/babel-plugin-react-docgen/-/babel-plugin-react-docgen-4.2.1.tgz#7cc8e2f94e8dc057a06e953162f0810e4e72257b" @@ -7916,14 +9684,14 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base-x@^3.0.2: +base-x@^3.0.2, base-x@^3.0.8: version "3.0.9" resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== dependencies: safe-buffer "^5.0.1" -base64-js@^1.0.2, base64-js@^1.3.1: +base64-js@^1.0.2, base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -8095,12 +9863,17 @@ bl@^5.0.0: inherits "^2.0.4" readable-stream "^3.4.0" +blakejs@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + bluebird@^3.3.5, bluebird@^3.5.5: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@4.12.0, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.2.1, bn.js@~5.2.0: +bn.js@4.12.0, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.12.0, bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.2.0, bn.js@^5.2.1, bn.js@~5.2.0: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== @@ -8310,6 +10083,16 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4 node-releases "^2.0.3" picocolors "^1.0.0" +browserslist@^4.21.10, browserslist@^4.21.9: + version "4.21.10" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0" + integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== + dependencies: + caniuse-lite "^1.0.30001517" + electron-to-chromium "^1.4.477" + node-releases "^2.0.13" + update-browserslist-db "^1.0.11" + bs58@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" @@ -8357,7 +10140,7 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^6.0.3: +buffer@^6.0.1, buffer@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -8575,7 +10358,7 @@ camelcase@^2.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" integrity sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw== -camelcase@^6.0.0, camelcase@^6.1.0, camelcase@^6.2.0: +camelcase@^6.0.0, camelcase@^6.1.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== @@ -8600,10 +10383,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001332: - version "1.0.30001342" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001342.tgz#87152b1e3b950d1fbf0093e23f00b6c8e8f1da96" - integrity sha512-bn6sOCu7L7jcbBbyNhLg0qzXdJ/PMbybZTH/BA6Roet9wxYRm6Tr9D0s0uhLkOZ6MSG+QU6txUgdpr3MXIVqjA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001517: + version "1.0.30001534" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001534.tgz" + integrity sha512-vlPVrhsCS7XaSh2VvWluIQEzVhefrUQcEsQWSS5A5V+dM07uv1qHeQzAOTGIMy9i3e9bH15+muvI/UHojVgS/Q== canvas-renderer@~2.2.0: version "2.2.1" @@ -8751,7 +10534,7 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.5.2: +chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.5.2: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -8999,7 +10782,7 @@ color-support@^1.1.2: resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== -color@^3.0.0, color@^3.2.1: +color@^3.0.0: version "3.2.1" resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== @@ -9015,6 +10798,11 @@ color@^4.0.1: color-convert "^2.0.1" color-string "^1.9.0" +colord@^2.9.3: + version "2.9.3" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + colorette@^2.0.16: version "2.0.16" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" @@ -9042,7 +10830,7 @@ commander@^2.19.0, commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^4.1.1: +commander@^4.0.1, commander@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== @@ -9229,6 +11017,11 @@ convert-source-map@^0.3.3: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= +convert-source-map@^1.1.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + convert-source-map@^1.4.0, 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" @@ -9278,6 +11071,13 @@ core-js-compat@^3.20.2, core-js-compat@^3.21.0, core-js-compat@^3.8.1: browserslist "^4.19.1" semver "7.0.0" +core-js-compat@^3.31.0: + version "3.32.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.32.2.tgz#8047d1a8b3ac4e639f0d4f66d4431aa3b16e004c" + integrity sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ== + dependencies: + browserslist "^4.21.10" + core-js-pure@^3.20.2, core-js-pure@^3.8.1: version "3.24.1" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.24.1.tgz#8839dde5da545521bf282feb7dc6d0b425f39fd3" @@ -9411,13 +11211,20 @@ cross-env@^7.0.3: dependencies: cross-spawn "^7.0.1" -cross-fetch@^3.0.6, cross-fetch@^3.1.4, cross-fetch@^3.1.5: +cross-fetch@^3.0.6, cross-fetch@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== dependencies: node-fetch "2.6.7" +cross-fetch@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.0.0.tgz#f037aef1580bb3a1a35164ea2a848ba81b445983" + integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g== + dependencies: + node-fetch "^2.6.12" + cross-spawn@7.0.3, cross-spawn@^7.0.0, 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" @@ -9587,6 +11394,15 @@ css-to-react-native@^3.0.0: css-color-keywords "^1.0.0" postcss-value-parser "^4.0.2" +css-to-react-native@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32" + integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ== + dependencies: + camelize "^1.0.0" + css-color-keywords "^1.0.0" + postcss-value-parser "^4.0.2" + css-tree@1.0.0-alpha.37: version "1.0.0-alpha.37" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" @@ -9745,6 +11561,16 @@ csstype@^3.0.2, csstype@^3.0.6: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33" integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== +csstype@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +cuint@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" + integrity sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw== + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -10356,7 +12182,12 @@ electron-to-chromium@^1.3.564, electron-to-chromium@^1.4.118: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.138.tgz#3ec41ca589aaf505dfe2034fde913329af801730" integrity sha512-IOyp2Seq3w4QLln+yZWcMF3VXhhduz4bwg9gfI+CnP5TkzwNXQ8FCZuwwPsnes73AfWdf5J2n2OXdUwDUspDPQ== -elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.3: +electron-to-chromium@^1.4.477: + version "1.4.515" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.515.tgz#f5fec9662106ac5752894af221606cf4db443e70" + integrity sha512-VTq6vjk3kCfG2qdzQRd/i9dIyVVm0dbtZIgFzrLgfB73mXDQT2HPKVRc1EoZcAVUv9XhXAu08DWqJuababdGGg== + +elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.3, 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== @@ -10529,7 +12360,7 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: +es5-ext@^0.10.35, es5-ext@^0.10.50: version "0.10.62" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== @@ -10565,16 +12396,6 @@ es6-symbol@^3.1.1, es6-symbol@^3.1.3: d "^1.0.1" ext "^1.1.2" -es6-weak-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== - dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" - escalade@^3.0.2, escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -10928,7 +12749,7 @@ ethereum-blockies-base64@^1.0.2: dependencies: pnglib "0.0.1" -ethers@^5.6.2, ethers@~5.7.0: +ethers@~5.7.0: version "5.7.2" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== @@ -10964,14 +12785,6 @@ ethers@^5.6.2, ethers@~5.7.0: "@ethersproject/web" "5.7.1" "@ethersproject/wordlists" "5.7.0" -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== - dependencies: - d "1" - es5-ext "~0.10.14" - eventemitter3@^4.0.0, eventemitter3@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" @@ -10982,6 +12795,11 @@ eventemitter3@^5.0.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.0.tgz#084eb7f5b5388df1451e63f4c2aafd71b217ccb3" integrity sha512-riuVbElZZNXLeLEoprfNYoDSwTBRR44X3mnhdI1YcnENpWTCsTTVZ2zFuqQcpoyqPQIUXdiPEU0ECAq0KQRaHg== +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + events@^3.0.0, events@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" @@ -11680,6 +13498,11 @@ fs-monkey@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" + integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== + fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" @@ -11927,7 +13750,7 @@ glob@^6.0.1: 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.6, glob@^7.1.7: +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.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -12274,7 +14097,7 @@ hash-base@^3.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: +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== @@ -12899,6 +14722,11 @@ ip-regex@^2.1.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= +ip-regex@^4.3.0: + version "4.3.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, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" @@ -13297,11 +15125,6 @@ is-potential-custom-element-name@^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-promise@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - is-regex@^1.0.4, is-regex@^1.1.2, is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -14078,7 +15901,7 @@ js-cookie@^2.2.1: resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== -js-sha3@0.8.0: +js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== @@ -14210,6 +16033,11 @@ json5@^2.1.2, json5@^2.1.3: dependencies: minimist "^1.2.5" +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" @@ -14665,13 +16493,6 @@ lru-cache@~7.8.2: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.8.2.tgz#db4d3bbcc05b2e7a2ae063f57fdb42d8d45f1773" integrity sha512-tVtvt+EqoUgjtIPD3rXSJCSf5izSRJShgnzUeK59T+wxZ9LrFEP3GxhX/Mhf8Rl7kk4ngd4vZaV+5sEibhvQ+A== -lru-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== - dependencies: - es5-ext "~0.10.2" - lz-string@^1.4.4: version "1.5.0" resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" @@ -14825,20 +16646,6 @@ memfs@^3.1.2: dependencies: fs-monkey "1.0.3" -memoizee@^0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" - integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== - dependencies: - d "^1.0.1" - es5-ext "^0.10.53" - es6-weak-map "^2.0.3" - event-emitter "^0.3.5" - is-promise "^2.2.2" - lru-queue "^0.1.0" - next-tick "^1.1.0" - timers-ext "^0.1.7" - memoizerific@^1.11.3: version "1.11.3" resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a" @@ -14920,6 +16727,11 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= +micro-base@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/micro-base/-/micro-base-0.9.0.tgz#09cfe20285bec0ea97f41dc3d10e3fba3d0266ee" + integrity sha512-4+tOMKidYT5nQ6/UNmYrGVO5PMcnJdfuR4NC8HK8s2H61B4itOhA9yrsjBdqGV7ecdtej36x3YSIfPLRmPrspg== + microevent.ts@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" @@ -15152,15 +16964,15 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mobx-utils@^5.6.2: - version "5.6.2" - resolved "https://registry.yarnpkg.com/mobx-utils/-/mobx-utils-5.6.2.tgz#4858acbdb03f0470e260854f87e8c2ba916ebaec" - integrity sha512-a/WlXyGkp6F12b01sTarENpxbmlRgPHFyR1Xv2bsSjQBm5dcOtd16ONb40/vOqck8L99NHpI+C9MXQ+SZ8f+yw== +mkdirp@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" + integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== -mobx@^5.15.7: - version "5.15.7" - resolved "https://registry.yarnpkg.com/mobx/-/mobx-5.15.7.tgz#b9a5f2b6251f5d96980d13c78e9b5d8d4ce22665" - integrity sha512-wyM3FghTkhmC+hQjyPGGFdpehrcX1KOXsDuERhfK2YbJemkUhEB+6wzEN639T21onxlfYBmriA1PFnvxTUhcKw== +mock-socket@^9.1.2: + version "9.3.1" + resolved "https://registry.yarnpkg.com/mock-socket/-/mock-socket-9.3.1.tgz#24fb00c2f573c84812aa4a24181bb025de80cc8e" + integrity sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw== mock-socket@^9.2.1: version "9.2.1" @@ -15177,12 +16989,12 @@ moment@^2.10.2, moment@^2.19.3: resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== -moonbeam-types-bundle@2.0.9: - version "2.0.9" - resolved "https://registry.yarnpkg.com/moonbeam-types-bundle/-/moonbeam-types-bundle-2.0.9.tgz#32d130bc7f2aa3d2e6bad34643764ba2ff751e92" - integrity sha512-0HjdhYFfdfgFqpjDgdO04fijoTtJvjFVgZJST4LZhepQ8ciMfW5XWzuedVyIW/bRDB3NelyI9f3qZFsjq9s0sA== +moonbeam-types-bundle@2.0.10: + version "2.0.10" + resolved "https://registry.yarnpkg.com/moonbeam-types-bundle/-/moonbeam-types-bundle-2.0.10.tgz#fddd2f174f4e60616fa5b3f9871d0bae7e24ecc0" + integrity sha512-QDk/ktioLqDQCOLUu/+FyyF3UYWdKOqqa6q1vwI75pdKBg5elNpRXugEC1irzkLolTanvMRc2rO+qarT9ijjyg== dependencies: - "@polkadot/api" "^9.4.2" + "@polkadot/api" "^9.14.1" typescript "^4.7.4" move-concurrently@^1.0.1: @@ -15285,6 +17097,11 @@ nanoid@^3.3.1: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -15346,7 +17163,7 @@ new-github-release-url@2.0.0: dependencies: type-fest "^2.5.1" -next-tick@1, next-tick@^1.1.0: +next-tick@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== @@ -15364,6 +17181,16 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +nock@^13.2.4, nock@^13.3.1: + version "13.3.3" + resolved "https://registry.yarnpkg.com/nock/-/nock-13.3.3.tgz#179759c07d3f88ad3e794ace885629c1adfd3fe7" + integrity sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw== + dependencies: + debug "^4.1.0" + json-stringify-safe "^5.0.1" + lodash "^4.17.21" + propagate "^2.0.0" + nock@^13.3.0: version "13.3.0" resolved "https://registry.yarnpkg.com/nock/-/nock-13.3.0.tgz#b13069c1a03f1ad63120f994b04bfd2556925768" @@ -15409,6 +17236,13 @@ node-fetch@3.2.10: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" +node-fetch@^2.6.12: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-fetch@^3.3.0: version "3.3.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.1.tgz#b3eea7b54b3a48020e46f4f88b9c5a7430d20b2e" @@ -15418,6 +17252,15 @@ node-fetch@^3.3.0: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" +node-fetch@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" + integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== + dependencies: + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" + node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" @@ -15479,6 +17322,11 @@ node-releases@^1.1.61: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== + node-releases@^2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" @@ -17103,6 +18951,15 @@ postcss@^8.1.0, postcss@^8.3.5: picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@^8.4.23: + version "8.4.29" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.29.tgz#33bc121cf3b3688d4ddef50be869b2a54185a1dd" + integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -18118,6 +19975,13 @@ regenerate-unicode-properties@^10.0.1: dependencies: regenerate "^1.4.2" +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + dependencies: + regenerate "^1.4.2" + regenerate@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" @@ -18133,6 +19997,11 @@ regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.4, regenerator-runtime@^ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + regenerator-transform@^0.14.2: version "0.14.5" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" @@ -18140,6 +20009,13 @@ regenerator-transform@^0.14.2: dependencies: "@babel/runtime" "^7.8.4" +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -18178,6 +20054,18 @@ regexpu-core@^5.0.1: unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.0.0" +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + registry-auth-token@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.1.tgz#5e6cd106e6c251135a046650c58476fc03e92833" @@ -18204,6 +20092,13 @@ regjsparser@^0.8.2: dependencies: jsesc "~0.5.0" +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + regtest-client@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/regtest-client/-/regtest-client-0.2.0.tgz#815b1eaab4b12b66d25ee35137a970ff48c0ee0c" @@ -18666,7 +20561,21 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^7.2.0, rxjs@^7.5.1, rxjs@^7.5.6, rxjs@^7.5.7, rxjs@^7.8.0: +rxjs@^6.6.7: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +rxjs@^7.4.0, rxjs@^7.5.5, rxjs@^7.8.0, rxjs@^7.8.1: + 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" + +rxjs@^7.5.1, rxjs@^7.5.6: version "7.8.0" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== @@ -18812,6 +20721,11 @@ scrypt-js@3.0.1: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== +scryptsy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" + integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -18863,6 +20777,11 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" @@ -19115,6 +21034,14 @@ smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== +smoldot@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/smoldot/-/smoldot-1.0.4.tgz#e4c38cedad68d699a11b5b9ce72bb75c891bfd98" + integrity sha512-N3TazI1C4GGrseFH/piWyZCCCRJTRx2QhDfrUKRT4SzILlW5m8ayZ3QTKICcz1C/536T9cbHHJyP7afxI6Mi1A== + dependencies: + pako "^2.0.4" + ws "^8.8.1" + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -19722,7 +21649,7 @@ style-to-object@0.3.0, style-to-object@^0.3.0: dependencies: inline-style-parser "0.1.1" -styled-components@^5, styled-components@^5.3.5, styled-components@^5.3.6: +styled-components@^5.3.5: version "5.3.5" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.5.tgz#a750a398d01f1ca73af16a241dec3da6deae5ec4" integrity sha512-ndETJ9RKaaL6q41B69WudeqLzOpY1A/ET/glXkNZ2T7dPjPqpPCXXQjDFYZWwNnE5co0wX+gTCqx9mfxTmSIPg== @@ -19738,6 +21665,31 @@ styled-components@^5, styled-components@^5.3.5, styled-components@^5.3.6: shallowequal "^1.1.0" supports-color "^5.5.0" +styled-components@^6.0.7: + version "6.0.7" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-6.0.7.tgz#1cf4a5e6b6181b29f941934df54af19b7ef05ab0" + integrity sha512-xIwWuiRMYR43mskVsW9MGTRjSo7ol4bcVjT595fGUp3OLBJOlOgaiKaxsHdC4a2HqWKqKnh0CmcRbk5ogyDjTg== + dependencies: + "@babel/cli" "^7.21.0" + "@babel/core" "^7.21.0" + "@babel/helper-module-imports" "^7.18.6" + "@babel/plugin-external-helpers" "^7.18.6" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.20.7" + "@babel/preset-env" "^7.20.2" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.21.0" + "@babel/traverse" "^7.21.2" + "@emotion/is-prop-valid" "^1.2.1" + "@emotion/unitless" "^0.8.0" + "@types/stylis" "^4.0.2" + css-to-react-native "^3.2.0" + csstype "^3.1.2" + postcss "^8.4.23" + shallowequal "^1.1.0" + stylis "^4.3.0" + tslib "^2.5.0" + stylehacks@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" @@ -19752,6 +21704,11 @@ stylis@^4.0.6: resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91" integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag== +stylis@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.0.tgz#abe305a669fc3d8777e10eefcfc73ad861c5588c" + integrity sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ== + supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -20032,14 +21989,6 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" -timers-ext@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" - integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== - dependencies: - es5-ext "~0.10.46" - next-tick "1" - timsort@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" @@ -20281,7 +22230,7 @@ tslib@2.4.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== -tslib@^1.10.0, tslib@^1.8.1: +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -20291,6 +22240,11 @@ tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== +tslib@^2.5.0, tslib@^2.5.3, tslib@^2.6.1, tslib@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + tsutils@^3.17.1, tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -20470,6 +22424,11 @@ unicode-match-property-value-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + unicode-property-aliases-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" @@ -20646,6 +22605,14 @@ upath@^1.1.1, upath@^1.1.2, upath@^1.2.0: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== +update-browserslist-db@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + update-notifier@6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-6.0.2.tgz#a6990253dfe6d5a02bd04fbb6a61543f55026b60" @@ -20782,6 +22749,11 @@ uuid@^8.3.0, uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +uuid@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" + integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== + v8-compile-cache-lib@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8" @@ -21221,7 +23193,7 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -websocket@^1.0.34: +websocket@^1.0.32, websocket@^1.0.34: version "1.0.34" resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== @@ -21591,6 +23563,11 @@ 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.13.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + ws@^8.2.3, ws@^8.8.1: version "8.9.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" @@ -21628,6 +23605,13 @@ xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== +xxhashjs@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/xxhashjs/-/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" + integrity sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw== + dependencies: + cuint "^0.2.2" + y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"