ConstrPlutusData.deserialize constructor
ConstrPlutusData.deserialize(
- CborTagValue cbor
Deserializes a ConstrPlutusData instance from CBOR.
Implementation
factory ConstrPlutusData.deserialize(CborTagValue cbor) {
if (BytesUtils.bytesEqual(cbor.tags, [PlutusDataUtils.generalFormTag])) {
final CborListValue data = cbor.getValue<CborListValue>();
return ConstrPlutusData(
alternative: data.getIndex<CborObject>(0).getInteger(),
data: PlutusList.deserialize(data.getIndex(1)));
}
final BigInt? alternative =
PlutusDataUtils.cborTagToAlternative(cbor.tags.first);
if (alternative == null) {
throw const MessageException("Invalid ConstrPlutusData tag.");
}
return ConstrPlutusData(
alternative: alternative,
data: PlutusList.deserialize(cbor.getValue()));
}