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, raw_invoice: SignedRawInvoice)
pub fn spend_spendable_outputs( &self, descriptors: &[&SpendableOutputDescriptor], outputs: Vec<TxOut>, change_destination_script: Script, feerate_sat_per_1000_weight: u32, secp_ctx: &Secp256k1<All> ) -> 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) -> Script
fn get_destination_script(&self) -> Script
Get a script pubkey which we send funds to when claiming on-chain contestable outputs. Read more
source§fn get_shutdown_scriptpubkey(&self) -> ShutdownScript
fn get_shutdown_scriptpubkey(&self) -> 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 more