Mempool.Conflict_mapThe purpose of this module is to provide the fee_needed_to_replace_by_fee function. For this function to be correct, the caller must maintain the state of type t by calling update on each successfully validated operation and its induced replacements.
val empty : tInitial state.
val update :
t ->
new_operation:Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation ->
replacements:
Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation list ->
tRemoves all the replacements from the state then adds new_operation.
val fee_needed_to_replace_by_fee :
config ->
candidate_op:Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation ->
conflict_map:t ->
int64 optionThis function should be called when Protocol.Mempool.add_operation has returned Unchanged. This means that the candidate_op has been rejected because there was a conflict with an pre-existing operation and the conflict_handler has returned `Keep. When both operations are manager operations, this function returns the minimal fee (in mutez) that candidate_op would need in order to win the conflict, i.e. make the conflict_handler return `Replace instead. Otherwise, it returns None.