@@ -5,10 +5,12 @@ package verifier
55import (
66 "encoding/base64"
77 "encoding/json"
8+ "fmt"
89 "io"
910 "os"
1011 "path"
1112 "path/filepath"
13+ "strings"
1214
1315 "github.com/scroll-tech/go-ethereum/log"
1416
@@ -117,6 +119,16 @@ func (v *Verifier) VerifyBundleProof(proof *message.OpenVMBundleProof, forkName
117119 return libzkp .VerifyBundleProof (string (buf ), forkName ), nil
118120}
119121
122+ /*
123+ add vk of imcompatilbe circuit app here to avoid we had used them unexpectedly
124+ 25/07/15: 0.5.0rc0 is no longer compatible since a breaking change
125+ */
126+ const blocked_vks = `
127+ rSJNNBpsxBdKlstbIIU/aYc7bHau98Qb2yjZMc5PmDhmGOolp5kYRbvF/VcWcO5HN5ujGs6S00W8pZcCoNQRLQ==,
128+ 2Lo7Cebm6SFtcsYXipkcMxIBmVY7UpoMXik/Msm7t2nyvi9EaNGsSnDnaCurscYEF+IcdjPUtVtY9EcD7IKwWg==,
129+ D6YFHwTLZF/U2zpYJPQ3LwJZRm85yA5Vq2iFBqd3Mk4iwOUpS8sbOp3vg2+NDxhhKphgYpuUlykpdsoRhEt+cw==,
130+ `
131+
120132func (v * Verifier ) loadOpenVMVks (cfg config.AssetConfig ) error {
121133
122134 vkFileName := cfg .Vkfile
@@ -138,6 +150,16 @@ func (v *Verifier) loadOpenVMVks(cfg config.AssetConfig) error {
138150 if err := json .Unmarshal (byt , & dump ); err != nil {
139151 return err
140152 }
153+ if strings .Contains (blocked_vks , dump .Chunk ) {
154+ return fmt .Errorf ("loaded blocked chunk vk %s" , dump .Chunk )
155+ }
156+ if strings .Contains (blocked_vks , dump .Batch ) {
157+ return fmt .Errorf ("loaded blocked batch vk %s" , dump .Batch )
158+ }
159+ if strings .Contains (blocked_vks , dump .Bundle ) {
160+ return fmt .Errorf ("loaded blocked bundle vk %s" , dump .Bundle )
161+ }
162+
141163 v .OpenVMVkMap [dump .Chunk ] = struct {}{}
142164 v .OpenVMVkMap [dump .Batch ] = struct {}{}
143165 v .OpenVMVkMap [dump .Bundle ] = struct {}{}
0 commit comments