@bsv/sdk 1.1.32 → 1.2.0

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 (229) hide show
  1. package/dist/cjs/mod.js +4 -0
  2. package/dist/cjs/mod.js.map +1 -1
  3. package/dist/cjs/package.json +4 -3
  4. package/dist/cjs/src/auth/Certificate.js +163 -0
  5. package/dist/cjs/src/auth/Certificate.js.map +1 -0
  6. package/dist/cjs/src/auth/index.js +9 -0
  7. package/dist/cjs/src/auth/index.js.map +1 -0
  8. package/dist/cjs/src/compat/BSM.js +17 -7
  9. package/dist/cjs/src/compat/BSM.js.map +1 -1
  10. package/dist/cjs/src/compat/ECIES.js +17 -7
  11. package/dist/cjs/src/compat/ECIES.js.map +1 -1
  12. package/dist/cjs/src/compat/HD.js +17 -7
  13. package/dist/cjs/src/compat/HD.js.map +1 -1
  14. package/dist/cjs/src/compat/Mnemonic.js +17 -7
  15. package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
  16. package/dist/cjs/src/compat/index.js +17 -7
  17. package/dist/cjs/src/compat/index.js.map +1 -1
  18. package/dist/cjs/src/messages/index.js +17 -7
  19. package/dist/cjs/src/messages/index.js.map +1 -1
  20. package/dist/cjs/src/overlay-tools/LookupResolver.js +170 -0
  21. package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -0
  22. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +69 -0
  23. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -0
  24. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +336 -0
  25. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -0
  26. package/dist/cjs/src/overlay-tools/index.js +29 -0
  27. package/dist/cjs/src/overlay-tools/index.js.map +1 -0
  28. package/dist/cjs/src/primitives/PrivateKey.js +17 -7
  29. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  30. package/dist/cjs/src/primitives/TransactionSignature.js +17 -7
  31. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  32. package/dist/cjs/src/primitives/index.js +17 -7
  33. package/dist/cjs/src/primitives/index.js.map +1 -1
  34. package/dist/cjs/src/script/Spend.js +17 -7
  35. package/dist/cjs/src/script/Spend.js.map +1 -1
  36. package/dist/cjs/src/script/templates/PushDrop.js +218 -0
  37. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -0
  38. package/dist/cjs/src/script/templates/index.js +3 -1
  39. package/dist/cjs/src/script/templates/index.js.map +1 -1
  40. package/dist/cjs/src/transaction/Beef.js +35 -6
  41. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  42. package/dist/cjs/src/transaction/Transaction.js +13 -4
  43. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  44. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +1 -1
  45. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  46. package/dist/cjs/src/wallet/CachedKeyDeriver.js +177 -0
  47. package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -0
  48. package/dist/cjs/src/wallet/KeyDeriver.js +174 -0
  49. package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -0
  50. package/dist/cjs/src/wallet/ProtoWallet.js +245 -0
  51. package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -0
  52. package/dist/cjs/src/wallet/Wallet.interfaces.js +3 -0
  53. package/dist/cjs/src/wallet/Wallet.interfaces.js.map +1 -0
  54. package/dist/cjs/src/wallet/WalletClient.js +181 -0
  55. package/dist/cjs/src/wallet/WalletClient.js.map +1 -0
  56. package/dist/cjs/src/wallet/WalletError.js +28 -0
  57. package/dist/cjs/src/wallet/WalletError.js.map +1 -0
  58. package/dist/cjs/src/wallet/index.js +34 -0
  59. package/dist/cjs/src/wallet/index.js.map +1 -0
  60. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +45 -0
  61. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -0
  62. package/dist/cjs/src/wallet/substrates/WalletWire.js +3 -0
  63. package/dist/cjs/src/wallet/substrates/WalletWire.js.map +1 -0
  64. package/dist/cjs/src/wallet/substrates/WalletWireCalls.js +36 -0
  65. package/dist/cjs/src/wallet/substrates/WalletWireCalls.js.map +1 -0
  66. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1821 -0
  67. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -0
  68. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +1305 -0
  69. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -0
  70. package/dist/cjs/src/wallet/substrates/XDM.js +130 -0
  71. package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -0
  72. package/dist/cjs/src/wallet/substrates/index.js +33 -0
  73. package/dist/cjs/src/wallet/substrates/index.js.map +1 -0
  74. package/dist/cjs/src/wallet/substrates/window.CWI.js +102 -0
  75. package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -0
  76. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  77. package/dist/esm/mod.js +4 -0
  78. package/dist/esm/mod.js.map +1 -1
  79. package/dist/esm/src/auth/Certificate.js +185 -0
  80. package/dist/esm/src/auth/Certificate.js.map +1 -0
  81. package/dist/esm/src/auth/index.js +2 -0
  82. package/dist/esm/src/auth/index.js.map +1 -0
  83. package/dist/esm/src/overlay-tools/LookupResolver.js +167 -0
  84. package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -0
  85. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +64 -0
  86. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -0
  87. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +335 -0
  88. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -0
  89. package/dist/esm/src/overlay-tools/index.js +6 -0
  90. package/dist/esm/src/overlay-tools/index.js.map +1 -0
  91. package/dist/esm/src/script/templates/PushDrop.js +215 -0
  92. package/dist/esm/src/script/templates/PushDrop.js.map +1 -0
  93. package/dist/esm/src/script/templates/index.js +1 -0
  94. package/dist/esm/src/script/templates/index.js.map +1 -1
  95. package/dist/esm/src/transaction/Beef.js +35 -6
  96. package/dist/esm/src/transaction/Beef.js.map +1 -1
  97. package/dist/esm/src/transaction/Transaction.js +13 -4
  98. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  99. package/dist/esm/src/transaction/http/DefaultHttpClient.js +1 -1
  100. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  101. package/dist/esm/src/wallet/CachedKeyDeriver.js +174 -0
  102. package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -0
  103. package/dist/esm/src/wallet/KeyDeriver.js +172 -0
  104. package/dist/esm/src/wallet/KeyDeriver.js.map +1 -0
  105. package/dist/esm/src/wallet/ProtoWallet.js +207 -0
  106. package/dist/esm/src/wallet/ProtoWallet.js.map +1 -0
  107. package/dist/esm/src/wallet/Wallet.interfaces.js +2 -0
  108. package/dist/esm/src/wallet/Wallet.interfaces.js.map +1 -0
  109. package/dist/esm/src/wallet/WalletClient.js +177 -0
  110. package/dist/esm/src/wallet/WalletClient.js.map +1 -0
  111. package/dist/esm/src/wallet/WalletError.js +25 -0
  112. package/dist/esm/src/wallet/WalletError.js.map +1 -0
  113. package/dist/esm/src/wallet/index.js +9 -0
  114. package/dist/esm/src/wallet/index.js.map +1 -0
  115. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +42 -0
  116. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -0
  117. package/dist/esm/src/wallet/substrates/WalletWire.js +2 -0
  118. package/dist/esm/src/wallet/substrates/WalletWire.js.map +1 -0
  119. package/dist/esm/src/wallet/substrates/WalletWireCalls.js +34 -0
  120. package/dist/esm/src/wallet/substrates/WalletWireCalls.js.map +1 -0
  121. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1816 -0
  122. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -0
  123. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +1300 -0
  124. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -0
  125. package/dist/esm/src/wallet/substrates/XDM.js +128 -0
  126. package/dist/esm/src/wallet/substrates/XDM.js.map +1 -0
  127. package/dist/esm/src/wallet/substrates/index.js +8 -0
  128. package/dist/esm/src/wallet/substrates/index.js.map +1 -0
  129. package/dist/esm/src/wallet/substrates/window.CWI.js +100 -0
  130. package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -0
  131. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  132. package/dist/types/mod.d.ts +4 -0
  133. package/dist/types/mod.d.ts.map +1 -1
  134. package/dist/types/src/auth/Certificate.d.ts +76 -0
  135. package/dist/types/src/auth/Certificate.d.ts.map +1 -0
  136. package/dist/types/src/auth/index.d.ts +2 -0
  137. package/dist/types/src/auth/index.d.ts.map +1 -0
  138. package/dist/types/src/overlay-tools/LookupResolver.d.ts +71 -0
  139. package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -0
  140. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +44 -0
  141. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -0
  142. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +90 -0
  143. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -0
  144. package/dist/types/src/overlay-tools/index.d.ts +6 -0
  145. package/dist/types/src/overlay-tools/index.d.ts.map +1 -0
  146. package/dist/types/src/script/templates/PushDrop.d.ts +53 -0
  147. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -0
  148. package/dist/types/src/script/templates/index.d.ts +1 -0
  149. package/dist/types/src/script/templates/index.d.ts.map +1 -1
  150. package/dist/types/src/transaction/Beef.d.ts +16 -1
  151. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  152. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  153. package/dist/types/src/wallet/CachedKeyDeriver.d.ts +92 -0
  154. package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -0
  155. package/dist/types/src/wallet/KeyDeriver.d.ts +72 -0
  156. package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -0
  157. package/dist/types/src/wallet/ProtoWallet.d.ts +415 -0
  158. package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -0
  159. package/dist/types/src/wallet/Wallet.interfaces.d.ts +996 -0
  160. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -0
  161. package/dist/types/src/wallet/WalletClient.d.ts +182 -0
  162. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -0
  163. package/dist/types/src/wallet/WalletError.d.ts +14 -0
  164. package/dist/types/src/wallet/WalletError.d.ts.map +1 -0
  165. package/dist/types/src/wallet/index.d.ts +9 -0
  166. package/dist/types/src/wallet/index.d.ts.map +1 -0
  167. package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts +9 -0
  168. package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -0
  169. package/dist/types/src/wallet/substrates/WalletWire.d.ts +7 -0
  170. package/dist/types/src/wallet/substrates/WalletWire.d.ts.map +1 -0
  171. package/dist/types/src/wallet/substrates/WalletWireCalls.d.ts +33 -0
  172. package/dist/types/src/wallet/substrates/WalletWireCalls.d.ts.map +1 -0
  173. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts +18 -0
  174. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -0
  175. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +196 -0
  176. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -0
  177. package/dist/types/src/wallet/substrates/XDM.d.ts +412 -0
  178. package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -0
  179. package/dist/types/src/wallet/substrates/index.d.ts +8 -0
  180. package/dist/types/src/wallet/substrates/index.d.ts.map +1 -0
  181. package/dist/types/src/wallet/substrates/window.CWI.d.ts +410 -0
  182. package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -0
  183. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  184. package/dist/umd/bundle.js +1 -1
  185. package/docs/overlay-tools.md +551 -0
  186. package/docs/script.md +135 -0
  187. package/docs/totp.md +119 -0
  188. package/docs/transaction.md +25 -0
  189. package/docs/wallet-substrates.md +10 -0
  190. package/docs/wallet.md +4182 -0
  191. package/mod.ts +5 -1
  192. package/package.json +44 -3
  193. package/src/auth/Certificate.ts +233 -0
  194. package/src/auth/__tests/Certificate.test.ts +282 -0
  195. package/src/auth/index.ts +1 -0
  196. package/src/overlay-tools/LookupResolver.ts +228 -0
  197. package/src/overlay-tools/OverlayAdminTokenTemplate.ts +79 -0
  198. package/src/overlay-tools/SHIPBroadcaster.ts +405 -0
  199. package/src/overlay-tools/__tests/LookupResolver.test.ts +1403 -0
  200. package/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.ts +69 -0
  201. package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +904 -0
  202. package/src/overlay-tools/index.ts +5 -0
  203. package/src/script/templates/PushDrop.ts +246 -0
  204. package/src/script/templates/__tests/PushDrop.test.ts +158 -0
  205. package/src/script/templates/index.ts +1 -0
  206. package/src/transaction/Beef.ts +36 -6
  207. package/src/transaction/Transaction.ts +13 -4
  208. package/src/transaction/__tests/Beef.test.ts +20 -6
  209. package/src/transaction/http/DefaultHttpClient.ts +1 -1
  210. package/src/wallet/CachedKeyDeriver.ts +193 -0
  211. package/src/wallet/KeyDeriver.ts +178 -0
  212. package/src/wallet/ProtoWallet.ts +732 -0
  213. package/src/wallet/Wallet.interfaces.ts +1170 -0
  214. package/src/wallet/WalletClient.ts +201 -0
  215. package/src/wallet/WalletError.ts +27 -0
  216. package/src/wallet/__tests/CachedKeyDeriver.test.ts +322 -0
  217. package/src/wallet/__tests/KeyDeriver.test.ts +118 -0
  218. package/src/wallet/__tests/ProtoWallet.test.ts +543 -0
  219. package/src/wallet/index.ts +8 -0
  220. package/src/wallet/substrates/HTTPWalletWire.ts +47 -0
  221. package/src/wallet/substrates/WalletWire.ts +6 -0
  222. package/src/wallet/substrates/WalletWireCalls.ts +34 -0
  223. package/src/wallet/substrates/WalletWireProcessor.ts +2046 -0
  224. package/src/wallet/substrates/WalletWireTransceiver.ts +1454 -0
  225. package/src/wallet/substrates/XDM.ts +157 -0
  226. package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +2194 -0
  227. package/src/wallet/substrates/__tests/XDM.test.ts +659 -0
  228. package/src/wallet/substrates/index.ts +7 -0
  229. package/src/wallet/substrates/window.CWI.ts +133 -0
