pub struct LoopbackSignerKeysInterface {
pub node_id: PublicKey,
pub signer: Arc<MultiSigner>,
}
Expand description
Adapt MySigner to NodeSigner
Fields§
§node_id: PublicKey
§signer: Arc<MultiSigner>
Implementations§
source§impl LoopbackSignerKeysInterface
impl LoopbackSignerKeysInterface
pub fn get_node(&self) -> Arc<Node>
pub fn add_invoice(&self, invoice: Invoice)
pub fn spend_spendable_outputs( &self, descriptors: &[&SpendableOutputDescriptor], outputs: Vec<TxOut>, change_destination_script: Script, feerate_sat_per_1000_weight: u32 ) -> Result<Transaction, ()>
Trait Implementations§
source§impl EntropySource for LoopbackSignerKeysInterface
impl EntropySource for LoopbackSignerKeysInterface
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 LoopbackSignerKeysInterface
impl NodeSigner for LoopbackSignerKeysInterface
source§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§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,
hrp_bytes: &[u8],
invoice_data: &[u5],
recipient: Recipient
) -> Result<RecoverableSignature, ()>
fn sign_invoice( &self, hrp_bytes: &[u8], invoice_data: &[u5], recipient: Recipient ) -> Result<RecoverableSignature, ()>
Sign an invoice. Read more
source§fn get_inbound_payment_key_material(&self) -> KeyMaterial
fn get_inbound_payment_key_material(&self) -> KeyMaterial
Get secret key material as bytes for use in encrypting and decrypting inbound payment data. Read more
source§impl SignerProvider for LoopbackSignerKeysInterface
impl SignerProvider for LoopbackSignerKeysInterface
§type Signer = LoopbackChannelSigner
type Signer = LoopbackChannelSigner
A type which implements
WriteableEcdsaChannelSigner
which will be returned by Self::derive_channel_signer
.source§fn get_destination_script(&self) -> Result<Script, ()>
fn get_destination_script(&self) -> Result<Script, ()>
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
source§fn generate_channel_keys_id(
&self,
_inbound: bool,
_channel_value_satoshis: u64,
_user_channel_id: u128
) -> [u8; 32]
fn generate_channel_keys_id( &self, _inbound: bool, _channel_value_satoshis: u64, _user_channel_id: u128 ) -> [u8; 32]
Generates a unique
channel_keys_id
that can be used to obtain a Self::Signer
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_value_satoshis: u64,
channel_keys_id: [u8; 32]
) -> Self::Signer
fn derive_channel_signer( &self, channel_value_satoshis: u64, channel_keys_id: [u8; 32] ) -> Self::Signer
Derives the private key material backing a
Signer
. Read moresource§fn read_chan_signer(&self, reader: &[u8]) -> Result<Self::Signer, DecodeError>
fn read_chan_signer(&self, reader: &[u8]) -> Result<Self::Signer, DecodeError>
Reads a
Signer
for this SignerProvider
from the given input stream.
This is only called during deserialization of other objects which contain
WriteableEcdsaChannelSigner
-implementing objects (i.e., ChannelMonitor
s and ChannelManager
s).
The bytes are exactly those which <Self::Signer as Writeable>::write()
writes, and
contain no versioning scheme. You may wish to include your own version prefix and ensure
you’ve read all of the provided bytes to ensure no corruption occurred. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for LoopbackSignerKeysInterface
impl Send for LoopbackSignerKeysInterface
impl Sync for LoopbackSignerKeysInterface
impl Unpin for LoopbackSignerKeysInterface
impl !UnwindSafe for LoopbackSignerKeysInterface
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