@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.
Files changed (112) hide show
  1. package/README.md +2 -0
  2. package/dist/cjs/package.json +1 -1
  3. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js +827 -0
  4. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +1 -0
  5. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +654 -0
  6. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +1 -0
  7. package/dist/cjs/src/identity/IdentityClient.js +3 -3
  8. package/dist/cjs/src/identity/IdentityClient.js.map +1 -1
  9. package/dist/cjs/src/identity/types/index.js +1 -1
  10. package/dist/cjs/src/identity/types/index.js.map +1 -1
  11. package/dist/cjs/src/storage/StorageUploader.js +315 -96
  12. package/dist/cjs/src/storage/StorageUploader.js.map +1 -1
  13. package/dist/cjs/src/storage/index.js +3 -1
  14. package/dist/cjs/src/storage/index.js.map +1 -1
  15. package/dist/cjs/src/transaction/MerklePath.js +132 -0
  16. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  17. package/dist/cjs/src/wallet/WERR_REVIEW_ACTIONS.js +2 -2
  18. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  19. package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js +825 -0
  20. package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +1 -0
  21. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +619 -0
  22. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +1 -0
  23. package/dist/esm/src/identity/IdentityClient.js +3 -3
  24. package/dist/esm/src/identity/IdentityClient.js.map +1 -1
  25. package/dist/esm/src/identity/types/index.js +1 -1
  26. package/dist/esm/src/identity/types/index.js.map +1 -1
  27. package/dist/esm/src/storage/StorageUploader.js +319 -95
  28. package/dist/esm/src/storage/StorageUploader.js.map +1 -1
  29. package/dist/esm/src/storage/index.js +1 -1
  30. package/dist/esm/src/storage/index.js.map +1 -1
  31. package/dist/esm/src/transaction/MerklePath.js +132 -0
  32. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  33. package/dist/esm/src/wallet/WERR_REVIEW_ACTIONS.js +2 -2
  34. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  35. package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts +21 -0
  36. package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts.map +1 -0
  37. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts +2 -0
  38. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts.map +1 -0
  39. package/dist/types/src/storage/StorageUploader.d.ts +94 -55
  40. package/dist/types/src/storage/StorageUploader.d.ts.map +1 -1
  41. package/dist/types/src/storage/index.d.ts +1 -1
  42. package/dist/types/src/storage/index.d.ts.map +1 -1
  43. package/dist/types/src/transaction/MerklePath.d.ts +27 -0
  44. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  45. package/dist/types/src/wallet/WERR_REVIEW_ACTIONS.d.ts +2 -2
  46. package/dist/types/src/wallet/Wallet.interfaces.d.ts +2 -2
  47. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  48. package/dist/umd/bundle.js +4 -4
  49. package/dist/umd/bundle.js.map +1 -1
  50. package/docs/index.md +3 -1
  51. package/docs/reference/identity.md +1 -1
  52. package/docs/reference/storage.md +215 -86
  53. package/docs/reference/transaction.md +40 -0
  54. package/docs/reference/wallet.md +4 -4
  55. package/package.json +1 -1
  56. package/src/auth/clients/__tests__/AuthFetch.additional.test.ts +1131 -0
  57. package/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.ts +770 -0
  58. package/src/compat/__tests/Mnemonic.additional.test.ts +64 -0
  59. package/src/identity/IdentityClient.ts +3 -3
  60. package/src/identity/__tests/IdentityClient.additional.test.ts +767 -0
  61. package/src/identity/types/index.ts +1 -1
  62. package/src/kvstore/__tests/LocalKVStore.additional.test.ts +611 -0
  63. package/src/kvstore/__tests/kvStoreInterpreter.test.ts +327 -0
  64. package/src/overlay-tools/__tests/HostReputationTracker.additional.test.ts +561 -0
  65. package/src/overlay-tools/__tests/LookupResolver.additional.test.ts +612 -0
  66. package/src/overlay-tools/__tests/withDoubleSpendRetry.test.ts +278 -0
  67. package/src/primitives/__tests/BigNumber.additional.test.ts +79 -0
  68. package/src/primitives/__tests/Curve.additional.test.ts +208 -0
  69. package/src/primitives/__tests/ECDSA.additional.test.ts +122 -0
  70. package/src/primitives/__tests/Hash.additional.test.ts +59 -0
  71. package/src/primitives/__tests/JacobianPoint.test.ts +308 -0
  72. package/src/primitives/__tests/Point.additional.test.ts +503 -0
  73. package/src/primitives/__tests/PublicKey.additional.test.ts +383 -0
  74. package/src/primitives/__tests/Random.additional.test.ts +262 -0
  75. package/src/primitives/__tests/Signature.test.ts +333 -0
  76. package/src/primitives/__tests/TransactionSignature.additional.test.ts +241 -0
  77. package/src/registry/__tests/RegistryClient.additional.test.ts +750 -0
  78. package/src/remittance/__tests/BasicBRC29.additional.test.ts +657 -0
  79. package/src/remittance/__tests/RemittanceManager.additional.test.ts +1272 -0
  80. package/src/script/__tests/LockingUnlockingScript.test.ts +79 -0
  81. package/src/script/__tests/Script.additional.test.ts +100 -0
  82. package/src/script/__tests/ScriptEvaluationError.test.ts +98 -0
  83. package/src/script/__tests/Spend.additional.test.ts +837 -0
  84. package/src/script/templates/__tests/RPuzzle.test.ts +134 -0
  85. package/src/storage/StorageUploader.ts +427 -105
  86. package/src/storage/__tests/StorageUploader.test.ts +881 -64
  87. package/src/storage/index.ts +1 -1
  88. package/src/transaction/MerklePath.ts +155 -0
  89. package/src/transaction/__tests/BeefParty.additional.test.ts +22 -0
  90. package/src/transaction/__tests/Broadcaster.test.ts +159 -0
  91. package/src/transaction/__tests/MerklePath.bench.test.ts +105 -0
  92. package/src/transaction/__tests/MerklePath.test.ts +80 -0
  93. package/src/transaction/__tests/Transaction.additional.test.ts +225 -0
  94. package/src/transaction/broadcasters/__tests/ARC.additional.test.ts +585 -0
  95. package/src/transaction/broadcasters/__tests/Teranode.test.ts +349 -0
  96. package/src/transaction/chaintrackers/__tests/BlockHeadersService.test.ts +253 -0
  97. package/src/transaction/chaintrackers/__tests/DefaultChainTracker.test.ts +44 -0
  98. package/src/transaction/chaintrackers/__tests/WhatsOnChain.additional.test.ts +193 -0
  99. package/src/transaction/fee-models/__tests/SatoshisPerKilobyte.test.ts +262 -0
  100. package/src/transaction/http/__tests/BinaryFetchClient.test.ts +212 -0
  101. package/src/transaction/http/__tests/DefaultHttpClient.additional.test.ts +192 -0
  102. package/src/transaction/http/__tests/DefaultHttpClient.test.ts +71 -0
  103. package/src/wallet/WERR_REVIEW_ACTIONS.ts +2 -2
  104. package/src/wallet/Wallet.interfaces.ts +2 -2
  105. package/src/wallet/__tests/ProtoWallet.additional.test.ts +134 -0
  106. package/src/wallet/__tests/WERR.test.ts +212 -0
  107. package/src/wallet/__tests/WalletClient.additional.test.ts +699 -0
  108. package/src/wallet/__tests/WalletClient.substrate.test.ts +759 -0
  109. package/src/wallet/__tests/WalletError.test.ts +290 -0
  110. package/src/wallet/__tests/validationHelpers.test.ts +1218 -0
  111. package/src/wallet/substrates/__tests/HTTPWalletJSON.test.ts +496 -0
  112. 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://projectbabbage.com/docs/registrant' // TODO: Make this doc page exist
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://projectbabbage.com/docs/anyone-identity' // TODO: Make this doc page exist
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://projectbabbage.com/docs/self-identity' // TODO: Make this doc page exist
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(