@@ -7,105 +7,11 @@ use tokio::sync::watch;
7
7
use zksync_config:: configs:: PrometheusConfig ;
8
8
use zksync_contract_verifier_lib:: ContractVerifier ;
9
9
use zksync_core_leftovers:: temp_config_store:: { load_database_secrets, load_general_config} ;
10
- use zksync_dal:: { ConnectionPool , Core , CoreDal } ;
10
+ use zksync_dal:: { ConnectionPool , Core } ;
11
11
use zksync_queued_job_processor:: JobProcessor ;
12
- use zksync_utils:: { env :: Workspace , wait_for_tasks:: ManagedTasks } ;
12
+ use zksync_utils:: wait_for_tasks:: ManagedTasks ;
13
13
use zksync_vlog:: prometheus:: PrometheusExporterConfig ;
14
14
15
- async fn update_compiler_versions ( connection_pool : & ConnectionPool < Core > ) {
16
- let mut storage = connection_pool. connection ( ) . await . unwrap ( ) ;
17
- let mut transaction = storage. start_transaction ( ) . await . unwrap ( ) ;
18
-
19
- let zksync_home = Workspace :: locate ( ) . core ( ) ;
20
-
21
- let zksolc_path = zksync_home. join ( "etc/zksolc-bin/" ) ;
22
- let zksolc_versions: Vec < String > = std:: fs:: read_dir ( zksolc_path)
23
- . unwrap ( )
24
- . filter_map ( |file| {
25
- let file = file. unwrap ( ) ;
26
- let Ok ( file_type) = file. file_type ( ) else {
27
- return None ;
28
- } ;
29
- if file_type. is_dir ( ) {
30
- file. file_name ( ) . into_string ( ) . ok ( )
31
- } else {
32
- None
33
- }
34
- } )
35
- . collect ( ) ;
36
- transaction
37
- . contract_verification_dal ( )
38
- . set_zksolc_versions ( zksolc_versions)
39
- . await
40
- . unwrap ( ) ;
41
-
42
- let solc_path = zksync_home. join ( "etc/solc-bin/" ) ;
43
- let solc_versions: Vec < String > = std:: fs:: read_dir ( solc_path)
44
- . unwrap ( )
45
- . filter_map ( |file| {
46
- let file = file. unwrap ( ) ;
47
- let Ok ( file_type) = file. file_type ( ) else {
48
- return None ;
49
- } ;
50
- if file_type. is_dir ( ) {
51
- file. file_name ( ) . into_string ( ) . ok ( )
52
- } else {
53
- None
54
- }
55
- } )
56
- . collect ( ) ;
57
- transaction
58
- . contract_verification_dal ( )
59
- . set_solc_versions ( solc_versions)
60
- . await
61
- . unwrap ( ) ;
62
-
63
- let zkvyper_path = zksync_home. join ( "etc/zkvyper-bin/" ) ;
64
- let zkvyper_versions: Vec < String > = std:: fs:: read_dir ( zkvyper_path)
65
- . unwrap ( )
66
- . filter_map ( |file| {
67
- let file = file. unwrap ( ) ;
68
- let Ok ( file_type) = file. file_type ( ) else {
69
- return None ;
70
- } ;
71
- if file_type. is_dir ( ) {
72
- file. file_name ( ) . into_string ( ) . ok ( )
73
- } else {
74
- None
75
- }
76
- } )
77
- . collect ( ) ;
78
- transaction
79
- . contract_verification_dal ( )
80
- . set_zkvyper_versions ( zkvyper_versions)
81
- . await
82
- . unwrap ( ) ;
83
-
84
- let vyper_path = zksync_home. join ( "etc/vyper-bin/" ) ;
85
- let vyper_versions: Vec < String > = std:: fs:: read_dir ( vyper_path)
86
- . unwrap ( )
87
- . filter_map ( |file| {
88
- let file = file. unwrap ( ) ;
89
- let Ok ( file_type) = file. file_type ( ) else {
90
- return None ;
91
- } ;
92
- if file_type. is_dir ( ) {
93
- file. file_name ( ) . into_string ( ) . ok ( )
94
- } else {
95
- None
96
- }
97
- } )
98
- . collect ( ) ;
99
-
100
- transaction
101
- . contract_verification_dal ( )
102
- . set_vyper_versions ( vyper_versions)
103
- . await
104
- . unwrap ( ) ;
105
-
106
- transaction. commit ( ) . await . unwrap ( ) ;
107
- }
108
-
109
15
#[ derive( StructOpt ) ]
110
16
#[ structopt( name = "ZKsync contract code verifier" , author = "Matter Labs" ) ]
111
17
struct Opt {
@@ -160,9 +66,9 @@ async fn main() -> anyhow::Result<()> {
160
66
. expect ( "Error setting Ctrl+C handler" ) ;
161
67
}
162
68
163
- update_compiler_versions ( & pool) . await ;
164
-
165
- let contract_verifier = ContractVerifier :: new ( verifier_config , pool ) ;
69
+ let contract_verifier = ContractVerifier :: new ( verifier_config . compilation_timeout ( ) , pool)
70
+ . await
71
+ . context ( "failed initializing contract verifier" ) ? ;
166
72
let tasks = vec ! [
167
73
// TODO PLA-335: Leftovers after the prover DB split.
168
74
// The prover connection pool is not used by the contract verifier, but we need to pass it
0 commit comments