diff --git a/examples/sandbox/package.json b/examples/sandbox/package.json index 50d29d18e..03649791b 100644 --- a/examples/sandbox/package.json +++ b/examples/sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-sandbox", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "private": true, "browserslist": "> 0.5%, last 2 versions, not dead", @@ -12,24 +12,24 @@ "dependencies": { "@esm2cjs/p-queue": "^7.3.0", "@metamask/eth-sig-util": "^7.0.0", - "@shapeshiftoss/hdwallet-coinbase": "^1.62.19", - "@shapeshiftoss/hdwallet-core": "^1.62.19", - "@shapeshiftoss/hdwallet-keepkey": "^1.62.19", - "@shapeshiftoss/hdwallet-keepkey-tcp": "^1.62.19", - "@shapeshiftoss/hdwallet-keepkey-webusb": "^1.62.19", - "@shapeshiftoss/hdwallet-keplr": "^1.62.19", - "@shapeshiftoss/hdwallet-ledger": "^1.62.19", - "@shapeshiftoss/hdwallet-ledger-webhid": "^1.62.19", - "@shapeshiftoss/hdwallet-ledger-webusb": "^1.62.19", - "@shapeshiftoss/hdwallet-metamask-multichain": "^1.62.19", - "@shapeshiftoss/hdwallet-native": "^1.62.19", - "@shapeshiftoss/hdwallet-phantom": "^1.62.19", - "@shapeshiftoss/hdwallet-portis": "^1.62.19", - "@shapeshiftoss/hdwallet-trezor": "^1.62.19", - "@shapeshiftoss/hdwallet-trezor-connect": "^1.62.19", - "@shapeshiftoss/hdwallet-vultisig": "^1.62.19", - "@shapeshiftoss/hdwallet-walletconnect": "^1.62.19", - "@shapeshiftoss/hdwallet-walletconnectv2": "^1.62.19", + "@shapeshiftoss/hdwallet-coinbase": "1.62.20", + "@shapeshiftoss/hdwallet-core": "1.62.20", + "@shapeshiftoss/hdwallet-keepkey": "1.62.20", + "@shapeshiftoss/hdwallet-keepkey-tcp": "1.62.20", + "@shapeshiftoss/hdwallet-keepkey-webusb": "1.62.20", + "@shapeshiftoss/hdwallet-keplr": "1.62.20", + "@shapeshiftoss/hdwallet-ledger": "1.62.20", + "@shapeshiftoss/hdwallet-ledger-webhid": "1.62.20", + "@shapeshiftoss/hdwallet-ledger-webusb": "1.62.20", + "@shapeshiftoss/hdwallet-metamask-multichain": "1.62.20", + "@shapeshiftoss/hdwallet-native": "1.62.20", + "@shapeshiftoss/hdwallet-phantom": "1.62.20", + "@shapeshiftoss/hdwallet-portis": "1.62.20", + "@shapeshiftoss/hdwallet-trezor": "1.62.20", + "@shapeshiftoss/hdwallet-trezor-connect": "1.62.20", + "@shapeshiftoss/hdwallet-vultisig": "1.62.20", + "@shapeshiftoss/hdwallet-walletconnect": "1.62.20", + "@shapeshiftoss/hdwallet-walletconnectv2": "1.62.20", "bip32": "^2.0.4", "eip-712": "^1.0.0", "jquery": "^3.7.1", diff --git a/integration/package.json b/integration/package.json index 42ba9b771..fd3b5aac5 100644 --- a/integration/package.json +++ b/integration/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/integration", - "version": "1.62.19", + "version": "1.62.20", "main": "index.js", "license": "MIT", "private": true, @@ -11,16 +11,16 @@ }, "dependencies": { "@bitcoinerlab/secp256k1": "^1.1.1", - "@shapeshiftoss/hdwallet-core": "^1.62.19", - "@shapeshiftoss/hdwallet-keepkey": "^1.62.19", - "@shapeshiftoss/hdwallet-keepkey-nodewebusb": "^1.62.19", - "@shapeshiftoss/hdwallet-keepkey-tcp": "^1.62.19", - "@shapeshiftoss/hdwallet-ledger": "^1.62.19", - "@shapeshiftoss/hdwallet-metamask-multichain": "^1.62.19", - "@shapeshiftoss/hdwallet-native": "^1.62.19", - "@shapeshiftoss/hdwallet-portis": "^1.62.19", - "@shapeshiftoss/hdwallet-trezor": "^1.62.19", - "@shapeshiftoss/hdwallet-vultisig": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", + "@shapeshiftoss/hdwallet-keepkey": "1.62.20", + "@shapeshiftoss/hdwallet-keepkey-nodewebusb": "1.62.20", + "@shapeshiftoss/hdwallet-keepkey-tcp": "1.62.20", + "@shapeshiftoss/hdwallet-ledger": "1.62.20", + "@shapeshiftoss/hdwallet-metamask-multichain": "1.62.20", + "@shapeshiftoss/hdwallet-native": "1.62.20", + "@shapeshiftoss/hdwallet-portis": "1.62.20", + "@shapeshiftoss/hdwallet-trezor": "1.62.20", + "@shapeshiftoss/hdwallet-vultisig": "1.62.20", "fast-json-stable-stringify": "^2.1.0", "msw": "^0.27.1", "whatwg-fetch": "^3.6.2" diff --git a/lerna.json b/lerna.json index 17e0b5c77..d547e9ca0 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "lerna": "5.2.0", - "version": "1.62.19", + "version": "1.62.20", "npmClient": "yarn", "useWorkspaces": true, "command": { @@ -8,10 +8,5 @@ "message": "chore(release): publish %v" } }, - "ignoreChanges": [ - "**/__fixtures__/**", - "**/__tests__/**", - "**/*.md", - "**/.env" - ] + "ignoreChanges": ["**/__fixtures__/**", "**/__tests__/**", "**/*.md", "**/.env"] } diff --git a/packages/hdwallet-coinbase/package.json b/packages/hdwallet-coinbase/package.json index 2c6005986..00f1e1bf6 100644 --- a/packages/hdwallet-coinbase/package.json +++ b/packages/hdwallet-coinbase/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-coinbase", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@coinbase/wallet-sdk": "^3.6.6", - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "eth-rpc-errors": "^4.0.3", "lodash": "^4.17.21" }, diff --git a/packages/hdwallet-core/package.json b/packages/hdwallet-core/package.json index d489dd9fe..496514957 100644 --- a/packages/hdwallet-core/package.json +++ b/packages/hdwallet-core/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-core", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/hdwallet-gridplus/package.json b/packages/hdwallet-gridplus/package.json index 9da80ad9a..82197d76d 100644 --- a/packages/hdwallet-gridplus/package.json +++ b/packages/hdwallet-gridplus/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-gridplus", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -20,7 +20,7 @@ "@ethereumjs/rlp": "5.0.2", "@ethereumjs/tx": "5.4.0", "@metamask/eth-sig-util": "^7.0.0", - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "bech32": "^1.1.4", "bs58": "^5.0.0", "crypto-js": "^4.2.0", diff --git a/packages/hdwallet-keepkey-chromeusb/package.json b/packages/hdwallet-keepkey-chromeusb/package.json index accd1a722..35b2b453f 100644 --- a/packages/hdwallet-keepkey-chromeusb/package.json +++ b/packages/hdwallet-keepkey-chromeusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-chromeusb", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "^1.62.19", - "@shapeshiftoss/hdwallet-keepkey": "^1.62.19" + "@shapeshiftoss/hdwallet-core": "1.62.20", + "@shapeshiftoss/hdwallet-keepkey": "1.62.20" } } diff --git a/packages/hdwallet-keepkey-electron/package.json b/packages/hdwallet-keepkey-electron/package.json index 61b688faf..a44227b21 100644 --- a/packages/hdwallet-keepkey-electron/package.json +++ b/packages/hdwallet-keepkey-electron/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-electron", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-keepkey": "^1.62.19", + "@shapeshiftoss/hdwallet-keepkey": "1.62.20", "uuid": "^8.3.2" }, "peerDependencies": { diff --git a/packages/hdwallet-keepkey-nodehid/package.json b/packages/hdwallet-keepkey-nodehid/package.json index df861abc5..3c6ca68fa 100644 --- a/packages/hdwallet-keepkey-nodehid/package.json +++ b/packages/hdwallet-keepkey-nodehid/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-nodehid", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-keepkey": "^1.62.19" + "@shapeshiftoss/hdwallet-keepkey": "1.62.20" }, "peerDependencies": { "node-hid": "^2.1.1" diff --git a/packages/hdwallet-keepkey-nodewebusb/package.json b/packages/hdwallet-keepkey-nodewebusb/package.json index 22b3c61ec..9de9bc9fb 100644 --- a/packages/hdwallet-keepkey-nodewebusb/package.json +++ b/packages/hdwallet-keepkey-nodewebusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-nodewebusb", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "^1.62.19", - "@shapeshiftoss/hdwallet-keepkey": "^1.62.19" + "@shapeshiftoss/hdwallet-core": "1.62.20", + "@shapeshiftoss/hdwallet-keepkey": "1.62.20" }, "peerDependencies": { "usb": "^2.3.1" diff --git a/packages/hdwallet-keepkey-tcp/package.json b/packages/hdwallet-keepkey-tcp/package.json index 24841b9ef..a246a567e 100644 --- a/packages/hdwallet-keepkey-tcp/package.json +++ b/packages/hdwallet-keepkey-tcp/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-tcp", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "^1.62.19", - "@shapeshiftoss/hdwallet-keepkey": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", + "@shapeshiftoss/hdwallet-keepkey": "1.62.20", "axios": "^0.21.1" } } diff --git a/packages/hdwallet-keepkey-webusb/package.json b/packages/hdwallet-keepkey-webusb/package.json index 05b531dd2..b6466af8d 100644 --- a/packages/hdwallet-keepkey-webusb/package.json +++ b/packages/hdwallet-keepkey-webusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-webusb", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "^1.62.19", - "@shapeshiftoss/hdwallet-keepkey": "^1.62.19" + "@shapeshiftoss/hdwallet-core": "1.62.20", + "@shapeshiftoss/hdwallet-keepkey": "1.62.20" }, "devDependencies": { "@types/w3c-web-usb": "^1.0.4" diff --git a/packages/hdwallet-keepkey/package.json b/packages/hdwallet-keepkey/package.json index 41329c9c8..c63e99fbb 100644 --- a/packages/hdwallet-keepkey/package.json +++ b/packages/hdwallet-keepkey/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -21,7 +21,7 @@ "@keepkey/device-protocol": "7.13.4", "@metamask/eth-sig-util": "^7.0.0", "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.0", - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "@shapeshiftoss/proto-tx-builder": "0.10.0", "bignumber.js": "^9.0.1", "bnb-javascript-sdk-nobroadcast": "2.16.15", diff --git a/packages/hdwallet-keplr/package.json b/packages/hdwallet-keplr/package.json index 4a6e6b310..299ea0234 100644 --- a/packages/hdwallet-keplr/package.json +++ b/packages/hdwallet-keplr/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keplr", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "@cosmjs/amino": "^0.28.13", "@cosmjs/stargate": "^0.28.13", "@shapeshiftoss/caip": "8.15.0", - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "@shapeshiftoss/proto-tx-builder": "0.10.0", "@shapeshiftoss/types": "3.1.3", "base64-js": "^1.5.1", diff --git a/packages/hdwallet-ledger-webhid/package.json b/packages/hdwallet-ledger-webhid/package.json index a27d07820..722448c97 100644 --- a/packages/hdwallet-ledger-webhid/package.json +++ b/packages/hdwallet-ledger-webhid/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger-webhid", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -18,8 +18,8 @@ "@ledgerhq/hw-app-eth": "^6.45.13", "@ledgerhq/hw-transport": "6.31.8", "@ledgerhq/hw-transport-webhid": "^6.30.4", - "@shapeshiftoss/hdwallet-core": "^1.62.19", - "@shapeshiftoss/hdwallet-ledger": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", + "@shapeshiftoss/hdwallet-ledger": "1.62.20", "@types/w3c-web-hid": "^1.0.2" } } diff --git a/packages/hdwallet-ledger-webhid/src/transport.ts b/packages/hdwallet-ledger-webhid/src/transport.ts index fcb9ba87b..35fda62b4 100644 --- a/packages/hdwallet-ledger-webhid/src/transport.ts +++ b/packages/hdwallet-ledger-webhid/src/transport.ts @@ -5,6 +5,7 @@ import Solana from "@ledgerhq/hw-app-solana"; import Trx from "@ledgerhq/hw-app-trx"; import Transport from "@ledgerhq/hw-transport"; import TransportWebHID from "@ledgerhq/hw-transport-webhid"; +import Sui from "@mysten/ledgerjs-hw-app-sui"; import * as core from "@shapeshiftoss/hdwallet-core"; import * as ledger from "@shapeshiftoss/hdwallet-ledger"; import type { @@ -85,6 +86,11 @@ export function translateCoinAndMethod].bind(solana); return methodInstance as LedgerTransportMethod; } + case "Sui": { + const sui = new Sui(transport as Transport); + const methodInstance = sui[method as LedgerTransportMethodName<"Sui">].bind(sui); + return methodInstance as LedgerTransportMethod; + } case "Tron": { const trx = new Trx(transport as Transport); const methodInstance = trx[method as LedgerTransportMethodName<"Tron">].bind(trx); diff --git a/packages/hdwallet-ledger-webusb/package.json b/packages/hdwallet-ledger-webusb/package.json index 4e123f4b9..4f932bf4c 100644 --- a/packages/hdwallet-ledger-webusb/package.json +++ b/packages/hdwallet-ledger-webusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger-webusb", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -20,8 +20,8 @@ "@ledgerhq/hw-app-solana": "^7.5.1", "@ledgerhq/hw-transport": "6.31.8", "@ledgerhq/hw-transport-webusb": "6.29.8", - "@shapeshiftoss/hdwallet-core": "^1.62.19", - "@shapeshiftoss/hdwallet-ledger": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", + "@shapeshiftoss/hdwallet-ledger": "1.62.20", "@types/w3c-web-usb": "^1.0.4", "p-queue": "^7.4.1" }, diff --git a/packages/hdwallet-ledger-webusb/src/transport.ts b/packages/hdwallet-ledger-webusb/src/transport.ts index b2a5be554..00b3d5f9c 100644 --- a/packages/hdwallet-ledger-webusb/src/transport.ts +++ b/packages/hdwallet-ledger-webusb/src/transport.ts @@ -5,6 +5,7 @@ import Solana from "@ledgerhq/hw-app-solana"; import Trx from "@ledgerhq/hw-app-trx"; import Transport from "@ledgerhq/hw-transport"; import TransportWebUSB from "@ledgerhq/hw-transport-webusb"; +import Sui from "@mysten/ledgerjs-hw-app-sui"; import * as core from "@shapeshiftoss/hdwallet-core"; import { getAppAndVersion, getDeviceInfo, LedgerTransport, openApp, Thorchain } from "@shapeshiftoss/hdwallet-ledger"; import type { @@ -105,6 +106,11 @@ export async function translateCoinAndMethod].bind(solana); return methodInstance as LedgerTransportMethod; } + case "Sui": { + const sui = new Sui(transport as Transport); + const methodInstance = sui[method as LedgerTransportMethodName<"Sui">].bind(sui); + return methodInstance as LedgerTransportMethod; + } case "Tron": { const trx = new Trx(transport as Transport); const methodInstance = trx[method as LedgerTransportMethodName<"Tron">].bind(trx); diff --git a/packages/hdwallet-ledger/package.json b/packages/hdwallet-ledger/package.json index 9ad9c7683..459c77be5 100644 --- a/packages/hdwallet-ledger/package.json +++ b/packages/hdwallet-ledger/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -25,8 +25,9 @@ "@ledgerhq/hw-app-trx": "^6.31.9", "@ledgerhq/hw-transport": "6.31.8", "@ledgerhq/logs": "6.13.0", + "@mysten/ledgerjs-hw-app-sui": "^0.7.0", "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.0", - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "@solana/web3.js": "1.95.8", "base64-js": "^1.5.1", "bchaddrjs": "^0.4.4", diff --git a/packages/hdwallet-ledger/src/ledger.ts b/packages/hdwallet-ledger/src/ledger.ts index 5078ee5ea..d6047af16 100644 --- a/packages/hdwallet-ledger/src/ledger.ts +++ b/packages/hdwallet-ledger/src/ledger.ts @@ -6,6 +6,7 @@ import * as cosmos from "./cosmos"; import * as eth from "./ethereum"; import * as mayachain from "./mayachain"; import * as solana from "./solana"; +import * as sui from "./sui"; import * as thorchain from "./thorchain"; import { LedgerTransport } from "./transport"; import * as tron from "./tron"; @@ -148,6 +149,7 @@ export class LedgerHDWalletInfo core.MayachainWalletInfo, core.CosmosWalletInfo, core.SolanaWalletInfo, + core.SuiWalletInfo, core.TronWalletInfo { readonly _supportsBTCInfo = true; @@ -156,6 +158,7 @@ export class LedgerHDWalletInfo readonly _supportsMayachainInfo = true; readonly _supportsCosmosInfo = true; readonly _supportsSolanaInfo = true; + readonly _supportsSuiInfo = true; readonly _supportsTronInfo = true; public getVendor(): string { @@ -241,6 +244,14 @@ export class LedgerHDWalletInfo throw new Error("Method not implemented"); } + public suiGetAccountPaths(msg: core.SuiGetAccountPaths): Array { + return sui.suiGetAccountPaths(msg); + } + + public suiNextAccountPath(msg: core.SuiAccountPath): core.SuiAccountPath | undefined { + return sui.suiNextAccountPath(msg); + } + public tronGetAccountPaths(msg: core.TronGetAccountPaths): Array { return tron.tronGetAccountPaths(msg); } @@ -294,6 +305,8 @@ export class LedgerHDWalletInfo return core.mayachainDescribePath(msg.path); case "Solana": return core.solanaDescribePath(msg.path); + case "Sui": + return core.suiDescribePath(msg.path); case "Tron": return core.tronDescribePath(msg.path); default: @@ -373,6 +386,7 @@ export class LedgerHDWallet core.MayachainWallet, core.CosmosWallet, core.SolanaWallet, + core.SuiWallet, core.TronWallet { readonly _supportsBTC = true; @@ -391,6 +405,7 @@ export class LedgerHDWallet readonly _supportsMayachain = true; readonly _supportsCosmos = true; readonly _supportsSolana = true; + readonly _supportsSui = true; readonly _supportsTron = true; _isLedger = true; @@ -634,6 +649,16 @@ export class LedgerHDWallet return solana.solanaSignTx(this.transport, msg); } + public async suiGetAddress(msg: core.SuiGetAddress): Promise { + await this.validateCurrentApp("Sui"); + return sui.suiGetAddress(this.transport, msg); + } + + public async suiSignTx(msg: core.SuiSignTx): Promise { + await this.validateCurrentApp("Sui"); + return sui.suiSignTx(this.transport, msg); + } + public async tronGetAddress(msg: core.TronGetAddress): Promise { await this.validateCurrentApp("Tron"); return tron.tronGetAddress(this.transport, msg); diff --git a/packages/hdwallet-ledger/src/sui.ts b/packages/hdwallet-ledger/src/sui.ts new file mode 100644 index 000000000..82c208e92 --- /dev/null +++ b/packages/hdwallet-ledger/src/sui.ts @@ -0,0 +1,97 @@ +import * as core from "@shapeshiftoss/hdwallet-core"; + +import { LedgerTransport } from "./transport"; +import { handleError } from "./utils"; + +// Ledger expects m/ prefix to be stripped AND all segments to be hardened for Ed25519 +function addressNListToBIP32Path(addressNList: core.BIP32Path): string { + // Use addressNListToHardenedBIP32 to ensure all segments are hardened, then strip m/ + return core.addressNListToHardenedBIP32(addressNList).slice(2); +} + +export async function suiGetAddress(transport: LedgerTransport, msg: core.SuiGetAddress): Promise { + const bip32path = addressNListToBIP32Path(msg.addressNList); + + try { + const res = await transport.call("Sui", "getPublicKey", bip32path, !!msg.showDisplay); + handleError(res, transport, "Unable to obtain Sui address from device."); + + // Convert Uint8Array to hex string with 0x prefix + const addressBytes = + res.payload.address instanceof Uint8Array ? res.payload.address : new Uint8Array(res.payload.address); + + const address = "0x" + Buffer.from(addressBytes).toString("hex"); + return address; + } catch (error) { + console.error("[Sui Ledger] suiGetAddress error:", error); + throw error; + } +} + +async function suiGetPublicKey(transport: LedgerTransport, addressNList: core.BIP32Path): Promise { + const bip32path = addressNListToBIP32Path(addressNList); + + try { + const res = await transport.call("Sui", "getPublicKey", bip32path, false); + handleError(res, transport, "Unable to obtain Sui public key from device."); + + // Convert Uint8Array public key to hex string + const publicKeyBytes = + res.payload.publicKey instanceof Uint8Array ? res.payload.publicKey : new Uint8Array(res.payload.publicKey); + + const publicKey = Buffer.from(publicKeyBytes).toString("hex"); + return publicKey; + } catch (error) { + console.error("[Sui Ledger] suiGetPublicKey error:", error); + throw error; + } +} + +export async function suiSignTx(transport: LedgerTransport, msg: core.SuiSignTx): Promise { + const bip32path = addressNListToBIP32Path(msg.addressNList); + + try { + const res = await transport.call("Sui", "signTransaction", bip32path, Buffer.from(msg.intentMessageBytes)); + handleError(res, transport, "Unable to sign Sui transaction."); + + // Convert Uint8Array signature to hex string + const signatureBytes = + res.payload.signature instanceof Uint8Array ? res.payload.signature : new Uint8Array(res.payload.signature); + const signature = Buffer.from(signatureBytes).toString("hex"); + + const publicKey = await suiGetPublicKey(transport, msg.addressNList); + + return { + signature, + publicKey, + }; + } catch (error) { + console.error("[Sui Ledger] suiSignTx error:", error); + throw error; + } +} + +export function suiGetAccountPaths(msg: core.SuiGetAccountPaths): Array { + return core.suiGetAccountPaths(msg); +} + +export function suiNextAccountPath(msg: core.SuiAccountPath): core.SuiAccountPath | undefined { + const addressNList = msg.addressNList; + if ( + addressNList[0] === 0x80000000 + 44 && + addressNList[1] === 0x80000000 + core.slip44ByCoin("Sui") && + addressNList[3] === 0x80000000 + 0 && + addressNList[4] === 0x80000000 + 0 + ) { + return { + addressNList: [ + 0x80000000 + 44, + 0x80000000 + core.slip44ByCoin("Sui"), + addressNList[2] + 1, + 0x80000000 + 0, + 0x80000000 + 0, + ], + }; + } + return undefined; +} diff --git a/packages/hdwallet-ledger/src/transport.ts b/packages/hdwallet-ledger/src/transport.ts index 536dd87c1..602c52411 100644 --- a/packages/hdwallet-ledger/src/transport.ts +++ b/packages/hdwallet-ledger/src/transport.ts @@ -4,6 +4,7 @@ import type Eth from "@ledgerhq/hw-app-eth"; import Solana from "@ledgerhq/hw-app-solana"; import type Trx from "@ledgerhq/hw-app-trx"; import type Transport from "@ledgerhq/hw-transport"; +import type Sui from "@mysten/ledgerjs-hw-app-sui"; import * as core from "@shapeshiftoss/hdwallet-core"; import type { getAppAndVersion } from "./hw/getAppAndVersion"; @@ -17,7 +18,7 @@ type MethodsOnly = { type UnwrapPromise = T extends Promise ? R : T; type DefinitelyCallable = T extends (...args: any) => any ? T : never; -export type LedgerTransportCoinType = null | "Btc" | "Eth" | "Thorchain" | "Cosmos" | "Solana" | "Tron"; +export type LedgerTransportCoinType = null | "Btc" | "Eth" | "Thorchain" | "Cosmos" | "Solana" | "Sui" | "Tron"; type CurriedWithTransport any> = T extends ( transport: Transport, ...args: infer R @@ -44,6 +45,8 @@ type LedgerTransportMethodMap = T extends nul ? MethodsOnly : T extends "Solana" ? MethodsOnly + : T extends "Sui" + ? MethodsOnly : T extends "Tron" ? MethodsOnly : never; diff --git a/packages/hdwallet-ledger/src/utils.ts b/packages/hdwallet-ledger/src/utils.ts index cdb7eed0d..385da0865 100644 --- a/packages/hdwallet-ledger/src/utils.ts +++ b/packages/hdwallet-ledger/src/utils.ts @@ -601,6 +601,7 @@ const appNameBySlip44: Record = { 145: "Bitcoin Cash", 195: "Tron", 501: "Solana", + 784: "Sui", 931: "THORChain", }; diff --git a/packages/hdwallet-metamask-multichain/package.json b/packages/hdwallet-metamask-multichain/package.json index d05b0cf8f..8cd9aa3bb 100644 --- a/packages/hdwallet-metamask-multichain/package.json +++ b/packages/hdwallet-metamask-multichain/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-metamask-multichain", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "@metamask/detect-provider": "^1.2.0", "@metamask/onboarding": "^1.0.1", "@shapeshiftoss/common-api": "^9.3.0", - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "@shapeshiftoss/metamask-snaps-adapter": "^1.0.12", "@shapeshiftoss/metamask-snaps-types": "^1.0.12", "eth-rpc-errors": "^4.0.3", diff --git a/packages/hdwallet-native-vault/package.json b/packages/hdwallet-native-vault/package.json index c046ed115..48d25b19d 100644 --- a/packages/hdwallet-native-vault/package.json +++ b/packages/hdwallet-native-vault/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-native-vault", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@bitcoinerlab/secp256k1": "^1.1.1", - "@shapeshiftoss/hdwallet-native": "^1.62.19", + "@shapeshiftoss/hdwallet-native": "1.62.20", "bip39": "^3.0.4", "hash-wasm": "^4.11.0", "idb-keyval": "^6.0.3", diff --git a/packages/hdwallet-native/package.json b/packages/hdwallet-native/package.json index 8918798e8..1b0c86770 100644 --- a/packages/hdwallet-native/package.json +++ b/packages/hdwallet-native/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-native", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "@bitcoinerlab/secp256k1": "^1.1.1", "@noble/curves": "^1.4.0", "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.0", - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "@shapeshiftoss/proto-tx-builder": "0.10.0", "@zxing/text-encoding": "^0.9.0", "bchaddrjs": "^0.4.9", diff --git a/packages/hdwallet-phantom/package.json b/packages/hdwallet-phantom/package.json index 65b934b07..687c934de 100644 --- a/packages/hdwallet-phantom/package.json +++ b/packages/hdwallet-phantom/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-phantom", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.0", - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "@solana/web3.js": "1.95.8", "base64-js": "^1.5.1", "bitcoinjs-message": "^2.0.0", diff --git a/packages/hdwallet-portis/package.json b/packages/hdwallet-portis/package.json index 3fff29fc2..4c2feab8f 100644 --- a/packages/hdwallet-portis/package.json +++ b/packages/hdwallet-portis/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-portis", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -16,7 +16,7 @@ "dependencies": { "@portis/web3": "3.0.10", "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.0", - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "base64-js": "^1.5.1", "bip32": "^2.0.4", "bitcoinjs-message": "^2.1.0", diff --git a/packages/hdwallet-trezor-connect/package.json b/packages/hdwallet-trezor-connect/package.json index 849deeae6..9497de42d 100644 --- a/packages/hdwallet-trezor-connect/package.json +++ b/packages/hdwallet-trezor-connect/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-trezor-connect", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "^1.62.19", - "@shapeshiftoss/hdwallet-trezor": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", + "@shapeshiftoss/hdwallet-trezor": "1.62.20", "@trezor/connect-web": "^9.6.4" } } diff --git a/packages/hdwallet-trezor/package.json b/packages/hdwallet-trezor/package.json index 75edd3b57..d5a583c32 100644 --- a/packages/hdwallet-trezor/package.json +++ b/packages/hdwallet-trezor/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-trezor", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "dependencies": { "@ethereumjs/common": "3.2.0", "@ethereumjs/tx": "4.2.0", - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "base64-js": "^1.5.1", "bchaddrjs": "^0.4.4", "lodash": "^4.17.21" diff --git a/packages/hdwallet-vultisig/package.json b/packages/hdwallet-vultisig/package.json index effd22072..edfde09ad 100644 --- a/packages/hdwallet-vultisig/package.json +++ b/packages/hdwallet-vultisig/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-vultisig", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "@cosmjs/amino": "^0.28.13", "@cosmjs/stargate": "^0.28.13", "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.0", - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "@solana/web3.js": "1.95.8", "base64-js": "^1.5.1", "bitcoinjs-message": "^2.0.0", diff --git a/packages/hdwallet-walletconnect/package.json b/packages/hdwallet-walletconnect/package.json index e198e63b1..2e8454039 100644 --- a/packages/hdwallet-walletconnect/package.json +++ b/packages/hdwallet-walletconnect/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-walletconnect", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "@walletconnect/qrcode-modal": "^1.7.8", "@walletconnect/web3-provider": "^1.7.8", "ethers": "^5.6.5" diff --git a/packages/hdwallet-walletconnectV2/package.json b/packages/hdwallet-walletconnectV2/package.json index 4d573305c..6c97526bf 100644 --- a/packages/hdwallet-walletconnectV2/package.json +++ b/packages/hdwallet-walletconnectV2/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-walletconnectv2", - "version": "1.62.19", + "version": "1.62.20", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "^1.62.19", + "@shapeshiftoss/hdwallet-core": "1.62.20", "@walletconnect/ethereum-provider": "^2.20.2", "@walletconnect/modal": "^2.6.2", "ethers": "^5.6.5" diff --git a/yarn.lock b/yarn.lock index 10afdf977..8ea43d410 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1688,7 +1688,7 @@ rxjs "^7.8.1" semver "^7.3.5" -"@ledgerhq/devices@8.7.0": +"@ledgerhq/devices@8.7.0", "@ledgerhq/devices@^8.6.1": version "8.7.0" resolved "https://registry.npmjs.org/@ledgerhq/devices/-/devices-8.7.0.tgz#39e011c484c4251c92769f92cf8c23b8a0b4ce39" integrity sha512-3pSOULPUhClk2oOxa6UnoyXW8+05FK7r6cpq2WiTey4kyIUjmIraO7AX9lhz9IU73dGVtBMdU+NCPPO2RYJaTQ== @@ -1716,7 +1716,7 @@ resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.23.0.tgz#fae7b61095ce4c033394d16085b5f14ca9f9d738" integrity sha512-bM7tPYShPThtBy1Y+9D28iquOeP5W5s4p7KKD/cUQoaVaPibrtC7Mm4u+IeSlH4WGvFJkTmv0vmZJajuZtM79A== -"@ledgerhq/errors@^6.27.0": +"@ledgerhq/errors@^6.26.0", "@ledgerhq/errors@^6.27.0": version "6.27.0" resolved "https://registry.npmjs.org/@ledgerhq/errors/-/errors-6.27.0.tgz#3acc978ed1dbbdd8049dcedccccf4a96968f583a" integrity sha512-EE2hATONHdNP3YWFe3rZwwpSEzI5oN+q/xTjOulnjHZo84TLjungegEJ54A/Pzld0woulkkeVA27FbW5SAO1aA== @@ -1796,6 +1796,13 @@ dependencies: "@ledgerhq/hw-transport" "6.31.13" +"@ledgerhq/hw-bolos@^6.32.8": + version "6.32.9" + resolved "https://registry.npmjs.org/@ledgerhq/hw-bolos/-/hw-bolos-6.32.9.tgz#9d1ad6d33222b3b63c1a4e23896c3ca3c88770ce" + integrity sha512-4GDpBPPl0weqcvm/+gvYs01whsbwwl+HIiTtFi5iDfHa/6JmV7KxRaT8JfPRc8M4fSnJs5Z7NxHnrhEHu+tA2Q== + dependencies: + "@ledgerhq/hw-transport" "6.31.13" + "@ledgerhq/hw-transport-mocker@^6.29.8": version "6.29.8" resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-mocker/-/hw-transport-mocker-6.29.8.tgz#7188e0fe8dfa5df5451ce3b55c192c89007ccdea" @@ -1825,7 +1832,7 @@ "@ledgerhq/hw-transport" "^6.31.8" "@ledgerhq/logs" "^6.13.0" -"@ledgerhq/hw-transport@6.31.13": +"@ledgerhq/hw-transport@6.31.13", "@ledgerhq/hw-transport@^6.31.10": version "6.31.13" resolved "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.31.13.tgz#87e4a53bdcca257eeea6cbcc7a662c449a0cfa92" integrity sha512-MrJRDk74wY980ofiFPRpTHQBbRw1wDuKbdag1zqlO1xtJglymwwY03K2kvBNvkm1RTSCPUp/nAoNG+WThZuuew== @@ -1845,6 +1852,38 @@ "@ledgerhq/logs" "^6.13.0" events "^3.3.0" +"@ledgerhq/ledger-cal-service@^1.6.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@ledgerhq/ledger-cal-service/-/ledger-cal-service-1.9.0.tgz#b9797a71c17b8bf0f0a00ff9f84fa269b328540b" + integrity sha512-OuM5+pOcRYDs25VgTD1f5hzhc154g6Oh8dL3M+77MtpQOO3XCnLuWe7eFNS28r6jWrojN1v8I1aTYiVJh+vdeg== + dependencies: + "@ledgerhq/live-env" "2.21.0" + "@ledgerhq/live-network" "2.1.1" + +"@ledgerhq/ledger-trust-service@^0.3.14": + version "0.3.14" + resolved "https://registry.npmjs.org/@ledgerhq/ledger-trust-service/-/ledger-trust-service-0.3.14.tgz#37aaea4eb6c44196652ca478b104396ced801d24" + integrity sha512-Q83QXnLDFIDnm2Bv4WgWilurE1WGSX7gGaMEhVxb/BQXH1O78QlNgNRys8K35wnG7BxYKjBJGMoK9U6JdWwW2Q== + dependencies: + "@ledgerhq/live-env" "2.18.0" + "@ledgerhq/live-network" "2.0.19" + +"@ledgerhq/live-env@2.18.0": + version "2.18.0" + resolved "https://registry.npmjs.org/@ledgerhq/live-env/-/live-env-2.18.0.tgz#2669a80775c4217c47e02e25f179f1b33899c3ce" + integrity sha512-wasAK0IPyyX4ZAU0FLTZUsRzxJfdHlewyhkbz3HryYKbNofuMRwIWyaZ2xhpXXjEdP6qHb9HzewAZevjSn7DLQ== + dependencies: + rxjs "^7.8.1" + utility-types "^3.10.0" + +"@ledgerhq/live-env@2.21.0", "@ledgerhq/live-env@^2.18.0", "@ledgerhq/live-env@^2.21.0": + version "2.21.0" + resolved "https://registry.npmjs.org/@ledgerhq/live-env/-/live-env-2.21.0.tgz#ce9462e04493c0623d582dcc3ab93685e21dddf1" + integrity sha512-A/+lCW6HNE9TWMCVo3dluZ0qTp9l+LMV9vH62SXqeHNYL3MqE/gsdZ1sZEMimLx8fURkCIKlHdNd1lN/tY5t/A== + dependencies: + rxjs "^7.8.1" + utility-types "^3.10.0" + "@ledgerhq/live-env@^2.12.0": version "2.12.0" resolved "https://registry.yarnpkg.com/@ledgerhq/live-env/-/live-env-2.12.0.tgz#d238595627211c669667c5d6b8042937e56288ac" @@ -1853,6 +1892,30 @@ rxjs "^7.8.1" utility-types "^3.10.0" +"@ledgerhq/live-network@2.0.19": + version "2.0.19" + resolved "https://registry.npmjs.org/@ledgerhq/live-network/-/live-network-2.0.19.tgz#4903f2e66eebb198c37c25b57f57c6af304397db" + integrity sha512-KVdqFDQcqEUNoC/TnaOJeo/I7TY39lQhzcVlnkAt2jbp5Xfv5YNuazL9lId5+bBb28jNPAv5uNJSlgvzpSSNIg== + dependencies: + "@ledgerhq/errors" "^6.26.0" + "@ledgerhq/live-env" "^2.18.0" + "@ledgerhq/live-promise" "^0.1.1" + "@ledgerhq/logs" "^6.13.0" + axios "1.11.0" + lru-cache "^7.14.1" + +"@ledgerhq/live-network@2.1.1": + version "2.1.1" + resolved "https://registry.npmjs.org/@ledgerhq/live-network/-/live-network-2.1.1.tgz#584ce5af8afd2a704c61631c8ab38108617e48aa" + integrity sha512-58YMh/dUyntKubtzOsToyBjVakIM58h3k7nEyrUXY7UpO0VWY1TvSF0D4mdPGVpbwNs9C2KP3Lf/kowbAYpVJA== + dependencies: + "@ledgerhq/errors" "^6.27.0" + "@ledgerhq/live-env" "^2.21.0" + "@ledgerhq/live-promise" "^0.1.1" + "@ledgerhq/logs" "^6.13.0" + axios "1.12.2" + lru-cache "^7.14.1" + "@ledgerhq/live-network@^2.0.13": version "2.0.13" resolved "https://registry.yarnpkg.com/@ledgerhq/live-network/-/live-network-2.0.13.tgz#ed881535da04ebc04d091eff8c6783051cfbc5f8" @@ -3047,6 +3110,20 @@ "@types/set-cookie-parser" "^2.4.0" set-cookie-parser "^2.4.6" +"@mysten/ledgerjs-hw-app-sui@^0.7.0": + version "0.7.0" + resolved "https://registry.npmjs.org/@mysten/ledgerjs-hw-app-sui/-/ledgerjs-hw-app-sui-0.7.0.tgz#e9f0398807a6d63bf541a6e146409f89fac69f6d" + integrity sha512-Z2ydxg35U2tk3pThsWzPewticDnHWqAeLlh2Vp4NhYU/YFyoVxK9obh21pnvU/hmRzL+BRpYlwbX5Nuo77+lwA== + dependencies: + "@ledgerhq/devices" "^8.6.1" + "@ledgerhq/errors" "^6.26.0" + "@ledgerhq/hw-bolos" "^6.32.8" + "@ledgerhq/hw-transport" "^6.31.10" + "@ledgerhq/ledger-cal-service" "^1.6.0" + "@ledgerhq/ledger-trust-service" "^0.3.14" + fast-sha256 "^1.3.0" + semver "^7" + "@noble/ciphers@1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.2.1.tgz#3812b72c057a28b44ff0ad4aff5ca846e5b9cdc9" @@ -6751,6 +6828,24 @@ axios@0.27.2: follow-redirects "^1.14.9" form-data "^4.0.0" +axios@1.11.0: + version "1.11.0" + resolved "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz#c2ec219e35e414c025b2095e8b8280278478fdb6" + integrity sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.4" + proxy-from-env "^1.1.0" + +axios@1.12.2: + version "1.12.2" + resolved "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz#6c307390136cf7a2278d09cec63b136dfc6e6da7" + integrity sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.4" + proxy-from-env "^1.1.0" + axios@1.7.7, axios@^1.0.0: version "1.7.7" resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" @@ -10485,6 +10580,11 @@ fast-safe-stringify@^2.0.6: resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== +fast-sha256@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/fast-sha256/-/fast-sha256-1.3.0.tgz#7916ba2054eeb255982608cccd0f6660c79b7ae6" + integrity sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ== + fast-stable-stringify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" @@ -16604,6 +16704,11 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +semver@^7: + version "7.7.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946" + integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== + semver@~5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"