Redeemers.deserialize constructor

Redeemers.deserialize(
  1. CborObject cbor
)

Implementation

factory Redeemers.deserialize(CborObject cbor) {
  if (cbor is CborMapValue) {
    final redeemerMap = cbor.valueAsMap<CborListValue, CborListValue>();
    final redeemers = redeemerMap.entries.map(((i) {
      return Redeemer(
          tag: RedeemerTag.deserialize(i.key.elementAt<CborIntValue>(0)),
          index: i.key.elementAsInteger(1),
          data: PlutusData.deserialize(i.value.elementAt<CborObject>(0)),
          exUnits: ExUnits.deserialize(i.value.elementAt<CborListValue>(1)));
    })).toList();
    return Redeemers(
        redeemers: redeemers,
        serializationConfig: RedeemersSerializationConfig(
            encoding: RedeemersCborContainerType.map));
  }
  final redeemersList = cbor.as<CborIterableObject>("Redeemers");
  return Redeemers(
      serializationConfig: RedeemersSerializationConfig(
          encoding: RedeemersCborContainerType.fromName(
              redeemersList.encoding.name)),
      redeemers: redeemersList
          .valueAsListOf<CborListValue>()
          .map((e) => Redeemer.deserialize(e))
          .toList());
}