@bsv/sdk 1.3.7 → 1.3.9

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 (120) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/auth/Peer.js +1 -1
  3. package/dist/cjs/src/auth/Peer.js.map +1 -1
  4. package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
  5. package/dist/cjs/src/auth/certificates/MasterCertificate.js +3 -3
  6. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
  7. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +1 -1
  8. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  9. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +12 -0
  10. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  11. package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
  12. package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
  13. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  14. package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
  15. package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
  16. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  17. package/dist/cjs/src/script/templates/PushDrop.js +1 -1
  18. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  19. package/dist/cjs/src/wallet/ProtoWallet.js +11 -59
  20. package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
  21. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  22. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  23. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  24. package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
  25. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  26. package/dist/esm/src/auth/Peer.js +1 -1
  27. package/dist/esm/src/auth/Peer.js.map +1 -1
  28. package/dist/esm/src/auth/certificates/Certificate.js +1 -1
  29. package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
  30. package/dist/esm/src/auth/certificates/MasterCertificate.js +3 -3
  31. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  32. package/dist/esm/src/auth/certificates/VerifiableCertificate.js +1 -1
  33. package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  34. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +12 -0
  35. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  36. package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
  37. package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
  38. package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  39. package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
  40. package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
  41. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  42. package/dist/esm/src/script/templates/PushDrop.js +1 -1
  43. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  44. package/dist/esm/src/wallet/ProtoWallet.js +11 -59
  45. package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
  46. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  47. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  48. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  49. package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
  50. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  51. package/dist/types/src/auth/Peer.d.ts +3 -3
  52. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  53. package/dist/types/src/auth/certificates/Certificate.d.ts +2 -2
  54. package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
  55. package/dist/types/src/auth/certificates/MasterCertificate.d.ts +7 -7
  56. package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
  57. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +3 -3
  58. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
  59. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +6 -2
  60. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
  61. package/dist/types/src/auth/clients/AuthFetch.d.ts +2 -2
  62. package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
  63. package/dist/types/src/auth/utils/createNonce.d.ts +2 -2
  64. package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
  65. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +2 -2
  66. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
  67. package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
  68. package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
  69. package/dist/types/src/auth/utils/verifyNonce.d.ts +2 -2
  70. package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
  71. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +2 -2
  72. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
  73. package/dist/types/src/script/templates/PushDrop.d.ts +4 -4
  74. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  75. package/dist/types/src/wallet/ProtoWallet.d.ts +12 -24
  76. package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
  77. package/dist/types/src/wallet/Wallet.interfaces.d.ts +5 -18
  78. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  79. package/dist/types/src/wallet/WalletClient.d.ts +4 -4
  80. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  81. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +2 -2
  82. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  83. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts +3 -3
  84. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
  85. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +2 -2
  86. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
  87. package/dist/types/src/wallet/substrates/XDM.d.ts +2 -2
  88. package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
  89. package/dist/types/src/wallet/substrates/window.CWI.d.ts +2 -2
  90. package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
  91. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  92. package/dist/umd/bundle.js +1 -1
  93. package/docs/auth.md +72 -39
  94. package/docs/overlay-tools.md +4 -4
  95. package/docs/script.md +5 -5
  96. package/docs/wallet-substrates.md +11 -11
  97. package/docs/wallet.md +300 -360
  98. package/package.json +1 -1
  99. package/src/auth/Peer.ts +25 -25
  100. package/src/auth/certificates/Certificate.ts +4 -3
  101. package/src/auth/certificates/MasterCertificate.ts +8 -8
  102. package/src/auth/certificates/VerifiableCertificate.ts +3 -3
  103. package/src/auth/certificates/__tests/CompletedProtoWallet.ts +14 -3
  104. package/src/auth/clients/AuthFetch.ts +3 -3
  105. package/src/auth/utils/createNonce.ts +2 -2
  106. package/src/auth/utils/getVerifiableCertificates.ts +2 -2
  107. package/src/auth/utils/validateCertificates.ts +2 -2
  108. package/src/auth/utils/verifyNonce.ts +2 -2
  109. package/src/overlay-tools/OverlayAdminTokenTemplate.ts +5 -5
  110. package/src/script/templates/PushDrop.ts +4 -4
  111. package/src/wallet/ProtoWallet.ts +22 -88
  112. package/src/wallet/Wallet.interfaces.ts +5 -19
  113. package/src/wallet/WalletClient.ts +62 -62
  114. package/src/wallet/__tests/ProtoWallet.test.ts +0 -31
  115. package/src/wallet/substrates/HTTPWalletJSON.ts +3 -3
  116. package/src/wallet/substrates/WalletWireProcessor.ts +3 -3
  117. package/src/wallet/substrates/WalletWireTransceiver.ts +2 -2
  118. package/src/wallet/substrates/XDM.ts +3 -3
  119. package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +0 -104
  120. package/src/wallet/substrates/window.CWI.ts +5 -5
package/docs/auth.md CHANGED
@@ -120,14 +120,14 @@ and sending BSV payment transactions when necessary.
120
120
  ```ts
121
121
  export class AuthFetch {
122
122
  peers: Record<string, AuthPeer> = {};
123
- constructor(wallet: Wallet, requestedCertificates?: RequestedCertificateSet, sessionManager?: SessionManager)
123
+ constructor(wallet: WalletInterface, requestedCertificates?: RequestedCertificateSet, sessionManager?: SessionManager)
124
124
  async fetch(url: string, config: SimplifiedFetchRequestOptions = {}): Promise<Response>
125
125
  async sendCertificateRequest(baseUrl: string, certificatesToRequest: RequestedCertificateSet): Promise<VerifiableCertificate[]>
126
126
  public consumeReceivedCertificates(): VerifiableCertificate[]
127
127
  }
128
128
  ```
129
129
 
