diff --git a/.github/workflows/test.e2e.yml b/.github/workflows/test.e2e.yml index ad39aae39..83cf9ea74 100644 --- a/.github/workflows/test.e2e.yml +++ b/.github/workflows/test.e2e.yml @@ -31,7 +31,7 @@ jobs: run: npx cypress info - name: Cypress run - uses: cypress-io/github-action@v4.2.2 + uses: cypress-io/github-action@v5.0.0 with: install: false build: npm run build diff --git a/.gitignore b/.gitignore index 7909cc7a1..590f93429 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ /.pnp .pnp.js .npmrc +yarn.lock # testing /coverage diff --git a/assets/icons/tips.svg b/assets/icons/tips.svg new file mode 100644 index 000000000..3933fbb09 --- /dev/null +++ b/assets/icons/tips.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/assets/icons/usd.svg b/assets/icons/usd.svg new file mode 100644 index 000000000..a3e0a7fa9 --- /dev/null +++ b/assets/icons/usd.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/components/AssetList/index.tsx b/components/AssetList/index.tsx index 87910a737..36ccb0e84 100644 --- a/components/AssetList/index.tsx +++ b/components/AssetList/index.tsx @@ -1,16 +1,21 @@ +import { useState } from 'react' import { useTranslation } from 'next-i18next' import NextLink from 'next/link' import { gql } from 'graphql-request' +import dayjs from 'dayjs' +import BigNumber from 'bignumber.js' +import Tooltip from 'components/Tooltip' import Table from 'components/Table' import TokenLogo from 'components/TokenLogo' import Amount from 'components/Amount' import NoDataIcon from 'assets/icons/no-data.svg' +import UsdIcon from 'assets/icons/usd.svg' import { parseTokenName, client, GraphQLSchema } from 'utils' import styles from './styles.module.scss' export type UdtList = Array<{ value: string - udt: Pick + udt: Pick }> const udtListQuery = gql` @@ -24,6 +29,11 @@ const udtListQuery = gql` icon decimal symbol + token_exchange_rate { + exchange_rate + symbol + timestamp + } } } } @@ -44,14 +54,32 @@ export const fetchUdtList = (variables: Variables) => }) const AssetList = ({ list = [] }: { list: UdtList }) => { - const [t] = useTranslation('account') + const [t] = useTranslation(['account', 'list']) + const [isShowUsd, setIsShowUsd] = useState(false) + + const handleBalanceDisplayChange = () => setIsShowUsd(show => !show) + return ( - + @@ -74,8 +102,28 @@ const AssetList = ({ list = [] }: { list: UdtList }) => { - ) diff --git a/components/AssetList/styles.module.scss b/components/AssetList/styles.module.scss index 009259ac2..0ef0d40da 100644 --- a/components/AssetList/styles.module.scss +++ b/components/AssetList/styles.module.scss @@ -46,3 +46,23 @@ margin: 0 auto; } } + +.balance { + display: flex; + align-items: center; + justify-content: flex-end; + div { + display: flex; + align-items: center; + justify-content: flex-end; + cursor: pointer; + span { + display: block; + height: 17px; + svg { + margin-left: 0.25rem; + cursor: pointer; + } + } + } +} diff --git a/components/BaseTransferlist/styles.module.scss b/components/BaseTransferlist/styles.module.scss index 40afec27c..1692124cc 100644 --- a/components/BaseTransferlist/styles.module.scss +++ b/components/BaseTransferlist/styles.module.scss @@ -45,6 +45,9 @@ .to { display: flex; align-items: center; + svg { + margin-left: 0.25rem; + } } .noRecords { diff --git a/components/ERC20TransferList/index.tsx b/components/ERC20TransferList/index.tsx index 16792c0b3..526adb84e 100644 --- a/components/ERC20TransferList/index.tsx +++ b/components/ERC20TransferList/index.tsx @@ -1,7 +1,10 @@ -import { useState } from 'react' +import { useEffect, useState } from 'react' import { useTranslation } from 'next-i18next' import NextLink from 'next/link' +import { useRouter } from 'next/router' import { gql } from 'graphql-request' +import dayjs from 'dayjs' +import BigNumber from 'bignumber.js' import Table from 'components/Table' import Address from 'components/TruncatedAddress' import Pagination from 'components/SimplePagination' @@ -9,11 +12,14 @@ import TxStatusIcon from 'components/TxStatusIcon' import TransferDirection from 'components/TransferDirection' import RoundedAmount from 'components/RoundedAmount' import TokenLogo from 'components/TokenLogo' +import Tooltip from 'components/Tooltip' +import FilterMenu from 'components/FilterMenu' +import AgeFilterMenu from 'components/FilterMenu/AgeFilterMenu' import ChangeIcon from 'assets/icons/change.svg' import NoDataIcon from 'assets/icons/no-data.svg' +import UsdIcon from 'assets/icons/usd.svg' import { client, timeDistance, GraphQLSchema } from 'utils' import styles from './styles.module.scss' -import Tooltip from 'components/Tooltip' export type TransferListProps = { token_transfers: { @@ -27,31 +33,58 @@ export type TransferListProps = { log_index: number polyjuice: Pick transaction_hash: string - udt: Pick + udt: Pick }> metadata: GraphQLSchema.PageMetadata } } -interface Cursor { +interface FilterAndCursor { limit?: number before: string after: string + block_from?: number | null + block_to?: number | null + address_from: string + address_to: string + age_range_start: string + age_range_end: string + combine_from_to: boolean } -interface AccountTransferListVariables extends Nullable { - address: string -} +interface AccountTransferListVariables extends Nullable {} -export interface TokenTransferListVariables extends Nullable { +export interface TokenTransferListVariables extends Nullable { contract_address: string } type Variables = AccountTransferListVariables | TokenTransferListVariables const transferListQuery = gql` - query ($address: HashAddress, $before: String, $after: String, $limit: Int) { + query transferListQuery( + $before: String + $after: String + $limit: Int + $block_from: Int + $block_to: Int + $address_from: HashAddress + $address_to: HashAddress + $age_range_start: DateTime + $age_range_end: DateTime + $combine_from_to: Boolean + ) { token_transfers( - input: { from_address: $address, to_address: $address, before: $before, after: $after, limit: $limit } + input: { + before: $before + after: $after + limit: $limit + start_block_number: $block_from + end_block_number: $block_to + from_address: $address_from + to_address: $address_to + age_range_start: $age_range_start + age_range_end: $age_range_end + combine_from_to: $combine_from_to + } ) { entries { amount @@ -79,6 +112,11 @@ const transferListQuery = gql` symbol icon name + token_exchange_rate { + exchange_rate + symbol + timestamp + } } } @@ -93,8 +131,34 @@ const transferListQuery = gql` // FIXME: a patch because API returns 500 if from, to, contract_address are specified simultaneously const tokenTransferListQuery = gql` - query ($address: HashAddress, $before: String, $after: String, $limit: Int) { - token_transfers(input: { token_contract_address_hash: $address, before: $before, after: $after, limit: $limit }) { + query tokenTransferListQuery( + $contract_address: HashAddress + $before: String + $after: String + $limit: Int + $block_from: Int + $block_to: Int + $address_from: HashAddress + $address_to: HashAddress + $age_range_start: DateTime + $age_range_end: DateTime + $combine_from_to: Boolean + ) { + token_transfers( + input: { + token_contract_address_hash: $contract_address + before: $before + after: $after + limit: $limit + start_block_number: $block_from + end_block_number: $block_to + from_address: $address_from + to_address: $address_to + age_range_start: $age_range_start + age_range_end: $age_range_end + combine_from_to: $combine_from_to + } + ) { entries { amount transaction_hash @@ -121,6 +185,11 @@ const tokenTransferListQuery = gql` symbol icon name + token_exchange_rate { + exchange_rate + symbol + timestamp + } } } @@ -139,37 +208,76 @@ export const fetchTransferList = (variables: Variables) => export const fetchTokenTransferList = (variables: Variables) => client.request(tokenTransferListQuery, variables).then(data => data.token_transfers) +const FILTER_KEYS = ['block_from', 'block_to', 'address_from', 'address_to', 'age_range_start', 'age_range_end'] + const TransferList: React.FC< TransferListProps & { viewer?: string showToken?: boolean } > = ({ token_transfers, viewer, showToken = true }) => { - const [isShowLogo, setIsShowLogo] = useState(true) const [t, { language }] = useTranslation('list') + const [isShowLogo, setIsShowLogo] = useState(true) + const [isShowUsd, setIsShowUsd] = useState(false) + const { query } = useRouter() + const isFiltered = Object.keys(query).some(key => FILTER_KEYS.includes(key)) + const isFilterUnnecessary = !token_transfers.metadata.total_count && !isFiltered + + const handleValueDisplayChange = () => setIsShowUsd(show => !show) const handleTokenDisplayChange = () => setIsShowLogo(show => !show) return ( -
+
{t(`asset`)} {t(`assetType`)}{t(`balance`)} +
+ +
+ {isShowUsd ? t(`USD`, { ns: 'list' }) : t(`balance`)} + + + +
+
+
+
{t(item.udt.type === GraphQLSchema.UdtType.Native ? 'native' : 'bridged')} - + + {isShowUsd ? ( + + + {item.udt.token_exchange_rate?.exchange_rate + ? `$${new BigNumber(item.value ?? 0) + .dividedBy(10 ** item.udt.decimal) + .multipliedBy(item.udt.token_exchange_rate?.exchange_rate) + .toFixed(2)}` || '-' + : '-'} + + + ) : ( + + )}
- - - - + + + + {showToken ? ( ) : null} - + @@ -227,8 +335,28 @@ const TransferList: React.FC< ) : null} - ) diff --git a/components/ERC20TransferList/styles.module.scss b/components/ERC20TransferList/styles.module.scss index d06f50d71..571dd5049 100644 --- a/components/ERC20TransferList/styles.module.scss +++ b/components/ERC20TransferList/styles.module.scss @@ -19,9 +19,16 @@ .noRecords { @include empty-list; } + &[data-is-filter-unnecessary='true'] { + th { + svg { + display: none; + } + } + } } -.token { +.tokenHeader { display: flex; align-items: center; svg { @@ -30,6 +37,26 @@ } } +.value { + display: flex; + align-items: center; + justify-content: flex-end; + div { + display: flex; + align-items: center; + justify-content: flex-end; + cursor: pointer; + span { + display: block; + height: 17px; + svg { + margin-left: 0.25rem; + cursor: pointer; + } + } + } +} + .tokenUrl { display: block; max-width: 60px; @@ -41,6 +68,18 @@ padding-left: 0 !important; padding-right: 0 !important; } + .amount { margin-right: 0.25rem; } + +.ageHeader, +.blockHeader, +.fromHeader, +.toHeader { + display: flex; + align-items: center; + svg { + margin-left: 0.25rem; + } +} diff --git a/components/FilterMenu/AgeFilterMenu.tsx b/components/FilterMenu/AgeFilterMenu.tsx new file mode 100644 index 000000000..8a498daf5 --- /dev/null +++ b/components/FilterMenu/AgeFilterMenu.tsx @@ -0,0 +1,267 @@ +import { useRef, useState } from 'react' +import { useRouter } from 'next/router' +import { useTranslation } from 'next-i18next' +import dayjs, { Dayjs } from 'dayjs' +import 'dayjs/locale/en' +import 'dayjs/locale/zh-cn' +import utc from 'dayjs/plugin/utc' +import timezones from 'dayjs/plugin/timezone' +import TextField from '@mui/material/TextField' +import { usePopupState, bindTrigger, bindPopper } from 'material-ui-popup-state/hooks' +import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider' +import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs' +import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker' +import { Popper, ClickAwayListener, Fade } from '@mui/material' +import styled from '@emotion/styled' +import Alert from 'components/Alert' +import FilterIcon from 'assets/icons/filter.svg' +import ClearIcon from 'assets/icons/clear.svg' + +dayjs.extend(utc) +dayjs.extend(timezones) + +const locales = { 'en-US': 'en', 'zh-CN': 'zh-cn' } + +const Container = styled.div` + position: relative; + display: inline-flex; + label.filterBtn { + display: flex; + cursor: pointer; + &:hover { + color: var(--primary-color); + } + svg { + @media screen and (max-width: 1024px) { + transform: scale(0.9); + } + } + } + .clearIcon { + display: none; + position: absolute; + top: -70%; + right: -70%; + width: 12px; + height: 12px; + cursor: pointer; + path { + fill: #333; + } + } + + &[data-active='true'] { + label.filterBtn { + svg { + color: var(--primary-color); + } + } + .clearIcon { + display: block; + } + } +` + +const FormMenu = styled.form` + padding: 0.7rem; + width: 256px; + background: #fff; + box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1); + border-radius: 8px; + overflow: hidden; + z-index: 9; + + .field { + display: flex; + flex-direction: column; + margin-bottom: 10px; + label { + line-height: 1em; + text-transform: capitalize; + color: var(--secondary-text-color); + font-size: 90%; + margin-bottom: 6px; + } + .MuiInputBase-root { + input { + padding-left: 10px; + } + fieldset { + border: unset; + } + width: 100%; + height: 42px; + color: var(--primary-text-color); + font-size: 0.875rem; + font-weight: 500; + border: 1px solid var(--border-color); + border-radius: 4px; + box-sizing: border-box; + &:hover, + &:focus { + border-color: var(--primary-color); + } + &::placeholder { + color: #999; + } + } + } + + .btns { + display: flex; + justify-content: flex-end; + margin-top: 10px; + button { + appearance: none; + border: none; + margin-left: 0.5rem; + display: flex; + justify-content: center; + align-items: center; + width: 5.5rem; + height: 2rem; + border-radius: 1rem; + border: 1px solid #e5e5e5; + background-color: transparent; + text-transform: capitalize; + cursor: pointer; + &[type='submit'] { + background: var(--primary-color); + border-color: var(--primary-color); + color: #fff; + } + } + } +` + +const AgeFilterMenu: React.FC<{ filterKeys: Array }> = ({ filterKeys }) => { + const [t] = useTranslation('list') + const { query, push, locale } = useRouter() + const defaultState = filterKeys.reduce((res, key) => ({ ...res, [key]: null }), {}) + const filterRef = useRef(null) + const [state, setState] = useState>( + filterKeys.reduce((res, key) => ({ ...res, [key]: query[key] ? dayjs(query[key] as string) : null }), {}), + ) + const [alert, setAlert] = useState<{ open: boolean; type?: 'success' | 'error' | 'warning'; msg?: string }>({ + open: false, + type: 'success', + msg: '', + }) + + const handleClickAway = () => { + popupState.setOpen(false) + } + + const popupState = usePopupState({ + variant: 'popper', + popupId: 'formPopover', + }) + + const handleFilterSubmit = (e: React.FormEvent) => { + e.stopPropagation() + e.preventDefault() + const q = { ...query } as Record + const timezone = dayjs.tz.guess() + try { + filterKeys.forEach(key => { + if (state[key]) { + q[key] = state[key].tz(timezone).utc().toISOString() + } else { + delete q[key] + } + }) + } catch { + setAlert({ open: true, type: 'warning', msg: t('invalid_date') }) + return + } + popupState.setOpen(false) + push(`${window.location.pathname ?? ''}?${new URLSearchParams(q)}`) + } + + const handleDateChange = (localDate: Dayjs, field: string) => { + setState({ ...state, [field]: localDate }) + } + + const handleFilterContentClear = () => { + setState(defaultState) + } + + const handleFilterIconClear = (e: React.MouseEvent) => { + e.stopPropagation() + e.preventDefault() + const q = { ...query } as Record + filterKeys.forEach(field => { + delete q[field] + }) + + push(`${window.location.pathname ?? ''}?${new URLSearchParams(q)}`) + } + + return ( + + query[field])}> + + setAlert({ ...alert, open: false })} + content={alert.msg} + type={alert.type} + /> + + {({ TransitionProps }) => ( + +
+ + {filterKeys.map(field => { + return ( +
+ + + handleDateChange(newValue, field)} + inputFormat="YYYY/MM/DD, HH:mm" + renderInput={params => ( + + )} + /> + +
+ ) + })} +
+ + +
+
+
+
+ )} +
+
+
+ ) +} + +AgeFilterMenu.displayName = 'AgeFilterMenu' + +export default AgeFilterMenu diff --git a/components/PageSize.tsx b/components/PageSize.tsx index 2cca782ff..9415b1259 100644 --- a/components/PageSize.tsx +++ b/components/PageSize.tsx @@ -21,6 +21,8 @@ const PageSize = () => { if (s === pageSize) { return } + delete query.after + delete query.before push(`${url}?${new URLSearchParams({ ...query, page_size: s.toString() })}`) } diff --git a/components/SimplePagination/index.tsx b/components/SimplePagination/index.tsx index b0aa4784a..97bc9c039 100644 --- a/components/SimplePagination/index.tsx +++ b/components/SimplePagination/index.tsx @@ -2,10 +2,15 @@ import { useTranslation } from 'next-i18next' import NextLink from 'next/link' import { useRouter } from 'next/router' import NextPageIcon from 'assets/icons/next-page.svg' -import PageSize from 'components/PageSize' +import PageSize, { SIZES } from 'components/PageSize' import styles from './styles.module.scss' -const SimplePagination: React.FC>> = ({ before, after, note }) => { +const SimplePagination: React.FC & { total_count: number }>> = ({ + before, + after, + note, + total_count, +}) => { const [t] = useTranslation('common') const { query: { before: _before, after: _after, id: _, ...query }, @@ -29,7 +34,7 @@ const SimplePagination: React.FC - + diff --git a/components/Tooltip.tsx b/components/Tooltip.tsx index ab9b880e2..0d976cb0d 100644 --- a/components/Tooltip.tsx +++ b/components/Tooltip.tsx @@ -11,7 +11,7 @@ export default styled(({ className, ...props }: TooltipProps) => ( padding: theme.spacing(2), borderRadius: theme.spacing(1), backgroundColor: '#000000', - opacity: '0.8 !important', + opacity: '1 !important', fontSize: 14, }, })) diff --git a/package-lock.json b/package-lock.json index 0f5c44899..c91fb9763 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,38 +9,37 @@ "version": "0.1.0", "license": "MIT", "dependencies": { + "@date-io/dayjs": "2.16.0", "@emotion/react": "11.10.5", "@emotion/styled": "11.10.5", "@fontsource/jetbrains-mono": "4.5.11", "@fontsource/material-icons": "4.5.4", "@fontsource/roboto": "4.5.8", - "@mui/icons-material": "5.10.16", - "@mui/material": "5.10.16", + "@mui/icons-material": "5.11.0", + "@mui/material": "5.11.0", + "@mui/x-date-pickers": "5.0.10", "@nervosnetwork/ckb-sdk-utils": "0.103.1", - "bignumber.js": "9.1.0", - "dayjs": "1.11.6", + "bignumber.js": "9.1.1", + "dayjs": "1.11.7", "ethers": "5.7.2", "graphql": "16.6.0", "graphql-request": "5.0.0", - "material-ui-popup-state": "4.1.0", + "material-ui-popup-state": "5.0.3", "next": "12.3.4", - "next-i18next": "13.0.0", + "next-i18next": "13.0.1", "next-pwa": "5.5.4", "phoenix": "1.6.15", "qrcode": "1.5.1", "react": "18.2.0", "react-dom": "18.2.0", "react-query": "3.39.2", - "recharts": "2.1.16", - "wagmi": "0.8.7" + "recharts": "2.2.0", + "wagmi": "0.9.3" }, "devDependencies": { "@cypress/code-coverage": "3.10.0", "@svgr/webpack": "6.5.1", - "@testing-library/jest-dom": "5.16.5", - "@testing-library/react": "13.4.0", - "@types/cypress": "1.1.3", - "@types/node": "18.11.10", + "@types/node": "18.11.15", "@types/phoenix": "1.5.4", "@types/qrcode": "1.5.0", "@types/react": "17.0.52", @@ -50,29 +49,23 @@ "autoprefixer": "10.4.13", "babel-plugin-istanbul": "6.1.1", "cypress": "9.7.0", - "eslint": "8.28.0", + "eslint": "8.29.0", "eslint-config-next": "12.3.4", "husky": "8.0.2", "jest": "29.3.1", "jest-environment-jsdom": "29.3.1", - "lint-staged": "13.0.4", - "postcss": "8.4.19", + "lint-staged": "13.1.0", + "postcss": "8.4.20", "postcss-flexbugs-fixes": "5.0.2", - "postcss-import": "15.0.0", + "postcss-import": "15.1.0", "postcss-nesting": "10.2.0", "postcss-preset-env": "7.8.3", - "prettier": "2.8.0", + "prettier": "2.8.1", "sass": "1.56.1", "ts-node": "10.9.1", "typescript": "4.8.4" } }, - "node_modules/@adobe/css-tools": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz", - "integrity": "sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==", - "dev": true - }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "license": "Apache-2.0", @@ -1848,11 +1841,11 @@ } }, "node_modules/@babel/runtime": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", - "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", "dependencies": { - "regenerator-runtime": "^0.13.10" + "regenerator-runtime": "^0.13.11" }, "engines": { "node": ">=6.9.0" @@ -1922,9 +1915,9 @@ "dev": true }, "node_modules/@coinbase/wallet-sdk": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.5.3.tgz", - "integrity": "sha512-kaGMk9KyiSLPm1+BvCQSc99ku9gn0j+M1+2Beii+4gx/lRVhutlzmn6l+5zTB/n3xri25iTr+SxjMZLlMfW8Hg==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.6.2.tgz", + "integrity": "sha512-HzxajB+qS+G9//c+th5uJ8KSt+jQ6/U+cgL9Sv89Wx6Mif+Lg5HxGtc6JQcIdHuYk9AFX+nXNSXtTGRdpHkdDg==", "dependencies": { "@metamask/safe-event-emitter": "2.0.0", "@solana/web3.js": "1.52.0", @@ -2415,6 +2408,75 @@ "dev": true, "license": "MIT" }, + "node_modules/@date-io/core": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@date-io/core/-/core-2.16.0.tgz", + "integrity": "sha512-DYmSzkr+jToahwWrsiRA2/pzMEtz9Bq1euJwoOuYwuwIYXnZFtHajY2E6a1VNVDc9jP8YUXK1BvnZH9mmT19Zg==" + }, + "node_modules/@date-io/date-fns": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-2.16.0.tgz", + "integrity": "sha512-bfm5FJjucqlrnQcXDVU5RD+nlGmL3iWgkHTq3uAZWVIuBu6dDmGa3m8a6zo2VQQpu8ambq9H22UyUpn7590joA==", + "dependencies": { + "@date-io/core": "^2.16.0" + }, + "peerDependencies": { + "date-fns": "^2.0.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + } + } + }, + "node_modules/@date-io/dayjs": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@date-io/dayjs/-/dayjs-2.16.0.tgz", + "integrity": "sha512-y5qKyX2j/HG3zMvIxTobYZRGnd1FUW2olZLS0vTj7bEkBQkjd2RO7/FEwDY03Z1geVGlXKnzIATEVBVaGzV4Iw==", + "dependencies": { + "@date-io/core": "^2.16.0" + }, + "peerDependencies": { + "dayjs": "^1.8.17" + }, + "peerDependenciesMeta": { + "dayjs": { + "optional": true + } + } + }, + "node_modules/@date-io/luxon": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/@date-io/luxon/-/luxon-2.16.1.tgz", + "integrity": "sha512-aeYp5K9PSHV28946pC+9UKUi/xMMYoaGelrpDibZSgHu2VWHXrr7zWLEr+pMPThSs5vt8Ei365PO+84pCm37WQ==", + "dependencies": { + "@date-io/core": "^2.16.0" + }, + "peerDependencies": { + "luxon": "^1.21.3 || ^2.x || ^3.x" + }, + "peerDependenciesMeta": { + "luxon": { + "optional": true + } + } + }, + "node_modules/@date-io/moment": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/@date-io/moment/-/moment-2.16.1.tgz", + "integrity": "sha512-JkxldQxUqZBfZtsaCcCMkm/dmytdyq5pS1RxshCQ4fHhsvP5A7gSqPD22QbVXMcJydi3d3v1Y8BQdUKEuGACZQ==", + "dependencies": { + "@date-io/core": "^2.16.0" + }, + "peerDependencies": { + "moment": "^2.24.0" + }, + "peerDependenciesMeta": { + "moment": { + "optional": true + } + } + }, "node_modules/@emotion/babel-plugin": { "version": "11.10.5", "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz", @@ -4320,6 +4382,7 @@ "version": "1.7.6", "resolved": "https://registry.npmjs.org/@json-rpc-tools/provider/-/provider-1.7.6.tgz", "integrity": "sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dependencies": { "@json-rpc-tools/utils": "^1.7.6", "axios": "^0.21.0", @@ -4331,6 +4394,7 @@ "version": "1.7.6", "resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-1.7.6.tgz", "integrity": "sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dependencies": { "keyvaluestorage-interface": "^1.0.0" } @@ -4339,25 +4403,31 @@ "version": "1.7.6", "resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-1.7.6.tgz", "integrity": "sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dependencies": { "@json-rpc-tools/types": "^1.7.6", "@pedrouid/environment": "^1.0.1" } }, + "node_modules/@ledgerhq/connect-kit-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.0.1.tgz", + "integrity": "sha512-OAJh9rMaypS1ttrSMwPznXqglJGcP3WPTTgz9YAKfkaMyUtZcHx7hCj4d6f7DdSVZOgWcyEYfZ8M2QrA2gtvgQ==" + }, "node_modules/@metamask/safe-event-emitter": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==" }, "node_modules/@mui/base": { - "version": "5.0.0-alpha.108", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.108.tgz", - "integrity": "sha512-KjzRUts2i/ODlMfywhFTqTzQl+Cr9nlDSZxJcnYjrbOV/iRyQNBTDoiFJt+XEdRi0fZBHnk74AFbnP56ehybsA==", + "version": "5.0.0-alpha.110", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.110.tgz", + "integrity": "sha512-q4TH9T3sTBknTXXTEf2zO8F3nbHg5iGgiaRx9XErTbXvHrmLrQXbQ4hmrLERocSTBFCFWkKyne/qZj0diWlPtA==", "dependencies": { - "@babel/runtime": "^7.20.1", + "@babel/runtime": "^7.20.6", "@emotion/is-prop-valid": "^1.2.0", - "@mui/types": "^7.2.2", - "@mui/utils": "^5.10.16", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.0", "@popperjs/core": "^2.11.6", "clsx": "^1.2.1", "prop-types": "^15.8.1", @@ -4387,20 +4457,20 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, "node_modules/@mui/core-downloads-tracker": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.16.tgz", - "integrity": "sha512-eK9+olw2ZbXX+vGrtKnN01/vLP1aX0Lq0xok35bqWM1aB93Dcmky/xPNf8h31oJ/C+IzJBjZaZMEDzVZg4Qc0A==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.0.tgz", + "integrity": "sha512-Bmogung451ezVv2YI1RvweOIVsTj2RQ4Fk61+e/+8LFPLTFEwVGbL0YhNy1VB5tri8pzGNV228kxtWVTFooQkg==", "funding": { "type": "opencollective", "url": "https://opencollective.com/mui" } }, "node_modules/@mui/icons-material": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.16.tgz", - "integrity": "sha512-jjCc0IF6iyLiucQCu5igg3fOscSqbbvRCmyRxXgzOcLR56B0sg2L8o+ZfJ0dAg59+wvgtXaxvjze/mJg0B4iWA==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.11.0.tgz", + "integrity": "sha512-I2LaOKqO8a0xcLGtIozC9xoXjZAto5G5gh0FYUMAlbsIHNHIjn4Xrw9rvjY20vZonyiGrZNMAlAXYkY6JvhF6A==", "dependencies": { - "@babel/runtime": "^7.20.1" + "@babel/runtime": "^7.20.6" }, "engines": { "node": ">=12.0.0" @@ -4421,16 +4491,16 @@ } }, "node_modules/@mui/material": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.10.16.tgz", - "integrity": "sha512-JSHcDQQ+k30NKkCM/0KX6jq4F5LOrbFKZpS+cEl7scZWOCJpUPH5ccAT5a7O8wzrgNZ8Y9PnwzNvWBrfShpJFw==", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@mui/base": "5.0.0-alpha.108", - "@mui/core-downloads-tracker": "^5.10.16", - "@mui/system": "^5.10.16", - "@mui/types": "^7.2.2", - "@mui/utils": "^5.10.16", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.11.0.tgz", + "integrity": "sha512-8Zl34lb89rLKTTi50Kakki675/LLHMKKnkp8Ee3rAZ2qmisQlRODsGh1MBjENKp0vwhQnNSvlsCfJteVTfotPQ==", + "dependencies": { + "@babel/runtime": "^7.20.6", + "@mui/base": "5.0.0-alpha.110", + "@mui/core-downloads-tracker": "^5.11.0", + "@mui/system": "^5.11.0", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.0", "@types/react-transition-group": "^4.4.5", "clsx": "^1.2.1", "csstype": "^3.1.1", @@ -4470,12 +4540,12 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, "node_modules/@mui/private-theming": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.16.tgz", - "integrity": "sha512-0MArkJaOHRCKqL/GWjngGZmyOeRz+uxffhx82bKcewr8swqV7xx7EFP02pk0L/gLdfcvYdqwH4YTVjG/+TaKrg==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.0.tgz", + "integrity": "sha512-UFQLb9x5Sj4pg2GhhCGw3Ls/y1Hw/tz9RsBrULvUF0Vgps1z19o7XTq2xqUvp7pN7fJTW7eVIT2gwVg2xlk8PQ==", "dependencies": { - "@babel/runtime": "^7.20.1", - "@mui/utils": "^5.10.16", + "@babel/runtime": "^7.20.6", + "@mui/utils": "^5.11.0", "prop-types": "^15.8.1" }, "engines": { @@ -4496,11 +4566,11 @@ } }, "node_modules/@mui/styled-engine": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.16.tgz", - "integrity": "sha512-ZMSjXvtiGwGDKqrSlXhpxK2voUaF2/lpC/pSTfFmZvKH9j9a9h1/iwo3ybgjFVYGgbfNeW4h0xEchiRohu9xsw==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.0.tgz", + "integrity": "sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ==", "dependencies": { - "@babel/runtime": "^7.20.1", + "@babel/runtime": "^7.20.6", "@emotion/cache": "^11.10.5", "csstype": "^3.1.1", "prop-types": "^15.8.1" @@ -4527,15 +4597,15 @@ } }, "node_modules/@mui/system": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.16.tgz", - "integrity": "sha512-OqI9B1jZ9zQ/dmoqseku4CzdEs9DbLiiMOaWxC3WeAJxM1UavlCgXz0encqm93LIlmSL7TjuHN1/rW8BJCnU8A==", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@mui/private-theming": "^5.10.16", - "@mui/styled-engine": "^5.10.16", - "@mui/types": "^7.2.2", - "@mui/utils": "^5.10.16", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.11.0.tgz", + "integrity": "sha512-HFUT7Dlmyq6Wfuxsw8QBXZxXDYIQQaJ4YHaZd7s+nDMcjerLnILxjh2g3a6umtOUM+jEcRaFJAtvLZvlGfa5fw==", + "dependencies": { + "@babel/runtime": "^7.20.6", + "@mui/private-theming": "^5.11.0", + "@mui/styled-engine": "^5.11.0", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.0", "clsx": "^1.2.1", "csstype": "^3.1.1", "prop-types": "^15.8.1" @@ -4566,9 +4636,9 @@ } }, "node_modules/@mui/types": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.2.tgz", - "integrity": "sha512-siex8cZDtWeC916cXOoUOnEQQejuMYmHtc4hM6VkKVYaBICz3VIiqyiAomRboTQHt2jchxQ5Q5ATlbcDekTxDA==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz", + "integrity": "sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw==", "peerDependencies": { "@types/react": "*" }, @@ -4579,11 +4649,11 @@ } }, "node_modules/@mui/utils": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.16.tgz", - "integrity": "sha512-3MB/SGsgiiu9Z55CFmAfiONUoR7AAue/H4F6w3mc2LnhFQCsoVvXhioDPcsiRpUMIQr34jDPzGXdCuqWooPCXQ==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.11.0.tgz", + "integrity": "sha512-DP/YDaVVCVzJpZ5FFPLKNmaJkeaYRviTyIZkL/D5/FmPXQiA6ecd6z0/+VwoNQtp7aXAQWaRhvz4FM25yqFlHA==", "dependencies": { - "@babel/runtime": "^7.20.1", + "@babel/runtime": "^7.20.6", "@types/prop-types": "^15.7.5", "@types/react-is": "^16.7.1 || ^17.0.0", "prop-types": "^15.8.1", @@ -4605,6 +4675,64 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, + "node_modules/@mui/x-date-pickers": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-5.0.10.tgz", + "integrity": "sha512-k+SKBqlpYsY49JVs7PORDvnfoXw9nJELfImR/3jTgHqP8hQQ6loFjB9ZFvc5NjV4Jf2NIJFmdcp6g8cO31Wmbg==", + "dependencies": { + "@babel/runtime": "^7.18.9", + "@date-io/core": "^2.15.0", + "@date-io/date-fns": "^2.15.0", + "@date-io/dayjs": "^2.15.0", + "@date-io/luxon": "^2.15.0", + "@date-io/moment": "^2.15.0", + "@mui/utils": "^5.10.3", + "@types/react-transition-group": "^4.4.5", + "clsx": "^1.2.1", + "prop-types": "^15.7.2", + "react-transition-group": "^4.4.5", + "rifm": "^0.12.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.9.0", + "@emotion/styled": "^11.8.1", + "@mui/material": "^5.4.1", + "@mui/system": "^5.4.1", + "date-fns": "^2.25.0", + "dayjs": "^1.10.7", + "luxon": "^1.28.0 || ^2.0.0 || ^3.0.0", + "moment": "^2.29.1", + "react": "^17.0.2 || ^18.0.0", + "react-dom": "^17.0.2 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, "node_modules/@nervosnetwork/ckb-sdk-utils": { "version": "0.103.1", "license": "MIT", @@ -4873,19 +5001,19 @@ } }, "node_modules/@react-native-community/cli": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-9.1.3.tgz", - "integrity": "sha512-dfiBxNvqSwxkMduH0eAEJNS+LBbwxm1rOlTO7bN+FZvUwZNCCgIYrixfRo+ifqDUv8N5AbpQB5umnLbs0AjPaA==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-9.3.2.tgz", + "integrity": "sha512-IAW4X0vmX/xozNpp/JVZaX7MrC85KV0OP2DF4o7lNGOfpUhzJAEWqTfkxFYS+VsRjZHDve4wSTiGIuXwE7FG1w==", "peer": true, "dependencies": { - "@react-native-community/cli-clean": "^9.1.0", - "@react-native-community/cli-config": "^9.1.0", + "@react-native-community/cli-clean": "^9.2.1", + "@react-native-community/cli-config": "^9.2.1", "@react-native-community/cli-debugger-ui": "^9.0.0", - "@react-native-community/cli-doctor": "^9.1.2", - "@react-native-community/cli-hermes": "^9.1.0", - "@react-native-community/cli-plugin-metro": "^9.1.3", - "@react-native-community/cli-server-api": "^9.1.0", - "@react-native-community/cli-tools": "^9.1.0", + "@react-native-community/cli-doctor": "^9.3.0", + "@react-native-community/cli-hermes": "^9.3.1", + "@react-native-community/cli-plugin-metro": "^9.2.1", + "@react-native-community/cli-server-api": "^9.2.1", + "@react-native-community/cli-tools": "^9.2.1", "@react-native-community/cli-types": "^9.1.0", "chalk": "^4.1.2", "commander": "^9.4.0", @@ -5131,13 +5259,13 @@ } }, "node_modules/@react-native-community/cli-doctor": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-9.2.1.tgz", - "integrity": "sha512-RpUax0pkKumXJ5hcRG0Qd+oYWsA2RFeMWKY+Npg8q05Cwd1rqDQfWGprkHC576vz26+FPuvwEagoAf6fR2bvJA==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-9.3.0.tgz", + "integrity": "sha512-/fiuG2eDGC2/OrXMOWI5ifq4X1gdYTQhvW2m0TT5Lk1LuFiZsbTCp1lR+XILKekuTvmYNjEGdVpeDpdIWlXdEA==", "peer": true, "dependencies": { "@react-native-community/cli-config": "^9.2.1", - "@react-native-community/cli-platform-ios": "^9.2.1", + "@react-native-community/cli-platform-ios": "^9.3.0", "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", "command-exists": "^1.2.8", @@ -5154,19 +5282,6 @@ "wcwidth": "^1.0.1" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/@react-native-community/cli-platform-ios": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.2.1.tgz", - "integrity": "sha512-dEgvkI6CFgPk3vs8IOR0toKVUjIFwe4AsXFvWWJL5qhrIzW9E5Owi0zPkSvzXsMlfYMbVX0COfVIK539ZxguSg==", - "peer": true, - "dependencies": { - "@react-native-community/cli-tools": "^9.2.1", - "chalk": "^4.1.2", - "execa": "^1.0.0", - "glob": "^7.1.3", - "ora": "^5.4.1" - } - }, "node_modules/@react-native-community/cli-doctor/node_modules/ansi-regex": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", @@ -5323,33 +5438,18 @@ } }, "node_modules/@react-native-community/cli-hermes": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-9.2.1.tgz", - "integrity": "sha512-723/NMb7egXzJrbWT1uEkN2hOpw+OOtWTG2zKJ3j7KKgUd8u/pP+/z5jO8xVrq+eYJEMjDK0FBEo1Xj7maR4Sw==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-9.3.1.tgz", + "integrity": "sha512-Mq4PK8m5YqIdaVq5IdRfp4qK09aVO+aiCtd6vjzjNUgk1+1X5cgUqV6L65h4N+TFJYJHcp2AnB+ik1FAYXvYPQ==", "peer": true, "dependencies": { - "@react-native-community/cli-platform-android": "^9.2.1", + "@react-native-community/cli-platform-android": "^9.3.1", "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", "hermes-profile-transformer": "^0.0.6", "ip": "^1.1.5" } }, - "node_modules/@react-native-community/cli-hermes/node_modules/@react-native-community/cli-platform-android": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-9.2.1.tgz", - "integrity": "sha512-VamCZ8nido3Q3Orhj6pBIx48itORNPLJ7iTfy3nucD1qISEDih3DOzCaQCtmqdEBgUkNkNl0O+cKgq5A3th3Zg==", - "peer": true, - "dependencies": { - "@react-native-community/cli-tools": "^9.2.1", - "chalk": "^4.1.2", - "execa": "^1.0.0", - "fs-extra": "^8.1.0", - "glob": "^7.1.3", - "logkitty": "^0.7.1", - "slash": "^3.0.0" - } - }, "node_modules/@react-native-community/cli-hermes/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -5366,163 +5466,13 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@react-native-community/cli-hermes/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "peer": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "peer": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "peer": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "peer": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "peer": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "peer": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "peer": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "peer": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "peer": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, "node_modules/@react-native-community/cli-platform-android": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-9.1.0.tgz", - "integrity": "sha512-OZ/Krq0wH6T7LuAvwFdJYe47RrHG8IOcoab47H4QQdYGTmJgTS3SlVkr6gn79pZyBGyp7xVizD30QJrIIyDjnw==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-9.3.1.tgz", + "integrity": "sha512-m0bQ6Twewl7OEZoVf79I2GZmsDqh+Gh0bxfxWgwxobsKDxLx8/RNItAo1lVtTCgzuCR75cX4EEO8idIF9jYhew==", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "^9.1.0", + "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", "execa": "^1.0.0", "fs-extra": "^8.1.0", @@ -5698,12 +5648,12 @@ } }, "node_modules/@react-native-community/cli-platform-ios": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.1.2.tgz", - "integrity": "sha512-XpgA9ymm76yjvtYPByqFF1LP7eM/lH5K3zpkZkV9MJLStOIo3mrzN2ywRDZ/xVOheh5LafS4YMmrjIajf11oIQ==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.3.0.tgz", + "integrity": "sha512-nihTX53BhF2Q8p4B67oG3RGe1XwggoGBrMb6vXdcu2aN0WeXJOXdBLgR900DAA1O8g7oy1Sudu6we+JsVTKnjw==", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "^9.1.0", + "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", "execa": "^1.0.0", "glob": "^7.1.3", @@ -6323,9 +6273,9 @@ } }, "node_modules/@solana/buffer-layout": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.0.tgz", - "integrity": "sha512-lR0EMP2HC3+Mxwd4YcnZb0smnaDw7Bl2IQWZiTevRH5ZZBZn6VRWn3/92E3qdU4SSImJkA6IDHawOHAnx/qUvQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz", + "integrity": "sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==", "dependencies": { "buffer": "~6.0.3" }, @@ -6401,15 +6351,15 @@ } }, "node_modules/@solana/web3.js/node_modules/react-native": { - "version": "0.70.3", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.70.3.tgz", - "integrity": "sha512-EiJxOonyvpSWa3Eik7a6YAD6QU8lK2W9M/DDdYlpWmIlGLCd5110rIpEZjxttsyrohxlRJAYRgJ9Tx2mMXqtfw==", + "version": "0.70.6", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.70.6.tgz", + "integrity": "sha512-xtQdImPHnwgraEx3HIZFOF+D1hJ9bC5mfpIdUGoMHRws6OmvHAjmFpO6qfdnaQ29vwbmZRq7yf14sbury74R/w==", "peer": true, "dependencies": { "@jest/create-cache-key-function": "^27.0.1", - "@react-native-community/cli": "9.1.3", - "@react-native-community/cli-platform-android": "9.1.0", - "@react-native-community/cli-platform-ios": "9.1.2", + "@react-native-community/cli": "9.3.2", + "@react-native-community/cli-platform-android": "9.3.1", + "@react-native-community/cli-platform-ios": "9.3.0", "@react-native/assets": "1.0.0", "@react-native/normalize-color": "2.0.0", "@react-native/polyfills": "2.0.0", @@ -6426,9 +6376,9 @@ "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^26.5.2", - "promise": "^8.0.3", + "promise": "^8.3.0", "react-devtools-core": "4.24.0", - "react-native-codegen": "^0.70.5", + "react-native-codegen": "^0.70.6", "react-native-gradle-plugin": "^0.70.3", "react-refresh": "^0.4.0", "react-shallow-renderer": "^16.15.0", @@ -6460,6 +6410,19 @@ "react-native": "*" } }, + "node_modules/@solana/web3.js/node_modules/react-shallow-renderer": { + "version": "16.15.0", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "peer": true, + "dependencies": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/@solana/web3.js/node_modules/scheduler": { "version": "0.22.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.22.0.tgz", @@ -6923,50 +6886,6 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "node_modules/@testing-library/jest-dom": { - "version": "5.16.5", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", - "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", - "dev": true, - "dependencies": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/aria-query": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.2.tgz", - "integrity": "sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@testing-library/react": { "version": "13.4.0", "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", @@ -7089,16 +7008,6 @@ "@types/node": "*" } }, - "node_modules/@types/cypress": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@types/cypress/-/cypress-1.1.3.tgz", - "integrity": "sha512-OXe0Gw8LeCflkG1oPgFpyrYWJmEKqYncBsD/J0r17r0ETx/TnIGDNLwXt/pFYSYuYTpzcq1q3g62M9DrfsBL4g==", - "deprecated": "This is a stub types definition for cypress (https://cypress.io). cypress provides its own type definitions, so you don't need @types/cypress installed!", - "dev": true, - "dependencies": { - "cypress": "*" - } - }, "node_modules/@types/d3-color": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-2.0.3.tgz", @@ -7271,9 +7180,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "18.11.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.10.tgz", - "integrity": "sha512-juG3RWMBOqcOuXC643OAdSA525V44cVgGV6dUDuiFtss+8Fk5x1hI93Rsld43VeJVIeqlP9I7Fn9/qaVqoEAuQ==" + "version": "18.11.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.15.tgz", + "integrity": "sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw==" }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -7567,10 +7476,25 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@wagmi/core": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-0.7.6.tgz", - "integrity": "sha512-svnft0E7J7pFD48LdD73IHnB7kaokqHjhUHb39pknU1/EryM4m6UCc2MFf9tBHT69Tna2V1BcDTX0ZoE2pnclA==", + "node_modules/@wagmi/chains": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@wagmi/chains/-/chains-0.1.1.tgz", + "integrity": "sha512-isHtXKy6acossn6NQsBzgY25CH+m+v/eAjCUv8HAmAAYHxhvo59fWGneiSRK2pCPdjN3VIG5ZcMG4cAaO7qqjQ==", + "funding": [ + { + "type": "gitcoin", + "url": "https://gitcoin.co/grants/4493/wagmi-react-hooks-library-for-ethereum" + }, + { + "type": "github", + "url": "https://github.com/sponsors/wagmi-dev" + } + ] + }, + "node_modules/@wagmi/connectors": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-0.1.1.tgz", + "integrity": "sha512-W9w73o9HCYzuBsDHuujwBT/nGGIu5qLBSqVqslXf/S1Q9OiWoudmuIs3opuYqxgw5MpWbMqhq6QaxA7Qcd6NrA==", "funding": [ { "type": "gitcoin", @@ -7582,12 +7506,62 @@ } ], "dependencies": { + "@coinbase/wallet-sdk": "^3.5.4", + "@ledgerhq/connect-kit-loader": "^1.0.1", + "@walletconnect/ethereum-provider": "^1.8.0", "abitype": "^0.1.8", + "eventemitter3": "^4.0.7" + }, + "peerDependencies": { + "@wagmi/core": "0.8.x", + "ethers": "^5.0.0" + }, + "peerDependenciesMeta": { + "@wagmi/core": { + "optional": true + } + } + }, + "node_modules/@wagmi/connectors/node_modules/abitype": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.1.8.tgz", + "integrity": "sha512-2pde0KepTzdfu19ZrzYTYVIWo69+6UbBCY4B1RDiwWgo2XZtFSJhF6C+XThuRXbbZ823J0Rw1Y5cP0NXYVcCdQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wagmi-dev" + } + ], + "engines": { + "pnpm": ">=7" + }, + "peerDependencies": { + "typescript": ">=4.7.4" + } + }, + "node_modules/@wagmi/core": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-0.8.3.tgz", + "integrity": "sha512-NbdExzEoBuZqknbYNMfZyxwQYEesxEBeLZQlsK7lV5R0eNXqpayZv9cuQCMRMTSCs/VkSx6Dpy+IZeFMqlikAQ==", + "funding": [ + { + "type": "gitcoin", + "url": "https://gitcoin.co/grants/4493/wagmi-react-hooks-library-for-ethereum" + }, + { + "type": "github", + "url": "https://github.com/sponsors/wagmi-dev" + } + ], + "dependencies": { + "@wagmi/chains": "0.1.1", + "@wagmi/connectors": "0.1.1", + "abitype": "^0.2.5", "eventemitter3": "^4.0.7", "zustand": "^4.1.4" }, "peerDependencies": { - "@coinbase/wallet-sdk": ">=3.3.0", + "@coinbase/wallet-sdk": ">=3.6.0", "@walletconnect/ethereum-provider": ">=1.7.5", "ethers": ">=5.5.1" }, @@ -7612,6 +7586,11 @@ "detect-browser": "5.2.0" } }, + "node_modules/@walletconnect/browser-utils/node_modules/@walletconnect/safe-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz", + "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==" + }, "node_modules/@walletconnect/client": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.8.0.tgz", @@ -7634,15 +7613,16 @@ } }, "node_modules/@walletconnect/crypto": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.2.tgz", - "integrity": "sha512-+OlNtwieUqVcOpFTvLBvH+9J9pntEqH5evpINHfVxff1XIgwV55PpbdvkHu6r9Ib4WQDOFiD8OeeXs1vHw7xKQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.3.tgz", + "integrity": "sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==", "dependencies": { - "@walletconnect/encoding": "^1.0.1", - "@walletconnect/environment": "^1.0.0", - "@walletconnect/randombytes": "^1.0.2", + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/environment": "^1.0.1", + "@walletconnect/randombytes": "^1.0.3", "aes-js": "^3.1.2", - "hash.js": "^1.1.7" + "hash.js": "^1.1.7", + "tslib": "1.14.1" } }, "node_modules/@walletconnect/crypto/node_modules/aes-js": { @@ -7650,19 +7630,38 @@ "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" }, + "node_modules/@walletconnect/crypto/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@walletconnect/encoding": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.1.tgz", - "integrity": "sha512-8opL2rs6N6E3tJfsqwS82aZQDL3gmupWUgmvuZ3CGU7z/InZs3R9jkzH8wmYtpbq0sFK3WkJkQRZFFk4BkrmFA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.2.tgz", + "integrity": "sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==", "dependencies": { "is-typedarray": "1.0.0", + "tslib": "1.14.1", "typedarray-to-buffer": "3.1.5" } }, + "node_modules/@walletconnect/encoding/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@walletconnect/environment": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.0.tgz", - "integrity": "sha512-4BwqyWy6KpSvkocSaV7WR3BlZfrxLbJSLkg+j7Gl6pTDE+U55lLhJvQaMuDVazXYxcjBsG09k7UlH7cGiUI5vQ==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz", + "integrity": "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/environment/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@walletconnect/ethereum-provider": { "version": "1.8.0", @@ -7690,41 +7689,65 @@ } }, "node_modules/@walletconnect/jsonrpc-http-connection": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.3.tgz", - "integrity": "sha512-npPvDG2JxyxoqOphDiyjp5pPeASRBrlfQS39wHESPHlFIjBuvNt9lV9teh53MK9Ncbyxh4y2qEKMfPgcUulTRg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.4.tgz", + "integrity": "sha512-ji79pspdBhmIbTwve383tMaDu5Le9plW+oj5GE2aqzxIl3ib8JvRBZRn5lGEBGqVCvqB3MBJL7gBlEwpyRtoxQ==", "dependencies": { - "@walletconnect/jsonrpc-utils": "^1.0.3", - "@walletconnect/safe-json": "^1.0.0", - "cross-fetch": "^3.1.4" + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "cross-fetch": "^3.1.4", + "tslib": "1.14.1" } }, + "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@walletconnect/jsonrpc-provider": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.5.tgz", - "integrity": "sha512-v61u4ZIV8+p9uIHS2Kl2YRj/2idrQiHcrbrJXw3McQkEJtj9mkCofr1Hu/n419wSRM5uiNK8Z4WRS9zGTTAhWQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.6.tgz", + "integrity": "sha512-f5vQxr53vUVQ51/9mRLb1OiNciT/546XZ68Byn9OYnDBGeGJXK2kQWDHp8sPWZbN5x0p7B6asdCWMVFJ6danlw==", "dependencies": { - "@walletconnect/jsonrpc-utils": "^1.0.3", - "@walletconnect/safe-json": "^1.0.0" + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "tslib": "1.14.1" } }, + "node_modules/@walletconnect/jsonrpc-provider/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@walletconnect/jsonrpc-types": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.1.tgz", - "integrity": "sha512-+6coTtOuChCqM+AoYyi4Q83p9l/laI6NvuM2/AHaZFuf0gT0NjW7IX2+86qGyizn7Ptq4AYZmfxurAxTnhefuw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.2.tgz", + "integrity": "sha512-CZe8tjJX73OWdHjrBHy7HtAapJ2tT0Q3TYhPBhRxi3643lwPIQWC9En45ldY14TZwgSewkbZ0FtGBZK0G7Bbyg==", "dependencies": { - "keyvaluestorage-interface": "^1.0.0" + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" } }, + "node_modules/@walletconnect/jsonrpc-types/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@walletconnect/jsonrpc-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.3.tgz", - "integrity": "sha512-3yb49bPk16MNLk6uIIHPSHQCpD6UAo1OMOx1rM8cW/MPEAYAzrSW5hkhG7NEUwX9SokRIgnZK3QuQkiyNzBMhQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.4.tgz", + "integrity": "sha512-y0+tDxcTZ9BHBBKBJbjZxLUXb+zQZCylf7y/jTvDPNx76J0hYYc+F9zHzyqBLeorSKepLTk6yI8hw3NXbAQB3g==", "dependencies": { - "@walletconnect/environment": "^1.0.0", - "@walletconnect/jsonrpc-types": "^1.0.1" + "@walletconnect/environment": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.2", + "tslib": "1.14.1" } }, + "node_modules/@walletconnect/jsonrpc-utils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@walletconnect/mobile-registry": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz", @@ -7952,19 +7975,33 @@ } }, "node_modules/@walletconnect/randombytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.2.tgz", - "integrity": "sha512-ivgOtAyqQnN0rLQmOFPemsgYGysd/ooLfaDA/ACQ3cyqlca56t3rZc7pXfqJOIETx/wSyoF5XbwL+BqYodw27A==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.3.tgz", + "integrity": "sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==", "dependencies": { - "@walletconnect/encoding": "^1.0.1", - "@walletconnect/environment": "^1.0.0", - "randombytes": "^2.1.0" + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/environment": "^1.0.1", + "randombytes": "^2.1.0", + "tslib": "1.14.1" } }, + "node_modules/@walletconnect/randombytes/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@walletconnect/safe-json": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz", - "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.1.tgz", + "integrity": "sha512-Fm7e31oSYY15NQr8SsLJheKAy5L744udZf2lJKcz6wFmPJEzf7hOF0866o/rrldRzJnjZ4H2GJ45pFudsnLW5A==", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/safe-json/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@walletconnect/signer-connection": { "version": "1.8.0", @@ -8194,9 +8231,9 @@ "dev": true }, "node_modules/abitype": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.1.8.tgz", - "integrity": "sha512-2pde0KepTzdfu19ZrzYTYVIWo69+6UbBCY4B1RDiwWgo2XZtFSJhF6C+XThuRXbbZ823J0Rw1Y5cP0NXYVcCdQ==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.2.5.tgz", + "integrity": "sha512-t1iiokWYpkrziu4WL2Gb6YdGvaP9ZKs7WnA39TI8TsW2E99GVRgDPW/xOKhzoCdyxOYt550CNYEFluCwGaFHaA==", "funding": [ { "type": "github", @@ -8207,7 +8244,13 @@ "pnpm": ">=7" }, "peerDependencies": { - "typescript": ">=4.7.4" + "typescript": ">=4.7.4", + "zod": ">=3.19.1" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } } }, "node_modules/abort-controller": { @@ -9184,8 +9227,9 @@ } }, "node_modules/bignumber.js": { - "version": "9.1.0", - "license": "MIT", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", "engines": { "node": "*" } @@ -10118,9 +10162,9 @@ } }, "node_modules/copy-to-clipboard": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.2.tgz", - "integrity": "sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", "dependencies": { "toggle-selection": "^1.0.6" } @@ -10339,12 +10383,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true - }, "node_modules/cssdb": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.1.0.tgz", @@ -10691,9 +10729,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz", - "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==" + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" }, "node_modules/debug": { "version": "4.3.4", @@ -10728,9 +10766,9 @@ "license": "MIT" }, "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "engines": { "node": ">=0.10" } @@ -11443,9 +11481,9 @@ } }, "node_modules/eslint": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.28.0.tgz", - "integrity": "sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", + "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.3", @@ -13201,6 +13239,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.10", "license": "ISC" @@ -14162,14 +14211,14 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", - "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" }, "engines": { @@ -16745,9 +16794,9 @@ } }, "node_modules/joi": { - "version": "17.6.4", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.4.tgz", - "integrity": "sha512-tPzkTJHZQjSFCc842QpdVpOZ9LI2txApboNUbW70qgnRB14Lzl+oWQOPdF2N4yqyiY14wBGe8lc7f/2hZxbGmw==", + "version": "17.7.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.7.0.tgz", + "integrity": "sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==", "peer": true, "dependencies": { "@hapi/hoek": "^9.0.0", @@ -17170,11 +17219,14 @@ "license": "MIT" }, "node_modules/json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", "dependencies": { - "jsonify": "~0.0.0" + "jsonify": "^0.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/json-stable-stringify-without-jsonify": { @@ -17368,9 +17420,9 @@ "license": "MIT" }, "node_modules/lint-staged": { - "version": "13.0.4", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.0.4.tgz", - "integrity": "sha512-HxlHCXoYRsq9QCby5wFozmZW00hMs/9e3l+/dz6Qr8Kle4UH0kJTdABAbqhzG+3pcG6QjL9kz7NgGBfph+a5dw==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.1.0.tgz", + "integrity": "sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==", "dev": true, "dependencies": { "cli-truncate": "^3.1.0", @@ -17500,9 +17552,9 @@ } }, "node_modules/lint-staged/node_modules/listr2": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.5.tgz", - "integrity": "sha512-DpBel6fczu7oQKTXMekeprc0o3XDgGMkD7JNYyX+X0xbwK+xgrx9dcyKoXKqpLSUvAWfmoePS7kavniOcq3r4w==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.6.tgz", + "integrity": "sha512-u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag==", "dev": true, "dependencies": { "cli-truncate": "^2.1.0", @@ -17510,7 +17562,7 @@ "log-update": "^4.0.0", "p-map": "^4.0.0", "rfdc": "^1.3.0", - "rxjs": "^7.5.6", + "rxjs": "^7.5.7", "through": "^2.3.8", "wrap-ansi": "^7.0.0" }, @@ -18068,16 +18120,17 @@ } }, "node_modules/material-ui-popup-state": { - "version": "4.1.0", - "license": "MIT", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-5.0.3.tgz", + "integrity": "sha512-AdlAEDmOAQ3BZMnNfyKD5CL+aNMb8zd5tDZWG5Ykx3vcuPbaL6SPjJ5kWuWXrJvapL9I8wwxaYhV4gt3tZmyOA==", "dependencies": { - "@babel/runtime": "^7.12.5", + "@babel/runtime": "^7.20.6", "@mui/material": "^5.0.0", "classnames": "^2.2.6", "prop-types": "^15.7.2" }, "peerDependencies": { - "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/md5": { @@ -18699,15 +18752,6 @@ "node": ">=6" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "license": "ISC" @@ -18870,25 +18914,25 @@ } }, "node_modules/next-i18next": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/next-i18next/-/next-i18next-13.0.0.tgz", - "integrity": "sha512-XiODAmMdueAIETQKIRPvYEZ5ghLOlzHb6PI4/WzwYkKdC/5q6UROzwIRw7aj3VWRB3xwnuuzEVI9NAjMfXyrkQ==", + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/next-i18next/-/next-i18next-13.0.1.tgz", + "integrity": "sha512-GnywgEQBvXZFUJAwgg8hKJw6khl7yo3qjZkgpX2atJ5Zv8l9kpVdy5RSIc8hiVImIZVwgOfoZ3YTyoWqcP4+Aw==", "funding": [ { "type": "individual", - "url": "https://github.com/belgattitude" + "url": "https://locize.com/i18next.html" }, { "type": "individual", - "url": "https://locize.com" + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" }, { "type": "individual", - "url": "https://locize.com/i18next.html" + "url": "https://locize.com" }, { "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + "url": "https://github.com/belgattitude" } ], "dependencies": { @@ -19733,9 +19777,9 @@ } }, "node_modules/postcss": { - "version": "8.4.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", - "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", + "version": "8.4.20", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", + "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", "dev": true, "funding": [ { @@ -20026,9 +20070,9 @@ } }, "node_modules/postcss-import": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.0.0.tgz", - "integrity": "sha512-Y20shPQ07RitgBGv2zvkEAu9bqvrD77C9axhj/aA1BQj4czape2MdClCExvB27EwYEJdGgKZBpKanb0t1rK2Kg==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, "dependencies": { "postcss-value-parser": "^4.0.0", @@ -20301,9 +20345,9 @@ "license": "MIT" }, "node_modules/preact": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.2.tgz", - "integrity": "sha512-skAwGDFmgxhq1DCBHke/9e12ewkhc7WYwjuhHB8HHS8zkdtITXLRmUMTeol2ldxvLwYtwbFeifZ9uDDWuyL4Iw==", + "version": "10.11.3", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz", + "integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==", "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -20318,9 +20362,9 @@ } }, "node_modules/prettier": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz", - "integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", + "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -20422,9 +20466,9 @@ } }, "node_modules/promise": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", - "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "peer": true, "dependencies": { "asap": "~2.0.6" @@ -20680,18 +20724,6 @@ "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/react-shallow-renderer": { - "version": "16.15.0", - "license": "MIT", - "peer": true, - "dependencies": { - "object-assign": "^4.1.1", - "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/react-smooth": { "version": "2.0.1", "license": "MIT", @@ -20803,9 +20835,9 @@ } }, "node_modules/recharts": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.1.16.tgz", - "integrity": "sha512-aYn1plTjYzRCo3UGxtWsduslwYd+Cuww3h/YAAEoRdGe0LRnBgYgaXSlVrNFkWOOSXrBavpmnli9h7pvRuk5wg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.2.0.tgz", + "integrity": "sha512-/uRJ0oaESGyz//PgAzvrwXEhrKaNha1ELLysEMRklbnsddiVQsSNicP7DWiz8qFcyYXy3BrDqrUjiLiVRTSMtA==", "dependencies": { "@types/d3-interpolate": "^2.0.0", "@types/d3-scale": "^3.0.0", @@ -20838,19 +20870,6 @@ "decimal.js-light": "^2.4.1" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/reduce-css-calc": { "version": "2.1.8", "license": "MIT", @@ -20878,9 +20897,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "node_modules/regenerator-transform": { "version": "0.15.0", @@ -21112,6 +21131,14 @@ "dev": true, "license": "MIT" }, + "node_modules/rifm": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/rifm/-/rifm-0.12.1.tgz", + "integrity": "sha512-OGA1Bitg/dSJtI/c4dh90svzaUPt228kzFsUkJbtA2c964IqEAwWXeL9ZJi86xWv3j5SMqRvGULl7bA6cK0Bvg==", + "peerDependencies": { + "react": ">=16.8" + } + }, "node_modules/rimraf": { "version": "3.0.2", "license": "ISC", @@ -21223,9 +21250,9 @@ } }, "node_modules/rpc-websockets/node_modules/ws": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.10.0.tgz", - "integrity": "sha512-+s49uSmZpvtAsd2h37vIPy1RBusaLawVe8of+GyEPsaJTCMpj/2v8NpeK1SHXjBlQ95lQTmQofOJnFiLoaN3yw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "engines": { "node": ">=10.0.0" }, @@ -22294,18 +22321,6 @@ "npm": ">=3" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "dev": true, @@ -23291,9 +23306,9 @@ } }, "node_modules/wagmi": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-0.8.7.tgz", - "integrity": "sha512-WfaNBaYEigB48WaYBDkecyuitrhGnIHiPJT5V1wDc5RlMRkl9bx8UB87M1b9ZRaMsrjxWvF2+9mtw+30LR9y9g==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-0.9.3.tgz", + "integrity": "sha512-SOW1De1cTlqvyKTs26wWu0EurBQyWfvxTLkZeWPGTrzfF0XucpjLAvTANEXO60b4kamc6SG/gbYN7PZ12K220A==", "funding": [ { "type": "gitcoin", @@ -23305,13 +23320,13 @@ } ], "dependencies": { - "@coinbase/wallet-sdk": "^3.5.3", + "@coinbase/wallet-sdk": "^3.6.0", "@tanstack/query-sync-storage-persister": "^4.14.5", "@tanstack/react-query": "^4.14.5", "@tanstack/react-query-persist-client": "^4.14.5", - "@wagmi/core": "0.7.6", + "@wagmi/core": "0.8.3", "@walletconnect/ethereum-provider": "^1.8.0", - "abitype": "^0.1.7", + "abitype": "^0.2.5", "use-sync-external-store": "^1.2.0" }, "peerDependencies": { @@ -23567,16 +23582,16 @@ "license": "ISC" }, "node_modules/which-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", - "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.9" + "is-typed-array": "^1.1.10" }, "engines": { "node": ">= 0.4" @@ -23992,9 +24007,9 @@ } }, "node_modules/zustand": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.1.4.tgz", - "integrity": "sha512-k2jVOlWo8p4R83mQ+/uyB8ILPO2PCJOf+QVjcL+1PbMCk1w5OoPYpAIxy9zd93FSfmJqoH6lGdwzzjwqJIRU5A==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.1.5.tgz", + "integrity": "sha512-PsdRT8Bvq22Yyh1tvpgdHNE7OAeFKqJXUxtJvj1Ixw2B9O2YZ1M34ImQ+xyZah4wZrR4lENMoDUutKPpyXCQ/Q==", "dependencies": { "use-sync-external-store": "1.2.0" }, @@ -24016,12 +24031,6 @@ } }, "dependencies": { - "@adobe/css-tools": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz", - "integrity": "sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==", - "dev": true - }, "@ampproject/remapping": { "version": "2.2.0", "requires": { @@ -25080,11 +25089,11 @@ } }, "@babel/runtime": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", - "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", "requires": { - "regenerator-runtime": "^0.13.10" + "regenerator-runtime": "^0.13.11" } }, "@babel/runtime-corejs3": { @@ -25137,9 +25146,9 @@ "dev": true }, "@coinbase/wallet-sdk": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.5.3.tgz", - "integrity": "sha512-kaGMk9KyiSLPm1+BvCQSc99ku9gn0j+M1+2Beii+4gx/lRVhutlzmn6l+5zTB/n3xri25iTr+SxjMZLlMfW8Hg==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.6.2.tgz", + "integrity": "sha512-HzxajB+qS+G9//c+th5uJ8KSt+jQ6/U+cgL9Sv89Wx6Mif+Lg5HxGtc6JQcIdHuYk9AFX+nXNSXtTGRdpHkdDg==", "requires": { "@metamask/safe-event-emitter": "2.0.0", "@solana/web3.js": "1.52.0", @@ -25428,6 +25437,43 @@ } } }, + "@date-io/core": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@date-io/core/-/core-2.16.0.tgz", + "integrity": "sha512-DYmSzkr+jToahwWrsiRA2/pzMEtz9Bq1euJwoOuYwuwIYXnZFtHajY2E6a1VNVDc9jP8YUXK1BvnZH9mmT19Zg==" + }, + "@date-io/date-fns": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-2.16.0.tgz", + "integrity": "sha512-bfm5FJjucqlrnQcXDVU5RD+nlGmL3iWgkHTq3uAZWVIuBu6dDmGa3m8a6zo2VQQpu8ambq9H22UyUpn7590joA==", + "requires": { + "@date-io/core": "^2.16.0" + } + }, + "@date-io/dayjs": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@date-io/dayjs/-/dayjs-2.16.0.tgz", + "integrity": "sha512-y5qKyX2j/HG3zMvIxTobYZRGnd1FUW2olZLS0vTj7bEkBQkjd2RO7/FEwDY03Z1geVGlXKnzIATEVBVaGzV4Iw==", + "requires": { + "@date-io/core": "^2.16.0" + } + }, + "@date-io/luxon": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/@date-io/luxon/-/luxon-2.16.1.tgz", + "integrity": "sha512-aeYp5K9PSHV28946pC+9UKUi/xMMYoaGelrpDibZSgHu2VWHXrr7zWLEr+pMPThSs5vt8Ei365PO+84pCm37WQ==", + "requires": { + "@date-io/core": "^2.16.0" + } + }, + "@date-io/moment": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/@date-io/moment/-/moment-2.16.1.tgz", + "integrity": "sha512-JkxldQxUqZBfZtsaCcCMkm/dmytdyq5pS1RxshCQ4fHhsvP5A7gSqPD22QbVXMcJydi3d3v1Y8BQdUKEuGACZQ==", + "requires": { + "@date-io/core": "^2.16.0" + } + }, "@emotion/babel-plugin": { "version": "11.10.5", "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz", @@ -26755,20 +26801,25 @@ "@pedrouid/environment": "^1.0.1" } }, + "@ledgerhq/connect-kit-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.0.1.tgz", + "integrity": "sha512-OAJh9rMaypS1ttrSMwPznXqglJGcP3WPTTgz9YAKfkaMyUtZcHx7hCj4d6f7DdSVZOgWcyEYfZ8M2QrA2gtvgQ==" + }, "@metamask/safe-event-emitter": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==" }, "@mui/base": { - "version": "5.0.0-alpha.108", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.108.tgz", - "integrity": "sha512-KjzRUts2i/ODlMfywhFTqTzQl+Cr9nlDSZxJcnYjrbOV/iRyQNBTDoiFJt+XEdRi0fZBHnk74AFbnP56ehybsA==", + "version": "5.0.0-alpha.110", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.110.tgz", + "integrity": "sha512-q4TH9T3sTBknTXXTEf2zO8F3nbHg5iGgiaRx9XErTbXvHrmLrQXbQ4hmrLERocSTBFCFWkKyne/qZj0diWlPtA==", "requires": { - "@babel/runtime": "^7.20.1", + "@babel/runtime": "^7.20.6", "@emotion/is-prop-valid": "^1.2.0", - "@mui/types": "^7.2.2", - "@mui/utils": "^5.10.16", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.0", "@popperjs/core": "^2.11.6", "clsx": "^1.2.1", "prop-types": "^15.8.1", @@ -26783,29 +26834,29 @@ } }, "@mui/core-downloads-tracker": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.16.tgz", - "integrity": "sha512-eK9+olw2ZbXX+vGrtKnN01/vLP1aX0Lq0xok35bqWM1aB93Dcmky/xPNf8h31oJ/C+IzJBjZaZMEDzVZg4Qc0A==" + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.0.tgz", + "integrity": "sha512-Bmogung451ezVv2YI1RvweOIVsTj2RQ4Fk61+e/+8LFPLTFEwVGbL0YhNy1VB5tri8pzGNV228kxtWVTFooQkg==" }, "@mui/icons-material": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.16.tgz", - "integrity": "sha512-jjCc0IF6iyLiucQCu5igg3fOscSqbbvRCmyRxXgzOcLR56B0sg2L8o+ZfJ0dAg59+wvgtXaxvjze/mJg0B4iWA==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.11.0.tgz", + "integrity": "sha512-I2LaOKqO8a0xcLGtIozC9xoXjZAto5G5gh0FYUMAlbsIHNHIjn4Xrw9rvjY20vZonyiGrZNMAlAXYkY6JvhF6A==", "requires": { - "@babel/runtime": "^7.20.1" + "@babel/runtime": "^7.20.6" } }, "@mui/material": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.10.16.tgz", - "integrity": "sha512-JSHcDQQ+k30NKkCM/0KX6jq4F5LOrbFKZpS+cEl7scZWOCJpUPH5ccAT5a7O8wzrgNZ8Y9PnwzNvWBrfShpJFw==", - "requires": { - "@babel/runtime": "^7.20.1", - "@mui/base": "5.0.0-alpha.108", - "@mui/core-downloads-tracker": "^5.10.16", - "@mui/system": "^5.10.16", - "@mui/types": "^7.2.2", - "@mui/utils": "^5.10.16", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.11.0.tgz", + "integrity": "sha512-8Zl34lb89rLKTTi50Kakki675/LLHMKKnkp8Ee3rAZ2qmisQlRODsGh1MBjENKp0vwhQnNSvlsCfJteVTfotPQ==", + "requires": { + "@babel/runtime": "^7.20.6", + "@mui/base": "5.0.0-alpha.110", + "@mui/core-downloads-tracker": "^5.11.0", + "@mui/system": "^5.11.0", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.0", "@types/react-transition-group": "^4.4.5", "clsx": "^1.2.1", "csstype": "^3.1.1", @@ -26822,53 +26873,53 @@ } }, "@mui/private-theming": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.16.tgz", - "integrity": "sha512-0MArkJaOHRCKqL/GWjngGZmyOeRz+uxffhx82bKcewr8swqV7xx7EFP02pk0L/gLdfcvYdqwH4YTVjG/+TaKrg==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.0.tgz", + "integrity": "sha512-UFQLb9x5Sj4pg2GhhCGw3Ls/y1Hw/tz9RsBrULvUF0Vgps1z19o7XTq2xqUvp7pN7fJTW7eVIT2gwVg2xlk8PQ==", "requires": { - "@babel/runtime": "^7.20.1", - "@mui/utils": "^5.10.16", + "@babel/runtime": "^7.20.6", + "@mui/utils": "^5.11.0", "prop-types": "^15.8.1" } }, "@mui/styled-engine": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.16.tgz", - "integrity": "sha512-ZMSjXvtiGwGDKqrSlXhpxK2voUaF2/lpC/pSTfFmZvKH9j9a9h1/iwo3ybgjFVYGgbfNeW4h0xEchiRohu9xsw==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.0.tgz", + "integrity": "sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ==", "requires": { - "@babel/runtime": "^7.20.1", + "@babel/runtime": "^7.20.6", "@emotion/cache": "^11.10.5", "csstype": "^3.1.1", "prop-types": "^15.8.1" } }, "@mui/system": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.16.tgz", - "integrity": "sha512-OqI9B1jZ9zQ/dmoqseku4CzdEs9DbLiiMOaWxC3WeAJxM1UavlCgXz0encqm93LIlmSL7TjuHN1/rW8BJCnU8A==", - "requires": { - "@babel/runtime": "^7.20.1", - "@mui/private-theming": "^5.10.16", - "@mui/styled-engine": "^5.10.16", - "@mui/types": "^7.2.2", - "@mui/utils": "^5.10.16", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.11.0.tgz", + "integrity": "sha512-HFUT7Dlmyq6Wfuxsw8QBXZxXDYIQQaJ4YHaZd7s+nDMcjerLnILxjh2g3a6umtOUM+jEcRaFJAtvLZvlGfa5fw==", + "requires": { + "@babel/runtime": "^7.20.6", + "@mui/private-theming": "^5.11.0", + "@mui/styled-engine": "^5.11.0", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.0", "clsx": "^1.2.1", "csstype": "^3.1.1", "prop-types": "^15.8.1" } }, "@mui/types": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.2.tgz", - "integrity": "sha512-siex8cZDtWeC916cXOoUOnEQQejuMYmHtc4hM6VkKVYaBICz3VIiqyiAomRboTQHt2jchxQ5Q5ATlbcDekTxDA==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz", + "integrity": "sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw==", "requires": {} }, "@mui/utils": { - "version": "5.10.16", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.16.tgz", - "integrity": "sha512-3MB/SGsgiiu9Z55CFmAfiONUoR7AAue/H4F6w3mc2LnhFQCsoVvXhioDPcsiRpUMIQr34jDPzGXdCuqWooPCXQ==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.11.0.tgz", + "integrity": "sha512-DP/YDaVVCVzJpZ5FFPLKNmaJkeaYRviTyIZkL/D5/FmPXQiA6ecd6z0/+VwoNQtp7aXAQWaRhvz4FM25yqFlHA==", "requires": { - "@babel/runtime": "^7.20.1", + "@babel/runtime": "^7.20.6", "@types/prop-types": "^15.7.5", "@types/react-is": "^16.7.1 || ^17.0.0", "prop-types": "^15.8.1", @@ -26882,6 +26933,25 @@ } } }, + "@mui/x-date-pickers": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-5.0.10.tgz", + "integrity": "sha512-k+SKBqlpYsY49JVs7PORDvnfoXw9nJELfImR/3jTgHqP8hQQ6loFjB9ZFvc5NjV4Jf2NIJFmdcp6g8cO31Wmbg==", + "requires": { + "@babel/runtime": "^7.18.9", + "@date-io/core": "^2.15.0", + "@date-io/date-fns": "^2.15.0", + "@date-io/dayjs": "^2.15.0", + "@date-io/luxon": "^2.15.0", + "@date-io/moment": "^2.15.0", + "@mui/utils": "^5.10.3", + "@types/react-transition-group": "^4.4.5", + "clsx": "^1.2.1", + "prop-types": "^15.7.2", + "react-transition-group": "^4.4.5", + "rifm": "^0.12.1" + } + }, "@nervosnetwork/ckb-sdk-utils": { "version": "0.103.1", "requires": { @@ -27015,19 +27085,19 @@ "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" }, "@react-native-community/cli": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-9.1.3.tgz", - "integrity": "sha512-dfiBxNvqSwxkMduH0eAEJNS+LBbwxm1rOlTO7bN+FZvUwZNCCgIYrixfRo+ifqDUv8N5AbpQB5umnLbs0AjPaA==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-9.3.2.tgz", + "integrity": "sha512-IAW4X0vmX/xozNpp/JVZaX7MrC85KV0OP2DF4o7lNGOfpUhzJAEWqTfkxFYS+VsRjZHDve4wSTiGIuXwE7FG1w==", "peer": true, "requires": { - "@react-native-community/cli-clean": "^9.1.0", - "@react-native-community/cli-config": "^9.1.0", + "@react-native-community/cli-clean": "^9.2.1", + "@react-native-community/cli-config": "^9.2.1", "@react-native-community/cli-debugger-ui": "^9.0.0", - "@react-native-community/cli-doctor": "^9.1.2", - "@react-native-community/cli-hermes": "^9.1.0", - "@react-native-community/cli-plugin-metro": "^9.1.3", - "@react-native-community/cli-server-api": "^9.1.0", - "@react-native-community/cli-tools": "^9.1.0", + "@react-native-community/cli-doctor": "^9.3.0", + "@react-native-community/cli-hermes": "^9.3.1", + "@react-native-community/cli-plugin-metro": "^9.2.1", + "@react-native-community/cli-server-api": "^9.2.1", + "@react-native-community/cli-tools": "^9.2.1", "@react-native-community/cli-types": "^9.1.0", "chalk": "^4.1.2", "commander": "^9.4.0", @@ -27348,13 +27418,13 @@ } }, "@react-native-community/cli-doctor": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-9.2.1.tgz", - "integrity": "sha512-RpUax0pkKumXJ5hcRG0Qd+oYWsA2RFeMWKY+Npg8q05Cwd1rqDQfWGprkHC576vz26+FPuvwEagoAf6fR2bvJA==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-9.3.0.tgz", + "integrity": "sha512-/fiuG2eDGC2/OrXMOWI5ifq4X1gdYTQhvW2m0TT5Lk1LuFiZsbTCp1lR+XILKekuTvmYNjEGdVpeDpdIWlXdEA==", "peer": true, "requires": { "@react-native-community/cli-config": "^9.2.1", - "@react-native-community/cli-platform-ios": "^9.2.1", + "@react-native-community/cli-platform-ios": "^9.3.0", "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", "command-exists": "^1.2.8", @@ -27371,19 +27441,6 @@ "wcwidth": "^1.0.1" }, "dependencies": { - "@react-native-community/cli-platform-ios": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.2.1.tgz", - "integrity": "sha512-dEgvkI6CFgPk3vs8IOR0toKVUjIFwe4AsXFvWWJL5qhrIzW9E5Owi0zPkSvzXsMlfYMbVX0COfVIK539ZxguSg==", - "peer": true, - "requires": { - "@react-native-community/cli-tools": "^9.2.1", - "chalk": "^4.1.2", - "execa": "^1.0.0", - "glob": "^7.1.3", - "ora": "^5.4.1" - } - }, "ansi-regex": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", @@ -27502,33 +27559,18 @@ } }, "@react-native-community/cli-hermes": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-9.2.1.tgz", - "integrity": "sha512-723/NMb7egXzJrbWT1uEkN2hOpw+OOtWTG2zKJ3j7KKgUd8u/pP+/z5jO8xVrq+eYJEMjDK0FBEo1Xj7maR4Sw==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-9.3.1.tgz", + "integrity": "sha512-Mq4PK8m5YqIdaVq5IdRfp4qK09aVO+aiCtd6vjzjNUgk1+1X5cgUqV6L65h4N+TFJYJHcp2AnB+ik1FAYXvYPQ==", "peer": true, "requires": { - "@react-native-community/cli-platform-android": "^9.2.1", + "@react-native-community/cli-platform-android": "^9.3.1", "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", "hermes-profile-transformer": "^0.0.6", "ip": "^1.1.5" }, "dependencies": { - "@react-native-community/cli-platform-android": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-9.2.1.tgz", - "integrity": "sha512-VamCZ8nido3Q3Orhj6pBIx48itORNPLJ7iTfy3nucD1qISEDih3DOzCaQCtmqdEBgUkNkNl0O+cKgq5A3th3Zg==", - "peer": true, - "requires": { - "@react-native-community/cli-tools": "^9.2.1", - "chalk": "^4.1.2", - "execa": "^1.0.0", - "fs-extra": "^8.1.0", - "glob": "^7.1.3", - "logkitty": "^0.7.1", - "slash": "^3.0.0" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -27538,130 +27580,16 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "peer": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "peer": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "peer": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "peer": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "peer": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "peer": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "peer": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "peer": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "peer": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "peer": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "peer": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "peer": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "peer": true, - "requires": { - "isexe": "^2.0.0" - } } } }, "@react-native-community/cli-platform-android": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-9.1.0.tgz", - "integrity": "sha512-OZ/Krq0wH6T7LuAvwFdJYe47RrHG8IOcoab47H4QQdYGTmJgTS3SlVkr6gn79pZyBGyp7xVizD30QJrIIyDjnw==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-9.3.1.tgz", + "integrity": "sha512-m0bQ6Twewl7OEZoVf79I2GZmsDqh+Gh0bxfxWgwxobsKDxLx8/RNItAo1lVtTCgzuCR75cX4EEO8idIF9jYhew==", "peer": true, "requires": { - "@react-native-community/cli-tools": "^9.1.0", + "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", "execa": "^1.0.0", "fs-extra": "^8.1.0", @@ -27797,12 +27725,12 @@ } }, "@react-native-community/cli-platform-ios": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.1.2.tgz", - "integrity": "sha512-XpgA9ymm76yjvtYPByqFF1LP7eM/lH5K3zpkZkV9MJLStOIo3mrzN2ywRDZ/xVOheh5LafS4YMmrjIajf11oIQ==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.3.0.tgz", + "integrity": "sha512-nihTX53BhF2Q8p4B67oG3RGe1XwggoGBrMb6vXdcu2aN0WeXJOXdBLgR900DAA1O8g7oy1Sudu6we+JsVTKnjw==", "peer": true, "requires": { - "@react-native-community/cli-tools": "^9.1.0", + "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", "execa": "^1.0.0", "glob": "^7.1.3", @@ -28146,9 +28074,9 @@ } }, "@solana/buffer-layout": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.0.tgz", - "integrity": "sha512-lR0EMP2HC3+Mxwd4YcnZb0smnaDw7Bl2IQWZiTevRH5ZZBZn6VRWn3/92E3qdU4SSImJkA6IDHawOHAnx/qUvQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz", + "integrity": "sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==", "requires": { "buffer": "~6.0.3" } @@ -28201,15 +28129,15 @@ } }, "react-native": { - "version": "0.70.3", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.70.3.tgz", - "integrity": "sha512-EiJxOonyvpSWa3Eik7a6YAD6QU8lK2W9M/DDdYlpWmIlGLCd5110rIpEZjxttsyrohxlRJAYRgJ9Tx2mMXqtfw==", + "version": "0.70.6", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.70.6.tgz", + "integrity": "sha512-xtQdImPHnwgraEx3HIZFOF+D1hJ9bC5mfpIdUGoMHRws6OmvHAjmFpO6qfdnaQ29vwbmZRq7yf14sbury74R/w==", "peer": true, "requires": { "@jest/create-cache-key-function": "^27.0.1", - "@react-native-community/cli": "9.1.3", - "@react-native-community/cli-platform-android": "9.1.0", - "@react-native-community/cli-platform-ios": "9.1.2", + "@react-native-community/cli": "9.3.2", + "@react-native-community/cli-platform-android": "9.3.1", + "@react-native-community/cli-platform-ios": "9.3.0", "@react-native/assets": "1.0.0", "@react-native/normalize-color": "2.0.0", "@react-native/polyfills": "2.0.0", @@ -28226,9 +28154,9 @@ "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^26.5.2", - "promise": "^8.0.3", + "promise": "^8.3.0", "react-devtools-core": "4.24.0", - "react-native-codegen": "^0.70.5", + "react-native-codegen": "^0.70.6", "react-native-gradle-plugin": "^0.70.3", "react-refresh": "^0.4.0", "react-shallow-renderer": "^16.15.0", @@ -28248,6 +28176,16 @@ "whatwg-url-without-unicode": "8.0.0-3" } }, + "react-shallow-renderer": { + "version": "16.15.0", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "peer": true, + "requires": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + } + }, "scheduler": { "version": "0.22.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.22.0.tgz", @@ -28530,41 +28468,6 @@ } } }, - "@testing-library/jest-dom": { - "version": "5.16.5", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", - "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", - "dev": true, - "requires": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "dependencies": { - "aria-query": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.2.tgz", - "integrity": "sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q==", - "dev": true - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, "@testing-library/react": { "version": "13.4.0", "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", @@ -28673,15 +28576,6 @@ "@types/node": "*" } }, - "@types/cypress": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@types/cypress/-/cypress-1.1.3.tgz", - "integrity": "sha512-OXe0Gw8LeCflkG1oPgFpyrYWJmEKqYncBsD/J0r17r0ETx/TnIGDNLwXt/pFYSYuYTpzcq1q3g62M9DrfsBL4g==", - "dev": true, - "requires": { - "cypress": "*" - } - }, "@types/d3-color": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-2.0.3.tgz", @@ -28836,9 +28730,9 @@ "version": "3.0.5" }, "@types/node": { - "version": "18.11.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.10.tgz", - "integrity": "sha512-juG3RWMBOqcOuXC643OAdSA525V44cVgGV6dUDuiFtss+8Fk5x1hI93Rsld43VeJVIeqlP9I7Fn9/qaVqoEAuQ==" + "version": "18.11.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.15.tgz", + "integrity": "sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw==" }, "@types/parse-json": { "version": "4.0.0" @@ -29054,12 +28948,39 @@ "eslint-visitor-keys": "^3.3.0" } }, - "@wagmi/core": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-0.7.6.tgz", - "integrity": "sha512-svnft0E7J7pFD48LdD73IHnB7kaokqHjhUHb39pknU1/EryM4m6UCc2MFf9tBHT69Tna2V1BcDTX0ZoE2pnclA==", + "@wagmi/chains": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@wagmi/chains/-/chains-0.1.1.tgz", + "integrity": "sha512-isHtXKy6acossn6NQsBzgY25CH+m+v/eAjCUv8HAmAAYHxhvo59fWGneiSRK2pCPdjN3VIG5ZcMG4cAaO7qqjQ==" + }, + "@wagmi/connectors": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-0.1.1.tgz", + "integrity": "sha512-W9w73o9HCYzuBsDHuujwBT/nGGIu5qLBSqVqslXf/S1Q9OiWoudmuIs3opuYqxgw5MpWbMqhq6QaxA7Qcd6NrA==", "requires": { + "@coinbase/wallet-sdk": "^3.5.4", + "@ledgerhq/connect-kit-loader": "^1.0.1", + "@walletconnect/ethereum-provider": "^1.8.0", "abitype": "^0.1.8", + "eventemitter3": "^4.0.7" + }, + "dependencies": { + "abitype": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.1.8.tgz", + "integrity": "sha512-2pde0KepTzdfu19ZrzYTYVIWo69+6UbBCY4B1RDiwWgo2XZtFSJhF6C+XThuRXbbZ823J0Rw1Y5cP0NXYVcCdQ==", + "requires": {} + } + } + }, + "@wagmi/core": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-0.8.3.tgz", + "integrity": "sha512-NbdExzEoBuZqknbYNMfZyxwQYEesxEBeLZQlsK7lV5R0eNXqpayZv9cuQCMRMTSCs/VkSx6Dpy+IZeFMqlikAQ==", + "requires": { + "@wagmi/chains": "0.1.1", + "@wagmi/connectors": "0.1.1", + "abitype": "^0.2.5", "eventemitter3": "^4.0.7", "zustand": "^4.1.4" } @@ -29074,6 +28995,13 @@ "@walletconnect/window-getters": "1.0.0", "@walletconnect/window-metadata": "1.0.0", "detect-browser": "5.2.0" + }, + "dependencies": { + "@walletconnect/safe-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz", + "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==" + } } }, "@walletconnect/client": { @@ -29098,37 +29026,61 @@ } }, "@walletconnect/crypto": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.2.tgz", - "integrity": "sha512-+OlNtwieUqVcOpFTvLBvH+9J9pntEqH5evpINHfVxff1XIgwV55PpbdvkHu6r9Ib4WQDOFiD8OeeXs1vHw7xKQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.3.tgz", + "integrity": "sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==", "requires": { - "@walletconnect/encoding": "^1.0.1", - "@walletconnect/environment": "^1.0.0", - "@walletconnect/randombytes": "^1.0.2", + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/environment": "^1.0.1", + "@walletconnect/randombytes": "^1.0.3", "aes-js": "^3.1.2", - "hash.js": "^1.1.7" + "hash.js": "^1.1.7", + "tslib": "1.14.1" }, "dependencies": { "aes-js": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, "@walletconnect/encoding": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.1.tgz", - "integrity": "sha512-8opL2rs6N6E3tJfsqwS82aZQDL3gmupWUgmvuZ3CGU7z/InZs3R9jkzH8wmYtpbq0sFK3WkJkQRZFFk4BkrmFA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.2.tgz", + "integrity": "sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==", "requires": { "is-typedarray": "1.0.0", + "tslib": "1.14.1", "typedarray-to-buffer": "3.1.5" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "@walletconnect/environment": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.0.tgz", - "integrity": "sha512-4BwqyWy6KpSvkocSaV7WR3BlZfrxLbJSLkg+j7Gl6pTDE+U55lLhJvQaMuDVazXYxcjBsG09k7UlH7cGiUI5vQ==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz", + "integrity": "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==", + "requires": { + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } }, "@walletconnect/ethereum-provider": { "version": "1.8.0", @@ -29156,39 +29108,71 @@ } }, "@walletconnect/jsonrpc-http-connection": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.3.tgz", - "integrity": "sha512-npPvDG2JxyxoqOphDiyjp5pPeASRBrlfQS39wHESPHlFIjBuvNt9lV9teh53MK9Ncbyxh4y2qEKMfPgcUulTRg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.4.tgz", + "integrity": "sha512-ji79pspdBhmIbTwve383tMaDu5Le9plW+oj5GE2aqzxIl3ib8JvRBZRn5lGEBGqVCvqB3MBJL7gBlEwpyRtoxQ==", "requires": { - "@walletconnect/jsonrpc-utils": "^1.0.3", - "@walletconnect/safe-json": "^1.0.0", - "cross-fetch": "^3.1.4" + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "cross-fetch": "^3.1.4", + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "@walletconnect/jsonrpc-provider": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.5.tgz", - "integrity": "sha512-v61u4ZIV8+p9uIHS2Kl2YRj/2idrQiHcrbrJXw3McQkEJtj9mkCofr1Hu/n419wSRM5uiNK8Z4WRS9zGTTAhWQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.6.tgz", + "integrity": "sha512-f5vQxr53vUVQ51/9mRLb1OiNciT/546XZ68Byn9OYnDBGeGJXK2kQWDHp8sPWZbN5x0p7B6asdCWMVFJ6danlw==", "requires": { - "@walletconnect/jsonrpc-utils": "^1.0.3", - "@walletconnect/safe-json": "^1.0.0" + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "@walletconnect/jsonrpc-types": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.1.tgz", - "integrity": "sha512-+6coTtOuChCqM+AoYyi4Q83p9l/laI6NvuM2/AHaZFuf0gT0NjW7IX2+86qGyizn7Ptq4AYZmfxurAxTnhefuw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.2.tgz", + "integrity": "sha512-CZe8tjJX73OWdHjrBHy7HtAapJ2tT0Q3TYhPBhRxi3643lwPIQWC9En45ldY14TZwgSewkbZ0FtGBZK0G7Bbyg==", "requires": { - "keyvaluestorage-interface": "^1.0.0" + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "@walletconnect/jsonrpc-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.3.tgz", - "integrity": "sha512-3yb49bPk16MNLk6uIIHPSHQCpD6UAo1OMOx1rM8cW/MPEAYAzrSW5hkhG7NEUwX9SokRIgnZK3QuQkiyNzBMhQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.4.tgz", + "integrity": "sha512-y0+tDxcTZ9BHBBKBJbjZxLUXb+zQZCylf7y/jTvDPNx76J0hYYc+F9zHzyqBLeorSKepLTk6yI8hw3NXbAQB3g==", "requires": { - "@walletconnect/environment": "^1.0.0", - "@walletconnect/jsonrpc-types": "^1.0.1" + "@walletconnect/environment": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.2", + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "@walletconnect/mobile-registry": { @@ -29362,19 +29346,37 @@ } }, "@walletconnect/randombytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.2.tgz", - "integrity": "sha512-ivgOtAyqQnN0rLQmOFPemsgYGysd/ooLfaDA/ACQ3cyqlca56t3rZc7pXfqJOIETx/wSyoF5XbwL+BqYodw27A==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.3.tgz", + "integrity": "sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==", "requires": { - "@walletconnect/encoding": "^1.0.1", - "@walletconnect/environment": "^1.0.0", - "randombytes": "^2.1.0" + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/environment": "^1.0.1", + "randombytes": "^2.1.0", + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "@walletconnect/safe-json": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz", - "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.1.tgz", + "integrity": "sha512-Fm7e31oSYY15NQr8SsLJheKAy5L744udZf2lJKcz6wFmPJEzf7hOF0866o/rrldRzJnjZ4H2GJ45pFudsnLW5A==", + "requires": { + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } }, "@walletconnect/signer-connection": { "version": "1.8.0", @@ -29577,9 +29579,9 @@ "dev": true }, "abitype": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.1.8.tgz", - "integrity": "sha512-2pde0KepTzdfu19ZrzYTYVIWo69+6UbBCY4B1RDiwWgo2XZtFSJhF6C+XThuRXbbZ823J0Rw1Y5cP0NXYVcCdQ==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.2.5.tgz", + "integrity": "sha512-t1iiokWYpkrziu4WL2Gb6YdGvaP9ZKs7WnA39TI8TsW2E99GVRgDPW/xOKhzoCdyxOYt550CNYEFluCwGaFHaA==", "requires": {} }, "abort-controller": { @@ -30248,7 +30250,9 @@ } }, "bignumber.js": { - "version": "9.1.0" + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==" }, "binary-extensions": { "version": "2.2.0", @@ -30928,9 +30932,9 @@ "peer": true }, "copy-to-clipboard": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.2.tgz", - "integrity": "sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", "requires": { "toggle-selection": "^1.0.6" } @@ -31068,12 +31072,6 @@ "version": "6.1.0", "dev": true }, - "css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true - }, "cssdb": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.1.0.tgz", @@ -31335,9 +31333,9 @@ } }, "dayjs": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz", - "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==" + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" }, "debug": { "version": "4.3.4", @@ -31358,9 +31356,9 @@ "version": "2.5.1" }, "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" }, "dedent": { "version": "0.7.0", @@ -31859,9 +31857,9 @@ } }, "eslint": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.28.0.tgz", - "integrity": "sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", + "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", "dev": true, "requires": { "@eslint/eslintrc": "^1.3.3", @@ -33122,6 +33120,14 @@ "slash": "^3.0.0" } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { "version": "4.2.10" }, @@ -33734,14 +33740,14 @@ } }, "is-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", - "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" } }, @@ -35714,9 +35720,9 @@ } }, "joi": { - "version": "17.6.4", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.4.tgz", - "integrity": "sha512-tPzkTJHZQjSFCc842QpdVpOZ9LI2txApboNUbW70qgnRB14Lzl+oWQOPdF2N4yqyiY14wBGe8lc7f/2hZxbGmw==", + "version": "17.7.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.7.0.tgz", + "integrity": "sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==", "peer": true, "requires": { "@hapi/hoek": "^9.0.0", @@ -36043,11 +36049,11 @@ "version": "0.4.1" }, "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", "requires": { - "jsonify": "~0.0.0" + "jsonify": "^0.0.1" } }, "json-stable-stringify-without-jsonify": { @@ -36176,9 +36182,9 @@ "version": "1.1.6" }, "lint-staged": { - "version": "13.0.4", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.0.4.tgz", - "integrity": "sha512-HxlHCXoYRsq9QCby5wFozmZW00hMs/9e3l+/dz6Qr8Kle4UH0kJTdABAbqhzG+3pcG6QjL9kz7NgGBfph+a5dw==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.1.0.tgz", + "integrity": "sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==", "dev": true, "requires": { "cli-truncate": "^3.1.0", @@ -36260,9 +36266,9 @@ "dev": true }, "listr2": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.5.tgz", - "integrity": "sha512-DpBel6fczu7oQKTXMekeprc0o3XDgGMkD7JNYyX+X0xbwK+xgrx9dcyKoXKqpLSUvAWfmoePS7kavniOcq3r4w==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.6.tgz", + "integrity": "sha512-u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag==", "dev": true, "requires": { "cli-truncate": "^2.1.0", @@ -36270,7 +36276,7 @@ "log-update": "^4.0.0", "p-map": "^4.0.0", "rfdc": "^1.3.0", - "rxjs": "^7.5.6", + "rxjs": "^7.5.7", "through": "^2.3.8", "wrap-ansi": "^7.0.0" }, @@ -36641,9 +36647,11 @@ } }, "material-ui-popup-state": { - "version": "4.1.0", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-5.0.3.tgz", + "integrity": "sha512-AdlAEDmOAQ3BZMnNfyKD5CL+aNMb8zd5tDZWG5Ykx3vcuPbaL6SPjJ5kWuWXrJvapL9I8wwxaYhV4gt3tZmyOA==", "requires": { - "@babel/runtime": "^7.12.5", + "@babel/runtime": "^7.20.6", "@mui/material": "^5.0.0", "classnames": "^2.2.6", "prop-types": "^15.7.2" @@ -37176,12 +37184,6 @@ "mimic-fn": { "version": "2.1.0" }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, "minimalistic-assert": { "version": "1.0.1" }, @@ -37300,9 +37302,9 @@ } }, "next-i18next": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/next-i18next/-/next-i18next-13.0.0.tgz", - "integrity": "sha512-XiODAmMdueAIETQKIRPvYEZ5ghLOlzHb6PI4/WzwYkKdC/5q6UROzwIRw7aj3VWRB3xwnuuzEVI9NAjMfXyrkQ==", + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/next-i18next/-/next-i18next-13.0.1.tgz", + "integrity": "sha512-GnywgEQBvXZFUJAwgg8hKJw6khl7yo3qjZkgpX2atJ5Zv8l9kpVdy5RSIc8hiVImIZVwgOfoZ3YTyoWqcP4+Aw==", "requires": { "@babel/runtime": "^7.18.9", "@types/hoist-non-react-statics": "^3.3.1", @@ -37839,9 +37841,9 @@ "peer": true }, "postcss": { - "version": "8.4.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", - "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", + "version": "8.4.20", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", + "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", "dev": true, "requires": { "nanoid": "^3.3.4", @@ -37966,9 +37968,9 @@ } }, "postcss-import": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.0.0.tgz", - "integrity": "sha512-Y20shPQ07RitgBGv2zvkEAu9bqvrD77C9axhj/aA1BQj4czape2MdClCExvB27EwYEJdGgKZBpKanb0t1rK2Kg==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, "requires": { "postcss-value-parser": "^4.0.0", @@ -38119,18 +38121,18 @@ "dev": true }, "preact": { - "version": "10.11.2", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.2.tgz", - "integrity": "sha512-skAwGDFmgxhq1DCBHke/9e12ewkhc7WYwjuhHB8HHS8zkdtITXLRmUMTeol2ldxvLwYtwbFeifZ9uDDWuyL4Iw==" + "version": "10.11.3", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz", + "integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==" }, "prelude-ls": { "version": "1.2.1", "dev": true }, "prettier": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz", - "integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", + "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", "dev": true }, "pretty-bytes": { @@ -38202,9 +38204,9 @@ } }, "promise": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", - "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "peer": true, "requires": { "asap": "~2.0.6" @@ -38368,14 +38370,6 @@ "lodash": "^4.17.21" } }, - "react-shallow-renderer": { - "version": "16.15.0", - "peer": true, - "requires": { - "object-assign": "^4.1.1", - "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" - } - }, "react-smooth": { "version": "2.0.1", "requires": { @@ -38460,9 +38454,9 @@ } }, "recharts": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.1.16.tgz", - "integrity": "sha512-aYn1plTjYzRCo3UGxtWsduslwYd+Cuww3h/YAAEoRdGe0LRnBgYgaXSlVrNFkWOOSXrBavpmnli9h7pvRuk5wg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.2.0.tgz", + "integrity": "sha512-/uRJ0oaESGyz//PgAzvrwXEhrKaNha1ELLysEMRklbnsddiVQsSNicP7DWiz8qFcyYXy3BrDqrUjiLiVRTSMtA==", "requires": { "@types/d3-interpolate": "^2.0.0", "@types/d3-scale": "^3.0.0", @@ -38486,16 +38480,6 @@ "decimal.js-light": "^2.4.1" } }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, "reduce-css-calc": { "version": "2.1.8", "requires": { @@ -38518,9 +38502,9 @@ } }, "regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "regenerator-transform": { "version": "0.15.0", @@ -38672,6 +38656,12 @@ "version": "1.3.0", "dev": true }, + "rifm": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/rifm/-/rifm-0.12.1.tgz", + "integrity": "sha512-OGA1Bitg/dSJtI/c4dh90svzaUPt228kzFsUkJbtA2c964IqEAwWXeL9ZJi86xWv3j5SMqRvGULl7bA6cK0Bvg==", + "requires": {} + }, "rimraf": { "version": "3.0.2", "requires": { @@ -38752,9 +38742,9 @@ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "ws": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.10.0.tgz", - "integrity": "sha512-+s49uSmZpvtAsd2h37vIPy1RBusaLawVe8of+GyEPsaJTCMpj/2v8NpeK1SHXjBlQ95lQTmQofOJnFiLoaN3yw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "requires": {} } } @@ -39543,15 +39533,6 @@ "is-hex-prefixed": "1.0.0" } }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, "strip-json-comments": { "version": "3.1.1", "dev": true @@ -40223,17 +40204,17 @@ } }, "wagmi": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-0.8.7.tgz", - "integrity": "sha512-WfaNBaYEigB48WaYBDkecyuitrhGnIHiPJT5V1wDc5RlMRkl9bx8UB87M1b9ZRaMsrjxWvF2+9mtw+30LR9y9g==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-0.9.3.tgz", + "integrity": "sha512-SOW1De1cTlqvyKTs26wWu0EurBQyWfvxTLkZeWPGTrzfF0XucpjLAvTANEXO60b4kamc6SG/gbYN7PZ12K220A==", "requires": { - "@coinbase/wallet-sdk": "^3.5.3", + "@coinbase/wallet-sdk": "^3.6.0", "@tanstack/query-sync-storage-persister": "^4.14.5", "@tanstack/react-query": "^4.14.5", "@tanstack/react-query-persist-client": "^4.14.5", - "@wagmi/core": "0.7.6", + "@wagmi/core": "0.8.3", "@walletconnect/ethereum-provider": "^1.8.0", - "abitype": "^0.1.7", + "abitype": "^0.2.5", "use-sync-external-store": "^1.2.0" } }, @@ -40404,16 +40385,16 @@ "version": "2.0.0" }, "which-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", - "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.9" + "is-typed-array": "^1.1.10" } }, "word-wrap": { @@ -40720,9 +40701,9 @@ "version": "0.1.0" }, "zustand": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.1.4.tgz", - "integrity": "sha512-k2jVOlWo8p4R83mQ+/uyB8ILPO2PCJOf+QVjcL+1PbMCk1w5OoPYpAIxy9zd93FSfmJqoH6lGdwzzjwqJIRU5A==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.1.5.tgz", + "integrity": "sha512-PsdRT8Bvq22Yyh1tvpgdHNE7OAeFKqJXUxtJvj1Ixw2B9O2YZ1M34ImQ+xyZah4wZrR4lENMoDUutKPpyXCQ/Q==", "requires": { "use-sync-external-store": "1.2.0" } diff --git a/package.json b/package.json index 0882a2434..ed774f07d 100644 --- a/package.json +++ b/package.json @@ -20,59 +20,58 @@ "test": "jest" }, "dependencies": { + "@date-io/dayjs": "2.16.0", "@emotion/react": "11.10.5", "@emotion/styled": "11.10.5", "@fontsource/jetbrains-mono": "4.5.11", "@fontsource/material-icons": "4.5.4", "@fontsource/roboto": "4.5.8", - "@mui/icons-material": "5.10.16", - "@mui/material": "5.10.16", + "@mui/icons-material": "5.11.0", + "@mui/material": "5.11.0", + "@mui/x-date-pickers": "5.0.10", "@nervosnetwork/ckb-sdk-utils": "0.103.1", - "bignumber.js": "9.1.0", - "dayjs": "1.11.6", + "bignumber.js": "9.1.1", + "dayjs": "1.11.7", "ethers": "5.7.2", "graphql": "16.6.0", "graphql-request": "5.0.0", - "material-ui-popup-state": "4.1.0", + "material-ui-popup-state": "5.0.3", "next": "12.3.4", - "next-i18next": "13.0.0", + "next-i18next": "13.0.1", "next-pwa": "5.5.4", "phoenix": "1.6.15", "qrcode": "1.5.1", "react": "18.2.0", "react-dom": "18.2.0", "react-query": "3.39.2", - "recharts": "2.1.16", - "wagmi": "0.8.7" + "recharts": "2.2.0", + "wagmi": "0.9.3" }, "devDependencies": { "@cypress/code-coverage": "3.10.0", "@svgr/webpack": "6.5.1", - "@types/node": "18.11.10", + "@types/node": "18.11.15", "@types/phoenix": "1.5.4", "@types/qrcode": "1.5.0", "@types/react": "17.0.52", - "autoprefixer": "10.4.13", - "@testing-library/jest-dom": "5.16.5", - "@testing-library/react": "13.4.0", - "@types/cypress": "1.1.3", "@types/react-dom": "18.0.9", "@types/testing-library__jest-dom": "5.14.5", "@types/testing-library__react": "10.2.0", + "autoprefixer": "10.4.13", "babel-plugin-istanbul": "6.1.1", "cypress": "9.7.0", - "eslint": "8.28.0", + "eslint": "8.29.0", "eslint-config-next": "12.3.4", "husky": "8.0.2", - "lint-staged": "13.0.4", - "postcss": "8.4.19", + "lint-staged": "13.1.0", + "postcss": "8.4.20", "jest": "29.3.1", "jest-environment-jsdom": "29.3.1", "postcss-flexbugs-fixes": "5.0.2", - "postcss-import": "15.0.0", + "postcss-import": "15.1.0", "postcss-nesting": "10.2.0", "postcss-preset-env": "7.8.3", - "prettier": "2.8.0", + "prettier": "2.8.1", "sass": "1.56.1", "ts-node": "10.9.1", "typescript": "4.8.4" diff --git a/pages/account/[id].tsx b/pages/account/[id].tsx index 07ae9630b..07fb07af2 100644 --- a/pages/account/[id].tsx +++ b/pages/account/[id].tsx @@ -54,6 +54,10 @@ const Account = () => { sort_asset = 'ASC', sort_token_type = 'ASC', token_type = null, + address_from = null, + address_to = null, + age_range_start = null, + age_range_end = null, }, } = useRouter() const [t] = useTranslation(['account', 'common']) @@ -107,14 +111,36 @@ const Account = () => { }, ) - const { isLoading: isTransferListLoading, data: transferList } = useQuery( - ['account-transfer-list', q.address, before, after, pageSize], + const { + isLoading: isTransferListLoading, + data: transferList, + error: isTransferListError, + } = useQuery( + [ + 'account-transfer-list', + q.address, + before, + after, + pageSize, + block_from, + block_to, + address_from, + address_to, + age_range_start, + age_range_end, + ], () => fetchTransferList({ - address: q.address, limit: pageSize, before: before as string, after: after as string, + block_from: block_from ? +block_from : null, + block_to: block_to ? +block_to : null, + address_from: (address_from as string) || (address_to === q.address ? null : q.address), + address_to: (address_to as string) || (address_from === q.address ? null : q.address), + age_range_start: age_range_start as string, + age_range_end: age_range_end as string, + combine_from_to: !address_from && !address_to ? true : false, }), { enabled: tab === 'erc20' && !!q.address }, ) @@ -264,8 +290,13 @@ const Account = () => { ) ) : null} {tab === 'erc20' ? ( - !isTransferListLoading && transferList ? ( - + !isTransferListLoading && (transferList || isTransferListError) ? ( + ) : ( ) diff --git a/pages/token/[id].tsx b/pages/token/[id].tsx index 5216c4cae..f2d9c310a 100644 --- a/pages/token/[id].tsx +++ b/pages/token/[id].tsx @@ -5,8 +5,10 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import { useRouter } from 'next/router' import { useQuery } from 'react-query' import { gql } from 'graphql-request' +import dayjs from 'dayjs' import { Skeleton } from '@mui/material' import { ConnectorAlreadyConnectedError, useConnect, UserRejectedRequestError } from 'wagmi' +import BigNumber from 'bignumber.js' import SubpageHead from 'components/SubpageHead' import PageTitle from 'components/PageTitle' import Tabs from 'components/Tabs' @@ -18,12 +20,13 @@ import HashLink from 'components/HashLink' import DownloadMenu, { DOWNLOAD_HREF_LIST } from 'components/DownloadMenu' import Amount from 'components/Amount' import Alert from 'components/Alert' -import { fetchToken, fetchBridgedRecordList, fetchTokenHolderList, client, currentChain, withWagmi } from 'utils' -import styles from './styles.module.scss' - -import type { API } from 'utils/api/utils' import { SIZES } from 'components/PageSize' import TokenLogo from 'components/TokenLogo' +import Tooltip from 'components/Tooltip' +import { fetchToken, fetchBridgedRecordList, fetchTokenHolderList, client, currentChain, withWagmi } from 'utils' +import type { API } from 'utils/api/utils' +import TipsIcon from 'assets/icons/tips.svg' +import styles from './styles.module.scss' const tabs = ['transfers', 'bridged', 'holders'] @@ -51,6 +54,11 @@ interface TokenInfoProps { holders_count: number minted_count: number contract_address_hash: string + token_exchange_rate: { + exchange_rate: number | null + symbol: string + timestamp: number | null + } } } @@ -71,6 +79,11 @@ const tokenInfoQuery = gql` holders_count minted_count contract_address_hash + token_exchange_rate { + exchange_rate + symbol + timestamp + } } } ` @@ -90,7 +103,20 @@ const Token: React.FC = () => { const [msg, setMsg] = useState<{ type: 'success' | 'error'; text: string }>(null) const { replace, - query: { id, tab = 'transfers', page = '1', before = null, after = null, page_size = SIZES[1] }, + query: { + id, + tab = 'transfers', + page = '1', + before = null, + after = null, + block_from = null, + block_to = null, + page_size = SIZES[1], + address_from = null, + address_to = null, + age_range_start = null, + age_range_end = null, + }, } = useRouter() const { data: stats } = useQuery(['token-basic-info', id], () => fetchToken(id.toString())) @@ -114,13 +140,32 @@ const Token: React.FC = () => { }, [isTokenLoading, token, replace]) const { isLoading: isTransferListLoading, data: transferList } = useQuery( - ['token-transfer-list', token?.contract_address_hash, page_size, before, after], + [ + 'token-transfer-list', + token?.contract_address_hash, + page_size, + before, + after, + block_from, + block_to, + address_from, + address_to, + age_range_start, + age_range_end, + ], () => fetchTokenTransferList({ - address: token?.contract_address_hash, + contract_address: token?.contract_address_hash, limit: +page_size, before: before as string, after: after as string, + block_from: block_from ? +block_from : null, + block_to: block_to ? +block_to : null, + address_from: address_from as string, + address_to: address_to as string, + age_range_start: age_range_start as string, + age_range_end: age_range_end as string, + combine_from_to: address_from && address_to ? false : true, }), { enabled: tab === tabs[0] && !!token?.contract_address_hash }, ) @@ -156,7 +201,9 @@ const Token: React.FC = () => { content: !token ? ( ) : token.contract_address_hash ? ( - +
+ +
) : ( '-' ), @@ -192,6 +239,34 @@ const Token: React.FC = () => { '-' ), }, + token?.token_exchange_rate + ? { + field: t('price', { ns: 'list' }), + content: token ? ( +
+ + {token.token_exchange_rate?.exchange_rate + ? `$${new BigNumber(token.token_exchange_rate?.exchange_rate).precision(4)}` + : '-'} + + +
+ +
+
+
+ ) : ( + + ), + } + : null, { field: t('holderCount'), content: token ? token.holders_count || '-' : , @@ -202,7 +277,7 @@ const Token: React.FC = () => { }, { field: '', - content:
, + content:
, }, ] @@ -300,7 +375,7 @@ const Token: React.FC = () => { /> {tab === tabs[0] ? ( !isTransferListLoading && transferList ? ( - + ) : ( ) diff --git a/pages/token/styles.module.scss b/pages/token/styles.module.scss index 9399e7e01..90c1244f0 100644 --- a/pages/token/styles.module.scss +++ b/pages/token/styles.module.scss @@ -88,6 +88,12 @@ width: calc(50% - 32px); } } + + .contract { + text-overflow: ellipsis; + overflow: hidden; + color: var(--primary-color); + } } .list { @@ -108,6 +114,10 @@ & .tooltip:hover::before { min-width: 180px; } + & .tooltip { + display: inline-flex; + align-items: center; + } } } @@ -120,3 +130,23 @@ height: 1.25rem; } } + +.price { + display: flex; + align-items: center; + span { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; + } +} + +.priceIcon { + display: inline-flex; + align-items: center; + margin: 0 4px; + width: 16px; + &:hover svg { + color: var(--primary-color); + } +} diff --git a/pages/tokens/[type].tsx b/pages/tokens/[type].tsx index 8fe540777..a4b7101b1 100644 --- a/pages/tokens/[type].tsx +++ b/pages/tokens/[type].tsx @@ -15,10 +15,10 @@ import PageTitle from 'components/PageTitle' import HashLink from 'components/HashLink' import TokenLogo from 'components/TokenLogo' import FilterMenu from 'components/FilterMenu' -import SortIcon from 'assets/icons/sort.svg' -import { SIZES } from 'components/PageSize' import Amount from 'components/Amount' import Tooltip from 'components/Tooltip' +import { SIZES } from 'components/PageSize' +import SortIcon from 'assets/icons/sort.svg' import AddIcon from 'assets/icons/add.svg' import NoDataIcon from 'assets/icons/no-data.svg' import EmptyFilteredListIcon from 'assets/icons/empty-filtered-list.svg' @@ -48,9 +48,33 @@ type TokenListProps = { metadata: GraphQLSchema.PageMetadata } } +interface Variables { + before: string | null + after: string | null + name: string | null + type: string + limit: number + holder_count_sort: string + name_sort: string + supply_sort: string +} +enum SortTypesEnum { + holder_count_sort = 'holder_count_sort', + name_sort = 'name_sort', + supply_sort = 'supply_sort', +} const tokenListQuery = gql` - query ($name: String, $type: UdtType, $before: String, $after: String, $limit: Int, $holder_count_sort: SortType) { + query ( + $name: String + $type: UdtType + $before: String + $after: String + $limit: Int + $holder_count_sort: SortType + $name_sort: SortType + $supply_sort: SortType + ) { udts( input: { type: $type @@ -58,7 +82,11 @@ const tokenListQuery = gql` after: $after limit: $limit fuzzy_name: $name - sorter: [{ sort_type: $holder_count_sort, sort_value: EX_HOLDERS_COUNT }] + sorter: [ + { sort_type: $holder_count_sort, sort_value: EX_HOLDERS_COUNT } + { sort_type: $name_sort, sort_value: NAME } + { sort_type: $supply_sort, sort_value: SUPPLY } + ] } ) { entries { @@ -86,15 +114,6 @@ const tokenListQuery = gql` } ` -interface Variables { - before: string | null - after: string | null - name: string | null - type: string - limit: number - holder_count_sort: string -} - const fetchTokenList = (variables: Variables): Promise => client .request(tokenListQuery, variables) @@ -114,6 +133,8 @@ const TokenList = () => { name = null, page_size = SIZES[1], holder_count_sort = 'DESC', + name_sort = 'DESC', + supply_sort = 'DESC', ...query }, } = useRouter() @@ -130,7 +151,7 @@ const TokenList = () => { ] const { isLoading, data } = useQuery( - ['tokens', type, before, after, name, page_size, holder_count_sort], + ['tokens', type, before, after, name, page_size, holder_count_sort, name_sort, supply_sort], () => fetchTokenList({ type: type.toString().toUpperCase(), @@ -139,16 +160,15 @@ const TokenList = () => { name: name ? `${name}%` : null, limit: Number.isNaN(+page_size) ? +SIZES[1] : +page_size, holder_count_sort: holder_count_sort as string, + name_sort: name_sort as string, + supply_sort: supply_sort as string, }), { refetchInterval: 10000, }, ) - const isFiltered = !!name - const isFilterUnnecessary = !data?.metadata.total_count && !isFiltered - - const handleHolderCountSortClick = (e: React.MouseEvent) => { + const handleSorterClick = (e: React.MouseEvent, type) => { const { dataset: { order }, } = e.currentTarget @@ -157,12 +177,18 @@ const TokenList = () => { ...query, name: name ? (name as string) : '', page_size: page_size as string, - holder_count_sort: order === 'ASC' ? 'DESC' : 'ASC', + holder_count_sort: holder_count_sort as string, + name_sort: name_sort as string, + supply_sort: supply_sort as string, + [type]: order === 'ASC' ? 'DESC' : 'ASC', })}`, ) } + const isFiltered = !!name + const isFilterUnnecessary = !data?.metadata.total_count && !isFiltered const title = t(`${type}-udt-list`) + return ( <> @@ -233,21 +259,37 @@ const TokenList = () => {
{headers.map(h => ( ))} diff --git a/pages/tokens/styles.module.scss b/pages/tokens/styles.module.scss index 0570f8c81..96ebdd783 100644 --- a/pages/tokens/styles.module.scss +++ b/pages/tokens/styles.module.scss @@ -20,6 +20,11 @@ display: inline-flex; align-items: center; } + .sortIcon { + margin-right: 8px; + display: flex; + align-items: center; + } } form[data-role='filter-menu']:first-of-type { left: 0; diff --git a/pages/tx/[hash].tsx b/pages/tx/[hash].tsx index 85bee334c..ee5ba0665 100644 --- a/pages/tx/[hash].tsx +++ b/pages/tx/[hash].tsx @@ -11,7 +11,7 @@ import BigNumber from 'bignumber.js' import Tabs from 'components/Tabs' import SubpageHead from 'components/SubpageHead' import PageTitle from 'components/PageTitle' -import InfoList from 'components/InfoList' +import InfoList, { InfoItermProps } from 'components/InfoList' import CommonERCTransferlist, { fetchERCTransferList } from 'components/CommonERCTransferlist' import TxLogsList from 'components/TxLogsList' import RawTxData from 'components/RawTxData' @@ -266,7 +266,7 @@ const Tx = () => { const toAddrDisplay = getAddressDisplay(tx?.to_account, tx?.polyjuice?.native_transfer_address_hash) const method = tx?.method_name ?? tx?.method_id - const overview = [ + const overview: InfoItermProps[] = [ { field: t('hash'), content: ( @@ -484,7 +484,7 @@ const Tx = () => { return ( <> -
+
{title} diff --git a/pages/tx/styles.module.scss b/pages/tx/styles.module.scss index 4f06bf5df..3ad1e6cf0 100644 --- a/pages/tx/styles.module.scss +++ b/pages/tx/styles.module.scss @@ -152,5 +152,12 @@ margin-left: -116px; } } + &[data-page-name='transaction-detail'] { + dl[role='listitem'] { + dt { + flex-basis: 168px !important; + } + } + } } } diff --git a/public/locales/en-US/list.json b/public/locales/en-US/list.json index 3e2baeb7b..80809c52b 100644 --- a/public/locales/en-US/list.json +++ b/public/locales/en-US/list.json @@ -45,15 +45,20 @@ "block_to": "to", "address_from": "from", "address_to": "to", + "age_range_start": "from", + "age_range_end": "to", "filter": "filter", "clear": "clear", "n_contracts_in_total": "{{number}} Kinds in Total", + "invalid_date": "Invalid Date", "filter_menu": { "name": "Name", "block_from": "Block Number", "block_to": "Block Number", "address_from": "Search by address", "address_to": "Search by address", + "age_range_start": "Start Date", + "age_range_end": "End Date", "asset": "Asset", "token_type": "Token Type" }, @@ -80,5 +85,10 @@ "please-connect-mm": "Please connect to MetaMask first", "switch_network_success": "Switch network success", "waiting_for_confirm": "Waiting for confirmation", - "waiting_for_block": "Waiting for block" + "waiting_for_block": "Waiting for block", + "USD": "USD", + "price": "Price", + "price-updated-at": "Price updated at {{time}}", + "switch-to-price": "Switch to price", + "switch-to-amount": "Switch to amount" } diff --git a/public/locales/zh-CN/list.json b/public/locales/zh-CN/list.json index f83a0b717..c7f9a8511 100644 --- a/public/locales/zh-CN/list.json +++ b/public/locales/zh-CN/list.json @@ -45,14 +45,19 @@ "block_to": "到", "address_from": "从", "address_to": "到", + "age_range_start": "从", + "age_range_end": "到", "filter": "筛选", "clear": "清除", + "invalid_date": "无效日期", "filter_menu": { "name": "名称", "block_from": "区块高度", "block_to": "区块高度", "address_from": "通过地址搜索", "address_to": "通过地址搜索", + "age_range_start": "开始日期", + "age_range_end": "结束日期", "asset": "资产", "token_type": "代币类型" }, @@ -79,5 +84,10 @@ "please-connect-mm": "请先连接到 MetaMask", "switch_network_success": "切换网络成功", "waiting_for_confirm": "等待确认中", - "waiting_for_block": "等待出块中" + "waiting_for_block": "等待出块中", + "USD": "美元", + "price": "价格", + "price-updated-at": "价格更新于 {{time}}", + "switch-to-price": "切换到价格", + "switch-to-amount": "切换到数量" } diff --git a/styles/tooltip.scss b/styles/tooltip.scss index e70d0c8bf..de290a1a5 100644 --- a/styles/tooltip.scss +++ b/styles/tooltip.scss @@ -8,8 +8,8 @@ .tooltip { @include relative-inline-block; - --tooltip-border-color: #333; - --tooltip-background-color: #333; + --tooltip-border-color: #000; + --tooltip-background-color: #000; --tooltip-font-color: #fff; display: inline-block; @@ -19,7 +19,7 @@ min-width: 100px; max-width: 246px; padding: 8px; - top: -8px; + top: -16.5px; border-radius: 5px; overflow-wrap: break-word; background-color: var(--tooltip-background-color); @@ -38,10 +38,10 @@ &::after { content: ''; user-select: text; - top: 8px; + top: 0; width: 0; height: 0; - border-width: 10px; + border-width: 9px; border-style: solid; border-color: transparent; display: none; diff --git a/utils/graphql.ts b/utils/graphql.ts index 06419a8ff..a8e2064e0 100644 --- a/utils/graphql.ts +++ b/utils/graphql.ts @@ -75,6 +75,11 @@ export namespace GraphQLSchema { eth_type: TokenType type_script: object value: string + token_exchange_rate: { + exchange_rate: number | null + symbol: string | null + timestamp: number | null + } } export interface SmartContract { diff --git a/utils/helpers.tsx b/utils/helpers.tsx index 507b71ac1..7b8039bf5 100644 --- a/utils/helpers.tsx +++ b/utils/helpers.tsx @@ -1,6 +1,6 @@ import { utils, providers } from 'ethers' import { NODE_URL, PCKB_UDT_INFO, ZERO_ADDRESS, IS_MAINNET } from './constants' -import { Chain, configureChains, createClient, defaultChains, WagmiConfig } from 'wagmi' +import { Chain, configureChains, createClient, WagmiConfig } from 'wagmi' import { jsonRpcProvider } from 'wagmi/providers/jsonRpc' import { MetaMaskConnector } from 'wagmi/connectors/metaMask' import { client, GraphQLSchema } from './graphql' @@ -37,7 +37,9 @@ export const mainnet: Chain = { symbol: PCKB_UDT_INFO.symbol, }, rpcUrls: { - default: 'https://v1.mainnet.godwoken.io/rpc', + default: { + http: ['https://v1.mainnet.godwoken.io/rpc'], + }, }, blockExplorers: { default: { name: 'Godwoken', url: 'https://v1.gwscan.com' }, @@ -55,7 +57,9 @@ export const testnet: Chain = { symbol: PCKB_UDT_INFO.symbol, }, rpcUrls: { - default: 'https://godwoken-testnet-v1.ckbapp.dev', + default: { + http: ['https://godwoken-testnet-v1.ckbapp.dev'], + }, }, blockExplorers: { default: { name: 'Godwoken', url: 'https://v1.testnet.gwscan.com' }, @@ -67,11 +71,11 @@ export const currentChain = IS_MAINNET ? mainnet : testnet // wagmi config chains const { chains, provider: wagmiProvider } = configureChains( - [mainnet, testnet, ...defaultChains], + [mainnet, testnet], [ jsonRpcProvider({ rpc: chain => { - return { http: chain.rpcUrls.default } + return { http: chain.rpcUrls.default.http[0] } }, }), ],
{t('txHash')}{t('block')} {t('age')} {t('from')}{t('to')} +
+ {t('block')} + +
+
+
+ {t('age')} + +
+
+
+ {t('from')} + +
+
+
+ {t('to')} + +
+
-
+
{t('token')}
{`${t('value')}`} +
+ +
+ {isShowUsd ? t(`USD`) : t('value')} + + + +
+
+
+
- + + {isShowUsd ? ( + + + {item.udt.token_exchange_rate?.exchange_rate + ? `$${new BigNumber(item.amount ?? 0) + .dividedBy(10 ** item.udt.decimal) + .multipliedBy(item.udt.token_exchange_rate?.exchange_rate) + .toFixed(2)}` || '-' + : '-'} + + + ) : ( + + )}
- - {t(h.label ?? h.key)} +
+
{t(h.label ?? h.key)}
{h.key === 'token' ? ( - - - + <> +
+ handleSorterClick(e, SortTypesEnum.name_sort)} + data-order={name_sort} + className={styles.sorter} + /> +
+ + + + ) : null} {h.key === 'holderCount' ? ( handleSorterClick(e, SortTypesEnum.holder_count_sort)} data-order={holder_count_sort} className={styles.sorter} /> ) : null} - + {h.key === 'circulatingSupply' || h.key === 'totalSupply' ? ( + handleSorterClick(e, SortTypesEnum.supply_sort)} + data-order={supply_sort} + className={styles.sorter} + /> + ) : null} +