Plugin.Conflict_map
The 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 : t
Initial state.
Removes all the replacements
from the state then adds new_operation
.
val fee_needed_to_replace_by_fee :
config ->
candidate_op:operation ->
conflict_map:t ->
int64 option
This function should be called when 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
. This function returns the minimal fee (in mumav) that candidate_op
would need so that the conflict_handler
would return `Replace
instead. If no such fee exists, then the function returns None
.