decode method Null safety

XdrHashIDPreimage decode(
  1. XdrDataInputStream stream
)

Implementation

static XdrHashIDPreimage decode(XdrDataInputStream stream) {
  XdrHashIDPreimage decoded =
      XdrHashIDPreimage(XdrEnvelopeType.decode(stream));
  switch (decoded.discriminant) {
    case XdrEnvelopeType.ENVELOPE_TYPE_OP_ID:
      decoded.operationID = XdrHashIDPreimageOperationID.decode(stream);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_POOL_REVOKE_OP_ID:
      decoded.revokeID = XdrHashIDPreimageRevokeID.decode(stream);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_CONTRACT_ID_FROM_ED25519:
      decoded.ed25519ContractID =
          XdrHashIDPreimageEd25519ContractID.decode(stream);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_CONTRACT_ID_FROM_CONTRACT:
      decoded.contractID = XdrHashIDPreimageContractID.decode(stream);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_CONTRACT_ID_FROM_ASSET:
      decoded.fromAsset = XdrHashIDPreimageFromAsset.decode(stream);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_CONTRACT_ID_FROM_SOURCE_ACCOUNT:
      decoded.sourceAccountContractID =
          XdrHashIDPreimageSourceAccountContractID.decode(stream);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_CREATE_CONTRACT_ARGS:
      decoded.createContractArgs =
          XdrHashIDPreimageCreateContractArgs.decode(stream);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_CONTRACT_AUTH:
      decoded.contractAuth = XdrHashIDPreimageContractAuth.decode(stream);
      break;
  }
  return decoded;
}