whatsapp-nodejs 0.0.1-security → 0.0.1
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.
Potentially problematic release.
This version of whatsapp-nodejs might be problematic. Click here for more details.
- package/.eslintignore +2 -0
- package/.eslintrc.js +59 -0
- package/.prettierrc +11 -0
- package/README.md +51 -3
- package/package.json +97 -3
- package/proto/ClientHello.proto +167 -0
- package/proto/HandshakeMessage.proto +26 -0
- package/proto/Message.proto +795 -0
- package/proto/SessionStructure.proto +113 -0
- package/proto/WhisperTextProtocol.proto +29 -0
- package/src/SocketClient.js +241 -0
- package/src/SocketManager.js +130 -0
- package/src/WASocketClient.js +170 -0
- package/src/Whatsapp.js +169 -0
- package/src/WhatsappServer.js +17 -0
- package/src/bin/decoder.js +1 -0
- package/src/bin/dict.js +1 -0
- package/src/bin/dict1.js +1 -0
- package/src/bin/dict2.js +1 -0
- package/src/bin/encoder.js +1 -0
- package/src/config.js +71 -0
- package/src/db.js +44 -0
- package/src/index.js +7 -0
- package/src/lib/SocketProxy.js +225 -0
- package/src/lib/libsignal-protocol.js +14 -0
- package/src/lib/utils.js +123 -0
- package/src/logger.js +79 -0
- package/src/packet/ProtocolEntity.js +39 -0
- package/src/packet/ProtocolTreeNode.js +202 -0
- package/src/protobuf/pb.js +32415 -0
- package/src/protocol/CipherState.js +48 -0
- package/src/protocol/FallbackPatternModifier.js +48 -0
- package/src/protocol/ForwarderHandshakeState.js +56 -0
- package/src/protocol/HandShake.js +273 -0
- package/src/protocol/HandshakePattern.js +62 -0
- package/src/protocol/HandshakeState.js +223 -0
- package/src/protocol/PKCS7.js +89 -0
- package/src/protocol/SwitchableHandshakeState.js +64 -0
- package/src/protocol/WASymmetricState.js +116 -0
- package/src/protocol/crypto.js +112 -0
- package/src/protocol/handshakepatterns/HandshakePattern.js +62 -0
- package/src/protocol/handshakepatterns/IKHandshakePattern.js +17 -0
- package/src/protocol/handshakepatterns/XXHandshakePattern.js +9 -0
- package/src/schema/account.js +65 -0
- package/src/schema/axolotl.js +8 -0
- package/src/schema/business.js +15 -0
- package/src/schema/common.js +26 -0
- package/src/schema/dayreport.js +21 -0
- package/src/schema/identify.js +49 -0
- package/src/schema/message.js +44 -0
- package/src/schema/prekey.js +51 -0
- package/src/schema/recvmessage.js +33 -0
- package/src/schema/senderkey.js +20 -0
- package/src/schema/session.js +22 -0
- package/src/schema/signedprekeys.js +56 -0
- package/test/WASocketClient.test.js +23 -0
- package/test/handshake.test.js +38 -0
- package/test/logger.test.js +17 -0
- package/test/whatsapp.test.js +17 -0
|
@@ -0,0 +1,795 @@
|
|
|
1
|
+
syntax = "proto2";
|
|
2
|
+
package Message;
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
message SenderKeyMessage {
|
|
6
|
+
optional uint32 id = 1;
|
|
7
|
+
optional uint32 iteration = 2;
|
|
8
|
+
optional bytes ciphertext = 3;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
message SenderChainKey {
|
|
12
|
+
optional uint32 iteration = 1;
|
|
13
|
+
optional bytes seed = 2;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
message SenderMessageKey {
|
|
17
|
+
optional uint32 iteration = 1;
|
|
18
|
+
optional bytes seed = 2;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
message SenderSigningKey {
|
|
22
|
+
optional bytes public = 1;
|
|
23
|
+
optional bytes private = 2;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
message SenderKeyStateStructure {
|
|
27
|
+
optional uint32 senderKeyId = 1;
|
|
28
|
+
optional SenderChainKey senderChainKey = 2;
|
|
29
|
+
optional SenderSigningKey senderSigningKey = 3;
|
|
30
|
+
repeated SenderMessageKey senderMessageKeys = 4;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
message SenderKeyRecordStructure {
|
|
34
|
+
repeated SenderKeyStateStructure senderKeyStates = 1;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
message HydratedQuickReplyButton {
|
|
38
|
+
optional string displayText = 1;
|
|
39
|
+
optional string id = 2;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
message HydratedURLButton {
|
|
43
|
+
optional string displayText = 1;
|
|
44
|
+
optional string url = 2;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
message HydratedCallButton {
|
|
48
|
+
optional string displayText = 1;
|
|
49
|
+
optional string phoneNumber = 2;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
message HydratedTemplateButton {
|
|
53
|
+
optional uint32 index = 4;
|
|
54
|
+
oneof hydratedButton {
|
|
55
|
+
HydratedQuickReplyButton quickReplyButton = 1;
|
|
56
|
+
HydratedURLButton urlButton = 2;
|
|
57
|
+
HydratedCallButton callButton = 3;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
message QuickReplyButton {
|
|
62
|
+
optional HighlyStructuredMessage displayText = 1;
|
|
63
|
+
optional string id = 2;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
message URLButton {
|
|
67
|
+
optional HighlyStructuredMessage displayText = 1;
|
|
68
|
+
optional HighlyStructuredMessage url = 2;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
message CallButton {
|
|
72
|
+
optional HighlyStructuredMessage displayText = 1;
|
|
73
|
+
optional HighlyStructuredMessage phoneNumber = 2;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
message TemplateButton {
|
|
77
|
+
optional uint32 index = 4;
|
|
78
|
+
oneof button {
|
|
79
|
+
QuickReplyButton quickReplyButton = 1;
|
|
80
|
+
URLButton urlButton = 2;
|
|
81
|
+
CallButton callButton = 3;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
message Location {
|
|
86
|
+
optional double degreesLatitude = 1;
|
|
87
|
+
optional double degreesLongitude = 2;
|
|
88
|
+
optional string name = 3;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
message Point {
|
|
92
|
+
optional int32 xDeprecated = 1;
|
|
93
|
+
optional int32 yDeprecated = 2;
|
|
94
|
+
optional double x = 3;
|
|
95
|
+
optional double y = 4;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
message InteractiveAnnotation {
|
|
99
|
+
repeated Point polygonVertices = 1;
|
|
100
|
+
oneof action {
|
|
101
|
+
Location location = 2;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
message AdReplyInfo {
|
|
106
|
+
optional string advertiserName = 1;
|
|
107
|
+
enum AD_REPLY_INFO_MEDIATYPE {
|
|
108
|
+
NONE = 0;
|
|
109
|
+
IMAGE = 1;
|
|
110
|
+
VIDEO = 2;
|
|
111
|
+
}
|
|
112
|
+
optional AD_REPLY_INFO_MEDIATYPE mediaType = 2;
|
|
113
|
+
optional bytes jpegThumbnail = 16;
|
|
114
|
+
optional string caption = 17;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
message ContextInfo {
|
|
118
|
+
optional string stanzaId = 1;
|
|
119
|
+
optional string participant = 2;
|
|
120
|
+
optional Message quotedMessage = 3;
|
|
121
|
+
optional string remoteJid = 4;
|
|
122
|
+
repeated string mentionedJid = 15;
|
|
123
|
+
optional string conversionSource = 18;
|
|
124
|
+
optional bytes conversionData = 19;
|
|
125
|
+
optional uint32 conversionDelaySeconds = 20;
|
|
126
|
+
optional uint32 forwardingScore = 21;
|
|
127
|
+
optional bool isForwarded = 22;
|
|
128
|
+
optional AdReplyInfo quotedAd = 23;
|
|
129
|
+
optional MessageKey placeholderKey = 24;
|
|
130
|
+
optional uint32 expiration = 25;
|
|
131
|
+
optional int64 ephemeralSettingTimestamp = 26;
|
|
132
|
+
optional bytes ephemeralSharedSecret = 27;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
message SenderKeyDistributionMessage {
|
|
136
|
+
optional string groupId = 1;
|
|
137
|
+
optional bytes axolotlSenderKeyDistributionMessage = 2;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
message WhisperSenderKeyDistributionMessage {
|
|
141
|
+
optional string groupId = 1;
|
|
142
|
+
optional bytes axolotl_sender_key_distribution_message = 2;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
message ImageMessage {
|
|
146
|
+
optional string url = 1;
|
|
147
|
+
optional string mimetype = 2;
|
|
148
|
+
optional string caption = 3;
|
|
149
|
+
optional bytes fileSha256 = 4;
|
|
150
|
+
optional uint64 fileLength = 5;
|
|
151
|
+
optional uint32 height = 6;
|
|
152
|
+
optional uint32 width = 7;
|
|
153
|
+
optional bytes mediaKey = 8;
|
|
154
|
+
optional bytes fileEncSha256 = 9;
|
|
155
|
+
repeated InteractiveAnnotation interactiveAnnotations = 10;
|
|
156
|
+
optional string directPath = 11;
|
|
157
|
+
optional int64 mediaKeyTimestamp = 12;
|
|
158
|
+
optional bytes jpegThumbnail = 16;
|
|
159
|
+
optional ContextInfo contextInfo = 17;
|
|
160
|
+
optional bytes firstScanSidecar = 18;
|
|
161
|
+
optional uint32 firstScanLength = 19;
|
|
162
|
+
optional uint32 experimentGroupId = 20;
|
|
163
|
+
optional bytes scansSidecar = 21;
|
|
164
|
+
repeated uint32 scanLengths = 22 [packed=false];
|
|
165
|
+
optional bytes midQualityFileSha256 = 23;
|
|
166
|
+
optional bytes midQualityFileEncSha256 = 24;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
message ContactMessage {
|
|
170
|
+
optional string displayName = 1;
|
|
171
|
+
optional string vcard = 16;
|
|
172
|
+
optional ContextInfo contextInfo = 17;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
message LocationMessage {
|
|
176
|
+
optional double degreesLatitude = 1;
|
|
177
|
+
optional double degreesLongitude = 2;
|
|
178
|
+
optional string name = 3;
|
|
179
|
+
optional string address = 4;
|
|
180
|
+
optional string url = 5;
|
|
181
|
+
optional bool isLive = 6;
|
|
182
|
+
optional uint32 accuracyInMeters = 7;
|
|
183
|
+
optional float speedInMps = 8;
|
|
184
|
+
optional uint32 degreesClockwiseFromMagneticNorth = 9;
|
|
185
|
+
optional string comment = 11;
|
|
186
|
+
optional bytes jpegThumbnail = 16;
|
|
187
|
+
optional ContextInfo contextInfo = 17;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
message ExtendedTextMessage {
|
|
191
|
+
optional string text = 1;
|
|
192
|
+
optional string matchedText = 2;
|
|
193
|
+
optional string canonicalUrl = 4;
|
|
194
|
+
optional string description = 5;
|
|
195
|
+
optional string title = 6;
|
|
196
|
+
optional fixed32 textArgb = 7;
|
|
197
|
+
optional fixed32 backgroundArgb = 8;
|
|
198
|
+
enum EXTENDED_TEXT_MESSAGE_FONTTYPE {
|
|
199
|
+
SANS_SERIF = 0;
|
|
200
|
+
SERIF = 1;
|
|
201
|
+
NORICAN_REGULAR = 2;
|
|
202
|
+
BRYNDAN_WRITE = 3;
|
|
203
|
+
BEBASNEUE_REGULAR = 4;
|
|
204
|
+
OSWALD_HEAVY = 5;
|
|
205
|
+
}
|
|
206
|
+
optional EXTENDED_TEXT_MESSAGE_FONTTYPE font = 9;
|
|
207
|
+
enum EXTENDED_TEXT_MESSAGE_PREVIEWTYPE {
|
|
208
|
+
NONE = 0;
|
|
209
|
+
VIDEO = 1;
|
|
210
|
+
}
|
|
211
|
+
optional EXTENDED_TEXT_MESSAGE_PREVIEWTYPE previewType = 10;
|
|
212
|
+
optional bytes jpegThumbnail = 16;
|
|
213
|
+
optional ContextInfo contextInfo = 17;
|
|
214
|
+
optional bool doNotPlayInline = 18;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
message DocumentMessage {
|
|
218
|
+
optional string url = 1;
|
|
219
|
+
optional string mimetype = 2;
|
|
220
|
+
optional string title = 3;
|
|
221
|
+
optional bytes fileSha256 = 4;
|
|
222
|
+
optional uint64 fileLength = 5;
|
|
223
|
+
optional uint32 pageCount = 6;
|
|
224
|
+
optional bytes mediaKey = 7;
|
|
225
|
+
optional string fileName = 8;
|
|
226
|
+
optional bytes fileEncSha256 = 9;
|
|
227
|
+
optional string directPath = 10;
|
|
228
|
+
optional int64 mediaKeyTimestamp = 11;
|
|
229
|
+
optional bytes jpegThumbnail = 16;
|
|
230
|
+
optional ContextInfo contextInfo = 17;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
message AudioMessage {
|
|
234
|
+
optional string url = 1;
|
|
235
|
+
optional string mimetype = 2;
|
|
236
|
+
optional bytes fileSha256 = 3;
|
|
237
|
+
optional uint64 fileLength = 4;
|
|
238
|
+
optional uint32 seconds = 5;
|
|
239
|
+
optional bool ptt = 6;
|
|
240
|
+
optional bytes mediaKey = 7;
|
|
241
|
+
optional bytes fileEncSha256 = 8;
|
|
242
|
+
optional string directPath = 9;
|
|
243
|
+
optional int64 mediaKeyTimestamp = 10;
|
|
244
|
+
optional ContextInfo contextInfo = 17;
|
|
245
|
+
optional bytes streamingSidecar = 18;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
message VideoMessage {
|
|
249
|
+
optional string url = 1;
|
|
250
|
+
optional string mimetype = 2;
|
|
251
|
+
optional bytes fileSha256 = 3;
|
|
252
|
+
optional uint64 fileLength = 4;
|
|
253
|
+
optional uint32 seconds = 5;
|
|
254
|
+
optional bytes mediaKey = 6;
|
|
255
|
+
optional string caption = 7;
|
|
256
|
+
optional bool gifPlayback = 8;
|
|
257
|
+
optional uint32 height = 9;
|
|
258
|
+
optional uint32 width = 10;
|
|
259
|
+
optional bytes fileEncSha256 = 11;
|
|
260
|
+
repeated InteractiveAnnotation interactiveAnnotations = 12;
|
|
261
|
+
optional string directPath = 13;
|
|
262
|
+
optional int64 mediaKeyTimestamp = 14;
|
|
263
|
+
optional bytes jpegThumbnail = 16;
|
|
264
|
+
optional ContextInfo contextInfo = 17;
|
|
265
|
+
optional bytes streamingSidecar = 18;
|
|
266
|
+
enum VIDEO_MESSAGE_ATTRIBUTION {
|
|
267
|
+
NONE = 0;
|
|
268
|
+
GIPHY = 1;
|
|
269
|
+
TENOR = 2;
|
|
270
|
+
}
|
|
271
|
+
optional VIDEO_MESSAGE_ATTRIBUTION gifAttribution = 19;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
message Call {
|
|
275
|
+
optional bytes callKey = 1;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
message Chat {
|
|
279
|
+
optional string displayName = 1;
|
|
280
|
+
optional string id = 2;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
message ProtocolMessage {
|
|
284
|
+
optional MessageKey key = 1;
|
|
285
|
+
enum PROTOCOL_MESSAGE_TYPE {
|
|
286
|
+
REVOKE = 0;
|
|
287
|
+
EPHEMERAL_SETTING = 3;
|
|
288
|
+
EPHEMERAL_SYNC_RESPONSE = 4;
|
|
289
|
+
HISTORY_SYNC_NOTIFICATION = 5;
|
|
290
|
+
}
|
|
291
|
+
optional PROTOCOL_MESSAGE_TYPE type = 2;
|
|
292
|
+
optional uint32 ephemeralExpiration = 4;
|
|
293
|
+
optional int64 ephemeralSettingTimestamp = 5;
|
|
294
|
+
optional HistorySyncNotification historySyncNotification = 6;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
message HistorySyncNotification {
|
|
298
|
+
optional bytes fileSha256 = 1;
|
|
299
|
+
optional uint64 fileLength = 2;
|
|
300
|
+
optional bytes mediaKey = 3;
|
|
301
|
+
optional bytes fileEncSha256 = 4;
|
|
302
|
+
optional string directPath = 5;
|
|
303
|
+
enum HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE {
|
|
304
|
+
INITIAL_BOOTSTRAP = 0;
|
|
305
|
+
INITIAL_STATUS_V3 = 1;
|
|
306
|
+
FULL = 2;
|
|
307
|
+
RECENT = 3;
|
|
308
|
+
RESEND = 4;
|
|
309
|
+
}
|
|
310
|
+
optional HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE syncType = 6;
|
|
311
|
+
optional uint32 chunkOrder = 7;
|
|
312
|
+
optional string originalMessageId = 8;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
message ContactsArrayMessage {
|
|
316
|
+
optional string displayName = 1;
|
|
317
|
+
repeated ContactMessage contacts = 2;
|
|
318
|
+
optional ContextInfo contextInfo = 17;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
message HSMCurrency {
|
|
322
|
+
optional string currencyCode = 1;
|
|
323
|
+
optional int64 amount1000 = 2;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
message HSMDateTimeComponent {
|
|
327
|
+
enum HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE {
|
|
328
|
+
MONDAY = 1;
|
|
329
|
+
TUESDAY = 2;
|
|
330
|
+
WEDNESDAY = 3;
|
|
331
|
+
THURSDAY = 4;
|
|
332
|
+
FRIDAY = 5;
|
|
333
|
+
SATURDAY = 6;
|
|
334
|
+
SUNDAY = 7;
|
|
335
|
+
}
|
|
336
|
+
optional HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE dayOfWeek = 1;
|
|
337
|
+
optional uint32 year = 2;
|
|
338
|
+
optional uint32 month = 3;
|
|
339
|
+
optional uint32 dayOfMonth = 4;
|
|
340
|
+
optional uint32 hour = 5;
|
|
341
|
+
optional uint32 minute = 6;
|
|
342
|
+
enum HSM_DATE_TIME_COMPONENT_CALENDARTYPE {
|
|
343
|
+
GREGORIAN = 1;
|
|
344
|
+
SOLAR_HIJRI = 2;
|
|
345
|
+
}
|
|
346
|
+
optional HSM_DATE_TIME_COMPONENT_CALENDARTYPE calendar = 7;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
message HSMDateTimeUnixEpoch {
|
|
350
|
+
optional int64 timestamp = 1;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
message HSMDateTime {
|
|
354
|
+
oneof datetimeOneof {
|
|
355
|
+
HSMDateTimeComponent component = 1;
|
|
356
|
+
HSMDateTimeUnixEpoch unixEpoch = 2;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
message HSMLocalizableParameter {
|
|
361
|
+
optional string default = 1;
|
|
362
|
+
oneof paramOneof {
|
|
363
|
+
HSMCurrency currency = 2;
|
|
364
|
+
HSMDateTime dateTime = 3;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
message HighlyStructuredMessage {
|
|
369
|
+
optional string namespace = 1;
|
|
370
|
+
optional string elementName = 2;
|
|
371
|
+
repeated string params = 3;
|
|
372
|
+
optional string fallbackLg = 4;
|
|
373
|
+
optional string fallbackLc = 5;
|
|
374
|
+
repeated HSMLocalizableParameter localizableParams = 6;
|
|
375
|
+
optional string deterministicLg = 7;
|
|
376
|
+
optional string deterministicLc = 8;
|
|
377
|
+
optional TemplateMessage hydratedHsm = 9;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
message SendPaymentMessage {
|
|
381
|
+
optional Message noteMessage = 2;
|
|
382
|
+
optional MessageKey requestMessageKey = 3;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
message RequestPaymentMessage {
|
|
386
|
+
optional Message noteMessage = 4;
|
|
387
|
+
optional string currencyCodeIso4217 = 1;
|
|
388
|
+
optional uint64 amount1000 = 2;
|
|
389
|
+
optional string requestFrom = 3;
|
|
390
|
+
optional int64 expiryTimestamp = 5;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
message DeclinePaymentRequestMessage {
|
|
394
|
+
optional MessageKey key = 1;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
message CancelPaymentRequestMessage {
|
|
398
|
+
optional MessageKey key = 1;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
message LiveLocationMessage {
|
|
402
|
+
optional double degreesLatitude = 1;
|
|
403
|
+
optional double degreesLongitude = 2;
|
|
404
|
+
optional uint32 accuracyInMeters = 3;
|
|
405
|
+
optional float speedInMps = 4;
|
|
406
|
+
optional uint32 degreesClockwiseFromMagneticNorth = 5;
|
|
407
|
+
optional string caption = 6;
|
|
408
|
+
optional int64 sequenceNumber = 7;
|
|
409
|
+
optional uint32 timeOffset = 8;
|
|
410
|
+
optional bytes jpegThumbnail = 16;
|
|
411
|
+
optional ContextInfo contextInfo = 17;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
message StickerMessage {
|
|
415
|
+
optional string url = 1;
|
|
416
|
+
optional bytes fileSha256 = 2;
|
|
417
|
+
optional bytes fileEncSha256 = 3;
|
|
418
|
+
optional bytes mediaKey = 4;
|
|
419
|
+
optional string mimetype = 5;
|
|
420
|
+
optional uint32 height = 6;
|
|
421
|
+
optional uint32 width = 7;
|
|
422
|
+
optional string directPath = 8;
|
|
423
|
+
optional uint64 fileLength = 9;
|
|
424
|
+
optional int64 mediaKeyTimestamp = 10;
|
|
425
|
+
optional uint32 firstFrameLength = 11;
|
|
426
|
+
optional bytes firstFrameSidecar = 12;
|
|
427
|
+
optional bool isAnimated = 13;
|
|
428
|
+
optional bytes pngThumbnail = 16;
|
|
429
|
+
optional ContextInfo contextInfo = 17;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
message FourRowTemplate {
|
|
433
|
+
optional HighlyStructuredMessage content = 6;
|
|
434
|
+
optional HighlyStructuredMessage footer = 7;
|
|
435
|
+
repeated TemplateButton buttons = 8;
|
|
436
|
+
oneof title {
|
|
437
|
+
DocumentMessage documentMessage = 1;
|
|
438
|
+
HighlyStructuredMessage highlyStructuredMessage = 2;
|
|
439
|
+
ImageMessage imageMessage = 3;
|
|
440
|
+
VideoMessage videoMessage = 4;
|
|
441
|
+
LocationMessage locationMessage = 5;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
message HydratedFourRowTemplate {
|
|
446
|
+
optional string hydratedContentText = 6;
|
|
447
|
+
optional string hydratedFooterText = 7;
|
|
448
|
+
repeated HydratedTemplateButton hydratedButtons = 8;
|
|
449
|
+
optional string templateId = 9;
|
|
450
|
+
oneof title {
|
|
451
|
+
DocumentMessage documentMessage = 1;
|
|
452
|
+
string hydratedTitleText = 2;
|
|
453
|
+
ImageMessage imageMessage = 3;
|
|
454
|
+
VideoMessage videoMessage = 4;
|
|
455
|
+
LocationMessage locationMessage = 5;
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
message TemplateMessage {
|
|
460
|
+
optional ContextInfo contextInfo = 3;
|
|
461
|
+
optional HydratedFourRowTemplate hydratedTemplate = 4;
|
|
462
|
+
oneof format {
|
|
463
|
+
FourRowTemplate fourRowTemplate = 1;
|
|
464
|
+
HydratedFourRowTemplate hydratedFourRowTemplate = 2;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
message TemplateButtonReplyMessage {
|
|
469
|
+
optional string selectedId = 1;
|
|
470
|
+
optional string selectedDisplayText = 2;
|
|
471
|
+
optional ContextInfo contextInfo = 3;
|
|
472
|
+
optional uint32 selectedIndex = 4;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
message CatalogSnapshot {
|
|
476
|
+
optional ImageMessage catalogImage = 1;
|
|
477
|
+
optional string title = 2;
|
|
478
|
+
optional string description = 3;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
message ProductSnapshot {
|
|
482
|
+
optional ImageMessage productImage = 1;
|
|
483
|
+
optional string productId = 2;
|
|
484
|
+
optional string title = 3;
|
|
485
|
+
optional string description = 4;
|
|
486
|
+
optional string currencyCode = 5;
|
|
487
|
+
optional int64 priceAmount1000 = 6;
|
|
488
|
+
optional string retailerId = 7;
|
|
489
|
+
optional string url = 8;
|
|
490
|
+
optional uint32 productImageCount = 9;
|
|
491
|
+
optional string firstImageId = 11;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
message ProductMessage {
|
|
495
|
+
optional ProductSnapshot product = 1;
|
|
496
|
+
optional string businessOwnerJid = 2;
|
|
497
|
+
optional CatalogSnapshot catalog = 4;
|
|
498
|
+
optional ContextInfo contextInfo = 17;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
message GroupInviteMessage {
|
|
502
|
+
optional string groupJid = 1;
|
|
503
|
+
optional string inviteCode = 2;
|
|
504
|
+
optional int64 inviteExpiration = 3;
|
|
505
|
+
optional string groupName = 4;
|
|
506
|
+
optional bytes jpegThumbnail = 5;
|
|
507
|
+
optional string caption = 6;
|
|
508
|
+
optional ContextInfo contextInfo = 7;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
message DeviceSentMessage {
|
|
512
|
+
optional string destinationJid = 1;
|
|
513
|
+
optional Message message = 2;
|
|
514
|
+
optional string phash = 3;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
message TemplateMessageContainer {
|
|
518
|
+
optional TemplateMessage templateMessage = 25;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
message TemplateMessageTop {
|
|
522
|
+
optional TemplateMessageContainer templateMessageContainer = 1;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
message Message {
|
|
526
|
+
optional string conversation = 1;
|
|
527
|
+
optional SenderKeyDistributionMessage senderKeyDistributionMessage = 2;
|
|
528
|
+
optional ImageMessage imageMessage = 3;
|
|
529
|
+
optional ContactMessage contactMessage = 4;
|
|
530
|
+
optional LocationMessage locationMessage = 5;
|
|
531
|
+
optional ExtendedTextMessage extendedTextMessage = 6;
|
|
532
|
+
optional DocumentMessage documentMessage = 7;
|
|
533
|
+
optional AudioMessage audioMessage = 8;
|
|
534
|
+
optional VideoMessage videoMessage = 9;
|
|
535
|
+
optional Call call = 10;
|
|
536
|
+
optional Chat chat = 11;
|
|
537
|
+
optional ProtocolMessage protocolMessage = 12;
|
|
538
|
+
optional ContactsArrayMessage contactsArrayMessage = 13;
|
|
539
|
+
optional HighlyStructuredMessage highlyStructuredMessage = 14;
|
|
540
|
+
optional SenderKeyDistributionMessage fastRatchetKeySenderKeyDistributionMessage = 15;
|
|
541
|
+
optional SendPaymentMessage sendPaymentMessage = 16;
|
|
542
|
+
optional LiveLocationMessage liveLocationMessage = 18;
|
|
543
|
+
optional RequestPaymentMessage requestPaymentMessage = 22;
|
|
544
|
+
optional DeclinePaymentRequestMessage declinePaymentRequestMessage = 23;
|
|
545
|
+
optional CancelPaymentRequestMessage cancelPaymentRequestMessage = 24;
|
|
546
|
+
optional TemplateMessage templateMessage = 25;
|
|
547
|
+
optional StickerMessage stickerMessage = 26;
|
|
548
|
+
optional GroupInviteMessage groupInviteMessage = 28;
|
|
549
|
+
optional TemplateButtonReplyMessage templateButtonReplyMessage = 29;
|
|
550
|
+
optional ProductMessage productMessage = 30;
|
|
551
|
+
optional DeviceSentMessage deviceSentMessage = 31;
|
|
552
|
+
optional TemplateMessageTop templateMessageTop = 37;
|
|
553
|
+
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
message MessageKey {
|
|
557
|
+
optional string remoteJid = 1;
|
|
558
|
+
optional bool fromMe = 2;
|
|
559
|
+
optional string id = 3;
|
|
560
|
+
optional string participant = 4;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
message WebFeatures {
|
|
564
|
+
enum WEB_FEATURES_FLAG {
|
|
565
|
+
NOT_STARTED = 0;
|
|
566
|
+
FORCE_UPGRADE = 1;
|
|
567
|
+
DEVELOPMENT = 2;
|
|
568
|
+
PRODUCTION = 3;
|
|
569
|
+
}
|
|
570
|
+
optional WEB_FEATURES_FLAG labelsDisplay = 1;
|
|
571
|
+
optional WEB_FEATURES_FLAG voipIndividualOutgoing = 2;
|
|
572
|
+
optional WEB_FEATURES_FLAG groupsV3 = 3;
|
|
573
|
+
optional WEB_FEATURES_FLAG groupsV3Create = 4;
|
|
574
|
+
optional WEB_FEATURES_FLAG changeNumberV2 = 5;
|
|
575
|
+
optional WEB_FEATURES_FLAG queryStatusV3Thumbnail = 6;
|
|
576
|
+
optional WEB_FEATURES_FLAG liveLocations = 7;
|
|
577
|
+
optional WEB_FEATURES_FLAG queryVname = 8;
|
|
578
|
+
optional WEB_FEATURES_FLAG voipIndividualIncoming = 9;
|
|
579
|
+
optional WEB_FEATURES_FLAG quickRepliesQuery = 10;
|
|
580
|
+
optional WEB_FEATURES_FLAG payments = 11;
|
|
581
|
+
optional WEB_FEATURES_FLAG stickerPackQuery = 12;
|
|
582
|
+
optional WEB_FEATURES_FLAG liveLocationsFinal = 13;
|
|
583
|
+
optional WEB_FEATURES_FLAG labelsEdit = 14;
|
|
584
|
+
optional WEB_FEATURES_FLAG mediaUpload = 15;
|
|
585
|
+
optional WEB_FEATURES_FLAG mediaUploadRichQuickReplies = 18;
|
|
586
|
+
optional WEB_FEATURES_FLAG vnameV2 = 19;
|
|
587
|
+
optional WEB_FEATURES_FLAG videoPlaybackUrl = 20;
|
|
588
|
+
optional WEB_FEATURES_FLAG statusRanking = 21;
|
|
589
|
+
optional WEB_FEATURES_FLAG voipIndividualVideo = 22;
|
|
590
|
+
optional WEB_FEATURES_FLAG thirdPartyStickers = 23;
|
|
591
|
+
optional WEB_FEATURES_FLAG frequentlyForwardedSetting = 24;
|
|
592
|
+
optional WEB_FEATURES_FLAG groupsV4JoinPermission = 25;
|
|
593
|
+
optional WEB_FEATURES_FLAG recentStickers = 26;
|
|
594
|
+
optional WEB_FEATURES_FLAG catalog = 27;
|
|
595
|
+
optional WEB_FEATURES_FLAG starredStickers = 28;
|
|
596
|
+
optional WEB_FEATURES_FLAG voipGroupCall = 29;
|
|
597
|
+
optional WEB_FEATURES_FLAG templateMessage = 30;
|
|
598
|
+
optional WEB_FEATURES_FLAG templateMessageInteractivity = 31;
|
|
599
|
+
optional WEB_FEATURES_FLAG ephemeralMessages = 32;
|
|
600
|
+
optional WEB_FEATURES_FLAG e2ENotificationSync = 33;
|
|
601
|
+
optional WEB_FEATURES_FLAG recentStickersV2 = 34;
|
|
602
|
+
optional WEB_FEATURES_FLAG syncdRelease1 = 35;
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
message TabletNotificationsInfo {
|
|
606
|
+
optional uint64 timestamp = 2;
|
|
607
|
+
optional uint32 unreadChats = 3;
|
|
608
|
+
optional uint32 notifyMessageCount = 4;
|
|
609
|
+
repeated NotificationMessageInfo notifyMessage = 5;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
message NotificationMessageInfo {
|
|
613
|
+
optional MessageKey key = 1;
|
|
614
|
+
optional Message message = 2;
|
|
615
|
+
optional uint64 messageTimestamp = 3;
|
|
616
|
+
optional string participant = 4;
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
message WebNotificationsInfo {
|
|
620
|
+
optional uint64 timestamp = 2;
|
|
621
|
+
optional uint32 unreadChats = 3;
|
|
622
|
+
optional uint32 notifyMessageCount = 4;
|
|
623
|
+
repeated WebMessageInfo notifyMessages = 5;
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
message PaymentInfo {
|
|
627
|
+
enum PAYMENT_INFO_CURRENCY {
|
|
628
|
+
UNKNOWN_CURRENCY = 0;
|
|
629
|
+
INR = 1;
|
|
630
|
+
}
|
|
631
|
+
optional PAYMENT_INFO_CURRENCY currencyDeprecated = 1;
|
|
632
|
+
optional uint64 amount1000 = 2;
|
|
633
|
+
optional string receiverJid = 3;
|
|
634
|
+
enum PAYMENT_INFO_STATUS {
|
|
635
|
+
UNKNOWN_STATUS = 0;
|
|
636
|
+
PROCESSING = 1;
|
|
637
|
+
SENT = 2;
|
|
638
|
+
NEED_TO_ACCEPT = 3;
|
|
639
|
+
COMPLETE = 4;
|
|
640
|
+
COULD_NOT_COMPLETE = 5;
|
|
641
|
+
REFUNDED = 6;
|
|
642
|
+
EXPIRED = 7;
|
|
643
|
+
REJECTED = 8;
|
|
644
|
+
CANCELLED = 9;
|
|
645
|
+
WAITING_FOR_PAYER = 10;
|
|
646
|
+
WAITING = 11;
|
|
647
|
+
}
|
|
648
|
+
optional PAYMENT_INFO_STATUS status = 4;
|
|
649
|
+
optional uint64 transactionTimestamp = 5;
|
|
650
|
+
optional MessageKey requestMessageKey = 6;
|
|
651
|
+
optional uint64 expiryTimestamp = 7;
|
|
652
|
+
optional bool futureproofed = 8;
|
|
653
|
+
optional string currency = 9;
|
|
654
|
+
enum PAYMENT_INFO_TXNSTATUS {
|
|
655
|
+
UNKNOWN = 0;
|
|
656
|
+
PENDING_SETUP = 1;
|
|
657
|
+
PENDING_RECEIVER_SETUP = 2;
|
|
658
|
+
INIT = 3;
|
|
659
|
+
SUCCESS = 4;
|
|
660
|
+
COMPLETED = 5;
|
|
661
|
+
FAILED = 6;
|
|
662
|
+
FAILED_RISK = 7;
|
|
663
|
+
FAILED_PROCESSING = 8;
|
|
664
|
+
FAILED_RECEIVER_PROCESSING = 9;
|
|
665
|
+
FAILED_DA = 10;
|
|
666
|
+
FAILED_DA_FINAL = 11;
|
|
667
|
+
REFUNDED_TXN = 12;
|
|
668
|
+
REFUND_FAILED = 13;
|
|
669
|
+
REFUND_FAILED_PROCESSING = 14;
|
|
670
|
+
REFUND_FAILED_DA = 15;
|
|
671
|
+
EXPIRED_TXN = 16;
|
|
672
|
+
AUTH_CANCELED = 17;
|
|
673
|
+
AUTH_CANCEL_FAILED_PROCESSING = 18;
|
|
674
|
+
AUTH_CANCEL_FAILED = 19;
|
|
675
|
+
COLLECT_INIT = 20;
|
|
676
|
+
COLLECT_SUCCESS = 21;
|
|
677
|
+
COLLECT_FAILED = 22;
|
|
678
|
+
COLLECT_FAILED_RISK = 23;
|
|
679
|
+
COLLECT_REJECTED = 24;
|
|
680
|
+
COLLECT_EXPIRED = 25;
|
|
681
|
+
COLLECT_CANCELED = 26;
|
|
682
|
+
COLLECT_CANCELLING = 27;
|
|
683
|
+
}
|
|
684
|
+
optional PAYMENT_INFO_TXNSTATUS txnStatus = 10;
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
message WebMessageInfo {
|
|
688
|
+
required MessageKey key = 1;
|
|
689
|
+
optional Message message = 2;
|
|
690
|
+
optional uint64 messageTimestamp = 3;
|
|
691
|
+
enum WEB_MESSAGE_INFO_STATUS {
|
|
692
|
+
ERROR = 0;
|
|
693
|
+
PENDING = 1;
|
|
694
|
+
SERVER_ACK = 2;
|
|
695
|
+
DELIVERY_ACK = 3;
|
|
696
|
+
READ = 4;
|
|
697
|
+
PLAYED = 5;
|
|
698
|
+
}
|
|
699
|
+
optional WEB_MESSAGE_INFO_STATUS status = 4;
|
|
700
|
+
optional string participant = 5;
|
|
701
|
+
optional bool ignore = 16;
|
|
702
|
+
optional bool starred = 17;
|
|
703
|
+
optional bool broadcast = 18;
|
|
704
|
+
optional string pushName = 19;
|
|
705
|
+
optional bytes mediaCiphertextSha256 = 20;
|
|
706
|
+
optional bool multicast = 21;
|
|
707
|
+
optional bool urlText = 22;
|
|
708
|
+
optional bool urlNumber = 23;
|
|
709
|
+
enum WEB_MESSAGE_INFO_STUBTYPE {
|
|
710
|
+
UNKNOWN = 0;
|
|
711
|
+
REVOKE = 1;
|
|
712
|
+
CIPHERTEXT = 2;
|
|
713
|
+
FUTUREPROOF = 3;
|
|
714
|
+
NON_VERIFIED_TRANSITION = 4;
|
|
715
|
+
UNVERIFIED_TRANSITION = 5;
|
|
716
|
+
VERIFIED_TRANSITION = 6;
|
|
717
|
+
VERIFIED_LOW_UNKNOWN = 7;
|
|
718
|
+
VERIFIED_HIGH = 8;
|
|
719
|
+
VERIFIED_INITIAL_UNKNOWN = 9;
|
|
720
|
+
VERIFIED_INITIAL_LOW = 10;
|
|
721
|
+
VERIFIED_INITIAL_HIGH = 11;
|
|
722
|
+
VERIFIED_TRANSITION_ANY_TO_NONE = 12;
|
|
723
|
+
VERIFIED_TRANSITION_ANY_TO_HIGH = 13;
|
|
724
|
+
VERIFIED_TRANSITION_HIGH_TO_LOW = 14;
|
|
725
|
+
VERIFIED_TRANSITION_HIGH_TO_UNKNOWN = 15;
|
|
726
|
+
VERIFIED_TRANSITION_UNKNOWN_TO_LOW = 16;
|
|
727
|
+
VERIFIED_TRANSITION_LOW_TO_UNKNOWN = 17;
|
|
728
|
+
VERIFIED_TRANSITION_NONE_TO_LOW = 18;
|
|
729
|
+
VERIFIED_TRANSITION_NONE_TO_UNKNOWN = 19;
|
|
730
|
+
GROUP_CREATE = 20;
|
|
731
|
+
GROUP_CHANGE_SUBJECT = 21;
|
|
732
|
+
GROUP_CHANGE_ICON = 22;
|
|
733
|
+
GROUP_CHANGE_INVITE_LINK = 23;
|
|
734
|
+
GROUP_CHANGE_DESCRIPTION = 24;
|
|
735
|
+
GROUP_CHANGE_RESTRICT = 25;
|
|
736
|
+
GROUP_CHANGE_ANNOUNCE = 26;
|
|
737
|
+
GROUP_PARTICIPANT_ADD = 27;
|
|
738
|
+
GROUP_PARTICIPANT_REMOVE = 28;
|
|
739
|
+
GROUP_PARTICIPANT_PROMOTE = 29;
|
|
740
|
+
GROUP_PARTICIPANT_DEMOTE = 30;
|
|
741
|
+
GROUP_PARTICIPANT_INVITE = 31;
|
|
742
|
+
GROUP_PARTICIPANT_LEAVE = 32;
|
|
743
|
+
GROUP_PARTICIPANT_CHANGE_NUMBER = 33;
|
|
744
|
+
BROADCAST_CREATE = 34;
|
|
745
|
+
BROADCAST_ADD = 35;
|
|
746
|
+
BROADCAST_REMOVE = 36;
|
|
747
|
+
GENERIC_NOTIFICATION = 37;
|
|
748
|
+
E2E_IDENTITY_CHANGED = 38;
|
|
749
|
+
E2E_ENCRYPTED = 39;
|
|
750
|
+
CALL_MISSED_VOICE = 40;
|
|
751
|
+
CALL_MISSED_VIDEO = 41;
|
|
752
|
+
INDIVIDUAL_CHANGE_NUMBER = 42;
|
|
753
|
+
GROUP_DELETE = 43;
|
|
754
|
+
GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE = 44;
|
|
755
|
+
CALL_MISSED_GROUP_VOICE = 45;
|
|
756
|
+
CALL_MISSED_GROUP_VIDEO = 46;
|
|
757
|
+
PAYMENT_CIPHERTEXT = 47;
|
|
758
|
+
PAYMENT_FUTUREPROOF = 48;
|
|
759
|
+
PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED = 49;
|
|
760
|
+
PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED = 50;
|
|
761
|
+
PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED = 51;
|
|
762
|
+
PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP = 52;
|
|
763
|
+
PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP = 53;
|
|
764
|
+
PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER = 54;
|
|
765
|
+
PAYMENT_ACTION_SEND_PAYMENT_REMINDER = 55;
|
|
766
|
+
PAYMENT_ACTION_SEND_PAYMENT_INVITATION = 56;
|
|
767
|
+
PAYMENT_ACTION_REQUEST_DECLINED = 57;
|
|
768
|
+
PAYMENT_ACTION_REQUEST_EXPIRED = 58;
|
|
769
|
+
PAYMENT_ACTION_REQUEST_CANCELLED = 59;
|
|
770
|
+
BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM = 60;
|
|
771
|
+
BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP = 61;
|
|
772
|
+
BIZ_INTRO_TOP = 62;
|
|
773
|
+
BIZ_INTRO_BOTTOM = 63;
|
|
774
|
+
BIZ_NAME_CHANGE = 64;
|
|
775
|
+
BIZ_MOVE_TO_CONSUMER_APP = 65;
|
|
776
|
+
BIZ_TWO_TIER_MIGRATION_TOP = 66;
|
|
777
|
+
BIZ_TWO_TIER_MIGRATION_BOTTOM = 67;
|
|
778
|
+
OVERSIZED = 68;
|
|
779
|
+
GROUP_CHANGE_NO_FREQUENTLY_FORWARDED = 69;
|
|
780
|
+
GROUP_V4_ADD_INVITE_SENT = 70;
|
|
781
|
+
GROUP_PARTICIPANT_ADD_REQUEST_JOIN = 71;
|
|
782
|
+
CHANGE_EPHEMERAL_SETTING = 72;
|
|
783
|
+
}
|
|
784
|
+
optional WEB_MESSAGE_INFO_STUBTYPE messageStubType = 24;
|
|
785
|
+
optional bool clearMedia = 25;
|
|
786
|
+
repeated string messageStubParameters = 26;
|
|
787
|
+
optional uint32 duration = 27;
|
|
788
|
+
repeated string labels = 28;
|
|
789
|
+
optional PaymentInfo paymentInfo = 29;
|
|
790
|
+
optional LiveLocationMessage finalLiveLocation = 30;
|
|
791
|
+
optional PaymentInfo quotedPaymentInfo = 31;
|
|
792
|
+
optional uint64 ephemeralStartTimestamp = 32;
|
|
793
|
+
optional uint32 ephemeralDuration = 33;
|
|
794
|
+
optional bool ephemeralOffToOn = 34;
|
|
795
|
+
}
|