@smartledger/bsv 9.0.0 → 9.1.0

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 (155) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/README.md +152 -1041
  3. package/STABILITY.md +134 -0
  4. package/bsv-gdaf.min.js +53 -48
  5. package/bsv-ltp.min.js +23 -18
  6. package/bsv-smartcontract.min.js +18 -18
  7. package/bsv.bundle.js +53 -48
  8. package/bsv.min.js +53 -48
  9. package/docs/MODULE_REFERENCE_COMPLETE.md +27 -27
  10. package/docs/advanced/UTXO_MANAGER_GUIDE.md +1 -1
  11. package/docs/getting-started/INSTALLATION.md +23 -23
  12. package/docs/getting-started/QUICK_START.md +7 -7
  13. package/docs/migration/FROM_BSV_1_5_6.md +5 -5
  14. package/docs/proposals/10.0.0-package-split.md +131 -0
  15. package/index.js +5 -0
  16. package/lib/block/merkleblock.js +19 -5
  17. package/lib/hdprivatekey.js +15 -0
  18. package/lib/script/interpreter.js +109 -1
  19. package/lib/smart_contract/builder.js +14 -0
  20. package/lib/util/deprecate.js +159 -0
  21. package/package.json +19 -82
  22. package/version.js +1 -1
  23. package/.mocharc.json +0 -5
  24. package/test/address.js +0 -629
  25. package/test/block/block.js +0 -239
  26. package/test/block/blockheader.js +0 -270
  27. package/test/block/merkleblock.js +0 -207
  28. package/test/build/bundle_crypto_shim.js +0 -104
  29. package/test/build/bundle_externals.js +0 -125
  30. package/test/build/bundle_smoke.js +0 -55
  31. package/test/build/esbuild_main.js +0 -65
  32. package/test/build/esm_wrapper.js +0 -97
  33. package/test/build/exports_resolution.js +0 -84
  34. package/test/build/version_sync.js +0 -14
  35. package/test/cli/smoke.js +0 -261
  36. package/test/consensus/base58-vectors.js +0 -120
  37. package/test/consensus/sv-script-vectors.js +0 -81
  38. package/test/consensus/sv-sighash-vectors.js +0 -51
  39. package/test/consensus/sv-tx-vectors.js +0 -48
  40. package/test/credentials-test.js +0 -332
  41. package/test/crypto/backend_selection.js +0 -126
  42. package/test/crypto/bn.js +0 -168
  43. package/test/crypto/ecdsa.js +0 -426
  44. package/test/crypto/elliptic-fixed.js +0 -61
  45. package/test/crypto/hash.browser.js +0 -121
  46. package/test/crypto/hash.js +0 -122
  47. package/test/crypto/point.js +0 -193
  48. package/test/crypto/random.js +0 -105
  49. package/test/crypto/security.js +0 -176
  50. package/test/crypto/shamir.js +0 -177
  51. package/test/crypto/shamir_rngcap.js +0 -29
  52. package/test/crypto/signature.js +0 -399
  53. package/test/data/bip69.json +0 -215
  54. package/test/data/bitcoin-sv/README.md +0 -170
  55. package/test/data/bitcoin-sv/base58_encode_decode.json +0 -14
  56. package/test/data/bitcoin-sv/base58_keys_invalid.json +0 -152
  57. package/test/data/bitcoin-sv/base58_keys_valid.json +0 -452
  58. package/test/data/bitcoin-sv/script_tests.json +0 -2591
  59. package/test/data/bitcoin-sv/sighash.json +0 -1003
  60. package/test/data/bitcoin-sv/tx_invalid.json +0 -285
  61. package/test/data/bitcoin-sv/tx_valid.json +0 -367
  62. package/test/data/bitcoind/base58_keys_invalid.json +0 -152
  63. package/test/data/bitcoind/base58_keys_valid.json +0 -452
  64. package/test/data/bitcoind/blocks.json +0 -27
  65. package/test/data/bitcoind/script_tests.json +0 -2244
  66. package/test/data/bitcoind/sig_canonical.json +0 -7
  67. package/test/data/bitcoind/sig_noncanonical.json +0 -22
  68. package/test/data/bitcoind/tx_invalid.json +0 -177
  69. package/test/data/bitcoind/tx_valid.json +0 -224
  70. package/test/data/blk86756-testnet.dat +0 -0
  71. package/test/data/blk86756-testnet.js +0 -12
  72. package/test/data/blk86756-testnet.json +0 -684
  73. package/test/data/brc220-batch-vector.json +0 -129
  74. package/test/data/ecdsa.json +0 -230
  75. package/test/data/merkleblocks.js +0 -486
  76. package/test/data/messages.json +0 -22
  77. package/test/data/sighash.json +0 -1004
  78. package/test/data/tx_creation.json +0 -85
  79. package/test/didweb/relationships.js +0 -144
  80. package/test/ecies/bitcore-ecies.js +0 -178
  81. package/test/ecies/electrum-ecies.js +0 -206
  82. package/test/encoding/base58.js +0 -131
  83. package/test/encoding/base58check.js +0 -145
  84. package/test/encoding/bufferreader.js +0 -328
  85. package/test/encoding/bufferwriter.js +0 -160
  86. package/test/encoding/varint.js +0 -104
  87. package/test/gdaf/anchor_no_key_leak.js +0 -146
  88. package/test/gdaf/anchor_spv.js +0 -163
  89. package/test/gdaf/canonicalization.js +0 -106
  90. package/test/gdaf/canonicalize.js +0 -140
  91. package/test/gdaf/zk_prover.js +0 -204
  92. package/test/hdkeys.js +0 -365
  93. package/test/hdprivatekey.js +0 -339
  94. package/test/hdpublickey.js +0 -293
  95. package/test/index.js +0 -16
  96. package/test/ltp/ids.js +0 -74
  97. package/test/ltp/right.js +0 -198
  98. package/test/ltp/verify_failclosed.js +0 -134
  99. package/test/message/message.js +0 -190
  100. package/test/mnemonic/data/fixtures.json +0 -300
  101. package/test/mnemonic/mnemonic.js +0 -277
  102. package/test/mnemonic/mocha.opts +0 -1
  103. package/test/mnemonic/pbkdf2.test.js +0 -43
  104. package/test/networks.js +0 -207
  105. package/test/notaryhash/batch_leaf.js +0 -140
  106. package/test/notaryhash/batch_vector.js +0 -282
  107. package/test/notaryhash/certificate.js +0 -249
  108. package/test/notaryhash/encoding.js +0 -186
  109. package/test/notaryhash/interop.js +0 -112
  110. package/test/notaryhash/merkle.js +0 -181
  111. package/test/notaryhash/script.js +0 -270
  112. package/test/notaryhash/verify.js +0 -342
  113. package/test/opcode.js +0 -186
  114. package/test/ordinals/bsv20.js +0 -337
  115. package/test/ordinals/inscription.js +0 -329
  116. package/test/ordinals/ordlock.js +0 -567
  117. package/test/privatekey.js +0 -540
  118. package/test/publickey.js +0 -411
  119. package/test/regressions.js +0 -215
  120. package/test/script/chronicle.js +0 -543
  121. package/test/script/defaults.js +0 -160
  122. package/test/script/genesis_limits.js +0 -203
  123. package/test/script/interpreter.js +0 -776
  124. package/test/script/script.js +0 -1259
  125. package/test/script/string_ops.js +0 -88
  126. package/test/security/fail_closed_contracts.js +0 -104
  127. package/test/security/threat_model_coverage.js +0 -31
  128. package/test/smart_contract/covenants.js +0 -207
  129. package/test/smart_contract/dsl_debugger.js +0 -92
  130. package/test/smart_contract/extract_field.js +0 -61
  131. package/test/smart_contract/nonenforcing_guard.js +0 -44
  132. package/test/smart_contract/ordinal_transfer.js +0 -71
  133. package/test/smart_contract/preimage.js +0 -98
  134. package/test/smart_contract/sighash_marketplace.js +0 -98
  135. package/test/smart_contract/token_generalized.js +0 -175
  136. package/test/spv/headerchain.js +0 -86
  137. package/test/spv/merkleproof.js +0 -133
  138. package/test/statuslist/failclosed.js +0 -78
  139. package/test/transaction/deserialize.js +0 -33
  140. package/test/transaction/input/input.js +0 -92
  141. package/test/transaction/input/multisig.js +0 -174
  142. package/test/transaction/input/multisigscripthash.js +0 -111
  143. package/test/transaction/input/publickey.js +0 -68
  144. package/test/transaction/input/publickeyhash.js +0 -59
  145. package/test/transaction/output.js +0 -185
  146. package/test/transaction/sighash.js +0 -91
  147. package/test/transaction/signature.js +0 -127
  148. package/test/transaction/transaction.js +0 -1299
  149. package/test/transaction/unspentoutput.js +0 -97
  150. package/test/types/dts_drift.js +0 -124
  151. package/test/types/surface_honesty.js +0 -102
  152. package/test/util/id.js +0 -72
  153. package/test/util/js.js +0 -76
  154. package/test/util/preconditions.js +0 -79
  155. package/test/vcjwt/interop.js +0 -126
