Alpha/Baker: ensure that we apply the operations in the correct order
This commit is contained in:
parent
b6cf4ff8a8
commit
523d44354c
@ -588,7 +588,9 @@ let filter_and_apply_operations
|
|||||||
state.index <- index ;
|
state.index <- index ;
|
||||||
return inc
|
return inc
|
||||||
end >>=? fun initial_inc ->
|
end >>=? fun initial_inc ->
|
||||||
let endorsements = List.nth operations endorsements_index in
|
let endorsements = List.nth operations endorsements_index
|
||||||
|
|
||||||
|
in
|
||||||
let votes = List.nth operations votes_index in
|
let votes = List.nth operations votes_index in
|
||||||
let anonymous = List.nth operations anonymous_index in
|
let anonymous = List.nth operations anonymous_index in
|
||||||
let managers = List.nth operations managers_index in
|
let managers = List.nth operations managers_index in
|
||||||
@ -627,6 +629,9 @@ let filter_and_apply_operations
|
|||||||
in
|
in
|
||||||
filter_valid_operations initial_inc votes >>=? fun (inc, votes) ->
|
filter_valid_operations initial_inc votes >>=? fun (inc, votes) ->
|
||||||
filter_valid_operations inc anonymous >>=? fun (inc, anonymous) ->
|
filter_valid_operations inc anonymous >>=? fun (inc, anonymous) ->
|
||||||
|
(* Retrieve the correct index order *)
|
||||||
|
let managers = List.sort Proto_alpha.compare_operations managers in
|
||||||
|
let bad_managers = List.sort Proto_alpha.compare_operations bad_managers in
|
||||||
filter_valid_operations inc (managers @ bad_managers) >>=? fun (inc, managers) ->
|
filter_valid_operations inc (managers @ bad_managers) >>=? fun (inc, managers) ->
|
||||||
(* Gives a chance to the endorser to fund their deposit in the current block *)
|
(* Gives a chance to the endorser to fund their deposit in the current block *)
|
||||||
filter_map_s (is_valid_endorsement inc) endorsements >>=? fun endorsements ->
|
filter_map_s (is_valid_endorsement inc) endorsements >>=? fun endorsements ->
|
||||||
@ -647,7 +652,8 @@ let filter_and_apply_operations
|
|||||||
(List.nth quota anonymous_index).max_size in
|
(List.nth quota anonymous_index).max_size in
|
||||||
trim_manager_operations ~max_size:(List.nth quota managers_index).max_size
|
trim_manager_operations ~max_size:(List.nth quota managers_index).max_size
|
||||||
~hard_gas_limit_per_block managers >>=? fun (accepted_managers, _overflowing_managers) ->
|
~hard_gas_limit_per_block managers >>=? fun (accepted_managers, _overflowing_managers) ->
|
||||||
|
(* Retrieve the correct index order *)
|
||||||
|
let accepted_managers = List.sort Proto_alpha.compare_operations accepted_managers in
|
||||||
(* Make sure we only keep valid operations *)
|
(* Make sure we only keep valid operations *)
|
||||||
filter_valid_operations initial_inc votes >>=? fun (inc, votes) ->
|
filter_valid_operations initial_inc votes >>=? fun (inc, votes) ->
|
||||||
filter_valid_operations inc anonymous >>=? fun (inc, anonymous) ->
|
filter_valid_operations inc anonymous >>=? fun (inc, anonymous) ->
|
||||||
|
Loading…
Reference in New Issue
Block a user