Enum PolicyError

Source
pub enum PolicyError {
Show 14 variants ToSelfDelayUnreasonablyLarge { proposed: u16, allowed_maximum: u16, }, MaxAcceptedHtlcLimitExceeded(u16), FeeRateUnreasonable { proposed: u32, lowest_accepted: u32, highest_accepted: u32, }, ChannelReserveLessDust { reserve: u64, dust_limit: u64, }, DustLimitTooSmall(u64), ChannelFundingTooSmall { proposed: u64, required_minimum: u64, }, HtlcMinimumTooLarge { proposed: u64, allowed_maximum: u64, }, HtlcInFlightMaximumTooSmall { proposed: u64, required_minimum: u64, }, ChannelReserveTooLarge { proposed: u64, allowed_maximum: u64, }, MaxAcceptedHtlcsTooSmall { proposed: u16, required_minimum: u16, }, DustLimitTooLarge { proposed: u64, allowed_maximum: u64, }, UnreasonableMinDepth { proposed: u32, allowed_maximum: u32, }, LocalDustExceedsRemoteReserve { channel_reserve: u64, dust_limit: u64, }, RemoteDustExceedsLocalReserve { channel_reserve: u64, dust_limit: u64, },
}
Expand description

Errors from BOLT-2 policy validations for open_channel and accept_channel messages.

Variants§

§

ToSelfDelayUnreasonablyLarge

proposed to_self_delay value {proposed} is unreasonably large and exceeds node policy limit of {allowed_maximum}; rejecting the channel according to BOLT-2

Fields

§proposed: u16
§allowed_maximum: u16
§

MaxAcceptedHtlcLimitExceeded(u16)

proposed limit for maximum accepted number of HTLCs {0} exceeds BOLT-3 requirement to be below 483; rejecting the channel according to BOLT-2

§

FeeRateUnreasonable

proposed fee rate {proposed} sat/kw is outside of the fee rate policy of the local node ({lowest_accepted}..{highest_accepted} sat/kw); rejecting the channel according to BOLT-2

Fields

§proposed: u32
§lowest_accepted: u32
§highest_accepted: u32
§

ChannelReserveLessDust

proposed channel reserve limit {reserve} sat is less than dust limit {dust_limit} sat; rejecting the channel according to BOLT-2

Fields

§reserve: u64
§dust_limit: u64
§

DustLimitTooSmall(u64)

dust limit {0} sat is less than protocol minimum requirement of 354 sat; rejecting the channel according to BOLT-2

§

ChannelFundingTooSmall

offered channel funding of {proposed} sat is too small and less than {required_minimum} required by the node policy; rejecting the channel according to BOLT-2

Fields

§proposed: u64
§required_minimum: u64
§

HtlcMinimumTooLarge

HTLC minimum {proposed} is too large and exceeds node policy requirements ({allowed_maximum}); rejecting the channel according to BOLT-2

Fields

§proposed: u64
§allowed_maximum: u64
§

HtlcInFlightMaximumTooSmall

HTLC-in-flight maximum requirement of {proposed} is too small and does not match the node policy; the smallest requirement is {required_minimum}; rejecting the channel according to BOLT-2

Fields

§proposed: u64
§required_minimum: u64
§

ChannelReserveTooLarge

requested {proposed} channel reserve is too large and exceeds local policy requirement of {allowed_maximum}; rejecting the channel according to BOLT-2

Fields

§proposed: u64
§allowed_maximum: u64
§

MaxAcceptedHtlcsTooSmall

maximum number of HTLCs {proposed} that can be accepted by the remote node is too small and does not match node policy requirement of {required_minimum}; rejecting the channel according to BOLT-2

Fields

§proposed: u16
§required_minimum: u16
§

DustLimitTooLarge

dust limit {proposed} sats exceeds node policy requirement of {allowed_maximum}; rejecting the channel according to BOLT-2

Fields

§proposed: u64
§allowed_maximum: u64
§

UnreasonableMinDepth

minimum depth of {proposed} requested by the remote peer is exceeds local policy limit of {allowed_maximum}; rejecting the channel according to BOLT-2

Fields

§proposed: u32
§allowed_maximum: u32
§

LocalDustExceedsRemoteReserve

channel_reserve_satoshis ({channel_reserve}) is less than dust_limit_satoshis ({dust_limit}) within the open_channel message; rejecting the channel according to BOLT-2

Fields

§channel_reserve: u64
§dust_limit: u64
§

RemoteDustExceedsLocalReserve

channel_reserve_satoshis from the open_channel message ({channel_reserve}) is less than dust_limit_satoshis ({dust_limit}; rejecting the channel according to BOLT-2

Fields

§channel_reserve: u64
§dust_limit: u64

Trait Implementations§

Source§

impl Clone for PolicyError

Source§

fn clone(&self) -> PolicyError

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PolicyError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for PolicyError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for PolicyError

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<PolicyError> for Error

Source§

fn from(v: PolicyError) -> Self

Converts to this type from the input type.
Source§

impl From<PolicyError> for String

Source§

fn from(err: PolicyError) -> Self

Converts to this type from the input type.
Source§

impl Hash for PolicyError

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for PolicyError

Source§

fn eq(&self, other: &PolicyError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

const fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StrictDecode for PolicyError

Source§

fn strict_decode<D: Read>(d: D) -> Result<Self, Error>

Decode with the given std::io::Read instance; must either construct an instance or return implementation-specific error type.
Source§

fn strict_deserialize(data: impl AsRef<[u8]>) -> Result<Self, Error>

Tries to deserialize byte array into the current type using StrictDecode::strict_decode. If there are some data remains in the buffer once deserialization is completed, fails with Error::DataNotEntirelyConsumed. Use io::Cursor over the buffer and StrictDecode::strict_decode to avoid such failures.
Source§

fn strict_file_load(path: impl AsRef<Path>) -> Result<Self, Error>

Reads data from file at path and reconstructs object from it. Fails with Error::DataNotEntirelyConsumed if file contains remaining data after the object reconstruction.
Source§

impl StrictEncode for PolicyError

Source§

fn strict_encode<E: Write>(&self, e: E) -> Result<usize, Error>

Encode with the given std::io::Write instance; must return result with either amount of bytes encoded – or implementation-specific error type.
Source§

fn strict_serialize(&self) -> Result<Vec<u8>, Error>

Serializes data as a byte array using StrictEncode::strict_encode function
Source§

fn strict_file_save(&self, path: impl AsRef<Path>) -> Result<usize, Error>

Saves data to a file at a given path. If the file does not exists, attempts to create the file. If the file already exists, it gets truncated.
Source§

impl Copy for PolicyError

Source§

impl Eq for PolicyError

Source§

impl StructuralPartialEq for PolicyError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> VerifyEq for T
where T: Eq,

Source§

fn verify_eq(&self, other: &T) -> bool

Verifies commit-equivalence of two instances of the same type.