@bsv/sdk 1.2.11 → 1.2.13

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 (56) hide show
  1. package/README.md +5 -2
  2. package/dist/cjs/package.json +1 -1
  3. package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
  4. package/dist/cjs/src/transaction/Transaction.js +2 -2
  5. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  6. package/dist/cjs/src/wallet/WalletClient.js +11 -1
  7. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  8. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +113 -0
  9. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -0
  10. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  11. package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
  12. package/dist/esm/src/transaction/Transaction.js +3 -3
  13. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  14. package/dist/esm/src/wallet/WalletClient.js +11 -1
  15. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  16. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +114 -0
  17. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -0
  18. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  19. package/dist/types/src/transaction/Broadcaster.d.ts +3 -0
  20. package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
  21. package/dist/types/src/wallet/WalletClient.d.ts +1 -1
  22. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  23. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +189 -0
  24. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -0
  25. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  26. package/dist/umd/bundle.js +1 -1
  27. package/docs/README.md +9 -0
  28. package/docs/swagger/dist/LICENSE +21 -0
  29. package/docs/swagger/dist/favicon-16x16.png +0 -0
  30. package/docs/swagger/dist/favicon-32x32.png +0 -0
  31. package/docs/swagger/dist/index.css +16 -0
  32. package/docs/swagger/dist/oauth2-redirect.html +79 -0
  33. package/docs/swagger/dist/swagger-initializer.js +20 -0
  34. package/docs/swagger/dist/swagger-ui-bundle.js +2 -0
  35. package/docs/swagger/dist/swagger-ui-bundle.js.map +1 -0
  36. package/docs/swagger/dist/swagger-ui-es-bundle-core.js +3 -0
  37. package/docs/swagger/dist/swagger-ui-es-bundle-core.js.map +1 -0
  38. package/docs/swagger/dist/swagger-ui-es-bundle.js +2 -0
  39. package/docs/swagger/dist/swagger-ui-es-bundle.js.map +1 -0
  40. package/docs/swagger/dist/swagger-ui-standalone-preset.js +2 -0
  41. package/docs/swagger/dist/swagger-ui-standalone-preset.js.map +1 -0
  42. package/docs/swagger/dist/swagger-ui.css +3 -0
  43. package/docs/swagger/dist/swagger-ui.css.map +1 -0
  44. package/docs/swagger/dist/swagger-ui.js +2 -0
  45. package/docs/swagger/dist/swagger-ui.js.map +1 -0
  46. package/docs/swagger/index.html +19 -0
  47. package/docs/swagger/swagger-ui.version +1 -0
  48. package/docs/swagger/swagger.yaml +1960 -0
  49. package/docs/transaction.md +1 -0
  50. package/docs/wallet.md +226 -1
  51. package/package.json +1 -1
  52. package/src/primitives/__tests/PrivateKey.test.ts +2 -2
  53. package/src/transaction/Broadcaster.ts +4 -0
  54. package/src/transaction/Transaction.ts +3 -3
  55. package/src/wallet/WalletClient.ts +10 -2
  56. package/src/wallet/substrates/HTTPWalletJSON.ts +143 -0
