diff --git a/lib/hooks/useWvmArchiver.tsx b/lib/hooks/useWvmArchiver.tsx new file mode 100644 index 0000000000..d542b2bcc3 --- /dev/null +++ b/lib/hooks/useWvmArchiver.tsx @@ -0,0 +1,64 @@ +interface Props { + address: string | undefined; +} + +const wvmNetworks = [ + { + archive_pool_address: '0x0000000000000000000000000000000000000000', + archiver_address: '0xE5e289FC97C63f64B1EC5e061d7f176e02eBE5A0', + backfill_address: '', + block_time: 2.0, + name: 'GOATDev', + network_chain_id: 2345, + network_rpc: 'http://3.15.141.150:8545', + start_block: 20902, + wvm_chain_id: 9496, + wvm_rpc: 'https://testnet-rpc.wvm.dev', + }, + { + archive_pool_address: '0xa2A0D977847805fE224B789D8C4d3D711ab251e7', + archiver_address: '0x197f818c1313DC58b32D88078ecdfB40EA822614', + backfill_address: '0x123463a4B065722E99115D6c222f267d9cABb524', + block_time: 9.0, + name: 'Metis', + network_chain_id: 1088, + network_rpc: 'https://andromeda.metis.io/?owner=1088', + start_block: 18574702, + wvm_chain_id: 9496, + wvm_rpc: 'https://testnet-rpc.wvm.dev', + }, + { + archive_pool_address: '0x0000000000000000000000000000000000000000', + archiver_address: '0xA6dC883ea2A6acb576A933B4d38D13d6069d9fBE', + backfill_address: '', + block_time: 2.0, + name: 'RSS3 VSL Mainnet', + network_chain_id: 12553, + network_rpc: 'https://rpc.rss3.io', + start_block: 6888111, + wvm_chain_id: 9496, + wvm_rpc: 'https://testnet-rpc.wvm.dev', + }, + { + archive_pool_address: '0x0000000000000000000000000000000000000000', + archiver_address: '0x2D76d7B140d078C575eAAD109168c606FE9d506C', + backfill_address: '0x55dA54ee977FBe734d5250F0558bc4B2FBe36b2a', + block_time: 0.38999998569488525, + name: 'SEI', + network_chain_id: 1329, + network_rpc: 'https://evm-rpc.sei-apis.com', + start_block: 105238600, + wvm_chain_id: 9496, + wvm_rpc: 'https://testnet-rpc.wvm.dev', + }, +]; + +export function useWvmArchiver({ address }: Props) { + const isWvmNetwork = wvmNetworks.find((network) => network.archiver_address === address); + + if (isWvmNetwork) { + return true; + } + + return false; +} diff --git a/package.json b/package.json index 02fa1dcfad..37c45495c7 100644 --- a/package.json +++ b/package.json @@ -102,6 +102,7 @@ "react-identicons": "^1.2.5", "react-intersection-observer": "^9.5.2", "react-jazzicon": "^1.0.4", + "react-loader-spinner": "^6.1.6", "react-number-format": "^5.3.1", "react-scroll": "^1.8.7", "swagger-ui-react": "^5.9.0", diff --git a/ui/block/BlockDetails.tsx b/ui/block/BlockDetails.tsx index a8c8126a13..3981e0ef57 100644 --- a/ui/block/BlockDetails.tsx +++ b/ui/block/BlockDetails.tsx @@ -14,6 +14,7 @@ import BigNumber from 'bignumber.js'; import capitalize from 'lodash/capitalize'; import { useRouter } from 'next/router'; import React from 'react'; +import { RotatingLines } from 'react-loader-spinner'; import { scroller, Element } from 'react-scroll'; import { ZKSYNC_L2_TX_BATCH_STATUSES } from 'types/api/zkSyncL2'; @@ -813,28 +814,44 @@ const BlockDetails = ({ query }: Props) => { - - - + { arweaveId === 'block_not_archived_or_backfilled' ? ( + <> + Pending + + + + ) : ( + <> + + + - + + + ) } - ) : } + ) : ( + loading... + ) } diff --git a/ui/home/LatestTxsItem.tsx b/ui/home/LatestTxsItem.tsx index 9e432f88e3..9585250be4 100644 --- a/ui/home/LatestTxsItem.tsx +++ b/ui/home/LatestTxsItem.tsx @@ -13,10 +13,12 @@ import type { Transaction } from 'types/api/transaction'; import config from 'configs/app'; import getValueWithUnit from 'lib/getValueWithUnit'; import useTimeAgoIncrement from 'lib/hooks/useTimeAgoIncrement'; +import { useWvmArchiver } from 'lib/hooks/useWvmArchiver'; import { currencyUnits } from 'lib/units'; import AddressFromTo from 'ui/shared/address/AddressFromTo'; import TxEntity from 'ui/shared/entities/tx/TxEntity'; import TxStatus from 'ui/shared/statusTag/TxStatus'; +import WvmArchiverTag from 'ui/shared/statusTag/WvmArchiverTag'; import TxFeeStability from 'ui/shared/tx/TxFeeStability'; import TxWatchListTags from 'ui/shared/tx/TxWatchListTags'; import TxAdditionalInfo from 'ui/txs/TxAdditionalInfo'; @@ -28,6 +30,7 @@ type Props = { } const LatestTxsItem = ({ tx, isLoading }: Props) => { + const isWvmArchiver = useWvmArchiver({ address: tx.from.hash }); const dataTo = tx.to ? tx.to : tx.created_contract; const timeAgo = useTimeAgoIncrement(tx.timestamp || '0', true); const columnNum = config.UI.views.tx.hiddenFields?.value && config.UI.views.tx.hiddenFields?.tx_fee ? 2 : 3; @@ -54,6 +57,7 @@ const LatestTxsItem = ({ tx, isLoading }: Props) => { + { isWvmArchiver && } { + const isWvmArchiver = useWvmArchiver({ address: tx.from.hash }); const dataTo = tx.to ? tx.to : tx.created_contract; const timeAgo = useTimeAgoIncrement(tx.timestamp || '0', true); @@ -44,6 +47,7 @@ const LatestTxsItem = ({ tx, isLoading }: Props) => { + { isWvmArchiver && } diff --git a/ui/shared/statusTag/WvmArchiverTag.tsx b/ui/shared/statusTag/WvmArchiverTag.tsx new file mode 100644 index 0000000000..f84b6d8bda --- /dev/null +++ b/ui/shared/statusTag/WvmArchiverTag.tsx @@ -0,0 +1,24 @@ +import { TagLabel, Tooltip } from '@chakra-ui/react'; +import React from 'react'; + +import Tag from 'ui/shared/chakra/Tag'; +import IconSvg from 'ui/shared/IconSvg'; + +const WvmArchiverTag = () => { + + return ( + + + + wvm-archiver + + + ); +}; + +export default WvmArchiverTag; diff --git a/ui/tx/details/TxInfo.tsx b/ui/tx/details/TxInfo.tsx index 62ba5c037b..255c7f84f8 100644 --- a/ui/tx/details/TxInfo.tsx +++ b/ui/tx/details/TxInfo.tsx @@ -15,6 +15,7 @@ import { import { useWindowSize } from '@uidotdev/usehooks'; import BigNumber from 'bignumber.js'; import React from 'react'; +import { RotatingLines } from 'react-loader-spinner'; import { scroller, Element } from 'react-scroll'; import type { Transaction } from 'types/api/transaction'; @@ -26,6 +27,7 @@ import { route } from 'nextjs-routes'; import config from 'configs/app'; import { WEI, WEI_IN_GWEI } from 'lib/consts'; import { useArweaveId } from 'lib/hooks/useArweaveId'; +import { useWvmArchiver } from 'lib/hooks/useWvmArchiver'; import getNetworkValidatorTitle from 'lib/networks/getNetworkValidatorTitle'; import getConfirmationDuration from 'lib/tx/getConfirmationDuration'; import { currencyUnits } from 'lib/units'; @@ -45,6 +47,7 @@ import IconSvg from 'ui/shared/IconSvg'; import LogDecodedInputData from 'ui/shared/logs/LogDecodedInputData'; import RawInputData from 'ui/shared/RawInputData'; import TxStatus from 'ui/shared/statusTag/TxStatus'; +import WvmArchiverTag from 'ui/shared/statusTag/WvmArchiverTag'; import TextSeparator from 'ui/shared/TextSeparator'; import TxFeeStability from 'ui/shared/tx/TxFeeStability'; import Utilization from 'ui/shared/Utilization/Utilization'; @@ -72,6 +75,7 @@ interface Props { const TxInfo = ({ data, isLoading, socketStatus }: Props) => { const size = useWindowSize(); const { colorMode } = useColorMode(); + const isWvmArchiver = useWvmArchiver({ address: data?.from.hash }); const isSmallDevice = size.width && size.width < 768; const wvmIconPath = colorMode === 'light' ? 'networks/arweave-dark' : 'networks/arweave-light'; @@ -310,6 +314,20 @@ const TxInfo = ({ data, isLoading, socketStatus }: Props) => { ) } + { isWvmArchiver && ( + <> + + Application + + + + + + ) } + { - - - - - + { arweaveId === 'block_not_archived_or_backfilled' ? ( + <> + Pending + + + + ) : ( + <> + + + + + + + ) } ) : ( diff --git a/ui/txs/TxsListItem.tsx b/ui/txs/TxsListItem.tsx index 25e17e1568..ec3c0d6609 100644 --- a/ui/txs/TxsListItem.tsx +++ b/ui/txs/TxsListItem.tsx @@ -10,6 +10,7 @@ import type { Transaction } from 'types/api/transaction'; import config from 'configs/app'; import getValueWithUnit from 'lib/getValueWithUnit'; import useTimeAgoIncrement from 'lib/hooks/useTimeAgoIncrement'; +import { useWvmArchiver } from 'lib/hooks/useWvmArchiver'; import { space } from 'lib/html-entities'; import { currencyUnits } from 'lib/units'; import AddressFromTo from 'ui/shared/address/AddressFromTo'; @@ -17,6 +18,7 @@ import BlockEntity from 'ui/shared/entities/block/BlockEntity'; import TxEntity from 'ui/shared/entities/tx/TxEntity'; import ListItemMobile from 'ui/shared/ListItemMobile/ListItemMobile'; import TxStatus from 'ui/shared/statusTag/TxStatus'; +import WvmArchiverTag from 'ui/shared/statusTag/WvmArchiverTag'; import TxFeeStability from 'ui/shared/tx/TxFeeStability'; import TxWatchListTags from 'ui/shared/tx/TxWatchListTags'; import TxAdditionalInfo from 'ui/txs/TxAdditionalInfo'; @@ -33,6 +35,7 @@ type Props = { } const TxsListItem = ({ tx, isLoading, showBlockInfo, currentAddress, enableTimeIncrement }: Props) => { + const isWvmArchiver = useWvmArchiver({ address: tx.from.hash }); const dataTo = tx.to ? tx.to : tx.created_contract; const timeAgo = useTimeAgoIncrement(tx.timestamp, enableTimeIncrement); @@ -47,6 +50,7 @@ const TxsListItem = ({ tx, isLoading, showBlockInfo, currentAddress, enableTimeI } + { isWvmArchiver && } diff --git a/ui/txs/TxsTableItem.tsx b/ui/txs/TxsTableItem.tsx index 216003bfeb..149a38a9d1 100644 --- a/ui/txs/TxsTableItem.tsx +++ b/ui/txs/TxsTableItem.tsx @@ -2,6 +2,7 @@ import { Tr, Td, VStack, + HStack, Skeleton, } from '@chakra-ui/react'; import { motion } from 'framer-motion'; @@ -11,12 +12,14 @@ import type { Transaction } from 'types/api/transaction'; import config from 'configs/app'; import useTimeAgoIncrement from 'lib/hooks/useTimeAgoIncrement'; +import { useWvmArchiver } from 'lib/hooks/useWvmArchiver'; import AddressFromTo from 'ui/shared/address/AddressFromTo'; import Tag from 'ui/shared/chakra/Tag'; import CurrencyValue from 'ui/shared/CurrencyValue'; import BlockEntity from 'ui/shared/entities/block/BlockEntity'; import TxEntity from 'ui/shared/entities/tx/TxEntity'; import TxStatus from 'ui/shared/statusTag/TxStatus'; +import WvmArchiverTag from 'ui/shared/statusTag/WvmArchiverTag'; import TxFeeStability from 'ui/shared/tx/TxFeeStability'; import TxWatchListTags from 'ui/shared/tx/TxWatchListTags'; import TxAdditionalInfo from 'ui/txs/TxAdditionalInfo'; @@ -36,6 +39,8 @@ const TxsTableItem = ({ tx, showBlockInfo, currentAddress, enableTimeIncrement, const dataTo = tx.to ? tx.to : tx.created_contract; const timeAgo = useTimeAgoIncrement(tx.timestamp, enableTimeIncrement); + const isWvmArchiver = useWvmArchiver({ address: tx.from.hash }); + return ( - { tx.translation ? - : - - } + + { tx.translation ? + : + + } + + { isWvmArchiver && } + diff --git a/yarn.lock b/yarn.lock index 4e6a75646d..73fef2fcfe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2218,6 +2218,13 @@ 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.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" + integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== + dependencies: + "@emotion/memoize" "^0.8.1" + "@emotion/is-prop-valid@^0.8.2": version "0.8.8" resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" @@ -2242,6 +2249,11 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.0.tgz#f580f9beb67176fa57aae70b08ed510e1b18980f" integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" + integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== + "@emotion/react@^11.10.4", "@emotion/react@^11.8.1": version "11.10.5" resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.5.tgz#95fff612a5de1efa9c0d535384d3cfa115fe175d" @@ -2284,6 +2296,11 @@ "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" "@emotion/utils" "^1.2.0" +"@emotion/unitless@0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" + integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== + "@emotion/unitless@^0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.0.tgz#a4a36e9cbdc6903737cd20d38033241e1b8833db" @@ -6452,6 +6469,11 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== +"@types/stylis@4.2.5": + version "4.2.5" + resolved "https://registry.yarnpkg.com/@types/stylis/-/stylis-4.2.5.tgz#1daa6456f40959d06157698a653a9ab0a70281df" + integrity sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw== + "@types/swagger-ui-react@^4.11.0": version "4.11.0" resolved "https://registry.yarnpkg.com/@types/swagger-ui-react/-/swagger-ui-react-4.11.0.tgz#3ac84bc8e2f6e57b9ff4533ec31934f697e1a2c4" @@ -7896,6 +7918,11 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== +camelize@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" + integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== + caniuse-lite@^1.0.30001400: version "1.0.30001418" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz#5f459215192a024c99e3e3a53aac310fc7cf24e6" @@ -8317,6 +8344,11 @@ css-box-model@1.2.1: dependencies: tiny-invariant "^1.0.6" +css-color-keywords@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" + integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== + css-loader@^6.7.3: version "6.7.3" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.3.tgz#1e8799f3ccc5874fdd55461af51137fcc5befbcd" @@ -8353,6 +8385,15 @@ css-select@^5.1.0: domutils "^3.0.1" nth-check "^2.0.1" +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.1.2, css-tree@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" @@ -8428,6 +8469,11 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" +csstype@3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + csstype@^3.0.11: version "3.1.1" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" @@ -13588,7 +13634,7 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== @@ -13602,6 +13648,15 @@ postcss@8.4.31: picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@8.4.38: + version "8.4.38" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + postcss@^8.4.19, postcss@^8.4.27: version "8.4.32" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9" @@ -14071,6 +14126,11 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +react-is@^18.2.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + react-jazzicon@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/react-jazzicon/-/react-jazzicon-1.0.4.tgz#31e5f6908e042786ba93a9093b852dea1870e7a0" @@ -14078,6 +14138,14 @@ react-jazzicon@^1.0.4: dependencies: mersenne-twister "^1.1.0" +react-loader-spinner@^6.1.6: + version "6.1.6" + resolved "https://registry.yarnpkg.com/react-loader-spinner/-/react-loader-spinner-6.1.6.tgz#744d84a9763e963b565054f4f281dadfbd17e9e9" + integrity sha512-x5h1Jcit7Qn03MuKlrWcMG9o12cp9SNDVHVJTNRi9TgtGPKcjKiXkou4NRfLAtXaFB3+Z8yZsVzONmPzhv2ErA== + dependencies: + react-is "^18.2.0" + styled-components "^6.1.2" + react-native-webview@^11.26.0: version "11.26.1" resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-11.26.1.tgz#658c09ed5162dc170b361e48c2dd26c9712879da" @@ -14777,6 +14845,11 @@ sha.js@^2.4.11: inherits "^2.0.1" safe-buffer "^5.0.1" +shallowequal@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -14934,6 +15007,11 @@ source-map-js@^1.0.1, source-map-js@^1.0.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +source-map-js@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + source-map-support@0.5.13: version "0.5.13" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" @@ -15270,6 +15348,21 @@ style-value-types@5.0.0: hey-listen "^1.0.8" tslib "^2.1.0" +styled-components@^6.1.2: + version "6.1.13" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-6.1.13.tgz#2d777750b773b31469bd79df754a32479e9f475e" + integrity sha512-M0+N2xSnAtwcVAQeFEsGWFFxXDftHUD7XrKla06QbpUMmbmtFBMMTcKWvFXtWxuD5qQkB8iU5gk6QASlx2ZRMw== + dependencies: + "@emotion/is-prop-valid" "1.2.2" + "@emotion/unitless" "0.8.1" + "@types/stylis" "4.2.5" + css-to-react-native "3.2.0" + csstype "3.1.3" + postcss "8.4.38" + shallowequal "1.1.0" + stylis "4.3.2" + tslib "2.6.2" + styled-jsx@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" @@ -15282,6 +15375,11 @@ stylis@4.1.3: resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.1.3.tgz#fd2fbe79f5fed17c55269e16ed8da14c84d069f7" integrity sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA== +stylis@4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.2.tgz#8f76b70777dd53eb669c6f58c997bf0a9972e444" + integrity sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg== + sucrase@^3.20.3: version "3.29.0" resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.29.0.tgz#3207c5bc1b980fdae1e539df3f8a8a518236da7d" @@ -15734,16 +15832,16 @@ tslib@2.4.0, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4. resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== +tslib@2.6.2, 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== + tslib@^2.3.0, tslib@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== -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.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"