Skip to content
Merged
1 change: 0 additions & 1 deletion integration/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ module.exports = {
"^@shapeshiftoss/hdwallet-(.*)": "<rootDir>/../../packages/hdwallet-$1/src",
"^valibot$": require.resolve("valibot"),
"^axios$": require.resolve("axios"),
"^@brandonblack/musig/base_crypto$": "<rootDir>/../../node_modules/@brandonblack/musig/lib/base_crypto.js",
},
globals: {
"ts-jest": {
Expand Down
21 changes: 10 additions & 11 deletions integration/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,16 @@
},
"dependencies": {
"@bitcoinerlab/secp256k1": "^1.1.1",
"@bitgo/utxo-lib": "^11.18.0",
"@shapeshiftoss/hdwallet-core": "1.62.30",
"@shapeshiftoss/hdwallet-keepkey": "1.62.30",
"@shapeshiftoss/hdwallet-keepkey-nodewebusb": "1.62.30",
"@shapeshiftoss/hdwallet-keepkey-tcp": "1.62.30",
"@shapeshiftoss/hdwallet-ledger": "1.62.30",
"@shapeshiftoss/hdwallet-metamask-multichain": "1.62.30",
"@shapeshiftoss/hdwallet-native": "1.62.30",
"@shapeshiftoss/hdwallet-portis": "1.62.30",
"@shapeshiftoss/hdwallet-trezor": "1.62.30",
"@shapeshiftoss/hdwallet-vultisig": "1.62.30",
"@shapeshiftoss/hdwallet-core": "1.62.29",
"@shapeshiftoss/hdwallet-keepkey": "1.62.29",
"@shapeshiftoss/hdwallet-keepkey-nodewebusb": "1.62.29",
"@shapeshiftoss/hdwallet-keepkey-tcp": "1.62.29",
"@shapeshiftoss/hdwallet-ledger": "1.62.29",
"@shapeshiftoss/hdwallet-metamask-multichain": "1.62.29",
"@shapeshiftoss/hdwallet-native": "1.62.29",
"@shapeshiftoss/hdwallet-portis": "1.62.29",
"@shapeshiftoss/hdwallet-trezor": "1.62.29",
"@shapeshiftoss/hdwallet-vultisig": "1.62.29",
"fast-json-stable-stringify": "^2.1.0",
"msw": "^0.27.1",
"whatwg-fetch": "^3.6.2"
Expand Down
1 change: 0 additions & 1 deletion packages/hdwallet-ledger/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
"prepublishOnly": "yarn clean && yarn build"
},
"dependencies": {
"@bitgo/utxo-lib": "^11.18.0",
"@ethereumjs/common": "3.2.0",
"@ethereumjs/tx": "4.2.0",
"@ledgerhq/device-core": "0.6.9",
Expand Down
55 changes: 16 additions & 39 deletions packages/hdwallet-ledger/src/bitcoin.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import ecc from "@bitcoinerlab/secp256k1";
import { address as zcashAddress, bitgo, networks as bitgoNetworks } from "@bitgo/utxo-lib";
import { type ZcashPsbt, ZcashTransaction } from "@bitgo/utxo-lib/dist/src/bitgo";
import { CreateTransactionArg } from "@ledgerhq/hw-app-btc/lib/createTransaction";
import { Transaction } from "@ledgerhq/hw-app-btc/lib/types";
import Transport from "@ledgerhq/hw-transport";
Expand Down Expand Up @@ -33,11 +31,6 @@ type ZcashLedgerTransaction = Transaction & {
_customZcashAmount?: string;
};

// Access hidden/protected property 'tx' on ZcashPsbt
type ExposedZcashPsbt = {
tx: ZcashTransaction;
};

// MONKEY PATCH: Fix Zcash v5 Trusted Input Hashing
// @ledgerhq/hw-app-btc calculates SHA256d hash for trusted inputs, but Zcash v5 uses ZIP-244 tree hash.
// We patch getTrustedInputBIP143 to use the correct TXID provided by the adapter (via _customZcashTxId property)
Expand Down Expand Up @@ -224,14 +217,11 @@ export async function btcSignTx(
// instantiation of ecc lib required for taproot sends https://github.com/bitcoinjs/bitcoinjs-lib/issues/1889#issuecomment-1443792692
bitcoin.initEccLib(ecc);

// For Zcash, use BitGo's PSBT which natively supports Zcash v5 transactions
const psbt =
msg.coin === "Zcash"
? (bitgo.createPsbtForNetwork(
{ network: bitgoNetworks.zcash },
{ version: ZcashTransaction.VERSION4_BRANCH_NU6_1 }
) as ZcashPsbt)
: new bitcoin.Psbt({ network: networksUtil[slip44].bitcoinjs as bitcoin.Network });
const forkCoin = msg.coin === "Zcash" ? "zec" : "none";
const psbt = new bitcoin.Psbt({
network: networksUtil[slip44].bitcoinjs as bitcoin.Network,
forkCoin,
});

const indexes: number[] = [];
const txs: Transaction[] = [];
Expand Down Expand Up @@ -264,13 +254,7 @@ export async function btcSignTx(
outputAddress = bchAddr.toLegacyAddress(outputAddress);
}

// For Zcash, BitGo's PSBT expects { script, value } not { address, value }
if (msg.coin === "Zcash") {
const script = zcashAddress.toOutputScript(outputAddress, bitgoNetworks.zcash);
psbt.addOutput({ script: Buffer.from(script), value: BigInt(output.amount) });
} else {
psbt.addOutput({ address: outputAddress, value: BigInt(output.amount) });
}
psbt.addOutput({ address: outputAddress, value: BigInt(output.amount) });
}

if (msg.opReturnData) {
Expand All @@ -283,22 +267,14 @@ export async function btcSignTx(
psbt.addOutput({ script: Buffer.from(script), value: BigInt(0) });
}

// For Zcash, set version defaults after all outputs are added
// For Zcash, set transaction version and Zcash-specific parameters
if (msg.coin === "Zcash") {
// Use VERSION4_BRANCH_NU6_1 like SwapKit (hw-app-btc doesn't support v5 unsigned txs)
(psbt as ZcashPsbt).setDefaultsForVersion(bitgoNetworks.zcash, ZcashTransaction.VERSION4_BRANCH_NU6_1);

// Manually set versionGroupId and consensusBranchId because setDefaultsForVersion might not work
(psbt as unknown as ExposedZcashPsbt).tx.versionGroupId = ZCASH_VERSION_GROUP_ID[5]; // NU6 version group ID
(psbt as unknown as ExposedZcashPsbt).tx.consensusBranchId = ZCASH_CONSENSUS_BRANCH_ID; // NU6.1 consensus branch ID
(psbt as unknown as ExposedZcashPsbt).tx.overwintered = 1;
psbt.setVersion(5);
psbt.setVersionGroupId(ZCASH_VERSION_GROUP_ID[5]);
psbt.setConsensusBranchId(ZCASH_CONSENSUS_BRANCH_ID);
}

// For Zcash, use the globalMap.unsignedTx like SwapKit does
const unsignedHex =
msg.coin === "Zcash"
? psbt.data.globalMap.unsignedTx.toBuffer().toString("hex")
: Buffer.from(psbt.data.getTransaction()).toString("hex");
const unsignedHex = Buffer.from(psbt.data.getTransaction()).toString("hex");

// For Zcash, pass the same parameters as we do for input transactions
const splitTxRes =
Expand Down Expand Up @@ -392,11 +368,12 @@ export async function btcSignTx(
})(),
segwit,
useTrustedInputForSegwit: Boolean(segwit),
// For Zcash, use the FIRST input's blockHeight as a reasonable current blockHeight
// Ledger Live uses account.xpub.currentBlockHeight
// For Zcash, pass the current network blockHeight so Ledger uses correct consensus branch ID.
// Use the highest confirmed input blockHeight, or fallback to a height above NU6.1 activation (3146400).
// This ensures correct consensus branch ID (0x4dec4df0) even when spending unconfirmed outputs.
blockHeight:
msg.coin === "Zcash" && (msg.inputs[0] as ZcashInput)?.blockHeight
? (msg.inputs[0] as ZcashInput).blockHeight
msg.coin === "Zcash"
? Math.max(...blockHeights.filter((h): h is number => h !== undefined && h > 0), 3150000)
: undefined,
expiryHeight: msg.coin === "Zcash" ? Buffer.alloc(4) : undefined,
};
Expand Down
141 changes: 2 additions & 139 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -325,51 +325,6 @@
"@noble/hashes" "^1.1.5"
"@noble/secp256k1" "^1.7.1"

"@bitgo/blake2b-wasm@^3.2.3":
version "3.2.3"
resolved "https://registry.npmjs.org/@bitgo/blake2b-wasm/-/blake2b-wasm-3.2.3.tgz#6ae5e942f2a5fd5b3ed27103af5df0ed50adfbc9"
integrity sha512-NaurBrMaEpjfg7EdUJgW/c6byt27O6q1ZaxB5Ita10MjjYjUu0SyYF4q7JPNxpHF/lMxb0YZakOxigbDBu9Jjw==
dependencies:
nanoassert "^1.0.0"

"@bitgo/blake2b@^3.2.4":
version "3.2.4"
resolved "https://registry.npmjs.org/@bitgo/blake2b/-/blake2b-3.2.4.tgz#6440992affdeabc22b2de8b8f381f51b551dd513"
integrity sha512-46PEgEVPxecNJ/xczggIllSxIkFIvvbVM0OfIDdNJ5qpFHUeBCkNIiGdzC3fYZlsv7bVTdUZOj79GcFBLMYBqA==
dependencies:
"@bitgo/blake2b-wasm" "^3.2.3"
nanoassert "^2.0.0"

"@bitgo/secp256k1@^1.7.0":
version "1.7.0"
resolved "https://registry.npmjs.org/@bitgo/secp256k1/-/secp256k1-1.7.0.tgz#e12ad4080e31caf4ad75f128145c5f66ce404c6f"
integrity sha512-pFzmFyDLNg4tyYUaSu1cvI724xxGSlMjD/G5yo/P3IEyz5WbE++3QxdijqxWubb86xpwIsNSV/coutLYUCagkQ==
dependencies:
"@brandonblack/musig" "^0.0.1-alpha.0"
"@noble/secp256k1" "1.6.3"
bip32 "^3.0.1"
create-hash "^1.2.0"
create-hmac "^1.1.7"
ecpair "npm:@bitgo/ecpair@2.1.0-rc.0"

"@bitgo/utxo-lib@^11.18.0":
version "11.18.0"
resolved "https://registry.npmjs.org/@bitgo/utxo-lib/-/utxo-lib-11.18.0.tgz#dd596bd964cff603bd5f3fd95bedefc8a9a92526"
integrity sha512-PuGkID+kM24+BZ4MrIdFArCbTiv3h4CGGhKt1qn5Z7kDa2wn4y7ebc+poVQypiWUguT15QUQ0YAvkKVh81zgsg==
dependencies:
"@bitgo/blake2b" "^3.2.4"
"@bitgo/secp256k1" "^1.7.0"
"@brandonblack/musig" "^0.0.1-alpha.0"
bech32 "^2.0.0"
bip174 "npm:@bitgo-forks/bip174@3.1.0-master.4"
bitcoin-ops "^1.3.0"
bitcoinjs-lib "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.11"
bs58check "^2.1.2"
cashaddress "^1.1.0"
fastpriorityqueue "^0.7.1"
typeforce "^1.11.3"
varuint-bitcoin "^1.1.2"

"@bithighlander/bitcoin-cash-js-lib@^5.2.1":
version "5.2.1"
resolved "https://registry.yarnpkg.com/@bithighlander/bitcoin-cash-js-lib/-/bitcoin-cash-js-lib-5.2.1.tgz#3153dec5774b0574a2347f6ca75cf3d7399af1b2"
Expand All @@ -392,11 +347,6 @@
varuint-bitcoin "^1.0.4"
wif "^2.0.1"

"@brandonblack/musig@^0.0.1-alpha.0":
version "0.0.1-alpha.1"
resolved "https://registry.npmjs.org/@brandonblack/musig/-/musig-0.0.1-alpha.1.tgz#0895f59977bedf519099ff6e2fcbcbced30bc761"
integrity sha512-00RbByQG85lSzrkDjCblzrUc2n1LJAPPrEMHS4oMg+QckE0kzjd26JytT6yx6tNU2+aOXfK7O4kGW/sKVL67cw==

"@cnakazawa/watch@^1.0.3":
version "1.0.4"
resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
Expand Down Expand Up @@ -3266,11 +3216,6 @@
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699"
integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==

"@noble/secp256k1@1.6.3":
version "1.6.3"
resolved "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.6.3.tgz#7eed12d9f4404b416999d0c87686836c4c5c9b94"
integrity sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ==

"@noble/secp256k1@^1.5.5", "@noble/secp256k1@^1.7.1":
version "1.7.1"
resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c"
Expand Down Expand Up @@ -7221,11 +7166,6 @@ bip174@^3.0.0-rc.0:
uint8array-tools "^0.0.9"
varuint-bitcoin "^2.0.0"

"bip174@npm:@bitgo-forks/bip174@3.1.0-master.4":
version "3.1.0-master.4"
resolved "https://registry.npmjs.org/@bitgo-forks/bip174/-/bip174-3.1.0-master.4.tgz#0c8a750cc98097120169e753e7fccc23b1cb9eaa"
integrity sha512-WDRNzPSdJGDqQNqfN+L5KHNHFDmNOPYnUnT7NkEkfHWn5m1jSOfcf8Swaslt5P0xcSDiERdN2gZxFc6XtOqRYg==

bip32-path@^0.4.2:
version "0.4.2"
resolved "https://registry.yarnpkg.com/bip32-path/-/bip32-path-0.4.2.tgz#5db0416ad6822712f077836e2557b8697c0c7c99"
Expand All @@ -7244,18 +7184,6 @@ bip32@^2.0.4, bip32@^2.0.5:
typeforce "^1.11.5"
wif "^2.0.6"

bip32@^3.0.1:
version "3.1.0"
resolved "https://registry.npmjs.org/bip32/-/bip32-3.1.0.tgz#ce90e020d0e6b41e891a0122ff053efabcce1ccc"
integrity sha512-eoeajYEzJ4d6yyVtby8C+XkCeKItiC4Mx56a0M9VaqTMC73SWOm4xVZG7SaR8e/yp4eSyky2XcBpH3DApPdu7Q==
dependencies:
bs58check "^2.1.1"
create-hash "^1.2.0"
create-hmac "^1.1.7"
ripemd160 "^2.0.2"
typeforce "^1.11.5"
wif "^2.0.6"

bip39@^3.0.2, bip39@^3.0.4:
version "3.1.0"
resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3"
Expand Down Expand Up @@ -7311,22 +7239,6 @@ bitcoinjs-lib@^5.2.0:
varuint-bitcoin "^1.0.4"
wif "^2.0.1"

"bitcoinjs-lib@npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.11":
version "7.1.0-master.11"
resolved "https://registry.npmjs.org/@bitgo-forks/bitcoinjs-lib/-/bitcoinjs-lib-7.1.0-master.11.tgz#49b9c31b5a973b08c34c9dc468ac241c9416e18a"
integrity sha512-Yyh67I26iI7FGqPBY7rxqHZ9FM9JuouAsViQocrr7URhRpuZEWVsM/oMTNbMnRw2cPFj4jWKhRDLadgrUk2HEQ==
dependencies:
bech32 "^2.0.0"
bip174 "npm:@bitgo-forks/bip174@3.1.0-master.4"
bs58check "^2.1.2"
create-hash "^1.1.0"
fastpriorityqueue "^0.7.1"
json5 "^2.2.3"
ripemd160 "^2.0.2"
typeforce "^1.11.3"
varuint-bitcoin "^1.1.2"
wif "^2.0.1"

bitcoinjs-message@^2.0.0, bitcoinjs-message@^2.1.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/bitcoinjs-message/-/bitcoinjs-message-2.2.0.tgz#8116ec7f447f9889e23030fc15c5286a6ae5503b"
Expand Down Expand Up @@ -7937,13 +7849,6 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==

cashaddress@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/cashaddress/-/cashaddress-1.1.0.tgz#1a7d3b4e3b3bbdef77b666fecf322ea79bcc9799"
integrity sha512-cdqIjZodtErhoQOiojQ1SRqDKh6bOVkLYNJjMmFEUxGoErrO2am8txotXmEi8glvU/y9wzup+LsvEBl8AttUwA==
dependencies:
bigi "^1.4.2"

cashaddrjs@0.4.4:
version "0.4.4"
resolved "https://registry.yarnpkg.com/cashaddrjs/-/cashaddrjs-0.4.4.tgz#169f1ae620d325db77700273d972282adeeee331"
Expand Down Expand Up @@ -9306,15 +9211,6 @@ ecpair@^3.0.0-rc.0:
valibot "^0.37.0"
wif "^5.0.0"

"ecpair@npm:@bitgo/ecpair@2.1.0-rc.0":
version "2.1.0-rc.0"
resolved "https://registry.npmjs.org/@bitgo/ecpair/-/ecpair-2.1.0-rc.0.tgz#e281da5cc616cfd2b3c4f845d64c33deea7ebbaa"
integrity sha512-qPZetcEA1Lzzm9NsqsGF9NGorAGaXrv20eZjopLUjsdwftWcsYTE7lwzE/Xjdf4fcq6G4+vjrCudWAMGNfJqOQ==
dependencies:
randombytes "^2.1.0"
typeforce "^1.18.0"
wif "^2.0.6"

ecurve@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/ecurve/-/ecurve-1.0.6.tgz#dfdabbb7149f8d8b78816be5a7d5b83fcf6de797"
Expand Down Expand Up @@ -10694,11 +10590,6 @@ fast-url-parser@1.1.3:
dependencies:
punycode "^1.3.2"

fastpriorityqueue@^0.7.1:
version "0.7.5"
resolved "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.5.tgz#4125d5ee34ff5f79a7199f993a55d1b7e291c5ad"
integrity sha512-3Pa0n9gwy8yIbEsT3m2j/E9DXgWvvjfiZjjqcJ+AdNKTAlVMIuFYrYG5Y3RHEM8O6cwv9hOpOWY/NaMfywoQVA==

fastq@^1.6.0:
version "1.17.1"
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47"
Expand Down Expand Up @@ -11597,16 +11488,6 @@ hash-base@^3.0.0:
readable-stream "^3.6.0"
safe-buffer "^5.2.0"

hash-base@^3.1.2:
version "3.1.2"
resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz#79d72def7611c3f6e3c3b5730652638001b10a74"
integrity sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==
dependencies:
inherits "^2.0.4"
readable-stream "^2.3.8"
safe-buffer "^5.2.1"
to-buffer "^1.2.1"

hash-base@~3.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
Expand Down Expand Up @@ -14436,16 +14317,6 @@ nano-json-stream-parser@^0.1.2:
resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f"
integrity sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==

nanoassert@^1.0.0:
version "1.1.0"
resolved "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz#4f3152e09540fde28c76f44b19bbcd1d5a42478d"
integrity sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ==

nanoassert@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz#a05f86de6c7a51618038a620f88878ed1e490c09"
integrity sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==

nanoid@^3.1.31, nanoid@^3.3.7:
version "3.3.7"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
Expand Down Expand Up @@ -16526,14 +16397,6 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
hash-base "^3.0.0"
inherits "^2.0.1"

ripemd160@^2.0.2:
version "2.0.3"
resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz#9be54e4ba5e3559c8eee06a25cd7648bbccdf5a8"
integrity sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==
dependencies:
hash-base "^3.1.2"
inherits "^2.0.4"

ripple-address-codec@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-5.0.0.tgz#97059f7bba6f9ed7a52843de8aa427723fb529f6"
Expand Down Expand Up @@ -17888,7 +17751,7 @@ tmpl@1.0.5:
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==

to-buffer@^1.2.0, to-buffer@^1.2.1:
to-buffer@^1.2.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.2.2.tgz#ffe59ef7522ada0a2d1cb5dfe03bb8abc3cdc133"
integrity sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==
Expand Down Expand Up @@ -18769,7 +18632,7 @@ varint@^5.0.0, varint@~5.0.0:
resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4"
integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==

varuint-bitcoin@1.1.2, varuint-bitcoin@^1.0.1, varuint-bitcoin@^1.0.4, varuint-bitcoin@^1.1.2:
varuint-bitcoin@1.1.2, varuint-bitcoin@^1.0.1, varuint-bitcoin@^1.0.4:
version "1.1.2"
resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz#e76c138249d06138b480d4c5b40ef53693e24e92"
integrity sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==
Expand Down