construct method

void construct (Map data)

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