7c8a54b35a
* frontend-monorepo-1263 validator status of pending now named 'candidate' in the ui * feat(1263): validator table updates, calculating penalties * feat(1263): bit of cleanup * feat(1263): tables built and values derived * feat(1263): tweaks * feat(1263): upping site max width to 1500px * feat(1263): tweak to normalised voting power column width * feat(1263): ensure validator rows when hovered have cursor:pointer * feat(1263): consensus validators now have a ranking field by voting power shown in the table * feat(1263): fixed linting errors * feat(1263): a couple of extra tests and correct import of schema to use enums * Update apps/token/src/routes/staking/home/validator-tables/standby-pending-validators-table.tsx Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com> * Update apps/token/src/routes/staking/home/validator-tables/validator-tables.tsx Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com> * Update apps/token/src/routes/staking/home/validator-tables/validator-tables.tsx Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com> * Update apps/token/src/routes/staking/home/validator-tables/validator-tables.tsx Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com> * feat(1263): tweaks from PR comments, initial push of util to remove 'node' from arrs * feat(1263): updated new util to remove 'node' from 'edges'. Implemented across the monorepo * feat(1263): cleaned up splitting validators into consensus, pending and ersatz to put into tables * feat(1263): used decimals from app state in validator-tables.tsx * feat(1263): removed redundant compact import Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>
57 lines
1.1 KiB
TypeScript
57 lines
1.1 KiB
TypeScript
import {
|
|
removePaginationWrapper,
|
|
useNetworkParamsQuery,
|
|
} from '@vegaprotocol/react-helpers';
|
|
import { useMemo } from 'react';
|
|
|
|
export interface EthereumConfig {
|
|
network_id: string;
|
|
chain_id: string;
|
|
confirmations: number;
|
|
collateral_bridge_contract: {
|
|
address: string;
|
|
};
|
|
multisig_control_contract: {
|
|
address: string;
|
|
deployment_block_height: number;
|
|
};
|
|
staking_bridge_contract: {
|
|
address: string;
|
|
deployment_block_height: number;
|
|
};
|
|
token_vesting_contract: {
|
|
address: string;
|
|
deployment_block_height: number;
|
|
};
|
|
}
|
|
|
|
export const useEthereumConfig = () => {
|
|
const { data, loading, error } = useNetworkParamsQuery();
|
|
|
|
const config = useMemo(() => {
|
|
if (!data) {
|
|
return null;
|
|
}
|
|
|
|
const param = removePaginationWrapper(
|
|
data.networkParametersConnection.edges
|
|
)?.find(({ key }) => key === 'blockchains.ethereumConfig');
|
|
|
|
if (!param) {
|
|
return null;
|
|
}
|
|
|
|
let parsedConfig: EthereumConfig;
|
|
|
|
try {
|
|
parsedConfig = JSON.parse(param.value);
|
|
} catch {
|
|
return null;
|
|
}
|
|
|
|
return parsedConfig;
|
|
}, [data]);
|
|
|
|
return { config, loading, error };
|
|
};
|