coreum-js 2.5.10 → 2.5.12

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 (69) hide show
  1. package/dist/main/cosmos/auth/v1beta1/auth.d.ts +229 -0
  2. package/dist/main/cosmos/auth/v1beta1/auth.js +438 -0
  3. package/dist/main/cosmos/index.d.ts +348 -0
  4. package/dist/main/cosmos/index.js +72 -2
  5. package/dist/main/cosmos/staking/v1beta1/authz.d.ts +145 -0
  6. package/dist/main/cosmos/staking/v1beta1/authz.js +225 -0
  7. package/dist/main/cosmos/staking/v1beta1/genesis.d.ts +899 -0
  8. package/dist/main/cosmos/staking/v1beta1/genesis.js +306 -0
  9. package/dist/main/cosmos/staking/v1beta1/pagination.d.ts +128 -0
  10. package/dist/main/cosmos/staking/v1beta1/pagination.js +228 -0
  11. package/dist/main/cosmos/staking/v1beta1/query.d.ts +4165 -0
  12. package/dist/main/cosmos/staking/v1beta1/query.js +2020 -0
  13. package/dist/main/cosmos/staking/v1beta1/staking.d.ts +2059 -0
  14. package/dist/main/cosmos/staking/v1beta1/staking.js +2128 -0
  15. package/dist/main/cosmos/staking/v1beta1/tx.d.ts +748 -0
  16. package/dist/main/cosmos/staking/v1beta1/tx.js +1142 -0
  17. package/dist/main/cosmos/vesting/v1beta1/tx.d.ts +350 -0
  18. package/dist/main/cosmos/vesting/v1beta1/tx.js +455 -0
  19. package/dist/main/cosmos/vesting/v1beta1/vesting.d.ts +1305 -0
  20. package/dist/main/cosmos/vesting/v1beta1/vesting.js +499 -0
  21. package/dist/main/tendermint/abci/types.d.ts +7075 -0
  22. package/dist/main/tendermint/abci/types.js +4934 -0
  23. package/dist/main/tendermint/crypto/keys.d.ts +38 -0
  24. package/dist/main/tendermint/crypto/keys.js +118 -0
  25. package/dist/main/tendermint/crypto/proof.d.ts +226 -0
  26. package/dist/main/tendermint/crypto/proof.js +427 -0
  27. package/dist/main/tendermint/types/params.d.ts +313 -0
  28. package/dist/main/tendermint/types/params.js +488 -0
  29. package/dist/main/tendermint/types/types.d.ts +1970 -0
  30. package/dist/main/tendermint/types/types.js +1602 -0
  31. package/dist/main/tendermint/types/validator.d.ts +277 -0
  32. package/dist/main/tendermint/types/validator.js +303 -0
  33. package/dist/main/tendermint/version/types.d.ts +71 -0
  34. package/dist/main/tendermint/version/types.js +162 -0
  35. package/dist/module/cosmos/auth/v1beta1/auth.d.ts +229 -0
  36. package/dist/module/cosmos/auth/v1beta1/auth.js +428 -0
  37. package/dist/module/cosmos/index.d.ts +348 -0
  38. package/dist/module/cosmos/index.js +71 -1
  39. package/dist/module/cosmos/staking/v1beta1/authz.d.ts +145 -0
  40. package/dist/module/cosmos/staking/v1beta1/authz.js +215 -0
  41. package/dist/module/cosmos/staking/v1beta1/genesis.d.ts +899 -0
  42. package/dist/module/cosmos/staking/v1beta1/genesis.js +298 -0
  43. package/dist/module/cosmos/staking/v1beta1/pagination.d.ts +128 -0
  44. package/dist/module/cosmos/staking/v1beta1/pagination.js +220 -0
  45. package/dist/module/cosmos/staking/v1beta1/query.d.ts +4165 -0
  46. package/dist/module/cosmos/staking/v1beta1/query.js +1996 -0
  47. package/dist/module/cosmos/staking/v1beta1/staking.d.ts +2059 -0
  48. package/dist/module/cosmos/staking/v1beta1/staking.js +2098 -0
  49. package/dist/module/cosmos/staking/v1beta1/tx.d.ts +748 -0
  50. package/dist/module/cosmos/staking/v1beta1/tx.js +1128 -0
  51. package/dist/module/cosmos/vesting/v1beta1/tx.d.ts +350 -0
  52. package/dist/module/cosmos/vesting/v1beta1/tx.js +447 -0
  53. package/dist/module/cosmos/vesting/v1beta1/vesting.d.ts +1305 -0
  54. package/dist/module/cosmos/vesting/v1beta1/vesting.js +489 -0
  55. package/dist/module/tendermint/abci/types.d.ts +7075 -0
  56. package/dist/module/tendermint/abci/types.js +4878 -0
  57. package/dist/module/tendermint/crypto/keys.d.ts +38 -0
  58. package/dist/module/tendermint/crypto/keys.js +111 -0
  59. package/dist/module/tendermint/crypto/proof.d.ts +226 -0
  60. package/dist/module/tendermint/crypto/proof.js +416 -0
  61. package/dist/module/tendermint/types/params.d.ts +313 -0
  62. package/dist/module/tendermint/types/params.js +477 -0
  63. package/dist/module/tendermint/types/types.d.ts +1970 -0
  64. package/dist/module/tendermint/types/types.js +1581 -0
  65. package/dist/module/tendermint/types/validator.d.ts +277 -0
  66. package/dist/module/tendermint/types/validator.js +294 -0
  67. package/dist/module/tendermint/version/types.d.ts +71 -0
  68. package/dist/module/tendermint/version/types.js +154 -0
  69. package/package.json +2 -2