@@ -0,0 +1,415 @@
1
+ import { Base64String, BasketStringUnder300Bytes, BEEF, BooleanDefaultFalse, BooleanDefaultTrue, Byte, CertificateFieldNameUnder50Bytes, DescriptionString5to50Bytes, EntityIconURLStringMax500Bytes, EntityNameStringMax100Bytes, HexString, ISOTimestampString, KeyIDStringUnder800Bytes, LabelStringUnder300Bytes, OriginatorDomainNameStringUnder250Bytes, OutpointString, OutputTagStringUnder300Bytes, PositiveInteger, PositiveIntegerDefault10Max10000, PositiveIntegerMax10, PositiveIntegerOrZero, ProtocolString5To400Bytes, PubKeyHex, SatoshiValue, TXIDHexString, VersionString7To30Bytes, Wallet } from './Wallet.interfaces.js';
2
+ import KeyDeriver from './KeyDeriver.js';
3
+ import { PrivateKey } from '../primitives/index.js';
4
+ /**
5
+ * A ProtoWallet is a structure that fulfills the Wallet interface, capable of performing all foundational cryptographic operations. It can derive keys, create signatures, facilitate encryption and HMAC operations, and reveal key linkages. However, ProtoWallet does not create transactions, manage outputs, interact with the blockchain, enable the management of identity certificates, or store any data.
6
+ */
7
+ export default class ProtoWallet implements Wallet {
8
+ keyDeriver: KeyDeriver;
9
+ privilegedError: string;
10
+ constructor(rootKey: PrivateKey | 'anyone', KeyDeriverClass?: typeof KeyDeriver);
11
+ createAction(args: {
12
+ description: DescriptionString5to50Bytes;
13
+ inputs?: Array<{
14
+ tx?: BEEF;
15
+ outpoint: OutpointString;
16
+ unlockingScript?: HexString;
17
+ unlockingScriptLength?: PositiveInteger;
18
+ inputDescription: DescriptionString5to50Bytes;
19
+ sequenceNumber?: PositiveIntegerOrZero;
20
+ }>;
21
+ outputs?: Array<{
22
+ lockingScript: HexString;
23
+ satoshis: SatoshiValue;
24
+ outputDescription: DescriptionString5to50Bytes;
25
+ basket?: BasketStringUnder300Bytes;
26
+ customInstructions?: string;
27
+ tags?: OutputTagStringUnder300Bytes[];
28
+ }>;
29
+ lockTime?: PositiveIntegerOrZero;
30
+ version?: PositiveIntegerOrZero;
31
+ labels?: LabelStringUnder300Bytes[];
32
+ options?: {
33
+ signAndProcess?: BooleanDefaultTrue;
34
+ acceptDelayedBroadcast?: BooleanDefaultTrue;
35
+ trustSelf?: 'known';
36
+ knownTxids?: TXIDHexString[];
37
+ returnTXIDOnly?: BooleanDefaultFalse;
38
+ noSend?: BooleanDefaultFalse;
39
+ noSendChange?: OutpointString[];
40
+ sendWith?: TXIDHexString[];
41
+ randomizeOutputs?: BooleanDefaultTrue;
42
+ };
43
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
44
+ txid?: TXIDHexString;
45
+ tx?: BEEF;
46
+ noSendChange?: OutpointString[];
47
+ sendWithResults?: Array<{
48
+ txid: TXIDHexString;
49
+ status: 'unproven' | 'sending' | 'failed';
50
+ }>;
51
+ signableTransaction?: {
52
+ tx: BEEF;
53
+ reference: Base64String;
54
+ };
55
+ }>;
56
+ signAction(args: {
57
+ spends: Record<PositiveIntegerOrZero, {
58
+ unlockingScript: HexString;
59
+ sequenceNumber?: PositiveIntegerOrZero;
60
+ }>;
61
+ reference: Base64String;
62
+ options?: {
63
+ acceptDelayedBroadcast?: BooleanDefaultTrue;
64
+ returnTXIDOnly?: BooleanDefaultFalse;
65
+ noSend?: BooleanDefaultFalse;
66
+ noSendChange?: OutpointString[];
67
+ sendWith?: TXIDHexString[];
68
+ };
69
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
70
+ txid?: TXIDHexString;
71
+ tx?: BEEF;
72
+ noSendChange?: OutpointString[];
73
+ sendWithResults?: Array<{
74
+ txid: TXIDHexString;
75
+ status: 'unproven' | 'sending' | 'failed';
76
+ }>;
77
+ }>;
78
+ abortAction(args: {
79
+ reference: Base64String;
80
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
81
+ aborted: true;
82
+ }>;
83
+ listActions(args: {
84
+ labels: LabelStringUnder300Bytes[];
85
+ labelQueryMode?: 'any' | 'all';
86
+ includeLabels?: BooleanDefaultFalse;
87
+ includeInputs?: BooleanDefaultFalse;
88
+ includeInputSourceLockingScripts?: BooleanDefaultFalse;
89
+ includeInputUnlockingScripts?: BooleanDefaultFalse;
90
+ includeOutputs?: BooleanDefaultFalse;
91
+ includeOutputLockingScripts?: BooleanDefaultFalse;
92
+ limit?: PositiveIntegerDefault10Max10000;
93
+ offset?: PositiveIntegerOrZero;
94
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
95
+ totalActions: PositiveIntegerOrZero;
96
+ actions: Array<{
97
+ txid: TXIDHexString;
98
+ satoshis: SatoshiValue;
99
+ status: 'completed' | 'unprocessed' | 'sending' | 'unproven' | 'unsigned' | 'nosend' | 'nonfinal';
100
+ isOutgoing: boolean;
101
+ description: DescriptionString5to50Bytes;
102
+ labels?: LabelStringUnder300Bytes[];
103
+ version: PositiveIntegerOrZero;
104
+ lockTime: PositiveIntegerOrZero;
105
+ inputs?: Array<{
106
+ sourceOutpoint: OutpointString;
107
+ sourceSatoshis: SatoshiValue;
108
+ sourceLockingScript?: HexString;
109
+ unlockingScript?: HexString;
110
+ inputDescription: DescriptionString5to50Bytes;
111
+ sequenceNumber: PositiveIntegerOrZero;
112
+ }>;
113
+ outputs?: Array<{
114
+ outputIndex: PositiveIntegerOrZero;
115
+ satoshis: SatoshiValue;
116
+ lockingScript?: HexString;
117
+ spendable: boolean;
118
+ outputDescription: DescriptionString5to50Bytes;
119
+ basket: BasketStringUnder300Bytes;
120
+ tags: OutputTagStringUnder300Bytes[];
121
+ customInstructions?: string;
122
+ }>;
123
+ }>;
124
+ }>;
125
+ internalizeAction(args: {
126
+ tx: BEEF;
127
+ outputs: Array<{
128
+ outputIndex: PositiveIntegerOrZero;
129
+ protocol: 'wallet payment' | 'basket insertion';
130
+ paymentRemittance?: {
131
+ derivationPrefix: Base64String;
132
+ derivationSuffix: Base64String;
133
+ senderIdentityKey: PubKeyHex;
134
+ };
135
+ insertionRemittance?: {
136
+ basket: BasketStringUnder300Bytes;
137
+ customInstructions?: string;
138
+ tags?: OutputTagStringUnder300Bytes[];
139
+ };
140
+ }>;
141
+ description: DescriptionString5to50Bytes;
142
+ labels?: LabelStringUnder300Bytes[];
143
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
144
+ accepted: true;
145
+ }>;
146
+ listOutputs(args: {
147
+ basket: BasketStringUnder300Bytes;
148
+ tags?: OutputTagStringUnder300Bytes[];
149
+ tagQueryMode?: 'all' | 'any';
150
+ include?: 'locking scripts' | 'entire transactions';
151
+ includeCustomInstructions?: BooleanDefaultFalse;
152
+ includeTags?: BooleanDefaultFalse;
153
+ includeLabels?: BooleanDefaultFalse;
154
+ limit?: PositiveIntegerDefault10Max10000;
155
+ offset?: PositiveIntegerOrZero;
156
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
157
+ totalOutputs: PositiveIntegerOrZero;
158
+ outputs: Array<{
159
+ outpoint: OutpointString;
160
+ satoshis: SatoshiValue;
161
+ lockingScript?: HexString;
162
+ tx?: BEEF;
163
+ spendable: true;
164
+ customInstructions?: string;
165
+ tags?: OutputTagStringUnder300Bytes[];
166
+ labels?: LabelStringUnder300Bytes[];
167
+ }>;
168
+ }>;
169
+ relinquishOutput(args: {
170
+ basket: BasketStringUnder300Bytes;
171
+ output: OutpointString;
172
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
173
+ relinquished: true;
174
+ }>;
175
+ getPublicKey(args: {
176
+ identityKey?: true;
177
+ protocolID?: [0 | 1 | 2, ProtocolString5To400Bytes];
178
+ keyID?: KeyIDStringUnder800Bytes;
179
+ privileged?: BooleanDefaultFalse;
180
+ privilegedReason?: DescriptionString5to50Bytes;
181
+ counterparty?: PubKeyHex | 'self' | 'anyone';
182
+ forSelf?: BooleanDefaultFalse;
183
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
184
+ publicKey: PubKeyHex;
185
+ }>;
186
+ revealCounterpartyKeyLinkage(args: {
187
+ counterparty: PubKeyHex;
188
+ verifier: PubKeyHex;
189
+ privilegedReason?: DescriptionString5to50Bytes;
190
+ privileged?: BooleanDefaultFalse;
191
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
192
+ prover: PubKeyHex;
193
+ verifier: PubKeyHex;
194
+ counterparty: PubKeyHex;
195
+ revelationTime: ISOTimestampString;
196
+ encryptedLinkage: Byte[];
197
+ encryptedLinkageProof: Byte[];
198
+ }>;
199
+ revealSpecificKeyLinkage(args: {
200
+ counterparty: PubKeyHex;
201
+ verifier: PubKeyHex;
202
+ protocolID: [0 | 1 | 2, ProtocolString5To400Bytes];
203
+ keyID: KeyIDStringUnder800Bytes;
204
+ privilegedReason?: DescriptionString5to50Bytes;
205
+ privileged?: BooleanDefaultFalse;
206
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
207
+ prover: PubKeyHex;
208
+ verifier: PubKeyHex;
209
+ counterparty: PubKeyHex;
210
+ protocolID: [0 | 1 | 2, ProtocolString5To400Bytes];
211
+ keyID: KeyIDStringUnder800Bytes;
212
+ encryptedLinkage: Byte[];
213
+ encryptedLinkageProof: Byte[];
214
+ proofType: Byte;
215
+ }>;
216
+ encrypt(args: {
217
+ plaintext: Byte[];
218
+ protocolID: [0 | 1 | 2, ProtocolString5To400Bytes];
219
+ keyID: KeyIDStringUnder800Bytes;
220
+ privilegedReason?: DescriptionString5to50Bytes;
221
+ counterparty?: PubKeyHex | 'self' | 'anyone';
222
+ privileged?: BooleanDefaultFalse;
223
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
224
+ ciphertext: Byte[];
225
+ }>;
226
+ decrypt(args: {
227
+ ciphertext: Byte[];
228
+ protocolID: [0 | 1 | 2, ProtocolString5To400Bytes];
229
+ keyID: KeyIDStringUnder800Bytes;
230
+ privilegedReason?: DescriptionString5to50Bytes;
231
+ counterparty?: PubKeyHex | 'self' | 'anyone';
232
+ privileged?: BooleanDefaultFalse;
233
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
234
+ plaintext: Byte[];
235
+ }>;
236
+ createHmac(args: {
237
+ data: Byte[];
238
+ protocolID: [0 | 1 | 2, ProtocolString5To400Bytes];
239
+ keyID: KeyIDStringUnder800Bytes;
240
+ privilegedReason?: DescriptionString5to50Bytes;
241
+ counterparty?: PubKeyHex | 'self' | 'anyone';
242
+ privileged?: BooleanDefaultFalse;
243
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
244
+ hmac: Byte[];
245
+ }>;
246
+ verifyHmac(args: {
247
+ data: Byte[];
248
+ hmac: Byte[];
249
+ protocolID: [0 | 1 | 2, ProtocolString5To400Bytes];
250
+ keyID: KeyIDStringUnder800Bytes;
251
+ privilegedReason?: DescriptionString5to50Bytes;
252
+ counterparty?: PubKeyHex | 'self' | 'anyone';
253
+ privileged?: BooleanDefaultFalse;
254
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
255
+ valid: true;
256
+ }>;
257
+ createSignature(args: {
258
+ data?: Byte[];
259
+ hashToDirectlySign?: Byte[];
260
+ protocolID: [0 | 1 | 2, ProtocolString5To400Bytes];
261
+ keyID: KeyIDStringUnder800Bytes;
262
+ privilegedReason?: DescriptionString5to50Bytes;
263
+ counterparty?: PubKeyHex | 'self' | 'anyone';
264
+ privileged?: BooleanDefaultFalse;
265
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
266
+ signature: Byte[];
267
+ }>;
268
+ verifySignature(args: {
269
+ data?: Byte[];
270
+ hashToDirectlyVerify?: Byte[];
271
+ signature: Byte[];
272
+ protocolID: [0 | 1 | 2, ProtocolString5To400Bytes];
273
+ keyID: KeyIDStringUnder800Bytes;
274
+ privilegedReason?: DescriptionString5to50Bytes;
275
+ counterparty?: PubKeyHex | 'self' | 'anyone';
276
+ forSelf?: BooleanDefaultFalse;
277
+ privileged?: BooleanDefaultFalse;
278
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
279
+ valid: true;
280
+ }>;
281
+ acquireCertificate(args: {
282
+ type: Base64String;
283
+ certifier: PubKeyHex;
284
+ acquisitionProtocol: 'direct' | 'issuance';
285
+ fields: Record<CertificateFieldNameUnder50Bytes, string>;
286
+ serialNumber?: Base64String;
287
+ revocationOutpoint?: OutpointString;
288
+ signature?: HexString;
289
+ certifierUrl?: string;
290
+ keyringRevealer?: PubKeyHex | 'certifier';
291
+ keyringForSubject?: Record<CertificateFieldNameUnder50Bytes, Base64String>;
292
+ privileged?: BooleanDefaultFalse;
293
+ privilegedReason?: DescriptionString5to50Bytes;
294
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
295
+ type: Base64String;
296
+ subject: PubKeyHex;
297
+ serialNumber: Base64String;
298
+ certifier: PubKeyHex;
299
+ revocationOutpoint: OutpointString;
300
+ signature: HexString;
301
+ fields: Record<CertificateFieldNameUnder50Bytes, string>;
302
+ }>;
303
+ listCertificates(args: {
304
+ certifiers: PubKeyHex[];
305
+ types: Base64String[];
306
+ limit?: PositiveIntegerDefault10Max10000;
307
+ offset?: PositiveIntegerOrZero;
308
+ privileged?: BooleanDefaultFalse;
309
+ privilegedReason?: DescriptionString5to50Bytes;
310
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
311
+ totalCertificates: PositiveIntegerOrZero;
312
+ certificates: Array<{
313
+ type: Base64String;
314
+ subject: PubKeyHex;
315
+ serialNumber: Base64String;
316
+ certifier: PubKeyHex;
317
+ revocationOutpoint: OutpointString;
318
+ signature: HexString;
319
+ fields: Record<CertificateFieldNameUnder50Bytes, string>;
320
+ }>;
321
+ }>;
322
+ proveCertificate(args: {
323
+ certificate: {
324
+ type: Base64String;
325
+ subject: PubKeyHex;
326
+ serialNumber: Base64String;
327
+ certifier: PubKeyHex;
328
+ revocationOutpoint: OutpointString;
329
+ signature: HexString;
330
+ fields: Record<CertificateFieldNameUnder50Bytes, string>;
331
+ };
332
+ fieldsToReveal: CertificateFieldNameUnder50Bytes[];
333
+ verifier: PubKeyHex;
334
+ privileged?: BooleanDefaultFalse;
335
+ privilegedReason?: DescriptionString5to50Bytes;
336
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
337
+ keyringForVerifier: Record<CertificateFieldNameUnder50Bytes, Base64String>;
338
+ }>;
339
+ relinquishCertificate(args: {
340
+ type: Base64String;
341
+ serialNumber: Base64String;
342
+ certifier: PubKeyHex;
343
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
344
+ relinquished: true;
345
+ }>;
346
+ discoverByIdentityKey(args: {
347
+ identityKey: PubKeyHex;
348
+ limit?: PositiveIntegerDefault10Max10000;
349
+ offset?: PositiveIntegerOrZero;
350
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
351
+ totalCertificates: PositiveIntegerOrZero;
352
+ certificates: Array<{
353
+ type: Base64String;
354
+ subject: PubKeyHex;
355
+ serialNumber: Base64String;
356
+ certifier: PubKeyHex;
357
+ revocationOutpoint: OutpointString;
358
+ signature: HexString;
359
+ fields: Record<CertificateFieldNameUnder50Bytes, Base64String>;
360
+ certifierInfo: {
361
+ name: EntityNameStringMax100Bytes;
362
+ iconUrl: EntityIconURLStringMax500Bytes;
363
+ description: DescriptionString5to50Bytes;
364
+ trust: PositiveIntegerMax10;
365
+ };
366
+ publiclyRevealedKeyring: Record<CertificateFieldNameUnder50Bytes, Base64String>;
367
+ decryptedFields: Record<CertificateFieldNameUnder50Bytes, string>;
368
+ }>;
369
+ }>;
370
+ discoverByAttributes(args: {
371
+ attributes: Record<CertificateFieldNameUnder50Bytes, string>;
372
+ limit?: PositiveIntegerDefault10Max10000;
373
+ offset?: PositiveIntegerOrZero;
374
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
375
+ totalCertificates: PositiveIntegerOrZero;
376
+ certificates: Array<{
377
+ type: Base64String;
378
+ subject: PubKeyHex;
379
+ serialNumber: Base64String;
380
+ certifier: PubKeyHex;
381
+ revocationOutpoint: OutpointString;
382
+ signature: HexString;
383
+ fields: Record<CertificateFieldNameUnder50Bytes, Base64String>;
384
+ certifierInfo: {
385
+ name: EntityNameStringMax100Bytes;
386
+ iconUrl: EntityIconURLStringMax500Bytes;
387
+ description: DescriptionString5to50Bytes;
388
+ trust: PositiveIntegerMax10;
389
+ };
390
+ publiclyRevealedKeyring: Record<CertificateFieldNameUnder50Bytes, Base64String>;
391
+ decryptedFields: Record<CertificateFieldNameUnder50Bytes, string>;
392
+ }>;
393
+ }>;
394
+ isAuthenticated(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
395
+ authenticated: boolean;
396
+ }>;
397
+ waitForAuthentication(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
398
+ authenticated: true;
399
+ }>;
400
+ getHeight(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
401
+ height: PositiveInteger;
402
+ }>;
403
+ getHeaderForHeight(args: {
404
+ height: PositiveInteger;
405
+ }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
406
+ header: HexString;
407
+ }>;
408
+ getNetwork(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
409
+ network: 'mainnet' | 'testnet';
410
+ }>;
411
+ getVersion(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
412
+ version: VersionString7To30Bytes;
413
+ }>;
414
+ }
415
+ //# sourceMappingURL=ProtoWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtoWallet.d.ts","sourceRoot":"","sources":["../../../../src/wallet/ProtoWallet.ts"],"names":[],"mappings":"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"}