mirror of
https://github.com/selfxyz/self.git
synced 2026-01-09 14:48:06 -05:00
chore: use num2bits instead of isNBits (#148)
This commit is contained in:
@@ -2,7 +2,6 @@ pragma circom 2.1.9;
|
||||
|
||||
include "../../../passport/signatureAlgorithm.circom";
|
||||
include "../../bigInt/bigInt.circom";
|
||||
include "../../utils/isNBits.circom";
|
||||
include "ecdsa.circom";
|
||||
|
||||
/// @title EcdsaVerifier
|
||||
@@ -64,10 +63,10 @@ template EcdsaVerifier(signatureAlgorithm, n, k) {
|
||||
|
||||
component rangeCheck[4 * k];
|
||||
for (var i = 0; i < k; i++) {
|
||||
rangeCheck[4 * i + 0] = isNBits(n);
|
||||
rangeCheck[4 * i + 1] = isNBits(n);
|
||||
rangeCheck[4 * i + 2] = isNBits(n);
|
||||
rangeCheck[4 * i + 3] = isNBits(n);
|
||||
rangeCheck[4 * i + 0] = Num2Bits(n);
|
||||
rangeCheck[4 * i + 1] = Num2Bits(n);
|
||||
rangeCheck[4 * i + 2] = Num2Bits(n);
|
||||
rangeCheck[4 * i + 3] = Num2Bits(n);
|
||||
|
||||
rangeCheck[4 * i + 0].in <== signature_r[i];
|
||||
rangeCheck[4 * i + 1].in <== signature_s[i];
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
pragma circom 2.1.6;
|
||||
|
||||
include "circomlib/circuits/bitify.circom";
|
||||
|
||||
/// @title isNBits
|
||||
/// @notice Checks whether an input number can be represented using at most `n` bits.
|
||||
/// @param n The maximum number of bits allowed for the input value.
|
||||
/// @input in The integer input to be checked.
|
||||
template isNBits(n) {
|
||||
signal input in;
|
||||
|
||||
component n2b = Num2Bits(254);
|
||||
n2b.in <== in;
|
||||
|
||||
signal check[254 - n];
|
||||
check[0] <== n2b.out[n];
|
||||
|
||||
for (var i = n + 1; i < 254; i++) {
|
||||
check[i - n] <== check[i - n - 1] + n2b.out[i];
|
||||
}
|
||||
|
||||
check[254 - n - 1] === 0;
|
||||
}
|
||||
@@ -191,7 +191,7 @@ describe('ecdsa', () => {
|
||||
await circuit.checkConstraints(witness);
|
||||
throw new Error('Test failed: Invalid signature was verified.');
|
||||
} catch (err) {
|
||||
if (!(err as Error).message.includes('isNBits')) {
|
||||
if (!(err as Error).message.includes('Num2Bits')) {
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user