Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
340 commits
Select commit Hold shift + click to select a range
d29ada6
Consistent capitalization of tapleaf
reardencode Mar 18, 2022
cf18dfd
Don't use constants for tag prefixes
reardencode Mar 18, 2022
f76b954
Simplify HashTree processing, remove footgun
reardencode Mar 18, 2022
18bcadd
Support p2tr with 1 script and no tree
reardencode Mar 18, 2022
c02ed1b
Remove unnecessary arrays of values
reardencode Mar 18, 2022
6b9f776
Improve tapleah hash parameter name
reardencode Mar 18, 2022
95d0f51
Fix indentation
reardencode Mar 18, 2022
e557a99
Add validation for redeem in scriptTree
reardencode Mar 21, 2022
c3053e7
Improve comments and code clarity
reardencode Mar 21, 2022
6f70c88
refactor: add explicit initialisation of the ecc library (#5)
motorina0 Mar 28, 2022
4fd164e
refactor: move tweakKey() to taproot utils
motorina0 Apr 1, 2022
9d4fdcd
fix: use witness without annex for o.signature
motorina0 Apr 1, 2022
3af7c11
feat: use BIP371 fields for taproot inputs
motorina0 May 20, 2022
6cbac53
feat: add to/from Psbt TapTree conversion
motorina0 May 24, 2022
9eb0790
test: add tests for taptree conversion to tapleaf
motorina0 May 24, 2022
bc3dc46
chore: code lint
motorina0 May 24, 2022
d7e24cb
test: use `tapInternalKey` to generate the address
motorina0 May 25, 2022
58258a7
feat: do taproot checks for `addOutput()`
motorina0 May 25, 2022
8ca34c0
refactor: simplify `addOutput()` checks
motorina0 May 25, 2022
e17e2bd
feat: do taproot checks for `updateOutput()`
motorina0 May 25, 2022
057cdc5
feat: check if taproot signature are present before allowing psbt cha…
motorina0 May 26, 2022
f32d706
refactor: move out some utils
motorina0 May 26, 2022
c9b334b
test: add custom taproot finalizer (partial)
motorina0 May 26, 2022
8b4cee9
chore: code clean-up
motorina0 May 26, 2022
94f5291
Fix integration test
junderw May 26, 2022
724be84
Fix test lints
junderw May 26, 2022
4db8455
Fix audit
junderw May 26, 2022
7839476
refactor: rename `taprootutils` to `bip341`
motorina0 Jun 1, 2022
6f40ec8
chore: fix typo
motorina0 Nov 29, 2022
80a31db
fix: add check for `controlBlock` length
motorina0 Nov 29, 2022
d5181df
chore: typo in comment
motorina0 Nov 29, 2022
9960306
chore: remove `any` type
motorina0 Nov 29, 2022
57f915e
chore: add explicit type for returned signatures
motorina0 Nov 29, 2022
c3b5173
chore: sync `package-lock.json`
motorina0 Nov 29, 2022
a72be91
fix: audit issue for `minimatch`
motorina0 Nov 29, 2022
b994d46
6.1.0-rc.0
motorina0 Nov 29, 2022
e6c8a99
Merge pull request #1742 from bitcoincoretech/p2tr-v1
junderw Nov 29, 2022
550ac73
Merge pull request #1836 from OliverOffing/OliverOffing-patch-1
junderw Nov 29, 2022
1724115
- upgraded prettier
Dec 5, 2022
9ae2089
Merge pull request #1831 from fzuleta/feature/es-lint
junderw Dec 6, 2022
f9e970a
Update CHANGELOG and remove old taproot example
junderw Dec 7, 2022
f221e1f
6.1.0
junderw Dec 7, 2022
a05587f
Merge pull request #1849 from bitcoinjs/bump/6.1.0
junderw Dec 7, 2022
db98a14
Removal of the example [Taproot Key Spend]
GregTonoski Dec 29, 2022
d495765
chore: initialise TAGGED_HASH_PREFIXES on-demand
headfire94 Dec 29, 2022
3e9827c
Merge pull request #1858 from GregTonoski/patch-1
junderw Jan 4, 2023
6c886dd
refactor: store pre-computed prefixes
headfire94 Jan 5, 2023
c462e1d
refactor: hardcoded prefixes
headfire94 Jan 9, 2023
5707a04
chore: upgrade json5
headfire94 Jan 19, 2023
cc1b23e
fix: commit crypto.d.ts
headfire94 Jan 19, 2023
ed73aa8
Merge pull request #1859 from headfire94/egor/perf/prefix-ondemand
junderw Jan 20, 2023
e3c16e6
This commit aims to prevent the creation of unspendable scripts in bi…
Jan 23, 2023
8bb53b4
Add new Taproot example
ChrisCho-H Feb 3, 2023
69b0f7c
Merge pull request #1866 from Hyunhum/taproot-example
junderw Feb 3, 2023
35634ce
"feat: remove privateAdd & privateNegate for tinysecp256k1"
ChrisCho-H Feb 9, 2023
ac3f01b
"feat: remove privateAdd & privateNegate in tinysecp256k1 declaration"
ChrisCho-H Feb 9, 2023
02b112e
Merge pull request #1869 from Hyunhum/tiny-secp256k1-interface
junderw Feb 9, 2023
f1a4b9d
Add example using BIP86 vector to verify the sending to and from a BI…
junderw Feb 15, 2023
cdb95a9
Merge pull request #1874 from bitcoinjs/add/examplebip86
junderw Feb 15, 2023
a59eecd
Merge pull request #1863 from bitcoinerlab/master
junderw Feb 17, 2023
8c504c4
Switch from create-hash, ripemd160 to noble-hashes
paulmillr Feb 17, 2023
adc8a33
Handle custom signature hash type - sig length
jafri Feb 21, 2023
599f16b
Fix format
jafri Feb 21, 2023
d28e9dd
add .ts
jafri Feb 21, 2023
9bf1219
fix tests
jafri Feb 21, 2023
7be0c0b
Bump bip32, bip39
paulmillr Feb 25, 2023
4bf8a84
Remove wif. Use new bs58check
paulmillr Feb 25, 2023
1c18fe6
fix: android `TypedArray.of requires its this argument to subclass a …
fboucquez Feb 26, 2023
3541220
using Buffer.from([0x00]
fboucquez Feb 27, 2023
708fe38
Merge pull request #1891 from fboucquez/fboucquez/fix/android-buffer.…
junderw Feb 27, 2023
52559f8
Merge pull request #1879 from paulmillr/master
junderw Mar 5, 2023
640a2a7
Include test for taproot custom signature types
habibitcoin Apr 14, 2023
73a310e
Merge pull request #1 from habibitcoin/master
jafri Apr 15, 2023
3c5faec
Update test to specify sighashTypes
habibitcoin Apr 28, 2023
a6e870d
Merge pull request #2 from habibitcoin/master
jafri Apr 28, 2023
5ffda41
Update test to specify isTaproot
habibitcoin May 24, 2023
37e3478
Merge pull request #3 from habibitcoin/master
jafri May 24, 2023
a51d7d6
Merge pull request #1884 from jafri/master
junderw May 24, 2023
f230cc9
chore: version bump to `6.1.1` and changelog
motorina0 May 25, 2023
5d2ff1c
Merge pull request #1923 from bitcoincoretech/version_6.1.1
junderw May 26, 2023
85c5c6a
Fix: Find hashes WITHOUT leafHash instead
junderw Jun 3, 2023
f8cfd7f
6.1.2
junderw Jun 5, 2023
da0b34d
Merge pull request #1932 from bitcoinjs/fix/validate-sigs
junderw Jun 5, 2023
b5fd4d6
Fix: Taproot signature validation was incorrect again.
junderw Jun 7, 2023
8d2d7db
6.1.3
junderw Jun 7, 2023
1a9119b
Merge pull request #1935 from bitcoinjs/fix/p2tr-sigs-pt2
junderw Jun 9, 2023
e80d22b
Update README.md
junderw Jul 19, 2023
bcf1bf8
Bump package-lock.json version
junderw Aug 28, 2023
d60ba49
Fixes issue#1974
wakqasahmed Sep 14, 2023
1cd80e5
Fix TS as well
junderw Sep 14, 2023
d69d03b
Merge pull request #1975 from wakqasahmed/fix-issue-1974
junderw Sep 14, 2023
105625f
6.1.4
junderw Sep 14, 2023
99c8735
Merge pull request #1976 from bitcoinjs/bump/6.1.4
junderw Sep 14, 2023
26ada31
Upgrade bip174 to 2.1.1.
arik-so Sep 18, 2023
8f5f244
Update lockfile.
arik-so Sep 18, 2023
a3481d1
Merge pull request #1979 from arik-so/main
junderw Sep 18, 2023
4af9317
6.1.5
junderw Sep 18, 2023
31b6c27
Merge pull request #1980 from bitcoinjs/bump-615
junderw Sep 18, 2023
9950213
cleaned and refactored
Sep 26, 2023
b65513a
Merge pull request #1984 from youssefgh/taproot-test-refactoring
junderw Sep 26, 2023
5b8f4fc
✨feature: add doc
jasonandjay Sep 29, 2023
bc0ef13
🐞 fix: update package.json
jasonandjay Sep 29, 2023
b76e645
✨feature: update deploy-doc ci only trigger on master branch
jasonandjay Sep 30, 2023
5382260
📄 docs: comment address namespace
jasonandjay Oct 5, 2023
6463bbc
📄 docs: build src after comment address namespace
jasonandjay Oct 5, 2023
c4dbe6f
remove redundant code
jasonandjay Oct 12, 2023
6e6b889
Merge pull request #1991 from jasonandjay/reduant
junderw Oct 12, 2023
63f84d4
chore(deps-dev): bump @babel/traverse from 7.20.5 to 7.23.2
dependabot[bot] Oct 20, 2023
588c192
Merge pull request #1995 from bitcoinjs/dependabot/npm_and_yarn/babel…
junderw Oct 20, 2023
a52503f
Update communication channels in CONTRIBUTING
junderw Oct 29, 2023
1f92ada
Merge pull request #1998 from bitcoinjs/update-comms
junderw Oct 29, 2023
caea960
✨feature: add custom tag @case to create a runnable environment
jasonandjay Nov 2, 2023
19b31eb
🐞 fix: build src
jasonandjay Nov 2, 2023
f5995bd
🐞 fix: move typedoc-plugin-bitcoinjs-runcase to devDependencies
jasonandjay Nov 5, 2023
4a1913e
⏪ rollback: separate typedoc-plugin-bitcoinjs-runcase to another PR
jasonandjay Feb 29, 2024
5bf4367
⏪ rollback: remove runcase of address module
jasonandjay Feb 29, 2024
6cc676d
📄 docs: add docs for payments module
jasonandjay Feb 29, 2024
94039ae
📄 docs: add docs fro script namespace
jasonandjay Feb 29, 2024
3dc81f7
📄 docs: add other docs and build src
jasonandjay Feb 29, 2024
5655cd4
Merge branch 'bitcoinjs:master' into doc
jasonandjay Feb 29, 2024
c6cb2f8
Merge branch 'doc' of https://github.com/jasonandjay/bitcoinjs-lib in…
jasonandjay Feb 29, 2024
4ef1bdc
🐞 fix: fix romat:ci
jasonandjay Feb 29, 2024
894ad02
Merge pull request #1986 from jasonandjay/doc
junderw Mar 6, 2024
4efcf7a
Merge branch 'master' of https://github.com/jasonandjay/bitcoinjs-lib…
jasonandjay Mar 13, 2024
4554df3
📄 docs: add documentation link to readme
jasonandjay Mar 13, 2024
4b6dec9
Merge pull request #2054 from jasonandjay/doc
junderw Mar 13, 2024
98cdfce
chore: fix some comments
xinhangzhou Mar 13, 2024
da6e2fb
Merge pull request #2055 from xinhangzhou/master
junderw Mar 13, 2024
129655a
Merge branch 'master' of https://github.com/bitcoinjs/bitcoinjs-lib i…
jasonandjay Apr 8, 2024
562f123
🚅 perfs: remove methods that neither used nor export
jasonandjay Apr 8, 2024
2ae74ca
Merge pull request #2072 from jasonandjay/reduant
junderw Apr 8, 2024
7f4bc4b
Remove unneeded package lock deps
junderw Apr 12, 2024
3c26beb
Merge pull request #2077 from junderw/fix/package
junderw Apr 12, 2024
aa41e46
Merge branch 'master' of https://github.com/bitcoinjs/bitcoinjs-lib i…
jasonandjay Apr 30, 2024
7e74ff2
🐞 fix: deepClone outputData to avoid mutate target
jasonandjay Apr 30, 2024
6396fb4
Merge pull request #2091 from jasonandjay/fix-addOutput
junderw May 1, 2024
b35c2a0
Merge branch 'master' of https://github.com/bitcoinjs/bitcoinjs-lib i…
jasonandjay May 10, 2024
6ec2822
perfs: optimize script.decomplie return type
jasonandjay May 10, 2024
ac6a5b2
Revert "perfs: optimize script.decomplie return type"
jasonandjay May 10, 2024
bbd61bf
perfs: toASM throw error when receive invalid chunks
jasonandjay May 13, 2024
7efa3f9
fix: update toASM error tips
jasonandjay May 17, 2024
eb12504
Merge pull request #2097 from jasonandjay/opt-decompile
junderw May 17, 2024
1d87e57
sign tapLeaf with sighashType
baryon Jun 9, 2024
26f3eda
Update JS files to match TS files
junderw Jun 9, 2024
55d7cd5
Merge pull request #2104 from baryon/master
junderw Jun 9, 2024
57078a2
v6.1.6
junderw Jun 9, 2024
8c88016
Merge pull request #2105 from bitcoinjs/bump-616
junderw Jun 9, 2024
01427ee
Merge branch 'master' of https://github.com/bitcoinjs/bitcoinjs-lib i…
jasonandjay Jun 13, 2024
cfd61e6
docs: update README with alternatives for ECC Library
jasonandjay Jun 13, 2024
1a868e8
🔵 other: update audit ci to ignore 1097496
jasonandjay Jun 14, 2024
24e13b4
docs: backticks around tiny-secp256k1
jasonandjay Jun 14, 2024
2a17aec
Fix audit
junderw Jun 15, 2024
d54a0d0
Merge pull request #2113 from bitcoinjs/junderw-patch-3
junderw Jun 15, 2024
4802803
fix: added error with clear message when signing a tx without outputs
gomezdn Jun 14, 2024
c6105c4
Merge pull request #2110 from gomezdn/fix/improve-error-message-when-…
junderw Jun 15, 2024
72d58b2
Merge branch 'master' into ecc-alternative
jasonandjay Jun 15, 2024
230138f
Add taproot multisig with verified unspendable internalPubkey example
junderw Jun 15, 2024
96cb427
Minor fixes to README
junderw Jun 15, 2024
e77c2f8
Merge pull request #2109 from jasonandjay/ecc-alternative
junderw Jun 15, 2024
c4025df
Use a taproot multisig wallet class
junderw Jun 15, 2024
791fa01
Fix typos (#2032)
GoodDaisy Jun 27, 2024
0d0c1c4
Merge branch 'master' of https://github.com/bitcoinjs/bitcoinjs-lib i…
jasonandjay Jul 1, 2024
18e39f0
fix: fix typos
jasonandjay Jul 1, 2024
2013f19
Merge pull request #2122 from jasonandjay/typos
junderw Jul 2, 2024
097a505
Merge branch 'master' into example/multisigtaproot
junderw Jul 3, 2024
8edc5e8
Merge pull request #2112 from bitcoinjs/example/multisigtaproot
junderw Jul 3, 2024
5909559
docs: add taproot multiSign to example list (#2125)
jasonandjay Jul 11, 2024
c184a96
Fix multisig taproot example's provable nonce calculation
junderw Jul 16, 2024
8d9775c
Merge pull request #2128 from bitcoinjs/example/multisigtaproot
junderw Jul 16, 2024
f4b5982
docs: add Taproot related method annotations
yihanga Jul 30, 2024
39c5b82
docs: add tapTree annotations
yihanga Jul 30, 2024
7dc2d80
docs: remove PSBT duplicate annotations
yihanga Jul 30, 2024
d69b428
docs: add bip341 annotation
typeofYh Jul 30, 2024
fb20dcb
docs: add annotation of bip66
typeofYh Jul 30, 2024
db02d67
docs: update address annotation
typeofYh Jul 30, 2024
b18500a
docs: build js
typeofYh Jul 30, 2024
5bb8813
Merge pull request #2141 from yihanga/master
junderw Jul 30, 2024
8207c6b
Add logo
junderw Aug 2, 2024
51d55cc
Merge pull request #2144 from bitcoinjs/feat/logo-add
junderw Aug 2, 2024
140bab4
Fix lint
junderw Aug 20, 2024
072ed06
Merge pull request #2142 from typeofYh/master
junderw Aug 20, 2024
6148ad8
feat: move to esm varuint-bitcoin
Nesopie Aug 21, 2024
9c3e8cc
feat: use read-write integer methods from uint8array-tools
Nesopie Aug 23, 2024
847090c
feat: add valibot, switch to uint8array, support esm
Nesopie Aug 26, 2024
579538f
feat: updated tests
Nesopie Sep 3, 2024
1168a5d
chore: update to node v18 and remove audit job
Nesopie Sep 3, 2024
f06bbce
Merge pull request #2159 from Nesopie/chore/update-ci-versions
junderw Sep 3, 2024
3cdf612
Merge branch 'master' into feat/hybrid
Nesopie Sep 4, 2024
fc415aa
chore: link packages through git
Nesopie Sep 4, 2024
240be2f
fix: tests for nodev18
Nesopie Sep 4, 2024
d6fe656
Merge pull request #2161 from Nesopie/feat/hybrid
junderw Sep 8, 2024
6475a2b
Use NPM versions
junderw Sep 8, 2024
56610d3
7.0.0-rc.0
junderw Sep 8, 2024
34e1644
Merge pull request #2163 from bitcoinjs/RC/v7
junderw Sep 8, 2024
ff76a79
first crack at the function and corresponding test
JacksonDMiller Sep 30, 2024
1538f8c
Change to match the other tests in the file
JacksonDMiller Sep 30, 2024
32e08aa
Merge pull request #2170 from JacksonDMiller/JacksonDMiller-addStripW…
junderw Sep 30, 2024
14e066c
feat: initEccLib skip verification
fboucquez Dec 2, 2024
628a2d7
feedback fixes from v6
fboucquez Dec 3, 2024
68ed198
Merge pull request #2183 from fboucquez/fboucquez/feat/skip-ecc-verif…
junderw Dec 3, 2024
b89a5e3
Merge branch 'master' of github.com:bitcoinjs/bitcoinjs-lib
SpiderMan670 Dec 11, 2024
c61d734
doc: improve document of crypto
SpiderMan670 Dec 11, 2024
2c3c662
build src
SpiderMan670 Dec 11, 2024
ec1f51c
Merge pull request #2188 from SpiderMan670/master
junderw Dec 12, 2024
9f9bcbc
docs: improve code comment
ethsmartcoder Dec 14, 2024
3d53450
build and test
ethsmartcoder Dec 14, 2024
bf0e806
export toXOnly
Heracles4179 Dec 14, 2024
72ac2f7
add toXOnly export of cjs & esm
Heracles4179 Dec 14, 2024
1eeb17f
optimize network and payments namespace content
Odysseus130 Dec 14, 2024
e22d07d
lint and test modification
Odysseus130 Dec 14, 2024
19d8f72
Merge pull request #2190 from ethsmartcoder/master
junderw Dec 15, 2024
7b8f8d6
fix typo of `getTapKeySigFromWithness`
lnky102 Dec 20, 2024
1b258e9
docs: remove useless info
Odysseus130 Dec 23, 2024
2a8f83f
Merge pull request #2192 from Odysseus130/master
junderw Dec 23, 2024
4fe7522
test: add test for bip371
Heracles4179 Dec 23, 2024
60dc3a4
test: update test case message
Heracles4179 Dec 23, 2024
a037cc2
Merge branch 'master' into master
junderw Dec 25, 2024
e0c3ede
Merge pull request #2191 from Heracles4179/master
junderw Dec 25, 2024
0b0130d
Merge pull request #2196 from lnky79/master
junderw Dec 25, 2024
2a2d82e
Optimize OPS type from Record to Enum (#2189)
decentraldev1 Dec 27, 2024
0902017
Only warn once
junderw Dec 27, 2024
151173f
Merge pull request #2068 from bitcoinjs/only-warn-once
junderw Dec 27, 2024
956ef55
update license
jasonandjay Mar 5, 2025
795b554
fix typo
jasonandjay Mar 5, 2025
68fbbe9
audit fix
jasonandjay Mar 5, 2025
744afd5
upgrade artifact version
jasonandjay Mar 5, 2025
ebd5ad4
Merge pull request #2218 from jasonandjay/minor-fix
junderw Mar 5, 2025
0464673
Fix tx version from int32 to uint32
junderw Mar 5, 2025
ad82549
Merge pull request #2219 from bitcoinjs/tx-version-fix
junderw Mar 5, 2025
a7a2d95
upgrade upload-pages-artifact to v3
yihanga Mar 13, 2025
56f5df2
upgrade deploy-pages to v4
yihanga Mar 13, 2025
a994499
fix(docs): correct package name for tiny-secp256k1-asmjs alternative
borzaka Mar 25, 2025
cbca9f7
Merge pull request #2225 from borzaka/patch-1
junderw Mar 25, 2025
5d86970
Remove kawaii logo
junderw Apr 21, 2025
248789d
Merge pull request #2233 from bitcoinjs/rm-logo
junderw Apr 21, 2025
a72dd31
Update README.md
gap-editor Apr 28, 2025
2b8c510
Merge pull request #2236 from gap-editor/master
junderw Aug 25, 2025
9e08cb5
Merge pull request #2221 from yihanga/fix-deploy-doc
junderw Sep 30, 2025
7a02f18
Bump bip174 version to v3
junderw Oct 2, 2025
18b1c22
7.0.0
junderw Oct 2, 2025
c151d53
Merge pull request #2264 from bitcoinjs/bump-ver
junderw Oct 2, 2025
13aea8c
Removed unnecessary check for tapInternalKey for signature validation…
summraznboi Oct 14, 2025
16f1bac
p2ms: support up to 20 keys
landabaso Nov 23, 2025
48d1e53
feat(crypto): restore ripemd160, sha1 and sha256 hash helpers
landabaso Jul 24, 2025
99bb080
Merge pull request #2297 from landabaso/feat/p2ms-20-keys
junderw Nov 25, 2025
dc1dbc6
Merge branch 'master' into feat/restore-hash-helpers
junderw Nov 25, 2025
e4280e2
Merge pull request #2248 from landabaso/feat/restore-hash-helpers
junderw Nov 25, 2025
c847589
feat(transaction): add support for Litecoin MWEB peg-out transactions
originalix Dec 16, 2025
1e3282c
feat(workflow): add package publish workflow for npm
originalix Dec 16, 2025
18b897e
fix: update package name and version in package.json; switch to npm c…
originalix Dec 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
131 changes: 92 additions & 39 deletions .github/workflows/main_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,89 +6,142 @@ on:
- master
pull_request:

permissions:
contents: read
pages: write
id-token: write


jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm run audit
##################
# Jobs with matrix
##################
unit:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [18, 'lts/*']
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: 12
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/
cache: 'npm'
- run: npm ci
- run: npm run unit
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm run coverage
integration:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [18, 'lts/*']
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
services:
regtest:
image: junderw/bitcoinjs-regtest-server@sha256:a46ec1a651ca5b1a5408f2b2526ea5f435421dd2bc2f28fae3bc33e1fd614552
image: junderw/bitcoinjs-regtest-server@sha256:5b69cf95d9edf6d5b3a00504665d6b3c382a6aa3728fe8ce897974c519061463
ports:
- 8080:8080
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: 12
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/
cache: 'npm'
- run: npm ci
- run: APIURL=http://127.0.0.1:8080/1 npm run integration



#####################
# Jobs without matrix
#####################
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # v2
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: 'lts/*'
registry-url: https://registry.npmjs.org/
cache: 'npm'
- run: npm ci
- run: npm run coverage
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # v2
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: 12
node-version: 'lts/*'
registry-url: https://registry.npmjs.org/
cache: 'npm'
- run: npm ci
- run: npm run format:ci
gitdiff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # v2
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: 12
node-version: 'lts/*'
registry-url: https://registry.npmjs.org/
cache: 'npm'
- run: npm ci
- run: npm run gitdiff:ci
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # v2
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: 12
node-version: 'lts/*'
registry-url: https://registry.npmjs.org/
cache: 'npm'
- run: npm ci
- run: npm run lint
lint-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # v2
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: 12
node-version: 'lts/*'
registry-url: https://registry.npmjs.org/
cache: 'npm'
- run: npm ci
- run: npm run lint:tests

build-doc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # v2
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: 'lts/*'
registry-url: https://registry.npmjs.org/
cache: 'npm'
- run: npm ci
- run: npm run doc
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
name: github-pages
path: ./docs

deploy-doc:
if: github.ref == 'refs/heads/master'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build-doc
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
21 changes: 21 additions & 0 deletions .github/workflows/package-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: package-publish

on: workflow_dispatch

jobs:
package-publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
- name: Install Package
run: npm ci
- name: Build
run: npm run build
- name: Publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npm whoami && npm publish --access public
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ npm-debug.log
test/*.js
test/integration/*.js
!test/ts-node-register.js
docs
plugin
4 changes: 4 additions & 0 deletions .mocharc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"$schema": "https://json.schemastore.org/mocharc.json",
"require": "tsx"
}
1 change: 0 additions & 1 deletion .npm-audit-whitelister.json

This file was deleted.

1 change: 1 addition & 0 deletions .nsprc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.d.ts
5 changes: 4 additions & 1 deletion .prettierrc.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
{
"singleQuote": true,
"trailingComma": "all"
"trailingComma": "all",
"endOfLine": "auto",
"arrowParens": "avoid",
"tabWidth": 2
}
62 changes: 58 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,57 @@
# 6.1.7
__added__
- skip ecc library verification via DANGER_DO_NOT_VERIFY_ECCLIB flag

# 6.1.6
__fixed__
- Fix sighash treatment when signing taproot script sign scripts using Psbt (#2104)
- Fix error for invalid scripts in toASM (#2097)
- Fix mutation of input to addOutput method on Psbt (#2091)

# 6.1.5
__fixed__
- Updated bip174 dependency to fix issue with unknownKeyVals. (#1979)

# 6.1.4
__changed__
- Changed internal usage of the Buffer API to match with newer broken bundlers that don't follow spec. The new usage is still compatible with older versions of Buffer, so there shouldn't be any breakage. The public API interface was not changed. (#1975)

# 6.1.3
__fixed__
- validateSignaturesOfInput for taproot inputs returned false for valid signatures in specific cases. (#1934)

# 6.1.2
__fixed__
- validateSignaturesOfInput for taproot inputs returned true for invalid signatures in specific cases. (#1932)

# 6.1.1
__added__
- add example using BIP86 vector to verify the sending to and from a BIP86 generated taproot address

__fixed__
- support for 65 byte taproot signature
- prevent the creation of unspendable scripts in bitcoinjs-lib by implementing checks for resource limitations
- use `Buffer.from()` instead of `Buffer.of()`

__changed__
- performance: precompute the taproot hashes
- performance: switch from `create-hash` and `ripemd160` to noble-hashes

__removed__
- types: removed unused methods `privateAdd` and `privateNegate` from `TinySecp256k1Interface`

# 6.1.0
__added__
- taproot support for payments (p2tr) and PSBT. See taproot.spec.ts integration test for examples. (#1742)

# 6.0.2
__fixed__
- p2sh payment now uses empty Buffer for redeem.output when redeemScript is OP_FALSE (#1802)
- Fix ripemd160 hashing fallback issue (#1812)

# 6.0.1
- No changes to public API

# 6.0.0
__removed__
- bip32: Removed the re-export. Please add as dependency to your app instead.
Expand Down Expand Up @@ -283,18 +337,18 @@ __fixed__

# 2.1.0
From this release users should use the HDNode directly (compared to accessing `.keyPair`) when performing ECDSA operations such as `sign` or `verify`.
Ideally you shoud not have to directly access `HDNode` internals for general usage, as it can often be confusing and error prone.
Ideally you should not have to directly access `HDNode` internals for general usage, as it can often be confusing and error prone.

__added__
- `ECPair.prototype.getNetwork`
- `HDNode.prototype.getNetwork`, wraps the underyling keyPair's `getNetwork` method
- `HDNode.prototype.getPublicKeyBuffer`, wraps the underyling keyPair's `getPublicKeyBuffer` method
- `HDNode.prototype.getNetwork`, wraps the underlying keyPair's `getNetwork` method
- `HDNode.prototype.getPublicKeyBuffer`, wraps the underlying keyPair's `getPublicKeyBuffer` method
- `HDNode.prototype.sign`, wraps the underlying keyPair's `sign` method
- `HDNode.prototype.verify`, wraps the underlying keyPair's `verify` method


# 2.0.0
In this release we have strived to simplify the API, [using native types](https://github.com/bitcoinjs/bitcoinjs-lib/issues/407) wherevever possible to encourage cross-compatibility with other open source community modules.
In this release we have strived to simplify the API, [using native types](https://github.com/bitcoinjs/bitcoinjs-lib/issues/407) wherever possible to encourage cross-compatibility with other open source community modules.

The `ecdsa` module has been removed in lieu of using a new ECDSA module (for performance and safety reasons) during the `2.x.y` major release.
Several other cumbersome modules have been removed, with their new independent modules recommended for usage instead for greater modularity in your projects.
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ We are always accepting of pull requests, but we do adhere to specific standards
GitHub is the preferred method of communication between members.

Otherwise, in order of preference:
* bitcoinjs.slack.com
* #bitcoinjs-dev on Freenode IRC
* #bitcoinjs-dev:matrix.org on Matrix (A part of the #bitcoinjs-space:matrix.org "Space")
* #bitcoinjs on libera.chat IRC


## Workflow
Expand Down Expand Up @@ -50,7 +50,7 @@ Refer to the [Git manual](https://git-scm.com/doc) for any information about `gi


## Regarding TypeScript
This library is written in TypeScript with tslint, prettier, and the tsc transpiler. These tools will help during testing to notice improper logic before committing and sending a pull request.
This library is written in TypeScript with eslint, prettier, and the tsc transpiler. These tools will help during testing to notice improper logic before committing and sending a pull request.

Some rules regarding TypeScript:

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2011-2020 bitcoinjs-lib contributors
Copyright (c) 2011-2025 bitcoinjs-lib contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading