checkAvailableBLBalance method

  1. @override
Future<bool> checkAvailableBLBalance({
  1. required String toAddress,
  2. required String privateKey,
  3. required double amount,
})
override

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;
}