Package org.ldk.structs
Class NodeSigner
- java.lang.Object
-
- org.ldk.structs.NodeSigner
-
public class NodeSigner extends Object
A trait that can handle cryptographic operations at the scope level of a node.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
NodeSigner.NodeSignerInterface
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
destroy()
Destroys the object, freeing associated resources.Result_SharedSecretNoneZ
ecdh(Recipient recipient, byte[] other_key, Option_ScalarZ tweak)
Gets the ECDH shared secret of our node secret and `other_key`, multiplying by `tweak` if one is provided.protected void
finalize()
byte[]
get_inbound_payment_key_material()
Get secret key material as bytes for use in encrypting and decrypting inbound payment data.Result_PublicKeyNoneZ
get_node_id(Recipient recipient)
Get node id based on the provided [`Recipient`].static NodeSigner
new_impl(NodeSigner.NodeSignerInterface arg)
Result_SignatureNoneZ
sign_gossip_message(UnsignedGossipMessage msg)
Sign a gossip message.Result_RecoverableSignatureNoneZ
sign_invoice(byte[] hrp_bytes, UInt5[] invoice_data, Recipient recipient)
Sign an invoice.
-
-
-
Method Detail
-
finalize
protected void finalize() throws Throwable
-
destroy
public void destroy()
Destroys the object, freeing associated resources. After this call, any access to this object may result in a SEGFAULT or worse. You should generally NEVER call this method. You should let the garbage collector do this for you when it finalizes objects. However, it may be useful for types which represent locks and should be closed immediately to avoid holding locks until the GC runs.
-
new_impl
public static NodeSigner new_impl(NodeSigner.NodeSignerInterface arg)
-
get_inbound_payment_key_material
public byte[] get_inbound_payment_key_material()
Get secret key material as bytes for use in encrypting and decrypting inbound payment data. If the implementor of this trait supports [phantom node payments], then every node that is intended to be included in the phantom invoice route hints must return the same value from this method. This method must return the same value each time it is called. [phantom node payments]: PhantomKeysManager
-
get_node_id
public Result_PublicKeyNoneZ get_node_id(Recipient recipient)
Get node id based on the provided [`Recipient`]. This method must return the same value each time it is called with a given [`Recipient`] parameter. Errors if the [`Recipient`] variant is not supported by the implementation.
-
ecdh
public Result_SharedSecretNoneZ ecdh(Recipient recipient, byte[] other_key, Option_ScalarZ tweak)
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. Note that if this fails while attempting to forward an HTLC, LDK will panic. The error should be resolved to allow LDK to resume forwarding HTLCs. Errors if the [`Recipient`] variant is not supported by the implementation.
-
sign_invoice
public Result_RecoverableSignatureNoneZ sign_invoice(byte[] hrp_bytes, UInt5[] invoice_data, Recipient recipient)
Sign an invoice. By parameterizing by the raw invoice bytes 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. The `hrp_bytes` are ASCII bytes, while the `invoice_data` is base32. The secret key used to sign the invoice is dependent on the [`Recipient`]. Errors if the [`Recipient`] variant is not supported by the implementation.
-
sign_gossip_message
public Result_SignatureNoneZ sign_gossip_message(UnsignedGossipMessage msg)
Sign a gossip message. Note that if this fails, LDK may panic and the message will not be broadcast to the network or a possible channel counterparty. If LDK panics, the error should be resolved to allow the message to be broadcast, as otherwise it may prevent one from receiving funds over the corresponding channel.
-
-