diff --git a/packages/circom/circuits/common/body_hash_regex.circom b/packages/circom/circuits/common/body_hash_regex.circom index 97ea1ee..13613cf 100644 --- a/packages/circom/circuits/common/body_hash_regex.circom +++ b/packages/circom/circuits/common/body_hash_regex.circom @@ -11,6 +11,7 @@ template BodyHashRegex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/circuits/common/email_addr_regex.circom b/packages/circom/circuits/common/email_addr_regex.circom index 8f7005f..096c287 100644 --- a/packages/circom/circuits/common/email_addr_regex.circom +++ b/packages/circom/circuits/common/email_addr_regex.circom @@ -11,6 +11,7 @@ template EmailAddrRegex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/circuits/common/email_domain_regex.circom b/packages/circom/circuits/common/email_domain_regex.circom index a1e0e61..f15da00 100644 --- a/packages/circom/circuits/common/email_domain_regex.circom +++ b/packages/circom/circuits/common/email_domain_regex.circom @@ -11,6 +11,7 @@ template EmailDomainRegex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/circuits/common/from_all_regex.circom b/packages/circom/circuits/common/from_all_regex.circom index 0326ca7..91fbd70 100644 --- a/packages/circom/circuits/common/from_all_regex.circom +++ b/packages/circom/circuits/common/from_all_regex.circom @@ -11,6 +11,7 @@ template FromAllRegex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/circuits/common/message_id_regex.circom b/packages/circom/circuits/common/message_id_regex.circom index 418d7cc..637005a 100644 --- a/packages/circom/circuits/common/message_id_regex.circom +++ b/packages/circom/circuits/common/message_id_regex.circom @@ -11,6 +11,7 @@ template MessageIdRegex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/circuits/common/reversed_bracket_regex.circom b/packages/circom/circuits/common/reversed_bracket_regex.circom index 7d0470b..3ee1258 100644 --- a/packages/circom/circuits/common/reversed_bracket_regex.circom +++ b/packages/circom/circuits/common/reversed_bracket_regex.circom @@ -11,6 +11,7 @@ template ReversedBracketRegex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/circuits/common/subject_all_regex.circom b/packages/circom/circuits/common/subject_all_regex.circom index e66edcc..11c39e8 100644 --- a/packages/circom/circuits/common/subject_all_regex.circom +++ b/packages/circom/circuits/common/subject_all_regex.circom @@ -11,6 +11,7 @@ template SubjectAllRegex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/circuits/common/timestamp_regex.circom b/packages/circom/circuits/common/timestamp_regex.circom index d0f909a..31aa51d 100644 --- a/packages/circom/circuits/common/timestamp_regex.circom +++ b/packages/circom/circuits/common/timestamp_regex.circom @@ -11,6 +11,7 @@ template TimestampRegex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/circuits/common/to_all_regex.circom b/packages/circom/circuits/common/to_all_regex.circom index 2dbbca8..873f00c 100644 --- a/packages/circom/circuits/common/to_all_regex.circom +++ b/packages/circom/circuits/common/to_all_regex.circom @@ -11,6 +11,7 @@ template ToAllRegex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/asterisk1_regex.circom b/packages/circom/tests/circuits/asterisk1_regex.circom index 84cfa9d..82dffb2 100644 --- a/packages/circom/tests/circuits/asterisk1_regex.circom +++ b/packages/circom/tests/circuits/asterisk1_regex.circom @@ -11,6 +11,7 @@ template Asterisk1Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/asterisk2_regex.circom b/packages/circom/tests/circuits/asterisk2_regex.circom index 5c82fbc..3ff752f 100644 --- a/packages/circom/tests/circuits/asterisk2_regex.circom +++ b/packages/circom/tests/circuits/asterisk2_regex.circom @@ -11,6 +11,7 @@ template Asterisk2Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/asterisk3_regex.circom b/packages/circom/tests/circuits/asterisk3_regex.circom index 29b5ecd..e0a4b02 100644 --- a/packages/circom/tests/circuits/asterisk3_regex.circom +++ b/packages/circom/tests/circuits/asterisk3_regex.circom @@ -11,6 +11,7 @@ template Asterisk3Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/caret1_regex.circom b/packages/circom/tests/circuits/caret1_regex.circom index c308f41..073e941 100644 --- a/packages/circom/tests/circuits/caret1_regex.circom +++ b/packages/circom/tests/circuits/caret1_regex.circom @@ -11,6 +11,7 @@ template Caret1Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/caret2_regex.circom b/packages/circom/tests/circuits/caret2_regex.circom index 4da9f95..a3655b4 100644 --- a/packages/circom/tests/circuits/caret2_regex.circom +++ b/packages/circom/tests/circuits/caret2_regex.circom @@ -11,6 +11,7 @@ template Caret2Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/caret3_regex.circom b/packages/circom/tests/circuits/caret3_regex.circom index 9cf377d..3fbdd37 100644 --- a/packages/circom/tests/circuits/caret3_regex.circom +++ b/packages/circom/tests/circuits/caret3_regex.circom @@ -11,6 +11,7 @@ template Caret3Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/caret4_regex.circom b/packages/circom/tests/circuits/caret4_regex.circom index 79f53c2..f89098b 100644 --- a/packages/circom/tests/circuits/caret4_regex.circom +++ b/packages/circom/tests/circuits/caret4_regex.circom @@ -11,6 +11,7 @@ template Caret4Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/caret5_regex.circom b/packages/circom/tests/circuits/caret5_regex.circom index 2c189b3..7a51160 100644 --- a/packages/circom/tests/circuits/caret5_regex.circom +++ b/packages/circom/tests/circuits/caret5_regex.circom @@ -11,6 +11,7 @@ template Caret5Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/dollar1_regex.circom b/packages/circom/tests/circuits/dollar1_regex.circom index e8e8aee..a2ca8cd 100644 --- a/packages/circom/tests/circuits/dollar1_regex.circom +++ b/packages/circom/tests/circuits/dollar1_regex.circom @@ -11,6 +11,7 @@ template Dollar1Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/dollar2_regex.circom b/packages/circom/tests/circuits/dollar2_regex.circom index 6a621a3..c0821df 100644 --- a/packages/circom/tests/circuits/dollar2_regex.circom +++ b/packages/circom/tests/circuits/dollar2_regex.circom @@ -11,6 +11,7 @@ template Dollar2Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/dot1_regex.circom b/packages/circom/tests/circuits/dot1_regex.circom index 80f137f..af469f6 100644 --- a/packages/circom/tests/circuits/dot1_regex.circom +++ b/packages/circom/tests/circuits/dot1_regex.circom @@ -11,6 +11,7 @@ template Dot1Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/dot2_regex.circom b/packages/circom/tests/circuits/dot2_regex.circom index 366ac40..de6e1c5 100644 --- a/packages/circom/tests/circuits/dot2_regex.circom +++ b/packages/circom/tests/circuits/dot2_regex.circom @@ -11,6 +11,7 @@ template Dot2Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/international_chars_decomposed.circom b/packages/circom/tests/circuits/international_chars_decomposed.circom index 95e53db..aa29c52 100644 --- a/packages/circom/tests/circuits/international_chars_decomposed.circom +++ b/packages/circom/tests/circuits/international_chars_decomposed.circom @@ -11,6 +11,7 @@ template InternationalCharsDecomposed(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/invitation_code_with_prefix_regex.circom b/packages/circom/tests/circuits/invitation_code_with_prefix_regex.circom index 8c31790..2b96a36 100644 --- a/packages/circom/tests/circuits/invitation_code_with_prefix_regex.circom +++ b/packages/circom/tests/circuits/invitation_code_with_prefix_regex.circom @@ -11,6 +11,7 @@ template InvitationCodeWithPrefixRegex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/negate1_regex.circom b/packages/circom/tests/circuits/negate1_regex.circom index e5c7572..c0df6ea 100644 --- a/packages/circom/tests/circuits/negate1_regex.circom +++ b/packages/circom/tests/circuits/negate1_regex.circom @@ -11,6 +11,7 @@ template Negate1Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/negate2_regex.circom b/packages/circom/tests/circuits/negate2_regex.circom index 1ed57f6..9dbf7c8 100644 --- a/packages/circom/tests/circuits/negate2_regex.circom +++ b/packages/circom/tests/circuits/negate2_regex.circom @@ -11,6 +11,7 @@ template Negate2Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/plus1_regex.circom b/packages/circom/tests/circuits/plus1_regex.circom index 8e07bca..d8c9585 100644 --- a/packages/circom/tests/circuits/plus1_regex.circom +++ b/packages/circom/tests/circuits/plus1_regex.circom @@ -11,6 +11,7 @@ template Plus1Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/plus2_regex.circom b/packages/circom/tests/circuits/plus2_regex.circom index 446ef9d..27663d2 100644 --- a/packages/circom/tests/circuits/plus2_regex.circom +++ b/packages/circom/tests/circuits/plus2_regex.circom @@ -11,6 +11,7 @@ template Plus2Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/plus3_regex.circom b/packages/circom/tests/circuits/plus3_regex.circom index 6c1d829..6fb0c1a 100644 --- a/packages/circom/tests/circuits/plus3_regex.circom +++ b/packages/circom/tests/circuits/plus3_regex.circom @@ -11,6 +11,7 @@ template Plus3Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/plus4_regex.circom b/packages/circom/tests/circuits/plus4_regex.circom index 38ee5c4..938b644 100644 --- a/packages/circom/tests/circuits/plus4_regex.circom +++ b/packages/circom/tests/circuits/plus4_regex.circom @@ -11,6 +11,7 @@ template Plus4Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/question1_regex.circom b/packages/circom/tests/circuits/question1_regex.circom index f6cd3f0..c9be7d3 100644 --- a/packages/circom/tests/circuits/question1_regex.circom +++ b/packages/circom/tests/circuits/question1_regex.circom @@ -11,6 +11,7 @@ template Question1Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/question2_regex.circom b/packages/circom/tests/circuits/question2_regex.circom index c717812..d954378 100644 --- a/packages/circom/tests/circuits/question2_regex.circom +++ b/packages/circom/tests/circuits/question2_regex.circom @@ -11,6 +11,7 @@ template Question2Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/question3_regex.circom b/packages/circom/tests/circuits/question3_regex.circom index 0f62662..d713b5d 100644 --- a/packages/circom/tests/circuits/question3_regex.circom +++ b/packages/circom/tests/circuits/question3_regex.circom @@ -11,6 +11,7 @@ template Question3Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/reveal_check1_regex.circom b/packages/circom/tests/circuits/reveal_check1_regex.circom index 998cb03..51d0da3 100644 --- a/packages/circom/tests/circuits/reveal_check1_regex.circom +++ b/packages/circom/tests/circuits/reveal_check1_regex.circom @@ -11,6 +11,7 @@ template RevealCheck1Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/reveal_check2_regex.circom b/packages/circom/tests/circuits/reveal_check2_regex.circom index c646035..62e8f96 100644 --- a/packages/circom/tests/circuits/reveal_check2_regex.circom +++ b/packages/circom/tests/circuits/reveal_check2_regex.circom @@ -11,6 +11,7 @@ template RevealCheck2Regex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/simple_regex.circom b/packages/circom/tests/circuits/simple_regex.circom index 4f8f6d4..202099d 100644 --- a/packages/circom/tests/circuits/simple_regex.circom +++ b/packages/circom/tests/circuits/simple_regex.circom @@ -11,6 +11,7 @@ template SimpleRegex(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/circom/tests/circuits/simple_regex_decomposed.circom b/packages/circom/tests/circuits/simple_regex_decomposed.circom index 2bef8e7..d26a005 100644 --- a/packages/circom/tests/circuits/simple_regex_decomposed.circom +++ b/packages/circom/tests/circuits/simple_regex_decomposed.circom @@ -11,6 +11,7 @@ template SimpleRegexDecomposed(msg_bytes) { signal in[num_bytes]; in[0]<==255; for (var i = 0; i < msg_bytes; i++) { + _ <== LessThan(8)([msg[i], 255]); in[i+1] <== msg[i]; } diff --git a/packages/compiler/src/circom.rs b/packages/compiler/src/circom.rs index 67b288a..2180489 100644 --- a/packages/compiler/src/circom.rs +++ b/packages/compiler/src/circom.rs @@ -584,6 +584,7 @@ fn generate_declarations( "\tsignal in[num_bytes];".to_string(), "\tin[0]<==255;".to_string(), "\tfor (var i = 0; i < msg_bytes; i++) {".to_string(), + "\t\t_ <== LessThan(8)([msg[i], 255]);".to_string(), "\t\tin[i+1] <== msg[i];".to_string(), "\t}".to_string(), "".to_string(),