Certificate.deserialize constructor

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

Constructs a certificate instance from its serialized form.

Implementation

factory Certificate.deserialize(CborListValue cbor) {
  final type = CertificateType.deserialize(cbor.elementAt<CborIntValue>(0));
  switch (type) {
    case CertificateType.genesisKeyDelegation:
      return GenesisKeyDelegation.deserialize(cbor);
    case CertificateType.moveInstantaneousRewardsCert:
      return MoveInstantaneousRewardsCert.deserialize(cbor);
    case CertificateType.poolRegistration:
      return PoolRegistration.deserialize(cbor);
    case CertificateType.poolRetirement:
      return PoolRetirement.deserialize(cbor);
    case CertificateType.stakeDelegation:
      return StakeDelegation.deserialize(cbor);
    case CertificateType.stakeDeregistration:
      return StakeDeregistration.deserialize(cbor);
    case CertificateType.stakeRegistration:
      return StakeRegistration.deserialize(cbor);

    case CertificateType.stakeRegistrationConway:
      return StakeRegistrationConway.deserialize(cbor);
    case CertificateType.stakeDeregistrationConway:
      return StakeDeregistrationConway.deserialize(cbor);

    case CertificateType.voteDelegation:
      return VoteDelegation.deserialize(cbor);
    case CertificateType.stakeAndVoteDelegation:
      return StakeAndVoteDelegation.deserialize(cbor);
    case CertificateType.stakeRegistrationAndDelegation:
      return StakeRegistrationAndDelegation.deserialize(cbor);
    case CertificateType.voteRegistrationAndDelegation:
      return VoteRegistrationAndDelegation.deserialize(cbor);
    case CertificateType.stakeVoteRegistrationAndDelegation:
      return StakeVoteRegistrationAndDelegation.deserialize(cbor);
    case CertificateType.committeeHotAuth:
      return CommitteeHotAuth.deserialize(cbor);
    case CertificateType.committeeColdResign:
      return CommitteeColdResign.deserialize(cbor);
    case CertificateType.dRepRegistration:
      return DRepRegistration.deserialize(cbor);
    case CertificateType.dRepDeregistration:
      return DRepDeregistration.deserialize(cbor);
    case CertificateType.dRepUpdate:
      return DRepUpdate.deserialize(cbor);

    default:
      throw UnimplementedError("Invalid certificate type.");
  }
}