Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(deps): vendor babylonlabs-io-btc-staking-ts module #5698

Merged
merged 10 commits into from
Mar 6, 2025

Conversation

OttoAllmendinger
Copy link
Contributor

Add babylonlabs BTC staking module as vendored dependency. Update package
configuration for BitGo use and expose staking functionality. Clean up
vendored code and add proper configuration.

Main changes:

  • Add github repo vendoring script
  • Vendor btc-staking-ts module
  • Update package.json for CommonJS support
  • Expose Staking class and utils
  • Set up proper code ownership

Issue: BTC-1826

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to verify that the vendored is correct, run this script

npx ts-node scripts/vendor-github-repo.ts vendor --name btc-staking-ts

@OttoAllmendinger OttoAllmendinger force-pushed the BTC-1826.vendor-babylonlabs-toplevel branch from 3bd02d4 to 5a0b7ba Compare March 5, 2025 14:16
@OttoAllmendinger OttoAllmendinger force-pushed the BTC-1826.vendor-babylonlabs-toplevel branch 8 times, most recently from c67c356 to 305704f Compare March 5, 2025 19:42
Adds script to vendor external github repositories into BitGoJS.
Uses tar and fetch APIs to download and extract source code.

Issue: BTC-1826
Add babylonlabs-io-btc-staking-ts to ignored paths to prevent linting and
formatting of vendored code.

Issue: BTC-1826
The upstream version has some challenges that make it difficult to
use in our project:

- poor commonjs support
- overly restrictive node version

Vendoring allows us to make the necessary changes in an easy way

Issue: BTC-1826
Removed unused configuration files from vendored module. Simplifies
maintenance and reduces potential conflicts.

Issue: BTC-1826
Simple update of readme to indicate this is a BitGo fork of the original
babylonlabs-io/btc-staking-ts project.

Issue: BTC-1826
- updates package.json for BitGo namespace
- relaxes node version requirements
- fixes CommonJS typings generation
- fix versions of bitcoinjs-lib and bip174
- remove test and lint scripts

Issue: BTC-1826
Expose the Staking class and staking utils for external use.

Retry-Counter: 1
Issue: BTC-1826
@OttoAllmendinger OttoAllmendinger force-pushed the BTC-1826.vendor-babylonlabs-toplevel branch from 305704f to 7539dc6 Compare March 6, 2025 08:33
@OttoAllmendinger OttoAllmendinger marked this pull request as ready for review March 6, 2025 09:08
@OttoAllmendinger OttoAllmendinger requested review from a team as code owners March 6, 2025 09:08
therealdwright
therealdwright previously approved these changes Mar 6, 2025
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let me get rid of these as well

Remove GitHub workflow files and Husky pre-commit hook from vendored
package

Issue: BTC-1826
@lcovar lcovar merged commit 3691db2 into master Mar 6, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants