@bsv/sdk 1.3.3 → 1.3.5

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 (79) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
  3. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
  4. package/dist/cjs/src/auth/utils/certificateHelpers.js +2 -2
  5. package/dist/cjs/src/auth/utils/certificateHelpers.js.map +1 -1
  6. package/dist/cjs/src/wallet/CachedKeyDeriver.js +11 -14
  7. package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
  8. package/dist/cjs/src/wallet/KeyDeriver.js +14 -11
  9. package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
  10. package/dist/cjs/src/wallet/ProtoWallet.js +53 -111
  11. package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
  12. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  13. package/dist/cjs/src/wallet/index.js +2 -3
  14. package/dist/cjs/src/wallet/index.js.map +1 -1
  15. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +1 -0
  16. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  17. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  18. package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
  19. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  20. package/dist/esm/src/auth/utils/certificateHelpers.js +2 -2
  21. package/dist/esm/src/auth/utils/certificateHelpers.js.map +1 -1
  22. package/dist/esm/src/wallet/CachedKeyDeriver.js +10 -10
  23. package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
  24. package/dist/esm/src/wallet/KeyDeriver.js +15 -12
  25. package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
  26. package/dist/esm/src/wallet/ProtoWallet.js +53 -76
  27. package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
  28. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  29. package/dist/esm/src/wallet/index.js +1 -1
  30. package/dist/esm/src/wallet/index.js.map +1 -1
  31. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +1 -0
  32. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  33. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  34. package/dist/types/src/auth/certificates/Certificate.d.ts +2 -2
  35. package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
  36. package/dist/types/src/auth/certificates/MasterCertificate.d.ts +2 -2
  37. package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
  38. package/dist/types/src/auth/utils/certificateHelpers.d.ts +5 -5
  39. package/dist/types/src/auth/utils/certificateHelpers.d.ts.map +1 -1
  40. package/dist/types/src/wallet/CachedKeyDeriver.d.ts +16 -15
  41. package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
  42. package/dist/types/src/wallet/KeyDeriver.d.ts +74 -18
  43. package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
  44. package/dist/types/src/wallet/ProtoWallet.d.ts +31 -407
  45. package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
  46. package/dist/types/src/wallet/Wallet.interfaces.d.ts +201 -169
  47. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  48. package/dist/types/src/wallet/WalletClient.d.ts +2 -3
  49. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  50. package/dist/types/src/wallet/index.d.ts +1 -1
  51. package/dist/types/src/wallet/index.d.ts.map +1 -1
  52. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +1 -1
  53. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  54. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +1 -1
  55. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
  56. package/dist/types/src/wallet/substrates/XDM.d.ts +2 -2
  57. package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
  58. package/dist/types/src/wallet/substrates/window.CWI.d.ts +2 -2
  59. package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
  60. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  61. package/dist/umd/bundle.js +1 -1
  62. package/docs/auth.md +12 -12
  63. package/docs/wallet-substrates.md +6 -6
  64. package/docs/wallet.md +897 -983
  65. package/package.json +1 -1
  66. package/src/auth/certificates/Certificate.ts +1 -1
  67. package/src/auth/certificates/MasterCertificate.ts +3 -2
  68. package/src/auth/utils/certificateHelpers.ts +5 -5
  69. package/src/wallet/CachedKeyDeriver.ts +22 -21
  70. package/src/wallet/KeyDeriver.ts +89 -22
  71. package/src/wallet/ProtoWallet.ts +105 -550
  72. package/src/wallet/Wallet.interfaces.ts +259 -176
  73. package/src/wallet/WalletClient.ts +2 -1
  74. package/src/wallet/__tests/ProtoWallet.test.ts +0 -53
  75. package/src/wallet/index.ts +1 -1
  76. package/src/wallet/substrates/HTTPWalletJSON.ts +1 -1
  77. package/src/wallet/substrates/WalletWireTransceiver.ts +2 -1
  78. package/src/wallet/substrates/XDM.ts +2 -2
  79. package/src/wallet/substrates/window.CWI.ts +2 -2
@@ -4,6 +4,7 @@ import XDMSubstrate from './substrates/XDM.js'
4
4
  import WalletWireTransceiver from './substrates/WalletWireTransceiver.js'
5
5
  import HTTPWalletWire from './substrates/HTTPWalletWire.js'
6
6
  import HTTPWalletJSON from './substrates/HTTPWalletJSON.js'
7
+ import { AuthenticatedResult } from './Wallet.interfaces.js'
7
8
 
8
9
  const MAX_XDM_RESPONSE_WAIT = 200
9
10
 
@@ -177,7 +178,7 @@ export default class WalletClient implements Wallet {
177
178
  return await (this.substrate as Wallet).discoverByAttributes(args, this.originator)
178
179
  }
179
180
 
