get coins

This commit is contained in:
osmannyildiz 2023-12-23 15:28:54 +03:00
parent 7d973cab9f
commit beeba916de
1 changed files with 30 additions and 4 deletions

View File

@ -1,4 +1,9 @@
import { CoinBalance, getFullnodeUrl, SuiClient } from "@mysten/sui.js/client"; import {
CoinBalance,
CoinStruct,
getFullnodeUrl,
SuiClient,
} from "@mysten/sui.js/client";
import { MIST_PER_SUI } from "@mysten/sui.js/utils"; import { MIST_PER_SUI } from "@mysten/sui.js/utils";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import GetSuiFromFaucetForm from "./components/GetSuiFromFaucetForm"; import GetSuiFromFaucetForm from "./components/GetSuiFromFaucetForm";
@ -6,26 +11,47 @@ import { MY_ADDRESS } from "./constants";
const suiClient = new SuiClient({ url: getFullnodeUrl("devnet") }); const suiClient = new SuiClient({ url: getFullnodeUrl("devnet") });
const mistToSui = (amountInMist: CoinBalance) => { const balanceToSui = (balance: CoinBalance) => {
return Number.parseInt(amountInMist.totalBalance) / Number(MIST_PER_SUI); return Number.parseInt(balance.totalBalance) / Number(MIST_PER_SUI);
};
const mistToSui = (amountInMist: string) => {
return Number.parseInt(amountInMist) / Number(MIST_PER_SUI);
}; };
export default function App() { export default function App() {
const [balance, setBalance] = useState("(loading...)"); const [balance, setBalance] = useState("(loading...)");
const [coins, setCoins] = useState<CoinStruct[]>([]);
useEffect(() => { useEffect(() => {
(async () => { (async () => {
const balance = await suiClient.getBalance({ const balance = await suiClient.getBalance({
owner: MY_ADDRESS, owner: MY_ADDRESS,
}); });
setBalance(`Balance: ${mistToSui(balance)} SUI`); setBalance(`Balance: ${balanceToSui(balance)} SUI`);
const coins = await suiClient.getCoins({
owner: MY_ADDRESS,
});
setCoins(coins.data);
})(); })();
}, []); }, []);
return ( return (
<> <>
<h1>hello world</h1> <h1>hello world</h1>
{balance} {balance}
<div>Coins:</div>
<ul>
{coins.map((coin) => (
<li>
{coin.coinType} - {mistToSui(coin.balance)} SUI
</li>
))}
</ul>
<GetSuiFromFaucetForm /> <GetSuiFromFaucetForm />
</> </>
); );