Skip to content

Commit

Permalink
fix faucet
Browse files Browse the repository at this point in the history
  • Loading branch information
wow-sven committed Jan 1, 2025
1 parent 6559e0e commit 341b72f
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 90 deletions.
18 changes: 13 additions & 5 deletions infra/rooch-portal-v2/src/sections/faucet/inviter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import type { Bytes } from '@roochnetwork/rooch-sdk';

import { useState, useEffect } from 'react';
import { useState, useEffect, useCallback } from "react";
import { Args, toHEX, stringToBytes } from '@roochnetwork/rooch-sdk';
import {
useRoochClient,
Expand Down Expand Up @@ -54,6 +54,7 @@ export function InviterFaucetView({ inviterAddress }: { inviterAddress: string }
const [errorMsg, setErrorMsg] = useState<string>();
const [faucetStatus, setFaucetStatus] = useState<boolean>(false);
const [UTXOs, setUTXOs] = useState<Array<string> | null>(null);
const [needCheck, setNeedCheck] = useState(false);

const { data: inviter } = useRoochClientQuery('queryObjectStates', {
filter: {
Expand Down Expand Up @@ -84,7 +85,7 @@ export function InviterFaucetView({ inviterAddress }: { inviterAddress: string }
{ refetchInterval: 5000 }
);

useEffect(() => {
const checkClaim = useCallback(() => {
if (!viewAddress) {
return;
}
Expand All @@ -111,6 +112,7 @@ export function InviterFaucetView({ inviterAddress }: { inviterAddress: string }
if (result.vm_status === 'Executed') {
const gas = Number(formatCoin(Number(result.return_values![0].decoded_value), 8, 2));
setClaimGas(gas);
setNeedCheck(false);
} else if ('MoveAbort' in result.vm_status) {
setErrorMsg(ERROR_MSG[Number(result.vm_status.MoveAbort.abort_code)]);
}
Expand All @@ -121,7 +123,12 @@ export function InviterFaucetView({ inviterAddress }: { inviterAddress: string }
.finally(() => {
setFaucetStatus(false);
});
}, [client, faucetCfg, viewAddress]);
}, [client, faucetCfg, viewAddress])

useEffect(() => {

checkClaim();
}, [checkClaim]);

const fetchFaucet = async () => {
if (errorMsg === ALREADY_CLAIMED) {
Expand Down Expand Up @@ -182,6 +189,7 @@ export function InviterFaucetView({ inviterAddress }: { inviterAddress: string }
const d = await response.json();
window.localStorage.setItem(INVITER_ADDRESS_KEY, '');
await refetch();
setNeedCheck(true);
toast.success(
`Faucet Success! RGas: ${formatCoin(Number(d.gas || 0), data?.decimals || 0, 2)}`
);
Expand Down Expand Up @@ -226,11 +234,11 @@ export function InviterFaucetView({ inviterAddress }: { inviterAddress: string }
color="primary"
disabled={errorMsg !== undefined && errorMsg !== ALREADY_CLAIMED}
loading={isPending || faucetStatus}
onClick={fetchFaucet}
onClick={needCheck ? checkClaim : fetchFaucet}
>
{errorMsg === ALREADY_CLAIMED
? 'Purchase RGas'
: errorMsg || `Claim: ${claimGas} RGas`}
: errorMsg || needCheck ? 'Check' : `Claim: ${claimGas} RGas`}
</LoadingButton>
</Stack>
</CardContent>
Expand Down
21 changes: 14 additions & 7 deletions infra/rooch-portal-v2/src/sections/faucet/view.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use client';

import { useState, useEffect } from 'react';
import { useState, useEffect, useCallback } from "react";
import { CopyToClipboard } from 'react-copy-to-clipboard'
import { Args, isValidBitcoinAddress } from '@roochnetwork/rooch-sdk';
import { useRoochClient, useCurrentNetwork, useRoochClientQuery } from '@roochnetwork/rooch-sdk-kit';
Expand All @@ -9,7 +9,6 @@ import { LoadingButton } from '@mui/lab';
import { Box, Card, Chip, Stack, CardHeader, CardContent } from '@mui/material';

import { useRouter } from 'src/routes/hooks';
import useAddressChanged from 'src/routes/hooks/useAddressChanged';

import { useNetworkVariable } from 'src/hooks/use-networks';

Expand Down Expand Up @@ -46,7 +45,8 @@ export function FaucetView({ address }: { address: string }) {
const client = useRoochClient();
const [claimGas, setClaimGas] = useState(0);
const router = useRouter();
const network = useCurrentNetwork()
const network = useCurrentNetwork();
const [needCheck, setNeedCheck] = useState(false);

useEffect(() => {
const inviterAddress = window.localStorage.getItem(INVITER_ADDRESS_KEY)
Expand Down Expand Up @@ -76,7 +76,7 @@ export function FaucetView({ address }: { address: string }) {
{ refetchInterval: 5000 }
);

useEffect(() => {
const checkClaim = useCallback(() => {
if (!viewRoochAddress) {
return;
}
Expand All @@ -102,6 +102,7 @@ export function FaucetView({ address }: { address: string }) {
if (result.vm_status === 'Executed') {
const gas = Number(formatCoin(Number(result.return_values![0].decoded_value), 8, 2));
setClaimGas(gas);
setNeedCheck(false);
} else if ('MoveAbort' in result.vm_status) {
setErrorMsg(ERROR_MSG[Number(result.vm_status.MoveAbort.abort_code)]);
}
Expand All @@ -112,7 +113,11 @@ export function FaucetView({ address }: { address: string }) {
.finally(() => {
setFaucetStatus(false);
});
}, [address, client, faucet, viewRoochAddress]);
}, [address, client, faucet, viewRoochAddress])

useEffect(() => {
checkClaim()
}, [checkClaim]);

const fetchFaucet = async () => {

Expand Down Expand Up @@ -150,9 +155,11 @@ export function FaucetView({ address }: { address: string }) {

const d = await response.json();
await refetch();
setNeedCheck(true);
toast.success(
`Faucet Success! RGas: ${formatCoin(Number(d.gas || 0), data?.decimals || 0, 2)}`
);

} catch (error) {
console.error('Error:', error);
toast.error(`faucet error: ${error}`);
Expand Down Expand Up @@ -202,9 +209,9 @@ export function FaucetView({ address }: { address: string }) {
color="primary"
disabled={errorMsg !== undefined && errorMsg !== ALREADY_CLAIMED}
loading={isPending || faucetStatus}
onClick={fetchFaucet}
onClick={needCheck ? checkClaim : fetchFaucet}
>
{errorMsg === ALREADY_CLAIMED ? 'Purchase RGas' : errorMsg || `Claim: ${claimGas} RGas`}
{errorMsg === ALREADY_CLAIMED ? 'Purchase RGas' : errorMsg || needCheck ? 'Check' : `Claim: ${claimGas} RGas`}
</LoadingButton>
</Stack>
</CardContent>
Expand Down
Empty file.
Loading

0 comments on commit 341b72f

Please sign in to comment.