projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move payee node id from top level PaymentParams to Payee::Clear
[rust-lightning]
/
lightning
/
src
/
chain
/
keysinterface.rs
diff --git
a/lightning/src/chain/keysinterface.rs
b/lightning/src/chain/keysinterface.rs
index 3ccab2ce9dabb0b36f9876210a1d39bd5faff98d..338e81d17099cc0aecd193216aa7f228d60409b6 100644
(file)
--- a/
lightning/src/chain/keysinterface.rs
+++ b/
lightning/src/chain/keysinterface.rs
@@
-547,15
+547,21
@@
pub trait SignerProvider {
/// Get a script pubkey which we send funds to when claiming on-chain contestable outputs.
///
/// Get a script pubkey which we send funds to when claiming on-chain contestable outputs.
///
+ /// If this function returns an error, this will result in a channel failing to open.
+ ///
/// This method should return a different value each time it is called, to avoid linking
/// on-chain funds across channels as controlled to the same user.
/// This method should return a different value each time it is called, to avoid linking
/// on-chain funds across channels as controlled to the same user.
- fn get_destination_script(&self) ->
Script
;
+ fn get_destination_script(&self) ->
Result<Script, ()>
;
/// Get a script pubkey which we will send funds to when closing a channel.
///
/// Get a script pubkey which we will send funds to when closing a channel.
///
+ /// If this function returns an error, this will result in a channel failing to open or close.
+ /// In the event of a failure when the counterparty is initiating a close, this can result in a
+ /// channel force close.
+ ///
/// This method should return a different value each time it is called, to avoid linking
/// on-chain funds across channels as controlled to the same user.
/// This method should return a different value each time it is called, to avoid linking
/// on-chain funds across channels as controlled to the same user.
- fn get_shutdown_scriptpubkey(&self) ->
ShutdownScript
;
+ fn get_shutdown_scriptpubkey(&self) ->
Result<ShutdownScript, ()>
;
}
/// A simple implementation of [`WriteableEcdsaChannelSigner`] that just keeps the private keys in memory.
}
/// A simple implementation of [`WriteableEcdsaChannelSigner`] that just keeps the private keys in memory.
@@
-1376,12
+1382,12
@@
impl SignerProvider for KeysManager {
InMemorySigner::read(&mut io::Cursor::new(reader), self)
}
InMemorySigner::read(&mut io::Cursor::new(reader), self)
}
- fn get_destination_script(&self) ->
Script
{
-
self.destination_script.clone(
)
+ fn get_destination_script(&self) ->
Result<Script, ()>
{
+
Ok(self.destination_script.clone()
)
}
}
- fn get_shutdown_scriptpubkey(&self) ->
ShutdownScript
{
-
ShutdownScript::new_p2wpkh_from_pubkey(self.shutdown_pubkey.clone(
))
+ fn get_shutdown_scriptpubkey(&self) ->
Result<ShutdownScript, ()>
{
+
Ok(ShutdownScript::new_p2wpkh_from_pubkey(self.shutdown_pubkey.clone()
))
}
}
}
}
@@
-1471,11
+1477,11
@@
impl SignerProvider for PhantomKeysManager {
self.inner.read_chan_signer(reader)
}
self.inner.read_chan_signer(reader)
}
- fn get_destination_script(&self) ->
Script
{
+ fn get_destination_script(&self) ->
Result<Script, ()>
{
self.inner.get_destination_script()
}
self.inner.get_destination_script()
}
- fn get_shutdown_scriptpubkey(&self) ->
ShutdownScript
{
+ fn get_shutdown_scriptpubkey(&self) ->
Result<ShutdownScript, ()>
{
self.inner.get_shutdown_scriptpubkey()
}
}
self.inner.get_shutdown_scriptpubkey()
}
}