deriveKeypair static method
Derive Ed25519 keypair from mnemonics and path. The mnemonics must be normalized and validated against the english wordlist.
If path is none, it will default to m/44'/784'/0'/0'/0', otherwise the path must be compliant to SLIP-0010 in form m/44'/784'/{account_index}'/{change_index}'/{address_index}'.
Implementation
static Ed25519Keypair deriveKeypair(String path, String mnemonics) {
if (!isValidHardenedPath(path)) {
throw ArgumentError('Invalid derivation path');
}
final normalizeMnemonics = mnemonics
.trim()
.split(r"\s+")
.map((part) => part.toLowerCase())
.join(" ");
if(!isValidMnemonics(mnemonics)) {
throw ArgumentError('Invalid mnemonics');
}
final key = ed25519HDKey.derivePath(path, mnemonicToSeedHex(normalizeMnemonics)).key!;
final pubkey = ed25519HDKey.getPublicKey(key, false);
final fullPrivateKey = Uint8List(64);
fullPrivateKey.setAll(0, key);
fullPrivateKey.setAll(32, pubkey);
return Ed25519Keypair(Uint8List.fromList(fullPrivateKey));
}