@@ -29,20 +29,31 @@ def execute_vote(helpers, vote_ids_from_env):
2929
3030def execute_vote_and_process_dg_proposals (helpers , vote_ids_from_env , dg_proposal_ids_from_env ):
3131
32- # V1
33- proposals_count_before1 = contracts .emergency_protected_timelock .getProposalsCount ()
34- start_and_execute_votes (contracts .voting , helpers , 0 )
35- proposals_count_after1 = contracts .emergency_protected_timelock .getProposalsCount ()
36- new_proposal_ids1 = list (range (proposals_count_before1 + 1 , proposals_count_after1 + 1 ))
37-
38- # DG1
39- process_proposals (new_proposal_ids1 )
40-
41- # V2
42- proposals_count_before2 = contracts .emergency_protected_timelock .getProposalsCount ()
43- start_and_execute_votes (contracts .voting , helpers , 1 )
44- proposals_count_after2 = contracts .emergency_protected_timelock .getProposalsCount ()
45- new_proposal_ids2 = list (range (proposals_count_before2 + 1 , proposals_count_after2 + 1 ))
46-
47- # DG2
48- process_proposals (new_proposal_ids2 )
32+ sequence_key = "v2_v1_dg1_dg2"
33+ print ("ACTION_SEQUENCE:" , sequence_key )
34+
35+ state = {
36+ "v1_ids" : None ,
37+ "v2_ids" : None ,
38+ }
39+
40+ def vote (id ):
41+ proposals_count_before1 = contracts .emergency_protected_timelock .getProposalsCount ()
42+ start_and_execute_votes (contracts .voting , helpers , id )
43+ proposals_count_after1 = contracts .emergency_protected_timelock .getProposalsCount ()
44+ state [f"v{ id + 1 } _ids" ] = list (range (proposals_count_before1 + 1 , proposals_count_after1 + 1 ))
45+
46+ def dual_governance (ids ):
47+ process_proposals (ids )
48+
49+ actions = {
50+ "v1" : lambda : vote (0 ),
51+ "dg1" : lambda : dual_governance (state ["v1_ids" ]),
52+ "v2" : lambda : vote (1 ),
53+ "dg2" : lambda : dual_governance (state ["v2_ids" ]),
54+ }
55+
56+ steps = sequence_key .split ("_" )
57+ for action in steps :
58+ actions [action ]()
59+
0 commit comments