pub enum RbfPolicy {
Forbidden,
Allowed,
Mandatory,
}Expand description
Replace by Fee (RBF) policy
Variants§
Forbidden
§RBF is forbidden
Inserts the incoming transaction.
Conditions of success:
- no double spend
If conditions are not met, leaves the mempool unchanged and fails with a double spend error.
Allowed
§RBF may occur
Identifies double spends in mempool and their owning transactions checking in order every input of the incoming transaction.
Removes all mempool transactions owning double spends and inserts the incoming transaction.
Conditions of success:
- on absence of double spends, always succeeds
- on double spends, the incoming transaction has a higher fee/mass ratio than the mempool transaction owning the first double spend
If conditions are not met, leaves the mempool unchanged and fails with a double spend or a tx fee/mass too low error.
Mandatory
§RBF must occur
Identifies double spends in mempool and their owning transactions checking in order every input of the incoming transaction.
Removes the mempool transaction owning the double spends and inserts the incoming transaction.
Conditions of success:
- at least one double spend
- all double spends belong to the same mempool transaction
- the incoming transaction has a higher fee/mass ratio than the mempool double spending transaction.
If conditions are not met, leaves the mempool unchanged and fails with a double spend or a tx fee/mass too low error.
Trait Implementations§
impl Copy for RbfPolicy
impl Eq for RbfPolicy
impl StructuralPartialEq for RbfPolicy
Auto Trait Implementations§
impl Freeze for RbfPolicy
impl RefUnwindSafe for RbfPolicy
impl Send for RbfPolicy
impl Sync for RbfPolicy
impl Unpin for RbfPolicy
impl UnwindSafe for RbfPolicy
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<S> CastArc for Swhere
S: CastFromSync + ?Sized,
impl<S> CastArc for Swhere
S: CastFromSync + ?Sized,
Source§impl<T> CastFrom for Twhere
T: Any + 'static,
impl<T> CastFrom for Twhere
T: Any + 'static,
Source§fn ref_any(&self) -> &(dyn Any + 'static)
fn ref_any(&self) -> &(dyn Any + 'static)
Any, which is backed by the type implementing this trait.Source§fn mut_any(&mut self) -> &mut (dyn Any + 'static)
fn mut_any(&mut self) -> &mut (dyn Any + 'static)
Any, which is backed by the type implementing this trait.Source§impl<T> CastFromSync for T
impl<T> CastFromSync for T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more