genChain static method

void genChain(
  1. Uint8List out,
  2. int outOffset,
  3. Uint8List input,
  4. int inOffset,
  5. int start,
  6. int steps,
  7. Uint8List pubSeed,
  8. Uint8List addr,
)

Generates chains for WOTS

Implementation

static void genChain(
  Uint8List out,
  int outOffset,
  Uint8List input,
  int inOffset,
  int start,
  int steps,
  Uint8List pubSeed,
  Uint8List addr,
) {
  // Copy input to output
  out.setRange(outOffset, outOffset + PARAMSN, input, inOffset);

  // 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 chain
  for (int i = start; i < start + steps && i < WOTSW; i++) {
    WOTSHash.setHashAddr(bbaddr, i);
    WOTSHash.thashF(out, outOffset, out, outOffset, pubSeed, bbaddr);
  }
}