GovernanceAction.fromJson constructor

GovernanceAction.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory GovernanceAction.fromJson(Map<String, dynamic> json) {
  final type = GovernanceActionType.fromName(json.keys.firstOrNull);
  return switch (type) {
    GovernanceActionType.hardForkInitiationAction =>
      HardForkInitiationAction.fromJson(json),
    GovernanceActionType.infoAction => InfoAction.fromJson(json),
    GovernanceActionType.newConstitutionAction =>
      NewConstitutionAction.fromJson(json),
    GovernanceActionType.noConfidenceAction =>
      NoConfidenceAction.fromJson(json),
    GovernanceActionType.parameterChangeAction =>
      ParameterChangeAction.fromJson(json),
    GovernanceActionType.treasuryWithdrawalsAction =>
      TreasuryWithdrawalsAction.fromJson(json),
    GovernanceActionType.updateCommitteeAction =>
      UpdateCommitteeAction.fromJson(json),
    _ => throw UnimplementedError("Unknown Governance Action Type.")
  };
}