getEthBalance function
Future<double>
getEthBalance(
{ - required Provider provider,
- required Felt accountAddress,
})
Implementation
Future<double> getEthBalance(
{required sp.Provider provider, required s.Felt accountAddress}) async {
final ethContractAddress = s.Felt.fromHexString(
'0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7');
const ethDecimals = 18;
final response = await provider.call(
request: sp.FunctionCall(
contractAddress: ethContractAddress,
entryPointSelector: s.getSelectorByName('balanceOf'),
calldata: [accountAddress],
),
blockId: const sp.BlockId.blockTag("latest"),
);
return response.when<double>(
error: (error) {
throw Exception(error);
},
result: (result) {
final ethBalance = s.Uint256.fromFeltList(result).toBigInt() /
BigInt.from(10).pow(ethDecimals);
return ethBalance;
},
);
}