From 84c6d7cf1aada72519609688a9315daf3d0b367d Mon Sep 17 00:00:00 2001 From: Otto Allmendinger Date: Thu, 8 Jan 2026 13:41:47 +0100 Subject: [PATCH 1/2] feat(scripts): allow configurable version prefix for dependency upgrade Add version prefix option to the dependency upgrade script to control how version constraints are applied. By default, use the caret (^) prefix when getting the latest version from npm registry. Issue: BTC-0 Co-authored-by: llm-git --- scripts/upgrade-workspace-dependency.ts | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/scripts/upgrade-workspace-dependency.ts b/scripts/upgrade-workspace-dependency.ts index 3e9bcdad82..f5411f3721 100644 --- a/scripts/upgrade-workspace-dependency.ts +++ b/scripts/upgrade-workspace-dependency.ts @@ -62,10 +62,14 @@ async function findPackagesWithDependency(depName: string): Promise { +async function getLatestVersion(packageName: string, versionPrefix?: string): Promise { console.log(`Fetching latest version for ${packageName}...`); const { stdout } = await execa('npm', ['view', packageName, 'version']); - return stdout.trim(); + const version = stdout.trim(); + if (versionPrefix) { + return version.startsWith(versionPrefix) ? version : `${versionPrefix}${version}`; + } + return version; } async function updatePackageJson( @@ -92,7 +96,12 @@ async function runYarnInstall(): Promise { }); } -async function cmdUpgrade(opts: { package: string; version?: string; dryRun: boolean }): Promise { +async function cmdUpgrade(opts: { + package: string; + version?: string; + versionPrefix?: string; + dryRun: boolean; +}): Promise { const { package: depName, version: targetVersion, dryRun } = opts; console.log(`\nšŸ” Searching for packages with dependency: ${depName}\n`); @@ -114,7 +123,7 @@ async function cmdUpgrade(opts: { package: string; version?: string; dryRun: boo newVersion = targetVersion; console.log(`\nšŸ“¦ Target version: ${newVersion}`); } else { - newVersion = await getLatestVersion(depName); + newVersion = await getLatestVersion(depName, opts.versionPrefix ?? ''); console.log(`\nšŸ“¦ Latest version: ${newVersion}`); } @@ -158,6 +167,11 @@ yargs describe: 'Target version (defaults to latest from npm registry)', alias: 'v', }, + versionPrefix: { + type: 'string', + describe: 'Version prefix to use when getting latest version', + default: '^', + }, dryRun: { type: 'boolean', default: false, From b57480cd4698fd23c53b16e733133d0982a746a2 Mon Sep 17 00:00:00 2001 From: Otto Allmendinger Date: Thu, 8 Jan 2026 13:41:56 +0100 Subject: [PATCH 2/2] feat(abstract-utxo): bump wasm-utxo dependency to v1.20.0 Bump wasm-utxo dependency in all UTXO modules to v1.20.0, using caret version range for future compatibility. Issue: BTC-0 Co-authored-by: llm-git --- modules/abstract-utxo/package.json | 2 +- modules/utxo-bin/package.json | 2 +- modules/utxo-core/package.json | 2 +- modules/utxo-staking/package.json | 2 +- yarn.lock | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/abstract-utxo/package.json b/modules/abstract-utxo/package.json index 8d2beea9cc..900010eed0 100644 --- a/modules/abstract-utxo/package.json +++ b/modules/abstract-utxo/package.json @@ -68,7 +68,7 @@ "@bitgo/utxo-core": "^1.28.0", "@bitgo/utxo-lib": "^11.19.0", "@bitgo/utxo-ord": "^1.22.20", - "@bitgo/wasm-utxo": "1.19.0", + "@bitgo/wasm-utxo": "^1.20.0", "@types/lodash": "^4.14.121", "@types/superagent": "4.1.15", "bignumber.js": "^9.0.2", diff --git a/modules/utxo-bin/package.json b/modules/utxo-bin/package.json index 6f8adf1ee6..14cd196875 100644 --- a/modules/utxo-bin/package.json +++ b/modules/utxo-bin/package.json @@ -31,7 +31,7 @@ "@bitgo/unspents": "^0.50.13", "@bitgo/utxo-core": "^1.28.0", "@bitgo/utxo-lib": "^11.19.0", - "@bitgo/wasm-utxo": "1.19.0", + "@bitgo/wasm-utxo": "^1.20.0", "@noble/curves": "1.8.1", "archy": "^1.0.0", "bech32": "^2.0.0", diff --git a/modules/utxo-core/package.json b/modules/utxo-core/package.json index 172ffb06ff..5c7b63edf2 100644 --- a/modules/utxo-core/package.json +++ b/modules/utxo-core/package.json @@ -81,7 +81,7 @@ "@bitgo/secp256k1": "^1.8.0", "@bitgo/unspents": "^0.50.13", "@bitgo/utxo-lib": "^11.19.0", - "@bitgo/wasm-utxo": "1.19.0", + "@bitgo/wasm-utxo": "^1.20.0", "bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4", "bitcoinjs-message": "npm:@bitgo-forks/bitcoinjs-message@1.0.0-master.3", "fast-sha256": "^1.3.0" diff --git a/modules/utxo-staking/package.json b/modules/utxo-staking/package.json index 7f3a5cba74..05d36d1501 100644 --- a/modules/utxo-staking/package.json +++ b/modules/utxo-staking/package.json @@ -63,7 +63,7 @@ "@bitgo/babylonlabs-io-btc-staking-ts": "^3.3.0", "@bitgo/utxo-core": "^1.28.0", "@bitgo/utxo-lib": "^11.19.0", - "@bitgo/wasm-utxo": "1.19.0", + "@bitgo/wasm-utxo": "^1.20.0", "bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4", "bip322-js": "^2.0.0", "bitcoinjs-lib": "^6.1.7", diff --git a/yarn.lock b/yarn.lock index 67388403e0..a4fa06f725 100644 --- a/yarn.lock +++ b/yarn.lock @@ -985,10 +985,10 @@ monocle-ts "^2.3.13" newtype-ts "^0.3.5" -"@bitgo/wasm-utxo@1.19.0": - version "1.19.0" - resolved "https://registry.npmjs.org/@bitgo/wasm-utxo/-/wasm-utxo-1.19.0.tgz#c44db54da8bfa748f3a7a24f769519ff56783236" - integrity sha512-M6NtRfJrWoJP68IF1bm2eNMzUdIGnIQjIDwcIMXaqJCuWXPQot8KbKHVJPe3EpdB9g4a/J5hd6JIhZRF8m7Dhw== +"@bitgo/wasm-utxo@^1.20.0": + version "1.20.0" + resolved "https://registry.npmjs.org/@bitgo/wasm-utxo/-/wasm-utxo-1.20.0.tgz#c1051995da5f5218a7fd5f946d2f7f7b6bb3d00c" + integrity sha512-r9YzGu+zb0jHO+fttvG62goiNFZlUfj6sF6Cx/+ZjGK2g54heD3F64TQNj9klxJY8l6q7p4ka/v4CyIj5MEFQA== "@brandonblack/musig@^0.0.1-alpha.0": version "0.0.1-alpha.1"