@btc-vision/bitcoin 6.4.9 → 6.4.11
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/.babelrc +4 -4
- package/.mocharc.json +13 -13
- package/.prettierrc.json +12 -12
- package/CHANGELOG.md +403 -403
- package/CONTRIBUTING.md +83 -83
- package/LICENSE +21 -21
- package/README.md +201 -201
- package/browser/index.d.ts +1 -1
- package/browser/index.js +1 -1
- package/browser/{ops.d.ts → opcodes.d.ts} +2 -3
- package/browser/script.d.ts +2 -2
- package/build/address.js +2 -1
- package/build/index.d.ts +1 -1
- package/build/index.js +1 -1
- package/build/{ops.d.ts → opcodes.d.ts} +2 -3
- package/build/{ops.js → opcodes.js} +4 -5
- package/build/payments/embed.js +1 -1
- package/build/payments/p2ms.js +1 -1
- package/build/payments/p2op.js +1 -1
- package/build/payments/p2pk.js +1 -1
- package/build/payments/p2pkh.js +1 -1
- package/build/payments/p2sh.js +3 -3
- package/build/payments/p2tr.js +1 -1
- package/build/payments/p2wpkh.js +2 -2
- package/build/payments/p2wsh.js +2 -2
- package/build/push_data.js +9 -9
- package/build/script.d.ts +2 -2
- package/build/script.js +12 -12
- package/build/transaction.js +1 -1
- package/cjs/package.json +3 -3
- package/gulpfile.js +42 -42
- package/package.json +150 -150
- package/src/address.ts +304 -303
- package/src/bip66.ts +107 -107
- package/src/block.ts +233 -233
- package/src/bufferutils.ts +188 -188
- package/src/crypto.ts +108 -108
- package/src/ecc_lib.ts +94 -94
- package/src/hooks/AdvancedSignatureManager.ts +104 -104
- package/src/hooks/SignatureManager.ts +84 -84
- package/src/index.ts +105 -105
- package/src/merkle.ts +31 -31
- package/src/{ops.ts → opcodes.ts} +280 -282
- package/src/payments/bip341.ts +140 -140
- package/src/payments/embed.ts +61 -61
- package/src/payments/index.ts +172 -172
- package/src/payments/lazy.ts +28 -28
- package/src/payments/p2ms.ts +156 -156
- package/src/payments/p2op.ts +195 -195
- package/src/payments/p2pk.ts +93 -93
- package/src/payments/p2pkh.ts +214 -214
- package/src/payments/p2sh.ts +210 -210
- package/src/payments/p2tr.ts +309 -309
- package/src/payments/p2wpkh.ts +144 -144
- package/src/payments/p2wsh.ts +217 -217
- package/src/psbt/bip371.ts +441 -441
- package/src/push_data.ts +97 -97
- package/src/script.ts +247 -247
- package/src/script_number.ts +72 -72
- package/src/script_signature.ts +91 -91
- package/src/transaction.ts +656 -656
- package/test/address.spec.ts +155 -155
- package/test/bitcoin.core.spec.ts +212 -212
- package/test/block.spec.ts +171 -171
- package/test/bufferutils.spec.ts +450 -450
- package/test/crypto.spec.ts +49 -49
- package/test/fixtures/address.json +329 -329
- package/test/fixtures/block.json +148 -148
- package/test/fixtures/bufferutils.json +102 -102
- package/test/fixtures/core/README.md +26 -26
- package/test/fixtures/core/base58_encode_decode.json +50 -50
- package/test/fixtures/core/base58_keys_invalid.json +152 -152
- package/test/fixtures/core/base58_keys_valid.json +452 -452
- package/test/fixtures/core/blocks.json +27 -27
- package/test/fixtures/core/sig_canonical.json +7 -7
- package/test/fixtures/core/sig_noncanonical.json +33 -33
- package/test/fixtures/core/sighash.json +3505 -3505
- package/test/fixtures/core/tx_valid.json +2023 -2023
- package/test/fixtures/crypto.json +43 -43
- package/test/fixtures/ecdsa.json +217 -217
- package/test/fixtures/ecpair.json +141 -141
- package/test/fixtures/embed.json +108 -108
- package/test/fixtures/p2ms.json +434 -434
- package/test/fixtures/p2pk.json +179 -179
- package/test/fixtures/p2pkh.json +276 -276
- package/test/fixtures/p2sh.json +508 -508
- package/test/fixtures/p2tr.json +1198 -1198
- package/test/fixtures/p2wpkh.json +290 -290
- package/test/fixtures/p2wsh.json +489 -489
- package/test/fixtures/psbt.json +924 -924
- package/test/fixtures/script.json +465 -465
- package/test/fixtures/script_number.json +225 -225
- package/test/fixtures/signature.json +140 -140
- package/test/fixtures/transaction.json +916 -916
- package/test/integration/_regtest.ts +6 -6
- package/test/integration/addresses.spec.ts +142 -142
- package/test/integration/bip32.spec.ts +130 -130
- package/test/integration/blocks.spec.ts +28 -28
- package/test/integration/cltv.spec.ts +241 -241
- package/test/integration/csv.spec.ts +452 -452
- package/test/integration/payments.spec.ts +110 -110
- package/test/integration/taproot.spec.ts +663 -663
- package/test/integration/transactions.spec.ts +668 -668
- package/test/payments.spec.ts +114 -114
- package/test/payments.utils.ts +165 -165
- package/test/psbt.spec.ts +1285 -1285
- package/test/script.spec.ts +186 -186
- package/test/script_number.spec.ts +26 -26
- package/test/script_signature.spec.ts +66 -66
- package/test/transaction.spec.ts +337 -337
- package/test/ts-node-register.js +7 -7
- package/test/tsconfig.json +48 -48
- package/test/types.spec.ts +53 -53
- package/tsconfig.base.json +27 -27
- package/tsconfig.json +19 -19
- package/tsconfig.webpack.json +18 -18
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/.ready +0 -0
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/.release-please-manifest.json +0 -3
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/CHANGELOG.md +0 -962
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/CONTRIBUTING.md +0 -34
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/LICENSE +0 -24
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/README.md +0 -273
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/SECURITY.md +0 -2
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/addon.gypi +0 -204
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/bin/node-gyp.js +0 -138
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/.release-please-manifest.json +0 -3
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/LICENSE +0 -28
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/data/ninja/build.ninja +0 -4
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +0 -12
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/GypVsCMake.md +0 -116
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/Hacking.md +0 -46
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/InputFormatReference.md +0 -1080
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/LanguageSpecification.md +0 -430
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/README.md +0 -27
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/Testing.md +0 -450
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/docs/UserDocumentation.md +0 -965
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/gyp +0 -8
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/gyp.bat +0 -5
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/gyp_main.py +0 -45
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +0 -365
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +0 -206
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +0 -1272
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +0 -1547
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +0 -59
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +0 -153
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +0 -271
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +0 -574
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +0 -692
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/common.py +0 -711
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +0 -171
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +0 -169
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +0 -113
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +0 -55
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +0 -804
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +0 -1173
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +0 -1318
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +0 -127
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +0 -103
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +0 -461
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +0 -89
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +0 -57
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +0 -2745
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +0 -3976
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +0 -44
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +0 -2964
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +0 -67
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +0 -1391
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +0 -25
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/input.py +0 -3115
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +0 -98
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +0 -771
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +0 -1260
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +0 -174
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +0 -61
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +0 -373
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +0 -1938
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +0 -53
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +0 -302
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +0 -3198
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +0 -65
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +0 -3
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +0 -177
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +0 -23
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +0 -15
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +0 -108
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +0 -252
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +0 -83
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +0 -359
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +0 -61
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +0 -192
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/markers.py +0 -252
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +0 -825
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +0 -90
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +0 -1030
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/tags.py +0 -553
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/utils.py +0 -172
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pylib/packaging/version.py +0 -563
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/pyproject.toml +0 -120
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/release-please-config.json +0 -11
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/gyp/test_gyp.py +0 -261
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/Find-VisualStudio.cs +0 -250
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/build.js +0 -227
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/clean.js +0 -15
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/configure.js +0 -328
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/create-config-gypi.js +0 -150
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/download.js +0 -39
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/find-node-directory.js +0 -63
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/find-python.js +0 -310
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/find-visualstudio.js +0 -590
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/install.js +0 -415
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/list.js +0 -26
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/log.js +0 -168
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/node-gyp.js +0 -188
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/process-release.js +0 -146
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/rebuild.js +0 -12
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/remove.js +0 -43
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/lib/util.js +0 -81
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/macOS_Catalina_acid_test.sh +0 -21
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/package.json +0 -51
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/release-please-config.json +0 -40
- package/.yarn/unplugged/node-gyp-npm-10.2.0-cad1109948/node_modules/node-gyp/src/win_delay_load_hook.cc +0 -39
- package/coverage/tmp/coverage-31752-1735543485354-0.json +0 -1
- package/coverage/tmp/coverage-59920-1735543484555-0.json +0 -1
- package/coverage/tmp/coverage-66252-1735543483919-0.json +0 -1
- package/coverage/tmp/coverage-68440-1735543485236-0.json +0 -1
- package/coverage/tmp/coverage-70588-1735543484426-0.json +0 -1
- package/coverage/tmp/coverage-79292-1735543485296-0.json +0 -1
- package/coverage/tmp/coverage-80212-1735543483980-0.json +0 -1
package/src/index.ts
CHANGED
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
import {
|
|
2
|
-
PsbtInput as _PsbtInput,
|
|
3
|
-
PsbtInputUpdate as _PsbtInputUpdate,
|
|
4
|
-
PsbtOutput as _PsbtOutput,
|
|
5
|
-
TapBip32Derivation as _TapBip32Derivation,
|
|
6
|
-
TapInternalKey as _TapInternalKey,
|
|
7
|
-
TapKeySig as _TapKeySig,
|
|
8
|
-
TapLeaf as _TapLeaf,
|
|
9
|
-
TapLeafScript as _TapLeafScript,
|
|
10
|
-
TapMerkleRoot as _TapMerkleRoot,
|
|
11
|
-
TapScriptSig as _TapScriptSig,
|
|
12
|
-
TapTree as _TapTree,
|
|
13
|
-
} from 'bip174/src/lib/interfaces.js';
|
|
14
|
-
import * as networks from './networks.js';
|
|
15
|
-
import * as address from './address.js';
|
|
16
|
-
import * as payments from './payments/index.js';
|
|
17
|
-
import * as script from './script.js';
|
|
18
|
-
import * as crypto from './crypto.js';
|
|
19
|
-
import * as Transaction from './transaction.js';
|
|
20
|
-
|
|
21
|
-
export * as address from './address.js';
|
|
22
|
-
export * as crypto from './crypto.js';
|
|
23
|
-
export * as networks from './networks.js';
|
|
24
|
-
export * as payments from './payments/index.js';
|
|
25
|
-
export * as script from './script.js';
|
|
26
|
-
|
|
27
|
-
export { Block } from './block.js';
|
|
28
|
-
/** @hidden */
|
|
29
|
-
export * from './crypto.js';
|
|
30
|
-
export * from './psbt.js';
|
|
31
|
-
/** @hidden */
|
|
32
|
-
export {
|
|
33
|
-
export { Transaction } from './transaction.js';
|
|
34
|
-
/** @hidden */
|
|
35
|
-
export { Network } from './networks.js';
|
|
36
|
-
/** @hidden */
|
|
37
|
-
export { initEccLib } from './ecc_lib.js';
|
|
38
|
-
export {
|
|
39
|
-
Payment,
|
|
40
|
-
PaymentCreator,
|
|
41
|
-
PaymentOpts,
|
|
42
|
-
Stack,
|
|
43
|
-
StackElement,
|
|
44
|
-
P2WSHPayment,
|
|
45
|
-
P2PKPayment,
|
|
46
|
-
BasePayment,
|
|
47
|
-
P2SHPayment,
|
|
48
|
-
P2TRPayment,
|
|
49
|
-
P2WPKHPayment,
|
|
50
|
-
P2PKHPayment,
|
|
51
|
-
P2MSPayment,
|
|
52
|
-
EmbedPayment,
|
|
53
|
-
P2OPPayment,
|
|
54
|
-
P2OPPaymentParams,
|
|
55
|
-
StackFunction,
|
|
56
|
-
PaymentType,
|
|
57
|
-
} from './payments/index.js';
|
|
58
|
-
export { Input as TxInput, Output as TxOutput } from './transaction.js';
|
|
59
|
-
|
|
60
|
-
export interface PsbtInput extends _PsbtInput {}
|
|
61
|
-
|
|
62
|
-
export interface PsbtOutput extends _PsbtOutput {}
|
|
63
|
-
|
|
64
|
-
export interface TapInternalKey extends _TapInternalKey {}
|
|
65
|
-
|
|
66
|
-
export interface TapLeaf extends _TapLeaf {}
|
|
67
|
-
|
|
68
|
-
export interface TapScriptSig extends _TapScriptSig {}
|
|
69
|
-
|
|
70
|
-
export interface TapKeySig extends _TapKeySig {}
|
|
71
|
-
|
|
72
|
-
export interface TapTree extends _TapTree {}
|
|
73
|
-
|
|
74
|
-
export interface TapMerkleRoot extends _TapMerkleRoot {}
|
|
75
|
-
|
|
76
|
-
export interface TapLeafScript extends _TapLeafScript {}
|
|
77
|
-
|
|
78
|
-
export interface TapBip32Derivation extends _TapBip32Derivation {}
|
|
79
|
-
|
|
80
|
-
export interface PsbtInputUpdate extends _PsbtInputUpdate {}
|
|
81
|
-
|
|
82
|
-
export * from './psbt/bip371.js';
|
|
83
|
-
export * from './address.js';
|
|
84
|
-
export * from './bufferutils.js';
|
|
85
|
-
export * from './payments/bip341.js';
|
|
86
|
-
export * from './psbt/psbtutils.js';
|
|
87
|
-
|
|
88
|
-
export {
|
|
89
|
-
Taptree,
|
|
90
|
-
XOnlyPointAddTweakResult,
|
|
91
|
-
Tapleaf,
|
|
92
|
-
TinySecp256k1Interface,
|
|
93
|
-
TAPLEAF_VERSION_MASK,
|
|
94
|
-
} from './types.js';
|
|
95
|
-
|
|
96
|
-
const bitcoin = {
|
|
97
|
-
networks,
|
|
98
|
-
address,
|
|
99
|
-
payments,
|
|
100
|
-
script,
|
|
101
|
-
crypto,
|
|
102
|
-
Transaction,
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
export default bitcoin;
|
|
1
|
+
import {
|
|
2
|
+
PsbtInput as _PsbtInput,
|
|
3
|
+
PsbtInputUpdate as _PsbtInputUpdate,
|
|
4
|
+
PsbtOutput as _PsbtOutput,
|
|
5
|
+
TapBip32Derivation as _TapBip32Derivation,
|
|
6
|
+
TapInternalKey as _TapInternalKey,
|
|
7
|
+
TapKeySig as _TapKeySig,
|
|
8
|
+
TapLeaf as _TapLeaf,
|
|
9
|
+
TapLeafScript as _TapLeafScript,
|
|
10
|
+
TapMerkleRoot as _TapMerkleRoot,
|
|
11
|
+
TapScriptSig as _TapScriptSig,
|
|
12
|
+
TapTree as _TapTree,
|
|
13
|
+
} from 'bip174/src/lib/interfaces.js';
|
|
14
|
+
import * as networks from './networks.js';
|
|
15
|
+
import * as address from './address.js';
|
|
16
|
+
import * as payments from './payments/index.js';
|
|
17
|
+
import * as script from './script.js';
|
|
18
|
+
import * as crypto from './crypto.js';
|
|
19
|
+
import * as Transaction from './transaction.js';
|
|
20
|
+
|
|
21
|
+
export * as address from './address.js';
|
|
22
|
+
export * as crypto from './crypto.js';
|
|
23
|
+
export * as networks from './networks.js';
|
|
24
|
+
export * as payments from './payments/index.js';
|
|
25
|
+
export * as script from './script.js';
|
|
26
|
+
|
|
27
|
+
export { Block } from './block.js';
|
|
28
|
+
/** @hidden */
|
|
29
|
+
export * from './crypto.js';
|
|
30
|
+
export * from './psbt.js';
|
|
31
|
+
/** @hidden */
|
|
32
|
+
export { opcodes } from './opcodes.js';
|
|
33
|
+
export { Transaction } from './transaction.js';
|
|
34
|
+
/** @hidden */
|
|
35
|
+
export { Network } from './networks.js';
|
|
36
|
+
/** @hidden */
|
|
37
|
+
export { initEccLib } from './ecc_lib.js';
|
|
38
|
+
export {
|
|
39
|
+
Payment,
|
|
40
|
+
PaymentCreator,
|
|
41
|
+
PaymentOpts,
|
|
42
|
+
Stack,
|
|
43
|
+
StackElement,
|
|
44
|
+
P2WSHPayment,
|
|
45
|
+
P2PKPayment,
|
|
46
|
+
BasePayment,
|
|
47
|
+
P2SHPayment,
|
|
48
|
+
P2TRPayment,
|
|
49
|
+
P2WPKHPayment,
|
|
50
|
+
P2PKHPayment,
|
|
51
|
+
P2MSPayment,
|
|
52
|
+
EmbedPayment,
|
|
53
|
+
P2OPPayment,
|
|
54
|
+
P2OPPaymentParams,
|
|
55
|
+
StackFunction,
|
|
56
|
+
PaymentType,
|
|
57
|
+
} from './payments/index.js';
|
|
58
|
+
export { Input as TxInput, Output as TxOutput } from './transaction.js';
|
|
59
|
+
|
|
60
|
+
export interface PsbtInput extends _PsbtInput {}
|
|
61
|
+
|
|
62
|
+
export interface PsbtOutput extends _PsbtOutput {}
|
|
63
|
+
|
|
64
|
+
export interface TapInternalKey extends _TapInternalKey {}
|
|
65
|
+
|
|
66
|
+
export interface TapLeaf extends _TapLeaf {}
|
|
67
|
+
|
|
68
|
+
export interface TapScriptSig extends _TapScriptSig {}
|
|
69
|
+
|
|
70
|
+
export interface TapKeySig extends _TapKeySig {}
|
|
71
|
+
|
|
72
|
+
export interface TapTree extends _TapTree {}
|
|
73
|
+
|
|
74
|
+
export interface TapMerkleRoot extends _TapMerkleRoot {}
|
|
75
|
+
|
|
76
|
+
export interface TapLeafScript extends _TapLeafScript {}
|
|
77
|
+
|
|
78
|
+
export interface TapBip32Derivation extends _TapBip32Derivation {}
|
|
79
|
+
|
|
80
|
+
export interface PsbtInputUpdate extends _PsbtInputUpdate {}
|
|
81
|
+
|
|
82
|
+
export * from './psbt/bip371.js';
|
|
83
|
+
export * from './address.js';
|
|
84
|
+
export * from './bufferutils.js';
|
|
85
|
+
export * from './payments/bip341.js';
|
|
86
|
+
export * from './psbt/psbtutils.js';
|
|
87
|
+
|
|
88
|
+
export {
|
|
89
|
+
Taptree,
|
|
90
|
+
XOnlyPointAddTweakResult,
|
|
91
|
+
Tapleaf,
|
|
92
|
+
TinySecp256k1Interface,
|
|
93
|
+
TAPLEAF_VERSION_MASK,
|
|
94
|
+
} from './types.js';
|
|
95
|
+
|
|
96
|
+
const bitcoin = {
|
|
97
|
+
networks,
|
|
98
|
+
address,
|
|
99
|
+
payments,
|
|
100
|
+
script,
|
|
101
|
+
crypto,
|
|
102
|
+
Transaction,
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export default bitcoin;
|
package/src/merkle.ts
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Calculates the Merkle root of an array of buffers using a specified digest function.
|
|
3
|
-
*
|
|
4
|
-
* @param values - The array of buffers.
|
|
5
|
-
* @param digestFn - The digest function used to calculate the hash of the concatenated buffers.
|
|
6
|
-
* @returns The Merkle root as a buffer.
|
|
7
|
-
* @throws {TypeError} If the values parameter is not an array or the digestFn parameter is not a function.
|
|
8
|
-
*/
|
|
9
|
-
export function fastMerkleRoot(values: Buffer[], digestFn: (b: Buffer) => Buffer): Buffer {
|
|
10
|
-
if (!Array.isArray(values)) throw TypeError('Expected values Array');
|
|
11
|
-
if (typeof digestFn !== 'function') throw TypeError('Expected digest Function');
|
|
12
|
-
|
|
13
|
-
let length = values.length;
|
|
14
|
-
const results = values.concat();
|
|
15
|
-
|
|
16
|
-
while (length > 1) {
|
|
17
|
-
let j = 0;
|
|
18
|
-
|
|
19
|
-
for (let i = 0; i < length; i += 2, ++j) {
|
|
20
|
-
const left = results[i];
|
|
21
|
-
const right = i + 1 === length ? left : results[i + 1];
|
|
22
|
-
const data = Buffer.concat([left, right]);
|
|
23
|
-
|
|
24
|
-
results[j] = digestFn(data);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
length = j;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return results[0];
|
|
31
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the Merkle root of an array of buffers using a specified digest function.
|
|
3
|
+
*
|
|
4
|
+
* @param values - The array of buffers.
|
|
5
|
+
* @param digestFn - The digest function used to calculate the hash of the concatenated buffers.
|
|
6
|
+
* @returns The Merkle root as a buffer.
|
|
7
|
+
* @throws {TypeError} If the values parameter is not an array or the digestFn parameter is not a function.
|
|
8
|
+
*/
|
|
9
|
+
export function fastMerkleRoot(values: Buffer[], digestFn: (b: Buffer) => Buffer): Buffer {
|
|
10
|
+
if (!Array.isArray(values)) throw TypeError('Expected values Array');
|
|
11
|
+
if (typeof digestFn !== 'function') throw TypeError('Expected digest Function');
|
|
12
|
+
|
|
13
|
+
let length = values.length;
|
|
14
|
+
const results = values.concat();
|
|
15
|
+
|
|
16
|
+
while (length > 1) {
|
|
17
|
+
let j = 0;
|
|
18
|
+
|
|
19
|
+
for (let i = 0; i < length; i += 2, ++j) {
|
|
20
|
+
const left = results[i];
|
|
21
|
+
const right = i + 1 === length ? left : results[i + 1];
|
|
22
|
+
const data = Buffer.concat([left, right]);
|
|
23
|
+
|
|
24
|
+
results[j] = digestFn(data);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
length = j;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return results[0];
|
|
31
|
+
}
|