coreum-js 2.5.9 → 2.5.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/dist/main/cosmos/distribution/v1beta1/distribution.d.ts +638 -0
  2. package/dist/main/cosmos/distribution/v1beta1/distribution.js +888 -0
  3. package/dist/main/cosmos/distribution/v1beta1/genesis.d.ts +1259 -0
  4. package/dist/main/cosmos/distribution/v1beta1/genesis.js +785 -0
  5. package/dist/main/cosmos/distribution/v1beta1/pagination.d.ts +128 -0
  6. package/dist/main/cosmos/distribution/v1beta1/pagination.js +228 -0
  7. package/dist/main/cosmos/distribution/v1beta1/query.d.ts +995 -0
  8. package/dist/main/cosmos/distribution/v1beta1/query.js +1336 -0
  9. package/dist/main/cosmos/distribution/v1beta1/tx.d.ts +593 -0
  10. package/dist/main/cosmos/distribution/v1beta1/tx.js +825 -0
  11. package/dist/main/cosmos/index.d.ts +135 -0
  12. package/dist/main/cosmos/index.js +49 -2
  13. package/dist/module/cosmos/distribution/v1beta1/distribution.d.ts +638 -0
  14. package/dist/module/cosmos/distribution/v1beta1/distribution.js +870 -0
  15. package/dist/module/cosmos/distribution/v1beta1/genesis.d.ts +1259 -0
  16. package/dist/module/cosmos/distribution/v1beta1/genesis.js +771 -0
  17. package/dist/module/cosmos/distribution/v1beta1/pagination.d.ts +128 -0
  18. package/dist/module/cosmos/distribution/v1beta1/pagination.js +220 -0
  19. package/dist/module/cosmos/distribution/v1beta1/query.d.ts +995 -0
  20. package/dist/module/cosmos/distribution/v1beta1/query.js +1316 -0
  21. package/dist/module/cosmos/distribution/v1beta1/tx.d.ts +593 -0
  22. package/dist/module/cosmos/distribution/v1beta1/tx.js +811 -0
  23. package/dist/module/cosmos/index.d.ts +135 -0
  24. package/dist/module/cosmos/index.js +48 -1
  25. package/package.json +1 -1
