Compare commits

..
8 changed files with 82 additions and 35 deletions
+3 -9
View File
@@ -58,15 +58,9 @@ export const AppLoader = ({ children }: { children: React.ReactElement }) => {
token.decimals(),
]);
const totalSupply = toBigNum(supply.toString(), decimals);
const totalWallet = toBigNum(
totalAssociatedWallet.toString(),
decimals
);
const totalVesting = toBigNum(
totalAssociatedVesting.toString(),
decimals
);
const totalSupply = toBigNum(supply, decimals);
const totalWallet = toBigNum(totalAssociatedWallet, decimals);
const totalVesting = toBigNum(totalAssociatedVesting, decimals);
appDispatch({
type: AppStateActionType.SET_TOKEN,
@@ -5,8 +5,7 @@ import {
ExternalLink,
TextArea,
} from '@vegaprotocol/ui-toolkit';
import { createDocsLinks } from '@vegaprotocol/utils';
import { useEnvironment } from '@vegaprotocol/environment';
import { useDocsLink, useEnvironment, DOCS } from '@vegaprotocol/environment';
import type { UseFormRegisterReturn } from 'react-hook-form';
interface ProposalFormTermsProps {
@@ -24,6 +23,9 @@ export const ProposalFormTerms = ({
}: ProposalFormTermsProps) => {
const { VEGA_DOCS_URL } = useEnvironment();
const { t } = useTranslation();
const useLink = useDocsLink();
const PROPOSALS_GUIDE = `${useLink(DOCS.PROPOSALS_GUIDE)}${docsLink}`;
return (
<FormGroup
label={labelOverride || t('ProposalTerms')}
@@ -32,13 +34,8 @@ export const ProposalFormTerms = ({
{docsLink && VEGA_DOCS_URL && (
<div className="mt-[-4px] mb-2 text-sm font-light">
<span className="mr-1">{t('ProposalTermsText')}</span>
<ExternalLink
href={`${
createDocsLinks(VEGA_DOCS_URL).PROPOSALS_GUIDE
}${docsLink}`}
target="_blank"
>
{`${createDocsLinks(VEGA_DOCS_URL).PROPOSALS_GUIDE}${docsLink}`}
<ExternalLink href={PROPOSALS_GUIDE} target="_blank">
{PROPOSALS_GUIDE}
</ExternalLink>
</div>
)}
@@ -131,7 +131,7 @@ export const ConsensusValidatorsTable = ({
const gridRef = useRef<AgGridReact | null>(null);
const nodes = useMemo(() => {
if (!data) return [];
if (!data || !previousEpochData) return [];
let canonisedNodes = data
.sort((a, b) => {
const aVotingPower = new BigNumber(a.rankingScore.votingPower);
+54
View File
@@ -84,6 +84,20 @@ export const useEtherscanLink = () => {
return link;
};
/** useDocsLink returns external documentation links that are specific to an environment
* ex. https://docs.vega.xyz/testnet or https://docs.vega.xyz/mainnet (based on NX_VEGA_DOCS_URL)
* @param {string} path - the documentation path
*/
export const useDocsLink = () => {
const { VEGA_DOCS_URL } = useEnvironment();
const baseUrl = trim(VEGA_DOCS_URL, '/');
const link = useCallback(
(url?: string) => `${baseUrl}/${trim(url, '/') || ''}`,
[baseUrl]
);
return link;
};
// Vega blog
export const BLOG = 'https://blog.vega.xyz/';
@@ -97,6 +111,8 @@ export const TOKEN_PROPOSAL = '/proposals/:id';
export const TOKEN_PROTOCOL_UPGRADE_PROPOSAL =
'/proposals/protocol-upgrade/:tag';
export const TOKEN_VALIDATOR = '/validators/:id';
export const PROPOSAL_PAGE = ':tokenUrl/proposals/:proposalId';
export const UPDATE_PROPOSAL_PAGE = ':tokenUrl/proposals/propose/update-market';
/**
* Generates link to the protocol upgrade proposal details on Governance
@@ -125,3 +141,41 @@ export const CONSOLE_MARKET = '/markets/:marketId';
export const CONSOLE_MARKETS = '/markets/all';
export const CONSOLE_PORTFOLIO = '/portfolio';
export const CONSOLE_LIQUIDITY = 'liquidity/:marketId';
// Vega XYZ
export const GET_VEGA_WALLET_URL = 'https://vega.xyz/wallet/';
// Docs
export const DOCS_VEGA_WALLET = '/tools/vega-wallet';
// Vega Docs
export const DOCS = {
NEW_TO_VEGA: `/concepts/new-to-vega`,
AUCTION_TYPE_OPENING: `/concepts/trading-on-vega/trading-modes#auction-type-opening`,
AUCTION_TYPE_LIQUIDITY_MONITORING: `/concepts/trading-on-vega/trading-modes#auction-type-liquidity-monitoring`,
AUCTION_TYPE_PRICE_MONITORING: `/concepts/trading-on-vega/trading-modes#auction-type-price-monitoring`,
AUCTION_TYPE_CLOSING: `/concepts/trading-on-vega/trading-modes#auction-type-closing`,
STAKING_GUIDE: `/concepts/vega-chain/#staking-on-vega`,
REWARDS_GUIDE: `/concepts/trading-on-vega/fees-rewards#trading-rewards`,
VEGA_WALLET_CONCEPTS_URL: `/concepts/vega-wallet`,
PROPOSALS_GUIDE: `/tutorials/proposals`,
NODE_OPERATORS: `/node-operators`,
LOSS_SOCIALIZATION: `/concepts/trading-on-vega/market-protections#loss-socialisation`,
POSITION_RESOLUTION: `/concepts/trading-on-vega/market-protections#position-resolution`,
LIQUIDITY: `/concepts/liquidity/provision`,
WITHDRAWAL_LIMIT: `/testnet/concepts/deposits-withdrawals#withdrawal-limit`,
VEGA_WALLET: `/tools/vega-wallet`,
};
// External links
export const ExternalLinks = {
FEEDBACK: 'https://github.com/vegaprotocol/feedback/discussions',
GITHUB: 'https://github.com/vegaprotocol/token-frontend',
DISCORD: 'https://vega.xyz/discord',
GOVERNANCE_PAGE: 'https://vega.xyz/governance',
VALIDATOR_FORUM: 'https://community.vega.xyz/c/mainnet-validator-candidates',
MARGIN_CREDIT_RISK:
'https://vega.xyz/papers/margins-and-credit-risk.pdf#page=7',
VEGA_WALLET_URL: 'https://vega.xyz/wallet',
VEGA_WALLET_HOSTED_URL: 'https://vega-hosted-wallet.on.fleek.co/',
};
@@ -1,5 +1,9 @@
import { useEnvironment } from '@vegaprotocol/environment';
import { removePaginationWrapper, TokenLinks } from '@vegaprotocol/utils';
import {
PROPOSAL_PAGE,
UPDATE_PROPOSAL_PAGE,
useEnvironment,
} from '@vegaprotocol/environment';
import { removePaginationWrapper } from '@vegaprotocol/utils';
import { t } from '@vegaprotocol/i18n';
import { useDataProvider } from '@vegaprotocol/data-provider';
import * as Schema from '@vegaprotocol/types';
@@ -236,7 +240,7 @@ export const MarketInfoAccordion = ({
{VEGA_TOKEN_URL && (
<ExternalLink
className="mb-2 w-full"
href={generatePath(TokenLinks.PROPOSAL_PAGE, {
href={generatePath(PROPOSAL_PAGE, {
tokenUrl: VEGA_TOKEN_URL,
proposalId: market.proposal?.id || '',
})}
@@ -252,7 +256,7 @@ export const MarketInfoAccordion = ({
{VEGA_TOKEN_URL && (
<ExternalLink
className="w-full"
href={generatePath(TokenLinks.UPDATE_PROPOSAL_PAGE, {
href={generatePath(UPDATE_PROPOSAL_PAGE, {
tokenUrl: VEGA_TOKEN_URL,
})}
title={
+1 -5
View File
@@ -16,6 +16,7 @@ export const createDocsLinks = (docsUrl: string) => ({
LOSS_SOCIALIZATION: `${docsUrl}/concepts/trading-on-vega/market-protections#loss-socialisation`,
POSITION_RESOLUTION: `${docsUrl}/concepts/trading-on-vega/market-protections#position-resolution`,
LIQUIDITY: `${docsUrl}/concepts/liquidity/provision`,
WITHDRAWAL_LIMIT: `${docsUrl}/testnet/concepts/deposits-withdrawals#withdrawal-limit`,
});
export const ExternalLinks = {
@@ -29,8 +30,3 @@ export const ExternalLinks = {
VEGA_WALLET_URL: 'https://vega.xyz/wallet',
VEGA_WALLET_HOSTED_URL: 'https://vega-hosted-wallet.on.fleek.co/',
};
export const TokenLinks = {
PROPOSAL_PAGE: ':tokenUrl/proposals/:proposalId',
UPDATE_PROPOSAL_PAGE: ':tokenUrl/proposals/propose/update-market',
};
+8 -6
View File
@@ -34,6 +34,7 @@ import {
useWeb3Disconnect,
} from '@vegaprotocol/web3';
import { AssetBalance } from './asset-balance';
import { DOCS, useDocsLink, useEnvironment } from '@vegaprotocol/environment';
interface FormFields {
asset: string;
@@ -67,6 +68,8 @@ const WithdrawDelayNotification = ({
symbol,
delay ? formatDistanceToNow(Date.now() + delay * 1000) : ' ',
];
const { VEGA_DOCS_URL } = useEnvironment();
const docs = useDocsLink();
return (
<Notification
intent={Intent.Warning}
@@ -82,12 +85,11 @@ const WithdrawDelayNotification = ({
formatNumber(threshold, decimals),
...replacements,
]),
<ExternalLink
className="ml-1"
href="https://docs.vega.xyz/testnet/concepts/deposits-withdrawals#withdrawal-limits"
>
{t('Read more')}
</ExternalLink>,
VEGA_DOCS_URL && (
<ExternalLink className="ml-1" href={docs(DOCS.WITHDRAWAL_LIMIT)}>
{t('Read more')}
</ExternalLink>
),
]}
/>
);
+1 -1
View File
@@ -68,7 +68,7 @@ inquirer
})
.then(() => {
for (const env of answers.envs) {
const branch = env === 'mainnet' ? 'main' : `release/${env}`;
const branch = env === 'mainnet' ? 'master' : `release/${env}`;
release(answers.tag, branch);
}
execSync('git checkout develop');