File tree Expand file tree Collapse file tree 1 file changed +11
-1
lines changed
packages/common/src/trees/sparse Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -144,7 +144,14 @@ export function createMerkleTree(height: number): AbstractMerkleTreeClass {
144144 return zeroes ;
145145 }
146146
147- const zero = generateZeroes ( ) ;
147+ let zeroCache : bigint [ ] | undefined = undefined ;
148+
149+ function getZeroes ( ) {
150+ if ( zeroCache === undefined ) {
151+ zeroCache = generateZeroes ( ) ;
152+ }
153+ return zeroCache ;
154+ }
148155
149156 /**
150157 * The {@link RollupMerkleWitness} class defines a circuit-compatible base class
@@ -186,6 +193,9 @@ export function createMerkleTree(height: number): AbstractMerkleTreeClass {
186193 leafIndex : Field ,
187194 leaf : Field
188195 ) : [ Field , RollupMerkleWitness ] {
196+ // This won't generate any constraints, since it's purely a computation on constants
197+ const zero = getZeroes ( ) ;
198+
189199 if ( zero . length === 0 ) {
190200 throw new Error ( "Zeroes not initialized" ) ;
191201 }
You can’t perform that action at this time.
0 commit comments