@@ -5,6 +5,7 @@ use std::{fmt, hash as h, iter::zip};
55use anyhow:: { anyhow, Result } ;
66use plonky2:: field:: types:: Field ;
77
8+ use crate :: backends:: plonky2:: basetypes:: HASH_SIZE ;
89use crate :: util:: hashmap_insert_no_dupe;
910
1011use super :: {
@@ -51,12 +52,13 @@ impl ToFields for HashOrWildcard {
5152 match self {
5253 HashOrWildcard :: Hash ( h) => h. to_fields ( _params) ,
5354 HashOrWildcard :: Wildcard ( w) => {
54- let usizes: Vec < usize > = vec ! [ 0 , 0 , 0 , * w] ;
55+ let mut usizes: Vec < usize > = vec ! [ 0 ; HASH_SIZE - 1 ] ;
56+ usizes. push ( * w) ;
5557 let fields: Vec < F > = usizes
5658 . iter ( )
5759 . map ( |x| F :: from_canonical_u64 ( * x as u64 ) )
5860 . collect ( ) ;
59- ( fields, 4 )
61+ ( fields, HASH_SIZE )
6062 }
6163 }
6264 }
@@ -99,8 +101,7 @@ impl ToFields for StatementTmplArg {
99101 // Key(hash_or_wildcard1, hash_or_wildcard2)
100102 // => (2, [hash_or_wildcard1], [hash_or_wildcard2])
101103 // In all three cases, we pad to 2 * hash_size + 1 = 9 field elements
102- let hash_size = 4 ;
103- let statement_tmpl_arg_size = 2 * hash_size + 1 ;
104+ let statement_tmpl_arg_size = 2 * HASH_SIZE + 1 ;
104105 match self {
105106 StatementTmplArg :: None => {
106107 let fields: Vec < F > = std:: iter:: repeat_with ( || F :: from_canonical_u64 ( 0 ) )
@@ -111,7 +112,7 @@ impl ToFields for StatementTmplArg {
111112 StatementTmplArg :: Literal ( v) => {
112113 let fields: Vec < F > = std:: iter:: once ( F :: from_canonical_u64 ( 1 ) )
113114 . chain ( v. to_fields ( _params) . 0 )
114- . chain ( std:: iter:: repeat_with ( || F :: from_canonical_u64 ( 0 ) ) . take ( hash_size ) )
115+ . chain ( std:: iter:: repeat_with ( || F :: from_canonical_u64 ( 0 ) ) . take ( HASH_SIZE ) )
115116 . collect ( ) ;
116117 ( fields, statement_tmpl_arg_size)
117118 }
0 commit comments