ScryptMiningParams.custom constructor

ScryptMiningParams.custom({
  1. required int N,
  2. required int r,
  3. required int p,
  4. required int dkLen,
  5. required Uint8List salt,
  6. required Uint8List password,
})

Custom mining parameters for different difficulties

Implementation

factory ScryptMiningParams.custom({
  required int N,
  required int r,
  required int p,
  required int dkLen,
  required Uint8List salt,
  required Uint8List password,
}) {
  if (N <= 1 || (N & (N - 1)) != 0) {
    throw ArgumentError('N must be a power of 2 greater than 1');
  }
  if (r < 1 || p < 1) {
    throw ArgumentError('r and p must be positive integers');
  }
  if (dkLen < 1) {
    throw ArgumentError('dkLen must be positive');
  }

  return ScryptMiningParams(
    N: N,
    r: r,
    p: p,
    dkLen: dkLen,
    salt: salt,
    password: password,
  );
}