Comments (4)
concept ACK - it's so easy for whitespace to be introduced, and then the mnemonic input is directly hashed.. It can be pretty easy to miss the typo 'abandon abandon abandon' and 'abandon abandon abandon' when it's a large block.
The whitespace isn't covered by the checksum, and if we allow users to make this mistake, we can expect people to panic when the recover from a seed that was transcribed to paper..
Empty string is forbidden by BIP39 - the 'recommended sizes' are the only acceptable ones it turns out, so a zero length mnemonic is invalid :)
from bip39.
IMO NACK... this is not something the library should be throwing on.
The application should decide whether to throw or not on zero length / multiple whitespace etc.
from bip39.
@junderw then let us provide an "unsafe" option.
mnemonicToSeedUnsafe
The advanced user needs protection too.
from bip39.
the 'recommended sizes' are the only acceptable ones it turns out, so a zero length mnemonic is invalid :)
AFAIK, validateMnemonic
should make that distinction, not this function. This function should support non-strict BIP39 mnemonics, but I think the above error cases are common enough to hurt both types of user.
from bip39.
Related Issues (20)
- bip39 seems to be undefined in 3.+ versions HOT 1
- Why doesn't the address console HOT 1
- Recovery using only the first four letters of each word HOT 1
- Upgrade deps HOT 1
- Runtime errors HOT 1
- Function to convert entropy to seed? HOT 3
- Not work with rollup? HOT 1
- DevTools failed to load source map: Could not load content for file:///.../github/iancoleman/bip39/bootstrap.css.map: System error: net::ERR_FILE_NOT_FOUND HOT 1
- v3.0.4 is not working, v3.0.3 is fine HOT 2
- Invalid argument(s): Invalid mnemonic HOT 3
- ESM module support HOT 6
- Use more lightweight sha256 implementation HOT 6
- the testing is wrong!! HOT 1
- Electron + angular : how to unit test? HOT 3
- Serbian bip39 list HOT 1
- Error while using bip39.generateMnemonic(128) in react native HOT 4
- using bip39.generateMnemonic() is secure? HOT 1
- does it create a unused wallet everytime? HOT 1
- Bip39.ValidateMnemonic() always returns false in react HOT 3
- The seed buffer is not always consistent HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bip39.