scalarToBytes static method

List<int> scalarToBytes(
  1. Secp256k1Scalar scalar, {
  2. bool validate = true,
  3. bool clean = false,
})

convert scalar to 32 bytes

Implementation

static List<int> scalarToBytes(
  Secp256k1Scalar scalar, {
  bool validate = true,
  bool clean = false,
}) {
  try {
    if (validate && Secp256k1.secp256k1ScalarIsZero(scalar).toBool) {
      throw ArgumentException.invalidOperationArguments(
        "scalarToBytes",
        name: "scalar",
        reason: "Invalid scalar.",
      );
    }
    final List<int> bytes = List<int>.filled(32, 0);
    Secp256k1.secp256k1ScalarGetB32(bytes, scalar);
    return bytes;
  } finally {
    if (clean) scalar.setZero();
  }
}