Skip to content

WebAssembly SDK components for BitGo

Notifications You must be signed in to change notification settings

BitGo/BitGoWASM

Repository files navigation

BitGoWASM

This repo is the home of BitGo's WASM libraries.

Dependencies

Developer Setup

npm install

This will:

  • Install all dependencies
  • Set up pre-commit hooks via Husky

Pre-commit hooks automatically run on staged files:

  • JS/TS: Prettier formatting + ESLint
  • Rust: cargo fmt + cargo clippy

Package Management

This monorepo uses Lerna for managing package versions and publishing to npm.

Versioning

Packages use independent versioning with Conventional Commits to automatically determine version bumps:

  • fix: commits trigger patch releases (0.0.x)
  • feat: commits trigger minor releases (0.x.0)
  • BREAKING CHANGE: in commit body triggers major releases (x.0.0)

Publishing

Publishing is automated via GitHub Actions when changes are pushed to master or beta branches. The workflow:

  1. Builds all packages
  2. Runs tests
  3. Uses Lerna to analyze commits since last release
  4. Automatically versions and publishes changed packages

To manually publish (if needed):

npx lerna publish

To see what would be published without actually publishing:

npx lerna changed

Packages

wasm-utxo

This is a wrapper around the rust-bitcoin and rust-miniscript crates that is compiled to WebAssembly.

wasm-utxo-web

A live playground for the wasm-utxo crate.

Go to https://bitgo.github.io/wasm-utxo to see a live demo of the wasm-utxo library in action. WIP

About

WebAssembly SDK components for BitGo

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 12