@@ -1,129 +0,0 @@
1
- {
2
- "_comment": "BRC-220 batch-mode golden vector. Generated by tools/gen-brc220-batch-vector.js; do not hand-edit. Every value is derived from the labelled preimages recorded on each proof, so the file is reproducible from scratch in any language. THE POINT OF THIS FILE: BRC-220 writes the batch leaf as SHA256(0x00 || d) and never says what d is. This vector fixes d = proofHash. The `rejectedReading` block records what the same five proofs produce under d = canonicalBytes — equally sound cryptographically, a different root, and therefore not interoperable. An implementation matching `rejectedReading.root` has made the other choice, which is exactly the confusion this vector exists to make visible. This is a conformance target produced by @smartledger/bsv, not external validation. The tree beneath it is externally anchored: the RFC 6962 construction is verified against the published Certificate Transparency roots in test/notaryhash/merkle.js. n = 5 deliberately: RFC 6962 splits at the largest power of two BELOW n, so this splits 4/1 (a midpoint split would give 2/3 and a different root), and the odd count exercises the rule that the last leaf is never duplicated.",
3
- "spec": "BRC-220",
4
- "tree": "RFC 6962",
5
- "leafDatum": "proofHash",
6
- "leafRule": "leaf = SHA-256(0x00 || proofHash); node = SHA-256(0x01 || left || right)",
7
- "leafCount": 5,
8
- "root": "abb53eb3b2e3530d51685c6813bb85c85892d2f214c2dc504029d071434ac074",
9
- "onChainRecordTail": {
10
- "_comment": "The batch record is \"NOTARYHASH\" | u8(1) | u8(2) | merkleRoot(32) | u32be(leafCount).",
11
- "merkleRoot": "abb53eb3b2e3530d51685c6813bb85c85892d2f214c2dc504029d071434ac074",
12
- "leafCountU32be": "00000005"
13
- },
14
- "rejectedReading": {
15
- "_comment": "What d = canonicalBytes yields over the SAME five proofs. Recorded so the divergence is checkable, not to endorse it.",
16
- "leafDatum": "canonicalBytes",
17
- "root": "4a59ade74941e4d6ca4b7c9f610e0a01a0c3f24cfa94efe816e53ef85f99e324"
18
- },
19
- "proofs": [
20
- {
21
- "leafIndex": 0,
22
- "keyPreimage": "BRC-220/batch-vector/key/0",
23
- "payloadPreimage": "BRC-220/batch-vector/payload/0",
24
- "algorithm": "ECDSA-secp256k1",
25
- "hashAlgorithm": "SHA-256",
26
- "encoding": "raw",
27
- "payloadHash": "c61d9c7e35b46dc1ceea30094e1a2809d45d16014fa70ccfc75fc4d6f672643b",
28
- "publicKey": "02ce29a831e3d359386c7f70ef7fd85a75d79168d546dd8a60a520df0e24c65ef3",
29
- "signature": "1026f99510a52863e43e3e5a57395c9838a3e44a768932d35b460a287630c24e3bc3b81e1bb2cb7c834f5be97936a6a49ff9eb7adaae7670e32d6bc3a5c067cf",
30
- "createdAt": "2026-01-01T00:00:00.000Z",
31
- "createdAtUnix": 1767225600,
32
- "canonicalBytes": "0000000e4e6f74617279486173682f312e30010000000f45434453412d736563703235366b31000000075348412d32353600000020c61d9c7e35b46dc1ceea30094e1a2809d45d16014fa70ccfc75fc4d6f672643b0000002102ce29a831e3d359386c7f70ef7fd85a75d79168d546dd8a60a520df0e24c65ef3000000401026f99510a52863e43e3e5a57395c9838a3e44a768932d35b460a287630c24e3bc3b81e1bb2cb7c834f5be97936a6a49ff9eb7adaae7670e32d6bc3a5c067cf000000006955b900",
33
- "proofHash": "83f3f73ebc5146b96cce1ee0b6ed4fd251a933a5332fbe5e5ab80da7920fe2c9",
34
- "leafHash": "27547ba238fba426b766979a4a46cd97578945cf450c113e45b487291cb56ba4",
35
- "leafHashUnderRejectedReading": "ab0ee539d3e08e07a6aac157af2d3df5da5f637c5c360fa158a00d14c6644f05",
36
- "path": [
37
- "7cd7c9b4bc74dcc5d586f7b04f1f7bdf025a15f7e173dba021c8ed7fd84acdbf",
38
- "15c4df48172c7607990059e0f646616f7e68a33f8f5e1a7b54a9fa5ee770bbb4",
39
- "8591a9b65f86529312b0eae212a95c15fd407f36cb8f4872a01bc0a64f13df83"
40
- ]
41
- },
42
- {
43
- "leafIndex": 1,
44
- "keyPreimage": "BRC-220/batch-vector/key/1",
45
- "payloadPreimage": "BRC-220/batch-vector/payload/1",
46
- "algorithm": "ECDSA-secp256k1",
47
- "hashAlgorithm": "SHA-256",
48
- "encoding": "raw",
49
- "payloadHash": "7509fe7fc39be0a6a6fc7350287f96a03911c8a3af188d8fb4b42f92957562a1",
50
- "publicKey": "02b3dfb7e2a167aa401547d93e1b684b6c9896b67d3aadb7d938cdb00040e64ce3",
51
- "signature": "1014debea11afb698d3fe0778bfd6390efdb28f8fe160eb4f382213f35641afd4a308a159d342a7507873fff587eaad5ae73eed047b1dbb27ee2b6b0924f6d60",
52
- "createdAt": "2026-01-02T00:00:00.000Z",
53
- "createdAtUnix": 1767312000,
54
- "canonicalBytes": "0000000e4e6f74617279486173682f312e30010000000f45434453412d736563703235366b31000000075348412d323536000000207509fe7fc39be0a6a6fc7350287f96a03911c8a3af188d8fb4b42f92957562a10000002102b3dfb7e2a167aa401547d93e1b684b6c9896b67d3aadb7d938cdb00040e64ce3000000401014debea11afb698d3fe0778bfd6390efdb28f8fe160eb4f382213f35641afd4a308a159d342a7507873fff587eaad5ae73eed047b1dbb27ee2b6b0924f6d600000000069570a80",
55
- "proofHash": "29fca10808a3653efbe38abd5f0b926aa09f13bff7847475139a422869729e77",
56
- "leafHash": "7cd7c9b4bc74dcc5d586f7b04f1f7bdf025a15f7e173dba021c8ed7fd84acdbf",
57
- "leafHashUnderRejectedReading": "320aeefe6077a6163d6d72bda3b54443bb973220ef94a448e7e8c9be787f1242",
58
- "path": [
59
- "27547ba238fba426b766979a4a46cd97578945cf450c113e45b487291cb56ba4",
60
- "15c4df48172c7607990059e0f646616f7e68a33f8f5e1a7b54a9fa5ee770bbb4",
61
- "8591a9b65f86529312b0eae212a95c15fd407f36cb8f4872a01bc0a64f13df83"
62
- ]
63
- },
64
- {
65
- "leafIndex": 2,
66
- "keyPreimage": "BRC-220/batch-vector/key/2",
67
- "payloadPreimage": "BRC-220/batch-vector/payload/2",
68
- "algorithm": "ECDSA-secp256k1",
69
- "hashAlgorithm": "SHA-256",
70
- "encoding": "raw",
71
- "payloadHash": "b09ac5900c811654d3c31b43ad6c65512f9baa6585b121bdc88f43b40cbc55a0",
72
- "publicKey": "02363ba0177d207ee13a23b63c9feb5c297e071c88c1d859312bf7cb46778b17f7",
73
- "signature": "726113d4d8dafbe8f03b89377ffad4a4086ee30450c3e03ea62ae30d26c216091147dbfb36fa6c6f7e7e59eeae21c9b379e8fd012c7f8b87ac4ff416981dff11",
74
- "createdAt": "2026-01-03T00:00:00.000Z",
75
- "createdAtUnix": 1767398400,
76
- "canonicalBytes": "0000000e4e6f74617279486173682f312e30010000000f45434453412d736563703235366b31000000075348412d32353600000020b09ac5900c811654d3c31b43ad6c65512f9baa6585b121bdc88f43b40cbc55a00000002102363ba0177d207ee13a23b63c9feb5c297e071c88c1d859312bf7cb46778b17f700000040726113d4d8dafbe8f03b89377ffad4a4086ee30450c3e03ea62ae30d26c216091147dbfb36fa6c6f7e7e59eeae21c9b379e8fd012c7f8b87ac4ff416981dff110000000069585c00",
77
- "proofHash": "3c44828bea3ca01dfcd5305a839ce02cc1e855f5a7c7028bb4931d42dea3aa2b",
78
- "leafHash": "9419bb538d2bb38e931ea45f2a6e83d38f99bf2679f6e31cd02145e68cda1d54",
79
- "leafHashUnderRejectedReading": "b6beedf0fd93c2d32fe08db38242ec737e9f03605c457f0910ab42ff0f7c2eed",
80
- "path": [
81
- "341883196d41f5956f6b87238f71018be2bfc6ced6676ba64f5b1b0369b199a5",
82
- "503a52c36f87e417987746db6964fbc21a177f034cc58639784e1e5b313cc7e4",
83
- "8591a9b65f86529312b0eae212a95c15fd407f36cb8f4872a01bc0a64f13df83"
84
- ]
85
- },
86
- {
87
- "leafIndex": 3,
88
- "keyPreimage": "BRC-220/batch-vector/key/3",
89
- "payloadPreimage": "BRC-220/batch-vector/payload/3",
90
- "algorithm": "ECDSA-secp256k1",
91
- "hashAlgorithm": "SHA-256",
92
- "encoding": "raw",
93
- "payloadHash": "158d3edf327c1994d7154f9271dadc5d96418b54713aafbbf9ad6c534bf3dbe2",
94
- "publicKey": "02927267de13d07285b06122293a72350376cc85060b00b8426c48e0cb2e39e2f9",
95
- "signature": "8c1625d984577226d3f229d83aa1b3025821d1ef076b890f21667c62f49508640eaeb5ac1bfc2250a0b475653a598fa5f69f28b7e23aad18986a6f4a468d490b",
96
- "createdAt": "2026-01-04T00:00:00.000Z",
97
- "createdAtUnix": 1767484800,
98
- "canonicalBytes": "0000000e4e6f74617279486173682f312e30010000000f45434453412d736563703235366b31000000075348412d32353600000020158d3edf327c1994d7154f9271dadc5d96418b54713aafbbf9ad6c534bf3dbe20000002102927267de13d07285b06122293a72350376cc85060b00b8426c48e0cb2e39e2f9000000408c1625d984577226d3f229d83aa1b3025821d1ef076b890f21667c62f49508640eaeb5ac1bfc2250a0b475653a598fa5f69f28b7e23aad18986a6f4a468d490b000000006959ad80",
99
- "proofHash": "0692e22da9b68634e5384bb012324c140c676d2301e078a67f17e335661a9565",
100
- "leafHash": "341883196d41f5956f6b87238f71018be2bfc6ced6676ba64f5b1b0369b199a5",
101
- "leafHashUnderRejectedReading": "ca8d122b3f396533867bbe79cc0b878a3ece675ef636622cb321843cfc2b0a6c",
102
- "path": [
103
- "9419bb538d2bb38e931ea45f2a6e83d38f99bf2679f6e31cd02145e68cda1d54",
104
- "503a52c36f87e417987746db6964fbc21a177f034cc58639784e1e5b313cc7e4",
105
- "8591a9b65f86529312b0eae212a95c15fd407f36cb8f4872a01bc0a64f13df83"
106
- ]
107
- },
108
- {
109
- "leafIndex": 4,
110
- "keyPreimage": "BRC-220/batch-vector/key/4",
111
- "payloadPreimage": "BRC-220/batch-vector/payload/4",
112
- "algorithm": "ECDSA-secp256k1",
113
- "hashAlgorithm": "SHA-256",
114
- "encoding": "raw",
115
- "payloadHash": "1c9be18eba3f6d45e49ba3cc651978d803c4a031e61e9c4ea0c5c4954d0fc7b8",
116
- "publicKey": "02497aeb1118e5fe44af0aade81945dc23b8c727433a9d76e2ec37e914ce0467cf",
117
- "signature": "c903ba5d61bdbd983168febeabba3997c8811a24cf4624f6952887f6dd50c9141d07a20abcb7e6822a1012f15c8b5df63d52d28b13cddf9efce451d2a020a953",
118
- "createdAt": "2026-01-05T00:00:00.000Z",
119
- "createdAtUnix": 1767571200,
120
- "canonicalBytes": "0000000e4e6f74617279486173682f312e30010000000f45434453412d736563703235366b31000000075348412d323536000000201c9be18eba3f6d45e49ba3cc651978d803c4a031e61e9c4ea0c5c4954d0fc7b80000002102497aeb1118e5fe44af0aade81945dc23b8c727433a9d76e2ec37e914ce0467cf00000040c903ba5d61bdbd983168febeabba3997c8811a24cf4624f6952887f6dd50c9141d07a20abcb7e6822a1012f15c8b5df63d52d28b13cddf9efce451d2a020a95300000000695aff00",
121
- "proofHash": "1a9c6bc1a6cf8319344ca8c30ca9e9eef8ab3df732748f6be2c824bb84ec0ca9",
122
- "leafHash": "8591a9b65f86529312b0eae212a95c15fd407f36cb8f4872a01bc0a64f13df83",
123
- "leafHashUnderRejectedReading": "40cfb9005011331c8cbb4524c27b04b3e62cbe525e07ec1dc443de25079b16d6",
124
- "path": [
125
- "060ca4e4bbcb647ab0162bb027cd8f08c1577aaa7069166dd629a3df7e57befd"
126
- ]
127
- }
128
- ]
129
- }
@@ -1,230 +0,0 @@
1
- {
2
- "valid": [
3
- {
4
- "d": "01",
5
- "k": "ec633bd56a5774a0940cb97e27a9e4e51dc94af737596a0c5cbb3d30332d92a5",
6
- "message": "Everything should be made as simple as possible, but not simpler.",
7
- "i": 0,
8
- "signature": {
9
- "r": "23362334225185207751494092901091441011938859014081160902781146257181456271561",
10
- "s": "50433721247292933944369538617440297985091596895097604618403996029256432099938"
11
- }
12
- },
13
- {
14
- "d": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
15
- "k": "9dc74cbfd383980fb4ae5d2680acddac9dac956dca65a28c80ac9c847c2374e4",
16
- "message": "Equations are more important to me, because politics is for the present, but an equation is something for eternity.",
17
- "i": 0,
18
- "signature": {
19
- "r": "38341707918488238920692284707283974715538935465589664377561695343399725051885",
20
- "s": "3180566392414476763164587487324397066658063772201694230600609996154610926757"
21
- }
22
- },
23
- {
24
- "d": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
25
- "k": "fd27071f01648ebbdd3e1cfbae48facc9fa97edc43bbbc9a7fdc28eae13296f5",
26
- "message": "Not only is the Universe stranger than we think, it is stranger than we can think.",
27
- "i": 0,
28
- "signature": {
29
- "r": "115464191557905790016094131873849783294273568009648050793030031933291767741904",
30
- "s": "50562520307781850052192542766631199590053690478900449960232079510155113443971"
31
- }
32
- },
33
- {
34
- "d": "0000000000000000000000000000000000000000000000000000000000000001",
35
- "k": "f0cd2ba5fc7c183de589f6416220a36775a146740798756d8d949f7166dcc87f",
36
- "message": "How wonderful that we have met with a paradox. Now we have some hope of making progress.",
37
- "i": 1,
38
- "signature": {
39
- "r": "87230998027579607140680851455601772643840468630989315269459846730712163783123",
40
- "s": "53231320085894623106179381504478252331065330583563809963303318469380290929875"
41
- }
42
- },
43
- {
44
- "d": "69ec59eaa1f4f2e36b639716b7c30ca86d9a5375c7b38d8918bd9c0ebc80ba64",
45
- "k": "6bb4a594ad57c1aa22dbe991a9d8501daf4688bf50a4892ef21bd7c711afda97",
46
- "message": "Computer science is no more about computers than astronomy is about telescopes.",
47
- "i": 0,
48
- "signature": {
49
- "r": "51348483531757779992459563033975330355971795607481991320287437101831125115997",
50
- "s": "6277080015686056199074771961940657638578000617958603212944619747099038735862"
51
- }
52
- },
53
- {
54
- "d": "00000000000000000000000000007246174ab1e92e9149c6e446fe194d072637",
55
- "k": "097b5c8ee22c3ea78a4d3635e0ff6fe85a1eb92ce317ded90b9e71aab2b861cb",
56
- "message": "...if you aren't, at any given time, scandalized by code you wrote five or even three years ago, you're not learning anywhere near enough",
57
- "i": 1,
58
- "signature": {
59
- "r": "113979859486826658566290715281614250298918272782414232881639314569529560769671",
60
- "s": "6517071009538626957379450615706485096874328019806177698938278220732027419959"
61
- }
62
- },
63
- {
64
- "d": "000000000000000000000000000000000000000000056916d0f9b31dc9b637f3",
65
- "k": "19355c36c8cbcdfb2382e23b194b79f8c97bf650040fc7728dfbf6b39a97c25b",
66
- "message": "The question of whether computers can think is like the question of whether submarines can swim.",
67
- "i": 1,
68
- "signature": {
69
- "r": "93122007060065279508564838030979550535085999589142852106617159184757394422777",
70
- "s": "3078539468410661027472930027406594684630312677495124015420811882501887769839"
71
- }
72
- }
73
- ],
74
- "invalid": {
75
- "sigError": [
76
- {
77
- "description": "The wrong signature",
78
- "exception": "Invalid signature",
79
- "d": "01",
80
- "message": "foo",
81
- "signature": {
82
- "r": "38341707918488238920692284707283974715538935465589664377561695343399725051885",
83
- "s": "3180566392414476763164587487324397066658063772201694230600609996154610926757"
84
- }
85
- },
86
- {
87
- "description": "Invalid r value (< 0)",
88
- "exception": "r and s not in range",
89
- "d": "01",
90
- "message": "foo",
91
- "signature": {
92
- "r": "-1",
93
- "s": "2"
94
- }
95
- },
96
- {
97
- "description": "Invalid r value (== 0)",
98
- "exception": "r and s not in range",
99
- "d": "01",
100
- "message": "foo",
101
- "signature": {
102
- "r": "0",
103
- "s": "2"
104
- }
105
- },
106
- {
107
- "description": "Invalid r value (>= n)",
108
- "exception": "r and s not in range",
109
- "d": "01",
110
- "message": "foo",
111
- "signature": {
112
- "r": "115792089237316195423570985008687907852837564279074904382605163141518161494337",
113
- "s": "2"
114
- }
115
- },
116
- {
117
- "description": "Invalid s value (< 0)",
118
- "exception": "r and s not in range",
119
- "d": "01",
120
- "message": "foo",
121
- "signature": {
122
- "r": "2",
123
- "s": "-1"
124
- }
125
- },
126
- {
127
- "description": "Invalid s value (== 0)",
128
- "exception": "r and s not in range",
129
- "d": "01",
130
- "message": "foo",
131
- "signature": {
132
- "r": "2",
133
- "s": "0"
134
- }
135
- },
136
- {
137
- "description": "Invalid s value (>= n)",
138
- "exception": "r and s not in range",
139
- "d": "01",
140
- "message": "foo",
141
- "signature": {
142
- "r": "2",
143
- "s": "115792089237316195423570985008687907852837564279074904382605163141518161494337"
144
- }
145
- },
146
- {
147
- "description": "Invalid r, s values (r = s = -n)",
148
- "exception": "r and s not in range",
149
- "d": "01",
150
- "message": "foo",
151
- "signature": {
152
- "r": "-115792089237316195423570985008687907852837564279074904382605163141518161494337",
153
- "s": "-115792089237316195423570985008687907852837564279074904382605163141518161494337"
154
- }
155
- }
156
- ]
157
- },
158
- "deterministicK": [
159
- {
160
- "message": "test data",
161
- "privkey": "fee0a1f7afebf9d2a5a80c0c98a31c709681cce195cbcd06342b517970c0be1e",
162
- "k_bad00": "fcce1de7a9bcd6b2d3defade6afa1913fb9229e3b7ddf4749b55c4848b2a196e",
163
- "k_bad01": "727fbcb59eb48b1d7d46f95a04991fc512eb9dbf9105628e3aec87428df28fd8",
164
- "k_bad15": "398f0e2c9f79728f7b3d84d447ac3a86d8b2083c8f234a0ffa9c4043d68bd258"
165
- },
166
- {
167
- "message": "Everything should be made as simple as possible, but not simpler.",
168
- "privkey": "0000000000000000000000000000000000000000000000000000000000000001",
169
- "k_bad00": "ec633bd56a5774a0940cb97e27a9e4e51dc94af737596a0c5cbb3d30332d92a5",
170
- "k_bad01": "df55b6d1b5c48184622b0ead41a0e02bfa5ac3ebdb4c34701454e80aabf36f56",
171
- "k_bad15": "def007a9a3c2f7c769c75da9d47f2af84075af95cadd1407393dc1e26086ef87"
172
- },
173
- {
174
- "message": "Satoshi Nakamoto",
175
- "privkey": "0000000000000000000000000000000000000000000000000000000000000002",
176
- "k_bad00": "d3edc1b8224e953f6ee05c8bbf7ae228f461030e47caf97cde91430b4607405e",
177
- "k_bad01": "f86d8e43c09a6a83953f0ab6d0af59fb7446b4660119902e9967067596b58374",
178
- "k_bad15": "241d1f57d6cfd2f73b1ada7907b199951f95ef5ad362b13aed84009656e0254a"
179
- },
180
- {
181
- "message": "Diffie Hellman",
182
- "privkey": "7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f",
183
- "k_bad00": "c378a41cb17dce12340788dd3503635f54f894c306d52f6e9bc4b8f18d27afcc",
184
- "k_bad01": "90756c96fef41152ac9abe08819c4e95f16da2af472880192c69a2b7bac29114",
185
- "k_bad15": "7b3f53300ab0ccd0f698f4d67db87c44cf3e9e513d9df61137256652b2e94e7c"
186
- },
187
- {
188
- "message": "Japan",
189
- "privkey": "8080808080808080808080808080808080808080808080808080808080808080",
190
- "k_bad00": "f471e61b51d2d8db78f3dae19d973616f57cdc54caaa81c269394b8c34edcf59",
191
- "k_bad01": "6819d85b9730acc876fdf59e162bf309e9f63dd35550edf20869d23c2f3e6d17",
192
- "k_bad15": "d8e8bae3ee330a198d1f5e00ad7c5f9ed7c24c357c0a004322abca5d9cd17847"
193
- },
194
- {
195
- "message": "Bitcoin",
196
- "privkey": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
197
- "k_bad00": "36c848ffb2cbecc5422c33a994955b807665317c1ce2a0f59c689321aaa631cc",
198
- "k_bad01": "4ed8de1ec952a4f5b3bd79d1ff96446bcd45cabb00fc6ca127183e14671bcb85",
199
- "k_bad15": "56b6f47babc1662c011d3b1f93aa51a6e9b5f6512e9f2e16821a238d450a31f8"
200
- },
201
- {
202
- "message": "i2FLPP8WEus5WPjpoHwheXOMSobUJVaZM1JPMQZq",
203
- "privkey": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
204
- "k_bad00": "6e9b434fcc6bbb081a0463c094356b47d62d7efae7da9c518ed7bac23f4e2ed6",
205
- "k_bad01": "ae5323ae338d6117ce8520a43b92eacd2ea1312ae514d53d8e34010154c593bb",
206
- "k_bad15": "3eaa1b61d1b8ab2f1ca71219c399f2b8b3defa624719f1e96fe3957628c2c4ea"
207
- },
208
- {
209
- "message": "lEE55EJNP7aLrMtjkeJKKux4Yg0E8E1SAJnWTCEh",
210
- "privkey": "3881e5286abc580bb6139fe8e83d7c8271c6fe5e5c2d640c1f0ed0e1ee37edc9",
211
- "k_bad00": "5b606665a16da29cc1c5411d744ab554640479dd8abd3c04ff23bd6b302e7034",
212
- "k_bad01": "f8b25263152c042807c992eacd2ac2cc5790d1e9957c394f77ea368e3d9923bd",
213
- "k_bad15": "ea624578f7e7964ac1d84adb5b5087dd14f0ee78b49072aa19051cc15dab6f33"
214
- },
215
- {
216
- "message": "2SaVPvhxkAPrayIVKcsoQO5DKA8Uv5X/esZFlf+y",
217
- "privkey": "7259dff07922de7f9c4c5720d68c9745e230b32508c497dd24cb95ef18856631",
218
- "k_bad00": "3ab6c19ab5d3aea6aa0c6da37516b1d6e28e3985019b3adb388714e8f536686b",
219
- "k_bad01": "19af21b05004b0ce9cdca82458a371a9d2cf0dc35a813108c557b551c08eb52e",
220
- "k_bad15": "117a32665fca1b7137a91c4739ac5719fec0cf2e146f40f8e7c21b45a07ebc6a"
221
- },
222
- {
223
- "message": "00A0OwO2THi7j5Z/jp0FmN6nn7N/DQd6eBnCS+/b",
224
- "privkey": "0d6ea45d62b334777d6995052965c795a4f8506044b4fd7dc59c15656a28f7aa",
225
- "k_bad00": "79487de0c8799158294d94c0eb92ee4b567e4dc7ca18addc86e49d31ce1d2db6",
226
- "k_bad01": "9561d2401164a48a8f600882753b3105ebdd35e2358f4f808c4f549c91490009",
227
- "k_bad15": "b0d273634129ff4dbdf0df317d4062a1dbc58818f88878ffdb4ec511c77976c0"
228
- }
229
- ]
230
- }