mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-03-21 22:42:47 +01:00
42 lines
38 KiB
HTML
42 lines
38 KiB
HTML
|
<!DOCTYPE html ><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/><title></title><meta content="" name="description"/><meta content="" name="keywords"/><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><link href="../lib/index.css" media="screen" type="text/css" rel="stylesheet"/><link href="../lib/template.css" media="screen" type="text/css" rel="stylesheet"/><link href="../lib/print.css" media="print" type="text/css" rel="stylesheet"/><link href="../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css"/><script type="text/javascript" src="../lib/jquery.min.js"></script><script type="text/javascript" src="../lib/index.js"></script><script type="text/javascript" src="../index.js"></script><script type="text/javascript" src="../lib/scheduler.js"></script><script type="text/javascript" src="../lib/template.js"></script><script type="text/javascript">/* this variable can be used by the JS to determine the path to the root document */
|
||
|
var toRoot = '../';</script></head><body><div id="search"><span id="doc-title"><span id="doc-version"></span></span> <span class="close-results"><span class="left"><</span> Back</span><div id="textfilter"><span class="input"><input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/"/><i class="clear material-icons"></i><i id="search-icon" class="material-icons"></i></span></div></div><div id="search-results"><div id="search-progress"><div id="progress-fill"></div></div><div id="results-content"><div id="entity-results"></div><div id="member-results"></div></div></div><div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;"><div id="content-container" style="-webkit-overflow-scrolling: touch;"><div id="subpackage-spacer"><div id="packages"><h1>Packages</h1><ul><li class="indented0 " name="_root_.root" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="_root_" class="anchorToMember"></a><a id="root:_root_" class="anchorToMember"></a> <span class="permalink"><a href="../index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../index.html" title=""><span class="name">root</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented1 " name="_root_.signrpc" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="signrpc" class="anchorToMember"></a><a id="signrpc:signrpc" class="anchorToMember"></a> <span class="permalink"><a href="../signrpc/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="index.html" title=""><span class="name">signrpc</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="current-entities indented1"><span class="separator"></span> <a href="DefaultSignerClient.html" title="" class="class"></a><a href="DefaultSignerClient.html" title="">DefaultSignerClient</a></li><li class="current-entities indented1"><a href="InputScript$.html" title="" class="object"></a> <a href="InputScript.html" title="" class="class"></a><a href="InputScript.html" title="">InputScript</a></li><li class="current-entities indented1"><a href="InputScriptResp$.html" title="" class="object"></a> <a href="InputScriptResp.html" title="" class="class"></a><a href="InputScriptResp.html" title="">InputScriptResp</a></li><li class="current-entities indented1"><a href="KeyDescriptor$.html" title="" class="object"></a> <a href="KeyDescriptor.html" title="" class="class"></a><a href="KeyDescriptor.html" title="">KeyDescriptor</a></li><li class="current-entities indented1"><a href="KeyLocator$.html" title="" class="object"></a> <a href="KeyLocator.html" title="" class="class"></a><a href="KeyLocator.html" title="">KeyLocator</a></li><li class="current-entities indented1"><a href="SharedKeyRequest$.html" title="" class="object"></a> <a href="SharedKeyRequest.html" title="" class="class"></a><a href="SharedKeyRequest.html" title="">SharedKeyRequest</a></li><li class="current-entities indented1"><a href="SharedKeyResponse$.html" title="" class="object"></a> <a href="SharedKeyResponse.html" title="" class="class"></a><a href="SharedKeyResponse.html" title="">SharedKeyResponse</a></li><li class="current-entities indented1"><a href="SignDescriptor$.html" title="" class="object"></a> <a href="SignDescriptor.html" title="" class="class"></a><a href="SignDescriptor.html" title="">SignDescriptor</a></li><li class="current-entities indented1"><a href="SignMessageReq$.html" title="" class="object"></a> <a href="SignMessageReq.html" title="" class="class"></
|
||
|
daemon's wallet.
|
||
|
</p></div><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><a href="../scala/index.html#AnyRef=Object" name="scala.AnyRef" id="scala.AnyRef" class="extmbr">AnyRef</a>, <a href="https://www.scala-lang.org/api/2.13.5/scala/Any.html#scala.Any" name="scala.Any" id="scala.Any" class="extype">Any</a></div></div></div><div class="toggleContainer"><div class="toggle block"><span>Known Subclasses</span><div class="subClasses hiddenContent"><a href="DefaultSignerClient.html" name="signrpc.DefaultSignerClient" id="signrpc.DefaultSignerClient" class="extype">DefaultSignerClient</a>, <a href="SignerClient.html" name="signrpc.SignerClient" id="signrpc.SignerClient" class="extype">SignerClient</a></div></div></div></div><div id="mbrsel"><div class="toggle"></div><div id="memberfilter"><i class="material-icons arrow"></i><span class="input"><input placeholder="Filter all members" id="mbrsel-input" type="text" accesskey="/"/></span><i class="clear material-icons"></i></div><div id="filterby"><div id="order"><span class="filtertype">Ordering</span><ol><li class="alpha in"><span>Alphabetic</span></li><li class="inherit out"><span>By Inheritance</span></li></ol></div><div class="ancestors"><span class="filtertype">Inherited<br/></span><ol id="linearization"><li class="in" name="signrpc.Signer"><span>Signer</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li></ol></div><div class="ancestors"><span class="filtertype"></span><ol><li class="hideall out"><span>Hide All</span></li><li class="showall in"><span>Show All</span></li></ol></div><div id="visbl"><span class="filtertype">Visibility</span><ol><li class="public in"><span>Public</span></li><li class="protected out"><span>Protected</span></li></ol></div></div></div><div id="template"><div id="allMembers"><div class="values members"><h3>Abstract Value Members</h3><ol><li class="indented0 " name="signrpc.Signer#computeInputScript" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="computeInputScript(in:signrpc.SignReq):scala.concurrent.Future[signrpc.InputScriptResp]" class="anchorToMember"></a><a id="computeInputScript(SignReq):Future[InputScriptResp]" class="anchorToMember"></a> <span class="permalink"><a href="../signrpc/Signer.html#computeInputScript(in:signrpc.SignReq):scala.concurrent.Future[signrpc.InputScriptResp]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">computeInputScript</span><span class="params">(<span name="in">in: <a href="SignReq.html" name="signrpc.SignReq" id="signrpc.SignReq" class="extype">SignReq</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="InputScriptResp.html" name="signrpc.InputScriptResp" id="signrpc.InputScriptResp" class="extype">InputScriptResp</a>]</span></span><p class="shortcomment cmt">ComputeInputScript generates a complete InputIndex for the passed
|
||
|
transaction with the signature as defined within the passed SignDescriptor.</p><div class="fullcomment"><div class="comment cmt"><p>ComputeInputScript generates a complete InputIndex for the passed
|
||
|
transaction with the signature as defined within the passed SignDescriptor.
|
||
|
This method should be capable of generating the proper input script for
|
||
|
both regular p2wkh output and p2wkh outputs nested within a regular p2sh
|
||
|
output.
|
||
|
Note that when using this method to sign inputs belonging to the wallet,
|
||
|
the only items of the SignDescriptor that need to be populated are pkScript
|
||
|
in the TxOut field, the value in that same field, and finally the input
|
||
|
index.
|
||
|
</p></div></div></li><li class="indented0 " name="signrpc.Signer#deriveSharedKey" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="deriveSharedKey(in:signrpc.SharedKeyRequest):scala.concurrent.Future[signrpc.SharedKeyResponse]" class="anchorToMember"></a><a id="deriveSharedKey(SharedKeyRequest):Future[SharedKeyResponse]" class="anchorToMember"></a> <span class="permalink"><a href="../signrpc/Signer.html#deriveSharedKey(in:signrpc.SharedKeyRequest):scala.concurrent.Future[signrpc.SharedKeyResponse]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">deriveSharedKey</span><span class="params">(<span name="in">in: <a href="SharedKeyRequest.html" name="signrpc.SharedKeyRequest" id="signrpc.SharedKeyRequest" class="extype">SharedKeyRequest</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="SharedKeyResponse.html" name="signrpc.SharedKeyResponse" id="signrpc.SharedKeyResponse" class="extype">SharedKeyResponse</a>]</span></span><p class="shortcomment cmt">DeriveSharedKey returns a shared secret key by performing Diffie-Hellman key
|
||
|
derivation between the ephemeral public key in the request and the node's
|
||
|
key specified in the key_desc parameter.</p><div class="fullcomment"><div class="comment cmt"><p>DeriveSharedKey returns a shared secret key by performing Diffie-Hellman key
|
||
|
derivation between the ephemeral public key in the request and the node's
|
||
|
key specified in the key_desc parameter. Either a key locator or a raw
|
||
|
public key is expected in the key_desc, if neither is supplied, defaults to
|
||
|
the node's identity private key:
|
||
|
P_shared = privKeyNode * ephemeralPubkey
|
||
|
The resulting shared public key is serialized in the compressed format and
|
||
|
hashed with sha256, resulting in the final key length of 256bit.
|
||
|
</p></div></div></li><li class="indented0 " name="signrpc.Signer#signMessage" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="signMessage(in:signrpc.SignMessageReq):scala.concurrent.Future[signrpc.SignMessageResp]" class="anchorToMember"></a><a id="signMessage(SignMessageReq):Future[SignMessageResp]" class="anchorToMember"></a> <span class="permalink"><a href="../signrpc/Signer.html#signMessage(in:signrpc.SignMessageReq):scala.concurrent.Future[signrpc.SignMessageResp]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">signMessage</span><span class="params">(<span name="in">in: <a href="SignMessageReq.html" name="signrpc.SignMessageReq" id="signrpc.SignMessageReq" class="extype">SignMessageReq</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="SignMessageResp.html" name="signrpc.SignMessageResp" id="signrpc.SignMessageResp" class="extype">SignMessageResp</a>]</span></span><p class="shortcomment cmt">SignMessage signs a message with the key specified in the key locator.</p><div class="fullcomment"><div class="comment cmt"><p>SignMessage signs a message with the key specified in the key locator. The
|
||
|
returned signature is fixed-size LN wire format encoded.
|
||
|
The main difference to SignMessage in the main RPC is that a specific key is
|
||
|
used to sign the message instead of the node identity private key.
|
||
|
</p></div></div></li><li class="indented0 " name="signrpc.Signer#signOutputRaw" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="signOutputRaw(in:signrpc.SignReq):scala.concurrent.Future[signrpc.SignResp]" class="anchorToMember"></a><a id="signOutputRaw(SignReq):Future[SignResp]" class="anchorToMember"></a> <span class="permalink"><a href="../signrpc/Signer.html#signOutputRaw(in:signrpc.SignReq):scala.concurrent.Future[signrpc.SignResp]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">signOutputRaw</span><span class="params">(<span name="in">in: <a href="SignReq.html" name="signrpc.SignReq" id="signrpc.SignReq" class="extype">SignReq</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="SignResp.html" name="signrpc.SignResp" id="signrpc.SignResp" class="extype">SignResp</a>]</span></span><p class="shortcomment cmt">SignOutputRaw is a method that can be used to generated a signature for a
|
||
|
set of inputs/outputs to a transaction.</p><div class="fullcomment"><div class="comment cmt"><p>SignOutputRaw is a method that can be used to generated a signature for a
|
||
|
set of inputs/outputs to a transaction. Each request specifies details
|
||
|
concerning how the outputs should be signed, which keys they should be
|
||
|
signed with, and also any optional tweaks. The return value is a fixed
|
||
|
64-byte signature (the same format as we use on the wire in Lightning).
|
||
|
If we are unable to sign using the specified keys, then an error will be
|
||
|
returned.
|
||
|
</p></div></div></li><li class="indented0 " name="signrpc.Signer#verifyMessage" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="verifyMessage(in:signrpc.VerifyMessageReq):scala.concurrent.Future[signrpc.VerifyMessageResp]" class="anchorToMember"></a><a id="verifyMessage(VerifyMessageReq):Future[VerifyMessageResp]" class="anchorToMember"></a> <span class="permalink"><a href="../signrpc/Signer.html#verifyMessage(in:signrpc.VerifyMessageReq):scala.concurrent.Future[signrpc.VerifyMessageResp]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">verifyMessage</span><span class="params">(<span name="in">in: <a href="VerifyMessageReq.html" name="signrpc.VerifyMessageReq" id="signrpc.VerifyMessageReq" class="extype">VerifyMessageReq</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="VerifyMessageResp.html" name="signrpc.VerifyMessageResp" id="signrpc.VerifyMessageResp" class="extype">VerifyMessageResp</a>]</span></span><p class="shortcomment cmt">VerifyMessage verifies a signature over a message using the public key
|
||
|
provided.</p><div class="fullcomment"><div class="comment cmt"><p>VerifyMessage verifies a signature over a message using the public key
|
||
|
provided. The signature must be fixed-size LN wire format encoded.
|
||
|
The main difference to VerifyMessage in the main RPC is that the public key
|
||
|
used to sign the message does not have to be a node known to the network.
|
||
|
</p></div></div></li></ol></div><div class="values members"><h3>Concrete Value Members</h3><ol><li class="indented0 " name="scala.AnyRef#!=" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="!=(x$1:Any):Boolean" class="anchorToMember"></a><a id="!=(Any):Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../signrpc/Signer.html#!=(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $bang$eq">!=</span><span class="params">(<span name="arg0">arg0: <a href="https://www.scala-lang.org/api/2.13.5/scala/Any.html#scala.Any" name="scala.Any" id="scala.Any" class="extype">Any</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Boolean.html#scala.Boolean" name="scala.Boolean" id="scala.Boolean" class="extype">Boolean</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef###" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="##:Int" class="anchorToMember"></a> <span class="permalink"><a href="../signrpc/Signer.html###:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $hash$hash">##</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Int.html#scala.Int" name="scala.Int" id="scala.Int" class="extype">Int</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#==" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="==(x$1:Any):Boolean" class="anchorToMember"></a><a id="==(Any):Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../signrpc/Signer.html#==(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $eq$eq">==</span><span class="params">(<span name="arg0">arg0: <a href="https://www.scala-lang.org/api/2.13.5/scala/Any.html#scala.Any" name="scala.Any" id="scala.Any" class="extype">Any</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Boolean.html#scala.Boolean" name="scala.Boolean" id="scala.Boolean" class="extype">Boolean</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.Any#asInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="asInstanceOf[T0]:T0" class="anchorToMember"></a> <span class="permalink"><a href="../signrpc/Signer.html#asInstanceOf[T0]:T0" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Any.asInstanceOf.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#clone" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="clone():Object" class="anchorToMember"></a><a id="clone():AnyRef" class="anchorToMember"></a> <span class="permalink"><a href="../signrpc/Signer.html#clone():Object" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symb
|