@freedomofpress/cometbft 0.1.0 → 0.1.2

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 (64) hide show
  1. package/dist/commit.d.ts +7 -0
  2. package/dist/commit.js +175 -0
  3. package/dist/commit.js.map +1 -0
  4. package/dist/encoding.d.ts +4 -0
  5. package/dist/encoding.js +31 -0
  6. package/dist/encoding.js.map +1 -0
  7. package/dist/lightclient.d.ts +17 -0
  8. package/dist/lightclient.js +275 -0
  9. package/dist/lightclient.js.map +1 -0
  10. package/dist/proto/cometbft/crypto/v1/keys.d.ts +28 -0
  11. package/dist/proto/cometbft/crypto/v1/keys.js +110 -0
  12. package/dist/proto/cometbft/crypto/v1/keys.js.map +1 -0
  13. package/dist/proto/cometbft/crypto/v1/proof.d.ts +60 -0
  14. package/dist/proto/cometbft/crypto/v1/proof.js +416 -0
  15. package/dist/proto/cometbft/crypto/v1/proof.js.map +1 -0
  16. package/dist/proto/cometbft/types/v1/canonical.d.ts +85 -0
  17. package/dist/proto/cometbft/types/v1/canonical.js +586 -0
  18. package/dist/proto/cometbft/types/v1/canonical.js.map +1 -0
  19. package/dist/proto/cometbft/types/v1/types.d.ts +206 -0
  20. package/dist/proto/cometbft/types/v1/types.js +1794 -0
  21. package/dist/proto/cometbft/types/v1/types.js.map +1 -0
  22. package/dist/proto/cometbft/types/v1/validator.d.ts +64 -0
  23. package/dist/proto/cometbft/types/v1/validator.js +382 -0
  24. package/dist/proto/cometbft/types/v1/validator.js.map +1 -0
  25. package/dist/proto/cometbft/version/v1/types.d.ts +41 -0
  26. package/dist/proto/cometbft/version/v1/types.js +154 -0
  27. package/dist/proto/cometbft/version/v1/types.js.map +1 -0
  28. package/dist/proto/gogoproto/gogo.d.ts +1 -0
  29. package/dist/proto/gogoproto/gogo.js +8 -0
  30. package/dist/proto/gogoproto/gogo.js.map +1 -0
  31. package/dist/proto/google/protobuf/descriptor.d.ts +1228 -0
  32. package/dist/proto/google/protobuf/descriptor.js +5056 -0
  33. package/dist/proto/google/protobuf/descriptor.js.map +1 -0
  34. package/dist/proto/google/protobuf/timestamp.d.ts +128 -0
  35. package/dist/proto/google/protobuf/timestamp.js +83 -0
  36. package/dist/proto/google/protobuf/timestamp.js.map +1 -0
  37. package/dist/tests/commit.test.d.ts +1 -0
  38. package/dist/tests/commit.test.js +219 -0
  39. package/dist/tests/commit.test.js.map +1 -0
  40. package/dist/tests/encoding.test.d.ts +1 -0
  41. package/dist/tests/encoding.test.js +31 -0
  42. package/dist/tests/encoding.test.js.map +1 -0
  43. package/dist/tests/fixtures/commit-12.json +64 -0
  44. package/dist/tests/fixtures/validators-12.json +41 -0
  45. package/dist/tests/fixtures/webcat.json +71 -0
  46. package/dist/tests/lightclient.test.d.ts +1 -0
  47. package/dist/tests/lightclient.test.js +234 -0
  48. package/dist/tests/lightclient.test.js.map +1 -0
  49. package/dist/tests/validators.test.d.ts +1 -0
  50. package/dist/tests/validators.test.js +184 -0
  51. package/dist/tests/validators.test.js.map +1 -0
  52. package/dist/tests/webcat.test.d.ts +1 -0
  53. package/dist/tests/webcat.test.js +52 -0
  54. package/dist/tests/webcat.test.js.map +1 -0
  55. package/dist/types.d.ts +62 -0
  56. package/dist/types.js +2 -0
  57. package/dist/types.js.map +1 -0
  58. package/dist/validators.d.ts +6 -0
  59. package/dist/validators.js +55 -0
  60. package/dist/validators.js.map +1 -0
  61. package/package.json +5 -5
  62. package/src/lightclient.ts +176 -0
  63. package/src/tests/lightclient.test.ts +20 -5
  64. package/src/tests/webcat.test.ts +17 -47
