getBalance method
查询余额: 兼容 主链+token
Implementation
Future<double> getBalance({
required String address, // 当前用户地址
String? contractAddress, // 合约地址
int? decimals = 18, // 转换精度位数: 默认 eth=18
}) async {
var balance = 0.0;
if (contractAddress != null) {
/// token 查询:
BigInt? ret = (await sdkWeb3.getTokenBalance(contractAddress, address: address)) as BigInt;
/// 单位换算:
balance = toEther(fromWei: ret, decimals: decimals!);
} else {
/// 主链查询:
var ret = await sdkWeb3.getBalance(EthereumAddress.fromHex(address));
/// 单位换算:
balance = toEther(fromWei: ret.getInWei, decimals: decimals!);
}
print('getBalance: address=$address, contractAddress=$contractAddress, balance=$balance, decimals=$decimals');
return balance;
}