@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.
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/cjs/src/auth/utils/certificateHelpers.js +2 -2
- package/dist/cjs/src/auth/utils/certificateHelpers.js.map +1 -1
- package/dist/cjs/src/wallet/CachedKeyDeriver.js +11 -14
- package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/KeyDeriver.js +14 -11
- package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/cjs/src/wallet/ProtoWallet.js +53 -111
- package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
- package/dist/cjs/src/wallet/index.js +2 -3
- package/dist/cjs/src/wallet/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +1 -0
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
- package/dist/esm/src/auth/utils/certificateHelpers.js +2 -2
- package/dist/esm/src/auth/utils/certificateHelpers.js.map +1 -1
- package/dist/esm/src/wallet/CachedKeyDeriver.js +10 -10
- package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/KeyDeriver.js +15 -12
- package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
- package/dist/esm/src/wallet/ProtoWallet.js +53 -76
- package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/index.js +1 -1
- package/dist/esm/src/wallet/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +1 -0
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/auth/certificates/Certificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts +2 -2
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
- package/dist/types/src/auth/utils/certificateHelpers.d.ts +5 -5
- package/dist/types/src/auth/utils/certificateHelpers.d.ts.map +1 -1
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts +16 -15
- package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/KeyDeriver.d.ts +74 -18
- package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
- package/dist/types/src/wallet/ProtoWallet.d.ts +31 -407
- package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +201 -169
- package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
- package/dist/types/src/wallet/WalletClient.d.ts +2 -3
- package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
- package/dist/types/src/wallet/index.d.ts +1 -1
- package/dist/types/src/wallet/index.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +1 -1
- package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/XDM.d.ts +2 -2
- package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/window.CWI.d.ts +2 -2
- package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/docs/auth.md +12 -12
- package/docs/wallet-substrates.md +6 -6
- package/docs/wallet.md +897 -983
- package/package.json +1 -1
- package/src/auth/certificates/Certificate.ts +1 -1
- package/src/auth/certificates/MasterCertificate.ts +3 -2
- package/src/auth/utils/certificateHelpers.ts +5 -5
- package/src/wallet/CachedKeyDeriver.ts +22 -21
- package/src/wallet/KeyDeriver.ts +89 -22
- package/src/wallet/ProtoWallet.ts +105 -550
- package/src/wallet/Wallet.interfaces.ts +259 -176
- package/src/wallet/WalletClient.ts +2 -1
- package/src/wallet/__tests/ProtoWallet.test.ts +0 -53
- package/src/wallet/index.ts +1 -1
- package/src/wallet/substrates/HTTPWalletJSON.ts +1 -1
- package/src/wallet/substrates/WalletWireTransceiver.ts +2 -1
- package/src/wallet/substrates/XDM.ts +2 -2
- 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<
|
|
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)
|
package/src/wallet/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './Wallet.interfaces.js'
|
|
2
|
-
export
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
110
|
+
async isAuthenticated(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ authenticated: true }> {
|
|
111
111
|
return this.CWI.isAuthenticated(args, originator)
|
|
112
112
|
}
|
|
113
113
|
|