smartledger-bsv 3.3.5 → 3.4.4

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 (126) hide show
  1. package/CHANGELOG.md +400 -0
  2. package/README.md +235 -80
  3. package/SECURITY.md +88 -0
  4. package/anchor-entry.js +1 -0
  5. package/bin/cli.js +354 -0
  6. package/bsv-anchor.min.js +12 -0
  7. package/bsv-covenant.min.js +8 -8
  8. package/bsv-didweb.min.js +12 -0
  9. package/bsv-gdaf.min.js +9 -9
  10. package/bsv-ltp.min.js +9 -9
  11. package/bsv-mnemonic.min.js +2 -2
  12. package/bsv-shamir.min.js +3 -3
  13. package/bsv-smartcontract.min.js +9 -9
  14. package/bsv-statuslist.min.js +18 -0
  15. package/bsv-vcjwt.min.js +12 -0
  16. package/bsv.bundle.js +9 -9
  17. package/bsv.d.ts +486 -9
  18. package/bsv.min.js +8 -8
  19. package/build/webpack.anchor.config.js +17 -0
  20. package/build/webpack.didweb.config.js +17 -0
  21. package/build/webpack.statuslist.config.js +17 -0
  22. package/build/webpack.vcjwt.config.js +17 -0
  23. package/didweb-entry.js +1 -0
  24. package/docs/COVENANT_DEVELOPMENT_RESOLVED.md +2 -2
  25. package/docs/MODULE_REFERENCE_COMPLETE.md +61 -58
  26. package/docs/advanced/LEGAL_TOKEN_PROTOCOL.md +3 -3
  27. package/docs/advanced/UTXO_MANAGER_GUIDE.md +1 -1
  28. package/docs/getting-started/INSTALLATION.md +30 -30
  29. package/docs/getting-started/QUICK_START.md +18 -18
  30. package/docs/migration/FROM_BSV_1_5_6.md +16 -10
  31. package/docs/technical/roadmap.md +3 -3
  32. package/gdaf-entry.js +1 -2
  33. package/index.js +68 -9
  34. package/lib/anchor/index.js +102 -0
  35. package/lib/browser-utxo-manager-es5.js +11 -4
  36. package/lib/browser-utxo-manager.js +15 -8
  37. package/lib/didweb/index.js +177 -0
  38. package/lib/ltp/claim.js +1 -0
  39. package/lib/ltp/obligation.js +1 -0
  40. package/lib/ltp/registry.js +2 -0
  41. package/lib/ltp/right.js +1 -0
  42. package/lib/smart_contract/covenant.js +10 -1
  43. package/lib/smartutxo.js +20 -12
  44. package/lib/statuslist/index.js +164 -0
  45. package/lib/transaction/transaction.js +8 -1
  46. package/lib/util/_.js +7 -1
  47. package/lib/vcjwt/index.js +189 -0
  48. package/ltp-entry.js +1 -2
  49. package/package.json +21 -15
  50. package/statuslist-entry.js +1 -0
  51. package/utilities/blockchain-state.js +32 -23
  52. package/vcjwt-entry.js +1 -0
  53. package/demos/README.md +0 -188
  54. package/demos/architecture_demo.js +0 -247
  55. package/demos/browser-test.html +0 -1208
  56. package/demos/bsv_wallet_demo.js +0 -242
  57. package/demos/complete_ltp_demo.js +0 -511
  58. package/demos/debug_tools_demo.js +0 -87
  59. package/demos/demo_features.js +0 -123
  60. package/demos/easy_interface_demo.js +0 -109
  61. package/demos/ecies_demo.js +0 -182
  62. package/demos/gdaf_core_test.js +0 -131
  63. package/demos/gdaf_demo.js +0 -237
  64. package/demos/ltp_demo.js +0 -361
  65. package/demos/ltp_primitives_demo.js +0 -403
  66. package/demos/message_demo.js +0 -209
  67. package/demos/preimage_separation_demo.js +0 -383
  68. package/demos/script_helper_demo.js +0 -289
  69. package/demos/security_demo.js +0 -287
  70. package/demos/shamir_demo.js +0 -121
  71. package/demos/simple_demo.js +0 -204
  72. package/demos/simple_p2pkh_demo.js +0 -169
  73. package/demos/simple_utxo_preimage_demo.js +0 -196
  74. package/demos/smart_contract_demo.html +0 -1347
  75. package/demos/smart_contract_demo.js +0 -910
  76. package/demos/utxo_generator_demo.js +0 -244
  77. package/demos/validation_pipeline_demo.js +0 -155
  78. package/demos/web3keys.html +0 -740
  79. package/examples/README.md +0 -200
  80. package/examples/basic/transaction-creation.js +0 -534
  81. package/examples/basic/transaction_signature_api_gap.js +0 -178
  82. package/examples/complete_workflow_demo.js +0 -783
  83. package/examples/covenants/advanced_covenant_demo.js +0 -219
  84. package/examples/covenants/covenant_interface_demo.js +0 -270
  85. package/examples/covenants/covenant_manual_signature_resolved.js +0 -212
  86. package/examples/covenants/covenant_signature_template.js +0 -117
  87. package/examples/covenants2/covenant_bidirectional_example.js +0 -262
  88. package/examples/covenants2/covenant_utils_demo.js +0 -120
  89. package/examples/covenants2/preimage_covenant_utils.js +0 -287
  90. package/examples/covenants2/production_integration.js +0 -256
  91. package/examples/data/covenant_utxos.json +0 -28
  92. package/examples/data/utxos.json +0 -26
  93. package/examples/definitive_working_demo.js +0 -261
  94. package/examples/final_working_contracts.js +0 -338
  95. package/examples/preimage/README.md +0 -178
  96. package/examples/preimage/extract_preimage_bidirectional.js +0 -421
  97. package/examples/preimage/generate_sample_preimage.js +0 -208
  98. package/examples/preimage/generate_sighash_examples.js +0 -152
  99. package/examples/preimage/parse_preimage.js +0 -117
  100. package/examples/preimage/test_preimage_extractor.js +0 -53
  101. package/examples/preimage/test_varint_extraction.js +0 -95
  102. package/examples/scripts/custom_script_helper_example.js +0 -273
  103. package/examples/scripts/custom_script_signature_test.js +0 -344
  104. package/examples/scripts/script_interpreter.js +0 -193
  105. package/examples/smart_contract/complete_workflow_demo.js +0 -343
  106. package/examples/smart_contract/covenant_builder_demo.js +0 -176
  107. package/examples/smart_contract/script_testing_integration.js +0 -198
  108. package/examples/smart_contract_templates.js +0 -718
  109. package/examples/working_smart_contracts.js +0 -348
  110. package/lib/smart_contract/test_integration.js +0 -269
  111. package/tests/browser-compatibility/README.md +0 -35
  112. package/tests/browser-compatibility/test-cdn-vs-local.html +0 -186
  113. package/tests/browser-compatibility/test-pbkdf2.html +0 -51
  114. package/tests/bundle-completeness-test.html +0 -131
  115. package/tests/bundle-demo.html +0 -476
  116. package/tests/smartcontract-test.html +0 -239
  117. package/tests/standalone-modules-test.html +0 -260
  118. package/tests/test.html +0 -612
  119. package/tests/test_builtin_verify.js +0 -117
  120. package/tests/test_debug_integration.js +0 -71
  121. package/tests/test_ecdsa_little.js +0 -70
  122. package/tests/test_shamir.js +0 -221
  123. package/tests/test_smartverify_der.js +0 -110
  124. package/tests/test_standalone_shamir.html +0 -83
  125. package/tests/unpkg-demo.html +0 -194
  126. package/utilities/blockchain-state.json +0 -118565
