This repo is the home of BitGo's WASM libraries.
npm installThis 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
This monorepo uses Lerna for managing package versions and publishing to npm.
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 is automated via GitHub Actions when changes are pushed to master or beta branches. The workflow:
- Builds all packages
- Runs tests
- Uses Lerna to analyze commits since last release
- Automatically versions and publishes changed packages
To manually publish (if needed):
npx lerna publishTo see what would be published without actually publishing:
npx lerna changedThis is a wrapper around the rust-bitcoin and rust-miniscript crates that is compiled to WebAssembly.
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