TransactionOutput.deserialize constructor
TransactionOutput.deserialize(
- CborObject<
Object?> cbor
Deserializes a TransactionOutput instance from a CBOR object.
Implementation
factory TransactionOutput.deserialize(CborObject cbor) {
if (cbor.hasType<CborListValue>()) {
final list = cbor.as<CborListValue>("TransactionOutput");
final address = AdaAddressUtils.encodeBytes(
list.elementAt<CborBytesValue>(0).value,
);
return TransactionOutput(
address: address,
amount: Value.deserialize(list.elementAt<CborObject>(1)),
plutusData: list
.elementAt<CborObject?>(2)
?.convertTo<DataOption, CborObject>(
(e) => DataOption.deserialize(e),
),
scriptRef: list
.elementAt<CborObject?>(3)
?.convertTo<ScriptRef, CborListValue>(
(e) => ScriptRef.deserialize(e),
),
serializationConfig: TransactionOutputSerializationConfig(
encoding: TransactionOutputCborEncoding.shellyEra,
),
);
}
final CborMapValue<CborObject, CborObject> cborMap = cbor.as(
"TransactionOutput",
);
final address = AdaAddressUtils.encodeBytes(
cborMap.getIntValueAs<CborBytesValue>(0).value,
);
return TransactionOutput(
address: address,
amount: Value.deserialize(cborMap.getIntValueAs<CborObject>(1)),
plutusData: cborMap
.getIntValueAs<CborObject?>(2)
?.convertTo<DataOption, CborObject>((e) => DataOption.deserialize(e)),
scriptRef: cborMap
.getIntValueAs<CborTagValue?>(3)
?.convertTo<ScriptRef, CborTagValue>((e) => ScriptRef.deserialize(e)),
);
}