text: // source: cosmos/distribution/v1beta1/distribution.proto
  /**
   * @fileoverview
   * @enhanceable
   * @suppress {missingRequire} reports error on implicit type usages.
   * @suppress {messageConventions} JS Compiler reports an error if a variable or
   *     field starts with 'MSG_' and isn't a translatable message.
   * @public
   */
  // GENERATED CODE -- DO NOT EDIT!
  /* eslint-disable */
  // @ts-nocheck
  
  var jspb = require('google-protobuf');
  var goog = jspb;
  var global = Function('return this')();
  
  var gogoproto_gogo_pb = require('../../../gogoproto/gogo_pb.js');
  goog.object.extend(proto, gogoproto_gogo_pb);
  var cosmos_base_v1beta1_coin_pb = require('../../base/v1beta1/coin_pb.js');
  goog.object.extend(proto, cosmos_base_v1beta1_coin_pb);
  goog.exportSymbol('proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal', null, global);
  goog.exportSymbol('proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit', null, global);
  goog.exportSymbol('proto.cosmos.distribution.v1beta1.DelegationDelegatorReward', null, global);
  goog.exportSymbol('proto.cosmos.distribution.v1beta1.DelegatorStartingInfo', null, global);
  goog.exportSymbol('proto.cosmos.distribution.v1beta1.FeePool', null, global);
  goog.exportSymbol('proto.cosmos.distribution.v1beta1.Params', null, global);
  goog.exportSymbol('proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission', null, global);
  goog.exportSymbol('proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards', null, global);
  goog.exportSymbol('proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards', null, global);
  goog.exportSymbol('proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards', null, global);
  goog.exportSymbol('proto.cosmos.distribution.v1beta1.ValidatorSlashEvent', null, global);
  goog.exportSymbol('proto.cosmos.distribution.v1beta1.ValidatorSlashEvents', null, global);
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cosmos.distribution.v1beta1.Params = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.cosmos.distribution.v1beta1.Params, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cosmos.distribution.v1beta1.Params.displayName = 'proto.cosmos.distribution.v1beta1.Params';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.repeatedFields_, null);
  };
  goog.inherits(proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.displayName = 'proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.repeatedFields_, null);
  };
  goog.inherits(proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.displayName = 'proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.repeatedFields_, null);
  };
  goog.inherits(proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.displayName = 'proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.repeatedFields_, null);
  };
  goog.inherits(proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.displayName = 'proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvent = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.cosmos.distribution.v1beta1.ValidatorSlashEvent, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.displayName = 'proto.cosmos.distribution.v1beta1.ValidatorSlashEvent';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvents = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.repeatedFields_, null);
  };
  goog.inherits(proto.cosmos.distribution.v1beta1.ValidatorSlashEvents, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.displayName = 'proto.cosmos.distribution.v1beta1.ValidatorSlashEvents';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cosmos.distribution.v1beta1.FeePool = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.cosmos.distribution.v1beta1.FeePool.repeatedFields_, null);
  };
  goog.inherits(proto.cosmos.distribution.v1beta1.FeePool, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cosmos.distribution.v1beta1.FeePool.displayName = 'proto.cosmos.distribution.v1beta1.FeePool';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.repeatedFields_, null);
  };
  goog.inherits(proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.displayName = 'proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.cosmos.distribution.v1beta1.DelegatorStartingInfo, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.displayName = 'proto.cosmos.distribution.v1beta1.DelegatorStartingInfo';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.repeatedFields_, null);
  };
  goog.inherits(proto.cosmos.distribution.v1beta1.DelegationDelegatorReward, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.displayName = 'proto.cosmos.distribution.v1beta1.DelegationDelegatorReward';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.displayName = 'proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit';
  }
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cosmos.distribution.v1beta1.Params.prototype.toObject = function(opt_includeInstance) {
    return proto.cosmos.distribution.v1beta1.Params.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cosmos.distribution.v1beta1.Params} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.Params.toObject = function(includeInstance, msg) {
    var f, obj = {
      communityTax: jspb.Message.getFieldWithDefault(msg, 1, ""),
      baseProposerReward: jspb.Message.getFieldWithDefault(msg, 2, ""),
      bonusProposerReward: jspb.Message.getFieldWithDefault(msg, 3, ""),
      withdrawAddrEnabled: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cosmos.distribution.v1beta1.Params}
   */
  proto.cosmos.distribution.v1beta1.Params.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cosmos.distribution.v1beta1.Params;
    return proto.cosmos.distribution.v1beta1.Params.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cosmos.distribution.v1beta1.Params} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cosmos.distribution.v1beta1.Params}
   */
  proto.cosmos.distribution.v1beta1.Params.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {string} */ (reader.readString());
        msg.setCommunityTax(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setBaseProposerReward(value);
        break;
      case 3:
        var value = /** @type {string} */ (reader.readString());
        msg.setBonusProposerReward(value);
        break;
      case 4:
        var value = /** @type {boolean} */ (reader.readBool());
        msg.setWithdrawAddrEnabled(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cosmos.distribution.v1beta1.Params.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cosmos.distribution.v1beta1.Params.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cosmos.distribution.v1beta1.Params} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.Params.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCommunityTax();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getBaseProposerReward();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
    f = message.getBonusProposerReward();
    if (f.length > 0) {
      writer.writeString(
        3,
        f
      );
    }
    f = message.getWithdrawAddrEnabled();
    if (f) {
      writer.writeBool(
        4,
        f
      );
    }
  };
  
  
  /**
   * optional string community_tax = 1;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.Params.prototype.getCommunityTax = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.Params} returns this
   */
  proto.cosmos.distribution.v1beta1.Params.prototype.setCommunityTax = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional string base_proposer_reward = 2;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.Params.prototype.getBaseProposerReward = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.Params} returns this
   */
  proto.cosmos.distribution.v1beta1.Params.prototype.setBaseProposerReward = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  /**
   * optional string bonus_proposer_reward = 3;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.Params.prototype.getBonusProposerReward = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.Params} returns this
   */
  proto.cosmos.distribution.v1beta1.Params.prototype.setBonusProposerReward = function(value) {
    return jspb.Message.setProto3StringField(this, 3, value);
  };
  
  
  /**
   * optional bool withdraw_addr_enabled = 4;
   * @return {boolean}
   */
  proto.cosmos.distribution.v1beta1.Params.prototype.getWithdrawAddrEnabled = function() {
    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
  };
  
  
  /**
   * @param {boolean} value
   * @return {!proto.cosmos.distribution.v1beta1.Params} returns this
   */
  proto.cosmos.distribution.v1beta1.Params.prototype.setWithdrawAddrEnabled = function(value) {
    return jspb.Message.setProto3BooleanField(this, 4, value);
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.repeatedFields_ = [1];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.prototype.toObject = function(opt_includeInstance) {
    return proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.toObject = function(includeInstance, msg) {
    var f, obj = {
      cumulativeRewardRatioList: jspb.Message.toObjectList(msg.getCumulativeRewardRatioList(),
      cosmos_base_v1beta1_coin_pb.DecCoin.toObject, includeInstance),
      referenceCount: jspb.Message.getFieldWithDefault(msg, 2, 0)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards}
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards;
    return proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards}
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new cosmos_base_v1beta1_coin_pb.DecCoin;
        reader.readMessage(value,cosmos_base_v1beta1_coin_pb.DecCoin.deserializeBinaryFromReader);
        msg.addCumulativeRewardRatio(value);
        break;
      case 2:
        var value = /** @type {number} */ (reader.readUint32());
        msg.setReferenceCount(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCumulativeRewardRatioList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        1,
        f,
        cosmos_base_v1beta1_coin_pb.DecCoin.serializeBinaryToWriter
      );
    }
    f = message.getReferenceCount();
    if (f !== 0) {
      writer.writeUint32(
        2,
        f
      );
    }
  };
  
  
  /**
   * repeated cosmos.base.v1beta1.DecCoin cumulative_reward_ratio = 1;
   * @return {!Array<!proto.cosmos.base.v1beta1.DecCoin>}
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.prototype.getCumulativeRewardRatioList = function() {
    return /** @type{!Array<!proto.cosmos.base.v1beta1.DecCoin>} */ (
      jspb.Message.getRepeatedWrapperField(this, cosmos_base_v1beta1_coin_pb.DecCoin, 1));
  };
  
  
  /**
   * @param {!Array<!proto.cosmos.base.v1beta1.DecCoin>} value
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards} returns this
  */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.prototype.setCumulativeRewardRatioList = function(value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
  };
  
  
  /**
   * @param {!proto.cosmos.base.v1beta1.DecCoin=} opt_value
   * @param {number=} opt_index
   * @return {!proto.cosmos.base.v1beta1.DecCoin}
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.prototype.addCumulativeRewardRatio = function(opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cosmos.base.v1beta1.DecCoin, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards} returns this
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.prototype.clearCumulativeRewardRatioList = function() {
    return this.setCumulativeRewardRatioList([]);
  };
  
  
  /**
   * optional uint32 reference_count = 2;
   * @return {number}
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.prototype.getReferenceCount = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  };
  
  
  /**
   * @param {number} value
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards} returns this
   */
  proto.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.prototype.setReferenceCount = function(value) {
    return jspb.Message.setProto3IntField(this, 2, value);
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.repeatedFields_ = [1];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.prototype.toObject = function(opt_includeInstance) {
    return proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.toObject = function(includeInstance, msg) {
    var f, obj = {
      rewardsList: jspb.Message.toObjectList(msg.getRewardsList(),
      cosmos_base_v1beta1_coin_pb.DecCoin.toObject, includeInstance),
      period: jspb.Message.getFieldWithDefault(msg, 2, 0)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards}
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards;
    return proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards}
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new cosmos_base_v1beta1_coin_pb.DecCoin;
        reader.readMessage(value,cosmos_base_v1beta1_coin_pb.DecCoin.deserializeBinaryFromReader);
        msg.addRewards(value);
        break;
      case 2:
        var value = /** @type {number} */ (reader.readUint64());
        msg.setPeriod(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getRewardsList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        1,
        f,
        cosmos_base_v1beta1_coin_pb.DecCoin.serializeBinaryToWriter
      );
    }
    f = message.getPeriod();
    if (f !== 0) {
      writer.writeUint64(
        2,
        f
      );
    }
  };
  
  
  /**
   * repeated cosmos.base.v1beta1.DecCoin rewards = 1;
   * @return {!Array<!proto.cosmos.base.v1beta1.DecCoin>}
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.prototype.getRewardsList = function() {
    return /** @type{!Array<!proto.cosmos.base.v1beta1.DecCoin>} */ (
      jspb.Message.getRepeatedWrapperField(this, cosmos_base_v1beta1_coin_pb.DecCoin, 1));
  };
  
  
  /**
   * @param {!Array<!proto.cosmos.base.v1beta1.DecCoin>} value
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards} returns this
  */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.prototype.setRewardsList = function(value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
  };
  
  
  /**
   * @param {!proto.cosmos.base.v1beta1.DecCoin=} opt_value
   * @param {number=} opt_index
   * @return {!proto.cosmos.base.v1beta1.DecCoin}
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.prototype.addRewards = function(opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cosmos.base.v1beta1.DecCoin, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards} returns this
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.prototype.clearRewardsList = function() {
    return this.setRewardsList([]);
  };
  
  
  /**
   * optional uint64 period = 2;
   * @return {number}
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.prototype.getPeriod = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  };
  
  
  /**
   * @param {number} value
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards} returns this
   */
  proto.cosmos.distribution.v1beta1.ValidatorCurrentRewards.prototype.setPeriod = function(value) {
    return jspb.Message.setProto3IntField(this, 2, value);
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.repeatedFields_ = [1];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.prototype.toObject = function(opt_includeInstance) {
    return proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.toObject = function(includeInstance, msg) {
    var f, obj = {
      commissionList: jspb.Message.toObjectList(msg.getCommissionList(),
      cosmos_base_v1beta1_coin_pb.DecCoin.toObject, includeInstance)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission}
   */
  proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission;
    return proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission}
   */
  proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new cosmos_base_v1beta1_coin_pb.DecCoin;
        reader.readMessage(value,cosmos_base_v1beta1_coin_pb.DecCoin.deserializeBinaryFromReader);
        msg.addCommission(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCommissionList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        1,
        f,
        cosmos_base_v1beta1_coin_pb.DecCoin.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * repeated cosmos.base.v1beta1.DecCoin commission = 1;
   * @return {!Array<!proto.cosmos.base.v1beta1.DecCoin>}
   */
  proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.prototype.getCommissionList = function() {
    return /** @type{!Array<!proto.cosmos.base.v1beta1.DecCoin>} */ (
      jspb.Message.getRepeatedWrapperField(this, cosmos_base_v1beta1_coin_pb.DecCoin, 1));
  };
  
  
  /**
   * @param {!Array<!proto.cosmos.base.v1beta1.DecCoin>} value
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission} returns this
  */
  proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.prototype.setCommissionList = function(value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
  };
  
  
  /**
   * @param {!proto.cosmos.base.v1beta1.DecCoin=} opt_value
   * @param {number=} opt_index
   * @return {!proto.cosmos.base.v1beta1.DecCoin}
   */
  proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.prototype.addCommission = function(opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cosmos.base.v1beta1.DecCoin, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission} returns this
   */
  proto.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.prototype.clearCommissionList = function() {
    return this.setCommissionList([]);
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.repeatedFields_ = [1];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.prototype.toObject = function(opt_includeInstance) {
    return proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.toObject = function(includeInstance, msg) {
    var f, obj = {
      rewardsList: jspb.Message.toObjectList(msg.getRewardsList(),
      cosmos_base_v1beta1_coin_pb.DecCoin.toObject, includeInstance)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards}
   */
  proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards;
    return proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards}
   */
  proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new cosmos_base_v1beta1_coin_pb.DecCoin;
        reader.readMessage(value,cosmos_base_v1beta1_coin_pb.DecCoin.deserializeBinaryFromReader);
        msg.addRewards(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getRewardsList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        1,
        f,
        cosmos_base_v1beta1_coin_pb.DecCoin.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * repeated cosmos.base.v1beta1.DecCoin rewards = 1;
   * @return {!Array<!proto.cosmos.base.v1beta1.DecCoin>}
   */
  proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.prototype.getRewardsList = function() {
    return /** @type{!Array<!proto.cosmos.base.v1beta1.DecCoin>} */ (
      jspb.Message.getRepeatedWrapperField(this, cosmos_base_v1beta1_coin_pb.DecCoin, 1));
  };
  
  
  /**
   * @param {!Array<!proto.cosmos.base.v1beta1.DecCoin>} value
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards} returns this
  */
  proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.prototype.setRewardsList = function(value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
  };
  
  
  /**
   * @param {!proto.cosmos.base.v1beta1.DecCoin=} opt_value
   * @param {number=} opt_index
   * @return {!proto.cosmos.base.v1beta1.DecCoin}
   */
  proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.prototype.addRewards = function(opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cosmos.base.v1beta1.DecCoin, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards} returns this
   */
  proto.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.prototype.clearRewardsList = function() {
    return this.setRewardsList([]);
  };
  
  
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.prototype.toObject = function(opt_includeInstance) {
    return proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvent} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.toObject = function(includeInstance, msg) {
    var f, obj = {
      validatorPeriod: jspb.Message.getFieldWithDefault(msg, 1, 0),
      fraction: jspb.Message.getFieldWithDefault(msg, 2, "")
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvent}
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cosmos.distribution.v1beta1.ValidatorSlashEvent;
    return proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvent} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvent}
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {number} */ (reader.readUint64());
        msg.setValidatorPeriod(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setFraction(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvent} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getValidatorPeriod();
    if (f !== 0) {
      writer.writeUint64(
        1,
        f
      );
    }
    f = message.getFraction();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
  };
  
  
  /**
   * optional uint64 validator_period = 1;
   * @return {number}
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.prototype.getValidatorPeriod = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  };
  
  
  /**
   * @param {number} value
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvent} returns this
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.prototype.setValidatorPeriod = function(value) {
    return jspb.Message.setProto3IntField(this, 1, value);
  };
  
  
  /**
   * optional string fraction = 2;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.prototype.getFraction = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvent} returns this
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.prototype.setFraction = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.repeatedFields_ = [1];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.prototype.toObject = function(opt_includeInstance) {
    return proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvents} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.toObject = function(includeInstance, msg) {
    var f, obj = {
      validatorSlashEventsList: jspb.Message.toObjectList(msg.getValidatorSlashEventsList(),
      proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.toObject, includeInstance)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvents}
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cosmos.distribution.v1beta1.ValidatorSlashEvents;
    return proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvents} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvents}
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new proto.cosmos.distribution.v1beta1.ValidatorSlashEvent;
        reader.readMessage(value,proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.deserializeBinaryFromReader);
        msg.addValidatorSlashEvents(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvents} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getValidatorSlashEventsList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        1,
        f,
        proto.cosmos.distribution.v1beta1.ValidatorSlashEvent.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * repeated ValidatorSlashEvent validator_slash_events = 1;
   * @return {!Array<!proto.cosmos.distribution.v1beta1.ValidatorSlashEvent>}
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.prototype.getValidatorSlashEventsList = function() {
    return /** @type{!Array<!proto.cosmos.distribution.v1beta1.ValidatorSlashEvent>} */ (
      jspb.Message.getRepeatedWrapperField(this, proto.cosmos.distribution.v1beta1.ValidatorSlashEvent, 1));
  };
  
  
  /**
   * @param {!Array<!proto.cosmos.distribution.v1beta1.ValidatorSlashEvent>} value
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvents} returns this
  */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.prototype.setValidatorSlashEventsList = function(value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
  };
  
  
  /**
   * @param {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvent=} opt_value
   * @param {number=} opt_index
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvent}
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.prototype.addValidatorSlashEvents = function(opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cosmos.distribution.v1beta1.ValidatorSlashEvent, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.cosmos.distribution.v1beta1.ValidatorSlashEvents} returns this
   */
  proto.cosmos.distribution.v1beta1.ValidatorSlashEvents.prototype.clearValidatorSlashEventsList = function() {
    return this.setValidatorSlashEventsList([]);
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.cosmos.distribution.v1beta1.FeePool.repeatedFields_ = [1];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cosmos.distribution.v1beta1.FeePool.prototype.toObject = function(opt_includeInstance) {
    return proto.cosmos.distribution.v1beta1.FeePool.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cosmos.distribution.v1beta1.FeePool} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.FeePool.toObject = function(includeInstance, msg) {
    var f, obj = {
      communityPoolList: jspb.Message.toObjectList(msg.getCommunityPoolList(),
      cosmos_base_v1beta1_coin_pb.DecCoin.toObject, includeInstance)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cosmos.distribution.v1beta1.FeePool}
   */
  proto.cosmos.distribution.v1beta1.FeePool.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cosmos.distribution.v1beta1.FeePool;
    return proto.cosmos.distribution.v1beta1.FeePool.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cosmos.distribution.v1beta1.FeePool} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cosmos.distribution.v1beta1.FeePool}
   */
  proto.cosmos.distribution.v1beta1.FeePool.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new cosmos_base_v1beta1_coin_pb.DecCoin;
        reader.readMessage(value,cosmos_base_v1beta1_coin_pb.DecCoin.deserializeBinaryFromReader);
        msg.addCommunityPool(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cosmos.distribution.v1beta1.FeePool.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cosmos.distribution.v1beta1.FeePool.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cosmos.distribution.v1beta1.FeePool} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.FeePool.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCommunityPoolList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        1,
        f,
        cosmos_base_v1beta1_coin_pb.DecCoin.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * repeated cosmos.base.v1beta1.DecCoin community_pool = 1;
   * @return {!Array<!proto.cosmos.base.v1beta1.DecCoin>}
   */
  proto.cosmos.distribution.v1beta1.FeePool.prototype.getCommunityPoolList = function() {
    return /** @type{!Array<!proto.cosmos.base.v1beta1.DecCoin>} */ (
      jspb.Message.getRepeatedWrapperField(this, cosmos_base_v1beta1_coin_pb.DecCoin, 1));
  };
  
  
  /**
   * @param {!Array<!proto.cosmos.base.v1beta1.DecCoin>} value
   * @return {!proto.cosmos.distribution.v1beta1.FeePool} returns this
  */
  proto.cosmos.distribution.v1beta1.FeePool.prototype.setCommunityPoolList = function(value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
  };
  
  
  /**
   * @param {!proto.cosmos.base.v1beta1.DecCoin=} opt_value
   * @param {number=} opt_index
   * @return {!proto.cosmos.base.v1beta1.DecCoin}
   */
  proto.cosmos.distribution.v1beta1.FeePool.prototype.addCommunityPool = function(opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cosmos.base.v1beta1.DecCoin, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.cosmos.distribution.v1beta1.FeePool} returns this
   */
  proto.cosmos.distribution.v1beta1.FeePool.prototype.clearCommunityPoolList = function() {
    return this.setCommunityPoolList([]);
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.repeatedFields_ = [4];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.prototype.toObject = function(opt_includeInstance) {
    return proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.toObject = function(includeInstance, msg) {
    var f, obj = {
      title: jspb.Message.getFieldWithDefault(msg, 1, ""),
      description: jspb.Message.getFieldWithDefault(msg, 2, ""),
      recipient: jspb.Message.getFieldWithDefault(msg, 3, ""),
      amountList: jspb.Message.toObjectList(msg.getAmountList(),
      cosmos_base_v1beta1_coin_pb.Coin.toObject, includeInstance)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal;
    return proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {string} */ (reader.readString());
        msg.setTitle(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setDescription(value);
        break;
      case 3:
        var value = /** @type {string} */ (reader.readString());
        msg.setRecipient(value);
        break;
      case 4:
        var value = new cosmos_base_v1beta1_coin_pb.Coin;
        reader.readMessage(value,cosmos_base_v1beta1_coin_pb.Coin.deserializeBinaryFromReader);
        msg.addAmount(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getTitle();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getDescription();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
    f = message.getRecipient();
    if (f.length > 0) {
      writer.writeString(
        3,
        f
      );
    }
    f = message.getAmountList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        4,
        f,
        cosmos_base_v1beta1_coin_pb.Coin.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional string title = 1;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.prototype.getTitle = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal} returns this
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.prototype.setTitle = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional string description = 2;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.prototype.getDescription = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal} returns this
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.prototype.setDescription = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  /**
   * optional string recipient = 3;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.prototype.getRecipient = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal} returns this
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.prototype.setRecipient = function(value) {
    return jspb.Message.setProto3StringField(this, 3, value);
  };
  
  
  /**
   * repeated cosmos.base.v1beta1.Coin amount = 4;
   * @return {!Array<!proto.cosmos.base.v1beta1.Coin>}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.prototype.getAmountList = function() {
    return /** @type{!Array<!proto.cosmos.base.v1beta1.Coin>} */ (
      jspb.Message.getRepeatedWrapperField(this, cosmos_base_v1beta1_coin_pb.Coin, 4));
  };
  
  
  /**
   * @param {!Array<!proto.cosmos.base.v1beta1.Coin>} value
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal} returns this
  */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.prototype.setAmountList = function(value) {
    return jspb.Message.setRepeatedWrapperField(this, 4, value);
  };
  
  
  /**
   * @param {!proto.cosmos.base.v1beta1.Coin=} opt_value
   * @param {number=} opt_index
   * @return {!proto.cosmos.base.v1beta1.Coin}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.prototype.addAmount = function(opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.cosmos.base.v1beta1.Coin, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal} returns this
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposal.prototype.clearAmountList = function() {
    return this.setAmountList([]);
  };
  
  
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.prototype.toObject = function(opt_includeInstance) {
    return proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cosmos.distribution.v1beta1.DelegatorStartingInfo} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.toObject = function(includeInstance, msg) {
    var f, obj = {
      previousPeriod: jspb.Message.getFieldWithDefault(msg, 1, 0),
      stake: jspb.Message.getFieldWithDefault(msg, 2, ""),
      height: jspb.Message.getFieldWithDefault(msg, 3, 0)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cosmos.distribution.v1beta1.DelegatorStartingInfo}
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cosmos.distribution.v1beta1.DelegatorStartingInfo;
    return proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cosmos.distribution.v1beta1.DelegatorStartingInfo} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cosmos.distribution.v1beta1.DelegatorStartingInfo}
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {number} */ (reader.readUint64());
        msg.setPreviousPeriod(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setStake(value);
        break;
      case 3:
        var value = /** @type {number} */ (reader.readUint64());
        msg.setHeight(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cosmos.distribution.v1beta1.DelegatorStartingInfo} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getPreviousPeriod();
    if (f !== 0) {
      writer.writeUint64(
        1,
        f
      );
    }
    f = message.getStake();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
    f = message.getHeight();
    if (f !== 0) {
      writer.writeUint64(
        3,
        f
      );
    }
  };
  
  
  /**
   * optional uint64 previous_period = 1;
   * @return {number}
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.prototype.getPreviousPeriod = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  };
  
  
  /**
   * @param {number} value
   * @return {!proto.cosmos.distribution.v1beta1.DelegatorStartingInfo} returns this
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.prototype.setPreviousPeriod = function(value) {
    return jspb.Message.setProto3IntField(this, 1, value);
  };
  
  
  /**
   * optional string stake = 2;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.prototype.getStake = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.DelegatorStartingInfo} returns this
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.prototype.setStake = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  /**
   * optional uint64 height = 3;
   * @return {number}
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.prototype.getHeight = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
  };
  
  
  /**
   * @param {number} value
   * @return {!proto.cosmos.distribution.v1beta1.DelegatorStartingInfo} returns this
   */
  proto.cosmos.distribution.v1beta1.DelegatorStartingInfo.prototype.setHeight = function(value) {
    return jspb.Message.setProto3IntField(this, 3, value);
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.repeatedFields_ = [2];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.prototype.toObject = function(opt_includeInstance) {
    return proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cosmos.distribution.v1beta1.DelegationDelegatorReward} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.toObject = function(includeInstance, msg) {
    var f, obj = {
      validatorAddress: jspb.Message.getFieldWithDefault(msg, 1, ""),
      rewardList: jspb.Message.toObjectList(msg.getRewardList(),
      cosmos_base_v1beta1_coin_pb.DecCoin.toObject, includeInstance)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cosmos.distribution.v1beta1.DelegationDelegatorReward}
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cosmos.distribution.v1beta1.DelegationDelegatorReward;
    return proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cosmos.distribution.v1beta1.DelegationDelegatorReward} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cosmos.distribution.v1beta1.DelegationDelegatorReward}
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {string} */ (reader.readString());
        msg.setValidatorAddress(value);
        break;
      case 2:
        var value = new cosmos_base_v1beta1_coin_pb.DecCoin;
        reader.readMessage(value,cosmos_base_v1beta1_coin_pb.DecCoin.deserializeBinaryFromReader);
        msg.addReward(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cosmos.distribution.v1beta1.DelegationDelegatorReward} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getValidatorAddress();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getRewardList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        2,
        f,
        cosmos_base_v1beta1_coin_pb.DecCoin.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional string validator_address = 1;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.prototype.getValidatorAddress = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.DelegationDelegatorReward} returns this
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.prototype.setValidatorAddress = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * repeated cosmos.base.v1beta1.DecCoin reward = 2;
   * @return {!Array<!proto.cosmos.base.v1beta1.DecCoin>}
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.prototype.getRewardList = function() {
    return /** @type{!Array<!proto.cosmos.base.v1beta1.DecCoin>} */ (
      jspb.Message.getRepeatedWrapperField(this, cosmos_base_v1beta1_coin_pb.DecCoin, 2));
  };
  
  
  /**
   * @param {!Array<!proto.cosmos.base.v1beta1.DecCoin>} value
   * @return {!proto.cosmos.distribution.v1beta1.DelegationDelegatorReward} returns this
  */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.prototype.setRewardList = function(value) {
    return jspb.Message.setRepeatedWrapperField(this, 2, value);
  };
  
  
  /**
   * @param {!proto.cosmos.base.v1beta1.DecCoin=} opt_value
   * @param {number=} opt_index
   * @return {!proto.cosmos.base.v1beta1.DecCoin}
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.prototype.addReward = function(opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.cosmos.base.v1beta1.DecCoin, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.cosmos.distribution.v1beta1.DelegationDelegatorReward} returns this
   */
  proto.cosmos.distribution.v1beta1.DelegationDelegatorReward.prototype.clearRewardList = function() {
    return this.setRewardList([]);
  };
  
  
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.prototype.toObject = function(opt_includeInstance) {
    return proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.toObject = function(includeInstance, msg) {
    var f, obj = {
      title: jspb.Message.getFieldWithDefault(msg, 1, ""),
      description: jspb.Message.getFieldWithDefault(msg, 2, ""),
      recipient: jspb.Message.getFieldWithDefault(msg, 3, ""),
      amount: jspb.Message.getFieldWithDefault(msg, 4, ""),
      deposit: jspb.Message.getFieldWithDefault(msg, 5, "")
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit;
    return proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {string} */ (reader.readString());
        msg.setTitle(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setDescription(value);
        break;
      case 3:
        var value = /** @type {string} */ (reader.readString());
        msg.setRecipient(value);
        break;
      case 4:
        var value = /** @type {string} */ (reader.readString());
        msg.setAmount(value);
        break;
      case 5:
        var value = /** @type {string} */ (reader.readString());
        msg.setDeposit(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getTitle();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getDescription();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
    f = message.getRecipient();
    if (f.length > 0) {
      writer.writeString(
        3,
        f
      );
    }
    f = message.getAmount();
    if (f.length > 0) {
      writer.writeString(
        4,
        f
      );
    }
    f = message.getDeposit();
    if (f.length > 0) {
      writer.writeString(
        5,
        f
      );
    }
  };
  
  
  /**
   * optional string title = 1;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.prototype.getTitle = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} returns this
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.prototype.setTitle = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional string description = 2;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.prototype.getDescription = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} returns this
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.prototype.setDescription = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  /**
   * optional string recipient = 3;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.prototype.getRecipient = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} returns this
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.prototype.setRecipient = function(value) {
    return jspb.Message.setProto3StringField(this, 3, value);
  };
  
  
  /**
   * optional string amount = 4;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.prototype.getAmount = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} returns this
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.prototype.setAmount = function(value) {
    return jspb.Message.setProto3StringField(this, 4, value);
  };
  
  
  /**
   * optional string deposit = 5;
   * @return {string}
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.prototype.getDeposit = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} returns this
   */
  proto.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.prototype.setDeposit = function(value) {
    return jspb.Message.setProto3StringField(this, 5, value);
  };
  
  
  goog.object.extend(exports, proto.cosmos.distribution.v1beta1);
  