Open lucasxia01 opened 3 days ago
@Rumata888 can you add more details here? I recall you thinking this was tricky
There are two problems right now:
Aside from the security caveats above, this is a basic description of what needs to be done to pipe the right public inputs into the base rollup:
The base rollup circuit needs to perform some checks on the public inputs of the tail private kernel. With the Honk integration / introduction of the Tube circuit, the public inputs connection was broken. What needs to happen is roughly the following:
ClientIvc
Proof
contains a FoldProof
which contains the explicit public inputs of the final circuit in the IVC (kernel tail or whatever)ProtoGalaxyRecursiveVerifier
(part of the ClientIvc recursive verifier, aka the tube) where they become private witnesses by defaultbuilder->set_public_input(pub_input.get_witness_index())
)
We currently just add some (correct amount of) public inputs as new variables to the builder when constructing the Tube circuit. However, we need to set witnesses (from the folding proof) to be public inputs instead.