construct method
Construct from the supplied Map, only check for the keys we need.
Implementation
void construct(Map data) {
if ((data == null) || (data[moacResultKey] == null)) {
return;
}
if (data[moacResultKey].containsKey('number')) {
_number = MoacUtilities.hexToInt(data[moacResultKey]['number']);
}
if (data[moacResultKey].containsKey('hash')) {
_hash = MoacUtilities.safeParse(data[moacResultKey]['hash']);
}
if (data[moacResultKey].containsKey('parentHash')) {
_parentHash = MoacUtilities.safeParse(data[moacResultKey]['parentHash']);
}
if (data[moacResultKey].containsKey('nonce')) {
_nonce = MoacUtilities.safeParse(data[moacResultKey]['nonce']);
}
if (data[moacResultKey].containsKey('sha3Uncles')) {
_sha3Uncles = MoacUtilities.safeParse(data[moacResultKey]['sha3Uncles']);
}
if (data[moacResultKey].containsKey('logsBloom')) {
_logsBloom = MoacUtilities.safeParse(data[moacResultKey]['logsBloom']);
}
if (data[moacResultKey].containsKey('transactionsRoot')) {
_transactionsRoot =
MoacUtilities.safeParse(data[moacResultKey]['transactionsRoot']);
}
if (data[moacResultKey].containsKey('stateRoot')) {
_stateRoot = MoacUtilities.safeParse(data[moacResultKey]['stateRoot']);
}
if (data[moacResultKey].containsKey('receiptsRoot')) {
_receiptsRoot =
MoacUtilities.safeParse(data[moacResultKey]['receiptsRoot']);
}
if (data[moacResultKey].containsKey('miner')) {
_miner = MoacUtilities.safeParse(data[moacResultKey]['miner']);
}
if (data[moacResultKey].containsKey('difficulty')) {
_difficulty = MoacUtilities.hexToInt(data[moacResultKey]['difficulty']);
}
if (data[moacResultKey].containsKey('totalDifficulty')) {
_totalDifficulty =
MoacUtilities.hexToInt(data[moacResultKey]['totalDifficulty']);
}
if (data[moacResultKey].containsKey('extraData')) {
_extraData = MoacUtilities.safeParse(data[moacResultKey]['extraData']);
}
if (data[moacResultKey].containsKey('size')) {
_size = MoacUtilities.hexToInt(data[moacResultKey]['size']);
}
if (data[moacResultKey].containsKey('gasLimit')) {
_gasLimit = MoacUtilities.hexToInt(data[moacResultKey]['gasLimit']);
}
if (data[moacResultKey].containsKey('gasUsed')) {
_gasUsed = MoacUtilities.hexToInt(data[moacResultKey]['gasUsed']);
}
if (data[moacResultKey].containsKey('timestamp')) {
_timestamp = DateTime.fromMillisecondsSinceEpoch(
MoacUtilities.hexToInt(data[moacResultKey]['timestamp']));
}
if (data[moacResultKey].containsKey('uncles')) {
_uncles = MoacUtilities.hexToBigIntList(data[moacResultKey]['uncles']);
}
if (data[moacResultKey].containsKey('transactions')) {
if ((data[moacResultKey]['transactions'] != null) &&
(data[moacResultKey]['transactions'].isNotEmpty)) {
if (data[moacResultKey]['transactions'][0] is String) {
// Hashes
_transactionsAreHashes = true;
_transactions = MoacUtilities.hexToBigIntList(
data[moacResultKey]['transactions']);
} else {
// Transaction objects
_transactions = List<MoacTransaction>();
for (Map transaction in data[moacResultKey]['transactions']) {
final Map buildTrans = {moacResultKey: transaction};
final MoacTransaction entry = MoacTransaction.fromMap(buildTrans);
_transactions.add(entry);
}
}
}
}
}