Bip44Base<BIP44 extends Bip44Base<BIP44> >.fromSeed constructor
Bip44Base<BIP44 extends Bip44Base<BIP44> >.fromSeed (
- List<
int> seedBytes, - BaseBipCoinConfig<
BaseCoinConfig> coin
Constructor for creating a Bip44Base object from a seed and coin.
Implementation
Bip44Base.fromSeed(List<int> seedBytes, BaseBipCoinConfig coin) {
Bip32Base bip;
switch (coin.type) {
case EllipticCurveTypes.secp256k1:
bip = Bip32Slip10Secp256k1.fromSeed(seedBytes, coin.keyNetVer);
break;
case EllipticCurveTypes.ed25519:
bip = Bip32Slip10Ed25519.fromSeed(seedBytes, coin.keyNetVer);
break;
case EllipticCurveTypes.ed25519Kholaw:
if (coin.defaultHdKeyDerivator == DefaultHdKeyDerivator.icarus) {
bip = CardanoIcarusBip32.fromSeed(seedBytes, coin.keyNetVer);
break;
}
bip = Bip32KholawEd25519.fromSeed(seedBytes, coin.keyNetVer);
break;
case EllipticCurveTypes.ed25519Blake2b:
bip = Bip32Slip10Ed25519Blake2b.fromSeed(seedBytes, coin.keyNetVer);
break;
case EllipticCurveTypes.nist256p1:
bip = Bip32Slip10Nist256p1.fromSeed(seedBytes, coin.keyNetVer);
break;
case EllipticCurveTypes.nist256p1Hybrid:
bip = Bip32Slip10Nist256p1Hybrid.fromSeed(seedBytes, coin.keyNetVer);
break;
default:
throw ArgumentException.invalidOperationArguments(
"Bip44",
name: "coin",
reason: "Unsupported coin key algorithm",
details: {"algorithm": coin.type.name},
);
}
final validate = _validate(bip, coin);
bip32 = validate.$1;
coinConf = validate.$2;
}