@@ -0,0 +1,1960 @@
1
+ openapi: 3.1.0
2
+ info:
3
+ title: Wallet JSON API
4
+ version: 1.0.0
5
+ servers:
6
+ - url: http://localhost:3321
7
+ tags:
8
+ - name: HTTPWalletJSON
9
+ description: HTTP Wallet JSON API
10
+ paths:
11
+ /createAction:
12
+ post:
13
+ tags:
14
+ - HTTPWalletJSON
15
+ summary: Creates a new Bitcoin transaction
16
+ requestBody:
17
+ required: true
18
+ content:
19
+ application/json:
20
+ schema:
21
+ $ref: "#/components/schemas/CreateActionArgs"
22
+ responses:
23
+ "200":
24
+ description: The created transaction result
25
+ content:
26
+ application/json:
27
+ schema:
28
+ $ref: "#/components/schemas/CreateActionResult"
29
+ "400":
30
+ description: Invalid input
31
+ "500":
32
+ description: Internal server error
33
+ /signAction:
34
+ post:
35
+ tags:
36
+ - HTTPWalletJSON
37
+ summary: Signs a transaction previously created using `createAction`
38
+ requestBody:
39
+ required: true
40
+ content:
41
+ application/json:
42
+ schema:
43
+ $ref: "#/components/schemas/SignActionArgs"
44
+ responses:
45
+ "200":
46
+ description: The signed transaction result
47
+ content:
48
+ application/json:
49
+ schema:
50
+ $ref: "#/components/schemas/SignActionResult"
51
+ "400":
52
+ description: Invalid input
53
+ "500":
54
+ description: Internal server error
55
+ /abortAction:
56
+ post:
57
+ tags:
58
+ - HTTPWalletJSON
59
+ summary: Aborts a transaction that is in progress
60
+ requestBody:
61
+ required: true
62
+ content:
63
+ application/json:
64
+ schema:
65
+ $ref: "#/components/schemas/AbortActionArgs"
66
+ responses:
67
+ "200":
68
+ description: The abortion result
69
+ content:
70
+ application/json:
71
+ schema:
72
+ $ref: "#/components/schemas/AbortActionResult"
73
+ "400":
74
+ description: Invalid input
75
+ "500":
76
+ description: Internal server error
77
+ /listActions:
78
+ post:
79
+ tags:
80
+ - HTTPWalletJSON
81
+ summary: Lists all transactions matching the specified labels
82
+ requestBody:
83
+ required: true
84
+ content:
85
+ application/json:
86
+ schema:
87
+ $ref: "#/components/schemas/ListActionsArgs"
88
+ responses:
89
+ "200":
90
+ description: The list of actions
91
+ content:
92
+ application/json:
93
+ schema:
94
+ $ref: "#/components/schemas/ListActionsResult"
95
+ "400":
96
+ description: Invalid input
97
+ "500":
98
+ description: Internal server error
99
+ /internalizeAction:
100
+ post:
101
+ tags:
102
+ - HTTPWalletJSON
103
+ summary: Submits a transaction to be internalized
104
+ requestBody:
105
+ required: true
106
+ content:
107
+ application/json:
108
+ schema:
109
+ $ref: "#/components/schemas/InternalizeActionArgs"
110
+ responses:
111
+ "200":
112
+ description: The internalization result
113
+ content:
114
+ application/json:
115
+ schema:
116
+ $ref: "#/components/schemas/InternalizeActionResult"
117
+ "400":
118
+ description: Invalid input
119
+ "500":
120
+ description: Internal server error
121
+ /listOutputs:
122
+ post:
123
+ tags:
124
+ - HTTPWalletJSON
125
+ summary: Lists the spendable outputs kept within a specific basket
126
+ requestBody:
127
+ required: true
128
+ content:
129
+ application/json:
130
+ schema:
131
+ $ref: "#/components/schemas/ListOutputsArgs"
132
+ responses:
133
+ "200":
134
+ description: The list of outputs
135
+ content:
136
+ application/json:
137
+ schema:
138
+ $ref: "#/components/schemas/ListOutputsResult"
139
+ "400":
140
+ description: Invalid input
141
+ "500":
142
+ description: Internal server error
143
+ /relinquishOutput:
144
+ post:
145
+ tags:
146
+ - HTTPWalletJSON
147
+ summary: Relinquish an output out of a basket
148
+ requestBody:
149
+ required: true
150
+ content:
151
+ application/json:
152
+ schema:
153
+ type: object
154
+ properties:
155
+ basket:
156
+ $ref: "#/components/schemas/BasketStringUnder300Bytes"
157
+ output:
158
+ $ref: "#/components/schemas/OutpointString"
159
+ responses:
160
+ "200":
161
+ description: The relinquishment result
162
+ content:
163
+ application/json:
164
+ schema:
165
+ type: object
166
+ properties:
167
+ relinquished:
168
+ type: boolean
169
+ examples:
170
+ - true
171
+ "400":
172
+ description: Invalid input
173
+ "500":
174
+ description: Internal server error
175
+ /getPublicKey:
176
+ post:
177
+ tags:
178
+ - HTTPWalletJSON
179
+ summary: Retrieves the public key
180
+ requestBody:
181
+ required: true
182
+ content:
183
+ application/json:
184
+ schema:
185
+ type: object
186
+ properties:
187
+ seekPermission:
188
+ type: boolean
189
+ default: true
190
+ identityKey:
191
+ type: boolean
192
+ protocolID:
193
+ $ref: "#/components/schemas/ProtocolID"
194
+ keyID:
195
+ type: string
196
+ examples:
197
+ - "1"
198
+ privileged:
199
+ type: boolean
200
+ default: false
201
+ privilegedReason:
202
+ type: string
203
+ examples:
204
+ - "extra secure"
205
+ counterparty:
206
+ type: string
207
+ examples:
208
+ - "0200daf17a4b9f7ca9e188a5b0e2b356107bde46d9d358d99e3402bd0e5beffbff"
209
+ forSelf:
210
+ type: boolean
211
+ default: false
212
+ responses:
213
+ "200":
214
+ description: The public key
215
+ content:
216
+ application/json:
217
+ schema:
218
+ type: object
219
+ properties:
220
+ publicKey:
221
+ type: string
222
+ examples:
223
+ - "027facf8e28228eea25abd69c4f23f15573e1d0f9180718af297e1458827cd5aef"
224
+ "400":
225
+ description: Invalid input
226
+ "500":
227
+ description: Internal server error
228
+
229
+ /revealCounterpartyKeyLinkage:
230
+ post:
231
+ tags:
232
+ - HTTPWalletJSON
233
+ summary: Reveals counterparty key linkage
234
+ requestBody:
235
+ required: true
236
+ content:
237
+ application/json:
238
+ schema:
239
+ type: object
240
+ properties:
241
+ counterparty:
242
+ type: string
243
+ examples:
244
+ - "027facf8e28228eea25abd69c4f23f15573e1d0f9180718af297e1458827cd5aef"
245
+ verifier:
246
+ type: string
247
+ examples:
248
+ - "03c378a866d72c391343eddeadf64c4f896637c4160ac6073e7b80b5717310153b"
249
+ privilegedReason:
250
+ type: string
251
+ examples:
252
+ - "extra sensitive"
253
+ privileged:
254
+ type: boolean
255
+ default: false
256
+ responses:
257
+ "200":
258
+ description: The counterparty key linkage
259
+ content:
260
+ application/json:
261
+ schema:
262
+ type: object
263
+ properties:
264
+ prover:
265
+ type: string
266
+ examples:
267
+ - "02790ab2d725d04af29e20bf46e1dbc40ba8b49f1355146884c5bd06819273d101"
268
+ verifier:
269
+ type: string
270
+ examples:
271
+ - "03c378a866d72c391343eddeadf64c4f896637c4160ac6073e7b80b5717310153b"
272
+ counterparty:
273
+ type: string
274
+ examples:
275
+ - "027facf8e28228eea25abd69c4f23f15573e1d0f9180718af297e1458827cd5aef"
276
+ revelationTime:
277
+ type: string
278
+ examples:
279
+ - "2024-12-12T12:12:12.120Z"
280
+ encryptedLinkage:
281
+ type: array
282
+ items:
283
+ type: integer
284
+ encryptedLinkageProof:
285
+ type: array
286
+ items:
287
+ type: integer
288
+ "400":
289
+ description: Invalid input
290
+ "500":
291
+ description: Internal server error
292
+
293
+ /revealSpecificKeyLinkage:
294
+ post:
295
+ tags:
296
+ - HTTPWalletJSON
297
+ summary: Reveals specific key linkage
298
+ requestBody:
299
+ required: true
300
+ content:
301
+ application/json:
302
+ schema:
303
+ type: object
304
+ properties:
305
+ counterparty:
306
+ type: string
307
+ examples:
308
+ - "027facf8e28228eea25abd69c4f23f15573e1d0f9180718af297e1458827cd5aef"
309
+ verifier:
310
+ type: string
311
+ examples:
312
+ - "03c378a866d72c391343eddeadf64c4f896637c4160ac6073e7b80b5717310153b"
313
+ protocolID:
314
+ $ref: "#/components/schemas/ProtocolID"
315
+ keyID:
316
+ type: string
317
+ examples:
318
+ - "1"
319
+ privilegedReason:
320
+ type: string
321
+ examples:
322
+ - "special stuff"
323
+ privileged:
324
+ type: boolean
325
+ default: false
326
+ responses:
327
+ "200":
328
+ description: The specific key linkage
329
+ content:
330
+ application/json:
331
+ schema:
332
+ type: object
333
+ properties:
334
+ prover:
335
+ type: string
336
+ examples:
337
+ - "02790ab2d725d04af29e20bf46e1dbc40ba8b49f1355146884c5bd06819273d101"
338
+ verifier:
339
+ type: string
340
+ examples:
341
+ - "03c378a866d72c391343eddeadf64c4f896637c4160ac6073e7b80b5717310153b"
342
+ counterparty:
343
+ type: string
344
+ examples:
345
+ - "027facf8e28228eea25abd69c4f23f15573e1d0f9180718af297e1458827cd5aef"
346
+ revelationTime:
347
+ type: string
348
+ examples:
349
+ - "2024-12-12T12:12:12.120Z"
350
+ protocolID:
351
+ $ref: "#/components/schemas/ProtocolID"
352
+ keyID:
353
+ type: string
354
+ examples:
355
+ - "1"
356
+ encryptedLinkage:
357
+ type: array
358
+ items:
359
+ type: integer
360
+ encryptedLinkageProof:
361
+ type: array
362
+ items:
363
+ type: integer
364
+ proofType:
365
+ type: integer
366
+ "400":
367
+ description: Invalid input
368
+ "500":
369
+ description: Internal server error
370
+
371
+ /encrypt:
372
+ post:
373
+ tags:
374
+ - HTTPWalletJSON
375
+ summary: Encrypts data
376
+ requestBody:
377
+ required: true
378
+ content:
379
+ application/json:
380
+ schema:
381
+ type: object
382
+ properties:
383
+ seekPermission:
384
+ type: boolean
385
+ default: true
386
+ plaintext:
387
+ type: array
388
+ examples:
389
+ - [115, 101, 99, 114, 101, 116, 115]
390
+ items:
391
+ type: integer
392
+ protocolID:
393
+ $ref: "#/components/schemas/ProtocolID"
394
+ keyID:
395
+ type: string
396
+ examples:
397
+ - "1"
398
+ privilegedReason:
399
+ type: string
400
+ examples:
401
+ - "extra secure"
402
+ counterparty:
403
+ type: string
404
+ examples:
405
+ - "self"
406
+ privileged:
407
+ type: boolean
408
+ default: false
409
+ responses:
410
+ "200":
411
+ description: The encrypted data
412
+ content:
413
+ application/json:
414
+ schema:
415
+ type: object
416
+ properties:
417
+ ciphertext:
418
+ type: array
419
+ examples:
420
+ - [47, 102, 55, 54, 51, 52, 42, 38, 9]
421
+ items:
422
+ type: integer
423
+ "400":
424
+ description: Invalid input
425
+ "500":
426
+ description: Internal server error
427
+
428
+ /decrypt:
429
+ post:
430
+ tags:
431
+ - HTTPWalletJSON
432
+ summary: Decrypts data
433
+ requestBody:
434
+ required: true
435
+ content:
436
+ application/json:
437
+ schema:
438
+ type: object
439
+ properties:
440
+ seekPermission:
441
+ type: boolean
442
+ default: true
443
+ ciphertext:
444
+ type: array
445
+ examples:
446
+ - [47, 102, 55, 54, 51, 52, 42, 38, 9]
447
+ items:
448
+ type: integer
449
+ protocolID:
450
+ $ref: "#/components/schemas/ProtocolID"
451
+ keyID:
452
+ type: string
453
+ examples:
454
+ - "1"
455
+ privilegedReason:
456
+ type: string
457
+ examples:
458
+ - "extra secure"
459
+ counterparty:
460
+ type: string
461
+ examples:
462
+ - "self"
463
+ privileged:
464
+ type: boolean
465
+ default: false
466
+ responses:
467
+ "200":
468
+ description: The decrypted data
469
+ content:
470
+ application/json:
471
+ schema:
472
+ type: object
473
+ properties:
474
+ plaintext:
475
+ type: array
476
+ examples:
477
+ - [115, 101, 99, 114, 101, 116, 115]
478
+ items:
479
+ type: integer
480
+ "400":
481
+ description: Invalid input
482
+ "500":
483
+ description: Internal server error
484
+
485
+ /createHmac:
486
+ post:
487
+ tags:
488
+ - HTTPWalletJSON
489
+ summary: Creates HMAC
490
+ requestBody:
491
+ required: true
492
+ content:
493
+ application/json:
494
+ schema:
495
+ type: object
496
+ properties:
497
+ seekPermission:
498
+ type: boolean
499
+ default: true
500
+ data:
501
+ type: array
502
+ examples:
503
+ - [115, 101, 99, 114, 101, 116, 115]
504
+ items:
505
+ type: integer
506
+ protocolID:
507
+ $ref: "#/components/schemas/ProtocolID"
508
+ keyID:
509
+ type: string
510
+ examples:
511
+ - "2"
512
+ privilegedReason:
513
+ type: string
514
+ examples:
515
+ - "special reasons"
516
+ counterparty:
517
+ type: string
518
+ examples:
519
+ - "anyone"
520
+ privileged:
521
+ type: boolean
522
+ default: false
523
+ responses:
524
+ "200":
525
+ description: The HMAC
526
+ content:
527
+ application/json:
528
+ schema:
529
+ type: object
530
+ properties:
531
+ hmac:
532
+ type: array
533
+ examples:
534
+ - [
535
+ 114,
536
+ 178,
537
+ 137,
538
+ 236,
539
+ 120,
540
+ 224,
541
+ 169,
542
+ 40,
543
+ 197,
544
+ 101,
545
+ 72,
546
+ 10,
547
+ 67,
548
+ 84,
549
+ 83,
550
+ 227,
551
+ 10,
552
+ 203,
553
+ 146,
554
+ 237,
555
+ 219,
556
+ 59,
557
+ 120,
558
+ 255,
559
+ 22,
560
+ 139,
561
+ 40,
562
+ 115,
563
+ 124,
564
+ 246,
565
+ 168,
566
+ 73,
567
+ ]
568
+ items:
569
+ type: integer
570
+ "400":
571
+ description: Invalid input
572
+ "500":
573
+ description: Internal server error
574
+
575
+ /verifyHmac:
576
+ post:
577
+ tags:
578
+ - HTTPWalletJSON
579
+ summary: Verifies HMAC
580
+ requestBody:
581
+ required: true
582
+ content:
583
+ application/json:
584
+ schema:
585
+ type: object
586
+ properties:
587
+ seekPermission:
588
+ type: boolean
589
+ default: true
590
+ data:
591
+ type: array
592
+ examples:
593
+ - [115, 101, 99, 114, 101, 116, 115]
594
+ items:
595
+ type: integer
596
+ hmac:
597
+ type: array
598
+ examples:
599
+ - [
600
+ 114,
601
+ 178,
602
+ 137,
603
+ 236,
604
+ 120,
605
+ 224,
606
+ 169,
607
+ 40,
608
+ 197,
609
+ 101,
610
+ 72,
611
+ 10,
612
+ 67,
613
+ 84,
614
+ 83,
615
+ 227,
616
+ 10,
617
+ 203,
618
+ 146,
619
+ 237,
620
+ 219,
621
+ 59,
622
+ 120,
623
+ 255,
624
+ 22,
625
+ 139,
626
+ 40,
627
+ 115,
628
+ 124,
629
+ 246,
630
+ 168,
631
+ 73,
632
+ ]
633
+ items:
634
+ type: integer
635
+ protocolID:
636
+ $ref: "#/components/schemas/ProtocolID"
637
+ keyID:
638
+ type: string
639
+ examples:
640
+ - "1"
641
+ privilegedReason:
642
+ type: string
643
+ examples:
644
+ - "I love to be secure"
645
+ counterparty:
646
+ type: string
647
+ examples:
648
+ - "anyone"
649
+ privileged:
650
+ type: boolean
651
+ default: false
652
+ responses:
653
+ "200":
654
+ description: The verification result
655
+ content:
656
+ application/json:
657
+ schema:
658
+ type: object
659
+ properties:
660
+ valid:
661
+ type: boolean
662
+ "400":
663
+ description: Invalid input
664
+ "500":
665
+ description: Internal server error
666
+
667
+ /createSignature:
668
+ post:
669
+ tags:
670
+ - HTTPWalletJSON
671
+ summary: Creates a signature
672
+ requestBody:
673
+ required: true
674
+ content:
675
+ application/json:
676
+ schema:
677
+ type: object
678
+ properties:
679
+ seekPermission:
680
+ type: boolean
681
+ default: true
682
+ data:
683
+ type: array
684
+ examples:
685
+ - [115, 101, 99, 114, 101, 116, 115]
686
+ items:
687
+ type: integer
688
+ hashToDirectlySign:
689
+ type: array
690
+ examples:
691
+ - []
692
+ items:
693
+ type: integer
694
+ protocolID:
695
+ $ref: "#/components/schemas/ProtocolID"
696
+ keyID:
697
+ type: string
698
+ examples:
699
+ - "1"
700
+ privilegedReason:
701
+ type: string
702
+ examples:
703
+ - "I love to be secure"
704
+ counterparty:
705
+ type: string
706
+ examples:
707
+ - "anyone"
708
+ privileged:
709
+ type: boolean
710
+ default: false
711
+ responses:
712
+ "200":
713
+ description: The signature
714
+ content:
715
+ application/json:
716
+ schema:
717
+ type: object
718
+ properties:
719
+ signature:
720
+ type: array
721
+ items:
722
+ type: integer
723
+ "400":
724
+ description: Invalid input
725
+ "500":
726
+ description: Internal server error
727
+
728
+ /verifySignature:
729
+ post:
730
+ tags:
731
+ - HTTPWalletJSON
732
+ summary: Verifies a signature
733
+ requestBody:
734
+ required: true
735
+ content:
736
+ application/json:
737
+ schema:
738
+ type: object
739
+ properties:
740
+ seekPermission:
741
+ type: boolean
742
+ default: true
743
+ data:
744
+ type: array
745
+ items:
746
+ type: integer
747
+ hashToDirectlyVerify:
748
+ type: array
749
+ examples:
750
+ - [
751
+ 114,
752
+ 178,
753
+ 137,
754
+ 236,
755
+ 120,
756
+ 224,
757
+ 169,
758
+ 40,
759
+ 197,
760
+ 101,
761
+ 72,
762
+ 10,
763
+ 67,
764
+ 84,
765
+ 83,
766
+ 227,
767
+ 10,
768
+ 203,
769
+ 146,
770
+ 237,
771
+ 219,
772
+ 59,
773
+ 120,
774
+ 255,
775
+ 22,
776
+ 139,
777
+ 40,
778
+ 115,
779
+ 124,
780
+ 246,
781
+ 168,
782
+ 73,
783
+ ]
784
+ items:
785
+ type: integer
786
+ signature:
787
+ type: array
788
+ examples:
789
+ - [
790
+ 48,
791
+ 69,
792
+ 2,
793
+ 33,
794
+ 0,
795
+ 189,
796
+ 197,
797
+ 179,
798
+ 187,
799
+ 162,
800
+ 114,
801
+ 42,
802
+ 69,
803
+ 21,
804
+ 51,
805
+ 96,
806
+ 183,
807
+ 226,
808
+ 242,
809
+ 212,
810
+ 49,
811
+ 221,
812
+ 96,
813
+ 197,
814
+ 178,
815
+ 63,
816
+ 241,
817
+ 43,
818
+ 248,
819
+ 36,
820
+ 212,
821
+ 243,
822
+ 226,
823
+ 144,
824
+ 198,
825
+ 47,
826
+ 238,
827
+ 2,
828
+ 32,
829
+ 54,
830
+ 138,
831
+ 29,
832
+ 195,
833
+ 78,
834
+ 4,
835
+ 222,
836
+ 220,
837
+ 219,
838
+ 226,
839
+ 234,
840
+ 189,
841
+ 122,
842
+ 78,
843
+ 27,
844
+ 129,
845
+ 253,
846
+ 196,
847
+ 59,
848
+ 189,
849
+ 167,
850
+ 195,
851
+ 66,
852
+ 73,
853
+ 69,
854
+ 115,
855
+ 126,
856
+ 200,
857
+ 16,
858
+ 65,
859
+ 114,
860
+ 64,
861
+ 65,
862
+ ]
863
+ items:
864
+ type: integer
865
+ protocolID:
866
+ $ref: "#/components/schemas/ProtocolID"
867
+ keyID:
868
+ type: string
869
+ examples:
870
+ - "1"
871
+ privilegedReason:
872
+ type: string
873
+ examples:
874
+ - "-"
875
+ counterparty:
876
+ type: string
877
+ examples:
878
+ - "anyone"
879
+ forSelf:
880
+ type: boolean
881
+ default: false
882
+ privileged:
883
+ type: boolean
884
+ default: false
885
+ responses:
886
+ "200":
887
+ description: The verification result
888
+ content:
889
+ application/json:
890
+ schema:
891
+ type: object
892
+ properties:
893
+ valid:
894
+ type: boolean
895
+ "400":
896
+ description: Invalid input
897
+ "500":
898
+ description: Internal server error
899
+
900
+ /acquireCertificate:
901
+ post:
902
+ tags:
903
+ - HTTPWalletJSON
904
+ summary: Acquires a certificate
905
+ requestBody:
906
+ required: true
907
+ content:
908
+ application/json:
909
+ schema:
910
+ $ref: "#/components/schemas/AcquireCertificateArgs"
911
+ responses:
912
+ "200":
913
+ description: The acquired certificate
914
+ content:
915
+ application/json:
916
+ schema:
917
+ $ref: "#/components/schemas/Certificate"
918
+ "400":
919
+ description: Invalid input
920
+ "500":
921
+ description: Internal server error
922
+
923
+ /listCertificates:
924
+ post:
925
+ tags:
926
+ - HTTPWalletJSON
927
+ summary: Lists certificates
928
+ requestBody:
929
+ required: true
930
+ content:
931
+ application/json:
932
+ schema:
933
+ type: object
934
+ properties:
935
+ certifiers:
936
+ type: array
937
+ examples:
938
+ - - "0322f8f64b95234a4b531109c2c271e01cd2a9ee497e71a788cae384b6aae54d75"
939
+ - "02e3dfb8196c17baab7353e139693a1c0813d60ecd022f5c52779faf2cff341374"
940
+ - "0334b3dd693269d37e0ef35aace5dc07fdd510ff0f1596399ed7bf8b27dc025bdd"
941
+ items:
942
+ type: string
943
+ types:
944
+ type: array
945
+ examples:
946
+ - - "W/iqV/xaa8VH3s8cxttj8Q3rVaPGxd9JfWMfs9leGr8="
947
+ - "xrhnMvBJoy7tWi92bFzci3cGNhmiC+yU8iK8vSSeZWI="
948
+ items:
949
+ type: string
950
+ limit:
951
+ type: integer
952
+ examples:
953
+ - 10
954
+ offset:
955
+ type: integer
956
+ privileged:
957
+ type: boolean
958
+ default: false
959
+ privilegedReason:
960
+ type: string
961
+ examples:
962
+ - "-"
963
+ responses:
964
+ "200":
965
+ description: The list of certificates
966
+ content:
967
+ application/json:
968
+ schema:
969
+ $ref: "#/components/schemas/ListCertificatesResult"
970
+ "400":
971
+ description: Invalid input
972
+ "500":
973
+ description: Internal server error
974
+
975
+ /proveCertificate:
976
+ post:
977
+ tags:
978
+ - HTTPWalletJSON
979
+ summary: Proves a certificate
980
+ requestBody:
981
+ required: true
982
+ content:
983
+ application/json:
984
+ schema:
985
+ $ref: "#/components/schemas/ProveCertificateArgs"
986
+ responses:
987
+ "200":
988
+ description: The proof of the certificate
989
+ content:
990
+ application/json:
991
+ schema:
992
+ $ref: "#/components/schemas/ProveCertificateResult"
993
+ "400":
994
+ description: Invalid input
995
+ "500":
996
+ description: Internal server error
997
+
998
+ /relinquishCertificate:
999
+ post:
1000
+ tags:
1001
+ - HTTPWalletJSON
1002
+ summary: Relinquishes a certificate
1003
+ requestBody:
1004
+ required: true
1005
+ content:
1006
+ application/json:
1007
+ schema:
1008
+ type: object
1009
+ properties:
1010
+ type:
1011
+ type: string
1012
+ examples:
1013
+ - "W/iqV/xaa8VH3s8cxttj8Q3rVaPGxd9JfWMfs9leGr8="
1014
+ serialNumber:
1015
+ type: string
1016
+ examples:
1017
+ - "oXTshKWy209Lv8MFVDxmsFzZQQ"
1018
+ certifier:
1019
+ type: string
1020
+ examples:
1021
+ - "03d40063722f77cc57a96bdf963c56fd29085b1297e598471ad63dd51b1b54db6e"
1022
+ responses:
1023
+ "200":
1024
+ description: The relinquishment result
1025
+ content:
1026
+ application/json:
1027
+ schema:
1028
+ type: object
1029
+ properties:
1030
+ relinquished:
1031
+ type: boolean
1032
+ examples:
1033
+ - true
1034
+ "400":
1035
+ description: Invalid input
1036
+ "500":
1037
+ description: Internal server error
1038
+
1039
+ /discoverByIdentityKey:
1040
+ post:
1041
+ tags:
1042
+ - HTTPWalletJSON
1043
+ summary: Discovers certificates by identity key
1044
+ requestBody:
1045
+ required: true
1046
+ content:
1047
+ application/json:
1048
+ schema:
1049
+ type: object
1050
+ properties:
1051
+ identityKey:
1052
+ type: string
1053
+ examples:
1054
+ - "03ed91c6e33a5ef6fc3d927b2d7064af0c78447cfc304c069715ea7bdd2e5c6ea8"
1055
+ limit:
1056
+ type: integer
1057
+ examples:
1058
+ - 10
1059
+ offset:
1060
+ type: integer
1061
+ seekPermission:
1062
+ type: boolean
1063
+ default: true
1064
+ responses:
1065
+ "200":
1066
+ description: The discovered certificates
1067
+ content:
1068
+ application/json:
1069
+ schema:
1070
+ $ref: "#/components/schemas/DiscoverCertificatesResult"
1071
+ "400":
1072
+ description: Invalid input
1073
+ "500":
1074
+ description: Internal server error
1075
+
1076
+ /discoverByAttributes:
1077
+ post:
1078
+ tags:
1079
+ - HTTPWalletJSON
1080
+ summary: Discovers certificates by attributes
1081
+ requestBody:
1082
+ required: true
1083
+ content:
1084
+ application/json:
1085
+ schema:
1086
+ type: object
1087
+ properties:
1088
+ attributes:
1089
+ type: object
1090
+ examples:
1091
+ - firstName: "David"
1092
+ additionalProperties:
1093
+ type: string
1094
+ limit:
1095
+ type: integer
1096
+ examples:
1097
+ - 10
1098
+ offset:
1099
+ type: integer
1100
+ seekPermission:
1101
+ type: boolean
1102
+ default: true
1103
+ responses:
1104
+ "200":
1105
+ description: The discovered certificates
1106
+ content:
1107
+ application/json:
1108
+ schema:
1109
+ $ref: "#/components/schemas/DiscoverCertificatesResult"
1110
+ "400":
1111
+ description: Invalid input
1112
+ "500":
1113
+ description: Internal server error
1114
+
1115
+ /isAuthenticated:
1116
+ post:
1117
+ tags:
1118
+ - HTTPWalletJSON
1119
+ summary: Checks if the user is authenticated
1120
+ responses:
1121
+ "200":
1122
+ description: The authentication status
1123
+ content:
1124
+ application/json:
1125
+ schema:
1126
+ type: object
1127
+ properties:
1128
+ authenticated:
1129
+ type: boolean
1130
+ "400":
1131
+ description: Invalid input
1132
+ "500":
1133
+ description: Internal server error
1134
+
1135
+ /waitForAuthentication:
1136
+ post:
1137
+ tags:
1138
+ - HTTPWalletJSON
1139
+ summary: Waits for user authentication
1140
+ responses:
1141
+ "200":
1142
+ description: The authentication result
1143
+ content:
1144
+ application/json:
1145
+ schema:
1146
+ type: object
1147
+ properties:
1148
+ authenticated:
1149
+ type: boolean
1150
+ examples:
1151
+ - true
1152
+ "400":
1153
+ description: Invalid input
1154
+ "500":
1155
+ description: Internal server error
1156
+
1157
+ /getHeight:
1158
+ post:
1159
+ tags:
1160
+ - HTTPWalletJSON
1161
+ summary: Retrieves the current blockchain height
1162
+ responses:
1163
+ "200":
1164
+ description: The current blockchain height
1165
+ content:
1166
+ application/json:
1167
+ schema:
1168
+ type: object
1169
+ properties:
1170
+ height:
1171
+ type: integer
1172
+ examples:
1173
+ - 875002
1174
+ "400":
1175
+ description: Invalid input
1176
+ "500":
1177
+ description: Internal server error
1178
+
1179
+ /getHeaderForHeight:
1180
+ post:
1181
+ tags:
1182
+ - HTTPWalletJSON
1183
+ summary: Retrieves the block header for a specific height
1184
+ requestBody:
1185
+ required: true
1186
+ content:
1187
+ application/json:
1188
+ schema:
1189
+ type: object
1190
+ properties:
1191
+ height:
1192
+ type: integer
1193
+ examples:
1194
+ - 875002
1195
+ responses:
1196
+ "200":
1197
+ description: The block header
1198
+ content:
1199
+ application/json:
1200
+ schema:
1201
+ type: object
1202
+ properties:
1203
+ header:
1204
+ type: string
1205
+ examples:
1206
+ - "0020372d395bfcfc03b467e747f873da7e4f4fd0afcc89301787b10a0000000000000000724ab3c241848b826766b46947e008e022b95877629498ec3e7dd85f1ae0b383f8f8826566280d184b11f02a"
1207
+ "400":
1208
+ description: Invalid input
1209
+ "500":
1210
+ description: Internal server error
1211
+
1212
+ /getNetwork:
1213
+ post:
1214
+ tags:
1215
+ - HTTPWalletJSON
1216
+ summary: Retrieves the current network
1217
+ responses:
1218
+ "200":
1219
+ description: The current network
1220
+ content:
1221
+ application/json:
1222
+ schema:
1223
+ type: object
1224
+ properties:
1225
+ network:
1226
+ type: string
1227
+ enum:
1228
+ - mainnet
1229
+ - testnet
1230
+ "400":
1231
+ description: Invalid input
1232
+ "500":
1233
+ description: Internal server error
1234
+
1235
+ /getVersion:
1236
+ post:
1237
+ tags:
1238
+ - HTTPWalletJSON
1239
+ summary: Retrieves the current version
1240
+ responses:
1241
+ "200":
1242
+ description: The current version
1243
+ content:
1244
+ application/json:
1245
+ schema:
1246
+ type: object
1247
+ properties:
1248
+ version:
1249
+ type: string
1250
+ examples:
1251
+ - "BSVA-1.0.0"
1252
+ "400":
1253
+ description: Invalid input
1254
+ "500":
1255
+ description: Internal server error
1256
+ components:
1257
+ schemas:
1258
+ CreateActionArgs:
1259
+ type: object
1260
+ properties:
1261
+ description:
1262
+ type: string
1263
+ examples:
1264
+ - "human readable purpose of this action"
1265
+ inputBEEF:
1266
+ type: array
1267
+ examples:
1268
+ - [1, 1, 1, 1]
1269
+ items:
1270
+ type: number
1271
+ inputs:
1272
+ type: array
1273
+ items:
1274
+ $ref: "#/components/schemas/CreateActionInput"
1275
+ outputs:
1276
+ type: array
1277
+ items:
1278
+ $ref: "#/components/schemas/CreateActionOutput"
1279
+ lockTime:
1280
+ type: number
1281
+ examples:
1282
+ - 0
1283
+ version:
1284
+ type: number
1285
+ examples:
1286
+ - 1
1287
+ labels:
1288
+ type: array
1289
+ examples:
1290
+ - ["todo create"]
1291
+ items:
1292
+ type: string
1293
+ options:
1294
+ $ref: "#/components/schemas/CreateActionOptions"
1295
+ CreateActionResult:
1296
+ type: object
1297
+ properties:
1298
+ txid:
1299
+ type: string
1300
+ examples:
1301
+ - "16bed6368b8b1542cd6eb87f5bc20dc830b41a2258dde40438a75fa701d24e9a"
1302
+ tx:
1303
+ type: array
1304
+ examples:
1305
+ - [1, 1, 1, 1]
1306
+ items:
1307
+ type: number
1308
+ noSendChange:
1309
+ type: array
1310
+ examples:
1311
+ - [
1312
+ "11df9f39662e276dc2f637f063919ce3ca86cbc2d55ee8d661408d22b1f49018.0",
1313
+ ]
1314
+ items:
1315
+ type: string
1316
+ sendWithResults:
1317
+ type: array
1318
+ items:
1319
+ $ref: "#/components/schemas/SendWithResult"
1320
+ signableTransaction:
1321
+ $ref: "#/components/schemas/SignableTransaction"
1322
+ SignActionArgs:
1323
+ type: object
1324
+ properties:
1325
+ spends:
1326
+ type: object
1327
+ examples:
1328
+ - 0:
1329
+ unlockingScript: "47304402206ba4a1c0aa4e1ba7f2cd79de36..."
1330
+ sequenceNumber: 4294967295
1331
+ 1:
1332
+ unlockingScript: "473044022031d6c05d21ea4ee96da0fa17ea..."
1333
+ sequenceNumber: 4294967295
1334
+ additionalProperties:
1335
+ $ref: "#/components/schemas/SignActionSpend"
1336
+ reference:
1337
+ type: string
1338
+ examples:
1339
+ - "C1HST7xvPKzh66npoiJ5fKwnLtnH3xxQ4ylxaGBTTOA="
1340
+ options:
1341
+ $ref: "#/components/schemas/SignActionOptions"
1342
+ SignActionResult:
1343
+ type: object
1344
+ properties:
1345
+ txid:
1346
+ type: string
1347
+ examples:
1348
+ - "cd8345f101b2c6163921d9ff08526d88aa24cb68456f546eec935c6485155838"
1349
+ tx:
1350
+ type: array
1351
+ examples:
1352
+ - [1, 1, 1, 1]
1353
+ items:
1354
+ type: number
1355
+ sendWithResults:
1356
+ type: array
1357
+ items:
1358
+ $ref: "#/components/schemas/SendWithResult"
1359
+ AbortActionArgs:
1360
+ type: object
1361
+ properties:
1362
+ reference:
1363
+ type: string
1364
+ examples:
1365
+ - "C1HST7xvPKzh66npoiJ5fKwnLtnH3xxQ4ylxaGBTTOA="
1366
+ AbortActionResult:
1367
+ type: object
1368
+ properties:
1369
+ aborted:
1370
+ type: boolean
1371
+ examples:
1372
+ - true
1373
+ ListActionsArgs:
1374
+ type: object
1375
+ properties:
1376
+ labels:
1377
+ type: array
1378
+ examples:
1379
+ - ["todo create"]
1380
+ items:
1381
+ type: string
1382
+ labelQueryMode:
1383
+ type: string
1384
+ enum: [any, all]
1385
+ includeLabels:
1386
+ type: boolean
1387
+ examples:
1388
+ - false
1389
+ includeInputs:
1390
+ type: boolean
1391
+ includeInputSourceLockingScripts:
1392
+ type: boolean
1393
+ includeInputUnlockingScripts:
1394
+ type: boolean
1395
+ includeOutputs:
1396
+ type: boolean
1397
+ includeOutputLockingScripts:
1398
+ type: boolean
1399
+ limit:
1400
+ type: number
1401
+ examples:
1402
+ - 10
1403
+ offset:
1404
+ type: number
1405
+ examples:
1406
+ - 0
1407
+ seekPermission:
1408
+ type: boolean
1409
+ ListActionsResult:
1410
+ type: object
1411
+ properties:
1412
+ totalActions:
1413
+ type: number
1414
+ examples:
1415
+ - 1
1416
+ actions:
1417
+ type: array
1418
+ items:
1419
+ $ref: "#/components/schemas/WalletAction"
1420
+ InternalizeActionArgs:
1421
+ type: object
1422
+ properties:
1423
+ tx:
1424
+ type: array
1425
+ examples:
1426
+ - [1, 1, 1, 1]
1427
+ items:
1428
+ type: number
1429
+ outputs:
1430
+ type: array
1431
+ examples:
1432
+ - - outputIndex: 0
1433
+ protocol: "wallet payment"
1434
+ paymentRemittance:
1435
+ derivationPrefix: "12345678"
1436
+ derivationSuffix: "00000"
1437
+ senderIdentity: "02ffc4f361307f34a82069edbcbe2c9f4bd5498165549f42bdeb698ffdcab1ea38"
1438
+ - outputIndex: 1
1439
+ protocol: "basket insertion"
1440
+ insertionRemittance:
1441
+ basket: "todo token"
1442
+ customInstructions: "3453,3462346,self"
1443
+ tags:
1444
+ - "foose"
1445
+ - "goose"
1446
+ items:
1447
+ $ref: "#/components/schemas/InternalizeOutput"
1448
+ description:
1449
+ type: string
1450
+ examples:
1451
+ - "Creation of a new thing."
1452
+ labels:
1453
+ type: array
1454
+ examples:
1455
+ - ["todo create", "productivity"]
1456
+ items:
1457
+ type: string
1458
+ seekPermission:
1459
+ type: boolean
1460
+ InternalizeActionResult:
1461
+ type: object
1462
+ properties:
1463
+ accepted:
1464
+ type: boolean
1465
+ examples:
1466
+ - true
1467
+ ListOutputsArgs:
1468
+ type: object
1469
+ properties:
1470
+ basket:
1471
+ type: string
1472
+ examples:
1473
+ - "todo token"
1474
+ tags:
1475
+ type: array
1476
+ examples:
1477
+ - ["todo create", "todo burn"]
1478
+ items:
1479
+ type: string
1480
+ tagQueryMode:
1481
+ type: string
1482
+ examples:
1483
+ - "any"
1484
+ enum: [all, any]
1485
+ include:
1486
+ type: string
1487
+ enum: [locking scripts, entire transactions]
1488
+ includeCustomInstructions:
1489
+ type: boolean
1490
+ includeTags:
1491
+ type: boolean
1492
+ includeLabels:
1493
+ type: boolean
1494
+ limit:
1495
+ type: number
1496
+ examples:
1497
+ - 10
1498
+ offset:
1499
+ type: number
1500
+ seekPermission:
1501
+ type: boolean
1502
+ ListOutputsResult:
1503
+ type: object
1504
+ examples:
1505
+ - totalOutputs: 1
1506
+ outputs:
1507
+ - satoshis: 1000
1508
+ lockingScript: "76a914dd8b1abde0304820ace0adf1478a3ef2291a833788ac"
1509
+ spendable: true
1510
+ customInstructions: "12,34,023398754239872342354534"
1511
+ tags: ["todo create"]
1512
+ outpoint: "d834139537caeb6abb876e1adcf00064fa7a775cf324a2c3bd8c13a8ec8c888f.34"
1513
+ labels: ["productivity"]
1514
+ - totalOutputs: 1
1515
+ BEEF: [2, 0, 190, 239]
1516
+ properties:
1517
+ totalOutputs:
1518
+ type: number
1519
+ examples:
1520
+ - 1
1521
+ BEEF:
1522
+ type: array
1523
+ items:
1524
+ type: number
1525
+ outputs:
1526
+ type: array
1527
+ items:
1528
+ $ref: "#/components/schemas/WalletOutput"
1529
+ CreateActionInput:
1530
+ type: object
1531
+ properties:
1532
+ outpoint:
1533
+ type: string
1534
+ examples:
1535
+ - "ef01fee61a0d00090280027a0ec9df2e605fa46a903dfa1bd249b96aa3001490.0"
1536
+ inputDescription:
1537
+ type: string
1538
+ examples:
1539
+ - "why this token is being spent"
1540
+ unlockingScript:
1541
+ type: string
1542
+ examples:
1543
+ - "47304402200aa56a892e310a7575035fb3c0bcf466bbc16e97dae197cc1d40412313f94b89022011944d2b1b0fa72dbe7893c400624a0652a6efcc40d459216c0e00d5d135f7fc412103820b289317fa9ba995ca05bc084a77ae6077dbb424206424d92b51653521bb90"
1544
+ unlockingScriptLength:
1545
+ type: number
1546
+ examples:
1547
+ - 106
1548
+ sequenceNumber:
1549
+ type: number
1550
+ examples:
1551
+ - 4294967295
1552
+ CreateActionOutput:
1553
+ type: object
1554
+ properties:
1555
+ lockingScript:
1556
+ type: string
1557
+ examples:
1558
+ - "76a914978bf440c1ae52331b2e95b641c0041debaa87ce88ac"
1559
+ satoshis:
1560
+ type: number
1561
+ examples:
1562
+ - 1234
1563
+ outputDescription:
1564
+ type: string
1565
+ examples:
1566
+ - "why this token is being created"
1567
+ basket:
1568
+ type: string
1569
+ examples:
1570
+ - "todo token"
1571
+ customInstructions:
1572
+ type: string
1573
+ examples:
1574
+ - "invoice1234,keyId1,03820b289317fa9ba995ca05bc084a77ae6077dbb424206424d92b51653521bb90"
1575
+ tags:
1576
+ type: array
1577
+ examples:
1578
+ - ["todo", "productivity"]
1579
+ items:
1580
+ type: string
1581
+ CreateActionOptions:
1582
+ type: object
1583
+ properties:
1584
+ signAndProcess:
1585
+ type: boolean
1586
+ acceptDelayedBroadcast:
1587
+ type: boolean
1588
+ trustSelf:
1589
+ type: string
1590
+ enum: [known]
1591
+ knownTxids:
1592
+ type: array
1593
+ items:
1594
+ type: string
1595
+ returnTXIDOnly:
1596
+ type: boolean
1597
+ noSend:
1598
+ type: boolean
1599
+ noSendChange:
1600
+ type: array
1601
+ examples:
1602
+ - [
1603
+ "11df9f39662e276dc2f637f063919ce3ca86cbc2d55ee8d661408d22b1f49018.0",
1604
+ ]
1605
+ items:
1606
+ type: string
1607
+ sendWith:
1608
+ type: array
1609
+ examples:
1610
+ - [
1611
+ "c2d37dd0575766e4deedf7ba072ad35b87e9223af01d2829a81960ba7164f606",
1612
+ ]
1613
+ items:
1614
+ type: string
1615
+ randomizeOutputs:
1616
+ type: boolean
1617
+ SendWithResult:
1618
+ type: object
1619
+ properties:
1620
+ txid:
1621
+ type: string
1622
+ examples:
1623
+ - "a0084f73e13afdcc284cc810b4d22af004a38dcf404d8ddbe43ac9fb1a77a4be"
1624
+ status:
1625
+ type: string
1626
+ enum: [unproven, sending, failed]
1627
+ SignableTransaction:
1628
+ type: object
1629
+ properties:
1630
+ tx:
1631
+ type: array
1632
+ examples:
1633
+ - [1, 1, 1, 1]
1634
+ items:
1635
+ type: number
1636
+ reference:
1637
+ type: string
1638
+ examples:
1639
+ - "C1HST7xvPKzh66npoiJ5fKwnLtnH3xxQ4ylxaGBTTOA="
1640
+ SignActionSpend:
1641
+ type: object
1642
+ properties:
1643
+ unlockingScript:
1644
+ type: string
1645
+ examples:
1646
+ - "47304402206ba4a1c0aa4e1ba7f2cd79de3617c9b1..."
1647
+ sequenceNumber:
1648
+ type: number
1649
+ examples:
1650
+ - 4294967295
1651
+ SignActionOptions:
1652
+ type: object
1653
+ properties:
1654
+ acceptDelayedBroadcast:
1655
+ type: boolean
1656
+ returnTXIDOnly:
1657
+ type: boolean
1658
+ noSend:
1659
+ type: boolean
1660
+ sendWith:
1661
+ type: array
1662
+ examples:
1663
+ - [
1664
+ "c2d37dd0575766e4deedf7ba072ad35b87e9223af01d2829a81960ba7164f606",
1665
+ ]
1666
+ items:
1667
+ type: string
1668
+ InternalizeOutput:
1669
+ type: object
1670
+ properties:
1671
+ outputIndex:
1672
+ type: number
1673
+ protocol:
1674
+ type: string
1675
+ enum: [wallet payment, basket insertion]
1676
+ paymentRemittance:
1677
+ type: object
1678
+ properties:
1679
+ derivationPrefix:
1680
+ type: string
1681
+ derivationSuffix:
1682
+ type: string
1683
+ senderIdentityKey:
1684
+ type: string
1685
+ insertionRemittance:
1686
+ type: object
1687
+ properties:
1688
+ basket:
1689
+ type: string
1690
+ customInstructions:
1691
+ type: string
1692
+ tags:
1693
+ type: array
1694
+ items:
1695
+ type: string
1696
+ WalletAction:
1697
+ type: object
1698
+ properties:
1699
+ txid:
1700
+ type: string
1701
+ examples:
1702
+ - "ab69c16801e6ea2bb78bde521c6e3654f7e665d0900e4236b5945e47a1482d3c"
1703
+ satoshis:
1704
+ type: number
1705
+ examples:
1706
+ - 1
1707
+ status:
1708
+ type: string
1709
+ enum:
1710
+ [
1711
+ completed,
1712
+ unprocessed,
1713
+ sending,
1714
+ unproven,
1715
+ unsigned,
1716
+ nosend,
1717
+ nonfinal,
1718
+ ]
1719
+ isOutgoing:
1720
+ type: boolean
1721
+ description:
1722
+ type: string
1723
+ examples:
1724
+ - "The creation of a token which captures an item of a todo list."
1725
+ labels:
1726
+ type: array
1727
+ examples:
1728
+ - ["todo create"]
1729
+ items:
1730
+ type: string
1731
+ version:
1732
+ type: number
1733
+ examples:
1734
+ - 1
1735
+ lockTime:
1736
+ type: number
1737
+ inputs:
1738
+ type: array
1739
+ items:
1740
+ $ref: "#/components/schemas/WalletActionInput"
1741
+ outputs:
1742
+ type: array
1743
+ items:
1744
+ $ref: "#/components/schemas/WalletActionOutput"
1745
+ WalletActionInput:
1746
+ type: object
1747
+ properties:
1748
+ sourceOutpoint:
1749
+ type: string
1750
+ examples:
1751
+ - "50e7365af507f6c862b6ca77cef2571ae63544bcd8e19c3c2abc44b20d0aeb6c.3"
1752
+ sourceSatoshis:
1753
+ type: number
1754
+ examples:
1755
+ - 4000
1756
+ sourceLockingScript:
1757
+ type: string
1758
+ examples:
1759
+ - "76a9144f427ee5f3099f0ac571f6b723a628e7b08fb64c88ac"
1760
+ unlockingScript:
1761
+ type: string
1762
+ examples:
1763
+ - "47304402200aa56a892e310a7575035fb3c0bcf4..."
1764
+ inputDescription:
1765
+ type: string
1766
+ examples:
1767
+ - "spending of a token of some sort"
1768
+ sequenceNumber:
1769
+ type: number
1770
+ examples:
1771
+ - 4294967295
1772
+ WalletActionOutput:
1773
+ type: object
1774
+ properties:
1775
+ satoshis:
1776
+ type: number
1777
+ examples:
1778
+ - 1000
1779
+ lockingScript:
1780
+ type: string
1781
+ examples:
1782
+ - "76a914dd8b1abde0304820ace0adf1478a3ef2291a833788ac"
1783
+ spendable:
1784
+ type: boolean
1785
+ customInstructions:
1786
+ type: string
1787
+ examples:
1788
+ - "invoice5678,keyId2,02ffc4f361307f34a82069edbcbe2c9f4bd5498165549f42bdeb698ffdcab1ea38"
1789
+ tags:
1790
+ type: array
1791
+ examples:
1792
+ - ["todo create", "productivity"]
1793
+ items:
1794
+ type: string
1795
+ outputIndex:
1796
+ type: number
1797
+ examples:
1798
+ - 0
1799
+ outputDescription:
1800
+ type: string
1801
+ examples:
1802
+ - "a special token of some description"
1803
+ basket:
1804
+ type: string
1805
+ examples:
1806
+ - "todo token"
1807
+ WalletOutput:
1808
+ type: object
1809
+ properties:
1810
+ satoshis:
1811
+ type: number
1812
+ lockingScript:
1813
+ type: string
1814
+ spendable:
1815
+ type: boolean
1816
+ customInstructions:
1817
+ type: string
1818
+ tags:
1819
+ type: array
1820
+ items:
1821
+ type: string
1822
+ outpoint:
1823
+ type: string
1824
+ labels:
1825
+ type: array
1826
+ items:
1827
+ type: string
1828
+ BasketStringUnder300Bytes:
1829
+ type: string
1830
+ examples:
1831
+ - "todo token"
1832
+ OutpointString:
1833
+ type: string
1834
+ examples:
1835
+ - "ae9b36d2bad995e5cd9a12e73d02140c163a7932fa37b927de1f031410dbd751.0"
1836
+ AcquireCertificateArgs:
1837
+ type: object
1838
+ properties:
1839
+ certifier:
1840
+ type: string
1841
+ examples:
1842
+ - "035836f24728af22bdeb3524c35b2e6c6126a45587dd11fcab826c054e170f97b8"
1843
+ type:
1844
+ type: string
1845
+ examples:
1846
+ - "W/iqV/xaa8VH3s8cxttj8Q3rVaPGxd9JfWMfs9leGr8="
1847
+ fields:
1848
+ type: object
1849
+ examples:
1850
+ - firstName: "Michael"
1851
+ lastName: "Huntington"
1852
+ dob: "12/12/2001"
1853
+ additionalProperties:
1854
+ type: string
1855
+ privilegedReason:
1856
+ type: string
1857
+ examples:
1858
+ - "-"
1859
+ privileged:
1860
+ type: boolean
1861
+ default: false
1862
+ Certificate:
1863
+ type: object
1864
+ properties:
1865
+ type:
1866
+ type: string
1867
+ examples:
1868
+ - "W/iqV/xaa8VH3s8cxttj8Q3rVaPGxd9JfWMfs9leGr8="
1869
+ subject:
1870
+ type: string
1871
+ examples:
1872
+ - "02d292971b665575c90e8183e20d7c528e2ec1734fcb9f69c7e65e5046596767f3"
1873
+ serialNumber:
1874
+ type: string
1875
+ examples:
1876
+ - "6d4U5qznZnQmWJF3sEqKXsi5pB8sUhD0MWcadrxzKas="
1877
+ certifier:
1878
+ type: string
1879
+ examples:
1880
+ - "035836f24728af22bdeb3524c35b2e6c6126a45587dd11fcab826c054e170f97b8"
1881
+ revocationOutput:
1882
+ type: string
1883
+ examples:
1884
+ - "e38a285d99d8a70448240255b5e92090bef87d7c5abab34a1263966fcde40621.3"
1885
+ signature:
1886
+ type: string
1887
+ examples:
1888
+ - "30450221008a9e150a43dc22652f4b627d08cae1d..."
1889
+ fields:
1890
+ type: object
1891
+ examples:
1892
+ - firstName: "Michael"
1893
+ lastName: "Huntington"
1894
+ dob: "12/12/2001"
1895
+ additionalProperties:
1896
+ type: string
1897
+ ListCertificatesResult:
1898
+ type: object
1899
+ properties:
1900
+ totalCertificates:
1901
+ type: number
1902
+ examples:
1903
+ - 1
1904
+ certificates:
1905
+ type: array
1906
+ items:
1907
+ $ref: "#/components/schemas/Certificate"
1908
+ ProveCertificateArgs:
1909
+ type: object
1910
+ properties:
1911
+ certificate:
1912
+ $ref: "#/components/schemas/Certificate"
1913
+ fieldsToReveal:
1914
+ type: array
1915
+ items:
1916
+ type: string
1917
+ examples:
1918
+ - "dob"
1919
+ verifier:
1920
+ type: string
1921
+ examples:
1922
+ - "02a3ffa2ea5db22192aed65131a6683c0f626fb35a8c717c783587e08a4daec380"
1923
+ privileged:
1924
+ type: boolean
1925
+ default: false
1926
+ privilegedReason:
1927
+ type: string
1928
+ examples:
1929
+ - "-"
1930
+ ProveCertificateResult:
1931
+ type: object
1932
+ properties:
1933
+ keyringForVerifier:
1934
+ type: object
1935
+ examples:
1936
+ - firstName: "ZGF2aWQ="
1937
+ lastName: "SW52ZXJuZXNz"
1938
+ dob: "MTIvMTIvMTk4OA=="
1939
+ additionalProperties:
1940
+ type: string
1941
+ DiscoverCertificatesResult:
1942
+ type: object
1943
+ properties:
1944
+ totalCertificates:
1945
+ type: number
1946
+ examples:
1947
+ - 1
1948
+ certificates:
1949
+ type: array
1950
+ items:
1951
+ $ref: "#/components/schemas/Certificate"
1952
+ ProtocolID:
1953
+ type: array
1954
+ examples:
1955
+ - [0, "todo token"]
1956
+ prefixItems:
1957
+ - type: integer
1958
+ - type: string
1959
+ minItems: 2
1960
+ maxItems: 2