fromBytes static method

Implementation

static TransactionBlockDataBuilder fromBytes(Uint8List bytes) {
	final rawData = builder.de('TransactionData', bytes);
	final data = rawData?["V1"];
	final programmableTx = data?["kind"]?["ProgrammableTransaction"];
	if (data == null || programmableTx == null) {
		throw ArgumentError('Unable to deserialize from bytes.');
	}

    final inputsList = <Map<String, dynamic>>[];
    List.from(programmableTx["inputs"]).asMap().forEach((index, value) {
      inputsList.add({
        "kind": 'Input',
        "value": value,
        "index": index,
        "type": value["Pure"] != null ? 'pure' : 'object',
      });
    });

	final serialized = {
			"version": 1,
			"sender": data["sender"],
			"expiration": data["expiration"],
			"gasConfig": data["gasData"],
			"inputs": inputsList,
			"transactions": programmableTx["transactions"],
    };

	return TransactionBlockDataBuilder.restore(serialized);
}