GovernanceAction.deserialize constructor

GovernanceAction.deserialize(
  1. CborListValue<CborObject> cbor
)

Implementation

factory GovernanceAction.deserialize(CborListValue cbor) {
  final type =
      GovernanceActionType.deserialize(cbor.elementAt<CborIntValue>(0));
  return switch (type) {
    GovernanceActionType.hardForkInitiationAction =>
      HardForkInitiationAction.deserialize(cbor),
    GovernanceActionType.infoAction => InfoAction.deserialize(cbor),
    GovernanceActionType.newConstitutionAction =>
      NewConstitutionAction.deserialize(cbor),
    GovernanceActionType.noConfidenceAction =>
      NoConfidenceAction.deserialize(cbor),
    GovernanceActionType.parameterChangeAction =>
      ParameterChangeAction.deserialize(cbor),
    GovernanceActionType.treasuryWithdrawalsAction =>
      TreasuryWithdrawalsAction.deserialize(cbor),
    GovernanceActionType.updateCommitteeAction =>
      UpdateCommitteeAction.deserialize(cbor),
    _ => throw UnimplementedError("Unknown Governance Action Type.")
  };
}