pub struct KeysManagerClient { /* private fields */ }Implementations§
Source§impl KeysManagerClient
impl KeysManagerClient
Sourcepub fn new(
transport: Arc<dyn Transport>,
network: String,
key_derivation_style: Option<KeyDerivationStyle>,
dev_allowlist: Option<Array<WireString>>,
receive_auth_key: ReceiveAuthKey,
) -> Self
pub fn new( transport: Arc<dyn Transport>, network: String, key_derivation_style: Option<KeyDerivationStyle>, dev_allowlist: Option<Array<WireString>>, receive_auth_key: ReceiveAuthKey, ) -> Self
Create a new VLS client with the given transport.
receive_auth_key is the LDK 0.2 blinded-path MAC key. Its only
requirement is to be consistent across invocations, so the caller is
responsible for generating it (e.g. on first run) and persisting it
in its own state — see NodeSigner::get_receive_auth_key in LDK.
The signer does not provide it, since any caller with persistence
can.
peer_storage_key and the inbound-payment ExpandedKey seed are in
contrast obtained from the signer’s HsmdInit2Reply: LDK requires them
to be stable across restarts (state-loss recovery, and receivable
invoices respectively) and the signer is the only place that holds the
seed they derive from.
pub fn call<T: SerBolt, R: DeBolt>(&self, message: T) -> Result<R, Error>
pub fn sign_onchain_tx( &self, tx: &Transaction, descriptors: &[&SpendableOutputDescriptor], ) -> Vec<Vec<Vec<u8>>>
Trait Implementations§
Source§impl EntropySource for KeysManagerClient
impl EntropySource for KeysManagerClient
Source§fn get_secure_random_bytes(&self) -> [u8; 32]
fn get_secure_random_bytes(&self) -> [u8; 32]
Gets a unique, cryptographically-secure, random 32-byte value. This method must return a
different value each time it is called.
Source§impl NodeSigner for KeysManagerClient
impl NodeSigner for KeysManagerClient
Source§fn get_expanded_key(&self) -> ExpandedKey
fn get_expanded_key(&self) -> ExpandedKey
Get the
ExpandedKey which provides cryptographic material for various Lightning Network operations. Read moreSource§fn get_peer_storage_key(&self) -> PeerStorageKey
fn get_peer_storage_key(&self) -> PeerStorageKey
Defines a method to derive a 32-byte encryption key for peer storage. Read more
Source§fn get_receive_auth_key(&self) -> ReceiveAuthKey
fn get_receive_auth_key(&self) -> ReceiveAuthKey
Source§fn sign_message(&self, msg: &[u8]) -> Result<String, ()>
fn sign_message(&self, msg: &[u8]) -> Result<String, ()>
Sign an arbitrary message with the node’s secret key. Read more
Source§fn ecdh(
&self,
recipient: Recipient,
other_key: &PublicKey,
tweak: Option<&Scalar>,
) -> Result<SharedSecret, ()>
fn ecdh( &self, recipient: Recipient, other_key: &PublicKey, tweak: Option<&Scalar>, ) -> Result<SharedSecret, ()>
Gets the ECDH shared secret of our node secret and
other_key, multiplying by tweak if
one is provided. Note that this tweak can be applied to other_key instead of our node
secret, though this is less efficient. Read moreSource§fn sign_invoice(
&self,
invoice: &RawBolt11Invoice,
recipient: Recipient,
) -> Result<RecoverableSignature, ()>
fn sign_invoice( &self, invoice: &RawBolt11Invoice, recipient: Recipient, ) -> Result<RecoverableSignature, ()>
Sign an invoice. Read more
Source§fn sign_bolt12_invoice(
&self,
invoice: &UnsignedBolt12Invoice,
) -> Result<Signature, ()>
fn sign_bolt12_invoice( &self, invoice: &UnsignedBolt12Invoice, ) -> Result<Signature, ()>
Signs the
TaggedHash of a BOLT 12 invoice. Read moreSource§fn sign_gossip_message(
&self,
msg: UnsignedGossipMessage<'_>,
) -> Result<Signature, ()>
fn sign_gossip_message( &self, msg: UnsignedGossipMessage<'_>, ) -> Result<Signature, ()>
Sign a gossip message. Read more
Source§impl OutputSpender for KeysManagerClient
impl OutputSpender for KeysManagerClient
Source§fn spend_spendable_outputs(
&self,
descriptors: &[&SpendableOutputDescriptor],
outputs: Vec<TxOut>,
change_destination_script: ScriptBuf,
feerate_sat_per_1000_weight: u32,
locktime: Option<LockTime>,
_secp_ctx: &Secp256k1<All>,
) -> Result<Transaction, ()>
fn spend_spendable_outputs( &self, descriptors: &[&SpendableOutputDescriptor], outputs: Vec<TxOut>, change_destination_script: ScriptBuf, feerate_sat_per_1000_weight: u32, locktime: Option<LockTime>, _secp_ctx: &Secp256k1<All>, ) -> Result<Transaction, ()>
Creates a
Transaction which spends the given descriptors to the given outputs, plus an
output to the given change destination (if sufficient change value remains). The
transaction will have a feerate, at least, of the given value. Read moreSource§impl SignerProvider for KeysManagerClient
impl SignerProvider for KeysManagerClient
Source§type EcdsaSigner = SignerClient
type EcdsaSigner = SignerClient
A type which implements
EcdsaChannelSigner which will be returned by Self::derive_channel_signer.Source§fn generate_channel_keys_id(
&self,
_inbound: bool,
_user_channel_id: u128,
) -> [u8; 32]
fn generate_channel_keys_id( &self, _inbound: bool, _user_channel_id: u128, ) -> [u8; 32]
Generates a unique
channel_keys_id that can be used to obtain a Self::EcdsaSigner through
SignerProvider::derive_channel_signer. The user_channel_id is provided to allow
implementations of SignerProvider to maintain a mapping between itself and the generated
channel_keys_id. Read moreSource§fn derive_channel_signer(&self, channel_keys_id: [u8; 32]) -> Self::EcdsaSigner
fn derive_channel_signer(&self, channel_keys_id: [u8; 32]) -> Self::EcdsaSigner
Derives the private key material backing a
Signer. Read moreSource§fn get_destination_script(&self, _: [u8; 32]) -> Result<ScriptBuf, ()>
fn get_destination_script(&self, _: [u8; 32]) -> Result<ScriptBuf, ()>
Get a script pubkey which we send funds to when claiming on-chain contestable outputs. Read more
Source§fn get_shutdown_scriptpubkey(&self) -> Result<ShutdownScript, ()>
fn get_shutdown_scriptpubkey(&self) -> Result<ShutdownScript, ()>
Get a script pubkey which we will send funds to when closing a channel. Read more
Auto Trait Implementations§
impl !Freeze for KeysManagerClient
impl !RefUnwindSafe for KeysManagerClient
impl !UnwindSafe for KeysManagerClient
impl Send for KeysManagerClient
impl Sync for KeysManagerClient
impl Unpin for KeysManagerClient
impl UnsafeUnpin for KeysManagerClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for T
impl<T> Downcast for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
Converts
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> ⓘ
Converts
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