wotsPkgen static method

void wotsPkgen(
  1. Uint8List pk,
  2. Uint8List seed,
  3. Uint8List pubSeed,
  4. int offset,
  5. Uint8List addr,
)

Generates WOTS public key

Implementation

static void wotsPkgen(
  Uint8List pk,
  Uint8List seed,
  Uint8List pubSeed,
  int offset,
  Uint8List addr,
) {
  // Expand seed
  expandSeed(pk, seed);

  // Create WotsAddress instance from addr bytes
  final wotsAddr = WotsAddress.wotsAddressFromBytes(addr);
  final bbaddr = ByteBuffer.wrap(wotsAddr.bytes().sublist(0, PARAMSN));
  bbaddr.order(ByteOrder.littleEndian);

  // Generate chains
  for (int i = 0; i < WOTSLEN; i++) {
    WOTSHash.setChainAddr(bbaddr, i);
    genChain(pk, i * PARAMSN, pk, i * PARAMSN, 0, WOTSW - 1,
        pubSeed.sublist(offset), bbaddr.array());
  }
}