Struct lightning_signer::signer::my_keys_manager::MyKeysManager [−][src]
pub struct MyKeysManager { /* fields omitted */ }
Expand description
An implementation of KeysInterface
Implementations
pub fn new(
key_derivation_style: KeyDerivationStyle,
seed: &[u8],
network: Network,
starting_time_secs: u64,
starting_time_nanos: u32
) -> MyKeysManager
pub fn new(
key_derivation_style: KeyDerivationStyle,
seed: &[u8],
network: Network,
starting_time_secs: u64,
starting_time_nanos: u32
) -> MyKeysManager
Construct
Get the layer-1 xpub
pub fn per_commitment_point<X: Signing>(
secp_ctx: &Secp256k1<X>,
commitment_secret: &[u8; 32]
) -> PublicKey
pub fn per_commitment_point<X: Signing>(
secp_ctx: &Secp256k1<X>,
commitment_secret: &[u8; 32]
) -> PublicKey
Convert a commitment secret to a commitment point
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, ()>
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, ()>
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.
Returns Err(())
if the output value is greater than the input value minus required fee or
if a descriptor was duplicated.
We do not enforce that outputs meet the dust limit or that any output scripts are standard.
May panic if the SpendableOutputDescriptor
s were not generated by Channels which used
this KeysManager or one of the InMemorySigner
created by this KeysManager.
Trait Implementations
type Signer = InMemorySigner
type Signer = InMemorySigner
A type which implements Sign which will be returned by get_channel_signer.
Get node secret key (aka node_id or network_key). Read more
Get a script pubkey which we send funds to when claiming on-chain contestable outputs. Read more
Get a script pubkey which we will send funds to when closing a channel. Read more
Get a new set of Sign for per-channel secrets. These MUST be unique even if you restarted with some stale data! Read more
Gets a unique, cryptographically-secure, random 32 byte value. This is used for encrypting onion packets and for temporary channel IDs. There is no requirement that these be persisted anywhere, though they must be unique across restarts. Read more
Reads a Signer
for this KeysInterface
from the given input stream.
This is only called during deserialization of other objects which contain
Sign
-implementing objects (ie 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
Sign an invoice’s preimage (note that this is the preimage of the invoice, not the HTLC’s preimage). By parameterizing by the preimage instead of the hash, we allow implementors of this trait to parse the invoice and make sure they’re signing what they expect, rather than blindly signing the hash. Read more
Get secret key material as bytes for use in encrypting and decrypting inbound payment data. Read more