@@ -5,10 +5,12 @@ package verifier
5
5
import (
6
6
"encoding/base64"
7
7
"encoding/json"
8
+ "fmt"
8
9
"io"
9
10
"os"
10
11
"path"
11
12
"path/filepath"
13
+ "strings"
12
14
13
15
"github.com/scroll-tech/go-ethereum/log"
14
16
@@ -117,6 +119,16 @@ func (v *Verifier) VerifyBundleProof(proof *message.OpenVMBundleProof, forkName
117
119
return libzkp .VerifyBundleProof (string (buf ), forkName ), nil
118
120
}
119
121
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
+
120
132
func (v * Verifier ) loadOpenVMVks (cfg config.AssetConfig ) error {
121
133
122
134
vkFileName := cfg .Vkfile
@@ -138,6 +150,16 @@ func (v *Verifier) loadOpenVMVks(cfg config.AssetConfig) error {
138
150
if err := json .Unmarshal (byt , & dump ); err != nil {
139
151
return err
140
152
}
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
+
141
163
v .OpenVMVkMap [dump .Chunk ] = struct {}{}
142
164
v .OpenVMVkMap [dump .Batch ] = struct {}{}
143
165
v .OpenVMVkMap [dump .Bundle ] = struct {}{}
0 commit comments