X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fchain%2Fkeysinterface.rs;h=c4045e9c60c4e96aa6989ab0cb48f4e90ed992e4;hb=aa14fe58301c3c3d80b00aa74e61197db1e577e8;hp=5859385d9fbc09655f6c52eeb1f5237f4348aa03;hpb=9f7bcfb1ede0ecd8cd635c2bacf1774cc65487b7;p=rust-lightning diff --git a/lightning/src/chain/keysinterface.rs b/lightning/src/chain/keysinterface.rs index 5859385d..c4045e9c 100644 --- a/lightning/src/chain/keysinterface.rs +++ b/lightning/src/chain/keysinterface.rs @@ -195,20 +195,10 @@ impl Readable for SpendableOutputDescriptor { // TODO: We should remove Clone by instead requesting a new ChannelKeys copy when we create // ChannelMonitors instead of expecting to clone the one out of the Channel into the monitors. pub trait ChannelKeys : Send+Clone { - /// Gets the local secret key for blinded revocation pubkey - fn revocation_base_key<'a>(&'a self) -> &'a SecretKey; - /// Gets the local secret key used in the to_remote output of remote commitment tx (ie the - /// output to us in transactions our counterparty broadcasts). - /// Also as part of obscured commitment number. - fn payment_key<'a>(&'a self) -> &'a SecretKey; - /// Gets the local secret key used in HTLC-Success/HTLC-Timeout txn and to_local output - fn delayed_payment_base_key<'a>(&'a self) -> &'a SecretKey; - /// Gets the local htlc secret key used in commitment tx htlc outputs - fn htlc_base_key<'a>(&'a self) -> &'a SecretKey; /// Gets the commitment seed - fn commitment_seed<'a>(&'a self) -> &'a [u8; 32]; + fn commitment_seed(&self) -> &[u8; 32]; /// Gets the local channel public keys and basepoints - fn pubkeys<'a>(&'a self) -> &'a ChannelPublicKeys; + fn pubkeys(&self) -> &ChannelPublicKeys; /// Gets arbitrary identifiers describing the set of keys which are provided back to you in /// some SpendableOutputDescriptor types. These should be sufficient to identify this /// ChannelKeys object uniquely and lookup or re-derive its keys. @@ -221,7 +211,7 @@ pub trait ChannelKeys : Send+Clone { // TODO: Document the things someone using this interface should enforce before signing. // TODO: Add more input vars to enable better checking (preferably removing commitment_tx and // making the callee generate it via some util function we expose)! - fn sign_remote_commitment(&self, feerate_per_kw: u64, commitment_tx: &Transaction, keys: &TxCreationKeys, htlcs: &[&HTLCOutputInCommitment], to_self_delay: u16, secp_ctx: &Secp256k1) -> Result<(Signature, Vec), ()>; + fn sign_remote_commitment(&self, feerate_per_kw: u32, commitment_tx: &Transaction, keys: &TxCreationKeys, htlcs: &[&HTLCOutputInCommitment], to_self_delay: u16, secp_ctx: &Secp256k1) -> Result<(Signature, Vec), ()>; /// Create a signature for a local commitment transaction. This will only ever be called with /// the same local_commitment_tx (or a copy thereof), though there are currently no guarantees @@ -414,15 +404,11 @@ impl InMemoryChannelKeys { } impl ChannelKeys for InMemoryChannelKeys { - fn revocation_base_key(&self) -> &SecretKey { &self.revocation_base_key } - fn payment_key(&self) -> &SecretKey { &self.payment_key } - fn delayed_payment_base_key(&self) -> &SecretKey { &self.delayed_payment_base_key } - fn htlc_base_key(&self) -> &SecretKey { &self.htlc_base_key } fn commitment_seed(&self) -> &[u8; 32] { &self.commitment_seed } - fn pubkeys<'a>(&'a self) -> &'a ChannelPublicKeys { &self.local_channel_pubkeys } + fn pubkeys(&self) -> &ChannelPublicKeys { &self.local_channel_pubkeys } fn key_derivation_params(&self) -> (u64, u64) { self.key_derivation_params } - fn sign_remote_commitment(&self, feerate_per_kw: u64, commitment_tx: &Transaction, keys: &TxCreationKeys, htlcs: &[&HTLCOutputInCommitment], to_self_delay: u16, secp_ctx: &Secp256k1) -> Result<(Signature, Vec), ()> { + fn sign_remote_commitment(&self, feerate_per_kw: u32, commitment_tx: &Transaction, keys: &TxCreationKeys, htlcs: &[&HTLCOutputInCommitment], to_self_delay: u16, secp_ctx: &Secp256k1) -> Result<(Signature, Vec), ()> { if commitment_tx.input.len() != 1 { return Err(()); } let funding_pubkey = PublicKey::from_secret_key(secp_ctx, &self.funding_key);