@@ -0,0 +1,1794 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.6.1
4
+ // protoc unknown
5
+ // source: cometbft/types/v1/types.proto
6
+ /* eslint-disable */
7
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
+ import { Timestamp } from "../../../google/protobuf/timestamp";
9
+ import { Proof } from "../../crypto/v1/proof";
10
+ import { Consensus } from "../../version/v1/types";
11
+ import { blockIDFlagFromJSON, blockIDFlagToJSON, ValidatorSet } from "./validator";
12
+ export const protobufPackage = "cometbft.types.v1";
13
+ /** SignedMsgType is a type of signed message in the consensus. */
14
+ export var SignedMsgType;
15
+ (function (SignedMsgType) {
16
+ /** SIGNED_MSG_TYPE_UNKNOWN - Unknown */
17
+ SignedMsgType[SignedMsgType["SIGNED_MSG_TYPE_UNKNOWN"] = 0] = "SIGNED_MSG_TYPE_UNKNOWN";
18
+ /** SIGNED_MSG_TYPE_PREVOTE - Prevote */
19
+ SignedMsgType[SignedMsgType["SIGNED_MSG_TYPE_PREVOTE"] = 1] = "SIGNED_MSG_TYPE_PREVOTE";
20
+ /** SIGNED_MSG_TYPE_PRECOMMIT - Precommit */
21
+ SignedMsgType[SignedMsgType["SIGNED_MSG_TYPE_PRECOMMIT"] = 2] = "SIGNED_MSG_TYPE_PRECOMMIT";
22
+ /** SIGNED_MSG_TYPE_PROPOSAL - Proposal */
23
+ SignedMsgType[SignedMsgType["SIGNED_MSG_TYPE_PROPOSAL"] = 32] = "SIGNED_MSG_TYPE_PROPOSAL";
24
+ SignedMsgType[SignedMsgType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
25
+ })(SignedMsgType || (SignedMsgType = {}));
26
+ export function signedMsgTypeFromJSON(object) {
27
+ switch (object) {
28
+ case 0:
29
+ case "SIGNED_MSG_TYPE_UNKNOWN":
30
+ return SignedMsgType.SIGNED_MSG_TYPE_UNKNOWN;
31
+ case 1:
32
+ case "SIGNED_MSG_TYPE_PREVOTE":
33
+ return SignedMsgType.SIGNED_MSG_TYPE_PREVOTE;
34
+ case 2:
35
+ case "SIGNED_MSG_TYPE_PRECOMMIT":
36
+ return SignedMsgType.SIGNED_MSG_TYPE_PRECOMMIT;
37
+ case 32:
38
+ case "SIGNED_MSG_TYPE_PROPOSAL":
39
+ return SignedMsgType.SIGNED_MSG_TYPE_PROPOSAL;
40
+ case -1:
41
+ case "UNRECOGNIZED":
42
+ default:
43
+ return SignedMsgType.UNRECOGNIZED;
44
+ }
45
+ }
46
+ export function signedMsgTypeToJSON(object) {
47
+ switch (object) {
48
+ case SignedMsgType.SIGNED_MSG_TYPE_UNKNOWN:
49
+ return "SIGNED_MSG_TYPE_UNKNOWN";
50
+ case SignedMsgType.SIGNED_MSG_TYPE_PREVOTE:
51
+ return "SIGNED_MSG_TYPE_PREVOTE";
52
+ case SignedMsgType.SIGNED_MSG_TYPE_PRECOMMIT:
53
+ return "SIGNED_MSG_TYPE_PRECOMMIT";
54
+ case SignedMsgType.SIGNED_MSG_TYPE_PROPOSAL:
55
+ return "SIGNED_MSG_TYPE_PROPOSAL";
56
+ case SignedMsgType.UNRECOGNIZED:
57
+ default:
58
+ return "UNRECOGNIZED";
59
+ }
60
+ }
61
+ function createBasePartSetHeader() {
62
+ return { total: 0, hash: new Uint8Array(0) };
63
+ }
64
+ export const PartSetHeader = {
65
+ encode(message, writer = new BinaryWriter()) {
66
+ if (message.total !== 0) {
67
+ writer.uint32(8).uint32(message.total);
68
+ }
69
+ if (message.hash.length !== 0) {
70
+ writer.uint32(18).bytes(message.hash);
71
+ }
72
+ return writer;
73
+ },
74
+ decode(input, length) {
75
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
76
+ let end = length === undefined ? reader.len : reader.pos + length;
77
+ const message = createBasePartSetHeader();
78
+ while (reader.pos < end) {
79
+ const tag = reader.uint32();
80
+ switch (tag >>> 3) {
81
+ case 1: {
82
+ if (tag !== 8) {
83
+ break;
84
+ }
85
+ message.total = reader.uint32();
86
+ continue;
87
+ }
88
+ case 2: {
89
+ if (tag !== 18) {
90
+ break;
91
+ }
92
+ message.hash = reader.bytes();
93
+ continue;
94
+ }
95
+ }
96
+ if ((tag & 7) === 4 || tag === 0) {
97
+ break;
98
+ }
99
+ reader.skip(tag & 7);
100
+ }
101
+ return message;
102
+ },
103
+ fromJSON(object) {
104
+ return {
105
+ total: isSet(object.total) ? globalThis.Number(object.total) : 0,
106
+ hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0),
107
+ };
108
+ },
109
+ toJSON(message) {
110
+ const obj = {};
111
+ if (message.total !== 0) {
112
+ obj.total = Math.round(message.total);
113
+ }
114
+ if (message.hash.length !== 0) {
115
+ obj.hash = base64FromBytes(message.hash);
116
+ }
117
+ return obj;
118
+ },
119
+ create(base) {
120
+ return PartSetHeader.fromPartial(base ?? {});
121
+ },
122
+ fromPartial(object) {
123
+ const message = createBasePartSetHeader();
124
+ message.total = object.total ?? 0;
125
+ message.hash = object.hash ?? new Uint8Array(0);
126
+ return message;
127
+ },
128
+ };
129
+ function createBasePart() {
130
+ return { index: 0, bytes: new Uint8Array(0), proof: undefined };
131
+ }
132
+ export const Part = {
133
+ encode(message, writer = new BinaryWriter()) {
134
+ if (message.index !== 0) {
135
+ writer.uint32(8).uint32(message.index);
136
+ }
137
+ if (message.bytes.length !== 0) {
138
+ writer.uint32(18).bytes(message.bytes);
139
+ }
140
+ if (message.proof !== undefined) {
141
+ Proof.encode(message.proof, writer.uint32(26).fork()).join();
142
+ }
143
+ return writer;
144
+ },
145
+ decode(input, length) {
146
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
147
+ let end = length === undefined ? reader.len : reader.pos + length;
148
+ const message = createBasePart();
149
+ while (reader.pos < end) {
150
+ const tag = reader.uint32();
151
+ switch (tag >>> 3) {
152
+ case 1: {
153
+ if (tag !== 8) {
154
+ break;
155
+ }
156
+ message.index = reader.uint32();
157
+ continue;
158
+ }
159
+ case 2: {
160
+ if (tag !== 18) {
161
+ break;
162
+ }
163
+ message.bytes = reader.bytes();
164
+ continue;
165
+ }
166
+ case 3: {
167
+ if (tag !== 26) {
168
+ break;
169
+ }
170
+ message.proof = Proof.decode(reader, reader.uint32());
171
+ continue;
172
+ }
173
+ }
174
+ if ((tag & 7) === 4 || tag === 0) {
175
+ break;
176
+ }
177
+ reader.skip(tag & 7);
178
+ }
179
+ return message;
180
+ },
181
+ fromJSON(object) {
182
+ return {
183
+ index: isSet(object.index) ? globalThis.Number(object.index) : 0,
184
+ bytes: isSet(object.bytes) ? bytesFromBase64(object.bytes) : new Uint8Array(0),
185
+ proof: isSet(object.proof) ? Proof.fromJSON(object.proof) : undefined,
186
+ };
187
+ },
188
+ toJSON(message) {
189
+ const obj = {};
190
+ if (message.index !== 0) {
191
+ obj.index = Math.round(message.index);
192
+ }
193
+ if (message.bytes.length !== 0) {
194
+ obj.bytes = base64FromBytes(message.bytes);
195
+ }
196
+ if (message.proof !== undefined) {
197
+ obj.proof = Proof.toJSON(message.proof);
198
+ }
199
+ return obj;
200
+ },
201
+ create(base) {
202
+ return Part.fromPartial(base ?? {});
203
+ },
204
+ fromPartial(object) {
205
+ const message = createBasePart();
206
+ message.index = object.index ?? 0;
207
+ message.bytes = object.bytes ?? new Uint8Array(0);
208
+ message.proof = (object.proof !== undefined && object.proof !== null) ? Proof.fromPartial(object.proof) : undefined;
209
+ return message;
210
+ },
211
+ };
212
+ function createBaseBlockID() {
213
+ return { hash: new Uint8Array(0), partSetHeader: undefined };
214
+ }
215
+ export const BlockID = {
216
+ encode(message, writer = new BinaryWriter()) {
217
+ if (message.hash.length !== 0) {
218
+ writer.uint32(10).bytes(message.hash);
219
+ }
220
+ if (message.partSetHeader !== undefined) {
221
+ PartSetHeader.encode(message.partSetHeader, writer.uint32(18).fork()).join();
222
+ }
223
+ return writer;
224
+ },
225
+ decode(input, length) {
226
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
227
+ let end = length === undefined ? reader.len : reader.pos + length;
228
+ const message = createBaseBlockID();
229
+ while (reader.pos < end) {
230
+ const tag = reader.uint32();
231
+ switch (tag >>> 3) {
232
+ case 1: {
233
+ if (tag !== 10) {
234
+ break;
235
+ }
236
+ message.hash = reader.bytes();
237
+ continue;
238
+ }
239
+ case 2: {
240
+ if (tag !== 18) {
241
+ break;
242
+ }
243
+ message.partSetHeader = PartSetHeader.decode(reader, reader.uint32());
244
+ continue;
245
+ }
246
+ }
247
+ if ((tag & 7) === 4 || tag === 0) {
248
+ break;
249
+ }
250
+ reader.skip(tag & 7);
251
+ }
252
+ return message;
253
+ },
254
+ fromJSON(object) {
255
+ return {
256
+ hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0),
257
+ partSetHeader: isSet(object.partSetHeader) ? PartSetHeader.fromJSON(object.partSetHeader) : undefined,
258
+ };
259
+ },
260
+ toJSON(message) {
261
+ const obj = {};
262
+ if (message.hash.length !== 0) {
263
+ obj.hash = base64FromBytes(message.hash);
264
+ }
265
+ if (message.partSetHeader !== undefined) {
266
+ obj.partSetHeader = PartSetHeader.toJSON(message.partSetHeader);
267
+ }
268
+ return obj;
269
+ },
270
+ create(base) {
271
+ return BlockID.fromPartial(base ?? {});
272
+ },
273
+ fromPartial(object) {
274
+ const message = createBaseBlockID();
275
+ message.hash = object.hash ?? new Uint8Array(0);
276
+ message.partSetHeader = (object.partSetHeader !== undefined && object.partSetHeader !== null)
277
+ ? PartSetHeader.fromPartial(object.partSetHeader)
278
+ : undefined;
279
+ return message;
280
+ },
281
+ };
282
+ function createBaseHeader() {
283
+ return {
284
+ version: undefined,
285
+ chainId: "",
286
+ height: 0n,
287
+ time: undefined,
288
+ lastBlockId: undefined,
289
+ lastCommitHash: new Uint8Array(0),
290
+ dataHash: new Uint8Array(0),
291
+ validatorsHash: new Uint8Array(0),
292
+ nextValidatorsHash: new Uint8Array(0),
293
+ consensusHash: new Uint8Array(0),
294
+ appHash: new Uint8Array(0),
295
+ lastResultsHash: new Uint8Array(0),
296
+ evidenceHash: new Uint8Array(0),
297
+ proposerAddress: new Uint8Array(0),
298
+ };
299
+ }
300
+ export const Header = {
301
+ encode(message, writer = new BinaryWriter()) {
302
+ if (message.version !== undefined) {
303
+ Consensus.encode(message.version, writer.uint32(10).fork()).join();
304
+ }
305
+ if (message.chainId !== "") {
306
+ writer.uint32(18).string(message.chainId);
307
+ }
308
+ if (message.height !== 0n) {
309
+ if (BigInt.asIntN(64, message.height) !== message.height) {
310
+ throw new globalThis.Error("value provided for field message.height of type int64 too large");
311
+ }
312
+ writer.uint32(24).int64(message.height);
313
+ }
314
+ if (message.time !== undefined) {
315
+ Timestamp.encode(message.time, writer.uint32(34).fork()).join();
316
+ }
317
+ if (message.lastBlockId !== undefined) {
318
+ BlockID.encode(message.lastBlockId, writer.uint32(42).fork()).join();
319
+ }
320
+ if (message.lastCommitHash.length !== 0) {
321
+ writer.uint32(50).bytes(message.lastCommitHash);
322
+ }
323
+ if (message.dataHash.length !== 0) {
324
+ writer.uint32(58).bytes(message.dataHash);
325
+ }
326
+ if (message.validatorsHash.length !== 0) {
327
+ writer.uint32(66).bytes(message.validatorsHash);
328
+ }
329
+ if (message.nextValidatorsHash.length !== 0) {
330
+ writer.uint32(74).bytes(message.nextValidatorsHash);
331
+ }
332
+ if (message.consensusHash.length !== 0) {
333
+ writer.uint32(82).bytes(message.consensusHash);
334
+ }
335
+ if (message.appHash.length !== 0) {
336
+ writer.uint32(90).bytes(message.appHash);
337
+ }
338
+ if (message.lastResultsHash.length !== 0) {
339
+ writer.uint32(98).bytes(message.lastResultsHash);
340
+ }
341
+ if (message.evidenceHash.length !== 0) {
342
+ writer.uint32(106).bytes(message.evidenceHash);
343
+ }
344
+ if (message.proposerAddress.length !== 0) {
345
+ writer.uint32(114).bytes(message.proposerAddress);
346
+ }
347
+ return writer;
348
+ },
349
+ decode(input, length) {
350
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
351
+ let end = length === undefined ? reader.len : reader.pos + length;
352
+ const message = createBaseHeader();
353
+ while (reader.pos < end) {
354
+ const tag = reader.uint32();
355
+ switch (tag >>> 3) {
356
+ case 1: {
357
+ if (tag !== 10) {
358
+ break;
359
+ }
360
+ message.version = Consensus.decode(reader, reader.uint32());
361
+ continue;
362
+ }
363
+ case 2: {
364
+ if (tag !== 18) {
365
+ break;
366
+ }
367
+ message.chainId = reader.string();
368
+ continue;
369
+ }
370
+ case 3: {
371
+ if (tag !== 24) {
372
+ break;
373
+ }
374
+ message.height = reader.int64();
375
+ continue;
376
+ }
377
+ case 4: {
378
+ if (tag !== 34) {
379
+ break;
380
+ }
381
+ message.time = Timestamp.decode(reader, reader.uint32());
382
+ continue;
383
+ }
384
+ case 5: {
385
+ if (tag !== 42) {
386
+ break;
387
+ }
388
+ message.lastBlockId = BlockID.decode(reader, reader.uint32());
389
+ continue;
390
+ }
391
+ case 6: {
392
+ if (tag !== 50) {
393
+ break;
394
+ }
395
+ message.lastCommitHash = reader.bytes();
396
+ continue;
397
+ }
398
+ case 7: {
399
+ if (tag !== 58) {
400
+ break;
401
+ }
402
+ message.dataHash = reader.bytes();
403
+ continue;
404
+ }
405
+ case 8: {
406
+ if (tag !== 66) {
407
+ break;
408
+ }
409
+ message.validatorsHash = reader.bytes();
410
+ continue;
411
+ }
412
+ case 9: {
413
+ if (tag !== 74) {
414
+ break;
415
+ }
416
+ message.nextValidatorsHash = reader.bytes();
417
+ continue;
418
+ }
419
+ case 10: {
420
+ if (tag !== 82) {
421
+ break;
422
+ }
423
+ message.consensusHash = reader.bytes();
424
+ continue;
425
+ }
426
+ case 11: {
427
+ if (tag !== 90) {
428
+ break;
429
+ }
430
+ message.appHash = reader.bytes();
431
+ continue;
432
+ }
433
+ case 12: {
434
+ if (tag !== 98) {
435
+ break;
436
+ }
437
+ message.lastResultsHash = reader.bytes();
438
+ continue;
439
+ }
440
+ case 13: {
441
+ if (tag !== 106) {
442
+ break;
443
+ }
444
+ message.evidenceHash = reader.bytes();
445
+ continue;
446
+ }
447
+ case 14: {
448
+ if (tag !== 114) {
449
+ break;
450
+ }
451
+ message.proposerAddress = reader.bytes();
452
+ continue;
453
+ }
454
+ }
455
+ if ((tag & 7) === 4 || tag === 0) {
456
+ break;
457
+ }
458
+ reader.skip(tag & 7);
459
+ }
460
+ return message;
461
+ },
462
+ fromJSON(object) {
463
+ return {
464
+ version: isSet(object.version) ? Consensus.fromJSON(object.version) : undefined,
465
+ chainId: isSet(object.chainId) ? globalThis.String(object.chainId) : "",
466
+ height: isSet(object.height) ? BigInt(object.height) : 0n,
467
+ time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined,
468
+ lastBlockId: isSet(object.lastBlockId) ? BlockID.fromJSON(object.lastBlockId) : undefined,
469
+ lastCommitHash: isSet(object.lastCommitHash) ? bytesFromBase64(object.lastCommitHash) : new Uint8Array(0),
470
+ dataHash: isSet(object.dataHash) ? bytesFromBase64(object.dataHash) : new Uint8Array(0),
471
+ validatorsHash: isSet(object.validatorsHash) ? bytesFromBase64(object.validatorsHash) : new Uint8Array(0),
472
+ nextValidatorsHash: isSet(object.nextValidatorsHash)
473
+ ? bytesFromBase64(object.nextValidatorsHash)
474
+ : new Uint8Array(0),
475
+ consensusHash: isSet(object.consensusHash) ? bytesFromBase64(object.consensusHash) : new Uint8Array(0),
476
+ appHash: isSet(object.appHash) ? bytesFromBase64(object.appHash) : new Uint8Array(0),
477
+ lastResultsHash: isSet(object.lastResultsHash) ? bytesFromBase64(object.lastResultsHash) : new Uint8Array(0),
478
+ evidenceHash: isSet(object.evidenceHash) ? bytesFromBase64(object.evidenceHash) : new Uint8Array(0),
479
+ proposerAddress: isSet(object.proposerAddress) ? bytesFromBase64(object.proposerAddress) : new Uint8Array(0),
480
+ };
481
+ },
482
+ toJSON(message) {
483
+ const obj = {};
484
+ if (message.version !== undefined) {
485
+ obj.version = Consensus.toJSON(message.version);
486
+ }
487
+ if (message.chainId !== "") {
488
+ obj.chainId = message.chainId;
489
+ }
490
+ if (message.height !== 0n) {
491
+ obj.height = message.height.toString();
492
+ }
493
+ if (message.time !== undefined) {
494
+ obj.time = fromTimestamp(message.time).toISOString();
495
+ }
496
+ if (message.lastBlockId !== undefined) {
497
+ obj.lastBlockId = BlockID.toJSON(message.lastBlockId);
498
+ }
499
+ if (message.lastCommitHash.length !== 0) {
500
+ obj.lastCommitHash = base64FromBytes(message.lastCommitHash);
501
+ }
502
+ if (message.dataHash.length !== 0) {
503
+ obj.dataHash = base64FromBytes(message.dataHash);
504
+ }
505
+ if (message.validatorsHash.length !== 0) {
506
+ obj.validatorsHash = base64FromBytes(message.validatorsHash);
507
+ }
508
+ if (message.nextValidatorsHash.length !== 0) {
509
+ obj.nextValidatorsHash = base64FromBytes(message.nextValidatorsHash);
510
+ }
511
+ if (message.consensusHash.length !== 0) {
512
+ obj.consensusHash = base64FromBytes(message.consensusHash);
513
+ }
514
+ if (message.appHash.length !== 0) {
515
+ obj.appHash = base64FromBytes(message.appHash);
516
+ }
517
+ if (message.lastResultsHash.length !== 0) {
518
+ obj.lastResultsHash = base64FromBytes(message.lastResultsHash);
519
+ }
520
+ if (message.evidenceHash.length !== 0) {
521
+ obj.evidenceHash = base64FromBytes(message.evidenceHash);
522
+ }
523
+ if (message.proposerAddress.length !== 0) {
524
+ obj.proposerAddress = base64FromBytes(message.proposerAddress);
525
+ }
526
+ return obj;
527
+ },
528
+ create(base) {
529
+ return Header.fromPartial(base ?? {});
530
+ },
531
+ fromPartial(object) {
532
+ const message = createBaseHeader();
533
+ message.version = (object.version !== undefined && object.version !== null)
534
+ ? Consensus.fromPartial(object.version)
535
+ : undefined;
536
+ message.chainId = object.chainId ?? "";
537
+ message.height = object.height ?? 0n;
538
+ message.time = (object.time !== undefined && object.time !== null) ? Timestamp.fromPartial(object.time) : undefined;
539
+ message.lastBlockId = (object.lastBlockId !== undefined && object.lastBlockId !== null)
540
+ ? BlockID.fromPartial(object.lastBlockId)
541
+ : undefined;
542
+ message.lastCommitHash = object.lastCommitHash ?? new Uint8Array(0);
543
+ message.dataHash = object.dataHash ?? new Uint8Array(0);
544
+ message.validatorsHash = object.validatorsHash ?? new Uint8Array(0);
545
+ message.nextValidatorsHash = object.nextValidatorsHash ?? new Uint8Array(0);
546
+ message.consensusHash = object.consensusHash ?? new Uint8Array(0);
547
+ message.appHash = object.appHash ?? new Uint8Array(0);
548
+ message.lastResultsHash = object.lastResultsHash ?? new Uint8Array(0);
549
+ message.evidenceHash = object.evidenceHash ?? new Uint8Array(0);
550
+ message.proposerAddress = object.proposerAddress ?? new Uint8Array(0);
551
+ return message;
552
+ },
553
+ };
554
+ function createBaseData() {
555
+ return { txs: [] };
556
+ }
557
+ export const Data = {
558
+ encode(message, writer = new BinaryWriter()) {
559
+ for (const v of message.txs) {
560
+ writer.uint32(10).bytes(v);
561
+ }
562
+ return writer;
563
+ },
564
+ decode(input, length) {
565
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
566
+ let end = length === undefined ? reader.len : reader.pos + length;
567
+ const message = createBaseData();
568
+ while (reader.pos < end) {
569
+ const tag = reader.uint32();
570
+ switch (tag >>> 3) {
571
+ case 1: {
572
+ if (tag !== 10) {
573
+ break;
574
+ }
575
+ message.txs.push(reader.bytes());
576
+ continue;
577
+ }
578
+ }
579
+ if ((tag & 7) === 4 || tag === 0) {
580
+ break;
581
+ }
582
+ reader.skip(tag & 7);
583
+ }
584
+ return message;
585
+ },
586
+ fromJSON(object) {
587
+ return { txs: globalThis.Array.isArray(object?.txs) ? object.txs.map((e) => bytesFromBase64(e)) : [] };
588
+ },
589
+ toJSON(message) {
590
+ const obj = {};
591
+ if (message.txs?.length) {
592
+ obj.txs = message.txs.map((e) => base64FromBytes(e));
593
+ }
594
+ return obj;
595
+ },
596
+ create(base) {
597
+ return Data.fromPartial(base ?? {});
598
+ },
599
+ fromPartial(object) {
600
+ const message = createBaseData();
601
+ message.txs = object.txs?.map((e) => e) || [];
602
+ return message;
603
+ },
604
+ };
605
+ function createBaseVote() {
606
+ return {
607
+ type: 0,
608
+ height: 0n,
609
+ round: 0,
610
+ blockId: undefined,
611
+ timestamp: undefined,
612
+ validatorAddress: new Uint8Array(0),
613
+ validatorIndex: 0,
614
+ signature: new Uint8Array(0),
615
+ extension: new Uint8Array(0),
616
+ extensionSignature: new Uint8Array(0),
617
+ };
618
+ }
619
+ export const Vote = {
620
+ encode(message, writer = new BinaryWriter()) {
621
+ if (message.type !== 0) {
622
+ writer.uint32(8).int32(message.type);
623
+ }
624
+ if (message.height !== 0n) {
625
+ if (BigInt.asIntN(64, message.height) !== message.height) {
626
+ throw new globalThis.Error("value provided for field message.height of type int64 too large");
627
+ }
628
+ writer.uint32(16).int64(message.height);
629
+ }
630
+ if (message.round !== 0) {
631
+ writer.uint32(24).int32(message.round);
632
+ }
633
+ if (message.blockId !== undefined) {
634
+ BlockID.encode(message.blockId, writer.uint32(34).fork()).join();
635
+ }
636
+ if (message.timestamp !== undefined) {
637
+ Timestamp.encode(message.timestamp, writer.uint32(42).fork()).join();
638
+ }
639
+ if (message.validatorAddress.length !== 0) {
640
+ writer.uint32(50).bytes(message.validatorAddress);
641
+ }
642
+ if (message.validatorIndex !== 0) {
643
+ writer.uint32(56).int32(message.validatorIndex);
644
+ }
645
+ if (message.signature.length !== 0) {
646
+ writer.uint32(66).bytes(message.signature);
647
+ }
648
+ if (message.extension.length !== 0) {
649
+ writer.uint32(74).bytes(message.extension);
650
+ }
651
+ if (message.extensionSignature.length !== 0) {
652
+ writer.uint32(82).bytes(message.extensionSignature);
653
+ }
654
+ return writer;
655
+ },
656
+ decode(input, length) {
657
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
658
+ let end = length === undefined ? reader.len : reader.pos + length;
659
+ const message = createBaseVote();
660
+ while (reader.pos < end) {
661
+ const tag = reader.uint32();
662
+ switch (tag >>> 3) {
663
+ case 1: {
664
+ if (tag !== 8) {
665
+ break;
666
+ }
667
+ message.type = reader.int32();
668
+ continue;
669
+ }
670
+ case 2: {
671
+ if (tag !== 16) {
672
+ break;
673
+ }
674
+ message.height = reader.int64();
675
+ continue;
676
+ }
677
+ case 3: {
678
+ if (tag !== 24) {
679
+ break;
680
+ }
681
+ message.round = reader.int32();
682
+ continue;
683
+ }
684
+ case 4: {
685
+ if (tag !== 34) {
686
+ break;
687
+ }
688
+ message.blockId = BlockID.decode(reader, reader.uint32());
689
+ continue;
690
+ }
691
+ case 5: {
692
+ if (tag !== 42) {
693
+ break;
694
+ }
695
+ message.timestamp = Timestamp.decode(reader, reader.uint32());
696
+ continue;
697
+ }
698
+ case 6: {
699
+ if (tag !== 50) {
700
+ break;
701
+ }
702
+ message.validatorAddress = reader.bytes();
703
+ continue;
704
+ }
705
+ case 7: {
706
+ if (tag !== 56) {
707
+ break;
708
+ }
709
+ message.validatorIndex = reader.int32();
710
+ continue;
711
+ }
712
+ case 8: {
713
+ if (tag !== 66) {
714
+ break;
715
+ }
716
+ message.signature = reader.bytes();
717
+ continue;
718
+ }
719
+ case 9: {
720
+ if (tag !== 74) {
721
+ break;
722
+ }
723
+ message.extension = reader.bytes();
724
+ continue;
725
+ }
726
+ case 10: {
727
+ if (tag !== 82) {
728
+ break;
729
+ }
730
+ message.extensionSignature = reader.bytes();
731
+ continue;
732
+ }
733
+ }
734
+ if ((tag & 7) === 4 || tag === 0) {
735
+ break;
736
+ }
737
+ reader.skip(tag & 7);
738
+ }
739
+ return message;
740
+ },
741
+ fromJSON(object) {
742
+ return {
743
+ type: isSet(object.type) ? signedMsgTypeFromJSON(object.type) : 0,
744
+ height: isSet(object.height) ? BigInt(object.height) : 0n,
745
+ round: isSet(object.round) ? globalThis.Number(object.round) : 0,
746
+ blockId: isSet(object.blockId) ? BlockID.fromJSON(object.blockId) : undefined,
747
+ timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
748
+ validatorAddress: isSet(object.validatorAddress) ? bytesFromBase64(object.validatorAddress) : new Uint8Array(0),
749
+ validatorIndex: isSet(object.validatorIndex) ? globalThis.Number(object.validatorIndex) : 0,
750
+ signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0),
751
+ extension: isSet(object.extension) ? bytesFromBase64(object.extension) : new Uint8Array(0),
752
+ extensionSignature: isSet(object.extensionSignature)
753
+ ? bytesFromBase64(object.extensionSignature)
754
+ : new Uint8Array(0),
755
+ };
756
+ },
757
+ toJSON(message) {
758
+ const obj = {};
759
+ if (message.type !== 0) {
760
+ obj.type = signedMsgTypeToJSON(message.type);
761
+ }
762
+ if (message.height !== 0n) {
763
+ obj.height = message.height.toString();
764
+ }
765
+ if (message.round !== 0) {
766
+ obj.round = Math.round(message.round);
767
+ }
768
+ if (message.blockId !== undefined) {
769
+ obj.blockId = BlockID.toJSON(message.blockId);
770
+ }
771
+ if (message.timestamp !== undefined) {
772
+ obj.timestamp = fromTimestamp(message.timestamp).toISOString();
773
+ }
774
+ if (message.validatorAddress.length !== 0) {
775
+ obj.validatorAddress = base64FromBytes(message.validatorAddress);
776
+ }
777
+ if (message.validatorIndex !== 0) {
778
+ obj.validatorIndex = Math.round(message.validatorIndex);
779
+ }
780
+ if (message.signature.length !== 0) {
781
+ obj.signature = base64FromBytes(message.signature);
782
+ }
783
+ if (message.extension.length !== 0) {
784
+ obj.extension = base64FromBytes(message.extension);
785
+ }
786
+ if (message.extensionSignature.length !== 0) {
787
+ obj.extensionSignature = base64FromBytes(message.extensionSignature);
788
+ }
789
+ return obj;
790
+ },
791
+ create(base) {
792
+ return Vote.fromPartial(base ?? {});
793
+ },
794
+ fromPartial(object) {
795
+ const message = createBaseVote();
796
+ message.type = object.type ?? 0;
797
+ message.height = object.height ?? 0n;
798
+ message.round = object.round ?? 0;
799
+ message.blockId = (object.blockId !== undefined && object.blockId !== null)
800
+ ? BlockID.fromPartial(object.blockId)
801
+ : undefined;
802
+ message.timestamp = (object.timestamp !== undefined && object.timestamp !== null)
803
+ ? Timestamp.fromPartial(object.timestamp)
804
+ : undefined;
805
+ message.validatorAddress = object.validatorAddress ?? new Uint8Array(0);
806
+ message.validatorIndex = object.validatorIndex ?? 0;
807
+ message.signature = object.signature ?? new Uint8Array(0);
808
+ message.extension = object.extension ?? new Uint8Array(0);
809
+ message.extensionSignature = object.extensionSignature ?? new Uint8Array(0);
810
+ return message;
811
+ },
812
+ };
813
+ function createBaseCommit() {
814
+ return { height: 0n, round: 0, blockId: undefined, signatures: [] };
815
+ }
816
+ export const Commit = {
817
+ encode(message, writer = new BinaryWriter()) {
818
+ if (message.height !== 0n) {
819
+ if (BigInt.asIntN(64, message.height) !== message.height) {
820
+ throw new globalThis.Error("value provided for field message.height of type int64 too large");
821
+ }
822
+ writer.uint32(8).int64(message.height);
823
+ }
824
+ if (message.round !== 0) {
825
+ writer.uint32(16).int32(message.round);
826
+ }
827
+ if (message.blockId !== undefined) {
828
+ BlockID.encode(message.blockId, writer.uint32(26).fork()).join();
829
+ }
830
+ for (const v of message.signatures) {
831
+ CommitSig.encode(v, writer.uint32(34).fork()).join();
832
+ }
833
+ return writer;
834
+ },
835
+ decode(input, length) {
836
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
837
+ let end = length === undefined ? reader.len : reader.pos + length;
838
+ const message = createBaseCommit();
839
+ while (reader.pos < end) {
840
+ const tag = reader.uint32();
841
+ switch (tag >>> 3) {
842
+ case 1: {
843
+ if (tag !== 8) {
844
+ break;
845
+ }
846
+ message.height = reader.int64();
847
+ continue;
848
+ }
849
+ case 2: {
850
+ if (tag !== 16) {
851
+ break;
852
+ }
853
+ message.round = reader.int32();
854
+ continue;
855
+ }
856
+ case 3: {
857
+ if (tag !== 26) {
858
+ break;
859
+ }
860
+ message.blockId = BlockID.decode(reader, reader.uint32());
861
+ continue;
862
+ }
863
+ case 4: {
864
+ if (tag !== 34) {
865
+ break;
866
+ }
867
+ message.signatures.push(CommitSig.decode(reader, reader.uint32()));
868
+ continue;
869
+ }
870
+ }
871
+ if ((tag & 7) === 4 || tag === 0) {
872
+ break;
873
+ }
874
+ reader.skip(tag & 7);
875
+ }
876
+ return message;
877
+ },
878
+ fromJSON(object) {
879
+ return {
880
+ height: isSet(object.height) ? BigInt(object.height) : 0n,
881
+ round: isSet(object.round) ? globalThis.Number(object.round) : 0,
882
+ blockId: isSet(object.blockId) ? BlockID.fromJSON(object.blockId) : undefined,
883
+ signatures: globalThis.Array.isArray(object?.signatures)
884
+ ? object.signatures.map((e) => CommitSig.fromJSON(e))
885
+ : [],
886
+ };
887
+ },
888
+ toJSON(message) {
889
+ const obj = {};
890
+ if (message.height !== 0n) {
891
+ obj.height = message.height.toString();
892
+ }
893
+ if (message.round !== 0) {
894
+ obj.round = Math.round(message.round);
895
+ }
896
+ if (message.blockId !== undefined) {
897
+ obj.blockId = BlockID.toJSON(message.blockId);
898
+ }
899
+ if (message.signatures?.length) {
900
+ obj.signatures = message.signatures.map((e) => CommitSig.toJSON(e));
901
+ }
902
+ return obj;
903
+ },
904
+ create(base) {
905
+ return Commit.fromPartial(base ?? {});
906
+ },
907
+ fromPartial(object) {
908
+ const message = createBaseCommit();
909
+ message.height = object.height ?? 0n;
910
+ message.round = object.round ?? 0;
911
+ message.blockId = (object.blockId !== undefined && object.blockId !== null)
912
+ ? BlockID.fromPartial(object.blockId)
913
+ : undefined;
914
+ message.signatures = object.signatures?.map((e) => CommitSig.fromPartial(e)) || [];
915
+ return message;
916
+ },
917
+ };
918
+ function createBaseCommitSig() {
919
+ return { blockIdFlag: 0, validatorAddress: new Uint8Array(0), timestamp: undefined, signature: new Uint8Array(0) };
920
+ }
921
+ export const CommitSig = {
922
+ encode(message, writer = new BinaryWriter()) {
923
+ if (message.blockIdFlag !== 0) {
924
+ writer.uint32(8).int32(message.blockIdFlag);
925
+ }
926
+ if (message.validatorAddress.length !== 0) {
927
+ writer.uint32(18).bytes(message.validatorAddress);
928
+ }
929
+ if (message.timestamp !== undefined) {
930
+ Timestamp.encode(message.timestamp, writer.uint32(26).fork()).join();
931
+ }
932
+ if (message.signature.length !== 0) {
933
+ writer.uint32(34).bytes(message.signature);
934
+ }
935
+ return writer;
936
+ },
937
+ decode(input, length) {
938
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
939
+ let end = length === undefined ? reader.len : reader.pos + length;
940
+ const message = createBaseCommitSig();
941
+ while (reader.pos < end) {
942
+ const tag = reader.uint32();
943
+ switch (tag >>> 3) {
944
+ case 1: {
945
+ if (tag !== 8) {
946
+ break;
947
+ }
948
+ message.blockIdFlag = reader.int32();
949
+ continue;
950
+ }
951
+ case 2: {
952
+ if (tag !== 18) {
953
+ break;
954
+ }
955
+ message.validatorAddress = reader.bytes();
956
+ continue;
957
+ }
958
+ case 3: {
959
+ if (tag !== 26) {
960
+ break;
961
+ }
962
+ message.timestamp = Timestamp.decode(reader, reader.uint32());
963
+ continue;
964
+ }
965
+ case 4: {
966
+ if (tag !== 34) {
967
+ break;
968
+ }
969
+ message.signature = reader.bytes();
970
+ continue;
971
+ }
972
+ }
973
+ if ((tag & 7) === 4 || tag === 0) {
974
+ break;
975
+ }
976
+ reader.skip(tag & 7);
977
+ }
978
+ return message;
979
+ },
980
+ fromJSON(object) {
981
+ return {
982
+ blockIdFlag: isSet(object.blockIdFlag) ? blockIDFlagFromJSON(object.blockIdFlag) : 0,
983
+ validatorAddress: isSet(object.validatorAddress) ? bytesFromBase64(object.validatorAddress) : new Uint8Array(0),
984
+ timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
985
+ signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0),
986
+ };
987
+ },
988
+ toJSON(message) {
989
+ const obj = {};
990
+ if (message.blockIdFlag !== 0) {
991
+ obj.blockIdFlag = blockIDFlagToJSON(message.blockIdFlag);
992
+ }
993
+ if (message.validatorAddress.length !== 0) {
994
+ obj.validatorAddress = base64FromBytes(message.validatorAddress);
995
+ }
996
+ if (message.timestamp !== undefined) {
997
+ obj.timestamp = fromTimestamp(message.timestamp).toISOString();
998
+ }
999
+ if (message.signature.length !== 0) {
1000
+ obj.signature = base64FromBytes(message.signature);
1001
+ }
1002
+ return obj;
1003
+ },
1004
+ create(base) {
1005
+ return CommitSig.fromPartial(base ?? {});
1006
+ },
1007
+ fromPartial(object) {
1008
+ const message = createBaseCommitSig();
1009
+ message.blockIdFlag = object.blockIdFlag ?? 0;
1010
+ message.validatorAddress = object.validatorAddress ?? new Uint8Array(0);
1011
+ message.timestamp = (object.timestamp !== undefined && object.timestamp !== null)
1012
+ ? Timestamp.fromPartial(object.timestamp)
1013
+ : undefined;
1014
+ message.signature = object.signature ?? new Uint8Array(0);
1015
+ return message;
1016
+ },
1017
+ };
1018
+ function createBaseExtendedCommit() {
1019
+ return { height: 0n, round: 0, blockId: undefined, extendedSignatures: [] };
1020
+ }
1021
+ export const ExtendedCommit = {
1022
+ encode(message, writer = new BinaryWriter()) {
1023
+ if (message.height !== 0n) {
1024
+ if (BigInt.asIntN(64, message.height) !== message.height) {
1025
+ throw new globalThis.Error("value provided for field message.height of type int64 too large");
1026
+ }
1027
+ writer.uint32(8).int64(message.height);
1028
+ }
1029
+ if (message.round !== 0) {
1030
+ writer.uint32(16).int32(message.round);
1031
+ }
1032
+ if (message.blockId !== undefined) {
1033
+ BlockID.encode(message.blockId, writer.uint32(26).fork()).join();
1034
+ }
1035
+ for (const v of message.extendedSignatures) {
1036
+ ExtendedCommitSig.encode(v, writer.uint32(34).fork()).join();
1037
+ }
1038
+ return writer;
1039
+ },
1040
+ decode(input, length) {
1041
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1042
+ let end = length === undefined ? reader.len : reader.pos + length;
1043
+ const message = createBaseExtendedCommit();
1044
+ while (reader.pos < end) {
1045
+ const tag = reader.uint32();
1046
+ switch (tag >>> 3) {
1047
+ case 1: {
1048
+ if (tag !== 8) {
1049
+ break;
1050
+ }
1051
+ message.height = reader.int64();
1052
+ continue;
1053
+ }
1054
+ case 2: {
1055
+ if (tag !== 16) {
1056
+ break;
1057
+ }
1058
+ message.round = reader.int32();
1059
+ continue;
1060
+ }
1061
+ case 3: {
1062
+ if (tag !== 26) {
1063
+ break;
1064
+ }
1065
+ message.blockId = BlockID.decode(reader, reader.uint32());
1066
+ continue;
1067
+ }
1068
+ case 4: {
1069
+ if (tag !== 34) {
1070
+ break;
1071
+ }
1072
+ message.extendedSignatures.push(ExtendedCommitSig.decode(reader, reader.uint32()));
1073
+ continue;
1074
+ }
1075
+ }
1076
+ if ((tag & 7) === 4 || tag === 0) {
1077
+ break;
1078
+ }
1079
+ reader.skip(tag & 7);
1080
+ }
1081
+ return message;
1082
+ },
1083
+ fromJSON(object) {
1084
+ return {
1085
+ height: isSet(object.height) ? BigInt(object.height) : 0n,
1086
+ round: isSet(object.round) ? globalThis.Number(object.round) : 0,
1087
+ blockId: isSet(object.blockId) ? BlockID.fromJSON(object.blockId) : undefined,
1088
+ extendedSignatures: globalThis.Array.isArray(object?.extendedSignatures)
1089
+ ? object.extendedSignatures.map((e) => ExtendedCommitSig.fromJSON(e))
1090
+ : [],
1091
+ };
1092
+ },
1093
+ toJSON(message) {
1094
+ const obj = {};
1095
+ if (message.height !== 0n) {
1096
+ obj.height = message.height.toString();
1097
+ }
1098
+ if (message.round !== 0) {
1099
+ obj.round = Math.round(message.round);
1100
+ }
1101
+ if (message.blockId !== undefined) {
1102
+ obj.blockId = BlockID.toJSON(message.blockId);
1103
+ }
1104
+ if (message.extendedSignatures?.length) {
1105
+ obj.extendedSignatures = message.extendedSignatures.map((e) => ExtendedCommitSig.toJSON(e));
1106
+ }
1107
+ return obj;
1108
+ },
1109
+ create(base) {
1110
+ return ExtendedCommit.fromPartial(base ?? {});
1111
+ },
1112
+ fromPartial(object) {
1113
+ const message = createBaseExtendedCommit();
1114
+ message.height = object.height ?? 0n;
1115
+ message.round = object.round ?? 0;
1116
+ message.blockId = (object.blockId !== undefined && object.blockId !== null)
1117
+ ? BlockID.fromPartial(object.blockId)
1118
+ : undefined;
1119
+ message.extendedSignatures = object.extendedSignatures?.map((e) => ExtendedCommitSig.fromPartial(e)) || [];
1120
+ return message;
1121
+ },
1122
+ };
1123
+ function createBaseExtendedCommitSig() {
1124
+ return {
1125
+ blockIdFlag: 0,
1126
+ validatorAddress: new Uint8Array(0),
1127
+ timestamp: undefined,
1128
+ signature: new Uint8Array(0),
1129
+ extension: new Uint8Array(0),
1130
+ extensionSignature: new Uint8Array(0),
1131
+ };
1132
+ }
1133
+ export const ExtendedCommitSig = {
1134
+ encode(message, writer = new BinaryWriter()) {
1135
+ if (message.blockIdFlag !== 0) {
1136
+ writer.uint32(8).int32(message.blockIdFlag);
1137
+ }
1138
+ if (message.validatorAddress.length !== 0) {
1139
+ writer.uint32(18).bytes(message.validatorAddress);
1140
+ }
1141
+ if (message.timestamp !== undefined) {
1142
+ Timestamp.encode(message.timestamp, writer.uint32(26).fork()).join();
1143
+ }
1144
+ if (message.signature.length !== 0) {
1145
+ writer.uint32(34).bytes(message.signature);
1146
+ }
1147
+ if (message.extension.length !== 0) {
1148
+ writer.uint32(42).bytes(message.extension);
1149
+ }
1150
+ if (message.extensionSignature.length !== 0) {
1151
+ writer.uint32(50).bytes(message.extensionSignature);
1152
+ }
1153
+ return writer;
1154
+ },
1155
+ decode(input, length) {
1156
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1157
+ let end = length === undefined ? reader.len : reader.pos + length;
1158
+ const message = createBaseExtendedCommitSig();
1159
+ while (reader.pos < end) {
1160
+ const tag = reader.uint32();
1161
+ switch (tag >>> 3) {
1162
+ case 1: {
1163
+ if (tag !== 8) {
1164
+ break;
1165
+ }
1166
+ message.blockIdFlag = reader.int32();
1167
+ continue;
1168
+ }
1169
+ case 2: {
1170
+ if (tag !== 18) {
1171
+ break;
1172
+ }
1173
+ message.validatorAddress = reader.bytes();
1174
+ continue;
1175
+ }
1176
+ case 3: {
1177
+ if (tag !== 26) {
1178
+ break;
1179
+ }
1180
+ message.timestamp = Timestamp.decode(reader, reader.uint32());
1181
+ continue;
1182
+ }
1183
+ case 4: {
1184
+ if (tag !== 34) {
1185
+ break;
1186
+ }
1187
+ message.signature = reader.bytes();
1188
+ continue;
1189
+ }
1190
+ case 5: {
1191
+ if (tag !== 42) {
1192
+ break;
1193
+ }
1194
+ message.extension = reader.bytes();
1195
+ continue;
1196
+ }
1197
+ case 6: {
1198
+ if (tag !== 50) {
1199
+ break;
1200
+ }
1201
+ message.extensionSignature = reader.bytes();
1202
+ continue;
1203
+ }
1204
+ }
1205
+ if ((tag & 7) === 4 || tag === 0) {
1206
+ break;
1207
+ }
1208
+ reader.skip(tag & 7);
1209
+ }
1210
+ return message;
1211
+ },
1212
+ fromJSON(object) {
1213
+ return {
1214
+ blockIdFlag: isSet(object.blockIdFlag) ? blockIDFlagFromJSON(object.blockIdFlag) : 0,
1215
+ validatorAddress: isSet(object.validatorAddress) ? bytesFromBase64(object.validatorAddress) : new Uint8Array(0),
1216
+ timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
1217
+ signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0),
1218
+ extension: isSet(object.extension) ? bytesFromBase64(object.extension) : new Uint8Array(0),
1219
+ extensionSignature: isSet(object.extensionSignature)
1220
+ ? bytesFromBase64(object.extensionSignature)
1221
+ : new Uint8Array(0),
1222
+ };
1223
+ },
1224
+ toJSON(message) {
1225
+ const obj = {};
1226
+ if (message.blockIdFlag !== 0) {
1227
+ obj.blockIdFlag = blockIDFlagToJSON(message.blockIdFlag);
1228
+ }
1229
+ if (message.validatorAddress.length !== 0) {
1230
+ obj.validatorAddress = base64FromBytes(message.validatorAddress);
1231
+ }
1232
+ if (message.timestamp !== undefined) {
1233
+ obj.timestamp = fromTimestamp(message.timestamp).toISOString();
1234
+ }
1235
+ if (message.signature.length !== 0) {
1236
+ obj.signature = base64FromBytes(message.signature);
1237
+ }
1238
+ if (message.extension.length !== 0) {
1239
+ obj.extension = base64FromBytes(message.extension);
1240
+ }
1241
+ if (message.extensionSignature.length !== 0) {
1242
+ obj.extensionSignature = base64FromBytes(message.extensionSignature);
1243
+ }
1244
+ return obj;
1245
+ },
1246
+ create(base) {
1247
+ return ExtendedCommitSig.fromPartial(base ?? {});
1248
+ },
1249
+ fromPartial(object) {
1250
+ const message = createBaseExtendedCommitSig();
1251
+ message.blockIdFlag = object.blockIdFlag ?? 0;
1252
+ message.validatorAddress = object.validatorAddress ?? new Uint8Array(0);
1253
+ message.timestamp = (object.timestamp !== undefined && object.timestamp !== null)
1254
+ ? Timestamp.fromPartial(object.timestamp)
1255
+ : undefined;
1256
+ message.signature = object.signature ?? new Uint8Array(0);
1257
+ message.extension = object.extension ?? new Uint8Array(0);
1258
+ message.extensionSignature = object.extensionSignature ?? new Uint8Array(0);
1259
+ return message;
1260
+ },
1261
+ };
1262
+ function createBaseProposal() {
1263
+ return {
1264
+ type: 0,
1265
+ height: 0n,
1266
+ round: 0,
1267
+ polRound: 0,
1268
+ blockId: undefined,
1269
+ timestamp: undefined,
1270
+ signature: new Uint8Array(0),
1271
+ };
1272
+ }
1273
+ export const Proposal = {
1274
+ encode(message, writer = new BinaryWriter()) {
1275
+ if (message.type !== 0) {
1276
+ writer.uint32(8).int32(message.type);
1277
+ }
1278
+ if (message.height !== 0n) {
1279
+ if (BigInt.asIntN(64, message.height) !== message.height) {
1280
+ throw new globalThis.Error("value provided for field message.height of type int64 too large");
1281
+ }
1282
+ writer.uint32(16).int64(message.height);
1283
+ }
1284
+ if (message.round !== 0) {
1285
+ writer.uint32(24).int32(message.round);
1286
+ }
1287
+ if (message.polRound !== 0) {
1288
+ writer.uint32(32).int32(message.polRound);
1289
+ }
1290
+ if (message.blockId !== undefined) {
1291
+ BlockID.encode(message.blockId, writer.uint32(42).fork()).join();
1292
+ }
1293
+ if (message.timestamp !== undefined) {
1294
+ Timestamp.encode(message.timestamp, writer.uint32(50).fork()).join();
1295
+ }
1296
+ if (message.signature.length !== 0) {
1297
+ writer.uint32(58).bytes(message.signature);
1298
+ }
1299
+ return writer;
1300
+ },
1301
+ decode(input, length) {
1302
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1303
+ let end = length === undefined ? reader.len : reader.pos + length;
1304
+ const message = createBaseProposal();
1305
+ while (reader.pos < end) {
1306
+ const tag = reader.uint32();
1307
+ switch (tag >>> 3) {
1308
+ case 1: {
1309
+ if (tag !== 8) {
1310
+ break;
1311
+ }
1312
+ message.type = reader.int32();
1313
+ continue;
1314
+ }
1315
+ case 2: {
1316
+ if (tag !== 16) {
1317
+ break;
1318
+ }
1319
+ message.height = reader.int64();
1320
+ continue;
1321
+ }
1322
+ case 3: {
1323
+ if (tag !== 24) {
1324
+ break;
1325
+ }
1326
+ message.round = reader.int32();
1327
+ continue;
1328
+ }
1329
+ case 4: {
1330
+ if (tag !== 32) {
1331
+ break;
1332
+ }
1333
+ message.polRound = reader.int32();
1334
+ continue;
1335
+ }
1336
+ case 5: {
1337
+ if (tag !== 42) {
1338
+ break;
1339
+ }
1340
+ message.blockId = BlockID.decode(reader, reader.uint32());
1341
+ continue;
1342
+ }
1343
+ case 6: {
1344
+ if (tag !== 50) {
1345
+ break;
1346
+ }
1347
+ message.timestamp = Timestamp.decode(reader, reader.uint32());
1348
+ continue;
1349
+ }
1350
+ case 7: {
1351
+ if (tag !== 58) {
1352
+ break;
1353
+ }
1354
+ message.signature = reader.bytes();
1355
+ continue;
1356
+ }
1357
+ }
1358
+ if ((tag & 7) === 4 || tag === 0) {
1359
+ break;
1360
+ }
1361
+ reader.skip(tag & 7);
1362
+ }
1363
+ return message;
1364
+ },
1365
+ fromJSON(object) {
1366
+ return {
1367
+ type: isSet(object.type) ? signedMsgTypeFromJSON(object.type) : 0,
1368
+ height: isSet(object.height) ? BigInt(object.height) : 0n,
1369
+ round: isSet(object.round) ? globalThis.Number(object.round) : 0,
1370
+ polRound: isSet(object.polRound) ? globalThis.Number(object.polRound) : 0,
1371
+ blockId: isSet(object.blockId) ? BlockID.fromJSON(object.blockId) : undefined,
1372
+ timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
1373
+ signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0),
1374
+ };
1375
+ },
1376
+ toJSON(message) {
1377
+ const obj = {};
1378
+ if (message.type !== 0) {
1379
+ obj.type = signedMsgTypeToJSON(message.type);
1380
+ }
1381
+ if (message.height !== 0n) {
1382
+ obj.height = message.height.toString();
1383
+ }
1384
+ if (message.round !== 0) {
1385
+ obj.round = Math.round(message.round);
1386
+ }
1387
+ if (message.polRound !== 0) {
1388
+ obj.polRound = Math.round(message.polRound);
1389
+ }
1390
+ if (message.blockId !== undefined) {
1391
+ obj.blockId = BlockID.toJSON(message.blockId);
1392
+ }
1393
+ if (message.timestamp !== undefined) {
1394
+ obj.timestamp = fromTimestamp(message.timestamp).toISOString();
1395
+ }
1396
+ if (message.signature.length !== 0) {
1397
+ obj.signature = base64FromBytes(message.signature);
1398
+ }
1399
+ return obj;
1400
+ },
1401
+ create(base) {
1402
+ return Proposal.fromPartial(base ?? {});
1403
+ },
1404
+ fromPartial(object) {
1405
+ const message = createBaseProposal();
1406
+ message.type = object.type ?? 0;
1407
+ message.height = object.height ?? 0n;
1408
+ message.round = object.round ?? 0;
1409
+ message.polRound = object.polRound ?? 0;
1410
+ message.blockId = (object.blockId !== undefined && object.blockId !== null)
1411
+ ? BlockID.fromPartial(object.blockId)
1412
+ : undefined;
1413
+ message.timestamp = (object.timestamp !== undefined && object.timestamp !== null)
1414
+ ? Timestamp.fromPartial(object.timestamp)
1415
+ : undefined;
1416
+ message.signature = object.signature ?? new Uint8Array(0);
1417
+ return message;
1418
+ },
1419
+ };
1420
+ function createBaseSignedHeader() {
1421
+ return { header: undefined, commit: undefined };
1422
+ }
1423
+ export const SignedHeader = {
1424
+ encode(message, writer = new BinaryWriter()) {
1425
+ if (message.header !== undefined) {
1426
+ Header.encode(message.header, writer.uint32(10).fork()).join();
1427
+ }
1428
+ if (message.commit !== undefined) {
1429
+ Commit.encode(message.commit, writer.uint32(18).fork()).join();
1430
+ }
1431
+ return writer;
1432
+ },
1433
+ decode(input, length) {
1434
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1435
+ let end = length === undefined ? reader.len : reader.pos + length;
1436
+ const message = createBaseSignedHeader();
1437
+ while (reader.pos < end) {
1438
+ const tag = reader.uint32();
1439
+ switch (tag >>> 3) {
1440
+ case 1: {
1441
+ if (tag !== 10) {
1442
+ break;
1443
+ }
1444
+ message.header = Header.decode(reader, reader.uint32());
1445
+ continue;
1446
+ }
1447
+ case 2: {
1448
+ if (tag !== 18) {
1449
+ break;
1450
+ }
1451
+ message.commit = Commit.decode(reader, reader.uint32());
1452
+ continue;
1453
+ }
1454
+ }
1455
+ if ((tag & 7) === 4 || tag === 0) {
1456
+ break;
1457
+ }
1458
+ reader.skip(tag & 7);
1459
+ }
1460
+ return message;
1461
+ },
1462
+ fromJSON(object) {
1463
+ return {
1464
+ header: isSet(object.header) ? Header.fromJSON(object.header) : undefined,
1465
+ commit: isSet(object.commit) ? Commit.fromJSON(object.commit) : undefined,
1466
+ };
1467
+ },
1468
+ toJSON(message) {
1469
+ const obj = {};
1470
+ if (message.header !== undefined) {
1471
+ obj.header = Header.toJSON(message.header);
1472
+ }
1473
+ if (message.commit !== undefined) {
1474
+ obj.commit = Commit.toJSON(message.commit);
1475
+ }
1476
+ return obj;
1477
+ },
1478
+ create(base) {
1479
+ return SignedHeader.fromPartial(base ?? {});
1480
+ },
1481
+ fromPartial(object) {
1482
+ const message = createBaseSignedHeader();
1483
+ message.header = (object.header !== undefined && object.header !== null)
1484
+ ? Header.fromPartial(object.header)
1485
+ : undefined;
1486
+ message.commit = (object.commit !== undefined && object.commit !== null)
1487
+ ? Commit.fromPartial(object.commit)
1488
+ : undefined;
1489
+ return message;
1490
+ },
1491
+ };
1492
+ function createBaseLightBlock() {
1493
+ return { signedHeader: undefined, validatorSet: undefined };
1494
+ }
1495
+ export const LightBlock = {
1496
+ encode(message, writer = new BinaryWriter()) {
1497
+ if (message.signedHeader !== undefined) {
1498
+ SignedHeader.encode(message.signedHeader, writer.uint32(10).fork()).join();
1499
+ }
1500
+ if (message.validatorSet !== undefined) {
1501
+ ValidatorSet.encode(message.validatorSet, writer.uint32(18).fork()).join();
1502
+ }
1503
+ return writer;
1504
+ },
1505
+ decode(input, length) {
1506
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1507
+ let end = length === undefined ? reader.len : reader.pos + length;
1508
+ const message = createBaseLightBlock();
1509
+ while (reader.pos < end) {
1510
+ const tag = reader.uint32();
1511
+ switch (tag >>> 3) {
1512
+ case 1: {
1513
+ if (tag !== 10) {
1514
+ break;
1515
+ }
1516
+ message.signedHeader = SignedHeader.decode(reader, reader.uint32());
1517
+ continue;
1518
+ }
1519
+ case 2: {
1520
+ if (tag !== 18) {
1521
+ break;
1522
+ }
1523
+ message.validatorSet = ValidatorSet.decode(reader, reader.uint32());
1524
+ continue;
1525
+ }
1526
+ }
1527
+ if ((tag & 7) === 4 || tag === 0) {
1528
+ break;
1529
+ }
1530
+ reader.skip(tag & 7);
1531
+ }
1532
+ return message;
1533
+ },
1534
+ fromJSON(object) {
1535
+ return {
1536
+ signedHeader: isSet(object.signedHeader) ? SignedHeader.fromJSON(object.signedHeader) : undefined,
1537
+ validatorSet: isSet(object.validatorSet) ? ValidatorSet.fromJSON(object.validatorSet) : undefined,
1538
+ };
1539
+ },
1540
+ toJSON(message) {
1541
+ const obj = {};
1542
+ if (message.signedHeader !== undefined) {
1543
+ obj.signedHeader = SignedHeader.toJSON(message.signedHeader);
1544
+ }
1545
+ if (message.validatorSet !== undefined) {
1546
+ obj.validatorSet = ValidatorSet.toJSON(message.validatorSet);
1547
+ }
1548
+ return obj;
1549
+ },
1550
+ create(base) {
1551
+ return LightBlock.fromPartial(base ?? {});
1552
+ },
1553
+ fromPartial(object) {
1554
+ const message = createBaseLightBlock();
1555
+ message.signedHeader = (object.signedHeader !== undefined && object.signedHeader !== null)
1556
+ ? SignedHeader.fromPartial(object.signedHeader)
1557
+ : undefined;
1558
+ message.validatorSet = (object.validatorSet !== undefined && object.validatorSet !== null)
1559
+ ? ValidatorSet.fromPartial(object.validatorSet)
1560
+ : undefined;
1561
+ return message;
1562
+ },
1563
+ };
1564
+ function createBaseBlockMeta() {
1565
+ return { blockId: undefined, blockSize: 0n, header: undefined, numTxs: 0n };
1566
+ }
1567
+ export const BlockMeta = {
1568
+ encode(message, writer = new BinaryWriter()) {
1569
+ if (message.blockId !== undefined) {
1570
+ BlockID.encode(message.blockId, writer.uint32(10).fork()).join();
1571
+ }
1572
+ if (message.blockSize !== 0n) {
1573
+ if (BigInt.asIntN(64, message.blockSize) !== message.blockSize) {
1574
+ throw new globalThis.Error("value provided for field message.blockSize of type int64 too large");
1575
+ }
1576
+ writer.uint32(16).int64(message.blockSize);
1577
+ }
1578
+ if (message.header !== undefined) {
1579
+ Header.encode(message.header, writer.uint32(26).fork()).join();
1580
+ }
1581
+ if (message.numTxs !== 0n) {
1582
+ if (BigInt.asIntN(64, message.numTxs) !== message.numTxs) {
1583
+ throw new globalThis.Error("value provided for field message.numTxs of type int64 too large");
1584
+ }
1585
+ writer.uint32(32).int64(message.numTxs);
1586
+ }
1587
+ return writer;
1588
+ },
1589
+ decode(input, length) {
1590
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1591
+ let end = length === undefined ? reader.len : reader.pos + length;
1592
+ const message = createBaseBlockMeta();
1593
+ while (reader.pos < end) {
1594
+ const tag = reader.uint32();
1595
+ switch (tag >>> 3) {
1596
+ case 1: {
1597
+ if (tag !== 10) {
1598
+ break;
1599
+ }
1600
+ message.blockId = BlockID.decode(reader, reader.uint32());
1601
+ continue;
1602
+ }
1603
+ case 2: {
1604
+ if (tag !== 16) {
1605
+ break;
1606
+ }
1607
+ message.blockSize = reader.int64();
1608
+ continue;
1609
+ }
1610
+ case 3: {
1611
+ if (tag !== 26) {
1612
+ break;
1613
+ }
1614
+ message.header = Header.decode(reader, reader.uint32());
1615
+ continue;
1616
+ }
1617
+ case 4: {
1618
+ if (tag !== 32) {
1619
+ break;
1620
+ }
1621
+ message.numTxs = reader.int64();
1622
+ continue;
1623
+ }
1624
+ }
1625
+ if ((tag & 7) === 4 || tag === 0) {
1626
+ break;
1627
+ }
1628
+ reader.skip(tag & 7);
1629
+ }
1630
+ return message;
1631
+ },
1632
+ fromJSON(object) {
1633
+ return {
1634
+ blockId: isSet(object.blockId) ? BlockID.fromJSON(object.blockId) : undefined,
1635
+ blockSize: isSet(object.blockSize) ? BigInt(object.blockSize) : 0n,
1636
+ header: isSet(object.header) ? Header.fromJSON(object.header) : undefined,
1637
+ numTxs: isSet(object.numTxs) ? BigInt(object.numTxs) : 0n,
1638
+ };
1639
+ },
1640
+ toJSON(message) {
1641
+ const obj = {};
1642
+ if (message.blockId !== undefined) {
1643
+ obj.blockId = BlockID.toJSON(message.blockId);
1644
+ }
1645
+ if (message.blockSize !== 0n) {
1646
+ obj.blockSize = message.blockSize.toString();
1647
+ }
1648
+ if (message.header !== undefined) {
1649
+ obj.header = Header.toJSON(message.header);
1650
+ }
1651
+ if (message.numTxs !== 0n) {
1652
+ obj.numTxs = message.numTxs.toString();
1653
+ }
1654
+ return obj;
1655
+ },
1656
+ create(base) {
1657
+ return BlockMeta.fromPartial(base ?? {});
1658
+ },
1659
+ fromPartial(object) {
1660
+ const message = createBaseBlockMeta();
1661
+ message.blockId = (object.blockId !== undefined && object.blockId !== null)
1662
+ ? BlockID.fromPartial(object.blockId)
1663
+ : undefined;
1664
+ message.blockSize = object.blockSize ?? 0n;
1665
+ message.header = (object.header !== undefined && object.header !== null)
1666
+ ? Header.fromPartial(object.header)
1667
+ : undefined;
1668
+ message.numTxs = object.numTxs ?? 0n;
1669
+ return message;
1670
+ },
1671
+ };
1672
+ function createBaseTxProof() {
1673
+ return { rootHash: new Uint8Array(0), data: new Uint8Array(0), proof: undefined };
1674
+ }
1675
+ export const TxProof = {
1676
+ encode(message, writer = new BinaryWriter()) {
1677
+ if (message.rootHash.length !== 0) {
1678
+ writer.uint32(10).bytes(message.rootHash);
1679
+ }
1680
+ if (message.data.length !== 0) {
1681
+ writer.uint32(18).bytes(message.data);
1682
+ }
1683
+ if (message.proof !== undefined) {
1684
+ Proof.encode(message.proof, writer.uint32(26).fork()).join();
1685
+ }
1686
+ return writer;
1687
+ },
1688
+ decode(input, length) {
1689
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1690
+ let end = length === undefined ? reader.len : reader.pos + length;
1691
+ const message = createBaseTxProof();
1692
+ while (reader.pos < end) {
1693
+ const tag = reader.uint32();
1694
+ switch (tag >>> 3) {
1695
+ case 1: {
1696
+ if (tag !== 10) {
1697
+ break;
1698
+ }
1699
+ message.rootHash = reader.bytes();
1700
+ continue;
1701
+ }
1702
+ case 2: {
1703
+ if (tag !== 18) {
1704
+ break;
1705
+ }
1706
+ message.data = reader.bytes();
1707
+ continue;
1708
+ }
1709
+ case 3: {
1710
+ if (tag !== 26) {
1711
+ break;
1712
+ }
1713
+ message.proof = Proof.decode(reader, reader.uint32());
1714
+ continue;
1715
+ }
1716
+ }
1717
+ if ((tag & 7) === 4 || tag === 0) {
1718
+ break;
1719
+ }
1720
+ reader.skip(tag & 7);
1721
+ }
1722
+ return message;
1723
+ },
1724
+ fromJSON(object) {
1725
+ return {
1726
+ rootHash: isSet(object.rootHash) ? bytesFromBase64(object.rootHash) : new Uint8Array(0),
1727
+ data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0),
1728
+ proof: isSet(object.proof) ? Proof.fromJSON(object.proof) : undefined,
1729
+ };
1730
+ },
1731
+ toJSON(message) {
1732
+ const obj = {};
1733
+ if (message.rootHash.length !== 0) {
1734
+ obj.rootHash = base64FromBytes(message.rootHash);
1735
+ }
1736
+ if (message.data.length !== 0) {
1737
+ obj.data = base64FromBytes(message.data);
1738
+ }
1739
+ if (message.proof !== undefined) {
1740
+ obj.proof = Proof.toJSON(message.proof);
1741
+ }
1742
+ return obj;
1743
+ },
1744
+ create(base) {
1745
+ return TxProof.fromPartial(base ?? {});
1746
+ },
1747
+ fromPartial(object) {
1748
+ const message = createBaseTxProof();
1749
+ message.rootHash = object.rootHash ?? new Uint8Array(0);
1750
+ message.data = object.data ?? new Uint8Array(0);
1751
+ message.proof = (object.proof !== undefined && object.proof !== null) ? Proof.fromPartial(object.proof) : undefined;
1752
+ return message;
1753
+ },
1754
+ };
1755
+ function bytesFromBase64(b64) {
1756
+ const bin = globalThis.atob(b64);
1757
+ const arr = new Uint8Array(bin.length);
1758
+ for (let i = 0; i < bin.length; ++i) {
1759
+ arr[i] = bin.charCodeAt(i);
1760
+ }
1761
+ return arr;
1762
+ }
1763
+ function base64FromBytes(arr) {
1764
+ const bin = [];
1765
+ arr.forEach((byte) => {
1766
+ bin.push(globalThis.String.fromCharCode(byte));
1767
+ });
1768
+ return globalThis.btoa(bin.join(""));
1769
+ }
1770
+ function toTimestamp(date) {
1771
+ const seconds = BigInt(Math.trunc(date.getTime() / 1_000));
1772
+ const nanos = (date.getTime() % 1_000) * 1_000_000;
1773
+ return { seconds, nanos };
1774
+ }
1775
+ function fromTimestamp(t) {
1776
+ let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;
1777
+ millis += (t.nanos || 0) / 1_000_000;
1778
+ return new globalThis.Date(millis);
1779
+ }
1780
+ function fromJsonTimestamp(o) {
1781
+ if (o instanceof globalThis.Date) {
1782
+ return toTimestamp(o);
1783
+ }
1784
+ else if (typeof o === "string") {
1785
+ return toTimestamp(new globalThis.Date(o));
1786
+ }
1787
+ else {
1788
+ return Timestamp.fromJSON(o);
1789
+ }
1790
+ }
1791
+ function isSet(value) {
1792
+ return value !== null && value !== undefined;
1793
+ }
1794
+ //# sourceMappingURL=types.js.map