Socket
Socket
Sign inDemoInstall

@liquality/bitcoin-utils

Package Overview
Dependencies
Maintainers
6
Versions
190
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@liquality/bitcoin-utils - npm Package Compare versions

Comparing version 1.9.3 to 1.10.0

2

dist/index.js

@@ -1,2 +0,2 @@

(()=>{"use strict";var e={175:function(e,t,r){var i,s=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return n(t,e),t},a=this&&this.__spreadArray||function(e,t){for(var r=0,i=t.length,s=e.length;r<i;r++,s++)e[s]=t[r];return e},u=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.validateAddress=t.getPubKeyHash=t.AddressTypes=t.witnessStackToScriptWitness=t.normalizeTransactionObject=t.decodeRawTransaction=t.selectCoins=t.getAddressNetwork=t.compressPubKey=t.calculateFee=void 0;var c=r(746),d=r(650),f=r(463),l=r(754),p=r(804),h=u(r(224)),v=o(r(264)),b=o(r(328)),g=o(r(605)),x=u(r(803)),y=u(r(963));t.AddressTypes=["legacy","p2sh-segwit","bech32"],t.calculateFee=function(e,t,r){return(148*e+34*t+10)*r},t.compressPubKey=function(e){var t=e.substring(2,66),r=e.substring(66,130);return(parseInt(r.substring(62,64),16)%2==0?"02":"03")+t},t.getAddressNetwork=function(e){var t;if(!(t=p.findKey(d.BitcoinNetworks,(function(t){return e.startsWith(t.bech32)})))){var r=c.base58.decode(e).toString("hex").substring(0,2);t=p.findKey(d.BitcoinNetworks,(function(e){return[c.padHexStart(e.pubKeyHash.toString(16),1),c.padHexStart(e.scriptHash.toString(16),1)].includes(r)}))}return d.BitcoinNetworks[t]},t.selectCoins=function(e,t,r,i){void 0===i&&(i=[]);var s=e,n=i.length?y.default:x.default;i.length&&(s=a(a([],i),e.filter((function(e){return!i.find((function(t){return t.vout===e.vout&&t.txid===e.txid}))}))));var o,u=n(s,t,Math.ceil(r)),c=u.inputs,d=u.outputs,f=u.fee;return c&&d&&(o=d.find((function(e){return"main"!==e.id}))),{inputs:c,outputs:d,fee:f,change:o}};var m=((i={})[b.types.P2WPKH]="witness_v0_keyhash",i[b.types.P2WSH]="witness_v0_scripthash",i);function w(e,t){var r=v.address.toOutputScript(e,t),i=b.output(r);if(![b.types.P2PKH,b.types.P2WPKH].includes(i))throw new Error("Bitcoin swap doesn't support the address "+e+" type of "+i+". Not possible to derive public key hash.");try{return v.address.fromBech32(e).data}catch(t){return v.address.fromBase58Check(e).hash}}t.decodeRawTransaction=function(e,t){var r=v.Transaction.fromHex(e),i=r.ins.map((function(e){return{txid:Buffer.from(e.hash).reverse().toString("hex"),vout:e.index,scriptSig:{asm:v.script.toASM(e.script),hex:e.script.toString("hex")},txinwitness:e.witness.map((function(e){return e.toString("hex")})),sequence:e.sequence}})),s=r.outs.map((function(e,r){var i=b.output(e.script),s={value:e.value/1e8,n:r,scriptPubKey:{asm:v.script.toASM(e.script),hex:e.script.toString("hex"),reqSigs:1,type:m[i]||i,addresses:[]}};try{var n=v.address.fromOutputScript(e.script,t);s.scriptPubKey.addresses.push(n)}catch(e){}return s}));return{txid:r.getHash(!1).reverse().toString("hex"),hash:r.getHash(!0).reverse().toString("hex"),version:r.version,locktime:r.locktime,size:r.byteLength(),vsize:r.virtualSize(),weight:r.weight(),vin:i,vout:s,hex:e}},t.normalizeTransactionObject=function(e,t,r){var i=e.vout.reduce((function(e,t){return e.plus(new h.default(t.value).times(1e8))}),new h.default(0)),s={hash:e.txid,value:i.toNumber(),_raw:e,confirmations:0};if(t){var n=Math.round(t/e.vsize);Object.assign(s,{fee:t,feePrice:n})}return r&&Object.assign(s,{blockHash:r.hash,blockNumber:r.number,confirmations:e.confirmations}),s},t.witnessStackToScriptWitness=function(e){var t,r=Buffer.allocUnsafe(0);function i(e){var t=r.length,i=g.encodingLength(e);r=Buffer.concat([r,Buffer.allocUnsafe(i)]),g.encode(e,r,t)}return i((t=e).length),t.forEach((function(e){i(e.length),function(e){r=Buffer.concat([r,Buffer.from(e)])}(e)})),r},t.getPubKeyHash=w,t.validateAddress=function(e,t){var r,i=f.addressToString(e);if("string"!=typeof i)throw new l.InvalidAddressError("Invalid address: "+i);try{r=w(i,t)}catch(e){throw new l.InvalidAddressError("Invalid Address. Failed to parse: "+i)}if(!r)throw new l.InvalidAddressError("Invalid Address: "+i)}},650:e=>{e.exports=require("@liquality/bitcoin-networks")},746:e=>{e.exports=require("@liquality/crypto")},754:e=>{e.exports=require("@liquality/errors")},463:e=>{e.exports=require("@liquality/utils")},224:e=>{e.exports=require("bignumber.js")},605:e=>{e.exports=require("bip174/src/lib/converter/varint")},264:e=>{e.exports=require("bitcoinjs-lib")},328:e=>{e.exports=require("bitcoinjs-lib/src/classify")},803:e=>{e.exports=require("coinselect")},963:e=>{e.exports=require("coinselect/accumulative")},804:e=>{e.exports=require("lodash")}},t={},r=function r(i){var s=t[i];if(void 0!==s)return s.exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,r),n.exports}(175);module.exports=r})();
(()=>{"use strict";var e={175:function(e,t,r){var i,s=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return n(t,e),t},u=this&&this.__spreadArray||function(e,t){for(var r=0,i=t.length,s=e.length;r<i;r++,s++)e[s]=t[r];return e},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.validateAddress=t.getPubKeyHash=t.AddressTypes=t.witnessStackToScriptWitness=t.normalizeTransactionObject=t.decodeRawTransaction=t.selectCoins=t.getAddressNetwork=t.compressPubKey=t.calculateFee=void 0;var c=r(746),d=r(650),f=r(275),l=r(463),p=r(754),h=r(804),v=a(r(224)),g=o(r(264)),b=o(r(328)),x=o(r(605)),y=a(r(803)),m=a(r(963));t.AddressTypes=["legacy","p2sh-segwit","bech32"],t.calculateFee=function(e,t,r){return(148*e+34*t+10)*r},t.compressPubKey=function(e){var t=e.substring(2,66),r=e.substring(66,130);return(parseInt(r.substring(62,64),16)%2==0?"02":"03")+t},t.getAddressNetwork=function(e){var t;if(!(t=h.findKey(d.BitcoinNetworks,(function(t){return e.startsWith(t.bech32)})))){var r=c.base58.decode(e).toString("hex").substring(0,2);t=h.findKey(d.BitcoinNetworks,(function(e){return[c.padHexStart(e.pubKeyHash.toString(16),1),c.padHexStart(e.scriptHash.toString(16),1)].includes(r)}))}return d.BitcoinNetworks[t]},t.selectCoins=function(e,t,r,i){void 0===i&&(i=[]);var s=e,n=i.length?m.default:y.default;i.length&&(s=u(u([],i),e.filter((function(e){return!i.find((function(t){return t.vout===e.vout&&t.txid===e.txid}))}))));var o,a=n(s,t,Math.ceil(r)),c=a.inputs,d=a.outputs,f=a.fee;return c&&d&&(o=d.find((function(e){return"main"!==e.id}))),{inputs:c,outputs:d,fee:f,change:o}};var w=((i={})[b.types.P2WPKH]="witness_v0_keyhash",i[b.types.P2WSH]="witness_v0_scripthash",i);function S(e,t){var r=g.address.toOutputScript(e,t),i=b.output(r);if(![b.types.P2PKH,b.types.P2WPKH].includes(i))throw new Error("Bitcoin swap doesn't support the address "+e+" type of "+i+". Not possible to derive public key hash.");try{return g.address.fromBech32(e).data}catch(t){return g.address.fromBase58Check(e).hash}}t.decodeRawTransaction=function(e,t){var r=g.Transaction.fromHex(e),i=r.ins.map((function(e){return{txid:Buffer.from(e.hash).reverse().toString("hex"),vout:e.index,scriptSig:{asm:g.script.toASM(e.script),hex:e.script.toString("hex")},txinwitness:e.witness.map((function(e){return e.toString("hex")})),sequence:e.sequence}})),s=r.outs.map((function(e,r){var i=b.output(e.script),s={value:e.value/1e8,n:r,scriptPubKey:{asm:g.script.toASM(e.script),hex:e.script.toString("hex"),reqSigs:1,type:w[i]||i,addresses:[]}};try{var n=g.address.fromOutputScript(e.script,t);s.scriptPubKey.addresses.push(n)}catch(e){}return s}));return{txid:r.getHash(!1).reverse().toString("hex"),hash:r.getHash(!0).reverse().toString("hex"),version:r.version,locktime:r.locktime,size:r.byteLength(),vsize:r.virtualSize(),weight:r.weight(),vin:i,vout:s,hex:e}},t.normalizeTransactionObject=function(e,t,r){var i=e.vout.reduce((function(e,t){return e.plus(new v.default(t.value).times(1e8))}),new v.default(0)),s={hash:e.txid,value:i.toNumber(),_raw:e,confirmations:0,status:e.confirmations>0?f.TxStatus.Success:f.TxStatus.Pending};if(t){var n=Math.round(t/e.vsize);Object.assign(s,{fee:t,feePrice:n})}return r&&Object.assign(s,{blockHash:r.hash,blockNumber:r.number,confirmations:e.confirmations}),s},t.witnessStackToScriptWitness=function(e){var t,r=Buffer.allocUnsafe(0);function i(e){var t=r.length,i=x.encodingLength(e);r=Buffer.concat([r,Buffer.allocUnsafe(i)]),x.encode(e,r,t)}return i((t=e).length),t.forEach((function(e){i(e.length),function(e){r=Buffer.concat([r,Buffer.from(e)])}(e)})),r},t.getPubKeyHash=S,t.validateAddress=function(e,t){var r,i=l.addressToString(e);if("string"!=typeof i)throw new p.InvalidAddressError("Invalid address: "+i);try{r=S(i,t)}catch(e){throw new p.InvalidAddressError("Invalid Address. Failed to parse: "+i)}if(!r)throw new p.InvalidAddressError("Invalid Address: "+i)}},650:e=>{e.exports=require("@liquality/bitcoin-networks")},746:e=>{e.exports=require("@liquality/crypto")},754:e=>{e.exports=require("@liquality/errors")},275:e=>{e.exports=require("@liquality/types")},463:e=>{e.exports=require("@liquality/utils")},224:e=>{e.exports=require("bignumber.js")},605:e=>{e.exports=require("bip174/src/lib/converter/varint")},264:e=>{e.exports=require("bitcoinjs-lib")},328:e=>{e.exports=require("bitcoinjs-lib/src/classify")},803:e=>{e.exports=require("coinselect")},963:e=>{e.exports=require("coinselect/accumulative")},804:e=>{e.exports=require("lodash")}},t={},r=function r(i){var s=t[i];if(void 0!==s)return s.exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,r),n.exports}(175);module.exports=r})();
//# sourceMappingURL=index.js.map
import { base58, padHexStart } from '@liquality/crypto'
import { BitcoinNetworks, BitcoinNetwork } from '@liquality/bitcoin-networks'
import { Address, Transaction, bitcoin as bT } from '@liquality/types'
import { Address, Transaction, bitcoin as bT, TxStatus } from '@liquality/types'
import { addressToString } from '@liquality/utils'