180
- async isAuthenticated (args: {} = {}): Promise<{ authenticated: boolean }> {
181
+ async isAuthenticated (args: {} = {}): Promise<AuthenticatedResult> {
181
182
  await this.connectToSubstrate()
182
183
  return await (this.substrate as Wallet).isAuthenticated(args, this.originator)
183
184
  }
@@ -6,52 +6,6 @@ const sampleData = [3, 1, 4, 1, 5, 9]
6
6
  describe('ProtoWallet', () => {
7
7
  it('Throws when functions are not supported', async () => {
8
8
  const wallet = new ProtoWallet('anyone')
9
- await expect(() => {
10
- return (wallet as any).createAction()
11
- }).rejects.toThrow()
12
- await expect(() => {
13
- return (wallet as any).abortAction()
14
- }).rejects.toThrow()
15
- await expect(() => {
16
- return (wallet as any).signAction()
17
- }).rejects.toThrow()
18
- await expect(() => {
19
- return (wallet as any).listOutputs()
20
- }).rejects.toThrow()
21
- await expect(() => {
22
- return (wallet as any).relinquishOutput()
23
- }).rejects.toThrow()
24
- await expect(() => {
25
- return (wallet as any).listActions()
26
- }).rejects.toThrow()
27
- await expect(() => {
28
- return (wallet as any).internalizeAction()
29
- }).rejects.toThrow()
30
- await expect(() => {
31
- return (wallet as any).acquireCertificate()
32
- }).rejects.toThrow()
33
- await expect(() => {
34
- return (wallet as any).proveCertificate()
35
- }).rejects.toThrow()
36
- await expect(() => {
37
- return (wallet as any).listCertificates()
38
- }).rejects.toThrow()
39
- await expect(() => {
40
- return (wallet as any).relinquishCertificate()
41
- }).rejects.toThrow()
42
- await expect(() => {
43
- return (wallet as any).getHeight()
44
- }).rejects.toThrow()
45
- await expect(() => {
46
- return (wallet as any).getHeaderForHeight()
47
- }).rejects.toThrow()
48
- // TODO: Remove these two from the throw list once they are implemented.
49
- await expect(() => {
50
- return (wallet as any).discoverByIdentityKey()
51
- }).rejects.toThrow()
52
- await expect(() => {
53
- return (wallet as any).discoverByAttributes()
54
- }).rejects.toThrow()
55
9
  })
56
10
  it('Throws the privileged error when the privileged flag is set', async () => {
57
11
  const wallet = new ProtoWallet('anyone')
@@ -339,13 +293,6 @@ describe('ProtoWallet', () => {
339
293
  counterparty: counterpartyKey.toPublicKey().toString()
340
294
  })).rejects.toThrow()
341
295
  })
342
- it('Returns the expected version, network, and authentication status', async () => {
343
- const wallet = new ProtoWallet('anyone')
344
- expect(await wallet.getVersion({})).toEqual({ version: 'proto-1.0.0' })
345
- expect(await wallet.getNetwork({})).toEqual({ network: 'mainnet' })
346
- expect(await wallet.isAuthenticated({})).toEqual({ authenticated: true })
347
- expect(await wallet.waitForAuthentication({})).toEqual({ authenticated: true })
348
- })
349
296
  it('Uses anyone for creating signatures and self for other operations if no counterparty is provided', async () => {
350
297
  const userKey = PrivateKey.fromRandom()
351
298
  const user = new ProtoWallet(userKey)
@@ -1,5 +1,5 @@
1
1
  export * from './Wallet.interfaces.js'
2
- export { default as KeyDeriver } from './KeyDeriver.js'
2
+ export * from './KeyDeriver.js'
3
3
  export { default as CachedKeyDeriver } from './CachedKeyDeriver.js'
4
4
  export { default as ProtoWallet } from './ProtoWallet.js'
5
5
  export { default as WalletClient } from './WalletClient.js'
@@ -117,7 +117,7 @@ export default class HTTPWalletJSON implements Wallet {
117
117
  return await this.api('discoverByAttributes', args)
118
118
  }
119
119
 
120
- async isAuthenticated(args: {}): Promise<{ authenticated: boolean }> {
120
+ async isAuthenticated(args: {}): Promise<{ authenticated: true }> {
121
121
  return await this.api('isAuthenticated', args)
122
122
  }
123
123
 
@@ -1411,8 +1411,9 @@ export default class WalletWireTransceiver implements Wallet {
1411
1411
  return this.parseDiscoveryResult(result)
1412
1412
  }
1413
1413
 
1414
- async isAuthenticated(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ authenticated: boolean }> {
1414
+ async isAuthenticated(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ authenticated: true }> {
1415
1415
  const result = await this.transmit('isAuthenticated', originator)
1416
+ // @ts-ignore
1416
1417
  return { authenticated: !!result[0] }
1417
1418
  }
1418
1419
 
@@ -63,7 +63,7 @@ export default class XDMSubstrate implements Wallet {
63
63
  return await this.invoke('internalizeAction', args)
64
64
  }
65
65
 
66
- async listOutputs(args: { basket: BasketStringUnder300Bytes, tags?: OutputTagStringUnder300Bytes[], tagQueryMode?: 'all' | 'any', include?: 'locking scripts' | 'entire transactions', includeCustomInstructions?: BooleanDefaultFalse, includeTags?: BooleanDefaultFalse, includeLabels?: BooleanDefaultFalse, limit?: PositiveIntegerDefault10Max10000, offset?: PositiveIntegerOrZero }): Promise<{ totalOutputs: PositiveIntegerOrZero, outputs: Array<{ outpoint: OutpointString, satoshis: SatoshiValue, lockingScript?: HexString, tx?: BEEF, spendable: true, customInstructions?: string, tags?: OutputTagStringUnder300Bytes[], labels?: LabelStringUnder300Bytes[] }> }> {
66
+ async listOutputs(args: { basket: BasketStringUnder300Bytes, tags?: OutputTagStringUnder300Bytes[], tagQueryMode?: 'all' | 'any', include?: 'locking scripts' | 'entire transactions', includeCustomInstructions?: BooleanDefaultFalse, includeTags?: BooleanDefaultFalse, includeLabels?: BooleanDefaultFalse, limit?: PositiveIntegerDefault10Max10000, offset?: PositiveIntegerOrZero }): Promise<{ totalOutputs: PositiveIntegerOrZero, outputs: Array<{ outpoint: OutpointString, satoshis: SatoshiValue, lockingScript?: HexString, tx?: BEEF, spendable: boolean, customInstructions?: string, tags?: OutputTagStringUnder300Bytes[], labels?: LabelStringUnder300Bytes[] }> }> {
67
67
  return await this.invoke('listOutputs', args)
68
68
  }
69
69
 
@@ -131,7 +131,7 @@ export default class XDMSubstrate implements Wallet {
131
131
  return await this.invoke('discoverByAttributes', args)
132
132
  }
133
133
 
134
- async isAuthenticated(args: {}): Promise<{ authenticated: boolean }> {
134
+ async isAuthenticated(args: {}): Promise<{ authenticated: true }> {
135
135
  return await this.invoke('isAuthenticated', args)
136
136
  }
137
137
 
@@ -39,7 +39,7 @@ export default class WindowCWISubstrate implements Wallet {
39
39
  return this.CWI.internalizeAction(args, originator)
40
40
  }
41
41
 
42
- async listOutputs(args: { basket: BasketStringUnder300Bytes, tags?: OutputTagStringUnder300Bytes[], tagQueryMode?: 'all' | 'any', include?: 'locking scripts' | 'entire transactions', includeCustomInstructions?: BooleanDefaultFalse, includeTags?: BooleanDefaultFalse, includeLabels?: BooleanDefaultFalse, limit?: PositiveIntegerDefault10Max10000, offset?: PositiveIntegerOrZero }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ totalOutputs: PositiveIntegerOrZero, outputs: Array<{ outpoint: OutpointString, satoshis: SatoshiValue, lockingScript?: HexString, tx?: BEEF, spendable: true, customInstructions?: string, tags?: OutputTagStringUnder300Bytes[], labels?: LabelStringUnder300Bytes[] }> }> {
42
+ async listOutputs(args: { basket: BasketStringUnder300Bytes, tags?: OutputTagStringUnder300Bytes[], tagQueryMode?: 'all' | 'any', include?: 'locking scripts' | 'entire transactions', includeCustomInstructions?: BooleanDefaultFalse, includeTags?: BooleanDefaultFalse, includeLabels?: BooleanDefaultFalse, limit?: PositiveIntegerDefault10Max10000, offset?: PositiveIntegerOrZero }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ totalOutputs: PositiveIntegerOrZero, outputs: Array<{ outpoint: OutpointString, satoshis: SatoshiValue, lockingScript?: HexString, tx?: BEEF, spendable: boolean, customInstructions?: string, tags?: OutputTagStringUnder300Bytes[], labels?: LabelStringUnder300Bytes[] }> }> {
43
43
  return this.CWI.listOutputs(args, originator)
44
44
  }
45
45
 
@@ -107,7 +107,7 @@ export default class WindowCWISubstrate implements Wallet {
107
107
  return this.CWI.discoverByAttributes(args, originator)
108
108
  }
109
109
 
110
- async isAuthenticated(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ authenticated: boolean }> {
110
+ async isAuthenticated(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ authenticated: true }> {
111
111
  return this.CWI.isAuthenticated(args, originator)
112
112
  }
113
113