post launch fixes (#536)
This commit is contained in:
parent
96719b7ad5
commit
5da0ab009f
33
.env.example
33
.env.example
@ -19,34 +19,10 @@ NEXT_PUBLIC_PYTH_ENDPOINT=https://xc-mainnet.pyth.network/api
|
|||||||
NEXT_PUBLIC_MAINNET_REST=https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-lcd-front/
|
NEXT_PUBLIC_MAINNET_REST=https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-lcd-front/
|
||||||
NEXT_PUBLIC_CANDLES_ENDPOINT=https://api.thegraph.com/subgraphs/name/donovansolms/osmosis-tv-candles-test
|
NEXT_PUBLIC_CANDLES_ENDPOINT=https://api.thegraph.com/subgraphs/name/donovansolms/osmosis-tv-candles-test
|
||||||
NEXT_PUBLIC_WALLET_CONNECT_ID=d93fdffb159bae5ec87d8fee4cdbb045
|
NEXT_PUBLIC_WALLET_CONNECT_ID=d93fdffb159bae5ec87d8fee4cdbb045
|
||||||
CHARTING_LIBRARY_REPOSITORY=github.com/tradingview/charting_library
|
|
||||||
CHARTING_LIBRARY_ACCESS_TOKEN=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
|
|
||||||
CHARTING_LIBRARY_USERNAME=mars-git-demo
|
|
||||||
|
|
||||||
# TESTNET #
|
CHARTING_LIBRARY_REPOSITORY=github.com/tradingview/charting_library
|
||||||
# NEXT_PUBLIC_NETWORK=testnet
|
CHARTING_LIBRARY_ACCESS_TOKEN=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
|
||||||
# NEXT_PUBLIC_CHAIN_ID=osmo-test-5
|
CHARTING_LIBRARY_USERNAME=mars-git-demo
|
||||||
# NEXT_PUBLIC_RPC=https://testnet-osmosis-node.marsprotocol.io/XF32UOOU55CX/osmosis-rpc-front/
|
|
||||||
# NEXT_PUBLIC_GQL=https://testnet-osmosis-node.marsprotocol.io/XF32UOOU55CX/osmosis-hive-front/graphql
|
|
||||||
# NEXT_PUBLIC_REST=https://testnet-osmosis-node.marsprotocol.io/XF32UOOU55CX/osmosis-lcd-front/
|
|
||||||
# NEXT_PUBLIC_SWAP=https://testnet.osmosis.zone
|
|
||||||
# NEXT_PUBLIC_VAULT_APR=https://testnet-api.marsprotocol.io/v1/vaults/osmosis
|
|
||||||
# NEXT_PUBLIC_ACCOUNT_NFT=osmo1hdk6nps2l2tdfgly0tegcgwl239l45etuae7nsc6s93u0yrqk4rqv489kl
|
|
||||||
# NEXT_PUBLIC_ORACLE=osmo1dxu93scjdnx42txdp9d4hm3snffvnzmkp4jpc9sml8xlu3ncgamsl2lx58
|
|
||||||
# NEXT_PUBLIC_RED_BANK=osmo1hs4sm0fah9rk4mz8e56v4n76g0q9fffdkkjm3f8tjagkdx78pqcq75pk0a
|
|
||||||
# NEXT_PUBLIC_CREDIT_MANAGER=osmo1zwugj8tz9nq63m3lxcfpunp0xr5lnlxdr0yyn4gpftx3ham09m4skn73ew
|
|
||||||
# NEXT_PUBLIC_INCENTIVES=osmo1nu0k6g294jela67vyth6nwr3l42gutq2m07pg9927f7v7tuv0d4sre9fr7
|
|
||||||
# NEXT_PUBLIC_ZAPPER=osmo1jwtmujld4ew2vt67qnmpdxr3fmmle2yg823de5ygvf47uvhpu76qlhf82q
|
|
||||||
# NEXT_PUBLIC_SWAPPER=osmo1ee9cq8dcknmw43znznx6vuupx5ku0tt505agccgaz5gn48mhe45s3kwwfm
|
|
||||||
# NEXT_PUBLIC_PARAMS=osmo1h334tvddn82m4apm08rm9k6kt32ws7vy0c4n30ngrvu6h6yxh8eq9l9jfh
|
|
||||||
# NEXT_PUBLIC_API=http://localhost:3000/api
|
|
||||||
# NEXT_PUBLIC_CANDLES_ENDPOINT="https://api.thegraph.com/subgraphs/name/{NAME}/{GRAPH_NAME}"
|
|
||||||
# CHARTING_LIBRARY_USERNAME="username_with_access_to_charting_library"
|
|
||||||
# CHARTING_LIBRARY_ACCESS_TOKEN="access_token_with_access_to_charting_library"
|
|
||||||
# CHARTING_LIBRARY_REPOSITORY="github.com/username/charting_library/"
|
|
||||||
# NEXT_PUBLIC_PYTH_ENDPOINT=https://xc-mainnet.pyth.network/api
|
|
||||||
# NEXT_PUBLIC_MAINNET_REST=https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-lcd-front/
|
|
||||||
# NEXT_PUBLIC_WALLET_CONNECT_ID=d93fdffb159bae5ec87d8fee4cdbb045
|
|
||||||
|
|
||||||
# MAINNET #
|
# MAINNET #
|
||||||
# NEXT_PUBLIC_NETWORK=mainnet
|
# NEXT_PUBLIC_NETWORK=mainnet
|
||||||
@ -64,9 +40,6 @@ CHARTING_LIBRARY_USERNAME=mars-git-demo
|
|||||||
# NEXT_PUBLIC_ZAPPER=osmo17qwvc70pzc9mudr8t02t3pl74hhqsgwnskl734p4hug3s8mkerdqzduf7c
|
# NEXT_PUBLIC_ZAPPER=osmo17qwvc70pzc9mudr8t02t3pl74hhqsgwnskl734p4hug3s8mkerdqzduf7c
|
||||||
# NEXT_PUBLIC_SWAPPER=osmo1wee0z8c7tcawyl647eapqs4a88q8jpa7ddy6nn2nrs7t47p2zhxswetwla
|
# NEXT_PUBLIC_SWAPPER=osmo1wee0z8c7tcawyl647eapqs4a88q8jpa7ddy6nn2nrs7t47p2zhxswetwla
|
||||||
# NEXT_PUBLIC_API=http://localhost:3000/api
|
# NEXT_PUBLIC_API=http://localhost:3000/api
|
||||||
# CHARTING_LIBRARY_USERNAME="username_with_access_to_charting_library"
|
|
||||||
# CHARTING_LIBRARY_ACCESS_TOKEN="access_token_with_access_to_charting_library"
|
|
||||||
# CHARTING_LIBRARY_REPOSITORY="username/charting_library"
|
|
||||||
# NEXT_PUBLIC_PYTH_ENDPOINT=https://xc-mainnet.pyth.network/api
|
# NEXT_PUBLIC_PYTH_ENDPOINT=https://xc-mainnet.pyth.network/api
|
||||||
# NEXT_PUBLIC_MAINNET_REST=https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-lcd-front/
|
# NEXT_PUBLIC_MAINNET_REST=https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-lcd-front/
|
||||||
# NEXT_PUBLIC_WALLET_CONNECT_ID=d93fdffb159bae5ec87d8fee4cdbb045
|
# NEXT_PUBLIC_WALLET_CONNECT_ID=d93fdffb159bae5ec87d8fee4cdbb045
|
||||||
|
18
package.json
18
package.json
@ -17,11 +17,11 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@cosmjs/cosmwasm-stargate": "^0.31.1",
|
"@cosmjs/cosmwasm-stargate": "^0.31.1",
|
||||||
"@delphi-labs/shuttle-react": "^3.9.0",
|
"@delphi-labs/shuttle-react": "^3.9.0",
|
||||||
"@keplr-wallet/cosmos": "^0.12.28",
|
"@keplr-wallet/cosmos": "^0.12.32",
|
||||||
"@sentry/nextjs": "^7.73.0",
|
"@sentry/nextjs": "^7.73.0",
|
||||||
"@splinetool/react-spline": "^2.2.6",
|
"@splinetool/react-spline": "^2.2.6",
|
||||||
"@splinetool/runtime": "^0.9.473",
|
"@splinetool/runtime": "^0.9.477",
|
||||||
"@tanstack/react-table": "^8.10.3",
|
"@tanstack/react-table": "^8.10.6",
|
||||||
"@tippyjs/react": "^4.2.6",
|
"@tippyjs/react": "^4.2.6",
|
||||||
"bignumber.js": "^9.1.2",
|
"bignumber.js": "^9.1.2",
|
||||||
"classnames": "^2.3.2",
|
"classnames": "^2.3.2",
|
||||||
@ -29,7 +29,7 @@
|
|||||||
"lodash.debounce": "^4.0.8",
|
"lodash.debounce": "^4.0.8",
|
||||||
"lodash.throttle": "^4.1.1",
|
"lodash.throttle": "^4.1.1",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"next": "13.5.3",
|
"next": "^13.5.4",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-device-detect": "^2.2.3",
|
"react-device-detect": "^2.2.3",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
@ -43,7 +43,7 @@
|
|||||||
"recharts": "^2.8.0",
|
"recharts": "^2.8.0",
|
||||||
"swr": "^2.2.4",
|
"swr": "^2.2.4",
|
||||||
"tailwind-scrollbar-hide": "^1.1.7",
|
"tailwind-scrollbar-hide": "^1.1.7",
|
||||||
"zustand": "^4.4.1"
|
"zustand": "^4.4.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@svgr/webpack": "^8.1.0",
|
"@svgr/webpack": "^8.1.0",
|
||||||
@ -53,15 +53,15 @@
|
|||||||
"@types/lodash.debounce": "^4.0.7",
|
"@types/lodash.debounce": "^4.0.7",
|
||||||
"@types/lodash.throttle": "^4.1.7",
|
"@types/lodash.throttle": "^4.1.7",
|
||||||
"@types/node": "^20.7.0",
|
"@types/node": "^20.7.0",
|
||||||
"@types/react": "18.2.23",
|
"@types/react": "18.2.28",
|
||||||
"@types/react-dom": "18.2.11",
|
"@types/react-dom": "18.2.13",
|
||||||
"@types/react-helmet": "^6.1.7",
|
"@types/react-helmet": "^6.1.7",
|
||||||
"autoprefixer": "^10.4.16",
|
"autoprefixer": "^10.4.16",
|
||||||
"babel-jest": "^29.7.0",
|
"babel-jest": "^29.7.0",
|
||||||
"dotenv": "^16.3.1",
|
"dotenv": "^16.3.1",
|
||||||
"dotenv-cli": "^7.3.0",
|
"dotenv-cli": "^7.3.0",
|
||||||
"eslint": "8.51.0",
|
"eslint": "^8.51.0",
|
||||||
"eslint-config-next": "^13.5.3",
|
"eslint-config-next": "^13.5.4",
|
||||||
"eslint-plugin-import": "^2.28.1",
|
"eslint-plugin-import": "^2.28.1",
|
||||||
"identity-obj-proxy": "^3.0.0",
|
"identity-obj-proxy": "^3.0.0",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
|
@ -87,7 +87,7 @@ function AccountDetails(props: Props) {
|
|||||||
const apr = useMemo(
|
const apr = useMemo(
|
||||||
() =>
|
() =>
|
||||||
calculateAccountApr(updatedAccount ?? account, borrowAssetsData, lendingAssetsData, prices),
|
calculateAccountApr(updatedAccount ?? account, borrowAssetsData, lendingAssetsData, prices),
|
||||||
[account, borrowAssetsData, lendingAssetsData, prices],
|
[account, borrowAssetsData, lendingAssetsData, prices, updatedAccount],
|
||||||
)
|
)
|
||||||
|
|
||||||
function AccountDetailsHeader() {
|
function AccountDetailsHeader() {
|
||||||
|
@ -188,14 +188,6 @@ export const VaultTable = (props: Props) => {
|
|||||||
return <Text className='text-xs'>{formatPercent(row.original.ltv.max)}</Text>
|
return <Text className='text-xs'>{formatPercent(row.original.ltv.max)}</Text>
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
accessorKey: 'ltv.liq',
|
|
||||||
header: 'Liq. LTV',
|
|
||||||
cell: ({ row }) => {
|
|
||||||
if (props.isLoading) return <Loading />
|
|
||||||
return <Text className='text-xs'>{formatPercent(row.original.ltv.liq)}</Text>
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
accessorKey: 'details',
|
accessorKey: 'details',
|
||||||
enableSorting: false,
|
enableSorting: false,
|
||||||
|
@ -75,7 +75,7 @@ export default function LendingActionButtons(props: Props) {
|
|||||||
<Tooltip
|
<Tooltip
|
||||||
type='warning'
|
type='warning'
|
||||||
content={
|
content={
|
||||||
<Text size='sm'>{`You don’t have any ${asset.symbol}. Please first deposit ${asset.symbol} into your credit account before lending.`}</Text>
|
<Text size='sm'>{`You don’t have any ${asset.symbol}. Please first deposit ${asset.symbol} into your Credit Account before lending.`}</Text>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
|
@ -68,7 +68,7 @@ export default function MarketDetails({ data, type }: Props) {
|
|||||||
title: 'Oracle Price',
|
title: 'Oracle Price',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
amount: totalBorrowed.dividedBy(depositCap).multipliedBy(100).toNumber(),
|
amount: totalBorrowed.dividedBy(marketDepositAmount).multipliedBy(100).toNumber(),
|
||||||
options: { minDecimals: 2, maxDecimals: 2, suffix: '%' },
|
options: { minDecimals: 2, maxDecimals: 2, suffix: '%' },
|
||||||
title: 'Utilization Rate',
|
title: 'Utilization Rate',
|
||||||
},
|
},
|
||||||
|
@ -2,6 +2,7 @@ import Spline from '@splinetool/react-spline'
|
|||||||
|
|
||||||
import Button from 'components/Button'
|
import Button from 'components/Button'
|
||||||
import Text from 'components/Text'
|
import Text from 'components/Text'
|
||||||
|
import { DocURL } from 'types/enums/docURL'
|
||||||
|
|
||||||
export default function MobileNotSupported() {
|
export default function MobileNotSupported() {
|
||||||
return (
|
return (
|
||||||
@ -23,7 +24,7 @@ export default function MobileNotSupported() {
|
|||||||
text='Visit Mars v1'
|
text='Visit Mars v1'
|
||||||
color='tertiary'
|
color='tertiary'
|
||||||
size='lg'
|
size='lg'
|
||||||
onClick={() => window.open('https://app.marsprotocol.io', '_self')}
|
onClick={() => window.open(DocURL.V1_URL, '_self')}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -85,7 +85,7 @@ function AccountDeleteModal(props: Props) {
|
|||||||
return (
|
return (
|
||||||
<AccountDeleteAlertDialog
|
<AccountDeleteAlertDialog
|
||||||
title={`Delete Credit Account ${accountId}`}
|
title={`Delete Credit Account ${accountId}`}
|
||||||
description='Deleting your credit account is irreversible.'
|
description='Deleting your Credit Account is irreversible.'
|
||||||
closeHandler={closeDeleteAccountModal}
|
closeHandler={closeDeleteAccountModal}
|
||||||
positiveButton={{
|
positiveButton={{
|
||||||
text: 'Delete Account',
|
text: 'Delete Account',
|
||||||
@ -101,7 +101,7 @@ function AccountDeleteModal(props: Props) {
|
|||||||
description={
|
description={
|
||||||
<>
|
<>
|
||||||
<Text className='mt-2 text-white/50' size='sm'>
|
<Text className='mt-2 text-white/50' size='sm'>
|
||||||
The following assets within your credit account will be sent to your wallet.
|
The following assets within your Credit Account will be sent to your wallet.
|
||||||
</Text>
|
</Text>
|
||||||
<div className='flex flex-col w-full gap-4 py-4 overflow-y-scroll max-h-100 scrollbar-hide'>
|
<div className='flex flex-col w-full gap-4 py-4 overflow-y-scroll max-h-100 scrollbar-hide'>
|
||||||
{depositsAndLends.map((position, index) => {
|
{depositsAndLends.map((position, index) => {
|
||||||
|
@ -118,7 +118,7 @@ export default function WithdrawFromAccount(props: Props) {
|
|||||||
<div className='flex flex-wrap flex-1'>
|
<div className='flex flex-wrap flex-1'>
|
||||||
<Text className='w-full mb-1'>Withdraw with borrowing</Text>
|
<Text className='w-full mb-1'>Withdraw with borrowing</Text>
|
||||||
<Text size='xs' className='text-white/50'>
|
<Text size='xs' className='text-white/50'>
|
||||||
Borrow assets from your credit account to withdraw to your wallet
|
Borrow assets from your Credit Account to withdraw to your wallet
|
||||||
</Text>
|
</Text>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-wrap items-center justify-end'>
|
<div className='flex flex-wrap items-center justify-end'>
|
||||||
|
@ -231,8 +231,8 @@ export default function SettingsModal() {
|
|||||||
onChange={handleLendAssets}
|
onChange={handleLendAssets}
|
||||||
name='lendAssets'
|
name='lendAssets'
|
||||||
value={lendAssets}
|
value={lendAssets}
|
||||||
label='Lend assets in credit accounts'
|
label='Lend assets in Credit Accounts'
|
||||||
description='By turning this on you will automatically lend out all the assets you deposit into your credit accounts to earn yield.'
|
description='By turning this on you will automatically lend out all the assets you deposit into your Credit Accounts to earn yield.'
|
||||||
withStatus
|
withStatus
|
||||||
/>
|
/>
|
||||||
<SettingsSwitch
|
<SettingsSwitch
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import React, { Suspense, useMemo } from 'react'
|
import { Suspense, useMemo } from 'react'
|
||||||
|
|
||||||
import DisplayCurrency from 'components/DisplayCurrency'
|
import DisplayCurrency from 'components/DisplayCurrency'
|
||||||
import { FormattedNumber } from 'components/FormattedNumber'
|
import { FormattedNumber } from 'components/FormattedNumber'
|
||||||
@ -73,12 +73,12 @@ function Content(props: Props) {
|
|||||||
]
|
]
|
||||||
}, [account, borrowAssets, lendingAssets, prices])
|
}, [account, borrowAssets, lendingAssets, prices])
|
||||||
|
|
||||||
return <Skeleton stats={stats} health={health} title={`Credit account ${props.accountId}`} />
|
return <Skeleton stats={stats} health={health} title={`Credit Account ${props.accountId}`} />
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function Summary(props: Props) {
|
export default function Summary(props: Props) {
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<Skeleton health={0} title={`Credit account ${props.accountId}`} />}>
|
<Suspense fallback={<Skeleton health={0} title={`Credit Account ${props.accountId}`} />}>
|
||||||
<Content {...props} />
|
<Content {...props} />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
)
|
)
|
||||||
|
@ -17,7 +17,7 @@ export default function Skeleton(props: Props) {
|
|||||||
return (
|
return (
|
||||||
<Card className='p-4 bg-white/5'>
|
<Card className='p-4 bg-white/5'>
|
||||||
<div className='flex items-center justify-between'>
|
<div className='flex items-center justify-between'>
|
||||||
<Text>Credit account {props.accountId}</Text>
|
<Text>Credit Account {props.accountId}</Text>
|
||||||
<Text size='xs' className='text-white/60'>
|
<Text size='xs' className='text-white/60'>
|
||||||
{props.isCurrent && '(current)'}
|
{props.isCurrent && '(current)'}
|
||||||
</Text>
|
</Text>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import classNames from 'classnames'
|
import classNames from 'classnames'
|
||||||
import React, { useCallback } from 'react'
|
import { useCallback } from 'react'
|
||||||
import { useParams } from 'react-router-dom'
|
import { useParams } from 'react-router-dom'
|
||||||
|
|
||||||
import AccountCreateFirst from 'components/Account/AccountCreateFirst'
|
import AccountCreateFirst from 'components/Account/AccountCreateFirst'
|
||||||
|
@ -90,7 +90,7 @@ export default function TokenInput(props: Props) {
|
|||||||
{props.warning && (
|
{props.warning && (
|
||||||
<div className='grid items-center px-2'>
|
<div className='grid items-center px-2'>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
content={`You don't have any ${props.asset.symbol}. Please first deposit ${props.asset.symbol} into your credit account before.`}
|
content={`You don't have any ${props.asset.symbol}. Please first deposit ${props.asset.symbol} into your Credit Account before.`}
|
||||||
type='info'
|
type='info'
|
||||||
interactive
|
interactive
|
||||||
>
|
>
|
||||||
|
@ -34,16 +34,25 @@ export class OsmosisTheGraphDataFeed implements IDatafeedChartApi {
|
|||||||
baseDenom: string = 'uosmo'
|
baseDenom: string = 'uosmo'
|
||||||
batchSize = 1000
|
batchSize = 1000
|
||||||
enabledMarketAssetDenoms: string[] = []
|
enabledMarketAssetDenoms: string[] = []
|
||||||
pairs: string[] = []
|
pairs: { baseAsset: string; quoteAsset: string }[] = []
|
||||||
pairsWithData: string[] = []
|
pairsWithData: string[] = []
|
||||||
intervals: { [key: string]: string } = {
|
intervals: { [key: string]: string } = {
|
||||||
'15': '15m',
|
'15': '15m',
|
||||||
'30': '30m',
|
'30': '30m',
|
||||||
'60': '1h',
|
'60': '1h',
|
||||||
|
'240': '4h',
|
||||||
|
'1D': '1d',
|
||||||
|
}
|
||||||
|
minutesPerInterval: { [key: string]: number } = {
|
||||||
|
'15': 15,
|
||||||
|
'30': 30,
|
||||||
|
'60': 60,
|
||||||
|
'240': 60 * 4,
|
||||||
|
'1D': 60 * 24,
|
||||||
}
|
}
|
||||||
|
|
||||||
supportedPools: string[] = []
|
supportedPools: string[] = []
|
||||||
supportedResolutions = ['15', '30', '60'] as ResolutionString[]
|
supportedResolutions = ['15', '30', '60', '4h', 'D'] as ResolutionString[]
|
||||||
|
|
||||||
constructor(debug = false, baseDecimals: number, baseDenom: string) {
|
constructor(debug = false, baseDecimals: number, baseDenom: string) {
|
||||||
if (debug) console.log('Start TheGraph charting library datafeed')
|
if (debug) console.log('Start TheGraph charting library datafeed')
|
||||||
@ -55,19 +64,6 @@ export class OsmosisTheGraphDataFeed implements IDatafeedChartApi {
|
|||||||
this.supportedPools = enabledMarketAssets
|
this.supportedPools = enabledMarketAssets
|
||||||
.map((asset) => asset.poolId?.toString())
|
.map((asset) => asset.poolId?.toString())
|
||||||
.filter((poolId) => typeof poolId === 'string') as string[]
|
.filter((poolId) => typeof poolId === 'string') as string[]
|
||||||
this.getAllPairs()
|
|
||||||
}
|
|
||||||
|
|
||||||
getAllPairs() {
|
|
||||||
const assets = getEnabledMarketAssets()
|
|
||||||
const pairs: Set<string> = new Set()
|
|
||||||
assets.forEach((asset1) => {
|
|
||||||
assets.forEach((asset2) => {
|
|
||||||
if (asset1.symbol === asset2.symbol) return
|
|
||||||
pairs.add(`${asset1.denom}${PAIR_SEPARATOR}${asset2.denom}`)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
this.pairs = Array.from(pairs)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getDescription(pairName: string) {
|
getDescription(pairName: string) {
|
||||||
@ -102,6 +98,7 @@ export class OsmosisTheGraphDataFeed implements IDatafeedChartApi {
|
|||||||
})
|
})
|
||||||
.then((res) => res.json())
|
.then((res) => res.json())
|
||||||
.then((json) => {
|
.then((json) => {
|
||||||
|
this.pairs = json.data.pairs
|
||||||
this.pairsWithData = json.data.pairs.map(
|
this.pairsWithData = json.data.pairs.map(
|
||||||
(pair: { baseAsset: string; quoteAsset: string }) => {
|
(pair: { baseAsset: string; quoteAsset: string }) => {
|
||||||
return `${pair.baseAsset}${PAIR_SEPARATOR}${pair.quoteAsset}`
|
return `${pair.baseAsset}${PAIR_SEPARATOR}${pair.quoteAsset}`
|
||||||
@ -125,19 +122,22 @@ export class OsmosisTheGraphDataFeed implements IDatafeedChartApi {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async resolveSymbol(pairName: string, onResolve: ResolveCallback, onError: ErrorCallback) {
|
resolveSymbol(pairName: string, onResolve: ResolveCallback, onError: ErrorCallback) {
|
||||||
setTimeout(() =>
|
pairName = this.getPairName(pairName)
|
||||||
onResolve({
|
setTimeout(() => {
|
||||||
|
const info: LibrarySymbolInfo = {
|
||||||
...defaultSymbolInfo,
|
...defaultSymbolInfo,
|
||||||
name: this.getDescription(pairName),
|
name: this.getDescription(pairName),
|
||||||
full_name: pairName,
|
full_name: this.getDescription(pairName),
|
||||||
description: this.getDescription(pairName),
|
description: this.getDescription(pairName),
|
||||||
ticker: this.getDescription(pairName),
|
ticker: this.getDescription(pairName),
|
||||||
exchange: this.exchangeName,
|
exchange: this.exchangeName,
|
||||||
listed_exchange: this.exchangeName,
|
listed_exchange: this.exchangeName,
|
||||||
supported_resolutions: this.supportedResolutions,
|
supported_resolutions: this.supportedResolutions,
|
||||||
}),
|
base_name: [this.getDescription(pairName)],
|
||||||
)
|
} as LibrarySymbolInfo
|
||||||
|
onResolve(info)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async getBars(
|
async getBars(
|
||||||
@ -148,16 +148,37 @@ export class OsmosisTheGraphDataFeed implements IDatafeedChartApi {
|
|||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const interval = this.intervals[resolution]
|
const interval = this.intervals[resolution]
|
||||||
|
|
||||||
let pair1 = symbolInfo.full_name
|
let pair1 = this.getPairName(symbolInfo.full_name)
|
||||||
let pair2: string = ''
|
let pair2: string = ''
|
||||||
|
let pair3: string = ''
|
||||||
|
|
||||||
if (!this.pairsWithData.includes(pair1)) {
|
if (!this.pairsWithData.includes(pair1)) {
|
||||||
if (this.debug) console.log('Pair does not have data, need to combine with 2nd pair')
|
if (this.debug) console.log('Pair does not have data, need to combine with other pairs')
|
||||||
|
|
||||||
const [buyAssetDenom, sellAssetDenom] = pair1.split(PAIR_SEPARATOR)
|
const [buyAssetDenom, sellAssetDenom] = pair1.split(PAIR_SEPARATOR)
|
||||||
|
|
||||||
pair1 = `${buyAssetDenom}${PAIR_SEPARATOR}${this.baseDenom}`
|
const pair1Pools = this.pairs.filter((pair) => pair.baseAsset === buyAssetDenom)
|
||||||
pair2 = `${this.baseDenom}${PAIR_SEPARATOR}${sellAssetDenom}`
|
const pair2Pools = this.pairs.filter((pair) => pair.quoteAsset === sellAssetDenom)
|
||||||
|
|
||||||
|
const matchedPools = pair1Pools.filter((pool) => {
|
||||||
|
const asset = pool.quoteAsset
|
||||||
|
return !!pair2Pools.find((pool) => pool.baseAsset === asset)
|
||||||
|
})
|
||||||
|
|
||||||
|
if (matchedPools.length) {
|
||||||
|
pair1 = `${buyAssetDenom}${PAIR_SEPARATOR}${matchedPools[0].quoteAsset}`
|
||||||
|
pair2 = `${matchedPools[0].quoteAsset}${PAIR_SEPARATOR}${sellAssetDenom}`
|
||||||
|
} else {
|
||||||
|
const middlePair = this.pairs.filter(
|
||||||
|
(pair) =>
|
||||||
|
pair1Pools.map((pairs) => pairs.quoteAsset).includes(pair.baseAsset) &&
|
||||||
|
pair2Pools.map((pairs) => pairs.baseAsset).includes(pair.quoteAsset),
|
||||||
|
)
|
||||||
|
|
||||||
|
pair1 = `${buyAssetDenom}${PAIR_SEPARATOR}${middlePair[0].baseAsset}`
|
||||||
|
pair2 = `${middlePair[0].baseAsset}${PAIR_SEPARATOR}${middlePair[0].quoteAsset}`
|
||||||
|
pair3 = `${middlePair[0].quoteAsset}${PAIR_SEPARATOR}${sellAssetDenom}`
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const pair1Bars = this.queryBarData(
|
const pair1Bars = this.queryBarData(
|
||||||
@ -176,13 +197,44 @@ export class OsmosisTheGraphDataFeed implements IDatafeedChartApi {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
await Promise.all([pair1Bars, pair2Bars]).then(([pair1Bars, pair2Bars]) => {
|
let pair3Bars: Promise<Bar[]> | null = null
|
||||||
|
|
||||||
|
if (pair3) {
|
||||||
|
pair3Bars = this.queryBarData(
|
||||||
|
pair3.split(PAIR_SEPARATOR)[0],
|
||||||
|
pair3.split(PAIR_SEPARATOR)[1],
|
||||||
|
interval,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
await Promise.all([pair1Bars, pair2Bars, pair3Bars]).then(
|
||||||
|
([pair1Bars, pair2Bars, pair3Bars]) => {
|
||||||
let bars = pair1Bars
|
let bars = pair1Bars
|
||||||
|
|
||||||
|
if (!bars.length) {
|
||||||
|
onResult([], { noData: true })
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if (pair2Bars) {
|
if (pair2Bars) {
|
||||||
bars = this.combineBars(pair1Bars, pair2Bars)
|
bars = this.combineBars(pair1Bars, pair2Bars)
|
||||||
}
|
}
|
||||||
onResult(bars)
|
if (pair3Bars) {
|
||||||
})
|
bars = this.combineBars(bars, pair3Bars)
|
||||||
|
}
|
||||||
|
|
||||||
|
const filler = Array.from({ length: this.batchSize - bars.length }).map((_, index) => ({
|
||||||
|
time: (bars[0]?.time || new Date().getTime()) - index * this.minutesPerInterval[resolution],
|
||||||
|
close: 0,
|
||||||
|
open: 0,
|
||||||
|
high: 0,
|
||||||
|
low: 0,
|
||||||
|
volume: 0,
|
||||||
|
}))
|
||||||
|
|
||||||
|
onResult([...filler, ...bars])
|
||||||
|
},
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
async queryBarData(quote: string, base: string, interval: string): Promise<Bar[]> {
|
async queryBarData(quote: string, base: string, interval: string): Promise<Bar[]> {
|
||||||
@ -258,6 +310,16 @@ export class OsmosisTheGraphDataFeed implements IDatafeedChartApi {
|
|||||||
return bars
|
return bars
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getPairName(name: string) {
|
||||||
|
if (name.includes(PAIR_SEPARATOR)) return name
|
||||||
|
|
||||||
|
const [symbol1, symbol2] = name.split('/')
|
||||||
|
|
||||||
|
const asset1 = ASSETS.find((asset) => asset.symbol === symbol1)
|
||||||
|
const asset2 = ASSETS.find((asset) => asset.symbol === symbol2)
|
||||||
|
return `${asset1?.denom}${PAIR_SEPARATOR}${asset2?.denom}`
|
||||||
|
}
|
||||||
|
|
||||||
searchSymbols(): void {
|
searchSymbols(): void {
|
||||||
// Don't allow to search for symbols
|
// Don't allow to search for symbols
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import {
|
import {
|
||||||
ChartingLibraryFeatureset,
|
ChartingLibraryFeatureset,
|
||||||
|
LibrarySymbolInfo,
|
||||||
ResolutionString,
|
ResolutionString,
|
||||||
SeriesFormat,
|
SeriesFormat,
|
||||||
Timezone,
|
Timezone,
|
||||||
@ -26,7 +27,7 @@ export const overrides = {
|
|||||||
'linetooltrendline.linewidth': 2,
|
'linetooltrendline.linewidth': 2,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const defaultSymbolInfo = {
|
export const defaultSymbolInfo: Partial<LibrarySymbolInfo> = {
|
||||||
listed_exchange: 'Osmosis',
|
listed_exchange: 'Osmosis',
|
||||||
type: 'AMM',
|
type: 'AMM',
|
||||||
session: '24x7',
|
session: '24x7',
|
||||||
@ -35,7 +36,7 @@ export const defaultSymbolInfo = {
|
|||||||
timezone: 'Etc/UTC' as Timezone,
|
timezone: 'Etc/UTC' as Timezone,
|
||||||
has_intraday: true,
|
has_intraday: true,
|
||||||
has_daily: true,
|
has_daily: true,
|
||||||
has_weekly_and_monthly: true,
|
has_weekly_and_monthly: false,
|
||||||
format: 'price' as SeriesFormat,
|
format: 'price' as SeriesFormat,
|
||||||
supported_resolutions: ['15'] as ResolutionString[],
|
supported_resolutions: ['15'] as ResolutionString[],
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import classNames from 'classnames'
|
import classNames from 'classnames'
|
||||||
|
import { useMemo } from 'react'
|
||||||
|
|
||||||
import { ChevronDown } from 'components/Icons'
|
import { ChevronDown } from 'components/Icons'
|
||||||
import Text from 'components/Text'
|
import Text from 'components/Text'
|
||||||
import AssetItem from 'components/Trade/TradeModule/AssetSelector/AssetItem'
|
import AssetItem from 'components/Trade/TradeModule/AssetSelector/AssetItem'
|
||||||
import useCurrentAccount from 'hooks/useCurrentAccount'
|
import useCurrentAccount from 'hooks/useCurrentAccount'
|
||||||
import useMarketAssets from 'hooks/useMarketAssets'
|
import useMarketAssets from 'hooks/useMarketAssets'
|
||||||
import { useMemo } from 'react'
|
|
||||||
import { getMergedBalancesForAsset } from 'utils/accounts'
|
import { getMergedBalancesForAsset } from 'utils/accounts'
|
||||||
import { byDenom } from 'utils/array'
|
import { byDenom } from 'utils/array'
|
||||||
import { getEnabledMarketAssets } from 'utils/assets'
|
import { getEnabledMarketAssets } from 'utils/assets'
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
import { CosmWasmClient } from '@cosmjs/cosmwasm-stargate'
|
import { CosmWasmClient } from '@cosmjs/cosmwasm-stargate'
|
||||||
import { useShuttle } from '@delphi-labs/shuttle-react'
|
import {
|
||||||
import { useCallback, useEffect, useMemo } from 'react'
|
useShuttle,
|
||||||
|
WalletExtensionProvider,
|
||||||
|
WalletMobileProvider,
|
||||||
|
} from '@delphi-labs/shuttle-react'
|
||||||
|
import { useCallback, useEffect, useMemo, useRef } from 'react'
|
||||||
|
|
||||||
import { CircularProgress } from 'components/CircularProgress'
|
import { CircularProgress } from 'components/CircularProgress'
|
||||||
import FullOverlayContent from 'components/FullOverlayContent'
|
import FullOverlayContent from 'components/FullOverlayContent'
|
||||||
@ -38,15 +42,21 @@ export default function WalletConnecting(props: Props) {
|
|||||||
)
|
)
|
||||||
const [isConnecting, setIsConnecting] = useToggle()
|
const [isConnecting, setIsConnecting] = useToggle()
|
||||||
const providerId = props.providerId ?? recentWallet?.providerId
|
const providerId = props.providerId ?? recentWallet?.providerId
|
||||||
|
const refTimer = useRef<number | null>(null)
|
||||||
const isAutoConnect = props.autoConnect
|
const isAutoConnect = props.autoConnect
|
||||||
const client = useStore((s) => s.client)
|
const client = useStore((s) => s.client)
|
||||||
const address = useStore((s) => s.address)
|
const address = useStore((s) => s.address)
|
||||||
|
|
||||||
|
const clearTimer = useCallback(() => {
|
||||||
|
if (refTimer.current !== null) window.clearTimeout(refTimer.current)
|
||||||
|
}, [refTimer])
|
||||||
|
|
||||||
const handleConnect = useCallback(
|
const handleConnect = useCallback(
|
||||||
(extensionProviderId: string) => {
|
(extensionProviderId: string) => {
|
||||||
async function handleConnectAsync() {
|
async function handleConnectAsync() {
|
||||||
if (client || isConnecting) return
|
if (client || isConnecting) return
|
||||||
setIsConnecting(true)
|
setIsConnecting(true)
|
||||||
|
clearTimer()
|
||||||
try {
|
try {
|
||||||
const response = await connect({ extensionProviderId, chainId: currentChainId })
|
const response = await connect({ extensionProviderId, chainId: currentChainId })
|
||||||
const cosmClient = await CosmWasmClient.connect(response.network.rpc)
|
const cosmClient = await CosmWasmClient.connect(response.network.rpc)
|
||||||
@ -70,7 +80,6 @@ export default function WalletConnecting(props: Props) {
|
|||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
setIsConnecting(false)
|
setIsConnecting(false)
|
||||||
if (isAutoConnect) return
|
|
||||||
if (error instanceof Error) {
|
if (error instanceof Error) {
|
||||||
useStore.setState({
|
useStore.setState({
|
||||||
client: undefined,
|
client: undefined,
|
||||||
@ -92,7 +101,15 @@ export default function WalletConnecting(props: Props) {
|
|||||||
}
|
}
|
||||||
if (!isConnecting) handleConnectAsync()
|
if (!isConnecting) handleConnectAsync()
|
||||||
},
|
},
|
||||||
[broadcast, connect, client, isAutoConnect, isConnecting, setIsConnecting, sign, simulate],
|
[broadcast, connect, client, isConnecting, setIsConnecting, sign, simulate, clearTimer],
|
||||||
|
)
|
||||||
|
|
||||||
|
const startTimer = useCallback(
|
||||||
|
(provider?: WalletMobileProvider | WalletExtensionProvider) => {
|
||||||
|
if (refTimer.current !== null || !window) return
|
||||||
|
refTimer.current = window.setTimeout(() => handleConnect(provider?.id ?? ''), 5000)
|
||||||
|
},
|
||||||
|
[refTimer, handleConnect],
|
||||||
)
|
)
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -102,10 +119,25 @@ export default function WalletConnecting(props: Props) {
|
|||||||
!provider.initialized ||
|
!provider.initialized ||
|
||||||
isConnecting ||
|
isConnecting ||
|
||||||
(recentWallet && recentWallet.account.address === address)
|
(recentWallet && recentWallet.account.address === address)
|
||||||
)
|
) {
|
||||||
|
if (isAutoConnect) startTimer(provider)
|
||||||
return
|
return
|
||||||
|
}
|
||||||
|
|
||||||
handleConnect(provider.id)
|
handleConnect(provider.id)
|
||||||
}, [handleConnect, isConnecting, providerId, providers, recentWallet, address])
|
|
||||||
|
return () => clearTimer()
|
||||||
|
}, [
|
||||||
|
handleConnect,
|
||||||
|
isConnecting,
|
||||||
|
providerId,
|
||||||
|
providers,
|
||||||
|
recentWallet,
|
||||||
|
address,
|
||||||
|
isAutoConnect,
|
||||||
|
startTimer,
|
||||||
|
clearTimer,
|
||||||
|
])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<FullOverlayContent
|
<FullOverlayContent
|
||||||
|
@ -138,7 +138,7 @@ export default function WalletSelect(props: Props) {
|
|||||||
return (
|
return (
|
||||||
<FullOverlayContent
|
<FullOverlayContent
|
||||||
title={'Connect your wallet'}
|
title={'Connect your wallet'}
|
||||||
copy={`Deposit assets from your ${currentChain.name} address to your Mars credit account.`}
|
copy={`Deposit assets from your ${currentChain.name} address to your Mars Credit Account.`}
|
||||||
docs='wallet'
|
docs='wallet'
|
||||||
>
|
>
|
||||||
<div className='flex flex-wrap w-full gap-3'>
|
<div className='flex flex-wrap w-full gap-3'>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { useShuttle } from '@delphi-labs/shuttle-react'
|
||||||
import { useEffect } from 'react'
|
import { useEffect } from 'react'
|
||||||
|
|
||||||
import WalletConnectButton from 'components/Wallet/WalletConnectButton'
|
import WalletConnectButton from 'components/Wallet/WalletConnectButton'
|
||||||
@ -7,6 +8,7 @@ import useCurrentWallet from 'hooks/useCurrentWallet'
|
|||||||
import useStore from 'store'
|
import useStore from 'store'
|
||||||
|
|
||||||
export default function Wallet() {
|
export default function Wallet() {
|
||||||
|
const { disconnectWallet } = useShuttle()
|
||||||
const currentWallet = useCurrentWallet()
|
const currentWallet = useCurrentWallet()
|
||||||
const address = useStore((s) => s.address)
|
const address = useStore((s) => s.address)
|
||||||
const focusComponent = useStore((s) => s.focusComponent)
|
const focusComponent = useStore((s) => s.focusComponent)
|
||||||
@ -19,9 +21,19 @@ export default function Wallet() {
|
|||||||
client: undefined,
|
client: undefined,
|
||||||
focusComponent: {
|
focusComponent: {
|
||||||
component: <WalletConnecting autoConnect />,
|
component: <WalletConnecting autoConnect />,
|
||||||
|
onClose: () => {
|
||||||
|
disconnectWallet(currentWallet)
|
||||||
|
useStore.setState({
|
||||||
|
client: undefined,
|
||||||
|
address: undefined,
|
||||||
|
accounts: null,
|
||||||
|
balances: [],
|
||||||
|
focusComponent: null,
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}, [currentWallet, address, focusComponent])
|
}, [currentWallet, address, focusComponent, disconnectWallet])
|
||||||
|
|
||||||
return address ? <WalletConnectedButton /> : <WalletConnectButton />
|
return address ? <WalletConnectedButton /> : <WalletConnectButton />
|
||||||
}
|
}
|
||||||
|
@ -4,8 +4,8 @@ import { ChainInfoID } from 'types/enums/wallet'
|
|||||||
|
|
||||||
export const CHAINS: ChainInfos = {
|
export const CHAINS: ChainInfos = {
|
||||||
[ChainInfoID.Osmosis1]: {
|
[ChainInfoID.Osmosis1]: {
|
||||||
rpc: 'https://rpc-osmosis.blockapsis.com',
|
rpc: 'https://rpc.osmosis.zone',
|
||||||
rest: 'https://lcd-osmosis.blockapsis.com',
|
rest: 'https://lcd.osmosis.zone',
|
||||||
explorer: 'https://www.mintscan.io/osmosis',
|
explorer: 'https://www.mintscan.io/osmosis',
|
||||||
explorerName: 'Mintscan',
|
explorerName: 'Mintscan',
|
||||||
chainId: ChainInfoID.Osmosis1,
|
chainId: ChainInfoID.Osmosis1,
|
||||||
|
283
yarn.lock
283
yarn.lock
@ -2470,38 +2470,38 @@
|
|||||||
"@jridgewell/resolve-uri" "3.1.0"
|
"@jridgewell/resolve-uri" "3.1.0"
|
||||||
"@jridgewell/sourcemap-codec" "1.4.14"
|
"@jridgewell/sourcemap-codec" "1.4.14"
|
||||||
|
|
||||||
"@keplr-wallet/common@0.12.28":
|
"@keplr-wallet/common@0.12.32":
|
||||||
version "0.12.28"
|
version "0.12.32"
|
||||||
resolved "https://registry.yarnpkg.com/@keplr-wallet/common/-/common-0.12.28.tgz#1d5d985070aced31a34a6426c9ac4b775081acca"
|
resolved "https://registry.yarnpkg.com/@keplr-wallet/common/-/common-0.12.32.tgz#3dab2ddf58943fb457e9ded76262ea4c5c262201"
|
||||||
integrity sha512-ESQorPZw8PRiUXhsrxED+E1FEWkAdc6Kwi3Az7ce204gMBQDI2j0XJtTd4uCUp+C24Em9fk0samdHzdoB4caIg==
|
integrity sha512-GWMsuk4Sam/QXwNHbJ8sOTB1piRHMZMkMaZEdIVbWUDFn0Dun6gRD4hrDSAUohgPCcJ5Vk350eCf6P2q1KhWbQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@keplr-wallet/crypto" "0.12.28"
|
"@keplr-wallet/crypto" "0.12.32"
|
||||||
"@keplr-wallet/types" "0.12.28"
|
"@keplr-wallet/types" "0.12.32"
|
||||||
buffer "^6.0.3"
|
buffer "^6.0.3"
|
||||||
delay "^4.4.0"
|
delay "^4.4.0"
|
||||||
mobx "^6.1.7"
|
mobx "^6.1.7"
|
||||||
|
|
||||||
"@keplr-wallet/cosmos@^0.12.28":
|
"@keplr-wallet/cosmos@^0.12.32":
|
||||||
version "0.12.28"
|
version "0.12.32"
|
||||||
resolved "https://registry.yarnpkg.com/@keplr-wallet/cosmos/-/cosmos-0.12.28.tgz#d56e73468256e7276a66bb41f145449dbf11efa1"
|
resolved "https://registry.yarnpkg.com/@keplr-wallet/cosmos/-/cosmos-0.12.32.tgz#2a3f5765ede059d87dbda7b20de69c9bb0312a13"
|
||||||
integrity sha512-IuqmSBgKgIeWBA0XGQKKs28IXFeFMCrfadCbtiZccNc7qnNr5Y/Cyyk01BPC8Dd1ZyEyAByoICgrxvtGN0GGvA==
|
integrity sha512-gB90blTgvMhRi7yGk0onGd1Q+g3KmyQYakARjieT7zG3nhNe2eB+xMcGlPlmzCsbEb/7Olkx55s9DfnbMHJMDA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/address" "^5.6.0"
|
"@ethersproject/address" "^5.6.0"
|
||||||
"@keplr-wallet/common" "0.12.28"
|
"@keplr-wallet/common" "0.12.32"
|
||||||
"@keplr-wallet/crypto" "0.12.28"
|
"@keplr-wallet/crypto" "0.12.32"
|
||||||
"@keplr-wallet/proto-types" "0.12.28"
|
"@keplr-wallet/proto-types" "0.12.32"
|
||||||
"@keplr-wallet/simple-fetch" "0.12.28"
|
"@keplr-wallet/simple-fetch" "0.12.32"
|
||||||
"@keplr-wallet/types" "0.12.28"
|
"@keplr-wallet/types" "0.12.32"
|
||||||
"@keplr-wallet/unit" "0.12.28"
|
"@keplr-wallet/unit" "0.12.32"
|
||||||
bech32 "^1.1.4"
|
bech32 "^1.1.4"
|
||||||
buffer "^6.0.3"
|
buffer "^6.0.3"
|
||||||
long "^4.0.0"
|
long "^4.0.0"
|
||||||
protobufjs "^6.11.2"
|
protobufjs "^6.11.2"
|
||||||
|
|
||||||
"@keplr-wallet/crypto@0.12.28":
|
"@keplr-wallet/crypto@0.12.32":
|
||||||
version "0.12.28"
|
version "0.12.32"
|
||||||
resolved "https://registry.yarnpkg.com/@keplr-wallet/crypto/-/crypto-0.12.28.tgz#28410ba1f707fa5a1506f111f6fd8baf071c394d"
|
resolved "https://registry.yarnpkg.com/@keplr-wallet/crypto/-/crypto-0.12.32.tgz#a8c12ae48372ac73c84dd4fcba91b5e0e651342c"
|
||||||
integrity sha512-le1je+78/4213qshSMgQTYqhCCvzsL9+YfhjXg1kd/ali69MLWK8L8Z09ducHPS6C+LqQXXTNJQpbH2uiFSd5w==
|
integrity sha512-BpsznV8qiStvoq/KAQEC/NDAVP6qL/gblNB7aF0m9DaFYHC42tj4CPK65DejCeMOZB217ACRXHKZRhrwg913gQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/keccak256" "^5.5.0"
|
"@ethersproject/keccak256" "^5.5.0"
|
||||||
bip32 "^2.0.6"
|
bip32 "^2.0.6"
|
||||||
@ -2512,32 +2512,32 @@
|
|||||||
elliptic "^6.5.3"
|
elliptic "^6.5.3"
|
||||||
sha.js "^2.4.11"
|
sha.js "^2.4.11"
|
||||||
|
|
||||||
"@keplr-wallet/proto-types@0.12.28":
|
"@keplr-wallet/proto-types@0.12.32":
|
||||||
version "0.12.28"
|
version "0.12.32"
|
||||||
resolved "https://registry.yarnpkg.com/@keplr-wallet/proto-types/-/proto-types-0.12.28.tgz#2fb2c37749ce7db974f01d07387e966c9b99027d"
|
resolved "https://registry.yarnpkg.com/@keplr-wallet/proto-types/-/proto-types-0.12.32.tgz#313517d0dd7b3561d52c75315a95d1e6db438a0c"
|
||||||
integrity sha512-ukti/eCTltPUP64jxtk5TjtwJogyfKPqlBIT3KGUCGzBLIPeYMsffL5w5aoHsMjINzOITjYqzXyEF8LTIK/fmw==
|
integrity sha512-wlB6L2/+rn+yr4I6ow91HtUGPn6gh1uosvhcwI/66vB9g+OtCRg0dFz+ZkL5/ZPpzWLFSDfPt50aAxXW3oN3Pg==
|
||||||
dependencies:
|
dependencies:
|
||||||
long "^4.0.0"
|
long "^4.0.0"
|
||||||
protobufjs "^6.11.2"
|
protobufjs "^6.11.2"
|
||||||
|
|
||||||
"@keplr-wallet/simple-fetch@0.12.28":
|
"@keplr-wallet/simple-fetch@0.12.32":
|
||||||
version "0.12.28"
|
version "0.12.32"
|
||||||
resolved "https://registry.yarnpkg.com/@keplr-wallet/simple-fetch/-/simple-fetch-0.12.28.tgz#44225df5b329c823076280df1ec9930a21b1373e"
|
resolved "https://registry.yarnpkg.com/@keplr-wallet/simple-fetch/-/simple-fetch-0.12.32.tgz#641418bb38875642b11cc45033f57a3e937b3414"
|
||||||
integrity sha512-T2CiKS2B5n0ZA7CWw0CA6qIAH0XYI1siE50MP+i+V0ZniCGBeL+BMcDw64vFJUcEH+1L5X4sDAzV37fQxGwllA==
|
integrity sha512-bSCb4oho4VKrCkQOHBrkrMji/jvU+CQ7Lugw4bAzyn5EvPPR7Yx1GZ295r/KQwphUdOHhzfTovE8GeyTIvKI0Q==
|
||||||
|
|
||||||
"@keplr-wallet/types@0.12.28":
|
"@keplr-wallet/types@0.12.32":
|
||||||
version "0.12.28"
|
version "0.12.32"
|
||||||
resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.12.28.tgz#eac3c2c9d4560856c5c403a87e67925992a04fbf"
|
resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.12.32.tgz#6141500f7387cde0512d4f87cab3686ee9f67db3"
|
||||||
integrity sha512-EcM9d46hYDm3AO4lf4GUbTSLRySONtTmhKb7p88q56OQOgJN3MMjRacEo2p9jX9gpPe7gRIjMUalhAfUiFpZoQ==
|
integrity sha512-uxTz2Tidmob12dy0Hp+posGkm9WFW5sFSpVenIX6geRIfJwgpApDWZ1oD4NtRPy8s5aa51DirJceSuIYz+fx1g==
|
||||||
dependencies:
|
dependencies:
|
||||||
long "^4.0.0"
|
long "^4.0.0"
|
||||||
|
|
||||||
"@keplr-wallet/unit@0.12.28":
|
"@keplr-wallet/unit@0.12.32":
|
||||||
version "0.12.28"
|
version "0.12.32"
|
||||||
resolved "https://registry.yarnpkg.com/@keplr-wallet/unit/-/unit-0.12.28.tgz#907c7fa0b49a729cda207fca14fc0a38871cc6c4"
|
resolved "https://registry.yarnpkg.com/@keplr-wallet/unit/-/unit-0.12.32.tgz#b5d16599f0fb944ba82558a546f7ce706877b0b3"
|
||||||
integrity sha512-kpXigHDBJGOmhtPkv9hqsQid9zkFo7OQPeKgO2n8GUlOINIXW6kWG5LXYTi/Yg9Uiw1CQF69gFMuZCJ8IzVHlA==
|
integrity sha512-ipaUV0RtUjn3W9ULIhndXwq0tz7mWwGSg1iTZgNbBSBT/5Q14ZjS+U6wvZY5oFg1pmHyQSXzEhlRQFtfzA35Gg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@keplr-wallet/types" "0.12.28"
|
"@keplr-wallet/types" "0.12.32"
|
||||||
big-integer "^1.6.48"
|
big-integer "^1.6.48"
|
||||||
utility-types "^3.10.0"
|
utility-types "^3.10.0"
|
||||||
|
|
||||||
@ -2564,62 +2564,62 @@
|
|||||||
tweetnacl "^1.0.3"
|
tweetnacl "^1.0.3"
|
||||||
tweetnacl-util "^0.15.1"
|
tweetnacl-util "^0.15.1"
|
||||||
|
|
||||||
"@next/env@13.5.3":
|
"@next/env@13.5.4":
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/@next/env/-/env-13.5.3.tgz#402da9a0af87f93d853519f0c2a602b1ab637c2c"
|
resolved "https://registry.yarnpkg.com/@next/env/-/env-13.5.4.tgz#777c3af16de2cf2f611b6c8126910062d13d222c"
|
||||||
integrity sha512-X4te86vsbjsB7iO4usY9jLPtZ827Mbx+WcwNBGUOIuswuTAKQtzsuoxc/6KLxCMvogKG795MhrR1LDhYgDvasg==
|
integrity sha512-LGegJkMvRNw90WWphGJ3RMHMVplYcOfRWf2Be3td3sUa+1AaxmsYyANsA+znrGCBjXJNi4XAQlSoEfUxs/4kIQ==
|
||||||
|
|
||||||
"@next/eslint-plugin-next@13.5.3":
|
"@next/eslint-plugin-next@13.5.4":
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.3.tgz#585fca48fb5f969825ad57f05c0a627fd4662dda"
|
resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.4.tgz#ec70af509f07dc4e545df25834ac94d2c341c36a"
|
||||||
integrity sha512-lbZOoEjzSuTtpk9UgV9rOmxYw+PsSfNR+00mZcInqooiDMZ1u+RqT1YQYLsEZPW1kumZoQe5+exkCBtZ2xn0uw==
|
integrity sha512-vI94U+D7RNgX6XypSyjeFrOzxGlZyxOplU0dVE5norIfZGn/LDjJYPHdvdsR5vN1eRtl6PDAsOHmycFEOljK5A==
|
||||||
dependencies:
|
dependencies:
|
||||||
glob "7.1.7"
|
glob "7.1.7"
|
||||||
|
|
||||||
"@next/swc-darwin-arm64@13.5.3":
|
"@next/swc-darwin-arm64@13.5.4":
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.3.tgz#f72eac8c7b71d33e0768bd3c8baf68b00fea0160"
|
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.4.tgz#241957774fef3f876dc714cfc0ca6f00f561737e"
|
||||||
integrity sha512-6hiYNJxJmyYvvKGrVThzo4nTcqvqUTA/JvKim7Auaj33NexDqSNwN5YrrQu+QhZJCIpv2tULSHt+lf+rUflLSw==
|
integrity sha512-Df8SHuXgF1p+aonBMcDPEsaahNo2TCwuie7VXED4FVyECvdXfRT9unapm54NssV9tF3OQFKBFOdlje4T43VO0w==
|
||||||
|
|
||||||
"@next/swc-darwin-x64@13.5.3":
|
"@next/swc-darwin-x64@13.5.4":
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.3.tgz#96eda3a1247a713579eb241d76d3f503291c8938"
|
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.4.tgz#fa11bb97bf06cd45cbd554354b46bf93e22c025b"
|
||||||
integrity sha512-UpBKxu2ob9scbpJyEq/xPgpdrgBgN3aLYlxyGqlYX5/KnwpJpFuIHU2lx8upQQ7L+MEmz+fA1XSgesoK92ppwQ==
|
integrity sha512-siPuUwO45PnNRMeZnSa8n/Lye5ZX93IJom9wQRB5DEOdFrw0JjOMu1GINB8jAEdwa7Vdyn1oJ2xGNaQpdQQ9Pw==
|
||||||
|
|
||||||
"@next/swc-linux-arm64-gnu@13.5.3":
|
"@next/swc-linux-arm64-gnu@13.5.4":
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.3.tgz#132e155a029310fffcdfd3e3c4255f7ce9fd2714"
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.4.tgz#dd3a482cd6871ed23b049066a0f3c4c2f955dc88"
|
||||||
integrity sha512-5AzM7Yx1Ky+oLY6pHs7tjONTF22JirDPd5Jw/3/NazJ73uGB05NqhGhB4SbeCchg7SlVYVBeRMrMSZwJwq/xoA==
|
integrity sha512-l/k/fvRP/zmB2jkFMfefmFkyZbDkYW0mRM/LB+tH5u9pB98WsHXC0WvDHlGCYp3CH/jlkJPL7gN8nkTQVrQ/2w==
|
||||||
|
|
||||||
"@next/swc-linux-arm64-musl@13.5.3":
|
"@next/swc-linux-arm64-musl@13.5.4":
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.3.tgz#981d7d8fdcf040bd0c89588ef4139c28805f5cf1"
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.4.tgz#ed6d7abaf5712cff2752ce5300d6bacc6aff1b18"
|
||||||
integrity sha512-A/C1shbyUhj7wRtokmn73eBksjTM7fFQoY2v/0rTM5wehpkjQRLOXI8WJsag2uLhnZ4ii5OzR1rFPwoD9cvOgA==
|
integrity sha512-YYGb7SlLkI+XqfQa8VPErljb7k9nUnhhRrVaOdfJNCaQnHBcvbT7cx/UjDQLdleJcfyg1Hkn5YSSIeVfjgmkTg==
|
||||||
|
|
||||||
"@next/swc-linux-x64-gnu@13.5.3":
|
"@next/swc-linux-x64-gnu@13.5.4":
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.3.tgz#b8263663acda7b84bc2c4ffa39ca4b0172a78060"
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.4.tgz#977a040388e8a685a3a85e0dbdff90a4ee2a7189"
|
||||||
integrity sha512-FubPuw/Boz8tKkk+5eOuDHOpk36F80rbgxlx4+xty/U71e3wZZxVYHfZXmf0IRToBn1Crb8WvLM9OYj/Ur815g==
|
integrity sha512-uE61vyUSClnCH18YHjA8tE1prr/PBFlBFhxBZis4XBRJoR+txAky5d7gGNUIbQ8sZZ7LVkSVgm/5Fc7mwXmRAg==
|
||||||
|
|
||||||
"@next/swc-linux-x64-musl@13.5.3":
|
"@next/swc-linux-x64-musl@13.5.4":
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.3.tgz#cd0bed8ee92032c25090bed9d95602ac698d925f"
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.4.tgz#3e29a0ad8efc016196c3a120da04397eea328b2a"
|
||||||
integrity sha512-DPw8nFuM1uEpbX47tM3wiXIR0Qa+atSzs9Q3peY1urkhofx44o7E1svnq+a5Q0r8lAcssLrwiM+OyJJgV/oj7g==
|
integrity sha512-qVEKFYML/GvJSy9CfYqAdUexA6M5AklYcQCW+8JECmkQHGoPxCf04iMh7CPR7wkHyWWK+XLt4Ja7hhsPJtSnhg==
|
||||||
|
|
||||||
"@next/swc-win32-arm64-msvc@13.5.3":
|
"@next/swc-win32-arm64-msvc@13.5.4":
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.3.tgz#7f556674ca97e6936220d10c58252cc36522d80a"
|
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.4.tgz#18a236c3fe5a48d24b56d939e6a05488bb682b7e"
|
||||||
integrity sha512-zBPSP8cHL51Gub/YV8UUePW7AVGukp2D8JU93IHbVDu2qmhFAn9LWXiOOLKplZQKxnIPUkJTQAJDCWBWU4UWUA==
|
integrity sha512-mDSQfqxAlfpeZOLPxLymZkX0hYF3juN57W6vFHTvwKlnHfmh12Pt7hPIRLYIShk8uYRsKPtMTth/EzpwRI+u8w==
|
||||||
|
|
||||||
"@next/swc-win32-ia32-msvc@13.5.3":
|
"@next/swc-win32-ia32-msvc@13.5.4":
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.3.tgz#4912721fb8695f11daec4cde42e73dc57bcc479f"
|
resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.4.tgz#255132243ab6fb20d3c7c92a585e2c4fa50368fe"
|
||||||
integrity sha512-ONcL/lYyGUj4W37D4I2I450SZtSenmFAvapkJQNIJhrPMhzDU/AdfLkW98NvH1D2+7FXwe7yclf3+B7v28uzBQ==
|
integrity sha512-aoqAT2XIekIWoriwzOmGFAvTtVY5O7JjV21giozBTP5c6uZhpvTWRbmHXbmsjZqY4HnEZQRXWkSAppsIBweKqw==
|
||||||
|
|
||||||
"@next/swc-win32-x64-msvc@13.5.3":
|
"@next/swc-win32-x64-msvc@13.5.4":
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.3.tgz#97340a709febb60ff73003566b99d127d4e5b881"
|
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.4.tgz#cc542907b55247c5634d9a8298e1c143a1847e25"
|
||||||
integrity sha512-2Vz2tYWaLqJvLcWbbTlJ5k9AN6JD7a5CN2pAeIzpbecK8ZF/yobA39cXtv6e+Z8c5UJuVOmaTldEAIxvsIux/Q==
|
integrity sha512-cyRvlAxwlddlqeB9xtPSfNSCRy8BOa4wtMo0IuI9P7Y0XT2qpDrpFKRyZ7kUngZis59mPVla5k8X1oOJ8RxDYg==
|
||||||
|
|
||||||
"@noble/curves@1.1.0", "@noble/curves@~1.1.0":
|
"@noble/curves@1.1.0", "@noble/curves@~1.1.0":
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
@ -3026,10 +3026,10 @@
|
|||||||
lodash.debounce "^4.0.8"
|
lodash.debounce "^4.0.8"
|
||||||
react-merge-refs "^2.0.1"
|
react-merge-refs "^2.0.1"
|
||||||
|
|
||||||
"@splinetool/runtime@^0.9.473":
|
"@splinetool/runtime@^0.9.477":
|
||||||
version "0.9.473"
|
version "0.9.477"
|
||||||
resolved "https://registry.yarnpkg.com/@splinetool/runtime/-/runtime-0.9.473.tgz#923f76f5c7490b42ad1e605784b8ead69dd3bd39"
|
resolved "https://registry.yarnpkg.com/@splinetool/runtime/-/runtime-0.9.477.tgz#62ce32197cb4671bc522638addf94baf539eddec"
|
||||||
integrity sha512-6XXp+rI6YHijQyh+gNQPx3HivBO/1Q63AAzaHJr6AteguJsEieIJZI/7bzAoa/NwtPXXnm/+M5brtJ9NtPPlyg==
|
integrity sha512-zb2+zh1uPH4h3EbVYJmoiC9iuD1FmQJGCzifPQICpQ9VSKVk/4wDLgaoCTXqME/kbx5XERkGh+kmOAGTBkOsxQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
on-change "^4.0.0"
|
on-change "^4.0.0"
|
||||||
semver-compare "^1.0.0"
|
semver-compare "^1.0.0"
|
||||||
@ -3281,17 +3281,17 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
tslib "^2.4.0"
|
tslib "^2.4.0"
|
||||||
|
|
||||||
"@tanstack/react-table@^8.10.3":
|
"@tanstack/react-table@^8.10.6":
|
||||||
version "8.10.3"
|
version "8.10.6"
|
||||||
resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.10.3.tgz#d109be13ffca4085336e92b4a856bddc1ddfebd8"
|
resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.10.6.tgz#a8c03cc06ac890bce4404739b9356059c4259dd4"
|
||||||
integrity sha512-Qya1cJ+91arAlW7IRDWksRDnYw28O446jJ/ljkRSc663EaftJoBCAU10M+VV1K6MpCBLrXq1BD5IQc1zj/ZEjA==
|
integrity sha512-D0VEfkIYnIKdy6SHiBNEaMc4SxO+MV7ojaPhRu8jP933/gbMi367+Wul2LxkdovJ5cq6awm0L1+jgxdS/unzIg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@tanstack/table-core" "8.10.3"
|
"@tanstack/table-core" "8.10.6"
|
||||||
|
|
||||||
"@tanstack/table-core@8.10.3":
|
"@tanstack/table-core@8.10.6":
|
||||||
version "8.10.3"
|
version "8.10.6"
|
||||||
resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.10.3.tgz#7f7a0753645e05bb15c97512785abbae7b626ee3"
|
resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.10.6.tgz#c79d145dfc3dc9947a2b1cdac82cd4ec4cef822a"
|
||||||
integrity sha512-hJ55YfJlWbfzRROfcyA/kC1aZr/shsLA8XNAwN8jXylhYWGLnPmiJJISrUfj4dMMWRiFi0xBlnlC7MLH+zSrcw==
|
integrity sha512-9t8brthhAmCBIjzk7fCDa/kPKoLQTtA31l9Ir76jYxciTlHU61r/6gYm69XF9cbg9n88gVL5y7rNpeJ2dc1AFA==
|
||||||
|
|
||||||
"@terra-money/terra.proto@^3.0.5":
|
"@terra-money/terra.proto@^3.0.5":
|
||||||
version "3.0.5"
|
version "3.0.5"
|
||||||
@ -3577,7 +3577,14 @@
|
|||||||
resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz"
|
resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz"
|
||||||
integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
|
integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
|
||||||
|
|
||||||
"@types/react-dom@18.2.11", "@types/react-dom@^18.0.0":
|
"@types/react-dom@18.2.13":
|
||||||
|
version "18.2.13"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.13.tgz#89cd7f9ec8b28c8b6f0392b9591671fb4a9e96b7"
|
||||||
|
integrity sha512-eJIUv7rPP+EC45uNYp/ThhSpE16k22VJUknt5OLoH9tbXoi8bMhwLf5xRuWMywamNbWzhrSmU7IBJfPup1+3fw==
|
||||||
|
dependencies:
|
||||||
|
"@types/react" "*"
|
||||||
|
|
||||||
|
"@types/react-dom@^18.0.0":
|
||||||
version "18.2.11"
|
version "18.2.11"
|
||||||
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.11.tgz#4332c315544698a0875dfdb6e320dda59e1b3d58"
|
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.11.tgz#4332c315544698a0875dfdb6e320dda59e1b3d58"
|
||||||
integrity sha512-zq6Dy0EiCuF9pWFW6I6k6W2LdpUixLE4P6XjXU1QHLfak3GPACQfLwEuHzY5pOYa4hzj1d0GxX/P141aFjZsyg==
|
integrity sha512-zq6Dy0EiCuF9pWFW6I6k6W2LdpUixLE4P6XjXU1QHLfak3GPACQfLwEuHzY5pOYa4hzj1d0GxX/P141aFjZsyg==
|
||||||
@ -3591,10 +3598,19 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@types/react" "*"
|
"@types/react" "*"
|
||||||
|
|
||||||
"@types/react@*", "@types/react@18.2.23":
|
"@types/react@*":
|
||||||
version "18.2.23"
|
version "18.2.27"
|
||||||
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.23.tgz#60ad6cf4895e93bed858db0e03bcc4ff97d0410e"
|
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.27.tgz#746e52b06f3ccd5d7a724fd53769b70792601440"
|
||||||
integrity sha512-qHLW6n1q2+7KyBEYnrZpcsAmU/iiCh9WGCKgXvMxx89+TYdJWRjZohVIo9XTcoLhfX3+/hP0Pbulu3bCZQ9PSA==
|
integrity sha512-Wfv7B7FZiR2r3MIqbAlXoY1+tXm4bOqfz4oRr+nyXdBqapDBZ0l/IGcSlAfvxIHEEJjkPU0MYAc/BlFPOcrgLw==
|
||||||
|
dependencies:
|
||||||
|
"@types/prop-types" "*"
|
||||||
|
"@types/scheduler" "*"
|
||||||
|
csstype "^3.0.2"
|
||||||
|
|
||||||
|
"@types/react@18.2.28":
|
||||||
|
version "18.2.28"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.28.tgz#86877465c0fcf751659a36c769ecedfcfacee332"
|
||||||
|
integrity sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/prop-types" "*"
|
"@types/prop-types" "*"
|
||||||
"@types/scheduler" "*"
|
"@types/scheduler" "*"
|
||||||
@ -5554,12 +5570,12 @@ escodegen@^2.0.0:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
source-map "~0.6.1"
|
source-map "~0.6.1"
|
||||||
|
|
||||||
eslint-config-next@^13.5.3:
|
eslint-config-next@^13.5.4:
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-13.5.3.tgz#f1ff64e4a5b55ce52ef0ab0ea85de04fd581b956"
|
resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-13.5.4.tgz#e50bb157d8346b63426f4b36bf53c2e46ccbc938"
|
||||||
integrity sha512-VN2qbCpq2DMWgs7SVF8KTmc8bVaWz3s4nmcFqRLs7PNBt5AXejOhJuZ4zg2sCEHOvz5RvqdwLeI++NSCV6qHVg==
|
integrity sha512-FzQGIj4UEszRX7fcRSJK6L1LrDiVZvDFW320VVntVKh3BSU8Fb9kpaoxQx0cdFgf3MQXdeSbrCXJ/5Z/NndDkQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@next/eslint-plugin-next" "13.5.3"
|
"@next/eslint-plugin-next" "13.5.4"
|
||||||
"@rushstack/eslint-patch" "^1.3.3"
|
"@rushstack/eslint-patch" "^1.3.3"
|
||||||
"@typescript-eslint/parser" "^5.4.2 || ^6.0.0"
|
"@typescript-eslint/parser" "^5.4.2 || ^6.0.0"
|
||||||
eslint-import-resolver-node "^0.3.6"
|
eslint-import-resolver-node "^0.3.6"
|
||||||
@ -5683,7 +5699,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4
|
|||||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
|
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
|
||||||
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
|
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
|
||||||
|
|
||||||
eslint@8.51.0:
|
eslint@^8.51.0:
|
||||||
version "8.51.0"
|
version "8.51.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.51.0.tgz#4a82dae60d209ac89a5cff1604fea978ba4950f3"
|
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.51.0.tgz#4a82dae60d209ac89a5cff1604fea978ba4950f3"
|
||||||
integrity sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==
|
integrity sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==
|
||||||
@ -7748,7 +7764,7 @@ nan@^2.13.2, nan@^2.14.0:
|
|||||||
resolved "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz"
|
resolved "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz"
|
||||||
integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==
|
integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==
|
||||||
|
|
||||||
nanoid@^3.3.4, nanoid@^3.3.6:
|
nanoid@^3.3.6:
|
||||||
version "3.3.6"
|
version "3.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
|
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
|
||||||
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
|
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
|
||||||
@ -7758,29 +7774,28 @@ natural-compare@^1.4.0:
|
|||||||
resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
|
resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
|
||||||
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
|
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
|
||||||
|
|
||||||
next@13.5.3:
|
next@^13.5.4:
|
||||||
version "13.5.3"
|
version "13.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/next/-/next-13.5.3.tgz#631efcbcc9d756c610855d9b94f3d8c4e73ee131"
|
resolved "https://registry.yarnpkg.com/next/-/next-13.5.4.tgz#7e6a93c9c2b9a2c78bf6906a6c5cc73ae02d5b4d"
|
||||||
integrity sha512-4Nt4HRLYDW/yRpJ/QR2t1v63UOMS55A38dnWv3UDOWGezuY0ZyFO1ABNbD7mulVzs9qVhgy2+ppjdsANpKP1mg==
|
integrity sha512-+93un5S779gho8y9ASQhb/bTkQF17FNQOtXLKAj3lsNgltEcF0C5PMLLncDmH+8X1EnJH1kbqAERa29nRXqhjA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@next/env" "13.5.3"
|
"@next/env" "13.5.4"
|
||||||
"@swc/helpers" "0.5.2"
|
"@swc/helpers" "0.5.2"
|
||||||
busboy "1.6.0"
|
busboy "1.6.0"
|
||||||
caniuse-lite "^1.0.30001406"
|
caniuse-lite "^1.0.30001406"
|
||||||
postcss "8.4.14"
|
postcss "8.4.31"
|
||||||
styled-jsx "5.1.1"
|
styled-jsx "5.1.1"
|
||||||
watchpack "2.4.0"
|
watchpack "2.4.0"
|
||||||
zod "3.21.4"
|
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
"@next/swc-darwin-arm64" "13.5.3"
|
"@next/swc-darwin-arm64" "13.5.4"
|
||||||
"@next/swc-darwin-x64" "13.5.3"
|
"@next/swc-darwin-x64" "13.5.4"
|
||||||
"@next/swc-linux-arm64-gnu" "13.5.3"
|
"@next/swc-linux-arm64-gnu" "13.5.4"
|
||||||
"@next/swc-linux-arm64-musl" "13.5.3"
|
"@next/swc-linux-arm64-musl" "13.5.4"
|
||||||
"@next/swc-linux-x64-gnu" "13.5.3"
|
"@next/swc-linux-x64-gnu" "13.5.4"
|
||||||
"@next/swc-linux-x64-musl" "13.5.3"
|
"@next/swc-linux-x64-musl" "13.5.4"
|
||||||
"@next/swc-win32-arm64-msvc" "13.5.3"
|
"@next/swc-win32-arm64-msvc" "13.5.4"
|
||||||
"@next/swc-win32-ia32-msvc" "13.5.3"
|
"@next/swc-win32-ia32-msvc" "13.5.4"
|
||||||
"@next/swc-win32-x64-msvc" "13.5.3"
|
"@next/swc-win32-x64-msvc" "13.5.4"
|
||||||
|
|
||||||
no-case@^3.0.4:
|
no-case@^3.0.4:
|
||||||
version "3.0.4"
|
version "3.0.4"
|
||||||
@ -8211,12 +8226,12 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
|
|||||||
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
|
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
|
||||||
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
|
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
|
||||||
|
|
||||||
postcss@8.4.14:
|
postcss@8.4.31:
|
||||||
version "8.4.14"
|
version "8.4.31"
|
||||||
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz"
|
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
|
||||||
integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
|
integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
nanoid "^3.3.4"
|
nanoid "^3.3.6"
|
||||||
picocolors "^1.0.0"
|
picocolors "^1.0.0"
|
||||||
source-map-js "^1.0.2"
|
source-map-js "^1.0.2"
|
||||||
|
|
||||||
@ -10142,14 +10157,16 @@ zen-observable@0.8.15:
|
|||||||
resolved "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz"
|
resolved "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz"
|
||||||
integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==
|
integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==
|
||||||
|
|
||||||
zod@3.21.4:
|
zustand@^4.3.8:
|
||||||
version "3.21.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/zod/-/zod-3.21.4.tgz#10882231d992519f0a10b5dd58a38c9dabbb64db"
|
|
||||||
integrity sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==
|
|
||||||
|
|
||||||
zustand@^4.3.8, zustand@^4.4.1:
|
|
||||||
version "4.4.1"
|
version "4.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.1.tgz#0cd3a3e4756f21811bd956418fdc686877e8b3b0"
|
resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.1.tgz#0cd3a3e4756f21811bd956418fdc686877e8b3b0"
|
||||||
integrity sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==
|
integrity sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==
|
||||||
dependencies:
|
dependencies:
|
||||||
use-sync-external-store "1.2.0"
|
use-sync-external-store "1.2.0"
|
||||||
|
|
||||||
|
zustand@^4.4.3:
|
||||||
|
version "4.4.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.3.tgz#1d54cf7fa4507ad8bf58e2f13e08ddc8a6730128"
|
||||||
|
integrity sha512-oRy+X3ZazZvLfmv6viIaQmtLOMeij1noakIsK/Y47PWYhT8glfXzQ4j0YcP5i0P0qI1A4rIB//SGROGyZhx91A==
|
||||||
|
dependencies:
|
||||||
|
use-sync-external-store "1.2.0"
|
||||||
|
Loading…
Reference in New Issue
Block a user