// Generated code, do not modify. Run `build_runner build` to re-generate! // @dart=2.12 import 'package:web3dart/web3dart.dart' as _i1; final _contractAbi = _i1.ContractAbi.fromJson( '[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor","signature":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event","signature":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"},{"constant":false,"inputs":[{"name":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"name":"sendCoin","outputs":[{"name":"sufficient","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function","signature":"0x90b98a11"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getBalanceInEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0x7bd703e8"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function","signature":"0xf8b2cb4f"}]', 'Token'); class Token extends _i1.GeneratedContract { Token( {required _i1.EthereumAddress address, required _i1.Web3Client client, int? chainId}) : super(_i1.DeployedContract(_contractAbi, address), client, chainId); /// The optional [transaction] parameter can be used to override parameters /// like the gas price, nonce and max gas. The `data` and `to` fields will be /// set by the contract. Future sendCoin(_i1.EthereumAddress receiver, BigInt amount, {required _i1.Credentials credentials, _i1.Transaction? transaction}) async { final function = self.abi.functions[1]; assert(checkSignature(function, '90b98a11')); final params = [receiver, amount]; return write(credentials, transaction, function, params); } /// The optional [atBlock] parameter can be used to view historical data. When /// set, the function will be evaluated in the specified block. By default, the /// latest on-chain block will be used. Future getBalanceInEth(_i1.EthereumAddress addr, {_i1.BlockNum? atBlock}) async { final function = self.abi.functions[2]; assert(checkSignature(function, '7bd703e8')); final params = [addr]; final response = await read(function, params, atBlock); return (response[0] as BigInt); } /// The optional [atBlock] parameter can be used to view historical data. When /// set, the function will be evaluated in the specified block. By default, the /// latest on-chain block will be used. Future getBalance(_i1.EthereumAddress addr, {_i1.BlockNum? atBlock}) async { final function = self.abi.functions[3]; assert(checkSignature(function, 'f8b2cb4f')); final params = [addr]; final response = await read(function, params, atBlock); return (response[0] as BigInt); } /// Returns a live stream of all Transfer events emitted by this contract. Stream transferEvents( {_i1.BlockNum? fromBlock, _i1.BlockNum? toBlock}) { final event = self.event('Transfer'); final filter = _i1.FilterOptions.events( contract: self, event: event, fromBlock: fromBlock, toBlock: toBlock); return client.events(filter).map((_i1.FilterEvent result) { final decoded = event.decodeResults(result.topics!, result.data!); return Transfer(decoded); }); } } class Transfer { Transfer(List response) : from = (response[0] as _i1.EthereumAddress), to = (response[1] as _i1.EthereumAddress), value = (response[2] as BigInt); final _i1.EthereumAddress from; final _i1.EthereumAddress to; final BigInt value; }