diff --git a/packages/stargate/src/multisignature.spec.ts b/packages/stargate/src/multisignature.spec.ts index 5f65a302..57dad9cf 100644 --- a/packages/stargate/src/multisignature.spec.ts +++ b/packages/stargate/src/multisignature.spec.ts @@ -216,7 +216,7 @@ describe("multisignature", () => { [0, 1, 2, 3, 4].map(async (i) => { // Signing environment const wallet = await Secp256k1HdWallet.fromMnemonic(faucet.mnemonic, { - hdPath: makeCosmoshubPath(i), + hdPaths: [makeCosmoshubPath(i)], }); const pubkey = encodeSecp256k1Pubkey((await wallet.getAccounts())[0].pubkey); const address = (await wallet.getAccounts())[0].address; diff --git a/packages/stargate/src/testutils.spec.ts b/packages/stargate/src/testutils.spec.ts index 8c562d5f..4cb12858 100644 --- a/packages/stargate/src/testutils.spec.ts +++ b/packages/stargate/src/testutils.spec.ts @@ -1,12 +1,6 @@ /* eslint-disable @typescript-eslint/naming-convention */ -import { - AminoSignResponse, - makeCosmoshubPath, - Secp256k1HdWallet, - Secp256k1HdWalletOptions, - StdSignDoc, -} from "@cosmjs/amino"; -import { Bip39, EnglishMnemonic, Random, Secp256k1, Slip10, Slip10Curve } from "@cosmjs/crypto"; +import { AminoSignResponse, Secp256k1HdWallet, Secp256k1HdWalletOptions, StdSignDoc } from "@cosmjs/amino"; +import { Bip39, EnglishMnemonic, Random } from "@cosmjs/crypto"; import { Bech32 } from "@cosmjs/encoding"; import { coins, @@ -155,12 +149,6 @@ export const nonExistentAddress = "cosmos1p79apjaufyphcmsn4g07cynqf0wyjuezqu84hd export const nonNegativeIntegerMatcher = /^[0-9]+$/; export const tendermintIdMatcher = /^[0-9A-F]{64}$/; -const defaultHdWalletOptions = { - bip39Password: "", - hdPath: makeCosmoshubPath(0), - prefix: "cosmos", -}; - /** * A class for testing clients using an Amino signer which modifies the transaction it receives before signing */ @@ -169,21 +157,9 @@ export class ModifyingSecp256k1HdWallet extends Secp256k1HdWallet { mnemonic: string, options: Partial = {}, ): Promise { - const { bip39Password, hdPath, prefix } = { - ...defaultHdWalletOptions, - ...options, - }; const mnemonicChecked = new EnglishMnemonic(mnemonic); - const seed = await Bip39.mnemonicToSeed(mnemonicChecked, bip39Password); - const { privkey } = Slip10.derivePath(Slip10Curve.Secp256k1, seed, hdPath); - const uncompressed = (await Secp256k1.makeKeypair(privkey)).pubkey; - return new ModifyingSecp256k1HdWallet( - mnemonicChecked, - hdPath, - privkey, - Secp256k1.compressPubkey(uncompressed), - prefix, - ); + const seed = await Bip39.mnemonicToSeed(mnemonicChecked, options.bip39Password); + return new ModifyingSecp256k1HdWallet(mnemonicChecked, { ...options, seed: seed }); } public async signAmino(signerAddress: string, signDoc: StdSignDoc): Promise { @@ -207,18 +183,9 @@ export class ModifyingDirectSecp256k1HdWallet extends DirectSecp256k1HdWallet { mnemonic: string, options: Partial = {}, ): Promise { - const { bip39Password, hdPath, prefix } = { ...defaultHdWalletOptions, ...options }; const mnemonicChecked = new EnglishMnemonic(mnemonic); - const seed = await Bip39.mnemonicToSeed(mnemonicChecked, bip39Password); - const { privkey } = Slip10.derivePath(Slip10Curve.Secp256k1, seed, hdPath); - const uncompressed = (await Secp256k1.makeKeypair(privkey)).pubkey; - return new ModifyingDirectSecp256k1HdWallet( - mnemonicChecked, - hdPath, - privkey, - Secp256k1.compressPubkey(uncompressed), - prefix, - ); + const seed = await Bip39.mnemonicToSeed(mnemonicChecked, options.bip39Password); + return new ModifyingDirectSecp256k1HdWallet(mnemonicChecked, { ...options, seed: seed }); } public async signDirect(address: string, signDoc: SignDoc): Promise {