@@ -165,9 +165,18 @@ type OpenVMProofStat struct {
165165
166166// Proof for flatten VM proof
167167type OpenVMProof struct {
168- Proof []byte `json:"proofs"`
169- PublicValues []byte `json:"public_values"`
170- Stat * OpenVMProofStat `json:"stat,omitempty"`
168+ Proof []byte `json:"proofs"`
169+ PublicValues []byte `json:"public_values"`
170+ }
171+
172+ // Proof for flatten VM stark proof (v0.9.0+).
173+ // Mirrors scroll_zkvm_types::proof::StarkProof used by the OpenVM v2 prover.
174+ type OpenVMStarkProof struct {
175+ Proof []byte `json:"proof"`
176+ UserPvsProof []byte `json:"user_pvs_proof"`
177+ Baseline []byte `json:"baseline,omitempty"`
178+ DeferralMerkleProofs []byte `json:"deferral_merkle_proofs,omitempty"`
179+ Stat * OpenVMProofStat `json:"stat,omitempty"`
171180}
172181
173182// Proof for flatten EVM proof
@@ -183,13 +192,13 @@ type OpenVMChunkProof struct {
183192 TotalGasUsed uint64 `json:"chunk_total_gas"`
184193 } `json:"metadata"`
185194
186- VmProof * OpenVMProof `json:"proof"`
187- Vk []byte `json:"vk,omitempty"`
188- GitVersion string `json:"git_version,omitempty"`
195+ StarkProof * OpenVMStarkProof `json:"proof"`
196+ Vk []byte `json:"vk,omitempty"`
197+ GitVersion string `json:"git_version,omitempty"`
189198}
190199
191200func (p * OpenVMChunkProof ) Proof () []byte {
192- proofJson , err := json .Marshal (p .VmProof )
201+ proofJson , err := json .Marshal (p .StarkProof )
193202 if err != nil {
194203 panic (fmt .Sprint ("marshaling error" , err ))
195204 }
@@ -217,13 +226,13 @@ type OpenVMBatchProof struct {
217226 BatchHash common.Hash `json:"batch_hash"`
218227 } `json:"metadata"`
219228
220- VmProof * OpenVMProof `json:"proof"`
221- Vk []byte `json:"vk,omitempty"`
222- GitVersion string `json:"git_version,omitempty"`
229+ StarkProof * OpenVMStarkProof `json:"proof"`
230+ Vk []byte `json:"vk,omitempty"`
231+ GitVersion string `json:"git_version,omitempty"`
223232}
224233
225234func (p * OpenVMBatchProof ) Proof () []byte {
226- proofJson , err := json .Marshal (p .VmProof )
235+ proofJson , err := json .Marshal (p .StarkProof )
227236 if err != nil {
228237 panic (fmt .Sprint ("marshaling error" , err ))
229238 }
@@ -240,17 +249,17 @@ func (ap *OpenVMBatchProof) SanityCheck() error {
240249 return errors .New ("batch info not ready" )
241250 }
242251
243- if ap .VmProof == nil {
252+ if ap .StarkProof == nil {
244253 return errors .New ("proof not ready" )
245254 } else {
246255 if len (ap .Vk ) == 0 {
247256 return errors .New ("vk not ready" )
248257 }
249- pf := ap .VmProof
250- if pf .Proof == nil {
258+ pf := ap .StarkProof
259+ if len ( pf .Proof ) == 0 {
251260 return errors .New ("proof data not ready" )
252261 }
253- if len (pf .PublicValues ) == 0 {
262+ if len (pf .UserPvsProof ) == 0 {
254263 return errors .New ("proof public value not ready" )
255264 }
256265 }
0 commit comments