130
- See also: [RequestedCertificateSet](#interface-requestedcertificateset), [SessionManager](#class-sessionmanager), [VerifiableCertificate](#class-verifiablecertificate), [Wallet](#interface-wallet)
130
+ See also: [RequestedCertificateSet](#interface-requestedcertificateset), [SessionManager](#class-sessionmanager), [VerifiableCertificate](#class-verifiablecertificate), [WalletInterface](#interface-walletinterface)
131
131
 
132
132
  <details>
133
133
 
@@ -138,9 +138,9 @@ See also: [RequestedCertificateSet](#interface-requestedcertificateset), [Sessio
138
138
  Constructs a new AuthFetch instance.
139
139
 
140
140
  ```ts
141
- constructor(wallet: Wallet, requestedCertificates?: RequestedCertificateSet, sessionManager?: SessionManager)
141
+ constructor(wallet: WalletInterface, requestedCertificates?: RequestedCertificateSet, sessionManager?: SessionManager)
142
142
  ```
143
- See also: [RequestedCertificateSet](#interface-requestedcertificateset), [SessionManager](#class-sessionmanager), [Wallet](#interface-wallet)
143
+ See also: [RequestedCertificateSet](#interface-requestedcertificateset), [SessionManager](#class-sessionmanager), [WalletInterface](#interface-walletinterface)
144
144
 
145
145
  Argument Details
146
146
 
@@ -218,11 +218,15 @@ export default class Certificate {
218
218
  toBinary(includeSignature: boolean = true): number[]
219
219
  static fromBinary(bin: number[]): Certificate
220
220
  async verify(): Promise<boolean>
221
- async sign(certifierWallet: ProtoWallet): Promise<void>
221
+ async sign(certifierWallet: WalletInterface): Promise<void>
222
+ static getCertificateFieldEncryptionDetails(serialNumber: string, fieldName: string): {
223
+ protocolID: WalletProtocol;
224
+ keyID: string;
225
+ }
222
226
  }
223
227
  ```
224
228
 
225
- See also: [Base64String](#type-base64string), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [HexString](#type-hexstring), [OutpointString](#type-outpointstring), [ProtoWallet](#class-protowallet), [PubKeyHex](#type-pubkeyhex), [sign](#variable-sign), [verify](#variable-verify)
229
+ See also: [Base64String](#type-base64string), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [HexString](#type-hexstring), [OutpointString](#type-outpointstring), [PubKeyHex](#type-pubkeyhex), [WalletInterface](#interface-walletinterface), [WalletProtocol](#type-walletprotocol), [sign](#variable-sign), [verify](#variable-verify)
226
230
 
227
231
  <details>
228
232
 
@@ -335,14 +339,39 @@ Argument Details
335
339
  + **bin**
336
340
  + The binary data representing the certificate.
337
341
 
342
+ #### Method getCertificateFieldEncryptionDetails
343
+
344
+ Helper function which retrieves the protocol ID and key ID for certificate field encryption.
345
+
346
+ ```ts
347
+ static getCertificateFieldEncryptionDetails(serialNumber: string, fieldName: string): {
348
+ protocolID: WalletProtocol;
349
+ keyID: string;
350
+ }
351
+ ```
352
+ See also: [WalletProtocol](#type-walletprotocol)
353
+
354
+ Returns
355
+
356
+ An object containing the protocol ID and key ID:
357
+ - `protocolID` (WalletProtocol): The protocol ID for certificate field encryption.
358
+ - `keyID` (string): A unique key identifier derived from the serial number and field name.
359
+
360
+ Argument Details
361
+
362
+ + **serialNumber**
363
+ + The serial number of the certificate.
364
+ + **fieldName**
365
+ + The name of the field within the certificate to be encrypted.
366
+
338
367
  #### Method sign
339
368
 
340
369
  Signs the certificate using the provided certifier wallet.
341
370
 
342
371
  ```ts
343
- async sign(certifierWallet: ProtoWallet): Promise<void>
372
+ async sign(certifierWallet: WalletInterface): Promise<void>
344
373
  ```
345
- See also: [ProtoWallet](#class-protowallet)
374
+ See also: [WalletInterface](#interface-walletinterface)
346
375
 
347
376
  Argument Details
348
377
 
@@ -386,8 +415,12 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
386
415
  ### Class: CompletedProtoWallet
387
416
 
388
417
  ```ts
389
- export class CompletedProtoWallet extends ProtoWallet implements Wallet {
418
+ export class CompletedProtoWallet extends ProtoWallet implements WalletInterface {
390
419
  constructor(rootKeyOrKeyDeriver: PrivateKey | "anyone" | KeyDeriverApi)
420
+ isAuthenticated(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<AuthenticatedResult>
421
+ waitForAuthentication(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<AuthenticatedResult>
422
+ getNetwork(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<GetNetworkResult>
423
+ getVersion(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<GetVersionResult>
391
424
  async getPublicKey(args: GetPublicKeyArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{
392
425
  publicKey: PubKeyHex;
393
426
  }>
@@ -409,7 +442,7 @@ export class CompletedProtoWallet extends ProtoWallet implements Wallet {
409
442
  }
410
443
  ```
411
444
 
412
- See also: [AbortActionArgs](#interface-abortactionargs), [AbortActionResult](#interface-abortactionresult), [AcquireCertificateArgs](#interface-acquirecertificateargs), [AcquireCertificateResult](#interface-acquirecertificateresult), [CreateActionArgs](#interface-createactionargs), [CreateActionResult](#interface-createactionresult), [DiscoverByAttributesArgs](#interface-discoverbyattributesargs), [DiscoverByIdentityKeyArgs](#interface-discoverbyidentitykeyargs), [DiscoverCertificatesResult](#interface-discovercertificatesresult), [GetHeaderArgs](#interface-getheaderargs), [GetHeaderResult](#interface-getheaderresult), [GetHeightResult](#interface-getheightresult), [GetPublicKeyArgs](#interface-getpublickeyargs), [InternalizeActionArgs](#interface-internalizeactionargs), [InternalizeActionResult](#interface-internalizeactionresult), [KeyDeriverApi](#interface-keyderiverapi), [ListActionsArgs](#interface-listactionsargs), [ListActionsResult](#interface-listactionsresult), [ListCertificatesArgs](#interface-listcertificatesargs), [ListCertificatesResult](#interface-listcertificatesresult), [ListOutputsArgs](#interface-listoutputsargs), [ListOutputsResult](#interface-listoutputsresult), [OriginatorDomainNameStringUnder250Bytes](#type-originatordomainnamestringunder250bytes), [PrivateKey](#class-privatekey), [ProtoWallet](#class-protowallet), [ProveCertificateArgs](#interface-provecertificateargs), [ProveCertificateResult](#interface-provecertificateresult), [PubKeyHex](#type-pubkeyhex), [RelinquishCertificateArgs](#interface-relinquishcertificateargs), [RelinquishCertificateResult](#interface-relinquishcertificateresult), [RelinquishOutputArgs](#interface-relinquishoutputargs), [RelinquishOutputResult](#interface-relinquishoutputresult), [SignActionArgs](#interface-signactionargs), [SignActionResult](#interface-signactionresult), [Wallet](#interface-wallet)
445
+ See also: [AbortActionArgs](#interface-abortactionargs), [AbortActionResult](#interface-abortactionresult), [AcquireCertificateArgs](#interface-acquirecertificateargs), [AcquireCertificateResult](#interface-acquirecertificateresult), [AuthenticatedResult](#interface-authenticatedresult), [CreateActionArgs](#interface-createactionargs), [CreateActionResult](#interface-createactionresult), [DiscoverByAttributesArgs](#interface-discoverbyattributesargs), [DiscoverByIdentityKeyArgs](#interface-discoverbyidentitykeyargs), [DiscoverCertificatesResult](#interface-discovercertificatesresult), [GetHeaderArgs](#interface-getheaderargs), [GetHeaderResult](#interface-getheaderresult), [GetHeightResult](#interface-getheightresult), [GetNetworkResult](#interface-getnetworkresult), [GetPublicKeyArgs](#interface-getpublickeyargs), [GetVersionResult](#interface-getversionresult), [InternalizeActionArgs](#interface-internalizeactionargs), [InternalizeActionResult](#interface-internalizeactionresult), [KeyDeriverApi](#interface-keyderiverapi), [ListActionsArgs](#interface-listactionsargs), [ListActionsResult](#interface-listactionsresult), [ListCertificatesArgs](#interface-listcertificatesargs), [ListCertificatesResult](#interface-listcertificatesresult), [ListOutputsArgs](#interface-listoutputsargs), [ListOutputsResult](#interface-listoutputsresult), [OriginatorDomainNameStringUnder250Bytes](#type-originatordomainnamestringunder250bytes), [PrivateKey](#class-privatekey), [ProtoWallet](#class-protowallet), [ProveCertificateArgs](#interface-provecertificateargs), [ProveCertificateResult](#interface-provecertificateresult), [PubKeyHex](#type-pubkeyhex), [RelinquishCertificateArgs](#interface-relinquishcertificateargs), [RelinquishCertificateResult](#interface-relinquishcertificateresult), [RelinquishOutputArgs](#interface-relinquishoutputargs), [RelinquishOutputResult](#interface-relinquishoutputresult), [SignActionArgs](#interface-signactionargs), [SignActionResult](#interface-signactionresult), [WalletInterface](#interface-walletinterface)
413
446
 
414
447
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Enums](#enums), [Variables](#variables)
415
448
 
@@ -433,13 +466,13 @@ export class MasterCertificate extends Certificate {
433
466
  declare signature?: HexString;
434
467
  masterKeyring: Record<CertificateFieldNameUnder50Bytes, Base64String>;
435
468
  constructor(type: Base64String, serialNumber: Base64String, subject: PubKeyHex, certifier: PubKeyHex, revocationOutpoint: OutpointString, fields: Record<CertificateFieldNameUnder50Bytes, Base64String>, masterKeyring: Record<CertificateFieldNameUnder50Bytes, Base64String>, signature?: HexString)
436
- async decryptFields(subjectWallet: ProtoWallet): Promise<Record<CertificateFieldNameUnder50Bytes, string>>
437
- async createKeyringForVerifier(subjectWallet: ProtoWallet, verifierIdentityKey: string, fieldsToReveal: string[], originator?: string): Promise<Record<CertificateFieldNameUnder50Bytes, string>>
438
- static async issueCertificateForSubject(certifierWallet: ProtoWallet, subject: string, fields: Record<CertificateFieldNameUnder50Bytes, string>, certificateType: string, getRevocationOutpoint = async (serialNumber: string): Promise<string> => { return "Certificate revocation not tracked."; }): Promise<MasterCertificate>
469
+ async decryptFields(subjectWallet: WalletInterface): Promise<Record<CertificateFieldNameUnder50Bytes, string>>
470
+ async createKeyringForVerifier(subjectWallet: WalletInterface, verifier: WalletCounterparty, fieldsToReveal: string[], originator?: string): Promise<Record<CertificateFieldNameUnder50Bytes, string>>
471
+ static async issueCertificateForSubject(certifierWallet: WalletInterface, subject: WalletCounterparty, fields: Record<CertificateFieldNameUnder50Bytes, string>, certificateType: string, getRevocationOutpoint = async (serialNumber: string): Promise<string> => { return "Certificate revocation not tracked."; }): Promise<MasterCertificate>
439
472
  }
440
473
  ```
441
474
 
442
- See also: [Base64String](#type-base64string), [Certificate](#class-certificate), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [HexString](#type-hexstring), [OutpointString](#type-outpointstring), [ProtoWallet](#class-protowallet), [PubKeyHex](#type-pubkeyhex)
475
+ See also: [Base64String](#type-base64string), [Certificate](#class-certificate), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [HexString](#type-hexstring), [OutpointString](#type-outpointstring), [PubKeyHex](#type-pubkeyhex), [WalletCounterparty](#type-walletcounterparty), [WalletInterface](#interface-walletinterface)
443
476
 
444
477
  <details>
445
478
 
@@ -453,9 +486,9 @@ for the verifier's identity key. The result is a keyring containing the keys nec
453
486
  for the verifier to access the designated fields.
454
487
 
455
488
  ```ts
456
- async createKeyringForVerifier(subjectWallet: ProtoWallet, verifierIdentityKey: string, fieldsToReveal: string[], originator?: string): Promise<Record<CertificateFieldNameUnder50Bytes, string>>
489
+ async createKeyringForVerifier(subjectWallet: WalletInterface, verifier: WalletCounterparty, fieldsToReveal: string[], originator?: string): Promise<Record<CertificateFieldNameUnder50Bytes, string>>
457
490
  ```
458
- See also: [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [ProtoWallet](#class-protowallet)
491
+ See also: [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [WalletCounterparty](#type-walletcounterparty), [WalletInterface](#interface-walletinterface)
459
492
 
460
493
  Returns
461
494
 
@@ -465,8 +498,8 @@ Argument Details
465
498
 
466
499
  + **subjectWallet**
467
500
  + The wallet instance of the subject, used to decrypt and re-encrypt field keys.
468
- + **verifierIdentityKey**
469
- + The public identity key of the verifier who will receive access to the specified fields.
501
+ + **verifier**
502
+ + The verifier who will receive access to the selectively revealed fields. Can be an identity key as hex, 'anyone', or 'self'.
470
503
  + **fieldsToReveal**
471
504
  + An array of field names to be revealed to the verifier. Must be a subset of the certificate's fields.
472
505
  + **originator**
@@ -487,9 +520,9 @@ This method uses the `masterKeyring` to decrypt each field's encryption key and
487
520
  decrypts the field values. The result is a record of plaintext field names and values.
488
521
 
489
522
  ```ts
490
- async decryptFields(subjectWallet: ProtoWallet): Promise<Record<CertificateFieldNameUnder50Bytes, string>>
523
+ async decryptFields(subjectWallet: WalletInterface): Promise<Record<CertificateFieldNameUnder50Bytes, string>>
491
524
  ```
492
- See also: [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [ProtoWallet](#class-protowallet)
525
+ See also: [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [WalletInterface](#interface-walletinterface)
493
526
 
494
527
  Returns
495
528
 
@@ -514,9 +547,9 @@ generated symmetric key, which is then encrypted for the subject. The certificat
514
547
  can also includes a revocation outpoint to manage potential revocation.
515
548
 
516
549
  ```ts
517
- static async issueCertificateForSubject(certifierWallet: ProtoWallet, subject: string, fields: Record<CertificateFieldNameUnder50Bytes, string>, certificateType: string, getRevocationOutpoint = async (serialNumber: string): Promise<string> => { return "Certificate revocation not tracked."; }): Promise<MasterCertificate>
550
+ static async issueCertificateForSubject(certifierWallet: WalletInterface, subject: WalletCounterparty, fields: Record<CertificateFieldNameUnder50Bytes, string>, certificateType: string, getRevocationOutpoint = async (serialNumber: string): Promise<string> => { return "Certificate revocation not tracked."; }): Promise<MasterCertificate>
518
551
  ```
519
- See also: [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [MasterCertificate](#class-mastercertificate), [ProtoWallet](#class-protowallet)
552
+ See also: [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [MasterCertificate](#class-mastercertificate), [WalletCounterparty](#type-walletcounterparty), [WalletInterface](#interface-walletinterface)
520
553
 
521
554
  Returns
522
555
 
@@ -527,7 +560,7 @@ Argument Details
527
560
  + **certifierWallet**
528
561
  + The wallet of the certifier, used to sign the certificate and encrypt field keys.
529
562
  + **subject**
530
- + The public identity key of the subject for whom the certificate is issued.
563
+ + The subject for whom the certificate is issued.
531
564
  + **fields**
532
565
  + Unencrypted certificate fields to include, with their names and values.
533
566
  + **certificateType**
@@ -557,7 +590,7 @@ and sending and receiving general messages over a transport layer.
557
590
  export class Peer {
558
591
  public sessionManager: SessionManager;
559
592
  certificatesToRequest: RequestedCertificateSet;
560
- constructor(wallet: Wallet, transport: Transport, certificatesToRequest?: RequestedCertificateSet, sessionManager?: SessionManager, autoPersistLastSession?: boolean)
593
+ constructor(wallet: WalletInterface, transport: Transport, certificatesToRequest?: RequestedCertificateSet, sessionManager?: SessionManager, autoPersistLastSession?: boolean)
561
594
  async toPeer(message: number[], identityKey?: string, maxWaitTime?: number): Promise<void>
562
595
  async requestCertificates(certificatesToRequest: RequestedCertificateSet, identityKey?: string, maxWaitTime = 10000): Promise<void>
563
596
  async getAuthenticatedSession(identityKey?: string, maxWaitTime?: number): Promise<PeerSession>
@@ -572,7 +605,7 @@ export class Peer {
572
605
  }
573
606
  ```
574
607
 
575
- See also: [AuthMessage](#interface-authmessage), [PeerSession](#interface-peersession), [RequestedCertificateSet](#interface-requestedcertificateset), [SessionManager](#class-sessionmanager), [Transport](#interface-transport), [VerifiableCertificate](#class-verifiablecertificate), [Wallet](#interface-wallet)
608
+ See also: [AuthMessage](#interface-authmessage), [PeerSession](#interface-peersession), [RequestedCertificateSet](#interface-requestedcertificateset), [SessionManager](#class-sessionmanager), [Transport](#interface-transport), [VerifiableCertificate](#class-verifiablecertificate), [WalletInterface](#interface-walletinterface)
576
609
 
577
610
  <details>
578
611
 
@@ -583,9 +616,9 @@ See also: [AuthMessage](#interface-authmessage), [PeerSession](#interface-peerse
583
616
  Creates a new Peer instance
584
617
 
585
618
  ```ts
586
- constructor(wallet: Wallet, transport: Transport, certificatesToRequest?: RequestedCertificateSet, sessionManager?: SessionManager, autoPersistLastSession?: boolean)
619
+ constructor(wallet: WalletInterface, transport: Transport, certificatesToRequest?: RequestedCertificateSet, sessionManager?: SessionManager, autoPersistLastSession?: boolean)
587
620
  ```
588
- See also: [RequestedCertificateSet](#interface-requestedcertificateset), [SessionManager](#class-sessionmanager), [Transport](#interface-transport), [Wallet](#interface-wallet)
621
+ See also: [RequestedCertificateSet](#interface-requestedcertificateset), [SessionManager](#class-sessionmanager), [Transport](#interface-transport), [WalletInterface](#interface-walletinterface)
589
622
 
590
623
  Argument Details
591
624
 
@@ -1046,11 +1079,11 @@ export class VerifiableCertificate extends Certificate {
1046
1079
  keyring: Record<CertificateFieldNameUnder50Bytes, string>;
1047
1080
  decryptedFields?: Record<CertificateFieldNameUnder50Bytes, Base64String>;
1048
1081
  constructor(type: Base64String, serialNumber: Base64String, subject: PubKeyHex, certifier: PubKeyHex, revocationOutpoint: OutpointString, fields: Record<CertificateFieldNameUnder50Bytes, string>, signature?: HexString, keyring?: Record<CertificateFieldNameUnder50Bytes, string>, decryptedFields?: Record<CertificateFieldNameUnder50Bytes, Base64String>)
1049
- async decryptFields(verifierWallet: Wallet): Promise<Record<CertificateFieldNameUnder50Bytes, string>>
1082
+ async decryptFields(verifierWallet: WalletInterface): Promise<Record<CertificateFieldNameUnder50Bytes, string>>
1050
1083
  }
1051
1084
  ```
1052
1085
 
1053
- See also: [Base64String](#type-base64string), [Certificate](#class-certificate), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [HexString](#type-hexstring), [OutpointString](#type-outpointstring), [PubKeyHex](#type-pubkeyhex), [Wallet](#interface-wallet)
1086
+ See also: [Base64String](#type-base64string), [Certificate](#class-certificate), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [HexString](#type-hexstring), [OutpointString](#type-outpointstring), [PubKeyHex](#type-pubkeyhex), [WalletInterface](#interface-walletinterface)
1054
1087
 
1055
1088
  <details>
1056
1089
 
@@ -1061,9 +1094,9 @@ See also: [Base64String](#type-base64string), [Certificate](#class-certificate),
1061
1094
  Decrypts selectively revealed certificate fields using the provided keyring and verifier wallet
1062
1095
 
1063
1096
  ```ts
1064
- async decryptFields(verifierWallet: Wallet): Promise<Record<CertificateFieldNameUnder50Bytes, string>>
1097
+ async decryptFields(verifierWallet: WalletInterface): Promise<Record<CertificateFieldNameUnder50Bytes, string>>
1065
1098
  ```
1066
- See also: [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [Wallet](#interface-wallet)
1099
+ See also: [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [WalletInterface](#interface-walletinterface)
1067
1100
 
1068
1101
  Returns
1069
1102
 
@@ -1099,10 +1132,10 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
1099
1132
  Creates a nonce derived from a privateKey
1100
1133
 
1101
1134
  ```ts
1102
- export async function createNonce(wallet: Wallet): Promise<string>
1135
+ export async function createNonce(wallet: WalletInterface): Promise<string>
1103
1136
  ```
1104
1137
 
1105
- See also: [Wallet](#interface-wallet)
1138
+ See also: [WalletInterface](#interface-walletinterface)
1106
1139
 
1107
1140
  <details>
1108
1141
 
@@ -1122,10 +1155,10 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
1122
1155
  Verifies a nonce derived from a wallet
1123
1156
 
1124
1157
  ```ts
1125
- export async function verifyNonce(nonce: string, wallet: Wallet): Promise<boolean>
1158
+ export async function verifyNonce(nonce: string, wallet: WalletInterface): Promise<boolean>
1126
1159
  ```
1127
1160
 
1128
- See also: [Wallet](#interface-wallet)
1161
+ See also: [WalletInterface](#interface-walletinterface)
1129
1162
 
1130
1163
  <details>
1131
1164
 
@@ -1163,7 +1196,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
1163
1196
  ### Variable: getVerifiableCertificates
1164
1197
 
1165
1198
  ```ts
1166
- getVerifiableCertificates = async (wallet: Wallet, requestedCertificates: RequestedCertificateSet, verifierIdentityKey: string): Promise<VerifiableCertificate[]> => {
1199
+ getVerifiableCertificates = async (wallet: WalletInterface, requestedCertificates: RequestedCertificateSet, verifierIdentityKey: string): Promise<VerifiableCertificate[]> => {
1167
1200
  const matchingCertificates = await wallet.listCertificates({
1168
1201
  certifiers: requestedCertificates.certifiers,
1169
1202
  types: Object.keys(requestedCertificates.types)
@@ -1179,7 +1212,7 @@ getVerifiableCertificates = async (wallet: Wallet, requestedCertificates: Reques
1179
1212
  }
1180
1213
  ```
1181
1214
 
1182
- See also: [RequestedCertificateSet](#interface-requestedcertificateset), [VerifiableCertificate](#class-verifiablecertificate), [Wallet](#interface-wallet)
1215
+ See also: [RequestedCertificateSet](#interface-requestedcertificateset), [VerifiableCertificate](#class-verifiablecertificate), [WalletInterface](#interface-walletinterface)
1183
1216
 
1184
1217
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Enums](#enums), [Variables](#variables)
1185
1218
 
@@ -1187,7 +1220,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
1187
1220
  ### Variable: validateCertificates
1188
1221
 
1189
1222
  ```ts
1190
- validateCertificates = async (verifierWallet: Wallet, message: AuthMessage, certificatesRequested?: RequestedCertificateSet): Promise<void> => {
1223
+ validateCertificates = async (verifierWallet: WalletInterface, message: AuthMessage, certificatesRequested?: RequestedCertificateSet): Promise<void> => {
1191
1224
  await Promise.all(message.certificates.map(async (incomingCert: VerifiableCertificate) => {
1192
1225
  if (incomingCert.subject !== message.identityKey) {
1193
1226
  throw new Error(`The subject of one of your certificates ("${incomingCert.subject}") is not the same as the request sender ("${message.identityKey}").`);
@@ -1212,7 +1245,7 @@ validateCertificates = async (verifierWallet: Wallet, message: AuthMessage, cert
1212
1245
  }
1213
1246
  ```
1214
1247
 
1215
- See also: [AuthMessage](#interface-authmessage), [Certificate](#class-certificate), [RequestedCertificateSet](#interface-requestedcertificateset), [VerifiableCertificate](#class-verifiablecertificate), [Wallet](#interface-wallet), [verify](#variable-verify)
1248
+ See also: [AuthMessage](#interface-authmessage), [Certificate](#class-certificate), [RequestedCertificateSet](#interface-requestedcertificateset), [VerifiableCertificate](#class-verifiablecertificate), [WalletInterface](#interface-walletinterface), [verify](#variable-verify)
1216
1249
 
1217
1250
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Enums](#enums), [Variables](#variables)
1218
1251
 
@@ -372,7 +372,7 @@ export default class OverlayAdminTokenTemplate implements ScriptTemplate {
372
372
  domain: string;
373
373
  topicOrService: string;
374
374
  }
375
- constructor(wallet: Wallet)
375
+ constructor(wallet: WalletInterface)
376
376
  async lock(protocol: "SHIP" | "SLAP", domain: string, topicOrService: string): Promise<LockingScript>
377
377
  unlock(protocol: "SHIP" | "SLAP"): {
378
378
  sign: (tx: Transaction, inputIndex: number) => Promise<UnlockingScript>;
@@ -381,7 +381,7 @@ export default class OverlayAdminTokenTemplate implements ScriptTemplate {
381
381
  }
382
382
  ```
383
383
 
384
- See also: [LockingScript](#class-lockingscript), [PushDrop](#class-pushdrop), [ScriptTemplate](#interface-scripttemplate), [Transaction](#class-transaction), [UnlockingScript](#class-unlockingscript), [Wallet](#interface-wallet), [sign](#variable-sign)
384
+ See also: [LockingScript](#class-lockingscript), [PushDrop](#class-pushdrop), [ScriptTemplate](#interface-scripttemplate), [Transaction](#class-transaction), [UnlockingScript](#class-unlockingscript), [WalletInterface](#interface-walletinterface), [sign](#variable-sign)
385
385
 
386
386
  <details>
387
387
 
@@ -392,9 +392,9 @@ See also: [LockingScript](#class-lockingscript), [PushDrop](#class-pushdrop), [S
392
392
  Constructs a new Overlay Admin template instance
393
393
 
394
394
  ```ts
395
- constructor(wallet: Wallet)
395
+ constructor(wallet: WalletInterface)
396
396
  ```
397
- See also: [Wallet](#interface-wallet)
397
+ See also: [WalletInterface](#interface-walletinterface)
398
398
 
399
399
  Argument Details
400
400
 
package/docs/script.md CHANGED
@@ -219,12 +219,12 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
219
219
 
220
220
  ```ts
221
221
  export default class PushDrop implements ScriptTemplate {
222
- wallet: Wallet;
222
+ wallet: WalletInterface;
223
223
  static decode(script: LockingScript): {
224
224
  lockingPublicKey: PublicKey;
225
225
  fields: number[][];
226
226
  }
227
- constructor(wallet: Wallet)
227
+ constructor(wallet: WalletInterface)
228
228
  async lock(fields: number[][], protocolID: [
229
229
  SecurityLevel,
230
230
  string
@@ -239,7 +239,7 @@ export default class PushDrop implements ScriptTemplate {
239
239
  }
240
240
  ```
241
241
 
242
- See also: [LockingScript](#class-lockingscript), [PublicKey](#class-publickey), [ScriptTemplate](#interface-scripttemplate), [SecurityLevel](#type-securitylevel), [Transaction](#class-transaction), [UnlockingScript](#class-unlockingscript), [Wallet](#interface-wallet), [sign](#variable-sign)
242
+ See also: [LockingScript](#class-lockingscript), [PublicKey](#class-publickey), [ScriptTemplate](#interface-scripttemplate), [SecurityLevel](#type-securitylevel), [Transaction](#class-transaction), [UnlockingScript](#class-unlockingscript), [WalletInterface](#interface-walletinterface), [sign](#variable-sign)
243
243
 
244
244
  <details>
245
245
 
@@ -250,9 +250,9 @@ See also: [LockingScript](#class-lockingscript), [PublicKey](#class-publickey),
250
250
  Constructs a new instance of the PushDrop class.
251
251
 
252
252
  ```ts
253
- constructor(wallet: Wallet)
253
+ constructor(wallet: WalletInterface)
254
254
  ```
255
- See also: [Wallet](#interface-wallet)
255
+ See also: [WalletInterface](#interface-walletinterface)
256
256
 
257
257
  Argument Details
258
258
 
@@ -35,7 +35,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
35
35
  ### Class: HTTPWalletJSON
36
36
 
37
37
  ```ts
38
- export default class HTTPWalletJSON implements Wallet {
38
+ export default class HTTPWalletJSON implements WalletInterface {
39
39
  baseUrl: string;
40
40
  httpClient: typeof fetch;
41
41
  originator: OriginatorDomainNameStringUnder250Bytes | undefined;
@@ -251,7 +251,7 @@ export default class HTTPWalletJSON implements Wallet {
251
251
  }
252
252
  ```
253
253
 
254
- See also: [AcquireCertificateArgs](#interface-acquirecertificateargs), [AcquireCertificateResult](#interface-acquirecertificateresult), [Base64String](#type-base64string), [BasketStringUnder300Bytes](#type-basketstringunder300bytes), [BooleanDefaultFalse](#type-booleandefaultfalse), [BooleanDefaultTrue](#type-booleandefaulttrue), [Byte](#type-byte), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [CreateActionArgs](#interface-createactionargs), [CreateActionResult](#interface-createactionresult), [DescriptionString5to50Bytes](#type-descriptionstring5to50bytes), [DiscoverCertificatesResult](#interface-discovercertificatesresult), [HexString](#type-hexstring), [ISOTimestampString](#type-isotimestampstring), [InternalizeActionArgs](#interface-internalizeactionargs), [KeyIDStringUnder800Bytes](#type-keyidstringunder800bytes), [ListActionsArgs](#interface-listactionsargs), [ListActionsResult](#interface-listactionsresult), [ListCertificatesResult](#interface-listcertificatesresult), [ListOutputsArgs](#interface-listoutputsargs), [ListOutputsResult](#interface-listoutputsresult), [OriginatorDomainNameStringUnder250Bytes](#type-originatordomainnamestringunder250bytes), [OutpointString](#type-outpointstring), [PositiveInteger](#type-positiveinteger), [PositiveIntegerDefault10Max10000](#type-positiveintegerdefault10max10000), [PositiveIntegerOrZero](#type-positiveintegerorzero), [ProtocolString5To400Bytes](#type-protocolstring5to400bytes), [ProveCertificateArgs](#interface-provecertificateargs), [ProveCertificateResult](#interface-provecertificateresult), [PubKeyHex](#type-pubkeyhex), [SecurityLevel](#type-securitylevel), [SignActionArgs](#interface-signactionargs), [SignActionResult](#interface-signactionresult), [VersionString7To30Bytes](#type-versionstring7to30bytes), [Wallet](#interface-wallet), [decrypt](#variable-decrypt), [encrypt](#variable-encrypt)
254
+ See also: [AcquireCertificateArgs](#interface-acquirecertificateargs), [AcquireCertificateResult](#interface-acquirecertificateresult), [Base64String](#type-base64string), [BasketStringUnder300Bytes](#type-basketstringunder300bytes), [BooleanDefaultFalse](#type-booleandefaultfalse), [BooleanDefaultTrue](#type-booleandefaulttrue), [Byte](#type-byte), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [CreateActionArgs](#interface-createactionargs), [CreateActionResult](#interface-createactionresult), [DescriptionString5to50Bytes](#type-descriptionstring5to50bytes), [DiscoverCertificatesResult](#interface-discovercertificatesresult), [HexString](#type-hexstring), [ISOTimestampString](#type-isotimestampstring), [InternalizeActionArgs](#interface-internalizeactionargs), [KeyIDStringUnder800Bytes](#type-keyidstringunder800bytes), [ListActionsArgs](#interface-listactionsargs), [ListActionsResult](#interface-listactionsresult), [ListCertificatesResult](#interface-listcertificatesresult), [ListOutputsArgs](#interface-listoutputsargs), [ListOutputsResult](#interface-listoutputsresult), [OriginatorDomainNameStringUnder250Bytes](#type-originatordomainnamestringunder250bytes), [OutpointString](#type-outpointstring), [PositiveInteger](#type-positiveinteger), [PositiveIntegerDefault10Max10000](#type-positiveintegerdefault10max10000), [PositiveIntegerOrZero](#type-positiveintegerorzero), [ProtocolString5To400Bytes](#type-protocolstring5to400bytes), [ProveCertificateArgs](#interface-provecertificateargs), [ProveCertificateResult](#interface-provecertificateresult), [PubKeyHex](#type-pubkeyhex), [SecurityLevel](#type-securitylevel), [SignActionArgs](#interface-signactionargs), [SignActionResult](#interface-signactionresult), [VersionString7To30Bytes](#type-versionstring7to30bytes), [WalletInterface](#interface-walletinterface), [decrypt](#variable-decrypt), [encrypt](#variable-encrypt)
255
255
 
256
256
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Enums](#enums), [Variables](#variables)
257
257
 
@@ -279,13 +279,13 @@ Processes incoming wallet calls received over a wallet wire, with a given wallet
279
279
 
280
280
  ```ts
281
281
  export default class WalletWireProcessor implements WalletWire {
282
- wallet: Wallet;
283
- constructor(wallet: Wallet)
282
+ wallet: WalletInterface;
283
+ constructor(wallet: WalletInterface)
284
284
  async transmitToWallet(message: number[]): Promise<number[]>
285
285
  }
286
286
  ```
287
287
 
288
- See also: [Wallet](#interface-wallet), [WalletWire](#interface-walletwire)
288
+ See also: [WalletInterface](#interface-walletinterface), [WalletWire](#interface-walletwire)
289
289
 
290
290
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Enums](#enums), [Variables](#variables)
291
291
 
@@ -295,7 +295,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
295
295
  A way to make remote calls to a wallet over a wallet wire.
296
296
 
297
297
  ```ts
298
- export default class WalletWireTransceiver implements Wallet {
298
+ export default class WalletWireTransceiver implements WalletInterface {
299
299
  wire: WalletWire;
300
300
  constructor(wire: WalletWire)
301
301
  async createAction(args: CreateActionArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<CreateActionResult>
@@ -508,7 +508,7 @@ export default class WalletWireTransceiver implements Wallet {
508
508
  }
509
509
  ```
510
510
 
511
- See also: [AcquireCertificateArgs](#interface-acquirecertificateargs), [AcquireCertificateResult](#interface-acquirecertificateresult), [Base64String](#type-base64string), [BasketStringUnder300Bytes](#type-basketstringunder300bytes), [BooleanDefaultFalse](#type-booleandefaultfalse), [BooleanDefaultTrue](#type-booleandefaulttrue), [Byte](#type-byte), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [CreateActionArgs](#interface-createactionargs), [CreateActionResult](#interface-createactionresult), [DescriptionString5to50Bytes](#type-descriptionstring5to50bytes), [DiscoverCertificatesResult](#interface-discovercertificatesresult), [HexString](#type-hexstring), [ISOTimestampString](#type-isotimestampstring), [InternalizeActionArgs](#interface-internalizeactionargs), [KeyIDStringUnder800Bytes](#type-keyidstringunder800bytes), [ListActionsArgs](#interface-listactionsargs), [ListActionsResult](#interface-listactionsresult), [ListCertificatesResult](#interface-listcertificatesresult), [ListOutputsArgs](#interface-listoutputsargs), [ListOutputsResult](#interface-listoutputsresult), [OriginatorDomainNameStringUnder250Bytes](#type-originatordomainnamestringunder250bytes), [OutpointString](#type-outpointstring), [PositiveInteger](#type-positiveinteger), [PositiveIntegerDefault10Max10000](#type-positiveintegerdefault10max10000), [PositiveIntegerOrZero](#type-positiveintegerorzero), [ProtocolString5To400Bytes](#type-protocolstring5to400bytes), [ProveCertificateArgs](#interface-provecertificateargs), [ProveCertificateResult](#interface-provecertificateresult), [PubKeyHex](#type-pubkeyhex), [SecurityLevel](#type-securitylevel), [SignActionArgs](#interface-signactionargs), [SignActionResult](#interface-signactionresult), [VersionString7To30Bytes](#type-versionstring7to30bytes), [Wallet](#interface-wallet), [WalletWire](#interface-walletwire), [decrypt](#variable-decrypt), [encrypt](#variable-encrypt)
511
+ See also: [AcquireCertificateArgs](#interface-acquirecertificateargs), [AcquireCertificateResult](#interface-acquirecertificateresult), [Base64String](#type-base64string), [BasketStringUnder300Bytes](#type-basketstringunder300bytes), [BooleanDefaultFalse](#type-booleandefaultfalse), [BooleanDefaultTrue](#type-booleandefaulttrue), [Byte](#type-byte), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [CreateActionArgs](#interface-createactionargs), [CreateActionResult](#interface-createactionresult), [DescriptionString5to50Bytes](#type-descriptionstring5to50bytes), [DiscoverCertificatesResult](#interface-discovercertificatesresult), [HexString](#type-hexstring), [ISOTimestampString](#type-isotimestampstring), [InternalizeActionArgs](#interface-internalizeactionargs), [KeyIDStringUnder800Bytes](#type-keyidstringunder800bytes), [ListActionsArgs](#interface-listactionsargs), [ListActionsResult](#interface-listactionsresult), [ListCertificatesResult](#interface-listcertificatesresult), [ListOutputsArgs](#interface-listoutputsargs), [ListOutputsResult](#interface-listoutputsresult), [OriginatorDomainNameStringUnder250Bytes](#type-originatordomainnamestringunder250bytes), [OutpointString](#type-outpointstring), [PositiveInteger](#type-positiveinteger), [PositiveIntegerDefault10Max10000](#type-positiveintegerdefault10max10000), [PositiveIntegerOrZero](#type-positiveintegerorzero), [ProtocolString5To400Bytes](#type-protocolstring5to400bytes), [ProveCertificateArgs](#interface-provecertificateargs), [ProveCertificateResult](#interface-provecertificateresult), [PubKeyHex](#type-pubkeyhex), [SecurityLevel](#type-securitylevel), [SignActionArgs](#interface-signactionargs), [SignActionResult](#interface-signactionresult), [VersionString7To30Bytes](#type-versionstring7to30bytes), [WalletInterface](#interface-walletinterface), [WalletWire](#interface-walletwire), [decrypt](#variable-decrypt), [encrypt](#variable-encrypt)
512
512
 
513
513
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Enums](#enums), [Variables](#variables)
514
514
 
@@ -518,7 +518,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
518
518
  Facilitates wallet operations over the window.CWI interface.
519
519
 
520
520
  ```ts
521
- export default class WindowCWISubstrate implements Wallet {
521
+ export default class WindowCWISubstrate implements WalletInterface {
522
522
  constructor()
523
523
  async createAction(args: {
524
524
  description: DescriptionString5to50Bytes;
@@ -951,7 +951,7 @@ export default class WindowCWISubstrate implements Wallet {
951
951
  }
952
952
  ```
953
953
 
954
- See also: [BEEF](#type-beef), [Base64String](#type-base64string), [BasketStringUnder300Bytes](#type-basketstringunder300bytes), [BooleanDefaultFalse](#type-booleandefaultfalse), [BooleanDefaultTrue](#type-booleandefaulttrue), [Byte](#type-byte), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [DescriptionString5to50Bytes](#type-descriptionstring5to50bytes), [EntityIconURLStringMax500Bytes](#type-entityiconurlstringmax500bytes), [EntityNameStringMax100Bytes](#type-entitynamestringmax100bytes), [HexString](#type-hexstring), [ISOTimestampString](#type-isotimestampstring), [KeyIDStringUnder800Bytes](#type-keyidstringunder800bytes), [LabelStringUnder300Bytes](#type-labelstringunder300bytes), [OriginatorDomainNameStringUnder250Bytes](#type-originatordomainnamestringunder250bytes), [OutpointString](#type-outpointstring), [OutputTagStringUnder300Bytes](#type-outputtagstringunder300bytes), [PositiveInteger](#type-positiveinteger), [PositiveIntegerDefault10Max10000](#type-positiveintegerdefault10max10000), [PositiveIntegerMax10](#type-positiveintegermax10), [PositiveIntegerOrZero](#type-positiveintegerorzero), [ProtocolString5To400Bytes](#type-protocolstring5to400bytes), [PubKeyHex](#type-pubkeyhex), [SatoshiValue](#type-satoshivalue), [SecurityLevel](#type-securitylevel), [TXIDHexString](#type-txidhexstring), [VersionString7To30Bytes](#type-versionstring7to30bytes), [Wallet](#interface-wallet), [decrypt](#variable-decrypt), [encrypt](#variable-encrypt)
954
+ See also: [BEEF](#type-beef), [Base64String](#type-base64string), [BasketStringUnder300Bytes](#type-basketstringunder300bytes), [BooleanDefaultFalse](#type-booleandefaultfalse), [BooleanDefaultTrue](#type-booleandefaulttrue), [Byte](#type-byte), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [DescriptionString5to50Bytes](#type-descriptionstring5to50bytes), [EntityIconURLStringMax500Bytes](#type-entityiconurlstringmax500bytes), [EntityNameStringMax100Bytes](#type-entitynamestringmax100bytes), [HexString](#type-hexstring), [ISOTimestampString](#type-isotimestampstring), [KeyIDStringUnder800Bytes](#type-keyidstringunder800bytes), [LabelStringUnder300Bytes](#type-labelstringunder300bytes), [OriginatorDomainNameStringUnder250Bytes](#type-originatordomainnamestringunder250bytes), [OutpointString](#type-outpointstring), [OutputTagStringUnder300Bytes](#type-outputtagstringunder300bytes), [PositiveInteger](#type-positiveinteger), [PositiveIntegerDefault10Max10000](#type-positiveintegerdefault10max10000), [PositiveIntegerMax10](#type-positiveintegermax10), [PositiveIntegerOrZero](#type-positiveintegerorzero), [ProtocolString5To400Bytes](#type-protocolstring5to400bytes), [PubKeyHex](#type-pubkeyhex), [SatoshiValue](#type-satoshivalue), [SecurityLevel](#type-securitylevel), [TXIDHexString](#type-txidhexstring), [VersionString7To30Bytes](#type-versionstring7to30bytes), [WalletInterface](#interface-walletinterface), [decrypt](#variable-decrypt), [encrypt](#variable-encrypt)
955
955
 
956
956
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Enums](#enums), [Variables](#variables)
957
957
 
@@ -961,7 +961,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
961
961
  Facilitates wallet operations over cross-document messaging.
962
962
 
963
963
  ```ts
964
- export default class XDMSubstrate implements Wallet {
964
+ export default class XDMSubstrate implements WalletInterface {
965
965
  constructor(domain: string = "*")
966
966
  async invoke(call: CallType, args: any): Promise<any>
967
967
  async createAction(args: {
@@ -1395,7 +1395,7 @@ export default class XDMSubstrate implements Wallet {
1395
1395
  }
1396
1396
  ```
1397
1397
 
1398
- See also: [BEEF](#type-beef), [Base64String](#type-base64string), [BasketStringUnder300Bytes](#type-basketstringunder300bytes), [BooleanDefaultFalse](#type-booleandefaultfalse), [BooleanDefaultTrue](#type-booleandefaulttrue), [Byte](#type-byte), [CallType](#type-calltype), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [DescriptionString5to50Bytes](#type-descriptionstring5to50bytes), [EntityIconURLStringMax500Bytes](#type-entityiconurlstringmax500bytes), [EntityNameStringMax100Bytes](#type-entitynamestringmax100bytes), [HexString](#type-hexstring), [ISOTimestampString](#type-isotimestampstring), [KeyIDStringUnder800Bytes](#type-keyidstringunder800bytes), [LabelStringUnder300Bytes](#type-labelstringunder300bytes), [OutpointString](#type-outpointstring), [OutputTagStringUnder300Bytes](#type-outputtagstringunder300bytes), [PositiveInteger](#type-positiveinteger), [PositiveIntegerDefault10Max10000](#type-positiveintegerdefault10max10000), [PositiveIntegerMax10](#type-positiveintegermax10), [PositiveIntegerOrZero](#type-positiveintegerorzero), [ProtocolString5To400Bytes](#type-protocolstring5to400bytes), [PubKeyHex](#type-pubkeyhex), [SatoshiValue](#type-satoshivalue), [SecurityLevel](#type-securitylevel), [TXIDHexString](#type-txidhexstring), [VersionString7To30Bytes](#type-versionstring7to30bytes), [Wallet](#interface-wallet), [decrypt](#variable-decrypt), [encrypt](#variable-encrypt)
1398
+ See also: [BEEF](#type-beef), [Base64String](#type-base64string), [BasketStringUnder300Bytes](#type-basketstringunder300bytes), [BooleanDefaultFalse](#type-booleandefaultfalse), [BooleanDefaultTrue](#type-booleandefaulttrue), [Byte](#type-byte), [CallType](#type-calltype), [CertificateFieldNameUnder50Bytes](#type-certificatefieldnameunder50bytes), [DescriptionString5to50Bytes](#type-descriptionstring5to50bytes), [EntityIconURLStringMax500Bytes](#type-entityiconurlstringmax500bytes), [EntityNameStringMax100Bytes](#type-entitynamestringmax100bytes), [HexString](#type-hexstring), [ISOTimestampString](#type-isotimestampstring), [KeyIDStringUnder800Bytes](#type-keyidstringunder800bytes), [LabelStringUnder300Bytes](#type-labelstringunder300bytes), [OutpointString](#type-outpointstring), [OutputTagStringUnder300Bytes](#type-outputtagstringunder300bytes), [PositiveInteger](#type-positiveinteger), [PositiveIntegerDefault10Max10000](#type-positiveintegerdefault10max10000), [PositiveIntegerMax10](#type-positiveintegermax10), [PositiveIntegerOrZero](#type-positiveintegerorzero), [ProtocolString5To400Bytes](#type-protocolstring5to400bytes), [PubKeyHex](#type-pubkeyhex), [SatoshiValue](#type-satoshivalue), [SecurityLevel](#type-securitylevel), [TXIDHexString](#type-txidhexstring), [VersionString7To30Bytes](#type-versionstring7to30bytes), [WalletInterface](#interface-walletinterface), [decrypt](#variable-decrypt), [encrypt](#variable-encrypt)
1399
1399
 
1400
1400
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Enums](#enums), [Variables](#variables)
1401
1401