Struct lnp::channel::bolt::PeerParams
source · pub struct PeerParams {
pub dust_limit_satoshis: u64,
pub to_self_delay: u16,
pub htlc_minimum_msat: u64,
pub max_htlc_value_in_flight_msat: u64,
pub channel_reserve_satoshis: u64,
pub max_accepted_htlcs: u16,
}
Expand description
Structure containing part of the channel state which must follow specific policies and be accepted or validated basing on those policies and additional protocol-level requirements.
This information applies for only to one of the peers and requested by the other peer. It is used in constructing transactions which should be signed by the node demanding this requirements.
Should be instantiated from the node
configuration persistent storage and/or command line parameters and provided
to the channel constructor via crate::Channel::with
.
Later, when creating new channels, it should be copied from the local
channel defaults object and updated / checked against local policies upon
receiving accept_channel
reply by setting
super::BoltChannel::remote_params
to a value returned from
[super::BoltChannel::local_params
][.confirm_outbound
](Policy::
confirm_outbound) method.
Upon receiving open_channel
message from the remote node must validate the
proposed parameters against local policy with
[super::BoltChannel::policy
][.validate_inbound
](Policy::
validate_inbound) method and assign the return value to
super::BoltChannel::remote_params
.
Fields§
§dust_limit_satoshis: u64
The threshold below which outputs on transactions broadcast by sender will be omitted
to_self_delay: u16
The number of blocks which the counterparty will have to wait to claim on-chain funds if they broadcast a commitment transaction
htlc_minimum_msat: u64
Indicates the smallest value HTLC this node will accept.
max_htlc_value_in_flight_msat: u64
The maximum inbound HTLC value in flight towards sender, in milli-satoshi
channel_reserve_satoshis: u64
The minimum value unencumbered by HTLCs for the counterparty to keep in the channel
max_accepted_htlcs: u16
The maximum number of inbound HTLCs towards sender
Trait Implementations§
source§impl Clone for PeerParams
impl Clone for PeerParams
source§fn clone(&self) -> PeerParams
fn clone(&self) -> PeerParams
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for PeerParams
impl Debug for PeerParams
source§impl Default for PeerParams
impl Default for PeerParams
source§fn default() -> Self
fn default() -> Self
Sets reasonable values for the channel parameters requested from the
other peer in sent open_channel
or accept_channel
messages.
Usually this should not be used and instead crate::Channel::with
should be provided with custom channel parameters basing on the user
preferences.
source§impl<'de> Deserialize<'de> for PeerParams
impl<'de> Deserialize<'de> for PeerParams
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
source§impl Display for PeerParams
impl Display for PeerParams
source§impl From<&AcceptChannel> for PeerParams
impl From<&AcceptChannel> for PeerParams
source§fn from(accept_channel: &AcceptChannel) -> Self
fn from(accept_channel: &AcceptChannel) -> Self
Extracts peer-specific parameters from the incoming accept_channel
message. These parameters are applied to the local node.
source§impl From<&OpenChannel> for PeerParams
impl From<&OpenChannel> for PeerParams
source§fn from(open_channel: &OpenChannel) -> Self
fn from(open_channel: &OpenChannel) -> Self
Extracts peer-specific parameters from the incoming open_channel
message. These parameters are applied to the local node.
source§impl Hash for PeerParams
impl Hash for PeerParams
source§impl PartialEq<PeerParams> for PeerParams
impl PartialEq<PeerParams> for PeerParams
source§fn eq(&self, other: &PeerParams) -> bool
fn eq(&self, other: &PeerParams) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for PeerParams
impl Serialize for PeerParams
source§impl StrictDecode for PeerParams
impl StrictDecode for PeerParams
source§fn strict_decode<D: Read>(d: D) -> Result<Self, Error>
fn strict_decode<D: Read>(d: D) -> Result<Self, Error>
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>
fn strict_deserialize(data: impl AsRef<[u8]>) -> Result<Self, Error>
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>
fn strict_file_load(path: impl AsRef<Path>) -> Result<Self, Error>
path
and reconstructs object from it. Fails
with Error::DataNotEntirelyConsumed
if file contains remaining
data after the object reconstruction.source§impl StrictEncode for PeerParams
impl StrictEncode for PeerParams
source§fn strict_encode<E: Write>(&self, e: E) -> Result<usize, Error>
fn strict_encode<E: Write>(&self, e: E) -> Result<usize, Error>
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, Global>, Error>
fn strict_serialize(&self) -> Result<Vec<u8, Global>, Error>
StrictEncode::strict_encode
functionsource§impl ToYamlString for PeerParams
impl ToYamlString for PeerParams
source§fn to_yaml_string(&self) -> String
fn to_yaml_string(&self) -> String
self
into a YAML-encoded stringimpl Copy for PeerParams
impl Eq for PeerParams
impl StructuralEq for PeerParams
impl StructuralPartialEq for PeerParams
Auto Trait Implementations§
impl RefUnwindSafe for PeerParams
impl Send for PeerParams
impl Sync for PeerParams
impl Unpin for PeerParams
impl UnwindSafe for PeerParams
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.