encode method Null safety

void encode(
  1. XdrDataOutputStream stream,
  2. XdrHashIDPreimage encoded
)

Implementation

static void encode(XdrDataOutputStream stream, XdrHashIDPreimage encoded) {
  stream.writeInt(encoded.discriminant.value);
  switch (encoded.discriminant) {
    case XdrEnvelopeType.ENVELOPE_TYPE_OP_ID:
      XdrHashIDPreimageOperationID.encode(stream, encoded.operationID!);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_POOL_REVOKE_OP_ID:
      XdrHashIDPreimageRevokeID.encode(stream, encoded.revokeID!);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_CONTRACT_ID_FROM_ED25519:
      XdrHashIDPreimageEd25519ContractID.encode(
          stream, encoded.ed25519ContractID!);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_CONTRACT_ID_FROM_CONTRACT:
      XdrHashIDPreimageContractID.encode(stream, encoded.contractID!);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_CONTRACT_ID_FROM_ASSET:
      XdrHashIDPreimageFromAsset.encode(stream, encoded.fromAsset!);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_CONTRACT_ID_FROM_SOURCE_ACCOUNT:
      XdrHashIDPreimageSourceAccountContractID.encode(
          stream, encoded.sourceAccountContractID!);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_CREATE_CONTRACT_ARGS:
      XdrHashIDPreimageCreateContractArgs.encode(
          stream, encoded.createContractArgs!);
      break;
    case XdrEnvelopeType.ENVELOPE_TYPE_CONTRACT_AUTH:
      XdrHashIDPreimageContractAuth.encode(stream, encoded.contractAuth!);
      break;
  }
}