{"_id":"@doichain/doichainjs-lib","_rev":"8-cdbe6ee762c641db97c7002cb93f1b1a","name":"@doichain/doichainjs-lib","dist-tags":{"latest":"6.4.0"},"versions":{"6.1.6":{"name":"@doichain/doichainjs-lib","version":"6.1.6","keywords":["bitcoinjs","bitcoin","browserify","javascript","bitcoinjs"],"license":"MIT","_id":"@doichain/doichainjs-lib@6.1.6","maintainers":[{"name":"nandiji","email":"nico@le-space.de"},{"name":"davidreband","email":"david.reband@gmail.com"}],"homepage":"https://github.com/bitcoinjs/bitcoinjs-lib#readme","bugs":{"url":"https://github.com/bitcoinjs/bitcoinjs-lib/issues"},"dist":{"shasum":"fb6ab71f74d27030e32d7a8eb38c4995bf5fe672","tarball":"https://registry.npmjs.org/@doichain/doichainjs-lib/-/doichainjs-lib-6.1.6.tgz","fileCount":63,"integrity":"sha512-1q82laoQPoET8N6r5ToDjl6LR4CIhR8cQTk5X0XgoXm8XlKsBvmzzwneebd9KxLlE+lKLyXBHgcOpL7Mk/8Xng==","signatures":[{"sig":"MEUCIH6SKltjYd4yP9HJhT8sSPhByGnIrtUxF3ibW8/4Qvh4AiEAr1qjboTp53UkfPb6CxTkSVuxGP9awHDIlp9/6LNdN6M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":268932},"main":"./src/index.js","types":"./src/index.d.ts","engines":{"node":">=8.0.0"},"gitHead":"eb2fdb29304abb8c342e3c620cbc4906e9bce012","scripts":{"doc":"typedoc","lint":"eslint ts_src/** src/**/*.js","test":"npm run build && npm run format:ci && npm run lint && npm run nobuild:coverage","unit":"npm run build && npm run nobuild:unit","audit":"better-npm-audit audit -l high","build":"npm run clean && tsc -p ./tsconfig.json && npm run formatjs","clean":"rimraf src","format":"npm run prettier -- --write","coverage":"npm run build && npm run nobuild:coverage","formatjs":"npm run prettierjs -- --write","mocha:ts":"mocha --recursive --require test/ts-node-register","prettier":"prettier \"ts_src/**/*.ts\" \"test/**/*.ts\" --ignore-path ./.prettierignore","format:ci":"npm run prettier -- --check && npm run prettierjs -- --check","gitdiff:ci":"npm run build && git diff --exit-code","lint:tests":"eslint test/**/*.spec.ts","prettierjs":"prettier \"src/**/*.js\" --ignore-path ./.prettierignore","build:tests":"npm run clean:jstests && tsc -p ./test/tsconfig.json","integration":"npm run build && npm run nobuild:integration","nobuild:unit":"npm run mocha:ts -- 'test/*.ts'","clean:jstests":"rimraf 'test/**/!(ts-node-register)*.js'","coverage-html":"npm run build && npm run nobuild:coverage-html","coverage-report":"npm run build && npm run nobuild:coverage-report","nobuild:coverage":"npm run build:tests && nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha && npm run clean:jstests","nobuild:integration":"npm run mocha:ts -- --timeout 50000 'test/integration/*.ts'","nobuild:coverage-html":"nyc report --reporter=html","nobuild:coverage-report":"nyc report --reporter=lcov"},"_npmUser":{"name":"nandiji","email":"nico@le-space.de"},"deprecated":"Published by hand from an older state. Please upgrade to 6.3.0, which is built and published from CI with a provenance attestation.","repository":{"url":"git+https://github.com/bitcoinjs/bitcoinjs-lib.git","type":"git"},"_npmVersion":"10.1.0","description":"Client-side Bitcoin JavaScript library","directories":{},"_nodeVersion":"20.9.0","dependencies":{"bech32":"^2.0.0","bip174":"^2.1.1","bs58check":"^3.0.1","typeforce":"^1.11.3","@noble/hashes":"^1.2.0","varuint-bitcoin":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","bs58":"^4.0.0","bip32":"^4.0.0","bip39":"^3.1.0","bip65":"^1.0.1","bip68":"^1.0.3","dhttp":"^3.0.0","mocha":"^10.6.0","ecpair":"^2.0.1","eslint":"^8.29.0","rimraf":"^2.6.3","ts-node":"^8.3.0","typedoc":"^0.25.1","hoodwink":"^2.0.0","prettier":"^2.8.0","proxyquire":"^2.0.1","typescript":"^4.4.4","@types/bs58":"^4.0.0","@types/node":"^16.11.7","minimaldata":"^1.0.2","randombytes":"^2.1.0","@types/mocha":"^5.2.7","regtest-client":"0.2.0","tiny-secp256k1":"^2.2.0","@types/bs58check":"^2.1.0","better-npm-audit":"^3.7.3","@types/proxyquire":"^1.3.28","@types/randombytes":"^2.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.45.0","@typescript-eslint/eslint-plugin":"^5.45.0"},"_npmOperationalInternal":{"tmp":"tmp/doichainjs-lib_6.1.6_1724328520720_0.4383499138729303","host":"s3://npm-registry-packages"}},"6.1.7":{"name":"@doichain/doichainjs-lib","version":"6.1.7","keywords":["bitcoinjs","bitcoin","browserify","javascript","bitcoinjs"],"license":"MIT","_id":"@doichain/doichainjs-lib@6.1.7","maintainers":[{"name":"nandiji","email":"nico@le-space.de"},{"name":"davidreband","email":"david.reband@gmail.com"}],"homepage":"https://github.com/bitcoinjs/bitcoinjs-lib#readme","bugs":{"url":"https://github.com/bitcoinjs/bitcoinjs-lib/issues"},"dist":{"shasum":"da1ba4a209b0e099fe70bffe9f3d1608491d04bf","tarball":"https://registry.npmjs.org/@doichain/doichainjs-lib/-/doichainjs-lib-6.1.7.tgz","fileCount":67,"integrity":"sha512-wpdwN36xEbTEgvcYfSaLfjaNrH0qnoQrQ+tBc+5dTKUxQF4ezB2A4kKWBmLttZ/DaRgYMN5sh0MJSCkpZQS5dw==","signatures":[{"sig":"MEUCIFjg7UDEv6/JWtZUQGr8/6qp/FCcGZPO/aev17bru6lrAiEA/txNuuANtezjTHwTmx7dhqQPNn/tqSJwfs3V/eWRC1I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":283863},"main":"./src/index.js","types":"./src/index.d.ts","engines":{"node":">=8.0.0"},"gitHead":"e809c105e2b9813ddc7c89a1707e8bfa19f9499f","scripts":{"doc":"typedoc","lint":"eslint ts_src/** src/**/*.js","test":"npm run build && npm run format:ci && npm run lint && npm run nobuild:coverage","unit":"npm run build && npm run nobuild:unit","audit":"better-npm-audit audit -l high","build":"npm run clean && tsc -p ./tsconfig.json && npm run formatjs","clean":"rimraf src","format":"npm run prettier -- --write","coverage":"npm run build && npm run nobuild:coverage","formatjs":"npm run prettierjs -- --write","mocha:ts":"mocha --recursive --require test/ts-node-register","prettier":"prettier \"ts_src/**/*.ts\" \"test/**/*.ts\" --ignore-path ./.prettierignore","format:ci":"npm run prettier -- --check && npm run prettierjs -- --check","gitdiff:ci":"npm run build && git diff --exit-code","lint:tests":"eslint test/**/*.spec.ts","prettierjs":"prettier \"src/**/*.js\" --ignore-path ./.prettierignore","build:tests":"npm run clean:jstests && tsc -p ./test/tsconfig.json","integration":"npm run build && npm run nobuild:integration","nobuild:unit":"npm run mocha:ts -- 'test/*.ts'","clean:jstests":"rimraf 'test/**/!(ts-node-register)*.js'","coverage-html":"npm run build && npm run nobuild:coverage-html","coverage-report":"npm run build && npm run nobuild:coverage-report","nobuild:coverage":"npm run build:tests && nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha && npm run clean:jstests","nobuild:integration":"npm run mocha:ts -- --timeout 50000 'test/integration/*.ts'","nobuild:coverage-html":"nyc report --reporter=html","nobuild:coverage-report":"nyc report --reporter=lcov"},"_npmUser":{"name":"nandiji","email":"nico@le-space.de"},"deprecated":"Published by hand from an older state. Please upgrade to 6.3.0, which is built and published from CI with a provenance attestation.","repository":{"url":"git+https://github.com/bitcoinjs/bitcoinjs-lib.git","type":"git"},"_npmVersion":"10.1.0","description":"Client-side Bitcoin JavaScript library","directories":{},"_nodeVersion":"20.9.0","dependencies":{"bech32":"^2.0.0","bip174":"^2.1.1","bs58check":"^3.0.1","typeforce":"^1.11.3","@noble/hashes":"^1.2.0","varuint-bitcoin":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","bs58":"^4.0.0","bip32":"^4.0.0","bip39":"^3.1.0","bip65":"^1.0.1","bip68":"^1.0.3","dhttp":"^3.0.0","mocha":"^10.6.0","ecpair":"^2.0.1","eslint":"^8.29.0","rimraf":"^2.6.3","ts-node":"^8.3.0","typedoc":"^0.25.1","hoodwink":"^2.0.0","prettier":"^2.8.0","proxyquire":"^2.0.1","typescript":"^4.4.4","@types/bs58":"^4.0.0","@types/node":"^16.11.7","minimaldata":"^1.0.2","randombytes":"^2.1.0","@types/mocha":"^5.2.7","regtest-client":"0.2.0","tiny-secp256k1":"^2.2.0","@types/bs58check":"^2.1.0","better-npm-audit":"^3.7.3","@types/proxyquire":"^1.3.28","@types/randombytes":"^2.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.45.0","@typescript-eslint/eslint-plugin":"^5.45.0"},"_npmOperationalInternal":{"tmp":"tmp/doichainjs-lib_6.1.7_1729757173548_0.10383655800468938","host":"s3://npm-registry-packages"}},"6.2.0":{"name":"@doichain/doichainjs-lib","version":"6.2.0","keywords":["doichain","namecoin","name operations","psbt","bitcoinjs","bitcoin","javascript"],"license":"MIT","_id":"@doichain/doichainjs-lib@6.2.0","maintainers":[{"name":"nandiji","email":"nico@le-space.de"},{"name":"davidreband","email":"david.reband@gmail.com"}],"homepage":"https://github.com/Doichain/doichainjs-lib#readme","bugs":{"url":"https://github.com/Doichain/doichainjs-lib/issues"},"dist":{"shasum":"298a589ef56bf0f8099a0933cd2ab65fcac5a6dd","tarball":"https://registry.npmjs.org/@doichain/doichainjs-lib/-/doichainjs-lib-6.2.0.tgz","fileCount":69,"integrity":"sha512-psJePdUZC6ROv2SYcfEHFjTIHir4pF/jnUnb+XesBbKEYem8QI93O/sfye7So4+X0lQMNfzAqox+20jFz1pl1g==","signatures":[{"sig":"MEUCIBxw+JZ3isKXDIMtjzYTu4UKED+kw8YRjYBOawZSVqZUAiEAoHrj1ddcGaBUk8mmG5V+FXlwK+rqQ0/0nBizpgJTDuQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCCkzku53Btl0z55DcQB2pp9WPEsWGQxuNyHLsy6LlSCgIhAKKkTF193jWWRfzxc0GSg/qJkdgHgbiidQsA9ZbUyN8h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@doichain%2fdoichainjs-lib@6.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274684},"main":"./src/index.js","types":"./src/index.d.ts","engines":{"node":">=8.0.0"},"gitHead":"882a6fc880043edb6a3bbe1b01f73ecf5a1bb691","scripts":{"doc":"typedoc","lint":"eslint ts_src/** src/**/*.js","test":"npm run build && npm run format:ci && npm run lint && npm run nobuild:coverage","unit":"npm run build && npm run nobuild:unit","audit":"better-npm-audit audit -l high","build":"npm run clean && tsc -p ./tsconfig.json && npm run formatjs","clean":"rimraf src","format":"npm run prettier -- --write","coverage":"npm run build && npm run nobuild:coverage","formatjs":"npm run prettierjs -- --write","mocha:ts":"mocha --recursive --require test/ts-node-register","prettier":"prettier \"ts_src/**/*.ts\" \"test/**/*.ts\" --ignore-path ./.prettierignore","format:ci":"npm run prettier -- --check && npm run prettierjs -- --check","gitdiff:ci":"npm run build && git diff --exit-code","lint:tests":"eslint test/**/*.spec.ts","prettierjs":"prettier \"src/**/*.js\" --ignore-path ./.prettierignore","build:tests":"npm run clean:jstests && tsc -p ./test/tsconfig.json","integration":"npm run build && npm run nobuild:integration","nobuild:unit":"npm run mocha:ts -- 'test/*.ts'","clean:jstests":"rimraf 'test/**/!(ts-node-register)*.js'","coverage-html":"npm run build && npm run nobuild:coverage-html","coverage-report":"npm run build && npm run nobuild:coverage-report","nobuild:coverage":"npm run build:tests && nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha && npm run clean:jstests","nobuild:integration":"npm run mocha:ts -- --timeout 50000 'test/integration/*.ts'","nobuild:coverage-html":"nyc report --reporter=html","nobuild:coverage-report":"nyc report --reporter=lcov"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c88b462a-d82e-4330-890f-28051d40f08c"}},"repository":{"url":"git+https://github.com/Doichain/doichainjs-lib.git","type":"git"},"_npmVersion":"11.19.0","description":"Doichain JavaScript library: addresses, scripts, transactions, PSBTs and name operations (a fork of bitcoinjs-lib)","directories":{},"_nodeVersion":"24.20.0","dependencies":{"bech32":"^2.0.0","bip174":"^2.1.1","bs58check":"^3.0.1","typeforce":"^1.11.3","@noble/hashes":"^1.2.0","varuint-bitcoin":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","bs58":"^4.0.0","bip32":"^4.0.0","bip39":"^3.1.0","bip65":"^1.0.1","bip68":"^1.0.3","dhttp":"^3.0.0","mocha":"^10.6.0","ecpair":"^2.0.1","eslint":"^8.29.0","rimraf":"^2.6.3","ts-node":"^8.3.0","typedoc":"^0.25.1","hoodwink":"^2.0.0","prettier":"^2.8.0","proxyquire":"^2.0.1","typescript":"^4.4.4","@types/bs58":"^4.0.0","@types/node":"^16.11.7","minimaldata":"^1.0.2","randombytes":"^2.1.0","@types/mocha":"^5.2.7","regtest-client":"0.2.0","tiny-secp256k1":"^2.2.0","@types/bs58check":"^2.1.0","better-npm-audit":"^3.7.3","@types/proxyquire":"^1.3.28","@types/randombytes":"^2.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.45.0","@typescript-eslint/eslint-plugin":"^5.45.0"},"_npmOperationalInternal":{"tmp":"tmp/doichainjs-lib_6.2.0_1789642018114_0.04264356586424389","host":"s3://npm-registry-packages-npm-production"}},"6.3.0":{"name":"@doichain/doichainjs-lib","version":"6.3.0","keywords":["doichain","namecoin","name operations","psbt","bitcoinjs","bitcoin","javascript"],"license":"MIT","_id":"@doichain/doichainjs-lib@6.3.0","maintainers":[{"name":"nandiji","email":"nico@le-space.de"},{"name":"davidreband","email":"david.reband@gmail.com"}],"homepage":"https://github.com/Doichain/doichainjs-lib#readme","bugs":{"url":"https://github.com/Doichain/doichainjs-lib/issues"},"dist":{"shasum":"cf2978f2100c9c66a007e626cfbd44180b05760d","tarball":"https://registry.npmjs.org/@doichain/doichainjs-lib/-/doichainjs-lib-6.3.0.tgz","fileCount":69,"integrity":"sha512-ZQUsFzxj0+K2DgJODFkm+hpJI5SSkUhW9tgeWmfnogBo/NfuyoCNb9qMnhEgq2wfTyH8VX1EUjfGMg7e5Ks1ZQ==","signatures":[{"sig":"MEUCIQDso8izZ+ee3yCAe8iqUaPu7AKAyTd3FLbjCZd2yFg+gQIgFQmgLJSD30DBIFUBc0Mc/5JeADhMv+oEa70cOvV5CHY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDSosCqCR8FiCJ0Ihus0xEhUHWTDBWnmt8/2lhGRcmT1AIgfiJ5Xg3aXttK7DxgIswn8xWM4ewuzqMiB5dtfYdNkd4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@doichain%2fdoichainjs-lib@6.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":282219},"main":"./src/index.js","types":"./src/index.d.ts","engines":{"node":">=8.0.0"},"gitHead":"796a3af44219ea56d15eb064a6552c58f8ce1ba9","scripts":{"doc":"typedoc","lint":"eslint ts_src/** src/**/*.js","test":"npm run build && npm run format:ci && npm run lint && npm run nobuild:coverage","unit":"npm run build && npm run nobuild:unit","audit":"better-npm-audit audit -l high","build":"npm run clean && tsc -p ./tsconfig.json && npm run formatjs","clean":"rimraf src","format":"npm run prettier -- --write","coverage":"npm run build && npm run nobuild:coverage","formatjs":"npm run prettierjs -- --write","mocha:ts":"mocha --recursive --require test/ts-node-register","prettier":"prettier \"ts_src/**/*.ts\" \"test/**/*.ts\" --ignore-path ./.prettierignore","format:ci":"npm run prettier -- --check && npm run prettierjs -- --check","gitdiff:ci":"npm run build && git diff --exit-code","lint:tests":"eslint test/**/*.spec.ts","prettierjs":"prettier \"src/**/*.js\" --ignore-path ./.prettierignore","build:tests":"npm run clean:jstests && tsc -p ./test/tsconfig.json","integration":"npm run build && npm run nobuild:integration","nobuild:unit":"npm run mocha:ts -- 'test/*.ts'","clean:jstests":"rimraf 'test/**/!(ts-node-register)*.js'","coverage-html":"npm run build && npm run nobuild:coverage-html","coverage-report":"npm run build && npm run nobuild:coverage-report","nobuild:coverage":"npm run build:tests && nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha && npm run clean:jstests","nobuild:integration":"npm run mocha:ts -- --timeout 50000 'test/integration/*.ts'","nobuild:coverage-html":"nyc report --reporter=html","nobuild:coverage-report":"nyc report --reporter=lcov"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c88b462a-d82e-4330-890f-28051d40f08c"}},"repository":{"url":"git+https://github.com/Doichain/doichainjs-lib.git","type":"git"},"_npmVersion":"11.19.0","description":"Doichain JavaScript library: addresses, scripts, transactions, PSBTs and name operations (a fork of bitcoinjs-lib)","directories":{},"_nodeVersion":"24.20.0","dependencies":{"bech32":"^2.0.0","bip174":"^2.1.1","bs58check":"^3.0.1","typeforce":"^1.11.3","@noble/hashes":"^1.2.0","varuint-bitcoin":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","bs58":"^4.0.0","bip32":"^4.0.0","bip39":"^3.1.0","bip65":"^1.0.1","bip68":"^1.0.3","dhttp":"^3.0.0","mocha":"^10.6.0","ecpair":"^2.0.1","eslint":"^8.29.0","rimraf":"^2.6.3","ts-node":"^8.3.0","typedoc":"^0.25.1","hoodwink":"^2.0.0","prettier":"^2.8.0","proxyquire":"^2.0.1","typescript":"^4.4.4","@types/bs58":"^4.0.0","@types/node":"^16.11.7","minimaldata":"^1.0.2","randombytes":"^2.1.0","@types/mocha":"^5.2.7","regtest-client":"0.2.0","tiny-secp256k1":"^2.2.0","@types/bs58check":"^2.1.0","better-npm-audit":"^3.7.3","@types/proxyquire":"^1.3.28","@types/randombytes":"^2.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.45.0","@typescript-eslint/eslint-plugin":"^5.45.0"},"_npmOperationalInternal":{"tmp":"tmp/doichainjs-lib_6.3.0_1789725936999_0.21744079153509532","host":"s3://npm-registry-packages-npm-production"}},"6.4.0":{"_id":"@doichain/doichainjs-lib@6.4.0","bugs":{"url":"https://github.com/Doichain/doichainjs-lib/issues"},"dist":{"shasum":"a60efe90c4aa260fbbb30371d07f36ecd7303bb6","tarball":"https://registry.npmjs.org/@doichain/doichainjs-lib/-/doichainjs-lib-6.4.0.tgz","fileCount":71,"integrity":"sha512-Tpx/hRWRDEFJhXvcpZHGOgZA6/1VWco6quFFtCst1l+S3CIK0v+mt4uNr0QgzLzrLboyPWkloiWM30OTZz/0yg==","signatures":[{"sig":"MEQCIGB3y/AjQ80G37SAmveruA9s/nxtfx+X1eeEgfBG4JnoAiAvpp2XLjN4iz+pt6Zlhk3O5OwPOr1nDmPLHDb2RuxMVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDNNbGbvX9LeWVYaqiasd/H7H8r309JQ+zdlU1Yl6NAyQIhALNQFVUcTy+ZJb8mLavQs3mAtKGwq+xDH82nMPjZnQWa"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@doichain%2fdoichainjs-lib@6.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":298490},"main":"./src/index.js","name":"@doichain/doichainjs-lib","types":"./src/index.d.ts","engines":{"node":">=8.0.0"},"gitHead":"d4f76bba60f611b4e25bdbf4a5fb302598be89d4","license":"MIT","scripts":{"doc":"typedoc","lint":"eslint ts_src/** src/**/*.js","test":"npm run build && npm run format:ci && npm run lint && npm run nobuild:coverage","unit":"npm run build && npm run nobuild:unit","audit":"better-npm-audit audit -l high","build":"npm run clean && tsc -p ./tsconfig.json && npm run formatjs","clean":"rimraf src","format":"npm run prettier -- --write","coverage":"npm run build && npm run nobuild:coverage","formatjs":"npm run prettierjs -- --write","mocha:ts":"mocha --recursive --require test/ts-node-register","prettier":"prettier \"ts_src/**/*.ts\" \"test/**/*.ts\" --ignore-path ./.prettierignore","format:ci":"npm run prettier -- --check && npm run prettierjs -- --check","gitdiff:ci":"npm run build && git diff --exit-code","lint:tests":"eslint test/**/*.spec.ts","prettierjs":"prettier \"src/**/*.js\" --ignore-path ./.prettierignore","build:tests":"npm run clean:jstests && tsc -p ./test/tsconfig.json","integration":"npm run build && npm run nobuild:integration","nobuild:unit":"npm run mocha:ts -- 'test/*.ts'","clean:jstests":"rimraf 'test/**/!(ts-node-register)*.js'","coverage-html":"npm run build && npm run nobuild:coverage-html","coverage-report":"npm run build && npm run nobuild:coverage-report","nobuild:coverage":"npm run build:tests && nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha && npm run clean:jstests","nobuild:integration":"npm run mocha:ts -- --timeout 50000 'test/integration/*.ts'","nobuild:coverage-html":"nyc report --reporter=html","nobuild:coverage-report":"nyc report --reporter=lcov"},"version":"6.4.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c88b462a-d82e-4330-890f-28051d40f08c"}},"homepage":"https://github.com/Doichain/doichainjs-lib#readme","keywords":["doichain","namecoin","name operations","psbt","bitcoinjs","bitcoin","javascript"],"repository":{"url":"git+https://github.com/Doichain/doichainjs-lib.git","type":"git"},"_npmVersion":"11.19.0","description":"Doichain JavaScript library: addresses, scripts, transactions, PSBTs and name operations (a fork of bitcoinjs-lib)","directories":{},"maintainers":[{"name":"nandiji","email":"nico@le-space.de"},{"name":"davidreband","email":"david.reband@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"bech32":"^2.0.0","bip174":"^2.1.1","bs58check":"^3.0.1","typeforce":"^1.11.3","@noble/hashes":"^1.2.0","varuint-bitcoin":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","bs58":"^4.0.0","bip32":"^4.0.0","bip39":"^3.1.0","bip65":"^1.0.1","bip68":"^1.0.3","dhttp":"^3.0.0","mocha":"^10.6.0","ecpair":"^2.0.1","eslint":"^8.29.0","rimraf":"^2.6.3","ts-node":"^8.3.0","typedoc":"^0.25.1","hoodwink":"^2.0.0","prettier":"^2.8.0","proxyquire":"^2.0.1","typescript":"^4.4.4","@types/bs58":"^4.0.0","@types/node":"^16.11.7","minimaldata":"^1.0.2","randombytes":"^2.1.0","@types/mocha":"^5.2.7","regtest-client":"0.2.0","tiny-secp256k1":"^2.2.0","@types/bs58check":"^2.1.0","better-npm-audit":"^3.7.3","@types/proxyquire":"^1.3.28","@types/randombytes":"^2.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.45.0","@typescript-eslint/eslint-plugin":"^5.45.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/doichainjs-lib_6.4.0_1789813265004_0.3021007846407533"}}},"time":{"created":"2024-08-22T12:08:40.608Z","modified":"2026-09-19T10:21:05.423Z","6.1.6":"2024-08-22T12:08:40.912Z","6.1.7":"2024-10-24T08:06:13.746Z","6.2.0":"2026-09-17T10:46:58.189Z","6.3.0":"2026-09-18T10:05:37.079Z","6.4.0":"2026-09-19T10:21:05.100Z"},"bugs":{"url":"https://github.com/Doichain/doichainjs-lib/issues"},"license":"MIT","homepage":"https://github.com/Doichain/doichainjs-lib#readme","keywords":["doichain","namecoin","name operations","psbt","bitcoinjs","bitcoin","javascript"],"repository":{"url":"git+https://github.com/Doichain/doichainjs-lib.git","type":"git"},"description":"Doichain JavaScript library: addresses, scripts, transactions, PSBTs and name operations (a fork of bitcoinjs-lib)","maintainers":[{"name":"nandiji","email":"nico@le-space.de"},{"name":"davidreband","email":"david.reband@gmail.com"}],"readme":"# doichainjs-lib\n\n[![npm](https://img.shields.io/npm/v/@doichain/doichainjs-lib.svg)](https://www.npmjs.com/package/@doichain/doichainjs-lib)\n[![license: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n\nA JavaScript library for [Doichain](https://github.com/Doichain) in Node.js and the browser. It builds, signs and checks addresses, scripts, transactions and PSBTs, including Doichain's name operations. Private keys never leave your code.\n\ndoichainjs-lib is a fork of [bitcoinjs-lib](https://github.com/bitcoinjs/bitcoinjs-lib) 6.1.6, written in TypeScript. Everything bitcoinjs-lib does works the same way here, including its safety checks for PSBTs. This README covers what Doichain adds.\n\n## What Doichain adds\n\n| API | What it does |\n| --- | --- |\n| `networks.doichain`, `networks.doichainTestnet`, `networks.doichainRegtest` | Doichain's network parameters from Doichain Core. |\n| `nameops.nameDoiScript(name, value, owner)` | Builds the output script that registers, transfers or updates a name (`OP_NAME_DOI`), with the byte limits of Doichain Core. |\n| `nameops.nameScriptOwner(script)` | Returns the owner's script behind a name prefix (`OP_NAME_DOI`, `OP_NAME_NEW`, `OP_NAME_FIRSTUPDATE`, `OP_NAME_UPDATE`), parsed like Namecoin's `CNameScript`. |\n| `address.fromOutputScript(script, network)` | Also returns the holder's address for a name output, for every standard owner type. |\n| `Psbt` | Signs and finalizes name inputs held by P2PKH addresses (signature in the scriptSig) and by P2WPKH addresses (BIP143, signature in the witness). |\n| `payments.p2pkhNonstandard`, `payments.p2wpkhNonstandard` | Payments for name outputs held by P2PKH and P2WPKH addresses. |\n| `nameops.nameIndexScript(name)`, `nameops.nameIndexScriptHash(name)` | The script and the Electrum script hash under which ElectrumX indexes a name, for looking names up with `blockchain.scripthash.get_history`. |\n\n## Installation\n\n```bash\nnpm install @doichain/doichainjs-lib ecpair tiny-secp256k1\n```\n\n`ecpair` handles single keys and `tiny-secp256k1` provides the elliptic curve. Add `bip32` for HD keys.\n\n## Networks\n\n`networks` holds Doichain's parameters next to Bitcoin's. The prefixes come from `chainparams.cpp` in Doichain Core:\n\n| | `networks.doichain` | `networks.doichainTestnet` | `networks.doichainRegtest` |\n| --- | --- | --- | --- |\n| bech32 prefix | `dc` | `td` | `ncrt` |\n| P2PKH / P2SH version | 52 / 13 | 111 / 196 | 111 / 196 |\n| WIF version | 180 | 239 | 239 |\n| BIP32 public / private | `0x0488b21e` / `0x0488ade4` | `0x043587cf` / `0x04358394` | `0x043587cf` / `0x04358394` |\n\nPass the network to every function that takes one, since the default is Bitcoin.\n\n## Usage\n\n### Register a name\n\n```ts\nimport { address, nameops, networks, Psbt } from '@doichain/doichainjs-lib';\n\nconst psbt = new Psbt({ network: networks.doichain });\npsbt.setVersion(0x7100); // name transactions\npsbt.addOutput({\n  script: nameops.nameDoiScript(\n    name.normalize('NFC'),\n    value,\n    address.toOutputScript(holderAddress, networks.doichain),\n  ),\n  value: 1_000_000, // locked in the name output\n});\n```\n\n### Find out who holds a name\n\n```ts\nimport { address, nameops, networks } from '@doichain/doichainjs-lib';\n\nconst owner = nameops.nameScriptOwner(output); // undefined if the output carries no name\nconst holder = address.fromOutputScript(output, networks.doichain);\n```\n\n### Talk to an ElectrumX server\n\n```ts\nimport { electrum, nameops, networks } from '@doichain/doichainjs-lib';\n\nconst client = new electrum.ElectrumClient('wss://electrum.example:50004/');\nawait client.connect();\n\n// a server answers with whatever chain its node follows, so check it first\nconst chain = await electrum.verifyChain(client, networks.doichain);\nif (!chain.ok) throw new Error(`this server is on another chain: ${chain.reason}`);\n\nconst history = await client.request('blockchain.scripthash.get_history', [\n  nameops.nameIndexScriptHash('my-name'),\n]);\nclient.on('blockchain.headers.subscribe', ([header]) => console.log(header.height));\nawait client.request('blockchain.headers.subscribe');\n```\n\nThe client keeps an idle connection open with a ping and says through `onclose` when the connection is gone; which server to try next is the application's decision. Node 22 and every browser have a `WebSocket`; an older runtime can pass one (`new electrum.ElectrumClient(url, { webSocket })`).\n\n### Sign the name input of a purchase\n\n```ts\nimport { networks, Psbt } from '@doichain/doichainjs-lib';\nimport ECPairFactory from 'ecpair';\nimport * as ecc from 'tiny-secp256k1';\n\nconst ECPair = ECPairFactory(ecc);\nconst psbt = Psbt.fromBase64(psbtBase64, { network: networks.doichain });\npsbt.signInput(nameInputIndex, ECPair.fromWIF(holderWif, networks.doichain));\nconst tx = psbt.finalizeAllInputs().extractTransaction();\n```\n\nInputs spent without a witness, including names held by P2PKH addresses, need `nonWitnessUtxo`, the full previous transaction. Inputs spent with a witness can use `witnessUtxo` instead. Building and spending name outputs is covered in [Name operations](guides/name-operations.md).\n\n## Documentation\n\n- [Name operations](guides/name-operations.md): the script layout and its limits, and how to build, spend and trade names.\n- [API reference](https://doichain.github.io/doichainjs-lib/), built from the JSDoc. `npm run doc` writes it to `docs/`.\n- For everything that is not specific to Doichain, the [bitcoinjs-lib documentation](https://bitcoinjs.github.io/bitcoinjs-lib/) and its [examples](https://github.com/bitcoinjs/bitcoinjs-lib/tree/v6.1.6/test/integration) apply.\n\n## Security\n\n- Read bitcoinjs-lib's [usage notes](https://github.com/bitcoinjs/bitcoinjs-lib/tree/v6.1.6#usage) on random numbers, `Buffer` and best practice. They apply here unchanged.\n- Show users a freshly decoded version of every transaction before they sign it, including the name, value and holder of every name output.\n- Keep the PSBT checks on. Signing a non-segwit input without its previous transaction lets a PSBT lie about amounts, and so about the fee.\n- From 6.2.0 on, releases are published by GitHub Actions with npm provenance. `npm audit signatures` checks that the version you installed was built from this repository. Earlier versions were uploaded by hand and carry no provenance.\n- Report security problems privately through [a security advisory](https://github.com/Doichain/doichainjs-lib/security/advisories/new), not in a public issue. See [SECURITY.md](SECURITY.md).\n\n## Development\n\n```bash\nnpm ci\nnpm run build   # compiles ts_src/ into src/, which is committed too\nnpm run unit    # build, then unit tests\nnpm test        # build, format check, lint and coverage\n```\n\nChange the TypeScript sources in `ts_src/` and commit the regenerated `src/` with them. The tests in `test/nameops.spec.ts` compare signatures with transactions that a Doichain Core regtest node accepted (`test/fixtures/nameops.json`).\n\nTo release, raise `version` in `package.json` and add a CHANGELOG entry in a pull request. Once it is merged, publish a GitHub release tagged `v<version>` on `master`. The [publish workflow](.github/workflows/publish.yml) runs the tests and publishes to npm. A release marked as pre-release goes to the `next` tag.\n\n## License\n\nMIT, see [LICENSE](LICENSE). Based on [bitcoinjs-lib](https://github.com/bitcoinjs/bitcoinjs-lib) by its contributors.\n","readmeFilename":"README.md"}