fromSeed static method

Nkeys fromSeed(
  1. String seed
)

new nkeys from seed

Implementation

static Nkeys fromSeed(String seed) {
  var raw = base32.decode(seed);

  // Need to do the reverse here to get back to internal representation.
  var b1 = raw[0] & 248; // 248 = 11111000
  var b2 = ((raw[0] & 7) << 5) | ((raw[1] & 248) >> 3); // 7 = 00000111

  if (b1 != PrefixByteSeed) {
    throw Exception(NkeysException('not seed prefix byte'));
  }
  if (_checkValidPublicPrefixByte(b2) == PrefixByteUnknown) {
    throw Exception(NkeysException('not public prefix byte'));
  }

  var rawSeed = raw.sublist(2, 34);
  var key = ed.newKeyFromSeed(rawSeed);
  var kp = ed.KeyPair(key, ed.public(key));

  return Nkeys(b2, kp);
}