Merge branch 'develop' of https://github.com/mars-protocol/mars-v2-frontend into stats-page
# Conflicts: # src/components/Routes.tsx # src/utils/route.ts
This commit is contained in:
commit
160165aa22
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "mars-v2-frontend",
|
"name": "mars-v2-frontend",
|
||||||
"version": "2.0.5",
|
"version": "2.0.6",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "yarn validate-env && next build",
|
"build": "yarn validate-env && next build",
|
||||||
|
@ -7,7 +7,7 @@ interface Props {
|
|||||||
|
|
||||||
export default function Divider(props: Props) {
|
export default function Divider(props: Props) {
|
||||||
if (props.orientation === 'vertical') {
|
if (props.orientation === 'vertical') {
|
||||||
return <div className={classNames('h-full w-[1px] bg-white/10', props.className)}></div>
|
return <div className={classNames(props.className, 'h-full w-[1px] bg-white/10')}></div>
|
||||||
}
|
}
|
||||||
return <div className={classNames('h-[1px] w-full bg-white/10', props.className)}></div>
|
return <div className={classNames('h-[1px] w-full bg-white/10', props.className)}></div>
|
||||||
}
|
}
|
||||||
|
@ -10,12 +10,13 @@ import Settings from 'components/Settings'
|
|||||||
import Wallet from 'components/Wallet'
|
import Wallet from 'components/Wallet'
|
||||||
import useAccountId from 'hooks/useAccountId'
|
import useAccountId from 'hooks/useAccountId'
|
||||||
import useStore from 'store'
|
import useStore from 'store'
|
||||||
|
import { ENABLE_HLS, ENABLE_PERPS } from 'utils/constants'
|
||||||
import { WalletID } from 'types/enums/wallet'
|
import { WalletID } from 'types/enums/wallet'
|
||||||
import { ENABLE_HLS } from 'utils/constants'
|
|
||||||
import { getGovernanceUrl } from 'utils/helpers'
|
import { getGovernanceUrl } from 'utils/helpers'
|
||||||
|
|
||||||
export const menuTree = (walletId: WalletID): MenuTreeEntry[] => [
|
export const menuTree = (walletId: WalletID): MenuTreeEntry[] => [
|
||||||
{ pages: ['trade'], label: 'Trade' },
|
{ pages: ['trade'], label: 'Trade' },
|
||||||
|
...(ENABLE_PERPS ? [{ pages: ['perps'] as Page[], label: 'Perps' }] : []),
|
||||||
{ pages: ['lend', 'farm'], label: 'Earn' },
|
{ pages: ['lend', 'farm'], label: 'Earn' },
|
||||||
{ pages: ['borrow'], label: 'Borrow' },
|
{ pages: ['borrow'], label: 'Borrow' },
|
||||||
...(ENABLE_HLS ? [{ pages: ['hls-staking'] as Page[], label: 'High Leverage' }] : []),
|
...(ENABLE_HLS ? [{ pages: ['hls-staking'] as Page[], label: 'High Leverage' }] : []),
|
||||||
|
@ -68,7 +68,9 @@ export default function MarketDetails({ row, type }: Props) {
|
|||||||
title: 'Oracle Price',
|
title: 'Oracle Price',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
amount: totalBorrowed.dividedBy(marketDepositAmount).multipliedBy(100).toNumber(),
|
amount: totalBorrowed.isZero()
|
||||||
|
? 0
|
||||||
|
: totalBorrowed.dividedBy(marketDepositAmount).multipliedBy(100).toNumber(),
|
||||||
options: { minDecimals: 2, maxDecimals: 2, suffix: '%' },
|
options: { minDecimals: 2, maxDecimals: 2, suffix: '%' },
|
||||||
title: 'Utilization Rate',
|
title: 'Utilization Rate',
|
||||||
},
|
},
|
||||||
@ -97,7 +99,9 @@ export default function MarketDetails({ row, type }: Props) {
|
|||||||
title: 'Oracle Price',
|
title: 'Oracle Price',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
amount: totalBorrowed.dividedBy(marketDepositAmount).multipliedBy(100).toNumber(),
|
amount: totalBorrowed.isZero()
|
||||||
|
? 0
|
||||||
|
: totalBorrowed.dividedBy(marketDepositAmount).multipliedBy(100).toNumber(),
|
||||||
options: { minDecimals: 2, maxDecimals: 2, suffix: '%' },
|
options: { minDecimals: 2, maxDecimals: 2, suffix: '%' },
|
||||||
title: 'Utilization Rate',
|
title: 'Utilization Rate',
|
||||||
},
|
},
|
||||||
|
@ -31,7 +31,9 @@ export default function DesktopNavigation() {
|
|||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className={classNames(
|
className={classNames(
|
||||||
focusComponent ? 'absolute left-4 top-3 z-1 block' : 'flex flex-1 items-center',
|
focusComponent
|
||||||
|
? 'absolute left-4 top-3 z-1 block'
|
||||||
|
: 'flex flex-1 items-center relative z-50',
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<NavLink href={getRoute('trade', address, accountId)}>
|
<NavLink href={getRoute('trade', address, accountId)}>
|
||||||
@ -63,38 +65,45 @@ export default function DesktopNavigation() {
|
|||||||
text='More'
|
text='More'
|
||||||
className='!text-base !p-0 !min-h-0'
|
className='!text-base !p-0 !min-h-0'
|
||||||
/>
|
/>
|
||||||
<div
|
{showMenu && (
|
||||||
className={classNames(
|
<>
|
||||||
showMenu ? 'flex' : 'hidden',
|
<div className='absolute left-0 top-[calc(100%+4px)] z-50'>
|
||||||
'absolute left-0 top-[calc(100%+4px)]',
|
<ul
|
||||||
)}
|
className={classNames(
|
||||||
>
|
'py-4 list-none flex flex-wrap gap-2 bg-white/10 backdrop-blur-lg',
|
||||||
<ul
|
'relative isolate max-w-full overflow-hidden rounded-sm',
|
||||||
className={classNames(
|
'before:content-[" "] before:absolute before:inset-0 before:-z-1 before:rounded-sm before:p-[1px] before:border-glas',
|
||||||
'py-4 list-none flex flex-wrap gap-2 bg-white/10 backdrop-blur-lg',
|
)}
|
||||||
'relative isolate max-w-full overflow-hidden rounded-sm',
|
>
|
||||||
'before:content-[" "] before:absolute before:inset-0 before:-z-1 before:rounded-sm before:p-[1px] before:border-glas',
|
{menu.map((item, index) => (
|
||||||
)}
|
<li
|
||||||
>
|
className={`@nav-${index}/navigation:hidden block w-full m-0`}
|
||||||
{menu.map((item, index) => (
|
key={index}
|
||||||
<li className={`@nav-${index}/navigation:hidden block w-full m-0`} key={index}>
|
>
|
||||||
<NavLink
|
<NavLink
|
||||||
href={
|
href={
|
||||||
item.externalUrl
|
item.externalUrl
|
||||||
? item.externalUrl
|
? item.externalUrl
|
||||||
: getRoute(item.pages[0], address, accountId)
|
: getRoute(item.pages[0], address, accountId)
|
||||||
}
|
}
|
||||||
onClick={() => setShowMenu(false)}
|
onClick={() => setShowMenu(false)}
|
||||||
isActive={getIsActive(item.pages)}
|
isActive={getIsActive(item.pages)}
|
||||||
className='w-full px-4 whitespace-nowrap'
|
className='w-full px-4 whitespace-nowrap'
|
||||||
target={item.externalUrl ? '_blank' : undefined}
|
target={item.externalUrl ? '_blank' : undefined}
|
||||||
>
|
>
|
||||||
{item.label}
|
{item.label}
|
||||||
</NavLink>
|
</NavLink>
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
className='fixed -top-6 -left-[55px] z-40 w-screen h-screen hover:cursor-pointer'
|
||||||
|
onClick={() => setShowMenu(false)}
|
||||||
|
role='button'
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
15
src/components/Perps/Module/LeverageButtons.tsx
Normal file
15
src/components/Perps/Module/LeverageButtons.tsx
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import Button from 'components/Button'
|
||||||
|
|
||||||
|
const LEVERAGE_PRESETS = [1, 2, 3, 5, 10]
|
||||||
|
|
||||||
|
export function LeverageButtons() {
|
||||||
|
return (
|
||||||
|
<div className='flex justify-between'>
|
||||||
|
{LEVERAGE_PRESETS.map((leverage) => (
|
||||||
|
<Button key={leverage} color='tertiary' className='w-12'>
|
||||||
|
{leverage}x
|
||||||
|
</Button>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
14
src/components/Perps/Module/Or.tsx
Normal file
14
src/components/Perps/Module/Or.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import Divider from 'components/Divider'
|
||||||
|
import Text from 'components/Text'
|
||||||
|
|
||||||
|
export function Or() {
|
||||||
|
return (
|
||||||
|
<div className='flex items-center gap-2'>
|
||||||
|
<Divider />
|
||||||
|
<Text size='xs' className='text-white/40'>
|
||||||
|
OR
|
||||||
|
</Text>
|
||||||
|
<Divider />
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
59
src/components/Perps/Module/PerpsModule.tsx
Normal file
59
src/components/Perps/Module/PerpsModule.tsx
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
import { useState } from 'react'
|
||||||
|
|
||||||
|
import Button from 'components/Button'
|
||||||
|
import Card from 'components/Card'
|
||||||
|
import { ChevronDown } from 'components/Icons'
|
||||||
|
import { LeverageButtons } from 'components/Perps/Module/LeverageButtons'
|
||||||
|
import { Or } from 'components/Perps/Module/Or'
|
||||||
|
import { SelectLongShort } from 'components/Perps/Module/SelectLongShort'
|
||||||
|
import RangeInput from 'components/RangeInput'
|
||||||
|
import { Spacer } from 'components/Spacer'
|
||||||
|
import Text from 'components/Text'
|
||||||
|
import AssetAmountInput from 'components/Trade/TradeModule/SwapForm/AssetAmountInput'
|
||||||
|
import OrderTypeSelector from 'components/Trade/TradeModule/SwapForm/OrderTypeSelector'
|
||||||
|
import { AvailableOrderType } from 'components/Trade/TradeModule/SwapForm/OrderTypeSelector/types'
|
||||||
|
import { ASSETS } from 'constants/assets'
|
||||||
|
import { BN_ZERO } from 'constants/math'
|
||||||
|
|
||||||
|
export function PerpsModule() {
|
||||||
|
const [selectedOrderType, setSelectedOrderType] = useState<AvailableOrderType>('Market')
|
||||||
|
const [selectedOrderDirection, setSelectedOrderDirection] = useState<OrderDirection>('long')
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Card
|
||||||
|
contentClassName='px-4 gap-5 flex flex-col'
|
||||||
|
title={
|
||||||
|
<div className='flex justify-between bg-white/10 py-4 pl-4 pr-2 items-center'>
|
||||||
|
<Text>
|
||||||
|
ETH<span className='text-white/60'>/USD</span>
|
||||||
|
</Text>
|
||||||
|
<Button color='quaternary' variant='transparent' rightIcon={<ChevronDown />}>
|
||||||
|
All Markets
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
className='mb-4'
|
||||||
|
>
|
||||||
|
<OrderTypeSelector selected={selectedOrderType} onChange={setSelectedOrderType} />
|
||||||
|
<SelectLongShort
|
||||||
|
direction={selectedOrderDirection}
|
||||||
|
onChangeDirection={setSelectedOrderDirection}
|
||||||
|
/>
|
||||||
|
<AssetAmountInput
|
||||||
|
label='Amount'
|
||||||
|
max={BN_ZERO}
|
||||||
|
amount={BN_ZERO}
|
||||||
|
setAmount={() => {}}
|
||||||
|
asset={ASSETS[0]}
|
||||||
|
maxButtonLabel='Max:'
|
||||||
|
disabled={false}
|
||||||
|
/>
|
||||||
|
<Or />
|
||||||
|
<Text size='sm'>Position Leverage</Text>
|
||||||
|
<RangeInput max={0} value={0} onChange={() => {}} />
|
||||||
|
<LeverageButtons />
|
||||||
|
<Spacer />
|
||||||
|
<Button>{selectedOrderDirection} ETH</Button>
|
||||||
|
</Card>
|
||||||
|
)
|
||||||
|
}
|
62
src/components/Perps/Module/SelectLongShort.tsx
Normal file
62
src/components/Perps/Module/SelectLongShort.tsx
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
import classNames from 'classnames'
|
||||||
|
|
||||||
|
import Text from 'components/Text'
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
direction: OrderDirection
|
||||||
|
onChangeDirection: (direction: OrderDirection) => void
|
||||||
|
}
|
||||||
|
|
||||||
|
export function SelectLongShort(props: Props) {
|
||||||
|
return (
|
||||||
|
<div className='flex bg-black/20 rounded-sm'>
|
||||||
|
<Direction
|
||||||
|
onClick={() => props.onChangeDirection('long')}
|
||||||
|
direction='long'
|
||||||
|
isActive={props.direction === 'long'}
|
||||||
|
/>
|
||||||
|
<Direction
|
||||||
|
onClick={() => props.onChangeDirection('short')}
|
||||||
|
direction='short'
|
||||||
|
isActive={props.direction === 'short'}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
interface DirectionProps {
|
||||||
|
direction: 'long' | 'short'
|
||||||
|
isActive: boolean
|
||||||
|
onClick: () => void
|
||||||
|
}
|
||||||
|
function Direction(props: DirectionProps) {
|
||||||
|
return (
|
||||||
|
<button
|
||||||
|
className={classNames(
|
||||||
|
'px-4 py-3 rounded-sm flex-1',
|
||||||
|
borderColors[props.direction],
|
||||||
|
props.isActive && 'border bg-white/10',
|
||||||
|
)}
|
||||||
|
onClick={props.onClick}
|
||||||
|
>
|
||||||
|
<Text
|
||||||
|
className={classNames(
|
||||||
|
'text-center capitalize',
|
||||||
|
props.isActive ? directionColors[props.direction] : 'text-white/20',
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
{props.direction}
|
||||||
|
</Text>
|
||||||
|
</button>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
const directionColors = {
|
||||||
|
long: 'text-success',
|
||||||
|
short: 'text-error',
|
||||||
|
}
|
||||||
|
|
||||||
|
const borderColors = {
|
||||||
|
long: 'border-success',
|
||||||
|
short: 'border-error',
|
||||||
|
}
|
12
src/components/Perps/PerpsChart.tsx
Normal file
12
src/components/Perps/PerpsChart.tsx
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import React from 'react'
|
||||||
|
|
||||||
|
import TradeChart from 'components/Trade/TradeChart'
|
||||||
|
import { ASSETS } from 'constants/assets'
|
||||||
|
|
||||||
|
export function PerpsChart() {
|
||||||
|
return (
|
||||||
|
<div className='h-full'>
|
||||||
|
<TradeChart buyAsset={ASSETS[0]} sellAsset={ASSETS[1]} />
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
47
src/components/Perps/PerpsInfo.tsx
Normal file
47
src/components/Perps/PerpsInfo.tsx
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
import React, { useMemo } from 'react'
|
||||||
|
|
||||||
|
import Card from 'components/Card'
|
||||||
|
import Divider from 'components/Divider'
|
||||||
|
import Text from 'components/Text'
|
||||||
|
|
||||||
|
export function PerpsInfo() {
|
||||||
|
const items = useMemo(
|
||||||
|
() => [
|
||||||
|
<Text key='item1'>$6,735</Text>,
|
||||||
|
<InfoItem key='item2' label='Label' item={<Text size='sm'>Value</Text>} />,
|
||||||
|
<InfoItem key='item3' label='Label' item={<Text size='sm'>Value</Text>} />,
|
||||||
|
<InfoItem key='item4' label='Label' item={<Text size='sm'>Value</Text>} />,
|
||||||
|
<InfoItem key='item5' label='Label' item={<Text size='sm'>Value</Text>} />,
|
||||||
|
],
|
||||||
|
[],
|
||||||
|
)
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Card contentClassName='bg-white/10 py-3.5 px-4'>
|
||||||
|
<div className='flex gap-4 items-center'>
|
||||||
|
{items.map((item, index) => (
|
||||||
|
<React.Fragment key={index}>
|
||||||
|
{item}
|
||||||
|
{index !== items.length - 1 && <Divider orientation='vertical' className='h-9' />}
|
||||||
|
</React.Fragment>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
interface InfoItemProps {
|
||||||
|
item: React.ReactNode
|
||||||
|
label: string
|
||||||
|
}
|
||||||
|
|
||||||
|
function InfoItem(props: InfoItemProps) {
|
||||||
|
return (
|
||||||
|
<div className='flex flex-col gap-1'>
|
||||||
|
<Text size='xs' className='text-white/40'>
|
||||||
|
{props.label}
|
||||||
|
</Text>
|
||||||
|
{props.item}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
5
src/components/Perps/PerpsPositions.tsx
Normal file
5
src/components/Perps/PerpsPositions.tsx
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import AccountDetailsCard from 'components/Trade/AccountDetailsCard'
|
||||||
|
|
||||||
|
export function PerpsPositions() {
|
||||||
|
return <AccountDetailsCard />
|
||||||
|
}
|
@ -6,12 +6,13 @@ import HLSFarmPage from 'pages/HLSFarmPage'
|
|||||||
import HLSStakingPage from 'pages/HLSStakingPage'
|
import HLSStakingPage from 'pages/HLSStakingPage'
|
||||||
import LendPage from 'pages/LendPage'
|
import LendPage from 'pages/LendPage'
|
||||||
import MobilePage from 'pages/MobilePage'
|
import MobilePage from 'pages/MobilePage'
|
||||||
|
import PerpsPage from 'pages/PerpsPage'
|
||||||
import PortfolioAccountPage from 'pages/PortfolioAccountPage'
|
import PortfolioAccountPage from 'pages/PortfolioAccountPage'
|
||||||
import PortfolioPage from 'pages/PortfolioPage'
|
import PortfolioPage from 'pages/PortfolioPage'
|
||||||
import StatsPage from 'pages/StatsPage'
|
import StatsPage from 'pages/StatsPage'
|
||||||
import TradePage from 'pages/TradePage'
|
import TradePage from 'pages/TradePage'
|
||||||
import Layout from 'pages/_layout'
|
import Layout from 'pages/_layout'
|
||||||
import { ENABLE_HLS } from 'utils/constants'
|
import { ENABLE_HLS, ENABLE_PERPS } from 'utils/constants'
|
||||||
|
|
||||||
export default function Routes() {
|
export default function Routes() {
|
||||||
return (
|
return (
|
||||||
@ -24,6 +25,7 @@ export default function Routes() {
|
|||||||
}
|
}
|
||||||
>
|
>
|
||||||
<Route path='/trade' element={<TradePage />} />
|
<Route path='/trade' element={<TradePage />} />
|
||||||
|
{ENABLE_PERPS && <Route path='/perps' element={<PerpsPage />} />}
|
||||||
<Route path='/farm' element={<FarmPage />} />
|
<Route path='/farm' element={<FarmPage />} />
|
||||||
<Route path='/lend' element={<LendPage />} />
|
<Route path='/lend' element={<LendPage />} />
|
||||||
<Route path='/borrow' element={<BorrowPage />} />
|
<Route path='/borrow' element={<BorrowPage />} />
|
||||||
@ -38,6 +40,7 @@ export default function Routes() {
|
|||||||
<Route path='/' element={<TradePage />} />
|
<Route path='/' element={<TradePage />} />
|
||||||
<Route path='/wallets/:address'>
|
<Route path='/wallets/:address'>
|
||||||
<Route path='trade' element={<TradePage />} />
|
<Route path='trade' element={<TradePage />} />
|
||||||
|
{ENABLE_PERPS && <Route path='perps' element={<PerpsPage />} />}
|
||||||
<Route path='farm' element={<FarmPage />} />
|
<Route path='farm' element={<FarmPage />} />
|
||||||
<Route path='lend' element={<LendPage />} />
|
<Route path='lend' element={<LendPage />} />
|
||||||
<Route path='borrow' element={<BorrowPage />} />
|
<Route path='borrow' element={<BorrowPage />} />
|
||||||
|
3
src/components/Spacer.tsx
Normal file
3
src/components/Spacer.tsx
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export function Spacer() {
|
||||||
|
return <div className='h-full w-full flex-1' />
|
||||||
|
}
|
@ -1,8 +1,8 @@
|
|||||||
import { useEffect, useMemo, useRef } from 'react'
|
import { useEffect, useMemo, useRef } from 'react'
|
||||||
|
|
||||||
import Card from 'components/Card'
|
import Card from 'components/Card'
|
||||||
import { DataFeed, PAIR_SEPARATOR } from 'components/Trade/TradeChart/DataFeed'
|
|
||||||
import { disabledFeatures, enabledFeatures, overrides } from 'components/Trade/TradeChart/constants'
|
import { disabledFeatures, enabledFeatures, overrides } from 'components/Trade/TradeChart/constants'
|
||||||
|
import { DataFeed, PAIR_SEPARATOR } from 'components/Trade/TradeChart/DataFeed'
|
||||||
import useStore from 'store'
|
import useStore from 'store'
|
||||||
import {
|
import {
|
||||||
ChartingLibraryWidgetOptions,
|
ChartingLibraryWidgetOptions,
|
||||||
@ -102,7 +102,7 @@ export const TVChartContainer = (props: Props) => {
|
|||||||
}, [props.buyAsset.denom, props.sellAsset.denom])
|
}, [props.buyAsset.denom, props.sellAsset.denom])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card title='Trading Chart' contentClassName='px-0.5 pb-0.5 h-full'>
|
<Card title='Trading Chart' contentClassName='px-0.5 pb-0.5 h-full' className='h-full'>
|
||||||
<div ref={chartContainerRef} className='h-full overflow-hidden rounded-b-base' />
|
<div ref={chartContainerRef} className='h-full overflow-hidden rounded-b-base' />
|
||||||
</Card>
|
</Card>
|
||||||
)
|
)
|
||||||
|
@ -16,7 +16,7 @@ export default function OrderTypeSelector(props: Props) {
|
|||||||
const { selected, onChange } = props
|
const { selected, onChange } = props
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='flex flex-row flex-1 px-3 pt-4'>
|
<div className='flex flex-row pt-4'>
|
||||||
{ORDER_TYPE_TABS.map((tab) => {
|
{ORDER_TYPE_TABS.map((tab) => {
|
||||||
const isSelected = tab.type === selected
|
const isSelected = tab.type === selected
|
||||||
const classes = classNames(
|
const classes = classNames(
|
||||||
|
@ -27,7 +27,7 @@ import { useUpdatedAccount } from 'hooks/useUpdatedAccount'
|
|||||||
import useStore from 'store'
|
import useStore from 'store'
|
||||||
import { BNCoin } from 'types/classes/BNCoin'
|
import { BNCoin } from 'types/classes/BNCoin'
|
||||||
import { byDenom } from 'utils/array'
|
import { byDenom } from 'utils/array'
|
||||||
import { defaultFee } from 'utils/constants'
|
import { defaultFee, ENABLE_AUTO_REPAY } from 'utils/constants'
|
||||||
import { getCapLeftWithBuffer } from 'utils/generic'
|
import { getCapLeftWithBuffer } from 'utils/generic'
|
||||||
import { asyncThrottle, BN } from 'utils/helpers'
|
import { asyncThrottle, BN } from 'utils/helpers'
|
||||||
|
|
||||||
@ -50,7 +50,9 @@ export default function SwapForm(props: Props) {
|
|||||||
const isBorrowEnabled = !!marketAssets.find(byDenom(sellAsset.denom))?.borrowEnabled
|
const isBorrowEnabled = !!marketAssets.find(byDenom(sellAsset.denom))?.borrowEnabled
|
||||||
const isRepayable = !!account?.debts.find(byDenom(buyAsset.denom))
|
const isRepayable = !!account?.debts.find(byDenom(buyAsset.denom))
|
||||||
const [isMarginChecked, setMarginChecked] = useToggle(isBorrowEnabled ? useMargin : false)
|
const [isMarginChecked, setMarginChecked] = useToggle(isBorrowEnabled ? useMargin : false)
|
||||||
const [isAutoRepayChecked, setAutoRepayChecked] = useToggle(isRepayable ? useAutoRepay : false)
|
const [isAutoRepayChecked, setAutoRepayChecked] = useToggle(
|
||||||
|
isRepayable && ENABLE_AUTO_REPAY ? useAutoRepay : false,
|
||||||
|
)
|
||||||
const [buyAssetAmount, setBuyAssetAmount] = useState(BN_ZERO)
|
const [buyAssetAmount, setBuyAssetAmount] = useState(BN_ZERO)
|
||||||
const [sellAssetAmount, setSellAssetAmount] = useState(BN_ZERO)
|
const [sellAssetAmount, setSellAssetAmount] = useState(BN_ZERO)
|
||||||
const [maxBuyableAmountEstimation, setMaxBuyableAmountEstimation] = useState(BN_ZERO)
|
const [maxBuyableAmountEstimation, setMaxBuyableAmountEstimation] = useState(BN_ZERO)
|
||||||
@ -314,7 +316,7 @@ export default function SwapForm(props: Props) {
|
|||||||
/>
|
/>
|
||||||
<Divider />
|
<Divider />
|
||||||
|
|
||||||
{isRepayable && (
|
{isRepayable && ENABLE_AUTO_REPAY && (
|
||||||
<AutoRepayToggle
|
<AutoRepayToggle
|
||||||
checked={isAutoRepayChecked}
|
checked={isAutoRepayChecked}
|
||||||
onChange={handleAutoRepayToggleChange}
|
onChange={handleAutoRepayToggleChange}
|
||||||
@ -322,7 +324,9 @@ export default function SwapForm(props: Props) {
|
|||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
<Divider />
|
<Divider />
|
||||||
<OrderTypeSelector selected={selectedOrderType} onChange={setSelectedOrderType} />
|
<div className='px-3'>
|
||||||
|
<OrderTypeSelector selected={selectedOrderType} onChange={setSelectedOrderType} />
|
||||||
|
</div>
|
||||||
<div className='flex flex-col gap-6 px-3 mt-6'>
|
<div className='flex flex-col gap-6 px-3 mt-6'>
|
||||||
<AssetAmountInput
|
<AssetAmountInput
|
||||||
label='Buy'
|
label='Buy'
|
||||||
|
@ -229,6 +229,42 @@ export const ASSETS: Asset[] = [
|
|||||||
poolId: 1249,
|
poolId: 1249,
|
||||||
pythHistoryFeedId: 'Crypto.TIA/USD',
|
pythHistoryFeedId: 'Crypto.TIA/USD',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
symbol: 'AKT',
|
||||||
|
id: 'AKT',
|
||||||
|
name: 'Akash',
|
||||||
|
denom: 'ibc/1480B8FD20AD5FCAE81EA87584D269547DD4D436843C1D20F15E00EB64743EF4',
|
||||||
|
color: '#F34C2D',
|
||||||
|
logo: '/images/tokens/akt.svg',
|
||||||
|
decimals: 6,
|
||||||
|
hasOraclePrice: true,
|
||||||
|
isEnabled: true,
|
||||||
|
isMarket: true,
|
||||||
|
isDisplayCurrency: true,
|
||||||
|
isAutoLendEnabled: true,
|
||||||
|
isBorrowEnabled: true,
|
||||||
|
pythPriceFeedId: '4ea5bb4d2f5900cc2e97ba534240950740b4d3b89fe712a94a7304fd2fd92702',
|
||||||
|
poolId: 1093,
|
||||||
|
pythHistoryFeedId: 'Crypto.AKT/USD',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
symbol: 'DYDX',
|
||||||
|
id: 'DYDX',
|
||||||
|
name: 'dYdX',
|
||||||
|
denom: 'ibc/831F0B1BBB1D08A2B75311892876D71565478C532967545476DF4C2D7492E48C',
|
||||||
|
color: '#6966ff',
|
||||||
|
logo: '/images/tokens/dydx.svg',
|
||||||
|
decimals: 18,
|
||||||
|
hasOraclePrice: true,
|
||||||
|
isEnabled: true,
|
||||||
|
isMarket: true,
|
||||||
|
isDisplayCurrency: true,
|
||||||
|
isAutoLendEnabled: true,
|
||||||
|
isBorrowEnabled: true,
|
||||||
|
pythPriceFeedId: '6489800bb8974169adfe35937bf6736507097d13c190d760c557108c7e93a81b',
|
||||||
|
poolId: 1245,
|
||||||
|
pythHistoryFeedId: 'Crypto.DYDX/USD',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
symbol: '$',
|
symbol: '$',
|
||||||
name: 'US Dollar',
|
name: 'US Dollar',
|
||||||
|
@ -3,7 +3,6 @@ import { useMemo } from 'react'
|
|||||||
import useCurrentAccountLends from 'hooks/useCurrentAccountLends'
|
import useCurrentAccountLends from 'hooks/useCurrentAccountLends'
|
||||||
import useDepositEnabledMarkets from 'hooks/useDepositEnabledMarkets'
|
import useDepositEnabledMarkets from 'hooks/useDepositEnabledMarkets'
|
||||||
import useDisplayCurrencyPrice from 'hooks/useDisplayCurrencyPrice'
|
import useDisplayCurrencyPrice from 'hooks/useDisplayCurrencyPrice'
|
||||||
import useMarketDeposits from 'hooks/useMarketDeposits'
|
|
||||||
import useMarketLiquidities from 'hooks/useMarketLiquidities'
|
import useMarketLiquidities from 'hooks/useMarketLiquidities'
|
||||||
import { byDenom } from 'utils/array'
|
import { byDenom } from 'utils/array'
|
||||||
import { getAssetByDenom } from 'utils/assets'
|
import { getAssetByDenom } from 'utils/assets'
|
||||||
@ -16,7 +15,6 @@ function useLendingMarketAssetsTableData(): {
|
|||||||
} {
|
} {
|
||||||
const markets = useDepositEnabledMarkets()
|
const markets = useDepositEnabledMarkets()
|
||||||
const accountLentAmounts = useCurrentAccountLends()
|
const accountLentAmounts = useCurrentAccountLends()
|
||||||
const { data: marketDeposits } = useMarketDeposits()
|
|
||||||
const { data: marketLiquidities } = useMarketLiquidities()
|
const { data: marketLiquidities } = useMarketLiquidities()
|
||||||
const { convertAmount } = useDisplayCurrencyPrice()
|
const { convertAmount } = useDisplayCurrencyPrice()
|
||||||
|
|
||||||
@ -27,7 +25,6 @@ function useLendingMarketAssetsTableData(): {
|
|||||||
markets.forEach(
|
markets.forEach(
|
||||||
({ denom, cap, liquidityRate, liquidationThreshold, maxLtv, borrowEnabled }) => {
|
({ denom, cap, liquidityRate, liquidationThreshold, maxLtv, borrowEnabled }) => {
|
||||||
const asset = getAssetByDenom(denom) as Asset
|
const asset = getAssetByDenom(denom) as Asset
|
||||||
const marketDepositAmount = BN(marketDeposits.find(byDenom(denom))?.amount ?? 0)
|
|
||||||
const marketLiquidityAmount = BN(marketLiquidities.find(byDenom(denom))?.amount ?? 0)
|
const marketLiquidityAmount = BN(marketLiquidities.find(byDenom(denom))?.amount ?? 0)
|
||||||
const accountLentAmount = accountLentAmounts.find(byDenom(denom))?.amount
|
const accountLentAmount = accountLentAmounts.find(byDenom(denom))?.amount
|
||||||
const accountLentValue = accountLentAmount
|
const accountLentValue = accountLentAmount
|
||||||
@ -36,7 +33,7 @@ function useLendingMarketAssetsTableData(): {
|
|||||||
|
|
||||||
const lendingMarketAsset: LendingMarketTableData = {
|
const lendingMarketAsset: LendingMarketTableData = {
|
||||||
asset,
|
asset,
|
||||||
marketDepositAmount,
|
marketDepositAmount: cap.used,
|
||||||
accountLentValue,
|
accountLentValue,
|
||||||
accountLentAmount,
|
accountLentAmount,
|
||||||
marketLiquidityAmount,
|
marketLiquidityAmount,
|
||||||
@ -58,7 +55,7 @@ function useLendingMarketAssetsTableData(): {
|
|||||||
availableAssets,
|
availableAssets,
|
||||||
allAssets: [...accountLentAssets, ...availableAssets],
|
allAssets: [...accountLentAssets, ...availableAssets],
|
||||||
}
|
}
|
||||||
}, [markets, marketDeposits, marketLiquidities, accountLentAmounts, convertAmount])
|
}, [markets, marketLiquidities, accountLentAmounts, convertAmount])
|
||||||
}
|
}
|
||||||
|
|
||||||
export default useLendingMarketAssetsTableData
|
export default useLendingMarketAssetsTableData
|
||||||
|
19
src/pages/PerpsPage.tsx
Normal file
19
src/pages/PerpsPage.tsx
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { PerpsModule } from 'components/Perps/Module/PerpsModule'
|
||||||
|
import { PerpsChart } from 'components/Perps/PerpsChart'
|
||||||
|
import { PerpsInfo } from 'components/Perps/PerpsInfo'
|
||||||
|
import { PerpsPositions } from 'components/Perps/PerpsPositions'
|
||||||
|
|
||||||
|
export default function PerpsPage() {
|
||||||
|
return (
|
||||||
|
<div className='flex flex-col w-full h-full gap-4'>
|
||||||
|
<div className='grid w-full grid-cols-[auto_346px] gap-4 pb-4'>
|
||||||
|
<div className='grid grid-cols-1 grid-rows-[min-content_auto_min-content] gap-4 h-[calc(100vh-93px)] pb-4'>
|
||||||
|
<PerpsInfo />
|
||||||
|
<PerpsChart />
|
||||||
|
<PerpsPositions />
|
||||||
|
</div>
|
||||||
|
<PerpsModule />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
@ -47,7 +47,10 @@ export default function Layout({ children }: { children: React.ReactNode }) {
|
|||||||
DEFAULT_SETTINGS.reduceMotion,
|
DEFAULT_SETTINGS.reduceMotion,
|
||||||
)
|
)
|
||||||
const accountDetailsExpanded = useStore((s) => s.accountDetailsExpanded)
|
const accountDetailsExpanded = useStore((s) => s.accountDetailsExpanded)
|
||||||
const isFullWidth = location.pathname.includes('trade') || location.pathname === '/'
|
const isFullWidth =
|
||||||
|
location.pathname.includes('trade') ||
|
||||||
|
location.pathname === '/' ||
|
||||||
|
location.pathname.includes('perps')
|
||||||
const accountId = useAccountId()
|
const accountId = useAccountId()
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
4
src/types/interfaces/asset.d.ts
vendored
4
src/types/interfaces/asset.d.ts
vendored
@ -3,8 +3,10 @@ interface Asset {
|
|||||||
name: string
|
name: string
|
||||||
denom: string
|
denom: string
|
||||||
symbol:
|
symbol:
|
||||||
|
| 'AKT'
|
||||||
| 'ATOM'
|
| 'ATOM'
|
||||||
| 'AXL'
|
| 'AXL'
|
||||||
|
| 'DYDX'
|
||||||
| 'INJ'
|
| 'INJ'
|
||||||
| 'MARS'
|
| 'MARS'
|
||||||
| 'OSMO'
|
| 'OSMO'
|
||||||
@ -24,8 +26,10 @@ interface Asset {
|
|||||||
| 'stATOM-ATOM'
|
| 'stATOM-ATOM'
|
||||||
| '$'
|
| '$'
|
||||||
id:
|
id:
|
||||||
|
| 'AKT'
|
||||||
| 'ATOM'
|
| 'ATOM'
|
||||||
| 'AXL'
|
| 'AXL'
|
||||||
|
| 'DYDX'
|
||||||
| 'INJ'
|
| 'INJ'
|
||||||
| 'axlUSDC'
|
| 'axlUSDC'
|
||||||
| 'axlWBTC'
|
| 'axlWBTC'
|
||||||
|
1
src/types/interfaces/perps.d.ts
vendored
Normal file
1
src/types/interfaces/perps.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
type OrderDirection = 'long' | 'short'
|
1
src/types/interfaces/route.d.ts
vendored
1
src/types/interfaces/route.d.ts
vendored
@ -1,5 +1,6 @@
|
|||||||
type Page =
|
type Page =
|
||||||
| 'trade'
|
| 'trade'
|
||||||
|
| 'perps'
|
||||||
| 'borrow'
|
| 'borrow'
|
||||||
| 'farm'
|
| 'farm'
|
||||||
| 'lend'
|
| 'lend'
|
||||||
|
@ -27,3 +27,4 @@ export const DEFAULT_ADDITIONAL_STATS = [
|
|||||||
|
|
||||||
export const ENABLE_HLS = true
|
export const ENABLE_HLS = true
|
||||||
export const ENABLE_PERPS = false
|
export const ENABLE_PERPS = false
|
||||||
|
export const ENABLE_AUTO_REPAY = false
|
||||||
|
@ -21,6 +21,7 @@ export function getRoute(page: Page, address?: string, accountId?: string | null
|
|||||||
export function getPage(pathname: string): Page {
|
export function getPage(pathname: string): Page {
|
||||||
const pages: Page[] = [
|
const pages: Page[] = [
|
||||||
'trade',
|
'trade',
|
||||||
|
'perps',
|
||||||
'borrow',
|
'borrow',
|
||||||
'farm',
|
'farm',
|
||||||
'lend',
|
'lend',
|
||||||
|
@ -143,8 +143,8 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
containers: {
|
containers: {
|
||||||
'nav-0': '100px',
|
'nav-0': '100px',
|
||||||
'nav-1': '160px',
|
'nav-1': '185px',
|
||||||
'nav-2': '250px',
|
'nav-2': '270px',
|
||||||
'nav-3': '400px',
|
'nav-3': '400px',
|
||||||
'nav-4': '500px',
|
'nav-4': '500px',
|
||||||
'nav-5': '600px',
|
'nav-5': '600px',
|
||||||
@ -175,6 +175,7 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
height: {
|
height: {
|
||||||
4.5: '18px',
|
4.5: '18px',
|
||||||
|
9: '36px',
|
||||||
15: '60px',
|
15: '60px',
|
||||||
45: '180px',
|
45: '180px',
|
||||||
50: '200px',
|
50: '200px',
|
||||||
|
212
yarn.lock
212
yarn.lock
@ -1574,13 +1574,6 @@
|
|||||||
resolved "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.31.1.tgz"
|
resolved "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.31.1.tgz"
|
||||||
integrity sha512-n4Se1wu4GnKwztQHNFfJvUeWcpvx3o8cWhSbNs9JQShEuB3nv3R5lqFBtDCgHZF/emFQAP+ZjF8bTfCs9UBGhA==
|
integrity sha512-n4Se1wu4GnKwztQHNFfJvUeWcpvx3o8cWhSbNs9JQShEuB3nv3R5lqFBtDCgHZF/emFQAP+ZjF8bTfCs9UBGhA==
|
||||||
|
|
||||||
"@cspotcode/source-map-support@^0.8.0":
|
|
||||||
version "0.8.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
|
|
||||||
integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
|
|
||||||
dependencies:
|
|
||||||
"@jridgewell/trace-mapping" "0.3.9"
|
|
||||||
|
|
||||||
"@delphi-labs/shuttle-react@^3.10.0":
|
"@delphi-labs/shuttle-react@^3.10.0":
|
||||||
version "3.10.0"
|
version "3.10.0"
|
||||||
resolved "https://registry.yarnpkg.com/@delphi-labs/shuttle-react/-/shuttle-react-3.10.0.tgz#1f4a81cfa4039f2fe548b6671919d0d66893af85"
|
resolved "https://registry.yarnpkg.com/@delphi-labs/shuttle-react/-/shuttle-react-3.10.0.tgz#1f4a81cfa4039f2fe548b6671919d0d66893af85"
|
||||||
@ -1615,32 +1608,6 @@
|
|||||||
tslib "^2.6.0"
|
tslib "^2.6.0"
|
||||||
tsup "^7.1.0"
|
tsup "^7.1.0"
|
||||||
|
|
||||||
"@dfinity/agent@^0.12.0":
|
|
||||||
version "0.12.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/@dfinity/agent/-/agent-0.12.2.tgz#3317c80ed9888c1e9000765968bb942e01c1b119"
|
|
||||||
integrity sha512-yEgotz3lOt4906k0V0L91szYnYPEE4dotVzsTU6UnxtOwYBFsOL1J1COjx+FLAUDQ4s7zCa+VlS3WU69PvaxsA==
|
|
||||||
dependencies:
|
|
||||||
base64-arraybuffer "^0.2.0"
|
|
||||||
bignumber.js "^9.0.0"
|
|
||||||
borc "^2.1.1"
|
|
||||||
js-sha256 "0.9.0"
|
|
||||||
simple-cbor "^0.4.1"
|
|
||||||
ts-node "^10.8.2"
|
|
||||||
|
|
||||||
"@dfinity/candid@^0.12.0":
|
|
||||||
version "0.12.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/@dfinity/candid/-/candid-0.12.2.tgz#9170304d7fbce50d29b5fd602d988fc23c5b333d"
|
|
||||||
integrity sha512-2wlFetzNr6iXQrtOSSDaxBG6HgOZv3eDATZVvuGEdS1gkAR8jnLynDQevl0j50BEccO2Sk05W+iVDtSfeRvhSA==
|
|
||||||
dependencies:
|
|
||||||
ts-node "^10.8.2"
|
|
||||||
|
|
||||||
"@dfinity/principal@^0.12.0":
|
|
||||||
version "0.12.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/@dfinity/principal/-/principal-0.12.2.tgz#2d767e966eaf98d5d05e81db0bc81b9d5d004ebd"
|
|
||||||
integrity sha512-VXB2itNAwcwI2Cegt7gxj342ixFxF8Ps+rb74yTZBf8CPv5K20dUOt6MkhqbagjV8NASMWUWYpvsLM84ukVNfw==
|
|
||||||
dependencies:
|
|
||||||
ts-node "^10.8.2"
|
|
||||||
|
|
||||||
"@esbuild/android-arm64@0.18.14":
|
"@esbuild/android-arm64@0.18.14":
|
||||||
version "0.18.14"
|
version "0.18.14"
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.14.tgz#d86197e6ff965a187b2ea2704915f596a040ed4b"
|
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.14.tgz#d86197e6ff965a187b2ea2704915f596a040ed4b"
|
||||||
@ -2590,11 +2557,6 @@
|
|||||||
resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz"
|
resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz"
|
||||||
integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
|
integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
|
||||||
|
|
||||||
"@jridgewell/resolve-uri@^3.0.3":
|
|
||||||
version "3.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
|
|
||||||
integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
|
|
||||||
|
|
||||||
"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
|
"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz"
|
resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz"
|
||||||
@ -2605,14 +2567,6 @@
|
|||||||
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
|
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
|
||||||
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
|
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
|
||||||
|
|
||||||
"@jridgewell/trace-mapping@0.3.9":
|
|
||||||
version "0.3.9"
|
|
||||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
|
|
||||||
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
|
|
||||||
dependencies:
|
|
||||||
"@jridgewell/resolve-uri" "^3.0.3"
|
|
||||||
"@jridgewell/sourcemap-codec" "^1.4.10"
|
|
||||||
|
|
||||||
"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18":
|
"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18":
|
||||||
version "0.3.18"
|
version "0.3.18"
|
||||||
resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz"
|
resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz"
|
||||||
@ -2888,17 +2842,6 @@
|
|||||||
resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz"
|
resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz"
|
||||||
integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
|
integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
|
||||||
|
|
||||||
"@psychedelic/sonic-js@^0.4.0":
|
|
||||||
version "0.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@psychedelic/sonic-js/-/sonic-js-0.4.0.tgz#9ba31f2edb3aa82950bf29550d4611d524c63c72"
|
|
||||||
integrity sha512-jOaxghdGeyuENNlKEIBsFcScU8n1BdF77PAIif0JEIRJ4OXO7ltg4ApVTkXP2pplaGnZ+vwN1ZV7+b10RbyMHQ==
|
|
||||||
dependencies:
|
|
||||||
"@dfinity/agent" "^0.12.0"
|
|
||||||
"@dfinity/candid" "^0.12.0"
|
|
||||||
"@dfinity/principal" "^0.12.0"
|
|
||||||
bignumber.js "^9.0.2"
|
|
||||||
cross-fetch "^3.1.5"
|
|
||||||
|
|
||||||
"@react-spring/animated@~9.7.3":
|
"@react-spring/animated@~9.7.3":
|
||||||
version "9.7.3"
|
version "9.7.3"
|
||||||
resolved "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.3.tgz"
|
resolved "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.3.tgz"
|
||||||
@ -3524,26 +3467,6 @@
|
|||||||
resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz"
|
resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz"
|
||||||
integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
|
integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
|
||||||
|
|
||||||
"@tsconfig/node10@^1.0.7":
|
|
||||||
version "1.0.9"
|
|
||||||
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
|
|
||||||
integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==
|
|
||||||
|
|
||||||
"@tsconfig/node12@^1.0.7":
|
|
||||||
version "1.0.11"
|
|
||||||
resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
|
|
||||||
integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
|
|
||||||
|
|
||||||
"@tsconfig/node14@^1.0.0":
|
|
||||||
version "1.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
|
|
||||||
integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
|
|
||||||
|
|
||||||
"@tsconfig/node16@^1.0.2":
|
|
||||||
version "1.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
|
|
||||||
integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
|
|
||||||
|
|
||||||
"@types/aria-query@^5.0.1":
|
"@types/aria-query@^5.0.1":
|
||||||
version "5.0.1"
|
version "5.0.1"
|
||||||
resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz"
|
resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz"
|
||||||
@ -4121,11 +4044,6 @@ acorn-walk@^8.0.2:
|
|||||||
resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz"
|
resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz"
|
||||||
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
|
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
|
||||||
|
|
||||||
acorn-walk@^8.1.1:
|
|
||||||
version "8.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.0.tgz#2097665af50fd0cf7a2dfccd2b9368964e66540f"
|
|
||||||
integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==
|
|
||||||
|
|
||||||
acorn@7.1.1:
|
acorn@7.1.1:
|
||||||
version "7.1.1"
|
version "7.1.1"
|
||||||
resolved "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz"
|
resolved "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz"
|
||||||
@ -4136,11 +4054,6 @@ acorn@^8.1.0, acorn@^8.8.1:
|
|||||||
resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz"
|
resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz"
|
||||||
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
|
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
|
||||||
|
|
||||||
acorn@^8.4.1:
|
|
||||||
version "8.11.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b"
|
|
||||||
integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==
|
|
||||||
|
|
||||||
acorn@^8.9.0:
|
acorn@^8.9.0:
|
||||||
version "8.10.0"
|
version "8.10.0"
|
||||||
resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz"
|
resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz"
|
||||||
@ -4229,11 +4142,6 @@ anymatch@^3.0.3, anymatch@~3.1.2:
|
|||||||
normalize-path "^3.0.0"
|
normalize-path "^3.0.0"
|
||||||
picomatch "^2.0.4"
|
picomatch "^2.0.4"
|
||||||
|
|
||||||
arg@^4.1.0:
|
|
||||||
version "4.1.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
|
|
||||||
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
|
|
||||||
|
|
||||||
arg@^5.0.2:
|
arg@^5.0.2:
|
||||||
version "5.0.2"
|
version "5.0.2"
|
||||||
resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz"
|
resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz"
|
||||||
@ -4499,11 +4407,6 @@ base-x@^3.0.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer "^5.0.1"
|
safe-buffer "^5.0.1"
|
||||||
|
|
||||||
base64-arraybuffer@^0.2.0:
|
|
||||||
version "0.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.2.0.tgz#4b944fac0191aa5907afe2d8c999ccc57ce80f45"
|
|
||||||
integrity sha512-7emyCsu1/xiBXgQZrscw/8KPRT44I4Yq9Pe6EGs3aPRTsWuggML1/1DTuZUuIaJPIm1FTDUVXl4x/yW8s0kQDQ==
|
|
||||||
|
|
||||||
base64-js@^1.3.0, base64-js@^1.3.1:
|
base64-js@^1.3.0, base64-js@^1.3.1:
|
||||||
version "1.5.1"
|
version "1.5.1"
|
||||||
resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
|
resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
|
||||||
@ -4524,7 +4427,7 @@ big-integer@^1.6.48:
|
|||||||
resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz"
|
resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz"
|
||||||
integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==
|
integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==
|
||||||
|
|
||||||
bignumber.js@^9.0.0, bignumber.js@^9.0.1, bignumber.js@^9.0.2, bignumber.js@^9.1.2:
|
bignumber.js@^9.0.1, bignumber.js@^9.1.2:
|
||||||
version "9.1.2"
|
version "9.1.2"
|
||||||
resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz"
|
resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz"
|
||||||
integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==
|
integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==
|
||||||
@ -4593,19 +4496,6 @@ boolbase@^1.0.0:
|
|||||||
resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
|
resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
|
||||||
integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
|
integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
|
||||||
|
|
||||||
borc@^2.1.1:
|
|
||||||
version "2.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/borc/-/borc-2.1.2.tgz#6ce75e7da5ce711b963755117dd1b187f6f8cf19"
|
|
||||||
integrity sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==
|
|
||||||
dependencies:
|
|
||||||
bignumber.js "^9.0.0"
|
|
||||||
buffer "^5.5.0"
|
|
||||||
commander "^2.15.0"
|
|
||||||
ieee754 "^1.1.13"
|
|
||||||
iso-url "~0.4.7"
|
|
||||||
json-text-sequence "~0.1.0"
|
|
||||||
readable-stream "^3.6.0"
|
|
||||||
|
|
||||||
brace-expansion@^1.1.7:
|
brace-expansion@^1.1.7:
|
||||||
version "1.1.11"
|
version "1.1.11"
|
||||||
resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
|
resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
|
||||||
@ -4693,14 +4583,6 @@ buffer-xor@^1.0.3:
|
|||||||
resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz"
|
resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz"
|
||||||
integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
|
integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
|
||||||
|
|
||||||
buffer@^5.5.0:
|
|
||||||
version "5.7.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
|
|
||||||
integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
|
|
||||||
dependencies:
|
|
||||||
base64-js "^1.3.1"
|
|
||||||
ieee754 "^1.1.13"
|
|
||||||
|
|
||||||
buffer@^6.0.3:
|
buffer@^6.0.3:
|
||||||
version "6.0.3"
|
version "6.0.3"
|
||||||
resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz"
|
resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz"
|
||||||
@ -4933,11 +4815,6 @@ commander@11.1.0:
|
|||||||
resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz"
|
resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz"
|
||||||
integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==
|
integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==
|
||||||
|
|
||||||
commander@^2.15.0:
|
|
||||||
version "2.20.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
|
|
||||||
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
|
|
||||||
|
|
||||||
commander@^4.0.0:
|
commander@^4.0.0:
|
||||||
version "4.1.1"
|
version "4.1.1"
|
||||||
resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz"
|
resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz"
|
||||||
@ -5075,18 +4952,6 @@ create-jest@^29.7.0:
|
|||||||
jest-util "^29.7.0"
|
jest-util "^29.7.0"
|
||||||
prompts "^2.0.1"
|
prompts "^2.0.1"
|
||||||
|
|
||||||
create-require@^1.1.0:
|
|
||||||
version "1.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
|
|
||||||
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
|
|
||||||
|
|
||||||
cross-fetch@^3.1.5:
|
|
||||||
version "3.1.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82"
|
|
||||||
integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==
|
|
||||||
dependencies:
|
|
||||||
node-fetch "^2.6.12"
|
|
||||||
|
|
||||||
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
||||||
version "7.0.3"
|
version "7.0.3"
|
||||||
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
|
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
|
||||||
@ -5370,11 +5235,6 @@ delayed-stream@~1.0.0:
|
|||||||
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
|
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
|
||||||
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
|
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
|
||||||
|
|
||||||
delimit-stream@0.1.0:
|
|
||||||
version "0.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/delimit-stream/-/delimit-stream-0.1.0.tgz#9b8319477c0e5f8aeb3ce357ae305fc25ea1cd2b"
|
|
||||||
integrity sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==
|
|
||||||
|
|
||||||
detect-browser@5.3.0:
|
detect-browser@5.3.0:
|
||||||
version "5.3.0"
|
version "5.3.0"
|
||||||
resolved "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz"
|
resolved "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz"
|
||||||
@ -5395,11 +5255,6 @@ diff-sequences@^29.6.3:
|
|||||||
resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz"
|
resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz"
|
||||||
integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==
|
integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==
|
||||||
|
|
||||||
diff@^4.0.1:
|
|
||||||
version "4.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
|
||||||
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
|
|
||||||
|
|
||||||
dir-glob@^3.0.1:
|
dir-glob@^3.0.1:
|
||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
|
resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
|
||||||
@ -6775,7 +6630,7 @@ identity-obj-proxy@^3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
harmony-reflect "^1.4.6"
|
harmony-reflect "^1.4.6"
|
||||||
|
|
||||||
ieee754@^1.1.13, ieee754@^1.2.1:
|
ieee754@^1.2.1:
|
||||||
version "1.2.1"
|
version "1.2.1"
|
||||||
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
|
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
|
||||||
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
||||||
@ -7124,11 +6979,6 @@ isexe@^2.0.0:
|
|||||||
resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
|
resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
|
||||||
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
|
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
|
||||||
|
|
||||||
iso-url@~0.4.7:
|
|
||||||
version "0.4.7"
|
|
||||||
resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-0.4.7.tgz#de7e48120dae46921079fe78f325ac9e9217a385"
|
|
||||||
integrity sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==
|
|
||||||
|
|
||||||
isomorphic-ws@^4.0.1:
|
isomorphic-ws@^4.0.1:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz"
|
resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz"
|
||||||
@ -7580,11 +7430,6 @@ joycon@^3.0.1:
|
|||||||
resolved "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz"
|
resolved "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz"
|
||||||
integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==
|
integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==
|
||||||
|
|
||||||
js-sha256@0.9.0:
|
|
||||||
version "0.9.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966"
|
|
||||||
integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==
|
|
||||||
|
|
||||||
js-sha3@0.8.0, js-sha3@^0.8.0:
|
js-sha3@0.8.0, js-sha3@^0.8.0:
|
||||||
version "0.8.0"
|
version "0.8.0"
|
||||||
resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz"
|
resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz"
|
||||||
@ -7672,13 +7517,6 @@ json-stable-stringify-without-jsonify@^1.0.1:
|
|||||||
resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
|
resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
|
||||||
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
|
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
|
||||||
|
|
||||||
json-text-sequence@~0.1.0:
|
|
||||||
version "0.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/json-text-sequence/-/json-text-sequence-0.1.1.tgz#a72f217dc4afc4629fff5feb304dc1bd51a2f3d2"
|
|
||||||
integrity sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==
|
|
||||||
dependencies:
|
|
||||||
delimit-stream "0.1.0"
|
|
||||||
|
|
||||||
json5@^1.0.2:
|
json5@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz"
|
resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz"
|
||||||
@ -7970,11 +7808,6 @@ make-dir@^3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
semver "^6.0.0"
|
semver "^6.0.0"
|
||||||
|
|
||||||
make-error@^1.1.1:
|
|
||||||
version "1.3.6"
|
|
||||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
|
||||||
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
|
||||||
|
|
||||||
makeerror@1.0.12:
|
makeerror@1.0.12:
|
||||||
version "1.0.12"
|
version "1.0.12"
|
||||||
resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz"
|
resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz"
|
||||||
@ -8197,13 +8030,6 @@ node-addon-api@^5.0.0:
|
|||||||
resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz"
|
resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz"
|
||||||
integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==
|
integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==
|
||||||
|
|
||||||
node-fetch@^2.6.12:
|
|
||||||
version "2.7.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
|
|
||||||
integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
|
|
||||||
dependencies:
|
|
||||||
whatwg-url "^5.0.0"
|
|
||||||
|
|
||||||
node-fetch@^2.6.7:
|
node-fetch@^2.6.7:
|
||||||
version "2.6.9"
|
version "2.6.9"
|
||||||
resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz"
|
resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz"
|
||||||
@ -9437,11 +9263,6 @@ signal-exit@^4.1.0:
|
|||||||
resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz"
|
resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz"
|
||||||
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
|
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
|
||||||
|
|
||||||
simple-cbor@^0.4.1:
|
|
||||||
version "0.4.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/simple-cbor/-/simple-cbor-0.4.1.tgz#0c88312e87db52b94e0e92f6bd1cf634e86f8a22"
|
|
||||||
integrity sha512-rijcxtwx2b4Bje3sqeIqw5EeW7UlOIC4YfOdwqIKacpvRQ/D78bWg/4/0m5e0U91oKvlGh7LlJuZCu07ISCC7w==
|
|
||||||
|
|
||||||
sisteransi@^1.0.5:
|
sisteransi@^1.0.5:
|
||||||
version "1.0.5"
|
version "1.0.5"
|
||||||
resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz"
|
resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz"
|
||||||
@ -10024,25 +9845,6 @@ ts-invariant@^0.10.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
tslib "^2.1.0"
|
tslib "^2.1.0"
|
||||||
|
|
||||||
ts-node@^10.8.2:
|
|
||||||
version "10.9.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
|
|
||||||
integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
|
|
||||||
dependencies:
|
|
||||||
"@cspotcode/source-map-support" "^0.8.0"
|
|
||||||
"@tsconfig/node10" "^1.0.7"
|
|
||||||
"@tsconfig/node12" "^1.0.7"
|
|
||||||
"@tsconfig/node14" "^1.0.0"
|
|
||||||
"@tsconfig/node16" "^1.0.2"
|
|
||||||
acorn "^8.4.1"
|
|
||||||
acorn-walk "^8.1.1"
|
|
||||||
arg "^4.1.0"
|
|
||||||
create-require "^1.1.0"
|
|
||||||
diff "^4.0.1"
|
|
||||||
make-error "^1.1.1"
|
|
||||||
v8-compile-cache-lib "^3.0.1"
|
|
||||||
yn "3.1.1"
|
|
||||||
|
|
||||||
tsconfig-paths@^3.14.2:
|
tsconfig-paths@^3.14.2:
|
||||||
version "3.14.2"
|
version "3.14.2"
|
||||||
resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz"
|
resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz"
|
||||||
@ -10294,11 +10096,6 @@ utility-types@^3.10.0:
|
|||||||
resolved "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz"
|
resolved "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz"
|
||||||
integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==
|
integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==
|
||||||
|
|
||||||
v8-compile-cache-lib@^3.0.1:
|
|
||||||
version "3.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
|
|
||||||
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
|
|
||||||
|
|
||||||
v8-to-istanbul@^9.0.1:
|
v8-to-istanbul@^9.0.1:
|
||||||
version "9.1.0"
|
version "9.1.0"
|
||||||
resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz"
|
resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz"
|
||||||
@ -10627,11 +10424,6 @@ yargs@^17.3.1:
|
|||||||
y18n "^5.0.5"
|
y18n "^5.0.5"
|
||||||
yargs-parser "^21.1.1"
|
yargs-parser "^21.1.1"
|
||||||
|
|
||||||
yn@3.1.1:
|
|
||||||
version "3.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
|
|
||||||
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
|
|
||||||
|
|
||||||
yocto-queue@^0.1.0:
|
yocto-queue@^0.1.0:
|
||||||
version "0.1.0"
|
version "0.1.0"
|
||||||
resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
|
resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
|
||||||
|
Loading…
Reference in New Issue
Block a user