diff --git a/.verdaccio/config.yml b/.verdaccio/config.yml
new file mode 100644
index 000000000..5d7b31229
--- /dev/null
+++ b/.verdaccio/config.yml
@@ -0,0 +1,28 @@
+# path to a directory with all packages
+storage: ../tmp/local-registry/storage
+
+# a list of other known repositories we can talk to
+uplinks:
+ npmjs:
+ url: https://registry.yarnpkg.com
+ maxage: 60m
+
+packages:
+ '**':
+ # give all users (including non-authenticated users) full access
+ # because it is a local registry
+ access: $all
+ publish: $all
+ unpublish: $all
+
+ # if package is not available locally, proxy requests to npm registry
+ proxy: npmjs
+
+# log settings
+logs:
+ type: stdout
+ format: pretty
+ level: warn
+
+publish:
+ allow_offline: true # set offline to true to allow publish offline
diff --git a/apps/explorer/tailwind.config.js b/apps/explorer/tailwind.config.js
index beac189d1..51a2045f1 100644
--- a/apps/explorer/tailwind.config.js
+++ b/apps/explorer/tailwind.config.js
@@ -1,7 +1,9 @@
const { join } = require('path');
const { createGlobPatternsForDependencies } = require('@nx/react/tailwind');
-const theme = require('../../libs/tailwindcss-config/src/theme');
-const vegaCustomClasses = require('../../libs/tailwindcss-config/src/vega-custom-classes');
+const { theme } = require('../../libs/tailwindcss-config/src/theme');
+const {
+ vegaCustomClasses,
+} = require('../../libs/tailwindcss-config/src/vega-custom-classes');
module.exports = {
content: [
diff --git a/apps/governance/tailwind.config.js b/apps/governance/tailwind.config.js
index f3331619e..9f4de5379 100644
--- a/apps/governance/tailwind.config.js
+++ b/apps/governance/tailwind.config.js
@@ -1,9 +1,11 @@
const { join } = require('path');
const { createGlobPatternsForDependencies } = require('@nx/react/tailwind');
-const theme = require('../../libs/tailwindcss-config/src/theme');
-const vegaCustomClasses = require('../../libs/tailwindcss-config/src/vega-custom-classes');
+const { theme } = require('../../libs/tailwindcss-config/src/theme');
+const {
+ vegaCustomClasses,
+} = require('../../libs/tailwindcss-config/src/vega-custom-classes');
-module.exports = {
+export default {
content: [
join(__dirname, 'src/**/*.{js,ts,jsx,tsx}'),
'libs/ui-toolkit/src/utils/shared.ts',
diff --git a/apps/liquidity-provision-dashboard/.babelrc b/apps/liquidity-provision-dashboard/.babelrc
deleted file mode 100644
index 88ee27b14..000000000
--- a/apps/liquidity-provision-dashboard/.babelrc
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "presets": [
- [
- "@nx/react/babel",
- {
- "runtime": "automatic"
- }
- ]
- ],
- "plugins": []
-}
diff --git a/apps/liquidity-provision-dashboard/.browserslistrc b/apps/liquidity-provision-dashboard/.browserslistrc
deleted file mode 100644
index f1d12df4f..000000000
--- a/apps/liquidity-provision-dashboard/.browserslistrc
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file is used by:
-# 1. autoprefixer to adjust CSS to support the below specified browsers
-# 2. babel preset-env to adjust included polyfills
-#
-# For additional information regarding the format and rule options, please see:
-# https://github.com/browserslist/browserslist#queries
-#
-# If you need to support different browsers in production, you may tweak the list below.
-
-last 1 Chrome version
-last 1 Firefox version
-last 2 Edge major versions
-last 2 Safari major version
-last 2 iOS major versions
-Firefox ESR
-not IE 9-11 # For IE 9-11 support, remove 'not'.
\ No newline at end of file
diff --git a/apps/liquidity-provision-dashboard/.env b/apps/liquidity-provision-dashboard/.env
deleted file mode 100644
index 5cc9dfb8c..000000000
--- a/apps/liquidity-provision-dashboard/.env
+++ /dev/null
@@ -1,28 +0,0 @@
-# React Environment Variables
-# https://facebook.github.io/create-react-app/docs/adding-custom-environment-variables#expanding-environment-variables-in-env
-
-# Netlify Environment Variables
-# https://www.netlify.com/docs/continuous-deployment/#environment-variables
-NX_VERSION=\$npm_package_version
-NX_REPOSITORY_URL=\$REPOSITORY_URL
-NX_BRANCH=\$BRANCH
-NX_PULL_REQUEST=\$PULL_REQUEST
-NX_HEAD=\$HEAD
-NX_COMMIT_REF=\$COMMIT_REF
-NX_CONTEXT=\$CONTEXT
-NX_REVIEW_ID=\$REVIEW_ID
-NX_INCOMING_HOOK_TITLE=\$INCOMING_HOOK_TITLE
-NX_INCOMING_HOOK_URL=\$INCOMING_HOOK_URL
-NX_INCOMING_HOOK_BODY=\$INCOMING_HOOK_BODY
-NX_URL=\$URL
-NX_DEPLOY_URL=\$DEPLOY_URL
-NX_DEPLOY_PRIME_URL=\$DEPLOY_PRIME_URL
-NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/fairground/vegawallet-fairground.toml
-NX_VEGA_ENV = 'TESTNET'
-NX_VEGA_URL="https://api.n07.testnet.vega.xyz/graphql"
-NX_VEGA_WALLET_URL=http://localhost:1789
-NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
-NX_ETHERSCAN_URL=https://sepolia.etherscan.io
-NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://trading.stagnet1.vega.rocks\"}
-NX_VEGA_EXPLORER_URL=https://explorer.fairground.wtf
-NX_VEGA_CONSOLE_URL=https://console.fairground.wtf
diff --git a/apps/liquidity-provision-dashboard/.env.capsule b/apps/liquidity-provision-dashboard/.env.capsule
deleted file mode 100644
index 6bc5b34a1..000000000
--- a/apps/liquidity-provision-dashboard/.env.capsule
+++ /dev/null
@@ -1,3 +0,0 @@
-# App configuration variables
-NX_VEGA_URL=http://localhost:3008/graphql
-NX_VEGA_ENV=LOCAL
diff --git a/apps/liquidity-provision-dashboard/.env.devnet b/apps/liquidity-provision-dashboard/.env.devnet
deleted file mode 100644
index 112c12354..000000000
--- a/apps/liquidity-provision-dashboard/.env.devnet
+++ /dev/null
@@ -1,8 +0,0 @@
-# App configuration variables
-NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/devnet1/vegawallet-devnet1.toml
-NX_VEGA_URL=https://api.n04.d.vega.xyz/graphql
-NX_VEGA_ENV=DEVNET
-NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://trading.stagnet1.vega.rocks\"}
-NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
-NX_ETHERSCAN_URL=https://sepolia.etherscan.io
-NX_VEGA_EXPLORER_URL=#
diff --git a/apps/liquidity-provision-dashboard/.env.mainnet b/apps/liquidity-provision-dashboard/.env.mainnet
deleted file mode 100644
index f49f68cbd..000000000
--- a/apps/liquidity-provision-dashboard/.env.mainnet
+++ /dev/null
@@ -1,9 +0,0 @@
-# App configuration variables
-NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks/master/mainnet1/mainnet1.toml
-NX_VEGA_URL=https://api.vega.community/graphql
-NX_VEGA_ENV=MAINNET
-NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\"}
-NX_ETHEREUM_PROVIDER_URL=https://mainnet.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
-NX_ETHERSCAN_URL=https://etherscan.io
-NX_VEGA_EXPLORER_URL=https://explorer.vega.xyz
-NX_VEGA_CONSOLE_URL=https://console.vega.xyz
diff --git a/apps/liquidity-provision-dashboard/.env.stagnet1 b/apps/liquidity-provision-dashboard/.env.stagnet1
deleted file mode 100644
index 035c634de..000000000
--- a/apps/liquidity-provision-dashboard/.env.stagnet1
+++ /dev/null
@@ -1,9 +0,0 @@
-# App configuration variables
-NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet1/vegawallet-stagnet1.toml
-NX_VEGA_URL=https://api.n00.stagnet1.vega.xyz/graphql
-NX_VEGA_ENV=STAGNET1
-NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
-NX_ETHERSCAN_URL=https://sepolia.etherscan.io
-NX_VEGA_EXPLORER_URL=https://explorer.stagnet1.vega.rocks
-NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://trading.stagnet1.vega.rocks\"}
-
diff --git a/apps/liquidity-provision-dashboard/.env.testnet b/apps/liquidity-provision-dashboard/.env.testnet
deleted file mode 100644
index 8b73dcbca..000000000
--- a/apps/liquidity-provision-dashboard/.env.testnet
+++ /dev/null
@@ -1,9 +0,0 @@
-# App configuration variables
-NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/fairground/vegawallet-fairground.toml
-NX_VEGA_URL=https://api.n07.testnet.vega.xyz/graphql
-NX_VEGA_ENV=TESTNET
-NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\"}
-NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
-NX_ETHERSCAN_URL=https://sepolia.etherscan.io
-NX_VEGA_EXPLORER_URL=https://explorer.fairground.wtf
-NX_VEGA_CONSOLE_URL=https://console.fairground.wtf
diff --git a/apps/liquidity-provision-dashboard/.eslintrc.json b/apps/liquidity-provision-dashboard/.eslintrc.json
deleted file mode 100644
index f3153d3b4..000000000
--- a/apps/liquidity-provision-dashboard/.eslintrc.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "extends": ["plugin:@nx/react", "../../.eslintrc.json"],
- "ignorePatterns": ["!**/*", "__generated__"],
- "overrides": [
- {
- "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
- "rules": {}
- },
- {
- "files": ["*.ts", "*.tsx"],
- "rules": {}
- },
- {
- "files": ["*.js", "*.jsx"],
- "rules": {}
- }
- ]
-}
diff --git a/apps/liquidity-provision-dashboard/jest.config.ts b/apps/liquidity-provision-dashboard/jest.config.ts
deleted file mode 100644
index 03d03da6c..000000000
--- a/apps/liquidity-provision-dashboard/jest.config.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-/* eslint-disable */
-export default {
- displayName: 'liquidity-provision-dashboard',
- preset: '../../jest.preset.js',
- transform: {
- '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nx/react/plugins/jest',
- '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nx/next/babel'] }],
- },
- moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
- coverageDirectory: '../../coverage/apps/liquidity-provision-dashboard',
-};
diff --git a/apps/liquidity-provision-dashboard/postcss.config.js b/apps/liquidity-provision-dashboard/postcss.config.js
deleted file mode 100644
index cbdd9c22c..000000000
--- a/apps/liquidity-provision-dashboard/postcss.config.js
+++ /dev/null
@@ -1,10 +0,0 @@
-const { join } = require('path');
-
-module.exports = {
- plugins: {
- tailwindcss: {
- config: join(__dirname, 'tailwind.config.js'),
- },
- autoprefixer: {},
- },
-};
diff --git a/apps/liquidity-provision-dashboard/project.json b/apps/liquidity-provision-dashboard/project.json
deleted file mode 100644
index c8193aeee..000000000
--- a/apps/liquidity-provision-dashboard/project.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "name": "liquidity-provision-dashboard",
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
- "sourceRoot": "apps/liquidity-provision-dashboard/src",
- "projectType": "application",
- "targets": {
- "build": {
- "executor": "@nx/webpack:webpack",
- "outputs": ["{options.outputPath}"],
- "defaultConfiguration": "production",
- "options": {
- "compiler": "babel",
- "outputPath": "dist/apps/liquidity-provision-dashboard",
- "index": "apps/liquidity-provision-dashboard/src/index.html",
- "baseHref": "/",
- "main": "apps/liquidity-provision-dashboard/src/main.tsx",
- "polyfills": "apps/liquidity-provision-dashboard/src/polyfills.ts",
- "tsConfig": "apps/liquidity-provision-dashboard/tsconfig.app.json",
- "assets": [
- "apps/liquidity-provision-dashboard/src/favicon.ico",
- "apps/liquidity-provision-dashboard/src/assets"
- ],
- "styles": ["apps/liquidity-provision-dashboard/src/styles.scss"],
- "scripts": [],
- "webpackConfig": "@nx/react/plugins/webpack"
- },
- "configurations": {
- "development": {
- "extractLicenses": false,
- "optimization": false,
- "sourceMap": true,
- "vendorChunk": true
- },
- "production": {
- "fileReplacements": [
- {
- "replace": "apps/liquidity-provision-dashboard/src/environments/environment.ts",
- "with": "apps/liquidity-provision-dashboard/src/environments/environment.prod.ts"
- }
- ],
- "optimization": true,
- "outputHashing": "all",
- "sourceMap": false,
- "namedChunks": false,
- "extractLicenses": true,
- "vendorChunk": false
- }
- }
- },
- "serve": {
- "executor": "@nx/webpack:dev-server",
- "options": {
- "buildTarget": "liquidity-provision-dashboard:build",
- "hmr": true,
- "port": 4201
- },
- "configurations": {
- "development": {
- "buildTarget": "liquidity-provision-dashboard:build:development"
- },
- "production": {
- "buildTarget": "liquidity-provision-dashboard:build:production",
- "hmr": false
- }
- }
- },
- "lint": {
- "executor": "@nx/eslint:lint",
- "outputs": ["{options.outputFile}"],
- "options": {
- "lintFilePatterns": [
- "apps/liquidity-provision-dashboard/**/*.{ts,tsx,js,jsx}"
- ]
- }
- },
- "test": {
- "executor": "@nx/jest:jest",
- "outputs": [
- "{workspaceRoot}/coverage/apps/liquidity-provision-dashboard"
- ],
- "options": {
- "jestConfig": "apps/liquidity-provision-dashboard/jest.config.ts"
- }
- },
- "build-spec": {
- "executor": "nx:run-commands",
- "outputs": [],
- "options": {
- "command": "yarn tsc --project ./apps/liquidity-provision-dashboard/tsconfig.spec.json"
- }
- }
- },
- "tags": []
-}
diff --git a/apps/liquidity-provision-dashboard/src/app/app.tsx b/apps/liquidity-provision-dashboard/src/app/app.tsx
deleted file mode 100644
index 357d05186..000000000
--- a/apps/liquidity-provision-dashboard/src/app/app.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import type { InMemoryCacheConfig } from '@apollo/client';
-import { NetworkLoader, useInitializeEnv } from '@vegaprotocol/environment';
-import { useRoutes } from 'react-router-dom';
-
-import '../styles.scss';
-import { Navbar } from './components/navbar';
-
-import { routerConfig } from './routes/router-config';
-
-const cache: InMemoryCacheConfig = {
- typePolicies: {
- Market: {
- merge: true,
- },
- Party: {
- merge: true,
- },
- Query: {},
- Account: {
- keyFields: false,
- fields: {
- balanceFormatted: {},
- },
- },
- Node: {
- keyFields: false,
- },
- Instrument: {
- keyFields: false,
- },
- },
-};
-const AppRouter = () => useRoutes(routerConfig);
-
-export function App() {
- useInitializeEnv();
- return (
-
-
-
- );
-}
-
-export default App;
diff --git a/apps/liquidity-provision-dashboard/src/app/components/dashboard/dashboard.tsx b/apps/liquidity-provision-dashboard/src/app/components/dashboard/dashboard.tsx
deleted file mode 100644
index 58a4bf70f..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/dashboard/dashboard.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { t } from '@vegaprotocol/i18n';
-
-import { Intro } from './intro';
-import { MarketList } from './market-list';
-
-export function Dashboard() {
- return (
- <>
-
-
-
- {t('Top liquidity opportunities')}
-
-
-
-
-
-
- >
- );
-}
diff --git a/apps/liquidity-provision-dashboard/src/app/components/dashboard/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/dashboard/index.tsx
deleted file mode 100644
index b58b6c922..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/dashboard/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './dashboard';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/dashboard/intro/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/dashboard/intro/index.tsx
deleted file mode 100644
index b2a6383e2..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/dashboard/intro/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './intro';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/dashboard/intro/intro.tsx b/apps/liquidity-provision-dashboard/src/app/components/dashboard/intro/intro.tsx
deleted file mode 100644
index 013c54191..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/dashboard/intro/intro.tsx
+++ /dev/null
@@ -1,53 +0,0 @@
-import { t } from '@vegaprotocol/i18n';
-import { ExternalLink } from '@vegaprotocol/ui-toolkit';
-
-// TODO: add mainnet links once docs have been updated
-const LINKS = {
- testnet: [
- {
- label: 'Learn about liquidity fees',
- url: 'https://docs.vega.xyz/testnet/tutorials/providing-liquidity#resources',
- },
- {
- label: 'Provide liquidity',
- url: 'https://docs.vega.xyz/testnet/tutorials/providing-liquidity#overview',
- },
- {
- label: 'View your liquidity provisions',
- url: 'https://docs.vega.xyz/testnet/tutorials/providing-liquidity#viewing-existing-liquidity-provisions',
- },
- {
- label: 'Amend or remove liquidity',
- url: 'https://docs.vega.xyz/testnet/tutorials/providing-liquidity#amending-a-liquidity-commitment',
- },
- ],
- mainnet: [],
-};
-
-// TODO: update this when network switcher is added
-type Network = 'testnet' | 'mainnet';
-
-export const Intro = ({ network = 'testnet' }: { network?: Network }) => {
- return (
-
-
- {t(
- 'Become a liquidity provider and earn a cut of the fees paid during trading.'
- )}
-
-
-
- {LINKS[network].map(
- ({ label, url }: { label: string; url: string }) => (
- -
-
- {t(label)}
-
-
- )
- )}
-
-
-
- );
-};
diff --git a/apps/liquidity-provision-dashboard/src/app/components/dashboard/market-list/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/dashboard/market-list/index.tsx
deleted file mode 100644
index 9c45ed531..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/dashboard/market-list/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './market-list';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/dashboard/market-list/market-list.tsx b/apps/liquidity-provision-dashboard/src/app/components/dashboard/market-list/market-list.tsx
deleted file mode 100644
index 0ad2c2446..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/dashboard/market-list/market-list.tsx
+++ /dev/null
@@ -1,296 +0,0 @@
-import { DApp, useLinks } from '@vegaprotocol/environment';
-import { type Market } from '@vegaprotocol/liquidity';
-import {
- displayChange,
- formatWithAsset,
- useMarketsLiquidity,
-} from '@vegaprotocol/liquidity';
-import {
- addDecimalsFormatNumber,
- formatNumberPercentage,
- getExpiryDate,
- toBigNum,
-} from '@vegaprotocol/utils';
-import { t } from '@vegaprotocol/i18n';
-import { type VegaValueFormatterParams } from '@vegaprotocol/datagrid';
-import { PriceChangeCell } from '@vegaprotocol/datagrid';
-import type * as Schema from '@vegaprotocol/types';
-import {
- AsyncRenderer,
- Icon,
- HealthBar,
- TooltipCellComponent,
-} from '@vegaprotocol/ui-toolkit';
-import {
- type GetRowIdParams,
- type RowClickedEvent,
- type ColDef,
-} from 'ag-grid-community';
-import 'ag-grid-community/styles/ag-grid.css';
-import 'ag-grid-community/styles/ag-theme-alpine.css';
-import { useCallback, useState, useMemo } from 'react';
-
-import { Grid } from '../../grid';
-import { HealthDialog } from '../../health-dialog';
-import { Status } from '../../status';
-import { intentForStatus } from '../../../lib/utils';
-import { formatDistanceToNow } from 'date-fns';
-import { getAsset } from '@vegaprotocol/markets';
-
-export const MarketList = () => {
- const { data, error, loading } = useMarketsLiquidity();
- const [isHealthDialogOpen, setIsHealthDialogOpen] = useState(false);
- const consoleLink = useLinks(DApp.Console);
-
- const getRowId = useCallback(({ data }: GetRowIdParams) => data.id, []);
- const columnDefs = useMemo(
- () => [
- {
- headerName: t('Market (futures)'),
- field: 'tradableInstrument.instrument.name',
- cellRenderer: ({ value, data }: { value: string; data: Market }) => {
- return (
- <>
- {value}
- {getAsset(data).symbol}
- >
- );
- },
- minWidth: 100,
- flex: 1,
- headerTooltip: t('The market name and settlement asset'),
- },
-
- {
- headerName: t('Market Code'),
- headerTooltip: t(
- 'The market code is a unique identifier for this market'
- ),
- field: 'tradableInstrument.instrument.code',
- },
-
- {
- headerName: t('Type'),
- headerTooltip: t('Type'),
- field: 'tradableInstrument.instrument.product.__typename',
- },
-
- {
- headerName: t('Last Price'),
- headerTooltip: t('Latest price for this market'),
- field: 'data.markPrice',
- valueFormatter: ({
- value,
- data,
- }: VegaValueFormatterParams) =>
- value && data ? formatWithAsset(value, getAsset(data)) : '-',
- },
-
- {
- headerName: t('Change (24h)'),
- headerTooltip: t('Change in price over the last 24h'),
- cellRenderer: ({
- data,
- }: VegaValueFormatterParams) => {
- if (data && data.candles) {
- const prices = data.candles.map((candle) => candle.close);
- return (
-
- );
- } else return {t('-')}
;
- },
- },
-
- {
- headerName: t('Volume (24h)'),
- field: 'dayVolume',
- valueFormatter: ({
- value,
- data,
- }: VegaValueFormatterParams) =>
- value && data
- ? `${addDecimalsFormatNumber(
- value,
- getAsset(data).decimals || 0
- )} (${displayChange(data.volumeChange)})`
- : '-',
- headerTooltip: t('The trade volume over the last 24h'),
- },
-
- {
- headerName: t('Total staked by LPs'),
- field: 'liquidityCommitted',
- valueFormatter: ({
- value,
- data,
- }: VegaValueFormatterParams) =>
- data && value
- ? formatWithAsset(value.toString(), getAsset(data))
- : '-',
- headerTooltip: t('The amount of funds allocated to provide liquidity'),
- },
-
- {
- headerName: t('Target stake'),
- field: 'target',
- valueFormatter: ({
- value,
- data,
- }: VegaValueFormatterParams) =>
- data && value ? formatWithAsset(value, getAsset(data)) : '-',
- headerTooltip: t(
- 'The ideal committed liquidity to operate the market. If total commitment currently below this level then LPs can set the fee level with new commitment.'
- ),
- },
-
- {
- headerName: t('% Target stake met'),
- valueFormatter: ({ data }: VegaValueFormatterParams) => {
- if (data) {
- const roundedPercentage =
- parseInt(
- (data.liquidityCommitted / parseFloat(data.target)).toFixed(0)
- ) * 100;
- const display = Number.isNaN(roundedPercentage)
- ? 'N/A'
- : formatNumberPercentage(toBigNum(roundedPercentage, 0), 0);
- return display;
- } else return '-';
- },
- headerTooltip: t('% Target stake met'),
- },
-
- {
- headerName: t('Fee levels'),
- field: 'fees',
- valueFormatter: ({ value }: VegaValueFormatterParams) =>
- value ? `${value.factors.liquidityFee}%` : '-',
- headerTooltip: t('Fee level for this market'),
- },
-
- {
- headerName: t('Status'),
- field: 'tradingMode',
- cellRenderer: ({
- value,
- data,
- }: {
- value: Schema.MarketTradingMode;
- data: Market;
- }) => {
- return ;
- },
- headerTooltip: t(
- 'The current market status - those below the target stake mark are most in need of liquidity'
- ),
- },
-
- {
- headerComponent: () => {
- return (
-
- {t('Health')}{' '}
-
-
- );
- },
- field: 'tradingMode',
- cellRenderer: ({
- value,
- data,
- }: {
- value: Schema.MarketTradingMode;
- data: Market;
- }) => (
-
- ),
- sortable: false,
- cellStyle: { overflow: 'unset' },
- },
- {
- headerName: t('Age'),
- field: 'marketTimestamps.open',
- headerTooltip: t('Age of the market'),
- valueFormatter: ({
- value,
- }: VegaValueFormatterParams) => {
- return value ? formatDistanceToNow(new Date(value)) : '-';
- },
- },
- {
- headerName: t('Closing Time'),
- field: 'tradableInstrument.instrument.metadata.tags',
- headerTooltip: t('Closing time of the market'),
- valueFormatter: ({ data }: VegaValueFormatterParams) => {
- let expiry;
- if (data?.tradableInstrument.instrument.metadata.tags) {
- expiry = getExpiryDate(
- data?.tradableInstrument.instrument.metadata.tags,
- data?.marketTimestamps.close,
- data?.state
- );
- }
- return expiry ? expiry : '-';
- },
- },
- ],
- []
- );
-
- return (
-
-
- {
- window.open(
- liquidityDetailsConsoleLink(data.id, consoleLink),
- '_blank',
- 'noopener,noreferrer'
- );
- },
- }}
- rowData={data}
- defaultColDef={{
- resizable: true,
- sortable: true,
- unSortIcon: true,
- cellClass: ['flex', 'flex-col', 'justify-center'],
- tooltipComponent: TooltipCellComponent,
- }}
- columnDefs={columnDefs}
- getRowId={getRowId}
- isRowClickable
- tooltipShowDelay={500}
- />
- {
- setIsHealthDialogOpen(!isHealthDialogOpen);
- }}
- />
-
-
- );
-};
-
-const liquidityDetailsConsoleLink = (
- marketId: string,
- consoleLink: (url: string | undefined) => string
-) => consoleLink(`/#/liquidity/${marketId}`);
diff --git a/apps/liquidity-provision-dashboard/src/app/components/detail/detail.tsx b/apps/liquidity-provision-dashboard/src/app/components/detail/detail.tsx
deleted file mode 100644
index 846ccfaf6..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/detail/detail.tsx
+++ /dev/null
@@ -1,103 +0,0 @@
-import { useParams } from 'react-router-dom';
-import { makeDerivedDataProvider } from '@vegaprotocol/data-provider';
-import { t } from '@vegaprotocol/i18n';
-import { useDataProvider } from '@vegaprotocol/data-provider';
-import { AsyncRenderer } from '@vegaprotocol/ui-toolkit';
-
-import {
- getFeeLevels,
- sumLiquidityCommitted,
- lpAggregatedDataProvider,
-} from '@vegaprotocol/liquidity';
-import { getAsset, marketWithDataProvider } from '@vegaprotocol/markets';
-import type { MarketWithData } from '@vegaprotocol/markets';
-
-import { Market } from './market';
-import { Header } from './header';
-import { LPProvidersGrid } from './providers';
-
-const formatMarket = (market: MarketWithData) => {
- return {
- name: market?.tradableInstrument.instrument.name,
- symbol: getAsset(market).symbol,
- settlementAsset: getAsset(market),
- targetStake: market?.data?.targetStake,
- tradingMode: market?.data?.marketTradingMode,
- trigger: market?.data?.trigger,
- };
-};
-
-export const lpDataProvider = makeDerivedDataProvider(
- [marketWithDataProvider, lpAggregatedDataProvider],
- ([market, lpAggregatedData]) => ({
- market: { ...formatMarket(market) },
- liquidityProviders: lpAggregatedData || [],
- })
-);
-
-const useMarketDetails = (marketId: string | undefined) => {
- const { data, loading, error } = useDataProvider({
- dataProvider: lpDataProvider,
- skipUpdates: true,
- variables: { marketId: marketId || '' },
- });
-
- const liquidityProviders = data?.liquidityProviders || [];
-
- return {
- data: {
- name: data?.market?.name,
- symbol: data?.market?.symbol,
- liquidityProviders: liquidityProviders,
- feeLevels: getFeeLevels(liquidityProviders),
- comittedLiquidity: sumLiquidityCommitted(liquidityProviders) || 0,
- settlementAsset: data?.market?.settlementAsset || {},
- targetStake: data?.market?.targetStake || '0',
- tradingMode: data?.market.tradingMode,
- },
- error,
- loading: loading,
- };
-};
-
-type Params = { marketId: string };
-
-export const Detail = () => {
- const { marketId } = useParams();
- const { data, loading, error } = useMarketDetails(marketId);
-
- return (
-
-
-
-
-
- {marketId && (
-
- )}
-
-
-
- {t('Current Liquidity Provision')}
-
-
-
-
-
-
- );
-};
diff --git a/apps/liquidity-provision-dashboard/src/app/components/detail/header/header.tsx b/apps/liquidity-provision-dashboard/src/app/components/detail/header/header.tsx
deleted file mode 100644
index abf8efc7c..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/detail/header/header.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { t } from '@vegaprotocol/i18n';
-import { Link } from 'react-router-dom';
-import { Icon } from '@vegaprotocol/ui-toolkit';
-
-export const Header = ({
- name,
- symbol,
-}: {
- name?: string;
- symbol?: string;
-}) => {
- return (
-
-
-
-
-
- {t('Liquidity opportunities')}
-
-
-
-
{name}
-
{symbol}
-
- );
-};
diff --git a/apps/liquidity-provision-dashboard/src/app/components/detail/header/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/detail/header/index.tsx
deleted file mode 100644
index 677ca79d4..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/detail/header/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './header';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/detail/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/detail/index.tsx
deleted file mode 100644
index 15e42dcdb..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/detail/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './detail';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/detail/last-24h-volume/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/detail/last-24h-volume/index.tsx
deleted file mode 100644
index 14d12f818..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/detail/last-24h-volume/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './last-24h-volume';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/detail/last-24h-volume/last-24h-volume.tsx b/apps/liquidity-provision-dashboard/src/app/components/detail/last-24h-volume/last-24h-volume.tsx
deleted file mode 100644
index 5a572a3ff..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/detail/last-24h-volume/last-24h-volume.tsx
+++ /dev/null
@@ -1,108 +0,0 @@
-import { useState, useMemo, useRef, useCallback } from 'react';
-import throttle from 'lodash/throttle';
-import { addDecimalsFormatNumber } from '@vegaprotocol/utils';
-import { useYesterday } from '@vegaprotocol/react-helpers';
-import { useDataProvider } from '@vegaprotocol/data-provider';
-import * as Schema from '@vegaprotocol/types';
-import {
- calcDayVolume,
- getChange,
- displayChange,
-} from '@vegaprotocol/liquidity';
-
-import type { Candle } from '@vegaprotocol/markets';
-import { marketCandlesProvider } from '@vegaprotocol/markets';
-
-const THROTTLE_UPDATE_TIME = 500;
-
-export const Last24hVolume = ({
- marketId,
- decimals,
-}: {
- marketId: string;
- decimals: number;
-}) => {
- const [candleVolume, setCandleVolume] = useState();
- const [volumeChange, setVolumeChange] = useState(' - ');
-
- const yesterday = useYesterday();
-
- const yTimestamp = useMemo(() => {
- return new Date(yesterday).toISOString();
- }, [yesterday]);
-
- const variables = useMemo(
- () => ({
- marketId: marketId,
- interval: Schema.Interval.INTERVAL_I1H,
- since: yTimestamp,
- }),
- [marketId, yTimestamp]
- );
-
- const variables24hAgo = {
- marketId: marketId,
- interval: Schema.Interval.INTERVAL_I1D,
- since: yTimestamp,
- };
-
- const throttledSetCandles = useRef(
- throttle((data: Candle[]) => {
- setCandleVolume(calcDayVolume(data));
- }, THROTTLE_UPDATE_TIME)
- ).current;
-
- const update = useCallback(
- ({ data }: { data: Candle[] | null }) => {
- if (data) {
- throttledSetCandles(data);
- }
- return true;
- },
- [throttledSetCandles]
- );
-
- const { data, error } = useDataProvider({
- dataProvider: marketCandlesProvider,
- variables: variables,
- update,
- skip: !marketId,
- });
-
- const throttledSetVolumeChange = useRef(
- throttle((candles: Candle[]) => {
- const candle24hAgo = candles?.[0];
- setVolumeChange(getChange(data || [], candle24hAgo?.close));
- }, THROTTLE_UPDATE_TIME)
- ).current;
-
- const updateCandle24hAgo = useCallback(
- ({ data }: { data: Candle[] | null }) => {
- if (data) {
- throttledSetVolumeChange(data);
- }
- return true;
- },
- [throttledSetVolumeChange]
- );
-
- useDataProvider({
- dataProvider: marketCandlesProvider,
- update: updateCandle24hAgo,
- variables: variables24hAgo,
- skip: !marketId || !data,
- });
-
- return (
-
-
- {!error && candleVolume
- ? addDecimalsFormatNumber(candleVolume, decimals)
- : '0'}{' '}
-
-
- ({displayChange(volumeChange)})
-
-
- );
-};
diff --git a/apps/liquidity-provision-dashboard/src/app/components/detail/market/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/detail/market/index.tsx
deleted file mode 100644
index 9fc9e360b..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/detail/market/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './market';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/detail/market/market.tsx b/apps/liquidity-provision-dashboard/src/app/components/detail/market/market.tsx
deleted file mode 100644
index 9a371165a..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/detail/market/market.tsx
+++ /dev/null
@@ -1,118 +0,0 @@
-import { useState } from 'react';
-import { t } from '@vegaprotocol/i18n';
-import { Icon, HealthBar } from '@vegaprotocol/ui-toolkit';
-import { formatWithAsset } from '@vegaprotocol/liquidity';
-
-import type * as Schema from '@vegaprotocol/types';
-import { HealthDialog } from '../../health-dialog';
-import { Last24hVolume } from '../last-24h-volume';
-import { Status } from '../../status';
-import { intentForStatus } from '../../../lib/utils';
-
-interface Levels {
- fee: string;
- commitmentAmount: number;
-}
-
-interface settlementAsset {
- symbol?: string;
- decimals?: number;
-}
-
-export const Market = ({
- marketId,
- feeLevels,
- comittedLiquidity,
- settlementAsset,
- targetStake,
- tradingMode,
- trigger,
-}: {
- marketId: string;
- feeLevels: Levels[];
- comittedLiquidity: number;
- targetStake: string;
- settlementAsset?: settlementAsset;
- tradingMode?: Schema.MarketTradingMode;
- trigger?: Schema.AuctionTrigger;
-}) => {
- const [isHealthDialogOpen, setIsHealthDialogOpen] = useState(false);
-
- return (
-
-
-
-
-
- {t('Volume (24h)')} |
- {t('Commited Liquidity')} |
- {t('Status')} |
-
- {t('Health')}{' '}
-
- |
- {t('Est. APY')} |
-
-
-
-
-
-
- {marketId && settlementAsset?.decimals && (
-
- )}
-
- |
-
-
- {comittedLiquidity && settlementAsset
- ? formatWithAsset(`${comittedLiquidity}`, settlementAsset)
- : '0'}
-
- |
-
-
- |
-
- {tradingMode && settlementAsset?.decimals && feeLevels && (
-
- )}
- |
-
-
- |
-
-
-
-
-
-
{
- setIsHealthDialogOpen(!isHealthDialogOpen);
- }}
- />
-
- );
-};
diff --git a/apps/liquidity-provision-dashboard/src/app/components/detail/providers/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/detail/providers/index.tsx
deleted file mode 100644
index 254ec8d9f..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/detail/providers/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './providers';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/detail/providers/providers.tsx b/apps/liquidity-provision-dashboard/src/app/components/detail/providers/providers.tsx
deleted file mode 100644
index 1c9915deb..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/detail/providers/providers.tsx
+++ /dev/null
@@ -1,125 +0,0 @@
-import { useCallback, useMemo } from 'react';
-
-import { type GetRowIdParams, type ColDef } from 'ag-grid-community';
-import { t } from '@vegaprotocol/i18n';
-
-import {
- type LiquidityProviderFeeShareFieldsFragment,
- type LiquidityProvisionFieldsFragment,
-} from '@vegaprotocol/liquidity';
-import { formatWithAsset } from '@vegaprotocol/liquidity';
-
-import { Grid } from '../../grid';
-import { TooltipCellComponent } from '@vegaprotocol/ui-toolkit';
-
-const formatToHours = ({ value }: { value?: string | null }) => {
- if (!value) {
- return '-';
- }
-
- const MS_IN_HOUR = 1000 * 60 * 60;
- const created = new Date(value).getTime();
- const now = new Date().getTime();
- return `${Math.round(Math.abs(now - created) / MS_IN_HOUR)}h`;
-};
-
-export const LPProvidersGrid = ({
- liquidityProviders,
- settlementAsset,
-}: {
- liquidityProviders: LiquidityProvisionFieldsFragment &
- LiquidityProviderFeeShareFieldsFragment[];
- settlementAsset: {
- decimals?: number;
- symbol?: string;
- };
-}) => {
- const getRowId = useCallback(({ data }: GetRowIdParams) => data.party.id, []);
- const columnDefs = useMemo(
- () => [
- {
- headerName: t('LPs'),
- field: 'party.id',
- flex: 1,
- minWidth: 100,
- headerTooltip: t('Liquidity providers'),
- },
- {
- headerName: t('Duration'),
- valueFormatter: formatToHours,
- field: 'createdAt',
- headerTooltip: t('Time in market'),
- },
- {
- headerName: t('Equity-like share'),
- field: 'equityLikeShare',
- valueFormatter: ({ value }: { value?: string | null }) => {
- return value
- ? `${parseFloat(parseFloat(value).toFixed(2)) * 100}%`
- : '';
- },
- headerTooltip: t(
- 'The share of the markets liquidity held - the earlier you commit liquidity the greater % fees you earn'
- ),
- minWidth: 140,
- },
- {
- headerName: t('committed bond'),
- field: 'commitmentAmount',
- valueFormatter: ({ value }: { value?: string | null }) =>
- value ? formatWithAsset(value, settlementAsset) : '0',
- headerTooltip: t('The amount of funds allocated to provide liquidity'),
- minWidth: 140,
- },
- {
- headerName: t('Margin Req.'),
- field: 'margin',
- headerTooltip: t(
- 'Margin required for arising positions based on liquidity commitment'
- ),
- },
- {
- headerName: t('24h Fees'),
- field: 'fees',
- headerTooltip: t(
- 'Total fees earned by the liquidity provider in the last 24 hours'
- ),
- },
- {
- headerName: t('Fee level'),
- valueFormatter: ({ value }: { value?: string | null }) => `${value}%`,
- field: 'fee',
- headerTooltip: t(
- "The market's liquidity fee, or the percentage of a trade's value which is collected from the price taker for every trade"
- ),
- },
-
- {
- headerName: t('APY'),
- field: 'apy',
- headerTooltip: t(
- 'An annualised estimate based on the total liquidity provision fees and maker fees collected by liquidity providers, the maximum margin needed and maximum commitment (bond) over the course of 7 epochs'
- ),
- },
- ],
- [settlementAsset]
- );
-
- return (
-
- );
-};
diff --git a/apps/liquidity-provision-dashboard/src/app/components/grid/grid.scss b/apps/liquidity-provision-dashboard/src/app/components/grid/grid.scss
deleted file mode 100644
index 2b1ac6601..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/grid/grid.scss
+++ /dev/null
@@ -1,50 +0,0 @@
-.ag-theme-alpine {
- --ag-line-height: 24px;
- --ag-row-hover-color: transparent;
- --ag-header-background-color: transparent;
- --ag-odd-row-background-color: transparent;
- --ag-header-foreground-color: #626262;
- --ag-secondary-foreground-color: #626262;
- --ag-font-size: 16px;
- --ag-background-color: transparent;
- --ag-range-selection-border-color: transparent;
-
- font-family: AlphaLyrae, Helvetica Neue, -apple-system, BlinkMacSystemFont,
- Segoe UI, Roboto, Arial, Noto Sans, sans-serif, Apple Color Emoji,
- Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
- font-feature-settings: 'liga' off, 'calt' off;
-}
-
-.ag-theme-alpine .ag-cell {
- display: flex;
-}
-
-.ag-theme-alpine .ag-header {
- border-bottom: 1px solid #a7a7a7;
- font-size: 15px;
- line-height: 1em;
- text-transform: uppercase;
-}
-
-.ag-theme-alpine .ag-root-wrapper {
- border: none;
-}
-
-.ag-theme-alpine .ag-header-row {
- font-weight: 500;
-}
-
-.ag-theme-alpine .ag-row {
- border: none;
- border-bottom: 1px solid #bfccd6;
- font-size: 12px;
-}
-
-.ag-theme-alpine .ag-root-wrapper-body.ag-layout-normal {
- height: auto;
-}
-
-.ag-theme-alpine.row-hover .ag-row:hover {
- background: #f0f0f0;
- cursor: pointer;
-}
diff --git a/apps/liquidity-provision-dashboard/src/app/components/grid/grid.tsx b/apps/liquidity-provision-dashboard/src/app/components/grid/grid.tsx
deleted file mode 100644
index 8483b97af..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/grid/grid.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import { useRef, useCallback, useEffect } from 'react';
-import { AgGridReact } from 'ag-grid-react';
-import {
- type AgGridReactProps,
- type AgReactUiProps,
- type AgGridReact as AgGridReactType,
-} from 'ag-grid-react';
-import classNames from 'classnames';
-import 'ag-grid-community/styles/ag-grid.css';
-import 'ag-grid-community/styles/ag-theme-alpine.css';
-
-import './grid.scss';
-
-type Props = (AgGridReactProps | AgReactUiProps) & {
- isRowClickable?: boolean;
- style?: React.CSSProperties;
-};
-
-export const Grid = ({ isRowClickable, ...props }: Props) => {
- const gridRef = useRef(null);
-
- const resizeGrid = useCallback(() => {
- gridRef.current?.api?.sizeColumnsToFit();
- }, [gridRef]);
-
- const handleOnGridReady = useCallback(() => {
- resizeGrid();
- }, [resizeGrid]);
-
- useEffect(() => {
- window.addEventListener('resize', resizeGrid);
- return () => window.removeEventListener('resize', resizeGrid);
- }, [resizeGrid]);
-
- return (
-
- );
-};
diff --git a/apps/liquidity-provision-dashboard/src/app/components/grid/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/grid/index.tsx
deleted file mode 100644
index d24d1bdc0..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/grid/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './grid';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/health-dialog/health-dialog.tsx b/apps/liquidity-provision-dashboard/src/app/components/health-dialog/health-dialog.tsx
deleted file mode 100644
index 54154316f..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/health-dialog/health-dialog.tsx
+++ /dev/null
@@ -1,110 +0,0 @@
-import { t } from '@vegaprotocol/i18n';
-import { Dialog, HealthBar } from '@vegaprotocol/ui-toolkit';
-import * as Schema from '@vegaprotocol/types';
-import classNames from 'classnames';
-import { intentForStatus } from '../../lib/utils';
-
-interface HealthDialogProps {
- isOpen: boolean;
- onChange: (isOpen: boolean) => void;
-}
-
-const ROWS = [
- {
- key: '1',
- title: 'Continuous',
- copy: 'Markets that have committed liquidity equal or greater than the target stake are trading continuously.',
- data: {
- status: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS,
- target: '171320',
- decimals: 5,
- levels: [
- { fee: '0.6', commitmentAmount: 150000 },
- { fee: '1', commitmentAmount: 150000 },
- { fee: '2', commitmentAmount: 30000 },
- ],
- },
- },
- {
- key: '2',
- title: 'Monitoring auction (liquidity)',
- copy: 'Markets below the target stake will see trading suspended and go into liquidity auction.',
- data: {
- status: Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION,
- target: '171320',
- decimals: 5,
- levels: [
- { fee: '0.6', commitmentAmount: 110000 },
- { fee: '1', commitmentAmount: 50000 },
- ],
- },
- },
- {
- key: '3',
- title: 'Opening auction',
- copy: 'A newly created market looking for a target liquidity amount to start trading.',
- data: {
- status: Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION,
- target: '171320',
- decimals: 3,
- levels: [
- { fee: '0.6', commitmentAmount: 110000 },
- { fee: '1', commitmentAmount: 50000 },
- ],
- },
- },
-];
-
-export const HealthDialog = ({ onChange, isOpen }: HealthDialogProps) => {
- return (
-
- );
-};
diff --git a/apps/liquidity-provision-dashboard/src/app/components/health-dialog/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/health-dialog/index.tsx
deleted file mode 100644
index 935474263..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/health-dialog/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './health-dialog';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/indicator/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/indicator/index.tsx
deleted file mode 100644
index ef086afd6..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/indicator/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './indicator';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/indicator/indicator.tsx b/apps/liquidity-provision-dashboard/src/app/components/indicator/indicator.tsx
deleted file mode 100644
index 290b2d9f4..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/indicator/indicator.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import type * as Schema from '@vegaprotocol/types';
-
-import { getColorForStatus } from '../../lib/utils';
-
-export const Indicator = ({
- status,
- opacity,
-}: {
- status?: Schema.MarketTradingMode;
- opacity?: number;
-}) => {
- const backgroundColor = status ? getColorForStatus(status) : undefined;
- return (
-
- );
-};
diff --git a/apps/liquidity-provision-dashboard/src/app/components/market-list/market-list.scss b/apps/liquidity-provision-dashboard/src/app/components/market-list/market-list.scss
deleted file mode 100644
index 609fe7b6c..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/market-list/market-list.scss
+++ /dev/null
@@ -1,35 +0,0 @@
-.ag-theme-alpine {
- --ag-line-height: 24px;
- --ag-row-hover-color: transparent;
- --ag-header-background-color: #f5f5f5;
- --ag-odd-row-background-color: transparent;
- --ag-header-foreground-color: #000;
- --ag-secondary-foreground-color: #fff;
- --ag-font-family: 'Helvetica Neue';
- --ag-font-size: 12px;
-
- font-family: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI',
- Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
-}
-
-.ag-theme-alpine .ag-cell {
- display: flex;
-}
-
-.ag-theme-alpine .ag-header {
- border: 1px solid #bfccd6;
-}
-
-.ag-theme-alpine .ag-root-wrapper {
- border: none;
-}
-
-.ag-theme-alpine .ag-row {
- border: none;
- border-bottom: 1px solid #bfccd6;
- font-size: 12px;
-}
-
-.ag-theme-alpine .ag-root-wrapper-body.ag-layout-normal {
- height: auto;
-}
diff --git a/apps/liquidity-provision-dashboard/src/app/components/navbar/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/navbar/index.tsx
deleted file mode 100644
index f5899d036..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/navbar/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './navbar';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/navbar/navbar.tsx b/apps/liquidity-provision-dashboard/src/app/components/navbar/navbar.tsx
deleted file mode 100644
index ed1856f14..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/navbar/navbar.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { Link } from 'react-router-dom';
-import { VegaLogo } from '@vegaprotocol/ui-toolkit';
-
-export const Navbar = () => {
- return (
-
- );
-};
diff --git a/apps/liquidity-provision-dashboard/src/app/components/status/index.tsx b/apps/liquidity-provision-dashboard/src/app/components/status/index.tsx
deleted file mode 100644
index 420cc02aa..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/status/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export * from './status';
diff --git a/apps/liquidity-provision-dashboard/src/app/components/status/status.tsx b/apps/liquidity-provision-dashboard/src/app/components/status/status.tsx
deleted file mode 100644
index 382ea4ef3..000000000
--- a/apps/liquidity-provision-dashboard/src/app/components/status/status.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import { Lozenge, Tooltip } from '@vegaprotocol/ui-toolkit';
-import classNames from 'classnames';
-
-import * as Schema from '@vegaprotocol/types';
-import { t } from '@vegaprotocol/i18n';
-
-import { Indicator } from '../indicator';
-import type { AuctionTrigger } from '@vegaprotocol/types';
-
-export const Status = ({
- tradingMode,
- trigger,
- size = 'small',
-}: {
- tradingMode?: Schema.MarketTradingMode;
- trigger?: Schema.AuctionTrigger;
- size?: 'small' | 'large';
-}) => {
- const getStatus = () => {
- if (!tradingMode) return '';
- if (
- tradingMode === Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION
- ) {
- if (
- trigger &&
- trigger !== Schema.AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED
- ) {
- return `${Schema.MarketTradingModeMapping[tradingMode]} - ${Schema.AuctionTriggerMapping[trigger]}`;
- }
- }
- return Schema.MarketTradingModeMapping[tradingMode];
- };
-
- const status = getStatus();
- const tooltipDescription =
- tradingMode && getTooltipDescription(tradingMode, trigger);
-
- return (
-
-
-
-
-
- {status}
-
-
-
-
- );
-};
-
-const getTooltipDescription = (
- status: Schema.MarketTradingMode,
- trigger?: Schema.AuctionTrigger
-) => {
- switch (status) {
- case Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS:
- return t(
- 'This is the standard trading mode where trades are executed whenever orders are received'
- );
- case Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION:
- return getMonitoringDescriptionTooltip(trigger);
- case Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION:
- return t(
- 'This is a new market in an opening auction to determine a fair mid-price before starting continuous trading.'
- );
- default:
- return '';
- }
-};
-
-const getMonitoringDescriptionTooltip = (trigger?: AuctionTrigger) => {
- switch (trigger) {
- case Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET:
- return t(
- `This market is in auction until it reaches sufficient liquidity.`
- );
- case Schema.AuctionTrigger.AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS:
- return t(
- `This market may have sufficient liquidity but there are not enough priced limit orders in the order book, which are required to deploy liquidity commitment pegged orders.`
- );
- case Schema.AuctionTrigger.AUCTION_TRIGGER_PRICE:
- return t(`This market is in auction due to high price volatility.`);
- case Schema.AuctionTrigger.AUCTION_TRIGGER_OPENING:
- return t(
- `This is a new market in an opening auction to determine a fair mid-price before starting continuous trading`
- );
- default:
- return '';
- }
-};
diff --git a/apps/liquidity-provision-dashboard/src/app/lib/utils.tsx b/apps/liquidity-provision-dashboard/src/app/lib/utils.tsx
deleted file mode 100644
index f83683be6..000000000
--- a/apps/liquidity-provision-dashboard/src/app/lib/utils.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import * as Schema from '@vegaprotocol/types';
-import { Intent } from '@vegaprotocol/ui-toolkit';
-
-const marketTradingModeStyle = {
- [Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS]: '#00D46E',
- [Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION]: '#CF0064',
- [Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION]: '#0046CD',
- [Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION]: '#CF0064',
- [Schema.MarketTradingMode.TRADING_MODE_NO_TRADING]: '#CF0064',
- [Schema.MarketTradingMode.TRADING_MODE_SUSPENDED_VIA_GOVERNANCE]: '#CF0064',
-};
-
-export const getColorForStatus = (status: Schema.MarketTradingMode) =>
- marketTradingModeStyle[status];
-
-const marketTradingModeIntent = {
- [Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS]: Intent.Success,
- [Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION]: Intent.Danger,
- [Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION]: Intent.Primary,
- [Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION]: Intent.Danger,
- [Schema.MarketTradingMode.TRADING_MODE_NO_TRADING]: Intent.Danger,
- [Schema.MarketTradingMode.TRADING_MODE_SUSPENDED_VIA_GOVERNANCE]:
- Intent.Danger,
-};
-
-export const intentForStatus = (status: Schema.MarketTradingMode) => {
- return marketTradingModeIntent[status];
-};
diff --git a/apps/liquidity-provision-dashboard/src/app/routes/index.ts b/apps/liquidity-provision-dashboard/src/app/routes/index.ts
deleted file mode 100644
index b41a85505..000000000
--- a/apps/liquidity-provision-dashboard/src/app/routes/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './router-config';
diff --git a/apps/liquidity-provision-dashboard/src/app/routes/router-config.tsx b/apps/liquidity-provision-dashboard/src/app/routes/router-config.tsx
deleted file mode 100644
index 1568b43b8..000000000
--- a/apps/liquidity-provision-dashboard/src/app/routes/router-config.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { t } from '@vegaprotocol/i18n';
-
-import { Dashboard } from '../components/dashboard';
-import { Detail } from '../components/detail';
-
-export const ROUTES = {
- MARKETS: 'markets',
-};
-
-export const routerConfig = [
- { path: '/', element: , icon: '' },
- {
- path: ROUTES.MARKETS,
- name: 'Markets',
- text: t('Markets'),
- children: [
- {
- path: ':marketId',
- element: ,
- },
- ],
- icon: 'trade',
- isNavItem: true,
- },
-];
diff --git a/apps/liquidity-provision-dashboard/src/assets/.gitkeep b/apps/liquidity-provision-dashboard/src/assets/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/apps/liquidity-provision-dashboard/src/environments/environment.prod.ts b/apps/liquidity-provision-dashboard/src/environments/environment.prod.ts
deleted file mode 100644
index c9669790b..000000000
--- a/apps/liquidity-provision-dashboard/src/environments/environment.prod.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export const environment = {
- production: true,
-};
diff --git a/apps/liquidity-provision-dashboard/src/environments/environment.ts b/apps/liquidity-provision-dashboard/src/environments/environment.ts
deleted file mode 100644
index 7ed83767f..000000000
--- a/apps/liquidity-provision-dashboard/src/environments/environment.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// This file can be replaced during build by using the `fileReplacements` array.
-// When building for production, this file is replaced with `environment.prod.ts`.
-
-export const environment = {
- production: false,
-};
diff --git a/apps/liquidity-provision-dashboard/src/favicon.ico b/apps/liquidity-provision-dashboard/src/favicon.ico
deleted file mode 100644
index 317ebcb23..000000000
Binary files a/apps/liquidity-provision-dashboard/src/favicon.ico and /dev/null differ
diff --git a/apps/liquidity-provision-dashboard/src/index.html b/apps/liquidity-provision-dashboard/src/index.html
deleted file mode 100644
index 0d91f9033..000000000
--- a/apps/liquidity-provision-dashboard/src/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- Liquidity Provision Dashboard
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/liquidity-provision-dashboard/src/main.tsx b/apps/liquidity-provision-dashboard/src/main.tsx
deleted file mode 100644
index 7615e405e..000000000
--- a/apps/liquidity-provision-dashboard/src/main.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { StrictMode } from 'react';
-import { createRoot } from 'react-dom/client';
-import { BrowserRouter } from 'react-router-dom';
-
-import App from './app/app';
-
-const rootElement = document.getElementById('root');
-const root = rootElement && createRoot(rootElement);
-root?.render(
-
-
-
-
-
-);
diff --git a/apps/liquidity-provision-dashboard/src/polyfills.ts b/apps/liquidity-provision-dashboard/src/polyfills.ts
deleted file mode 100644
index 2adf3d05b..000000000
--- a/apps/liquidity-provision-dashboard/src/polyfills.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * Polyfill stable language features. These imports will be optimized by `@babel/preset-env`.
- *
- * See: https://github.com/zloirock/core-js#babel
- */
-import 'core-js/stable';
-import 'regenerator-runtime/runtime';
diff --git a/apps/liquidity-provision-dashboard/src/styles.scss b/apps/liquidity-provision-dashboard/src/styles.scss
deleted file mode 100644
index 670fe053c..000000000
--- a/apps/liquidity-provision-dashboard/src/styles.scss
+++ /dev/null
@@ -1,10 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-html,
-body {
- @apply h-full;
-
- font-family: 'Helvetica Neue', Helvetica, sans-serif;
-}
diff --git a/apps/liquidity-provision-dashboard/tailwind.config.js b/apps/liquidity-provision-dashboard/tailwind.config.js
deleted file mode 100644
index 9a8169a76..000000000
--- a/apps/liquidity-provision-dashboard/tailwind.config.js
+++ /dev/null
@@ -1,29 +0,0 @@
-const { join } = require('path');
-const { createGlobPatternsForDependencies } = require('@nx/react/tailwind');
-const theme = require('../../libs/tailwindcss-config/src/theme-lite');
-const vegaCustomClasses = require('../../libs/tailwindcss-config/src/vega-custom-classes');
-const vegaCustomClassesLite = require('../../libs/tailwindcss-config/src/vega-custom-classes-lite');
-
-module.exports = {
- content: [
- join(__dirname, 'src/**/*.{js,ts,jsx,tsx}'),
- 'libs/ui-toolkit/src/utils/shared.ts',
- ...createGlobPatternsForDependencies(__dirname),
- ],
- darkMode: 'class',
- theme: {
- ...theme,
- colors: {
- ...theme.colors,
- greys: {
- light: {
- 100: '#F0F0F0',
- 200: '#D2D2D2',
- 300: '#A7A7A7',
- 400: '#626262',
- },
- },
- },
- },
- plugins: [vegaCustomClasses, vegaCustomClassesLite],
-};
diff --git a/apps/liquidity-provision-dashboard/tsconfig.app.json b/apps/liquidity-provision-dashboard/tsconfig.app.json
deleted file mode 100644
index b278fbb45..000000000
--- a/apps/liquidity-provision-dashboard/tsconfig.app.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "outDir": "../../dist/out-tsc",
- "types": [
- "node",
- "@nx/react/typings/cssmodule.d.ts",
- "@nx/react/typings/image.d.ts"
- ]
- },
- "files": [
- "../../node_modules/@nx/react/typings/cssmodule.d.ts",
- "../../node_modules/@nx/react/typings/image.d.ts"
- ],
- "exclude": [
- "jest.config.ts",
- "**/*.spec.ts",
- "**/*.test.ts",
- "**/*.spec.tsx",
- "**/*.test.tsx",
- "**/*.spec.js",
- "**/*.test.js",
- "**/*.spec.jsx",
- "**/*.test.jsx"
- ],
- "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"]
-}
diff --git a/apps/liquidity-provision-dashboard/tsconfig.json b/apps/liquidity-provision-dashboard/tsconfig.json
deleted file mode 100644
index 842a5c68a..000000000
--- a/apps/liquidity-provision-dashboard/tsconfig.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "extends": "../../tsconfig.base.json",
- "compilerOptions": {
- "jsx": "react-jsx",
- "allowJs": true,
- "esModuleInterop": true,
- "allowSyntheticDefaultImports": true,
- "forceConsistentCasingInFileNames": true,
- "strict": true,
- "noImplicitOverride": true,
- "noPropertyAccessFromIndexSignature": false,
- "noImplicitReturns": true,
- "noFallthroughCasesInSwitch": true
- },
- "include": [],
- "references": [
- {
- "path": "./tsconfig.app.json"
- },
- {
- "path": "./tsconfig.spec.json"
- }
- ]
-}
diff --git a/apps/liquidity-provision-dashboard/tsconfig.spec.json b/apps/liquidity-provision-dashboard/tsconfig.spec.json
deleted file mode 100644
index 1e42db7ff..000000000
--- a/apps/liquidity-provision-dashboard/tsconfig.spec.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "outDir": "../../dist/out-tsc",
- "module": "commonjs",
- "types": [
- "jest",
- "node",
- "@testing-library/jest-dom",
- "@nx/react/typings/cssmodule.d.ts",
- "@nx/react/typings/image.d.ts"
- ],
- "jsx": "react",
- "allowSyntheticDefaultImports": true,
- "esModuleInterop": true
- },
- "include": [
- "jest.config.ts",
- "**/*.test.ts",
- "**/*.spec.ts",
- "**/*.test.tsx",
- "**/*.spec.tsx",
- "**/*.test.js",
- "**/*.spec.js",
- "**/*.test.jsx",
- "**/*.spec.jsx",
- "**/*.d.ts"
- ],
- "files": [
- "../../node_modules/@nx/react/typings/cssmodule.d.ts",
- "../../node_modules/@nx/react/typings/image.d.ts"
- ]
-}
diff --git a/apps/multisig-signer/tailwind.config.js b/apps/multisig-signer/tailwind.config.js
index beac189d1..51a2045f1 100644
--- a/apps/multisig-signer/tailwind.config.js
+++ b/apps/multisig-signer/tailwind.config.js
@@ -1,7 +1,9 @@
const { join } = require('path');
const { createGlobPatternsForDependencies } = require('@nx/react/tailwind');
-const theme = require('../../libs/tailwindcss-config/src/theme');
-const vegaCustomClasses = require('../../libs/tailwindcss-config/src/vega-custom-classes');
+const { theme } = require('../../libs/tailwindcss-config/src/theme');
+const {
+ vegaCustomClasses,
+} = require('../../libs/tailwindcss-config/src/vega-custom-classes');
module.exports = {
content: [
diff --git a/apps/trading/tailwind.config.js b/apps/trading/tailwind.config.js
index c7c567cf4..f2d9793e7 100644
--- a/apps/trading/tailwind.config.js
+++ b/apps/trading/tailwind.config.js
@@ -1,7 +1,9 @@
const { join } = require('path');
const { createGlobPatternsForDependencies } = require('@nx/next/tailwind');
-const theme = require('../../libs/tailwindcss-config/src/theme');
-const vegaCustomClasses = require('../../libs/tailwindcss-config/src/vega-custom-classes');
+const { theme } = require('../../libs/tailwindcss-config/src/theme');
+const {
+ vegaCustomClasses,
+} = require('../../libs/tailwindcss-config/src/vega-custom-classes');
module.exports = {
content: [
diff --git a/jest.config.ts b/jest.config.ts
index 0830aab5b..d0dbd1b88 100644
--- a/jest.config.ts
+++ b/jest.config.ts
@@ -1,4 +1,4 @@
-const { getJestProjects } = require('@nx/jest');
+import { getJestProjects } from '@nx/jest';
export default {
projects: getJestProjects(),
diff --git a/libs/accounts/src/lib/transfer-form.tsx b/libs/accounts/src/lib/transfer-form.tsx
index 90b61fa68..7de0e71e3 100644
--- a/libs/accounts/src/lib/transfer-form.tsx
+++ b/libs/accounts/src/lib/transfer-form.tsx
@@ -19,7 +19,6 @@ import {
TradingButton,
} from '@vegaprotocol/ui-toolkit';
import type { Transfer } from '@vegaprotocol/wallet';
-import { normalizeTransfer } from '@vegaprotocol/wallet';
import BigNumber from 'bignumber.js';
import type { ReactNode } from 'react';
import { useCallback, useEffect, useState } from 'react';
@@ -27,6 +26,7 @@ import { Controller, useForm } from 'react-hook-form';
import { AssetOption, Balance } from '@vegaprotocol/assets';
import { AccountType, AccountTypeMapping } from '@vegaprotocol/types';
import { useTransferFeeQuery } from './__generated__/TransferFee';
+import { normalizeTransfer } from './utils';
interface FormFields {
toVegaKey: string;
diff --git a/libs/accounts/src/lib/utils.ts b/libs/accounts/src/lib/utils.ts
new file mode 100644
index 000000000..8f176d155
--- /dev/null
+++ b/libs/accounts/src/lib/utils.ts
@@ -0,0 +1,26 @@
+import type { Exact } from 'type-fest';
+import { type Transfer } from '@vegaprotocol/wallet';
+import { removeDecimal } from '@vegaprotocol/utils';
+import { type AccountType } from '@vegaprotocol/types';
+
+export const normalizeTransfer = >(
+ address: string,
+ amount: string,
+ fromAccountType: AccountType,
+ toAccountType: AccountType,
+ asset: {
+ id: string;
+ decimals: number;
+ }
+): Transfer => {
+ return {
+ to: address,
+ fromAccountType,
+ toAccountType,
+ asset: asset.id,
+ amount: removeDecimal(amount, asset.decimals),
+ // oneOff or recurring required otherwise wallet will error
+ // default oneOff is immediate transfer
+ oneOff: {},
+ };
+};
diff --git a/libs/fills/tailwind.config.js b/libs/fills/tailwind.config.js
index 897f6c3cc..f048d347a 100644
--- a/libs/fills/tailwind.config.js
+++ b/libs/fills/tailwind.config.js
@@ -1,7 +1,9 @@
const { join } = require('path');
const { createGlobPatternsForDependencies } = require('@nx/react/tailwind');
-const theme = require('../tailwindcss-config/src/theme');
-const vegaCustomClasses = require('../tailwindcss-config/src/vega-custom-classes');
+const { theme } = require('../tailwindcss-config/src/theme');
+const {
+ vegaCustomClasses,
+} = require('../tailwindcss-config/src/vega-custom-classes');
module.exports = {
content: [
diff --git a/libs/funding-payments/tailwind.config.js b/libs/funding-payments/tailwind.config.js
index 897f6c3cc..f048d347a 100644
--- a/libs/funding-payments/tailwind.config.js
+++ b/libs/funding-payments/tailwind.config.js
@@ -1,7 +1,9 @@
const { join } = require('path');
const { createGlobPatternsForDependencies } = require('@nx/react/tailwind');
-const theme = require('../tailwindcss-config/src/theme');
-const vegaCustomClasses = require('../tailwindcss-config/src/vega-custom-classes');
+const { theme } = require('../tailwindcss-config/src/theme');
+const {
+ vegaCustomClasses,
+} = require('../tailwindcss-config/src/vega-custom-classes');
module.exports = {
content: [
diff --git a/libs/liquidity/src/lib/utils/liquidity-utils.spec.tsx b/libs/liquidity/src/lib/utils/liquidity-utils.spec.tsx
index d8bac4074..1ab8cca2e 100644
--- a/libs/liquidity/src/lib/utils/liquidity-utils.spec.tsx
+++ b/libs/liquidity/src/lib/utils/liquidity-utils.spec.tsx
@@ -2,7 +2,6 @@ import { renderHook } from '@testing-library/react';
import { Intent } from '@vegaprotocol/ui-toolkit';
import BigNumber from 'bignumber.js';
import {
- formatWithAsset,
sumLiquidityCommitted,
getFeeLevels,
calcDayVolume,
@@ -23,17 +22,6 @@ const CANDLES_2 = [
{ volume: '10', open: '21', close: '21' },
];
-describe('formatWithAsset', () => {
- it('should return formatted string', () => {
- const result = formatWithAsset('103926176181', {
- decimals: 5,
- symbol: 'tEURO',
- });
-
- expect(result).toEqual('1,039,261.76181 tEURO');
- });
-});
-
describe('sumLiquidityCommitted', () => {
it('should return the total sum', () => {
const provider1 = 10;
diff --git a/libs/liquidity/src/lib/utils/liquidity-utils.ts b/libs/liquidity/src/lib/utils/liquidity-utils.ts
index 65b9f41e1..27916a8f2 100644
--- a/libs/liquidity/src/lib/utils/liquidity-utils.ts
+++ b/libs/liquidity/src/lib/utils/liquidity-utils.ts
@@ -1,5 +1,4 @@
import BigNumber from 'bignumber.js';
-import { addDecimalsFormatNumber } from '@vegaprotocol/utils';
import type { MarketNodeFragment } from './../__generated__/MarketsLiquidity';
import { Intent } from '@vegaprotocol/ui-toolkit';
@@ -21,20 +20,6 @@ export const sumLiquidityCommitted = (
: 0;
};
-export const formatWithAsset = (
- value: string,
- settlementAsset: {
- decimals?: number;
- symbol?: string;
- }
-) => {
- const { decimals, symbol } = settlementAsset;
- const formattedValue = decimals
- ? addDecimalsFormatNumber(value, decimals)
- : value;
- return `${formattedValue} ${symbol}`;
-};
-
interface Candle {
open: string;
close: string;
@@ -48,10 +33,6 @@ export const getCandle24hAgo = (
return candles24hAgo.find((c) => c.marketId === marketId)?.candles?.[0];
};
-export const displayChange = (value: string) => {
- return parseFloat(value) > 0 ? `+${value}` : value;
-};
-
export const EMPTY_VALUE = ' - ';
export const getChange = (candles: (Candle | null)[], lastClose?: string) => {
const firstCandle = candles.find((item) => item?.open);
diff --git a/libs/market-depth/tailwind.config.js b/libs/market-depth/tailwind.config.js
index 897f6c3cc..f048d347a 100644
--- a/libs/market-depth/tailwind.config.js
+++ b/libs/market-depth/tailwind.config.js
@@ -1,7 +1,9 @@
const { join } = require('path');
const { createGlobPatternsForDependencies } = require('@nx/react/tailwind');
-const theme = require('../tailwindcss-config/src/theme');
-const vegaCustomClasses = require('../tailwindcss-config/src/vega-custom-classes');
+const { theme } = require('../tailwindcss-config/src/theme');
+const {
+ vegaCustomClasses,
+} = require('../tailwindcss-config/src/vega-custom-classes');
module.exports = {
content: [
diff --git a/libs/markets/tailwind.config.js b/libs/markets/tailwind.config.js
index 3140d47a1..336d45665 100644
--- a/libs/markets/tailwind.config.js
+++ b/libs/markets/tailwind.config.js
@@ -1,7 +1,9 @@
const { join } = require('path');
const { createGlobPatternsForDependencies } = require('@nx/react/tailwind');
-const theme = require('../tailwindcss-config/src/theme');
-const vegaCustomClasses = require('../tailwindcss-config/src/vega-custom-classes');
+const { theme } = require('../tailwindcss-config/src/theme');
+const {
+ vegaCustomClasses,
+} = require('../tailwindcss-config/src/vega-custom-classes');
module.exports = {
content: [
diff --git a/libs/orders/src/lib/components/order-list-manager/order-list-manager.tsx b/libs/orders/src/lib/components/order-list-manager/order-list-manager.tsx
index aa08064af..c1827ea97 100644
--- a/libs/orders/src/lib/components/order-list-manager/order-list-manager.tsx
+++ b/libs/orders/src/lib/components/order-list-manager/order-list-manager.tsx
@@ -3,7 +3,6 @@ import { type AgGridReact } from 'ag-grid-react';
import { Pagination, type useDataGridEvents } from '@vegaprotocol/datagrid';
import { Splash } from '@vegaprotocol/ui-toolkit';
import { useDataProvider } from '@vegaprotocol/data-provider';
-import { normalizeOrderAmendment } from '@vegaprotocol/wallet';
import { useVegaTransactionStore } from '@vegaprotocol/web3';
import type { OrderTxUpdateFieldsFragment } from '@vegaprotocol/web3';
import { OrderEditDialog } from '../order-list/order-edit-dialog';
@@ -12,6 +11,7 @@ import { OrderViewDialog } from '../order-list/order-view-dialog';
import { OrderListTable } from '../order-list';
import { ordersWithMarketProvider } from '../order-data-provider/order-data-provider';
import { useT } from '../../use-t';
+import { normalizeOrderAmendment } from '../../utils';
export enum Filter {
'Open' = 'Open',
diff --git a/libs/orders/src/lib/utils.spec.ts b/libs/orders/src/lib/utils.spec.ts
new file mode 100644
index 000000000..a6f8c2e04
--- /dev/null
+++ b/libs/orders/src/lib/utils.spec.ts
@@ -0,0 +1,56 @@
+import { OrderTimeInForce } from '@vegaprotocol/types';
+import { normalizeOrderAmendment } from './utils';
+
+describe('normalizeOrderAmendment', () => {
+ type Order = Parameters[0];
+ type Market = Parameters[1];
+ const order: Order = {
+ id: '123',
+ timeInForce: OrderTimeInForce.TIME_IN_FORCE_GTT,
+ size: '100',
+ expiresAt: '2022-01-01T00:00:00.000Z',
+ };
+ const market: Market = {
+ id: '456',
+ decimalPlaces: 1,
+ positionDecimalPlaces: 1,
+ };
+
+ it('sets and formats order id, market id, expires and timeInForce as given', () => {
+ const orderAmendment = normalizeOrderAmendment(order, market, '1', '1');
+ expect(orderAmendment.orderId).toEqual('123');
+ expect(orderAmendment.marketId).toEqual('456');
+ expect(orderAmendment.expiresAt).toEqual('1640995200000000000');
+ expect(orderAmendment.timeInForce).toEqual(
+ OrderTimeInForce.TIME_IN_FORCE_GTT
+ );
+ });
+
+ it.each([
+ ['1.1', 1, '11'],
+ ['1.1', 2, '110'],
+ ['0.001', 8, '100000'],
+ ])('sets and formats price', (price, decimalPlaces, output) => {
+ const orderAmendment = normalizeOrderAmendment(
+ order,
+ { ...market, decimalPlaces },
+ price,
+ '1'
+ );
+ expect(orderAmendment.price).toEqual(output);
+ });
+
+ it.each([
+ ['9', 1, -10],
+ ['90', 2, 8900],
+ ['0.001', 8, 99900],
+ ])('sets and formats size delta', (size, positionDecimalPlaces, output) => {
+ const orderAmendment = normalizeOrderAmendment(
+ order,
+ { ...market, positionDecimalPlaces },
+ '1',
+ size
+ );
+ expect(orderAmendment.sizeDelta).toEqual(output);
+ });
+});
diff --git a/libs/orders/src/lib/utils.ts b/libs/orders/src/lib/utils.ts
new file mode 100644
index 000000000..8e402b4fb
--- /dev/null
+++ b/libs/orders/src/lib/utils.ts
@@ -0,0 +1,25 @@
+import BigNumber from 'bignumber.js';
+import type { Exact } from 'type-fest';
+import { type OrderAmendment } from '@vegaprotocol/wallet';
+import { removeDecimal, toNanoSeconds } from '@vegaprotocol/utils';
+import { type Market, type Order } from '@vegaprotocol/types';
+
+export const normalizeOrderAmendment = >(
+ order: Pick,
+ market: Pick,
+ price: string,
+ size: string
+): OrderAmendment => ({
+ orderId: order.id,
+ marketId: market.id,
+ price: removeDecimal(price, market.decimalPlaces),
+ timeInForce: order.timeInForce,
+ sizeDelta: size
+ ? new BigNumber(removeDecimal(size, market.positionDecimalPlaces))
+ .minus(order.size)
+ .toNumber()
+ : 0,
+ expiresAt: order.expiresAt
+ ? toNanoSeconds(order.expiresAt) // Wallet expects timestamp in nanoseconds
+ : undefined,
+});
diff --git a/libs/orders/tailwind.config.js b/libs/orders/tailwind.config.js
index 897f6c3cc..f048d347a 100644
--- a/libs/orders/tailwind.config.js
+++ b/libs/orders/tailwind.config.js
@@ -1,7 +1,9 @@
const { join } = require('path');
const { createGlobPatternsForDependencies } = require('@nx/react/tailwind');
-const theme = require('../tailwindcss-config/src/theme');
-const vegaCustomClasses = require('../tailwindcss-config/src/vega-custom-classes');
+const { theme } = require('../tailwindcss-config/src/theme');
+const {
+ vegaCustomClasses,
+} = require('../tailwindcss-config/src/vega-custom-classes');
module.exports = {
content: [
diff --git a/libs/positions/tailwind.config.js b/libs/positions/tailwind.config.js
index 897f6c3cc..f048d347a 100644
--- a/libs/positions/tailwind.config.js
+++ b/libs/positions/tailwind.config.js
@@ -1,7 +1,9 @@
const { join } = require('path');
const { createGlobPatternsForDependencies } = require('@nx/react/tailwind');
-const theme = require('../tailwindcss-config/src/theme');
-const vegaCustomClasses = require('../tailwindcss-config/src/vega-custom-classes');
+const { theme } = require('../tailwindcss-config/src/theme');
+const {
+ vegaCustomClasses,
+} = require('../tailwindcss-config/src/vega-custom-classes');
module.exports = {
content: [
diff --git a/libs/tailwindcss-config/.eslintrc.json b/libs/tailwindcss-config/.eslintrc.json
index 9d9c0db55..5dc06da46 100644
--- a/libs/tailwindcss-config/.eslintrc.json
+++ b/libs/tailwindcss-config/.eslintrc.json
@@ -13,6 +13,18 @@
{
"files": ["*.js", "*.jsx"],
"rules": {}
+ },
+ {
+ "files": ["*.json"],
+ "parser": "jsonc-eslint-parser",
+ "rules": {
+ "@nx/dependency-checks": [
+ "error",
+ {
+ "ignoredFiles": ["{projectRoot}/rollup.config.{js,ts,mjs,mts}"]
+ }
+ ]
+ }
}
]
}
diff --git a/libs/tailwindcss-config/.swcrc b/libs/tailwindcss-config/.swcrc
new file mode 100644
index 000000000..28e88ec1c
--- /dev/null
+++ b/libs/tailwindcss-config/.swcrc
@@ -0,0 +1,29 @@
+{
+ "jsc": {
+ "target": "es2017",
+ "parser": {
+ "syntax": "typescript",
+ "decorators": true,
+ "dynamicImport": true
+ },
+ "transform": {
+ "decoratorMetadata": true,
+ "legacyDecorator": true
+ },
+ "keepClassNames": true,
+ "externalHelpers": true,
+ "loose": true
+ },
+ "module": {
+ "type": "es6"
+ },
+ "sourceMaps": true,
+ "exclude": [
+ "jest.config.ts",
+ ".*\\.spec.tsx?$",
+ ".*\\.test.tsx?$",
+ "./src/jest-setup.ts$",
+ "./**/jest-setup.ts$",
+ ".*.js$"
+ ]
+}
diff --git a/libs/tailwindcss-config/jest.config.js b/libs/tailwindcss-config/jest.config.js
deleted file mode 100644
index 9d3d26141..000000000
--- a/libs/tailwindcss-config/jest.config.js
+++ /dev/null
@@ -1,15 +0,0 @@
-module.exports = {
- displayName: 'tailwindcss-config',
- preset: '../../jest.preset.js',
- globals: {},
- transform: {
- '^.+\\.[tj]s$': [
- 'ts-jest',
- {
- tsconfig: '/tsconfig.spec.json',
- },
- ],
- },
- moduleFileExtensions: ['ts', 'js', 'html'],
- coverageDirectory: '../../coverage/libs/tailwindcss-config',
-};
diff --git a/libs/tailwindcss-config/package.json b/libs/tailwindcss-config/package.json
index bbfd20804..aff9dbcb4 100644
--- a/libs/tailwindcss-config/package.json
+++ b/libs/tailwindcss-config/package.json
@@ -1,4 +1,7 @@
{
"name": "@vegaprotocol/tailwindcss-config",
- "version": "0.0.5"
+ "version": "0.0.6",
+ "dependencies": {
+ "tailwindcss": "3.3.3"
+ }
}
diff --git a/libs/tailwindcss-config/project.json b/libs/tailwindcss-config/project.json
index 7255cf92a..4a770400b 100644
--- a/libs/tailwindcss-config/project.json
+++ b/libs/tailwindcss-config/project.json
@@ -5,28 +5,30 @@
"projectType": "library",
"targets": {
"build": {
- "executor": "@nx/js:tsc",
+ "executor": "@nx/rollup:rollup",
"outputs": ["{options.outputPath}"],
- "format": ["esm", "cjs"],
"options": {
"outputPath": "dist/libs/tailwindcss-config",
- "main": "libs/tailwindcss-config/src/index.js",
+ "main": "libs/tailwindcss-config/src/index.ts",
"tsConfig": "libs/tailwindcss-config/tsconfig.lib.json",
- "assets": ["libs/tailwindcss-config/*.md"]
+ "assets": [],
+ "project": "libs/tailwindcss-config/package.json",
+ "compiler": "swc",
+ "format": ["esm", "cjs"]
}
},
+ "publish": {
+ "command": "node tools/scripts/publish.mjs tailwindcss-config {args.ver} {args.tag}",
+ "dependsOn": ["build"]
+ },
"lint": {
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"],
"options": {
- "lintFilePatterns": ["libs/tailwindcss-config/**/*.js"]
- }
- },
- "test": {
- "executor": "@nx/jest:jest",
- "outputs": ["{workspaceRoot}/coverage/libs/tailwindcss-config"],
- "options": {
- "jestConfig": "libs/tailwindcss-config/jest.config.js"
+ "lintFilePatterns": [
+ "libs/tailwindcss-config/**/*.ts",
+ "libs/tailwindcss-config/package.json"
+ ]
}
}
},
diff --git a/libs/tailwindcss-config/src/index.js b/libs/tailwindcss-config/src/index.js
deleted file mode 100644
index da1dd36ba..000000000
--- a/libs/tailwindcss-config/src/index.js
+++ /dev/null
@@ -1,11 +0,0 @@
-const theme = require('./theme');
-const themelite = require('./theme-lite');
-const vegaCustomClasses = require('./vega-custom-classes');
-const { VegaColours } = require('./vega-colours');
-
-module.exports = {
- theme,
- themelite,
- plugins: [vegaCustomClasses],
- VegaColours,
-};
diff --git a/libs/tailwindcss-config/src/index.ts b/libs/tailwindcss-config/src/index.ts
new file mode 100644
index 000000000..c0c8fcc8a
--- /dev/null
+++ b/libs/tailwindcss-config/src/index.ts
@@ -0,0 +1,4 @@
+export { theme } from './theme';
+export { themeLite } from './theme-lite';
+export { vegaCustomClasses } from './vega-custom-classes';
+export { VegaColours } from './vega-colours';
diff --git a/libs/tailwindcss-config/src/theme-lite.js b/libs/tailwindcss-config/src/theme-lite.ts
similarity index 88%
rename from libs/tailwindcss-config/src/theme-lite.js
rename to libs/tailwindcss-config/src/theme-lite.ts
index 7e0e889b8..c4371c60e 100644
--- a/libs/tailwindcss-config/src/theme-lite.js
+++ b/libs/tailwindcss-config/src/theme-lite.ts
@@ -1,8 +1,8 @@
-const defaultTheme = require('tailwindcss/defaultTheme');
-const colors = require('tailwindcss/colors');
-const theme = require('./theme');
+import defaultTheme from 'tailwindcss/defaultTheme';
+import colors from 'tailwindcss/colors';
+import { theme } from './theme';
-module.exports = {
+export const themeLite = {
...theme,
colors: {
...theme.colors,
diff --git a/libs/tailwindcss-config/src/theme.js b/libs/tailwindcss-config/src/theme.ts
similarity index 99%
rename from libs/tailwindcss-config/src/theme.js
rename to libs/tailwindcss-config/src/theme.ts
index 34c4e36a0..5b05eb144 100644
--- a/libs/tailwindcss-config/src/theme.js
+++ b/libs/tailwindcss-config/src/theme.ts
@@ -1,4 +1,4 @@
-module.exports = {
+export const theme = {
screens: {
xs: '500px',
sm: '640px',
diff --git a/libs/tailwindcss-config/src/vega-colours.js b/libs/tailwindcss-config/src/vega-colours.ts
similarity index 89%
rename from libs/tailwindcss-config/src/vega-colours.js
rename to libs/tailwindcss-config/src/vega-colours.ts
index 88d987e05..8e6fe106a 100644
--- a/libs/tailwindcss-config/src/vega-colours.js
+++ b/libs/tailwindcss-config/src/vega-colours.ts
@@ -1,4 +1,4 @@
-const VegaColours = {
+export const VegaColours = {
yellow: {
DEFAULT: '#D7FB50',
dark: '#9BE106',
@@ -32,7 +32,3 @@ const VegaColours = {
400: '#626262',
},
};
-
-module.exports = {
- VegaColours,
-};
diff --git a/libs/tailwindcss-config/src/vega-custom-classes-lite.js b/libs/tailwindcss-config/src/vega-custom-classes-lite.ts
similarity index 77%
rename from libs/tailwindcss-config/src/vega-custom-classes-lite.js
rename to libs/tailwindcss-config/src/vega-custom-classes-lite.ts
index 6e86b3ace..434eb4935 100644
--- a/libs/tailwindcss-config/src/vega-custom-classes-lite.js
+++ b/libs/tailwindcss-config/src/vega-custom-classes-lite.ts
@@ -1,8 +1,8 @@
-const plugin = require('tailwindcss/plugin');
-const colors = require('tailwindcss/colors');
-const themelite = require('./theme-lite');
+import plugin from 'tailwindcss/plugin';
+import colors from 'tailwindcss/colors';
+import { themeLite } from './theme-lite';
-const vegaCustomClassesLite = plugin(function ({ addUtilities }) {
+export const vegaCustomClassesLite = plugin(function ({ addUtilities }) {
addUtilities({
'.percent-change-up::before': {
content: ' ',
@@ -35,19 +35,19 @@ const vegaCustomClassesLite = plugin(function ({ addUtilities }) {
textTransform: 'uppercase',
textDecoration: 'none',
backgroundColor: 'rgba(0, 143, 74, 0.1)',
- border: `1px solid ${themelite.colors.darkerGreen}`,
- color: themelite.colors.darkerGreen,
+ border: `1px solid ${themeLite.colors.darkerGreen}`,
+ color: themeLite.colors.darkerGreen,
'&:hover': {
- backgroundColor: themelite.colors.darkerGreen,
+ backgroundColor: themeLite.colors.darkerGreen,
color: colors.white,
},
'&.selected': {
- backgroundColor: themelite.colors.darkerGreen,
+ backgroundColor: themeLite.colors.darkerGreen,
color: colors.white,
},
},
'.buyButtonDark': {
- color: themelite.colors.darkerGreen,
+ color: themeLite.colors.darkerGreen,
'&:hover': {
color: colors.black,
},
@@ -59,19 +59,19 @@ const vegaCustomClassesLite = plugin(function ({ addUtilities }) {
textTransform: 'uppercase',
textDecoration: 'none',
backgroundColor: 'rgba(255, 8, 126, 0.1)',
- border: `1px solid ${themelite.colors.pink}`,
- color: themelite.colors.pink,
+ border: `1px solid ${themeLite.colors.pink}`,
+ color: themeLite.colors.pink,
'&:hover': {
color: colors.white,
- backgroundColor: themelite.colors.pink,
+ backgroundColor: themeLite.colors.pink,
},
'&.selected': {
- backgroundColor: themelite.colors.pink,
+ backgroundColor: themeLite.colors.pink,
color: colors.white,
},
},
'.sellButtonDark': {
- color: themelite.colors.pink,
+ color: themeLite.colors.pink,
'&:hover': {
color: colors.black,
},
@@ -110,5 +110,3 @@ const vegaCustomClassesLite = plugin(function ({ addUtilities }) {
// },
});
});
-
-module.exports = vegaCustomClassesLite;
diff --git a/libs/tailwindcss-config/src/vega-custom-classes.js b/libs/tailwindcss-config/src/vega-custom-classes.ts
similarity index 87%
rename from libs/tailwindcss-config/src/vega-custom-classes.js
rename to libs/tailwindcss-config/src/vega-custom-classes.ts
index 8bbcd86dd..e1eda0eab 100644
--- a/libs/tailwindcss-config/src/vega-custom-classes.js
+++ b/libs/tailwindcss-config/src/vega-custom-classes.ts
@@ -1,8 +1,8 @@
-const plugin = require('tailwindcss/plugin');
-const colors = require('tailwindcss/colors');
-const theme = require('./theme');
+import plugin from 'tailwindcss/plugin';
+import colors from 'tailwindcss/colors';
+import { theme } from './theme';
-const vegaCustomClasses = plugin(function ({ addUtilities }) {
+export const vegaCustomClasses = plugin(function ({ addUtilities }) {
addUtilities({
'.calt': {
fontFeatureSettings: "'calt'",
@@ -32,7 +32,7 @@ const vegaCustomClasses = plugin(function ({ addUtilities }) {
'.dark .syntax-highlighter-wrapper .hljs': {
background: theme.colors.vega.cdark[900],
color: theme.colors.vega.green.DEFAULT,
- border: 0,
+ border: '0',
},
'.syntax-highlighter-wrapper .hljs-literal': {
color: theme.colors.vega.pink.DEFAULT,
@@ -60,5 +60,3 @@ const vegaCustomClasses = plugin(function ({ addUtilities }) {
},
});
});
-
-module.exports = vegaCustomClasses;
diff --git a/libs/tailwindcss-config/tsconfig.spec.json b/libs/tailwindcss-config/tsconfig.spec.json
deleted file mode 100644
index a18afb604..000000000
--- a/libs/tailwindcss-config/tsconfig.spec.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "outDir": "../../dist/out-tsc",
- "module": "commonjs",
- "types": ["jest", "node"]
- },
- "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"]
-}
diff --git a/libs/types/.babelrc b/libs/types/.babelrc
deleted file mode 100644
index 1ea870ead..000000000
--- a/libs/types/.babelrc
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "presets": [
- [
- "@nx/react/babel",
- {
- "runtime": "automatic",
- "useBuiltIns": "usage"
- }
- ]
- ],
- "plugins": []
-}
diff --git a/libs/types/.eslintrc.json b/libs/types/.eslintrc.json
index f3153d3b4..9c228f61a 100644
--- a/libs/types/.eslintrc.json
+++ b/libs/types/.eslintrc.json
@@ -1,5 +1,5 @@
{
- "extends": ["plugin:@nx/react", "../../.eslintrc.json"],
+ "extends": ["../../.eslintrc.json"],
"ignorePatterns": ["!**/*", "__generated__"],
"overrides": [
{
@@ -13,6 +13,18 @@
{
"files": ["*.js", "*.jsx"],
"rules": {}
+ },
+ {
+ "files": ["*.json"],
+ "parser": "jsonc-eslint-parser",
+ "rules": {
+ "@nx/dependency-checks": [
+ "error",
+ {
+ "ignoredFiles": ["{projectRoot}/rollup.config.{js,ts,mjs,mts}"]
+ }
+ ]
+ }
}
]
}
diff --git a/libs/types/.swcrc b/libs/types/.swcrc
new file mode 100644
index 000000000..28e88ec1c
--- /dev/null
+++ b/libs/types/.swcrc
@@ -0,0 +1,29 @@
+{
+ "jsc": {
+ "target": "es2017",
+ "parser": {
+ "syntax": "typescript",
+ "decorators": true,
+ "dynamicImport": true
+ },
+ "transform": {
+ "decoratorMetadata": true,
+ "legacyDecorator": true
+ },
+ "keepClassNames": true,
+ "externalHelpers": true,
+ "loose": true
+ },
+ "module": {
+ "type": "es6"
+ },
+ "sourceMaps": true,
+ "exclude": [
+ "jest.config.ts",
+ ".*\\.spec.tsx?$",
+ ".*\\.test.tsx?$",
+ "./src/jest-setup.ts$",
+ "./**/jest-setup.ts$",
+ ".*.js$"
+ ]
+}
diff --git a/libs/types/jest.config.ts b/libs/types/jest.config.ts
index 98e7ee35c..dfdce99c6 100644
--- a/libs/types/jest.config.ts
+++ b/libs/types/jest.config.ts
@@ -1,11 +1,30 @@
/* eslint-disable */
+import { readFileSync } from 'fs';
+
+// Reading the SWC compilation config and remove the "exclude"
+// for the test files to be compiled by SWC
+const { exclude: _, ...swcJestConfig } = JSON.parse(
+ readFileSync(`${__dirname}/.swcrc`, 'utf-8')
+);
+
+// disable .swcrc look-up by SWC core because we're passing in swcJestConfig ourselves.
+// If we do not disable this, SWC Core will read .swcrc and won't transform our test files due to "exclude"
+if (swcJestConfig.swcrc === undefined) {
+ swcJestConfig.swcrc = false;
+}
+
+// Uncomment if using global setup/teardown files being transformed via swc
+// https://nx.dev/packages/jest/documents/overview#global-setup/teardown-with-nx-libraries
+// jest needs EsModule Interop to find the default exported setup/teardown functions
+// swcJestConfig.module.noInterop = false;
+
export default {
displayName: 'types',
preset: '../../jest.preset.js',
transform: {
- '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nx/react/plugins/jest',
- '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nx/react/babel'] }],
+ '^.+\\.[tj]s$': ['@swc/jest', swcJestConfig],
},
- moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
+ moduleFileExtensions: ['ts', 'js', 'html'],
+ testEnvironment: 'node',
coverageDirectory: '../../coverage/libs/types',
};
diff --git a/libs/types/package.json b/libs/types/package.json
index c68242264..d08120856 100644
--- a/libs/types/package.json
+++ b/libs/types/package.json
@@ -1,4 +1,7 @@
{
"name": "@vegaprotocol/types",
- "version": "0.0.6"
+ "version": "0.0.7",
+ "dependencies": {},
+ "type": "module",
+ "module": "./index.js"
}
diff --git a/libs/types/project.json b/libs/types/project.json
index 67b26922f..7abcc446c 100644
--- a/libs/types/project.json
+++ b/libs/types/project.json
@@ -3,48 +3,38 @@
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "libs/types/src",
"projectType": "library",
- "tags": [],
"targets": {
"build": {
"executor": "@nx/rollup:rollup",
"outputs": ["{options.outputPath}"],
"options": {
"outputPath": "dist/libs/types",
+ "main": "libs/types/src/index.ts",
"tsConfig": "libs/types/tsconfig.lib.json",
+ "assets": [],
"project": "libs/types/package.json",
- "entryFile": "libs/types/src/index.ts",
- "rollupConfig": "@nx/react/plugins/bundle-rollup",
- "compiler": "babel",
- "format": ["esm", "cjs"],
- "assets": [
- {
- "glob": "libs/types/README.md",
- "input": ".",
- "output": "."
- }
- ]
+ "compiler": "swc",
+ "format": ["esm"]
}
},
+ "publish": {
+ "command": "node tools/scripts/publish.mjs types {args.ver} {args.tag}",
+ "dependsOn": ["build"]
+ },
"lint": {
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"],
"options": {
- "lintFilePatterns": ["libs/types/**/*.{ts,tsx,js,jsx}"]
+ "lintFilePatterns": ["libs/types/**/*.ts", "libs/types/package.json"]
}
},
"test": {
"executor": "@nx/jest:jest",
- "outputs": ["{workspaceRoot}/coverage/libs/types"],
+ "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
"options": {
"jestConfig": "libs/types/jest.config.ts"
}
- },
- "generate": {
- "executor": "nx:run-commands",
- "options": {
- "commands": ["npx graphql-codegen --config=libs/types/codegen.yml"],
- "parallel": false
- }
}
- }
+ },
+ "tags": []
}
diff --git a/libs/types/tsconfig.json b/libs/types/tsconfig.json
index a60de721b..330b9970f 100644
--- a/libs/types/tsconfig.json
+++ b/libs/types/tsconfig.json
@@ -1,17 +1,15 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
- "jsx": "react-jsx",
- "allowJs": true,
- "esModuleInterop": true,
- "allowSyntheticDefaultImports": true,
+ "module": "esnext",
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitOverride": true,
- "noPropertyAccessFromIndexSignature": false,
+ "noPropertyAccessFromIndexSignature": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
},
+ "files": [],
"include": [],
"references": [
{
diff --git a/libs/types/tsconfig.lib.json b/libs/types/tsconfig.lib.json
index 621db72d7..33eca2c2c 100644
--- a/libs/types/tsconfig.lib.json
+++ b/libs/types/tsconfig.lib.json
@@ -2,22 +2,9 @@
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
+ "declaration": true,
"types": ["node"]
},
- "files": [
- "../../node_modules/@nx/react/typings/cssmodule.d.ts",
- "../../node_modules/@nx/react/typings/image.d.ts"
- ],
- "exclude": [
- "**/*.spec.ts",
- "**/*.test.ts",
- "**/*.spec.tsx",
- "**/*.test.tsx",
- "**/*.spec.js",
- "**/*.test.js",
- "**/*.spec.jsx",
- "**/*.test.jsx",
- "jest.config.ts"
- ],
- "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"]
+ "include": ["src/**/*.ts"],
+ "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"]
}
diff --git a/libs/types/tsconfig.spec.json b/libs/types/tsconfig.spec.json
index a85d573fc..9b2a121d1 100644
--- a/libs/types/tsconfig.spec.json
+++ b/libs/types/tsconfig.spec.json
@@ -6,15 +6,9 @@
"types": ["jest", "node"]
},
"include": [
- "**/*.test.ts",
- "**/*.spec.ts",
- "**/*.test.tsx",
- "**/*.spec.tsx",
- "**/*.test.js",
- "**/*.spec.js",
- "**/*.test.jsx",
- "**/*.spec.jsx",
- "**/*.d.ts",
- "jest.config.ts"
+ "jest.config.ts",
+ "src/**/*.test.ts",
+ "src/**/*.spec.ts",
+ "src/**/*.d.ts"
]
}
diff --git a/libs/ui-toolkit/package.json b/libs/ui-toolkit/package.json
index 5ea4c6ddb..f6cd7ca10 100644
--- a/libs/ui-toolkit/package.json
+++ b/libs/ui-toolkit/package.json
@@ -1,4 +1,7 @@
{
"name": "@vegaprotocol/ui-toolkit",
- "version": "0.12.9"
+ "version": "0.12.9",
+ "devDependencies": {
+ "@vegaprotocol/tailwindcss-config": "0.0.6"
+ }
}
diff --git a/libs/ui-toolkit/src/components/healthbar/healthbar.tsx b/libs/ui-toolkit/src/components/healthbar/healthbar.tsx
deleted file mode 100644
index 925a3f72d..000000000
--- a/libs/ui-toolkit/src/components/healthbar/healthbar.tsx
+++ /dev/null
@@ -1,283 +0,0 @@
-import classNames from 'classnames';
-import {
- addDecimalsFormatNumber,
- formatNumberPercentage,
-} from '@vegaprotocol/utils';
-import { BigNumber } from 'bignumber.js';
-import { getIntentBackground, Intent } from '../../utils/intent';
-import { Indicator } from '../indicator';
-import { Tooltip } from '../tooltip';
-import { useT } from '../../use-t';
-
-const Remainder = () => (
-
-);
-
-const Target = ({
- target,
- decimals,
- isLarge,
-}: {
- isLarge: boolean;
- target: string;
- decimals: number;
-}) => {
- const t = useT();
- return (
-
-
-
-
-
- {t('Target stake {{target}}', {
- target: addDecimalsFormatNumber(target, decimals),
- })}{' '}
-
-
- }
- >
-
-
- );
-};
-
-const AuctionTarget = ({
- trigger,
- isLarge,
- rangeLimit,
- decimals,
-}: {
- isLarge: boolean;
- trigger: number;
- rangeLimit: number;
- decimals: number;
-}) => {
- const t = useT();
- const leftPosition = new BigNumber(trigger).div(rangeLimit).multipliedBy(100);
- return (
-
-
-
-
-
- {t('Auction Trigger stake {{trigger}}', {
- trigger: addDecimalsFormatNumber(trigger, decimals),
- })}
-
-
- }
- >
-
-
- );
-};
-
-const Level = ({
- commitmentAmount,
- rangeLimit,
- opacity,
- fee,
- prevLevel,
- decimals,
- intent,
-}: {
- commitmentAmount: number;
- rangeLimit: number;
- opacity: number;
- fee: string;
- prevLevel: number;
- decimals: number;
- intent: Intent;
-}) => {
- const t = useT();
- const width = new BigNumber(commitmentAmount)
- .div(rangeLimit)
- .multipliedBy(100)
- .toNumber();
-
- const formattedFee = fee
- ? formatNumberPercentage(new BigNumber(fee).times(100), 2)
- : '-';
-
- const tooltipContent = (
-
-
-
-
-
{t('{{fee}} Fee', { fee: formattedFee })}
-
-
- {prevLevel ? addDecimalsFormatNumber(prevLevel, decimals) : '0'} -{' '}
- {addDecimalsFormatNumber(commitmentAmount, decimals)}
-
-
-
- );
-
- return (
-
-
-
- );
-};
-
-const Full = () => (
-
-);
-
-interface Levels {
- fee: string;
- commitmentAmount: number;
-}
-
-export const HealthBar = ({
- target = '0',
- decimals,
- levels,
- size = 'small',
- intent,
- triggerRatio,
-}: {
- target: string;
- decimals: number;
- levels: Levels[];
- size?: 'small' | 'large';
- intent: Intent;
- triggerRatio?: string;
-}) => {
- const t = useT();
- const targetNumber = parseInt(target, 10);
- const rangeLimit = targetNumber * 2;
-
- const triggerRatioNumber = triggerRatio ? parseFloat(triggerRatio) : 0;
- const auctionTrigger = targetNumber * triggerRatioNumber;
-
- let lastVisibleLevel = 0;
- const committedNumber = levels
- .reduce((total, current, index) => {
- const newTotal = total.plus(current.commitmentAmount);
- if (total.isLessThan(rangeLimit) && newTotal.isGreaterThan(rangeLimit)) {
- lastVisibleLevel = index;
- }
- return newTotal;
- }, new BigNumber(0))
- .toNumber();
-
- const isLarge = size === 'large';
- const showRemainder = committedNumber < rangeLimit || levels.length === 0;
- const showOverflow = !showRemainder && lastVisibleLevel < levels.length - 1;
-
- return (
-
-
-
-
-
-
- {levels.map((p, index) => {
- const { commitmentAmount, fee } = p;
- const prevLevel = levels[index - 1]?.commitmentAmount;
- const opacity = 1 - 0.2 * index;
- return index <= lastVisibleLevel ? (
-
- ) : null;
- })}
- {showRemainder && }
- {showOverflow && (
-
- {t('Providers greater than 2x target stake not shown')}
-
- }
- >
-
...
-
- )}
-
-
- {triggerRatio && (
-
- )}
-
-
-
-
- );
-};
diff --git a/libs/ui-toolkit/src/components/healthbar/index.ts b/libs/ui-toolkit/src/components/healthbar/index.ts
deleted file mode 100644
index 3011e2c6e..000000000
--- a/libs/ui-toolkit/src/components/healthbar/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './healthbar';
diff --git a/libs/ui-toolkit/src/components/index.ts b/libs/ui-toolkit/src/components/index.ts
index 32c2c1847..b9e3a9044 100644
--- a/libs/ui-toolkit/src/components/index.ts
+++ b/libs/ui-toolkit/src/components/index.ts
@@ -13,7 +13,6 @@ export * from './divider';
export * from './drawer';
export * from './dropdown-menu';
export * from './form-group';
-export * from './healthbar';
export * from './icon';
export * from './indicator';
export * from './input';
diff --git a/libs/ui-toolkit/tailwind.config.js b/libs/ui-toolkit/tailwind.config.js
index 3140d47a1..336d45665 100644
--- a/libs/ui-toolkit/tailwind.config.js
+++ b/libs/ui-toolkit/tailwind.config.js
@@ -1,7 +1,9 @@
const { join } = require('path');
const { createGlobPatternsForDependencies } = require('@nx/react/tailwind');
-const theme = require('../tailwindcss-config/src/theme');
-const vegaCustomClasses = require('../tailwindcss-config/src/vega-custom-classes');
+const { theme } = require('../tailwindcss-config/src/theme');
+const {
+ vegaCustomClasses,
+} = require('../tailwindcss-config/src/vega-custom-classes');
module.exports = {
content: [
diff --git a/libs/utils/.eslintrc.json b/libs/utils/.eslintrc.json
index e8c3634b5..a871f3e05 100644
--- a/libs/utils/.eslintrc.json
+++ b/libs/utils/.eslintrc.json
@@ -1,6 +1,6 @@
{
"extends": ["../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
+ "ignorePatterns": ["!**/*", "__generated__"],
"overrides": [
{
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
@@ -32,6 +32,18 @@
{
"files": ["*.js", "*.jsx"],
"rules": {}
+ },
+ {
+ "files": ["*.json"],
+ "parser": "jsonc-eslint-parser",
+ "rules": {
+ "@nx/dependency-checks": [
+ "error",
+ {
+ "ignoredFiles": ["{projectRoot}/rollup.config.{js,ts,mjs,mts}"]
+ }
+ ]
+ }
}
]
}
diff --git a/libs/utils/.swcrc b/libs/utils/.swcrc
index fb42f4b04..28e88ec1c 100644
--- a/libs/utils/.swcrc
+++ b/libs/utils/.swcrc
@@ -15,9 +15,7 @@
"loose": true
},
"module": {
- "type": "commonjs",
- "strict": true,
- "noInterop": true
+ "type": "es6"
},
"sourceMaps": true,
"exclude": [
diff --git a/libs/utils/jest.config.ts b/libs/utils/jest.config.ts
index 7bb492626..cb1d2ad10 100644
--- a/libs/utils/jest.config.ts
+++ b/libs/utils/jest.config.ts
@@ -1,16 +1,30 @@
/* eslint-disable */
+import { readFileSync } from 'fs';
+
+// Reading the SWC compilation config and remove the "exclude"
+// for the test files to be compiled by SWC
+const { exclude: _, ...swcJestConfig } = JSON.parse(
+ readFileSync(`${__dirname}/.swcrc`, 'utf-8')
+);
+
+// disable .swcrc look-up by SWC core because we're passing in swcJestConfig ourselves.
+// If we do not disable this, SWC Core will read .swcrc and won't transform our test files due to "exclude"
+if (swcJestConfig.swcrc === undefined) {
+ swcJestConfig.swcrc = false;
+}
+
+// Uncomment if using global setup/teardown files being transformed via swc
+// https://nx.dev/packages/jest/documents/overview#global-setup/teardown-with-nx-libraries
+// jest needs EsModule Interop to find the default exported setup/teardown functions
+// swcJestConfig.module.noInterop = false;
+
export default {
displayName: 'utils',
preset: '../../jest.preset.js',
- globals: {},
transform: {
- '^.+\\.[tj]s$': [
- 'ts-jest',
- {
- tsconfig: '/tsconfig.spec.json',
- },
- ],
+ '^.+\\.[tj]s$': ['@swc/jest', swcJestConfig],
},
moduleFileExtensions: ['ts', 'js', 'html'],
+ testEnvironment: 'jsdom',
coverageDirectory: '../../coverage/libs/utils',
};
diff --git a/libs/utils/package.json b/libs/utils/package.json
index 13438b08c..8f2be33f4 100644
--- a/libs/utils/package.json
+++ b/libs/utils/package.json
@@ -1,5 +1,16 @@
{
"name": "@vegaprotocol/utils",
- "version": "0.0.10",
- "type": "commonjs"
+ "version": "0.0.11",
+ "dependencies": {
+ "@vegaprotocol/types": "0.0.7",
+ "bignumber.js": "^9.0.2",
+ "date-fns": "^2.28.0",
+ "lodash": "^4.17.21"
+ },
+ "peerDependencies": {
+ "react": "18.2.0",
+ "react-i18next": "13.5.0"
+ },
+ "type": "module",
+ "module": "./index.js"
}
diff --git a/libs/utils/project.json b/libs/utils/project.json
index 1458872ac..cdfc2f354 100644
--- a/libs/utils/project.json
+++ b/libs/utils/project.json
@@ -5,37 +5,33 @@
"projectType": "library",
"targets": {
"build": {
- "executor": "@nx/js:swc",
+ "executor": "@nx/rollup:rollup",
"outputs": ["{options.outputPath}"],
- "format": ["esm", "cjs"],
"options": {
"outputPath": "dist/libs/utils",
"main": "libs/utils/src/index.ts",
"tsConfig": "libs/utils/tsconfig.lib.json",
- "assets": ["libs/utils/*.md"]
+ "assets": [],
+ "project": "libs/utils/package.json",
+ "compiler": "swc",
+ "format": ["esm"],
+ "external": ["@vegaprotocol/types"]
}
},
"publish": {
- "executor": "nx:run-commands",
- "options": {
- "command": "node tools/scripts/publish.mjs utils {args.ver} {args.tag}"
- },
- "dependsOn": [
- {
- "target": "build"
- }
- ]
+ "command": "node tools/scripts/publish.mjs utils {args.ver} {args.tag}",
+ "dependsOn": ["build"]
},
"lint": {
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"],
"options": {
- "lintFilePatterns": ["libs/utils/**/*.ts"]
+ "lintFilePatterns": ["libs/utils/**/*.ts", "libs/utils/package.json"]
}
},
"test": {
"executor": "@nx/jest:jest",
- "outputs": ["{workspaceRoot}/coverage/libs/utils"],
+ "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
"options": {
"jestConfig": "libs/utils/jest.config.ts"
}
diff --git a/libs/utils/src/lib/format/trigger.ts b/libs/utils/src/lib/format/trigger.ts
index fe6bad348..3c869da90 100644
--- a/libs/utils/src/lib/format/trigger.ts
+++ b/libs/utils/src/lib/format/trigger.ts
@@ -1,4 +1,4 @@
-import * as Schema from '@vegaprotocol/types';
+import { type StopOrder, StopOrderTriggerDirection } from '@vegaprotocol/types';
import { addDecimalsFormatNumber } from './number';
import { useCallback } from 'react';
import { useT } from '../use-t';
@@ -7,14 +7,14 @@ export const useFormatTrigger = () => {
const t = useT();
return useCallback(
(
- data: Pick | undefined,
+ data: Pick | undefined,
marketDecimalPlaces: number,
defaultValue = '-'
) => {
if (data && data?.trigger?.__typename === 'StopOrderPrice') {
return `${t('Mark')} ${
data?.triggerDirection ===
- Schema.StopOrderTriggerDirection.TRIGGER_DIRECTION_FALLS_BELOW
+ StopOrderTriggerDirection.TRIGGER_DIRECTION_FALLS_BELOW
? '<'
: '>'
} ${addDecimalsFormatNumber(data.trigger.price, marketDecimalPlaces)}`;
@@ -25,7 +25,7 @@ export const useFormatTrigger = () => {
) {
return `${t('Mark')} ${
data?.triggerDirection ===
- Schema.StopOrderTriggerDirection.TRIGGER_DIRECTION_FALLS_BELOW
+ StopOrderTriggerDirection.TRIGGER_DIRECTION_FALLS_BELOW
? '+'
: '-'
}${(Number(data?.trigger.trailingPercentOffset) * 100).toFixed(1)}%`;
diff --git a/libs/utils/tsconfig.json b/libs/utils/tsconfig.json
index e302a4d20..063f097fd 100644
--- a/libs/utils/tsconfig.json
+++ b/libs/utils/tsconfig.json
@@ -1,14 +1,14 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
- "module": "commonjs",
+ "module": "esnext",
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitOverride": true,
- "noPropertyAccessFromIndexSignature": false,
+ "noPropertyAccessFromIndexSignature": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
- "esModuleInterop": true
+ "allowSyntheticDefaultImports": true
},
"files": [],
"include": [],
diff --git a/libs/utils/tsconfig.lib.json b/libs/utils/tsconfig.lib.json
index e85ef50f6..33eca2c2c 100644
--- a/libs/utils/tsconfig.lib.json
+++ b/libs/utils/tsconfig.lib.json
@@ -3,8 +3,8 @@
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"declaration": true,
- "types": []
+ "types": ["node"]
},
- "include": ["**/*.ts"],
- "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"]
+ "include": ["src/**/*.ts"],
+ "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"]
}
diff --git a/libs/utils/tsconfig.spec.json b/libs/utils/tsconfig.spec.json
index 546f12877..9b2a121d1 100644
--- a/libs/utils/tsconfig.spec.json
+++ b/libs/utils/tsconfig.spec.json
@@ -5,5 +5,10 @@
"module": "commonjs",
"types": ["jest", "node"]
},
- "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"]
+ "include": [
+ "jest.config.ts",
+ "src/**/*.test.ts",
+ "src/**/*.spec.ts",
+ "src/**/*.d.ts"
+ ]
}
diff --git a/libs/wallet/.babelrc b/libs/wallet/.babelrc
deleted file mode 100644
index 1ea870ead..000000000
--- a/libs/wallet/.babelrc
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "presets": [
- [
- "@nx/react/babel",
- {
- "runtime": "automatic",
- "useBuiltIns": "usage"
- }
- ]
- ],
- "plugins": []
-}
diff --git a/libs/wallet/.eslintrc.json b/libs/wallet/.eslintrc.json
index f3153d3b4..9c228f61a 100644
--- a/libs/wallet/.eslintrc.json
+++ b/libs/wallet/.eslintrc.json
@@ -1,5 +1,5 @@
{
- "extends": ["plugin:@nx/react", "../../.eslintrc.json"],
+ "extends": ["../../.eslintrc.json"],
"ignorePatterns": ["!**/*", "__generated__"],
"overrides": [
{
@@ -13,6 +13,18 @@
{
"files": ["*.js", "*.jsx"],
"rules": {}
+ },
+ {
+ "files": ["*.json"],
+ "parser": "jsonc-eslint-parser",
+ "rules": {
+ "@nx/dependency-checks": [
+ "error",
+ {
+ "ignoredFiles": ["{projectRoot}/rollup.config.{js,ts,mjs,mts}"]
+ }
+ ]
+ }
}
]
}
diff --git a/libs/wallet/.swcrc b/libs/wallet/.swcrc
new file mode 100644
index 000000000..28e88ec1c
--- /dev/null
+++ b/libs/wallet/.swcrc
@@ -0,0 +1,29 @@
+{
+ "jsc": {
+ "target": "es2017",
+ "parser": {
+ "syntax": "typescript",
+ "decorators": true,
+ "dynamicImport": true
+ },
+ "transform": {
+ "decoratorMetadata": true,
+ "legacyDecorator": true
+ },
+ "keepClassNames": true,
+ "externalHelpers": true,
+ "loose": true
+ },
+ "module": {
+ "type": "es6"
+ },
+ "sourceMaps": true,
+ "exclude": [
+ "jest.config.ts",
+ ".*\\.spec.tsx?$",
+ ".*\\.test.tsx?$",
+ "./src/jest-setup.ts$",
+ "./**/jest-setup.ts$",
+ ".*.js$"
+ ]
+}
diff --git a/libs/wallet/__mocks__/zustand.ts b/libs/wallet/__mocks__/zustand.ts
index b42750b88..45c0b4bd0 100644
--- a/libs/wallet/__mocks__/zustand.ts
+++ b/libs/wallet/__mocks__/zustand.ts
@@ -1,5 +1,4 @@
import type { StateCreator } from 'zustand';
-import { act } from 'react-dom/test-utils';
const { create: actualCreate } = jest.requireActual('zustand'); // if using jest
// a variable to hold reset functions for all stores declared in the app
@@ -17,5 +16,5 @@ export const create =
// Reset all stores after each test run
beforeEach(() => {
- act(() => storeResetFns.forEach((resetFn) => resetFn()));
+ storeResetFns.forEach((resetFn) => resetFn());
});
diff --git a/libs/wallet/jest.config.ts b/libs/wallet/jest.config.ts
index 5b06be7c8..a2d5676be 100644
--- a/libs/wallet/jest.config.ts
+++ b/libs/wallet/jest.config.ts
@@ -1,12 +1,30 @@
/* eslint-disable */
+import { readFileSync } from 'fs';
+
+// Reading the SWC compilation config and remove the "exclude"
+// for the test files to be compiled by SWC
+const { exclude: _, ...swcJestConfig } = JSON.parse(
+ readFileSync(`${__dirname}/.swcrc`, 'utf-8')
+);
+
+// disable .swcrc look-up by SWC core because we're passing in swcJestConfig ourselves.
+// If we do not disable this, SWC Core will read .swcrc and won't transform our test files due to "exclude"
+if (swcJestConfig.swcrc === undefined) {
+ swcJestConfig.swcrc = false;
+}
+
+// Uncomment if using global setup/teardown files being transformed via swc
+// https://nx.dev/packages/jest/documents/overview#global-setup/teardown-with-nx-libraries
+// jest needs EsModule Interop to find the default exported setup/teardown functions
+// swcJestConfig.module.noInterop = false;
+
export default {
displayName: 'wallet',
preset: '../../jest.preset.js',
transform: {
- '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nx/react/plugins/jest',
- '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nx/react/babel'] }],
+ '^.+\\.[tj]s$': ['@swc/jest', swcJestConfig],
},
- moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
+ moduleFileExtensions: ['ts', 'js', 'html'],
+ testEnvironment: 'jsdom',
coverageDirectory: '../../coverage/libs/wallet',
- setupFilesAfterEnv: ['./src/setup-tests.ts'],
};
diff --git a/libs/wallet/package.json b/libs/wallet/package.json
index 5351a14e1..9b4e6c607 100644
--- a/libs/wallet/package.json
+++ b/libs/wallet/package.json
@@ -1,4 +1,14 @@
{
"name": "@vegaprotocol/wallet",
- "version": "0.0.2"
+ "version": "0.0.3",
+ "dependencies": {
+ "@vegaprotocol/types": "0.0.7",
+ "@vegaprotocol/utils": "0.0.11",
+ "ethers": "^5.6.0",
+ "eventemitter3": "^5.0.1",
+ "js-sha3": "^0.8.0",
+ "zustand": "^4.5.0"
+ },
+ "type": "module",
+ "module": "./index.js"
}
diff --git a/libs/wallet/project.json b/libs/wallet/project.json
index 273238344..828e11399 100644
--- a/libs/wallet/project.json
+++ b/libs/wallet/project.json
@@ -3,55 +3,39 @@
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "libs/wallet/src",
"projectType": "library",
- "tags": [],
"targets": {
"build": {
"executor": "@nx/rollup:rollup",
"outputs": ["{options.outputPath}"],
"options": {
"outputPath": "dist/libs/wallet",
+ "main": "libs/wallet/src/index.ts",
"tsConfig": "libs/wallet/tsconfig.lib.json",
+ "assets": [],
"project": "libs/wallet/package.json",
- "entryFile": "libs/wallet/src/index.ts",
- "external": [
- "react",
- "react-dom",
- "react/jsx-runtime",
- "@vegaprotocol/types",
- "@vegaprotocol/utils"
- ],
- "rollupConfig": "@nx/react/plugins/bundle-rollup",
"compiler": "swc",
- "format": ["esm", "cjs"],
- "assets": [
- {
- "glob": "libs/wallet/README.md",
- "input": ".",
- "output": "."
- }
- ]
+ "format": ["esm"],
+ "external": ["@vegaprotocol/types", "@vegaprotocol/utils"]
}
},
+ "publish": {
+ "command": "node tools/scripts/publish.mjs wallet {args.ver} {args.tag}",
+ "dependsOn": ["build"]
+ },
"lint": {
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"],
"options": {
- "lintFilePatterns": ["libs/wallet/**/*.{ts,tsx,js,jsx}"]
+ "lintFilePatterns": ["libs/wallet/**/*.ts", "libs/wallet/package.json"]
}
},
"test": {
"executor": "@nx/jest:jest",
- "outputs": ["{workspaceRoot}/coverage/libs/wallet"],
+ "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
"options": {
"jestConfig": "libs/wallet/jest.config.ts"
}
- },
- "build-spec": {
- "executor": "nx:run-commands",
- "outputs": [],
- "options": {
- "command": "yarn tsc --project ./libs/wallet/tsconfig.spec.json"
- }
}
- }
+ },
+ "tags": []
}
diff --git a/libs/wallet/src/setup-tests.ts b/libs/wallet/src/setup-tests.ts
deleted file mode 100644
index 7b0828bfa..000000000
--- a/libs/wallet/src/setup-tests.ts
+++ /dev/null
@@ -1 +0,0 @@
-import '@testing-library/jest-dom';
diff --git a/libs/wallet/src/test-helpers.ts b/libs/wallet/src/test-helpers.ts
deleted file mode 100644
index 00fc63713..000000000
--- a/libs/wallet/src/test-helpers.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-export function mockBrowserWallet(overrides?: Partial) {
- const vega: Vega = {
- connectWallet: jest.fn().mockResolvedValue(null),
- disconnectWallet: jest.fn().mockResolvedValue(undefined),
- listKeys: jest
- .fn()
- .mockReturnValue({ keys: [{ name: 'test key', publicKey: '0x123' }] }),
- sendTransaction: jest.fn().mockReturnValue({
- code: 1,
- data: '',
- height: '1',
- log: '',
- success: true,
- txHash: '0x123',
- }),
- getChainId: jest.fn().mockResolvedValue({ chainID: 'mock chain' }),
- on: jest.fn(),
- off: jest.fn(),
- isConnected: jest.fn().mockRejectedValue(Promise.resolve(true)),
- ...overrides,
- };
- // @ts-ignore globalThis has no index signature
- globalThis.vega = vega;
- return vega;
-}
-
-export function clearBrowserWallet() {
- // @ts-ignore no index signature on globalThis
- delete globalThis['vega'];
-}
-
-export function delayedResolve(result: T, delay = 0): Promise {
- return new Promise((resolve) => {
- setTimeout(() => resolve(result), delay);
- });
-}
-
-export function delayedReject(result: T, delay = 0): Promise {
- return new Promise((_, reject) => {
- setTimeout(() => reject(result), delay);
- });
-}
diff --git a/libs/wallet/src/utils.spec.ts b/libs/wallet/src/utils.spec.ts
index 898dc4436..0855d54a2 100644
--- a/libs/wallet/src/utils.spec.ts
+++ b/libs/wallet/src/utils.spec.ts
@@ -1,5 +1,4 @@
-import { determineId, normalizeOrderAmendment } from './utils';
-import * as Schema from '@vegaprotocol/types';
+import { determineId } from './utils';
describe('determineId', () => {
it('produces a known result for an ID', () => {
@@ -11,57 +10,3 @@ describe('determineId', () => {
);
});
});
-
-describe('normalizeOrderAmendment', () => {
- type Order = Parameters[0];
- type Market = Parameters[1];
- const order: Order = {
- id: '123',
- timeInForce: Schema.OrderTimeInForce.TIME_IN_FORCE_GTT,
- size: '100',
- expiresAt: '2022-01-01T00:00:00.000Z',
- };
- const market: Market = {
- id: '456',
- decimalPlaces: 1,
- positionDecimalPlaces: 1,
- };
-
- it('sets and formats order id, market id, expires and timeInForce as given', () => {
- const orderAmendment = normalizeOrderAmendment(order, market, '1', '1');
- expect(orderAmendment.orderId).toEqual('123');
- expect(orderAmendment.marketId).toEqual('456');
- expect(orderAmendment.expiresAt).toEqual('1640995200000000000');
- expect(orderAmendment.timeInForce).toEqual(
- Schema.OrderTimeInForce.TIME_IN_FORCE_GTT
- );
- });
-
- it.each([
- ['1.1', 1, '11'],
- ['1.1', 2, '110'],
- ['0.001', 8, '100000'],
- ])('sets and formats price', (price, decimalPlaces, output) => {
- const orderAmendment = normalizeOrderAmendment(
- order,
- { ...market, decimalPlaces },
- price,
- '1'
- );
- expect(orderAmendment.price).toEqual(output);
- });
-
- it.each([
- ['9', 1, -10],
- ['90', 2, 8900],
- ['0.001', 8, 99900],
- ])('sets and formats size delta', (size, positionDecimalPlaces, output) => {
- const orderAmendment = normalizeOrderAmendment(
- order,
- { ...market, positionDecimalPlaces },
- '1',
- size
- );
- expect(orderAmendment.sizeDelta).toEqual(output);
- });
-});
diff --git a/libs/wallet/src/utils.ts b/libs/wallet/src/utils.ts
index 24bb26067..5678a9174 100644
--- a/libs/wallet/src/utils.ts
+++ b/libs/wallet/src/utils.ts
@@ -1,9 +1,5 @@
-import { removeDecimal, toNanoSeconds } from '@vegaprotocol/utils';
-import { type AccountType, type Market, type Order } from '@vegaprotocol/types';
-import BigNumber from 'bignumber.js';
import { ethers } from 'ethers';
import { sha3_256 } from 'js-sha3';
-import type { Exact } from 'type-fest';
import {
type ApplyReferralCode,
type BatchMarketInstructionSubmissionBody,
@@ -16,8 +12,6 @@ import {
type TransferBody,
type UpdateMarginModeBody,
type WithdrawSubmissionBody,
- type Transfer,
- type OrderAmendment,
type Transaction,
} from './transaction-types';
@@ -38,48 +32,6 @@ export const encodeTransaction = (tx: Transaction): string => {
);
};
-export const normalizeOrderAmendment = >(
- order: Pick,
- market: Pick,
- price: string,
- size: string
-): OrderAmendment => ({
- orderId: order.id,
- marketId: market.id,
- price: removeDecimal(price, market.decimalPlaces),
- timeInForce: order.timeInForce,
- sizeDelta: size
- ? new BigNumber(removeDecimal(size, market.positionDecimalPlaces))
- .minus(order.size)
- .toNumber()
- : 0,
- expiresAt: order.expiresAt
- ? toNanoSeconds(order.expiresAt) // Wallet expects timestamp in nanoseconds
- : undefined,
-});
-
-export const normalizeTransfer = >(
- address: string,
- amount: string,
- fromAccountType: AccountType,
- toAccountType: AccountType,
- asset: {
- id: string;
- decimals: number;
- }
-): Transfer => {
- return {
- to: address,
- fromAccountType,
- toAccountType,
- asset: asset.id,
- amount: removeDecimal(amount, asset.decimals),
- // oneOff or recurring required otherwise wallet will error
- // default oneOff is immediate transfer
- oneOff: {},
- };
-};
-
/**
* TODO: We may want to create a package similar to @metamask/detect-ethereum-provider as this wont suffice
* if called immeidately, and before the extension has been able to add the vega object to the window
diff --git a/libs/wallet/tsconfig.json b/libs/wallet/tsconfig.json
index a60de721b..330b9970f 100644
--- a/libs/wallet/tsconfig.json
+++ b/libs/wallet/tsconfig.json
@@ -1,17 +1,15 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
- "jsx": "react-jsx",
- "allowJs": true,
- "esModuleInterop": true,
- "allowSyntheticDefaultImports": true,
+ "module": "esnext",
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitOverride": true,
- "noPropertyAccessFromIndexSignature": false,
+ "noPropertyAccessFromIndexSignature": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
},
+ "files": [],
"include": [],
"references": [
{
diff --git a/libs/wallet/tsconfig.lib.json b/libs/wallet/tsconfig.lib.json
index 867a2ffa8..33eca2c2c 100644
--- a/libs/wallet/tsconfig.lib.json
+++ b/libs/wallet/tsconfig.lib.json
@@ -2,23 +2,9 @@
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
+ "declaration": true,
"types": ["node"]
},
- "files": [
- "../../node_modules/@nx/react/typings/cssmodule.d.ts",
- "../../node_modules/@nx/react/typings/image.d.ts"
- ],
- "exclude": [
- "**/*.spec.ts",
- "**/*.test.ts",
- "**/*.spec.tsx",
- "**/*.test.tsx",
- "**/*.spec.js",
- "**/*.test.js",
- "**/*.spec.jsx",
- "**/*.test.jsx",
- "jest.config.ts",
- "__mocks__"
- ],
- "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"]
+ "include": ["src/**/*.ts"],
+ "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"]
}
diff --git a/libs/wallet/tsconfig.spec.json b/libs/wallet/tsconfig.spec.json
index 3da863401..9b2a121d1 100644
--- a/libs/wallet/tsconfig.spec.json
+++ b/libs/wallet/tsconfig.spec.json
@@ -3,18 +3,12 @@
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"module": "commonjs",
- "types": ["jest", "node", "@testing-library/jest-dom"]
+ "types": ["jest", "node"]
},
"include": [
- "**/*.test.ts",
- "**/*.spec.ts",
- "**/*.test.tsx",
- "**/*.spec.tsx",
- "**/*.test.js",
- "**/*.spec.js",
- "**/*.test.jsx",
- "**/*.spec.jsx",
- "**/*.d.ts",
- "jest.config.ts"
+ "jest.config.ts",
+ "src/**/*.test.ts",
+ "src/**/*.spec.ts",
+ "src/**/*.d.ts"
]
}
diff --git a/package.json b/package.json
index 6fb84db75..538d2edcd 100644
--- a/package.json
+++ b/package.json
@@ -41,6 +41,7 @@
"@sentry/nextjs": "^6.19.3",
"@sentry/react": "^6.19.2",
"@sentry/tracing": "^6.19.2",
+ "@swc/helpers": "~0.5.2",
"@walletconnect/ethereum-provider": "^2.6.0",
"@web3-react/coinbase-wallet": "8.1.2-beta.0",
"@web3-react/core": "^8.1.2-beta.0",
@@ -201,6 +202,7 @@
"jest": "29.4.3",
"jest-canvas-mock": "^2.3.1",
"jest-environment-jsdom": "^29.4.1",
+ "jest-environment-node": "^29.4.1",
"jest-websocket-mock": "^2.3.0",
"lint-staged": "^12.3.3",
"mock-apollo-client": "^1.2.0",
@@ -227,6 +229,7 @@
"type-fest": "^3.8.0",
"typescript": "5.2.2",
"url-loader": "^4.1.1",
+ "verdaccio": "^5.0.4",
"webpack": "5.89.0",
"webpack-merge": "^5.8.0"
},
@@ -238,5 +241,8 @@
"graphql": "15.8.0",
"//": "workaround storybook issue: https://github.com/storybookjs/storybook/issues/21642",
"@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.cd77847.0"
+ },
+ "nx": {
+ "includedScripts": []
}
}
diff --git a/project.json b/project.json
new file mode 100644
index 000000000..3759d04a5
--- /dev/null
+++ b/project.json
@@ -0,0 +1,14 @@
+{
+ "name": "nx-monorepo",
+ "$schema": "node_modules/nx/schemas/project-schema.json",
+ "targets": {
+ "local-registry": {
+ "executor": "@nx/js:verdaccio",
+ "options": {
+ "port": 4873,
+ "config": ".verdaccio/config.yml",
+ "storage": "tmp/local-registry/storage"
+ }
+ }
+ }
+}
diff --git a/tsconfig.base.json b/tsconfig.base.json
index ee5b3fff8..9c202fcc9 100644
--- a/tsconfig.base.json
+++ b/tsconfig.base.json
@@ -47,7 +47,7 @@
"@vegaprotocol/react-helpers": ["libs/react-helpers/src/index.ts"],
"@vegaprotocol/smart-contracts": ["libs/smart-contracts/src/index.ts"],
"@vegaprotocol/tailwindcss-config": [
- "libs/tailwindcss-config/src/index.js"
+ "libs/tailwindcss-config/src/index.ts"
],
"@vegaprotocol/tendermint": ["libs/tendermint/src/index.ts"],
"@vegaprotocol/trades": ["libs/trades/src/index.ts"],
diff --git a/yarn.lock b/yarn.lock
index 7439c578b..202353fd8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1467,7 +1467,7 @@
dependencies:
regenerator-runtime "^0.14.0"
-"@babel/runtime@^7.13.10", "@babel/runtime@^7.21.0":
+"@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.21.0":
version "7.24.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.0.tgz#584c450063ffda59697021430cb47101b085951e"
integrity sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==
@@ -1759,7 +1759,7 @@
find-test-names "^1.19.0"
globby "^11.0.4"
-"@cypress/request@^3.0.0":
+"@cypress/request@3.0.1", "@cypress/request@^3.0.0":
version "3.0.1"
resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.1.tgz#72d7d5425236a2413bd3d8bb66d02d9dc3168960"
integrity sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==
@@ -6781,6 +6781,13 @@
dependencies:
tslib "^2.4.0"
+"@swc/helpers@~0.5.2":
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.6.tgz#d16d8566b7aea2bef90d059757e2d77f48224160"
+ integrity sha512-aYX01Ke9hunpoCexYAgQucEpARGQ5w/cqHFrIR+e9gdKb1QWTsVJuTJ2ozQzIAxLyRQe/m+2RqzkyOOGiMKRQA==
+ dependencies:
+ tslib "^2.4.0"
+
"@swc/jest@0.2.20":
version "0.2.20"
resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.20.tgz#2bddb4348fb730296b86cdcd96748be131b11395"
@@ -7325,7 +7332,7 @@
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.201.tgz#76f47cb63124e806824b6c18463daf3e1d480239"
integrity sha512-y9euML0cim1JrykNxADLfaG0FgD1g/yTHwUs/Jg9ZIU7WKj2/4IW9Lbb1WZbvck78W/lfGXFfe+u2EGfIJXdLQ==
-"@types/lodash@^4.14.168":
+"@types/lodash@^4.14.168", "@types/lodash@^4.14.175":
version "4.14.202"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8"
integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==
@@ -7875,6 +7882,166 @@
"@typescript-eslint/types" "6.11.0"
eslint-visitor-keys "^3.4.1"
+"@verdaccio/commons-api@10.2.0":
+ version "10.2.0"
+ resolved "https://registry.yarnpkg.com/@verdaccio/commons-api/-/commons-api-10.2.0.tgz#3b684c31749837b0574375bb2e10644ecea9fcca"
+ integrity sha512-F/YZANu4DmpcEV0jronzI7v2fGVWkQ5Mwi+bVmV+ACJ+EzR0c9Jbhtbe5QyLUuzR97t8R5E/Xe53O0cc2LukdQ==
+ dependencies:
+ http-errors "2.0.0"
+ http-status-codes "2.2.0"
+
+"@verdaccio/config@7.0.0-next-7.10":
+ version "7.0.0-next-7.10"
+ resolved "https://registry.yarnpkg.com/@verdaccio/config/-/config-7.0.0-next-7.10.tgz#7c6c7f1a599152df25a30e0f53de7d8f508781f2"
+ integrity sha512-mB3qaf8wW4sUgS0h3Z4TXYH/V9spjjFA33kNqWl78IMJHipBddbyBvdmfh/vo/NGtfju8DrDbRZlhKCl6293Qg==
+ dependencies:
+ "@verdaccio/core" "7.0.0-next-7.10"
+ "@verdaccio/utils" "7.0.0-next-7.10"
+ debug "4.3.4"
+ js-yaml "4.1.0"
+ lodash "4.17.21"
+ minimatch "7.4.6"
+ yup "0.32.11"
+
+"@verdaccio/core@7.0.0-next-7.10":
+ version "7.0.0-next-7.10"
+ resolved "https://registry.yarnpkg.com/@verdaccio/core/-/core-7.0.0-next-7.10.tgz#4416e0c32c6805bbefd7e9d2573e6203219ac67e"
+ integrity sha512-kS7/x5y9knbkSksHeawRV5Af8p/g0qk9GgQOZjuvOtv08kMFSttYk/eDglE9++SbvqP34+sDraUIMB/C3tZ2fw==
+ dependencies:
+ ajv "8.12.0"
+ core-js "3.35.0"
+ http-errors "2.0.0"
+ http-status-codes "2.3.0"
+ process-warning "1.0.0"
+ semver "7.5.4"
+
+"@verdaccio/file-locking@10.3.1":
+ version "10.3.1"
+ resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-10.3.1.tgz#cfc2436e0715954e0965f97dfcd87381d116f749"
+ integrity sha512-oqYLfv3Yg3mAgw9qhASBpjD50osj2AX4IwbkUtyuhhKGyoFU9eZdrbeW6tpnqUnj6yBMtAPm2eGD4BwQuX400g==
+ dependencies:
+ lockfile "1.0.4"
+
+"@verdaccio/file-locking@12.0.0-next.1":
+ version "12.0.0-next.1"
+ resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-12.0.0-next.1.tgz#ba0963020fedfc5bb7cb7b210a6d4e340301d295"
+ integrity sha512-Zb5G2HEhVRB0jCq4z7QA4dqTdRv/2kIsw2Nkm3j2HqC1OeJRxas3MJAF/OxzbAb1IN32lbg1zycMSk6NcbQkgQ==
+ dependencies:
+ lockfile "1.0.4"
+
+"@verdaccio/local-storage@10.3.3":
+ version "10.3.3"
+ resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.3.3.tgz#fc31eea9e3da2f27e0cfaf5fe713834ed1fab9e9"
+ integrity sha512-/n0FH+1hxVg80YhYBfJuW7F2AuvLY2fra8/DTCilWDll9Y5yZDxwntZfcKHJLerCA4atrbJtvaqpWkoV3Q9x8w==
+ dependencies:
+ "@verdaccio/commons-api" "10.2.0"
+ "@verdaccio/file-locking" "10.3.1"
+ "@verdaccio/streams" "10.2.1"
+ async "3.2.4"
+ debug "4.3.4"
+ lodash "4.17.21"
+ lowdb "1.0.0"
+ mkdirp "1.0.4"
+
+"@verdaccio/logger-7@7.0.0-next-7.10":
+ version "7.0.0-next-7.10"
+ resolved "https://registry.yarnpkg.com/@verdaccio/logger-7/-/logger-7-7.0.0-next-7.10.tgz#aeac8cde73e92f7037e3b479e4708d9abac6a95c"
+ integrity sha512-UgbZnnapLmvcVMz7HzJhsyMTFLhVcAKTwKW/5dtaSwD2XrP721YawdTwJEPZnhcNrTcD9dUvRGfW4Dr/5QzJcg==
+ dependencies:
+ "@verdaccio/logger-commons" "7.0.0-next-7.10"
+ pino "7.11.0"
+
+"@verdaccio/logger-commons@7.0.0-next-7.10":
+ version "7.0.0-next-7.10"
+ resolved "https://registry.yarnpkg.com/@verdaccio/logger-commons/-/logger-commons-7.0.0-next-7.10.tgz#f5153c06a41f396a644996f9b9f87bf6362209ea"
+ integrity sha512-RTA4K6KvoCrgqA1aVP4n8IDZfUQtaza2FcPjEsBShLQg0rHFJi/5/yQg+J4MpOvYlKbrusOy9pwN86h9pCe+CA==
+ dependencies:
+ "@verdaccio/core" "7.0.0-next-7.10"
+ "@verdaccio/logger-prettify" "7.0.0-next.1"
+ colorette "2.0.20"
+ debug "4.3.4"
+
+"@verdaccio/logger-prettify@7.0.0-next.1":
+ version "7.0.0-next.1"
+ resolved "https://registry.yarnpkg.com/@verdaccio/logger-prettify/-/logger-prettify-7.0.0-next.1.tgz#00cd245f1ca1fa44473f5af91fffc06a922e295e"
+ integrity sha512-ZF71AS2k0OiSnKVT05+NUWARZ+yn0keGAlpkgNWU7SHiYeFS1ZDVpapi9PXR23gJ5U756fyPKaqvlRcYgEpsgA==
+ dependencies:
+ colorette "2.0.20"
+ dayjs "1.11.7"
+ lodash "4.17.21"
+ pino-abstract-transport "1.0.0"
+ sonic-boom "3.3.0"
+
+"@verdaccio/middleware@7.0.0-next-7.10":
+ version "7.0.0-next-7.10"
+ resolved "https://registry.yarnpkg.com/@verdaccio/middleware/-/middleware-7.0.0-next-7.10.tgz#3a29e9811ab6369d190ec8192ea627f9afea23f5"
+ integrity sha512-NBQxi6ag2zSIoUUmnQn/n0YwJDnnHqqtyV5c73YTdQV5RSPn5i2YKz+8DSA+iJYa2ff8G4fx8hOdJR+QZZQ24w==
+ dependencies:
+ "@verdaccio/config" "7.0.0-next-7.10"
+ "@verdaccio/core" "7.0.0-next-7.10"
+ "@verdaccio/url" "12.0.0-next-7.10"
+ "@verdaccio/utils" "7.0.0-next-7.10"
+ debug "4.3.4"
+ express "4.18.2"
+ express-rate-limit "5.5.1"
+ lodash "4.17.21"
+ lru-cache "7.18.3"
+ mime "2.6.0"
+
+"@verdaccio/search@7.0.0-next.2":
+ version "7.0.0-next.2"
+ resolved "https://registry.yarnpkg.com/@verdaccio/search/-/search-7.0.0-next.2.tgz#ddcbc29f3a7ab02f3d52999fff8e871bc6f3f81f"
+ integrity sha512-NoGSpubKB+SB4gRMIoEl3E3NkoKE5f0DnANghB3SnMtVxpJGdwZgylosqDxt8swhQ80+16hYdAp6g44uhjVE6Q==
+
+"@verdaccio/signature@7.0.0-next.3":
+ version "7.0.0-next.3"
+ resolved "https://registry.yarnpkg.com/@verdaccio/signature/-/signature-7.0.0-next.3.tgz#a74c7d352c365b6d73a65b23c9772f6439c59010"
+ integrity sha512-egs1VmEe+COUUZ83I6gzDy79Jo3b/AExPvp9EDuJHkmwxJj+9gb231Rv4wk+UoNPrQRNLljUepQwVrDmbqP5DQ==
+ dependencies:
+ debug "4.3.4"
+ jsonwebtoken "9.0.2"
+
+"@verdaccio/streams@10.2.1":
+ version "10.2.1"
+ resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.1.tgz#9443d24d4f17672b8f8c8e147690557918ed2bcb"
+ integrity sha512-OojIG/f7UYKxC4dYX8x5ax8QhRx1b8OYUAMz82rUottCuzrssX/4nn5QE7Ank0DUSX3C9l/HPthc4d9uKRJqJQ==
+
+"@verdaccio/tarball@12.0.0-next-7.10":
+ version "12.0.0-next-7.10"
+ resolved "https://registry.yarnpkg.com/@verdaccio/tarball/-/tarball-12.0.0-next-7.10.tgz#9f67928f529567816889abd0f0addcab70c0880a"
+ integrity sha512-kxctkPREUpe0oRDsTelKcLsWGv2llRBcK2AlyCAX7UENKGWvVqITTk81PkVpzlwXOpcRWdLJQmEE+dtXGwLr6Q==
+ dependencies:
+ "@verdaccio/core" "7.0.0-next-7.10"
+ "@verdaccio/url" "12.0.0-next-7.10"
+ "@verdaccio/utils" "7.0.0-next-7.10"
+ debug "4.3.4"
+ lodash "4.17.21"
+
+"@verdaccio/ui-theme@7.0.0-next-7.10":
+ version "7.0.0-next-7.10"
+ resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-7.0.0-next-7.10.tgz#8b83a8308d48ceb035072c31477d64e2bdfbdac0"
+ integrity sha512-I1War/XBg3WzzAojXDtEDjZw/1qPKW0d8EIsJD3h6Xi5Atzvz/xBTbHjgbwApjmISyDWQ8Vevp8zOtGO33zLSw==
+
+"@verdaccio/url@12.0.0-next-7.10":
+ version "12.0.0-next-7.10"
+ resolved "https://registry.yarnpkg.com/@verdaccio/url/-/url-12.0.0-next-7.10.tgz#833c395d1404d103e25b1f822618d037b93ad9a4"
+ integrity sha512-AiFG+W/H1iD+iXkh4b6zm3AsZdGdI7tiAPCHymN7jSV6dAvWTuhIEK30mmFyCSmOE0iwyn8ZN4xqsf9Qcu1emw==
+ dependencies:
+ "@verdaccio/core" "7.0.0-next-7.10"
+ debug "4.3.4"
+ lodash "4.17.21"
+ validator "13.11.0"
+
+"@verdaccio/utils@7.0.0-next-7.10":
+ version "7.0.0-next-7.10"
+ resolved "https://registry.yarnpkg.com/@verdaccio/utils/-/utils-7.0.0-next-7.10.tgz#2577e25cf9f2341c9510b0d8b1ce33edb6376917"
+ integrity sha512-3sGyBj0leN3RjwPJPDkdsD9j1ahzQccHPj86IlIJqUJFhAcOT/nD6z9+W3sBAiro6Q2psWyWHxBJ8H3LhtlLeA==
+ dependencies:
+ "@verdaccio/core" "7.0.0-next-7.10"
+ lodash "4.17.21"
+ minimatch "7.4.6"
+ semver "7.5.4"
+
"@walletconnect/browser-utils@^1.8.0":
version "1.8.0"
resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz#33c10e777aa6be86c713095b5206d63d32df0951"
@@ -8593,7 +8760,7 @@
dependencies:
argparse "^2.0.1"
-JSONStream@^1.0.4, JSONStream@^1.3.5:
+JSONStream@1.3.5, JSONStream@^1.0.4, JSONStream@^1.3.5:
version "1.3.5"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
@@ -8606,6 +8773,13 @@ abab@^2.0.5, abab@^2.0.6:
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
+abort-controller@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
+ integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
+ dependencies:
+ event-target-shim "^5.0.0"
+
accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8:
version "1.3.8"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
@@ -8733,6 +8907,16 @@ ajv-keywords@^5.1.0:
dependencies:
fast-deep-equal "^3.1.3"
+ajv@8.12.0, ajv@^8.0.0, ajv@^8.9.0:
+ version "8.12.0"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1"
+ integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+ uri-js "^4.2.2"
+
ajv@^6.12.4, ajv@^6.12.5, ajv@^6.12.6:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
@@ -8743,16 +8927,6 @@ ajv@^6.12.4, ajv@^6.12.5, ajv@^6.12.6:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-ajv@^8.0.0, ajv@^8.9.0:
- version "8.12.0"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1"
- integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
- dependencies:
- fast-deep-equal "^3.1.1"
- json-schema-traverse "^1.0.0"
- require-from-string "^2.0.2"
- uri-js "^4.2.2"
-
allotment@1.19.0:
version "1.19.0"
resolved "https://registry.yarnpkg.com/allotment/-/allotment-1.19.0.tgz#8241a2e3db45e6b1e23f6ade29e392eab4297958"
@@ -8850,6 +9024,11 @@ anymatch@^3.0.3, anymatch@^3.1.3, anymatch@~3.1.2:
normalize-path "^3.0.0"
picomatch "^2.0.4"
+apache-md5@1.1.8:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/apache-md5/-/apache-md5-1.1.8.tgz#ea79c6feb03abfed42b2830dde06f75df5e3bbd9"
+ integrity sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==
+
apollo-link-timeout@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/apollo-link-timeout/-/apollo-link-timeout-4.0.0.tgz#3e255bcced6a6babdcc080b1919dd958c036e235"
@@ -9118,6 +9297,16 @@ async-mutex@^0.2.6:
dependencies:
tslib "^2.0.0"
+async@3.2.4:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
+ integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
+
+async@3.2.5, async@^3.2.0, async@^3.2.3:
+ version "3.2.5"
+ resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66"
+ integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==
+
async@^2.6.4:
version "2.6.4"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221"
@@ -9125,11 +9314,6 @@ async@^2.6.4:
dependencies:
lodash "^4.17.14"
-async@^3.2.0, async@^3.2.3:
- version "3.2.5"
- resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66"
- integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==
-
asynciterator.prototype@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62"
@@ -9507,6 +9691,11 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
+bcryptjs@2.4.3:
+ version "2.4.3"
+ resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb"
+ integrity sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==
+
bech32@1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9"
@@ -9761,6 +9950,11 @@ buffer-crc32@~0.2.3:
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==
+buffer-equal-constant-time@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
+ integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==
+
buffer-fill@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
@@ -10207,6 +10401,13 @@ client-only@0.0.1:
resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==
+clipanion@3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/clipanion/-/clipanion-3.2.1.tgz#2887db4cb232e80ba57cf19347a4e3a1c4a74133"
+ integrity sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA==
+ dependencies:
+ typanion "^3.8.0"
+
clipboardy@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-3.0.0.tgz#f3876247404d334c9ed01b6f269c11d09a5e3092"
@@ -10327,16 +10528,16 @@ colord@^2.9.1:
resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43"
integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==
+colorette@2.0.20, colorette@^2.0.10, colorette@^2.0.16, colorette@^2.0.19, colorette@^2.0.20:
+ version "2.0.20"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
+ integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
+
colorette@^1.1.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
-colorette@^2.0.10, colorette@^2.0.16, colorette@^2.0.19, colorette@^2.0.20:
- version "2.0.20"
- resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
- integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
-
columnify@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3"
@@ -10427,7 +10628,7 @@ compressible@~2.0.16:
dependencies:
mime-db ">= 1.43.0 < 2"
-compression@^1.7.4:
+compression@1.7.4, compression@^1.7.4:
version "1.7.4"
resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f"
integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==
@@ -10567,6 +10768,14 @@ cookie@^0.4.1:
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
+cookies@0.9.1:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.9.1.tgz#3ffed6f60bb4fb5f146feeedba50acc418af67e3"
+ integrity sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==
+ dependencies:
+ depd "~2.0.0"
+ keygrip "~1.1.0"
+
copy-anything@^2.0.1:
version "2.0.6"
resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480"
@@ -10605,6 +10814,11 @@ core-js-pure@^3.23.3:
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.33.2.tgz#644830db2507ef84d068a70980ccd99c275f5fa6"
integrity sha512-a8zeCdyVk7uF2elKIGz67AjcXOxjRbwOLz8SbklEso1V+2DoW4OkAMZN9S9GBgvZIaqQi/OemFX4OiSoQEmg1Q==
+core-js@3.35.0:
+ version "3.35.0"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.35.0.tgz#58e651688484f83c34196ca13f099574ee53d6b4"
+ integrity sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg==
+
core-js@^3.0.0, core-js@^3.6.4, core-js@^3.6.5, core-js@^3.8.2:
version "3.33.2"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.2.tgz#312bbf6996a3a517c04c99b9909cdd27138d1ceb"
@@ -10620,6 +10834,14 @@ core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+cors@2.8.5:
+ version "2.8.5"
+ resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
+ integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
+ dependencies:
+ object-assign "^4"
+ vary "^1"
+
corser@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87"
@@ -11286,6 +11508,11 @@ dateformat@^4.5.1:
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.6.3.tgz#556fa6497e5217fedb78821424f8a1c22fa3f4b5"
integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==
+dayjs@1.11.7:
+ version "1.11.7"
+ resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2"
+ integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==
+
dayjs@^1.10.4:
version "1.11.10"
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0"
@@ -11303,7 +11530,7 @@ debug@2.6.9, debug@^2.6.9:
dependencies:
ms "2.0.0"
-debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4:
+debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -11506,7 +11733,7 @@ denque@^2.1.0:
resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1"
integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==
-depd@2.0.0:
+depd@2.0.0, depd@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
@@ -11813,6 +12040,13 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
+ecdsa-sig-formatter@1.0.11:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
+ integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
+ dependencies:
+ safe-buffer "^5.0.1"
+
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@@ -11942,7 +12176,7 @@ env-cmd@^10.1.0:
commander "^4.0.0"
cross-spawn "^7.0.0"
-envinfo@^7.7.3:
+envinfo@7.11.0, envinfo@^7.7.3:
version "7.11.0"
resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f"
integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==
@@ -12655,6 +12889,11 @@ ethers@^5.6.0, ethers@^5.7.0:
"@ethersproject/web" "5.7.1"
"@ethersproject/wordlists" "5.7.0"
+event-target-shim@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
+ integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
+
eventemitter2@6.4.7:
version "6.4.7"
resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d"
@@ -12741,7 +12980,12 @@ expect@^29.0.0, expect@^29.7.0:
jest-message-util "^29.7.0"
jest-util "^29.7.0"
-express@^4.17.3:
+express-rate-limit@5.5.1:
+ version "5.5.1"
+ resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-5.5.1.tgz#110c23f6a65dfa96ab468eda95e71697bc6987a2"
+ integrity sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==
+
+express@4.18.2, express@^4.17.3:
version "4.18.2"
resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59"
integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==
@@ -12922,7 +13166,7 @@ fast-redact@^3.0.0:
resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.3.0.tgz#7c83ce3a7be4898241a46560d51de10f653f7634"
integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==
-fast-safe-stringify@^2.0.6:
+fast-safe-stringify@2.1.1, fast-safe-stringify@^2.0.6:
version "2.1.1"
resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884"
integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==
@@ -13651,6 +13895,17 @@ glob@^10.0.0:
minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
path-scurry "^1.10.1"
+glob@^6.0.1:
+ version "6.0.4"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
+ integrity sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "2 || 3"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0:
version "7.2.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
@@ -13777,7 +14032,7 @@ got@^11.8.5:
p-cancelable "^2.0.0"
responselike "^2.0.0"
-graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
+graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
version "4.2.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
@@ -13893,7 +14148,7 @@ handle-thing@^2.0.0:
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==
-handlebars@^4.7.7:
+handlebars@4.7.8, handlebars@^4.7.7:
version "4.7.8"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9"
integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==
@@ -14242,6 +14497,16 @@ http-signature@~1.3.6:
jsprim "^2.0.2"
sshpk "^1.14.1"
+http-status-codes@2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.2.0.tgz#bb2efe63d941dfc2be18e15f703da525169622be"
+ integrity sha512-feERVo9iWxvnejp3SEfm/+oNG517npqL2/PIA8ORjyOZjGC7TwCRQsZylciLS64i6pJ0wRYz3rkXLRwbtFa8Ng==
+
+http-status-codes@2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.3.0.tgz#987fefb28c69f92a43aecc77feec2866349a8bfc"
+ integrity sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==
+
http2-wrapper@^1.0.0-beta.5.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d"
@@ -14250,6 +14515,14 @@ http2-wrapper@^1.0.0-beta.5.2:
quick-lru "^5.1.1"
resolve-alpn "^1.0.0"
+https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
+ integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
+ dependencies:
+ agent-base "6"
+ debug "4"
+
https-proxy-agent@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b"
@@ -14258,14 +14531,6 @@ https-proxy-agent@^4.0.0:
agent-base "5"
debug "4"
-https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
- integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
- dependencies:
- agent-base "6"
- debug "4"
-
https-proxy-agent@^6.0.0:
version "6.2.1"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-6.2.1.tgz#0965ab47371b3e531cf6794d1eb148710a992ba7"
@@ -14866,6 +15131,11 @@ is-potential-custom-element-name@^1.0.1:
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
+is-promise@^2.1.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
+ integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
+
is-reference@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
@@ -15288,7 +15558,7 @@ jest-environment-jsdom@^29.4.1:
jest-util "^29.7.0"
jsdom "^20.0.0"
-jest-environment-node@^29.7.0:
+jest-environment-node@^29.4.1, jest-environment-node@^29.7.0:
version "29.7.0"
resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376"
integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==
@@ -15791,6 +16061,22 @@ jsonparse@^1.2.0:
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
+jsonwebtoken@9.0.2:
+ version "9.0.2"
+ resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3"
+ integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==
+ dependencies:
+ jws "^3.2.2"
+ lodash.includes "^4.3.0"
+ lodash.isboolean "^3.0.3"
+ lodash.isinteger "^4.0.4"
+ lodash.isnumber "^3.0.3"
+ lodash.isplainobject "^4.0.6"
+ lodash.isstring "^4.0.1"
+ lodash.once "^4.0.0"
+ ms "^2.1.1"
+ semver "^7.5.4"
+
jsprim@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d"
@@ -15811,6 +16097,23 @@ jsprim@^2.0.2:
object.assign "^4.1.4"
object.values "^1.1.6"
+jwa@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
+ integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
+ dependencies:
+ buffer-equal-constant-time "1.0.1"
+ ecdsa-sig-formatter "1.0.11"
+ safe-buffer "^5.0.1"
+
+jws@^3.2.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
+ integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
+ dependencies:
+ jwa "^1.4.1"
+ safe-buffer "^5.0.1"
+
keccak@^3.0.1:
version "3.0.4"
resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d"
@@ -15820,6 +16123,13 @@ keccak@^3.0.1:
node-gyp-build "^4.2.0"
readable-stream "^3.6.0"
+keygrip@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226"
+ integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==
+ dependencies:
+ tsscmp "1.0.6"
+
keyv@^4.0.0, keyv@^4.5.3:
version "4.5.4"
resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
@@ -15837,16 +16147,16 @@ kind-of@^6.0.2, kind-of@^6.0.3:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+kleur@4.1.5, kleur@^4.0.3:
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"
+ integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
+
kleur@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
-kleur@^4.0.3:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"
- integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
-
klona@^2.0.4, klona@^2.0.5:
version "2.0.6"
resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22"
@@ -16124,6 +16434,18 @@ locate-path@^7.1.0:
dependencies:
p-locate "^6.0.0"
+lockfile@1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609"
+ integrity sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==
+ dependencies:
+ signal-exit "^3.0.2"
+
+lodash-es@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
+ integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
+
lodash.camelcase@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
@@ -16144,11 +16466,21 @@ lodash.defaults@^4.2.0:
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==
+lodash.includes@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
+ integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==
+
lodash.isarguments@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==
+lodash.isboolean@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
+ integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==
+
lodash.isempty@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e"
@@ -16164,11 +16496,26 @@ lodash.isfunction@^3.0.9:
resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051"
integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==
+lodash.isinteger@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
+ integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==
+
+lodash.isnumber@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
+ integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==
+
lodash.isobject@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d"
integrity sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==
+lodash.isplainobject@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+ integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
+
lodash.isstring@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
@@ -16184,7 +16531,7 @@ lodash.merge@^4.6.2:
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-lodash.once@^4.1.1:
+lodash.once@^4.0.0, lodash.once@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==
@@ -16199,7 +16546,7 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
-lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@~4.17.0:
+lodash@4, lodash@4.17.21, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@~4.17.0:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -16234,6 +16581,17 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
+lowdb@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/lowdb/-/lowdb-1.0.0.tgz#5243be6b22786ccce30e50c9a33eac36b20c8064"
+ integrity sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==
+ dependencies:
+ graceful-fs "^4.1.3"
+ is-promise "^2.1.0"
+ lodash "4"
+ pify "^3.0.0"
+ steno "^0.4.1"
+
lower-case-first@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-2.0.2.tgz#64c2324a2250bf7c37c5901e76a5b5309301160b"
@@ -16261,6 +16619,11 @@ lowlight@^1.17.0:
fault "^1.0.0"
highlight.js "~10.7.0"
+lru-cache@7.18.3, lru-cache@^7.14.1:
+ version "7.18.3"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89"
+ integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==
+
lru-cache@^10.0.0, lru-cache@^10.0.1, "lru-cache@^9.1.1 || ^10.0.0":
version "10.0.2"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.2.tgz#34504678cc3266b09b8dfd6fab4e1515258271b7"
@@ -16290,11 +16653,6 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
-lru-cache@^7.14.1:
- version "7.18.3"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89"
- integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==
-
lru_map@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd"
@@ -16905,12 +17263,12 @@ mime@1.6.0, mime@^1.4.1, mime@^1.6.0:
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-mime@^2.0.3, mime@^2.4.6:
+mime@2.6.0, mime@^2.0.3, mime@^2.4.6:
version "2.6.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
-mime@^3.0.0:
+mime@3.0.0, mime@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7"
integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==
@@ -16964,6 +17322,13 @@ minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
+"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
minimatch@3.0.5:
version "3.0.5"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3"
@@ -16978,12 +17343,12 @@ minimatch@4.2.3:
dependencies:
brace-expansion "^1.1.7"
-minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+minimatch@7.4.6:
+ version "7.4.6"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.6.tgz#845d6f254d8f4a5e4fd6baf44d5f10c8448365fb"
+ integrity sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==
dependencies:
- brace-expansion "^1.1.7"
+ brace-expansion "^2.0.1"
minimatch@^5.0.1:
version "5.1.6"
@@ -17043,18 +17408,18 @@ mkdirp-classic@^0.5.2:
resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
-mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@^0.5.6:
+mkdirp@1.0.4, mkdirp@^1.0.3, mkdirp@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
+mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@^0.5.6, mkdirp@~0.5.1:
version "0.5.6"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
dependencies:
minimist "^1.2.6"
-mkdirp@^1.0.3, mkdirp@~1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
mlly@^1.2.0, mlly@^1.4.2:
version "1.4.2"
resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.4.2.tgz#7cf406aa319ff6563d25da6b36610a93f2a8007e"
@@ -17180,6 +17545,15 @@ mute-stream@0.0.8:
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+mv@2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2"
+ integrity sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==
+ dependencies:
+ mkdirp "~0.5.1"
+ ncp "~2.0.0"
+ rimraf "~2.4.0"
+
mz@^2.7.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
@@ -17189,6 +17563,11 @@ mz@^2.7.0:
object-assign "^4.0.1"
thenify-all "^1.0.0"
+nanoclone@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4"
+ integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==
+
nanoid@^3.3.1, nanoid@^3.3.4, nanoid@^3.3.6:
version "3.3.7"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
@@ -17204,6 +17583,11 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
+ncp@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
+ integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==
+
needle@^3.1.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/needle/-/needle-3.2.0.tgz#07d240ebcabfd65c76c03afae7f6defe6469df44"
@@ -17294,6 +17678,13 @@ node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7:
dependencies:
whatwg-url "^5.0.0"
+node-fetch@cjs:
+ version "2.6.7"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
+ integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
+ dependencies:
+ whatwg-url "^5.0.0"
+
node-forge@^1, node-forge@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3"
@@ -17474,7 +17865,7 @@ nx@17.1.2:
"@nx/nx-win32-arm64-msvc" "17.1.2"
"@nx/nx-win32-x64-msvc" "17.1.2"
-object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
@@ -18070,6 +18461,14 @@ pify@^5.0.0:
resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f"
integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==
+pino-abstract-transport@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz#cc0d6955fffcadb91b7b49ef220a6cc111d48bb3"
+ integrity sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==
+ dependencies:
+ readable-stream "^4.0.0"
+ split2 "^4.0.0"
+
pino-abstract-transport@v0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0"
@@ -18142,6 +18541,11 @@ pkg-types@^1.0.3:
mlly "^1.2.0"
pathe "^1.1.0"
+pkginfo@0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff"
+ integrity sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==
+
pluralize@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1"
@@ -18786,7 +19190,7 @@ process-nextick-args@~2.0.0:
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-process-warning@^1.0.0:
+process-warning@1.0.0, process-warning@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616"
integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==
@@ -18830,6 +19234,11 @@ prop-types@^15.0.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1:
object-assign "^4.1.1"
react-is "^16.13.1"
+property-expr@^2.0.4:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.6.tgz#f77bc00d5928a6c748414ad12882e83f24aec1e8"
+ integrity sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==
+
property-information@^5.0.0:
version "5.6.0"
resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69"
@@ -19377,6 +19786,17 @@ readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.2.2, readable
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
+readable-stream@^4.0.0:
+ version "4.5.2"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.5.2.tgz#9e7fc4c45099baeed934bff6eb97ba6cf2729e09"
+ integrity sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==
+ dependencies:
+ abort-controller "^3.0.0"
+ buffer "^6.0.3"
+ events "^3.3.0"
+ process "^0.11.10"
+ string_decoder "^1.3.0"
+
readable-web-to-node-stream@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb"
@@ -19805,6 +20225,13 @@ rimraf@^3.0.0, rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
+rimraf@~2.4.0:
+ version "2.4.5"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da"
+ integrity sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==
+ dependencies:
+ glob "^6.0.1"
+
rimraf@~2.6.2:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
@@ -20130,7 +20557,7 @@ semver@7.5.3:
dependencies:
lru-cache "^6.0.0"
-semver@7.x, semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4:
+semver@7.5.4, semver@7.x, semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
@@ -20402,6 +20829,13 @@ sockjs@^0.3.24:
uuid "^8.3.2"
websocket-driver "^0.7.4"
+sonic-boom@3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.3.0.tgz#cffab6dafee3b2bcb88d08d589394198bee1838c"
+ integrity sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==
+ dependencies:
+ atomic-sleep "^1.0.0"
+
sonic-boom@^2.2.1:
version "2.8.0"
resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611"
@@ -20629,6 +21063,13 @@ std-env@^3.4.3:
resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.4.3.tgz#326f11db518db751c83fd58574f449b7c3060910"
integrity sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==
+steno@^0.4.1:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/steno/-/steno-0.4.4.tgz#071105bdfc286e6615c0403c27e9d7b5dcb855cb"
+ integrity sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==
+ dependencies:
+ graceful-fs "^4.1.3"
+
stop-iteration-iterator@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4"
@@ -20777,7 +21218,7 @@ string.prototype.trimstart@^1.0.7:
define-properties "^1.2.0"
es-abstract "^1.22.1"
-string_decoder@^1.1.1:
+string_decoder@^1.1.1, string_decoder@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
@@ -21339,6 +21780,11 @@ toml@^3.0.0:
resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee"
integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==
+toposort@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330"
+ integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==
+
tough-cookie@^4.1.2, tough-cookie@^4.1.3:
version "4.1.3"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
@@ -21533,6 +21979,11 @@ tslib@~2.4.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
+tsscmp@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb"
+ integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==
+
tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
@@ -21552,6 +22003,11 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==
+typanion@^3.8.0:
+ version "3.14.0"
+ resolved "https://registry.yarnpkg.com/typanion/-/typanion-3.14.0.tgz#a766a91810ce8258033975733e836c43a2929b94"
+ integrity sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==
+
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
@@ -21871,6 +22327,11 @@ universalify@^2.0.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d"
integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
+unix-crypt-td-js@1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz#4912dfad1c8aeb7d20fa0a39e4c31918c1d5d5dd"
+ integrity sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==
+
unixify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unixify/-/unixify-1.0.0.tgz#3a641c8c2ffbce4da683a5c70f03a462940c2090"
@@ -22114,7 +22575,7 @@ validate-npm-package-name@^5.0.0:
dependencies:
builtins "^5.0.0"
-validator@^13.6.0:
+validator@13.11.0, validator@^13.6.0:
version "13.11.0"
resolved "https://registry.yarnpkg.com/validator/-/validator-13.11.0.tgz#23ab3fd59290c61248364eabf4067f04955fbb1b"
integrity sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==
@@ -22132,11 +22593,80 @@ value-or-promise@1.0.12, value-or-promise@^1.0.11, value-or-promise@^1.0.12:
resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c"
integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==
-vary@~1.1.2:
+vary@^1, vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
+verdaccio-audit@12.0.0-next-7.10:
+ version "12.0.0-next-7.10"
+ resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-12.0.0-next-7.10.tgz#019a96a4bcfa677d2f196eab73d1927e5e06f673"
+ integrity sha512-inL8J7c4y9BpFIkqLsw9yrdh8/CBKWbBrREiQHQ9ZnD7jLkHxTWsWW8jt4aUt9t2azc6eO5rUIqdo1W6VsYKeA==
+ dependencies:
+ "@verdaccio/config" "7.0.0-next-7.10"
+ "@verdaccio/core" "7.0.0-next-7.10"
+ express "4.18.2"
+ https-proxy-agent "5.0.1"
+ node-fetch cjs
+
+verdaccio-htpasswd@12.0.0-next-7.10:
+ version "12.0.0-next-7.10"
+ resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-12.0.0-next-7.10.tgz#a3017649ea0f365d2b78bf052684c2d2b31452c0"
+ integrity sha512-+P7kxWgWSxRyTlP+IFySwgvQjt529zXTetNmupUgYtu09qCZMffdZ74aGASuCvWa4Vcqavmytzg8McqCNheFiA==
+ dependencies:
+ "@verdaccio/core" "7.0.0-next-7.10"
+ "@verdaccio/file-locking" "12.0.0-next.1"
+ apache-md5 "1.1.8"
+ bcryptjs "2.4.3"
+ core-js "3.35.0"
+ debug "4.3.4"
+ http-errors "2.0.0"
+ unix-crypt-td-js "1.1.4"
+
+verdaccio@^5.0.4:
+ version "5.29.2"
+ resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.29.2.tgz#1d2a8ddbdc310d6d4a9753af02f85d2d0ed1a70b"
+ integrity sha512-Ra9Bv8mMsGaFnvFJl80gSNg6yhHRFUYATA03xpVrfqC1Z1IDZt/f0jZ94tPnfyaY1ljUS5jKsZsj6ihN/ZSVbQ==
+ dependencies:
+ "@cypress/request" "3.0.1"
+ "@verdaccio/config" "7.0.0-next-7.10"
+ "@verdaccio/core" "7.0.0-next-7.10"
+ "@verdaccio/local-storage" "10.3.3"
+ "@verdaccio/logger-7" "7.0.0-next-7.10"
+ "@verdaccio/middleware" "7.0.0-next-7.10"
+ "@verdaccio/search" "7.0.0-next.2"
+ "@verdaccio/signature" "7.0.0-next.3"
+ "@verdaccio/streams" "10.2.1"
+ "@verdaccio/tarball" "12.0.0-next-7.10"
+ "@verdaccio/ui-theme" "7.0.0-next-7.10"
+ "@verdaccio/url" "12.0.0-next-7.10"
+ "@verdaccio/utils" "7.0.0-next-7.10"
+ JSONStream "1.3.5"
+ async "3.2.5"
+ clipanion "3.2.1"
+ compression "1.7.4"
+ cookies "0.9.1"
+ cors "2.8.5"
+ debug "^4.3.4"
+ envinfo "7.11.0"
+ express "4.18.2"
+ express-rate-limit "5.5.1"
+ fast-safe-stringify "2.1.1"
+ handlebars "4.7.8"
+ js-yaml "4.1.0"
+ jsonwebtoken "9.0.2"
+ kleur "4.1.5"
+ lodash "4.17.21"
+ lru-cache "7.18.3"
+ mime "3.0.0"
+ mkdirp "1.0.4"
+ mv "2.1.1"
+ pkginfo "0.4.1"
+ semver "7.5.4"
+ validator "13.11.0"
+ verdaccio-audit "12.0.0-next-7.10"
+ verdaccio-htpasswd "12.0.0-next-7.10"
+
verror@1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
@@ -22779,6 +23309,19 @@ yocto-queue@^1.0.0:
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251"
integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==
+yup@0.32.11:
+ version "0.32.11"
+ resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.11.tgz#d67fb83eefa4698607982e63f7ca4c5ed3cf18c5"
+ integrity sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==
+ dependencies:
+ "@babel/runtime" "^7.15.4"
+ "@types/lodash" "^4.14.175"
+ lodash "^4.17.21"
+ lodash-es "^4.17.21"
+ nanoclone "^0.2.1"
+ property-expr "^2.0.4"
+ toposort "^2.0.2"
+
zen-observable-ts@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58"