@@ -88,42 +88,61 @@ pub struct SubmitArgs {
8888 default_value = "http://localhost:8545"
8989 ) ]
9090 eth_rpc_url : String ,
91+
9192 #[ arg( name = "Proving system" , long = "proving_system" ) ]
9293 proving_system_flag : ProvingSystemArg ,
94+
9395 #[ arg( name = "Proof file path" , long = "proof" ) ]
9496 proof_file_name : PathBuf ,
97+
9598 #[ arg( name = "Public input file name" , long = "public_input" ) ]
9699 pub_input_file_name : Option < PathBuf > ,
100+
97101 #[ arg( name = "Verification key file name" , long = "vk" ) ]
98102 verification_key_file_name : Option < PathBuf > ,
103+
99104 #[ arg( name = "VM prgram code file name" , long = "vm_program" ) ]
100105 vm_program_code_file_name : Option < PathBuf > ,
106+
101107 #[ arg(
102108 name = "Number of repetitions" ,
103109 long = "repetitions" ,
104110 default_value = "1"
105111 ) ]
106112 repetitions : usize ,
113+
107114 #[ arg(
108115 name = "Proof generator address" ,
109116 long = "proof_generator_addr" ,
110117 default_value = "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
111118 ) ] // defaults to anvil address 1
112119 proof_generator_addr : String ,
120+
113121 #[ arg(
114122 name = "Aligned verification data directory Path" ,
115123 long = "aligned_verification_data_path" ,
116124 default_value = "./aligned_verification_data/"
117125 ) ]
118126 batch_inclusion_data_directory_path : String ,
127+
119128 #[ command( flatten) ]
120129 private_key_type : PrivateKeyType ,
130+
121131 #[ arg( name = "Nonce" , long = "nonce" ) ]
122132 nonce : Option < String > , // String because U256 expects hex
133+
123134 #[ clap( flatten) ]
124135 network : NetworkArg ,
136+
125137 #[ command( flatten) ]
126138 fee_type : FeeType ,
139+
140+ #[ arg(
141+ name = "Random Address" ,
142+ long = "random_address" ,
143+ default_value = "false"
144+ ) ]
145+ random_address : bool ,
127146}
128147
129148impl SubmitArgs {
@@ -516,7 +535,15 @@ async fn main() -> Result<(), AlignedError> {
516535
517536 let verification_data = verification_data_from_args ( & submit_args) ?;
518537
519- let verification_data_arr = vec ! [ verification_data; repetitions] ;
538+ let mut verification_data_arr = vec ! [ verification_data; repetitions] ;
539+
540+ // If random_address flag is enabled, change every address with a random value
541+ if submit_args. random_address {
542+ info ! ( "Randomizing proof generator address for each proof..." ) ;
543+ for i in 0 ..repetitions {
544+ verification_data_arr[ i] . proof_generator_addr = Address :: random ( ) ;
545+ }
546+ }
520547
521548 info ! ( "Submitting proofs to the Aligned batcher..." ) ;
522549
0 commit comments