@btc-vision/transaction 1.7.25 → 1.7.27
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/browser/_version.d.ts +1 -1
- package/browser/btc-vision-bitcoin.js +2326 -1928
- package/browser/index.js +456 -443
- package/browser/noble-curves.js +1045 -1016
- package/browser/noble-hashes.js +841 -776
- package/browser/vendors.js +11416 -15797
- package/build/_version.d.ts +1 -1
- package/build/_version.js +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/_version.ts +1 -1
- package/src/crypto/crypto-browser.js +9 -16
- package/vite.config.browser.ts +30 -29
- package/browser/bip39.js +0 -204
- package/browser/bitcoin-utils.js +0 -3172
- package/browser/btc-vision-bip32.js +0 -805
- package/browser/btc-vision-logger.js +0 -86
- package/browser/btc-vision-post-quantum.js +0 -542
- package/browser/polyfills.js +0 -4952
- package/browser/scure-base.js +0 -410
- package/cjs/package.json +0 -3
- package/webpack.config.js +0 -220
package/vite.config.browser.ts
CHANGED
|
@@ -1,8 +1,30 @@
|
|
|
1
1
|
import { resolve } from 'path';
|
|
2
|
-
import { defineConfig } from 'vite';
|
|
2
|
+
import { defineConfig, Plugin } from 'vite';
|
|
3
3
|
import { nodePolyfills } from 'vite-plugin-node-polyfills';
|
|
4
4
|
import dts from 'vite-plugin-dts';
|
|
5
5
|
|
|
6
|
+
// Strip unused bip39 wordlists (keep only English) - saves ~150KB
|
|
7
|
+
function stripBip39Wordlists(): Plugin {
|
|
8
|
+
return {
|
|
9
|
+
name: 'strip-bip39-wordlists',
|
|
10
|
+
resolveId(source, importer) {
|
|
11
|
+
// Match ./wordlists/*.json except english.json
|
|
12
|
+
if (importer?.includes('bip39') &&
|
|
13
|
+
source.includes('/wordlists/') &&
|
|
14
|
+
!source.includes('english')) {
|
|
15
|
+
return { id: 'empty-wordlist', external: false };
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
},
|
|
19
|
+
load(id) {
|
|
20
|
+
if (id === 'empty-wordlist') {
|
|
21
|
+
return 'export default []';
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
6
28
|
export default defineConfig({
|
|
7
29
|
build: {
|
|
8
30
|
outDir: 'browser',
|
|
@@ -18,39 +40,17 @@ export default defineConfig({
|
|
|
18
40
|
output: {
|
|
19
41
|
chunkFileNames: '[name].js',
|
|
20
42
|
manualChunks: (id) => {
|
|
21
|
-
// BTC Vision packages
|
|
43
|
+
// BTC Vision packages - keep bitcoin separate as it's large and isolated
|
|
22
44
|
if (id.includes('@btc-vision/bitcoin') || id.includes('/bitcoin/build/') || id.includes('/bitcoin/src/')) {
|
|
23
45
|
return 'btc-vision-bitcoin';
|
|
24
46
|
}
|
|
25
|
-
if (id.includes('@btc-vision/bip32') || id.includes('/bip32/src/')) {
|
|
26
|
-
return 'btc-vision-bip32';
|
|
27
|
-
}
|
|
28
47
|
if (id.includes('node_modules')) {
|
|
29
|
-
// Noble crypto
|
|
48
|
+
// Noble crypto - isolated, no circular deps
|
|
30
49
|
if (id.includes('@noble/curves')) return 'noble-curves';
|
|
31
50
|
if (id.includes('@noble/hashes')) return 'noble-hashes';
|
|
32
|
-
//
|
|
33
|
-
if (id.includes('@btc-vision/post-quantum')) return 'btc-vision-post-quantum';
|
|
34
|
-
if (id.includes('@btc-vision/logger')) return 'btc-vision-logger';
|
|
35
|
-
// Bitcoin utilities
|
|
36
|
-
if (id.includes('bip39')) return 'bip39';
|
|
37
|
-
if (id.includes('ecpair') || id.includes('@bitcoinerlab/secp256k1') ||
|
|
38
|
-
id.includes('bech32') || id.includes('bip174') || id.includes('bs58') ||
|
|
39
|
-
id.includes('typeforce') || id.includes('varuint')) {
|
|
40
|
-
return 'bitcoin-utils';
|
|
41
|
-
}
|
|
42
|
-
// Validation
|
|
51
|
+
// Validation - isolated
|
|
43
52
|
if (id.includes('valibot')) return 'valibot';
|
|
44
|
-
//
|
|
45
|
-
if (id.includes('@scure/')) return 'scure-base';
|
|
46
|
-
// Polyfills
|
|
47
|
-
if (id.includes('buffer/') || id.includes('process/') || id.includes('stream-browserify') ||
|
|
48
|
-
id.includes('readable-stream') || id.includes('safe-buffer') || id.includes('events/') ||
|
|
49
|
-
id.includes('util/') || id.includes('inherits') || id.includes('ieee754') ||
|
|
50
|
-
id.includes('base64-js') || id.includes('string_decoder')) {
|
|
51
|
-
return 'polyfills';
|
|
52
|
-
}
|
|
53
|
-
// Other vendors
|
|
53
|
+
// Everything else in vendors to avoid circular deps
|
|
54
54
|
return 'vendors';
|
|
55
55
|
}
|
|
56
56
|
},
|
|
@@ -75,14 +75,15 @@ export default defineConfig({
|
|
|
75
75
|
global: 'globalThis',
|
|
76
76
|
},
|
|
77
77
|
plugins: [
|
|
78
|
+
stripBip39Wordlists(),
|
|
78
79
|
nodePolyfills({
|
|
79
80
|
globals: {
|
|
80
81
|
Buffer: true,
|
|
81
82
|
global: true,
|
|
82
83
|
process: true,
|
|
83
84
|
},
|
|
84
|
-
// Exclude heavy polyfills we don't need (zlib, vm handled via aliases)
|
|
85
|
-
exclude: ['fs', 'path', 'os', 'http', 'https', 'net', 'tls', 'dns', 'child_process', 'cluster', 'dgram', 'readline', 'repl', 'tty', 'worker_threads', 'perf_hooks', 'inspector', 'async_hooks', 'trace_events', 'v8', 'wasi'],
|
|
85
|
+
// Exclude heavy polyfills we don't need (crypto, zlib, vm handled via aliases)
|
|
86
|
+
exclude: ['crypto', 'fs', 'path', 'os', 'http', 'https', 'net', 'tls', 'dns', 'child_process', 'cluster', 'dgram', 'readline', 'repl', 'tty', 'worker_threads', 'perf_hooks', 'inspector', 'async_hooks', 'trace_events', 'v8', 'wasi', 'zlib', 'vm'],
|
|
86
87
|
}),
|
|
87
88
|
dts({
|
|
88
89
|
outDir: 'browser',
|