@btc-vision/bitcoin 6.5.6 → 7.0.0-alpha.1
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/HOW_TO_WRITE_GOOD_CODE.md +2436 -0
- package/benchmark/psbt-2000-inputs.bench.ts +178 -0
- package/benchmark/signing.bench.ts +147 -0
- package/browser/address.d.ts +57 -10
- package/browser/address.d.ts.map +1 -0
- package/browser/bech32utils.d.ts +9 -1
- package/browser/bech32utils.d.ts.map +1 -0
- package/browser/bip66.d.ts +11 -6
- package/browser/bip66.d.ts.map +1 -0
- package/browser/block.d.ts +117 -11
- package/browser/block.d.ts.map +1 -0
- package/browser/branded.d.ts +20 -0
- package/browser/branded.d.ts.map +1 -0
- package/browser/crypto/crypto.d.ts +1 -0
- package/browser/crypto/crypto.d.ts.map +1 -0
- package/browser/crypto.d.ts +46 -7
- package/browser/crypto.d.ts.map +1 -0
- package/browser/ecc/context.d.ts +129 -0
- package/browser/ecc/context.d.ts.map +1 -0
- package/browser/ecc/index.d.ts +11 -0
- package/browser/ecc/index.d.ts.map +1 -0
- package/browser/ecc/types.d.ts +128 -0
- package/browser/ecc/types.d.ts.map +1 -0
- package/browser/ecpair.d.ts +99 -0
- package/browser/errors.d.ts +124 -0
- package/browser/errors.d.ts.map +1 -0
- package/browser/index.d.ts +32 -5
- package/browser/index.d.ts.map +1 -0
- package/browser/index.js +12477 -101
- package/browser/io/BinaryReader.d.ts +276 -0
- package/browser/io/BinaryReader.d.ts.map +1 -0
- package/browser/io/BinaryWriter.d.ts +391 -0
- package/browser/io/BinaryWriter.d.ts.map +1 -0
- package/browser/io/MemoryPool.d.ts +220 -0
- package/browser/io/MemoryPool.d.ts.map +1 -0
- package/browser/io/base64.d.ts +13 -0
- package/browser/io/base64.d.ts.map +1 -0
- package/browser/io/hex.d.ts +67 -0
- package/browser/io/hex.d.ts.map +1 -0
- package/browser/io/index.d.ts +17 -0
- package/browser/io/index.d.ts.map +1 -0
- package/browser/io/utils.d.ts +199 -0
- package/browser/io/utils.d.ts.map +1 -0
- package/browser/merkle.d.ts +10 -1
- package/browser/merkle.d.ts.map +1 -0
- package/browser/networks.d.ts +70 -9
- package/browser/networks.d.ts.map +1 -0
- package/browser/opcodes.d.ts +1 -0
- package/browser/opcodes.d.ts.map +1 -0
- package/browser/payments/bip341.d.ts +35 -9
- package/browser/payments/bip341.d.ts.map +1 -0
- package/browser/payments/embed.d.ts +112 -1
- package/browser/payments/embed.d.ts.map +1 -0
- package/browser/payments/index.d.ts +17 -10
- package/browser/payments/index.d.ts.map +1 -0
- package/browser/payments/p2ms.d.ts +150 -0
- package/browser/payments/p2ms.d.ts.map +1 -0
- package/browser/payments/p2op.d.ts +150 -24
- package/browser/payments/p2op.d.ts.map +1 -0
- package/browser/payments/p2pk.d.ts +154 -1
- package/browser/payments/p2pk.d.ts.map +1 -0
- package/browser/payments/p2pkh.d.ts +176 -1
- package/browser/payments/p2pkh.d.ts.map +1 -0
- package/browser/payments/p2sh.d.ts +150 -1
- package/browser/payments/p2sh.d.ts.map +1 -0
- package/browser/payments/p2tr.d.ts +185 -1
- package/browser/payments/p2tr.d.ts.map +1 -0
- package/browser/payments/p2wpkh.d.ts +161 -1
- package/browser/payments/p2wpkh.d.ts.map +1 -0
- package/browser/payments/p2wsh.d.ts +146 -1
- package/browser/payments/p2wsh.d.ts.map +1 -0
- package/browser/payments/types.d.ts +94 -64
- package/browser/payments/types.d.ts.map +1 -0
- package/browser/psbt/bip371.d.ts +34 -8
- package/browser/psbt/bip371.d.ts.map +1 -0
- package/browser/psbt/psbtutils.d.ts +56 -16
- package/browser/psbt/psbtutils.d.ts.map +1 -0
- package/browser/psbt/types.d.ts +245 -0
- package/browser/psbt/types.d.ts.map +1 -0
- package/browser/psbt/utils.d.ts +64 -0
- package/browser/psbt/utils.d.ts.map +1 -0
- package/browser/psbt/validation.d.ts +84 -0
- package/browser/psbt/validation.d.ts.map +1 -0
- package/browser/psbt.d.ts +82 -118
- package/browser/psbt.d.ts.map +1 -0
- package/browser/pubkey.d.ts +27 -6
- package/browser/pubkey.d.ts.map +1 -0
- package/browser/push_data.d.ts +24 -2
- package/browser/push_data.d.ts.map +1 -0
- package/browser/script.d.ts +33 -8
- package/browser/script.d.ts.map +1 -0
- package/browser/script_number.d.ts +17 -0
- package/browser/script_number.d.ts.map +1 -0
- package/browser/script_signature.d.ts +23 -5
- package/browser/script_signature.d.ts.map +1 -0
- package/browser/transaction.d.ts +160 -18
- package/browser/transaction.d.ts.map +1 -0
- package/browser/types.d.ts +36 -38
- package/browser/types.d.ts.map +1 -0
- package/browser/workers/WorkerSigningPool.d.ts +143 -0
- package/browser/workers/WorkerSigningPool.d.ts.map +1 -0
- package/browser/workers/WorkerSigningPool.node.d.ts +116 -0
- package/browser/workers/WorkerSigningPool.node.d.ts.map +1 -0
- package/browser/workers/ecc-bundle.d.ts +25 -0
- package/browser/workers/ecc-bundle.d.ts.map +1 -0
- package/browser/workers/index.d.ts +91 -0
- package/browser/workers/index.d.ts.map +1 -0
- package/browser/workers/psbt-parallel.d.ts +88 -0
- package/browser/workers/psbt-parallel.d.ts.map +1 -0
- package/browser/workers/signing-worker.d.ts +37 -0
- package/browser/workers/signing-worker.d.ts.map +1 -0
- package/browser/workers/types.d.ts +365 -0
- package/browser/workers/types.d.ts.map +1 -0
- package/build/address.d.ts +58 -11
- package/build/address.d.ts.map +1 -0
- package/build/address.js +82 -25
- package/build/address.js.map +1 -0
- package/build/bech32utils.d.ts +9 -1
- package/build/bech32utils.d.ts.map +1 -0
- package/build/bech32utils.js +10 -2
- package/build/bech32utils.js.map +1 -0
- package/build/bip66.d.ts +11 -6
- package/build/bip66.d.ts.map +1 -0
- package/build/bip66.js +32 -3
- package/build/bip66.js.map +1 -0
- package/build/block.d.ts +117 -11
- package/build/block.d.ts.map +1 -0
- package/build/block.js +202 -72
- package/build/block.js.map +1 -0
- package/build/branded.d.ts +20 -0
- package/build/branded.d.ts.map +1 -0
- package/build/branded.js +7 -0
- package/build/branded.js.map +1 -0
- package/build/crypto/crypto.d.ts +1 -0
- package/build/crypto/crypto.d.ts.map +1 -0
- package/build/crypto/crypto.js +1 -0
- package/build/crypto/crypto.js.map +1 -0
- package/build/crypto.d.ts +46 -7
- package/build/crypto.d.ts.map +1 -0
- package/build/crypto.js +65 -20
- package/build/crypto.js.map +1 -0
- package/build/ecc/context.d.ts +135 -0
- package/build/ecc/context.d.ts.map +1 -0
- package/build/ecc/context.js +232 -0
- package/build/ecc/context.js.map +1 -0
- package/build/ecc/index.d.ts +11 -0
- package/build/ecc/index.d.ts.map +1 -0
- package/build/ecc/index.js +11 -0
- package/build/ecc/index.js.map +1 -0
- package/build/ecc/types.d.ts +134 -0
- package/build/ecc/types.d.ts.map +1 -0
- package/build/ecc/types.js +8 -0
- package/build/ecc/types.js.map +1 -0
- package/build/errors.d.ts +124 -0
- package/build/errors.d.ts.map +1 -0
- package/build/errors.js +155 -0
- package/build/errors.js.map +1 -0
- package/build/index.d.ts +32 -5
- package/build/index.d.ts.map +1 -0
- package/build/index.js +26 -3
- package/build/index.js.map +1 -0
- package/build/io/BinaryReader.d.ts +276 -0
- package/build/io/BinaryReader.d.ts.map +1 -0
- package/build/io/BinaryReader.js +425 -0
- package/build/io/BinaryReader.js.map +1 -0
- package/build/io/BinaryWriter.d.ts +391 -0
- package/build/io/BinaryWriter.d.ts.map +1 -0
- package/build/io/BinaryWriter.js +611 -0
- package/build/io/BinaryWriter.js.map +1 -0
- package/build/io/MemoryPool.d.ts +220 -0
- package/build/io/MemoryPool.d.ts.map +1 -0
- package/build/io/MemoryPool.js +309 -0
- package/build/io/MemoryPool.js.map +1 -0
- package/build/io/base64.d.ts +13 -0
- package/build/io/base64.d.ts.map +1 -0
- package/build/io/base64.js +20 -0
- package/build/io/base64.js.map +1 -0
- package/build/io/hex.d.ts +67 -0
- package/build/io/hex.d.ts.map +1 -0
- package/build/io/hex.js +138 -0
- package/build/io/hex.js.map +1 -0
- package/build/io/index.d.ts +17 -0
- package/build/io/index.d.ts.map +1 -0
- package/build/io/index.js +23 -0
- package/build/io/index.js.map +1 -0
- package/build/io/utils.d.ts +199 -0
- package/build/io/utils.d.ts.map +1 -0
- package/build/io/utils.js +271 -0
- package/build/io/utils.js.map +1 -0
- package/build/merkle.d.ts +10 -1
- package/build/merkle.d.ts.map +1 -0
- package/build/merkle.js +12 -1
- package/build/merkle.js.map +1 -0
- package/build/networks.d.ts +70 -9
- package/build/networks.d.ts.map +1 -0
- package/build/networks.js +90 -4
- package/build/networks.js.map +1 -0
- package/build/opcodes.d.ts +1 -0
- package/build/opcodes.d.ts.map +1 -0
- package/build/opcodes.js +1 -0
- package/build/opcodes.js.map +1 -0
- package/build/payments/bip341.d.ts +35 -9
- package/build/payments/bip341.d.ts.map +1 -0
- package/build/payments/bip341.js +34 -15
- package/build/payments/bip341.js.map +1 -0
- package/build/payments/embed.d.ts +120 -1
- package/build/payments/embed.d.ts.map +1 -0
- package/build/payments/embed.js +215 -34
- package/build/payments/embed.js.map +1 -0
- package/build/payments/index.d.ts +17 -10
- package/build/payments/index.d.ts.map +1 -0
- package/build/payments/index.js +20 -10
- package/build/payments/index.js.map +1 -0
- package/build/payments/p2ms.d.ts +159 -1
- package/build/payments/p2ms.d.ts.map +1 -0
- package/build/payments/p2ms.js +427 -108
- package/build/payments/p2ms.js.map +1 -0
- package/build/payments/p2op.d.ts +158 -24
- package/build/payments/p2op.d.ts.map +1 -0
- package/build/payments/p2op.js +379 -93
- package/build/payments/p2op.js.map +1 -0
- package/build/payments/p2pk.d.ts +162 -1
- package/build/payments/p2pk.d.ts.map +1 -0
- package/build/payments/p2pk.js +327 -58
- package/build/payments/p2pk.js.map +1 -0
- package/build/payments/p2pkh.d.ts +185 -1
- package/build/payments/p2pkh.d.ts.map +1 -0
- package/build/payments/p2pkh.js +467 -114
- package/build/payments/p2pkh.js.map +1 -0
- package/build/payments/p2sh.d.ts +159 -1
- package/build/payments/p2sh.d.ts.map +1 -0
- package/build/payments/p2sh.js +500 -150
- package/build/payments/p2sh.js.map +1 -0
- package/build/payments/p2tr.d.ts +193 -1
- package/build/payments/p2tr.d.ts.map +1 -0
- package/build/payments/p2tr.js +592 -174
- package/build/payments/p2tr.js.map +1 -0
- package/build/payments/p2wpkh.d.ts +170 -1
- package/build/payments/p2wpkh.d.ts.map +1 -0
- package/build/payments/p2wpkh.js +428 -103
- package/build/payments/p2wpkh.js.map +1 -0
- package/build/payments/p2wsh.d.ts +155 -1
- package/build/payments/p2wsh.d.ts.map +1 -0
- package/build/payments/p2wsh.js +465 -143
- package/build/payments/p2wsh.js.map +1 -0
- package/build/payments/types.d.ts +98 -64
- package/build/payments/types.d.ts.map +1 -0
- package/build/payments/types.js +17 -13
- package/build/payments/types.js.map +1 -0
- package/build/psbt/bip371.d.ts +35 -9
- package/build/psbt/bip371.d.ts.map +1 -0
- package/build/psbt/bip371.js +117 -28
- package/build/psbt/bip371.js.map +1 -0
- package/build/psbt/psbtutils.d.ts +56 -16
- package/build/psbt/psbtutils.d.ts.map +1 -0
- package/build/psbt/psbtutils.js +71 -16
- package/build/psbt/psbtutils.js.map +1 -0
- package/build/psbt/types.d.ts +249 -0
- package/build/psbt/types.d.ts.map +1 -0
- package/build/psbt/types.js +6 -0
- package/build/psbt/types.js.map +1 -0
- package/build/psbt/utils.d.ts +68 -0
- package/build/psbt/utils.d.ts.map +1 -0
- package/build/psbt/utils.js +171 -0
- package/build/psbt/utils.js.map +1 -0
- package/build/psbt/validation.d.ts +88 -0
- package/build/psbt/validation.d.ts.map +1 -0
- package/build/psbt/validation.js +149 -0
- package/build/psbt/validation.js.map +1 -0
- package/build/psbt.d.ts +84 -120
- package/build/psbt.d.ts.map +1 -0
- package/build/psbt.js +406 -413
- package/build/psbt.js.map +1 -0
- package/build/pubkey.d.ts +27 -6
- package/build/pubkey.d.ts.map +1 -0
- package/build/pubkey.js +36 -12
- package/build/pubkey.js.map +1 -0
- package/build/push_data.d.ts +24 -2
- package/build/push_data.d.ts.map +1 -0
- package/build/push_data.js +44 -12
- package/build/push_data.js.map +1 -0
- package/build/script.d.ts +33 -8
- package/build/script.d.ts.map +1 -0
- package/build/script.js +101 -37
- package/build/script.js.map +1 -0
- package/build/script_number.d.ts +17 -0
- package/build/script_number.d.ts.map +1 -0
- package/build/script_number.js +19 -0
- package/build/script_number.js.map +1 -0
- package/build/script_signature.d.ts +23 -5
- package/build/script_signature.d.ts.map +1 -0
- package/build/script_signature.js +48 -15
- package/build/script_signature.js.map +1 -0
- package/build/transaction.d.ts +160 -18
- package/build/transaction.d.ts.map +1 -0
- package/build/transaction.js +443 -176
- package/build/transaction.js.map +1 -0
- package/build/tsconfig.build.tsbuildinfo +1 -0
- package/build/types.d.ts +36 -38
- package/build/types.d.ts.map +1 -0
- package/build/types.js +169 -57
- package/build/types.js.map +1 -0
- package/build/workers/WorkerSigningPool.d.ts +174 -0
- package/build/workers/WorkerSigningPool.d.ts.map +1 -0
- package/build/workers/WorkerSigningPool.js +553 -0
- package/build/workers/WorkerSigningPool.js.map +1 -0
- package/build/workers/WorkerSigningPool.node.d.ts +124 -0
- package/build/workers/WorkerSigningPool.node.d.ts.map +1 -0
- package/build/workers/WorkerSigningPool.node.js +753 -0
- package/build/workers/WorkerSigningPool.node.js.map +1 -0
- package/build/workers/ecc-bundle.d.ts +25 -0
- package/build/workers/ecc-bundle.d.ts.map +1 -0
- package/build/workers/ecc-bundle.js +25 -0
- package/build/workers/ecc-bundle.js.map +1 -0
- package/build/workers/index.d.ts +91 -0
- package/build/workers/index.d.ts.map +1 -0
- package/build/workers/index.js +114 -0
- package/build/workers/index.js.map +1 -0
- package/build/workers/psbt-parallel.d.ts +117 -0
- package/build/workers/psbt-parallel.d.ts.map +1 -0
- package/build/workers/psbt-parallel.js +233 -0
- package/build/workers/psbt-parallel.js.map +1 -0
- package/build/workers/signing-worker.d.ts +37 -0
- package/build/workers/signing-worker.d.ts.map +1 -0
- package/build/workers/signing-worker.js +350 -0
- package/build/workers/signing-worker.js.map +1 -0
- package/build/workers/types.d.ts +365 -0
- package/build/workers/types.d.ts.map +1 -0
- package/build/workers/types.js +60 -0
- package/build/workers/types.js.map +1 -0
- package/package.json +68 -9
- package/scripts/bundle-ecc.ts +111 -0
- package/src/address.ts +91 -45
- package/src/bech32utils.ts +3 -3
- package/src/bip66.ts +34 -24
- package/src/block.ts +205 -86
- package/src/branded.ts +18 -0
- package/src/crypto.ts +64 -26
- package/src/ecc/context.ts +280 -0
- package/src/ecc/index.ts +14 -0
- package/src/ecc/types.ts +147 -0
- package/src/ecpair.d.ts +99 -0
- package/src/errors.ts +163 -0
- package/src/index.ts +112 -9
- package/src/io/BinaryReader.ts +461 -0
- package/src/io/BinaryWriter.ts +696 -0
- package/src/io/MemoryPool.ts +343 -0
- package/src/io/base64.ts +20 -0
- package/src/io/hex.ts +155 -0
- package/src/io/index.ts +41 -0
- package/src/io/utils.ts +283 -0
- package/src/merkle.ts +14 -9
- package/src/networks.ts +9 -9
- package/src/payments/bip341.ts +32 -33
- package/src/payments/embed.ts +244 -41
- package/src/payments/index.ts +12 -10
- package/src/payments/p2ms.ts +497 -118
- package/src/payments/p2op.ts +432 -134
- package/src/payments/p2pk.ts +370 -72
- package/src/payments/p2pkh.ts +524 -130
- package/src/payments/p2sh.ts +572 -169
- package/src/payments/p2tr.ts +686 -194
- package/src/payments/p2wpkh.ts +482 -105
- package/src/payments/p2wsh.ts +524 -162
- package/src/payments/types.ts +80 -66
- package/src/psbt/bip371.ts +72 -51
- package/src/psbt/psbtutils.ts +39 -40
- package/src/psbt/types.ts +324 -0
- package/src/psbt/utils.ts +188 -0
- package/src/psbt/validation.ts +185 -0
- package/src/psbt.ts +608 -827
- package/src/pubkey.ts +22 -23
- package/src/push_data.ts +18 -16
- package/src/script.ts +81 -66
- package/src/script_number.ts +6 -6
- package/src/script_signature.ts +33 -36
- package/src/transaction.ts +462 -239
- package/src/types.ts +229 -100
- package/src/workers/WorkerSigningPool.node.ts +887 -0
- package/src/workers/WorkerSigningPool.ts +666 -0
- package/src/workers/ecc-bundle.ts +26 -0
- package/src/workers/index.ts +165 -0
- package/src/workers/psbt-parallel.ts +327 -0
- package/src/workers/signing-worker.ts +353 -0
- package/src/workers/types.ts +417 -0
- package/test/address.spec.ts +9 -6
- package/test/bitcoin.core.spec.ts +16 -17
- package/test/block.spec.ts +8 -7
- package/test/bufferutils.spec.ts +228 -214
- package/test/crypto.spec.ts +19 -11
- package/test/fixtures/p2pk.json +0 -8
- package/test/fixtures/p2pkh.json +1 -1
- package/test/fixtures/p2sh.json +1 -1
- package/test/fixtures/script.json +1 -1
- package/test/fixtures/transaction.json +2 -2
- package/test/integration/_regtest.ts +25 -0
- package/test/integration/addresses.spec.ts +4 -3
- package/test/integration/bip32.spec.ts +2 -1
- package/test/integration/blocks.spec.ts +1 -1
- package/test/integration/cltv.spec.ts +18 -16
- package/test/integration/csv.spec.ts +37 -64
- package/test/integration/payments.spec.ts +5 -3
- package/test/integration/taproot.spec.ts +76 -83
- package/test/integration/transactions.spec.ts +38 -35
- package/test/payments.spec.ts +35 -13
- package/test/payments.utils.ts +17 -16
- package/test/psbt.spec.ts +111 -100
- package/test/script.spec.ts +11 -10
- package/test/script_signature.spec.ts +9 -11
- package/test/taproot-cache.spec.ts +694 -0
- package/test/transaction.spec.ts +32 -40
- package/test/types.spec.ts +74 -29
- package/test/workers-pool.spec.ts +963 -0
- package/test/workers-signing.spec.ts +635 -0
- package/test/workers.spec.ts +1390 -0
- package/tsconfig.base.json +34 -18
- package/tsconfig.browser.json +15 -0
- package/tsconfig.build.json +5 -0
- package/tsconfig.json +5 -14
- package/typedoc.json +29 -0
- package/vite.config.browser.ts +3 -42
- package/vitest.config.integration.ts +2 -0
- package/browser/bufferutils.d.ts +0 -34
- package/browser/chunks/crypto-BhCpKpek.js +0 -2033
- package/browser/chunks/payments-B1wlSccx.js +0 -1089
- package/browser/chunks/psbt-BCNk7JUx.js +0 -4055
- package/browser/chunks/script-DyPItFEl.js +0 -318
- package/browser/chunks/transaction-C_UbhMGn.js +0 -432
- package/browser/chunks/utils-DNZi-T5W.js +0 -761
- package/browser/ecc_lib.d.ts +0 -3
- package/browser/hooks/AdvancedSignatureManager.d.ts +0 -16
- package/browser/hooks/HookedSigner.d.ts +0 -4
- package/browser/hooks/SignatureManager.d.ts +0 -13
- package/browser/payments/lazy.d.ts +0 -2
- package/browser/typeforce.d.ts +0 -38
- package/build/bufferutils.d.ts +0 -34
- package/build/bufferutils.js +0 -141
- package/build/ecc_lib.d.ts +0 -3
- package/build/ecc_lib.js +0 -61
- package/build/hooks/AdvancedSignatureManager.d.ts +0 -16
- package/build/hooks/AdvancedSignatureManager.js +0 -52
- package/build/hooks/HookedSigner.d.ts +0 -4
- package/build/hooks/HookedSigner.js +0 -64
- package/build/hooks/SignatureManager.d.ts +0 -13
- package/build/hooks/SignatureManager.js +0 -45
- package/build/payments/lazy.d.ts +0 -2
- package/build/payments/lazy.js +0 -28
- package/build/tsconfig.tsbuildinfo +0 -1
- package/src/bufferutils.ts +0 -188
- package/src/ecc_lib.ts +0 -94
- package/src/hooks/AdvancedSignatureManager.ts +0 -104
- package/src/hooks/HookedSigner.ts +0 -108
- package/src/hooks/SignatureManager.ts +0 -84
- package/src/payments/lazy.ts +0 -28
- package/src/typeforce.d.ts +0 -38
- package/tsconfig.webpack.json +0 -18
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"psbt.js","sourceRoot":"","sources":["../src/psbt.ts"],"names":[],"mappings":"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"}
|
package/build/pubkey.d.ts
CHANGED
|
@@ -1,8 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
import type { PublicKey, XOnlyPublicKey } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a public key to x-only format (32 bytes).
|
|
4
|
+
* @param pubKey - The public key buffer (33 or 65 bytes)
|
|
5
|
+
* @returns The x-only public key (32 bytes)
|
|
6
|
+
*/
|
|
7
|
+
export declare const toXOnly: (pubKey: PublicKey | XOnlyPublicKey) => XOnlyPublicKey;
|
|
2
8
|
export interface UncompressedPublicKey {
|
|
3
|
-
hybrid:
|
|
4
|
-
uncompressed:
|
|
9
|
+
hybrid: Uint8Array;
|
|
10
|
+
uncompressed: Uint8Array;
|
|
5
11
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Converts bigint to 32-byte Uint8Array.
|
|
14
|
+
*/
|
|
15
|
+
export declare function bigIntTo32Bytes(num: bigint): Uint8Array;
|
|
16
|
+
/**
|
|
17
|
+
* Converts an existing real Bitcoin public key (compressed or uncompressed)
|
|
18
|
+
* to its "hybrid" form (prefix 0x06/0x07), then derives a P2PKH address from it.
|
|
19
|
+
*
|
|
20
|
+
* @param realPubKey - 33-byte compressed (0x02/0x03) or 65-byte uncompressed (0x04) pubkey
|
|
21
|
+
* @returns UncompressedPublicKey | undefined
|
|
22
|
+
*/
|
|
23
|
+
export declare function decompressPublicKey(realPubKey: PublicKey): UncompressedPublicKey | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Compare two potential pubkey Uint8Arrays, treating hybrid keys (0x06/0x07)
|
|
26
|
+
* as equivalent to uncompressed (0x04).
|
|
27
|
+
*/
|
|
28
|
+
export declare function pubkeysMatch(a: Uint8Array, b: Uint8Array): boolean;
|
|
29
|
+
//# sourceMappingURL=pubkey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pubkey.d.ts","sourceRoot":"","sources":["../src/pubkey.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,SAAS,GAAG,cAAc,KAAG,cAE5D,CAAC;AAEF,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,UAAU,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAOvD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,SAAS,GAAG,qBAAqB,GAAG,SAAS,CAoC5F;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAclE"}
|
package/build/pubkey.js
CHANGED
|
@@ -1,16 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public key utilities for Bitcoin
|
|
3
|
+
* @packageDocumentation
|
|
4
|
+
*/
|
|
1
5
|
import { Point } from '@noble/secp256k1';
|
|
6
|
+
import { alloc, concat, equals, fromHex, toHex } from './io/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Converts a public key to x-only format (32 bytes).
|
|
9
|
+
* @param pubKey - The public key buffer (33 or 65 bytes)
|
|
10
|
+
* @returns The x-only public key (32 bytes)
|
|
11
|
+
*/
|
|
2
12
|
export const toXOnly = (pubKey) => {
|
|
3
|
-
|
|
4
|
-
return Buffer.isBuffer(buffer) ? buffer : Buffer.from(buffer);
|
|
13
|
+
return (pubKey.length === 32 ? pubKey : pubKey.subarray(1, 33));
|
|
5
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* Converts bigint to 32-byte Uint8Array.
|
|
17
|
+
*/
|
|
6
18
|
export function bigIntTo32Bytes(num) {
|
|
7
19
|
let hex = num.toString(16);
|
|
8
20
|
hex = hex.padStart(64, '0');
|
|
9
21
|
if (hex.length > 64) {
|
|
10
22
|
hex = hex.slice(-64);
|
|
11
23
|
}
|
|
12
|
-
return
|
|
24
|
+
return fromHex(hex);
|
|
13
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Converts an existing real Bitcoin public key (compressed or uncompressed)
|
|
28
|
+
* to its "hybrid" form (prefix 0x06/0x07), then derives a P2PKH address from it.
|
|
29
|
+
*
|
|
30
|
+
* @param realPubKey - 33-byte compressed (0x02/0x03) or 65-byte uncompressed (0x04) pubkey
|
|
31
|
+
* @returns UncompressedPublicKey | undefined
|
|
32
|
+
*/
|
|
14
33
|
export function decompressPublicKey(realPubKey) {
|
|
15
34
|
if (realPubKey.length === 32) {
|
|
16
35
|
return;
|
|
@@ -21,7 +40,7 @@ export function decompressPublicKey(realPubKey) {
|
|
|
21
40
|
}
|
|
22
41
|
let point;
|
|
23
42
|
try {
|
|
24
|
-
point = Point.fromHex(
|
|
43
|
+
point = Point.fromHex(toHex(realPubKey));
|
|
25
44
|
}
|
|
26
45
|
catch (err) {
|
|
27
46
|
throw new Error('Invalid secp256k1 public key bytes. Cannot parse.');
|
|
@@ -30,27 +49,32 @@ export function decompressPublicKey(realPubKey) {
|
|
|
30
49
|
const yBuf = bigIntTo32Bytes(point.y);
|
|
31
50
|
const isEven = point.y % 2n === 0n;
|
|
32
51
|
const prefix = isEven ? 0x06 : 0x07;
|
|
33
|
-
const hybridPubKey =
|
|
52
|
+
const hybridPubKey = alloc(65);
|
|
34
53
|
hybridPubKey[0] = prefix;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const uncompressedPubKey =
|
|
54
|
+
hybridPubKey.set(xBuf, 1);
|
|
55
|
+
hybridPubKey.set(yBuf, 33);
|
|
56
|
+
const uncompressedPubKey = concat([new Uint8Array([0x04]), xBuf, yBuf]);
|
|
38
57
|
return {
|
|
39
58
|
hybrid: hybridPubKey,
|
|
40
59
|
uncompressed: uncompressedPubKey,
|
|
41
60
|
};
|
|
42
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Compare two potential pubkey Uint8Arrays, treating hybrid keys (0x06/0x07)
|
|
64
|
+
* as equivalent to uncompressed (0x04).
|
|
65
|
+
*/
|
|
43
66
|
export function pubkeysMatch(a, b) {
|
|
44
|
-
if (
|
|
67
|
+
if (equals(a, b))
|
|
45
68
|
return true;
|
|
46
69
|
if (a.length === 65 && b.length === 65) {
|
|
47
|
-
const aCopy =
|
|
48
|
-
const bCopy =
|
|
70
|
+
const aCopy = new Uint8Array(a);
|
|
71
|
+
const bCopy = new Uint8Array(b);
|
|
49
72
|
if (aCopy[0] === 0x06 || aCopy[0] === 0x07)
|
|
50
73
|
aCopy[0] = 0x04;
|
|
51
74
|
if (bCopy[0] === 0x06 || bCopy[0] === 0x07)
|
|
52
75
|
bCopy[0] = 0x04;
|
|
53
|
-
return
|
|
76
|
+
return equals(aCopy, bCopy);
|
|
54
77
|
}
|
|
55
78
|
return false;
|
|
56
79
|
}
|
|
80
|
+
//# sourceMappingURL=pubkey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pubkey.js","sourceRoot":"","sources":["../src/pubkey.ts"],"names":[],"mappings":"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"}
|
package/build/push_data.d.ts
CHANGED
|
@@ -1,7 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the encoding length of a number used for push data in Bitcoin transactions.
|
|
3
|
+
* @param i The number to calculate the encoding length for.
|
|
4
|
+
* @returns The encoding length of the number.
|
|
5
|
+
*/
|
|
1
6
|
export declare function encodingLength(i: number): number;
|
|
2
|
-
|
|
3
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Encodes a number into a buffer using a variable-length encoding scheme.
|
|
9
|
+
* The encoded buffer is written starting at the specified offset.
|
|
10
|
+
* Returns the size of the encoded buffer.
|
|
11
|
+
*
|
|
12
|
+
* @param buffer - The buffer to write the encoded data into.
|
|
13
|
+
* @param num - The number to encode.
|
|
14
|
+
* @param offset - The offset at which to start writing the encoded buffer.
|
|
15
|
+
* @returns The size of the encoded buffer.
|
|
16
|
+
*/
|
|
17
|
+
export declare function encode(buffer: Uint8Array, num: number, offset: number): number;
|
|
18
|
+
/**
|
|
19
|
+
* Decodes a buffer and returns information about the opcode, number, and size.
|
|
20
|
+
* @param buffer - The buffer to decode.
|
|
21
|
+
* @param offset - The offset within the buffer to start decoding.
|
|
22
|
+
* @returns An object containing the opcode, number, and size, or null if decoding fails.
|
|
23
|
+
*/
|
|
24
|
+
export declare function decode(buffer: Uint8Array, offset: number): {
|
|
4
25
|
opcode: number;
|
|
5
26
|
number: number;
|
|
6
27
|
size: number;
|
|
7
28
|
} | null;
|
|
29
|
+
//# sourceMappingURL=push_data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push_data.d.ts","sourceRoot":"","sources":["../src/push_data.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAyB9E;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAClB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACf;IACC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAqCP"}
|
package/build/push_data.js
CHANGED
|
@@ -1,57 +1,89 @@
|
|
|
1
1
|
import { opcodes } from './opcodes.js';
|
|
2
|
+
/**
|
|
3
|
+
* Calculates the encoding length of a number used for push data in Bitcoin transactions.
|
|
4
|
+
* @param i The number to calculate the encoding length for.
|
|
5
|
+
* @returns The encoding length of the number.
|
|
6
|
+
*/
|
|
2
7
|
export function encodingLength(i) {
|
|
3
8
|
return i < opcodes.OP_PUSHDATA1 ? 1 : i <= 0xff ? 2 : i <= 0xffff ? 3 : 5;
|
|
4
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Encodes a number into a buffer using a variable-length encoding scheme.
|
|
12
|
+
* The encoded buffer is written starting at the specified offset.
|
|
13
|
+
* Returns the size of the encoded buffer.
|
|
14
|
+
*
|
|
15
|
+
* @param buffer - The buffer to write the encoded data into.
|
|
16
|
+
* @param num - The number to encode.
|
|
17
|
+
* @param offset - The offset at which to start writing the encoded buffer.
|
|
18
|
+
* @returns The size of the encoded buffer.
|
|
19
|
+
*/
|
|
5
20
|
export function encode(buffer, num, offset) {
|
|
6
21
|
const size = encodingLength(num);
|
|
22
|
+
const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
23
|
+
// ~6 bit
|
|
7
24
|
if (size === 1) {
|
|
8
|
-
buffer
|
|
25
|
+
buffer[offset] = num;
|
|
26
|
+
// 8 bit
|
|
9
27
|
}
|
|
10
28
|
else if (size === 2) {
|
|
11
|
-
buffer
|
|
12
|
-
buffer
|
|
29
|
+
buffer[offset] = opcodes.OP_PUSHDATA1;
|
|
30
|
+
buffer[offset + 1] = num;
|
|
31
|
+
// 16 bit
|
|
13
32
|
}
|
|
14
33
|
else if (size === 3) {
|
|
15
|
-
buffer
|
|
16
|
-
|
|
34
|
+
buffer[offset] = opcodes.OP_PUSHDATA2;
|
|
35
|
+
view.setUint16(offset + 1, num, true);
|
|
36
|
+
// 32 bit
|
|
17
37
|
}
|
|
18
38
|
else {
|
|
19
|
-
buffer
|
|
20
|
-
|
|
39
|
+
buffer[offset] = opcodes.OP_PUSHDATA4;
|
|
40
|
+
view.setUint32(offset + 1, num, true);
|
|
21
41
|
}
|
|
22
42
|
return size;
|
|
23
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Decodes a buffer and returns information about the opcode, number, and size.
|
|
46
|
+
* @param buffer - The buffer to decode.
|
|
47
|
+
* @param offset - The offset within the buffer to start decoding.
|
|
48
|
+
* @returns An object containing the opcode, number, and size, or null if decoding fails.
|
|
49
|
+
*/
|
|
24
50
|
export function decode(buffer, offset) {
|
|
25
|
-
const
|
|
51
|
+
const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
52
|
+
const opcode = buffer[offset];
|
|
26
53
|
let num;
|
|
27
54
|
let size;
|
|
55
|
+
// ~6 bit
|
|
28
56
|
if (opcode < opcodes.OP_PUSHDATA1) {
|
|
29
57
|
num = opcode;
|
|
30
58
|
size = 1;
|
|
59
|
+
// 8 bit
|
|
31
60
|
}
|
|
32
61
|
else if (opcode === opcodes.OP_PUSHDATA1) {
|
|
33
62
|
if (offset + 2 > buffer.length)
|
|
34
63
|
return null;
|
|
35
|
-
num = buffer
|
|
64
|
+
num = buffer[offset + 1];
|
|
36
65
|
size = 2;
|
|
66
|
+
// 16 bit
|
|
37
67
|
}
|
|
38
68
|
else if (opcode === opcodes.OP_PUSHDATA2) {
|
|
39
69
|
if (offset + 3 > buffer.length)
|
|
40
70
|
return null;
|
|
41
|
-
num =
|
|
71
|
+
num = view.getUint16(offset + 1, true);
|
|
42
72
|
size = 3;
|
|
73
|
+
// 32 bit
|
|
43
74
|
}
|
|
44
75
|
else {
|
|
45
76
|
if (offset + 5 > buffer.length)
|
|
46
77
|
return null;
|
|
47
78
|
if (opcode !== opcodes.OP_PUSHDATA4)
|
|
48
79
|
throw new Error('Unexpected opcode');
|
|
49
|
-
num =
|
|
80
|
+
num = view.getUint32(offset + 1, true);
|
|
50
81
|
size = 5;
|
|
51
82
|
}
|
|
52
83
|
return {
|
|
53
|
-
opcode,
|
|
84
|
+
opcode: opcode,
|
|
54
85
|
number: num,
|
|
55
86
|
size,
|
|
56
87
|
};
|
|
57
88
|
}
|
|
89
|
+
//# sourceMappingURL=push_data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push_data.js","sourceRoot":"","sources":["../src/push_data.ts"],"names":[],"mappings":"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"}
|
package/build/script.d.ts
CHANGED
|
@@ -1,16 +1,41 @@
|
|
|
1
1
|
import { opcodes } from './opcodes.js';
|
|
2
2
|
import * as scriptNumber from './script_number.js';
|
|
3
3
|
import * as scriptSignature from './script_signature.js';
|
|
4
|
-
import type { Stack } from './types.js';
|
|
4
|
+
import type { Script, Stack } from './types.js';
|
|
5
5
|
export { opcodes };
|
|
6
6
|
export declare function isPushOnly(value: Stack): boolean;
|
|
7
7
|
export declare function countNonPushOnlyOPs(value: Stack): number;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Compiles an array of chunks into a Uint8Array.
|
|
10
|
+
*
|
|
11
|
+
* @param chunks - The array of chunks to compile.
|
|
12
|
+
* @returns The compiled Uint8Array.
|
|
13
|
+
* @throws Error if the compilation fails.
|
|
14
|
+
*/
|
|
15
|
+
export declare function compile(chunks: Uint8Array | Stack): Script;
|
|
16
|
+
export declare function decompile(buffer: Uint8Array | Stack): Array<number | Uint8Array> | null;
|
|
17
|
+
/**
|
|
18
|
+
* Converts the given chunks into an ASM (Assembly) string representation.
|
|
19
|
+
* If the chunks parameter is a Uint8Array, it will be decompiled into a Stack before conversion.
|
|
20
|
+
* @param chunks - The chunks to convert into ASM.
|
|
21
|
+
* @returns The ASM string representation of the chunks.
|
|
22
|
+
*/
|
|
23
|
+
export declare function toASM(chunks: Uint8Array | Stack): string;
|
|
24
|
+
/**
|
|
25
|
+
* Converts an ASM string to a Uint8Array.
|
|
26
|
+
* @param asm The ASM string to convert.
|
|
27
|
+
* @returns The converted Uint8Array.
|
|
28
|
+
*/
|
|
29
|
+
export declare function fromASM(asm: string): Script;
|
|
30
|
+
/**
|
|
31
|
+
* Converts the given chunks into a stack of Uint8Arrays.
|
|
32
|
+
*
|
|
33
|
+
* @param chunks - The chunks to convert.
|
|
34
|
+
* @returns The stack of Uint8Arrays.
|
|
35
|
+
*/
|
|
36
|
+
export declare function toStack(chunks: Uint8Array | Stack): Uint8Array[];
|
|
37
|
+
export declare function isCanonicalPubKey(buffer: Uint8Array): boolean;
|
|
38
|
+
export declare function isCanonicalScriptSignature(buffer: Uint8Array): boolean;
|
|
15
39
|
export declare const number: typeof scriptNumber;
|
|
16
40
|
export declare const signature: typeof scriptSignature;
|
|
41
|
+
//# sourceMappingURL=script.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAe,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIhD,OAAO,EAAE,OAAO,EAAE,CAAC;AAgBnB,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAEhD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAExD;AAsBD;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM,CAkD1D;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,IAAI,CA6CvF;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM,CAwBxD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmB3C;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,UAAU,EAAE,CAYhE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE7D;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAKtE;AAED,eAAO,MAAM,MAAM,qBAAe,CAAC;AACnC,eAAO,MAAM,SAAS,wBAAkB,CAAC"}
|