@@ -0,0 +1,1336 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.QueryClientImpl = exports.QueryCommunityPoolResponse = exports.QueryCommunityPoolRequest = exports.QueryDelegatorWithdrawAddressResponse = exports.QueryDelegatorWithdrawAddressRequest = exports.QueryDelegatorValidatorsResponse = exports.QueryDelegatorValidatorsRequest = exports.QueryDelegationTotalRewardsResponse = exports.QueryDelegationTotalRewardsRequest = exports.QueryDelegationRewardsResponse = exports.QueryDelegationRewardsRequest = exports.QueryValidatorSlashesResponse = exports.QueryValidatorSlashesRequest = exports.QueryValidatorCommissionResponse = exports.QueryValidatorCommissionRequest = exports.QueryValidatorOutstandingRewardsResponse = exports.QueryValidatorOutstandingRewardsRequest = exports.QueryValidatorDistributionInfoResponse = exports.QueryValidatorDistributionInfoRequest = exports.QueryParamsResponse = exports.QueryParamsRequest = exports.protobufPackage = void 0;
7
+ /* eslint-disable */
8
+ const long_1 = __importDefault(require("long"));
9
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
10
+ const pagination_1 = require("./pagination");
11
+ const coin_1 = require("../../base/v1beta1/coin");
12
+ const distribution_1 = require("./distribution");
13
+ exports.protobufPackage = "cosmos.distribution.v1beta1";
14
+ function createBaseQueryParamsRequest() {
15
+ return {};
16
+ }
17
+ exports.QueryParamsRequest = {
18
+ encode(_, writer = minimal_1.default.Writer.create()) {
19
+ return writer;
20
+ },
21
+ decode(input, length) {
22
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
23
+ let end = length === undefined ? reader.len : reader.pos + length;
24
+ const message = createBaseQueryParamsRequest();
25
+ while (reader.pos < end) {
26
+ const tag = reader.uint32();
27
+ switch (tag >>> 3) {
28
+ }
29
+ if ((tag & 7) === 4 || tag === 0) {
30
+ break;
31
+ }
32
+ reader.skipType(tag & 7);
33
+ }
34
+ return message;
35
+ },
36
+ fromJSON(_) {
37
+ return {};
38
+ },
39
+ toJSON(_) {
40
+ const obj = {};
41
+ return obj;
42
+ },
43
+ create(base) {
44
+ return exports.QueryParamsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
45
+ },
46
+ fromPartial(_) {
47
+ const message = createBaseQueryParamsRequest();
48
+ return message;
49
+ },
50
+ };
51
+ function createBaseQueryParamsResponse() {
52
+ return { params: undefined };
53
+ }
54
+ exports.QueryParamsResponse = {
55
+ encode(message, writer = minimal_1.default.Writer.create()) {
56
+ if (message.params !== undefined) {
57
+ distribution_1.Params.encode(message.params, writer.uint32(10).fork()).ldelim();
58
+ }
59
+ return writer;
60
+ },
61
+ decode(input, length) {
62
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
63
+ let end = length === undefined ? reader.len : reader.pos + length;
64
+ const message = createBaseQueryParamsResponse();
65
+ while (reader.pos < end) {
66
+ const tag = reader.uint32();
67
+ switch (tag >>> 3) {
68
+ case 1:
69
+ if (tag !== 10) {
70
+ break;
71
+ }
72
+ message.params = distribution_1.Params.decode(reader, reader.uint32());
73
+ continue;
74
+ }
75
+ if ((tag & 7) === 4 || tag === 0) {
76
+ break;
77
+ }
78
+ reader.skipType(tag & 7);
79
+ }
80
+ return message;
81
+ },
82
+ fromJSON(object) {
83
+ return {
84
+ params: isSet(object.params) ? distribution_1.Params.fromJSON(object.params) : undefined,
85
+ };
86
+ },
87
+ toJSON(message) {
88
+ const obj = {};
89
+ message.params !== undefined &&
90
+ (obj.params = message.params ? distribution_1.Params.toJSON(message.params) : undefined);
91
+ return obj;
92
+ },
93
+ create(base) {
94
+ return exports.QueryParamsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
95
+ },
96
+ fromPartial(object) {
97
+ const message = createBaseQueryParamsResponse();
98
+ message.params =
99
+ object.params !== undefined && object.params !== null
100
+ ? distribution_1.Params.fromPartial(object.params)
101
+ : undefined;
102
+ return message;
103
+ },
104
+ };
105
+ function createBaseQueryValidatorDistributionInfoRequest() {
106
+ return { validatorAddress: "" };
107
+ }
108
+ exports.QueryValidatorDistributionInfoRequest = {
109
+ encode(message, writer = minimal_1.default.Writer.create()) {
110
+ if (message.validatorAddress !== "") {
111
+ writer.uint32(10).string(message.validatorAddress);
112
+ }
113
+ return writer;
114
+ },
115
+ decode(input, length) {
116
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
117
+ let end = length === undefined ? reader.len : reader.pos + length;
118
+ const message = createBaseQueryValidatorDistributionInfoRequest();
119
+ while (reader.pos < end) {
120
+ const tag = reader.uint32();
121
+ switch (tag >>> 3) {
122
+ case 1:
123
+ if (tag !== 10) {
124
+ break;
125
+ }
126
+ message.validatorAddress = reader.string();
127
+ continue;
128
+ }
129
+ if ((tag & 7) === 4 || tag === 0) {
130
+ break;
131
+ }
132
+ reader.skipType(tag & 7);
133
+ }
134
+ return message;
135
+ },
136
+ fromJSON(object) {
137
+ return {
138
+ validatorAddress: isSet(object.validatorAddress)
139
+ ? String(object.validatorAddress)
140
+ : "",
141
+ };
142
+ },
143
+ toJSON(message) {
144
+ const obj = {};
145
+ message.validatorAddress !== undefined &&
146
+ (obj.validatorAddress = message.validatorAddress);
147
+ return obj;
148
+ },
149
+ create(base) {
150
+ return exports.QueryValidatorDistributionInfoRequest.fromPartial(base !== null && base !== void 0 ? base : {});
151
+ },
152
+ fromPartial(object) {
153
+ var _a;
154
+ const message = createBaseQueryValidatorDistributionInfoRequest();
155
+ message.validatorAddress = (_a = object.validatorAddress) !== null && _a !== void 0 ? _a : "";
156
+ return message;
157
+ },
158
+ };
159
+ function createBaseQueryValidatorDistributionInfoResponse() {
160
+ return { operatorAddress: "", selfBondRewards: [], commission: [] };
161
+ }
162
+ exports.QueryValidatorDistributionInfoResponse = {
163
+ encode(message, writer = minimal_1.default.Writer.create()) {
164
+ if (message.operatorAddress !== "") {
165
+ writer.uint32(10).string(message.operatorAddress);
166
+ }
167
+ for (const v of message.selfBondRewards) {
168
+ coin_1.DecCoin.encode(v, writer.uint32(18).fork()).ldelim();
169
+ }
170
+ for (const v of message.commission) {
171
+ coin_1.DecCoin.encode(v, writer.uint32(26).fork()).ldelim();
172
+ }
173
+ return writer;
174
+ },
175
+ decode(input, length) {
176
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
177
+ let end = length === undefined ? reader.len : reader.pos + length;
178
+ const message = createBaseQueryValidatorDistributionInfoResponse();
179
+ while (reader.pos < end) {
180
+ const tag = reader.uint32();
181
+ switch (tag >>> 3) {
182
+ case 1:
183
+ if (tag !== 10) {
184
+ break;
185
+ }
186
+ message.operatorAddress = reader.string();
187
+ continue;
188
+ case 2:
189
+ if (tag !== 18) {
190
+ break;
191
+ }
192
+ message.selfBondRewards.push(coin_1.DecCoin.decode(reader, reader.uint32()));
193
+ continue;
194
+ case 3:
195
+ if (tag !== 26) {
196
+ break;
197
+ }
198
+ message.commission.push(coin_1.DecCoin.decode(reader, reader.uint32()));
199
+ continue;
200
+ }
201
+ if ((tag & 7) === 4 || tag === 0) {
202
+ break;
203
+ }
204
+ reader.skipType(tag & 7);
205
+ }
206
+ return message;
207
+ },
208
+ fromJSON(object) {
209
+ return {
210
+ operatorAddress: isSet(object.operatorAddress)
211
+ ? String(object.operatorAddress)
212
+ : "",
213
+ selfBondRewards: Array.isArray(object === null || object === void 0 ? void 0 : object.selfBondRewards)
214
+ ? object.selfBondRewards.map((e) => coin_1.DecCoin.fromJSON(e))
215
+ : [],
216
+ commission: Array.isArray(object === null || object === void 0 ? void 0 : object.commission)
217
+ ? object.commission.map((e) => coin_1.DecCoin.fromJSON(e))
218
+ : [],
219
+ };
220
+ },
221
+ toJSON(message) {
222
+ const obj = {};
223
+ message.operatorAddress !== undefined &&
224
+ (obj.operatorAddress = message.operatorAddress);
225
+ if (message.selfBondRewards) {
226
+ obj.selfBondRewards = message.selfBondRewards.map((e) => e ? coin_1.DecCoin.toJSON(e) : undefined);
227
+ }
228
+ else {
229
+ obj.selfBondRewards = [];
230
+ }
231
+ if (message.commission) {
232
+ obj.commission = message.commission.map((e) => e ? coin_1.DecCoin.toJSON(e) : undefined);
233
+ }
234
+ else {
235
+ obj.commission = [];
236
+ }
237
+ return obj;
238
+ },
239
+ create(base) {
240
+ return exports.QueryValidatorDistributionInfoResponse.fromPartial(base !== null && base !== void 0 ? base : {});
241
+ },
242
+ fromPartial(object) {
243
+ var _a, _b, _c;
244
+ const message = createBaseQueryValidatorDistributionInfoResponse();
245
+ message.operatorAddress = (_a = object.operatorAddress) !== null && _a !== void 0 ? _a : "";
246
+ message.selfBondRewards =
247
+ ((_b = object.selfBondRewards) === null || _b === void 0 ? void 0 : _b.map((e) => coin_1.DecCoin.fromPartial(e))) || [];
248
+ message.commission =
249
+ ((_c = object.commission) === null || _c === void 0 ? void 0 : _c.map((e) => coin_1.DecCoin.fromPartial(e))) || [];
250
+ return message;
251
+ },
252
+ };
253
+ function createBaseQueryValidatorOutstandingRewardsRequest() {
254
+ return { validatorAddress: "" };
255
+ }
256
+ exports.QueryValidatorOutstandingRewardsRequest = {
257
+ encode(message, writer = minimal_1.default.Writer.create()) {
258
+ if (message.validatorAddress !== "") {
259
+ writer.uint32(10).string(message.validatorAddress);
260
+ }
261
+ return writer;
262
+ },
263
+ decode(input, length) {
264
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
265
+ let end = length === undefined ? reader.len : reader.pos + length;
266
+ const message = createBaseQueryValidatorOutstandingRewardsRequest();
267
+ while (reader.pos < end) {
268
+ const tag = reader.uint32();
269
+ switch (tag >>> 3) {
270
+ case 1:
271
+ if (tag !== 10) {
272
+ break;
273
+ }
274
+ message.validatorAddress = reader.string();
275
+ continue;
276
+ }
277
+ if ((tag & 7) === 4 || tag === 0) {
278
+ break;
279
+ }
280
+ reader.skipType(tag & 7);
281
+ }
282
+ return message;
283
+ },
284
+ fromJSON(object) {
285
+ return {
286
+ validatorAddress: isSet(object.validatorAddress)
287
+ ? String(object.validatorAddress)
288
+ : "",
289
+ };
290
+ },
291
+ toJSON(message) {
292
+ const obj = {};
293
+ message.validatorAddress !== undefined &&
294
+ (obj.validatorAddress = message.validatorAddress);
295
+ return obj;
296
+ },
297
+ create(base) {
298
+ return exports.QueryValidatorOutstandingRewardsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
299
+ },
300
+ fromPartial(object) {
301
+ var _a;
302
+ const message = createBaseQueryValidatorOutstandingRewardsRequest();
303
+ message.validatorAddress = (_a = object.validatorAddress) !== null && _a !== void 0 ? _a : "";
304
+ return message;
305
+ },
306
+ };
307
+ function createBaseQueryValidatorOutstandingRewardsResponse() {
308
+ return { rewards: undefined };
309
+ }
310
+ exports.QueryValidatorOutstandingRewardsResponse = {
311
+ encode(message, writer = minimal_1.default.Writer.create()) {
312
+ if (message.rewards !== undefined) {
313
+ distribution_1.ValidatorOutstandingRewards.encode(message.rewards, writer.uint32(10).fork()).ldelim();
314
+ }
315
+ return writer;
316
+ },
317
+ decode(input, length) {
318
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
319
+ let end = length === undefined ? reader.len : reader.pos + length;
320
+ const message = createBaseQueryValidatorOutstandingRewardsResponse();
321
+ while (reader.pos < end) {
322
+ const tag = reader.uint32();
323
+ switch (tag >>> 3) {
324
+ case 1:
325
+ if (tag !== 10) {
326
+ break;
327
+ }
328
+ message.rewards = distribution_1.ValidatorOutstandingRewards.decode(reader, reader.uint32());
329
+ continue;
330
+ }
331
+ if ((tag & 7) === 4 || tag === 0) {
332
+ break;
333
+ }
334
+ reader.skipType(tag & 7);
335
+ }
336
+ return message;
337
+ },
338
+ fromJSON(object) {
339
+ return {
340
+ rewards: isSet(object.rewards)
341
+ ? distribution_1.ValidatorOutstandingRewards.fromJSON(object.rewards)
342
+ : undefined,
343
+ };
344
+ },
345
+ toJSON(message) {
346
+ const obj = {};
347
+ message.rewards !== undefined &&
348
+ (obj.rewards = message.rewards
349
+ ? distribution_1.ValidatorOutstandingRewards.toJSON(message.rewards)
350
+ : undefined);
351
+ return obj;
352
+ },
353
+ create(base) {
354
+ return exports.QueryValidatorOutstandingRewardsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
355
+ },
356
+ fromPartial(object) {
357
+ const message = createBaseQueryValidatorOutstandingRewardsResponse();
358
+ message.rewards =
359
+ object.rewards !== undefined && object.rewards !== null
360
+ ? distribution_1.ValidatorOutstandingRewards.fromPartial(object.rewards)
361
+ : undefined;
362
+ return message;
363
+ },
364
+ };
365
+ function createBaseQueryValidatorCommissionRequest() {
366
+ return { validatorAddress: "" };
367
+ }
368
+ exports.QueryValidatorCommissionRequest = {
369
+ encode(message, writer = minimal_1.default.Writer.create()) {
370
+ if (message.validatorAddress !== "") {
371
+ writer.uint32(10).string(message.validatorAddress);
372
+ }
373
+ return writer;
374
+ },
375
+ decode(input, length) {
376
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
377
+ let end = length === undefined ? reader.len : reader.pos + length;
378
+ const message = createBaseQueryValidatorCommissionRequest();
379
+ while (reader.pos < end) {
380
+ const tag = reader.uint32();
381
+ switch (tag >>> 3) {
382
+ case 1:
383
+ if (tag !== 10) {
384
+ break;
385
+ }
386
+ message.validatorAddress = reader.string();
387
+ continue;
388
+ }
389
+ if ((tag & 7) === 4 || tag === 0) {
390
+ break;
391
+ }
392
+ reader.skipType(tag & 7);
393
+ }
394
+ return message;
395
+ },
396
+ fromJSON(object) {
397
+ return {
398
+ validatorAddress: isSet(object.validatorAddress)
399
+ ? String(object.validatorAddress)
400
+ : "",
401
+ };
402
+ },
403
+ toJSON(message) {
404
+ const obj = {};
405
+ message.validatorAddress !== undefined &&
406
+ (obj.validatorAddress = message.validatorAddress);
407
+ return obj;
408
+ },
409
+ create(base) {
410
+ return exports.QueryValidatorCommissionRequest.fromPartial(base !== null && base !== void 0 ? base : {});
411
+ },
412
+ fromPartial(object) {
413
+ var _a;
414
+ const message = createBaseQueryValidatorCommissionRequest();
415
+ message.validatorAddress = (_a = object.validatorAddress) !== null && _a !== void 0 ? _a : "";
416
+ return message;
417
+ },
418
+ };
419
+ function createBaseQueryValidatorCommissionResponse() {
420
+ return { commission: undefined };
421
+ }
422
+ exports.QueryValidatorCommissionResponse = {
423
+ encode(message, writer = minimal_1.default.Writer.create()) {
424
+ if (message.commission !== undefined) {
425
+ distribution_1.ValidatorAccumulatedCommission.encode(message.commission, writer.uint32(10).fork()).ldelim();
426
+ }
427
+ return writer;
428
+ },
429
+ decode(input, length) {
430
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
431
+ let end = length === undefined ? reader.len : reader.pos + length;
432
+ const message = createBaseQueryValidatorCommissionResponse();
433
+ while (reader.pos < end) {
434
+ const tag = reader.uint32();
435
+ switch (tag >>> 3) {
436
+ case 1:
437
+ if (tag !== 10) {
438
+ break;
439
+ }
440
+ message.commission = distribution_1.ValidatorAccumulatedCommission.decode(reader, reader.uint32());
441
+ continue;
442
+ }
443
+ if ((tag & 7) === 4 || tag === 0) {
444
+ break;
445
+ }
446
+ reader.skipType(tag & 7);
447
+ }
448
+ return message;
449
+ },
450
+ fromJSON(object) {
451
+ return {
452
+ commission: isSet(object.commission)
453
+ ? distribution_1.ValidatorAccumulatedCommission.fromJSON(object.commission)
454
+ : undefined,
455
+ };
456
+ },
457
+ toJSON(message) {
458
+ const obj = {};
459
+ message.commission !== undefined &&
460
+ (obj.commission = message.commission
461
+ ? distribution_1.ValidatorAccumulatedCommission.toJSON(message.commission)
462
+ : undefined);
463
+ return obj;
464
+ },
465
+ create(base) {
466
+ return exports.QueryValidatorCommissionResponse.fromPartial(base !== null && base !== void 0 ? base : {});
467
+ },
468
+ fromPartial(object) {
469
+ const message = createBaseQueryValidatorCommissionResponse();
470
+ message.commission =
471
+ object.commission !== undefined && object.commission !== null
472
+ ? distribution_1.ValidatorAccumulatedCommission.fromPartial(object.commission)
473
+ : undefined;
474
+ return message;
475
+ },
476
+ };
477
+ function createBaseQueryValidatorSlashesRequest() {
478
+ return {
479
+ validatorAddress: "",
480
+ startingHeight: 0,
481
+ endingHeight: 0,
482
+ pagination: undefined,
483
+ };
484
+ }
485
+ exports.QueryValidatorSlashesRequest = {
486
+ encode(message, writer = minimal_1.default.Writer.create()) {
487
+ if (message.validatorAddress !== "") {
488
+ writer.uint32(10).string(message.validatorAddress);
489
+ }
490
+ if (message.startingHeight !== 0) {
491
+ writer.uint32(16).uint64(message.startingHeight);
492
+ }
493
+ if (message.endingHeight !== 0) {
494
+ writer.uint32(24).uint64(message.endingHeight);
495
+ }
496
+ if (message.pagination !== undefined) {
497
+ pagination_1.PageRequest.encode(message.pagination, writer.uint32(34).fork()).ldelim();
498
+ }
499
+ return writer;
500
+ },
501
+ decode(input, length) {
502
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
503
+ let end = length === undefined ? reader.len : reader.pos + length;
504
+ const message = createBaseQueryValidatorSlashesRequest();
505
+ while (reader.pos < end) {
506
+ const tag = reader.uint32();
507
+ switch (tag >>> 3) {
508
+ case 1:
509
+ if (tag !== 10) {
510
+ break;
511
+ }
512
+ message.validatorAddress = reader.string();
513
+ continue;
514
+ case 2:
515
+ if (tag !== 16) {
516
+ break;
517
+ }
518
+ message.startingHeight = longToNumber(reader.uint64());
519
+ continue;
520
+ case 3:
521
+ if (tag !== 24) {
522
+ break;
523
+ }
524
+ message.endingHeight = longToNumber(reader.uint64());
525
+ continue;
526
+ case 4:
527
+ if (tag !== 34) {
528
+ break;
529
+ }
530
+ message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32());
531
+ continue;
532
+ }
533
+ if ((tag & 7) === 4 || tag === 0) {
534
+ break;
535
+ }
536
+ reader.skipType(tag & 7);
537
+ }
538
+ return message;
539
+ },
540
+ fromJSON(object) {
541
+ return {
542
+ validatorAddress: isSet(object.validatorAddress)
543
+ ? String(object.validatorAddress)
544
+ : "",
545
+ startingHeight: isSet(object.startingHeight)
546
+ ? Number(object.startingHeight)
547
+ : 0,
548
+ endingHeight: isSet(object.endingHeight)
549
+ ? Number(object.endingHeight)
550
+ : 0,
551
+ pagination: isSet(object.pagination)
552
+ ? pagination_1.PageRequest.fromJSON(object.pagination)
553
+ : undefined,
554
+ };
555
+ },
556
+ toJSON(message) {
557
+ const obj = {};
558
+ message.validatorAddress !== undefined &&
559
+ (obj.validatorAddress = message.validatorAddress);
560
+ message.startingHeight !== undefined &&
561
+ (obj.startingHeight = Math.round(message.startingHeight));
562
+ message.endingHeight !== undefined &&
563
+ (obj.endingHeight = Math.round(message.endingHeight));
564
+ message.pagination !== undefined &&
565
+ (obj.pagination = message.pagination
566
+ ? pagination_1.PageRequest.toJSON(message.pagination)
567
+ : undefined);
568
+ return obj;
569
+ },
570
+ create(base) {
571
+ return exports.QueryValidatorSlashesRequest.fromPartial(base !== null && base !== void 0 ? base : {});
572
+ },
573
+ fromPartial(object) {
574
+ var _a, _b, _c;
575
+ const message = createBaseQueryValidatorSlashesRequest();
576
+ message.validatorAddress = (_a = object.validatorAddress) !== null && _a !== void 0 ? _a : "";
577
+ message.startingHeight = (_b = object.startingHeight) !== null && _b !== void 0 ? _b : 0;
578
+ message.endingHeight = (_c = object.endingHeight) !== null && _c !== void 0 ? _c : 0;
579
+ message.pagination =
580
+ object.pagination !== undefined && object.pagination !== null
581
+ ? pagination_1.PageRequest.fromPartial(object.pagination)
582
+ : undefined;
583
+ return message;
584
+ },
585
+ };
586
+ function createBaseQueryValidatorSlashesResponse() {
587
+ return { slashes: [], pagination: undefined };
588
+ }
589
+ exports.QueryValidatorSlashesResponse = {
590
+ encode(message, writer = minimal_1.default.Writer.create()) {
591
+ for (const v of message.slashes) {
592
+ distribution_1.ValidatorSlashEvent.encode(v, writer.uint32(10).fork()).ldelim();
593
+ }
594
+ if (message.pagination !== undefined) {
595
+ pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim();
596
+ }
597
+ return writer;
598
+ },
599
+ decode(input, length) {
600
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
601
+ let end = length === undefined ? reader.len : reader.pos + length;
602
+ const message = createBaseQueryValidatorSlashesResponse();
603
+ while (reader.pos < end) {
604
+ const tag = reader.uint32();
605
+ switch (tag >>> 3) {
606
+ case 1:
607
+ if (tag !== 10) {
608
+ break;
609
+ }
610
+ message.slashes.push(distribution_1.ValidatorSlashEvent.decode(reader, reader.uint32()));
611
+ continue;
612
+ case 2:
613
+ if (tag !== 18) {
614
+ break;
615
+ }
616
+ message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32());
617
+ continue;
618
+ }
619
+ if ((tag & 7) === 4 || tag === 0) {
620
+ break;
621
+ }
622
+ reader.skipType(tag & 7);
623
+ }
624
+ return message;
625
+ },
626
+ fromJSON(object) {
627
+ return {
628
+ slashes: Array.isArray(object === null || object === void 0 ? void 0 : object.slashes)
629
+ ? object.slashes.map((e) => distribution_1.ValidatorSlashEvent.fromJSON(e))
630
+ : [],
631
+ pagination: isSet(object.pagination)
632
+ ? pagination_1.PageResponse.fromJSON(object.pagination)
633
+ : undefined,
634
+ };
635
+ },
636
+ toJSON(message) {
637
+ const obj = {};
638
+ if (message.slashes) {
639
+ obj.slashes = message.slashes.map((e) => e ? distribution_1.ValidatorSlashEvent.toJSON(e) : undefined);
640
+ }
641
+ else {
642
+ obj.slashes = [];
643
+ }
644
+ message.pagination !== undefined &&
645
+ (obj.pagination = message.pagination
646
+ ? pagination_1.PageResponse.toJSON(message.pagination)
647
+ : undefined);
648
+ return obj;
649
+ },
650
+ create(base) {
651
+ return exports.QueryValidatorSlashesResponse.fromPartial(base !== null && base !== void 0 ? base : {});
652
+ },
653
+ fromPartial(object) {
654
+ var _a;
655
+ const message = createBaseQueryValidatorSlashesResponse();
656
+ message.slashes =
657
+ ((_a = object.slashes) === null || _a === void 0 ? void 0 : _a.map((e) => distribution_1.ValidatorSlashEvent.fromPartial(e))) || [];
658
+ message.pagination =
659
+ object.pagination !== undefined && object.pagination !== null
660
+ ? pagination_1.PageResponse.fromPartial(object.pagination)
661
+ : undefined;
662
+ return message;
663
+ },
664
+ };
665
+ function createBaseQueryDelegationRewardsRequest() {
666
+ return { delegatorAddress: "", validatorAddress: "" };
667
+ }
668
+ exports.QueryDelegationRewardsRequest = {
669
+ encode(message, writer = minimal_1.default.Writer.create()) {
670
+ if (message.delegatorAddress !== "") {
671
+ writer.uint32(10).string(message.delegatorAddress);
672
+ }
673
+ if (message.validatorAddress !== "") {
674
+ writer.uint32(18).string(message.validatorAddress);
675
+ }
676
+ return writer;
677
+ },
678
+ decode(input, length) {
679
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
680
+ let end = length === undefined ? reader.len : reader.pos + length;
681
+ const message = createBaseQueryDelegationRewardsRequest();
682
+ while (reader.pos < end) {
683
+ const tag = reader.uint32();
684
+ switch (tag >>> 3) {
685
+ case 1:
686
+ if (tag !== 10) {
687
+ break;
688
+ }
689
+ message.delegatorAddress = reader.string();
690
+ continue;
691
+ case 2:
692
+ if (tag !== 18) {
693
+ break;
694
+ }
695
+ message.validatorAddress = reader.string();
696
+ continue;
697
+ }
698
+ if ((tag & 7) === 4 || tag === 0) {
699
+ break;
700
+ }
701
+ reader.skipType(tag & 7);
702
+ }
703
+ return message;
704
+ },
705
+ fromJSON(object) {
706
+ return {
707
+ delegatorAddress: isSet(object.delegatorAddress)
708
+ ? String(object.delegatorAddress)
709
+ : "",
710
+ validatorAddress: isSet(object.validatorAddress)
711
+ ? String(object.validatorAddress)
712
+ : "",
713
+ };
714
+ },
715
+ toJSON(message) {
716
+ const obj = {};
717
+ message.delegatorAddress !== undefined &&
718
+ (obj.delegatorAddress = message.delegatorAddress);
719
+ message.validatorAddress !== undefined &&
720
+ (obj.validatorAddress = message.validatorAddress);
721
+ return obj;
722
+ },
723
+ create(base) {
724
+ return exports.QueryDelegationRewardsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
725
+ },
726
+ fromPartial(object) {
727
+ var _a, _b;
728
+ const message = createBaseQueryDelegationRewardsRequest();
729
+ message.delegatorAddress = (_a = object.delegatorAddress) !== null && _a !== void 0 ? _a : "";
730
+ message.validatorAddress = (_b = object.validatorAddress) !== null && _b !== void 0 ? _b : "";
731
+ return message;
732
+ },
733
+ };
734
+ function createBaseQueryDelegationRewardsResponse() {
735
+ return { rewards: [] };
736
+ }
737
+ exports.QueryDelegationRewardsResponse = {
738
+ encode(message, writer = minimal_1.default.Writer.create()) {
739
+ for (const v of message.rewards) {
740
+ coin_1.DecCoin.encode(v, writer.uint32(10).fork()).ldelim();
741
+ }
742
+ return writer;
743
+ },
744
+ decode(input, length) {
745
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
746
+ let end = length === undefined ? reader.len : reader.pos + length;
747
+ const message = createBaseQueryDelegationRewardsResponse();
748
+ while (reader.pos < end) {
749
+ const tag = reader.uint32();
750
+ switch (tag >>> 3) {
751
+ case 1:
752
+ if (tag !== 10) {
753
+ break;
754
+ }
755
+ message.rewards.push(coin_1.DecCoin.decode(reader, reader.uint32()));
756
+ continue;
757
+ }
758
+ if ((tag & 7) === 4 || tag === 0) {
759
+ break;
760
+ }
761
+ reader.skipType(tag & 7);
762
+ }
763
+ return message;
764
+ },
765
+ fromJSON(object) {
766
+ return {
767
+ rewards: Array.isArray(object === null || object === void 0 ? void 0 : object.rewards)
768
+ ? object.rewards.map((e) => coin_1.DecCoin.fromJSON(e))
769
+ : [],
770
+ };
771
+ },
772
+ toJSON(message) {
773
+ const obj = {};
774
+ if (message.rewards) {
775
+ obj.rewards = message.rewards.map((e) => e ? coin_1.DecCoin.toJSON(e) : undefined);
776
+ }
777
+ else {
778
+ obj.rewards = [];
779
+ }
780
+ return obj;
781
+ },
782
+ create(base) {
783
+ return exports.QueryDelegationRewardsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
784
+ },
785
+ fromPartial(object) {
786
+ var _a;
787
+ const message = createBaseQueryDelegationRewardsResponse();
788
+ message.rewards = ((_a = object.rewards) === null || _a === void 0 ? void 0 : _a.map((e) => coin_1.DecCoin.fromPartial(e))) || [];
789
+ return message;
790
+ },
791
+ };
792
+ function createBaseQueryDelegationTotalRewardsRequest() {
793
+ return { delegatorAddress: "" };
794
+ }
795
+ exports.QueryDelegationTotalRewardsRequest = {
796
+ encode(message, writer = minimal_1.default.Writer.create()) {
797
+ if (message.delegatorAddress !== "") {
798
+ writer.uint32(10).string(message.delegatorAddress);
799
+ }
800
+ return writer;
801
+ },
802
+ decode(input, length) {
803
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
804
+ let end = length === undefined ? reader.len : reader.pos + length;
805
+ const message = createBaseQueryDelegationTotalRewardsRequest();
806
+ while (reader.pos < end) {
807
+ const tag = reader.uint32();
808
+ switch (tag >>> 3) {
809
+ case 1:
810
+ if (tag !== 10) {
811
+ break;
812
+ }
813
+ message.delegatorAddress = reader.string();
814
+ continue;
815
+ }
816
+ if ((tag & 7) === 4 || tag === 0) {
817
+ break;
818
+ }
819
+ reader.skipType(tag & 7);
820
+ }
821
+ return message;
822
+ },
823
+ fromJSON(object) {
824
+ return {
825
+ delegatorAddress: isSet(object.delegatorAddress)
826
+ ? String(object.delegatorAddress)
827
+ : "",
828
+ };
829
+ },
830
+ toJSON(message) {
831
+ const obj = {};
832
+ message.delegatorAddress !== undefined &&
833
+ (obj.delegatorAddress = message.delegatorAddress);
834
+ return obj;
835
+ },
836
+ create(base) {
837
+ return exports.QueryDelegationTotalRewardsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
838
+ },
839
+ fromPartial(object) {
840
+ var _a;
841
+ const message = createBaseQueryDelegationTotalRewardsRequest();
842
+ message.delegatorAddress = (_a = object.delegatorAddress) !== null && _a !== void 0 ? _a : "";
843
+ return message;
844
+ },
845
+ };
846
+ function createBaseQueryDelegationTotalRewardsResponse() {
847
+ return { rewards: [], total: [] };
848
+ }
849
+ exports.QueryDelegationTotalRewardsResponse = {
850
+ encode(message, writer = minimal_1.default.Writer.create()) {
851
+ for (const v of message.rewards) {
852
+ distribution_1.DelegationDelegatorReward.encode(v, writer.uint32(10).fork()).ldelim();
853
+ }
854
+ for (const v of message.total) {
855
+ coin_1.DecCoin.encode(v, writer.uint32(18).fork()).ldelim();
856
+ }
857
+ return writer;
858
+ },
859
+ decode(input, length) {
860
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
861
+ let end = length === undefined ? reader.len : reader.pos + length;
862
+ const message = createBaseQueryDelegationTotalRewardsResponse();
863
+ while (reader.pos < end) {
864
+ const tag = reader.uint32();
865
+ switch (tag >>> 3) {
866
+ case 1:
867
+ if (tag !== 10) {
868
+ break;
869
+ }
870
+ message.rewards.push(distribution_1.DelegationDelegatorReward.decode(reader, reader.uint32()));
871
+ continue;
872
+ case 2:
873
+ if (tag !== 18) {
874
+ break;
875
+ }
876
+ message.total.push(coin_1.DecCoin.decode(reader, reader.uint32()));
877
+ continue;
878
+ }
879
+ if ((tag & 7) === 4 || tag === 0) {
880
+ break;
881
+ }
882
+ reader.skipType(tag & 7);
883
+ }
884
+ return message;
885
+ },
886
+ fromJSON(object) {
887
+ return {
888
+ rewards: Array.isArray(object === null || object === void 0 ? void 0 : object.rewards)
889
+ ? object.rewards.map((e) => distribution_1.DelegationDelegatorReward.fromJSON(e))
890
+ : [],
891
+ total: Array.isArray(object === null || object === void 0 ? void 0 : object.total)
892
+ ? object.total.map((e) => coin_1.DecCoin.fromJSON(e))
893
+ : [],
894
+ };
895
+ },
896
+ toJSON(message) {
897
+ const obj = {};
898
+ if (message.rewards) {
899
+ obj.rewards = message.rewards.map((e) => e ? distribution_1.DelegationDelegatorReward.toJSON(e) : undefined);
900
+ }
901
+ else {
902
+ obj.rewards = [];
903
+ }
904
+ if (message.total) {
905
+ obj.total = message.total.map((e) => (e ? coin_1.DecCoin.toJSON(e) : undefined));
906
+ }
907
+ else {
908
+ obj.total = [];
909
+ }
910
+ return obj;
911
+ },
912
+ create(base) {
913
+ return exports.QueryDelegationTotalRewardsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
914
+ },
915
+ fromPartial(object) {
916
+ var _a, _b;
917
+ const message = createBaseQueryDelegationTotalRewardsResponse();
918
+ message.rewards =
919
+ ((_a = object.rewards) === null || _a === void 0 ? void 0 : _a.map((e) => distribution_1.DelegationDelegatorReward.fromPartial(e))) ||
920
+ [];
921
+ message.total = ((_b = object.total) === null || _b === void 0 ? void 0 : _b.map((e) => coin_1.DecCoin.fromPartial(e))) || [];
922
+ return message;
923
+ },
924
+ };
925
+ function createBaseQueryDelegatorValidatorsRequest() {
926
+ return { delegatorAddress: "" };
927
+ }
928
+ exports.QueryDelegatorValidatorsRequest = {
929
+ encode(message, writer = minimal_1.default.Writer.create()) {
930
+ if (message.delegatorAddress !== "") {
931
+ writer.uint32(10).string(message.delegatorAddress);
932
+ }
933
+ return writer;
934
+ },
935
+ decode(input, length) {
936
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
937
+ let end = length === undefined ? reader.len : reader.pos + length;
938
+ const message = createBaseQueryDelegatorValidatorsRequest();
939
+ while (reader.pos < end) {
940
+ const tag = reader.uint32();
941
+ switch (tag >>> 3) {
942
+ case 1:
943
+ if (tag !== 10) {
944
+ break;
945
+ }
946
+ message.delegatorAddress = reader.string();
947
+ continue;
948
+ }
949
+ if ((tag & 7) === 4 || tag === 0) {
950
+ break;
951
+ }
952
+ reader.skipType(tag & 7);
953
+ }
954
+ return message;
955
+ },
956
+ fromJSON(object) {
957
+ return {
958
+ delegatorAddress: isSet(object.delegatorAddress)
959
+ ? String(object.delegatorAddress)
960
+ : "",
961
+ };
962
+ },
963
+ toJSON(message) {
964
+ const obj = {};
965
+ message.delegatorAddress !== undefined &&
966
+ (obj.delegatorAddress = message.delegatorAddress);
967
+ return obj;
968
+ },
969
+ create(base) {
970
+ return exports.QueryDelegatorValidatorsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
971
+ },
972
+ fromPartial(object) {
973
+ var _a;
974
+ const message = createBaseQueryDelegatorValidatorsRequest();
975
+ message.delegatorAddress = (_a = object.delegatorAddress) !== null && _a !== void 0 ? _a : "";
976
+ return message;
977
+ },
978
+ };
979
+ function createBaseQueryDelegatorValidatorsResponse() {
980
+ return { validators: [] };
981
+ }
982
+ exports.QueryDelegatorValidatorsResponse = {
983
+ encode(message, writer = minimal_1.default.Writer.create()) {
984
+ for (const v of message.validators) {
985
+ writer.uint32(10).string(v);
986
+ }
987
+ return writer;
988
+ },
989
+ decode(input, length) {
990
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
991
+ let end = length === undefined ? reader.len : reader.pos + length;
992
+ const message = createBaseQueryDelegatorValidatorsResponse();
993
+ while (reader.pos < end) {
994
+ const tag = reader.uint32();
995
+ switch (tag >>> 3) {
996
+ case 1:
997
+ if (tag !== 10) {
998
+ break;
999
+ }
1000
+ message.validators.push(reader.string());
1001
+ continue;
1002
+ }
1003
+ if ((tag & 7) === 4 || tag === 0) {
1004
+ break;
1005
+ }
1006
+ reader.skipType(tag & 7);
1007
+ }
1008
+ return message;
1009
+ },
1010
+ fromJSON(object) {
1011
+ return {
1012
+ validators: Array.isArray(object === null || object === void 0 ? void 0 : object.validators)
1013
+ ? object.validators.map((e) => String(e))
1014
+ : [],
1015
+ };
1016
+ },
1017
+ toJSON(message) {
1018
+ const obj = {};
1019
+ if (message.validators) {
1020
+ obj.validators = message.validators.map((e) => e);
1021
+ }
1022
+ else {
1023
+ obj.validators = [];
1024
+ }
1025
+ return obj;
1026
+ },
1027
+ create(base) {
1028
+ return exports.QueryDelegatorValidatorsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
1029
+ },
1030
+ fromPartial(object) {
1031
+ var _a;
1032
+ const message = createBaseQueryDelegatorValidatorsResponse();
1033
+ message.validators = ((_a = object.validators) === null || _a === void 0 ? void 0 : _a.map((e) => e)) || [];
1034
+ return message;
1035
+ },
1036
+ };
1037
+ function createBaseQueryDelegatorWithdrawAddressRequest() {
1038
+ return { delegatorAddress: "" };
1039
+ }
1040
+ exports.QueryDelegatorWithdrawAddressRequest = {
1041
+ encode(message, writer = minimal_1.default.Writer.create()) {
1042
+ if (message.delegatorAddress !== "") {
1043
+ writer.uint32(10).string(message.delegatorAddress);
1044
+ }
1045
+ return writer;
1046
+ },
1047
+ decode(input, length) {
1048
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1049
+ let end = length === undefined ? reader.len : reader.pos + length;
1050
+ const message = createBaseQueryDelegatorWithdrawAddressRequest();
1051
+ while (reader.pos < end) {
1052
+ const tag = reader.uint32();
1053
+ switch (tag >>> 3) {
1054
+ case 1:
1055
+ if (tag !== 10) {
1056
+ break;
1057
+ }
1058
+ message.delegatorAddress = reader.string();
1059
+ continue;
1060
+ }
1061
+ if ((tag & 7) === 4 || tag === 0) {
1062
+ break;
1063
+ }
1064
+ reader.skipType(tag & 7);
1065
+ }
1066
+ return message;
1067
+ },
1068
+ fromJSON(object) {
1069
+ return {
1070
+ delegatorAddress: isSet(object.delegatorAddress)
1071
+ ? String(object.delegatorAddress)
1072
+ : "",
1073
+ };
1074
+ },
1075
+ toJSON(message) {
1076
+ const obj = {};
1077
+ message.delegatorAddress !== undefined &&
1078
+ (obj.delegatorAddress = message.delegatorAddress);
1079
+ return obj;
1080
+ },
1081
+ create(base) {
1082
+ return exports.QueryDelegatorWithdrawAddressRequest.fromPartial(base !== null && base !== void 0 ? base : {});
1083
+ },
1084
+ fromPartial(object) {
1085
+ var _a;
1086
+ const message = createBaseQueryDelegatorWithdrawAddressRequest();
1087
+ message.delegatorAddress = (_a = object.delegatorAddress) !== null && _a !== void 0 ? _a : "";
1088
+ return message;
1089
+ },
1090
+ };
1091
+ function createBaseQueryDelegatorWithdrawAddressResponse() {
1092
+ return { withdrawAddress: "" };
1093
+ }
1094
+ exports.QueryDelegatorWithdrawAddressResponse = {
1095
+ encode(message, writer = minimal_1.default.Writer.create()) {
1096
+ if (message.withdrawAddress !== "") {
1097
+ writer.uint32(10).string(message.withdrawAddress);
1098
+ }
1099
+ return writer;
1100
+ },
1101
+ decode(input, length) {
1102
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1103
+ let end = length === undefined ? reader.len : reader.pos + length;
1104
+ const message = createBaseQueryDelegatorWithdrawAddressResponse();
1105
+ while (reader.pos < end) {
1106
+ const tag = reader.uint32();
1107
+ switch (tag >>> 3) {
1108
+ case 1:
1109
+ if (tag !== 10) {
1110
+ break;
1111
+ }
1112
+ message.withdrawAddress = reader.string();
1113
+ continue;
1114
+ }
1115
+ if ((tag & 7) === 4 || tag === 0) {
1116
+ break;
1117
+ }
1118
+ reader.skipType(tag & 7);
1119
+ }
1120
+ return message;
1121
+ },
1122
+ fromJSON(object) {
1123
+ return {
1124
+ withdrawAddress: isSet(object.withdrawAddress)
1125
+ ? String(object.withdrawAddress)
1126
+ : "",
1127
+ };
1128
+ },
1129
+ toJSON(message) {
1130
+ const obj = {};
1131
+ message.withdrawAddress !== undefined &&
1132
+ (obj.withdrawAddress = message.withdrawAddress);
1133
+ return obj;
1134
+ },
1135
+ create(base) {
1136
+ return exports.QueryDelegatorWithdrawAddressResponse.fromPartial(base !== null && base !== void 0 ? base : {});
1137
+ },
1138
+ fromPartial(object) {
1139
+ var _a;
1140
+ const message = createBaseQueryDelegatorWithdrawAddressResponse();
1141
+ message.withdrawAddress = (_a = object.withdrawAddress) !== null && _a !== void 0 ? _a : "";
1142
+ return message;
1143
+ },
1144
+ };
1145
+ function createBaseQueryCommunityPoolRequest() {
1146
+ return {};
1147
+ }
1148
+ exports.QueryCommunityPoolRequest = {
1149
+ encode(_, writer = minimal_1.default.Writer.create()) {
1150
+ return writer;
1151
+ },
1152
+ decode(input, length) {
1153
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1154
+ let end = length === undefined ? reader.len : reader.pos + length;
1155
+ const message = createBaseQueryCommunityPoolRequest();
1156
+ while (reader.pos < end) {
1157
+ const tag = reader.uint32();
1158
+ switch (tag >>> 3) {
1159
+ }
1160
+ if ((tag & 7) === 4 || tag === 0) {
1161
+ break;
1162
+ }
1163
+ reader.skipType(tag & 7);
1164
+ }
1165
+ return message;
1166
+ },
1167
+ fromJSON(_) {
1168
+ return {};
1169
+ },
1170
+ toJSON(_) {
1171
+ const obj = {};
1172
+ return obj;
1173
+ },
1174
+ create(base) {
1175
+ return exports.QueryCommunityPoolRequest.fromPartial(base !== null && base !== void 0 ? base : {});
1176
+ },
1177
+ fromPartial(_) {
1178
+ const message = createBaseQueryCommunityPoolRequest();
1179
+ return message;
1180
+ },
1181
+ };
1182
+ function createBaseQueryCommunityPoolResponse() {
1183
+ return { pool: [] };
1184
+ }
1185
+ exports.QueryCommunityPoolResponse = {
1186
+ encode(message, writer = minimal_1.default.Writer.create()) {
1187
+ for (const v of message.pool) {
1188
+ coin_1.DecCoin.encode(v, writer.uint32(10).fork()).ldelim();
1189
+ }
1190
+ return writer;
1191
+ },
1192
+ decode(input, length) {
1193
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1194
+ let end = length === undefined ? reader.len : reader.pos + length;
1195
+ const message = createBaseQueryCommunityPoolResponse();
1196
+ while (reader.pos < end) {
1197
+ const tag = reader.uint32();
1198
+ switch (tag >>> 3) {
1199
+ case 1:
1200
+ if (tag !== 10) {
1201
+ break;
1202
+ }
1203
+ message.pool.push(coin_1.DecCoin.decode(reader, reader.uint32()));
1204
+ continue;
1205
+ }
1206
+ if ((tag & 7) === 4 || tag === 0) {
1207
+ break;
1208
+ }
1209
+ reader.skipType(tag & 7);
1210
+ }
1211
+ return message;
1212
+ },
1213
+ fromJSON(object) {
1214
+ return {
1215
+ pool: Array.isArray(object === null || object === void 0 ? void 0 : object.pool)
1216
+ ? object.pool.map((e) => coin_1.DecCoin.fromJSON(e))
1217
+ : [],
1218
+ };
1219
+ },
1220
+ toJSON(message) {
1221
+ const obj = {};
1222
+ if (message.pool) {
1223
+ obj.pool = message.pool.map((e) => (e ? coin_1.DecCoin.toJSON(e) : undefined));
1224
+ }
1225
+ else {
1226
+ obj.pool = [];
1227
+ }
1228
+ return obj;
1229
+ },
1230
+ create(base) {
1231
+ return exports.QueryCommunityPoolResponse.fromPartial(base !== null && base !== void 0 ? base : {});
1232
+ },
1233
+ fromPartial(object) {
1234
+ var _a;
1235
+ const message = createBaseQueryCommunityPoolResponse();
1236
+ message.pool = ((_a = object.pool) === null || _a === void 0 ? void 0 : _a.map((e) => coin_1.DecCoin.fromPartial(e))) || [];
1237
+ return message;
1238
+ },
1239
+ };
1240
+ class QueryClientImpl {
1241
+ constructor(rpc, opts) {
1242
+ this.service = (opts === null || opts === void 0 ? void 0 : opts.service) || "cosmos.distribution.v1beta1.Query";
1243
+ this.rpc = rpc;
1244
+ this.Params = this.Params.bind(this);
1245
+ this.ValidatorDistributionInfo = this.ValidatorDistributionInfo.bind(this);
1246
+ this.ValidatorOutstandingRewards =
1247
+ this.ValidatorOutstandingRewards.bind(this);
1248
+ this.ValidatorCommission = this.ValidatorCommission.bind(this);
1249
+ this.ValidatorSlashes = this.ValidatorSlashes.bind(this);
1250
+ this.DelegationRewards = this.DelegationRewards.bind(this);
1251
+ this.DelegationTotalRewards = this.DelegationTotalRewards.bind(this);
1252
+ this.DelegatorValidators = this.DelegatorValidators.bind(this);
1253
+ this.DelegatorWithdrawAddress = this.DelegatorWithdrawAddress.bind(this);
1254
+ this.CommunityPool = this.CommunityPool.bind(this);
1255
+ }
1256
+ Params(request) {
1257
+ const data = exports.QueryParamsRequest.encode(request).finish();
1258
+ const promise = this.rpc.request(this.service, "Params", data);
1259
+ return promise.then((data) => exports.QueryParamsResponse.decode(minimal_1.default.Reader.create(data)));
1260
+ }
1261
+ ValidatorDistributionInfo(request) {
1262
+ const data = exports.QueryValidatorDistributionInfoRequest.encode(request).finish();
1263
+ const promise = this.rpc.request(this.service, "ValidatorDistributionInfo", data);
1264
+ return promise.then((data) => exports.QueryValidatorDistributionInfoResponse.decode(minimal_1.default.Reader.create(data)));
1265
+ }
1266
+ ValidatorOutstandingRewards(request) {
1267
+ const data = exports.QueryValidatorOutstandingRewardsRequest.encode(request).finish();
1268
+ const promise = this.rpc.request(this.service, "ValidatorOutstandingRewards", data);
1269
+ return promise.then((data) => exports.QueryValidatorOutstandingRewardsResponse.decode(minimal_1.default.Reader.create(data)));
1270
+ }
1271
+ ValidatorCommission(request) {
1272
+ const data = exports.QueryValidatorCommissionRequest.encode(request).finish();
1273
+ const promise = this.rpc.request(this.service, "ValidatorCommission", data);
1274
+ return promise.then((data) => exports.QueryValidatorCommissionResponse.decode(minimal_1.default.Reader.create(data)));
1275
+ }
1276
+ ValidatorSlashes(request) {
1277
+ const data = exports.QueryValidatorSlashesRequest.encode(request).finish();
1278
+ const promise = this.rpc.request(this.service, "ValidatorSlashes", data);
1279
+ return promise.then((data) => exports.QueryValidatorSlashesResponse.decode(minimal_1.default.Reader.create(data)));
1280
+ }
1281
+ DelegationRewards(request) {
1282
+ const data = exports.QueryDelegationRewardsRequest.encode(request).finish();
1283
+ const promise = this.rpc.request(this.service, "DelegationRewards", data);
1284
+ return promise.then((data) => exports.QueryDelegationRewardsResponse.decode(minimal_1.default.Reader.create(data)));
1285
+ }
1286
+ DelegationTotalRewards(request) {
1287
+ const data = exports.QueryDelegationTotalRewardsRequest.encode(request).finish();
1288
+ const promise = this.rpc.request(this.service, "DelegationTotalRewards", data);
1289
+ return promise.then((data) => exports.QueryDelegationTotalRewardsResponse.decode(minimal_1.default.Reader.create(data)));
1290
+ }
1291
+ DelegatorValidators(request) {
1292
+ const data = exports.QueryDelegatorValidatorsRequest.encode(request).finish();
1293
+ const promise = this.rpc.request(this.service, "DelegatorValidators", data);
1294
+ return promise.then((data) => exports.QueryDelegatorValidatorsResponse.decode(minimal_1.default.Reader.create(data)));
1295
+ }
1296
+ DelegatorWithdrawAddress(request) {
1297
+ const data = exports.QueryDelegatorWithdrawAddressRequest.encode(request).finish();
1298
+ const promise = this.rpc.request(this.service, "DelegatorWithdrawAddress", data);
1299
+ return promise.then((data) => exports.QueryDelegatorWithdrawAddressResponse.decode(minimal_1.default.Reader.create(data)));
1300
+ }
1301
+ CommunityPool(request) {
1302
+ const data = exports.QueryCommunityPoolRequest.encode(request).finish();
1303
+ const promise = this.rpc.request(this.service, "CommunityPool", data);
1304
+ return promise.then((data) => exports.QueryCommunityPoolResponse.decode(minimal_1.default.Reader.create(data)));
1305
+ }
1306
+ }
1307
+ exports.QueryClientImpl = QueryClientImpl;
1308
+ var tsProtoGlobalThis = (() => {
1309
+ if (typeof globalThis !== "undefined") {
1310
+ return globalThis;
1311
+ }
1312
+ if (typeof self !== "undefined") {
1313
+ return self;
1314
+ }
1315
+ if (typeof window !== "undefined") {
1316
+ return window;
1317
+ }
1318
+ if (typeof global !== "undefined") {
1319
+ return global;
1320
+ }
1321
+ throw "Unable to locate global object";
1322
+ })();
1323
+ function longToNumber(long) {
1324
+ if (long.gt(Number.MAX_SAFE_INTEGER)) {
1325
+ throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
1326
+ }
1327
+ return long.toNumber();
1328
+ }
1329
+ if (minimal_1.default.util.Long !== long_1.default) {
1330
+ minimal_1.default.util.Long = long_1.default;
1331
+ minimal_1.default.configure();
1332
+ }
1333
+ function isSet(value) {
1334
+ return value !== null && value !== undefined;
1335
+ }
1336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29zbW9zL2Rpc3RyaWJ1dGlvbi92MWJldGExL3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9CQUFvQjtBQUNwQixnREFBd0I7QUFDeEIsaUVBQXFDO0FBQ3JDLDZDQUF5RDtBQUN6RCxrREFBa0Q7QUFDbEQsaURBTXdCO0FBRVgsUUFBQSxlQUFlLEdBQUcsNkJBQTZCLENBQUM7QUFtTDdELFNBQVMsNEJBQTRCO0lBQ25DLE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVZLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsTUFBTSxDQUNKLENBQXFCLEVBQ3JCLFNBQXFCLGlCQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUV4QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FDVixLQUFLLFlBQVksaUJBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLDRCQUE0QixFQUFFLENBQUM7UUFDL0MsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2FBQ2xCO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFD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