coreum-js 2.5.8 → 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 (101) hide show
  1. package/dist/main/cosmos/bank/v1beta1/authz.d.ts +80 -0
  2. package/dist/main/cosmos/bank/v1beta1/authz.js +84 -0
  3. package/dist/main/cosmos/bank/v1beta1/bank.d.ts +440 -0
  4. package/dist/main/cosmos/bank/v1beta1/bank.js +557 -0
  5. package/dist/main/cosmos/bank/v1beta1/genesis.d.ts +473 -0
  6. package/dist/main/cosmos/bank/v1beta1/genesis.js +208 -0
  7. package/dist/main/cosmos/bank/v1beta1/pagination.d.ts +128 -0
  8. package/dist/main/cosmos/bank/v1beta1/pagination.js +228 -0
  9. package/dist/main/cosmos/bank/v1beta1/query.d.ts +1633 -0
  10. package/dist/main/cosmos/bank/v1beta1/query.js +1596 -0
  11. package/dist/main/cosmos/bank/v1beta1/tx.d.ts +514 -0
  12. package/dist/main/cosmos/bank/v1beta1/tx.js +499 -0
  13. package/dist/main/cosmos/distribution/v1beta1/distribution.d.ts +638 -0
  14. package/dist/main/cosmos/distribution/v1beta1/distribution.js +888 -0
  15. package/dist/main/cosmos/distribution/v1beta1/genesis.d.ts +1259 -0
  16. package/dist/main/cosmos/distribution/v1beta1/genesis.js +785 -0
  17. package/dist/main/cosmos/distribution/v1beta1/pagination.d.ts +128 -0
  18. package/dist/main/cosmos/distribution/v1beta1/pagination.js +228 -0
  19. package/dist/main/cosmos/distribution/v1beta1/query.d.ts +995 -0
  20. package/dist/main/cosmos/distribution/v1beta1/query.js +1336 -0
  21. package/dist/main/cosmos/distribution/v1beta1/tx.d.ts +593 -0
  22. package/dist/main/cosmos/distribution/v1beta1/tx.js +825 -0
  23. package/dist/main/cosmos/feegrant/v1beta1/feegrant.d.ts +367 -0
  24. package/dist/main/cosmos/feegrant/v1beta1/feegrant.js +413 -0
  25. package/dist/main/cosmos/feegrant/v1beta1/genesis.d.ts +111 -0
  26. package/dist/main/cosmos/feegrant/v1beta1/genesis.js +67 -0
  27. package/dist/main/cosmos/feegrant/v1beta1/pagination.d.ts +128 -0
  28. package/dist/main/cosmos/feegrant/v1beta1/pagination.js +228 -0
  29. package/dist/main/cosmos/feegrant/v1beta1/query.d.ts +512 -0
  30. package/dist/main/cosmos/feegrant/v1beta1/query.js +461 -0
  31. package/dist/main/cosmos/feegrant/v1beta1/tx.d.ts +143 -0
  32. package/dist/main/cosmos/feegrant/v1beta1/tx.js +253 -0
  33. package/dist/main/cosmos/gov/v1beta1/genesis.d.ts +639 -0
  34. package/dist/main/cosmos/gov/v1beta1/genesis.js +195 -0
  35. package/dist/main/cosmos/gov/v1beta1/gov.d.ts +620 -0
  36. package/dist/main/cosmos/gov/v1beta1/gov.js +1038 -0
  37. package/dist/main/cosmos/gov/v1beta1/pagination.d.ts +128 -0
  38. package/dist/main/cosmos/gov/v1beta1/pagination.js +228 -0
  39. package/dist/main/cosmos/gov/v1beta1/query.d.ts +1511 -0
  40. package/dist/main/cosmos/gov/v1beta1/query.js +1187 -0
  41. package/dist/main/cosmos/gov/v1beta1/tx.d.ts +350 -0
  42. package/dist/main/cosmos/gov/v1beta1/tx.js +567 -0
  43. package/dist/main/cosmos/index.d.ts +456 -0
  44. package/dist/main/cosmos/index.js +126 -0
  45. package/dist/main/google/protobuf/descriptor.d.ts +101937 -0
  46. package/dist/main/google/protobuf/descriptor.js +3375 -0
  47. package/dist/main/google/protobuf/duration.d.ts +110 -0
  48. package/dist/main/google/protobuf/duration.js +102 -0
  49. package/dist/main/google/protobuf/timestamp.d.ts +139 -0
  50. package/dist/main/google/protobuf/timestamp.js +102 -0
  51. package/dist/module/cosmos/bank/v1beta1/authz.d.ts +80 -0
  52. package/dist/module/cosmos/bank/v1beta1/authz.js +77 -0
  53. package/dist/module/cosmos/bank/v1beta1/bank.d.ts +440 -0
  54. package/dist/module/cosmos/bank/v1beta1/bank.js +544 -0
  55. package/dist/module/cosmos/bank/v1beta1/genesis.d.ts +473 -0
  56. package/dist/module/cosmos/bank/v1beta1/genesis.js +200 -0
  57. package/dist/module/cosmos/bank/v1beta1/pagination.d.ts +128 -0
  58. package/dist/module/cosmos/bank/v1beta1/pagination.js +220 -0
  59. package/dist/module/cosmos/bank/v1beta1/query.d.ts +1633 -0
  60. package/dist/module/cosmos/bank/v1beta1/query.js +1576 -0
  61. package/dist/module/cosmos/bank/v1beta1/tx.d.ts +514 -0
  62. package/dist/module/cosmos/bank/v1beta1/tx.js +490 -0
  63. package/dist/module/cosmos/distribution/v1beta1/distribution.d.ts +638 -0
  64. package/dist/module/cosmos/distribution/v1beta1/distribution.js +870 -0
  65. package/dist/module/cosmos/distribution/v1beta1/genesis.d.ts +1259 -0
  66. package/dist/module/cosmos/distribution/v1beta1/genesis.js +771 -0
  67. package/dist/module/cosmos/distribution/v1beta1/pagination.d.ts +128 -0
  68. package/dist/module/cosmos/distribution/v1beta1/pagination.js +220 -0
  69. package/dist/module/cosmos/distribution/v1beta1/query.d.ts +995 -0
  70. package/dist/module/cosmos/distribution/v1beta1/query.js +1316 -0
  71. package/dist/module/cosmos/distribution/v1beta1/tx.d.ts +593 -0
  72. package/dist/module/cosmos/distribution/v1beta1/tx.js +811 -0
  73. package/dist/module/cosmos/feegrant/v1beta1/feegrant.d.ts +367 -0
  74. package/dist/module/cosmos/feegrant/v1beta1/feegrant.js +403 -0
  75. package/dist/module/cosmos/feegrant/v1beta1/genesis.d.ts +111 -0
  76. package/dist/module/cosmos/feegrant/v1beta1/genesis.js +60 -0
  77. package/dist/module/cosmos/feegrant/v1beta1/pagination.d.ts +128 -0
  78. package/dist/module/cosmos/feegrant/v1beta1/pagination.js +220 -0
  79. package/dist/module/cosmos/feegrant/v1beta1/query.d.ts +512 -0
  80. package/dist/module/cosmos/feegrant/v1beta1/query.js +451 -0
  81. package/dist/module/cosmos/feegrant/v1beta1/tx.d.ts +143 -0
  82. package/dist/module/cosmos/feegrant/v1beta1/tx.js +246 -0
  83. package/dist/module/cosmos/gov/v1beta1/genesis.d.ts +639 -0
  84. package/dist/module/cosmos/gov/v1beta1/genesis.js +188 -0
  85. package/dist/module/cosmos/gov/v1beta1/gov.d.ts +620 -0
  86. package/dist/module/cosmos/gov/v1beta1/gov.js +1020 -0
  87. package/dist/module/cosmos/gov/v1beta1/pagination.d.ts +128 -0
  88. package/dist/module/cosmos/gov/v1beta1/pagination.js +220 -0
  89. package/dist/module/cosmos/gov/v1beta1/query.d.ts +1511 -0
  90. package/dist/module/cosmos/gov/v1beta1/query.js +1171 -0
  91. package/dist/module/cosmos/gov/v1beta1/tx.d.ts +350 -0
  92. package/dist/module/cosmos/gov/v1beta1/tx.js +557 -0
  93. package/dist/module/cosmos/index.d.ts +456 -0
  94. package/dist/module/cosmos/index.js +123 -0
  95. package/dist/module/google/protobuf/descriptor.d.ts +101937 -0
  96. package/dist/module/google/protobuf/descriptor.js +3330 -0
  97. package/dist/module/google/protobuf/duration.d.ts +110 -0
  98. package/dist/module/google/protobuf/duration.js +95 -0
  99. package/dist/module/google/protobuf/timestamp.d.ts +139 -0
  100. package/dist/module/google/protobuf/timestamp.js +95 -0
  101. package/package.json +1 -1
