3a27172e04
* feat: add enviromnemt provider to the ui-toolkit * chore: replace etherscan links * chore: wrap trading app into environment provider * chore: move env provider to react-helpers and wrap every app * chore: remove more env variables from libs and replace them with the env hook * fix: lint * fix: update readme with correct formatting command * fix: warnings for web3 hook * fix: wrap warning in conditional, print message only when env keys are missing * fix: incorrect condition on deposit manager fauceting param Co-authored-by: Matthew Russell <mattrussell36@gmail.com> * fix: cleanup token app ethereum config * chore: add better error handling to the useEnvironment hook * fix: lint * fix: formatting * fix: more lint * fix: throw error if required env variables are missing * fix: remove default eth chain id * fix: add back etherscan testid to withdrawals links * fix: imports * fix: try using babel jest for smart contracts test transpilation * fix: uniform ts syntax * chore: set resolveJsonModule in base tsconfig * fix: add missing data-ids for etherscan links Co-authored-by: Matthew Russell <mattrussell36@gmail.com>
58 lines
1.5 KiB
TypeScript
58 lines
1.5 KiB
TypeScript
import type { EthereumConfig } from '../../../components/web3-container/web3-container';
|
|
import { gql } from '@apollo/client';
|
|
import { PageQueryContainer } from '../../../components/page-query-container';
|
|
import type { DepositPage } from './__generated__/DepositPage';
|
|
import { DepositManager } from '@vegaprotocol/deposits';
|
|
import { t, useEnvironment } from '@vegaprotocol/react-helpers';
|
|
import { Splash } from '@vegaprotocol/ui-toolkit';
|
|
import { ASSET_FRAGMENT } from '../../../lib/query-fragments';
|
|
|
|
const DEPOSIT_PAGE_QUERY = gql`
|
|
${ASSET_FRAGMENT}
|
|
query DepositPage {
|
|
assets {
|
|
...AssetFields
|
|
}
|
|
}
|
|
`;
|
|
|
|
interface DepositContainerProps {
|
|
ethereumConfig: EthereumConfig;
|
|
assetId?: string;
|
|
}
|
|
|
|
/**
|
|
* Fetches data required for the Deposit page
|
|
*/
|
|
export const DepositContainer = ({
|
|
ethereumConfig,
|
|
assetId,
|
|
}: DepositContainerProps) => {
|
|
const { VEGA_ENV } = useEnvironment();
|
|
|
|
return (
|
|
<PageQueryContainer<DepositPage>
|
|
query={DEPOSIT_PAGE_QUERY}
|
|
render={(data) => {
|
|
if (!data.assets?.length) {
|
|
return (
|
|
<Splash>
|
|
<p>{t('No assets on this network')}</p>
|
|
</Splash>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<DepositManager
|
|
bridgeAddress={ethereumConfig.collateral_bridge_contract.address}
|
|
requiredConfirmations={ethereumConfig.confirmations}
|
|
assets={data.assets}
|
|
initialAssetId={assetId}
|
|
isFaucetable={VEGA_ENV !== 'MAINNET'}
|
|
/>
|
|
);
|
|
}}
|
|
/>
|
|
);
|
|
};
|