Closed
Description
Hi,
I'm trying to encrypt a wallet created with Mnemonic in Spanish and I get some errors. The strange thing is that if I do it in English works perfect.
First I have tried the following code:
import { ethers } from 'ethers';
import { es } from 'ethers/wordlists';
private async all(){
const randomBytes = ethers.utils.randomBytes(24);
const mnemonic = ethers.utils.HDNode.entropyToMnemonic(randomBytes, es);
const wallet = ethers.Wallet.fromMnemonic(mnemonic, null, es);
const json = await wallet.encrypt("123");
return json;
}
And I get the following error:
ERROR Error: Uncaught (in promise): Error: entropy and mnemonic mismatch
Error: entropy and mnemonic mismatch
at Object.r.encrypt (ethers.min.js:1)
at _.encrypt (ethers.min.js:1)
at WalletService.<anonymous> (wallet.service.ts:81)
at Generator.next (<anonymous>)
at tslib.es6.js:73
at new ZoneAwarePromise (zone-evergreen.js:876)
at Module.__awaiter (tslib.es6.js:69)
at WalletService.all (wallet.service.ts:76)
at WalletService.<anonymous> (wallet.service.ts:46)
at Generator.next (<anonymous>)
at resolvePromise (zone-evergreen.js:797)
at zone-evergreen.js:707
at rejected (tslib.es6.js:71)
at ZoneDelegate.invoke (zone-evergreen.js:359)
at Object.onInvoke (core.js:39699)
at ZoneDelegate.invoke (zone-evergreen.js:358)
at Zone.run (zone-evergreen.js:124)
at zone-evergreen.js:855
at ZoneDelegate.invokeTask (zone-evergreen.js:391)
at Object.onInvokeTask (core.js:39680)
The second code I have tried is:
private async all(){
const randomBytes = ethers.utils.randomBytes(24);
const mnemonic = ethers.utils.HDNode.entropyToMnemonic(randomBytes, es);
const entropy = ethers.utils.HDNode.mnemonicToEntropy(mnemonic, es);
const wallet = ethers.Wallet.fromMnemonic(mnemonic, null, es);
const json = await wallet.encrypt("123", {entropy: entropy});
return json;
}
and I get the following error:
ERROR Error: Uncaught (in promise): Error: entropy and mnemonic mismatch
Error: entropy and mnemonic mismatch
at Object.r.encrypt (ethers.min.js:1)
at _.encrypt (ethers.min.js:1)
at WalletService.<anonymous> (wallet.service.ts:81)
at Generator.next (<anonymous>)
at tslib.es6.js:73
at new ZoneAwarePromise (zone-evergreen.js:876)
at Module.__awaiter (tslib.es6.js:69)
at WalletService.all (wallet.service.ts:76)
at WalletService.<anonymous> (wallet.service.ts:46)
at Generator.next (<anonymous>)
at resolvePromise (zone-evergreen.js:797)
at zone-evergreen.js:707
at rejected (tslib.es6.js:71)
at ZoneDelegate.invoke (zone-evergreen.js:359)
at Object.onInvoke (core.js:39699)
at ZoneDelegate.invoke (zone-evergreen.js:358)
at Zone.run (zone-evergreen.js:124)
at zone-evergreen.js:855
at ZoneDelegate.invokeTask (zone-evergreen.js:391)
at Object.onInvokeTask (core.js:39680)
What I'm doing wrong???
Thanks in advance :)