Add button to request airdrop
This commit is contained in:
parent
c54151662e
commit
4de78585f2
|
@ -3,15 +3,45 @@ import Container from '@material-ui/core/Container';
|
||||||
import BalancesList from './components/BalancesList';
|
import BalancesList from './components/BalancesList';
|
||||||
import Button from '@material-ui/core/Button';
|
import Button from '@material-ui/core/Button';
|
||||||
import { useWallet } from './utils/wallet';
|
import { useWallet } from './utils/wallet';
|
||||||
import { Account } from '@solana/web3.js';
|
import { Account, LAMPORTS_PER_SOL } from '@solana/web3.js';
|
||||||
import { createAndInitializeMint } from './utils/tokens';
|
import { createAndInitializeMint } from './utils/tokens';
|
||||||
|
import Grid from '@material-ui/core/Grid';
|
||||||
|
import { useIsProdNetwork } from './utils/connection';
|
||||||
|
|
||||||
export default function WalletPage() {
|
export default function WalletPage() {
|
||||||
const wallet = useWallet();
|
const isProdNetwork = useIsProdNetwork();
|
||||||
return (
|
return (
|
||||||
<Container fixed maxWidth="md">
|
<Container fixed maxWidth="md">
|
||||||
<BalancesList />
|
<Grid container spacing={3}>
|
||||||
<br />
|
<Grid item xs={12}>
|
||||||
|
<BalancesList />
|
||||||
|
</Grid>
|
||||||
|
{isProdNetwork ? null : (
|
||||||
|
<Grid item xs={12}>
|
||||||
|
<DevnetButtons />
|
||||||
|
</Grid>
|
||||||
|
)}
|
||||||
|
</Grid>
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function DevnetButtons() {
|
||||||
|
const wallet = useWallet();
|
||||||
|
return (
|
||||||
|
<div style={{ display: 'flex' }}>
|
||||||
|
<Button
|
||||||
|
variant="contained"
|
||||||
|
color="primary"
|
||||||
|
onClick={() => {
|
||||||
|
wallet.connection
|
||||||
|
.requestAirdrop(wallet.account.publicKey, LAMPORTS_PER_SOL)
|
||||||
|
.then(console.log)
|
||||||
|
.catch(console.warn);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Request Airdrop
|
||||||
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
variant="contained"
|
variant="contained"
|
||||||
color="primary"
|
color="primary"
|
||||||
|
@ -28,9 +58,10 @@ export default function WalletPage() {
|
||||||
.then(console.log)
|
.then(console.log)
|
||||||
.catch(console.warn);
|
.catch(console.warn);
|
||||||
}}
|
}}
|
||||||
|
style={{ marginLeft: 24 }}
|
||||||
>
|
>
|
||||||
Mint New Token
|
Mint Test Token
|
||||||
</Button>
|
</Button>
|
||||||
</Container>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,3 +27,8 @@ export function useConnectionConfig() {
|
||||||
let context = useContext(ConnectionContext);
|
let context = useContext(ConnectionContext);
|
||||||
return { endpoint: context.endpoint, setEndpoint: context.setEndpoint };
|
return { endpoint: context.endpoint, setEndpoint: context.setEndpoint };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function useIsProdNetwork() {
|
||||||
|
const endpoint = useContext(ConnectionContext).endpoint;
|
||||||
|
return endpoint === clusterApiUrl('mainnet-beta');
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue