Compare commits
39
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7330f0bbf6 | ||
|
|
53173416d7 | ||
|
|
456ec4a233 | ||
|
|
a741bda6fa | ||
|
|
76a53dc7e3 | ||
|
|
72821dd183 | ||
|
|
40d2e033e0 | ||
|
|
e6d0b6ac1f | ||
|
|
99161497fe | ||
|
|
bf6ab32230 | ||
|
|
28bcb4ada1 | ||
|
|
5812c8858d | ||
|
|
abf146895d | ||
|
|
4476e6c6d1 | ||
|
|
d967000e8f | ||
|
|
91d3d97399 | ||
|
|
ca700aa103 | ||
|
|
265bf7fb35 | ||
|
|
7a5c6f3a25 | ||
|
|
91e3460e9d | ||
|
|
cf0c45aaa5 | ||
|
|
bf63f9d46d | ||
|
|
023a83e0f7 | ||
|
|
4f6ed1eadf | ||
|
|
85e293f3ec | ||
|
|
7b15d2db10 | ||
|
|
b1b9695998 | ||
|
|
6b8b33a78b | ||
|
|
4fd0f6819a | ||
|
|
5032d87f98 | ||
|
|
b15d9cb7dc | ||
|
|
6aa7cc5bab | ||
|
|
c37f9ebe66 | ||
|
|
768b3b29f0 | ||
|
|
378946f22b | ||
|
|
523598645a | ||
|
|
a9267de653 | ||
|
|
ce22da1c9a | ||
|
|
2460a62a3e |
@@ -0,0 +1,16 @@
|
|||||||
|
name: 'Check if branch is shorter than 52 chars'
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
branch-naming-rules:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
# echo "branches that are longer than 51 chars can't be parsed by kubernetes to create previews. Each app has prefix of it's name like: 'governance-' (12 chars), what leaves 51 max branch length"
|
||||||
|
# current parsable length: $( git rev-parse --abbrev-ref HEAD | sed -r s/[^a-zA-Z0-9]+/-/g | sed -r s/^-+\|-+$//g | wc -c)
|
||||||
|
- uses: deepakputhraya/action-branch-name@master
|
||||||
|
with:
|
||||||
|
# regex: '([a-z])+\/([a-z])+' # Regex the branch should match. This example enforces grouping
|
||||||
|
# allowed_prefixes: 'feature,stable,fix' # All branches should start with the given prefix
|
||||||
|
# ignore: master,develop # Ignore exactly matching branch names from convention
|
||||||
|
min_length: 1 # Min length of the branch name
|
||||||
|
max_length: 51 # Max length of the branch name
|
||||||
@@ -105,7 +105,7 @@ jobs:
|
|||||||
affected="$(yarn nx print-affected --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} --select=projects)"
|
affected="$(yarn nx print-affected --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} --select=projects)"
|
||||||
echo -n "Affected projects: $affected"
|
echo -n "Affected projects: $affected"
|
||||||
|
|
||||||
branch_slug="$(echo ${{ github.head_ref || github.ref_name }} | sed -r s/[^a-zA-Z0-9]+/-/g | sed -r s/^-+\|-+$//g )"
|
branch_slug="$(echo ${{ github.head_ref || github.ref_name }} | sed -r s/[^a-zA-Z0-9]+/-/g | sed -r s/^-+\|-+$//g | cut -c 1-50 )"
|
||||||
projects_e2e=""
|
projects_e2e=""
|
||||||
preview_governance="not deployed"
|
preview_governance="not deployed"
|
||||||
preview_trading="not deployed"
|
preview_trading="not deployed"
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
elif [[ "${{ github.ref }}" =~ .*develop$ ]]; then
|
elif [[ "${{ github.ref }}" =~ .*develop$ ]]; then
|
||||||
envName="stagnet3"
|
envName="stagnet1"
|
||||||
fi
|
fi
|
||||||
bucketName="${{ matrix.app }}.${envName}.${domain}"
|
bucketName="${{ matrix.app }}.${envName}.${domain}"
|
||||||
echo BUCKET_NAME=${bucketName} >> $GITHUB_ENV
|
echo BUCKET_NAME=${bucketName} >> $GITHUB_ENV
|
||||||
|
|||||||
@@ -7,5 +7,4 @@ __generated___
|
|||||||
|
|
||||||
apps/static/src/assets/devnet-tranches.json
|
apps/static/src/assets/devnet-tranches.json
|
||||||
apps/static/src/assets/mainnet-tranches.json
|
apps/static/src/assets/mainnet-tranches.json
|
||||||
apps/static/src/assets/stagnet3-tranches.json
|
|
||||||
apps/static/src/assets/testnet-tranches.json
|
apps/static/src/assets/testnet-tranches.json
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
# App configuration variables
|
|
||||||
NX_CHAIN_EXPLORER_URL=https://explorer.vega.trading/.netlify/functions/chain-explorer-api
|
|
||||||
NX_TENDERMINT_URL=https://tm.n00.stagnet3.vega.xyz
|
|
||||||
NX_TENDERMINT_WEBSOCKET_URL=wss://tm.n00.stagnet3.vega.xyz/websocket
|
|
||||||
NX_VEGA_URL=https://api.stagnet3.vega.xyz/graphql
|
|
||||||
NX_VEGA_ENV=STAGNET3
|
|
||||||
NX_BLOCK_EXPLORER=https://be.stagnet3.vega.xyz/rest
|
|
||||||
|
|
||||||
# App flags
|
|
||||||
NX_EXPLORER_ASSETS=1
|
|
||||||
NX_EXPLORER_GENESIS=1
|
|
||||||
NX_EXPLORER_GOVERNANCE=1
|
|
||||||
NX_EXPLORER_MARKETS=1
|
|
||||||
NX_EXPLORER_ORACLES=1
|
|
||||||
NX_EXPLORER_TXS_LIST=0
|
|
||||||
NX_EXPLORER_NETWORK_PARAMETERS=1
|
|
||||||
NX_EXPLORER_PARTIES=1
|
|
||||||
NX_EXPLORER_VALIDATORS=1
|
|
||||||
@@ -138,7 +138,7 @@ context('Network parameters page', { tags: '@smoke' }, function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should list each network parameter displayed as a currency value with four decimals - in the correct format', function () {
|
it.skip('should list each network parameter displayed as a currency value with four decimals - in the correct format', function () {
|
||||||
cy.get_network_parameters().then((network_parameters) => {
|
cy.get_network_parameters().then((network_parameters) => {
|
||||||
network_parameters = Object.entries(network_parameters);
|
network_parameters = Object.entries(network_parameters);
|
||||||
network_parameters.forEach((network_parameter) => {
|
network_parameters.forEach((network_parameter) => {
|
||||||
|
|||||||
+13
-8
@@ -1,13 +1,18 @@
|
|||||||
NX_TENDERMINT_URL=https://tm.n00.stagnet3.vega.xyz
|
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
||||||
NX_TENDERMINT_WEBSOCKET_URL=wss://tm.n00.stagnet3.vega.xyz/websocket
|
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet3/vegawallet-stagnet3.toml
|
|
||||||
NX_VEGA_NETWORKS='{"STAGNET1":"https://stagnet1.token.vega.xyz", "STAGNET3":"https://stagnet3.explorer.vega.xyz","VALIDATOR_TESTNET":"https://validator-testnet.fairground.wtf","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
|
||||||
NX_VEGA_ENV=STAGNET3
|
|
||||||
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
|
||||||
NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
||||||
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet1/vegawallet-stagnet1.toml
|
||||||
|
NX_VEGA_ENV=STAGNET1
|
||||||
|
NX_VEGA_EXPLORER_URL=https://stagnet1.explorer.vega.xyz
|
||||||
|
NX_VEGA_TOKEN_URL=https://stagnet1.token.vega.xyz
|
||||||
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
|
NX_TENDERMINT_URL=https://tm.n01.stagnet1.vega.xyz
|
||||||
|
NX_TENDERMINT_WEBSOCKET_URL=wss://tm.n01.stagnet1.vega.xyz/websocket
|
||||||
|
NX_BLOCK_EXPLORER=https://be.stagnet1.vega.xyz/rest
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
||||||
NX_BLOCK_EXPLORER=https://be.stagnet3.vega.xyz/rest
|
NX_ORACLE_PROOFS_URL=https://raw.githubusercontent.com/vegaprotocol/well-known/main/__generated__/oracle-proofs.json
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
NX_VEGA_GOVERNANCE_URL=https://stagnet1.token.vega.xyz
|
||||||
|
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/fairground/announcements.jsoo
|
||||||
|
|
||||||
# App flags
|
# App flags
|
||||||
NX_EXPLORER_ASSETS=1
|
NX_EXPLORER_ASSETS=1
|
||||||
|
|||||||
@@ -6,12 +6,4 @@ NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
|||||||
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/test/announcements.json
|
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/test/announcements.json
|
||||||
|
|
||||||
# App flags
|
# App flags
|
||||||
NX_EXPLORER_ASSETS=1
|
|
||||||
NX_EXPLORER_GENESIS=1
|
|
||||||
NX_EXPLORER_GOVERNANCE=1
|
|
||||||
NX_EXPLORER_MARKETS=1
|
|
||||||
NX_EXPLORER_ORACLES=1
|
|
||||||
NX_EXPLORER_TXS_LIST=0
|
NX_EXPLORER_TXS_LIST=0
|
||||||
NX_EXPLORER_NETWORK_PARAMETERS=1
|
|
||||||
NX_EXPLORER_PARTIES=1
|
|
||||||
NX_EXPLORER_VALIDATORS=1
|
|
||||||
|
|||||||
@@ -1,14 +1 @@
|
|||||||
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
# .env is stagnet1, so there are no overrides required
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
|
||||||
NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet1/vegawallet-stagnet1.toml
|
|
||||||
NX_VEGA_ENV=STAGNET1
|
|
||||||
NX_VEGA_EXPLORER_URL=https://stagnet1.explorer.vega.xyz
|
|
||||||
NX_VEGA_TOKEN_URL=https://stagnet1.token.vega.xyz
|
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
|
||||||
NX_TENDERMINT_URL=https://tm.n01.stagnet1.vega.xyz
|
|
||||||
NX_TENDERMINT_WEBSOCKET_URL=wss://tm.n01.stagnet1.vega.xyz/websocket
|
|
||||||
NX_BLOCK_EXPLORER=https://be.stagnet1.vega.xyz/rest
|
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
|
||||||
NX_VEGA_GOVERNANCE_URL=https://stagnet1.token.vega.xyz
|
|
||||||
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/fairground/announcements.json
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
NX_TENDERMINT_URL=https://tm.n00.stagnet3.vega.xyz
|
|
||||||
NX_TENDERMINT_WEBSOCKET_URL=wss://be.stagnet3.vega.xyz/websocket
|
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet3/vegawallet-stagnet3.toml
|
|
||||||
NX_VEGA_ENV=STAGNET3
|
|
||||||
NX_BLOCK_EXPLORER=https://be.stagnet3.vega.xyz/rest
|
|
||||||
NX_VEGA_GOVERNANCE_URL=https://stagnet3.token.vega.xyz
|
|
||||||
NX_VEGA_REPO_URL=https://github.com/vegaprotocol/vega-dev-releases/releases/
|
|
||||||
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/fairground/announcements.json
|
|
||||||
@@ -35,12 +35,11 @@ Example configurations are provided here:
|
|||||||
- [Devnet](./.env.devnet)
|
- [Devnet](./.env.devnet)
|
||||||
- [Capsule](./.env.capsule)
|
- [Capsule](./.env.capsule)
|
||||||
- [Testnet](./.env.testnet)
|
- [Testnet](./.env.testnet)
|
||||||
- [Stagnet3](./.env.stagnet3)
|
|
||||||
|
|
||||||
For convenience, you can boot the app injecting one of the configurations above by running:
|
For convenience, you can boot the app injecting one of the configurations above by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn nx run explorer:serve --env={env} # e.g. stagnet3
|
yarn nx run explorer:serve --env={env} # e.g. stagnet1
|
||||||
```
|
```
|
||||||
|
|
||||||
There are a few different configuration options offered for this app:
|
There are a few different configuration options offered for this app:
|
||||||
|
|||||||
@@ -14,10 +14,72 @@ import {
|
|||||||
SettlementAssetInfoPanel,
|
SettlementAssetInfoPanel,
|
||||||
} from '@vegaprotocol/market-info';
|
} from '@vegaprotocol/market-info';
|
||||||
import { MarketInfoTable } from '@vegaprotocol/market-info';
|
import { MarketInfoTable } from '@vegaprotocol/market-info';
|
||||||
|
import type { DataSourceDefinition } from '@vegaprotocol/types';
|
||||||
|
import isEqual from 'lodash/isEqual';
|
||||||
|
|
||||||
export const MarketDetails = ({ market }: { market: MarketInfoWithData }) => {
|
export const MarketDetails = ({ market }: { market: MarketInfoWithData }) => {
|
||||||
if (!market) return null;
|
if (!market) return null;
|
||||||
|
|
||||||
|
const settlementData =
|
||||||
|
market.tradableInstrument.instrument.product.dataSourceSpecForSettlementData
|
||||||
|
.data;
|
||||||
|
const terminationData =
|
||||||
|
market.tradableInstrument.instrument.product
|
||||||
|
.dataSourceSpecForTradingTermination.data;
|
||||||
|
|
||||||
|
const getSigners = (data: DataSourceDefinition) => {
|
||||||
|
if (data.sourceType.__typename === 'DataSourceDefinitionExternal') {
|
||||||
|
const signers = data.sourceType.sourceType.signers || [];
|
||||||
|
|
||||||
|
return signers.map(({ signer }, i) => {
|
||||||
|
return (
|
||||||
|
(signer.__typename === 'ETHAddress' && signer.address) ||
|
||||||
|
(signer.__typename === 'PubKey' && signer.key)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return [];
|
||||||
|
};
|
||||||
|
|
||||||
|
const oraclePanels = isEqual(
|
||||||
|
getSigners(settlementData),
|
||||||
|
getSigners(terminationData)
|
||||||
|
)
|
||||||
|
? [
|
||||||
|
{
|
||||||
|
title: t('Settlement Oracle'),
|
||||||
|
content: (
|
||||||
|
<OracleInfoPanel
|
||||||
|
noBorder={false}
|
||||||
|
market={market}
|
||||||
|
type="settlementData"
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: t('Termination Oracle'),
|
||||||
|
content: (
|
||||||
|
<OracleInfoPanel
|
||||||
|
noBorder={false}
|
||||||
|
market={market}
|
||||||
|
type="termination"
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
]
|
||||||
|
: [
|
||||||
|
{
|
||||||
|
title: t('Oracle'),
|
||||||
|
content: (
|
||||||
|
<OracleInfoPanel
|
||||||
|
noBorder={false}
|
||||||
|
market={market}
|
||||||
|
type="settlementData"
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
const panels = [
|
const panels = [
|
||||||
{
|
{
|
||||||
title: t('Key details'),
|
title: t('Key details'),
|
||||||
@@ -95,22 +157,7 @@ export const MarketDetails = ({ market }: { market: MarketInfoWithData }) => {
|
|||||||
<LiquidityPriceRangeInfoPanel market={market} noBorder={false} />
|
<LiquidityPriceRangeInfoPanel market={market} noBorder={false} />
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
...oraclePanels,
|
||||||
title: t('Settlement Oracle'),
|
|
||||||
content: (
|
|
||||||
<OracleInfoPanel
|
|
||||||
noBorder={false}
|
|
||||||
market={market}
|
|
||||||
type="settlementData"
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: t('Termination Oracle'),
|
|
||||||
content: (
|
|
||||||
<OracleInfoPanel noBorder={false} market={market} type="termination" />
|
|
||||||
),
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -12,7 +12,10 @@ import { useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|||||||
import type { RowClickedEvent } from 'ag-grid-community';
|
import type { RowClickedEvent } from 'ag-grid-community';
|
||||||
import { getDateTimeFormat } from '@vegaprotocol/utils';
|
import { getDateTimeFormat } from '@vegaprotocol/utils';
|
||||||
import { t } from '@vegaprotocol/i18n';
|
import { t } from '@vegaprotocol/i18n';
|
||||||
import { NetworkParams, useNetworkParams } from '@vegaprotocol/react-helpers';
|
import {
|
||||||
|
NetworkParams,
|
||||||
|
useNetworkParams,
|
||||||
|
} from '@vegaprotocol/network-parameters';
|
||||||
import { ProposalStateMapping } from '@vegaprotocol/types';
|
import { ProposalStateMapping } from '@vegaprotocol/types';
|
||||||
import BigNumber from 'bignumber.js';
|
import BigNumber from 'bignumber.js';
|
||||||
import { DApp, TOKEN_PROPOSAL, useLinks } from '@vegaprotocol/environment';
|
import { DApp, TOKEN_PROPOSAL, useLinks } from '@vegaprotocol/environment';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { proposalsDataProvider } from '@vegaprotocol/proposals';
|
import { proposalsDataProvider } from '@vegaprotocol/proposals';
|
||||||
import { t } from '@vegaprotocol/i18n';
|
import { t } from '@vegaprotocol/i18n';
|
||||||
import { useDataProvider } from '@vegaprotocol/react-helpers';
|
import { useDataProvider } from '@vegaprotocol/data-provider';
|
||||||
import { AsyncRenderer } from '@vegaprotocol/ui-toolkit';
|
import { AsyncRenderer } from '@vegaprotocol/ui-toolkit';
|
||||||
import { ProposalsTable } from '../../components/proposals/proposals-table';
|
import { ProposalsTable } from '../../components/proposals/proposals-table';
|
||||||
import { RouteTitle } from '../../components/route-title';
|
import { RouteTitle } from '../../components/route-title';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { t } from '@vegaprotocol/i18n';
|
import { t } from '@vegaprotocol/i18n';
|
||||||
import { useDataProvider } from '@vegaprotocol/react-helpers';
|
import { useDataProvider } from '@vegaprotocol/data-provider';
|
||||||
import { AsyncRenderer, Button } from '@vegaprotocol/ui-toolkit';
|
import { AsyncRenderer, Button } from '@vegaprotocol/ui-toolkit';
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { useParams } from 'react-router-dom';
|
import { useParams } from 'react-router-dom';
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { marketsProvider } from '@vegaprotocol/market-list';
|
|||||||
import { RouteTitle } from '../../components/route-title';
|
import { RouteTitle } from '../../components/route-title';
|
||||||
import { AsyncRenderer } from '@vegaprotocol/ui-toolkit';
|
import { AsyncRenderer } from '@vegaprotocol/ui-toolkit';
|
||||||
import { t } from '@vegaprotocol/i18n';
|
import { t } from '@vegaprotocol/i18n';
|
||||||
import { useDataProvider } from '@vegaprotocol/react-helpers';
|
import { useDataProvider } from '@vegaprotocol/data-provider';
|
||||||
import { MarketsTable } from '../../components/markets/markets-table';
|
import { MarketsTable } from '../../components/markets/markets-table';
|
||||||
|
|
||||||
export const MarketsPage = () => {
|
export const MarketsPage = () => {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { render, screen } from '@testing-library/react';
|
import { render, screen } from '@testing-library/react';
|
||||||
import type { NetworkParamsQuery } from '@vegaprotocol/react-helpers';
|
import type { NetworkParamsQuery } from '@vegaprotocol/network-parameters';
|
||||||
import { NetworkParametersTable } from './network-parameters';
|
import { NetworkParametersTable } from './network-parameters';
|
||||||
|
|
||||||
describe('NetworkParametersTable', () => {
|
describe('NetworkParametersTable', () => {
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ import {
|
|||||||
import { t } from '@vegaprotocol/i18n';
|
import { t } from '@vegaprotocol/i18n';
|
||||||
import { RouteTitle } from '../../components/route-title';
|
import { RouteTitle } from '../../components/route-title';
|
||||||
import orderBy from 'lodash/orderBy';
|
import orderBy from 'lodash/orderBy';
|
||||||
import { useNetworkParamsQuery } from '@vegaprotocol/react-helpers';
|
import { useNetworkParamsQuery } from '@vegaprotocol/network-parameters';
|
||||||
import type { NetworkParamsQuery } from '@vegaprotocol/react-helpers';
|
import type { NetworkParamsQuery } from '@vegaprotocol/network-parameters';
|
||||||
import { useScrollToLocation } from '../../hooks/scroll-to-location';
|
import { useScrollToLocation } from '../../hooks/scroll-to-location';
|
||||||
import { useDocumentTitle } from '../../hooks/use-document-title';
|
import { useDocumentTitle } from '../../hooks/use-document-title';
|
||||||
|
|
||||||
@@ -53,6 +53,8 @@ const BIG_NUMBER_PARAMS = [
|
|||||||
'governance.proposal.asset.minProposerBalance',
|
'governance.proposal.asset.minProposerBalance',
|
||||||
'governance.proposal.market.minProposerBalance',
|
'governance.proposal.market.minProposerBalance',
|
||||||
'governance.proposal.market.minVoterBalance',
|
'governance.proposal.market.minVoterBalance',
|
||||||
|
'governance.proposal.updateAsset.minProposerBalance',
|
||||||
|
'governance.proposal.updateAsset.minVoterBalance',
|
||||||
];
|
];
|
||||||
|
|
||||||
export const NetworkParameterRow = ({
|
export const NetworkParameterRow = ({
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ NX_LOCAL_PROVIDER_URL=http://localhost:8545/
|
|||||||
NX_ETH_LOCAL_PROVIDER_URL=http://localhost:8545/
|
NX_ETH_LOCAL_PROVIDER_URL=http://localhost:8545/
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/mainnet
|
NX_VEGA_DOCS_URL=https://docs.vega.xyz/mainnet
|
||||||
NX_TRANCHES_SERVICE_URL=https://tranches-stagnet3-k8s.ops.vega.xyz
|
NX_TRANCHES_SERVICE_URL=https://tranches-stagnet1-k8s.ops.vega.xyz
|
||||||
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/test/announcements.json
|
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/test/announcements.json
|
||||||
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
||||||
NX_WALLETCONNECT_PROJECT_ID=fe8091dc35738863e509fc4947525c72
|
NX_WALLETCONNECT_PROJECT_ID=fe8091dc35738863e509fc4947525c72
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
# App configuration variables
|
|
||||||
NX_VEGA_ENV=STAGNET3
|
|
||||||
NX_VEGA_URL=https://api.stagnet3.vega.xyz/graphql
|
|
||||||
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
|
||||||
@@ -27,7 +27,7 @@ context('Home Page - verify elements on page', { tags: '@smoke' }, function () {
|
|||||||
cy.getByTestId('app-announcement').should('not.exist');
|
cy.getByTestId('app-announcement').should('not.exist');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should show open or enacted proposals with proposal summary', function () {
|
it('should show open or enacted proposals without proposal summary', function () {
|
||||||
cy.get('body').then(($body) => {
|
cy.get('body').then(($body) => {
|
||||||
if (!$body.find('[data-testid="proposals-list-item"]').length) {
|
if (!$body.find('[data-testid="proposals-list-item"]').length) {
|
||||||
cy.createMarket();
|
cy.createMarket();
|
||||||
@@ -43,12 +43,6 @@ context('Home Page - verify elements on page', { tags: '@smoke' }, function () {
|
|||||||
.invoke('text')
|
.invoke('text')
|
||||||
.should('not.be.empty');
|
.should('not.be.empty');
|
||||||
cy.getByTestId('proposal-type').invoke('text').should('not.be.empty');
|
cy.getByTestId('proposal-type').invoke('text').should('not.be.empty');
|
||||||
cy.getByTestId('proposal-description')
|
|
||||||
.invoke('text')
|
|
||||||
.should('not.be.empty');
|
|
||||||
cy.getByTestId('proposal-details')
|
|
||||||
.invoke('text')
|
|
||||||
.should('not.be.empty');
|
|
||||||
cy.getByTestId('proposal-status')
|
cy.getByTestId('proposal-status')
|
||||||
.invoke('text')
|
.invoke('text')
|
||||||
.should('not.be.empty');
|
.should('not.be.empty');
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ context(
|
|||||||
);
|
);
|
||||||
cy.getByTestId('protocol-upgrade-proposal-status').should(
|
cy.getByTestId('protocol-upgrade-proposal-status').should(
|
||||||
'have.text',
|
'have.text',
|
||||||
'Approved'
|
'Approved '
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -89,6 +89,6 @@ export function mockNetworkUpgradeProposal() {
|
|||||||
cy.mockGQL((req) => {
|
cy.mockGQL((req) => {
|
||||||
aliasGQLQuery(req, 'Nodes', nodeData);
|
aliasGQLQuery(req, 'Nodes', nodeData);
|
||||||
aliasGQLQuery(req, 'Proposals', proposalsData);
|
aliasGQLQuery(req, 'Proposals', proposalsData);
|
||||||
aliasGQLQuery(req, 'ProtocolUpgrades', upgradeProposalsData);
|
aliasGQLQuery(req, 'ProtocolUpgradeProposals', upgradeProposalsData);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
# App configuration variables
|
# App configuration variables
|
||||||
NX_VEGA_ENV=STAGNET3
|
NX_VEGA_ENV=STAGNET1
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet3/vegawallet-stagnet3.toml
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet1/vegawallet-stagnet1.toml
|
||||||
NX_VEGA_URL=https://api.stagnet3.vega.xyz/graphql
|
NX_VEGA_URL=https://api.n00.stagnet1.vega.xyz/graphql
|
||||||
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
||||||
NX_FAIRGROUND=false
|
NX_FAIRGROUND=false
|
||||||
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","STAGNET3":"https://stagnet3.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","STAGNET1":"https://stagnet1.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
||||||
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
NX_VEGA_EXPLORER_URL=https://explorer.fairground.wtf
|
NX_VEGA_EXPLORER_URL=https://stagnet1.explorer.vega.xyz
|
||||||
NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
||||||
NX_DELEGATIONS_PAGINATION=50
|
NX_DELEGATIONS_PAGINATION=50
|
||||||
NX_TRANCHES_SERVICE_URL=https://tranches-stagnet3-k8s.ops.vega.xyz
|
NX_TRANCHES_SERVICE_URL=https://tranches-stagnet1-k8s.ops.vega.xyz
|
||||||
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/main/announcements.json
|
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/main/announcements.json
|
||||||
NX_WALLETCONNECT_PROJECT_ID=fe8091dc35738863e509fc4947525c72
|
NX_WALLETCONNECT_PROJECT_ID=fe8091dc35738863e509fc4947525c72
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ NX_VEGA_ENV=CUSTOM
|
|||||||
NX_ETHEREUM_PROVIDER_URL=http://localhost:8545
|
NX_ETHEREUM_PROVIDER_URL=http://localhost:8545
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
||||||
NX_FAIRGROUND=false
|
NX_FAIRGROUND=false
|
||||||
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","STAGNET3":"https://stagnet3.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
||||||
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
||||||
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/test/announcements.json
|
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/test/announcements.json
|
||||||
NX_VEGA_CONFIG_URL=''
|
NX_VEGA_CONFIG_URL=''
|
||||||
@@ -16,7 +16,7 @@ NX_LOCAL_PROVIDER_URL=http://localhost:8545/
|
|||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
||||||
NX_DELEGATIONS_PAGINATION=50
|
NX_DELEGATIONS_PAGINATION=50
|
||||||
NX_TRANCHES_SERVICE_URL=https://tranches-stagnet3-k8s.ops.vega.xyz
|
NX_TRANCHES_SERVICE_URL=https://tranches-stagnet1-k8s.ops.vega.xyz
|
||||||
|
|
||||||
#Test configuration variables
|
#Test configuration variables
|
||||||
CYPRESS_FAIRGROUND=false
|
CYPRESS_FAIRGROUND=false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
NX_VEGA_ENV=DEVNET
|
NX_VEGA_ENV=DEVNET
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/devnet1/vegawallet-devnet1.toml
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/devnet1/vegawallet-devnet1.toml
|
||||||
NX_VEGA_URL=https://api.n00.devnet1.vega.xyz/graphql
|
NX_VEGA_URL=https://api.n00.devnet1.vega.xyz/graphql
|
||||||
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","STAGNET3":"https://stagnet3.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
||||||
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
||||||
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
NX_VEGA_ENV=MAINNET
|
NX_VEGA_ENV=MAINNET
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks/master/mainnet1/mainnet1.toml
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks/master/mainnet1/mainnet1.toml
|
||||||
NX_VEGA_URL=https://api.vega.xyz/query
|
NX_VEGA_URL=https://api.vega.xyz/query
|
||||||
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","STAGNET3":"https://stagnet3.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
||||||
NX_ETHEREUM_PROVIDER_URL=https://mainnet.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
NX_ETHEREUM_PROVIDER_URL=https://mainnet.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
||||||
NX_ETHERSCAN_URL=https://etherscan.io
|
NX_ETHERSCAN_URL=https://etherscan.io
|
||||||
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# App configuration variables
|
# App configuration variables
|
||||||
NX_VEGA_URL=https://api.n00.stagnet1.vega.xyz/graphql
|
NX_VEGA_URL=https://api.n00.stagnet1.vega.xyz/graphql
|
||||||
NX_VEGA_ENV=STAGNET1
|
NX_VEGA_ENV=STAGNET1
|
||||||
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","STAGNET3":"https://stagnet3.token.vega.xyz","STAGNET1":"https://stagnet1.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","STAGNET1":"https://stagnet1.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet1/vegawallet-stagnet1.toml
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet1/vegawallet-stagnet1.toml
|
||||||
NX_VEGA_EXPLORER_URL=https://stagnet1.explorer.vega.xyz
|
NX_VEGA_EXPLORER_URL=https://stagnet1.explorer.vega.xyz
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
# App configuration variables
|
|
||||||
NX_VEGA_URL=https://api.stagnet3.vega.xyz/graphql
|
|
||||||
NX_VEGA_ENV=STAGNET3
|
|
||||||
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","STAGNET3":"https://stagnet3.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet3/vegawallet-stagnet3.toml
|
|
||||||
NX_VEGA_EXPLORER_URL=https://stagnet3.explorer.vega.xyz
|
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
|
||||||
NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
|
||||||
NX_DELEGATIONS_PAGINATION=50
|
|
||||||
NX_TRANCHES_SERVICE_URL=https://tranches-stagnet3-k8s.ops.vega.xyz
|
|
||||||
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/fairground/announcements.json
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
NX_VEGA_ENV=TESTNET
|
NX_VEGA_ENV=TESTNET
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/fairground/vegawallet-fairground.toml
|
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_URL=https://api.n07.testnet.vega.xyz/graphql
|
||||||
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","STAGNET3":"https://stagnet3.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
||||||
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
||||||
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ NX_VEGA_ENV=VALIDATOR_TESTNET
|
|||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks/master/testnet2/testnet2.toml
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks/master/testnet2/testnet2.toml
|
||||||
NX_VEGA_URL=https://api-validators-testnet.vega.rocks/graphql
|
NX_VEGA_URL=https://api-validators-testnet.vega.rocks/graphql
|
||||||
NX_VEGA_REST=https://api-validators-testnet.vega.rocks/
|
NX_VEGA_REST=https://api-validators-testnet.vega.rocks/
|
||||||
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","STAGNET3":"https://stagnet3.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
NX_VEGA_NETWORKS='{"DEVNET":"https://dev.token.vega.xyz","TESTNET":"https://token.fairground.wtf","MAINNET":"https://token.vega.xyz"}'
|
||||||
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
||||||
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
||||||
|
|||||||
@@ -27,12 +27,11 @@ Example configurations are provided here:
|
|||||||
- [Mainnet](./.env.mainnet)
|
- [Mainnet](./.env.mainnet)
|
||||||
- [Devnet](./.env.devnet)
|
- [Devnet](./.env.devnet)
|
||||||
- [Testnet](./.env.testnet)
|
- [Testnet](./.env.testnet)
|
||||||
- [Stagnet3](./.env.stagnet3)
|
|
||||||
|
|
||||||
For convenience, you can boot the app injecting one of the configurations above by running:
|
For convenience, you can boot the app injecting one of the configurations above by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn nx run governance:serve --env={env} # e.g. stagnet3
|
yarn nx run governance:serve --env={env} # e.g. stagnet1
|
||||||
```
|
```
|
||||||
|
|
||||||
There are a few different configuration options offered for this app:
|
There are a few different configuration options offered for this app:
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
function ReactMarkdown({ children }) {
|
||||||
|
return <div>{children}</div>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ReactMarkdown;
|
||||||
@@ -20,12 +20,17 @@ import type { EthereumConfig } from '@vegaprotocol/web3';
|
|||||||
import {
|
import {
|
||||||
createConnectors,
|
createConnectors,
|
||||||
useEthTransactionManager,
|
useEthTransactionManager,
|
||||||
|
useEthTransactionUpdater,
|
||||||
useEthWithdrawApprovalsManager,
|
useEthWithdrawApprovalsManager,
|
||||||
useWeb3ConnectStore,
|
useWeb3ConnectStore,
|
||||||
} from '@vegaprotocol/web3';
|
} from '@vegaprotocol/web3';
|
||||||
import { Web3Provider } from '@vegaprotocol/web3';
|
import { Web3Provider } from '@vegaprotocol/web3';
|
||||||
import { VegaWalletDialogs } from './components/vega-wallet-dialogs';
|
import { VegaWalletDialogs } from './components/vega-wallet-dialogs';
|
||||||
import { VegaWalletProvider } from '@vegaprotocol/wallet';
|
import {
|
||||||
|
useVegaTransactionManager,
|
||||||
|
useVegaTransactionUpdater,
|
||||||
|
VegaWalletProvider,
|
||||||
|
} from '@vegaprotocol/wallet';
|
||||||
import { AsyncRenderer } from '@vegaprotocol/ui-toolkit';
|
import { AsyncRenderer } from '@vegaprotocol/ui-toolkit';
|
||||||
import { useEthereumConfig } from '@vegaprotocol/web3';
|
import { useEthereumConfig } from '@vegaprotocol/web3';
|
||||||
import {
|
import {
|
||||||
@@ -37,6 +42,7 @@ import { ENV } from './config';
|
|||||||
import type { InMemoryCacheConfig } from '@apollo/client';
|
import type { InMemoryCacheConfig } from '@apollo/client';
|
||||||
import { WithdrawalDialog } from '@vegaprotocol/withdraws';
|
import { WithdrawalDialog } from '@vegaprotocol/withdraws';
|
||||||
import { SplashLoader } from './components/splash-loader';
|
import { SplashLoader } from './components/splash-loader';
|
||||||
|
import { ToastsManager } from './toasts-manager';
|
||||||
|
|
||||||
const cache: InMemoryCacheConfig = {
|
const cache: InMemoryCacheConfig = {
|
||||||
typePolicies: {
|
typePolicies: {
|
||||||
@@ -81,7 +87,10 @@ const Web3Container = ({
|
|||||||
providerUrl: string;
|
providerUrl: string;
|
||||||
}) => {
|
}) => {
|
||||||
const InitializeHandlers = () => {
|
const InitializeHandlers = () => {
|
||||||
|
useVegaTransactionManager();
|
||||||
|
useVegaTransactionUpdater();
|
||||||
useEthTransactionManager();
|
useEthTransactionManager();
|
||||||
|
useEthTransactionUpdater();
|
||||||
useEthWithdrawApprovalsManager();
|
useEthWithdrawApprovalsManager();
|
||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
@@ -135,6 +144,7 @@ const Web3Container = ({
|
|||||||
<NetworkInfo />
|
<NetworkInfo />
|
||||||
</footer>
|
</footer>
|
||||||
</AppLayout>
|
</AppLayout>
|
||||||
|
<ToastsManager />
|
||||||
<InitializeHandlers />
|
<InitializeHandlers />
|
||||||
<VegaWalletDialogs />
|
<VegaWalletDialogs />
|
||||||
<TransactionModal />
|
<TransactionModal />
|
||||||
|
|||||||
@@ -33,10 +33,6 @@ export const ContractAddresses: {
|
|||||||
claimAddress: '0x8Cef746ab7C83B61F6461cC92882bD61AB65a994', // TODO not deployed to this env, but random address so app doesn't error
|
claimAddress: '0x8Cef746ab7C83B61F6461cC92882bD61AB65a994', // TODO not deployed to this env, but random address so app doesn't error
|
||||||
lockedAddress: '0x0', // TODO not deployed to this env
|
lockedAddress: '0x0', // TODO not deployed to this env
|
||||||
},
|
},
|
||||||
STAGNET3: {
|
|
||||||
claimAddress: '0x8Cef746ab7C83B61F6461cC92882bD61AB65a994', // TODO not deployed to this env, but random address so app doesn't error
|
|
||||||
lockedAddress: '0x0', // TODO not deployed to this env
|
|
||||||
},
|
|
||||||
TESTNET: {
|
TESTNET: {
|
||||||
claimAddress: '0x8Cef746ab7C83B61F6461cC92882bD61AB65a994', // TODO not deployed to this env, but random address so app doesn't error
|
claimAddress: '0x8Cef746ab7C83B61F6461cC92882bD61AB65a994', // TODO not deployed to this env, but random address so app doesn't error
|
||||||
lockedAddress: '0x0', // TODO not deployed to this env
|
lockedAddress: '0x0', // TODO not deployed to this env
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import Routes from '../routes';
|
|||||||
import { ExternalLinks, removePaginationWrapper } from '@vegaprotocol/utils';
|
import { ExternalLinks, removePaginationWrapper } from '@vegaprotocol/utils';
|
||||||
import { useNodesQuery } from '../staking/home/__generated__/Nodes';
|
import { useNodesQuery } from '../staking/home/__generated__/Nodes';
|
||||||
import { useProposalsQuery } from '../proposals/proposals/__generated__/Proposals';
|
import { useProposalsQuery } from '../proposals/proposals/__generated__/Proposals';
|
||||||
import { useProtocolUpgradesQuery } from '../proposals/protocol-upgrade/__generated__/ProtocolUpgradeProposals';
|
|
||||||
import {
|
import {
|
||||||
getNotRejectedProposals,
|
getNotRejectedProposals,
|
||||||
getNotRejectedProtocolUpgradeProposals,
|
getNotRejectedProtocolUpgradeProposals,
|
||||||
@@ -25,7 +24,8 @@ import * as Schema from '@vegaprotocol/types';
|
|||||||
import type { RouteChildProps } from '..';
|
import type { RouteChildProps } from '..';
|
||||||
import type { ProposalFieldsFragment } from '../proposals/proposals/__generated__/Proposals';
|
import type { ProposalFieldsFragment } from '../proposals/proposals/__generated__/Proposals';
|
||||||
import type { NodesFragmentFragment } from '../staking/home/__generated__/Nodes';
|
import type { NodesFragmentFragment } from '../staking/home/__generated__/Nodes';
|
||||||
import type { ProtocolUpgradeProposalFieldsFragment } from '../proposals/protocol-upgrade/__generated__/ProtocolUpgradeProposals';
|
import type { ProtocolUpgradeProposalFieldsFragment } from '@vegaprotocol/proposals';
|
||||||
|
import { useProtocolUpgradeProposalsQuery } from '@vegaprotocol/proposals';
|
||||||
|
|
||||||
const nodesToShow = 6;
|
const nodesToShow = 6;
|
||||||
|
|
||||||
@@ -181,7 +181,7 @@ const GovernanceHome = ({ name }: RouteChildProps) => {
|
|||||||
data: protocolUpgradesData,
|
data: protocolUpgradesData,
|
||||||
loading: protocolUpgradesLoading,
|
loading: protocolUpgradesLoading,
|
||||||
error: protocolUpgradesError,
|
error: protocolUpgradesError,
|
||||||
} = useProtocolUpgradesQuery({
|
} = useProtocolUpgradeProposalsQuery({
|
||||||
pollInterval: 5000,
|
pollInterval: 5000,
|
||||||
fetchPolicy: 'network-only',
|
fetchPolicy: 'network-only',
|
||||||
errorPolicy: 'ignore',
|
errorPolicy: 'ignore',
|
||||||
|
|||||||
+2
-2
@@ -2,8 +2,8 @@ import type { MockedResponse } from '@apollo/client/testing';
|
|||||||
import { MockedProvider } from '@apollo/client/testing';
|
import { MockedProvider } from '@apollo/client/testing';
|
||||||
import { render, screen } from '@testing-library/react';
|
import { render, screen } from '@testing-library/react';
|
||||||
import { ProposalRejectionReason, ProposalState } from '@vegaprotocol/types';
|
import { ProposalRejectionReason, ProposalState } from '@vegaprotocol/types';
|
||||||
import type { NetworkParamsQuery } from '@vegaprotocol/react-helpers';
|
import type { NetworkParamsQuery } from '@vegaprotocol/network-parameters';
|
||||||
import { NetworkParamsDocument } from '@vegaprotocol/react-helpers';
|
import { NetworkParamsDocument } from '@vegaprotocol/network-parameters';
|
||||||
import { AppStateProvider } from '../../../../contexts/app-state/app-state-provider';
|
import { AppStateProvider } from '../../../../contexts/app-state/app-state-provider';
|
||||||
import { generateProposal } from '../../test-helpers/generate-proposals';
|
import { generateProposal } from '../../test-helpers/generate-proposals';
|
||||||
import { CurrentProposalStatus } from './current-proposal-status';
|
import { CurrentProposalStatus } from './current-proposal-status';
|
||||||
|
|||||||
+33
-15
@@ -3,9 +3,10 @@ import { generateProposal } from '../../test-helpers/generate-proposals';
|
|||||||
import { ProposalHeader } from './proposal-header';
|
import { ProposalHeader } from './proposal-header';
|
||||||
import type { ProposalQuery } from '../../proposal/__generated__/Proposal';
|
import type { ProposalQuery } from '../../proposal/__generated__/Proposal';
|
||||||
|
|
||||||
const renderComponent = (proposal: ProposalQuery['proposal']) => (
|
const renderComponent = (
|
||||||
<ProposalHeader proposal={proposal} />
|
proposal: ProposalQuery['proposal'],
|
||||||
);
|
isListItem = true
|
||||||
|
) => <ProposalHeader proposal={proposal} isListItem={isListItem} />;
|
||||||
|
|
||||||
describe('Proposal header', () => {
|
describe('Proposal header', () => {
|
||||||
it('Renders New market proposal', () => {
|
it('Renders New market proposal', () => {
|
||||||
@@ -40,9 +41,6 @@ describe('Proposal header', () => {
|
|||||||
'New some market'
|
'New some market'
|
||||||
);
|
);
|
||||||
expect(screen.getByTestId('proposal-type')).toHaveTextContent('New market');
|
expect(screen.getByTestId('proposal-type')).toHaveTextContent('New market');
|
||||||
expect(screen.getByTestId('proposal-description')).toHaveTextContent(
|
|
||||||
'A new some market'
|
|
||||||
);
|
|
||||||
expect(screen.getByTestId('proposal-details')).toHaveTextContent(
|
expect(screen.getByTestId('proposal-details')).toHaveTextContent(
|
||||||
'tGBP settled future.'
|
'tGBP settled future.'
|
||||||
);
|
);
|
||||||
@@ -191,7 +189,7 @@ describe('Proposal header', () => {
|
|||||||
expect(screen.getByTestId('proposal-details')).toHaveTextContent('short');
|
expect(screen.getByTestId('proposal-details')).toHaveTextContent('short');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Renders Freeform proposal - long rationale (105 chars)', () => {
|
it('Renders Freeform proposal - long rationale (105 chars) - listing', () => {
|
||||||
render(
|
render(
|
||||||
renderComponent(
|
renderComponent(
|
||||||
generateProposal({
|
generateProposal({
|
||||||
@@ -209,16 +207,39 @@ describe('Proposal header', () => {
|
|||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
// For a rationale over 100 chars, we expect the header to be truncated at
|
|
||||||
// 100 chars with ellipsis and the details-one element to contain the rest.
|
|
||||||
expect(screen.getByTestId('proposal-title')).toHaveTextContent('0x0');
|
expect(screen.getByTestId('proposal-title')).toHaveTextContent('0x0');
|
||||||
expect(screen.getByTestId('proposal-type')).toHaveTextContent('Freeform');
|
expect(screen.getByTestId('proposal-type')).toHaveTextContent('Freeform');
|
||||||
expect(screen.getByTestId('proposal-description')).toHaveTextContent(
|
// Rationale in list view is not rendered
|
||||||
'Class aptent taciti sociosqu ad litora torquent per conubia'
|
expect(
|
||||||
);
|
screen.queryByTestId('proposal-description')
|
||||||
|
).not.toBeInTheDocument();
|
||||||
expect(screen.getByTestId('proposal-details')).toHaveTextContent('long');
|
expect(screen.getByTestId('proposal-details')).toHaveTextContent('long');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('Renders Freeform proposal - long rationale (105 chars) - details', () => {
|
||||||
|
render(
|
||||||
|
renderComponent(
|
||||||
|
generateProposal({
|
||||||
|
id: 'long',
|
||||||
|
rationale: {
|
||||||
|
title: '0x0',
|
||||||
|
description:
|
||||||
|
'Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean dolor.',
|
||||||
|
},
|
||||||
|
terms: {
|
||||||
|
change: {
|
||||||
|
__typename: 'NewFreeform',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
false
|
||||||
|
)
|
||||||
|
);
|
||||||
|
expect(screen.getByTestId('proposal-description')).toHaveTextContent(
|
||||||
|
/Class aptent/
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
// Remove once proposals have rationale and re-enable above tests
|
// Remove once proposals have rationale and re-enable above tests
|
||||||
it('Renders Freeform proposal - id for title', () => {
|
it('Renders Freeform proposal - id for title', () => {
|
||||||
render(
|
render(
|
||||||
@@ -262,9 +283,6 @@ describe('Proposal header', () => {
|
|||||||
expect(screen.getByTestId('proposal-type')).toHaveTextContent(
|
expect(screen.getByTestId('proposal-type')).toHaveTextContent(
|
||||||
'Update asset'
|
'Update asset'
|
||||||
);
|
);
|
||||||
expect(screen.getByTestId('proposal-details')).toHaveTextContent(
|
|
||||||
'Update asset'
|
|
||||||
);
|
|
||||||
expect(screen.getByText('foo')).toBeInTheDocument();
|
expect(screen.getByText('foo')).toBeInTheDocument();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
+22
-8
@@ -5,13 +5,15 @@ import { Heading, SubHeading } from '../../../../components/heading';
|
|||||||
import type { ReactNode } from 'react';
|
import type { ReactNode } from 'react';
|
||||||
import type { ProposalFieldsFragment } from '../../proposals/__generated__/Proposals';
|
import type { ProposalFieldsFragment } from '../../proposals/__generated__/Proposals';
|
||||||
import type { ProposalQuery } from '../../proposal/__generated__/Proposal';
|
import type { ProposalQuery } from '../../proposal/__generated__/Proposal';
|
||||||
|
import ReactMarkdown from 'react-markdown';
|
||||||
|
import { truncateMiddle } from '../../../../lib/truncate-middle';
|
||||||
|
|
||||||
export const ProposalHeader = ({
|
export const ProposalHeader = ({
|
||||||
proposal,
|
proposal,
|
||||||
useSubHeading = true,
|
isListItem = true,
|
||||||
}: {
|
}: {
|
||||||
proposal: ProposalFieldsFragment | ProposalQuery['proposal'];
|
proposal: ProposalFieldsFragment | ProposalQuery['proposal'];
|
||||||
useSubHeading?: boolean;
|
isListItem?: boolean;
|
||||||
}) => {
|
}) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const change = proposal?.terms.change;
|
const change = proposal?.terms.change;
|
||||||
@@ -95,8 +97,8 @@ export const ProposalHeader = ({
|
|||||||
proposalType = t('UpdateAsset');
|
proposalType = t('UpdateAsset');
|
||||||
details = (
|
details = (
|
||||||
<>
|
<>
|
||||||
`${t('Update asset')}`;
|
<span>{t('Asset ID')}:</span>
|
||||||
<Lozenge>{change.assetId}</Lozenge>
|
<Lozenge>{truncateMiddle(change.assetId)}</Lozenge>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
@@ -106,7 +108,7 @@ export const ProposalHeader = ({
|
|||||||
return (
|
return (
|
||||||
<div className="text-sm mb-2">
|
<div className="text-sm mb-2">
|
||||||
<div data-testid="proposal-title">
|
<div data-testid="proposal-title">
|
||||||
{useSubHeading ? (
|
{isListItem ? (
|
||||||
<header>
|
<header>
|
||||||
<SubHeading title={titleContent || t('Unknown proposal')} />
|
<SubHeading title={titleContent || t('Unknown proposal')} />
|
||||||
</header>
|
</header>
|
||||||
@@ -121,9 +123,21 @@ export const ProposalHeader = ({
|
|||||||
<Lozenge variant={Intent.None}>{proposalType}</Lozenge>
|
<Lozenge variant={Intent.None}>{proposalType}</Lozenge>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
</div>
|
||||||
{description && (
|
<div className="flex items-center gap-2">
|
||||||
<div data-testid="proposal-description">{description}</div>
|
{description && !isListItem && (
|
||||||
|
<div data-testid="proposal-description" className="mb-4">
|
||||||
|
<ReactMarkdown
|
||||||
|
className="react-markdown-container"
|
||||||
|
/* Prevents HTML embedded in the description from rendering */
|
||||||
|
skipHtml={true}
|
||||||
|
/* Stops users embedding images which could be used for tracking */
|
||||||
|
disallowedElements={['img']}
|
||||||
|
linkTarget="_blank"
|
||||||
|
>
|
||||||
|
{description}
|
||||||
|
</ReactMarkdown>
|
||||||
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import { generateProposal } from '../../test-helpers/generate-proposals';
|
|||||||
import { Proposal } from './proposal';
|
import { Proposal } from './proposal';
|
||||||
import type { ProposalQuery } from '../../proposal/__generated__/Proposal';
|
import type { ProposalQuery } from '../../proposal/__generated__/Proposal';
|
||||||
|
|
||||||
jest.mock('@vegaprotocol/react-helpers', () => ({
|
jest.mock('@vegaprotocol/network-parameters', () => ({
|
||||||
...jest.requireActual('@vegaprotocol/react-helpers'),
|
...jest.requireActual('@vegaprotocol/network-parameters'),
|
||||||
useNetworkParams: jest.fn(() => ({
|
useNetworkParams: jest.fn(() => ({
|
||||||
params: {
|
params: {
|
||||||
governance_proposal_asset_minVoterBalance: '1',
|
governance_proposal_asset_minVoterBalance: '1',
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
import { NetworkParams, useNetworkParams } from '@vegaprotocol/react-helpers';
|
import {
|
||||||
|
NetworkParams,
|
||||||
|
useNetworkParams,
|
||||||
|
} from '@vegaprotocol/network-parameters';
|
||||||
import { AsyncRenderer } from '@vegaprotocol/ui-toolkit';
|
import { AsyncRenderer } from '@vegaprotocol/ui-toolkit';
|
||||||
import { ProposalHeader } from '../proposal-detail-header/proposal-header';
|
import { ProposalHeader } from '../proposal-detail-header/proposal-header';
|
||||||
import type { ProposalFieldsFragment } from '../../proposals/__generated__/Proposals';
|
import type { ProposalFieldsFragment } from '../../proposals/__generated__/Proposals';
|
||||||
@@ -74,7 +77,7 @@ export const Proposal = ({ proposal }: ProposalProps) => {
|
|||||||
return (
|
return (
|
||||||
<AsyncRenderer data={params} loading={loading} error={error}>
|
<AsyncRenderer data={params} loading={loading} error={error}>
|
||||||
<section data-testid="proposal">
|
<section data-testid="proposal">
|
||||||
<ProposalHeader proposal={proposal} useSubHeading={false} />
|
<ProposalHeader proposal={proposal} isListItem={false} />
|
||||||
<div className="mb-10">
|
<div className="mb-10">
|
||||||
<ProposalChangeTable proposal={proposal} />
|
<ProposalChangeTable proposal={proposal} />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import { ExternalLinks } from '@vegaprotocol/utils';
|
|||||||
import { ExternalLink } from '@vegaprotocol/ui-toolkit';
|
import { ExternalLink } from '@vegaprotocol/ui-toolkit';
|
||||||
import type { ProposalQuery } from '../../proposal/__generated__/Proposal';
|
import type { ProposalQuery } from '../../proposal/__generated__/Proposal';
|
||||||
import type { ProposalFieldsFragment } from '../../proposals/__generated__/Proposals';
|
import type { ProposalFieldsFragment } from '../../proposals/__generated__/Proposals';
|
||||||
import type { ProtocolUpgradeProposalFieldsFragment } from '../../protocol-upgrade/__generated__/ProtocolUpgradeProposals';
|
import type { ProtocolUpgradeProposalFieldsFragment } from '@vegaprotocol/proposals';
|
||||||
|
|
||||||
interface ProposalsListProps {
|
interface ProposalsListProps {
|
||||||
proposals: Array<ProposalFieldsFragment | ProposalQuery['proposal']>;
|
proposals: Array<ProposalFieldsFragment | ProposalQuery['proposal']>;
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
RoundedWrapper,
|
RoundedWrapper,
|
||||||
} from '@vegaprotocol/ui-toolkit';
|
} from '@vegaprotocol/ui-toolkit';
|
||||||
import { SubHeading } from '../../../../components/heading';
|
import { SubHeading } from '../../../../components/heading';
|
||||||
import type { ProtocolUpgradeProposalFieldsFragment } from '../../protocol-upgrade/__generated__/ProtocolUpgradeProposals';
|
import type { ProtocolUpgradeProposalFieldsFragment } from '@vegaprotocol/proposals';
|
||||||
|
|
||||||
export interface ProtocolUpgradeProposalDetailInfoProps {
|
export interface ProtocolUpgradeProposalDetailInfoProps {
|
||||||
proposal: ProtocolUpgradeProposalFieldsFragment;
|
proposal: ProtocolUpgradeProposalFieldsFragment;
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ import { render, screen } from '@testing-library/react';
|
|||||||
import { BrowserRouter } from 'react-router-dom';
|
import { BrowserRouter } from 'react-router-dom';
|
||||||
import { ProtocolUpgradeProposalsListItem } from './protocol-upgrade-proposals-list-item';
|
import { ProtocolUpgradeProposalsListItem } from './protocol-upgrade-proposals-list-item';
|
||||||
import { ProtocolUpgradeProposalStatus } from '@vegaprotocol/types';
|
import { ProtocolUpgradeProposalStatus } from '@vegaprotocol/types';
|
||||||
import type { ProtocolUpgradeProposalFieldsFragment } from '../../protocol-upgrade/__generated__/ProtocolUpgradeProposals';
|
import type { ProtocolUpgradeProposalFieldsFragment } from '@vegaprotocol/proposals';
|
||||||
|
|
||||||
const proposal = {
|
const proposal = {
|
||||||
status:
|
status:
|
||||||
|
|||||||
+1
-1
@@ -11,8 +11,8 @@ import { stripFullStops } from '@vegaprotocol/utils';
|
|||||||
import { ProtocolUpgradeProposalStatus } from '@vegaprotocol/types';
|
import { ProtocolUpgradeProposalStatus } from '@vegaprotocol/types';
|
||||||
import { SubHeading } from '../../../../components/heading';
|
import { SubHeading } from '../../../../components/heading';
|
||||||
import type { ReactNode } from 'react';
|
import type { ReactNode } from 'react';
|
||||||
import type { ProtocolUpgradeProposalFieldsFragment } from '../../protocol-upgrade/__generated__/ProtocolUpgradeProposals';
|
|
||||||
import Routes from '../../../routes';
|
import Routes from '../../../routes';
|
||||||
|
import type { ProtocolUpgradeProposalFieldsFragment } from '@vegaprotocol/proposals';
|
||||||
|
|
||||||
interface ProtocolProposalsListItemProps {
|
interface ProtocolProposalsListItemProps {
|
||||||
proposal: ProtocolUpgradeProposalFieldsFragment;
|
proposal: ProtocolUpgradeProposalFieldsFragment;
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import { BigNumber } from '../../../lib/bignumber';
|
|||||||
import { useProposalNetworkParams } from './use-proposal-network-params';
|
import { useProposalNetworkParams } from './use-proposal-network-params';
|
||||||
import { generateProposal } from '../test-helpers/generate-proposals';
|
import { generateProposal } from '../test-helpers/generate-proposals';
|
||||||
|
|
||||||
jest.mock('@vegaprotocol/react-helpers', () => ({
|
jest.mock('@vegaprotocol/network-parameters', () => ({
|
||||||
...jest.requireActual('@vegaprotocol/react-helpers'),
|
...jest.requireActual('@vegaprotocol/network-parameters'),
|
||||||
useNetworkParams: jest.fn(() => ({
|
useNetworkParams: jest.fn(() => ({
|
||||||
params: {
|
params: {
|
||||||
governance_proposal_updateMarket_requiredMajority: '0.1',
|
governance_proposal_updateMarket_requiredMajority: '0.1',
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
import { NetworkParams, useNetworkParams } from '@vegaprotocol/react-helpers';
|
import {
|
||||||
|
NetworkParams,
|
||||||
|
useNetworkParams,
|
||||||
|
} from '@vegaprotocol/network-parameters';
|
||||||
import { BigNumber } from '../../../lib/bignumber';
|
import { BigNumber } from '../../../lib/bignumber';
|
||||||
import type { ProposalFieldsFragment } from '../proposals/__generated__/Proposals';
|
import type { ProposalFieldsFragment } from '../proposals/__generated__/Proposals';
|
||||||
import type { ProposalQuery } from '../proposal/__generated__/Proposal';
|
import type { ProposalQuery } from '../proposal/__generated__/Proposal';
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ jest.mock('../../../contexts/app-state/app-state-context', () => ({
|
|||||||
}),
|
}),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
jest.mock('@vegaprotocol/react-helpers', () => ({
|
jest.mock('@vegaprotocol/network-parameters', () => ({
|
||||||
...jest.requireActual('@vegaprotocol/react-helpers'),
|
...jest.requireActual('@vegaprotocol/network-parameters'),
|
||||||
useNetworkParams: jest.fn(() => ({
|
useNetworkParams: jest.fn(() => ({
|
||||||
params: {
|
params: {
|
||||||
governance_proposal_updateMarket_requiredMajority: '0.5',
|
governance_proposal_updateMarket_requiredMajority: '0.5',
|
||||||
|
|||||||
@@ -13,10 +13,9 @@ import {
|
|||||||
} from '@vegaprotocol/types';
|
} from '@vegaprotocol/types';
|
||||||
import type { NodeConnection, NodeEdge } from '@vegaprotocol/utils';
|
import type { NodeConnection, NodeEdge } from '@vegaprotocol/utils';
|
||||||
import type { ProposalFieldsFragment } from './__generated__/Proposals';
|
import type { ProposalFieldsFragment } from './__generated__/Proposals';
|
||||||
import type { ProtocolUpgradeProposalFieldsFragment } from '../protocol-upgrade/__generated__/ProtocolUpgradeProposals';
|
|
||||||
|
|
||||||
import orderBy from 'lodash/orderBy';
|
import orderBy from 'lodash/orderBy';
|
||||||
import { useProtocolUpgradesQuery } from '../protocol-upgrade/__generated__/ProtocolUpgradeProposals';
|
import type { ProtocolUpgradeProposalFieldsFragment } from '@vegaprotocol/proposals';
|
||||||
|
import { useProtocolUpgradeProposalsQuery } from '@vegaprotocol/proposals';
|
||||||
|
|
||||||
const orderByDate = (arr: ProposalFieldsFragment[]) =>
|
const orderByDate = (arr: ProposalFieldsFragment[]) =>
|
||||||
orderBy(
|
orderBy(
|
||||||
@@ -73,7 +72,7 @@ export const ProposalsContainer = () => {
|
|||||||
data: protocolUpgradesData,
|
data: protocolUpgradesData,
|
||||||
loading: protocolUpgradesLoading,
|
loading: protocolUpgradesLoading,
|
||||||
error: protocolUpgradesError,
|
error: protocolUpgradesError,
|
||||||
} = useProtocolUpgradesQuery({
|
} = useProtocolUpgradeProposalsQuery({
|
||||||
pollInterval: 5000,
|
pollInterval: 5000,
|
||||||
fetchPolicy: 'network-only',
|
fetchPolicy: 'network-only',
|
||||||
errorPolicy: 'ignore',
|
errorPolicy: 'ignore',
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ import { mockWalletContext } from '../../test-helpers/mocks';
|
|||||||
import { AppStateProvider } from '../../../../contexts/app-state/app-state-provider';
|
import { AppStateProvider } from '../../../../contexts/app-state/app-state-provider';
|
||||||
import { VegaWalletContext } from '@vegaprotocol/wallet';
|
import { VegaWalletContext } from '@vegaprotocol/wallet';
|
||||||
import { MemoryRouter as Router } from 'react-router-dom';
|
import { MemoryRouter as Router } from 'react-router-dom';
|
||||||
import type { NetworkParamsQuery } from '@vegaprotocol/react-helpers';
|
import type { NetworkParamsQuery } from '@vegaprotocol/network-parameters';
|
||||||
import type { MockedResponse } from '@apollo/client/testing';
|
import type { MockedResponse } from '@apollo/client/testing';
|
||||||
import { NetworkParamsDocument } from '@vegaprotocol/react-helpers';
|
import { NetworkParamsDocument } from '@vegaprotocol/network-parameters';
|
||||||
|
|
||||||
jest.mock('@vegaprotocol/environment', () => ({
|
jest.mock('@vegaprotocol/environment', () => ({
|
||||||
useEnvironment: () => ({
|
useEnvironment: () => ({
|
||||||
|
|||||||
@@ -19,7 +19,10 @@ import { ProposalMinRequirements } from '../../components/shared';
|
|||||||
import { AsyncRenderer, ExternalLink } from '@vegaprotocol/ui-toolkit';
|
import { AsyncRenderer, ExternalLink } from '@vegaprotocol/ui-toolkit';
|
||||||
import { Heading } from '../../../../components/heading';
|
import { Heading } from '../../../../components/heading';
|
||||||
import { createDocsLinks } from '@vegaprotocol/utils';
|
import { createDocsLinks } from '@vegaprotocol/utils';
|
||||||
import { NetworkParams, useNetworkParams } from '@vegaprotocol/react-helpers';
|
import {
|
||||||
|
NetworkParams,
|
||||||
|
useNetworkParams,
|
||||||
|
} from '@vegaprotocol/network-parameters';
|
||||||
import { ProposalUserAction } from '../../components/shared';
|
import { ProposalUserAction } from '../../components/shared';
|
||||||
import { downloadJson } from '../../../../lib/download-json';
|
import { downloadJson } from '../../../../lib/download-json';
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -5,8 +5,8 @@ import { mockWalletContext } from '../../test-helpers/mocks';
|
|||||||
import { AppStateProvider } from '../../../../contexts/app-state/app-state-provider';
|
import { AppStateProvider } from '../../../../contexts/app-state/app-state-provider';
|
||||||
import { VegaWalletContext } from '@vegaprotocol/wallet';
|
import { VegaWalletContext } from '@vegaprotocol/wallet';
|
||||||
import { MemoryRouter as Router } from 'react-router-dom';
|
import { MemoryRouter as Router } from 'react-router-dom';
|
||||||
import type { NetworkParamsQuery } from '@vegaprotocol/react-helpers';
|
import type { NetworkParamsQuery } from '@vegaprotocol/network-parameters';
|
||||||
import { NetworkParamsDocument } from '@vegaprotocol/react-helpers';
|
import { NetworkParamsDocument } from '@vegaprotocol/network-parameters';
|
||||||
import type { MockedResponse } from '@apollo/client/testing';
|
import type { MockedResponse } from '@apollo/client/testing';
|
||||||
|
|
||||||
jest.mock('@vegaprotocol/environment', () => ({
|
jest.mock('@vegaprotocol/environment', () => ({
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
createDocsLinks,
|
createDocsLinks,
|
||||||
suitableForSyntaxHighlighter,
|
suitableForSyntaxHighlighter,
|
||||||
} from '@vegaprotocol/utils';
|
} from '@vegaprotocol/utils';
|
||||||
import { useNetworkParams } from '@vegaprotocol/react-helpers';
|
import { useNetworkParams } from '@vegaprotocol/network-parameters';
|
||||||
import {
|
import {
|
||||||
getClosingTimestamp,
|
getClosingTimestamp,
|
||||||
getEnactmentTimestamp,
|
getEnactmentTimestamp,
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ import { VegaWalletContext } from '@vegaprotocol/wallet';
|
|||||||
import { AppStateProvider } from '../../../../contexts/app-state/app-state-provider';
|
import { AppStateProvider } from '../../../../contexts/app-state/app-state-provider';
|
||||||
import { mockWalletContext } from '../../test-helpers/mocks';
|
import { mockWalletContext } from '../../test-helpers/mocks';
|
||||||
import { ProposeNewAsset } from './propose-new-asset';
|
import { ProposeNewAsset } from './propose-new-asset';
|
||||||
import type { NetworkParamsQuery } from '@vegaprotocol/react-helpers';
|
import type { NetworkParamsQuery } from '@vegaprotocol/network-parameters';
|
||||||
import type { MockedResponse } from '@apollo/client/testing';
|
import type { MockedResponse } from '@apollo/client/testing';
|
||||||
import { NetworkParamsDocument } from '@vegaprotocol/react-helpers';
|
import { NetworkParamsDocument } from '@vegaprotocol/network-parameters';
|
||||||
|
|
||||||
jest.mock('@vegaprotocol/environment', () => ({
|
jest.mock('@vegaprotocol/environment', () => ({
|
||||||
useEnvironment: () => ({
|
useEnvironment: () => ({
|
||||||
|
|||||||
@@ -9,7 +9,10 @@ import {
|
|||||||
} from '@vegaprotocol/proposals';
|
} from '@vegaprotocol/proposals';
|
||||||
import { useEnvironment } from '@vegaprotocol/environment';
|
import { useEnvironment } from '@vegaprotocol/environment';
|
||||||
import { createDocsLinks, validateJson } from '@vegaprotocol/utils';
|
import { createDocsLinks, validateJson } from '@vegaprotocol/utils';
|
||||||
import { NetworkParams, useNetworkParams } from '@vegaprotocol/react-helpers';
|
import {
|
||||||
|
NetworkParams,
|
||||||
|
useNetworkParams,
|
||||||
|
} from '@vegaprotocol/network-parameters';
|
||||||
import {
|
import {
|
||||||
ProposalFormDescription,
|
ProposalFormDescription,
|
||||||
ProposalFormSubheader,
|
ProposalFormSubheader,
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import { AppStateProvider } from '../../../../contexts/app-state/app-state-provi
|
|||||||
import { VegaWalletContext } from '@vegaprotocol/wallet';
|
import { VegaWalletContext } from '@vegaprotocol/wallet';
|
||||||
import { BrowserRouter as Router } from 'react-router-dom';
|
import { BrowserRouter as Router } from 'react-router-dom';
|
||||||
import type { MockedResponse } from '@apollo/client/testing';
|
import type { MockedResponse } from '@apollo/client/testing';
|
||||||
import type { NetworkParamsQuery } from '@vegaprotocol/react-helpers';
|
import type { NetworkParamsQuery } from '@vegaprotocol/network-parameters';
|
||||||
import { NetworkParamsDocument } from '@vegaprotocol/react-helpers';
|
import { NetworkParamsDocument } from '@vegaprotocol/network-parameters';
|
||||||
|
|
||||||
jest.mock('@vegaprotocol/environment', () => ({
|
jest.mock('@vegaprotocol/environment', () => ({
|
||||||
useEnvironment: () => ({
|
useEnvironment: () => ({
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ import {
|
|||||||
} from '@vegaprotocol/proposals';
|
} from '@vegaprotocol/proposals';
|
||||||
import { useEnvironment } from '@vegaprotocol/environment';
|
import { useEnvironment } from '@vegaprotocol/environment';
|
||||||
import { createDocsLinks, validateJson } from '@vegaprotocol/utils';
|
import { createDocsLinks, validateJson } from '@vegaprotocol/utils';
|
||||||
import { NetworkParams, useNetworkParams } from '@vegaprotocol/react-helpers';
|
import {
|
||||||
|
NetworkParams,
|
||||||
|
useNetworkParams,
|
||||||
|
} from '@vegaprotocol/network-parameters';
|
||||||
import {
|
import {
|
||||||
ProposalFormDescription,
|
ProposalFormDescription,
|
||||||
ProposalFormSubheader,
|
ProposalFormSubheader,
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ import { ProposeRaw } from './propose-raw';
|
|||||||
import { ProposalEventDocument } from '@vegaprotocol/proposals';
|
import { ProposalEventDocument } from '@vegaprotocol/proposals';
|
||||||
import type { ProposalEventSubscription } from '@vegaprotocol/proposals';
|
import type { ProposalEventSubscription } from '@vegaprotocol/proposals';
|
||||||
|
|
||||||
import type { NetworkParamsQuery } from '@vegaprotocol/react-helpers';
|
import type { NetworkParamsQuery } from '@vegaprotocol/network-parameters';
|
||||||
import { NetworkParamsDocument } from '@vegaprotocol/react-helpers';
|
import { NetworkParamsDocument } from '@vegaprotocol/network-parameters';
|
||||||
|
|
||||||
const paramsDelay = 20;
|
const paramsDelay = 20;
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,10 @@ import {
|
|||||||
TextArea,
|
TextArea,
|
||||||
} from '@vegaprotocol/ui-toolkit';
|
} from '@vegaprotocol/ui-toolkit';
|
||||||
import { createDocsLinks, validateJson } from '@vegaprotocol/utils';
|
import { createDocsLinks, validateJson } from '@vegaprotocol/utils';
|
||||||
import { NetworkParams, useNetworkParams } from '@vegaprotocol/react-helpers';
|
import {
|
||||||
|
NetworkParams,
|
||||||
|
useNetworkParams,
|
||||||
|
} from '@vegaprotocol/network-parameters';
|
||||||
import { useProposalSubmit } from '@vegaprotocol/proposals';
|
import { useProposalSubmit } from '@vegaprotocol/proposals';
|
||||||
import {
|
import {
|
||||||
ProposalFormSubmit,
|
ProposalFormSubmit,
|
||||||
|
|||||||
+2
-2
@@ -5,9 +5,9 @@ import { VegaWalletContext } from '@vegaprotocol/wallet';
|
|||||||
import { AppStateProvider } from '../../../../contexts/app-state/app-state-provider';
|
import { AppStateProvider } from '../../../../contexts/app-state/app-state-provider';
|
||||||
import { mockWalletContext } from '../../test-helpers/mocks';
|
import { mockWalletContext } from '../../test-helpers/mocks';
|
||||||
import { ProposeUpdateAsset } from './propose-update-asset';
|
import { ProposeUpdateAsset } from './propose-update-asset';
|
||||||
import type { NetworkParamsQuery } from '@vegaprotocol/react-helpers';
|
import type { NetworkParamsQuery } from '@vegaprotocol/network-parameters';
|
||||||
import type { MockedResponse } from '@apollo/client/testing';
|
import type { MockedResponse } from '@apollo/client/testing';
|
||||||
import { NetworkParamsDocument } from '@vegaprotocol/react-helpers';
|
import { NetworkParamsDocument } from '@vegaprotocol/network-parameters';
|
||||||
|
|
||||||
jest.mock('@vegaprotocol/environment', () => ({
|
jest.mock('@vegaprotocol/environment', () => ({
|
||||||
useEnvironment: () => ({
|
useEnvironment: () => ({
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ import {
|
|||||||
} from '@vegaprotocol/proposals';
|
} from '@vegaprotocol/proposals';
|
||||||
import { useEnvironment } from '@vegaprotocol/environment';
|
import { useEnvironment } from '@vegaprotocol/environment';
|
||||||
import { createDocsLinks, validateJson } from '@vegaprotocol/utils';
|
import { createDocsLinks, validateJson } from '@vegaprotocol/utils';
|
||||||
import { NetworkParams, useNetworkParams } from '@vegaprotocol/react-helpers';
|
import {
|
||||||
|
NetworkParams,
|
||||||
|
useNetworkParams,
|
||||||
|
} from '@vegaprotocol/network-parameters';
|
||||||
import {
|
import {
|
||||||
ProposalFormDescription,
|
ProposalFormDescription,
|
||||||
ProposalFormSubheader,
|
ProposalFormSubheader,
|
||||||
|
|||||||
+2
-2
@@ -6,8 +6,8 @@ import { VegaWalletContext } from '@vegaprotocol/wallet';
|
|||||||
import { AppStateProvider } from '../../../../contexts/app-state/app-state-provider';
|
import { AppStateProvider } from '../../../../contexts/app-state/app-state-provider';
|
||||||
import { mockWalletContext } from '../../test-helpers/mocks';
|
import { mockWalletContext } from '../../test-helpers/mocks';
|
||||||
import { ProposeUpdateMarket } from './propose-update-market';
|
import { ProposeUpdateMarket } from './propose-update-market';
|
||||||
import type { NetworkParamsQuery } from '@vegaprotocol/react-helpers';
|
import type { NetworkParamsQuery } from '@vegaprotocol/network-parameters';
|
||||||
import { NetworkParamsDocument } from '@vegaprotocol/react-helpers';
|
import { NetworkParamsDocument } from '@vegaprotocol/network-parameters';
|
||||||
import type { ProposalMarketsQueryQuery } from './__generated__/UpdateMarket';
|
import type { ProposalMarketsQueryQuery } from './__generated__/UpdateMarket';
|
||||||
import { ProposalMarketsQueryDocument } from './__generated__/UpdateMarket';
|
import { ProposalMarketsQueryDocument } from './__generated__/UpdateMarket';
|
||||||
import { ProposalState } from '@vegaprotocol/types';
|
import { ProposalState } from '@vegaprotocol/types';
|
||||||
|
|||||||
+4
-1
@@ -9,7 +9,10 @@ import {
|
|||||||
} from '@vegaprotocol/proposals';
|
} from '@vegaprotocol/proposals';
|
||||||
import { useEnvironment } from '@vegaprotocol/environment';
|
import { useEnvironment } from '@vegaprotocol/environment';
|
||||||
import { createDocsLinks, validateJson } from '@vegaprotocol/utils';
|
import { createDocsLinks, validateJson } from '@vegaprotocol/utils';
|
||||||
import { NetworkParams, useNetworkParams } from '@vegaprotocol/react-helpers';
|
import {
|
||||||
|
NetworkParams,
|
||||||
|
useNetworkParams,
|
||||||
|
} from '@vegaprotocol/network-parameters';
|
||||||
import {
|
import {
|
||||||
ProposalFormDescription,
|
ProposalFormDescription,
|
||||||
ProposalFormDownloadJson,
|
ProposalFormDownloadJson,
|
||||||
|
|||||||
Generated
-59
@@ -1,59 +0,0 @@
|
|||||||
import * as Types from '@vegaprotocol/types';
|
|
||||||
|
|
||||||
import { gql } from '@apollo/client';
|
|
||||||
import * as Apollo from '@apollo/client';
|
|
||||||
const defaultOptions = {} as const;
|
|
||||||
export type ProtocolUpgradeProposalFieldsFragment = { __typename?: 'ProtocolUpgradeProposal', upgradeBlockHeight: string, vegaReleaseTag: string, approvers: Array<string>, status: Types.ProtocolUpgradeProposalStatus };
|
|
||||||
|
|
||||||
export type ProtocolUpgradesQueryVariables = Types.Exact<{ [key: string]: never; }>;
|
|
||||||
|
|
||||||
|
|
||||||
export type ProtocolUpgradesQuery = { __typename?: 'Query', lastBlockHeight: string, protocolUpgradeProposals?: { __typename?: 'ProtocolUpgradeProposalConnection', edges?: Array<{ __typename?: 'ProtocolUpgradeProposalEdge', node: { __typename?: 'ProtocolUpgradeProposal', upgradeBlockHeight: string, vegaReleaseTag: string, approvers: Array<string>, status: Types.ProtocolUpgradeProposalStatus } }> | null } | null };
|
|
||||||
|
|
||||||
export const ProtocolUpgradeProposalFieldsFragmentDoc = gql`
|
|
||||||
fragment ProtocolUpgradeProposalFields on ProtocolUpgradeProposal {
|
|
||||||
upgradeBlockHeight
|
|
||||||
vegaReleaseTag
|
|
||||||
approvers
|
|
||||||
status
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
export const ProtocolUpgradesDocument = gql`
|
|
||||||
query ProtocolUpgrades {
|
|
||||||
lastBlockHeight
|
|
||||||
protocolUpgradeProposals {
|
|
||||||
edges {
|
|
||||||
node {
|
|
||||||
...ProtocolUpgradeProposalFields
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
${ProtocolUpgradeProposalFieldsFragmentDoc}`;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* __useProtocolUpgradesQuery__
|
|
||||||
*
|
|
||||||
* To run a query within a React component, call `useProtocolUpgradesQuery` and pass it any options that fit your needs.
|
|
||||||
* When your component renders, `useProtocolUpgradesQuery` returns an object from Apollo Client that contains loading, error, and data properties
|
|
||||||
* you can use to render your UI.
|
|
||||||
*
|
|
||||||
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
|
|
||||||
*
|
|
||||||
* @example
|
|
||||||
* const { data, loading, error } = useProtocolUpgradesQuery({
|
|
||||||
* variables: {
|
|
||||||
* },
|
|
||||||
* });
|
|
||||||
*/
|
|
||||||
export function useProtocolUpgradesQuery(baseOptions?: Apollo.QueryHookOptions<ProtocolUpgradesQuery, ProtocolUpgradesQueryVariables>) {
|
|
||||||
const options = {...defaultOptions, ...baseOptions}
|
|
||||||
return Apollo.useQuery<ProtocolUpgradesQuery, ProtocolUpgradesQueryVariables>(ProtocolUpgradesDocument, options);
|
|
||||||
}
|
|
||||||
export function useProtocolUpgradesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<ProtocolUpgradesQuery, ProtocolUpgradesQueryVariables>) {
|
|
||||||
const options = {...defaultOptions, ...baseOptions}
|
|
||||||
return Apollo.useLazyQuery<ProtocolUpgradesQuery, ProtocolUpgradesQueryVariables>(ProtocolUpgradesDocument, options);
|
|
||||||
}
|
|
||||||
export type ProtocolUpgradesQueryHookResult = ReturnType<typeof useProtocolUpgradesQuery>;
|
|
||||||
export type ProtocolUpgradesLazyQueryHookResult = ReturnType<typeof useProtocolUpgradesLazyQuery>;
|
|
||||||
export type ProtocolUpgradesQueryResult = Apollo.QueryResult<ProtocolUpgradesQuery, ProtocolUpgradesQueryVariables>;
|
|
||||||
+2
-2
@@ -6,14 +6,14 @@ import * as Schema from '@vegaprotocol/types';
|
|||||||
|
|
||||||
import { ProtocolUpgradeProposal } from './protocol-upgrade-proposal';
|
import { ProtocolUpgradeProposal } from './protocol-upgrade-proposal';
|
||||||
import { ProposalNotFound } from '../components/proposal-not-found';
|
import { ProposalNotFound } from '../components/proposal-not-found';
|
||||||
import { useProtocolUpgradesQuery } from './__generated__/ProtocolUpgradeProposals';
|
|
||||||
import { useNodesQuery } from '../../staking/home/__generated__/Nodes';
|
import { useNodesQuery } from '../../staking/home/__generated__/Nodes';
|
||||||
import { useRefreshAfterEpoch } from '../../../hooks/use-refresh-after-epoch';
|
import { useRefreshAfterEpoch } from '../../../hooks/use-refresh-after-epoch';
|
||||||
|
import { useProtocolUpgradeProposalsQuery } from '@vegaprotocol/proposals';
|
||||||
|
|
||||||
export const ProtocolUpgradeProposalContainer = () => {
|
export const ProtocolUpgradeProposalContainer = () => {
|
||||||
const params = useParams<{ proposalReleaseTag: string }>();
|
const params = useParams<{ proposalReleaseTag: string }>();
|
||||||
|
|
||||||
const { data, loading, error, refetch } = useProtocolUpgradesQuery({
|
const { data, loading, error, refetch } = useProtocolUpgradeProposalsQuery({
|
||||||
fetchPolicy: 'network-only',
|
fetchPolicy: 'network-only',
|
||||||
errorPolicy: 'ignore',
|
errorPolicy: 'ignore',
|
||||||
skip: !params.proposalReleaseTag,
|
skip: !params.proposalReleaseTag,
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ import {
|
|||||||
import { ProtocolUpgradeProposalStatus } from '@vegaprotocol/types';
|
import { ProtocolUpgradeProposalStatus } from '@vegaprotocol/types';
|
||||||
import { getNormalisedVotingPower } from '../../staking/shared';
|
import { getNormalisedVotingPower } from '../../staking/shared';
|
||||||
import type { NodesFragmentFragment } from '../../staking/home/__generated__/Nodes';
|
import type { NodesFragmentFragment } from '../../staking/home/__generated__/Nodes';
|
||||||
import type { ProtocolUpgradeProposalFieldsFragment } from './__generated__/ProtocolUpgradeProposals';
|
import type { ProtocolUpgradeProposalFieldsFragment } from '@vegaprotocol/proposals';
|
||||||
|
|
||||||
const mockProposal: ProtocolUpgradeProposalFieldsFragment = {
|
const mockProposal: ProtocolUpgradeProposalFieldsFragment = {
|
||||||
vegaReleaseTag: 'v0.1.234',
|
vegaReleaseTag: 'v0.1.234',
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import { ProtocolUpgradeProposalDetailHeader } from '../components/protocol-upgr
|
|||||||
import { ProtocolUpdateProposalDetailApprovals } from '../components/protocol-upgrade-proposal-detail-approvals';
|
import { ProtocolUpdateProposalDetailApprovals } from '../components/protocol-upgrade-proposal-detail-approvals';
|
||||||
import { ProtocolUpgradeProposalDetailInfo } from '../components/protocol-upgrade-proposal-detail-info';
|
import { ProtocolUpgradeProposalDetailInfo } from '../components/protocol-upgrade-proposal-detail-info';
|
||||||
import { getNormalisedVotingPower } from '../../staking/shared';
|
import { getNormalisedVotingPower } from '../../staking/shared';
|
||||||
import type { ProtocolUpgradeProposalFieldsFragment } from './__generated__/ProtocolUpgradeProposals';
|
|
||||||
import type { NodesFragmentFragment } from '../../staking/home/__generated__/Nodes';
|
import type { NodesFragmentFragment } from '../../staking/home/__generated__/Nodes';
|
||||||
|
import type { ProtocolUpgradeProposalFieldsFragment } from '@vegaprotocol/proposals';
|
||||||
|
|
||||||
export interface ProtocolUpgradeProposalProps {
|
export interface ProtocolUpgradeProposalProps {
|
||||||
proposal: ProtocolUpgradeProposalFieldsFragment;
|
proposal: ProtocolUpgradeProposalFieldsFragment;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { NetworkParamsDocument } from '@vegaprotocol/react-helpers';
|
import { NetworkParamsDocument } from '@vegaprotocol/network-parameters';
|
||||||
import type { MockedResponse } from '@apollo/client/testing';
|
import type { MockedResponse } from '@apollo/client/testing';
|
||||||
import type { NetworkParamsQuery } from '@vegaprotocol/react-helpers';
|
import type { NetworkParamsQuery } from '@vegaprotocol/network-parameters';
|
||||||
import type { PubKey } from '@vegaprotocol/wallet';
|
import type { PubKey } from '@vegaprotocol/wallet';
|
||||||
|
|
||||||
export const mockPubkey: PubKey = {
|
export const mockPubkey: PubKey = {
|
||||||
|
|||||||
@@ -12,7 +12,10 @@ import {
|
|||||||
} from '@vegaprotocol/ui-toolkit';
|
} from '@vegaprotocol/ui-toolkit';
|
||||||
import { useVegaWallet } from '@vegaprotocol/wallet';
|
import { useVegaWallet } from '@vegaprotocol/wallet';
|
||||||
import { createDocsLinks } from '@vegaprotocol/utils';
|
import { createDocsLinks } from '@vegaprotocol/utils';
|
||||||
import { useNetworkParams, NetworkParams } from '@vegaprotocol/react-helpers';
|
import {
|
||||||
|
useNetworkParams,
|
||||||
|
NetworkParams,
|
||||||
|
} from '@vegaprotocol/network-parameters';
|
||||||
import { useEpochQuery } from './__generated__/Rewards';
|
import { useEpochQuery } from './__generated__/Rewards';
|
||||||
import { EpochCountdown } from '../../../components/epoch-countdown';
|
import { EpochCountdown } from '../../../components/epoch-countdown';
|
||||||
import { Heading, SubHeading } from '../../../components/heading';
|
import { Heading, SubHeading } from '../../../components/heading';
|
||||||
|
|||||||
@@ -23,7 +23,10 @@ import {
|
|||||||
addDecimal,
|
addDecimal,
|
||||||
removePaginationWrapper,
|
removePaginationWrapper,
|
||||||
} from '@vegaprotocol/utils';
|
} from '@vegaprotocol/utils';
|
||||||
import { useNetworkParam, NetworkParams } from '@vegaprotocol/react-helpers';
|
import {
|
||||||
|
useNetworkParam,
|
||||||
|
NetworkParams,
|
||||||
|
} from '@vegaprotocol/network-parameters';
|
||||||
import { useBalances } from '../../../lib/balances/balances-store';
|
import { useBalances } from '../../../lib/balances/balances-store';
|
||||||
import { useVegaWallet } from '@vegaprotocol/wallet';
|
import { useVegaWallet } from '@vegaprotocol/wallet';
|
||||||
import { SubHeading } from '../../../components/heading';
|
import { SubHeading } from '../../../components/heading';
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import {
|
|||||||
WithdrawalsTable,
|
WithdrawalsTable,
|
||||||
} from '@vegaprotocol/withdraws';
|
} from '@vegaprotocol/withdraws';
|
||||||
import { useVegaWallet } from '@vegaprotocol/wallet';
|
import { useVegaWallet } from '@vegaprotocol/wallet';
|
||||||
import { useDataProvider } from '@vegaprotocol/react-helpers';
|
import { useDataProvider } from '@vegaprotocol/data-provider';
|
||||||
import { useDocumentTitle } from '../../hooks/use-document-title';
|
import { useDocumentTitle } from '../../hooks/use-document-title';
|
||||||
import type { RouteChildProps } from '../index';
|
import type { RouteChildProps } from '../index';
|
||||||
|
|
||||||
|
|||||||
@@ -40,18 +40,6 @@
|
|||||||
line-height: calc(min(var(--ag-line-height, 26px), 26px) - 4px);
|
line-height: calc(min(var(--ag-line-height, 26px), 26px) - 4px);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Light variables */
|
|
||||||
.ag-theme-balham {
|
|
||||||
--ag-background-color: theme(colors.white);
|
|
||||||
--ag-border-color: theme(colors.neutral[300]);
|
|
||||||
--ag-header-background-color: theme(colors.white);
|
|
||||||
--ag-odd-row-background-color: theme(colors.white);
|
|
||||||
--ag-header-column-separator-color: theme(colors.neutral[300]);
|
|
||||||
--ag-row-border-color: theme(colors.white);
|
|
||||||
--ag-row-hover-color: theme(colors.neutral[100]);
|
|
||||||
--ag-font-size: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Dark variables */
|
/* Dark variables */
|
||||||
.ag-theme-balham-dark {
|
.ag-theme-balham-dark {
|
||||||
--ag-background-color: theme(colors.black);
|
--ag-background-color: theme(colors.black);
|
||||||
@@ -63,3 +51,46 @@
|
|||||||
--ag-row-hover-color: theme(colors.neutral[800]);
|
--ag-row-hover-color: theme(colors.neutral[800]);
|
||||||
--ag-font-size: 12px;
|
--ag-font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.validators-table .ag-theme-balham-dark .ag-body-horizontal-scroll {
|
||||||
|
opacity: 0.75;
|
||||||
|
}
|
||||||
|
.validators-table .ag-theme-balham-dark *:hover {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles required to (effectively) un-override the
|
||||||
|
* reset styles so that the Proposal description fields
|
||||||
|
* render as you'd expect them to.
|
||||||
|
*
|
||||||
|
* Notes:
|
||||||
|
* - image embeds are disabled, so no styles are required
|
||||||
|
* - strong may not be required
|
||||||
|
* - skipHTML is enabled, so no nested HTML will be rendered. Only
|
||||||
|
* . valid markdown
|
||||||
|
*/
|
||||||
|
|
||||||
|
.dark .react-markdown-container,
|
||||||
|
.dark .react-markdown-container li,
|
||||||
|
.dark .react-markdown-container p {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.react-markdown-container strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.react-markdown-container ol {
|
||||||
|
margin-left: 1em;
|
||||||
|
}
|
||||||
|
.react-markdown-container li {
|
||||||
|
margin-left: 1em;
|
||||||
|
padding-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.react-markdown-container ol li {
|
||||||
|
list-style: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.react-markdown-container ul li {
|
||||||
|
list-style: circle;
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import { ToastsContainer, useToasts } from '@vegaprotocol/ui-toolkit';
|
||||||
|
import {
|
||||||
|
useEthereumTransactionToasts,
|
||||||
|
useEthereumWithdrawApprovalsToasts,
|
||||||
|
useVegaTransactionToasts,
|
||||||
|
} from '@vegaprotocol/web3';
|
||||||
|
|
||||||
|
export const ToastsManager = () => {
|
||||||
|
useVegaTransactionToasts();
|
||||||
|
useEthereumTransactionToasts();
|
||||||
|
useEthereumWithdrawApprovalsToasts();
|
||||||
|
|
||||||
|
const toasts = useToasts((store) => store.toasts);
|
||||||
|
return <ToastsContainer order="desc" toasts={toasts} />;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ToastsManager;
|
||||||
@@ -23,5 +23,5 @@ NX_VEGA_URL="https://api.n07.testnet.vega.xyz/graphql"
|
|||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\"}
|
||||||
NX_VEGA_EXPLORER_URL=https://explorer.fairground.wtf
|
NX_VEGA_EXPLORER_URL=https://explorer.fairground.wtf
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/devnet1/vegawallet-devnet1.toml
|
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_URL=https://api.n04.d.vega.xyz/graphql
|
||||||
NX_VEGA_ENV=DEVNET
|
NX_VEGA_ENV=DEVNET
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\"}
|
||||||
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
||||||
NX_VEGA_EXPLORER_URL=https://dev.explorer.vega.xyz
|
NX_VEGA_EXPLORER_URL=https://dev.explorer.vega.xyz
|
||||||
|
|||||||
@@ -5,4 +5,4 @@ NX_VEGA_ENV=STAGNET1
|
|||||||
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
||||||
NX_VEGA_EXPLORER_URL=https://stagnet1.explorer.vega.xyz
|
NX_VEGA_EXPLORER_URL=https://stagnet1.explorer.vega.xyz
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\"}
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
# App configuration variables
|
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet3/vegawallet-stagnet3.toml
|
|
||||||
NX_VEGA_URL=https://api.stagnet3.vega.xyz/graphql
|
|
||||||
NX_VEGA_ENV=STAGNET3
|
|
||||||
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
|
||||||
NX_VEGA_EXPLORER_URL=https://staging2.explorer.vega.xyz
|
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import { useParams } from 'react-router-dom';
|
import { useParams } from 'react-router-dom';
|
||||||
import { makeDerivedDataProvider } from '@vegaprotocol/utils';
|
import { makeDerivedDataProvider } from '@vegaprotocol/data-provider';
|
||||||
import { t } from '@vegaprotocol/i18n';
|
import { t } from '@vegaprotocol/i18n';
|
||||||
import { useDataProvider } from '@vegaprotocol/react-helpers';
|
import { useDataProvider } from '@vegaprotocol/data-provider';
|
||||||
import { AsyncRenderer } from '@vegaprotocol/ui-toolkit';
|
import { AsyncRenderer } from '@vegaprotocol/ui-toolkit';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
|||||||
+2
-1
@@ -1,7 +1,8 @@
|
|||||||
import { useState, useMemo, useRef, useCallback } from 'react';
|
import { useState, useMemo, useRef, useCallback } from 'react';
|
||||||
import throttle from 'lodash/throttle';
|
import throttle from 'lodash/throttle';
|
||||||
import { addDecimalsFormatNumber } from '@vegaprotocol/utils';
|
import { addDecimalsFormatNumber } from '@vegaprotocol/utils';
|
||||||
import { useYesterday, useDataProvider } from '@vegaprotocol/react-helpers';
|
import { useYesterday } from '@vegaprotocol/react-helpers';
|
||||||
|
import { useDataProvider } from '@vegaprotocol/data-provider';
|
||||||
import * as Schema from '@vegaprotocol/types';
|
import * as Schema from '@vegaprotocol/types';
|
||||||
import {
|
import {
|
||||||
calcDayVolume,
|
calcDayVolume,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
NX_VEGA_URL=https://api.stagnet3.vega.xyz/graphql
|
NX_VEGA_URL=https://api.stagnet1.vega.xyz/graphql
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet3/vegawallet-stagnet3.toml
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet1/vegawallet-stagnet1.toml
|
||||||
NX_VEGA_NETWORKS='{"TESTNET":"https://multisig-signer.fairground.wtf","MAINNET":"https://multisig-signer.vega.xyz"}'
|
NX_VEGA_NETWORKS='{"TESTNET":"https://multisig-signer.fairground.wtf","MAINNET":"https://multisig-signer.vega.xyz"}'
|
||||||
NX_VEGA_ENV=STAGNET3
|
NX_VEGA_ENV=STAGNET1
|
||||||
NX_WALLETCONNECT_PROJECT_ID=fe8091dc35738863e509fc4947525c72
|
NX_WALLETCONNECT_PROJECT_ID=fe8091dc35738863e509fc4947525c72
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
# App configuration variables
|
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet3/vegawallet-stagnet3.toml
|
|
||||||
NX_VEGA_URL=https://api.stagnet3.vega.xyz/graphql
|
|
||||||
NX_VEGA_NETWORKS='{"TESTNET":"https://multisig-signer.fairground.wtf","MAINNET":"https://multisig-signer.vega.xyz"}'
|
|
||||||
NX_VEGA_ENV=STAGNET3
|
|
||||||
@@ -22,12 +22,11 @@ Example configurations are provided here:
|
|||||||
- [Devnet](./.env.devnet)
|
- [Devnet](./.env.devnet)
|
||||||
- [Capsule](./.env.capsule)
|
- [Capsule](./.env.capsule)
|
||||||
- [Testnet](./.env.testnet)
|
- [Testnet](./.env.testnet)
|
||||||
- [Stagnet3](./.env.stagnet3)
|
|
||||||
|
|
||||||
For convenience, you can boot the app injecting one of the configurations above by running:
|
For convenience, you can boot the app injecting one of the configurations above by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn nx run multisig-signer:serve --env={env} # e.g. stagnet3
|
yarn nx run multisig-signer:serve --env={env} # e.g. stagnet1
|
||||||
```
|
```
|
||||||
|
|
||||||
There are a few different configuration options offered for this app:
|
There are a few different configuration options offered for this app:
|
||||||
|
|||||||
@@ -1,4 +1,15 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"tranche_id": 58,
|
||||||
|
"tranche_start": "2023-05-11T00:00:00.000Z",
|
||||||
|
"tranche_end": "2023-06-11T00:00:00.000Z",
|
||||||
|
"total_added": "0",
|
||||||
|
"total_removed": "0",
|
||||||
|
"locked_amount": "0",
|
||||||
|
"deposits": [],
|
||||||
|
"withdrawals": [],
|
||||||
|
"users": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"tranche_id": 57,
|
"tranche_id": 57,
|
||||||
"tranche_start": "2024-04-01T00:00:00.000Z",
|
"tranche_start": "2024-04-01T00:00:00.000Z",
|
||||||
@@ -37,8 +48,8 @@
|
|||||||
"tranche_start": "2023-04-20T00:00:00.000Z",
|
"tranche_start": "2023-04-20T00:00:00.000Z",
|
||||||
"tranche_end": "2023-05-20T00:00:00.000Z",
|
"tranche_end": "2023-05-20T00:00:00.000Z",
|
||||||
"total_added": "19242.125",
|
"total_added": "19242.125",
|
||||||
"total_removed": "959.3245960538025",
|
"total_removed": "1523.8177488329475",
|
||||||
"locked_amount": "10578.4844209587189695125",
|
"locked_amount": "7532.72773939043192534875",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "188",
|
"amount": "188",
|
||||||
@@ -212,6 +223,11 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "308.82179861382",
|
||||||
|
"user": "0xDd7a98557586ce21f770662319C2047C5a3bD605",
|
||||||
|
"tx": "0x2b3571c143ecebddf91fb62f402d516d51110edfe37b13200a6e5cf682dc5bb0"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "202.093666077975",
|
"amount": "202.093666077975",
|
||||||
"user": "0x1447Efc62d5077d7AbB20492dF831Dd6c9Eb1756",
|
"user": "0x1447Efc62d5077d7AbB20492dF831Dd6c9Eb1756",
|
||||||
@@ -236,6 +252,11 @@
|
|||||||
"amount": "422.1034736680125",
|
"amount": "422.1034736680125",
|
||||||
"user": "0xf915Da10e5136352Ba049acB0545Deb119054256",
|
"user": "0xf915Da10e5136352Ba049acB0545Deb119054256",
|
||||||
"tx": "0x5932f574afe019060f5812fc89c7298ab9f768cddebe0a803c27e9914b45dc3d"
|
"tx": "0x5932f574afe019060f5812fc89c7298ab9f768cddebe0a803c27e9914b45dc3d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amount": "255.671354165325",
|
||||||
|
"user": "0x1447Efc62d5077d7AbB20492dF831Dd6c9Eb1756",
|
||||||
|
"tx": "0x92cd553dcee22eb58abadc7aab2dc8d4d9b2285943b41aacea8ed09eff5a0914"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"users": [
|
"users": [
|
||||||
@@ -297,11 +318,17 @@
|
|||||||
"user": "0x1447Efc62d5077d7AbB20492dF831Dd6c9Eb1756",
|
"user": "0x1447Efc62d5077d7AbB20492dF831Dd6c9Eb1756",
|
||||||
"tranche_id": 56,
|
"tranche_id": 56,
|
||||||
"tx": "0x5f544a659ae728cc7b1a29dcda14740425cadf1f47aa74bae92bf2ade3c8093d"
|
"tx": "0x5f544a659ae728cc7b1a29dcda14740425cadf1f47aa74bae92bf2ade3c8093d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amount": "255.671354165325",
|
||||||
|
"user": "0x1447Efc62d5077d7AbB20492dF831Dd6c9Eb1756",
|
||||||
|
"tranche_id": 56,
|
||||||
|
"tx": "0x92cd553dcee22eb58abadc7aab2dc8d4d9b2285943b41aacea8ed09eff5a0914"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_tokens": "1207.5",
|
"total_tokens": "1207.5",
|
||||||
"withdrawn_tokens": "341.3307146949",
|
"withdrawn_tokens": "597.002068860225",
|
||||||
"remaining_tokens": "866.1692853051"
|
"remaining_tokens": "610.497931139775"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address": "0x33Ce1D9E53AFb7367E34749517C086405a651a95",
|
"address": "0x33Ce1D9E53AFb7367E34749517C086405a651a95",
|
||||||
@@ -329,6 +356,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "308.82179861382",
|
||||||
|
"user": "0xDd7a98557586ce21f770662319C2047C5a3bD605",
|
||||||
|
"tranche_id": 56,
|
||||||
|
"tx": "0x2b3571c143ecebddf91fb62f402d516d51110edfe37b13200a6e5cf682dc5bb0"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "195.89040769089",
|
"amount": "195.89040769089",
|
||||||
"user": "0xDd7a98557586ce21f770662319C2047C5a3bD605",
|
"user": "0xDd7a98557586ce21f770662319C2047C5a3bD605",
|
||||||
@@ -337,8 +370,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_tokens": "914.25",
|
"total_tokens": "914.25",
|
||||||
"withdrawn_tokens": "195.89040769089",
|
"withdrawn_tokens": "504.71220630471",
|
||||||
"remaining_tokens": "718.35959230911"
|
"remaining_tokens": "409.53779369529"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address": "0x9573BDF7FfC5519912d293e4D1f750eab2E471E7",
|
"address": "0x9573BDF7FfC5519912d293e4D1f750eab2E471E7",
|
||||||
@@ -843,10 +876,15 @@
|
|||||||
"tranche_id": 54,
|
"tranche_id": 54,
|
||||||
"tranche_start": "2023-04-06T00:00:00.000Z",
|
"tranche_start": "2023-04-06T00:00:00.000Z",
|
||||||
"tranche_end": "2023-05-06T00:00:00.000Z",
|
"tranche_end": "2023-05-06T00:00:00.000Z",
|
||||||
"total_added": "14520",
|
"total_added": "14610",
|
||||||
"total_removed": "5079.76864115505",
|
"total_removed": "5697.45090157707",
|
||||||
"locked_amount": "1206.465231481482324",
|
"locked_amount": "0",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
|
{
|
||||||
|
"amount": "90",
|
||||||
|
"user": "0x05659B08a8079E003eE37F26c29e52532728c034",
|
||||||
|
"tx": "0x83cb92910e0725b82b3459e025260c448f931224f7cb00a376351dbd75ae2733"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "111",
|
"amount": "111",
|
||||||
"user": "0x90Cf7B9958C3BbBCddAb52Ecc408535D4f3C4241",
|
"user": "0x90Cf7B9958C3BbBCddAb52Ecc408535D4f3C4241",
|
||||||
@@ -999,6 +1037,26 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "191.85071991228",
|
||||||
|
"user": "0x6F32AA5A6198329c16e438512F992a0548C856f9",
|
||||||
|
"tx": "0x1438ad7d4c51ec6cb9b8f9d67b05583915099427035179baf996fd208fd76603"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amount": "309",
|
||||||
|
"user": "0x21770cCAb229Bd1509609fFFa35bEB16b73A657c",
|
||||||
|
"tx": "0x264f4b3c5dc43cd5afaa5954b50ba7885ce3091b11ae51ba19b8a5851a5a4fc7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amount": "116.83154050974",
|
||||||
|
"user": "0x15024E62134A8BFFCce11f5ce58CeCDe853038D7",
|
||||||
|
"tx": "0x130c439ea764588c13cd825ae89767bea04064bd3d76b762b7148e5373857b9b"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amount": "0",
|
||||||
|
"user": "0x15024E62134A8BFFCce11f5ce58CeCDe853038D7",
|
||||||
|
"tx": "0x9be84231ff156bc8b8de9a99250f03b8ebf9d59c252e3b778f10051489e5758a"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "106.53500000286",
|
"amount": "106.53500000286",
|
||||||
"user": "0x6F32AA5A6198329c16e438512F992a0548C856f9",
|
"user": "0x6F32AA5A6198329c16e438512F992a0548C856f9",
|
||||||
@@ -1046,6 +1104,21 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"users": [
|
"users": [
|
||||||
|
{
|
||||||
|
"address": "0x05659B08a8079E003eE37F26c29e52532728c034",
|
||||||
|
"deposits": [
|
||||||
|
{
|
||||||
|
"amount": "90",
|
||||||
|
"user": "0x05659B08a8079E003eE37F26c29e52532728c034",
|
||||||
|
"tranche_id": 54,
|
||||||
|
"tx": "0x83cb92910e0725b82b3459e025260c448f931224f7cb00a376351dbd75ae2733"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"withdrawals": [],
|
||||||
|
"total_tokens": "90",
|
||||||
|
"withdrawn_tokens": "0",
|
||||||
|
"remaining_tokens": "90"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"address": "0x90Cf7B9958C3BbBCddAb52Ecc408535D4f3C4241",
|
"address": "0x90Cf7B9958C3BbBCddAb52Ecc408535D4f3C4241",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
@@ -1304,6 +1377,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "191.85071991228",
|
||||||
|
"user": "0x6F32AA5A6198329c16e438512F992a0548C856f9",
|
||||||
|
"tranche_id": 54,
|
||||||
|
"tx": "0x1438ad7d4c51ec6cb9b8f9d67b05583915099427035179baf996fd208fd76603"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "106.53500000286",
|
"amount": "106.53500000286",
|
||||||
"user": "0x6F32AA5A6198329c16e438512F992a0548C856f9",
|
"user": "0x6F32AA5A6198329c16e438512F992a0548C856f9",
|
||||||
@@ -1342,8 +1421,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_tokens": "858",
|
"total_tokens": "858",
|
||||||
"withdrawn_tokens": "666.14928008772",
|
"withdrawn_tokens": "858",
|
||||||
"remaining_tokens": "191.85071991228"
|
"remaining_tokens": "0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address": "0x0bBf7580e036eA5D69ABe679CC90117EeC2e3dc1",
|
"address": "0x0bBf7580e036eA5D69ABe679CC90117EeC2e3dc1",
|
||||||
@@ -1371,6 +1450,18 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "116.83154050974",
|
||||||
|
"user": "0x15024E62134A8BFFCce11f5ce58CeCDe853038D7",
|
||||||
|
"tranche_id": 54,
|
||||||
|
"tx": "0x130c439ea764588c13cd825ae89767bea04064bd3d76b762b7148e5373857b9b"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amount": "0",
|
||||||
|
"user": "0x15024E62134A8BFFCce11f5ce58CeCDe853038D7",
|
||||||
|
"tranche_id": 54,
|
||||||
|
"tx": "0x9be84231ff156bc8b8de9a99250f03b8ebf9d59c252e3b778f10051489e5758a"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "60.16845949026",
|
"amount": "60.16845949026",
|
||||||
"user": "0x15024E62134A8BFFCce11f5ce58CeCDe853038D7",
|
"user": "0x15024E62134A8BFFCce11f5ce58CeCDe853038D7",
|
||||||
@@ -1379,8 +1470,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_tokens": "177",
|
"total_tokens": "177",
|
||||||
"withdrawn_tokens": "60.16845949026",
|
"withdrawn_tokens": "177",
|
||||||
"remaining_tokens": "116.83154050974"
|
"remaining_tokens": "0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address": "0xAc1c2783d64c29CDB79608f5B66a37Fd1ea35dD6",
|
"address": "0xAc1c2783d64c29CDB79608f5B66a37Fd1ea35dD6",
|
||||||
@@ -1452,10 +1543,17 @@
|
|||||||
"tx": "0xf6467d54c2de5c5d21fd3ac174ac6bf51b6fc675cf81dedcb143679f28caa46a"
|
"tx": "0xf6467d54c2de5c5d21fd3ac174ac6bf51b6fc675cf81dedcb143679f28caa46a"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [],
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "309",
|
||||||
|
"user": "0x21770cCAb229Bd1509609fFFa35bEB16b73A657c",
|
||||||
|
"tranche_id": 54,
|
||||||
|
"tx": "0x264f4b3c5dc43cd5afaa5954b50ba7885ce3091b11ae51ba19b8a5851a5a4fc7"
|
||||||
|
}
|
||||||
|
],
|
||||||
"total_tokens": "309",
|
"total_tokens": "309",
|
||||||
"withdrawn_tokens": "0",
|
"withdrawn_tokens": "309",
|
||||||
"remaining_tokens": "309"
|
"remaining_tokens": "0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address": "0x0629D3C608e1E8e9B88a1B00e1422e4B33276a98",
|
"address": "0x0629D3C608e1E8e9B88a1B00e1422e4B33276a98",
|
||||||
@@ -4715,7 +4813,7 @@
|
|||||||
"tranche_end": "2023-12-05T00:00:00.000Z",
|
"tranche_end": "2023-12-05T00:00:00.000Z",
|
||||||
"total_added": "86666.297",
|
"total_added": "86666.297",
|
||||||
"total_removed": "0",
|
"total_removed": "0",
|
||||||
"locked_amount": "51166.9974210106919556663",
|
"locked_amount": "50039.4836272332284177113",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "86666.297",
|
"amount": "86666.297",
|
||||||
@@ -4781,7 +4879,7 @@
|
|||||||
"tranche_end": "2023-06-01T00:00:00.000Z",
|
"tranche_end": "2023-06-01T00:00:00.000Z",
|
||||||
"total_added": "2500",
|
"total_added": "2500",
|
||||||
"total_removed": "0",
|
"total_removed": "0",
|
||||||
"locked_amount": "391.38319724257215",
|
"locked_amount": "326.1553406084655",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "2500",
|
"amount": "2500",
|
||||||
@@ -4814,7 +4912,7 @@
|
|||||||
"tranche_end": "2023-11-01T00:00:00.000Z",
|
"tranche_end": "2023-11-01T00:00:00.000Z",
|
||||||
"total_added": "15000.000000000000015",
|
"total_added": "15000.000000000000015",
|
||||||
"total_removed": "0",
|
"total_removed": "0",
|
||||||
"locked_amount": "14795.60027928744001479560027928744",
|
"locked_amount": "14408.4871301328495144084871301328495",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "1.5e-14",
|
"amount": "1.5e-14",
|
||||||
@@ -4902,7 +5000,7 @@
|
|||||||
"tranche_end": "2023-09-01T00:00:00.000Z",
|
"tranche_end": "2023-09-01T00:00:00.000Z",
|
||||||
"total_added": "17500",
|
"total_added": "17500",
|
||||||
"total_removed": "0",
|
"total_removed": "0",
|
||||||
"locked_amount": "11459.903224386071",
|
"locked_amount": "11008.27121703904875",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "12500",
|
"amount": "12500",
|
||||||
@@ -5168,8 +5266,8 @@
|
|||||||
"tranche_start": "2023-02-01T00:00:00.000Z",
|
"tranche_start": "2023-02-01T00:00:00.000Z",
|
||||||
"tranche_end": "2023-08-01T00:00:00.000Z",
|
"tranche_end": "2023-08-01T00:00:00.000Z",
|
||||||
"total_added": "37500",
|
"total_added": "37500",
|
||||||
"total_removed": "17836.1796921",
|
"total_removed": "18077.0118744",
|
||||||
"locked_amount": "18541.30457719459875",
|
"locked_amount": "17557.4811042050325",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "7500",
|
"amount": "7500",
|
||||||
@@ -5198,6 +5296,11 @@
|
|||||||
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
"tx": "0x6bb6303a6a322698e6e295ad38b2a22bd20d8b44306d423a3e513bb0b858ad56"
|
"tx": "0x6bb6303a6a322698e6e295ad38b2a22bd20d8b44306d423a3e513bb0b858ad56"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"amount": "240.8321823",
|
||||||
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
|
"tx": "0xe27cfead07bc34f4270f7f87b9146e9f6fa35d0cc5e20b2378a03265de432289"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "126.30064455",
|
"amount": "126.30064455",
|
||||||
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
@@ -5368,6 +5471,12 @@
|
|||||||
"tranche_id": 34,
|
"tranche_id": 34,
|
||||||
"tx": "0x6bb6303a6a322698e6e295ad38b2a22bd20d8b44306d423a3e513bb0b858ad56"
|
"tx": "0x6bb6303a6a322698e6e295ad38b2a22bd20d8b44306d423a3e513bb0b858ad56"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"amount": "240.8321823",
|
||||||
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
|
"tranche_id": 34,
|
||||||
|
"tx": "0xe27cfead07bc34f4270f7f87b9146e9f6fa35d0cc5e20b2378a03265de432289"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "126.30064455",
|
"amount": "126.30064455",
|
||||||
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
@@ -5532,8 +5641,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_tokens": "7500",
|
"total_tokens": "7500",
|
||||||
"withdrawn_tokens": "3626.4210213",
|
"withdrawn_tokens": "3867.2532036",
|
||||||
"remaining_tokens": "3873.5789787"
|
"remaining_tokens": "3632.7467964"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address": "0x0B4e6fcE839B01ef43DA6F890FAC7B1Afb004600",
|
"address": "0x0B4e6fcE839B01ef43DA6F890FAC7B1Afb004600",
|
||||||
@@ -5577,7 +5686,7 @@
|
|||||||
"tranche_end": "2023-12-05T00:00:00.000Z",
|
"tranche_end": "2023-12-05T00:00:00.000Z",
|
||||||
"total_added": "129999.45",
|
"total_added": "129999.45",
|
||||||
"total_removed": "0",
|
"total_removed": "0",
|
||||||
"locked_amount": "51120.313973942497539045",
|
"locked_amount": "49993.828894632632305527",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "129999.45",
|
"amount": "129999.45",
|
||||||
@@ -5610,7 +5719,7 @@
|
|||||||
"tranche_end": "2024-04-01T00:00:00.000Z",
|
"tranche_end": "2024-04-01T00:00:00.000Z",
|
||||||
"total_added": "54144.7663",
|
"total_added": "54144.7663",
|
||||||
"total_removed": "0",
|
"total_removed": "0",
|
||||||
"locked_amount": "49335.74898575644407623565",
|
"locked_amount": "48633.25940786130414603646",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "54144.7663",
|
"amount": "54144.7663",
|
||||||
@@ -5643,7 +5752,7 @@
|
|||||||
"tranche_end": "2023-09-03T00:00:00.000Z",
|
"tranche_end": "2023-09-03T00:00:00.000Z",
|
||||||
"total_added": "62600",
|
"total_added": "62600",
|
||||||
"total_removed": "0",
|
"total_removed": "0",
|
||||||
"locked_amount": "21008.336485286656638",
|
"locked_amount": "20193.92112506342202",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "10000",
|
"amount": "10000",
|
||||||
@@ -5836,7 +5945,7 @@
|
|||||||
"tranche_end": "2023-09-17T00:00:00.000Z",
|
"tranche_end": "2023-09-17T00:00:00.000Z",
|
||||||
"total_added": "5000",
|
"total_added": "5000",
|
||||||
"total_removed": "0",
|
"total_removed": "0",
|
||||||
"locked_amount": "1869.76296930492115",
|
"locked_amount": "1804.7138191273465",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "5000",
|
"amount": "5000",
|
||||||
@@ -6376,7 +6485,7 @@
|
|||||||
"tranche_start": "2022-11-01T00:00:00.000Z",
|
"tranche_start": "2022-11-01T00:00:00.000Z",
|
||||||
"tranche_end": "2023-05-01T00:00:00.000Z",
|
"tranche_end": "2023-05-01T00:00:00.000Z",
|
||||||
"total_added": "22500",
|
"total_added": "22500",
|
||||||
"total_removed": "7438.558452225",
|
"total_removed": "7500",
|
||||||
"locked_amount": "0",
|
"locked_amount": "0",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
@@ -6401,6 +6510,11 @@
|
|||||||
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
"tx": "0xb76564ca91603758216069d7b139c683037029425e10b1694af25b478c19e26f"
|
"tx": "0xb76564ca91603758216069d7b139c683037029425e10b1694af25b478c19e26f"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"amount": "61.441547775",
|
||||||
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
|
"tx": "0xbf247e382e7cbfd131b20942525b6a11a8d71b5dae727cf8ad0f0801a48572b7"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "126.2948895",
|
"amount": "126.2948895",
|
||||||
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
@@ -6626,6 +6740,12 @@
|
|||||||
"tranche_id": 33,
|
"tranche_id": 33,
|
||||||
"tx": "0xb76564ca91603758216069d7b139c683037029425e10b1694af25b478c19e26f"
|
"tx": "0xb76564ca91603758216069d7b139c683037029425e10b1694af25b478c19e26f"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"amount": "61.441547775",
|
||||||
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
|
"tranche_id": 33,
|
||||||
|
"tx": "0xbf247e382e7cbfd131b20942525b6a11a8d71b5dae727cf8ad0f0801a48572b7"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "126.2948895",
|
"amount": "126.2948895",
|
||||||
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
@@ -6868,8 +6988,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_tokens": "7500",
|
"total_tokens": "7500",
|
||||||
"withdrawn_tokens": "7438.558452225",
|
"withdrawn_tokens": "7500",
|
||||||
"remaining_tokens": "61.441547775"
|
"remaining_tokens": "0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address": "0x2539b51EbDE65a75672aBcfE9439a706a99D18D1",
|
"address": "0x2539b51EbDE65a75672aBcfE9439a706a99D18D1",
|
||||||
@@ -6894,7 +7014,7 @@
|
|||||||
"tranche_end": "2023-06-02T00:00:00.000Z",
|
"tranche_end": "2023-06-02T00:00:00.000Z",
|
||||||
"total_added": "1939928.38",
|
"total_added": "1939928.38",
|
||||||
"total_removed": "1709370.7872515768348",
|
"total_removed": "1709370.7872515768348",
|
||||||
"locked_amount": "156749.9162904687626235986",
|
"locked_amount": "131511.7777855967480100472",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "1852091.69",
|
"amount": "1852091.69",
|
||||||
@@ -40766,7 +40886,7 @@
|
|||||||
"tranche_end": "2023-06-05T00:00:00.000Z",
|
"tranche_end": "2023-06-05T00:00:00.000Z",
|
||||||
"total_added": "3732368.4671",
|
"total_added": "3732368.4671",
|
||||||
"total_removed": "715655.108029600523393",
|
"total_removed": "715655.108029600523393",
|
||||||
"locked_amount": "265371.371543329369775774863",
|
"locked_amount": "226589.1396478949202049633456",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "1998.95815",
|
"amount": "1998.95815",
|
||||||
@@ -42158,8 +42278,8 @@
|
|||||||
"tranche_start": "2022-06-05T00:00:00.000Z",
|
"tranche_start": "2022-06-05T00:00:00.000Z",
|
||||||
"tranche_end": "2023-12-05T00:00:00.000Z",
|
"tranche_end": "2023-12-05T00:00:00.000Z",
|
||||||
"total_added": "15870102.715470999700000001",
|
"total_added": "15870102.715470999700000001",
|
||||||
"total_removed": "867610.78878511272497352",
|
"total_removed": "871680.07831804700259352",
|
||||||
"locked_amount": "6240677.4306629368200704822080834181008381",
|
"locked_amount": "6103158.12641901073651283988990528359908086",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "16249.93",
|
"amount": "16249.93",
|
||||||
@@ -42663,6 +42783,11 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "967.6813834225175",
|
||||||
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
|
"tx": "0x625e0c8fb8d5e2dd7fef0359bb396571f7d8aed05a601ddf0f6e6577edb26a13"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "10150.87581603206683",
|
"amount": "10150.87581603206683",
|
||||||
"user": "0xe3eB4CF43C072658401996b71D43eE26E573562D",
|
"user": "0xe3eB4CF43C072658401996b71D43eE26E573562D",
|
||||||
@@ -42713,6 +42838,16 @@
|
|||||||
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
"tx": "0xc5cea08b124cdf6264d5b0c7494d63d9de264b429822d9a4e4cfadc43e611a1b"
|
"tx": "0xc5cea08b124cdf6264d5b0c7494d63d9de264b429822d9a4e4cfadc43e611a1b"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"amount": "2191.38799702042362",
|
||||||
|
"user": "0xe3eB4CF43C072658401996b71D43eE26E573562D",
|
||||||
|
"tx": "0xa809dbfa0c31522127924306a6117331a578dfc402cf5fa464832baec46e4ac2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amount": "910.2201524913365",
|
||||||
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
|
"tx": "0x24d004bb729a8d3e7df9be45895e411b7c3f8341a08737d41284acf79b3e9e53"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "981.387731774910625",
|
"amount": "981.387731774910625",
|
||||||
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
@@ -44821,6 +44956,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "967.6813834225175",
|
||||||
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
|
"tranche_id": 2,
|
||||||
|
"tx": "0x625e0c8fb8d5e2dd7fef0359bb396571f7d8aed05a601ddf0f6e6577edb26a13"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "913.910324501590625",
|
"amount": "913.910324501590625",
|
||||||
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
@@ -44863,6 +45004,12 @@
|
|||||||
"tranche_id": 2,
|
"tranche_id": 2,
|
||||||
"tx": "0xc5cea08b124cdf6264d5b0c7494d63d9de264b429822d9a4e4cfadc43e611a1b"
|
"tx": "0xc5cea08b124cdf6264d5b0c7494d63d9de264b429822d9a4e4cfadc43e611a1b"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"amount": "910.2201524913365",
|
||||||
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
|
"tranche_id": 2,
|
||||||
|
"tx": "0x24d004bb729a8d3e7df9be45895e411b7c3f8341a08737d41284acf79b3e9e53"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "981.387731774910625",
|
"amount": "981.387731774910625",
|
||||||
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
"user": "0x20CD77B9FC2f1fEDfb6F184E25f7127BFE991C8b",
|
||||||
@@ -46371,8 +46518,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_tokens": "259998.8875",
|
"total_tokens": "259998.8875",
|
||||||
"withdrawn_tokens": "157712.620568472569875",
|
"withdrawn_tokens": "159590.522104386423875",
|
||||||
"remaining_tokens": "102286.266931527430125"
|
"remaining_tokens": "100408.365395613576125"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address": "0x89051CAb67Bc7F8CC44F7e270c6EDaf1EC57676c",
|
"address": "0x89051CAb67Bc7F8CC44F7e270c6EDaf1EC57676c",
|
||||||
@@ -46611,6 +46758,12 @@
|
|||||||
"tranche_id": 2,
|
"tranche_id": 2,
|
||||||
"tx": "0x9d12dadb940c59a796a405a4971e73f24d7ad284528ec7ce676ae361a4ac1f51"
|
"tx": "0x9d12dadb940c59a796a405a4971e73f24d7ad284528ec7ce676ae361a4ac1f51"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"amount": "2191.38799702042362",
|
||||||
|
"user": "0xe3eB4CF43C072658401996b71D43eE26E573562D",
|
||||||
|
"tranche_id": 2,
|
||||||
|
"tx": "0xa809dbfa0c31522127924306a6117331a578dfc402cf5fa464832baec46e4ac2"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "2873.74755113623213",
|
"amount": "2873.74755113623213",
|
||||||
"user": "0xe3eB4CF43C072658401996b71D43eE26E573562D",
|
"user": "0xe3eB4CF43C072658401996b71D43eE26E573562D",
|
||||||
@@ -46883,8 +47036,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_tokens": "150551.801",
|
"total_tokens": "150551.801",
|
||||||
"withdrawn_tokens": "89385.81693579122338",
|
"withdrawn_tokens": "91577.204932811647",
|
||||||
"remaining_tokens": "61165.98406420877662"
|
"remaining_tokens": "58974.596067188353"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address": "0x4d982Ab0823fD2f48e934a7be2bb0a5374a26148",
|
"address": "0x4d982Ab0823fD2f48e934a7be2bb0a5374a26148",
|
||||||
@@ -48747,8 +48900,8 @@
|
|||||||
"tranche_start": "2021-11-05T00:00:00.000Z",
|
"tranche_start": "2021-11-05T00:00:00.000Z",
|
||||||
"tranche_end": "2023-05-05T00:00:00.000Z",
|
"tranche_end": "2023-05-05T00:00:00.000Z",
|
||||||
"total_added": "14597706.0446472999",
|
"total_added": "14597706.0446472999",
|
||||||
"total_removed": "6168897.174282186485373182",
|
"total_removed": "6170228.182342542771392682",
|
||||||
"locked_amount": "39908.33059608817917720398993360406",
|
"locked_amount": "0",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "129284.449",
|
"amount": "129284.449",
|
||||||
@@ -49007,6 +49160,16 @@
|
|||||||
"user": "0x4Aa3c35F6CC2d507E5C18205ee57099A4C80B19b",
|
"user": "0x4Aa3c35F6CC2d507E5C18205ee57099A4C80B19b",
|
||||||
"tx": "0x53d67a8df4d069f956ae1eb76d5e099642dcc8d7e40fa9357be0b8ae879b90c4"
|
"tx": "0x53d67a8df4d069f956ae1eb76d5e099642dcc8d7e40fa9357be0b8ae879b90c4"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"amount": "964.95248431660023075",
|
||||||
|
"user": "0x4Aa3c35F6CC2d507E5C18205ee57099A4C80B19b",
|
||||||
|
"tx": "0x35f722557b9bc3a2dc314f9fac173013697c484059bd8d5c65497f8df72b9097"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amount": "366.05557603968578875",
|
||||||
|
"user": "0x4Aa3c35F6CC2d507E5C18205ee57099A4C80B19b",
|
||||||
|
"tx": "0xf03a210cb8c386c7bae72a07c1d20e50eb9a9743c5cd5df4b5e016f1e103f73f"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "1360.32447632896938825",
|
"amount": "1360.32447632896938825",
|
||||||
"user": "0x4Aa3c35F6CC2d507E5C18205ee57099A4C80B19b",
|
"user": "0x4Aa3c35F6CC2d507E5C18205ee57099A4C80B19b",
|
||||||
@@ -52349,6 +52512,18 @@
|
|||||||
"tranche_id": 3,
|
"tranche_id": 3,
|
||||||
"tx": "0x53d67a8df4d069f956ae1eb76d5e099642dcc8d7e40fa9357be0b8ae879b90c4"
|
"tx": "0x53d67a8df4d069f956ae1eb76d5e099642dcc8d7e40fa9357be0b8ae879b90c4"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"amount": "964.95248431660023075",
|
||||||
|
"user": "0x4Aa3c35F6CC2d507E5C18205ee57099A4C80B19b",
|
||||||
|
"tranche_id": 3,
|
||||||
|
"tx": "0x35f722557b9bc3a2dc314f9fac173013697c484059bd8d5c65497f8df72b9097"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amount": "366.05557603968578875",
|
||||||
|
"user": "0x4Aa3c35F6CC2d507E5C18205ee57099A4C80B19b",
|
||||||
|
"tranche_id": 3,
|
||||||
|
"tx": "0xf03a210cb8c386c7bae72a07c1d20e50eb9a9743c5cd5df4b5e016f1e103f73f"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "1360.32447632896938825",
|
"amount": "1360.32447632896938825",
|
||||||
"user": "0x4Aa3c35F6CC2d507E5C18205ee57099A4C80B19b",
|
"user": "0x4Aa3c35F6CC2d507E5C18205ee57099A4C80B19b",
|
||||||
@@ -55171,8 +55346,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_tokens": "359123.469575",
|
"total_tokens": "359123.469575",
|
||||||
"withdrawn_tokens": "357792.4615146437139805",
|
"withdrawn_tokens": "359123.469575",
|
||||||
"remaining_tokens": "1331.0080603562860195"
|
"remaining_tokens": "0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address": "0xBdd412797c1B78535Afc5F71503b91fAbD0160fB",
|
"address": "0xBdd412797c1B78535Afc5F71503b91fAbD0160fB",
|
||||||
@@ -58846,8 +59021,8 @@
|
|||||||
"tranche_start": "2022-06-05T00:00:00.000Z",
|
"tranche_start": "2022-06-05T00:00:00.000Z",
|
||||||
"tranche_end": "2023-06-05T00:00:00.000Z",
|
"tranche_end": "2023-06-05T00:00:00.000Z",
|
||||||
"total_added": "472355.6199999996",
|
"total_added": "472355.6199999996",
|
||||||
"total_removed": "44078.8527972103416",
|
"total_removed": "44479.0535455583416",
|
||||||
"locked_amount": "42049.610748470926039581595332312",
|
"locked_amount": "35904.344415950602504988809538328",
|
||||||
"deposits": [
|
"deposits": [
|
||||||
{
|
{
|
||||||
"amount": "3000",
|
"amount": "3000",
|
||||||
@@ -65466,6 +65641,11 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "368.722818364",
|
||||||
|
"user": "0x0436E2E4EA467f9958403dc56635404EE1bb1E94",
|
||||||
|
"tx": "0x97f5b5ec5ac839a8d182b9267b5d052cb70f9a18b648874337e3d5360b21a5fb"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "182.662252664",
|
"amount": "182.662252664",
|
||||||
"user": "0xb1169C6daAc76bAcaf0D8f87641Fc38fbabe569F",
|
"user": "0xb1169C6daAc76bAcaf0D8f87641Fc38fbabe569F",
|
||||||
@@ -65501,6 +65681,11 @@
|
|||||||
"user": "0x4d4AA3f302cbA998AAFC03F9d73484434ed9Fd53",
|
"user": "0x4d4AA3f302cbA998AAFC03F9d73484434ed9Fd53",
|
||||||
"tx": "0x1e4902d0a3cb7b4f2ba7119dfcaa681a784e1d724c984961767e9feaa078fe54"
|
"tx": "0x1e4902d0a3cb7b4f2ba7119dfcaa681a784e1d724c984961767e9feaa078fe54"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"amount": "31.477929984",
|
||||||
|
"user": "0xcB555C5602cC0b2434A27d277e14Cb5C7bF4Ead1",
|
||||||
|
"tx": "0x1b9ddd24634b4c6eab202f0a65dc0d3119fbc5502cbac5086352eab14ebd7b02"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "168.502276762",
|
"amount": "168.502276762",
|
||||||
"user": "0x38A292CB98Dc602ECAFF94E8E5fADD9800e4bA13",
|
"user": "0x38A292CB98Dc602ECAFF94E8E5fADD9800e4bA13",
|
||||||
@@ -81670,10 +81855,17 @@
|
|||||||
"tx": "0xb1425d9b0d5f10c5b06236d6f9d61ebddd21c4027e0f41deb5ec227a1753c715"
|
"tx": "0xb1425d9b0d5f10c5b06236d6f9d61ebddd21c4027e0f41deb5ec227a1753c715"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [],
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "368.722818364",
|
||||||
|
"user": "0x0436E2E4EA467f9958403dc56635404EE1bb1E94",
|
||||||
|
"tranche_id": 5,
|
||||||
|
"tx": "0x97f5b5ec5ac839a8d182b9267b5d052cb70f9a18b648874337e3d5360b21a5fb"
|
||||||
|
}
|
||||||
|
],
|
||||||
"total_tokens": "400",
|
"total_tokens": "400",
|
||||||
"withdrawn_tokens": "0",
|
"withdrawn_tokens": "368.722818364",
|
||||||
"remaining_tokens": "400"
|
"remaining_tokens": "31.277181636"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address": "0x6672F8789C54b49C596E6e7Ca3A72726Fc4C400E",
|
"address": "0x6672F8789C54b49C596E6e7Ca3A72726Fc4C400E",
|
||||||
@@ -84326,6 +84518,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "31.477929984",
|
||||||
|
"user": "0xcB555C5602cC0b2434A27d277e14Cb5C7bF4Ead1",
|
||||||
|
"tranche_id": 5,
|
||||||
|
"tx": "0x1b9ddd24634b4c6eab202f0a65dc0d3119fbc5502cbac5086352eab14ebd7b02"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "19.918569252",
|
"amount": "19.918569252",
|
||||||
"user": "0xcB555C5602cC0b2434A27d277e14Cb5C7bF4Ead1",
|
"user": "0xcB555C5602cC0b2434A27d277e14Cb5C7bF4Ead1",
|
||||||
@@ -84370,8 +84568,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_tokens": "400",
|
"total_tokens": "400",
|
||||||
"withdrawn_tokens": "334.458891424",
|
"withdrawn_tokens": "365.936821408",
|
||||||
"remaining_tokens": "65.541108576"
|
"remaining_tokens": "34.063178592"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address": "0x3738bec36216eA2F11B954891C65AAd1Bc852156",
|
"address": "0x3738bec36216eA2F11B954891C65AAd1Bc852156",
|
||||||
@@ -144155,6 +144353,11 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "0",
|
||||||
|
"user": "0x759C9ABABA492500c4c730bEB568B5b851Dec2c7",
|
||||||
|
"tx": "0xbc31dbb6851f0e1a856afaedfe96fba29ed357ba1da151eb27c495aa49ab1f39"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "0",
|
"amount": "0",
|
||||||
"user": "0x759C9ABABA492500c4c730bEB568B5b851Dec2c7",
|
"user": "0x759C9ABABA492500c4c730bEB568B5b851Dec2c7",
|
||||||
@@ -144445,6 +144648,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"withdrawals": [
|
"withdrawals": [
|
||||||
|
{
|
||||||
|
"amount": "0",
|
||||||
|
"user": "0x759C9ABABA492500c4c730bEB568B5b851Dec2c7",
|
||||||
|
"tranche_id": 9,
|
||||||
|
"tx": "0xbc31dbb6851f0e1a856afaedfe96fba29ed357ba1da151eb27c495aa49ab1f39"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"amount": "0",
|
"amount": "0",
|
||||||
"user": "0x759C9ABABA492500c4c730bEB568B5b851Dec2c7",
|
"user": "0x759C9ABABA492500c4c730bEB568B5b851Dec2c7",
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"hosts": ["https://api-stagnet3.vega.rocks/graphql"]
|
|
||||||
}
|
|
||||||
@@ -6,7 +6,7 @@ NX_VEGA_CONFIG_URL=''
|
|||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
||||||
NX_VEGA_ENV=CUSTOM
|
NX_VEGA_ENV=CUSTOM
|
||||||
NX_VEGA_EXPLORER_URL=https://explorer.fairground.wtf
|
NX_VEGA_EXPLORER_URL=https://explorer.fairground.wtf
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\"}
|
||||||
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
||||||
NX_VEGA_URL=http://localhost:3008/graphql
|
NX_VEGA_URL=http://localhost:3008/graphql
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ NX_VEGA_CONFIG_URL=''
|
|||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
||||||
NX_VEGA_ENV=CUSTOM
|
NX_VEGA_ENV=CUSTOM
|
||||||
NX_VEGA_EXPLORER_URL=https://explorer.fairground.wtf
|
NX_VEGA_EXPLORER_URL=https://explorer.fairground.wtf
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\"}
|
||||||
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
||||||
NX_VEGA_URL=http://localhost:3008/graphql
|
NX_VEGA_URL=http://localhost:3008/graphql
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
|
||||||
NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet3/vegawallet-stagnet3.toml
|
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
|
||||||
NX_VEGA_ENV=STAGNET3
|
|
||||||
NX_VEGA_EXPLORER_URL=https://stagnet3.explorer.vega.xyz
|
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
|
||||||
NX_VEGA_TOKEN_URL=https://stagnet3.token.vega.xyz
|
|
||||||
NX_VEGA_URL=https://api.stagnet3.vega.xyz/graphql
|
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
|
||||||
|
|
||||||
CYPRESS_ETH_WALLET_MNEMONIC=
|
|
||||||
CYPRESS_ETHEREUM_WALLET_ADDRESS=0xEe7D375bcB50C26d52E1A4a472D8822A2A22d94F
|
|
||||||
CYPRESS_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
|
||||||
CYPRESS_EXPLORER_URL=https://stagnet3.explorer.vega.xyz
|
|
||||||
CYPRESS_TRUNCATED_VEGA_PUBLIC_KEY=1a18cd…0cf2e4
|
|
||||||
CYPRESS_TRUNCATED_VEGA_PUBLIC_KEY2=47836c…c7d278
|
|
||||||
CYPRESS_VEGA_ENV=STAGNET3
|
|
||||||
CYPRESS_VEGA_PUBLIC_KEY=1a18cdcaaa4f44a57b35a4e9b77e0701c17a476f2b407620f8c17371740cf2e4
|
|
||||||
CYPRESS_VEGA_PUBLIC_KEY2=47836c253520d2661bf5bed6339c0de08fd02cf5d4db0efee3b4373f20c7d278
|
|
||||||
CYPRESS_VEGA_TOKEN_URL=https://stagnet3.token.vega.xyz
|
|
||||||
CYPRESS_VEGA_URL=https://api.stagnet3.vega.xyz/graphql
|
|
||||||
CYPRESS_VEGA_WALLET_API_TOKEN=
|
|
||||||
@@ -9,6 +9,7 @@ import {
|
|||||||
import { isBefore, isAfter, addSeconds, subSeconds } from 'date-fns';
|
import { isBefore, isAfter, addSeconds, subSeconds } from 'date-fns';
|
||||||
import { createOrder } from '../support/create-order';
|
import { createOrder } from '../support/create-order';
|
||||||
import { connectEthereumWallet } from '../support/ethereum-wallet';
|
import { connectEthereumWallet } from '../support/ethereum-wallet';
|
||||||
|
import { selectAsset } from '../support/helpers';
|
||||||
|
|
||||||
const orderSize = 'size';
|
const orderSize = 'size';
|
||||||
const orderType = 'type';
|
const orderType = 'type';
|
||||||
@@ -22,15 +23,13 @@ const assetSelectField = 'select[name="asset"]';
|
|||||||
const amountField = 'input[name="amount"]';
|
const amountField = 'input[name="amount"]';
|
||||||
const txTimeout = Cypress.env('txTimeout');
|
const txTimeout = Cypress.env('txTimeout');
|
||||||
const sepoliaUrl = Cypress.env('ETHERSCAN_URL');
|
const sepoliaUrl = Cypress.env('ETHERSCAN_URL');
|
||||||
const btcName =
|
const btcName = 0;
|
||||||
'BTC (local)5cfa87844724df6069b94e4c8a6f03af21907d7bc251593d08e4251043ee9f7c - tBTC';
|
const vegaName = 4;
|
||||||
const vegaName =
|
|
||||||
'Vegab4f2726571fbe8e33b442dc92ed2d7f0d810e21835b7371a7915a365f07ccd9b - VEGA';
|
|
||||||
const btcSymbol = 'tBTC';
|
const btcSymbol = 'tBTC';
|
||||||
const vegaSymbol = 'VEGA';
|
const vegaSymbol = 'VEGA';
|
||||||
const usdcSymbol = 'fUSDC';
|
const usdcSymbol = 'fUSDC';
|
||||||
const toastContent = 'toast-content';
|
const toastContent = 'toast-content';
|
||||||
const ordersTab = 'Orders';
|
const openOrdersTab = 'Open';
|
||||||
const depositsTab = 'Deposits';
|
const depositsTab = 'Deposits';
|
||||||
const collateralTab = 'Collateral';
|
const collateralTab = 'Collateral';
|
||||||
const toastCloseBtn = 'toast-close';
|
const toastCloseBtn = 'toast-close';
|
||||||
@@ -50,6 +49,7 @@ describe('capsule - without MultiSign', { tags: '@slow' }, () => {
|
|||||||
cy.get('@markets').then((markets) => {
|
cy.get('@markets').then((markets) => {
|
||||||
cy.wrap(markets[0]).as('market');
|
cy.wrap(markets[0]).as('market');
|
||||||
});
|
});
|
||||||
|
cy.visit('/#/portfolio');
|
||||||
});
|
});
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
@@ -73,7 +73,7 @@ describe('capsule - without MultiSign', { tags: '@slow' }, () => {
|
|||||||
cy.getByTestId(depositsTab).click();
|
cy.getByTestId(depositsTab).click();
|
||||||
cy.getByTestId('deposit-button').click();
|
cy.getByTestId('deposit-button').click();
|
||||||
connectEthereumWallet('Unknown');
|
connectEthereumWallet('Unknown');
|
||||||
cy.get(assetSelectField, txTimeout).select(btcName, { force: true });
|
selectAsset(btcName);
|
||||||
cy.getByTestId('approve-default').should(
|
cy.getByTestId('approve-default').should(
|
||||||
'contain.text',
|
'contain.text',
|
||||||
`Before you can make a deposit of your chosen asset, ${btcSymbol}, you need to approve its use in your Ethereum wallet`
|
`Before you can make a deposit of your chosen asset, ${btcSymbol}, you need to approve its use in your Ethereum wallet`
|
||||||
@@ -81,6 +81,7 @@ describe('capsule - without MultiSign', { tags: '@slow' }, () => {
|
|||||||
cy.getByTestId(approveSubmit).click();
|
cy.getByTestId(approveSubmit).click();
|
||||||
cy.getByTestId('approve-pending').should('exist');
|
cy.getByTestId('approve-pending').should('exist');
|
||||||
cy.getByTestId('approve-confirmed').should('exist');
|
cy.getByTestId('approve-confirmed').should('exist');
|
||||||
|
cy.get(amountField).focus();
|
||||||
cy.get(amountField).clear().type('10');
|
cy.get(amountField).clear().type('10');
|
||||||
cy.getByTestId(depositSubmit).click();
|
cy.getByTestId(depositSubmit).click();
|
||||||
cy.getByTestId(toastContent, txTimeout).should(
|
cy.getByTestId(toastContent, txTimeout).should(
|
||||||
@@ -115,7 +116,6 @@ describe('capsule - without MultiSign', { tags: '@slow' }, () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('can key to key transfers', function () {
|
it('can key to key transfers', function () {
|
||||||
cy.visit('/#/portfolio');
|
|
||||||
cy.get('main[data-testid="/portfolio"]').should('exist');
|
cy.get('main[data-testid="/portfolio"]').should('exist');
|
||||||
|
|
||||||
cy.getByTestId(collateralTab).click();
|
cy.getByTestId(collateralTab).click();
|
||||||
@@ -147,8 +147,8 @@ describe('capsule - without MultiSign', { tags: '@slow' }, () => {
|
|||||||
|
|
||||||
cy.getByTestId('Withdrawals').click();
|
cy.getByTestId('Withdrawals').click();
|
||||||
cy.getByTestId('withdraw-dialog-button').click();
|
cy.getByTestId('withdraw-dialog-button').click();
|
||||||
connectEthereumWallet('Unknown');
|
selectAsset(0);
|
||||||
cy.get(assetSelectField, txTimeout).select(btcName, { force: true });
|
cy.get(amountField).focus();
|
||||||
cy.get(amountField).clear().type('1');
|
cy.get(amountField).clear().type('1');
|
||||||
cy.getByTestId('submit-withdrawal').click();
|
cy.getByTestId('submit-withdrawal').click();
|
||||||
cy.getByTestId(toastContent, txTimeout).should(
|
cy.getByTestId(toastContent, txTimeout).should(
|
||||||
@@ -170,7 +170,7 @@ describe('capsule - without MultiSign', { tags: '@slow' }, () => {
|
|||||||
|
|
||||||
cy.getByTestId(toastContent, txTimeout).should(
|
cy.getByTestId(toastContent, txTimeout).should(
|
||||||
'contain.text',
|
'contain.text',
|
||||||
'Error occurredprocessing response error'
|
'Error occurredcannot estimate gas'
|
||||||
);
|
);
|
||||||
cy.getByTestId(toastCloseBtn).click({ multiple: true });
|
cy.getByTestId(toastCloseBtn).click({ multiple: true });
|
||||||
cy.getByTestId(completeWithdrawalBtn).should(
|
cy.getByTestId(completeWithdrawalBtn).should(
|
||||||
@@ -180,7 +180,7 @@ describe('capsule - without MultiSign', { tags: '@slow' }, () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('capsule', { tags: '@slow' }, () => {
|
describe('capsule', { tags: '@slow', testIsolation: true }, () => {
|
||||||
before(() => {
|
before(() => {
|
||||||
cy.updateCapsuleMultiSig();
|
cy.updateCapsuleMultiSig();
|
||||||
});
|
});
|
||||||
@@ -231,7 +231,7 @@ describe('capsule', { tags: '@slow' }, () => {
|
|||||||
|
|
||||||
cy.getByTestId(toastContent).should(
|
cy.getByTestId(toastContent).should(
|
||||||
'contain.text',
|
'contain.text',
|
||||||
`ConfirmedYour transaction has been confirmed View in block explorerSubmit order - activeTEST.24h+${order.size} @ ${order.price}.00 ${usdcSymbol}`,
|
`Order submittedYour transaction has been confirmed View in block explorerSubmit order - activeTEST.24h+${order.size} @ ${order.price}.00 ${usdcSymbol}`,
|
||||||
{ matchCase: false }
|
{ matchCase: false }
|
||||||
);
|
);
|
||||||
cy.getByTestId(toastCloseBtn).click();
|
cy.getByTestId(toastCloseBtn).click();
|
||||||
@@ -242,9 +242,9 @@ describe('capsule', { tags: '@slow' }, () => {
|
|||||||
.get(`[data-testid="bid-vol-${rawPrice}"]`)
|
.get(`[data-testid="bid-vol-${rawPrice}"]`)
|
||||||
.should('contain.text', order.size);
|
.should('contain.text', order.size);
|
||||||
|
|
||||||
cy.getByTestId(ordersTab).click();
|
cy.getByTestId(openOrdersTab).click();
|
||||||
cy.getByTestId('edit', txTimeout).should('contain.text', 'Edit');
|
cy.getByTestId('edit', txTimeout).should('contain.text', 'Edit');
|
||||||
cy.getByTestId('tab-orders').within(() => {
|
cy.getByTestId('tab-open-orders').within(() => {
|
||||||
cy.get('.ag-center-cols-container')
|
cy.get('.ag-center-cols-container')
|
||||||
.children()
|
.children()
|
||||||
.first()
|
.first()
|
||||||
@@ -283,7 +283,9 @@ describe('capsule', { tags: '@slow' }, () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
it('can edit order', function () {
|
it('can edit order', function () {
|
||||||
cy.getByTestId(ordersTab).click();
|
const market = this.market;
|
||||||
|
cy.visit(`/#/markets/${market.id}`);
|
||||||
|
cy.getByTestId(openOrdersTab).click();
|
||||||
cy.getByTestId('edit').first().should('be.visible').click();
|
cy.getByTestId('edit').first().should('be.visible').click();
|
||||||
cy.getByTestId('dialog-title').should('contain.text', 'Edit order');
|
cy.getByTestId('dialog-title').should('contain.text', 'Edit order');
|
||||||
cy.get('#limitPrice').focus().clear().type(newPrice);
|
cy.get('#limitPrice').focus().clear().type(newPrice);
|
||||||
@@ -291,12 +293,12 @@ describe('capsule', { tags: '@slow' }, () => {
|
|||||||
|
|
||||||
cy.getByTestId(toastContent).should(
|
cy.getByTestId(toastContent).should(
|
||||||
'contain.text',
|
'contain.text',
|
||||||
`ConfirmedYour transaction has been confirmed View in block explorerEdit order - activeTEST.24h+${size} @ ${price}.00 ${usdcSymbol}+${size} @ ${newPrice}.00 ${usdcSymbol}`,
|
`Order submittedYour transaction has been confirmed View in block explorerEdit order - activeTEST.24h+${size} @ ${price}.00 ${usdcSymbol}+${size} @ ${newPrice}.00 ${usdcSymbol}`,
|
||||||
{ matchCase: false }
|
{ matchCase: false }
|
||||||
);
|
);
|
||||||
|
|
||||||
cy.getByTestId(toastCloseBtn).click({ multiple: true });
|
cy.getByTestId(toastCloseBtn).click({ multiple: true });
|
||||||
cy.getByTestId(ordersTab).click();
|
cy.getByTestId(openOrdersTab).click();
|
||||||
cy.get('.ag-center-cols-container')
|
cy.get('.ag-center-cols-container')
|
||||||
.children()
|
.children()
|
||||||
.first()
|
.first()
|
||||||
@@ -307,18 +309,20 @@ describe('capsule', { tags: '@slow' }, () => {
|
|||||||
checkIfDataAndTimeOfCreationAndUpdateIsEqual(orderUpdatedAt);
|
checkIfDataAndTimeOfCreationAndUpdateIsEqual(orderUpdatedAt);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// comment because of bug #2695
|
|
||||||
it.skip('can cancel order', function () {
|
it('can cancel order', function () {
|
||||||
cy.getByTestId(ordersTab).click();
|
const market = this.market;
|
||||||
|
cy.visit(`/#/markets/${market.id}`);
|
||||||
|
cy.getByTestId(openOrdersTab).click();
|
||||||
cy.getByTestId('cancel').first().click();
|
cy.getByTestId('cancel').first().click();
|
||||||
cy.getByTestId(toastContent).should(
|
cy.getByTestId(toastContent).should(
|
||||||
'contain.text',
|
'contain.text',
|
||||||
`ConfirmedYour transaction has been confirmed View in block explorerCancel order - cancelledTEST.24h+${size} @ ${newPrice}.00 ${usdcSymbol}`,
|
`Order cancelledYour transaction has been confirmed View in block explorerCancel order - cancelledTEST.24h+${size} @ ${newPrice}.00 ${usdcSymbol}`,
|
||||||
{ matchCase: false }
|
{ matchCase: false }
|
||||||
);
|
);
|
||||||
cy.getByTestId(toastCloseBtn).click({ multiple: true });
|
cy.getByTestId(toastCloseBtn).click({ multiple: true });
|
||||||
|
cy.getByTestId('Closed').click();
|
||||||
cy.getByTestId('tab-orders')
|
cy.getByTestId('tab-closed-orders')
|
||||||
.get('.ag-center-cols-container')
|
.get('.ag-center-cols-container')
|
||||||
.children()
|
.children()
|
||||||
.first()
|
.first()
|
||||||
@@ -348,7 +352,7 @@ describe('capsule', { tags: '@slow' }, () => {
|
|||||||
cy.getByTestId('Withdrawals').click();
|
cy.getByTestId('Withdrawals').click();
|
||||||
cy.getByTestId('withdraw-dialog-button').click();
|
cy.getByTestId('withdraw-dialog-button').click();
|
||||||
connectEthereumWallet('Unknown');
|
connectEthereumWallet('Unknown');
|
||||||
cy.get(assetSelectField, txTimeout).select(btcName, { force: true });
|
selectAsset(btcName);
|
||||||
cy.get(amountField).clear().type('1');
|
cy.get(amountField).clear().type('1');
|
||||||
cy.getByTestId('submit-withdrawal').click();
|
cy.getByTestId('submit-withdrawal').click();
|
||||||
cy.getByTestId(toastContent, txTimeout).should(
|
cy.getByTestId(toastContent, txTimeout).should(
|
||||||
@@ -371,19 +375,15 @@ describe('capsule', { tags: '@slow' }, () => {
|
|||||||
'contain.text',
|
'contain.text',
|
||||||
'Transaction confirmed'
|
'Transaction confirmed'
|
||||||
);
|
);
|
||||||
cy.getByTestId(toastCloseBtn).click({ multiple: true });
|
cy.getByTestId(toastContent, txTimeout).should(
|
||||||
|
'contain.text',
|
||||||
|
'Funds unlockedYour funds have been unlocked for withdrawalView in block explorerWithdraw 1.00 tBTCComplete withdrawal'
|
||||||
|
);
|
||||||
|
|
||||||
cy.wrap(null).then(() => {
|
cy.get('.ag-center-cols-container')
|
||||||
try {
|
.find('[col-id="status"]')
|
||||||
cy.getByTestId(completeWithdrawalBtn)
|
.eq(0, txTimeout)
|
||||||
.eq(0, txTimeout)
|
.should('contain.text', 'Completed');
|
||||||
.should('not.exist');
|
|
||||||
} catch (error) {
|
|
||||||
console.log(
|
|
||||||
'Assertion failed, but we are continuing because this is our wait to complete transaction'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
cy.get('[col-id="txHash"]', txTimeout)
|
cy.get('[col-id="txHash"]', txTimeout)
|
||||||
.should('have.length.above', 1)
|
.should('have.length.above', 1)
|
||||||
@@ -404,17 +404,20 @@ describe('capsule', { tags: '@slow' }, () => {
|
|||||||
.should('have.attr', 'href')
|
.should('have.attr', 'href')
|
||||||
.and('contain', `${sepoliaUrl}/tx/0x`);
|
.and('contain', `${sepoliaUrl}/tx/0x`);
|
||||||
});
|
});
|
||||||
// comment because of bug #2819
|
|
||||||
// cy.getByTestId('withdraw-dialog-button').click();
|
cy.getByTestId('withdraw-dialog-button').click({ force: true });
|
||||||
// cy.getByTestId('BALANCE_AVAILABLE_value').should('have.text', '0')
|
cy.getByTestId('BALANCE_AVAILABLE_value').should('have.text', '7.999');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('approved amount is less than deposit', function () {
|
it('approved amount is less than deposit', function () {
|
||||||
// 1001-DEPO-006
|
// 1001-DEPO-006
|
||||||
// 1001-DEPO-007
|
// 1001-DEPO-007
|
||||||
|
cy.visit('/#/portfolio');
|
||||||
|
cy.get('main[data-testid="/portfolio"]').should('exist');
|
||||||
cy.getByTestId(depositsTab).click();
|
cy.getByTestId(depositsTab).click();
|
||||||
cy.getByTestId('deposit-button').click();
|
cy.getByTestId('deposit-button').click();
|
||||||
cy.get(assetSelectField, txTimeout).select(btcName, { force: true });
|
connectEthereumWallet('Unknown');
|
||||||
|
selectAsset(btcName);
|
||||||
cy.contains('Deposits of tBTC not approved').should('not.exist');
|
cy.contains('Deposits of tBTC not approved').should('not.exist');
|
||||||
cy.contains('Use maximum').should('be.visible');
|
cy.contains('Use maximum').should('be.visible');
|
||||||
cy.get(amountField).clear().type('20000000');
|
cy.get(amountField).clear().type('20000000');
|
||||||
@@ -422,11 +425,7 @@ describe('capsule', { tags: '@slow' }, () => {
|
|||||||
cy.getByTestId(depositSubmit).click();
|
cy.getByTestId(depositSubmit).click();
|
||||||
cy.getByTestId('input-error-text').should(
|
cy.getByTestId('input-error-text').should(
|
||||||
'contain.text',
|
'contain.text',
|
||||||
'Amount is above approved amount'
|
`You can't deposit more than you have in your Ethereum wallet`
|
||||||
);
|
|
||||||
cy.getByTestId('reapprove-default').should(
|
|
||||||
'contain.text',
|
|
||||||
'Approve again to deposit more than'
|
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -440,11 +439,11 @@ describe('capsule', { tags: '@slow' }, () => {
|
|||||||
cy.getByTestId(depositsTab).click();
|
cy.getByTestId(depositsTab).click();
|
||||||
cy.getByTestId('deposit-button').click();
|
cy.getByTestId('deposit-button').click();
|
||||||
connectEthereumWallet('Unknown');
|
connectEthereumWallet('Unknown');
|
||||||
cy.get(assetSelectField, txTimeout).select(vegaName, { force: true });
|
selectAsset(vegaName);
|
||||||
cy.getByTestId('approve-submit').click();
|
cy.getByTestId('approve-submit').click();
|
||||||
cy.getByTestId('approve-confirmed').should(
|
cy.getByTestId('approve-confirmed').should(
|
||||||
'contain.text',
|
'contain.text',
|
||||||
'You can now make deposits in VEGA, up to a maximum of'
|
'You approved deposits of up to VEGA'
|
||||||
);
|
);
|
||||||
cy.get(amountField).clear().type('10000');
|
cy.get(amountField).clear().type('10000');
|
||||||
cy.getByTestId('deposit-submit').click();
|
cy.getByTestId('deposit-submit').click();
|
||||||
@@ -478,9 +477,9 @@ describe('capsule', { tags: '@slow' }, () => {
|
|||||||
.and('contain', `${sepoliaUrl}/tx/0x`);
|
.and('contain', `${sepoliaUrl}/tx/0x`);
|
||||||
});
|
});
|
||||||
|
|
||||||
cy.getByTestId('Withdrawals').click();
|
cy.getByTestId('Withdrawals').click(txTimeout);
|
||||||
cy.getByTestId('withdraw-dialog-button').click();
|
cy.getByTestId('withdraw-dialog-button').click();
|
||||||
cy.get(assetSelectField, txTimeout).select(vegaName, { force: true });
|
selectAsset(1);
|
||||||
cy.get(amountField).clear().type('10000');
|
cy.get(amountField).clear().type('10000');
|
||||||
cy.getByTestId('DELAY_TIME_value').should('have.text', '5 days');
|
cy.getByTestId('DELAY_TIME_value').should('have.text', '5 days');
|
||||||
cy.getByTestId('submit-withdrawal').click();
|
cy.getByTestId('submit-withdrawal').click();
|
||||||
|
|||||||
@@ -14,210 +14,226 @@ const itemHeader = 'item-header';
|
|||||||
const itemValue = 'item-value';
|
const itemValue = 'item-value';
|
||||||
const marketListContent = 'popover-content';
|
const marketListContent = 'popover-content';
|
||||||
|
|
||||||
describe('Console - market list - live env', { tags: '@live' }, () => {
|
describe(
|
||||||
beforeEach(() => {
|
'Console - market list - live env',
|
||||||
cy.visit('/');
|
{ tags: '@live', testIsolation: true },
|
||||||
});
|
() => {
|
||||||
|
beforeEach(() => {
|
||||||
it('shows the market list page', () => {
|
cy.visit('/');
|
||||||
cy.get('main', { timeout: 20000 });
|
|
||||||
|
|
||||||
// Overlay should be shown
|
|
||||||
cy.getByTestId(selectMarketOverlay).should('exist');
|
|
||||||
cy.contains('Select a market to get started').should('be.visible');
|
|
||||||
|
|
||||||
// I expect the market overlay table to contain at least one row
|
|
||||||
cy.getByTestId(selectMarketOverlay)
|
|
||||||
.get('table tr')
|
|
||||||
.should('have.length.greaterThan', 1);
|
|
||||||
|
|
||||||
// each market shown in overlay table contains content under the last price and change fields
|
|
||||||
cy.getByTestId(selectMarketOverlay)
|
|
||||||
.get('table tr')
|
|
||||||
.getByTestId('price')
|
|
||||||
.should('not.be.empty');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('redirects to a default market', () => {
|
|
||||||
cy.getByTestId('dialog-close').click();
|
|
||||||
cy.getByTestId(selectMarketOverlay).should('not.exist');
|
|
||||||
|
|
||||||
// the choose market overlay is no longer showing
|
|
||||||
cy.contains('Select a market to get started').should('not.exist');
|
|
||||||
cy.contains('Loading...').should('not.exist');
|
|
||||||
cy.getByTestId('popover-trigger').should('not.be.empty');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('Console - market info - live env', { tags: '@live' }, () => {
|
|
||||||
before(() => {
|
|
||||||
cy.visit('/');
|
|
||||||
cy.contains('Loading market data...').should('not.exist');
|
|
||||||
cy.getByTestId('link').should('be.visible');
|
|
||||||
cy.getByTestId('dialog-close').click();
|
|
||||||
cy.getByTestId(marketInfoBtn).click();
|
|
||||||
});
|
|
||||||
const titles = ['Market data', 'Market specification', 'Market governance'];
|
|
||||||
const subtitles = [
|
|
||||||
'Current fees',
|
|
||||||
'Market price',
|
|
||||||
'Market volume',
|
|
||||||
'Insurance pool',
|
|
||||||
'Key details',
|
|
||||||
'Instrument',
|
|
||||||
'Settlement asset',
|
|
||||||
'Metadata',
|
|
||||||
'Risk model',
|
|
||||||
'Risk parameters',
|
|
||||||
'Risk factors',
|
|
||||||
'Price monitoring bounds 1',
|
|
||||||
'Liquidity monitoring parameters',
|
|
||||||
'Liquidity',
|
|
||||||
'Liquidity price range',
|
|
||||||
'Oracle',
|
|
||||||
'Proposal',
|
|
||||||
];
|
|
||||||
|
|
||||||
it('market info titles are displayed', () => {
|
|
||||||
cy.getByTestId('split-view-view')
|
|
||||||
.find('.text-lg')
|
|
||||||
.each((element, index) => {
|
|
||||||
cy.wrap(element).should('have.text', titles[index]);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('market info subtitles are displayed', () => {
|
|
||||||
cy.getByTestId('popover-trigger').click();
|
|
||||||
cy.contains('Loading market data...').should('not.exist');
|
|
||||||
cy.contains('[data-testid="link"]', 'AAVEDAI.MF21').click();
|
|
||||||
cy.getByTestId(marketInfoBtn).click();
|
|
||||||
cy.getByTestId(marketInfoSubtitle).each((element, index) => {
|
|
||||||
cy.wrap(element).should('have.text', subtitles[index]);
|
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
it('renders correctly liquidity in trading tab', () => {
|
it('shows the market list page', () => {
|
||||||
cy.getByTestId('Liquidity').click();
|
cy.get('main', { timeout: 20000 });
|
||||||
cy.contains('Loading').should('not.exist');
|
|
||||||
cy.contains('Something went wrong').should('not.exist');
|
// Overlay should be shown
|
||||||
cy.contains('Application error').should('not.exist');
|
cy.getByTestId(selectMarketOverlay).should('exist');
|
||||||
cy.getByTestId('tab-liquidity').within(() => {
|
cy.contains('Select a market to get started').should('be.visible');
|
||||||
cy.get('[col-id="party.id"]').eq(1).should('not.be.empty');
|
|
||||||
|
// I expect the market overlay table to contain at least one row
|
||||||
|
cy.getByTestId(selectMarketOverlay)
|
||||||
|
.get('table tr')
|
||||||
|
.should('have.length.greaterThan', 1);
|
||||||
|
|
||||||
|
// each market shown in overlay table contains content under the last price and change fields
|
||||||
|
cy.getByTestId(selectMarketOverlay)
|
||||||
|
.get('table tr')
|
||||||
|
.getByTestId('price')
|
||||||
|
.should('not.be.empty');
|
||||||
});
|
});
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('Console - market summary - live env', { tags: '@live' }, () => {
|
it('redirects to a default market', () => {
|
||||||
before(() => {
|
cy.getByTestId('dialog-close').click();
|
||||||
cy.visit('/');
|
cy.getByTestId(selectMarketOverlay).should('not.exist');
|
||||||
cy.getByTestId('dialog-close').click();
|
|
||||||
cy.getByTestId(marketSummaryBlock).should('be.visible');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('must display market name', () => {
|
// the choose market overlay is no longer showing
|
||||||
cy.getByTestId('popover-trigger').should('not.be.empty');
|
cy.contains('Select a market to get started').should('not.exist');
|
||||||
});
|
cy.contains('Loading...').should('not.exist');
|
||||||
|
cy.getByTestId('popover-trigger').should('not.be.empty');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
it('must see market expiry', () => {
|
describe(
|
||||||
cy.getByTestId(marketSummaryBlock).within(() => {
|
'Console - market info - live env',
|
||||||
cy.getByTestId(marketExpiry).within(() => {
|
{ tags: '@live', testIsolation: true },
|
||||||
cy.getByTestId(itemHeader).should('have.text', 'Expiry');
|
() => {
|
||||||
cy.getByTestId(itemValue).should('not.be.empty');
|
before(() => {
|
||||||
|
cy.visit('/');
|
||||||
|
cy.contains('Loading market data...').should('not.exist');
|
||||||
|
cy.getByTestId('link').should('be.visible');
|
||||||
|
cy.getByTestId('dialog-close').click();
|
||||||
|
cy.getByTestId(marketInfoBtn).click();
|
||||||
|
});
|
||||||
|
const titles = ['Market data', 'Market specification', 'Market governance'];
|
||||||
|
const subtitles = [
|
||||||
|
'Current fees',
|
||||||
|
'Market price',
|
||||||
|
'Market volume',
|
||||||
|
'Insurance pool',
|
||||||
|
'Key details',
|
||||||
|
'Instrument',
|
||||||
|
'Settlement asset',
|
||||||
|
'Metadata',
|
||||||
|
'Risk model',
|
||||||
|
'Risk parameters',
|
||||||
|
'Risk factors',
|
||||||
|
'Price monitoring bounds 1',
|
||||||
|
'Liquidity monitoring parameters',
|
||||||
|
'Liquidity',
|
||||||
|
'Liquidity price range',
|
||||||
|
'Oracle',
|
||||||
|
'Proposal',
|
||||||
|
];
|
||||||
|
|
||||||
|
it('market info titles are displayed', () => {
|
||||||
|
cy.getByTestId('split-view-view')
|
||||||
|
.find('.text-lg')
|
||||||
|
.each((element, index) => {
|
||||||
|
cy.wrap(element).should('have.text', titles[index]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('market info subtitles are displayed', () => {
|
||||||
|
cy.getByTestId('popover-trigger').click();
|
||||||
|
cy.contains('Loading market data...').should('not.exist');
|
||||||
|
cy.contains('[data-testid="link"]', 'AAVEDAI.MF21').click();
|
||||||
|
cy.getByTestId(marketInfoBtn).click();
|
||||||
|
cy.getByTestId(marketInfoSubtitle).each((element, index) => {
|
||||||
|
cy.wrap(element).should('have.text', subtitles[index]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
it('must see market price', () => {
|
it('renders correctly liquidity in trading tab', () => {
|
||||||
cy.getByTestId(marketSummaryBlock).within(() => {
|
cy.getByTestId('Liquidity').click();
|
||||||
cy.getByTestId(marketPrice).within(() => {
|
cy.contains('Loading').should('not.exist');
|
||||||
cy.getByTestId(itemHeader).should('have.text', 'Price');
|
cy.contains('Something went wrong').should('not.exist');
|
||||||
cy.getByTestId(itemValue).should('not.be.empty');
|
cy.contains('Application error').should('not.exist');
|
||||||
|
cy.getByTestId('tab-liquidity').within(() => {
|
||||||
|
cy.get('[col-id="party.id"]').eq(1).should('not.be.empty');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
|
);
|
||||||
|
|
||||||
it('must see market change', () => {
|
describe(
|
||||||
cy.getByTestId(marketSummaryBlock).within(() => {
|
'Console - market summary - live env',
|
||||||
cy.getByTestId(marketChange).within(() => {
|
{ tags: '@live', testIsolation: true },
|
||||||
cy.getByTestId(itemHeader).should('have.text', 'Change (24h)');
|
() => {
|
||||||
cy.getByTestId(percentageValue).should('not.be.empty');
|
before(() => {
|
||||||
cy.getByTestId(priceChangeValue).should('not.be.empty');
|
cy.visit('/');
|
||||||
|
cy.getByTestId('dialog-close').click();
|
||||||
|
cy.getByTestId(marketSummaryBlock).should('be.visible');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('must display market name', () => {
|
||||||
|
cy.getByTestId('popover-trigger').should('not.be.empty');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('must see market expiry', () => {
|
||||||
|
cy.getByTestId(marketSummaryBlock).within(() => {
|
||||||
|
cy.getByTestId(marketExpiry).within(() => {
|
||||||
|
cy.getByTestId(itemHeader).should('have.text', 'Expiry');
|
||||||
|
cy.getByTestId(itemValue).should('not.be.empty');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
it('must see market volume', () => {
|
it('must see market price', () => {
|
||||||
cy.getByTestId(marketSummaryBlock).within(() => {
|
cy.getByTestId(marketSummaryBlock).within(() => {
|
||||||
cy.getByTestId(marketVolume).within(() => {
|
cy.getByTestId(marketPrice).within(() => {
|
||||||
cy.getByTestId(itemHeader).should('have.text', 'Volume (24h)');
|
cy.getByTestId(itemHeader).should('have.text', 'Price');
|
||||||
cy.getByTestId(itemValue).should('not.be.empty');
|
cy.getByTestId(itemValue).should('not.be.empty');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
it('must see market mode', () => {
|
it('must see market change', () => {
|
||||||
cy.getByTestId(marketSummaryBlock).within(() => {
|
cy.getByTestId(marketSummaryBlock).within(() => {
|
||||||
cy.getByTestId(marketMode).within(() => {
|
cy.getByTestId(marketChange).within(() => {
|
||||||
cy.getByTestId(itemHeader).should('have.text', 'Trading mode');
|
cy.getByTestId(itemHeader).should('have.text', 'Change (24h)');
|
||||||
cy.getByTestId(itemValue).should('not.be.empty');
|
cy.getByTestId(percentageValue).should('not.be.empty');
|
||||||
|
cy.getByTestId(priceChangeValue).should('not.be.empty');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
it('must see market settlement', () => {
|
it('must see market volume', () => {
|
||||||
cy.getByTestId(marketSummaryBlock).within(() => {
|
cy.getByTestId(marketSummaryBlock).within(() => {
|
||||||
cy.getByTestId(marketSettlement).within(() => {
|
cy.getByTestId(marketVolume).within(() => {
|
||||||
cy.getByTestId(itemHeader).should('have.text', 'Settlement asset');
|
cy.getByTestId(itemHeader).should('have.text', 'Volume (24h)');
|
||||||
cy.getByTestId(itemValue).should('not.be.empty');
|
cy.getByTestId(itemValue).should('not.be.empty');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('Console - markets table - live env', { tags: '@live' }, () => {
|
it('must see market mode', () => {
|
||||||
beforeEach(() => {
|
cy.getByTestId(marketSummaryBlock).within(() => {
|
||||||
cy.visit('/');
|
cy.getByTestId(marketMode).within(() => {
|
||||||
});
|
cy.getByTestId(itemHeader).should('have.text', 'Trading mode');
|
||||||
|
cy.getByTestId(itemValue).should('not.be.empty');
|
||||||
it('renders markets correctly', () => {
|
});
|
||||||
cy.get('[data-testid^="market-link-"]').should('not.be.empty');
|
|
||||||
cy.getByTestId('price').invoke('text').should('not.be.empty');
|
|
||||||
cy.getByTestId('settlement-asset').should('not.be.empty');
|
|
||||||
cy.getByTestId('price-change-percentage').should('not.be.empty');
|
|
||||||
cy.getByTestId('price-change').should('not.be.empty');
|
|
||||||
cy.getByTestId('sparkline-svg').should('be.visible');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('renders market list drop down', () => {
|
|
||||||
openMarketDropDown();
|
|
||||||
cy.getByTestId(marketListContent)
|
|
||||||
.find('[data-testid="price"]')
|
|
||||||
.invoke('text')
|
|
||||||
.should('not.be.empty');
|
|
||||||
cy.getByTestId(marketListContent)
|
|
||||||
.find('[data-testid="trading-mode-col"]')
|
|
||||||
.should('not.be.empty');
|
|
||||||
cy.getByTestId(marketListContent)
|
|
||||||
.find('[data-testid="taker-fee"]')
|
|
||||||
.should('contain.text', '%');
|
|
||||||
cy.getByTestId(marketListContent)
|
|
||||||
.find('[data-testid="market-volume"]')
|
|
||||||
.should('not.be.empty');
|
|
||||||
cy.getByTestId(marketListContent)
|
|
||||||
.find('[data-testid="market-name"]')
|
|
||||||
.should('not.be.empty');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Able to select market from dropdown', () => {
|
|
||||||
cy.getByTestId('popover-trigger')
|
|
||||||
.invoke('text')
|
|
||||||
.then((marketName) => {
|
|
||||||
openMarketDropDown();
|
|
||||||
cy.get('[data-testid^=market-link]').eq(1).click();
|
|
||||||
cy.getByTestId('popover-trigger').should('not.be.equal', marketName);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
it('must see market settlement', () => {
|
||||||
|
cy.getByTestId(marketSummaryBlock).within(() => {
|
||||||
|
cy.getByTestId(marketSettlement).within(() => {
|
||||||
|
cy.getByTestId(itemHeader).should('have.text', 'Settlement asset');
|
||||||
|
cy.getByTestId(itemValue).should('not.be.empty');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
describe(
|
||||||
|
'Console - markets table - live env',
|
||||||
|
{ tags: '@live', testIsolation: true },
|
||||||
|
() => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.visit('/');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('renders markets correctly', () => {
|
||||||
|
cy.get('[data-testid^="market-link-"]').should('not.be.empty');
|
||||||
|
cy.getByTestId('price').invoke('text').should('not.be.empty');
|
||||||
|
cy.getByTestId('settlement-asset').should('not.be.empty');
|
||||||
|
cy.getByTestId('price-change-percentage').should('not.be.empty');
|
||||||
|
cy.getByTestId('price-change').should('not.be.empty');
|
||||||
|
cy.getByTestId('sparkline-svg').should('be.visible');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('renders market list drop down', () => {
|
||||||
|
openMarketDropDown();
|
||||||
|
cy.getByTestId(marketListContent)
|
||||||
|
.find('[data-testid="price"]')
|
||||||
|
.invoke('text')
|
||||||
|
.should('not.be.empty');
|
||||||
|
cy.getByTestId(marketListContent)
|
||||||
|
.find('[data-testid="trading-mode-col"]')
|
||||||
|
.should('not.be.empty');
|
||||||
|
cy.getByTestId(marketListContent)
|
||||||
|
.find('[data-testid="taker-fee"]')
|
||||||
|
.should('contain.text', '%');
|
||||||
|
cy.getByTestId(marketListContent)
|
||||||
|
.find('[data-testid="market-volume"]')
|
||||||
|
.should('not.be.empty');
|
||||||
|
cy.getByTestId(marketListContent)
|
||||||
|
.find('[data-testid="market-name"]')
|
||||||
|
.should('not.be.empty');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Able to select market from dropdown', () => {
|
||||||
|
cy.getByTestId('popover-trigger')
|
||||||
|
.invoke('text')
|
||||||
|
.then((marketName) => {
|
||||||
|
openMarketDropDown();
|
||||||
|
cy.get('[data-testid^=market-link]').eq(1).click();
|
||||||
|
cy.getByTestId('popover-trigger').should('not.be.equal', marketName);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
function openMarketDropDown() {
|
function openMarketDropDown() {
|
||||||
cy.contains('Loading...').should('not.exist');
|
cy.contains('Loading...').should('not.exist');
|
||||||
|
|||||||
@@ -184,17 +184,9 @@ describe('market info is displayed', { tags: '@smoke' }, () => {
|
|||||||
.getByTestId('provider-name')
|
.getByTestId('provider-name')
|
||||||
.and('contain', 'Another oracle');
|
.and('contain', 'Another oracle');
|
||||||
|
|
||||||
cy.getByTestId(accordionContent)
|
|
||||||
.getByTestId('signed-proofs')
|
|
||||||
.and('contain', '1');
|
|
||||||
|
|
||||||
cy.getByTestId(accordionContent)
|
cy.getByTestId(accordionContent)
|
||||||
.getByTestId('verified-proofs')
|
.getByTestId('verified-proofs')
|
||||||
.and('contain', '1');
|
.and('contain', '1');
|
||||||
|
|
||||||
cy.getByTestId(accordionContent)
|
|
||||||
.getByTestId('signed-proofs')
|
|
||||||
.and('contain', '1');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('proposal displayed', () => {
|
it('proposal displayed', () => {
|
||||||
|
|||||||
@@ -9,6 +9,21 @@ describe('market bottom panel', { tags: '@smoke' }, () => {
|
|||||||
|
|
||||||
it('on xxl screen should be splitted out into two tables', () => {
|
it('on xxl screen should be splitted out into two tables', () => {
|
||||||
cy.getByTestId('tab-positions').should('have.attr', 'data-state', 'active');
|
cy.getByTestId('tab-positions').should('have.attr', 'data-state', 'active');
|
||||||
|
cy.getByTestId('tab-open-orders').should(
|
||||||
|
'have.attr',
|
||||||
|
'data-state',
|
||||||
|
'inactive'
|
||||||
|
);
|
||||||
|
cy.getByTestId('tab-closed-orders').should(
|
||||||
|
'have.attr',
|
||||||
|
'data-state',
|
||||||
|
'inactive'
|
||||||
|
);
|
||||||
|
cy.getByTestId('tab-rejected-orders').should(
|
||||||
|
'have.attr',
|
||||||
|
'data-state',
|
||||||
|
'inactive'
|
||||||
|
);
|
||||||
cy.getByTestId('tab-orders').should('have.attr', 'data-state', 'inactive');
|
cy.getByTestId('tab-orders').should('have.attr', 'data-state', 'inactive');
|
||||||
cy.getByTestId('tab-fills').should('have.attr', 'data-state', 'inactive');
|
cy.getByTestId('tab-fills').should('have.attr', 'data-state', 'inactive');
|
||||||
cy.getByTestId('tab-accounts').should(
|
cy.getByTestId('tab-accounts').should(
|
||||||
@@ -19,7 +34,22 @@ describe('market bottom panel', { tags: '@smoke' }, () => {
|
|||||||
|
|
||||||
cy.viewport(1801, 1000);
|
cy.viewport(1801, 1000);
|
||||||
cy.getByTestId('tab-positions').should('have.attr', 'data-state', 'active');
|
cy.getByTestId('tab-positions').should('have.attr', 'data-state', 'active');
|
||||||
cy.getByTestId('tab-orders').should('have.attr', 'data-state', 'active');
|
cy.getByTestId('tab-open-orders').should(
|
||||||
|
'have.attr',
|
||||||
|
'data-state',
|
||||||
|
'inactive'
|
||||||
|
);
|
||||||
|
cy.getByTestId('tab-closed-orders').should(
|
||||||
|
'have.attr',
|
||||||
|
'data-state',
|
||||||
|
'inactive'
|
||||||
|
);
|
||||||
|
cy.getByTestId('tab-rejected-orders').should(
|
||||||
|
'have.attr',
|
||||||
|
'data-state',
|
||||||
|
'inactive'
|
||||||
|
);
|
||||||
|
cy.getByTestId('tab-orders').should('have.attr', 'data-state', 'inactive');
|
||||||
cy.getByTestId('tab-fills').should('have.attr', 'data-state', 'inactive');
|
cy.getByTestId('tab-fills').should('have.attr', 'data-state', 'inactive');
|
||||||
cy.getByTestId('tab-accounts').should(
|
cy.getByTestId('tab-accounts').should(
|
||||||
'have.attr',
|
'have.attr',
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ describe('orders list', { tags: '@smoke', testIsolation: true }, () => {
|
|||||||
cy.mockSubscription(subscriptionMocks);
|
cy.mockSubscription(subscriptionMocks);
|
||||||
cy.setVegaWallet();
|
cy.setVegaWallet();
|
||||||
cy.visit('/#/markets/market-0');
|
cy.visit('/#/markets/market-0');
|
||||||
cy.getByTestId('Orders').click();
|
cy.getByTestId('All').click();
|
||||||
cy.wait('@Markets');
|
cy.wait('@Markets');
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ describe('orders list', { tags: '@smoke', testIsolation: true }, () => {
|
|||||||
cy.get('[col-id="status"] .ag-icon-menu').click();
|
cy.get('[col-id="status"] .ag-icon-menu').click();
|
||||||
});
|
});
|
||||||
cy.contains('Partially Filled').click();
|
cy.contains('Partially Filled').click();
|
||||||
cy.getByTestId('Orders').click();
|
cy.getByTestId('All').click();
|
||||||
|
|
||||||
cy.get(`[row-id="${partiallyFilledId}"]`)
|
cy.get(`[row-id="${partiallyFilledId}"]`)
|
||||||
.eq(1)
|
.eq(1)
|
||||||
@@ -116,7 +116,7 @@ describe('orders list', { tags: '@smoke', testIsolation: true }, () => {
|
|||||||
cy.get('[col-id="status"] .ag-icon-menu').click();
|
cy.get('[col-id="status"] .ag-icon-menu').click();
|
||||||
});
|
});
|
||||||
cy.contains('Reset').click();
|
cy.contains('Reset').click();
|
||||||
cy.getByTestId('Orders').click();
|
cy.getByTestId('All').click();
|
||||||
|
|
||||||
cy.getByTestId('tab-orders')
|
cy.getByTestId('tab-orders')
|
||||||
.get(`.ag-center-cols-container [col-id='${orderSymbol}']`)
|
.get(`.ag-center-cols-container [col-id='${orderSymbol}']`)
|
||||||
@@ -139,14 +139,15 @@ describe('orders list', { tags: '@smoke', testIsolation: true }, () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('subscribe orders', { tags: '@smoke' }, () => {
|
describe('subscribe orders', { tags: '@smoke' }, () => {
|
||||||
before(() => {
|
let orderId = '0';
|
||||||
|
beforeEach(() => {
|
||||||
const subscriptionMocks = getSubscriptionMocks();
|
const subscriptionMocks = getSubscriptionMocks();
|
||||||
cy.spy(subscriptionMocks, 'OrdersUpdate');
|
cy.spy(subscriptionMocks, 'OrdersUpdate');
|
||||||
cy.mockTradingPage();
|
cy.mockTradingPage();
|
||||||
cy.mockSubscription(subscriptionMocks);
|
cy.mockSubscription(subscriptionMocks);
|
||||||
cy.setVegaWallet();
|
cy.setVegaWallet();
|
||||||
cy.visit('/#/markets/market-0');
|
cy.visit('/#/markets/market-0');
|
||||||
cy.getByTestId('Orders').click();
|
cy.getByTestId('All').click();
|
||||||
cy.getByTestId('tab-orders').within(() => {
|
cy.getByTestId('tab-orders').within(() => {
|
||||||
cy.get('[col-id="status"][role="columnheader"]')
|
cy.get('[col-id="status"][role="columnheader"]')
|
||||||
.focus()
|
.focus()
|
||||||
@@ -154,8 +155,8 @@ describe('subscribe orders', { tags: '@smoke' }, () => {
|
|||||||
.click();
|
.click();
|
||||||
cy.get('.ag-filter-apply-panel-button').click();
|
cy.get('.ag-filter-apply-panel-button').click();
|
||||||
});
|
});
|
||||||
|
orderId = (parseInt(orderId, 10) + 1).toString();
|
||||||
});
|
});
|
||||||
const orderId = '1234567890';
|
|
||||||
// 7002-SORD-053
|
// 7002-SORD-053
|
||||||
// 7002-SORD-040
|
// 7002-SORD-040
|
||||||
// 7003-MORD-001
|
// 7003-MORD-001
|
||||||
@@ -299,7 +300,7 @@ describe('subscribe orders', { tags: '@smoke' }, () => {
|
|||||||
});
|
});
|
||||||
cy.get(`[row-id=${orderId}]`)
|
cy.get(`[row-id=${orderId}]`)
|
||||||
.find('[col-id="price"]')
|
.find('[col-id="price"]')
|
||||||
.should('have.text', '200.00');
|
.should('have.text', '-');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('must see the time in force applied to the order', () => {
|
it('must see the time in force applied to the order', () => {
|
||||||
@@ -370,7 +371,7 @@ describe('amend and cancel order', { tags: '@smoke' }, () => {
|
|||||||
cy.mockSubscription(subscriptionMocks);
|
cy.mockSubscription(subscriptionMocks);
|
||||||
cy.setVegaWallet();
|
cy.setVegaWallet();
|
||||||
cy.visit('/#/markets/market-0');
|
cy.visit('/#/markets/market-0');
|
||||||
cy.getByTestId('Orders').click();
|
cy.getByTestId('All').click();
|
||||||
cy.getByTestId('tab-orders').within(() => {
|
cy.getByTestId('tab-orders').within(() => {
|
||||||
cy.get('[col-id="status"][role="columnheader"]')
|
cy.get('[col-id="status"][role="columnheader"]')
|
||||||
.focus()
|
.focus()
|
||||||
|
|||||||
+4
-4
@@ -3,10 +3,10 @@ NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
|||||||
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
||||||
NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
||||||
NX_ORACLE_PROOFS_URL=https://raw.githubusercontent.com/vegaprotocol/well-known/main/__generated__/oracle-proofs.json
|
NX_ORACLE_PROOFS_URL=https://raw.githubusercontent.com/vegaprotocol/well-known/main/__generated__/oracle-proofs.json
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet3/vegawallet-stagnet3.toml
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet1/vegawallet-stagnet1.toml
|
||||||
NX_VEGA_ENV=STAGNET3
|
NX_VEGA_ENV=STAGNET1
|
||||||
NX_VEGA_EXPLORER_URL=https://stagnet3.explorer.vega.xyz
|
NX_VEGA_EXPLORER_URL=https://stagnet1.explorer.vega.xyz
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\"}
|
||||||
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
|||||||
NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
||||||
NX_VEGA_CONFIG_URL=''
|
NX_VEGA_CONFIG_URL=''
|
||||||
NX_VEGA_ENV=CUSTOM
|
NX_VEGA_ENV=CUSTOM
|
||||||
NX_VEGA_EXPLORER_URL=https://stagnet3.explorer.vega.xyz
|
NX_VEGA_EXPLORER_URL=https://stagnet1.explorer.vega.xyz
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\"}
|
||||||
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
||||||
NX_VEGA_URL=http://localhost:3008/graphql
|
NX_VEGA_URL=http://localhost:3008/graphql
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
|||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/devnet1/vegawallet-devnet1.toml
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/devnet1/vegawallet-devnet1.toml
|
||||||
NX_VEGA_ENV=DEVNET
|
NX_VEGA_ENV=DEVNET
|
||||||
NX_VEGA_EXPLORER_URL=https://dev.explorer.vega.xyz
|
NX_VEGA_EXPLORER_URL=https://dev.explorer.vega.xyz
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\"}
|
||||||
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
|||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks/master/mainnet1/mainnet1.toml
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks/master/mainnet1/mainnet1.toml
|
||||||
NX_VEGA_ENV=MAINNET
|
NX_VEGA_ENV=MAINNET
|
||||||
NX_VEGA_EXPLORER_URL=https://explorer.vega.xyz
|
NX_VEGA_EXPLORER_URL=https://explorer.vega.xyz
|
||||||
NX_VEGA_NETWORKS={\"MAINNET\":\"https://alpha.console.vega.xyz\",\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
NX_VEGA_NETWORKS={\"MAINNET\":\"https://alpha.console.vega.xyz\",\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\"}
|
||||||
NX_VEGA_TOKEN_URL=https://token.vega.xyz
|
NX_VEGA_TOKEN_URL=https://token.vega.xyz
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/mainnet
|
NX_VEGA_DOCS_URL=https://docs.vega.xyz/mainnet
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
|||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet1/vegawallet-stagnet1.toml
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet1/vegawallet-stagnet1.toml
|
||||||
NX_VEGA_ENV=STAGNET1
|
NX_VEGA_ENV=STAGNET1
|
||||||
NX_VEGA_EXPLORER_URL=https://stagnet1.explorer.vega.xyz
|
NX_VEGA_EXPLORER_URL=https://stagnet1.explorer.vega.xyz
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\"}
|
||||||
NX_VEGA_TOKEN_URL=https://stagnet1.token.vega.xyz
|
NX_VEGA_TOKEN_URL=https://stagnet1.token.vega.xyz
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
NX_ETHEREUM_PROVIDER_URL=https://sepolia.infura.io/v3/4f846e79e13f44d1b51bbd7ed9edefb8
|
|
||||||
NX_ETHERSCAN_URL=https://sepolia.etherscan.io
|
|
||||||
NX_GITHUB_FEEDBACK_URL=https://github.com/vegaprotocol/feedback/discussions
|
|
||||||
NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
|
||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/stagnet3/vegawallet-stagnet3.toml
|
|
||||||
NX_VEGA_ENV=STAGNET3
|
|
||||||
NX_VEGA_EXPLORER_URL=https://stagnet3.explorer.vega.xyz
|
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
|
||||||
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
|
||||||
NX_VEGA_REPO_URL=https://github.com/vegaprotocol/vega-dev-releases/releases
|
|
||||||
NX_ANNOUNCEMENTS_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/announcements/fairground/announcements.json
|
|
||||||
NX_VEGA_INCIDENT_URL=https://blog.vega.xyz/tagged/vega-incident-reports
|
|
||||||
@@ -5,7 +5,7 @@ NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
|||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/fairground/vegawallet-fairground.toml
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks-internal/main/fairground/vegawallet-fairground.toml
|
||||||
NX_VEGA_ENV=TESTNET
|
NX_VEGA_ENV=TESTNET
|
||||||
NX_VEGA_EXPLORER_URL=https://explorer.fairground.wtf
|
NX_VEGA_EXPLORER_URL=https://explorer.fairground.wtf
|
||||||
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"STAGNET3\":\"https://stagnet3.console.vega.xyz\"}
|
NX_VEGA_NETWORKS={\"TESTNET\":\"https://console.fairground.wtf\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\"}
|
||||||
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
NX_VEGA_TOKEN_URL=https://token.fairground.wtf
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ NX_HOSTED_WALLET_URL=https://wallet.testnet.vega.xyz
|
|||||||
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks/master/testnet2/testnet2.toml
|
NX_VEGA_CONFIG_URL=https://raw.githubusercontent.com/vegaprotocol/networks/master/testnet2/testnet2.toml
|
||||||
NX_VEGA_ENV=VALIDATOR_TESTNET
|
NX_VEGA_ENV=VALIDATOR_TESTNET
|
||||||
NX_VEGA_EXPLORER_URL=https://validator-testnet.explorer.vega.xyz
|
NX_VEGA_EXPLORER_URL=https://validator-testnet.explorer.vega.xyz
|
||||||
NX_VEGA_NETWORKS={\"STAGNET3\":\"https://stagnet3.console.vega.xyz\",\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"TESTNET\":\"https://console.fairground.wtf\"}
|
NX_VEGA_NETWORKS={\"STAGNET1\":\"https://stagnet1.console.vega.xyz\",\"TESTNET\":\"https://console.fairground.wtf\"}
|
||||||
NX_VEGA_TOKEN_URL=https://validator-testnet.governance.fairground.wtf
|
NX_VEGA_TOKEN_URL=https://validator-testnet.governance.vega.xyz
|
||||||
NX_VEGA_WALLET_URL=http://localhost:1789
|
NX_VEGA_WALLET_URL=http://localhost:1789
|
||||||
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
NX_VEGA_DOCS_URL=https://docs.vega.xyz/testnet
|
||||||
NX_VEGA_REPO_URL=https://github.com/vegaprotocol/vega/releases
|
NX_VEGA_REPO_URL=https://github.com/vegaprotocol/vega/releases
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user