Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@bitgo/unspents

Package Overview
Dependencies
Maintainers
15
Versions
140
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bitgo/unspents

Defines the chain codes used for different unspent types and methods to calculate bitcoin transaction sizes

  • 0.47.16
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4.2K
increased by7.6%
Maintainers
15
Weekly downloads
 
Created
Source

@bitgo/unspents

The package provides a Dimensions class with methods to calculate bitcoin transaction sizes

Installation

npm install --save @bitgo/unspents

Dimensions, Virtual Size Estimation

The transaction vSize is critical to calculating the proper transaction fee.

The class unspents.Dimensions provides a class that helps work with the components required to calculate an accurate estimate of a transaction vSize.

Examples

import { Codes, Dimensions } from '@bitgo/unspents';
// using raw attributes
new Dimensions({
  nP2shInputs: 1,
  nP2shP2wshInputs: 1,
  nP2wshInputs: 1,
  outputs: { count: 1, size: 32 },
});

// calculate from unspents that have `chain` property (see Chain Codes)
Dimensions.fromUnspents(unspent[0]);
Dimensions.fromUnspents(unspents);

// Signed inputs work too
Dimensions.fromInput(inputs[0]);
Dimensions.fromInputs(inputs);

// Transaction outputs
Dimensions.fromOutputs(outputs[0]);
Dimensions.fromOutputs(outputs);
Dimensions.fromOutputOnChain(Codes.p2sh.internal);
Dimensions.fromOutputScriptLength(31);

// Combining dimensions and estimating their vSize
Dimensions.fromUnspents({ unspents })
  .plus(Dimensions.fromOutputOnChain(Codes.p2shP2wsh.internal).times(nOutputs))
  .getVSize();

Publishing new versions

Publishing new versions should be done by running the publish script in scripts/publish.sh.

It can be invoked with the name of the branch to release, and will default to the currently checked out branch if not given.

It will perform validation of all prepublish conditions, run a dry-run publish, then, if successful, a real publish. After that is complete, the newly installed package will be downloaded and require()'d to ensure the package was published correctly.

Continuous Integration

@bitgo/unspents uses github actions for continuous integration, which is configured by the .github/workflows/ci.yml file in the project root. All changes to the CI process should be done by modifying the .github/workflows/ci.yml file.

Codes

The exported Codes module is now deprecated.

Please use utxo-lib/src/bitgo/wallet/chains instead.

Keywords

FAQs

Package last updated on 26 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

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