BlockDetails.fromJson constructor

BlockDetails.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory BlockDetails.fromJson(Map<String, dynamic> json) {
  Map<String, dynamic> mint_txn = json['block']["transactions"]["mint"];
  String mintHash = mint_txn["hash"];
  List<ValueTransferOutput> outputs = [];
  for (int i = 0; i < mint_txn['output_addresses'].length; i++) {
    String _address = mint_txn['output_addresses'][i];
    int _value = mint_txn['output_values'][i];

    ValueTransferOutput _output = ValueTransferOutput(
        pkh: PublicKeyHash.fromAddress(_address), value: _value, timeLock: 0);
    outputs.add(_output);
  }
  MintInfo mintInfo = MintInfo(
      miner: mint_txn["miner"],
      blockHash: json['block']["details"]["hash"],
      outputs: outputs,
      txnEpoch: json['block']["details"]["epoch"],
      txnHash: mintHash,
      txnTime: json['block']["details"]["timestamp"],
      type: "mint");

  return BlockDetails(
    blockHash: json['block']["details"]["hash"],
    epoch: json['block']["details"]["epoch"],
    timestamp: json['block']["details"]["timestamp"],
    drWeight: json['block']["details"]["data_request_weight"] ?? 0,
    vtWeight: json['block']["details"]["value_transfer_weight"] ?? 0,
    blockWeight: json['block']["details"]["weight"],
    confirmed: json['block']["details"]["confirmed"],
    reverted: json['block']["details"]["reverted"],
    mintInfo: mintInfo,
  );
}