Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MR414N-ID
GitHub Repository: MR414N-ID/botku2
Path: blob/master/node_modules/@adiwajshing/baileys/WASignalGroup/GroupProtocol.js
1126 views
1
/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
2
"use strict";
3
4
var $protobuf = require("protobufjs/minimal");
5
6
// Common aliases
7
var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
8
9
// Exported root namespace
10
var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {});
11
12
$root.groupproto = (function() {
13
14
/**
15
* Namespace groupproto.
16
* @exports groupproto
17
* @namespace
18
*/
19
var groupproto = {};
20
21
groupproto.SenderKeyMessage = (function() {
22
23
/**
24
* Properties of a SenderKeyMessage.
25
* @memberof groupproto
26
* @interface ISenderKeyMessage
27
* @property {number|null} [id] SenderKeyMessage id
28
* @property {number|null} [iteration] SenderKeyMessage iteration
29
* @property {Uint8Array|null} [ciphertext] SenderKeyMessage ciphertext
30
*/
31
32
/**
33
* Constructs a new SenderKeyMessage.
34
* @memberof groupproto
35
* @classdesc Represents a SenderKeyMessage.
36
* @implements ISenderKeyMessage
37
* @constructor
38
* @param {groupproto.ISenderKeyMessage=} [properties] Properties to set
39
*/
40
function SenderKeyMessage(properties) {
41
if (properties)
42
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
43
if (properties[keys[i]] != null)
44
this[keys[i]] = properties[keys[i]];
45
}
46
47
/**
48
* SenderKeyMessage id.
49
* @member {number} id
50
* @memberof groupproto.SenderKeyMessage
51
* @instance
52
*/
53
SenderKeyMessage.prototype.id = 0;
54
55
/**
56
* SenderKeyMessage iteration.
57
* @member {number} iteration
58
* @memberof groupproto.SenderKeyMessage
59
* @instance
60
*/
61
SenderKeyMessage.prototype.iteration = 0;
62
63
/**
64
* SenderKeyMessage ciphertext.
65
* @member {Uint8Array} ciphertext
66
* @memberof groupproto.SenderKeyMessage
67
* @instance
68
*/
69
SenderKeyMessage.prototype.ciphertext = $util.newBuffer([]);
70
71
/**
72
* Creates a new SenderKeyMessage instance using the specified properties.
73
* @function create
74
* @memberof groupproto.SenderKeyMessage
75
* @static
76
* @param {groupproto.ISenderKeyMessage=} [properties] Properties to set
77
* @returns {groupproto.SenderKeyMessage} SenderKeyMessage instance
78
*/
79
SenderKeyMessage.create = function create(properties) {
80
return new SenderKeyMessage(properties);
81
};
82
83
/**
84
* Encodes the specified SenderKeyMessage message. Does not implicitly {@link groupproto.SenderKeyMessage.verify|verify} messages.
85
* @function encode
86
* @memberof groupproto.SenderKeyMessage
87
* @static
88
* @param {groupproto.ISenderKeyMessage} message SenderKeyMessage message or plain object to encode
89
* @param {$protobuf.Writer} [writer] Writer to encode to
90
* @returns {$protobuf.Writer} Writer
91
*/
92
SenderKeyMessage.encode = function encode(message, writer) {
93
if (!writer)
94
writer = $Writer.create();
95
if (message.id != null && Object.hasOwnProperty.call(message, "id"))
96
writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.id);
97
if (message.iteration != null && Object.hasOwnProperty.call(message, "iteration"))
98
writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.iteration);
99
if (message.ciphertext != null && Object.hasOwnProperty.call(message, "ciphertext"))
100
writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.ciphertext);
101
return writer;
102
};
103
104
/**
105
* Encodes the specified SenderKeyMessage message, length delimited. Does not implicitly {@link groupproto.SenderKeyMessage.verify|verify} messages.
106
* @function encodeDelimited
107
* @memberof groupproto.SenderKeyMessage
108
* @static
109
* @param {groupproto.ISenderKeyMessage} message SenderKeyMessage message or plain object to encode
110
* @param {$protobuf.Writer} [writer] Writer to encode to
111
* @returns {$protobuf.Writer} Writer
112
*/
113
SenderKeyMessage.encodeDelimited = function encodeDelimited(message, writer) {
114
return this.encode(message, writer).ldelim();
115
};
116
117
/**
118
* Decodes a SenderKeyMessage message from the specified reader or buffer.
119
* @function decode
120
* @memberof groupproto.SenderKeyMessage
121
* @static
122
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
123
* @param {number} [length] Message length if known beforehand
124
* @returns {groupproto.SenderKeyMessage} SenderKeyMessage
125
* @throws {Error} If the payload is not a reader or valid buffer
126
* @throws {$protobuf.util.ProtocolError} If required fields are missing
127
*/
128
SenderKeyMessage.decode = function decode(reader, length) {
129
if (!(reader instanceof $Reader))
130
reader = $Reader.create(reader);
131
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.groupproto.SenderKeyMessage();
132
while (reader.pos < end) {
133
var tag = reader.uint32();
134
switch (tag >>> 3) {
135
case 1:
136
message.id = reader.uint32();
137
break;
138
case 2:
139
message.iteration = reader.uint32();
140
break;
141
case 3:
142
message.ciphertext = reader.bytes();
143
break;
144
default:
145
reader.skipType(tag & 7);
146
break;
147
}
148
}
149
return message;
150
};
151
152
/**
153
* Decodes a SenderKeyMessage message from the specified reader or buffer, length delimited.
154
* @function decodeDelimited
155
* @memberof groupproto.SenderKeyMessage
156
* @static
157
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
158
* @returns {groupproto.SenderKeyMessage} SenderKeyMessage
159
* @throws {Error} If the payload is not a reader or valid buffer
160
* @throws {$protobuf.util.ProtocolError} If required fields are missing
161
*/
162
SenderKeyMessage.decodeDelimited = function decodeDelimited(reader) {
163
if (!(reader instanceof $Reader))
164
reader = new $Reader(reader);
165
return this.decode(reader, reader.uint32());
166
};
167
168
/**
169
* Verifies a SenderKeyMessage message.
170
* @function verify
171
* @memberof groupproto.SenderKeyMessage
172
* @static
173
* @param {Object.<string,*>} message Plain object to verify
174
* @returns {string|null} `null` if valid, otherwise the reason why it is not
175
*/
176
SenderKeyMessage.verify = function verify(message) {
177
if (typeof message !== "object" || message === null)
178
return "object expected";
179
if (message.id != null && message.hasOwnProperty("id"))
180
if (!$util.isInteger(message.id))
181
return "id: integer expected";
182
if (message.iteration != null && message.hasOwnProperty("iteration"))
183
if (!$util.isInteger(message.iteration))
184
return "iteration: integer expected";
185
if (message.ciphertext != null && message.hasOwnProperty("ciphertext"))
186
if (!(message.ciphertext && typeof message.ciphertext.length === "number" || $util.isString(message.ciphertext)))
187
return "ciphertext: buffer expected";
188
return null;
189
};
190
191
/**
192
* Creates a SenderKeyMessage message from a plain object. Also converts values to their respective internal types.
193
* @function fromObject
194
* @memberof groupproto.SenderKeyMessage
195
* @static
196
* @param {Object.<string,*>} object Plain object
197
* @returns {groupproto.SenderKeyMessage} SenderKeyMessage
198
*/
199
SenderKeyMessage.fromObject = function fromObject(object) {
200
if (object instanceof $root.groupproto.SenderKeyMessage)
201
return object;
202
var message = new $root.groupproto.SenderKeyMessage();
203
if (object.id != null)
204
message.id = object.id >>> 0;
205
if (object.iteration != null)
206
message.iteration = object.iteration >>> 0;
207
if (object.ciphertext != null)
208
if (typeof object.ciphertext === "string")
209
$util.base64.decode(object.ciphertext, message.ciphertext = $util.newBuffer($util.base64.length(object.ciphertext)), 0);
210
else if (object.ciphertext.length)
211
message.ciphertext = object.ciphertext;
212
return message;
213
};
214
215
/**
216
* Creates a plain object from a SenderKeyMessage message. Also converts values to other types if specified.
217
* @function toObject
218
* @memberof groupproto.SenderKeyMessage
219
* @static
220
* @param {groupproto.SenderKeyMessage} message SenderKeyMessage
221
* @param {$protobuf.IConversionOptions} [options] Conversion options
222
* @returns {Object.<string,*>} Plain object
223
*/
224
SenderKeyMessage.toObject = function toObject(message, options) {
225
if (!options)
226
options = {};
227
var object = {};
228
if (options.defaults) {
229
object.id = 0;
230
object.iteration = 0;
231
if (options.bytes === String)
232
object.ciphertext = "";
233
else {
234
object.ciphertext = [];
235
if (options.bytes !== Array)
236
object.ciphertext = $util.newBuffer(object.ciphertext);
237
}
238
}
239
if (message.id != null && message.hasOwnProperty("id"))
240
object.id = message.id;
241
if (message.iteration != null && message.hasOwnProperty("iteration"))
242
object.iteration = message.iteration;
243
if (message.ciphertext != null && message.hasOwnProperty("ciphertext"))
244
object.ciphertext = options.bytes === String ? $util.base64.encode(message.ciphertext, 0, message.ciphertext.length) : options.bytes === Array ? Array.prototype.slice.call(message.ciphertext) : message.ciphertext;
245
return object;
246
};
247
248
/**
249
* Converts this SenderKeyMessage to JSON.
250
* @function toJSON
251
* @memberof groupproto.SenderKeyMessage
252
* @instance
253
* @returns {Object.<string,*>} JSON object
254
*/
255
SenderKeyMessage.prototype.toJSON = function toJSON() {
256
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
257
};
258
259
return SenderKeyMessage;
260
})();
261
262
groupproto.SenderKeyDistributionMessage = (function() {
263
264
/**
265
* Properties of a SenderKeyDistributionMessage.
266
* @memberof groupproto
267
* @interface ISenderKeyDistributionMessage
268
* @property {number|null} [id] SenderKeyDistributionMessage id
269
* @property {number|null} [iteration] SenderKeyDistributionMessage iteration
270
* @property {Uint8Array|null} [chainKey] SenderKeyDistributionMessage chainKey
271
* @property {Uint8Array|null} [signingKey] SenderKeyDistributionMessage signingKey
272
*/
273
274
/**
275
* Constructs a new SenderKeyDistributionMessage.
276
* @memberof groupproto
277
* @classdesc Represents a SenderKeyDistributionMessage.
278
* @implements ISenderKeyDistributionMessage
279
* @constructor
280
* @param {groupproto.ISenderKeyDistributionMessage=} [properties] Properties to set
281
*/
282
function SenderKeyDistributionMessage(properties) {
283
if (properties)
284
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
285
if (properties[keys[i]] != null)
286
this[keys[i]] = properties[keys[i]];
287
}
288
289
/**
290
* SenderKeyDistributionMessage id.
291
* @member {number} id
292
* @memberof groupproto.SenderKeyDistributionMessage
293
* @instance
294
*/
295
SenderKeyDistributionMessage.prototype.id = 0;
296
297
/**
298
* SenderKeyDistributionMessage iteration.
299
* @member {number} iteration
300
* @memberof groupproto.SenderKeyDistributionMessage
301
* @instance
302
*/
303
SenderKeyDistributionMessage.prototype.iteration = 0;
304
305
/**
306
* SenderKeyDistributionMessage chainKey.
307
* @member {Uint8Array} chainKey
308
* @memberof groupproto.SenderKeyDistributionMessage
309
* @instance
310
*/
311
SenderKeyDistributionMessage.prototype.chainKey = $util.newBuffer([]);
312
313
/**
314
* SenderKeyDistributionMessage signingKey.
315
* @member {Uint8Array} signingKey
316
* @memberof groupproto.SenderKeyDistributionMessage
317
* @instance
318
*/
319
SenderKeyDistributionMessage.prototype.signingKey = $util.newBuffer([]);
320
321
/**
322
* Creates a new SenderKeyDistributionMessage instance using the specified properties.
323
* @function create
324
* @memberof groupproto.SenderKeyDistributionMessage
325
* @static
326
* @param {groupproto.ISenderKeyDistributionMessage=} [properties] Properties to set
327
* @returns {groupproto.SenderKeyDistributionMessage} SenderKeyDistributionMessage instance
328
*/
329
SenderKeyDistributionMessage.create = function create(properties) {
330
return new SenderKeyDistributionMessage(properties);
331
};
332
333
/**
334
* Encodes the specified SenderKeyDistributionMessage message. Does not implicitly {@link groupproto.SenderKeyDistributionMessage.verify|verify} messages.
335
* @function encode
336
* @memberof groupproto.SenderKeyDistributionMessage
337
* @static
338
* @param {groupproto.ISenderKeyDistributionMessage} message SenderKeyDistributionMessage message or plain object to encode
339
* @param {$protobuf.Writer} [writer] Writer to encode to
340
* @returns {$protobuf.Writer} Writer
341
*/
342
SenderKeyDistributionMessage.encode = function encode(message, writer) {
343
if (!writer)
344
writer = $Writer.create();
345
if (message.id != null && Object.hasOwnProperty.call(message, "id"))
346
writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.id);
347
if (message.iteration != null && Object.hasOwnProperty.call(message, "iteration"))
348
writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.iteration);
349
if (message.chainKey != null && Object.hasOwnProperty.call(message, "chainKey"))
350
writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.chainKey);
351
if (message.signingKey != null && Object.hasOwnProperty.call(message, "signingKey"))
352
writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.signingKey);
353
return writer;
354
};
355
356
/**
357
* Encodes the specified SenderKeyDistributionMessage message, length delimited. Does not implicitly {@link groupproto.SenderKeyDistributionMessage.verify|verify} messages.
358
* @function encodeDelimited
359
* @memberof groupproto.SenderKeyDistributionMessage
360
* @static
361
* @param {groupproto.ISenderKeyDistributionMessage} message SenderKeyDistributionMessage message or plain object to encode
362
* @param {$protobuf.Writer} [writer] Writer to encode to
363
* @returns {$protobuf.Writer} Writer
364
*/
365
SenderKeyDistributionMessage.encodeDelimited = function encodeDelimited(message, writer) {
366
return this.encode(message, writer).ldelim();
367
};
368
369
/**
370
* Decodes a SenderKeyDistributionMessage message from the specified reader or buffer.
371
* @function decode
372
* @memberof groupproto.SenderKeyDistributionMessage
373
* @static
374
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
375
* @param {number} [length] Message length if known beforehand
376
* @returns {groupproto.SenderKeyDistributionMessage} SenderKeyDistributionMessage
377
* @throws {Error} If the payload is not a reader or valid buffer
378
* @throws {$protobuf.util.ProtocolError} If required fields are missing
379
*/
380
SenderKeyDistributionMessage.decode = function decode(reader, length) {
381
if (!(reader instanceof $Reader))
382
reader = $Reader.create(reader);
383
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.groupproto.SenderKeyDistributionMessage();
384
while (reader.pos < end) {
385
var tag = reader.uint32();
386
switch (tag >>> 3) {
387
case 1:
388
message.id = reader.uint32();
389
break;
390
case 2:
391
message.iteration = reader.uint32();
392
break;
393
case 3:
394
message.chainKey = reader.bytes();
395
break;
396
case 4:
397
message.signingKey = reader.bytes();
398
break;
399
default:
400
reader.skipType(tag & 7);
401
break;
402
}
403
}
404
return message;
405
};
406
407
/**
408
* Decodes a SenderKeyDistributionMessage message from the specified reader or buffer, length delimited.
409
* @function decodeDelimited
410
* @memberof groupproto.SenderKeyDistributionMessage
411
* @static
412
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
413
* @returns {groupproto.SenderKeyDistributionMessage} SenderKeyDistributionMessage
414
* @throws {Error} If the payload is not a reader or valid buffer
415
* @throws {$protobuf.util.ProtocolError} If required fields are missing
416
*/
417
SenderKeyDistributionMessage.decodeDelimited = function decodeDelimited(reader) {
418
if (!(reader instanceof $Reader))
419
reader = new $Reader(reader);
420
return this.decode(reader, reader.uint32());
421
};
422
423
/**
424
* Verifies a SenderKeyDistributionMessage message.
425
* @function verify
426
* @memberof groupproto.SenderKeyDistributionMessage
427
* @static
428
* @param {Object.<string,*>} message Plain object to verify
429
* @returns {string|null} `null` if valid, otherwise the reason why it is not
430
*/
431
SenderKeyDistributionMessage.verify = function verify(message) {
432
if (typeof message !== "object" || message === null)
433
return "object expected";
434
if (message.id != null && message.hasOwnProperty("id"))
435
if (!$util.isInteger(message.id))
436
return "id: integer expected";
437
if (message.iteration != null && message.hasOwnProperty("iteration"))
438
if (!$util.isInteger(message.iteration))
439
return "iteration: integer expected";
440
if (message.chainKey != null && message.hasOwnProperty("chainKey"))
441
if (!(message.chainKey && typeof message.chainKey.length === "number" || $util.isString(message.chainKey)))
442
return "chainKey: buffer expected";
443
if (message.signingKey != null && message.hasOwnProperty("signingKey"))
444
if (!(message.signingKey && typeof message.signingKey.length === "number" || $util.isString(message.signingKey)))
445
return "signingKey: buffer expected";
446
return null;
447
};
448
449
/**
450
* Creates a SenderKeyDistributionMessage message from a plain object. Also converts values to their respective internal types.
451
* @function fromObject
452
* @memberof groupproto.SenderKeyDistributionMessage
453
* @static
454
* @param {Object.<string,*>} object Plain object
455
* @returns {groupproto.SenderKeyDistributionMessage} SenderKeyDistributionMessage
456
*/
457
SenderKeyDistributionMessage.fromObject = function fromObject(object) {
458
if (object instanceof $root.groupproto.SenderKeyDistributionMessage)
459
return object;
460
var message = new $root.groupproto.SenderKeyDistributionMessage();
461
if (object.id != null)
462
message.id = object.id >>> 0;
463
if (object.iteration != null)
464
message.iteration = object.iteration >>> 0;
465
if (object.chainKey != null)
466
if (typeof object.chainKey === "string")
467
$util.base64.decode(object.chainKey, message.chainKey = $util.newBuffer($util.base64.length(object.chainKey)), 0);
468
else if (object.chainKey.length)
469
message.chainKey = object.chainKey;
470
if (object.signingKey != null)
471
if (typeof object.signingKey === "string")
472
$util.base64.decode(object.signingKey, message.signingKey = $util.newBuffer($util.base64.length(object.signingKey)), 0);
473
else if (object.signingKey.length)
474
message.signingKey = object.signingKey;
475
return message;
476
};
477
478
/**
479
* Creates a plain object from a SenderKeyDistributionMessage message. Also converts values to other types if specified.
480
* @function toObject
481
* @memberof groupproto.SenderKeyDistributionMessage
482
* @static
483
* @param {groupproto.SenderKeyDistributionMessage} message SenderKeyDistributionMessage
484
* @param {$protobuf.IConversionOptions} [options] Conversion options
485
* @returns {Object.<string,*>} Plain object
486
*/
487
SenderKeyDistributionMessage.toObject = function toObject(message, options) {
488
if (!options)
489
options = {};
490
var object = {};
491
if (options.defaults) {
492
object.id = 0;
493
object.iteration = 0;
494
if (options.bytes === String)
495
object.chainKey = "";
496
else {
497
object.chainKey = [];
498
if (options.bytes !== Array)
499
object.chainKey = $util.newBuffer(object.chainKey);
500
}
501
if (options.bytes === String)
502
object.signingKey = "";
503
else {
504
object.signingKey = [];
505
if (options.bytes !== Array)
506
object.signingKey = $util.newBuffer(object.signingKey);
507
}
508
}
509
if (message.id != null && message.hasOwnProperty("id"))
510
object.id = message.id;
511
if (message.iteration != null && message.hasOwnProperty("iteration"))
512
object.iteration = message.iteration;
513
if (message.chainKey != null && message.hasOwnProperty("chainKey"))
514
object.chainKey = options.bytes === String ? $util.base64.encode(message.chainKey, 0, message.chainKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.chainKey) : message.chainKey;
515
if (message.signingKey != null && message.hasOwnProperty("signingKey"))
516
object.signingKey = options.bytes === String ? $util.base64.encode(message.signingKey, 0, message.signingKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.signingKey) : message.signingKey;
517
return object;
518
};
519
520
/**
521
* Converts this SenderKeyDistributionMessage to JSON.
522
* @function toJSON
523
* @memberof groupproto.SenderKeyDistributionMessage
524
* @instance
525
* @returns {Object.<string,*>} JSON object
526
*/
527
SenderKeyDistributionMessage.prototype.toJSON = function toJSON() {
528
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
529
};
530
531
return SenderKeyDistributionMessage;
532
})();
533
534
groupproto.SenderChainKey = (function() {
535
536
/**
537
* Properties of a SenderChainKey.
538
* @memberof groupproto
539
* @interface ISenderChainKey
540
* @property {number|null} [iteration] SenderChainKey iteration
541
* @property {Uint8Array|null} [seed] SenderChainKey seed
542
*/
543
544
/**
545
* Constructs a new SenderChainKey.
546
* @memberof groupproto
547
* @classdesc Represents a SenderChainKey.
548
* @implements ISenderChainKey
549
* @constructor
550
* @param {groupproto.ISenderChainKey=} [properties] Properties to set
551
*/
552
function SenderChainKey(properties) {
553
if (properties)
554
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
555
if (properties[keys[i]] != null)
556
this[keys[i]] = properties[keys[i]];
557
}
558
559
/**
560
* SenderChainKey iteration.
561
* @member {number} iteration
562
* @memberof groupproto.SenderChainKey
563
* @instance
564
*/
565
SenderChainKey.prototype.iteration = 0;
566
567
/**
568
* SenderChainKey seed.
569
* @member {Uint8Array} seed
570
* @memberof groupproto.SenderChainKey
571
* @instance
572
*/
573
SenderChainKey.prototype.seed = $util.newBuffer([]);
574
575
/**
576
* Creates a new SenderChainKey instance using the specified properties.
577
* @function create
578
* @memberof groupproto.SenderChainKey
579
* @static
580
* @param {groupproto.ISenderChainKey=} [properties] Properties to set
581
* @returns {groupproto.SenderChainKey} SenderChainKey instance
582
*/
583
SenderChainKey.create = function create(properties) {
584
return new SenderChainKey(properties);
585
};
586
587
/**
588
* Encodes the specified SenderChainKey message. Does not implicitly {@link groupproto.SenderChainKey.verify|verify} messages.
589
* @function encode
590
* @memberof groupproto.SenderChainKey
591
* @static
592
* @param {groupproto.ISenderChainKey} message SenderChainKey message or plain object to encode
593
* @param {$protobuf.Writer} [writer] Writer to encode to
594
* @returns {$protobuf.Writer} Writer
595
*/
596
SenderChainKey.encode = function encode(message, writer) {
597
if (!writer)
598
writer = $Writer.create();
599
if (message.iteration != null && Object.hasOwnProperty.call(message, "iteration"))
600
writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.iteration);
601
if (message.seed != null && Object.hasOwnProperty.call(message, "seed"))
602
writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.seed);
603
return writer;
604
};
605
606
/**
607
* Encodes the specified SenderChainKey message, length delimited. Does not implicitly {@link groupproto.SenderChainKey.verify|verify} messages.
608
* @function encodeDelimited
609
* @memberof groupproto.SenderChainKey
610
* @static
611
* @param {groupproto.ISenderChainKey} message SenderChainKey message or plain object to encode
612
* @param {$protobuf.Writer} [writer] Writer to encode to
613
* @returns {$protobuf.Writer} Writer
614
*/
615
SenderChainKey.encodeDelimited = function encodeDelimited(message, writer) {
616
return this.encode(message, writer).ldelim();
617
};
618
619
/**
620
* Decodes a SenderChainKey message from the specified reader or buffer.
621
* @function decode
622
* @memberof groupproto.SenderChainKey
623
* @static
624
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
625
* @param {number} [length] Message length if known beforehand
626
* @returns {groupproto.SenderChainKey} SenderChainKey
627
* @throws {Error} If the payload is not a reader or valid buffer
628
* @throws {$protobuf.util.ProtocolError} If required fields are missing
629
*/
630
SenderChainKey.decode = function decode(reader, length) {
631
if (!(reader instanceof $Reader))
632
reader = $Reader.create(reader);
633
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.groupproto.SenderChainKey();
634
while (reader.pos < end) {
635
var tag = reader.uint32();
636
switch (tag >>> 3) {
637
case 1:
638
message.iteration = reader.uint32();
639
break;
640
case 2:
641
message.seed = reader.bytes();
642
break;
643
default:
644
reader.skipType(tag & 7);
645
break;
646
}
647
}
648
return message;
649
};
650
651
/**
652
* Decodes a SenderChainKey message from the specified reader or buffer, length delimited.
653
* @function decodeDelimited
654
* @memberof groupproto.SenderChainKey
655
* @static
656
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
657
* @returns {groupproto.SenderChainKey} SenderChainKey
658
* @throws {Error} If the payload is not a reader or valid buffer
659
* @throws {$protobuf.util.ProtocolError} If required fields are missing
660
*/
661
SenderChainKey.decodeDelimited = function decodeDelimited(reader) {
662
if (!(reader instanceof $Reader))
663
reader = new $Reader(reader);
664
return this.decode(reader, reader.uint32());
665
};
666
667
/**
668
* Verifies a SenderChainKey message.
669
* @function verify
670
* @memberof groupproto.SenderChainKey
671
* @static
672
* @param {Object.<string,*>} message Plain object to verify
673
* @returns {string|null} `null` if valid, otherwise the reason why it is not
674
*/
675
SenderChainKey.verify = function verify(message) {
676
if (typeof message !== "object" || message === null)
677
return "object expected";
678
if (message.iteration != null && message.hasOwnProperty("iteration"))
679
if (!$util.isInteger(message.iteration))
680
return "iteration: integer expected";
681
if (message.seed != null && message.hasOwnProperty("seed"))
682
if (!(message.seed && typeof message.seed.length === "number" || $util.isString(message.seed)))
683
return "seed: buffer expected";
684
return null;
685
};
686
687
/**
688
* Creates a SenderChainKey message from a plain object. Also converts values to their respective internal types.
689
* @function fromObject
690
* @memberof groupproto.SenderChainKey
691
* @static
692
* @param {Object.<string,*>} object Plain object
693
* @returns {groupproto.SenderChainKey} SenderChainKey
694
*/
695
SenderChainKey.fromObject = function fromObject(object) {
696
if (object instanceof $root.groupproto.SenderChainKey)
697
return object;
698
var message = new $root.groupproto.SenderChainKey();
699
if (object.iteration != null)
700
message.iteration = object.iteration >>> 0;
701
if (object.seed != null)
702
if (typeof object.seed === "string")
703
$util.base64.decode(object.seed, message.seed = $util.newBuffer($util.base64.length(object.seed)), 0);
704
else if (object.seed.length)
705
message.seed = object.seed;
706
return message;
707
};
708
709
/**
710
* Creates a plain object from a SenderChainKey message. Also converts values to other types if specified.
711
* @function toObject
712
* @memberof groupproto.SenderChainKey
713
* @static
714
* @param {groupproto.SenderChainKey} message SenderChainKey
715
* @param {$protobuf.IConversionOptions} [options] Conversion options
716
* @returns {Object.<string,*>} Plain object
717
*/
718
SenderChainKey.toObject = function toObject(message, options) {
719
if (!options)
720
options = {};
721
var object = {};
722
if (options.defaults) {
723
object.iteration = 0;
724
if (options.bytes === String)
725
object.seed = "";
726
else {
727
object.seed = [];
728
if (options.bytes !== Array)
729
object.seed = $util.newBuffer(object.seed);
730
}
731
}
732
if (message.iteration != null && message.hasOwnProperty("iteration"))
733
object.iteration = message.iteration;
734
if (message.seed != null && message.hasOwnProperty("seed"))
735
object.seed = options.bytes === String ? $util.base64.encode(message.seed, 0, message.seed.length) : options.bytes === Array ? Array.prototype.slice.call(message.seed) : message.seed;
736
return object;
737
};
738
739
/**
740
* Converts this SenderChainKey to JSON.
741
* @function toJSON
742
* @memberof groupproto.SenderChainKey
743
* @instance
744
* @returns {Object.<string,*>} JSON object
745
*/
746
SenderChainKey.prototype.toJSON = function toJSON() {
747
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
748
};
749
750
return SenderChainKey;
751
})();
752
753
groupproto.SenderMessageKey = (function() {
754
755
/**
756
* Properties of a SenderMessageKey.
757
* @memberof groupproto
758
* @interface ISenderMessageKey
759
* @property {number|null} [iteration] SenderMessageKey iteration
760
* @property {Uint8Array|null} [seed] SenderMessageKey seed
761
*/
762
763
/**
764
* Constructs a new SenderMessageKey.
765
* @memberof groupproto
766
* @classdesc Represents a SenderMessageKey.
767
* @implements ISenderMessageKey
768
* @constructor
769
* @param {groupproto.ISenderMessageKey=} [properties] Properties to set
770
*/
771
function SenderMessageKey(properties) {
772
if (properties)
773
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
774
if (properties[keys[i]] != null)
775
this[keys[i]] = properties[keys[i]];
776
}
777
778
/**
779
* SenderMessageKey iteration.
780
* @member {number} iteration
781
* @memberof groupproto.SenderMessageKey
782
* @instance
783
*/
784
SenderMessageKey.prototype.iteration = 0;
785
786
/**
787
* SenderMessageKey seed.
788
* @member {Uint8Array} seed
789
* @memberof groupproto.SenderMessageKey
790
* @instance
791
*/
792
SenderMessageKey.prototype.seed = $util.newBuffer([]);
793
794
/**
795
* Creates a new SenderMessageKey instance using the specified properties.
796
* @function create
797
* @memberof groupproto.SenderMessageKey
798
* @static
799
* @param {groupproto.ISenderMessageKey=} [properties] Properties to set
800
* @returns {groupproto.SenderMessageKey} SenderMessageKey instance
801
*/
802
SenderMessageKey.create = function create(properties) {
803
return new SenderMessageKey(properties);
804
};
805
806
/**
807
* Encodes the specified SenderMessageKey message. Does not implicitly {@link groupproto.SenderMessageKey.verify|verify} messages.
808
* @function encode
809
* @memberof groupproto.SenderMessageKey
810
* @static
811
* @param {groupproto.ISenderMessageKey} message SenderMessageKey message or plain object to encode
812
* @param {$protobuf.Writer} [writer] Writer to encode to
813
* @returns {$protobuf.Writer} Writer
814
*/
815
SenderMessageKey.encode = function encode(message, writer) {
816
if (!writer)
817
writer = $Writer.create();
818
if (message.iteration != null && Object.hasOwnProperty.call(message, "iteration"))
819
writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.iteration);
820
if (message.seed != null && Object.hasOwnProperty.call(message, "seed"))
821
writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.seed);
822
return writer;
823
};
824
825
/**
826
* Encodes the specified SenderMessageKey message, length delimited. Does not implicitly {@link groupproto.SenderMessageKey.verify|verify} messages.
827
* @function encodeDelimited
828
* @memberof groupproto.SenderMessageKey
829
* @static
830
* @param {groupproto.ISenderMessageKey} message SenderMessageKey message or plain object to encode
831
* @param {$protobuf.Writer} [writer] Writer to encode to
832
* @returns {$protobuf.Writer} Writer
833
*/
834
SenderMessageKey.encodeDelimited = function encodeDelimited(message, writer) {
835
return this.encode(message, writer).ldelim();
836
};
837
838
/**
839
* Decodes a SenderMessageKey message from the specified reader or buffer.
840
* @function decode
841
* @memberof groupproto.SenderMessageKey
842
* @static
843
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
844
* @param {number} [length] Message length if known beforehand
845
* @returns {groupproto.SenderMessageKey} SenderMessageKey
846
* @throws {Error} If the payload is not a reader or valid buffer
847
* @throws {$protobuf.util.ProtocolError} If required fields are missing
848
*/
849
SenderMessageKey.decode = function decode(reader, length) {
850
if (!(reader instanceof $Reader))
851
reader = $Reader.create(reader);
852
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.groupproto.SenderMessageKey();
853
while (reader.pos < end) {
854
var tag = reader.uint32();
855
switch (tag >>> 3) {
856
case 1:
857
message.iteration = reader.uint32();
858
break;
859
case 2:
860
message.seed = reader.bytes();
861
break;
862
default:
863
reader.skipType(tag & 7);
864
break;
865
}
866
}
867
return message;
868
};
869
870
/**
871
* Decodes a SenderMessageKey message from the specified reader or buffer, length delimited.
872
* @function decodeDelimited
873
* @memberof groupproto.SenderMessageKey
874
* @static
875
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
876
* @returns {groupproto.SenderMessageKey} SenderMessageKey
877
* @throws {Error} If the payload is not a reader or valid buffer
878
* @throws {$protobuf.util.ProtocolError} If required fields are missing
879
*/
880
SenderMessageKey.decodeDelimited = function decodeDelimited(reader) {
881
if (!(reader instanceof $Reader))
882
reader = new $Reader(reader);
883
return this.decode(reader, reader.uint32());
884
};
885
886
/**
887
* Verifies a SenderMessageKey message.
888
* @function verify
889
* @memberof groupproto.SenderMessageKey
890
* @static
891
* @param {Object.<string,*>} message Plain object to verify
892
* @returns {string|null} `null` if valid, otherwise the reason why it is not
893
*/
894
SenderMessageKey.verify = function verify(message) {
895
if (typeof message !== "object" || message === null)
896
return "object expected";
897
if (message.iteration != null && message.hasOwnProperty("iteration"))
898
if (!$util.isInteger(message.iteration))
899
return "iteration: integer expected";
900
if (message.seed != null && message.hasOwnProperty("seed"))
901
if (!(message.seed && typeof message.seed.length === "number" || $util.isString(message.seed)))
902
return "seed: buffer expected";
903
return null;
904
};
905
906
/**
907
* Creates a SenderMessageKey message from a plain object. Also converts values to their respective internal types.
908
* @function fromObject
909
* @memberof groupproto.SenderMessageKey
910
* @static
911
* @param {Object.<string,*>} object Plain object
912
* @returns {groupproto.SenderMessageKey} SenderMessageKey
913
*/
914
SenderMessageKey.fromObject = function fromObject(object) {
915
if (object instanceof $root.groupproto.SenderMessageKey)
916
return object;
917
var message = new $root.groupproto.SenderMessageKey();
918
if (object.iteration != null)
919
message.iteration = object.iteration >>> 0;
920
if (object.seed != null)
921
if (typeof object.seed === "string")
922
$util.base64.decode(object.seed, message.seed = $util.newBuffer($util.base64.length(object.seed)), 0);
923
else if (object.seed.length)
924
message.seed = object.seed;
925
return message;
926
};
927
928
/**
929
* Creates a plain object from a SenderMessageKey message. Also converts values to other types if specified.
930
* @function toObject
931
* @memberof groupproto.SenderMessageKey
932
* @static
933
* @param {groupproto.SenderMessageKey} message SenderMessageKey
934
* @param {$protobuf.IConversionOptions} [options] Conversion options
935
* @returns {Object.<string,*>} Plain object
936
*/
937
SenderMessageKey.toObject = function toObject(message, options) {
938
if (!options)
939
options = {};
940
var object = {};
941
if (options.defaults) {
942
object.iteration = 0;
943
if (options.bytes === String)
944
object.seed = "";
945
else {
946
object.seed = [];
947
if (options.bytes !== Array)
948
object.seed = $util.newBuffer(object.seed);
949
}
950
}
951
if (message.iteration != null && message.hasOwnProperty("iteration"))
952
object.iteration = message.iteration;
953
if (message.seed != null && message.hasOwnProperty("seed"))
954
object.seed = options.bytes === String ? $util.base64.encode(message.seed, 0, message.seed.length) : options.bytes === Array ? Array.prototype.slice.call(message.seed) : message.seed;
955
return object;
956
};
957
958
/**
959
* Converts this SenderMessageKey to JSON.
960
* @function toJSON
961
* @memberof groupproto.SenderMessageKey
962
* @instance
963
* @returns {Object.<string,*>} JSON object
964
*/
965
SenderMessageKey.prototype.toJSON = function toJSON() {
966
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
967
};
968
969
return SenderMessageKey;
970
})();
971
972
groupproto.SenderSigningKey = (function() {
973
974
/**
975
* Properties of a SenderSigningKey.
976
* @memberof groupproto
977
* @interface ISenderSigningKey
978
* @property {Uint8Array|null} ["public"] SenderSigningKey public
979
* @property {Uint8Array|null} ["private"] SenderSigningKey private
980
*/
981
982
/**
983
* Constructs a new SenderSigningKey.
984
* @memberof groupproto
985
* @classdesc Represents a SenderSigningKey.
986
* @implements ISenderSigningKey
987
* @constructor
988
* @param {groupproto.ISenderSigningKey=} [properties] Properties to set
989
*/
990
function SenderSigningKey(properties) {
991
if (properties)
992
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
993
if (properties[keys[i]] != null)
994
this[keys[i]] = properties[keys[i]];
995
}
996
997
/**
998
* SenderSigningKey public.
999
* @member {Uint8Array} public
1000
* @memberof groupproto.SenderSigningKey
1001
* @instance
1002
*/
1003
SenderSigningKey.prototype["public"] = $util.newBuffer([]);
1004
1005
/**
1006
* SenderSigningKey private.
1007
* @member {Uint8Array} private
1008
* @memberof groupproto.SenderSigningKey
1009
* @instance
1010
*/
1011
SenderSigningKey.prototype["private"] = $util.newBuffer([]);
1012
1013
/**
1014
* Creates a new SenderSigningKey instance using the specified properties.
1015
* @function create
1016
* @memberof groupproto.SenderSigningKey
1017
* @static
1018
* @param {groupproto.ISenderSigningKey=} [properties] Properties to set
1019
* @returns {groupproto.SenderSigningKey} SenderSigningKey instance
1020
*/
1021
SenderSigningKey.create = function create(properties) {
1022
return new SenderSigningKey(properties);
1023
};
1024
1025
/**
1026
* Encodes the specified SenderSigningKey message. Does not implicitly {@link groupproto.SenderSigningKey.verify|verify} messages.
1027
* @function encode
1028
* @memberof groupproto.SenderSigningKey
1029
* @static
1030
* @param {groupproto.ISenderSigningKey} message SenderSigningKey message or plain object to encode
1031
* @param {$protobuf.Writer} [writer] Writer to encode to
1032
* @returns {$protobuf.Writer} Writer
1033
*/
1034
SenderSigningKey.encode = function encode(message, writer) {
1035
if (!writer)
1036
writer = $Writer.create();
1037
if (message["public"] != null && Object.hasOwnProperty.call(message, "public"))
1038
writer.uint32(/* id 1, wireType 2 =*/10).bytes(message["public"]);
1039
if (message["private"] != null && Object.hasOwnProperty.call(message, "private"))
1040
writer.uint32(/* id 2, wireType 2 =*/18).bytes(message["private"]);
1041
return writer;
1042
};
1043
1044
/**
1045
* Encodes the specified SenderSigningKey message, length delimited. Does not implicitly {@link groupproto.SenderSigningKey.verify|verify} messages.
1046
* @function encodeDelimited
1047
* @memberof groupproto.SenderSigningKey
1048
* @static
1049
* @param {groupproto.ISenderSigningKey} message SenderSigningKey message or plain object to encode
1050
* @param {$protobuf.Writer} [writer] Writer to encode to
1051
* @returns {$protobuf.Writer} Writer
1052
*/
1053
SenderSigningKey.encodeDelimited = function encodeDelimited(message, writer) {
1054
return this.encode(message, writer).ldelim();
1055
};
1056
1057
/**
1058
* Decodes a SenderSigningKey message from the specified reader or buffer.
1059
* @function decode
1060
* @memberof groupproto.SenderSigningKey
1061
* @static
1062
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
1063
* @param {number} [length] Message length if known beforehand
1064
* @returns {groupproto.SenderSigningKey} SenderSigningKey
1065
* @throws {Error} If the payload is not a reader or valid buffer
1066
* @throws {$protobuf.util.ProtocolError} If required fields are missing
1067
*/
1068
SenderSigningKey.decode = function decode(reader, length) {
1069
if (!(reader instanceof $Reader))
1070
reader = $Reader.create(reader);
1071
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.groupproto.SenderSigningKey();
1072
while (reader.pos < end) {
1073
var tag = reader.uint32();
1074
switch (tag >>> 3) {
1075
case 1:
1076
message["public"] = reader.bytes();
1077
break;
1078
case 2:
1079
message["private"] = reader.bytes();
1080
break;
1081
default:
1082
reader.skipType(tag & 7);
1083
break;
1084
}
1085
}
1086
return message;
1087
};
1088
1089
/**
1090
* Decodes a SenderSigningKey message from the specified reader or buffer, length delimited.
1091
* @function decodeDelimited
1092
* @memberof groupproto.SenderSigningKey
1093
* @static
1094
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
1095
* @returns {groupproto.SenderSigningKey} SenderSigningKey
1096
* @throws {Error} If the payload is not a reader or valid buffer
1097
* @throws {$protobuf.util.ProtocolError} If required fields are missing
1098
*/
1099
SenderSigningKey.decodeDelimited = function decodeDelimited(reader) {
1100
if (!(reader instanceof $Reader))
1101
reader = new $Reader(reader);
1102
return this.decode(reader, reader.uint32());
1103
};
1104
1105
/**
1106
* Verifies a SenderSigningKey message.
1107
* @function verify
1108
* @memberof groupproto.SenderSigningKey
1109
* @static
1110
* @param {Object.<string,*>} message Plain object to verify
1111
* @returns {string|null} `null` if valid, otherwise the reason why it is not
1112
*/
1113
SenderSigningKey.verify = function verify(message) {
1114
if (typeof message !== "object" || message === null)
1115
return "object expected";
1116
if (message["public"] != null && message.hasOwnProperty("public"))
1117
if (!(message["public"] && typeof message["public"].length === "number" || $util.isString(message["public"])))
1118
return "public: buffer expected";
1119
if (message["private"] != null && message.hasOwnProperty("private"))
1120
if (!(message["private"] && typeof message["private"].length === "number" || $util.isString(message["private"])))
1121
return "private: buffer expected";
1122
return null;
1123
};
1124
1125
/**
1126
* Creates a SenderSigningKey message from a plain object. Also converts values to their respective internal types.
1127
* @function fromObject
1128
* @memberof groupproto.SenderSigningKey
1129
* @static
1130
* @param {Object.<string,*>} object Plain object
1131
* @returns {groupproto.SenderSigningKey} SenderSigningKey
1132
*/
1133
SenderSigningKey.fromObject = function fromObject(object) {
1134
if (object instanceof $root.groupproto.SenderSigningKey)
1135
return object;
1136
var message = new $root.groupproto.SenderSigningKey();
1137
if (object["public"] != null)
1138
if (typeof object["public"] === "string")
1139
$util.base64.decode(object["public"], message["public"] = $util.newBuffer($util.base64.length(object["public"])), 0);
1140
else if (object["public"].length)
1141
message["public"] = object["public"];
1142
if (object["private"] != null)
1143
if (typeof object["private"] === "string")
1144
$util.base64.decode(object["private"], message["private"] = $util.newBuffer($util.base64.length(object["private"])), 0);
1145
else if (object["private"].length)
1146
message["private"] = object["private"];
1147
return message;
1148
};
1149
1150
/**
1151
* Creates a plain object from a SenderSigningKey message. Also converts values to other types if specified.
1152
* @function toObject
1153
* @memberof groupproto.SenderSigningKey
1154
* @static
1155
* @param {groupproto.SenderSigningKey} message SenderSigningKey
1156
* @param {$protobuf.IConversionOptions} [options] Conversion options
1157
* @returns {Object.<string,*>} Plain object
1158
*/
1159
SenderSigningKey.toObject = function toObject(message, options) {
1160
if (!options)
1161
options = {};
1162
var object = {};
1163
if (options.defaults) {
1164
if (options.bytes === String)
1165
object["public"] = "";
1166
else {
1167
object["public"] = [];
1168
if (options.bytes !== Array)
1169
object["public"] = $util.newBuffer(object["public"]);
1170
}
1171
if (options.bytes === String)
1172
object["private"] = "";
1173
else {
1174
object["private"] = [];
1175
if (options.bytes !== Array)
1176
object["private"] = $util.newBuffer(object["private"]);
1177
}
1178
}
1179
if (message["public"] != null && message.hasOwnProperty("public"))
1180
object["public"] = options.bytes === String ? $util.base64.encode(message["public"], 0, message["public"].length) : options.bytes === Array ? Array.prototype.slice.call(message["public"]) : message["public"];
1181
if (message["private"] != null && message.hasOwnProperty("private"))
1182
object["private"] = options.bytes === String ? $util.base64.encode(message["private"], 0, message["private"].length) : options.bytes === Array ? Array.prototype.slice.call(message["private"]) : message["private"];
1183
return object;
1184
};
1185
1186
/**
1187
* Converts this SenderSigningKey to JSON.
1188
* @function toJSON
1189
* @memberof groupproto.SenderSigningKey
1190
* @instance
1191
* @returns {Object.<string,*>} JSON object
1192
*/
1193
SenderSigningKey.prototype.toJSON = function toJSON() {
1194
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
1195
};
1196
1197
return SenderSigningKey;
1198
})();
1199
1200
groupproto.SenderKeyStateStructure = (function() {
1201
1202
/**
1203
* Properties of a SenderKeyStateStructure.
1204
* @memberof groupproto
1205
* @interface ISenderKeyStateStructure
1206
* @property {number|null} [senderKeyId] SenderKeyStateStructure senderKeyId
1207
* @property {groupproto.ISenderChainKey|null} [senderChainKey] SenderKeyStateStructure senderChainKey
1208
* @property {groupproto.ISenderSigningKey|null} [senderSigningKey] SenderKeyStateStructure senderSigningKey
1209
* @property {Array.<groupproto.ISenderMessageKey>|null} [senderMessageKeys] SenderKeyStateStructure senderMessageKeys
1210
*/
1211
1212
/**
1213
* Constructs a new SenderKeyStateStructure.
1214
* @memberof groupproto
1215
* @classdesc Represents a SenderKeyStateStructure.
1216
* @implements ISenderKeyStateStructure
1217
* @constructor
1218
* @param {groupproto.ISenderKeyStateStructure=} [properties] Properties to set
1219
*/
1220
function SenderKeyStateStructure(properties) {
1221
this.senderMessageKeys = [];
1222
if (properties)
1223
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
1224
if (properties[keys[i]] != null)
1225
this[keys[i]] = properties[keys[i]];
1226
}
1227
1228
/**
1229
* SenderKeyStateStructure senderKeyId.
1230
* @member {number} senderKeyId
1231
* @memberof groupproto.SenderKeyStateStructure
1232
* @instance
1233
*/
1234
SenderKeyStateStructure.prototype.senderKeyId = 0;
1235
1236
/**
1237
* SenderKeyStateStructure senderChainKey.
1238
* @member {groupproto.ISenderChainKey|null|undefined} senderChainKey
1239
* @memberof groupproto.SenderKeyStateStructure
1240
* @instance
1241
*/
1242
SenderKeyStateStructure.prototype.senderChainKey = null;
1243
1244
/**
1245
* SenderKeyStateStructure senderSigningKey.
1246
* @member {groupproto.ISenderSigningKey|null|undefined} senderSigningKey
1247
* @memberof groupproto.SenderKeyStateStructure
1248
* @instance
1249
*/
1250
SenderKeyStateStructure.prototype.senderSigningKey = null;
1251
1252
/**
1253
* SenderKeyStateStructure senderMessageKeys.
1254
* @member {Array.<groupproto.ISenderMessageKey>} senderMessageKeys
1255
* @memberof groupproto.SenderKeyStateStructure
1256
* @instance
1257
*/
1258
SenderKeyStateStructure.prototype.senderMessageKeys = $util.emptyArray;
1259
1260
/**
1261
* Creates a new SenderKeyStateStructure instance using the specified properties.
1262
* @function create
1263
* @memberof groupproto.SenderKeyStateStructure
1264
* @static
1265
* @param {groupproto.ISenderKeyStateStructure=} [properties] Properties to set
1266
* @returns {groupproto.SenderKeyStateStructure} SenderKeyStateStructure instance
1267
*/
1268
SenderKeyStateStructure.create = function create(properties) {
1269
return new SenderKeyStateStructure(properties);
1270
};
1271
1272
/**
1273
* Encodes the specified SenderKeyStateStructure message. Does not implicitly {@link groupproto.SenderKeyStateStructure.verify|verify} messages.
1274
* @function encode
1275
* @memberof groupproto.SenderKeyStateStructure
1276
* @static
1277
* @param {groupproto.ISenderKeyStateStructure} message SenderKeyStateStructure message or plain object to encode
1278
* @param {$protobuf.Writer} [writer] Writer to encode to
1279
* @returns {$protobuf.Writer} Writer
1280
*/
1281
SenderKeyStateStructure.encode = function encode(message, writer) {
1282
if (!writer)
1283
writer = $Writer.create();
1284
if (message.senderKeyId != null && Object.hasOwnProperty.call(message, "senderKeyId"))
1285
writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.senderKeyId);
1286
if (message.senderChainKey != null && Object.hasOwnProperty.call(message, "senderChainKey"))
1287
$root.groupproto.SenderChainKey.encode(message.senderChainKey, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
1288
if (message.senderSigningKey != null && Object.hasOwnProperty.call(message, "senderSigningKey"))
1289
$root.groupproto.SenderSigningKey.encode(message.senderSigningKey, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
1290
if (message.senderMessageKeys != null && message.senderMessageKeys.length)
1291
for (var i = 0; i < message.senderMessageKeys.length; ++i)
1292
$root.groupproto.SenderMessageKey.encode(message.senderMessageKeys[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
1293
return writer;
1294
};
1295
1296
/**
1297
* Encodes the specified SenderKeyStateStructure message, length delimited. Does not implicitly {@link groupproto.SenderKeyStateStructure.verify|verify} messages.
1298
* @function encodeDelimited
1299
* @memberof groupproto.SenderKeyStateStructure
1300
* @static
1301
* @param {groupproto.ISenderKeyStateStructure} message SenderKeyStateStructure message or plain object to encode
1302
* @param {$protobuf.Writer} [writer] Writer to encode to
1303
* @returns {$protobuf.Writer} Writer
1304
*/
1305
SenderKeyStateStructure.encodeDelimited = function encodeDelimited(message, writer) {
1306
return this.encode(message, writer).ldelim();
1307
};
1308
1309
/**
1310
* Decodes a SenderKeyStateStructure message from the specified reader or buffer.
1311
* @function decode
1312
* @memberof groupproto.SenderKeyStateStructure
1313
* @static
1314
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
1315
* @param {number} [length] Message length if known beforehand
1316
* @returns {groupproto.SenderKeyStateStructure} SenderKeyStateStructure
1317
* @throws {Error} If the payload is not a reader or valid buffer
1318
* @throws {$protobuf.util.ProtocolError} If required fields are missing
1319
*/
1320
SenderKeyStateStructure.decode = function decode(reader, length) {
1321
if (!(reader instanceof $Reader))
1322
reader = $Reader.create(reader);
1323
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.groupproto.SenderKeyStateStructure();
1324
while (reader.pos < end) {
1325
var tag = reader.uint32();
1326
switch (tag >>> 3) {
1327
case 1:
1328
message.senderKeyId = reader.uint32();
1329
break;
1330
case 2:
1331
message.senderChainKey = $root.groupproto.SenderChainKey.decode(reader, reader.uint32());
1332
break;
1333
case 3:
1334
message.senderSigningKey = $root.groupproto.SenderSigningKey.decode(reader, reader.uint32());
1335
break;
1336
case 4:
1337
if (!(message.senderMessageKeys && message.senderMessageKeys.length))
1338
message.senderMessageKeys = [];
1339
message.senderMessageKeys.push($root.groupproto.SenderMessageKey.decode(reader, reader.uint32()));
1340
break;
1341
default:
1342
reader.skipType(tag & 7);
1343
break;
1344
}
1345
}
1346
return message;
1347
};
1348
1349
/**
1350
* Decodes a SenderKeyStateStructure message from the specified reader or buffer, length delimited.
1351
* @function decodeDelimited
1352
* @memberof groupproto.SenderKeyStateStructure
1353
* @static
1354
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
1355
* @returns {groupproto.SenderKeyStateStructure} SenderKeyStateStructure
1356
* @throws {Error} If the payload is not a reader or valid buffer
1357
* @throws {$protobuf.util.ProtocolError} If required fields are missing
1358
*/
1359
SenderKeyStateStructure.decodeDelimited = function decodeDelimited(reader) {
1360
if (!(reader instanceof $Reader))
1361
reader = new $Reader(reader);
1362
return this.decode(reader, reader.uint32());
1363
};
1364
1365
/**
1366
* Verifies a SenderKeyStateStructure message.
1367
* @function verify
1368
* @memberof groupproto.SenderKeyStateStructure
1369
* @static
1370
* @param {Object.<string,*>} message Plain object to verify
1371
* @returns {string|null} `null` if valid, otherwise the reason why it is not
1372
*/
1373
SenderKeyStateStructure.verify = function verify(message) {
1374
if (typeof message !== "object" || message === null)
1375
return "object expected";
1376
if (message.senderKeyId != null && message.hasOwnProperty("senderKeyId"))
1377
if (!$util.isInteger(message.senderKeyId))
1378
return "senderKeyId: integer expected";
1379
if (message.senderChainKey != null && message.hasOwnProperty("senderChainKey")) {
1380
var error = $root.groupproto.SenderChainKey.verify(message.senderChainKey);
1381
if (error)
1382
return "senderChainKey." + error;
1383
}
1384
if (message.senderSigningKey != null && message.hasOwnProperty("senderSigningKey")) {
1385
var error = $root.groupproto.SenderSigningKey.verify(message.senderSigningKey);
1386
if (error)
1387
return "senderSigningKey." + error;
1388
}
1389
if (message.senderMessageKeys != null && message.hasOwnProperty("senderMessageKeys")) {
1390
if (!Array.isArray(message.senderMessageKeys))
1391
return "senderMessageKeys: array expected";
1392
for (var i = 0; i < message.senderMessageKeys.length; ++i) {
1393
var error = $root.groupproto.SenderMessageKey.verify(message.senderMessageKeys[i]);
1394
if (error)
1395
return "senderMessageKeys." + error;
1396
}
1397
}
1398
return null;
1399
};
1400
1401
/**
1402
* Creates a SenderKeyStateStructure message from a plain object. Also converts values to their respective internal types.
1403
* @function fromObject
1404
* @memberof groupproto.SenderKeyStateStructure
1405
* @static
1406
* @param {Object.<string,*>} object Plain object
1407
* @returns {groupproto.SenderKeyStateStructure} SenderKeyStateStructure
1408
*/
1409
SenderKeyStateStructure.fromObject = function fromObject(object) {
1410
if (object instanceof $root.groupproto.SenderKeyStateStructure)
1411
return object;
1412
var message = new $root.groupproto.SenderKeyStateStructure();
1413
if (object.senderKeyId != null)
1414
message.senderKeyId = object.senderKeyId >>> 0;
1415
if (object.senderChainKey != null) {
1416
if (typeof object.senderChainKey !== "object")
1417
throw TypeError(".groupproto.SenderKeyStateStructure.senderChainKey: object expected");
1418
message.senderChainKey = $root.groupproto.SenderChainKey.fromObject(object.senderChainKey);
1419
}
1420
if (object.senderSigningKey != null) {
1421
if (typeof object.senderSigningKey !== "object")
1422
throw TypeError(".groupproto.SenderKeyStateStructure.senderSigningKey: object expected");
1423
message.senderSigningKey = $root.groupproto.SenderSigningKey.fromObject(object.senderSigningKey);
1424
}
1425
if (object.senderMessageKeys) {
1426
if (!Array.isArray(object.senderMessageKeys))
1427
throw TypeError(".groupproto.SenderKeyStateStructure.senderMessageKeys: array expected");
1428
message.senderMessageKeys = [];
1429
for (var i = 0; i < object.senderMessageKeys.length; ++i) {
1430
if (typeof object.senderMessageKeys[i] !== "object")
1431
throw TypeError(".groupproto.SenderKeyStateStructure.senderMessageKeys: object expected");
1432
message.senderMessageKeys[i] = $root.groupproto.SenderMessageKey.fromObject(object.senderMessageKeys[i]);
1433
}
1434
}
1435
return message;
1436
};
1437
1438
/**
1439
* Creates a plain object from a SenderKeyStateStructure message. Also converts values to other types if specified.
1440
* @function toObject
1441
* @memberof groupproto.SenderKeyStateStructure
1442
* @static
1443
* @param {groupproto.SenderKeyStateStructure} message SenderKeyStateStructure
1444
* @param {$protobuf.IConversionOptions} [options] Conversion options
1445
* @returns {Object.<string,*>} Plain object
1446
*/
1447
SenderKeyStateStructure.toObject = function toObject(message, options) {
1448
if (!options)
1449
options = {};
1450
var object = {};
1451
if (options.arrays || options.defaults)
1452
object.senderMessageKeys = [];
1453
if (options.defaults) {
1454
object.senderKeyId = 0;
1455
object.senderChainKey = null;
1456
object.senderSigningKey = null;
1457
}
1458
if (message.senderKeyId != null && message.hasOwnProperty("senderKeyId"))
1459
object.senderKeyId = message.senderKeyId;
1460
if (message.senderChainKey != null && message.hasOwnProperty("senderChainKey"))
1461
object.senderChainKey = $root.groupproto.SenderChainKey.toObject(message.senderChainKey, options);
1462
if (message.senderSigningKey != null && message.hasOwnProperty("senderSigningKey"))
1463
object.senderSigningKey = $root.groupproto.SenderSigningKey.toObject(message.senderSigningKey, options);
1464
if (message.senderMessageKeys && message.senderMessageKeys.length) {
1465
object.senderMessageKeys = [];
1466
for (var j = 0; j < message.senderMessageKeys.length; ++j)
1467
object.senderMessageKeys[j] = $root.groupproto.SenderMessageKey.toObject(message.senderMessageKeys[j], options);
1468
}
1469
return object;
1470
};
1471
1472
/**
1473
* Converts this SenderKeyStateStructure to JSON.
1474
* @function toJSON
1475
* @memberof groupproto.SenderKeyStateStructure
1476
* @instance
1477
* @returns {Object.<string,*>} JSON object
1478
*/
1479
SenderKeyStateStructure.prototype.toJSON = function toJSON() {
1480
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
1481
};
1482
1483
return SenderKeyStateStructure;
1484
})();
1485
1486
groupproto.SenderKeyRecordStructure = (function() {
1487
1488
/**
1489
* Properties of a SenderKeyRecordStructure.
1490
* @memberof groupproto
1491
* @interface ISenderKeyRecordStructure
1492
* @property {Array.<groupproto.ISenderKeyStateStructure>|null} [senderKeyStates] SenderKeyRecordStructure senderKeyStates
1493
*/
1494
1495
/**
1496
* Constructs a new SenderKeyRecordStructure.
1497
* @memberof groupproto
1498
* @classdesc Represents a SenderKeyRecordStructure.
1499
* @implements ISenderKeyRecordStructure
1500
* @constructor
1501
* @param {groupproto.ISenderKeyRecordStructure=} [properties] Properties to set
1502
*/
1503
function SenderKeyRecordStructure(properties) {
1504
this.senderKeyStates = [];
1505
if (properties)
1506
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
1507
if (properties[keys[i]] != null)
1508
this[keys[i]] = properties[keys[i]];
1509
}
1510
1511
/**
1512
* SenderKeyRecordStructure senderKeyStates.
1513
* @member {Array.<groupproto.ISenderKeyStateStructure>} senderKeyStates
1514
* @memberof groupproto.SenderKeyRecordStructure
1515
* @instance
1516
*/
1517
SenderKeyRecordStructure.prototype.senderKeyStates = $util.emptyArray;
1518
1519
/**
1520
* Creates a new SenderKeyRecordStructure instance using the specified properties.
1521
* @function create
1522
* @memberof groupproto.SenderKeyRecordStructure
1523
* @static
1524
* @param {groupproto.ISenderKeyRecordStructure=} [properties] Properties to set
1525
* @returns {groupproto.SenderKeyRecordStructure} SenderKeyRecordStructure instance
1526
*/
1527
SenderKeyRecordStructure.create = function create(properties) {
1528
return new SenderKeyRecordStructure(properties);
1529
};
1530
1531
/**
1532
* Encodes the specified SenderKeyRecordStructure message. Does not implicitly {@link groupproto.SenderKeyRecordStructure.verify|verify} messages.
1533
* @function encode
1534
* @memberof groupproto.SenderKeyRecordStructure
1535
* @static
1536
* @param {groupproto.ISenderKeyRecordStructure} message SenderKeyRecordStructure message or plain object to encode
1537
* @param {$protobuf.Writer} [writer] Writer to encode to
1538
* @returns {$protobuf.Writer} Writer
1539
*/
1540
SenderKeyRecordStructure.encode = function encode(message, writer) {
1541
if (!writer)
1542
writer = $Writer.create();
1543
if (message.senderKeyStates != null && message.senderKeyStates.length)
1544
for (var i = 0; i < message.senderKeyStates.length; ++i)
1545
$root.groupproto.SenderKeyStateStructure.encode(message.senderKeyStates[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
1546
return writer;
1547
};
1548
1549
/**
1550
* Encodes the specified SenderKeyRecordStructure message, length delimited. Does not implicitly {@link groupproto.SenderKeyRecordStructure.verify|verify} messages.
1551
* @function encodeDelimited
1552
* @memberof groupproto.SenderKeyRecordStructure
1553
* @static
1554
* @param {groupproto.ISenderKeyRecordStructure} message SenderKeyRecordStructure message or plain object to encode
1555
* @param {$protobuf.Writer} [writer] Writer to encode to
1556
* @returns {$protobuf.Writer} Writer
1557
*/
1558
SenderKeyRecordStructure.encodeDelimited = function encodeDelimited(message, writer) {
1559
return this.encode(message, writer).ldelim();
1560
};
1561
1562
/**
1563
* Decodes a SenderKeyRecordStructure message from the specified reader or buffer.
1564
* @function decode
1565
* @memberof groupproto.SenderKeyRecordStructure
1566
* @static
1567
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
1568
* @param {number} [length] Message length if known beforehand
1569
* @returns {groupproto.SenderKeyRecordStructure} SenderKeyRecordStructure
1570
* @throws {Error} If the payload is not a reader or valid buffer
1571
* @throws {$protobuf.util.ProtocolError} If required fields are missing
1572
*/
1573
SenderKeyRecordStructure.decode = function decode(reader, length) {
1574
if (!(reader instanceof $Reader))
1575
reader = $Reader.create(reader);
1576
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.groupproto.SenderKeyRecordStructure();
1577
while (reader.pos < end) {
1578
var tag = reader.uint32();
1579
switch (tag >>> 3) {
1580
case 1:
1581
if (!(message.senderKeyStates && message.senderKeyStates.length))
1582
message.senderKeyStates = [];
1583
message.senderKeyStates.push($root.groupproto.SenderKeyStateStructure.decode(reader, reader.uint32()));
1584
break;
1585
default:
1586
reader.skipType(tag & 7);
1587
break;
1588
}
1589
}
1590
return message;
1591
};
1592
1593
/**
1594
* Decodes a SenderKeyRecordStructure message from the specified reader or buffer, length delimited.
1595
* @function decodeDelimited
1596
* @memberof groupproto.SenderKeyRecordStructure
1597
* @static
1598
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
1599
* @returns {groupproto.SenderKeyRecordStructure} SenderKeyRecordStructure
1600
* @throws {Error} If the payload is not a reader or valid buffer
1601
* @throws {$protobuf.util.ProtocolError} If required fields are missing
1602
*/
1603
SenderKeyRecordStructure.decodeDelimited = function decodeDelimited(reader) {
1604
if (!(reader instanceof $Reader))
1605
reader = new $Reader(reader);
1606
return this.decode(reader, reader.uint32());
1607
};
1608
1609
/**
1610
* Verifies a SenderKeyRecordStructure message.
1611
* @function verify
1612
* @memberof groupproto.SenderKeyRecordStructure
1613
* @static
1614
* @param {Object.<string,*>} message Plain object to verify
1615
* @returns {string|null} `null` if valid, otherwise the reason why it is not
1616
*/
1617
SenderKeyRecordStructure.verify = function verify(message) {
1618
if (typeof message !== "object" || message === null)
1619
return "object expected";
1620
if (message.senderKeyStates != null && message.hasOwnProperty("senderKeyStates")) {
1621
if (!Array.isArray(message.senderKeyStates))
1622
return "senderKeyStates: array expected";
1623
for (var i = 0; i < message.senderKeyStates.length; ++i) {
1624
var error = $root.groupproto.SenderKeyStateStructure.verify(message.senderKeyStates[i]);
1625
if (error)
1626
return "senderKeyStates." + error;
1627
}
1628
}
1629
return null;
1630
};
1631
1632
/**
1633
* Creates a SenderKeyRecordStructure message from a plain object. Also converts values to their respective internal types.
1634
* @function fromObject
1635
* @memberof groupproto.SenderKeyRecordStructure
1636
* @static
1637
* @param {Object.<string,*>} object Plain object
1638
* @returns {groupproto.SenderKeyRecordStructure} SenderKeyRecordStructure
1639
*/
1640
SenderKeyRecordStructure.fromObject = function fromObject(object) {
1641
if (object instanceof $root.groupproto.SenderKeyRecordStructure)
1642
return object;
1643
var message = new $root.groupproto.SenderKeyRecordStructure();
1644
if (object.senderKeyStates) {
1645
if (!Array.isArray(object.senderKeyStates))
1646
throw TypeError(".groupproto.SenderKeyRecordStructure.senderKeyStates: array expected");
1647
message.senderKeyStates = [];
1648
for (var i = 0; i < object.senderKeyStates.length; ++i) {
1649
if (typeof object.senderKeyStates[i] !== "object")
1650
throw TypeError(".groupproto.SenderKeyRecordStructure.senderKeyStates: object expected");
1651
message.senderKeyStates[i] = $root.groupproto.SenderKeyStateStructure.fromObject(object.senderKeyStates[i]);
1652
}
1653
}
1654
return message;
1655
};
1656
1657
/**
1658
* Creates a plain object from a SenderKeyRecordStructure message. Also converts values to other types if specified.
1659
* @function toObject
1660
* @memberof groupproto.SenderKeyRecordStructure
1661
* @static
1662
* @param {groupproto.SenderKeyRecordStructure} message SenderKeyRecordStructure
1663
* @param {$protobuf.IConversionOptions} [options] Conversion options
1664
* @returns {Object.<string,*>} Plain object
1665
*/
1666
SenderKeyRecordStructure.toObject = function toObject(message, options) {
1667
if (!options)
1668
options = {};
1669
var object = {};
1670
if (options.arrays || options.defaults)
1671
object.senderKeyStates = [];
1672
if (message.senderKeyStates && message.senderKeyStates.length) {
1673
object.senderKeyStates = [];
1674
for (var j = 0; j < message.senderKeyStates.length; ++j)
1675
object.senderKeyStates[j] = $root.groupproto.SenderKeyStateStructure.toObject(message.senderKeyStates[j], options);
1676
}
1677
return object;
1678
};
1679
1680
/**
1681
* Converts this SenderKeyRecordStructure to JSON.
1682
* @function toJSON
1683
* @memberof groupproto.SenderKeyRecordStructure
1684
* @instance
1685
* @returns {Object.<string,*>} JSON object
1686
*/
1687
SenderKeyRecordStructure.prototype.toJSON = function toJSON() {
1688
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
1689
};
1690
1691
return SenderKeyRecordStructure;
1692
})();
1693
1694
return groupproto;
1695
})();
1696
1697
module.exports = $root;
1698
1699