InputStorePaymentPremiumGiveaway.deserialize constructor

InputStorePaymentPremiumGiveaway.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory InputStorePaymentPremiumGiveaway.deserialize(BinaryReader reader) {
  // Read [InputStorePaymentPremiumGiveaway] fields.
  final flags = reader.readInt32();
  final onlyNewSubscribers = (flags & 1) != 0;
  final winnersAreVisible = (flags & 8) != 0;
  final boostPeer = reader.readObject() as InputPeerBase;
  final hasAdditionalPeersField = (flags & 2) != 0;
  final additionalPeers = hasAdditionalPeersField
      ? reader.readVectorObject<InputPeerBase>()
      : null;
  final hasCountriesIso2Field = (flags & 4) != 0;
  final countriesIso2 =
      hasCountriesIso2Field ? reader.readVectorString() : null;
  final hasPrizeDescriptionField = (flags & 16) != 0;
  final prizeDescription =
      hasPrizeDescriptionField ? reader.readString() : null;
  final randomId = reader.readInt64();
  final untilDate = reader.readDateTime();
  final currency = reader.readString();
  final amount = reader.readInt64();

  // Construct [InputStorePaymentPremiumGiveaway] object.
  final returnValue = InputStorePaymentPremiumGiveaway(
    onlyNewSubscribers: onlyNewSubscribers,
    winnersAreVisible: winnersAreVisible,
    boostPeer: boostPeer,
    additionalPeers: additionalPeers,
    countriesIso2: countriesIso2,
    prizeDescription: prizeDescription,
    randomId: randomId,
    untilDate: untilDate,
    currency: currency,
    amount: amount,
  );

  // Now return the deserialized [InputStorePaymentPremiumGiveaway].
  return returnValue;
}