decode static method

Transaction decode(
  1. Uint8List data,
  2. bool unsigned
)

Decode a tx from Uint8List data.

Implementation

static Transaction decode(Uint8List data, bool unsigned) {
  var decoded = RlpDecoder.decode(data);

  var chainTag = Uint8List.fromList(decoded[0].cast<int>());
  var blockRef = Uint8List.fromList(decoded[1].cast<int>());
  var expiration = Uint8List.fromList(decoded[2].cast<int>());

  List clauses = [];

  for (var item in decoded[3]) {
    clauses.add(item);
  }

  var gasPriceCoef = Uint8List.fromList(decoded[4].cast<int>());
  var gas = Uint8List.fromList(decoded[5].cast<int>());
  var dependsOn = Uint8List.fromList(decoded[6].cast<int>());
  var nonce = Uint8List.fromList(decoded[7].cast<int>());
  List<Uint8List> reserved = [];
  for (var item in decoded[8]) {
    clauses.add(item);
  }

  var output = Transaction.fromBytes(chainTag, blockRef, expiration, clauses,
      gasPriceCoef, gas, dependsOn, nonce, reserved);

  if (!unsigned) {
    Uint8List sig = Uint8List.fromList(decoded[9].cast<int>());
    output.signature = sig;
  }

  return output;
}