DataOptionData.deserialize constructor

DataOptionData.deserialize(
  1. CborListValue<CborObject<Object?>> cbor
)

Deserializes a DataOptionData object from its CBOR representation.

Implementation

factory DataOptionData.deserialize(CborListValue cbor) {
  TransactionDataOptionType.deserialize(
    cbor.elementAt<CborIntValue>(0),
    validate: TransactionDataOptionType.data,
  );
  final CborTagValue cborTag = cbor.elementAt<CborTagValue>(1);
  if (!BytesUtils.bytesEqual(cborTag.tags, _plutusDataOptionTag)) {
    throw ADAPluginException(
      'Invalid date option tag.',
      details: {'Tag': cborTag.tags, 'expected': _plutusDataOptionTag},
    );
  }
  final List<int> plutusBytes =
      cborTag.valueAs<CborBytesValue>('PlutusData').value;
  return DataOptionData(PlutusData.fromCborBytes(plutusBytes));
}