@neelegirl/baileys 1.5.6 → 1.5.8

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