@@ -1,194 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>SmartLedger BSV - unpkg CDN Demo</title>
7
- <style>
8
- body {
9
- font-family: Arial, sans-serif;
10
- max-width: 800px;
11
- margin: 0 auto;
12
- padding: 20px;
13
- background: #f5f5f5;
14
- }
15
- .demo-section {
16
- background: white;
17
- padding: 20px;
18
- margin: 20px 0;
19
- border-radius: 8px;
20
- box-shadow: 0 2px 4px rgba(0,0,0,0.1);
21
- }
22
- h1 { color: #6B46C1; }
23
- h2 { color: #4C1D95; }
24
- .result {
25
- background: #f8f9fa;
26
- padding: 10px;
27
- border-left: 4px solid #6B46C1;
28
- margin: 10px 0;
29
- font-family: monospace;
30
- }
31
- .button {
32
- background: #6B46C1;
33
- color: white;
34
- border: none;
35
- padding: 10px 20px;
36
- border-radius: 4px;
37
- cursor: pointer;
38
- margin: 5px;
39
- }
40
- .button:hover { background: #4C1D95; }
41
- </style>
42
- </head>
43
- <body>
44
- <h1>🚀 SmartLedger BSV v3.0 - unpkg CDN Demo</h1>
45
-
46
- <div class="demo-section">
47
- <h2>📦 Loaded from unpkg CDN</h2>
48
- <p>This page demonstrates SmartLedger BSV loaded directly from unpkg:</p>
49
- <div class="result">
50
- <strong>CDN URL:</strong> https://unpkg.com/smartledger-bsv@3.0.0/bsv.min.js<br>
51
- <strong>Package:</strong> smartledger-bsv@3.0.0<br>
52
- <strong>Size:</strong> ~349KB (minified)
53
- </div>
54
- </div>
55
-
56
- <div class="demo-section">
57
- <h2>🔐 Security Information</h2>
58
- <div id="security-info" class="result">Loading...</div>
59
- </div>
60
-
61
- <div class="demo-section">
62
- <h2>🔑 Generate Bitcoin SV Keys</h2>
63
- <button class="button" onclick="generateKeys()">Generate New Keys</button>
64
- <div id="key-results" class="result">Click button to generate keys...</div>
65
- </div>
66
-
67
- <div class="demo-section">
68
- <h2>💬 Message Signing (Requires Message Module)</h2>
69
- <button class="button" onclick="loadMessageModule()">Load Message Module</button>
70
- <button class="button" onclick="signMessage()">Sign Message</button>
71
- <div id="message-results" class="result">Load message module first...</div>
72
- </div>
73
-
74
- <div class="demo-section">
75
- <h2>🎲 HD Wallet & Mnemonic (Requires Mnemonic Module)</h2>
76
- <button class="button" onclick="loadMnemonicModule()">Load Mnemonic Module</button>
77
- <button class="button" onclick="generateMnemonic()">Generate Mnemonic</button>
78
- <div id="mnemonic-results" class="result">Load mnemonic module first...</div>
79
- </div>
80
-
81
- <!-- Main BSV library from unpkg -->
82
- <script src="https://unpkg.com/smartledger-bsv@3.0.0/bsv.min.js"></script>
83
-
84
- <script>
85
- // Display security information
86
- function showSecurityInfo() {
87
- const info = document.getElementById('security-info');
88
- info.innerHTML = `
89
- <strong>Library:</strong> ${bsv.hardenedBy} BSV ${bsv.version}<br>
90
- <strong>Base Version:</strong> ${bsv.baseVersion}<br>
91
- <strong>Security Features:</strong> ${bsv.securityFeatures.join(', ')}<br>
92
- <strong>Hardened:</strong> ${bsv.isHardened ? 'Yes' : 'No'}<br>
93
- <strong>SmartLedger Available:</strong> ${bsv.SmartLedger ? 'Yes' : 'No'}
94
- `;
95
- }
96
-
97
- // Generate BSV keys
98
- function generateKeys() {
99
- try {
100
- const privateKey = new bsv.PrivateKey();
101
- const publicKey = privateKey.toPublicKey();
102
- const address = privateKey.toAddress();
103
-
104
- document.getElementById('key-results').innerHTML = `
105
- <strong>Private Key:</strong> ${privateKey.toString()}<br>
106
- <strong>Public Key:</strong> ${publicKey.toString()}<br>
107
- <strong>Address:</strong> ${address.toString()}<br>
108
- <strong>Network:</strong> ${address.network.name}
109
- `;
110
- } catch (error) {
111
- document.getElementById('key-results').innerHTML = `Error: ${error.message}`;
112
- }
113
- }
114
-
115
- // Load message module dynamically
116
- function loadMessageModule() {
117
- const script = document.createElement('script');
118
- script.src = 'https://unpkg.com/smartledger-bsv@3.0.0/bsv-message.min.js';
119
- script.onload = () => {
120
- document.getElementById('message-results').innerHTML = 'Message module loaded! Click "Sign Message" to test.';
121
- };
122
- script.onerror = () => {
123
- document.getElementById('message-results').innerHTML = 'Failed to load message module.';
124
- };
125
- document.head.appendChild(script);
126
- }
127
-
128
- // Sign a message
129
- function signMessage() {
130
- try {
131
- if (typeof bsvMessage === 'undefined') {
132
- document.getElementById('message-results').innerHTML = 'Message module not loaded yet.';
133
- return;
134
- }
135
-
136
- const privateKey = new bsv.PrivateKey();
137
- const message = new bsvMessage('Hello SmartLedger BSV from unpkg!');
138
- const signature = message.sign(privateKey);
139
-
140
- document.getElementById('message-results').innerHTML = `
141
- <strong>Message:</strong> "Hello SmartLedger BSV from unpkg!"<br>
142
- <strong>Signature:</strong> ${signature}<br>
143
- <strong>Address:</strong> ${privateKey.toAddress().toString()}<br>
144
- <strong>Verified:</strong> ${message.verify(privateKey.toAddress(), signature) ? 'Yes' : 'No'}
145
- `;
146
- } catch (error) {
147
- document.getElementById('message-results').innerHTML = `Error: ${error.message}`;
148
- }
149
- }
150
-
151
- // Load mnemonic module dynamically
152
- function loadMnemonicModule() {
153
- const script = document.createElement('script');
154
- script.src = 'https://unpkg.com/smartledger-bsv@3.0.0/bsv-mnemonic.min.js';
155
- script.onload = () => {
156
- document.getElementById('mnemonic-results').innerHTML = 'Mnemonic module loaded! Click "Generate Mnemonic" to test.';
157
- };
158
- script.onerror = () => {
159
- document.getElementById('mnemonic-results').innerHTML = 'Failed to load mnemonic module.';
160
- };
161
- document.head.appendChild(script);
162
- }
163
-
164
- // Generate mnemonic
165
- function generateMnemonic() {
166
- try {
167
- if (typeof bsvMnemonic === 'undefined') {
168
- document.getElementById('mnemonic-results').innerHTML = 'Mnemonic module not loaded yet.';
169
- return;
170
- }
171
-
172
- const mnemonic = new bsvMnemonic();
173
- const hdPrivateKey = mnemonic.toHDPrivateKey();
174
- const firstAddress = hdPrivateKey.deriveChild(0).privateKey.toAddress();
175
-
176
- document.getElementById('mnemonic-results').innerHTML = `
177
- <strong>Mnemonic:</strong> ${mnemonic.toString()}<br>
178
- <strong>Word Count:</strong> ${mnemonic.toString().split(' ').length}<br>
179
- <strong>HD Master Key:</strong> ${hdPrivateKey.toString().substring(0, 50)}...<br>
180
- <strong>First Address:</strong> ${firstAddress.toString()}
181
- `;
182
- } catch (error) {
183
- document.getElementById('mnemonic-results').innerHTML = `Error: ${error.message}`;
184
- }
185
- }
186
-
187
- // Initialize on page load
188
- window.addEventListener('load', () => {
189
- showSecurityInfo();
190
- console.log('SmartLedger BSV loaded from unpkg:', bsv);
191
- });
192
- </script>
193
- </body>
194
- </html>