@@ -0,0 +1,1038 @@
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.TallyParams = exports.VotingParams = exports.DepositParams = exports.Vote = exports.TallyResult = exports.Proposal = exports.Deposit = exports.TextProposal = exports.WeightedVoteOption = exports.proposalStatusToJSON = exports.proposalStatusFromJSON = exports.ProposalStatus = exports.voteOptionToJSON = exports.voteOptionFromJSON = exports.VoteOption = exports.protobufPackage = void 0;
7
+ /* eslint-disable */
8
+ const long_1 = __importDefault(require("long"));
9
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
10
+ const coin_1 = require("../../base/v1beta1/coin");
11
+ const any_1 = require("../../../google/protobuf/any");
12
+ const duration_1 = require("../../../google/protobuf/duration");
13
+ const timestamp_1 = require("../../../google/protobuf/timestamp");
14
+ exports.protobufPackage = "cosmos.gov.v1beta1";
15
+ /** VoteOption enumerates the valid vote options for a given governance proposal. */
16
+ var VoteOption;
17
+ (function (VoteOption) {
18
+ /** VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines a no-op vote option. */
19
+ VoteOption[VoteOption["VOTE_OPTION_UNSPECIFIED"] = 0] = "VOTE_OPTION_UNSPECIFIED";
20
+ /** VOTE_OPTION_YES - VOTE_OPTION_YES defines a yes vote option. */
21
+ VoteOption[VoteOption["VOTE_OPTION_YES"] = 1] = "VOTE_OPTION_YES";
22
+ /** VOTE_OPTION_ABSTAIN - VOTE_OPTION_ABSTAIN defines an abstain vote option. */
23
+ VoteOption[VoteOption["VOTE_OPTION_ABSTAIN"] = 2] = "VOTE_OPTION_ABSTAIN";
24
+ /** VOTE_OPTION_NO - VOTE_OPTION_NO defines a no vote option. */
25
+ VoteOption[VoteOption["VOTE_OPTION_NO"] = 3] = "VOTE_OPTION_NO";
26
+ /** VOTE_OPTION_NO_WITH_VETO - VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. */
27
+ VoteOption[VoteOption["VOTE_OPTION_NO_WITH_VETO"] = 4] = "VOTE_OPTION_NO_WITH_VETO";
28
+ VoteOption[VoteOption["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
29
+ })(VoteOption = exports.VoteOption || (exports.VoteOption = {}));
30
+ function voteOptionFromJSON(object) {
31
+ switch (object) {
32
+ case 0:
33
+ case "VOTE_OPTION_UNSPECIFIED":
34
+ return VoteOption.VOTE_OPTION_UNSPECIFIED;
35
+ case 1:
36
+ case "VOTE_OPTION_YES":
37
+ return VoteOption.VOTE_OPTION_YES;
38
+ case 2:
39
+ case "VOTE_OPTION_ABSTAIN":
40
+ return VoteOption.VOTE_OPTION_ABSTAIN;
41
+ case 3:
42
+ case "VOTE_OPTION_NO":
43
+ return VoteOption.VOTE_OPTION_NO;
44
+ case 4:
45
+ case "VOTE_OPTION_NO_WITH_VETO":
46
+ return VoteOption.VOTE_OPTION_NO_WITH_VETO;
47
+ case -1:
48
+ case "UNRECOGNIZED":
49
+ default:
50
+ return VoteOption.UNRECOGNIZED;
51
+ }
52
+ }
53
+ exports.voteOptionFromJSON = voteOptionFromJSON;
54
+ function voteOptionToJSON(object) {
55
+ switch (object) {
56
+ case VoteOption.VOTE_OPTION_UNSPECIFIED:
57
+ return "VOTE_OPTION_UNSPECIFIED";
58
+ case VoteOption.VOTE_OPTION_YES:
59
+ return "VOTE_OPTION_YES";
60
+ case VoteOption.VOTE_OPTION_ABSTAIN:
61
+ return "VOTE_OPTION_ABSTAIN";
62
+ case VoteOption.VOTE_OPTION_NO:
63
+ return "VOTE_OPTION_NO";
64
+ case VoteOption.VOTE_OPTION_NO_WITH_VETO:
65
+ return "VOTE_OPTION_NO_WITH_VETO";
66
+ case VoteOption.UNRECOGNIZED:
67
+ default:
68
+ return "UNRECOGNIZED";
69
+ }
70
+ }
71
+ exports.voteOptionToJSON = voteOptionToJSON;
72
+ /** ProposalStatus enumerates the valid statuses of a proposal. */
73
+ var ProposalStatus;
74
+ (function (ProposalStatus) {
75
+ /** PROPOSAL_STATUS_UNSPECIFIED - PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. */
76
+ ProposalStatus[ProposalStatus["PROPOSAL_STATUS_UNSPECIFIED"] = 0] = "PROPOSAL_STATUS_UNSPECIFIED";
77
+ /**
78
+ * PROPOSAL_STATUS_DEPOSIT_PERIOD - PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
79
+ * period.
80
+ */
81
+ ProposalStatus[ProposalStatus["PROPOSAL_STATUS_DEPOSIT_PERIOD"] = 1] = "PROPOSAL_STATUS_DEPOSIT_PERIOD";
82
+ /**
83
+ * PROPOSAL_STATUS_VOTING_PERIOD - PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
84
+ * period.
85
+ */
86
+ ProposalStatus[ProposalStatus["PROPOSAL_STATUS_VOTING_PERIOD"] = 2] = "PROPOSAL_STATUS_VOTING_PERIOD";
87
+ /**
88
+ * PROPOSAL_STATUS_PASSED - PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
89
+ * passed.
90
+ */
91
+ ProposalStatus[ProposalStatus["PROPOSAL_STATUS_PASSED"] = 3] = "PROPOSAL_STATUS_PASSED";
92
+ /**
93
+ * PROPOSAL_STATUS_REJECTED - PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
94
+ * been rejected.
95
+ */
96
+ ProposalStatus[ProposalStatus["PROPOSAL_STATUS_REJECTED"] = 4] = "PROPOSAL_STATUS_REJECTED";
97
+ /**
98
+ * PROPOSAL_STATUS_FAILED - PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
99
+ * failed.
100
+ */
101
+ ProposalStatus[ProposalStatus["PROPOSAL_STATUS_FAILED"] = 5] = "PROPOSAL_STATUS_FAILED";
102
+ ProposalStatus[ProposalStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
103
+ })(ProposalStatus = exports.ProposalStatus || (exports.ProposalStatus = {}));
104
+ function proposalStatusFromJSON(object) {
105
+ switch (object) {
106
+ case 0:
107
+ case "PROPOSAL_STATUS_UNSPECIFIED":
108
+ return ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED;
109
+ case 1:
110
+ case "PROPOSAL_STATUS_DEPOSIT_PERIOD":
111
+ return ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD;
112
+ case 2:
113
+ case "PROPOSAL_STATUS_VOTING_PERIOD":
114
+ return ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD;
115
+ case 3:
116
+ case "PROPOSAL_STATUS_PASSED":
117
+ return ProposalStatus.PROPOSAL_STATUS_PASSED;
118
+ case 4:
119
+ case "PROPOSAL_STATUS_REJECTED":
120
+ return ProposalStatus.PROPOSAL_STATUS_REJECTED;
121
+ case 5:
122
+ case "PROPOSAL_STATUS_FAILED":
123
+ return ProposalStatus.PROPOSAL_STATUS_FAILED;
124
+ case -1:
125
+ case "UNRECOGNIZED":
126
+ default:
127
+ return ProposalStatus.UNRECOGNIZED;
128
+ }
129
+ }
130
+ exports.proposalStatusFromJSON = proposalStatusFromJSON;
131
+ function proposalStatusToJSON(object) {
132
+ switch (object) {
133
+ case ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED:
134
+ return "PROPOSAL_STATUS_UNSPECIFIED";
135
+ case ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD:
136
+ return "PROPOSAL_STATUS_DEPOSIT_PERIOD";
137
+ case ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD:
138
+ return "PROPOSAL_STATUS_VOTING_PERIOD";
139
+ case ProposalStatus.PROPOSAL_STATUS_PASSED:
140
+ return "PROPOSAL_STATUS_PASSED";
141
+ case ProposalStatus.PROPOSAL_STATUS_REJECTED:
142
+ return "PROPOSAL_STATUS_REJECTED";
143
+ case ProposalStatus.PROPOSAL_STATUS_FAILED:
144
+ return "PROPOSAL_STATUS_FAILED";
145
+ case ProposalStatus.UNRECOGNIZED:
146
+ default:
147
+ return "UNRECOGNIZED";
148
+ }
149
+ }
150
+ exports.proposalStatusToJSON = proposalStatusToJSON;
151
+ function createBaseWeightedVoteOption() {
152
+ return { option: 0, weight: "" };
153
+ }
154
+ exports.WeightedVoteOption = {
155
+ encode(message, writer = minimal_1.default.Writer.create()) {
156
+ if (message.option !== 0) {
157
+ writer.uint32(8).int32(message.option);
158
+ }
159
+ if (message.weight !== "") {
160
+ writer.uint32(18).string(message.weight);
161
+ }
162
+ return writer;
163
+ },
164
+ decode(input, length) {
165
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
166
+ let end = length === undefined ? reader.len : reader.pos + length;
167
+ const message = createBaseWeightedVoteOption();
168
+ while (reader.pos < end) {
169
+ const tag = reader.uint32();
170
+ switch (tag >>> 3) {
171
+ case 1:
172
+ if (tag !== 8) {
173
+ break;
174
+ }
175
+ message.option = reader.int32();
176
+ continue;
177
+ case 2:
178
+ if (tag !== 18) {
179
+ break;
180
+ }
181
+ message.weight = reader.string();
182
+ continue;
183
+ }
184
+ if ((tag & 7) === 4 || tag === 0) {
185
+ break;
186
+ }
187
+ reader.skipType(tag & 7);
188
+ }
189
+ return message;
190
+ },
191
+ fromJSON(object) {
192
+ return {
193
+ option: isSet(object.option) ? voteOptionFromJSON(object.option) : 0,
194
+ weight: isSet(object.weight) ? String(object.weight) : "",
195
+ };
196
+ },
197
+ toJSON(message) {
198
+ const obj = {};
199
+ message.option !== undefined &&
200
+ (obj.option = voteOptionToJSON(message.option));
201
+ message.weight !== undefined && (obj.weight = message.weight);
202
+ return obj;
203
+ },
204
+ create(base) {
205
+ return exports.WeightedVoteOption.fromPartial(base !== null && base !== void 0 ? base : {});
206
+ },
207
+ fromPartial(object) {
208
+ var _a, _b;
209
+ const message = createBaseWeightedVoteOption();
210
+ message.option = (_a = object.option) !== null && _a !== void 0 ? _a : 0;
211
+ message.weight = (_b = object.weight) !== null && _b !== void 0 ? _b : "";
212
+ return message;
213
+ },
214
+ };
215
+ function createBaseTextProposal() {
216
+ return { title: "", description: "" };
217
+ }
218
+ exports.TextProposal = {
219
+ encode(message, writer = minimal_1.default.Writer.create()) {
220
+ if (message.title !== "") {
221
+ writer.uint32(10).string(message.title);
222
+ }
223
+ if (message.description !== "") {
224
+ writer.uint32(18).string(message.description);
225
+ }
226
+ return writer;
227
+ },
228
+ decode(input, length) {
229
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
230
+ let end = length === undefined ? reader.len : reader.pos + length;
231
+ const message = createBaseTextProposal();
232
+ while (reader.pos < end) {
233
+ const tag = reader.uint32();
234
+ switch (tag >>> 3) {
235
+ case 1:
236
+ if (tag !== 10) {
237
+ break;
238
+ }
239
+ message.title = reader.string();
240
+ continue;
241
+ case 2:
242
+ if (tag !== 18) {
243
+ break;
244
+ }
245
+ message.description = reader.string();
246
+ continue;
247
+ }
248
+ if ((tag & 7) === 4 || tag === 0) {
249
+ break;
250
+ }
251
+ reader.skipType(tag & 7);
252
+ }
253
+ return message;
254
+ },
255
+ fromJSON(object) {
256
+ return {
257
+ title: isSet(object.title) ? String(object.title) : "",
258
+ description: isSet(object.description) ? String(object.description) : "",
259
+ };
260
+ },
261
+ toJSON(message) {
262
+ const obj = {};
263
+ message.title !== undefined && (obj.title = message.title);
264
+ message.description !== undefined &&
265
+ (obj.description = message.description);
266
+ return obj;
267
+ },
268
+ create(base) {
269
+ return exports.TextProposal.fromPartial(base !== null && base !== void 0 ? base : {});
270
+ },
271
+ fromPartial(object) {
272
+ var _a, _b;
273
+ const message = createBaseTextProposal();
274
+ message.title = (_a = object.title) !== null && _a !== void 0 ? _a : "";
275
+ message.description = (_b = object.description) !== null && _b !== void 0 ? _b : "";
276
+ return message;
277
+ },
278
+ };
279
+ function createBaseDeposit() {
280
+ return { proposalId: 0, depositor: "", amount: [] };
281
+ }
282
+ exports.Deposit = {
283
+ encode(message, writer = minimal_1.default.Writer.create()) {
284
+ if (message.proposalId !== 0) {
285
+ writer.uint32(8).uint64(message.proposalId);
286
+ }
287
+ if (message.depositor !== "") {
288
+ writer.uint32(18).string(message.depositor);
289
+ }
290
+ for (const v of message.amount) {
291
+ coin_1.Coin.encode(v, writer.uint32(26).fork()).ldelim();
292
+ }
293
+ return writer;
294
+ },
295
+ decode(input, length) {
296
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
297
+ let end = length === undefined ? reader.len : reader.pos + length;
298
+ const message = createBaseDeposit();
299
+ while (reader.pos < end) {
300
+ const tag = reader.uint32();
301
+ switch (tag >>> 3) {
302
+ case 1:
303
+ if (tag !== 8) {
304
+ break;
305
+ }
306
+ message.proposalId = longToNumber(reader.uint64());
307
+ continue;
308
+ case 2:
309
+ if (tag !== 18) {
310
+ break;
311
+ }
312
+ message.depositor = reader.string();
313
+ continue;
314
+ case 3:
315
+ if (tag !== 26) {
316
+ break;
317
+ }
318
+ message.amount.push(coin_1.Coin.decode(reader, reader.uint32()));
319
+ continue;
320
+ }
321
+ if ((tag & 7) === 4 || tag === 0) {
322
+ break;
323
+ }
324
+ reader.skipType(tag & 7);
325
+ }
326
+ return message;
327
+ },
328
+ fromJSON(object) {
329
+ return {
330
+ proposalId: isSet(object.proposalId) ? Number(object.proposalId) : 0,
331
+ depositor: isSet(object.depositor) ? String(object.depositor) : "",
332
+ amount: Array.isArray(object === null || object === void 0 ? void 0 : object.amount)
333
+ ? object.amount.map((e) => coin_1.Coin.fromJSON(e))
334
+ : [],
335
+ };
336
+ },
337
+ toJSON(message) {
338
+ const obj = {};
339
+ message.proposalId !== undefined &&
340
+ (obj.proposalId = Math.round(message.proposalId));
341
+ message.depositor !== undefined && (obj.depositor = message.depositor);
342
+ if (message.amount) {
343
+ obj.amount = message.amount.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined));
344
+ }
345
+ else {
346
+ obj.amount = [];
347
+ }
348
+ return obj;
349
+ },
350
+ create(base) {
351
+ return exports.Deposit.fromPartial(base !== null && base !== void 0 ? base : {});
352
+ },
353
+ fromPartial(object) {
354
+ var _a, _b, _c;
355
+ const message = createBaseDeposit();
356
+ message.proposalId = (_a = object.proposalId) !== null && _a !== void 0 ? _a : 0;
357
+ message.depositor = (_b = object.depositor) !== null && _b !== void 0 ? _b : "";
358
+ message.amount = ((_c = object.amount) === null || _c === void 0 ? void 0 : _c.map((e) => coin_1.Coin.fromPartial(e))) || [];
359
+ return message;
360
+ },
361
+ };
362
+ function createBaseProposal() {
363
+ return {
364
+ proposalId: 0,
365
+ content: undefined,
366
+ status: 0,
367
+ finalTallyResult: undefined,
368
+ submitTime: undefined,
369
+ depositEndTime: undefined,
370
+ totalDeposit: [],
371
+ votingStartTime: undefined,
372
+ votingEndTime: undefined,
373
+ };
374
+ }
375
+ exports.Proposal = {
376
+ encode(message, writer = minimal_1.default.Writer.create()) {
377
+ if (message.proposalId !== 0) {
378
+ writer.uint32(8).uint64(message.proposalId);
379
+ }
380
+ if (message.content !== undefined) {
381
+ any_1.Any.encode(message.content, writer.uint32(18).fork()).ldelim();
382
+ }
383
+ if (message.status !== 0) {
384
+ writer.uint32(24).int32(message.status);
385
+ }
386
+ if (message.finalTallyResult !== undefined) {
387
+ exports.TallyResult.encode(message.finalTallyResult, writer.uint32(34).fork()).ldelim();
388
+ }
389
+ if (message.submitTime !== undefined) {
390
+ timestamp_1.Timestamp.encode(toTimestamp(message.submitTime), writer.uint32(42).fork()).ldelim();
391
+ }
392
+ if (message.depositEndTime !== undefined) {
393
+ timestamp_1.Timestamp.encode(toTimestamp(message.depositEndTime), writer.uint32(50).fork()).ldelim();
394
+ }
395
+ for (const v of message.totalDeposit) {
396
+ coin_1.Coin.encode(v, writer.uint32(58).fork()).ldelim();
397
+ }
398
+ if (message.votingStartTime !== undefined) {
399
+ timestamp_1.Timestamp.encode(toTimestamp(message.votingStartTime), writer.uint32(66).fork()).ldelim();
400
+ }
401
+ if (message.votingEndTime !== undefined) {
402
+ timestamp_1.Timestamp.encode(toTimestamp(message.votingEndTime), writer.uint32(74).fork()).ldelim();
403
+ }
404
+ return writer;
405
+ },
406
+ decode(input, length) {
407
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
408
+ let end = length === undefined ? reader.len : reader.pos + length;
409
+ const message = createBaseProposal();
410
+ while (reader.pos < end) {
411
+ const tag = reader.uint32();
412
+ switch (tag >>> 3) {
413
+ case 1:
414
+ if (tag !== 8) {
415
+ break;
416
+ }
417
+ message.proposalId = longToNumber(reader.uint64());
418
+ continue;
419
+ case 2:
420
+ if (tag !== 18) {
421
+ break;
422
+ }
423
+ message.content = any_1.Any.decode(reader, reader.uint32());
424
+ continue;
425
+ case 3:
426
+ if (tag !== 24) {
427
+ break;
428
+ }
429
+ message.status = reader.int32();
430
+ continue;
431
+ case 4:
432
+ if (tag !== 34) {
433
+ break;
434
+ }
435
+ message.finalTallyResult = exports.TallyResult.decode(reader, reader.uint32());
436
+ continue;
437
+ case 5:
438
+ if (tag !== 42) {
439
+ break;
440
+ }
441
+ message.submitTime = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
442
+ continue;
443
+ case 6:
444
+ if (tag !== 50) {
445
+ break;
446
+ }
447
+ message.depositEndTime = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
448
+ continue;
449
+ case 7:
450
+ if (tag !== 58) {
451
+ break;
452
+ }
453
+ message.totalDeposit.push(coin_1.Coin.decode(reader, reader.uint32()));
454
+ continue;
455
+ case 8:
456
+ if (tag !== 66) {
457
+ break;
458
+ }
459
+ message.votingStartTime = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
460
+ continue;
461
+ case 9:
462
+ if (tag !== 74) {
463
+ break;
464
+ }
465
+ message.votingEndTime = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
466
+ continue;
467
+ }
468
+ if ((tag & 7) === 4 || tag === 0) {
469
+ break;
470
+ }
471
+ reader.skipType(tag & 7);
472
+ }
473
+ return message;
474
+ },
475
+ fromJSON(object) {
476
+ return {
477
+ proposalId: isSet(object.proposalId) ? Number(object.proposalId) : 0,
478
+ content: isSet(object.content) ? any_1.Any.fromJSON(object.content) : undefined,
479
+ status: isSet(object.status) ? proposalStatusFromJSON(object.status) : 0,
480
+ finalTallyResult: isSet(object.finalTallyResult)
481
+ ? exports.TallyResult.fromJSON(object.finalTallyResult)
482
+ : undefined,
483
+ submitTime: isSet(object.submitTime)
484
+ ? fromJsonTimestamp(object.submitTime)
485
+ : undefined,
486
+ depositEndTime: isSet(object.depositEndTime)
487
+ ? fromJsonTimestamp(object.depositEndTime)
488
+ : undefined,
489
+ totalDeposit: Array.isArray(object === null || object === void 0 ? void 0 : object.totalDeposit)
490
+ ? object.totalDeposit.map((e) => coin_1.Coin.fromJSON(e))
491
+ : [],
492
+ votingStartTime: isSet(object.votingStartTime)
493
+ ? fromJsonTimestamp(object.votingStartTime)
494
+ : undefined,
495
+ votingEndTime: isSet(object.votingEndTime)
496
+ ? fromJsonTimestamp(object.votingEndTime)
497
+ : undefined,
498
+ };
499
+ },
500
+ toJSON(message) {
501
+ const obj = {};
502
+ message.proposalId !== undefined &&
503
+ (obj.proposalId = Math.round(message.proposalId));
504
+ message.content !== undefined &&
505
+ (obj.content = message.content ? any_1.Any.toJSON(message.content) : undefined);
506
+ message.status !== undefined &&
507
+ (obj.status = proposalStatusToJSON(message.status));
508
+ message.finalTallyResult !== undefined &&
509
+ (obj.finalTallyResult = message.finalTallyResult
510
+ ? exports.TallyResult.toJSON(message.finalTallyResult)
511
+ : undefined);
512
+ message.submitTime !== undefined &&
513
+ (obj.submitTime = message.submitTime.toISOString());
514
+ message.depositEndTime !== undefined &&
515
+ (obj.depositEndTime = message.depositEndTime.toISOString());
516
+ if (message.totalDeposit) {
517
+ obj.totalDeposit = message.totalDeposit.map((e) => e ? coin_1.Coin.toJSON(e) : undefined);
518
+ }
519
+ else {
520
+ obj.totalDeposit = [];
521
+ }
522
+ message.votingStartTime !== undefined &&
523
+ (obj.votingStartTime = message.votingStartTime.toISOString());
524
+ message.votingEndTime !== undefined &&
525
+ (obj.votingEndTime = message.votingEndTime.toISOString());
526
+ return obj;
527
+ },
528
+ create(base) {
529
+ return exports.Proposal.fromPartial(base !== null && base !== void 0 ? base : {});
530
+ },
531
+ fromPartial(object) {
532
+ var _a, _b, _c, _d, _e, _f, _g;
533
+ const message = createBaseProposal();
534
+ message.proposalId = (_a = object.proposalId) !== null && _a !== void 0 ? _a : 0;
535
+ message.content =
536
+ object.content !== undefined && object.content !== null
537
+ ? any_1.Any.fromPartial(object.content)
538
+ : undefined;
539
+ message.status = (_b = object.status) !== null && _b !== void 0 ? _b : 0;
540
+ message.finalTallyResult =
541
+ object.finalTallyResult !== undefined && object.finalTallyResult !== null
542
+ ? exports.TallyResult.fromPartial(object.finalTallyResult)
543
+ : undefined;
544
+ message.submitTime = (_c = object.submitTime) !== null && _c !== void 0 ? _c : undefined;
545
+ message.depositEndTime = (_d = object.depositEndTime) !== null && _d !== void 0 ? _d : undefined;
546
+ message.totalDeposit =
547
+ ((_e = object.totalDeposit) === null || _e === void 0 ? void 0 : _e.map((e) => coin_1.Coin.fromPartial(e))) || [];
548
+ message.votingStartTime = (_f = object.votingStartTime) !== null && _f !== void 0 ? _f : undefined;
549
+ message.votingEndTime = (_g = object.votingEndTime) !== null && _g !== void 0 ? _g : undefined;
550
+ return message;
551
+ },
552
+ };
553
+ function createBaseTallyResult() {
554
+ return { yes: "", abstain: "", no: "", noWithVeto: "" };
555
+ }
556
+ exports.TallyResult = {
557
+ encode(message, writer = minimal_1.default.Writer.create()) {
558
+ if (message.yes !== "") {
559
+ writer.uint32(10).string(message.yes);
560
+ }
561
+ if (message.abstain !== "") {
562
+ writer.uint32(18).string(message.abstain);
563
+ }
564
+ if (message.no !== "") {
565
+ writer.uint32(26).string(message.no);
566
+ }
567
+ if (message.noWithVeto !== "") {
568
+ writer.uint32(34).string(message.noWithVeto);
569
+ }
570
+ return writer;
571
+ },
572
+ decode(input, length) {
573
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
574
+ let end = length === undefined ? reader.len : reader.pos + length;
575
+ const message = createBaseTallyResult();
576
+ while (reader.pos < end) {
577
+ const tag = reader.uint32();
578
+ switch (tag >>> 3) {
579
+ case 1:
580
+ if (tag !== 10) {
581
+ break;
582
+ }
583
+ message.yes = reader.string();
584
+ continue;
585
+ case 2:
586
+ if (tag !== 18) {
587
+ break;
588
+ }
589
+ message.abstain = reader.string();
590
+ continue;
591
+ case 3:
592
+ if (tag !== 26) {
593
+ break;
594
+ }
595
+ message.no = reader.string();
596
+ continue;
597
+ case 4:
598
+ if (tag !== 34) {
599
+ break;
600
+ }
601
+ message.noWithVeto = reader.string();
602
+ continue;
603
+ }
604
+ if ((tag & 7) === 4 || tag === 0) {
605
+ break;
606
+ }
607
+ reader.skipType(tag & 7);
608
+ }
609
+ return message;
610
+ },
611
+ fromJSON(object) {
612
+ return {
613
+ yes: isSet(object.yes) ? String(object.yes) : "",
614
+ abstain: isSet(object.abstain) ? String(object.abstain) : "",
615
+ no: isSet(object.no) ? String(object.no) : "",
616
+ noWithVeto: isSet(object.noWithVeto) ? String(object.noWithVeto) : "",
617
+ };
618
+ },
619
+ toJSON(message) {
620
+ const obj = {};
621
+ message.yes !== undefined && (obj.yes = message.yes);
622
+ message.abstain !== undefined && (obj.abstain = message.abstain);
623
+ message.no !== undefined && (obj.no = message.no);
624
+ message.noWithVeto !== undefined && (obj.noWithVeto = message.noWithVeto);
625
+ return obj;
626
+ },
627
+ create(base) {
628
+ return exports.TallyResult.fromPartial(base !== null && base !== void 0 ? base : {});
629
+ },
630
+ fromPartial(object) {
631
+ var _a, _b, _c, _d;
632
+ const message = createBaseTallyResult();
633
+ message.yes = (_a = object.yes) !== null && _a !== void 0 ? _a : "";
634
+ message.abstain = (_b = object.abstain) !== null && _b !== void 0 ? _b : "";
635
+ message.no = (_c = object.no) !== null && _c !== void 0 ? _c : "";
636
+ message.noWithVeto = (_d = object.noWithVeto) !== null && _d !== void 0 ? _d : "";
637
+ return message;
638
+ },
639
+ };
640
+ function createBaseVote() {
641
+ return { proposalId: 0, voter: "", option: 0, options: [] };
642
+ }
643
+ exports.Vote = {
644
+ encode(message, writer = minimal_1.default.Writer.create()) {
645
+ if (message.proposalId !== 0) {
646
+ writer.uint32(8).uint64(message.proposalId);
647
+ }
648
+ if (message.voter !== "") {
649
+ writer.uint32(18).string(message.voter);
650
+ }
651
+ if (message.option !== 0) {
652
+ writer.uint32(24).int32(message.option);
653
+ }
654
+ for (const v of message.options) {
655
+ exports.WeightedVoteOption.encode(v, writer.uint32(34).fork()).ldelim();
656
+ }
657
+ return writer;
658
+ },
659
+ decode(input, length) {
660
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
661
+ let end = length === undefined ? reader.len : reader.pos + length;
662
+ const message = createBaseVote();
663
+ while (reader.pos < end) {
664
+ const tag = reader.uint32();
665
+ switch (tag >>> 3) {
666
+ case 1:
667
+ if (tag !== 8) {
668
+ break;
669
+ }
670
+ message.proposalId = longToNumber(reader.uint64());
671
+ continue;
672
+ case 2:
673
+ if (tag !== 18) {
674
+ break;
675
+ }
676
+ message.voter = reader.string();
677
+ continue;
678
+ case 3:
679
+ if (tag !== 24) {
680
+ break;
681
+ }
682
+ message.option = reader.int32();
683
+ continue;
684
+ case 4:
685
+ if (tag !== 34) {
686
+ break;
687
+ }
688
+ message.options.push(exports.WeightedVoteOption.decode(reader, reader.uint32()));
689
+ continue;
690
+ }
691
+ if ((tag & 7) === 4 || tag === 0) {
692
+ break;
693
+ }
694
+ reader.skipType(tag & 7);
695
+ }
696
+ return message;
697
+ },
698
+ fromJSON(object) {
699
+ return {
700
+ proposalId: isSet(object.proposalId) ? Number(object.proposalId) : 0,
701
+ voter: isSet(object.voter) ? String(object.voter) : "",
702
+ option: isSet(object.option) ? voteOptionFromJSON(object.option) : 0,
703
+ options: Array.isArray(object === null || object === void 0 ? void 0 : object.options)
704
+ ? object.options.map((e) => exports.WeightedVoteOption.fromJSON(e))
705
+ : [],
706
+ };
707
+ },
708
+ toJSON(message) {
709
+ const obj = {};
710
+ message.proposalId !== undefined &&
711
+ (obj.proposalId = Math.round(message.proposalId));
712
+ message.voter !== undefined && (obj.voter = message.voter);
713
+ message.option !== undefined &&
714
+ (obj.option = voteOptionToJSON(message.option));
715
+ if (message.options) {
716
+ obj.options = message.options.map((e) => e ? exports.WeightedVoteOption.toJSON(e) : undefined);
717
+ }
718
+ else {
719
+ obj.options = [];
720
+ }
721
+ return obj;
722
+ },
723
+ create(base) {
724
+ return exports.Vote.fromPartial(base !== null && base !== void 0 ? base : {});
725
+ },
726
+ fromPartial(object) {
727
+ var _a, _b, _c, _d;
728
+ const message = createBaseVote();
729
+ message.proposalId = (_a = object.proposalId) !== null && _a !== void 0 ? _a : 0;
730
+ message.voter = (_b = object.voter) !== null && _b !== void 0 ? _b : "";
731
+ message.option = (_c = object.option) !== null && _c !== void 0 ? _c : 0;
732
+ message.options =
733
+ ((_d = object.options) === null || _d === void 0 ? void 0 : _d.map((e) => exports.WeightedVoteOption.fromPartial(e))) || [];
734
+ return message;
735
+ },
736
+ };
737
+ function createBaseDepositParams() {
738
+ return { minDeposit: [], maxDepositPeriod: undefined };
739
+ }
740
+ exports.DepositParams = {
741
+ encode(message, writer = minimal_1.default.Writer.create()) {
742
+ for (const v of message.minDeposit) {
743
+ coin_1.Coin.encode(v, writer.uint32(10).fork()).ldelim();
744
+ }
745
+ if (message.maxDepositPeriod !== undefined) {
746
+ duration_1.Duration.encode(message.maxDepositPeriod, writer.uint32(18).fork()).ldelim();
747
+ }
748
+ return writer;
749
+ },
750
+ decode(input, length) {
751
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
752
+ let end = length === undefined ? reader.len : reader.pos + length;
753
+ const message = createBaseDepositParams();
754
+ while (reader.pos < end) {
755
+ const tag = reader.uint32();
756
+ switch (tag >>> 3) {
757
+ case 1:
758
+ if (tag !== 10) {
759
+ break;
760
+ }
761
+ message.minDeposit.push(coin_1.Coin.decode(reader, reader.uint32()));
762
+ continue;
763
+ case 2:
764
+ if (tag !== 18) {
765
+ break;
766
+ }
767
+ message.maxDepositPeriod = duration_1.Duration.decode(reader, reader.uint32());
768
+ continue;
769
+ }
770
+ if ((tag & 7) === 4 || tag === 0) {
771
+ break;
772
+ }
773
+ reader.skipType(tag & 7);
774
+ }
775
+ return message;
776
+ },
777
+ fromJSON(object) {
778
+ return {
779
+ minDeposit: Array.isArray(object === null || object === void 0 ? void 0 : object.minDeposit)
780
+ ? object.minDeposit.map((e) => coin_1.Coin.fromJSON(e))
781
+ : [],
782
+ maxDepositPeriod: isSet(object.maxDepositPeriod)
783
+ ? duration_1.Duration.fromJSON(object.maxDepositPeriod)
784
+ : undefined,
785
+ };
786
+ },
787
+ toJSON(message) {
788
+ const obj = {};
789
+ if (message.minDeposit) {
790
+ obj.minDeposit = message.minDeposit.map((e) => e ? coin_1.Coin.toJSON(e) : undefined);
791
+ }
792
+ else {
793
+ obj.minDeposit = [];
794
+ }
795
+ message.maxDepositPeriod !== undefined &&
796
+ (obj.maxDepositPeriod = message.maxDepositPeriod
797
+ ? duration_1.Duration.toJSON(message.maxDepositPeriod)
798
+ : undefined);
799
+ return obj;
800
+ },
801
+ create(base) {
802
+ return exports.DepositParams.fromPartial(base !== null && base !== void 0 ? base : {});
803
+ },
804
+ fromPartial(object) {
805
+ var _a;
806
+ const message = createBaseDepositParams();
807
+ message.minDeposit =
808
+ ((_a = object.minDeposit) === null || _a === void 0 ? void 0 : _a.map((e) => coin_1.Coin.fromPartial(e))) || [];
809
+ message.maxDepositPeriod =
810
+ object.maxDepositPeriod !== undefined && object.maxDepositPeriod !== null
811
+ ? duration_1.Duration.fromPartial(object.maxDepositPeriod)
812
+ : undefined;
813
+ return message;
814
+ },
815
+ };
816
+ function createBaseVotingParams() {
817
+ return { votingPeriod: undefined };
818
+ }
819
+ exports.VotingParams = {
820
+ encode(message, writer = minimal_1.default.Writer.create()) {
821
+ if (message.votingPeriod !== undefined) {
822
+ duration_1.Duration.encode(message.votingPeriod, writer.uint32(10).fork()).ldelim();
823
+ }
824
+ return writer;
825
+ },
826
+ decode(input, length) {
827
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
828
+ let end = length === undefined ? reader.len : reader.pos + length;
829
+ const message = createBaseVotingParams();
830
+ while (reader.pos < end) {
831
+ const tag = reader.uint32();
832
+ switch (tag >>> 3) {
833
+ case 1:
834
+ if (tag !== 10) {
835
+ break;
836
+ }
837
+ message.votingPeriod = duration_1.Duration.decode(reader, reader.uint32());
838
+ continue;
839
+ }
840
+ if ((tag & 7) === 4 || tag === 0) {
841
+ break;
842
+ }
843
+ reader.skipType(tag & 7);
844
+ }
845
+ return message;
846
+ },
847
+ fromJSON(object) {
848
+ return {
849
+ votingPeriod: isSet(object.votingPeriod)
850
+ ? duration_1.Duration.fromJSON(object.votingPeriod)
851
+ : undefined,
852
+ };
853
+ },
854
+ toJSON(message) {
855
+ const obj = {};
856
+ message.votingPeriod !== undefined &&
857
+ (obj.votingPeriod = message.votingPeriod
858
+ ? duration_1.Duration.toJSON(message.votingPeriod)
859
+ : undefined);
860
+ return obj;
861
+ },
862
+ create(base) {
863
+ return exports.VotingParams.fromPartial(base !== null && base !== void 0 ? base : {});
864
+ },
865
+ fromPartial(object) {
866
+ const message = createBaseVotingParams();
867
+ message.votingPeriod =
868
+ object.votingPeriod !== undefined && object.votingPeriod !== null
869
+ ? duration_1.Duration.fromPartial(object.votingPeriod)
870
+ : undefined;
871
+ return message;
872
+ },
873
+ };
874
+ function createBaseTallyParams() {
875
+ return {
876
+ quorum: new Uint8Array(),
877
+ threshold: new Uint8Array(),
878
+ vetoThreshold: new Uint8Array(),
879
+ };
880
+ }
881
+ exports.TallyParams = {
882
+ encode(message, writer = minimal_1.default.Writer.create()) {
883
+ if (message.quorum.length !== 0) {
884
+ writer.uint32(10).bytes(message.quorum);
885
+ }
886
+ if (message.threshold.length !== 0) {
887
+ writer.uint32(18).bytes(message.threshold);
888
+ }
889
+ if (message.vetoThreshold.length !== 0) {
890
+ writer.uint32(26).bytes(message.vetoThreshold);
891
+ }
892
+ return writer;
893
+ },
894
+ decode(input, length) {
895
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
896
+ let end = length === undefined ? reader.len : reader.pos + length;
897
+ const message = createBaseTallyParams();
898
+ while (reader.pos < end) {
899
+ const tag = reader.uint32();
900
+ switch (tag >>> 3) {
901
+ case 1:
902
+ if (tag !== 10) {
903
+ break;
904
+ }
905
+ message.quorum = reader.bytes();
906
+ continue;
907
+ case 2:
908
+ if (tag !== 18) {
909
+ break;
910
+ }
911
+ message.threshold = reader.bytes();
912
+ continue;
913
+ case 3:
914
+ if (tag !== 26) {
915
+ break;
916
+ }
917
+ message.vetoThreshold = reader.bytes();
918
+ continue;
919
+ }
920
+ if ((tag & 7) === 4 || tag === 0) {
921
+ break;
922
+ }
923
+ reader.skipType(tag & 7);
924
+ }
925
+ return message;
926
+ },
927
+ fromJSON(object) {
928
+ return {
929
+ quorum: isSet(object.quorum)
930
+ ? bytesFromBase64(object.quorum)
931
+ : new Uint8Array(),
932
+ threshold: isSet(object.threshold)
933
+ ? bytesFromBase64(object.threshold)
934
+ : new Uint8Array(),
935
+ vetoThreshold: isSet(object.vetoThreshold)
936
+ ? bytesFromBase64(object.vetoThreshold)
937
+ : new Uint8Array(),
938
+ };
939
+ },
940
+ toJSON(message) {
941
+ const obj = {};
942
+ message.quorum !== undefined &&
943
+ (obj.quorum = base64FromBytes(message.quorum !== undefined ? message.quorum : new Uint8Array()));
944
+ message.threshold !== undefined &&
945
+ (obj.threshold = base64FromBytes(message.threshold !== undefined ? message.threshold : new Uint8Array()));
946
+ message.vetoThreshold !== undefined &&
947
+ (obj.vetoThreshold = base64FromBytes(message.vetoThreshold !== undefined
948
+ ? message.vetoThreshold
949
+ : new Uint8Array()));
950
+ return obj;
951
+ },
952
+ create(base) {
953
+ return exports.TallyParams.fromPartial(base !== null && base !== void 0 ? base : {});
954
+ },
955
+ fromPartial(object) {
956
+ var _a, _b, _c;
957
+ const message = createBaseTallyParams();
958
+ message.quorum = (_a = object.quorum) !== null && _a !== void 0 ? _a : new Uint8Array();
959
+ message.threshold = (_b = object.threshold) !== null && _b !== void 0 ? _b : new Uint8Array();
960
+ message.vetoThreshold = (_c = object.vetoThreshold) !== null && _c !== void 0 ? _c : new Uint8Array();
961
+ return message;
962
+ },
963
+ };
964
+ var tsProtoGlobalThis = (() => {
965
+ if (typeof globalThis !== "undefined") {
966
+ return globalThis;
967
+ }
968
+ if (typeof self !== "undefined") {
969
+ return self;
970
+ }
971
+ if (typeof window !== "undefined") {
972
+ return window;
973
+ }
974
+ if (typeof global !== "undefined") {
975
+ return global;
976
+ }
977
+ throw "Unable to locate global object";
978
+ })();
979
+ function bytesFromBase64(b64) {
980
+ if (tsProtoGlobalThis.Buffer) {
981
+ return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64"));
982
+ }
983
+ else {
984
+ const bin = tsProtoGlobalThis.atob(b64);
985
+ const arr = new Uint8Array(bin.length);
986
+ for (let i = 0; i < bin.length; ++i) {
987
+ arr[i] = bin.charCodeAt(i);
988
+ }
989
+ return arr;
990
+ }
991
+ }
992
+ function base64FromBytes(arr) {
993
+ if (tsProtoGlobalThis.Buffer) {
994
+ return tsProtoGlobalThis.Buffer.from(arr).toString("base64");
995
+ }
996
+ else {
997
+ const bin = [];
998
+ arr.forEach((byte) => {
999
+ bin.push(String.fromCharCode(byte));
1000
+ });
1001
+ return tsProtoGlobalThis.btoa(bin.join(""));
1002
+ }
1003
+ }
1004
+ function toTimestamp(date) {
1005
+ const seconds = date.getTime() / 1000;
1006
+ const nanos = (date.getTime() % 1000) * 1000000;
1007
+ return { seconds, nanos };
1008
+ }
1009
+ function fromTimestamp(t) {
1010
+ let millis = (t.seconds || 0) * 1000;
1011
+ millis += (t.nanos || 0) / 1000000;
1012
+ return new Date(millis);
1013
+ }
1014
+ function fromJsonTimestamp(o) {
1015
+ if (o instanceof Date) {
1016
+ return o;
1017
+ }
1018
+ else if (typeof o === "string") {
1019
+ return new Date(o);
1020
+ }
1021
+ else {
1022
+ return fromTimestamp(timestamp_1.Timestamp.fromJSON(o));
1023
+ }
1024
+ }
1025
+ function longToNumber(long) {
1026
+ if (long.gt(Number.MAX_SAFE_INTEGER)) {
1027
+ throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
1028
+ }
1029
+ return long.toNumber();
1030
+ }
1031
+ if (minimal_1.default.util.Long !== long_1.default) {
1032
+ minimal_1.default.util.Long = long_1.default;
1033
+ minimal_1.default.configure();
1034
+ }
1035
+ function isSet(value) {
1036
+ return value !== null && value !== undefined;
1037
+ }
1038
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nvc21vcy9nb3YvdjFiZXRhMS9nb3YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QixpRUFBcUM7QUFDckMsa0RBQStDO0FBQy9DLHNEQUFtRDtBQUNuRCxnRUFBNkQ7QUFDN0Qsa0VBQStEO0FBRWxELFFBQUEsZUFBZSxHQUFHLG9CQUFvQixDQUFDO0FBRXBELG9GQUFvRjtBQUNwRixJQUFZLFVBWVg7QUFaRCxXQUFZLFVBQVU7SUFDcEIscUZBQXFGO0lBQ3JGLGlGQUEyQixDQUFBO0lBQzNCLG1FQUFtRTtJQUNuRSxpRUFBbUIsQ0FBQTtJQUNuQixnRkFBZ0Y7SUFDaEYseUVBQXVCLENBQUE7SUFDdkIsZ0VBQWdFO0lBQ2hFLCtEQUFrQixDQUFBO0lBQ2xCLDhGQUE4RjtJQUM5RixtRkFBNEIsQ0FBQTtJQUM1Qiw0REFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBWlcsVUFBVSxHQUFWLGtCQUFVLEtBQVYsa0JBQVUsUUFZckI7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxNQUFXO0lBQzVDLFFBQVEsTUFBTSxFQUFFO1FBQ2QsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLHlCQUF5QjtZQUM1QixPQUFPLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQztRQUM1QyxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssaUJBQWlCO1lBQ3BCLE9BQU8sVUFBVSxDQUFDLGVBQWUsQ0FBQztRQUNwQyxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUsscUJBQXFCO1lBQ3hCLE9BQU8sVUFBVSxDQUFDLG1CQUFtQixDQUFDO1FBQ3hDLEtBQUssQ0FBQyxDQUFDO1FBQ1AsS0FBSyxnQkFBZ0I7WUFDbkIsT0FBTyxVQUFVLENBQUMsY0FBYyxDQUFDO1FBQ25DLEtBQUssQ0FBQyxDQUFDO1FBQ1AsS0FBSywwQkFBMEI7WUFDN0IsT0FBTyxV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