@@ -166,3 +166,4 @@ import { InvalidAddressError } from '@liquality/errors'

_raw: tx,
confirmations: 0
confirmations: 0,
status: tx.confirmations > 0 ? TxStatus.Success : TxStatus.Pending
}

@@ -169,0 +170,0 @@

{
"name": "@liquality/bitcoin-utils",
"version": "1.9.3",
"version": "1.10.0",
"description": "",

@@ -23,7 +23,7 @@ "module": "dist/index.js",

"@babel/runtime": "^7.12.1",
"@liquality/bitcoin-networks": "^1.9.3",
"@liquality/crypto": "^1.9.3",
"@liquality/errors": "^1.9.3",
"@liquality/types": "^1.9.3",
"@liquality/utils": "^1.9.3",
"@liquality/bitcoin-networks": "^1.10.0",
"@liquality/crypto": "^1.10.0",
"@liquality/errors": "^1.10.0",
"@liquality/types": "^1.10.0",
"@liquality/utils": "^1.10.0",
"bignumber.js": "^9.0.0",

@@ -52,3 +52,3 @@ "bip174": "^2.0.1",

"sideEffects": false,
"gitHead": "6a675b0c5f81275d447ea75277ab65faa84bc99d"
"gitHead": "cdaeb73f9558244f97de704ef27aac735d498e7f"
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc