1 | import { hasBigInt } from '@polkadot/util';
|
2 | import { bip39Validate, isReady } from '@polkadot/wasm-crypto';
|
3 | import { validateMnemonic } from './bip39.js';
|
4 | /**
|
5 | * @name mnemonicValidate
|
6 | * @summary Validates a mnemonic input using [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki).
|
7 | * @example
|
8 | * <BR>
|
9 | *
|
10 | * ```javascript
|
11 | * import { mnemonicGenerate, mnemonicValidate } from '@polkadot/util-crypto';
|
12 | *
|
13 | * const mnemonic = mnemonicGenerate(); // => string
|
14 | * const isValidMnemonic = mnemonicValidate(mnemonic); // => boolean
|
15 | * ```
|
16 | */
|
17 | export function mnemonicValidate(mnemonic, wordlist, onlyJs) {
|
18 | return !hasBigInt || (!wordlist && !onlyJs && isReady())
|
19 | ? bip39Validate(mnemonic)
|
20 | : validateMnemonic(mnemonic, wordlist);
|
21 | }
|