@@ -0,0 +1,2020 @@
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.QueryParamsResponse = exports.QueryParamsRequest = exports.QueryPoolResponse = exports.QueryPoolRequest = exports.QueryHistoricalInfoResponse = exports.QueryHistoricalInfoRequest = exports.QueryDelegatorValidatorResponse = exports.QueryDelegatorValidatorRequest = exports.QueryDelegatorValidatorsResponse = exports.QueryDelegatorValidatorsRequest = exports.QueryRedelegationsResponse = exports.QueryRedelegationsRequest = exports.QueryDelegatorUnbondingDelegationsResponse = exports.QueryDelegatorUnbondingDelegationsRequest = exports.QueryDelegatorDelegationsResponse = exports.QueryDelegatorDelegationsRequest = exports.QueryUnbondingDelegationResponse = exports.QueryUnbondingDelegationRequest = exports.QueryDelegationResponse = exports.QueryDelegationRequest = exports.QueryValidatorUnbondingDelegationsResponse = exports.QueryValidatorUnbondingDelegationsRequest = exports.QueryValidatorDelegationsResponse = exports.QueryValidatorDelegationsRequest = exports.QueryValidatorResponse = exports.QueryValidatorRequest = exports.QueryValidatorsResponse = exports.QueryValidatorsRequest = 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 staking_1 = require("./staking");
12
+ exports.protobufPackage = "cosmos.staking.v1beta1";
13
+ function createBaseQueryValidatorsRequest() {
14
+ return { status: "", pagination: undefined };
15
+ }
16
+ exports.QueryValidatorsRequest = {
17
+ encode(message, writer = minimal_1.default.Writer.create()) {
18
+ if (message.status !== "") {
19
+ writer.uint32(10).string(message.status);
20
+ }
21
+ if (message.pagination !== undefined) {
22
+ pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim();
23
+ }
24
+ return writer;
25
+ },
26
+ decode(input, length) {
27
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
28
+ let end = length === undefined ? reader.len : reader.pos + length;
29
+ const message = createBaseQueryValidatorsRequest();
30
+ while (reader.pos < end) {
31
+ const tag = reader.uint32();
32
+ switch (tag >>> 3) {
33
+ case 1:
34
+ if (tag !== 10) {
35
+ break;
36
+ }
37
+ message.status = reader.string();
38
+ continue;
39
+ case 2:
40
+ if (tag !== 18) {
41
+ break;
42
+ }
43
+ message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32());
44
+ continue;
45
+ }
46
+ if ((tag & 7) === 4 || tag === 0) {
47
+ break;
48
+ }
49
+ reader.skipType(tag & 7);
50
+ }
51
+ return message;
52
+ },
53
+ fromJSON(object) {
54
+ return {
55
+ status: isSet(object.status) ? String(object.status) : "",
56
+ pagination: isSet(object.pagination)
57
+ ? pagination_1.PageRequest.fromJSON(object.pagination)
58
+ : undefined,
59
+ };
60
+ },
61
+ toJSON(message) {
62
+ const obj = {};
63
+ message.status !== undefined && (obj.status = message.status);
64
+ message.pagination !== undefined &&
65
+ (obj.pagination = message.pagination
66
+ ? pagination_1.PageRequest.toJSON(message.pagination)
67
+ : undefined);
68
+ return obj;
69
+ },
70
+ create(base) {
71
+ return exports.QueryValidatorsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
72
+ },
73
+ fromPartial(object) {
74
+ var _a;
75
+ const message = createBaseQueryValidatorsRequest();
76
+ message.status = (_a = object.status) !== null && _a !== void 0 ? _a : "";
77
+ message.pagination =
78
+ object.pagination !== undefined && object.pagination !== null
79
+ ? pagination_1.PageRequest.fromPartial(object.pagination)
80
+ : undefined;
81
+ return message;
82
+ },
83
+ };
84
+ function createBaseQueryValidatorsResponse() {
85
+ return { validators: [], pagination: undefined };
86
+ }
87
+ exports.QueryValidatorsResponse = {
88
+ encode(message, writer = minimal_1.default.Writer.create()) {
89
+ for (const v of message.validators) {
90
+ staking_1.Validator.encode(v, writer.uint32(10).fork()).ldelim();
91
+ }
92
+ if (message.pagination !== undefined) {
93
+ pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim();
94
+ }
95
+ return writer;
96
+ },
97
+ decode(input, length) {
98
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
99
+ let end = length === undefined ? reader.len : reader.pos + length;
100
+ const message = createBaseQueryValidatorsResponse();
101
+ while (reader.pos < end) {
102
+ const tag = reader.uint32();
103
+ switch (tag >>> 3) {
104
+ case 1:
105
+ if (tag !== 10) {
106
+ break;
107
+ }
108
+ message.validators.push(staking_1.Validator.decode(reader, reader.uint32()));
109
+ continue;
110
+ case 2:
111
+ if (tag !== 18) {
112
+ break;
113
+ }
114
+ message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32());
115
+ continue;
116
+ }
117
+ if ((tag & 7) === 4 || tag === 0) {
118
+ break;
119
+ }
120
+ reader.skipType(tag & 7);
121
+ }
122
+ return message;
123
+ },
124
+ fromJSON(object) {
125
+ return {
126
+ validators: Array.isArray(object === null || object === void 0 ? void 0 : object.validators)
127
+ ? object.validators.map((e) => staking_1.Validator.fromJSON(e))
128
+ : [],
129
+ pagination: isSet(object.pagination)
130
+ ? pagination_1.PageResponse.fromJSON(object.pagination)
131
+ : undefined,
132
+ };
133
+ },
134
+ toJSON(message) {
135
+ const obj = {};
136
+ if (message.validators) {
137
+ obj.validators = message.validators.map((e) => e ? staking_1.Validator.toJSON(e) : undefined);
138
+ }
139
+ else {
140
+ obj.validators = [];
141
+ }
142
+ message.pagination !== undefined &&
143
+ (obj.pagination = message.pagination
144
+ ? pagination_1.PageResponse.toJSON(message.pagination)
145
+ : undefined);
146
+ return obj;
147
+ },
148
+ create(base) {
149
+ return exports.QueryValidatorsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
150
+ },
151
+ fromPartial(object) {
152
+ var _a;
153
+ const message = createBaseQueryValidatorsResponse();
154
+ message.validators =
155
+ ((_a = object.validators) === null || _a === void 0 ? void 0 : _a.map((e) => staking_1.Validator.fromPartial(e))) || [];
156
+ message.pagination =
157
+ object.pagination !== undefined && object.pagination !== null
158
+ ? pagination_1.PageResponse.fromPartial(object.pagination)
159
+ : undefined;
160
+ return message;
161
+ },
162
+ };
163
+ function createBaseQueryValidatorRequest() {
164
+ return { validatorAddr: "" };
165
+ }
166
+ exports.QueryValidatorRequest = {
167
+ encode(message, writer = minimal_1.default.Writer.create()) {
168
+ if (message.validatorAddr !== "") {
169
+ writer.uint32(10).string(message.validatorAddr);
170
+ }
171
+ return writer;
172
+ },
173
+ decode(input, length) {
174
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
175
+ let end = length === undefined ? reader.len : reader.pos + length;
176
+ const message = createBaseQueryValidatorRequest();
177
+ while (reader.pos < end) {
178
+ const tag = reader.uint32();
179
+ switch (tag >>> 3) {
180
+ case 1:
181
+ if (tag !== 10) {
182
+ break;
183
+ }
184
+ message.validatorAddr = reader.string();
185
+ continue;
186
+ }
187
+ if ((tag & 7) === 4 || tag === 0) {
188
+ break;
189
+ }
190
+ reader.skipType(tag & 7);
191
+ }
192
+ return message;
193
+ },
194
+ fromJSON(object) {
195
+ return {
196
+ validatorAddr: isSet(object.validatorAddr)
197
+ ? String(object.validatorAddr)
198
+ : "",
199
+ };
200
+ },
201
+ toJSON(message) {
202
+ const obj = {};
203
+ message.validatorAddr !== undefined &&
204
+ (obj.validatorAddr = message.validatorAddr);
205
+ return obj;
206
+ },
207
+ create(base) {
208
+ return exports.QueryValidatorRequest.fromPartial(base !== null && base !== void 0 ? base : {});
209
+ },
210
+ fromPartial(object) {
211
+ var _a;
212
+ const message = createBaseQueryValidatorRequest();
213
+ message.validatorAddr = (_a = object.validatorAddr) !== null && _a !== void 0 ? _a : "";
214
+ return message;
215
+ },
216
+ };
217
+ function createBaseQueryValidatorResponse() {
218
+ return { validator: undefined };
219
+ }
220
+ exports.QueryValidatorResponse = {
221
+ encode(message, writer = minimal_1.default.Writer.create()) {
222
+ if (message.validator !== undefined) {
223
+ staking_1.Validator.encode(message.validator, writer.uint32(10).fork()).ldelim();
224
+ }
225
+ return writer;
226
+ },
227
+ decode(input, length) {
228
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
229
+ let end = length === undefined ? reader.len : reader.pos + length;
230
+ const message = createBaseQueryValidatorResponse();
231
+ while (reader.pos < end) {
232
+ const tag = reader.uint32();
233
+ switch (tag >>> 3) {
234
+ case 1:
235
+ if (tag !== 10) {
236
+ break;
237
+ }
238
+ message.validator = staking_1.Validator.decode(reader, reader.uint32());
239
+ continue;
240
+ }
241
+ if ((tag & 7) === 4 || tag === 0) {
242
+ break;
243
+ }
244
+ reader.skipType(tag & 7);
245
+ }
246
+ return message;
247
+ },
248
+ fromJSON(object) {
249
+ return {
250
+ validator: isSet(object.validator)
251
+ ? staking_1.Validator.fromJSON(object.validator)
252
+ : undefined,
253
+ };
254
+ },
255
+ toJSON(message) {
256
+ const obj = {};
257
+ message.validator !== undefined &&
258
+ (obj.validator = message.validator
259
+ ? staking_1.Validator.toJSON(message.validator)
260
+ : undefined);
261
+ return obj;
262
+ },
263
+ create(base) {
264
+ return exports.QueryValidatorResponse.fromPartial(base !== null && base !== void 0 ? base : {});
265
+ },
266
+ fromPartial(object) {
267
+ const message = createBaseQueryValidatorResponse();
268
+ message.validator =
269
+ object.validator !== undefined && object.validator !== null
270
+ ? staking_1.Validator.fromPartial(object.validator)
271
+ : undefined;
272
+ return message;
273
+ },
274
+ };
275
+ function createBaseQueryValidatorDelegationsRequest() {
276
+ return { validatorAddr: "", pagination: undefined };
277
+ }
278
+ exports.QueryValidatorDelegationsRequest = {
279
+ encode(message, writer = minimal_1.default.Writer.create()) {
280
+ if (message.validatorAddr !== "") {
281
+ writer.uint32(10).string(message.validatorAddr);
282
+ }
283
+ if (message.pagination !== undefined) {
284
+ pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim();
285
+ }
286
+ return writer;
287
+ },
288
+ decode(input, length) {
289
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
290
+ let end = length === undefined ? reader.len : reader.pos + length;
291
+ const message = createBaseQueryValidatorDelegationsRequest();
292
+ while (reader.pos < end) {
293
+ const tag = reader.uint32();
294
+ switch (tag >>> 3) {
295
+ case 1:
296
+ if (tag !== 10) {
297
+ break;
298
+ }
299
+ message.validatorAddr = reader.string();
300
+ continue;
301
+ case 2:
302
+ if (tag !== 18) {
303
+ break;
304
+ }
305
+ message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32());
306
+ continue;
307
+ }
308
+ if ((tag & 7) === 4 || tag === 0) {
309
+ break;
310
+ }
311
+ reader.skipType(tag & 7);
312
+ }
313
+ return message;
314
+ },
315
+ fromJSON(object) {
316
+ return {
317
+ validatorAddr: isSet(object.validatorAddr)
318
+ ? String(object.validatorAddr)
319
+ : "",
320
+ pagination: isSet(object.pagination)
321
+ ? pagination_1.PageRequest.fromJSON(object.pagination)
322
+ : undefined,
323
+ };
324
+ },
325
+ toJSON(message) {
326
+ const obj = {};
327
+ message.validatorAddr !== undefined &&
328
+ (obj.validatorAddr = message.validatorAddr);
329
+ message.pagination !== undefined &&
330
+ (obj.pagination = message.pagination
331
+ ? pagination_1.PageRequest.toJSON(message.pagination)
332
+ : undefined);
333
+ return obj;
334
+ },
335
+ create(base) {
336
+ return exports.QueryValidatorDelegationsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
337
+ },
338
+ fromPartial(object) {
339
+ var _a;
340
+ const message = createBaseQueryValidatorDelegationsRequest();
341
+ message.validatorAddr = (_a = object.validatorAddr) !== null && _a !== void 0 ? _a : "";
342
+ message.pagination =
343
+ object.pagination !== undefined && object.pagination !== null
344
+ ? pagination_1.PageRequest.fromPartial(object.pagination)
345
+ : undefined;
346
+ return message;
347
+ },
348
+ };
349
+ function createBaseQueryValidatorDelegationsResponse() {
350
+ return { delegationResponses: [], pagination: undefined };
351
+ }
352
+ exports.QueryValidatorDelegationsResponse = {
353
+ encode(message, writer = minimal_1.default.Writer.create()) {
354
+ for (const v of message.delegationResponses) {
355
+ staking_1.DelegationResponse.encode(v, writer.uint32(10).fork()).ldelim();
356
+ }
357
+ if (message.pagination !== undefined) {
358
+ pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim();
359
+ }
360
+ return writer;
361
+ },
362
+ decode(input, length) {
363
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
364
+ let end = length === undefined ? reader.len : reader.pos + length;
365
+ const message = createBaseQueryValidatorDelegationsResponse();
366
+ while (reader.pos < end) {
367
+ const tag = reader.uint32();
368
+ switch (tag >>> 3) {
369
+ case 1:
370
+ if (tag !== 10) {
371
+ break;
372
+ }
373
+ message.delegationResponses.push(staking_1.DelegationResponse.decode(reader, reader.uint32()));
374
+ continue;
375
+ case 2:
376
+ if (tag !== 18) {
377
+ break;
378
+ }
379
+ message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32());
380
+ continue;
381
+ }
382
+ if ((tag & 7) === 4 || tag === 0) {
383
+ break;
384
+ }
385
+ reader.skipType(tag & 7);
386
+ }
387
+ return message;
388
+ },
389
+ fromJSON(object) {
390
+ return {
391
+ delegationResponses: Array.isArray(object === null || object === void 0 ? void 0 : object.delegationResponses)
392
+ ? object.delegationResponses.map((e) => staking_1.DelegationResponse.fromJSON(e))
393
+ : [],
394
+ pagination: isSet(object.pagination)
395
+ ? pagination_1.PageResponse.fromJSON(object.pagination)
396
+ : undefined,
397
+ };
398
+ },
399
+ toJSON(message) {
400
+ const obj = {};
401
+ if (message.delegationResponses) {
402
+ obj.delegationResponses = message.delegationResponses.map((e) => e ? staking_1.DelegationResponse.toJSON(e) : undefined);
403
+ }
404
+ else {
405
+ obj.delegationResponses = [];
406
+ }
407
+ message.pagination !== undefined &&
408
+ (obj.pagination = message.pagination
409
+ ? pagination_1.PageResponse.toJSON(message.pagination)
410
+ : undefined);
411
+ return obj;
412
+ },
413
+ create(base) {
414
+ return exports.QueryValidatorDelegationsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
415
+ },
416
+ fromPartial(object) {
417
+ var _a;
418
+ const message = createBaseQueryValidatorDelegationsResponse();
419
+ message.delegationResponses =
420
+ ((_a = object.delegationResponses) === null || _a === void 0 ? void 0 : _a.map((e) => staking_1.DelegationResponse.fromPartial(e))) || [];
421
+ message.pagination =
422
+ object.pagination !== undefined && object.pagination !== null
423
+ ? pagination_1.PageResponse.fromPartial(object.pagination)
424
+ : undefined;
425
+ return message;
426
+ },
427
+ };
428
+ function createBaseQueryValidatorUnbondingDelegationsRequest() {
429
+ return { validatorAddr: "", pagination: undefined };
430
+ }
431
+ exports.QueryValidatorUnbondingDelegationsRequest = {
432
+ encode(message, writer = minimal_1.default.Writer.create()) {
433
+ if (message.validatorAddr !== "") {
434
+ writer.uint32(10).string(message.validatorAddr);
435
+ }
436
+ if (message.pagination !== undefined) {
437
+ pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim();
438
+ }
439
+ return writer;
440
+ },
441
+ decode(input, length) {
442
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
443
+ let end = length === undefined ? reader.len : reader.pos + length;
444
+ const message = createBaseQueryValidatorUnbondingDelegationsRequest();
445
+ while (reader.pos < end) {
446
+ const tag = reader.uint32();
447
+ switch (tag >>> 3) {
448
+ case 1:
449
+ if (tag !== 10) {
450
+ break;
451
+ }
452
+ message.validatorAddr = reader.string();
453
+ continue;
454
+ case 2:
455
+ if (tag !== 18) {
456
+ break;
457
+ }
458
+ message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32());
459
+ continue;
460
+ }
461
+ if ((tag & 7) === 4 || tag === 0) {
462
+ break;
463
+ }
464
+ reader.skipType(tag & 7);
465
+ }
466
+ return message;
467
+ },
468
+ fromJSON(object) {
469
+ return {
470
+ validatorAddr: isSet(object.validatorAddr)
471
+ ? String(object.validatorAddr)
472
+ : "",
473
+ pagination: isSet(object.pagination)
474
+ ? pagination_1.PageRequest.fromJSON(object.pagination)
475
+ : undefined,
476
+ };
477
+ },
478
+ toJSON(message) {
479
+ const obj = {};
480
+ message.validatorAddr !== undefined &&
481
+ (obj.validatorAddr = message.validatorAddr);
482
+ message.pagination !== undefined &&
483
+ (obj.pagination = message.pagination
484
+ ? pagination_1.PageRequest.toJSON(message.pagination)
485
+ : undefined);
486
+ return obj;
487
+ },
488
+ create(base) {
489
+ return exports.QueryValidatorUnbondingDelegationsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
490
+ },
491
+ fromPartial(object) {
492
+ var _a;
493
+ const message = createBaseQueryValidatorUnbondingDelegationsRequest();
494
+ message.validatorAddr = (_a = object.validatorAddr) !== null && _a !== void 0 ? _a : "";
495
+ message.pagination =
496
+ object.pagination !== undefined && object.pagination !== null
497
+ ? pagination_1.PageRequest.fromPartial(object.pagination)
498
+ : undefined;
499
+ return message;
500
+ },
501
+ };
502
+ function createBaseQueryValidatorUnbondingDelegationsResponse() {
503
+ return { unbondingResponses: [], pagination: undefined };
504
+ }
505
+ exports.QueryValidatorUnbondingDelegationsResponse = {
506
+ encode(message, writer = minimal_1.default.Writer.create()) {
507
+ for (const v of message.unbondingResponses) {
508
+ staking_1.UnbondingDelegation.encode(v, writer.uint32(10).fork()).ldelim();
509
+ }
510
+ if (message.pagination !== undefined) {
511
+ pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim();
512
+ }
513
+ return writer;
514
+ },
515
+ decode(input, length) {
516
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
517
+ let end = length === undefined ? reader.len : reader.pos + length;
518
+ const message = createBaseQueryValidatorUnbondingDelegationsResponse();
519
+ while (reader.pos < end) {
520
+ const tag = reader.uint32();
521
+ switch (tag >>> 3) {
522
+ case 1:
523
+ if (tag !== 10) {
524
+ break;
525
+ }
526
+ message.unbondingResponses.push(staking_1.UnbondingDelegation.decode(reader, reader.uint32()));
527
+ continue;
528
+ case 2:
529
+ if (tag !== 18) {
530
+ break;
531
+ }
532
+ message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32());
533
+ continue;
534
+ }
535
+ if ((tag & 7) === 4 || tag === 0) {
536
+ break;
537
+ }
538
+ reader.skipType(tag & 7);
539
+ }
540
+ return message;
541
+ },
542
+ fromJSON(object) {
543
+ return {
544
+ unbondingResponses: Array.isArray(object === null || object === void 0 ? void 0 : object.unbondingResponses)
545
+ ? object.unbondingResponses.map((e) => staking_1.UnbondingDelegation.fromJSON(e))
546
+ : [],
547
+ pagination: isSet(object.pagination)
548
+ ? pagination_1.PageResponse.fromJSON(object.pagination)
549
+ : undefined,
550
+ };
551
+ },
552
+ toJSON(message) {
553
+ const obj = {};
554
+ if (message.unbondingResponses) {
555
+ obj.unbondingResponses = message.unbondingResponses.map((e) => e ? staking_1.UnbondingDelegation.toJSON(e) : undefined);
556
+ }
557
+ else {
558
+ obj.unbondingResponses = [];
559
+ }
560
+ message.pagination !== undefined &&
561
+ (obj.pagination = message.pagination
562
+ ? pagination_1.PageResponse.toJSON(message.pagination)
563
+ : undefined);
564
+ return obj;
565
+ },
566
+ create(base) {
567
+ return exports.QueryValidatorUnbondingDelegationsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
568
+ },
569
+ fromPartial(object) {
570
+ var _a;
571
+ const message = createBaseQueryValidatorUnbondingDelegationsResponse();
572
+ message.unbondingResponses =
573
+ ((_a = object.unbondingResponses) === null || _a === void 0 ? void 0 : _a.map((e) => staking_1.UnbondingDelegation.fromPartial(e))) || [];
574
+ message.pagination =
575
+ object.pagination !== undefined && object.pagination !== null
576
+ ? pagination_1.PageResponse.fromPartial(object.pagination)
577
+ : undefined;
578
+ return message;
579
+ },
580
+ };
581
+ function createBaseQueryDelegationRequest() {
582
+ return { delegatorAddr: "", validatorAddr: "" };
583
+ }
584
+ exports.QueryDelegationRequest = {
585
+ encode(message, writer = minimal_1.default.Writer.create()) {
586
+ if (message.delegatorAddr !== "") {
587
+ writer.uint32(10).string(message.delegatorAddr);
588
+ }
589
+ if (message.validatorAddr !== "") {
590
+ writer.uint32(18).string(message.validatorAddr);
591
+ }
592
+ return writer;
593
+ },
594
+ decode(input, length) {
595
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
596
+ let end = length === undefined ? reader.len : reader.pos + length;
597
+ const message = createBaseQueryDelegationRequest();
598
+ while (reader.pos < end) {
599
+ const tag = reader.uint32();
600
+ switch (tag >>> 3) {
601
+ case 1:
602
+ if (tag !== 10) {
603
+ break;
604
+ }
605
+ message.delegatorAddr = reader.string();
606
+ continue;
607
+ case 2:
608
+ if (tag !== 18) {
609
+ break;
610
+ }
611
+ message.validatorAddr = reader.string();
612
+ continue;
613
+ }
614
+ if ((tag & 7) === 4 || tag === 0) {
615
+ break;
616
+ }
617
+ reader.skipType(tag & 7);
618
+ }
619
+ return message;
620
+ },
621
+ fromJSON(object) {
622
+ return {
623
+ delegatorAddr: isSet(object.delegatorAddr)
624
+ ? String(object.delegatorAddr)
625
+ : "",
626
+ validatorAddr: isSet(object.validatorAddr)
627
+ ? String(object.validatorAddr)
628
+ : "",
629
+ };
630
+ },
631
+ toJSON(message) {
632
+ const obj = {};
633
+ message.delegatorAddr !== undefined &&
634
+ (obj.delegatorAddr = message.delegatorAddr);
635
+ message.validatorAddr !== undefined &&
636
+ (obj.validatorAddr = message.validatorAddr);
637
+ return obj;
638
+ },
639
+ create(base) {
640
+ return exports.QueryDelegationRequest.fromPartial(base !== null && base !== void 0 ? base : {});
641
+ },
642
+ fromPartial(object) {
643
+ var _a, _b;
644
+ const message = createBaseQueryDelegationRequest();
645
+ message.delegatorAddr = (_a = object.delegatorAddr) !== null && _a !== void 0 ? _a : "";
646
+ message.validatorAddr = (_b = object.validatorAddr) !== null && _b !== void 0 ? _b : "";
647
+ return message;
648
+ },
649
+ };
650
+ function createBaseQueryDelegationResponse() {
651
+ return { delegationResponse: undefined };
652
+ }
653
+ exports.QueryDelegationResponse = {
654
+ encode(message, writer = minimal_1.default.Writer.create()) {
655
+ if (message.delegationResponse !== undefined) {
656
+ staking_1.DelegationResponse.encode(message.delegationResponse, writer.uint32(10).fork()).ldelim();
657
+ }
658
+ return writer;
659
+ },
660
+ decode(input, length) {
661
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
662
+ let end = length === undefined ? reader.len : reader.pos + length;
663
+ const message = createBaseQueryDelegationResponse();
664
+ while (reader.pos < end) {
665
+ const tag = reader.uint32();
666
+ switch (tag >>> 3) {
667
+ case 1:
668
+ if (tag !== 10) {
669
+ break;
670
+ }
671
+ message.delegationResponse = staking_1.DelegationResponse.decode(reader, reader.uint32());
672
+ continue;
673
+ }
674
+ if ((tag & 7) === 4 || tag === 0) {
675
+ break;
676
+ }
677
+ reader.skipType(tag & 7);
678
+ }
679
+ return message;
680
+ },
681
+ fromJSON(object) {
682
+ return {
683
+ delegationResponse: isSet(object.delegationResponse)
684
+ ? staking_1.DelegationResponse.fromJSON(object.delegationResponse)
685
+ : undefined,
686
+ };
687
+ },
688
+ toJSON(message) {
689
+ const obj = {};
690
+ message.delegationResponse !== undefined &&
691
+ (obj.delegationResponse = message.delegationResponse
692
+ ? staking_1.DelegationResponse.toJSON(message.delegationResponse)
693
+ : undefined);
694
+ return obj;
695
+ },
696
+ create(base) {
697
+ return exports.QueryDelegationResponse.fromPartial(base !== null && base !== void 0 ? base : {});
698
+ },
699
+ fromPartial(object) {
700
+ const message = createBaseQueryDelegationResponse();
701
+ message.delegationResponse =
702
+ object.delegationResponse !== undefined &&
703
+ object.delegationResponse !== null
704
+ ? staking_1.DelegationResponse.fromPartial(object.delegationResponse)
705
+ : undefined;
706
+ return message;
707
+ },
708
+ };
709
+ function createBaseQueryUnbondingDelegationRequest() {
710
+ return { delegatorAddr: "", validatorAddr: "" };
711
+ }
712
+ exports.QueryUnbondingDelegationRequest = {
713
+ encode(message, writer = minimal_1.default.Writer.create()) {
714
+ if (message.delegatorAddr !== "") {
715
+ writer.uint32(10).string(message.delegatorAddr);
716
+ }
717
+ if (message.validatorAddr !== "") {
718
+ writer.uint32(18).string(message.validatorAddr);
719
+ }
720
+ return writer;
721
+ },
722
+ decode(input, length) {
723
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
724
+ let end = length === undefined ? reader.len : reader.pos + length;
725
+ const message = createBaseQueryUnbondingDelegationRequest();
726
+ while (reader.pos < end) {
727
+ const tag = reader.uint32();
728
+ switch (tag >>> 3) {
729
+ case 1:
730
+ if (tag !== 10) {
731
+ break;
732
+ }
733
+ message.delegatorAddr = reader.string();
734
+ continue;
735
+ case 2:
736
+ if (tag !== 18) {
737
+ break;
738
+ }
739
+ message.validatorAddr = reader.string();
740
+ continue;
741
+ }
742
+ if ((tag & 7) === 4 || tag === 0) {
743
+ break;
744
+ }
745
+ reader.skipType(tag & 7);
746
+ }
747
+ return message;
748
+ },
749
+ fromJSON(object) {
750
+ return {
751
+ delegatorAddr: isSet(object.delegatorAddr)
752
+ ? String(object.delegatorAddr)
753
+ : "",
754
+ validatorAddr: isSet(object.validatorAddr)
755
+ ? String(object.validatorAddr)
756
+ : "",
757
+ };
758
+ },
759
+ toJSON(message) {
760
+ const obj = {};
761
+ message.delegatorAddr !== undefined &&
762
+ (obj.delegatorAddr = message.delegatorAddr);
763
+ message.validatorAddr !== undefined &&
764
+ (obj.validatorAddr = message.validatorAddr);
765
+ return obj;
766
+ },
767
+ create(base) {
768
+ return exports.QueryUnbondingDelegationRequest.fromPartial(base !== null && base !== void 0 ? base : {});
769
+ },
770
+ fromPartial(object) {
771
+ var _a, _b;
772
+ const message = createBaseQueryUnbondingDelegationRequest();
773
+ message.delegatorAddr = (_a = object.delegatorAddr) !== null && _a !== void 0 ? _a : "";
774
+ message.validatorAddr = (_b = object.validatorAddr) !== null && _b !== void 0 ? _b : "";
775
+ return message;
776
+ },
777
+ };
778
+ function createBaseQueryUnbondingDelegationResponse() {
779
+ return { unbond: undefined };
780
+ }
781
+ exports.QueryUnbondingDelegationResponse = {
782
+ encode(message, writer = minimal_1.default.Writer.create()) {
783
+ if (message.unbond !== undefined) {
784
+ staking_1.UnbondingDelegation.encode(message.unbond, writer.uint32(10).fork()).ldelim();
785
+ }
786
+ return writer;
787
+ },
788
+ decode(input, length) {
789
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
790
+ let end = length === undefined ? reader.len : reader.pos + length;
791
+ const message = createBaseQueryUnbondingDelegationResponse();
792
+ while (reader.pos < end) {
793
+ const tag = reader.uint32();
794
+ switch (tag >>> 3) {
795
+ case 1:
796
+ if (tag !== 10) {
797
+ break;
798
+ }
799
+ message.unbond = staking_1.UnbondingDelegation.decode(reader, reader.uint32());
800
+ continue;
801
+ }
802
+ if ((tag & 7) === 4 || tag === 0) {
803
+ break;
804
+ }
805
+ reader.skipType(tag & 7);
806
+ }
807
+ return message;
808
+ },
809
+ fromJSON(object) {
810
+ return {
811
+ unbond: isSet(object.unbond)
812
+ ? staking_1.UnbondingDelegation.fromJSON(object.unbond)
813
+ : undefined,
814
+ };
815
+ },
816
+ toJSON(message) {
817
+ const obj = {};
818
+ message.unbond !== undefined &&
819
+ (obj.unbond = message.unbond
820
+ ? staking_1.UnbondingDelegation.toJSON(message.unbond)
821
+ : undefined);
822
+ return obj;
823
+ },
824
+ create(base) {
825
+ return exports.QueryUnbondingDelegationResponse.fromPartial(base !== null && base !== void 0 ? base : {});
826
+ },
827
+ fromPartial(object) {
828
+ const message = createBaseQueryUnbondingDelegationResponse();
829
+ message.unbond =
830
+ object.unbond !== undefined && object.unbond !== null
831
+ ? staking_1.UnbondingDelegation.fromPartial(object.unbond)
832
+ : undefined;
833
+ return message;
834
+ },
835
+ };
836
+ function createBaseQueryDelegatorDelegationsRequest() {
837
+ return { delegatorAddr: "", pagination: undefined };
838
+ }
839
+ exports.QueryDelegatorDelegationsRequest = {
840
+ encode(message, writer = minimal_1.default.Writer.create()) {
841
+ if (message.delegatorAddr !== "") {
842
+ writer.uint32(10).string(message.delegatorAddr);
843
+ }
844
+ if (message.pagination !== undefined) {
845
+ pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim();
846
+ }
847
+ return writer;
848
+ },
849
+ decode(input, length) {
850
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
851
+ let end = length === undefined ? reader.len : reader.pos + length;
852
+ const message = createBaseQueryDelegatorDelegationsRequest();
853
+ while (reader.pos < end) {
854
+ const tag = reader.uint32();
855
+ switch (tag >>> 3) {
856
+ case 1:
857
+ if (tag !== 10) {
858
+ break;
859
+ }
860
+ message.delegatorAddr = reader.string();
861
+ continue;
862
+ case 2:
863
+ if (tag !== 18) {
864
+ break;
865
+ }
866
+ message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32());
867
+ continue;
868
+ }
869
+ if ((tag & 7) === 4 || tag === 0) {
870
+ break;
871
+ }
872
+ reader.skipType(tag & 7);
873
+ }
874
+ return message;
875
+ },
876
+ fromJSON(object) {
877
+ return {
878
+ delegatorAddr: isSet(object.delegatorAddr)
879
+ ? String(object.delegatorAddr)
880
+ : "",
881
+ pagination: isSet(object.pagination)
882
+ ? pagination_1.PageRequest.fromJSON(object.pagination)
883
+ : undefined,
884
+ };
885
+ },
886
+ toJSON(message) {
887
+ const obj = {};
888
+ message.delegatorAddr !== undefined &&
889
+ (obj.delegatorAddr = message.delegatorAddr);
890
+ message.pagination !== undefined &&
891
+ (obj.pagination = message.pagination
892
+ ? pagination_1.PageRequest.toJSON(message.pagination)
893
+ : undefined);
894
+ return obj;
895
+ },
896
+ create(base) {
897
+ return exports.QueryDelegatorDelegationsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
898
+ },
899
+ fromPartial(object) {
900
+ var _a;
901
+ const message = createBaseQueryDelegatorDelegationsRequest();
902
+ message.delegatorAddr = (_a = object.delegatorAddr) !== null && _a !== void 0 ? _a : "";
903
+ message.pagination =
904
+ object.pagination !== undefined && object.pagination !== null
905
+ ? pagination_1.PageRequest.fromPartial(object.pagination)
906
+ : undefined;
907
+ return message;
908
+ },
909
+ };
910
+ function createBaseQueryDelegatorDelegationsResponse() {
911
+ return { delegationResponses: [], pagination: undefined };
912
+ }
913
+ exports.QueryDelegatorDelegationsResponse = {
914
+ encode(message, writer = minimal_1.default.Writer.create()) {
915
+ for (const v of message.delegationResponses) {
916
+ staking_1.DelegationResponse.encode(v, writer.uint32(10).fork()).ldelim();
917
+ }
918
+ if (message.pagination !== undefined) {
919
+ pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim();
920
+ }
921
+ return writer;
922
+ },
923
+ decode(input, length) {
924
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
925
+ let end = length === undefined ? reader.len : reader.pos + length;
926
+ const message = createBaseQueryDelegatorDelegationsResponse();
927
+ while (reader.pos < end) {
928
+ const tag = reader.uint32();
929
+ switch (tag >>> 3) {
930
+ case 1:
931
+ if (tag !== 10) {
932
+ break;
933
+ }
934
+ message.delegationResponses.push(staking_1.DelegationResponse.decode(reader, reader.uint32()));
935
+ continue;
936
+ case 2:
937
+ if (tag !== 18) {
938
+ break;
939
+ }
940
+ message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32());
941
+ continue;
942
+ }
943
+ if ((tag & 7) === 4 || tag === 0) {
944
+ break;
945
+ }
946
+ reader.skipType(tag & 7);
947
+ }
948
+ return message;
949
+ },
950
+ fromJSON(object) {
951
+ return {
952
+ delegationResponses: Array.isArray(object === null || object === void 0 ? void 0 : object.delegationResponses)
953
+ ? object.delegationResponses.map((e) => staking_1.DelegationResponse.fromJSON(e))
954
+ : [],
955
+ pagination: isSet(object.pagination)
956
+ ? pagination_1.PageResponse.fromJSON(object.pagination)
957
+ : undefined,
958
+ };
959
+ },
960
+ toJSON(message) {
961
+ const obj = {};
962
+ if (message.delegationResponses) {
963
+ obj.delegationResponses = message.delegationResponses.map((e) => e ? staking_1.DelegationResponse.toJSON(e) : undefined);
964
+ }
965
+ else {
966
+ obj.delegationResponses = [];
967
+ }
968
+ message.pagination !== undefined &&
969
+ (obj.pagination = message.pagination
970
+ ? pagination_1.PageResponse.toJSON(message.pagination)
971
+ : undefined);
972
+ return obj;
973
+ },
974
+ create(base) {
975
+ return exports.QueryDelegatorDelegationsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
976
+ },
977
+ fromPartial(object) {
978
+ var _a;
979
+ const message = createBaseQueryDelegatorDelegationsResponse();
980
+ message.delegationResponses =
981
+ ((_a = object.delegationResponses) === null || _a === void 0 ? void 0 : _a.map((e) => staking_1.DelegationResponse.fromPartial(e))) || [];
982
+ message.pagination =
983
+ object.pagination !== undefined && object.pagination !== null
984
+ ? pagination_1.PageResponse.fromPartial(object.pagination)
985
+ : undefined;
986
+ return message;
987
+ },
988
+ };
989
+ function createBaseQueryDelegatorUnbondingDelegationsRequest() {
990
+ return { delegatorAddr: "", pagination: undefined };
991
+ }
992
+ exports.QueryDelegatorUnbondingDelegationsRequest = {
993
+ encode(message, writer = minimal_1.default.Writer.create()) {
994
+ if (message.delegatorAddr !== "") {
995
+ writer.uint32(10).string(message.delegatorAddr);
996
+ }
997
+ if (message.pagination !== undefined) {
998
+ pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim();
999
+ }
1000
+ return writer;
1001
+ },
1002
+ decode(input, length) {
1003
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1004
+ let end = length === undefined ? reader.len : reader.pos + length;
1005
+ const message = createBaseQueryDelegatorUnbondingDelegationsRequest();
1006
+ while (reader.pos < end) {
1007
+ const tag = reader.uint32();
1008
+ switch (tag >>> 3) {
1009
+ case 1:
1010
+ if (tag !== 10) {
1011
+ break;
1012
+ }
1013
+ message.delegatorAddr = reader.string();
1014
+ continue;
1015
+ case 2:
1016
+ if (tag !== 18) {
1017
+ break;
1018
+ }
1019
+ message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32());
1020
+ continue;
1021
+ }
1022
+ if ((tag & 7) === 4 || tag === 0) {
1023
+ break;
1024
+ }
1025
+ reader.skipType(tag & 7);
1026
+ }
1027
+ return message;
1028
+ },
1029
+ fromJSON(object) {
1030
+ return {
1031
+ delegatorAddr: isSet(object.delegatorAddr)
1032
+ ? String(object.delegatorAddr)
1033
+ : "",
1034
+ pagination: isSet(object.pagination)
1035
+ ? pagination_1.PageRequest.fromJSON(object.pagination)
1036
+ : undefined,
1037
+ };
1038
+ },
1039
+ toJSON(message) {
1040
+ const obj = {};
1041
+ message.delegatorAddr !== undefined &&
1042
+ (obj.delegatorAddr = message.delegatorAddr);
1043
+ message.pagination !== undefined &&
1044
+ (obj.pagination = message.pagination
1045
+ ? pagination_1.PageRequest.toJSON(message.pagination)
1046
+ : undefined);
1047
+ return obj;
1048
+ },
1049
+ create(base) {
1050
+ return exports.QueryDelegatorUnbondingDelegationsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
1051
+ },
1052
+ fromPartial(object) {
1053
+ var _a;
1054
+ const message = createBaseQueryDelegatorUnbondingDelegationsRequest();
1055
+ message.delegatorAddr = (_a = object.delegatorAddr) !== null && _a !== void 0 ? _a : "";
1056
+ message.pagination =
1057
+ object.pagination !== undefined && object.pagination !== null
1058
+ ? pagination_1.PageRequest.fromPartial(object.pagination)
1059
+ : undefined;
1060
+ return message;
1061
+ },
1062
+ };
1063
+ function createBaseQueryDelegatorUnbondingDelegationsResponse() {
1064
+ return { unbondingResponses: [], pagination: undefined };
1065
+ }
1066
+ exports.QueryDelegatorUnbondingDelegationsResponse = {
1067
+ encode(message, writer = minimal_1.default.Writer.create()) {
1068
+ for (const v of message.unbondingResponses) {
1069
+ staking_1.UnbondingDelegation.encode(v, writer.uint32(10).fork()).ldelim();
1070
+ }
1071
+ if (message.pagination !== undefined) {
1072
+ pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim();
1073
+ }
1074
+ return writer;
1075
+ },
1076
+ decode(input, length) {
1077
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1078
+ let end = length === undefined ? reader.len : reader.pos + length;
1079
+ const message = createBaseQueryDelegatorUnbondingDelegationsResponse();
1080
+ while (reader.pos < end) {
1081
+ const tag = reader.uint32();
1082
+ switch (tag >>> 3) {
1083
+ case 1:
1084
+ if (tag !== 10) {
1085
+ break;
1086
+ }
1087
+ message.unbondingResponses.push(staking_1.UnbondingDelegation.decode(reader, reader.uint32()));
1088
+ continue;
1089
+ case 2:
1090
+ if (tag !== 18) {
1091
+ break;
1092
+ }
1093
+ message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32());
1094
+ continue;
1095
+ }
1096
+ if ((tag & 7) === 4 || tag === 0) {
1097
+ break;
1098
+ }
1099
+ reader.skipType(tag & 7);
1100
+ }
1101
+ return message;
1102
+ },
1103
+ fromJSON(object) {
1104
+ return {
1105
+ unbondingResponses: Array.isArray(object === null || object === void 0 ? void 0 : object.unbondingResponses)
1106
+ ? object.unbondingResponses.map((e) => staking_1.UnbondingDelegation.fromJSON(e))
1107
+ : [],
1108
+ pagination: isSet(object.pagination)
1109
+ ? pagination_1.PageResponse.fromJSON(object.pagination)
1110
+ : undefined,
1111
+ };
1112
+ },
1113
+ toJSON(message) {
1114
+ const obj = {};
1115
+ if (message.unbondingResponses) {
1116
+ obj.unbondingResponses = message.unbondingResponses.map((e) => e ? staking_1.UnbondingDelegation.toJSON(e) : undefined);
1117
+ }
1118
+ else {
1119
+ obj.unbondingResponses = [];
1120
+ }
1121
+ message.pagination !== undefined &&
1122
+ (obj.pagination = message.pagination
1123
+ ? pagination_1.PageResponse.toJSON(message.pagination)
1124
+ : undefined);
1125
+ return obj;
1126
+ },
1127
+ create(base) {
1128
+ return exports.QueryDelegatorUnbondingDelegationsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
1129
+ },
1130
+ fromPartial(object) {
1131
+ var _a;
1132
+ const message = createBaseQueryDelegatorUnbondingDelegationsResponse();
1133
+ message.unbondingResponses =
1134
+ ((_a = object.unbondingResponses) === null || _a === void 0 ? void 0 : _a.map((e) => staking_1.UnbondingDelegation.fromPartial(e))) || [];
1135
+ message.pagination =
1136
+ object.pagination !== undefined && object.pagination !== null
1137
+ ? pagination_1.PageResponse.fromPartial(object.pagination)
1138
+ : undefined;
1139
+ return message;
1140
+ },
1141
+ };
1142
+ function createBaseQueryRedelegationsRequest() {
1143
+ return {
1144
+ delegatorAddr: "",
1145
+ srcValidatorAddr: "",
1146
+ dstValidatorAddr: "",
1147
+ pagination: undefined,
1148
+ };
1149
+ }
1150
+ exports.QueryRedelegationsRequest = {
1151
+ encode(message, writer = minimal_1.default.Writer.create()) {
1152
+ if (message.delegatorAddr !== "") {
1153
+ writer.uint32(10).string(message.delegatorAddr);
1154
+ }
1155
+ if (message.srcValidatorAddr !== "") {
1156
+ writer.uint32(18).string(message.srcValidatorAddr);
1157
+ }
1158
+ if (message.dstValidatorAddr !== "") {
1159
+ writer.uint32(26).string(message.dstValidatorAddr);
1160
+ }
1161
+ if (message.pagination !== undefined) {
1162
+ pagination_1.PageRequest.encode(message.pagination, writer.uint32(34).fork()).ldelim();
1163
+ }
1164
+ return writer;
1165
+ },
1166
+ decode(input, length) {
1167
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1168
+ let end = length === undefined ? reader.len : reader.pos + length;
1169
+ const message = createBaseQueryRedelegationsRequest();
1170
+ while (reader.pos < end) {
1171
+ const tag = reader.uint32();
1172
+ switch (tag >>> 3) {
1173
+ case 1:
1174
+ if (tag !== 10) {
1175
+ break;
1176
+ }
1177
+ message.delegatorAddr = reader.string();
1178
+ continue;
1179
+ case 2:
1180
+ if (tag !== 18) {
1181
+ break;
1182
+ }
1183
+ message.srcValidatorAddr = reader.string();
1184
+ continue;
1185
+ case 3:
1186
+ if (tag !== 26) {
1187
+ break;
1188
+ }
1189
+ message.dstValidatorAddr = reader.string();
1190
+ continue;
1191
+ case 4:
1192
+ if (tag !== 34) {
1193
+ break;
1194
+ }
1195
+ message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32());
1196
+ continue;
1197
+ }
1198
+ if ((tag & 7) === 4 || tag === 0) {
1199
+ break;
1200
+ }
1201
+ reader.skipType(tag & 7);
1202
+ }
1203
+ return message;
1204
+ },
1205
+ fromJSON(object) {
1206
+ return {
1207
+ delegatorAddr: isSet(object.delegatorAddr)
1208
+ ? String(object.delegatorAddr)
1209
+ : "",
1210
+ srcValidatorAddr: isSet(object.srcValidatorAddr)
1211
+ ? String(object.srcValidatorAddr)
1212
+ : "",
1213
+ dstValidatorAddr: isSet(object.dstValidatorAddr)
1214
+ ? String(object.dstValidatorAddr)
1215
+ : "",
1216
+ pagination: isSet(object.pagination)
1217
+ ? pagination_1.PageRequest.fromJSON(object.pagination)
1218
+ : undefined,
1219
+ };
1220
+ },
1221
+ toJSON(message) {
1222
+ const obj = {};
1223
+ message.delegatorAddr !== undefined &&
1224
+ (obj.delegatorAddr = message.delegatorAddr);
1225
+ message.srcValidatorAddr !== undefined &&
1226
+ (obj.srcValidatorAddr = message.srcValidatorAddr);
1227
+ message.dstValidatorAddr !== undefined &&
1228
+ (obj.dstValidatorAddr = message.dstValidatorAddr);
1229
+ message.pagination !== undefined &&
1230
+ (obj.pagination = message.pagination
1231
+ ? pagination_1.PageRequest.toJSON(message.pagination)
1232
+ : undefined);
1233
+ return obj;
1234
+ },
1235
+ create(base) {
1236
+ return exports.QueryRedelegationsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
1237
+ },
1238
+ fromPartial(object) {
1239
+ var _a, _b, _c;
1240
+ const message = createBaseQueryRedelegationsRequest();
1241
+ message.delegatorAddr = (_a = object.delegatorAddr) !== null && _a !== void 0 ? _a : "";
1242
+ message.srcValidatorAddr = (_b = object.srcValidatorAddr) !== null && _b !== void 0 ? _b : "";
1243
+ message.dstValidatorAddr = (_c = object.dstValidatorAddr) !== null && _c !== void 0 ? _c : "";
1244
+ message.pagination =
1245
+ object.pagination !== undefined && object.pagination !== null
1246
+ ? pagination_1.PageRequest.fromPartial(object.pagination)
1247
+ : undefined;
1248
+ return message;
1249
+ },
1250
+ };
1251
+ function createBaseQueryRedelegationsResponse() {
1252
+ return { redelegationResponses: [], pagination: undefined };
1253
+ }
1254
+ exports.QueryRedelegationsResponse = {
1255
+ encode(message, writer = minimal_1.default.Writer.create()) {
1256
+ for (const v of message.redelegationResponses) {
1257
+ staking_1.RedelegationResponse.encode(v, writer.uint32(10).fork()).ldelim();
1258
+ }
1259
+ if (message.pagination !== undefined) {
1260
+ pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim();
1261
+ }
1262
+ return writer;
1263
+ },
1264
+ decode(input, length) {
1265
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1266
+ let end = length === undefined ? reader.len : reader.pos + length;
1267
+ const message = createBaseQueryRedelegationsResponse();
1268
+ while (reader.pos < end) {
1269
+ const tag = reader.uint32();
1270
+ switch (tag >>> 3) {
1271
+ case 1:
1272
+ if (tag !== 10) {
1273
+ break;
1274
+ }
1275
+ message.redelegationResponses.push(staking_1.RedelegationResponse.decode(reader, reader.uint32()));
1276
+ continue;
1277
+ case 2:
1278
+ if (tag !== 18) {
1279
+ break;
1280
+ }
1281
+ message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32());
1282
+ continue;
1283
+ }
1284
+ if ((tag & 7) === 4 || tag === 0) {
1285
+ break;
1286
+ }
1287
+ reader.skipType(tag & 7);
1288
+ }
1289
+ return message;
1290
+ },
1291
+ fromJSON(object) {
1292
+ return {
1293
+ redelegationResponses: Array.isArray(object === null || object === void 0 ? void 0 : object.redelegationResponses)
1294
+ ? object.redelegationResponses.map((e) => staking_1.RedelegationResponse.fromJSON(e))
1295
+ : [],
1296
+ pagination: isSet(object.pagination)
1297
+ ? pagination_1.PageResponse.fromJSON(object.pagination)
1298
+ : undefined,
1299
+ };
1300
+ },
1301
+ toJSON(message) {
1302
+ const obj = {};
1303
+ if (message.redelegationResponses) {
1304
+ obj.redelegationResponses = message.redelegationResponses.map((e) => e ? staking_1.RedelegationResponse.toJSON(e) : undefined);
1305
+ }
1306
+ else {
1307
+ obj.redelegationResponses = [];
1308
+ }
1309
+ message.pagination !== undefined &&
1310
+ (obj.pagination = message.pagination
1311
+ ? pagination_1.PageResponse.toJSON(message.pagination)
1312
+ : undefined);
1313
+ return obj;
1314
+ },
1315
+ create(base) {
1316
+ return exports.QueryRedelegationsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
1317
+ },
1318
+ fromPartial(object) {
1319
+ var _a;
1320
+ const message = createBaseQueryRedelegationsResponse();
1321
+ message.redelegationResponses =
1322
+ ((_a = object.redelegationResponses) === null || _a === void 0 ? void 0 : _a.map((e) => staking_1.RedelegationResponse.fromPartial(e))) || [];
1323
+ message.pagination =
1324
+ object.pagination !== undefined && object.pagination !== null
1325
+ ? pagination_1.PageResponse.fromPartial(object.pagination)
1326
+ : undefined;
1327
+ return message;
1328
+ },
1329
+ };
1330
+ function createBaseQueryDelegatorValidatorsRequest() {
1331
+ return { delegatorAddr: "", pagination: undefined };
1332
+ }
1333
+ exports.QueryDelegatorValidatorsRequest = {
1334
+ encode(message, writer = minimal_1.default.Writer.create()) {
1335
+ if (message.delegatorAddr !== "") {
1336
+ writer.uint32(10).string(message.delegatorAddr);
1337
+ }
1338
+ if (message.pagination !== undefined) {
1339
+ pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim();
1340
+ }
1341
+ return writer;
1342
+ },
1343
+ decode(input, length) {
1344
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1345
+ let end = length === undefined ? reader.len : reader.pos + length;
1346
+ const message = createBaseQueryDelegatorValidatorsRequest();
1347
+ while (reader.pos < end) {
1348
+ const tag = reader.uint32();
1349
+ switch (tag >>> 3) {
1350
+ case 1:
1351
+ if (tag !== 10) {
1352
+ break;
1353
+ }
1354
+ message.delegatorAddr = reader.string();
1355
+ continue;
1356
+ case 2:
1357
+ if (tag !== 18) {
1358
+ break;
1359
+ }
1360
+ message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32());
1361
+ continue;
1362
+ }
1363
+ if ((tag & 7) === 4 || tag === 0) {
1364
+ break;
1365
+ }
1366
+ reader.skipType(tag & 7);
1367
+ }
1368
+ return message;
1369
+ },
1370
+ fromJSON(object) {
1371
+ return {
1372
+ delegatorAddr: isSet(object.delegatorAddr)
1373
+ ? String(object.delegatorAddr)
1374
+ : "",
1375
+ pagination: isSet(object.pagination)
1376
+ ? pagination_1.PageRequest.fromJSON(object.pagination)
1377
+ : undefined,
1378
+ };
1379
+ },
1380
+ toJSON(message) {
1381
+ const obj = {};
1382
+ message.delegatorAddr !== undefined &&
1383
+ (obj.delegatorAddr = message.delegatorAddr);
1384
+ message.pagination !== undefined &&
1385
+ (obj.pagination = message.pagination
1386
+ ? pagination_1.PageRequest.toJSON(message.pagination)
1387
+ : undefined);
1388
+ return obj;
1389
+ },
1390
+ create(base) {
1391
+ return exports.QueryDelegatorValidatorsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
1392
+ },
1393
+ fromPartial(object) {
1394
+ var _a;
1395
+ const message = createBaseQueryDelegatorValidatorsRequest();
1396
+ message.delegatorAddr = (_a = object.delegatorAddr) !== null && _a !== void 0 ? _a : "";
1397
+ message.pagination =
1398
+ object.pagination !== undefined && object.pagination !== null
1399
+ ? pagination_1.PageRequest.fromPartial(object.pagination)
1400
+ : undefined;
1401
+ return message;
1402
+ },
1403
+ };
1404
+ function createBaseQueryDelegatorValidatorsResponse() {
1405
+ return { validators: [], pagination: undefined };
1406
+ }
1407
+ exports.QueryDelegatorValidatorsResponse = {
1408
+ encode(message, writer = minimal_1.default.Writer.create()) {
1409
+ for (const v of message.validators) {
1410
+ staking_1.Validator.encode(v, writer.uint32(10).fork()).ldelim();
1411
+ }
1412
+ if (message.pagination !== undefined) {
1413
+ pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim();
1414
+ }
1415
+ return writer;
1416
+ },
1417
+ decode(input, length) {
1418
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1419
+ let end = length === undefined ? reader.len : reader.pos + length;
1420
+ const message = createBaseQueryDelegatorValidatorsResponse();
1421
+ while (reader.pos < end) {
1422
+ const tag = reader.uint32();
1423
+ switch (tag >>> 3) {
1424
+ case 1:
1425
+ if (tag !== 10) {
1426
+ break;
1427
+ }
1428
+ message.validators.push(staking_1.Validator.decode(reader, reader.uint32()));
1429
+ continue;
1430
+ case 2:
1431
+ if (tag !== 18) {
1432
+ break;
1433
+ }
1434
+ message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32());
1435
+ continue;
1436
+ }
1437
+ if ((tag & 7) === 4 || tag === 0) {
1438
+ break;
1439
+ }
1440
+ reader.skipType(tag & 7);
1441
+ }
1442
+ return message;
1443
+ },
1444
+ fromJSON(object) {
1445
+ return {
1446
+ validators: Array.isArray(object === null || object === void 0 ? void 0 : object.validators)
1447
+ ? object.validators.map((e) => staking_1.Validator.fromJSON(e))
1448
+ : [],
1449
+ pagination: isSet(object.pagination)
1450
+ ? pagination_1.PageResponse.fromJSON(object.pagination)
1451
+ : undefined,
1452
+ };
1453
+ },
1454
+ toJSON(message) {
1455
+ const obj = {};
1456
+ if (message.validators) {
1457
+ obj.validators = message.validators.map((e) => e ? staking_1.Validator.toJSON(e) : undefined);
1458
+ }
1459
+ else {
1460
+ obj.validators = [];
1461
+ }
1462
+ message.pagination !== undefined &&
1463
+ (obj.pagination = message.pagination
1464
+ ? pagination_1.PageResponse.toJSON(message.pagination)
1465
+ : undefined);
1466
+ return obj;
1467
+ },
1468
+ create(base) {
1469
+ return exports.QueryDelegatorValidatorsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
1470
+ },
1471
+ fromPartial(object) {
1472
+ var _a;
1473
+ const message = createBaseQueryDelegatorValidatorsResponse();
1474
+ message.validators =
1475
+ ((_a = object.validators) === null || _a === void 0 ? void 0 : _a.map((e) => staking_1.Validator.fromPartial(e))) || [];
1476
+ message.pagination =
1477
+ object.pagination !== undefined && object.pagination !== null
1478
+ ? pagination_1.PageResponse.fromPartial(object.pagination)
1479
+ : undefined;
1480
+ return message;
1481
+ },
1482
+ };
1483
+ function createBaseQueryDelegatorValidatorRequest() {
1484
+ return { delegatorAddr: "", validatorAddr: "" };
1485
+ }
1486
+ exports.QueryDelegatorValidatorRequest = {
1487
+ encode(message, writer = minimal_1.default.Writer.create()) {
1488
+ if (message.delegatorAddr !== "") {
1489
+ writer.uint32(10).string(message.delegatorAddr);
1490
+ }
1491
+ if (message.validatorAddr !== "") {
1492
+ writer.uint32(18).string(message.validatorAddr);
1493
+ }
1494
+ return writer;
1495
+ },
1496
+ decode(input, length) {
1497
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1498
+ let end = length === undefined ? reader.len : reader.pos + length;
1499
+ const message = createBaseQueryDelegatorValidatorRequest();
1500
+ while (reader.pos < end) {
1501
+ const tag = reader.uint32();
1502
+ switch (tag >>> 3) {
1503
+ case 1:
1504
+ if (tag !== 10) {
1505
+ break;
1506
+ }
1507
+ message.delegatorAddr = reader.string();
1508
+ continue;
1509
+ case 2:
1510
+ if (tag !== 18) {
1511
+ break;
1512
+ }
1513
+ message.validatorAddr = reader.string();
1514
+ continue;
1515
+ }
1516
+ if ((tag & 7) === 4 || tag === 0) {
1517
+ break;
1518
+ }
1519
+ reader.skipType(tag & 7);
1520
+ }
1521
+ return message;
1522
+ },
1523
+ fromJSON(object) {
1524
+ return {
1525
+ delegatorAddr: isSet(object.delegatorAddr)
1526
+ ? String(object.delegatorAddr)
1527
+ : "",
1528
+ validatorAddr: isSet(object.validatorAddr)
1529
+ ? String(object.validatorAddr)
1530
+ : "",
1531
+ };
1532
+ },
1533
+ toJSON(message) {
1534
+ const obj = {};
1535
+ message.delegatorAddr !== undefined &&
1536
+ (obj.delegatorAddr = message.delegatorAddr);
1537
+ message.validatorAddr !== undefined &&
1538
+ (obj.validatorAddr = message.validatorAddr);
1539
+ return obj;
1540
+ },
1541
+ create(base) {
1542
+ return exports.QueryDelegatorValidatorRequest.fromPartial(base !== null && base !== void 0 ? base : {});
1543
+ },
1544
+ fromPartial(object) {
1545
+ var _a, _b;
1546
+ const message = createBaseQueryDelegatorValidatorRequest();
1547
+ message.delegatorAddr = (_a = object.delegatorAddr) !== null && _a !== void 0 ? _a : "";
1548
+ message.validatorAddr = (_b = object.validatorAddr) !== null && _b !== void 0 ? _b : "";
1549
+ return message;
1550
+ },
1551
+ };
1552
+ function createBaseQueryDelegatorValidatorResponse() {
1553
+ return { validator: undefined };
1554
+ }
1555
+ exports.QueryDelegatorValidatorResponse = {
1556
+ encode(message, writer = minimal_1.default.Writer.create()) {
1557
+ if (message.validator !== undefined) {
1558
+ staking_1.Validator.encode(message.validator, writer.uint32(10).fork()).ldelim();
1559
+ }
1560
+ return writer;
1561
+ },
1562
+ decode(input, length) {
1563
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1564
+ let end = length === undefined ? reader.len : reader.pos + length;
1565
+ const message = createBaseQueryDelegatorValidatorResponse();
1566
+ while (reader.pos < end) {
1567
+ const tag = reader.uint32();
1568
+ switch (tag >>> 3) {
1569
+ case 1:
1570
+ if (tag !== 10) {
1571
+ break;
1572
+ }
1573
+ message.validator = staking_1.Validator.decode(reader, reader.uint32());
1574
+ continue;
1575
+ }
1576
+ if ((tag & 7) === 4 || tag === 0) {
1577
+ break;
1578
+ }
1579
+ reader.skipType(tag & 7);
1580
+ }
1581
+ return message;
1582
+ },
1583
+ fromJSON(object) {
1584
+ return {
1585
+ validator: isSet(object.validator)
1586
+ ? staking_1.Validator.fromJSON(object.validator)
1587
+ : undefined,
1588
+ };
1589
+ },
1590
+ toJSON(message) {
1591
+ const obj = {};
1592
+ message.validator !== undefined &&
1593
+ (obj.validator = message.validator
1594
+ ? staking_1.Validator.toJSON(message.validator)
1595
+ : undefined);
1596
+ return obj;
1597
+ },
1598
+ create(base) {
1599
+ return exports.QueryDelegatorValidatorResponse.fromPartial(base !== null && base !== void 0 ? base : {});
1600
+ },
1601
+ fromPartial(object) {
1602
+ const message = createBaseQueryDelegatorValidatorResponse();
1603
+ message.validator =
1604
+ object.validator !== undefined && object.validator !== null
1605
+ ? staking_1.Validator.fromPartial(object.validator)
1606
+ : undefined;
1607
+ return message;
1608
+ },
1609
+ };
1610
+ function createBaseQueryHistoricalInfoRequest() {
1611
+ return { height: 0 };
1612
+ }
1613
+ exports.QueryHistoricalInfoRequest = {
1614
+ encode(message, writer = minimal_1.default.Writer.create()) {
1615
+ if (message.height !== 0) {
1616
+ writer.uint32(8).int64(message.height);
1617
+ }
1618
+ return writer;
1619
+ },
1620
+ decode(input, length) {
1621
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1622
+ let end = length === undefined ? reader.len : reader.pos + length;
1623
+ const message = createBaseQueryHistoricalInfoRequest();
1624
+ while (reader.pos < end) {
1625
+ const tag = reader.uint32();
1626
+ switch (tag >>> 3) {
1627
+ case 1:
1628
+ if (tag !== 8) {
1629
+ break;
1630
+ }
1631
+ message.height = longToNumber(reader.int64());
1632
+ continue;
1633
+ }
1634
+ if ((tag & 7) === 4 || tag === 0) {
1635
+ break;
1636
+ }
1637
+ reader.skipType(tag & 7);
1638
+ }
1639
+ return message;
1640
+ },
1641
+ fromJSON(object) {
1642
+ return { height: isSet(object.height) ? Number(object.height) : 0 };
1643
+ },
1644
+ toJSON(message) {
1645
+ const obj = {};
1646
+ message.height !== undefined && (obj.height = Math.round(message.height));
1647
+ return obj;
1648
+ },
1649
+ create(base) {
1650
+ return exports.QueryHistoricalInfoRequest.fromPartial(base !== null && base !== void 0 ? base : {});
1651
+ },
1652
+ fromPartial(object) {
1653
+ var _a;
1654
+ const message = createBaseQueryHistoricalInfoRequest();
1655
+ message.height = (_a = object.height) !== null && _a !== void 0 ? _a : 0;
1656
+ return message;
1657
+ },
1658
+ };
1659
+ function createBaseQueryHistoricalInfoResponse() {
1660
+ return { hist: undefined };
1661
+ }
1662
+ exports.QueryHistoricalInfoResponse = {
1663
+ encode(message, writer = minimal_1.default.Writer.create()) {
1664
+ if (message.hist !== undefined) {
1665
+ staking_1.HistoricalInfo.encode(message.hist, writer.uint32(10).fork()).ldelim();
1666
+ }
1667
+ return writer;
1668
+ },
1669
+ decode(input, length) {
1670
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1671
+ let end = length === undefined ? reader.len : reader.pos + length;
1672
+ const message = createBaseQueryHistoricalInfoResponse();
1673
+ while (reader.pos < end) {
1674
+ const tag = reader.uint32();
1675
+ switch (tag >>> 3) {
1676
+ case 1:
1677
+ if (tag !== 10) {
1678
+ break;
1679
+ }
1680
+ message.hist = staking_1.HistoricalInfo.decode(reader, reader.uint32());
1681
+ continue;
1682
+ }
1683
+ if ((tag & 7) === 4 || tag === 0) {
1684
+ break;
1685
+ }
1686
+ reader.skipType(tag & 7);
1687
+ }
1688
+ return message;
1689
+ },
1690
+ fromJSON(object) {
1691
+ return {
1692
+ hist: isSet(object.hist)
1693
+ ? staking_1.HistoricalInfo.fromJSON(object.hist)
1694
+ : undefined,
1695
+ };
1696
+ },
1697
+ toJSON(message) {
1698
+ const obj = {};
1699
+ message.hist !== undefined &&
1700
+ (obj.hist = message.hist
1701
+ ? staking_1.HistoricalInfo.toJSON(message.hist)
1702
+ : undefined);
1703
+ return obj;
1704
+ },
1705
+ create(base) {
1706
+ return exports.QueryHistoricalInfoResponse.fromPartial(base !== null && base !== void 0 ? base : {});
1707
+ },
1708
+ fromPartial(object) {
1709
+ const message = createBaseQueryHistoricalInfoResponse();
1710
+ message.hist =
1711
+ object.hist !== undefined && object.hist !== null
1712
+ ? staking_1.HistoricalInfo.fromPartial(object.hist)
1713
+ : undefined;
1714
+ return message;
1715
+ },
1716
+ };
1717
+ function createBaseQueryPoolRequest() {
1718
+ return {};
1719
+ }
1720
+ exports.QueryPoolRequest = {
1721
+ encode(_, writer = minimal_1.default.Writer.create()) {
1722
+ return writer;
1723
+ },
1724
+ decode(input, length) {
1725
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1726
+ let end = length === undefined ? reader.len : reader.pos + length;
1727
+ const message = createBaseQueryPoolRequest();
1728
+ while (reader.pos < end) {
1729
+ const tag = reader.uint32();
1730
+ switch (tag >>> 3) {
1731
+ }
1732
+ if ((tag & 7) === 4 || tag === 0) {
1733
+ break;
1734
+ }
1735
+ reader.skipType(tag & 7);
1736
+ }
1737
+ return message;
1738
+ },
1739
+ fromJSON(_) {
1740
+ return {};
1741
+ },
1742
+ toJSON(_) {
1743
+ const obj = {};
1744
+ return obj;
1745
+ },
1746
+ create(base) {
1747
+ return exports.QueryPoolRequest.fromPartial(base !== null && base !== void 0 ? base : {});
1748
+ },
1749
+ fromPartial(_) {
1750
+ const message = createBaseQueryPoolRequest();
1751
+ return message;
1752
+ },
1753
+ };
1754
+ function createBaseQueryPoolResponse() {
1755
+ return { pool: undefined };
1756
+ }
1757
+ exports.QueryPoolResponse = {
1758
+ encode(message, writer = minimal_1.default.Writer.create()) {
1759
+ if (message.pool !== undefined) {
1760
+ staking_1.Pool.encode(message.pool, writer.uint32(10).fork()).ldelim();
1761
+ }
1762
+ return writer;
1763
+ },
1764
+ decode(input, length) {
1765
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1766
+ let end = length === undefined ? reader.len : reader.pos + length;
1767
+ const message = createBaseQueryPoolResponse();
1768
+ while (reader.pos < end) {
1769
+ const tag = reader.uint32();
1770
+ switch (tag >>> 3) {
1771
+ case 1:
1772
+ if (tag !== 10) {
1773
+ break;
1774
+ }
1775
+ message.pool = staking_1.Pool.decode(reader, reader.uint32());
1776
+ continue;
1777
+ }
1778
+ if ((tag & 7) === 4 || tag === 0) {
1779
+ break;
1780
+ }
1781
+ reader.skipType(tag & 7);
1782
+ }
1783
+ return message;
1784
+ },
1785
+ fromJSON(object) {
1786
+ return {
1787
+ pool: isSet(object.pool) ? staking_1.Pool.fromJSON(object.pool) : undefined,
1788
+ };
1789
+ },
1790
+ toJSON(message) {
1791
+ const obj = {};
1792
+ message.pool !== undefined &&
1793
+ (obj.pool = message.pool ? staking_1.Pool.toJSON(message.pool) : undefined);
1794
+ return obj;
1795
+ },
1796
+ create(base) {
1797
+ return exports.QueryPoolResponse.fromPartial(base !== null && base !== void 0 ? base : {});
1798
+ },
1799
+ fromPartial(object) {
1800
+ const message = createBaseQueryPoolResponse();
1801
+ message.pool =
1802
+ object.pool !== undefined && object.pool !== null
1803
+ ? staking_1.Pool.fromPartial(object.pool)
1804
+ : undefined;
1805
+ return message;
1806
+ },
1807
+ };
1808
+ function createBaseQueryParamsRequest() {
1809
+ return {};
1810
+ }
1811
+ exports.QueryParamsRequest = {
1812
+ encode(_, writer = minimal_1.default.Writer.create()) {
1813
+ return writer;
1814
+ },
1815
+ decode(input, length) {
1816
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1817
+ let end = length === undefined ? reader.len : reader.pos + length;
1818
+ const message = createBaseQueryParamsRequest();
1819
+ while (reader.pos < end) {
1820
+ const tag = reader.uint32();
1821
+ switch (tag >>> 3) {
1822
+ }
1823
+ if ((tag & 7) === 4 || tag === 0) {
1824
+ break;
1825
+ }
1826
+ reader.skipType(tag & 7);
1827
+ }
1828
+ return message;
1829
+ },
1830
+ fromJSON(_) {
1831
+ return {};
1832
+ },
1833
+ toJSON(_) {
1834
+ const obj = {};
1835
+ return obj;
1836
+ },
1837
+ create(base) {
1838
+ return exports.QueryParamsRequest.fromPartial(base !== null && base !== void 0 ? base : {});
1839
+ },
1840
+ fromPartial(_) {
1841
+ const message = createBaseQueryParamsRequest();
1842
+ return message;
1843
+ },
1844
+ };
1845
+ function createBaseQueryParamsResponse() {
1846
+ return { params: undefined };
1847
+ }
1848
+ exports.QueryParamsResponse = {
1849
+ encode(message, writer = minimal_1.default.Writer.create()) {
1850
+ if (message.params !== undefined) {
1851
+ staking_1.Params.encode(message.params, writer.uint32(10).fork()).ldelim();
1852
+ }
1853
+ return writer;
1854
+ },
1855
+ decode(input, length) {
1856
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
1857
+ let end = length === undefined ? reader.len : reader.pos + length;
1858
+ const message = createBaseQueryParamsResponse();
1859
+ while (reader.pos < end) {
1860
+ const tag = reader.uint32();
1861
+ switch (tag >>> 3) {
1862
+ case 1:
1863
+ if (tag !== 10) {
1864
+ break;
1865
+ }
1866
+ message.params = staking_1.Params.decode(reader, reader.uint32());
1867
+ continue;
1868
+ }
1869
+ if ((tag & 7) === 4 || tag === 0) {
1870
+ break;
1871
+ }
1872
+ reader.skipType(tag & 7);
1873
+ }
1874
+ return message;
1875
+ },
1876
+ fromJSON(object) {
1877
+ return {
1878
+ params: isSet(object.params) ? staking_1.Params.fromJSON(object.params) : undefined,
1879
+ };
1880
+ },
1881
+ toJSON(message) {
1882
+ const obj = {};
1883
+ message.params !== undefined &&
1884
+ (obj.params = message.params ? staking_1.Params.toJSON(message.params) : undefined);
1885
+ return obj;
1886
+ },
1887
+ create(base) {
1888
+ return exports.QueryParamsResponse.fromPartial(base !== null && base !== void 0 ? base : {});
1889
+ },
1890
+ fromPartial(object) {
1891
+ const message = createBaseQueryParamsResponse();
1892
+ message.params =
1893
+ object.params !== undefined && object.params !== null
1894
+ ? staking_1.Params.fromPartial(object.params)
1895
+ : undefined;
1896
+ return message;
1897
+ },
1898
+ };
1899
+ class QueryClientImpl {
1900
+ constructor(rpc, opts) {
1901
+ this.service = (opts === null || opts === void 0 ? void 0 : opts.service) || "cosmos.staking.v1beta1.Query";
1902
+ this.rpc = rpc;
1903
+ this.Validators = this.Validators.bind(this);
1904
+ this.Validator = this.Validator.bind(this);
1905
+ this.ValidatorDelegations = this.ValidatorDelegations.bind(this);
1906
+ this.ValidatorUnbondingDelegations =
1907
+ this.ValidatorUnbondingDelegations.bind(this);
1908
+ this.Delegation = this.Delegation.bind(this);
1909
+ this.UnbondingDelegation = this.UnbondingDelegation.bind(this);
1910
+ this.DelegatorDelegations = this.DelegatorDelegations.bind(this);
1911
+ this.DelegatorUnbondingDelegations =
1912
+ this.DelegatorUnbondingDelegations.bind(this);
1913
+ this.Redelegations = this.Redelegations.bind(this);
1914
+ this.DelegatorValidators = this.DelegatorValidators.bind(this);
1915
+ this.DelegatorValidator = this.DelegatorValidator.bind(this);
1916
+ this.HistoricalInfo = this.HistoricalInfo.bind(this);
1917
+ this.Pool = this.Pool.bind(this);
1918
+ this.Params = this.Params.bind(this);
1919
+ }
1920
+ Validators(request) {
1921
+ const data = exports.QueryValidatorsRequest.encode(request).finish();
1922
+ const promise = this.rpc.request(this.service, "Validators", data);
1923
+ return promise.then((data) => exports.QueryValidatorsResponse.decode(minimal_1.default.Reader.create(data)));
1924
+ }
1925
+ Validator(request) {
1926
+ const data = exports.QueryValidatorRequest.encode(request).finish();
1927
+ const promise = this.rpc.request(this.service, "Validator", data);
1928
+ return promise.then((data) => exports.QueryValidatorResponse.decode(minimal_1.default.Reader.create(data)));
1929
+ }
1930
+ ValidatorDelegations(request) {
1931
+ const data = exports.QueryValidatorDelegationsRequest.encode(request).finish();
1932
+ const promise = this.rpc.request(this.service, "ValidatorDelegations", data);
1933
+ return promise.then((data) => exports.QueryValidatorDelegationsResponse.decode(minimal_1.default.Reader.create(data)));
1934
+ }
1935
+ ValidatorUnbondingDelegations(request) {
1936
+ const data = exports.QueryValidatorUnbondingDelegationsRequest.encode(request).finish();
1937
+ const promise = this.rpc.request(this.service, "ValidatorUnbondingDelegations", data);
1938
+ return promise.then((data) => exports.QueryValidatorUnbondingDelegationsResponse.decode(minimal_1.default.Reader.create(data)));
1939
+ }
1940
+ Delegation(request) {
1941
+ const data = exports.QueryDelegationRequest.encode(request).finish();
1942
+ const promise = this.rpc.request(this.service, "Delegation", data);
1943
+ return promise.then((data) => exports.QueryDelegationResponse.decode(minimal_1.default.Reader.create(data)));
1944
+ }
1945
+ UnbondingDelegation(request) {
1946
+ const data = exports.QueryUnbondingDelegationRequest.encode(request).finish();
1947
+ const promise = this.rpc.request(this.service, "UnbondingDelegation", data);
1948
+ return promise.then((data) => exports.QueryUnbondingDelegationResponse.decode(minimal_1.default.Reader.create(data)));
1949
+ }
1950
+ DelegatorDelegations(request) {
1951
+ const data = exports.QueryDelegatorDelegationsRequest.encode(request).finish();
1952
+ const promise = this.rpc.request(this.service, "DelegatorDelegations", data);
1953
+ return promise.then((data) => exports.QueryDelegatorDelegationsResponse.decode(minimal_1.default.Reader.create(data)));
1954
+ }
1955
+ DelegatorUnbondingDelegations(request) {
1956
+ const data = exports.QueryDelegatorUnbondingDelegationsRequest.encode(request).finish();
1957
+ const promise = this.rpc.request(this.service, "DelegatorUnbondingDelegations", data);
1958
+ return promise.then((data) => exports.QueryDelegatorUnbondingDelegationsResponse.decode(minimal_1.default.Reader.create(data)));
1959
+ }
1960
+ Redelegations(request) {
1961
+ const data = exports.QueryRedelegationsRequest.encode(request).finish();
1962
+ const promise = this.rpc.request(this.service, "Redelegations", data);
1963
+ return promise.then((data) => exports.QueryRedelegationsResponse.decode(minimal_1.default.Reader.create(data)));
1964
+ }
1965
+ DelegatorValidators(request) {
1966
+ const data = exports.QueryDelegatorValidatorsRequest.encode(request).finish();
1967
+ const promise = this.rpc.request(this.service, "DelegatorValidators", data);
1968
+ return promise.then((data) => exports.QueryDelegatorValidatorsResponse.decode(minimal_1.default.Reader.create(data)));
1969
+ }
1970
+ DelegatorValidator(request) {
1971
+ const data = exports.QueryDelegatorValidatorRequest.encode(request).finish();
1972
+ const promise = this.rpc.request(this.service, "DelegatorValidator", data);
1973
+ return promise.then((data) => exports.QueryDelegatorValidatorResponse.decode(minimal_1.default.Reader.create(data)));
1974
+ }
1975
+ HistoricalInfo(request) {
1976
+ const data = exports.QueryHistoricalInfoRequest.encode(request).finish();
1977
+ const promise = this.rpc.request(this.service, "HistoricalInfo", data);
1978
+ return promise.then((data) => exports.QueryHistoricalInfoResponse.decode(minimal_1.default.Reader.create(data)));
1979
+ }
1980
+ Pool(request) {
1981
+ const data = exports.QueryPoolRequest.encode(request).finish();
1982
+ const promise = this.rpc.request(this.service, "Pool", data);
1983
+ return promise.then((data) => exports.QueryPoolResponse.decode(minimal_1.default.Reader.create(data)));
1984
+ }
1985
+ Params(request) {
1986
+ const data = exports.QueryParamsRequest.encode(request).finish();
1987
+ const promise = this.rpc.request(this.service, "Params", data);
1988
+ return promise.then((data) => exports.QueryParamsResponse.decode(minimal_1.default.Reader.create(data)));
1989
+ }
1990
+ }
1991
+ exports.QueryClientImpl = QueryClientImpl;
1992
+ var tsProtoGlobalThis = (() => {
1993
+ if (typeof globalThis !== "undefined") {
1994
+ return globalThis;
1995
+ }
1996
+ if (typeof self !== "undefined") {
1997
+ return self;
1998
+ }
1999
+ if (typeof window !== "undefined") {
2000
+ return window;
2001
+ }
2002
+ if (typeof global !== "undefined") {
2003
+ return global;
2004
+ }
2005
+ throw "Unable to locate global object";
2006
+ })();
2007
+ function longToNumber(long) {
2008
+ if (long.gt(Number.MAX_SAFE_INTEGER)) {
2009
+ throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
2010
+ }
2011
+ return long.toNumber();
2012
+ }
2013
+ if (minimal_1.default.util.Long !== long_1.default) {
2014
+ minimal_1.default.util.Long = long_1.default;
2015
+ minimal_1.default.configure();
2016
+ }
2017
+ function isSet(value) {
2018
+ return value !== null && value !== undefined;
2019
+ }
2020
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29zbW9zL3N0YWtpbmcvdjFiZXRhMS9xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsZ0RBQXdCO0FBQ3hCLGlFQUFxQztBQUNyQyw2Q0FBeUQ7QUFDekQsdUNBUW1CO0FBRU4sUUFBQSxlQUFlLEdBQUcsd0JBQXdCLENBQUM7QUE0UHhELFNBQVMsZ0NBQWdDO0lBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUMvQyxDQUFDO0FBRVksUUFBQSxzQkFBc0IsR0FBRztJQUNwQyxNQUFNLENBQ0osT0FBK0IsRUFDL0IsU0FBcUIsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBRXhDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDekIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUNwQyx3QkFBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMzRTtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQ0osS0FBOEIsRUFDOUIsTUFBZTtRQUVmLE1BQU0sTUFBTSxHQUNWLEtBQUssWUFBWSxpQkFBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxpQkFBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakUsSUFB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