@meshcore-cz/meshpkt 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/wasm.gen.js CHANGED
@@ -50,3 +50,1561 @@ export const PayloadTypes = [
50
50
  { code: 0x0b, label: "CONTROL" },
51
51
  { code: 0x0f, label: "RAW_CUSTOM" },
52
52
  ];
53
+ export const OpMetas = [
54
+ {
55
+ name: "encodeGroupText",
56
+ category: "encode",
57
+ label: "Encode channel message",
58
+ tabGroup: "grptxt",
59
+ tabGroupLabel: "GRP_TXT",
60
+ tabGroupSub: "channel message",
61
+ tabGroupDoc: "A text message broadcast to everyone sharing a channel. Encrypted with AES-128-ECB plus a 2-byte HMAC-SHA256 tag, using a 16-byte key derived from the channel name — or supplied directly as a raw channel secret.",
62
+ tabLabel: "By name",
63
+ packetType: "",
64
+ resultTypeName: "HexResult",
65
+ params: [
66
+ {
67
+ name: "channelName",
68
+ kind: "string",
69
+ label: "Channel name",
70
+ placeholder: "#test",
71
+ optional: false,
72
+ choices: [],
73
+ showWhen: "",
74
+ showValue: 0,
75
+ group: "",
76
+ action: "",
77
+ widget: "",
78
+ autoFill: "",
79
+ secret: false,
80
+ },
81
+ {
82
+ name: "sender",
83
+ kind: "string",
84
+ label: "Sender name",
85
+ placeholder: "Alice",
86
+ optional: false,
87
+ choices: [],
88
+ showWhen: "",
89
+ showValue: 0,
90
+ group: "",
91
+ action: "",
92
+ widget: "",
93
+ autoFill: "",
94
+ secret: false,
95
+ },
96
+ {
97
+ name: "text",
98
+ kind: "string",
99
+ label: "Message",
100
+ placeholder: "Hello mesh!",
101
+ optional: false,
102
+ choices: [],
103
+ showWhen: "",
104
+ showValue: 0,
105
+ group: "",
106
+ action: "",
107
+ widget: "textarea",
108
+ autoFill: "",
109
+ secret: false,
110
+ },
111
+ ],
112
+ result: [
113
+ { name: "hex", kind: "string", optional: false, label: "Hex packet" },
114
+ ],
115
+ },
116
+ {
117
+ name: "encodeGroupTextSecret",
118
+ category: "encode",
119
+ label: "Encode channel message (by secret)",
120
+ tabGroup: "grptxt",
121
+ tabGroupLabel: "GRP_TXT",
122
+ tabGroupSub: "channel message",
123
+ tabGroupDoc: "",
124
+ tabLabel: "By secret",
125
+ packetType: "",
126
+ resultTypeName: "EncodeGroupTextSecretResult",
127
+ params: [
128
+ {
129
+ name: "secret",
130
+ kind: "hex",
131
+ label: "Channel secret (16 bytes)",
132
+ placeholder: "32 hex chars",
133
+ optional: false,
134
+ choices: [],
135
+ showWhen: "",
136
+ showValue: 0,
137
+ group: "",
138
+ action: "",
139
+ widget: "",
140
+ autoFill: "",
141
+ secret: true,
142
+ },
143
+ {
144
+ name: "sender",
145
+ kind: "string",
146
+ label: "Sender name",
147
+ placeholder: "Alice",
148
+ optional: false,
149
+ choices: [],
150
+ showWhen: "",
151
+ showValue: 0,
152
+ group: "",
153
+ action: "",
154
+ widget: "",
155
+ autoFill: "",
156
+ secret: false,
157
+ },
158
+ {
159
+ name: "text",
160
+ kind: "string",
161
+ label: "Message",
162
+ placeholder: "Hello mesh!",
163
+ optional: false,
164
+ choices: [],
165
+ showWhen: "",
166
+ showValue: 0,
167
+ group: "",
168
+ action: "",
169
+ widget: "textarea",
170
+ autoFill: "",
171
+ secret: false,
172
+ },
173
+ ],
174
+ result: [
175
+ { name: "hex", kind: "string", optional: false, label: "Hex packet" },
176
+ ],
177
+ },
178
+ {
179
+ name: "encodeGrpData",
180
+ category: "encode",
181
+ label: "Encode group datagram",
182
+ tabGroup: "grpdata",
183
+ tabGroupLabel: "GRP_DATA",
184
+ tabGroupSub: "group datagram",
185
+ tabGroupDoc: "Arbitrary binary data broadcast on a channel, secured with the same channel encryption as GRP_TXT. Used for non-text payloads such as telemetry or app-specific data, tagged with a data-type byte.",
186
+ tabLabel: "By name",
187
+ packetType: "",
188
+ resultTypeName: "HexResult",
189
+ params: [
190
+ {
191
+ name: "channelName",
192
+ kind: "string",
193
+ label: "Channel name",
194
+ placeholder: "#test",
195
+ optional: false,
196
+ choices: [],
197
+ showWhen: "",
198
+ showValue: 0,
199
+ group: "",
200
+ action: "",
201
+ widget: "",
202
+ autoFill: "",
203
+ secret: false,
204
+ },
205
+ {
206
+ name: "dataType",
207
+ kind: "int",
208
+ label: "Data type",
209
+ placeholder: "0",
210
+ optional: false,
211
+ choices: [],
212
+ showWhen: "",
213
+ showValue: 0,
214
+ group: "",
215
+ action: "",
216
+ widget: "",
217
+ autoFill: "",
218
+ secret: false,
219
+ },
220
+ {
221
+ name: "data",
222
+ kind: "hex",
223
+ label: "Data (hex)",
224
+ placeholder: "",
225
+ optional: true,
226
+ choices: [],
227
+ showWhen: "",
228
+ showValue: 0,
229
+ group: "",
230
+ action: "",
231
+ widget: "textarea",
232
+ autoFill: "",
233
+ secret: false,
234
+ },
235
+ ],
236
+ result: [
237
+ { name: "hex", kind: "string", optional: false, label: "Hex packet" },
238
+ ],
239
+ },
240
+ {
241
+ name: "encodeGrpDataSecret",
242
+ category: "encode",
243
+ label: "Encode group datagram (by secret)",
244
+ tabGroup: "grpdata",
245
+ tabGroupLabel: "GRP_DATA",
246
+ tabGroupSub: "group datagram",
247
+ tabGroupDoc: "",
248
+ tabLabel: "By secret",
249
+ packetType: "",
250
+ resultTypeName: "HexResult",
251
+ params: [
252
+ {
253
+ name: "secret",
254
+ kind: "hex",
255
+ label: "Channel secret (16 bytes)",
256
+ placeholder: "32 hex chars",
257
+ optional: false,
258
+ choices: [],
259
+ showWhen: "",
260
+ showValue: 0,
261
+ group: "",
262
+ action: "",
263
+ widget: "",
264
+ autoFill: "",
265
+ secret: true,
266
+ },
267
+ {
268
+ name: "dataType",
269
+ kind: "int",
270
+ label: "Data type",
271
+ placeholder: "0",
272
+ optional: false,
273
+ choices: [],
274
+ showWhen: "",
275
+ showValue: 0,
276
+ group: "",
277
+ action: "",
278
+ widget: "",
279
+ autoFill: "",
280
+ secret: false,
281
+ },
282
+ {
283
+ name: "data",
284
+ kind: "hex",
285
+ label: "Data (hex)",
286
+ placeholder: "",
287
+ optional: true,
288
+ choices: [],
289
+ showWhen: "",
290
+ showValue: 0,
291
+ group: "",
292
+ action: "",
293
+ widget: "textarea",
294
+ autoFill: "",
295
+ secret: false,
296
+ },
297
+ ],
298
+ result: [
299
+ { name: "hex", kind: "string", optional: false, label: "Hex packet" },
300
+ ],
301
+ },
302
+ {
303
+ name: "encodeDirectText",
304
+ category: "encode",
305
+ label: "Encode direct message",
306
+ tabGroup: "txtmsg",
307
+ tabGroupLabel: "TXT_MSG",
308
+ tabGroupSub: "direct message",
309
+ tabGroupDoc: "A private text message addressed to a single peer. Encrypted end-to-end with a shared secret derived from your private key and the peer's public key via X25519 ECDH.",
310
+ tabLabel: "",
311
+ packetType: "",
312
+ resultTypeName: "EncodeDirectTextResult",
313
+ params: [
314
+ {
315
+ name: "privKey",
316
+ kind: "string",
317
+ label: "My private key",
318
+ placeholder: "64 hex chars",
319
+ optional: false,
320
+ choices: [],
321
+ showWhen: "",
322
+ showValue: 0,
323
+ group: "",
324
+ action: "keypair",
325
+ widget: "",
326
+ autoFill: "",
327
+ secret: true,
328
+ },
329
+ {
330
+ name: "peerPubKey",
331
+ kind: "string",
332
+ label: "Peer public key",
333
+ placeholder: "64 hex chars",
334
+ optional: false,
335
+ choices: [],
336
+ showWhen: "",
337
+ showValue: 0,
338
+ group: "",
339
+ action: "",
340
+ widget: "",
341
+ autoFill: "",
342
+ secret: false,
343
+ },
344
+ {
345
+ name: "text",
346
+ kind: "string",
347
+ label: "Message",
348
+ placeholder: "Hello!",
349
+ optional: false,
350
+ choices: [],
351
+ showWhen: "",
352
+ showValue: 0,
353
+ group: "",
354
+ action: "",
355
+ widget: "textarea",
356
+ autoFill: "",
357
+ secret: false,
358
+ },
359
+ ],
360
+ result: [
361
+ { name: "hex", kind: "string", optional: false, label: "Hex packet" },
362
+ ],
363
+ },
364
+ {
365
+ name: "encodeAdvert",
366
+ category: "encode",
367
+ label: "Encode ADVERT",
368
+ tabGroup: "advert",
369
+ tabGroupLabel: "ADVERT",
370
+ tabGroupSub: "node advertisement",
371
+ tabGroupDoc: "A self-announcement broadcast so other nodes can discover this one. Carries the node's public key, name, type, and optional GPS position. The contents are public and not encrypted.",
372
+ tabLabel: "",
373
+ packetType: "",
374
+ resultTypeName: "HexResult",
375
+ params: [
376
+ {
377
+ name: "pubKey",
378
+ kind: "hex",
379
+ label: "Public key (32 bytes)",
380
+ placeholder: "64 hex chars",
381
+ optional: false,
382
+ choices: [],
383
+ showWhen: "",
384
+ showValue: 0,
385
+ group: "",
386
+ action: "keypair-pub",
387
+ widget: "",
388
+ autoFill: "",
389
+ secret: false,
390
+ },
391
+ {
392
+ name: "signature",
393
+ kind: "hex",
394
+ label: "Signature (optional, 64 bytes)",
395
+ placeholder: "leave empty for zeros",
396
+ optional: true,
397
+ choices: [],
398
+ showWhen: "",
399
+ showValue: 0,
400
+ group: "",
401
+ action: "",
402
+ widget: "",
403
+ autoFill: "",
404
+ secret: false,
405
+ },
406
+ {
407
+ name: "name",
408
+ kind: "string",
409
+ label: "Node name",
410
+ placeholder: "Alice's node",
411
+ optional: false,
412
+ choices: [],
413
+ showWhen: "",
414
+ showValue: 0,
415
+ group: "",
416
+ action: "",
417
+ widget: "",
418
+ autoFill: "",
419
+ secret: false,
420
+ },
421
+ {
422
+ name: "hasGPS",
423
+ kind: "int",
424
+ label: "Include GPS coordinates",
425
+ placeholder: "",
426
+ optional: false,
427
+ choices: [],
428
+ showWhen: "",
429
+ showValue: 0,
430
+ group: "",
431
+ action: "",
432
+ widget: "checkbox",
433
+ autoFill: "",
434
+ secret: false,
435
+ },
436
+ {
437
+ name: "lat",
438
+ kind: "float",
439
+ label: "Latitude (°)",
440
+ placeholder: "51.5074",
441
+ optional: false,
442
+ choices: [],
443
+ showWhen: "hasGPS",
444
+ showValue: 1,
445
+ group: "gps",
446
+ action: "",
447
+ widget: "",
448
+ autoFill: "",
449
+ secret: false,
450
+ },
451
+ {
452
+ name: "lon",
453
+ kind: "float",
454
+ label: "Longitude (°)",
455
+ placeholder: "-0.1278",
456
+ optional: false,
457
+ choices: [],
458
+ showWhen: "hasGPS",
459
+ showValue: 1,
460
+ group: "gps",
461
+ action: "",
462
+ widget: "",
463
+ autoFill: "",
464
+ secret: false,
465
+ },
466
+ ],
467
+ result: [
468
+ { name: "hex", kind: "string", optional: false, label: "Hex packet" },
469
+ ],
470
+ },
471
+ {
472
+ name: "encodeAck",
473
+ category: "encode",
474
+ label: "Encode ACK",
475
+ tabGroup: "ack",
476
+ tabGroupLabel: "ACK",
477
+ tabGroupSub: "acknowledgement",
478
+ tabGroupDoc: "A minimal packet confirming receipt of an earlier message. Carries only a CRC32 that identifies the packet being acknowledged.",
479
+ tabLabel: "",
480
+ packetType: "",
481
+ resultTypeName: "HexResult",
482
+ params: [
483
+ {
484
+ name: "crc",
485
+ kind: "int",
486
+ label: "CRC32 value",
487
+ placeholder: "0",
488
+ optional: false,
489
+ choices: [],
490
+ showWhen: "",
491
+ showValue: 0,
492
+ group: "",
493
+ action: "",
494
+ widget: "",
495
+ autoFill: "",
496
+ secret: false,
497
+ },
498
+ ],
499
+ result: [
500
+ { name: "hex", kind: "string", optional: false, label: "Hex packet" },
501
+ ],
502
+ },
503
+ {
504
+ name: "encodeReq",
505
+ category: "encode",
506
+ label: "Encode request",
507
+ tabGroup: "req",
508
+ tabGroupLabel: "REQ",
509
+ tabGroupSub: "request",
510
+ tabGroupDoc: "An encrypted request sent to a known peer (e.g. login, get stats, keepalive). Uses X25519 ECDH shared-secret encryption with a request-type byte selecting the operation.",
511
+ tabLabel: "",
512
+ packetType: "",
513
+ resultTypeName: "HexResult",
514
+ params: [
515
+ {
516
+ name: "privKey",
517
+ kind: "string",
518
+ label: "My private key",
519
+ placeholder: "64 hex chars",
520
+ optional: false,
521
+ choices: [],
522
+ showWhen: "",
523
+ showValue: 0,
524
+ group: "",
525
+ action: "keypair",
526
+ widget: "",
527
+ autoFill: "",
528
+ secret: true,
529
+ },
530
+ {
531
+ name: "peerPubKey",
532
+ kind: "string",
533
+ label: "Peer public key",
534
+ placeholder: "64 hex chars",
535
+ optional: false,
536
+ choices: [],
537
+ showWhen: "",
538
+ showValue: 0,
539
+ group: "",
540
+ action: "",
541
+ widget: "",
542
+ autoFill: "",
543
+ secret: false,
544
+ },
545
+ {
546
+ name: "reqType",
547
+ kind: "int",
548
+ label: "Request type",
549
+ placeholder: "",
550
+ optional: false,
551
+ choices: [
552
+ { value: 0, label: "Custom" },
553
+ { value: 1, label: "Get stats" },
554
+ { value: 2, label: "Keepalive" },
555
+ { value: 3, label: "Clock+status" },
556
+ ],
557
+ showWhen: "",
558
+ showValue: 0,
559
+ group: "",
560
+ action: "",
561
+ widget: "",
562
+ autoFill: "",
563
+ secret: false,
564
+ },
565
+ {
566
+ name: "data",
567
+ kind: "hex",
568
+ label: "Extra data (hex)",
569
+ placeholder: "",
570
+ optional: true,
571
+ choices: [],
572
+ showWhen: "",
573
+ showValue: 0,
574
+ group: "",
575
+ action: "",
576
+ widget: "textarea",
577
+ autoFill: "",
578
+ secret: false,
579
+ },
580
+ ],
581
+ result: [
582
+ { name: "hex", kind: "string", optional: false, label: "Hex packet" },
583
+ ],
584
+ },
585
+ {
586
+ name: "encodeAnonReq",
587
+ category: "encode",
588
+ label: "Encode anonymous request",
589
+ tabGroup: "anonreq",
590
+ tabGroupLabel: "ANON_REQ",
591
+ tabGroupSub: "anonymous request",
592
+ tabGroupDoc: "A first-contact request from a sender the recipient doesn't yet know. The sender's ephemeral public key is embedded so the recipient can derive the shared ECDH secret — used when initially connecting to a repeater or room server.",
593
+ tabLabel: "",
594
+ packetType: "",
595
+ resultTypeName: "HexResult",
596
+ params: [
597
+ {
598
+ name: "destPubKey",
599
+ kind: "hex",
600
+ label: "Destination public key (32 bytes)",
601
+ placeholder: "64 hex chars",
602
+ optional: false,
603
+ choices: [],
604
+ showWhen: "",
605
+ showValue: 0,
606
+ group: "",
607
+ action: "",
608
+ widget: "",
609
+ autoFill: "",
610
+ secret: false,
611
+ },
612
+ {
613
+ name: "myPrivKey",
614
+ kind: "string",
615
+ label: "My private key",
616
+ placeholder: "64 hex chars",
617
+ optional: false,
618
+ choices: [],
619
+ showWhen: "",
620
+ showValue: 0,
621
+ group: "",
622
+ action: "keypair",
623
+ widget: "",
624
+ autoFill: "",
625
+ secret: true,
626
+ },
627
+ {
628
+ name: "data",
629
+ kind: "hex",
630
+ label: "Request body (hex)",
631
+ placeholder: "",
632
+ optional: true,
633
+ choices: [],
634
+ showWhen: "",
635
+ showValue: 0,
636
+ group: "",
637
+ action: "",
638
+ widget: "textarea",
639
+ autoFill: "",
640
+ secret: false,
641
+ },
642
+ ],
643
+ result: [
644
+ { name: "hex", kind: "string", optional: false, label: "Hex packet" },
645
+ ],
646
+ },
647
+ {
648
+ name: "encodeDiscoverReq",
649
+ category: "encode",
650
+ label: "Encode CONTROL/DISCOVER_REQ",
651
+ tabGroup: "control",
652
+ tabGroupLabel: "CONTROL",
653
+ tabGroupSub: "control data",
654
+ tabGroupDoc: "Protocol control packets such as discovery requests and responses. They carry a sub-type and flags rather than user content, and are used for node discovery and network management.",
655
+ tabLabel: "",
656
+ packetType: "",
657
+ resultTypeName: "HexResult",
658
+ params: [
659
+ {
660
+ name: "typeFilter",
661
+ kind: "int",
662
+ label: "Node type filter",
663
+ placeholder: "",
664
+ optional: false,
665
+ choices: [
666
+ { value: 0, label: "All nodes" },
667
+ { value: 1, label: "Chat" },
668
+ { value: 2, label: "Repeater" },
669
+ { value: 4, label: "Room" },
670
+ { value: 8, label: "Sensor" },
671
+ ],
672
+ showWhen: "",
673
+ showValue: 0,
674
+ group: "",
675
+ action: "",
676
+ widget: "",
677
+ autoFill: "",
678
+ secret: false,
679
+ },
680
+ {
681
+ name: "tag",
682
+ kind: "int",
683
+ label: "Random tag",
684
+ placeholder: "0",
685
+ optional: false,
686
+ choices: [],
687
+ showWhen: "",
688
+ showValue: 0,
689
+ group: "",
690
+ action: "",
691
+ widget: "",
692
+ autoFill: "",
693
+ secret: false,
694
+ },
695
+ {
696
+ name: "since",
697
+ kind: "int",
698
+ label: "Since (epoch, 0=all)",
699
+ placeholder: "0",
700
+ optional: true,
701
+ choices: [],
702
+ showWhen: "",
703
+ showValue: 0,
704
+ group: "",
705
+ action: "",
706
+ widget: "",
707
+ autoFill: "",
708
+ secret: false,
709
+ },
710
+ {
711
+ name: "prefixOnly",
712
+ kind: "int",
713
+ label: "Prefix-key response only",
714
+ placeholder: "",
715
+ optional: false,
716
+ choices: [],
717
+ showWhen: "",
718
+ showValue: 0,
719
+ group: "",
720
+ action: "",
721
+ widget: "checkbox",
722
+ autoFill: "",
723
+ secret: false,
724
+ },
725
+ ],
726
+ result: [
727
+ { name: "hex", kind: "string", optional: false, label: "Hex packet" },
728
+ ],
729
+ },
730
+ {
731
+ name: "encodeRaw",
732
+ category: "encode",
733
+ label: "Encode raw packet",
734
+ tabGroup: "raw",
735
+ tabGroupLabel: "RAW",
736
+ tabGroupSub: "any type",
737
+ tabGroupDoc: "Build a packet from raw header fields (route, payload type, version, path-hash size) and an arbitrary payload hex blob — bypassing the typed encoders. Useful for manual construction and experimentation.",
738
+ tabLabel: "",
739
+ packetType: "",
740
+ resultTypeName: "EncodeRawResult",
741
+ params: [
742
+ {
743
+ name: "route",
744
+ kind: "int",
745
+ label: "Route type",
746
+ placeholder: "",
747
+ optional: false,
748
+ choices: [
749
+ { value: 0, label: "TRANSPORT_FLOOD" },
750
+ { value: 1, label: "FLOOD" },
751
+ { value: 2, label: "DIRECT" },
752
+ { value: 3, label: "TRANSPORT_DIRECT" },
753
+ ],
754
+ showWhen: "",
755
+ showValue: 0,
756
+ group: "hdr",
757
+ action: "",
758
+ widget: "",
759
+ autoFill: "",
760
+ secret: false,
761
+ },
762
+ {
763
+ name: "payloadType",
764
+ kind: "int",
765
+ label: "Payload type",
766
+ placeholder: "",
767
+ optional: false,
768
+ choices: [
769
+ { value: 0, label: "REQ" },
770
+ { value: 1, label: "RESPONSE" },
771
+ { value: 2, label: "TXT_MSG" },
772
+ { value: 3, label: "ACK" },
773
+ { value: 4, label: "ADVERT" },
774
+ { value: 5, label: "GRP_TXT" },
775
+ { value: 6, label: "GRP_DATA" },
776
+ { value: 7, label: "ANON_REQ" },
777
+ { value: 8, label: "PATH" },
778
+ { value: 9, label: "TRACE" },
779
+ { value: 10, label: "MULTIPART" },
780
+ { value: 11, label: "CONTROL" },
781
+ { value: 15, label: "RAW_CUSTOM" },
782
+ ],
783
+ showWhen: "",
784
+ showValue: 0,
785
+ group: "hdr",
786
+ action: "",
787
+ widget: "",
788
+ autoFill: "",
789
+ secret: false,
790
+ },
791
+ {
792
+ name: "version",
793
+ kind: "int",
794
+ label: "Version (0–3)",
795
+ placeholder: "0",
796
+ optional: false,
797
+ choices: [],
798
+ showWhen: "",
799
+ showValue: 0,
800
+ group: "ver",
801
+ action: "",
802
+ widget: "",
803
+ autoFill: "",
804
+ secret: false,
805
+ },
806
+ {
807
+ name: "pathHashSize",
808
+ kind: "int",
809
+ label: "Path hash size",
810
+ placeholder: "",
811
+ optional: false,
812
+ choices: [
813
+ { value: 1, label: "1" },
814
+ { value: 2, label: "2" },
815
+ { value: 3, label: "3" },
816
+ { value: 4, label: "4" },
817
+ ],
818
+ showWhen: "",
819
+ showValue: 0,
820
+ group: "ver",
821
+ action: "",
822
+ widget: "",
823
+ autoFill: "",
824
+ secret: false,
825
+ },
826
+ {
827
+ name: "payload",
828
+ kind: "hex",
829
+ label: "Payload (hex)",
830
+ placeholder: "empty = bare packet",
831
+ optional: true,
832
+ choices: [],
833
+ showWhen: "",
834
+ showValue: 0,
835
+ group: "",
836
+ action: "",
837
+ widget: "textarea",
838
+ autoFill: "",
839
+ secret: false,
840
+ },
841
+ ],
842
+ result: [
843
+ { name: "hex", kind: "string", optional: false, label: "Hex packet" },
844
+ ],
845
+ },
846
+ {
847
+ name: "decodeEnvelope",
848
+ category: "decode",
849
+ label: "Decode packet envelope",
850
+ tabGroup: "",
851
+ tabGroupLabel: "",
852
+ tabGroupSub: "",
853
+ tabGroupDoc: "",
854
+ tabLabel: "",
855
+ packetType: "",
856
+ resultTypeName: "Envelope",
857
+ params: [
858
+ {
859
+ name: "packet",
860
+ kind: "hex",
861
+ label: "Hex packet",
862
+ placeholder: "",
863
+ optional: false,
864
+ choices: [],
865
+ showWhen: "",
866
+ showValue: 0,
867
+ group: "",
868
+ action: "",
869
+ widget: "",
870
+ autoFill: "",
871
+ secret: false,
872
+ },
873
+ ],
874
+ result: [
875
+ { name: "route", kind: "string", optional: false, label: "Route" },
876
+ { name: "routeCode", kind: "number", optional: false, label: "Route code" },
877
+ { name: "type", kind: "string", optional: false, label: "Payload type" },
878
+ { name: "typeCode", kind: "number", optional: false, label: "Type code" },
879
+ { name: "version", kind: "number", optional: false, label: "Version" },
880
+ { name: "pathHashSize", kind: "number", optional: false, label: "Path hash size" },
881
+ { name: "hopCount", kind: "number", optional: false, label: "Hop count" },
882
+ { name: "hops", kind: "string[]", optional: false, label: "Hops" },
883
+ { name: "payloadHex", kind: "string", optional: false, label: "Payload (hex)" },
884
+ { name: "isTransport", kind: "boolean", optional: false, label: "Is transport" },
885
+ { name: "transportCodes", kind: "[number, number]", optional: true, label: "Transport codes" },
886
+ ],
887
+ },
888
+ {
889
+ name: "decodeGroupText",
890
+ category: "decode",
891
+ label: "Decrypt GRP_TXT by channel name",
892
+ tabGroup: "grptxt",
893
+ tabGroupLabel: "",
894
+ tabGroupSub: "",
895
+ tabGroupDoc: "",
896
+ tabLabel: "By name",
897
+ packetType: "GRP_TXT",
898
+ resultTypeName: "GroupTextPayload",
899
+ params: [
900
+ {
901
+ name: "payload",
902
+ kind: "hex",
903
+ label: "",
904
+ placeholder: "",
905
+ optional: false,
906
+ choices: [],
907
+ showWhen: "",
908
+ showValue: 0,
909
+ group: "",
910
+ action: "",
911
+ widget: "",
912
+ autoFill: "payloadHex",
913
+ secret: false,
914
+ },
915
+ {
916
+ name: "channelName",
917
+ kind: "string",
918
+ label: "Channel name",
919
+ placeholder: "#test",
920
+ optional: false,
921
+ choices: [],
922
+ showWhen: "",
923
+ showValue: 0,
924
+ group: "",
925
+ action: "",
926
+ widget: "",
927
+ autoFill: "",
928
+ secret: false,
929
+ },
930
+ ],
931
+ result: [
932
+ { name: "sender", kind: "string", optional: false, label: "Sender" },
933
+ { name: "text", kind: "string", optional: false, label: "Message" },
934
+ { name: "timestamp", kind: "number", optional: false, label: "Timestamp" },
935
+ { name: "txtType", kind: "number", optional: false, label: "Type code" },
936
+ { name: "attempt", kind: "number", optional: false, label: "Attempt" },
937
+ { name: "channelHash", kind: "string", optional: false, label: "Channel hash" },
938
+ ],
939
+ },
940
+ {
941
+ name: "decodeGroupTextSecret",
942
+ category: "decode",
943
+ label: "Decrypt GRP_TXT by channel secret",
944
+ tabGroup: "grptxt",
945
+ tabGroupLabel: "",
946
+ tabGroupSub: "",
947
+ tabGroupDoc: "",
948
+ tabLabel: "By secret",
949
+ packetType: "GRP_TXT",
950
+ resultTypeName: "DecodeGroupTextSecretResult",
951
+ params: [
952
+ {
953
+ name: "payload",
954
+ kind: "hex",
955
+ label: "",
956
+ placeholder: "",
957
+ optional: false,
958
+ choices: [],
959
+ showWhen: "",
960
+ showValue: 0,
961
+ group: "",
962
+ action: "",
963
+ widget: "",
964
+ autoFill: "payloadHex",
965
+ secret: false,
966
+ },
967
+ {
968
+ name: "secret",
969
+ kind: "hex",
970
+ label: "Channel secret (16 bytes)",
971
+ placeholder: "32 hex chars",
972
+ optional: false,
973
+ choices: [],
974
+ showWhen: "",
975
+ showValue: 0,
976
+ group: "",
977
+ action: "",
978
+ widget: "",
979
+ autoFill: "",
980
+ secret: true,
981
+ },
982
+ ],
983
+ result: [
984
+ { name: "sender", kind: "string", optional: false, label: "Sender" },
985
+ { name: "text", kind: "string", optional: false, label: "Message" },
986
+ { name: "timestamp", kind: "number", optional: false, label: "Timestamp" },
987
+ { name: "txtType", kind: "number", optional: false, label: "Type code" },
988
+ { name: "attempt", kind: "number", optional: false, label: "Attempt" },
989
+ { name: "channelHash", kind: "string", optional: false, label: "Channel hash" },
990
+ ],
991
+ },
992
+ {
993
+ name: "decodeDirectText",
994
+ category: "decode",
995
+ label: "Decrypt TXT_MSG",
996
+ tabGroup: "",
997
+ tabGroupLabel: "",
998
+ tabGroupSub: "",
999
+ tabGroupDoc: "",
1000
+ tabLabel: "",
1001
+ packetType: "TXT_MSG",
1002
+ resultTypeName: "DirectTextPayload",
1003
+ params: [
1004
+ {
1005
+ name: "payload",
1006
+ kind: "hex",
1007
+ label: "",
1008
+ placeholder: "",
1009
+ optional: false,
1010
+ choices: [],
1011
+ showWhen: "",
1012
+ showValue: 0,
1013
+ group: "",
1014
+ action: "",
1015
+ widget: "",
1016
+ autoFill: "payloadHex",
1017
+ secret: false,
1018
+ },
1019
+ {
1020
+ name: "privKey",
1021
+ kind: "string",
1022
+ label: "My private key",
1023
+ placeholder: "64 hex chars",
1024
+ optional: false,
1025
+ choices: [],
1026
+ showWhen: "",
1027
+ showValue: 0,
1028
+ group: "",
1029
+ action: "keypair",
1030
+ widget: "",
1031
+ autoFill: "",
1032
+ secret: true,
1033
+ },
1034
+ {
1035
+ name: "peerPubKey",
1036
+ kind: "string",
1037
+ label: "Peer public key",
1038
+ placeholder: "64 hex chars",
1039
+ optional: false,
1040
+ choices: [],
1041
+ showWhen: "",
1042
+ showValue: 0,
1043
+ group: "",
1044
+ action: "",
1045
+ widget: "",
1046
+ autoFill: "",
1047
+ secret: false,
1048
+ },
1049
+ ],
1050
+ result: [
1051
+ { name: "destHash", kind: "string", optional: false, label: "Dest node hash" },
1052
+ { name: "srcHash", kind: "string", optional: false, label: "Src node hash" },
1053
+ { name: "text", kind: "string", optional: false, label: "Message" },
1054
+ { name: "timestamp", kind: "number", optional: false, label: "Timestamp" },
1055
+ { name: "txtType", kind: "number", optional: false, label: "Type code" },
1056
+ { name: "attempt", kind: "number", optional: false, label: "Attempt" },
1057
+ ],
1058
+ },
1059
+ {
1060
+ name: "decodeAdvert",
1061
+ category: "decode",
1062
+ label: "Decode ADVERT",
1063
+ tabGroup: "",
1064
+ tabGroupLabel: "",
1065
+ tabGroupSub: "",
1066
+ tabGroupDoc: "",
1067
+ tabLabel: "",
1068
+ packetType: "ADVERT",
1069
+ resultTypeName: "AdvertPayload",
1070
+ params: [
1071
+ {
1072
+ name: "payload",
1073
+ kind: "hex",
1074
+ label: "",
1075
+ placeholder: "",
1076
+ optional: false,
1077
+ choices: [],
1078
+ showWhen: "",
1079
+ showValue: 0,
1080
+ group: "",
1081
+ action: "",
1082
+ widget: "",
1083
+ autoFill: "payloadHex",
1084
+ secret: false,
1085
+ },
1086
+ ],
1087
+ result: [
1088
+ { name: "publicKey", kind: "string", optional: false, label: "Public key" },
1089
+ { name: "timestamp", kind: "number", optional: false, label: "Timestamp" },
1090
+ { name: "name", kind: "string", optional: false, label: "Node name" },
1091
+ { name: "nodeType", kind: "number", optional: false, label: "Node type" },
1092
+ { name: "hasGPS", kind: "boolean", optional: false, label: "Has GPS" },
1093
+ { name: "lat", kind: "number", optional: true, label: "Latitude" },
1094
+ { name: "lon", kind: "number", optional: true, label: "Longitude" },
1095
+ ],
1096
+ },
1097
+ {
1098
+ name: "decodeAck",
1099
+ category: "decode",
1100
+ label: "Decode ACK",
1101
+ tabGroup: "",
1102
+ tabGroupLabel: "",
1103
+ tabGroupSub: "",
1104
+ tabGroupDoc: "",
1105
+ tabLabel: "",
1106
+ packetType: "ACK",
1107
+ resultTypeName: "AckPayload",
1108
+ params: [
1109
+ {
1110
+ name: "payload",
1111
+ kind: "hex",
1112
+ label: "",
1113
+ placeholder: "",
1114
+ optional: false,
1115
+ choices: [],
1116
+ showWhen: "",
1117
+ showValue: 0,
1118
+ group: "",
1119
+ action: "",
1120
+ widget: "",
1121
+ autoFill: "payloadHex",
1122
+ secret: false,
1123
+ },
1124
+ ],
1125
+ result: [
1126
+ { name: "crc", kind: "number", optional: false, label: "CRC32" },
1127
+ { name: "crcHex", kind: "string", optional: false, label: "CRC32 (hex)" },
1128
+ ],
1129
+ },
1130
+ {
1131
+ name: "decodeGrpData",
1132
+ category: "decode",
1133
+ label: "Decode GRP_DATA by channel name",
1134
+ tabGroup: "grpdata",
1135
+ tabGroupLabel: "",
1136
+ tabGroupSub: "",
1137
+ tabGroupDoc: "",
1138
+ tabLabel: "By name",
1139
+ packetType: "GRP_DATA",
1140
+ resultTypeName: "GrpDataPayload",
1141
+ params: [
1142
+ {
1143
+ name: "payload",
1144
+ kind: "hex",
1145
+ label: "",
1146
+ placeholder: "",
1147
+ optional: false,
1148
+ choices: [],
1149
+ showWhen: "",
1150
+ showValue: 0,
1151
+ group: "",
1152
+ action: "",
1153
+ widget: "",
1154
+ autoFill: "payloadHex",
1155
+ secret: false,
1156
+ },
1157
+ {
1158
+ name: "channelName",
1159
+ kind: "string",
1160
+ label: "Channel name",
1161
+ placeholder: "#test",
1162
+ optional: false,
1163
+ choices: [],
1164
+ showWhen: "",
1165
+ showValue: 0,
1166
+ group: "",
1167
+ action: "",
1168
+ widget: "",
1169
+ autoFill: "",
1170
+ secret: false,
1171
+ },
1172
+ ],
1173
+ result: [
1174
+ { name: "channelHash", kind: "string", optional: false, label: "Channel hash" },
1175
+ { name: "dataType", kind: "number", optional: false, label: "Data type" },
1176
+ { name: "dataHex", kind: "string", optional: false, label: "Data" },
1177
+ ],
1178
+ },
1179
+ {
1180
+ name: "decodeGrpDataSecret",
1181
+ category: "decode",
1182
+ label: "Decode GRP_DATA by channel secret",
1183
+ tabGroup: "grpdata",
1184
+ tabGroupLabel: "",
1185
+ tabGroupSub: "",
1186
+ tabGroupDoc: "",
1187
+ tabLabel: "By secret",
1188
+ packetType: "GRP_DATA",
1189
+ resultTypeName: "DecodeGrpDataSecretResult",
1190
+ params: [
1191
+ {
1192
+ name: "payload",
1193
+ kind: "hex",
1194
+ label: "",
1195
+ placeholder: "",
1196
+ optional: false,
1197
+ choices: [],
1198
+ showWhen: "",
1199
+ showValue: 0,
1200
+ group: "",
1201
+ action: "",
1202
+ widget: "",
1203
+ autoFill: "payloadHex",
1204
+ secret: false,
1205
+ },
1206
+ {
1207
+ name: "secret",
1208
+ kind: "hex",
1209
+ label: "Channel secret (16 bytes)",
1210
+ placeholder: "32 hex chars",
1211
+ optional: false,
1212
+ choices: [],
1213
+ showWhen: "",
1214
+ showValue: 0,
1215
+ group: "",
1216
+ action: "",
1217
+ widget: "",
1218
+ autoFill: "",
1219
+ secret: true,
1220
+ },
1221
+ ],
1222
+ result: [
1223
+ { name: "channelHash", kind: "string", optional: false, label: "Channel hash" },
1224
+ { name: "dataType", kind: "number", optional: false, label: "Data type" },
1225
+ { name: "dataHex", kind: "string", optional: false, label: "Data" },
1226
+ ],
1227
+ },
1228
+ {
1229
+ name: "decodeReq",
1230
+ category: "decode",
1231
+ label: "Decrypt REQ",
1232
+ tabGroup: "",
1233
+ tabGroupLabel: "",
1234
+ tabGroupSub: "",
1235
+ tabGroupDoc: "",
1236
+ tabLabel: "",
1237
+ packetType: "REQ",
1238
+ resultTypeName: "ReqPayload",
1239
+ params: [
1240
+ {
1241
+ name: "payload",
1242
+ kind: "hex",
1243
+ label: "",
1244
+ placeholder: "",
1245
+ optional: false,
1246
+ choices: [],
1247
+ showWhen: "",
1248
+ showValue: 0,
1249
+ group: "",
1250
+ action: "",
1251
+ widget: "",
1252
+ autoFill: "payloadHex",
1253
+ secret: false,
1254
+ },
1255
+ {
1256
+ name: "privKey",
1257
+ kind: "string",
1258
+ label: "My private key",
1259
+ placeholder: "64 hex chars",
1260
+ optional: false,
1261
+ choices: [],
1262
+ showWhen: "",
1263
+ showValue: 0,
1264
+ group: "",
1265
+ action: "keypair",
1266
+ widget: "",
1267
+ autoFill: "",
1268
+ secret: true,
1269
+ },
1270
+ {
1271
+ name: "peerPubKey",
1272
+ kind: "string",
1273
+ label: "Peer public key",
1274
+ placeholder: "64 hex chars",
1275
+ optional: false,
1276
+ choices: [],
1277
+ showWhen: "",
1278
+ showValue: 0,
1279
+ group: "",
1280
+ action: "",
1281
+ widget: "",
1282
+ autoFill: "",
1283
+ secret: false,
1284
+ },
1285
+ ],
1286
+ result: [
1287
+ { name: "destHash", kind: "string", optional: false, label: "Dest node hash" },
1288
+ { name: "srcHash", kind: "string", optional: false, label: "Src node hash" },
1289
+ { name: "timestamp", kind: "number", optional: false, label: "Timestamp" },
1290
+ { name: "reqType", kind: "number", optional: false, label: "Request type" },
1291
+ { name: "dataHex", kind: "string", optional: false, label: "Data" },
1292
+ ],
1293
+ },
1294
+ {
1295
+ name: "decodeResponse",
1296
+ category: "decode",
1297
+ label: "Decrypt RESPONSE",
1298
+ tabGroup: "",
1299
+ tabGroupLabel: "",
1300
+ tabGroupSub: "",
1301
+ tabGroupDoc: "The encrypted reply to a REQ packet, addressed back to the requester and secured with the same X25519 ECDH shared secret.",
1302
+ tabLabel: "",
1303
+ packetType: "RESPONSE",
1304
+ resultTypeName: "ResponsePayload",
1305
+ params: [
1306
+ {
1307
+ name: "payload",
1308
+ kind: "hex",
1309
+ label: "",
1310
+ placeholder: "",
1311
+ optional: false,
1312
+ choices: [],
1313
+ showWhen: "",
1314
+ showValue: 0,
1315
+ group: "",
1316
+ action: "",
1317
+ widget: "",
1318
+ autoFill: "payloadHex",
1319
+ secret: false,
1320
+ },
1321
+ {
1322
+ name: "privKey",
1323
+ kind: "string",
1324
+ label: "My private key",
1325
+ placeholder: "64 hex chars",
1326
+ optional: false,
1327
+ choices: [],
1328
+ showWhen: "",
1329
+ showValue: 0,
1330
+ group: "",
1331
+ action: "keypair",
1332
+ widget: "",
1333
+ autoFill: "",
1334
+ secret: true,
1335
+ },
1336
+ {
1337
+ name: "peerPubKey",
1338
+ kind: "string",
1339
+ label: "Peer public key",
1340
+ placeholder: "64 hex chars",
1341
+ optional: false,
1342
+ choices: [],
1343
+ showWhen: "",
1344
+ showValue: 0,
1345
+ group: "",
1346
+ action: "",
1347
+ widget: "",
1348
+ autoFill: "",
1349
+ secret: false,
1350
+ },
1351
+ ],
1352
+ result: [
1353
+ { name: "destHash", kind: "string", optional: false, label: "Dest node hash" },
1354
+ { name: "srcHash", kind: "string", optional: false, label: "Src node hash" },
1355
+ { name: "dataHex", kind: "string", optional: false, label: "Data" },
1356
+ ],
1357
+ },
1358
+ {
1359
+ name: "decodePath",
1360
+ category: "decode",
1361
+ label: "Decrypt PATH",
1362
+ tabGroup: "",
1363
+ tabGroupLabel: "",
1364
+ tabGroupSub: "",
1365
+ tabGroupDoc: "Carries a discovered route — the ordered list of hop hashes — back toward a peer, optionally with an extra piggy-backed payload. Used to establish return paths through the mesh.",
1366
+ tabLabel: "",
1367
+ packetType: "PATH",
1368
+ resultTypeName: "PathPayload",
1369
+ params: [
1370
+ {
1371
+ name: "payload",
1372
+ kind: "hex",
1373
+ label: "",
1374
+ placeholder: "",
1375
+ optional: false,
1376
+ choices: [],
1377
+ showWhen: "",
1378
+ showValue: 0,
1379
+ group: "",
1380
+ action: "",
1381
+ widget: "",
1382
+ autoFill: "payloadHex",
1383
+ secret: false,
1384
+ },
1385
+ {
1386
+ name: "privKey",
1387
+ kind: "string",
1388
+ label: "My private key",
1389
+ placeholder: "64 hex chars",
1390
+ optional: false,
1391
+ choices: [],
1392
+ showWhen: "",
1393
+ showValue: 0,
1394
+ group: "",
1395
+ action: "keypair",
1396
+ widget: "",
1397
+ autoFill: "",
1398
+ secret: true,
1399
+ },
1400
+ {
1401
+ name: "peerPubKey",
1402
+ kind: "string",
1403
+ label: "Peer public key",
1404
+ placeholder: "64 hex chars",
1405
+ optional: false,
1406
+ choices: [],
1407
+ showWhen: "",
1408
+ showValue: 0,
1409
+ group: "",
1410
+ action: "",
1411
+ widget: "",
1412
+ autoFill: "",
1413
+ secret: false,
1414
+ },
1415
+ ],
1416
+ result: [
1417
+ { name: "destHash", kind: "string", optional: false, label: "Dest node hash" },
1418
+ { name: "srcHash", kind: "string", optional: false, label: "Src node hash" },
1419
+ { name: "path", kind: "string[]", optional: false, label: "Path hops" },
1420
+ { name: "extraType", kind: "number", optional: false, label: "Extra type" },
1421
+ { name: "extraHex", kind: "string", optional: false, label: "Extra data" },
1422
+ ],
1423
+ },
1424
+ {
1425
+ name: "decodeAnonReq",
1426
+ category: "decode",
1427
+ label: "Decrypt ANON_REQ",
1428
+ tabGroup: "",
1429
+ tabGroupLabel: "",
1430
+ tabGroupSub: "",
1431
+ tabGroupDoc: "",
1432
+ tabLabel: "",
1433
+ packetType: "ANON_REQ",
1434
+ resultTypeName: "AnonReqPayload",
1435
+ params: [
1436
+ {
1437
+ name: "payload",
1438
+ kind: "hex",
1439
+ label: "",
1440
+ placeholder: "",
1441
+ optional: false,
1442
+ choices: [],
1443
+ showWhen: "",
1444
+ showValue: 0,
1445
+ group: "",
1446
+ action: "",
1447
+ widget: "",
1448
+ autoFill: "payloadHex",
1449
+ secret: false,
1450
+ },
1451
+ {
1452
+ name: "myPrivKey",
1453
+ kind: "string",
1454
+ label: "My private key (recipient)",
1455
+ placeholder: "64 hex chars",
1456
+ optional: false,
1457
+ choices: [],
1458
+ showWhen: "",
1459
+ showValue: 0,
1460
+ group: "",
1461
+ action: "keypair",
1462
+ widget: "",
1463
+ autoFill: "",
1464
+ secret: true,
1465
+ },
1466
+ ],
1467
+ result: [
1468
+ { name: "destHash", kind: "string", optional: false, label: "Dest node hash" },
1469
+ { name: "senderPubKey", kind: "string", optional: false, label: "Sender public key" },
1470
+ { name: "timestamp", kind: "number", optional: false, label: "Timestamp" },
1471
+ { name: "dataHex", kind: "string", optional: false, label: "Data" },
1472
+ ],
1473
+ },
1474
+ {
1475
+ name: "decodeControl",
1476
+ category: "decode",
1477
+ label: "Decode CONTROL",
1478
+ tabGroup: "",
1479
+ tabGroupLabel: "",
1480
+ tabGroupSub: "",
1481
+ tabGroupDoc: "",
1482
+ tabLabel: "",
1483
+ packetType: "CONTROL",
1484
+ resultTypeName: "ControlPayload",
1485
+ params: [
1486
+ {
1487
+ name: "payload",
1488
+ kind: "hex",
1489
+ label: "",
1490
+ placeholder: "",
1491
+ optional: false,
1492
+ choices: [],
1493
+ showWhen: "",
1494
+ showValue: 0,
1495
+ group: "",
1496
+ action: "",
1497
+ widget: "",
1498
+ autoFill: "payloadHex",
1499
+ secret: false,
1500
+ },
1501
+ ],
1502
+ result: [
1503
+ { name: "subType", kind: "number", optional: false, label: "Sub-type" },
1504
+ { name: "flags", kind: "number", optional: false, label: "Flags" },
1505
+ { name: "dataHex", kind: "string", optional: false, label: "Data" },
1506
+ { name: "discoverTag", kind: "number", optional: true, label: "Tag" },
1507
+ { name: "discoverTypeFilter", kind: "number", optional: true, label: "Type filter" },
1508
+ { name: "discoverSince", kind: "number", optional: true, label: "Since" },
1509
+ { name: "discoverNodeType", kind: "number", optional: true, label: "Node type" },
1510
+ { name: "discoverSNR", kind: "number", optional: true, label: "SNR (dB)" },
1511
+ { name: "discoverPubKey", kind: "string", optional: true, label: "Public key" },
1512
+ ],
1513
+ },
1514
+ {
1515
+ name: "generateKeypair",
1516
+ category: "key",
1517
+ label: "Generate keypair",
1518
+ tabGroup: "",
1519
+ tabGroupLabel: "",
1520
+ tabGroupSub: "",
1521
+ tabGroupDoc: "",
1522
+ tabLabel: "",
1523
+ packetType: "",
1524
+ resultTypeName: "KeypairResult",
1525
+ params: [],
1526
+ result: [
1527
+ { name: "publicKey", kind: "string", optional: false, label: "Public key" },
1528
+ { name: "privateKey", kind: "string", optional: false, label: "Private key" },
1529
+ ],
1530
+ },
1531
+ {
1532
+ name: "deriveChannelSecret",
1533
+ category: "key",
1534
+ label: "Derive channel secret",
1535
+ tabGroup: "",
1536
+ tabGroupLabel: "",
1537
+ tabGroupSub: "",
1538
+ tabGroupDoc: "",
1539
+ tabLabel: "",
1540
+ packetType: "",
1541
+ resultTypeName: "DeriveChannelSecretResult",
1542
+ params: [
1543
+ {
1544
+ name: "channelName",
1545
+ kind: "string",
1546
+ label: "Channel name",
1547
+ placeholder: "#test",
1548
+ optional: false,
1549
+ choices: [],
1550
+ showWhen: "",
1551
+ showValue: 0,
1552
+ group: "",
1553
+ action: "",
1554
+ widget: "",
1555
+ autoFill: "",
1556
+ secret: false,
1557
+ },
1558
+ ],
1559
+ result: [
1560
+ { name: "hex", kind: "string", optional: false, label: "Secret (hex)" },
1561
+ ],
1562
+ },
1563
+ {
1564
+ name: "sharedSecret",
1565
+ category: "key",
1566
+ label: "Compute shared secret",
1567
+ tabGroup: "",
1568
+ tabGroupLabel: "",
1569
+ tabGroupSub: "",
1570
+ tabGroupDoc: "",
1571
+ tabLabel: "",
1572
+ packetType: "",
1573
+ resultTypeName: "SharedSecretResult",
1574
+ params: [
1575
+ {
1576
+ name: "privKey",
1577
+ kind: "string",
1578
+ label: "My private key",
1579
+ placeholder: "64 hex chars",
1580
+ optional: false,
1581
+ choices: [],
1582
+ showWhen: "",
1583
+ showValue: 0,
1584
+ group: "",
1585
+ action: "",
1586
+ widget: "",
1587
+ autoFill: "",
1588
+ secret: true,
1589
+ },
1590
+ {
1591
+ name: "peerPubKey",
1592
+ kind: "string",
1593
+ label: "Peer public key",
1594
+ placeholder: "64 hex chars",
1595
+ optional: false,
1596
+ choices: [],
1597
+ showWhen: "",
1598
+ showValue: 0,
1599
+ group: "",
1600
+ action: "",
1601
+ widget: "",
1602
+ autoFill: "",
1603
+ secret: false,
1604
+ },
1605
+ ],
1606
+ result: [
1607
+ { name: "hex", kind: "string", optional: false, label: "Shared secret (hex)" },
1608
+ ],
1609
+ },
1610
+ ];