MessageActionPaymentSentMe.deserialize constructor

MessageActionPaymentSentMe.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessageActionPaymentSentMe.deserialize(BinaryReader reader) {
  // Read [MessageActionPaymentSentMe] fields.
  final flags = reader.readInt32();
  final recurringInit = (flags & 4) != 0;
  final recurringUsed = (flags & 8) != 0;
  final currency = reader.readString();
  final totalAmount = reader.readInt64();
  final payload = reader.readBytes();
  final hasInfoField = (flags & 1) != 0;
  final info =
      hasInfoField ? reader.readObject() as PaymentRequestedInfoBase : null;
  final hasShippingOptionIdField = (flags & 2) != 0;
  final shippingOptionId =
      hasShippingOptionIdField ? reader.readString() : null;
  final charge = reader.readObject() as PaymentChargeBase;

  // Construct [MessageActionPaymentSentMe] object.
  final returnValue = MessageActionPaymentSentMe(
    recurringInit: recurringInit,
    recurringUsed: recurringUsed,
    currency: currency,
    totalAmount: totalAmount,
    payload: payload,
    info: info,
    shippingOptionId: shippingOptionId,
    charge: charge,
  );

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