@bsv/sdk 2.0.12 → 2.0.14
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/README.md +2 -0
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js +827 -0
- package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +1 -0
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +654 -0
- package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +1 -0
- package/dist/cjs/src/identity/IdentityClient.js +3 -3
- package/dist/cjs/src/identity/IdentityClient.js.map +1 -1
- package/dist/cjs/src/identity/types/index.js +1 -1
- package/dist/cjs/src/identity/types/index.js.map +1 -1
- package/dist/cjs/src/storage/StorageUploader.js +315 -96
- package/dist/cjs/src/storage/StorageUploader.js.map +1 -1
- package/dist/cjs/src/storage/index.js +3 -1
- package/dist/cjs/src/storage/index.js.map +1 -1
- package/dist/cjs/src/transaction/MerklePath.js +132 -0
- package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
- package/dist/cjs/src/wallet/WERR_REVIEW_ACTIONS.js +2 -2
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js +825 -0
- package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +1 -0
- package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +619 -0
- package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +1 -0
- package/dist/esm/src/identity/IdentityClient.js +3 -3
- package/dist/esm/src/identity/IdentityClient.js.map +1 -1
- package/dist/esm/src/identity/types/index.js +1 -1
- package/dist/esm/src/identity/types/index.js.map +1 -1
- package/dist/esm/src/storage/StorageUploader.js +319 -95
- package/dist/esm/src/storage/StorageUploader.js.map +1 -1
- package/dist/esm/src/storage/index.js +1 -1
- package/dist/esm/src/storage/index.js.map +1 -1
- package/dist/esm/src/transaction/MerklePath.js +132 -0
- package/dist/esm/src/transaction/MerklePath.js.map +1 -1
- package/dist/esm/src/wallet/WERR_REVIEW_ACTIONS.js +2 -2
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts +21 -0
- package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts.map +1 -0
- package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts +2 -0
- package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts.map +1 -0
- package/dist/types/src/storage/StorageUploader.d.ts +94 -55
- package/dist/types/src/storage/StorageUploader.d.ts.map +1 -1
- package/dist/types/src/storage/index.d.ts +1 -1
- package/dist/types/src/storage/index.d.ts.map +1 -1
- package/dist/types/src/transaction/MerklePath.d.ts +27 -0
- package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
- package/dist/types/src/wallet/WERR_REVIEW_ACTIONS.d.ts +2 -2
- package/dist/types/src/wallet/Wallet.interfaces.d.ts +2 -2
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +4 -4
- package/dist/umd/bundle.js.map +1 -1
- package/docs/index.md +3 -1
- package/docs/reference/identity.md +1 -1
- package/docs/reference/storage.md +215 -86
- package/docs/reference/transaction.md +40 -0
- package/docs/reference/wallet.md +4 -4
- package/package.json +1 -1
- package/src/auth/clients/__tests__/AuthFetch.additional.test.ts +1131 -0
- package/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.ts +770 -0
- package/src/compat/__tests/Mnemonic.additional.test.ts +64 -0
- package/src/identity/IdentityClient.ts +3 -3
- package/src/identity/__tests/IdentityClient.additional.test.ts +767 -0
- package/src/identity/types/index.ts +1 -1
- package/src/kvstore/__tests/LocalKVStore.additional.test.ts +611 -0
- package/src/kvstore/__tests/kvStoreInterpreter.test.ts +327 -0
- package/src/overlay-tools/__tests/HostReputationTracker.additional.test.ts +561 -0
- package/src/overlay-tools/__tests/LookupResolver.additional.test.ts +612 -0
- package/src/overlay-tools/__tests/withDoubleSpendRetry.test.ts +278 -0
- package/src/primitives/__tests/BigNumber.additional.test.ts +79 -0
- package/src/primitives/__tests/Curve.additional.test.ts +208 -0
- package/src/primitives/__tests/ECDSA.additional.test.ts +122 -0
- package/src/primitives/__tests/Hash.additional.test.ts +59 -0
- package/src/primitives/__tests/JacobianPoint.test.ts +308 -0
- package/src/primitives/__tests/Point.additional.test.ts +503 -0
- package/src/primitives/__tests/PublicKey.additional.test.ts +383 -0
- package/src/primitives/__tests/Random.additional.test.ts +262 -0
- package/src/primitives/__tests/Signature.test.ts +333 -0
- package/src/primitives/__tests/TransactionSignature.additional.test.ts +241 -0
- package/src/registry/__tests/RegistryClient.additional.test.ts +750 -0
- package/src/remittance/__tests/BasicBRC29.additional.test.ts +657 -0
- package/src/remittance/__tests/RemittanceManager.additional.test.ts +1272 -0
- package/src/script/__tests/LockingUnlockingScript.test.ts +79 -0
- package/src/script/__tests/Script.additional.test.ts +100 -0
- package/src/script/__tests/ScriptEvaluationError.test.ts +98 -0
- package/src/script/__tests/Spend.additional.test.ts +837 -0
- package/src/script/templates/__tests/RPuzzle.test.ts +134 -0
- package/src/storage/StorageUploader.ts +427 -105
- package/src/storage/__tests/StorageUploader.test.ts +881 -64
- package/src/storage/index.ts +1 -1
- package/src/transaction/MerklePath.ts +155 -0
- package/src/transaction/__tests/BeefParty.additional.test.ts +22 -0
- package/src/transaction/__tests/Broadcaster.test.ts +159 -0
- package/src/transaction/__tests/MerklePath.bench.test.ts +105 -0
- package/src/transaction/__tests/MerklePath.test.ts +80 -0
- package/src/transaction/__tests/Transaction.additional.test.ts +225 -0
- package/src/transaction/broadcasters/__tests/ARC.additional.test.ts +585 -0
- package/src/transaction/broadcasters/__tests/Teranode.test.ts +349 -0
- package/src/transaction/chaintrackers/__tests/BlockHeadersService.test.ts +253 -0
- package/src/transaction/chaintrackers/__tests/DefaultChainTracker.test.ts +44 -0
- package/src/transaction/chaintrackers/__tests/WhatsOnChain.additional.test.ts +193 -0
- package/src/transaction/fee-models/__tests/SatoshisPerKilobyte.test.ts +262 -0
- package/src/transaction/http/__tests/BinaryFetchClient.test.ts +212 -0
- package/src/transaction/http/__tests/DefaultHttpClient.additional.test.ts +192 -0
- package/src/transaction/http/__tests/DefaultHttpClient.test.ts +71 -0
- package/src/wallet/WERR_REVIEW_ACTIONS.ts +2 -2
- package/src/wallet/Wallet.interfaces.ts +2 -2
- package/src/wallet/__tests/ProtoWallet.additional.test.ts +134 -0
- package/src/wallet/__tests/WERR.test.ts +212 -0
- package/src/wallet/__tests/WalletClient.additional.test.ts +699 -0
- package/src/wallet/__tests/WalletClient.substrate.test.ts +759 -0
- package/src/wallet/__tests/WalletError.test.ts +290 -0
- package/src/wallet/__tests/validationHelpers.test.ts +1218 -0
- package/src/wallet/substrates/__tests/HTTPWalletJSON.test.ts +496 -0
- package/src/wallet/substrates/__tests/HTTPWalletWire.test.ts +273 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import Mnemonic from '../Mnemonic'
|
|
2
|
+
|
|
3
|
+
const VALID_MNEMONIC = 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about'
|
|
4
|
+
|
|
5
|
+
describe('Mnemonic – additional coverage', () => {
|
|
6
|
+
describe('fromRandom – default and edge-case bits', () => {
|
|
7
|
+
it('uses 128 bits when bits is undefined', () => {
|
|
8
|
+
const m = new Mnemonic().fromRandom(undefined)
|
|
9
|
+
expect(m.mnemonic.split(' ')).toHaveLength(12) // 128-bit → 12 words
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
it('uses 128 bits when bits is 0', () => {
|
|
13
|
+
const m = new Mnemonic().fromRandom(0)
|
|
14
|
+
expect(m.mnemonic.split(' ')).toHaveLength(12)
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
it('uses 128 bits when bits is NaN', () => {
|
|
18
|
+
const m = new Mnemonic().fromRandom(NaN)
|
|
19
|
+
expect(m.mnemonic.split(' ')).toHaveLength(12)
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
it('throws when bits is a multiple of 32 but less than 128', () => {
|
|
23
|
+
// 96 is a multiple of 32 but < 128
|
|
24
|
+
expect(() => new Mnemonic().fromRandom(96)).toThrow('bits must be at least 128')
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
describe('toBinary – empty mnemonic and seed', () => {
|
|
29
|
+
it('encodes empty mnemonic as varint 0', () => {
|
|
30
|
+
const m = new Mnemonic('', [])
|
|
31
|
+
const buf = m.toBinary()
|
|
32
|
+
// Both mnemonic and seed are empty → first byte (varint) is 0
|
|
33
|
+
expect(buf[0]).toBe(0)
|
|
34
|
+
expect(buf[1]).toBe(0)
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
describe('fromBinary – empty fields', () => {
|
|
39
|
+
it('round-trips an instance with empty mnemonic and seed', () => {
|
|
40
|
+
const original = new Mnemonic('', [])
|
|
41
|
+
const buf = original.toBinary()
|
|
42
|
+
const restored = new Mnemonic().fromBinary(buf)
|
|
43
|
+
expect(restored.mnemonic).toBe('')
|
|
44
|
+
expect(restored.seed).toHaveLength(0)
|
|
45
|
+
})
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
describe('mnemonic2Seed', () => {
|
|
49
|
+
it('throws when passphrase is not a string', () => {
|
|
50
|
+
const m = Mnemonic.fromString(VALID_MNEMONIC)
|
|
51
|
+
expect(() => {
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
53
|
+
m.mnemonic2Seed(42 as any)
|
|
54
|
+
}).toThrow('passphrase must be a string or undefined')
|
|
55
|
+
})
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
describe('toString', () => {
|
|
59
|
+
it('returns the mnemonic string', () => {
|
|
60
|
+
const m = Mnemonic.fromString(VALID_MNEMONIC)
|
|
61
|
+
expect(m.toString()).toBe(VALID_MNEMONIC)
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
})
|
|
@@ -381,7 +381,7 @@ export class IdentityClient {
|
|
|
381
381
|
avatarURL = decryptedFields.icon
|
|
382
382
|
badgeLabel = `Entity certified by ${certifierInfo.name}`
|
|
383
383
|
badgeIconURL = certifierInfo.iconUrl
|
|
384
|
-
badgeClickURL = 'https://
|
|
384
|
+
badgeClickURL = 'https://bsv-blockchain.github.io/ts-sdk/reference/identity/' // TODO: Make this doc page exist
|
|
385
385
|
break
|
|
386
386
|
case KNOWN_IDENTITY_TYPES.coolCert:
|
|
387
387
|
name = decryptedFields.cool === 'true' ? 'Cool Person!' : 'Not cool!'
|
|
@@ -392,14 +392,14 @@ export class IdentityClient {
|
|
|
392
392
|
badgeLabel =
|
|
393
393
|
'Represents the ability for anyone to access this information.'
|
|
394
394
|
badgeIconURL = 'XUUV39HVPkpmMzYNTx7rpKzJvXfeiVyQWg2vfSpjBAuhunTCA9uG'
|
|
395
|
-
badgeClickURL = 'https://
|
|
395
|
+
badgeClickURL = 'https://bsv-blockchain.github.io/ts-sdk/reference/identity/' // TODO: Make this doc page exist
|
|
396
396
|
break
|
|
397
397
|
case KNOWN_IDENTITY_TYPES.self:
|
|
398
398
|
name = 'You'
|
|
399
399
|
avatarURL = 'XUT9jHGk2qace148jeCX5rDsMftkSGYKmigLwU2PLLBc7Hm63VYR'
|
|
400
400
|
badgeLabel = 'Represents your ability to access this information.'
|
|
401
401
|
badgeIconURL = 'XUUV39HVPkpmMzYNTx7rpKzJvXfeiVyQWg2vfSpjBAuhunTCA9uG'
|
|
402
|
-
badgeClickURL = 'https://
|
|
402
|
+
badgeClickURL = 'https://bsv-blockchain.github.io/ts-sdk/reference/identity/' // TODO: Make this doc page exist
|
|
403
403
|
break
|
|
404
404
|
default: {
|
|
405
405
|
const parsed = IdentityClient.tryToParseGenericIdentity(
|