checkAvailableBLBalance method
Implementation
@override
Future<bool> checkAvailableBLBalance({
required String toAddress,
required String privateKey,
required double amount,
}) async {
var contract = DeployedContract(
ContractAbi.fromJson(abiJson, 'blToken'),
EthereumAddress.fromHex(blTokenContract)
);
// 금액을 토큰 단위로 변환
final amountInTokenUnit = BigInt.from(amount * pow(10, 18));
// 자격증명 생성
final credentials = EthPrivateKey.fromHex(privateKey);
final from = credentials.address;
// 토큰 잔액 확인
final balanceFunction = contract.function('balanceOf');
final balanceResult = await _client.call(
contract: contract,
function: balanceFunction,
params: [from]
);
final tokenBalance = balanceResult.first as BigInt;
if (tokenBalance < amountInTokenUnit) {
return false;
}
return true;
}