Skip to content

encrypt wallet with Mnemonic Spanish language #685

Closed
@elranu

Description

@elranu

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 :)

Metadata

Metadata

Assignees

Labels

bugVerified to be an issue.fixed/completeThis Bug is fixed or Enhancement is complete and published.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions