ValueTransferInfo.fromJson constructor

ValueTransferInfo.fromJson(
  1. Map<String, dynamic> data
)

Implementation

factory ValueTransferInfo.fromJson(Map<String, dynamic> data) {
  List<String> outputAddresses = getOrDefault(data).outputAddresses;
  List<int> outputValues = getOrDefault(data).outputValues;
  List<int> timelockValues = getOrDefault(data).timelocks;
  List<ValueTransferOutput> outputs = [];
  for (int i = 0; i < outputValues.length; i++) {
    ValueTransferOutput vto = ValueTransferOutput(
      value: outputValues[i],
      pkh: Address.fromAddress(outputAddresses[i]).publicKeyHash!,
      timeLock: timelockValues[i],
    );
    outputs.add(vto);
  }

  final result = ValueTransferInfo(
    epoch: data["epoch"],
    timestamp: data["timestamp"],
    hash: data["hash"],
    block: data["block"],
    inputUtxos: List<InputUtxo>.from(
        data["input_utxos"].map((x) => InputUtxo.fromJson(x))),
    fee: data["fee"],
    priority: data["priority"],
    weight: data["weight"],
    status: TransactionStatus.fromJson(data).status,
    outputs: outputs,
    value: getOrDefault(data).value,
    confirmed: getOrDefault(data).confirmed,
    reverted: getOrDefault(data).reverted,
    inputAddresses: getOrDefault(data).inputAddresses,
    inputsMerged: getOrDefault(data).inputsMerged,
    outputAddresses: outputAddresses,
    outputValues: outputValues,
    timelocks: getOrDefault(data).timelocks,
    utxos: getOrDefault(data).utxos,
    utxosMerged: getOrDefault(data).utxosMerged,
    trueOutputAddresses: getOrDefault(data).trueOutputAddresses,
    changeOutputAddresses: getOrDefault(data).outputAddresses,
    trueValue: getOrDefault(data).trueValue,
    changeValue: getOrDefault(data).changeValue,
  );
  return result;
}