diff --git a/examples/sandbox/package.json b/examples/sandbox/package.json index 0194f7aeb..e164d820d 100644 --- a/examples/sandbox/package.json +++ b/examples/sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-sandbox", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "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.28", - "@shapeshiftoss/hdwallet-core": "1.62.28", - "@shapeshiftoss/hdwallet-keepkey": "1.62.28", - "@shapeshiftoss/hdwallet-keepkey-tcp": "1.62.28", - "@shapeshiftoss/hdwallet-keepkey-webusb": "1.62.28", - "@shapeshiftoss/hdwallet-keplr": "1.62.28", - "@shapeshiftoss/hdwallet-ledger": "1.62.28", - "@shapeshiftoss/hdwallet-ledger-webhid": "1.62.28", - "@shapeshiftoss/hdwallet-ledger-webusb": "1.62.28", - "@shapeshiftoss/hdwallet-metamask-multichain": "1.62.28", - "@shapeshiftoss/hdwallet-native": "1.62.28", - "@shapeshiftoss/hdwallet-phantom": "1.62.28", - "@shapeshiftoss/hdwallet-portis": "1.62.28", - "@shapeshiftoss/hdwallet-trezor": "1.62.28", - "@shapeshiftoss/hdwallet-trezor-connect": "1.62.28", - "@shapeshiftoss/hdwallet-vultisig": "1.62.28", - "@shapeshiftoss/hdwallet-walletconnect": "1.62.28", - "@shapeshiftoss/hdwallet-walletconnectv2": "1.62.28", + "@shapeshiftoss/hdwallet-coinbase": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-keepkey": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-keepkey-tcp": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-keepkey-webusb": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-keplr": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-ledger": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-ledger-webhid": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-ledger-webusb": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-metamask-multichain": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-native": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-phantom": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-portis": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-trezor": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-trezor-connect": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-vultisig": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-walletconnect": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-walletconnectv2": "^1.62.29-bebop-solana-msg.5", "bip32": "^2.0.4", "eip-712": "^1.0.0", "jquery": "^3.7.1", diff --git a/integration/package.json b/integration/package.json index 5d097f383..872b9e2c7 100644 --- a/integration/package.json +++ b/integration/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/integration", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "main": "index.js", "license": "MIT", "private": true, @@ -12,16 +12,16 @@ "dependencies": { "@bitcoinerlab/secp256k1": "^1.1.1", "@bitgo/utxo-lib": "^11.18.0", - "@shapeshiftoss/hdwallet-core": "1.62.28", - "@shapeshiftoss/hdwallet-keepkey": "1.62.28", - "@shapeshiftoss/hdwallet-keepkey-nodewebusb": "1.62.28", - "@shapeshiftoss/hdwallet-keepkey-tcp": "1.62.28", - "@shapeshiftoss/hdwallet-ledger": "1.62.28", - "@shapeshiftoss/hdwallet-metamask-multichain": "1.62.28", - "@shapeshiftoss/hdwallet-native": "1.62.28", - "@shapeshiftoss/hdwallet-portis": "1.62.28", - "@shapeshiftoss/hdwallet-trezor": "1.62.28", - "@shapeshiftoss/hdwallet-vultisig": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-keepkey": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-keepkey-nodewebusb": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-keepkey-tcp": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-ledger": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-metamask-multichain": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-native": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-portis": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-trezor": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-vultisig": "^1.62.29-bebop-solana-msg.5", "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 735dbfc16..c49435afe 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "lerna": "5.2.0", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "npmClient": "yarn", "useWorkspaces": true, "command": { @@ -8,5 +8,10 @@ "message": "chore(release): publish %v" } }, - "ignoreChanges": ["**/__fixtures__/**", "**/__tests__/**", "**/*.md", "**/.env"] + "ignoreChanges": [ + "**/__fixtures__/**", + "**/__tests__/**", + "**/*.md", + "**/.env" + ] } diff --git a/package.json b/package.json index 2bf3e92ba..d8fda1500 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,23 @@ "p-queue": "^6.6.2" }, "dependencies": { + "@shapeshiftoss/hdwallet-coinbase": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-core": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-gridplus": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-keepkey": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-keplr": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-ledger": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-ledger-webhid": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-ledger-webusb": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-metamask-multichain": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-native": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-phantom": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-portis": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-trezor": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-trezor-connect": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-vultisig": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-walletconnect": "1.62.29-bebop-solana-msg.1", + "@shapeshiftoss/hdwallet-walletconnectv2": "1.62.29-bebop-solana-msg.1", "@types/jest": "^26.0.23", "@types/node": "^22.13.14", "patch-package": "^6.2.2", diff --git a/packages/hdwallet-coinbase/package.json b/packages/hdwallet-coinbase/package.json index 3b911f7c3..669872468 100644 --- a/packages/hdwallet-coinbase/package.json +++ b/packages/hdwallet-coinbase/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-coinbase", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -15,11 +15,12 @@ }, "dependencies": { "@coinbase/wallet-sdk": "^3.6.6", - "@shapeshiftoss/hdwallet-core": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "eth-rpc-errors": "^4.0.3", "lodash": "^4.17.21" }, "devDependencies": { "@types/lodash": "^4.14.168" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-core/package.json b/packages/hdwallet-core/package.json index 1d286f813..ec123a054 100644 --- a/packages/hdwallet-core/package.json +++ b/packages/hdwallet-core/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-core", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -28,5 +28,6 @@ "devDependencies": { "@types/google-protobuf": "^3.15.1", "@types/lodash": "^4.14.168" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-core/src/solana.ts b/packages/hdwallet-core/src/solana.ts index c04dc7c07..ad3864f12 100644 --- a/packages/hdwallet-core/src/solana.ts +++ b/packages/hdwallet-core/src/solana.ts @@ -86,6 +86,11 @@ export interface SolanaWalletInfo extends HDWalletInfo { solanaNextAccountPath(msg: SolanaAccountPath): SolanaAccountPath | undefined; } +export interface SolanaSignMessage { + addressNList: BIP32Path; + message: Uint8Array; +} + export interface SolanaWallet extends SolanaWalletInfo, HDWallet { readonly _supportsSolana: boolean; @@ -93,6 +98,8 @@ export interface SolanaWallet extends SolanaWalletInfo, HDWallet { solanaGetAddresses?(msgs: SolanaGetAddress[]): Promise; solanaSignTx(msg: SolanaSignTx): Promise; solanaSendTx?(msg: SolanaSignTx): Promise; + solanaSignMessage?(msg: SolanaSignMessage): Promise; + solanaSignRawTransaction?(serializedTx: string): Promise; } export function solanaDescribePath(path: BIP32Path): PathDescription { diff --git a/packages/hdwallet-gridplus/package.json b/packages/hdwallet-gridplus/package.json index 5cd3eaa53..cc305a8b1 100644 --- a/packages/hdwallet-gridplus/package.json +++ b/packages/hdwallet-gridplus/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-gridplus", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "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.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "bech32": "^1.1.4", "bs58": "^5.0.0", "bs58check": "^4.0.0", @@ -35,5 +35,6 @@ "nohoist": [ "@ethereumjs/common", "@ethereumjs/tx" - ] + ], + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-keepkey-chromeusb/package.json b/packages/hdwallet-keepkey-chromeusb/package.json index 78dd2d09a..48346d5df 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.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.62.28", - "@shapeshiftoss/hdwallet-keepkey": "1.62.28" - } + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-keepkey": "^1.62.29-bebop-solana-msg.5" + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-keepkey-electron/package.json b/packages/hdwallet-keepkey-electron/package.json index 17423a539..1a6f80351 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.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-keepkey": "1.62.28", + "@shapeshiftoss/hdwallet-keepkey": "^1.62.29-bebop-solana-msg.5", "uuid": "^8.3.2" }, "peerDependencies": { @@ -23,5 +23,6 @@ "devDependencies": { "@types/uuid": "^8.3.0", "electron": "^12.0.9" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-keepkey-nodehid/package.json b/packages/hdwallet-keepkey-nodehid/package.json index 14812a105..cd3b29c69 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.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,12 +14,13 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-keepkey": "1.62.28" + "@shapeshiftoss/hdwallet-keepkey": "^1.62.29-bebop-solana-msg.5" }, "peerDependencies": { "node-hid": "^2.1.1" }, "devDependencies": { "@types/node-hid": "^1.3.1" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-keepkey-nodewebusb/package.json b/packages/hdwallet-keepkey-nodewebusb/package.json index 54faf72fd..dfa070454 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.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,13 +14,14 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.62.28", - "@shapeshiftoss/hdwallet-keepkey": "1.62.28" + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-keepkey": "^1.62.29-bebop-solana-msg.5" }, "peerDependencies": { "usb": "^2.3.1" }, "devDependencies": { "usb": "^2.3.1" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-keepkey-tcp/package.json b/packages/hdwallet-keepkey-tcp/package.json index ca6eabd94..27e4383fc 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.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,9 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.62.28", - "@shapeshiftoss/hdwallet-keepkey": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-keepkey": "^1.62.29-bebop-solana-msg.5", "axios": "^0.21.1" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-keepkey-webusb/package.json b/packages/hdwallet-keepkey-webusb/package.json index ef4a15342..28043fb86 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.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,10 +14,11 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.62.28", - "@shapeshiftoss/hdwallet-keepkey": "1.62.28" + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-keepkey": "^1.62.29-bebop-solana-msg.5" }, "devDependencies": { "@types/w3c-web-usb": "^1.0.4" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-keepkey/package.json b/packages/hdwallet-keepkey/package.json index 711ca2bd3..746a760e9 100644 --- a/packages/hdwallet-keepkey/package.json +++ b/packages/hdwallet-keepkey/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "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.2", - "@shapeshiftoss/hdwallet-core": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "@shapeshiftoss/proto-tx-builder": "0.10.0", "bignumber.js": "^9.0.1", "bnb-javascript-sdk-nobroadcast": "2.16.15", @@ -46,5 +46,6 @@ "@types/lodash": "^4.14.168", "@types/semver": "^6.2.2", "typedoc": "^0.20.36" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-keplr/package.json b/packages/hdwallet-keplr/package.json index e70e3eb18..d0207bd08 100644 --- a/packages/hdwallet-keplr/package.json +++ b/packages/hdwallet-keplr/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keplr", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "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.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "@shapeshiftoss/proto-tx-builder": "0.10.0", "@shapeshiftoss/types": "3.1.3", "base64-js": "^1.5.1", @@ -28,5 +28,6 @@ "@cosmjs/stargate": "^0.28.13", "@keplr-wallet/types": "^0.12.35", "@types/lodash": "^4.14.168" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-ledger-webhid/package.json b/packages/hdwallet-ledger-webhid/package.json index 01822fdb8..7178dd3d0 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.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -18,8 +18,9 @@ "@ledgerhq/hw-app-eth": "7.0.0", "@ledgerhq/hw-transport": "6.31.13", "@ledgerhq/hw-transport-webhid": "6.30.6", - "@shapeshiftoss/hdwallet-core": "1.62.28", - "@shapeshiftoss/hdwallet-ledger": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-ledger": "^1.62.29-bebop-solana-msg.5", "@types/w3c-web-hid": "^1.0.2" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-ledger-webusb/package.json b/packages/hdwallet-ledger-webusb/package.json index a9d6091ce..deb9af4e3 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.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -20,12 +20,13 @@ "@ledgerhq/hw-app-solana": "7.6.0", "@ledgerhq/hw-transport": "6.31.13", "@ledgerhq/hw-transport-webusb": "6.29.13", - "@shapeshiftoss/hdwallet-core": "1.62.28", - "@shapeshiftoss/hdwallet-ledger": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-ledger": "^1.62.29-bebop-solana-msg.5", "@types/w3c-web-usb": "^1.0.4", "p-queue": "^7.4.1" }, "devDependencies": { "@types/w3c-web-usb": "^1.0.6" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-ledger/package.json b/packages/hdwallet-ledger/package.json index 3c8b446c3..39ae017e5 100644 --- a/packages/hdwallet-ledger/package.json +++ b/packages/hdwallet-ledger/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -28,7 +28,7 @@ "@ledgerhq/logs": "6.13.0", "@mysten/ledgerjs-hw-app-sui": "^0.7.0", "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.2", - "@shapeshiftoss/hdwallet-core": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "@solana/web3.js": "1.95.8", "base64-js": "^1.5.1", "bchaddrjs": "^0.4.4", @@ -45,5 +45,6 @@ "@types/ethereumjs-util": "^6.1.0", "@types/ripemd160": "^2.0.2", "typedoc": "^0.20.36" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-metamask-multichain/package.json b/packages/hdwallet-metamask-multichain/package.json index 242119012..89bfd45c9 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.28", + "version": "1.62.29-bebop-solana-msg.5", "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.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "@shapeshiftoss/metamask-snaps-adapter": "^1.0.12", "@shapeshiftoss/metamask-snaps-types": "^1.0.12", "eth-rpc-errors": "^4.0.3", @@ -27,5 +27,6 @@ "devDependencies": { "@types/express": "^4.17.17", "@types/lodash": "^4.14.168" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-native-vault/package.json b/packages/hdwallet-native-vault/package.json index 04504e32e..88d8b52b8 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.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@bitcoinerlab/secp256k1": "^1.1.1", - "@shapeshiftoss/hdwallet-native": "1.62.28", + "@shapeshiftoss/hdwallet-native": "^1.62.29-bebop-solana-msg.5", "bip39": "^3.0.4", "hash-wasm": "^4.11.0", "idb-keyval": "^6.0.3", @@ -26,5 +26,6 @@ }, "devDependencies": { "fake-indexeddb": "^3.1.7" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-native/package.json b/packages/hdwallet-native/package.json index 4f487ee77..52f3c1056 100644 --- a/packages/hdwallet-native/package.json +++ b/packages/hdwallet-native/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-native", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "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.2", - "@shapeshiftoss/hdwallet-core": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "@shapeshiftoss/proto-tx-builder": "0.10.0", "@zxing/text-encoding": "^0.9.0", "bchaddrjs": "^0.4.9", @@ -56,5 +56,6 @@ "bs58": "^4.0.1", "cosmjs-types": "^0.4.1", "msw": "^0.27.1" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-native/src/crypto/isolation/adapters/solana.ts b/packages/hdwallet-native/src/crypto/isolation/adapters/solana.ts index b0a3d8172..d1ccb9414 100644 --- a/packages/hdwallet-native/src/crypto/isolation/adapters/solana.ts +++ b/packages/hdwallet-native/src/crypto/isolation/adapters/solana.ts @@ -26,6 +26,12 @@ export class SolanaAdapter { transaction.addSignature(new PublicKey(publicKeyBuffer), signature); return transaction; } + + async signMessage(message: Uint8Array, addressNList: core.BIP32Path): Promise { + const nodeAdapter = await this.nodeAdapter.derivePath(core.addressNListToHardenedBIP32(addressNList)); + const signature = await nodeAdapter.node.sign(message); + return signature; + } } export default SolanaAdapter; diff --git a/packages/hdwallet-native/src/solana.ts b/packages/hdwallet-native/src/solana.ts index 874ad8534..769f39453 100644 --- a/packages/hdwallet-native/src/solana.ts +++ b/packages/hdwallet-native/src/solana.ts @@ -61,5 +61,39 @@ export function MixinNativeSolanaWallet { + return this.needsMnemonic(!!this.adapter, async () => { + const signature = await this.adapter!.signMessage(msg.message, msg.addressNList); + return Buffer.from(signature).toString("base64"); + }); + } + + async solanaSignRawTransaction(serializedTx: string): Promise { + return this.needsMnemonic(!!this.adapter, async () => { + const { VersionedTransaction } = await import("@solana/web3.js"); + const txBytes = Buffer.from(serializedTx, "base64"); + const transaction = VersionedTransaction.deserialize(txBytes); + + // Extract messageBytes (exactly like Bebop's tx.messageBytes) + const messageBytes = transaction.message.serialize(); + + console.log("[Native solanaSignRawTransaction] Signing messageBytes:", { + serializedTxLength: serializedTx.length, + messageBytesLength: messageBytes.length, + blockhash: transaction.message.recentBlockhash, + }); + + // Sign ONLY the messageBytes, don't modify the transaction + const addressNList = core.bip32ToAddressNList("m/44'/501'/0'/0'"); + const signature = await this.adapter!.signMessage(messageBytes, addressNList); + + console.log("[Native solanaSignRawTransaction] Signature created:", { + signatureLength: signature.length, + }); + + return Buffer.from(signature).toString("base64"); + }); + } }; } diff --git a/packages/hdwallet-phantom/package.json b/packages/hdwallet-phantom/package.json index 2de6ffe27..62a3f4f6c 100644 --- a/packages/hdwallet-phantom/package.json +++ b/packages/hdwallet-phantom/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-phantom", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.2", - "@shapeshiftoss/hdwallet-core": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "@solana/web3.js": "1.95.8", "base64-js": "^1.5.1", "bitcoinjs-message": "^2.0.0", @@ -24,5 +24,6 @@ }, "devDependencies": { "@types/lodash": "^4.14.168" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-phantom/src/phantom.ts b/packages/hdwallet-phantom/src/phantom.ts index 17dc995b5..ef90d9f95 100644 --- a/packages/hdwallet-phantom/src/phantom.ts +++ b/packages/hdwallet-phantom/src/phantom.ts @@ -406,4 +406,49 @@ export class PhantomHDWallet const address = await this.solanaGetAddress(); return address ? solanaSendTx(msg, this.solanaProvider, address) : null; } + + public async solanaSignMessage(msg: core.SolanaSignMessage): Promise { + try { + const { signature } = await this.solanaProvider.signMessage(msg.message); + return Buffer.from(signature).toString("base64"); + } catch (error) { + console.error("Phantom solanaSignMessage error:", error); + return null; + } + } + + public async solanaSignRawTransaction(serializedTx: string): Promise { + try { + const { VersionedTransaction } = await import("@solana/web3.js"); + const txBytes = Buffer.from(serializedTx, "base64"); + const transaction = VersionedTransaction.deserialize(txBytes); + + // Capture original messageBytes before signing + const originalMessageBytes = transaction.message.serialize(); + const originalBlockhash = transaction.message.recentBlockhash; + + // Sign the transaction to get the signature + const signedTx = await this.solanaProvider.signTransaction(transaction); + + // Check if messageBytes changed + const afterMessageBytes = signedTx.message.serialize(); + const afterBlockhash = signedTx.message.recentBlockhash; + + console.log("[Phantom solanaSignRawTransaction] Message integrity check:", { + originalMessageBytesLength: originalMessageBytes.length, + afterMessageBytesLength: afterMessageBytes.length, + messageBytesMatch: Buffer.from(originalMessageBytes).equals(Buffer.from(afterMessageBytes)), + originalBlockhash, + afterBlockhash, + blockhashChanged: originalBlockhash !== afterBlockhash, + }); + + const signature = signedTx.signatures[0]; + + return Buffer.from(signature).toString("base64"); + } catch (error) { + console.error("Phantom solanaSignRawTransaction error:", error); + return null; + } + } } diff --git a/packages/hdwallet-phantom/src/types.ts b/packages/hdwallet-phantom/src/types.ts index 974df4904..ca88a2f10 100644 --- a/packages/hdwallet-phantom/src/types.ts +++ b/packages/hdwallet-phantom/src/types.ts @@ -29,4 +29,5 @@ export type PhantomSolanaProvider = providers.ExternalProvider & { connect(): Promise; signTransaction(transaction: VersionedTransaction): Promise; signAndSendTransaction(transaction: VersionedTransaction): Promise<{ signature: TransactionSignature }>; + signMessage(message: Uint8Array, display?: "hex" | "utf8"): Promise<{ signature: Uint8Array }>; }; diff --git a/packages/hdwallet-portis/package.json b/packages/hdwallet-portis/package.json index 4fd86b0f3..e6e80b0c9 100644 --- a/packages/hdwallet-portis/package.json +++ b/packages/hdwallet-portis/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-portis", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -16,7 +16,7 @@ "dependencies": { "@portis/web3": "3.0.10", "@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.2", - "@shapeshiftoss/hdwallet-core": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "base64-js": "^1.5.1", "bip32": "^2.0.4", "bitcoinjs-message": "^2.1.0", @@ -26,5 +26,6 @@ }, "devDependencies": { "@types/lodash": "^4.14.168" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-trezor-connect/package.json b/packages/hdwallet-trezor-connect/package.json index c286c6b6a..7e967428c 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.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,9 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.62.28", - "@shapeshiftoss/hdwallet-trezor": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", + "@shapeshiftoss/hdwallet-trezor": "^1.62.29-bebop-solana-msg.5", "@trezor/connect-web": "^9.6.4" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-trezor/package.json b/packages/hdwallet-trezor/package.json index b18e4cc8f..54ba482bb 100644 --- a/packages/hdwallet-trezor/package.json +++ b/packages/hdwallet-trezor/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-trezor", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "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.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "base64-js": "^1.5.1", "bchaddrjs": "^0.4.4", "lodash": "^4.17.21" @@ -26,5 +26,6 @@ "@types/bchaddrjs": "^0.4.0", "@types/lodash": "^4.14.168", "typedoc": "^0.20.36" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-vultisig/package.json b/packages/hdwallet-vultisig/package.json index 5b24a9868..482c83d24 100644 --- a/packages/hdwallet-vultisig/package.json +++ b/packages/hdwallet-vultisig/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-vultisig", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "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.2", - "@shapeshiftoss/hdwallet-core": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "@solana/web3.js": "1.95.8", "base64-js": "^1.5.1", "bitcoinjs-message": "^2.0.0", @@ -26,5 +26,6 @@ }, "devDependencies": { "@types/lodash": "^4.14.168" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-walletconnect/package.json b/packages/hdwallet-walletconnect/package.json index c09ddbbd9..fda41e221 100644 --- a/packages/hdwallet-walletconnect/package.json +++ b/packages/hdwallet-walletconnect/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-walletconnect", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -15,9 +15,10 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "@walletconnect/qrcode-modal": "^1.7.8", "@walletconnect/web3-provider": "^1.7.8", "ethers": "^5.6.5" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/packages/hdwallet-walletconnectV2/package.json b/packages/hdwallet-walletconnectV2/package.json index 0026ad57d..dfd382ed4 100644 --- a/packages/hdwallet-walletconnectV2/package.json +++ b/packages/hdwallet-walletconnectV2/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-walletconnectv2", - "version": "1.62.28", + "version": "1.62.29-bebop-solana-msg.5", "license": "MIT", "publishConfig": { "access": "public" @@ -15,9 +15,10 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.62.28", + "@shapeshiftoss/hdwallet-core": "^1.62.29-bebop-solana-msg.5", "@walletconnect/ethereum-provider": "^2.20.2", "@walletconnect/modal": "^2.6.2", "ethers": "^5.6.5" - } + }, + "gitHead": "a49a78029023f7cbe4865a7592196f9952fb8f78" } diff --git a/yarn.lock b/yarn.lock index fa5b1aa66..0bfc49053 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4150,6 +4150,22 @@ uuid "^8.3.2" ws "^8.8.0" +"@shapeshiftoss/hdwallet-core@1.62.27", "@shapeshiftoss/hdwallet-core@^1.55.1": + version "1.62.27" + resolved "https://registry.npmjs.org/@shapeshiftoss/hdwallet-core/-/hdwallet-core-1.62.27.tgz#e6629c9df93b07eba679762dbc1a9dafaf81d5bc" + integrity sha512-NMh1p72QoghXLk+WHu9kXVHjd5vZQlrhEZPklRaGO+Qmht2Nx55wi/frS7S9tzfNSFGdWTd3lWOQWXgdbYgaDQ== + dependencies: + "@shapeshiftoss/bitcoinjs-lib" "7.0.0-shapeshift.2" + "@shapeshiftoss/proto-tx-builder" "0.10.0" + "@solana/web3.js" "1.95.8" + bs58check "^4.0.0" + eip-712 "^1.0.0" + ethers "5.7.2" + eventemitter2 "^5.0.1" + lodash "^4.17.21" + rxjs "^6.4.0" + type-assertions "^1.1.0" + "@shapeshiftoss/hdwallet-core@latest": version "1.56.0" resolved "https://registry.yarnpkg.com/@shapeshiftoss/hdwallet-core/-/hdwallet-core-1.56.0.tgz#6c14a2dc7eb394d1a927999f549c15eb8bd42421" @@ -4164,6 +4180,37 @@ rxjs "^6.4.0" type-assertions "^1.1.0" +"@shapeshiftoss/hdwallet-native@^1.55.1": + version "1.62.27" + resolved "https://registry.npmjs.org/@shapeshiftoss/hdwallet-native/-/hdwallet-native-1.62.27.tgz#e296984805f91d6a0c1e3147d3d000139e5128a3" + integrity sha512-ibacxev0ndusM9PyBG0cWji7Wzi7UPXt1hOZWvtb3IFtC3ezPiqJb1lGNBPAv0TT5GRl7BtNbe/LwJsGaZtlaw== + dependencies: + "@bitcoinerlab/secp256k1" "^1.1.1" + "@noble/curves" "^1.4.0" + "@shapeshiftoss/bitcoinjs-lib" "7.0.0-shapeshift.2" + "@shapeshiftoss/hdwallet-core" "1.62.27" + "@shapeshiftoss/proto-tx-builder" "0.10.0" + "@zxing/text-encoding" "^0.9.0" + bchaddrjs "^0.4.9" + bech32 "^1.1.4" + bignumber.js "^9.0.1" + bip32 "^2.0.5" + bip39 "^3.0.2" + bnb-javascript-sdk-nobroadcast "2.16.15" + bs58check "^4.0.0" + crypto-js "^4.0.0" + ecpair "^3.0.0-rc.0" + eip-712 "^1.0.0" + ethers "5.7.2" + eventemitter2 "^5.0.1" + funtypes "^3.0.1" + hash-wasm "^4.11.0" + lodash "^4.17.21" + node-fetch "^2.6.1" + p-lazy "^3.1.0" + scrypt-js "^3.0.1" + tendermint-tx-builder "1.0.16" + "@shapeshiftoss/logger@^1.1.2", "@shapeshiftoss/logger@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@shapeshiftoss/logger/-/logger-1.1.3.tgz#ff05765775351c8adc99cf747f14b5619311e023"