bitcoin-s/api/org/bitcoins/testkit/chain/SyncUtil.html

10 lines
82 KiB
HTML
Raw Normal View History

<!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">&lt;</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_.org" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="org" class="anchorToMember"></a><a id="org:org" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/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">org</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="indented2 " name="org.bitcoins" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="bitcoins" class="anchorToMember"></a><a id="bitcoins:bitcoins" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/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">bitcoins</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="org" id="org" class="extype">org</a></dd></dl></div></li><li class="indented3 " name="org.bitcoins.testkit" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="testkit" class="anchorToMember"></a><a id="testkit:testkit" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/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">testkit</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../index.html" name="org.bitcoins" id="org.bitcoins" class="extype">bitcoins</a></dd></dl></div></li><li class="indented4 " name="org.bitcoins.testkit.chain" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="chain" class="anchorToMember"></a><a id="chain:chain" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/chain/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span c
since we know a bitcoind v19 node has block filter capability
</p></div></div></li><li class="indented0 " name="org.bitcoins.testkit.chain.SyncUtil#syncBitcoindWithChainHandler" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="syncBitcoindWithChainHandler(bitcoindWithChainHandler:org.bitcoins.testkit.chain.fixture.BitcoindChainHandlerViaRpc)(implicitec:scala.concurrent.ExecutionContext):scala.concurrent.Future[org.bitcoins.testkit.chain.fixture.BitcoindBaseVersionChainHandlerViaRpc]" class="anchorToMember"></a><a id="syncBitcoindWithChainHandler(BitcoindChainHandlerViaRpc)(ExecutionContext):Future[BitcoindBaseVersionChainHandlerViaRpc]" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/chain/SyncUtil.html#syncBitcoindWithChainHandler(bitcoindWithChainHandler:org.bitcoins.testkit.chain.fixture.BitcoindChainHandlerViaRpc)(implicitec:scala.concurrent.ExecutionContext):scala.concurrent.Future[org.bitcoins.testkit.chain.fixture.BitcoindBaseVersionChainHandlerViaRpc]" 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="symbol"><span class="name">syncBitcoindWithChainHandler</span><span class="params">(<span name="bitcoindWithChainHandler">bitcoindWithChainHandler: <a href="fixture/BitcoindChainHandlerViaRpc.html" name="org.bitcoins.testkit.chain.fixture.BitcoindChainHandlerViaRpc" id="org.bitcoins.testkit.chain.fixture.BitcoindChainHandlerViaRpc" class="extype">BitcoindChainHandlerViaRpc</a></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="ec">ec: <a href="https://www.scala-lang.org/api/2.13.8/scala/concurrent/ExecutionContext.html#scala.concurrent.ExecutionContext" name="scala.concurrent.ExecutionContext" id="scala.concurrent.ExecutionContext" class="extype">ExecutionContext</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.8/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="fixture/BitcoindBaseVersionChainHandlerViaRpc.html" name="org.bitcoins.testkit.chain.fixture.BitcoindBaseVersionChainHandlerViaRpc" id="org.bitcoins.testkit.chain.fixture.BitcoindBaseVersionChainHandlerViaRpc" class="extype">BitcoindBaseVersionChainHandlerViaRpc</a>]</span></span><p class="shortcomment cmt">Syncs the given chain handler to the given bitcoind node.</p><div class="fullcomment"><div class="comment cmt"><p>Syncs the given chain handler to the given bitcoind node.
This does NOT sync this like block filters, as we cannot
determine if the bitcoind version passed to us has support for block filters
</p></div></div></li><li class="indented0 " name="org.bitcoins.testkit.chain.SyncUtil#syncWalletFullBlocks" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="syncWalletFullBlocks(wallet:org.bitcoins.wallet.Wallet,bitcoind:org.bitcoins.rpc.client.common.BitcoindRpcClient)(implicitec:scala.concurrent.ExecutionContext):scala.concurrent.Future[org.bitcoins.wallet.Wallet]" class="anchorToMember"></a><a id="syncWalletFullBlocks(Wallet,BitcoindRpcClient)(ExecutionContext):Future[Wallet]" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/chain/SyncUtil.html#syncWalletFullBlocks(wallet:org.bitcoins.wallet.Wallet,bitcoind:org.bitcoins.rpc.client.common.BitcoindRpcClient)(implicitec:scala.concurrent.ExecutionContext):scala.concurrent.Future[org.bitcoins.wallet.Wallet]" 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="symbol"><span class="name">syncWalletFullBlocks</span><span class="params">(<span name="wallet">wallet: <a href="../../wallet/Wallet.html" name="org.bitcoins.wallet.Wallet" id="org.bitcoins.wallet.Wallet" class="extype">Wallet</a></span>, <span name="bitcoind">bitcoind: <a href="../../rpc/client/common/BitcoindRpcClient.html" name="org.bitcoins.rpc.client.common.BitcoindRpcClient" id="org.bitcoins.rpc.client.common.BitcoindRpcClient" class="extype">BitcoindRpcClient</a></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="ec">ec: <a href="https://www.scala-lang.org/api/2.13.8/scala/concurrent/ExecutionContext.html#scala.concurrent.ExecutionContext" name="scala.concurrent.ExecutionContext" id="scala.concurrent.ExecutionContext" class="extype">ExecutionContext</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.8/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="../../wallet/Wallet.html" name="org.bitcoins.wallet.Wallet" id="org.bitcoins.wallet.Wallet" class="extype">Wallet</a>]</span></span><p class="shortcomment cmt">Syncs a wallet against bitcoind by retrieving full blocks and then calling
<span name="Wallet.processBlock()" class="extype">Wallet.processBlock()</span>
</p></li><li class="indented0 " name="scala.AnyRef#synchronized" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="synchronized[T0](x$1:=&gt;T0):T0" class="anchorToMember"></a><a id="synchronized[T0](=&gt;T0):T0" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/chain/SyncUtil.html#synchronized[T0](x$1:=&gt;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">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: =&gt; <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span>)</span><span class="result">: <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#toString" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="toString():String" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/chain/SyncUtil.html#toString():String" 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="symbol"><span class="name">toString</span><span class="params">()</span><span class="result">: <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java/lang/String.html#java.lang.String" name="java.lang.String" id="java.lang.String" class="extype">String</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="grizzled.slf4j.Logging#trace" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="trace(mkr:org.slf4j.Marker,msg:=&gt;Any,t:=&gt;Throwable):Unit" class="anchorToMember"></a><a id="trace(Marker,=&gt;Any,=&gt;Throwable):Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/chain/SyncUtil.html#trace(mkr:org.slf4j.Marker,msg:=&gt;Any,t:=&gt;Throwable):Unit" 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="symbol"><span class="name">trace</span><span class="params">(<span name="mkr">mkr: <a href="https://javadoc.io/page/org.slf4j/slf4j-api/1.7.30/org/slf4j/Marker.html#org.slf4j.Marker" name="org.slf4j.Marker" id="org.slf4j.Marker" class="extype">Marker</a></span>, <span name="msg">msg: =&gt; <a href="https://www.scala-lang.org/api/2.13.8/scala/Any.html#scala.Any" name="scala.Any" id="scala.Any" class="extype">Any</a></span>, <span name="t">t: =&gt; <a href="../../../../scala/index.html#Throwable=Throwable" name="scala.Throwable" id="scala.Throwable" class="extmbr">Throwable</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.8/scala/Unit.html#scala.Unit" name="scala.Unit" id="scala.Unit" class="extype">Unit</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd>Logging</dd></dl></div></li><li class="indented0 " name="grizzled.slf4j.Logging#trace" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="trace(msg:=&gt;Any,t:=&gt;Throwable):Unit" class="anchorToMember"></a><a id="trace(=&gt;Any,=&gt;Throwable):Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/chain/SyncUtil.html#trace(msg:=&gt;Any,t:=&gt;Throwable):Unit" 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="symbol"><span class="name">trace</span><span class="params">(<span name="msg">msg: =&gt; <a href="https://