@@ -36,6 +36,8 @@ type FullNoir = {
36
36
37
37
async function start ( ) {
38
38
const leaf : FullNoir = await fullNoirFromCircuit ( 'sum' ) ;
39
+ const recurseLeaf : FullNoir = await fullNoirFromCircuit ( 'recurseLeaf' ) ;
40
+ const recurseNode : FullNoir = await fullNoirFromCircuit ( 'recurseNode' ) ;
39
41
40
42
const leafParams = { a : 1 , b : 3 } ;
41
43
let numPubInputs = 2 ;
@@ -50,14 +52,11 @@ async function start() {
50
52
numPubInputs + 1 // +1 for public return
51
53
) ;
52
54
53
-
54
55
let pub_inputs : string [ ] = [
55
56
...( Object . values ( leafParams ) . map ( n => Number ( n ) . toString ( ) ) ) ,
56
57
Number ( returnValue ) . toString ( )
57
58
] ;
58
59
59
- let recurseLeaf : FullNoir = await fullNoirFromCircuit ( 'recurseLeaf' ) ;
60
-
61
60
const a = returnValue ;
62
61
const b = 5 ;
63
62
@@ -78,17 +77,16 @@ async function start() {
78
77
innerProof2 ,
79
78
numPubInputs + 1 + 16 // +1 for public return +16 for hidden aggregation object
80
79
) ;
81
- console . log ( "artifacts2 generated." ) ;
82
80
83
81
// Generate and verify outer proof
84
82
const outerParams = {
85
83
verification_key : artifacts2 . vkAsFields ,
86
- public_inputs : [ 1 , 3 , 4 , returnValue ] . map . toString ( ) , // returns proven sum
84
+ public_inputs : [ pub_inputs . map . toString ( ) , returnValue . toString ( ) ] , // returns proven sum
87
85
key_hash : artifacts2 . vkHash ,
88
86
proof : artifacts2 . proofAsFields
89
87
} ;
90
88
91
- const recurseNode : FullNoir = await fullNoirFromCircuit ( 'recurseNode' ) ;
89
+ console . log ( "Executing..." ) ;
92
90
( { witness, returnValue } = await recurseNode . noir . execute ( outerParams ) ) ;
93
91
console . log ( "Generating outer proof..." ) ;
94
92
const outerProof : ProofData = await recurseNode . backend . generateProof ( witness ) ;
0 commit comments