construct method
Construct from the supplied Map, only check for the keys we need.
Implementation
void construct(Map<String, dynamic>? data) {
if ((data == null) || (data[EthereumConstants.ethResultKey] == null)) {
return;
}
if (data[EthereumConstants.ethResultKey].containsKey('transactionHash')) {
_transactionHash = EthereumData.fromString(
data[EthereumConstants.ethResultKey]['transactionHash']);
}
if (data[EthereumConstants.ethResultKey].containsKey('transactionIndex')) {
_transactionIndex = EthereumUtilities.hexToInt(
data[EthereumConstants.ethResultKey]['transactionIndex']);
}
if (data[EthereumConstants.ethResultKey].containsKey('blockHash')) {
_blockHash = EthereumData.fromString(
data[EthereumConstants.ethResultKey]['blockHash']);
}
if (data[EthereumConstants.ethResultKey].containsKey('blockNumber')) {
_blockNumber = EthereumUtilities.hexToInt(
data[EthereumConstants.ethResultKey]['blockNumber']);
}
if (data[EthereumConstants.ethResultKey].containsKey('cumulativeGasUsed')) {
_cumulativeGasUsed = EthereumUtilities.hexToInt(
data[EthereumConstants.ethResultKey]['cumulativeGasUsed']);
}
if (data[EthereumConstants.ethResultKey].containsKey('gasUsed')) {
_gasUsed = EthereumUtilities.hexToInt(
data[EthereumConstants.ethResultKey]['gasUsed']);
}
if (data[EthereumConstants.ethResultKey].containsKey('contractAddress')) {
_contractAddress = EthereumAddress.fromString(
data[EthereumConstants.ethResultKey]['contractAddress']);
}
if (data[EthereumConstants.ethResultKey].containsKey('logsBloom')) {
_logsBloom = EthereumData.fromString(
data[EthereumConstants.ethResultKey]['logsBloom']);
}
if (data[EthereumConstants.ethResultKey].containsKey('root')) {
_root =
EthereumData.fromString(data[EthereumConstants.ethResultKey]['root']);
}
if (data[EthereumConstants.ethResultKey].containsKey('status')) {
_status = EthereumUtilities.hexToInt(
data[EthereumConstants.ethResultKey]['status']);
}
if (data[EthereumConstants.ethResultKey].containsKey('logs')) {
if ((data[EthereumConstants.ethResultKey]['logs'] != null) &&
(data[EthereumConstants.ethResultKey]['logs'].isNotEmpty)) {
_logs = <EthereumLog>[];
for (final Map<String, dynamic> log
in data[EthereumConstants.ethResultKey]['logs']) {
final buildLog = <String, dynamic>{
EthereumConstants.ethResultKey: log
};
final entry = EthereumLog.fromMap(buildLog);
_logs!.add(entry);
}
}
}
}