PlutusData.fromJson constructor

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

Constructs a PlutusData instance from JSON.

Implementation

factory PlutusData.fromJson(Map<String, dynamic> json) {
  PlutusDataType type;
  try {
    type = PlutusDataType.fromName(json.keys.first);
  } on StateError {
    throw MessageException("Invalid PlutusData json.",
        details: {"json": json});
  }
  switch (type) {
    case PlutusDataType.constrPlutusData:
      return ConstrPlutusData.fromJson(json);
    case PlutusDataType.map:
      return PlutusMap.fromJson(json);
    case PlutusDataType.list:
      return PlutusList.fromJson(json);
    case PlutusDataType.integer:
      return PlutusInteger.fromJson(json);
    default:
      return PlutusBytes.fromJson(json);
  }
}