ZcashLightClientKit/docs/rtd/Protocols/LightWalletService.html

527 lines
27 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<title>LightWalletService Protocol Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset='utf-8'>
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Protocol/LightWalletService" class="dashAnchor"></a>
<a title="LightWalletService Protocol Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">ZcashLightClientKit Docs</a> (71% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html">ZcashLightClientKit Reference</a>
<img id="carat" src="../img/carat.png" />
LightWalletService Protocol Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Classes/CompactBlockProcessor.html">CompactBlockProcessor</a>
</li>
<li class="nav-group-task">
<a href="../Classes/CompactBlockProcessor/Configuration.html"> Configuration</a>
</li>
<li class="nav-group-task">
<a href="../Classes/CompactBlockProcessor/State.html"> State</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Initializer.html">Initializer</a>
</li>
<li class="nav-group-task">
<a href="../Classes/LightWalletGRPCService.html">LightWalletGRPCService</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SDKSynchronizer.html">SDKSynchronizer</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SDKSynchronizer/NotificationKeys.html"> NotificationKeys</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ZcashSDK.html">ZcashSDK</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Enums/CompactBlockProcessorError.html">CompactBlockProcessorError</a>
</li>
<li class="nav-group-task">
<a href="../Enums/InitializerError.html">InitializerError</a>
</li>
<li class="nav-group-task">
<a href="../Enums/LightWalletServiceError.html">LightWalletServiceError</a>
</li>
<li class="nav-group-task">
<a href="../Enums/ResourceProviderError.html">ResourceProviderError</a>
</li>
<li class="nav-group-task">
<a href="../Enums/RustWeldingError.html">RustWeldingError</a>
</li>
<li class="nav-group-task">
<a href="../Enums/Status.html">Status</a>
</li>
<li class="nav-group-task">
<a href="../Enums/SynchronizerError.html">SynchronizerError</a>
</li>
<li class="nav-group-task">
<a href="../Enums/TransactionEncoderError.html">TransactionEncoderError</a>
</li>
<li class="nav-group-task">
<a href="../Enums/TransactionKind.html">TransactionKind</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Array.html">Array</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/BlockHeight.html">BlockHeight</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Collection.html">Collection</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/CompactBlockRange.html">CompactBlockRange</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Data/HexEncodingOptions.html"> HexEncodingOptions</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Notification.html">Notification</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Notification/Name.html"> Name</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/String.html">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Protocols/AbstractTransaction.html">AbstractTransaction</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/CompactBlockDownloading.html">CompactBlockDownloading</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/ConfirmedTransactionEntity.html">ConfirmedTransactionEntity</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/LightWalletService.html">LightWalletService</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/LightWalletServiceResponse.html">LightWalletServiceResponse</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/Logger.html">Logger</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/MinedTransactionEntity.html">MinedTransactionEntity</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/PaginatedTransactionRepository.html">PaginatedTransactionRepository</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/PendingTransactionEntity.html">PendingTransactionEntity</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/RawIdentifiable.html">RawIdentifiable</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/ResourceProvider.html">ResourceProvider</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/SeedProvider.html">SeedProvider</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/SignedTransactionEntity.html">SignedTransactionEntity</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/Synchronizer.html">Synchronizer</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/TransactionEntity.html">TransactionEntity</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/ZcashRustBackendWelding.html">ZcashRustBackendWelding</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/CompactBlockProcessorNotificationKey.html">CompactBlockProcessorNotificationKey</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DefaultResourceProvider.html">DefaultResourceProvider</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LightWalletEndpoint.html">LightWalletEndpoint</a>
</li>
<li class="nav-group-task">
<a href="../Structs/WalletBirthday.html">WalletBirthday</a>
</li>
<li class="nav-group-task">
<a href="../Structs/ZcashCompactBlock.html">ZcashCompactBlock</a>
</li>
<li class="nav-group-task">
<a href="../Structs.html#/s:19ZcashLightClientKit0A27RustBackendWeldingConstantsV">ZcashRustBackendWeldingConstants</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Typealiases.html#/s:19ZcashLightClientKit11BlockHeighta">BlockHeight</a>
</li>
<li class="nav-group-task">
<a href="../Typealiases.html#/s:19ZcashLightClientKit17CompactBlockRangea">CompactBlockRange</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>LightWalletService</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">LightWalletService</span></code></pre>
</div>
</div>
<p>Undocumented</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:19ZcashLightClientKit0B13WalletServiceP17latestBlockHeight6resultyys6ResultOySiAA0beF5ErrorOGc_tF"></a>
<a name="//apple_ref/swift/Method/latestBlockHeight(result:)" class="dashAnchor"></a>
<a class="token" href="#/s:19ZcashLightClientKit0B13WalletServiceP17latestBlockHeight6resultyys6ResultOySiAA0beF5ErrorOGc_tF">latestBlockHeight(result:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Return the latest block height known to the service.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">latestBlockHeight</span><span class="p">(</span><span class="nv">result</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(</span><span class="kt">Result</span><span class="o">&lt;</span><span class="kt"><a href="../Typealiases.html#/s:19ZcashLightClientKit11BlockHeighta">BlockHeight</a></span><span class="p">,</span> <span class="kt"><a href="../Enums/LightWalletServiceError.html">LightWalletServiceError</a></span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>result</em>
</code>
</td>
<td>
<div>
<p>a result containing the height or an Error</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:19ZcashLightClientKit0B13WalletServiceP17latestBlockHeightSiyKF"></a>
<a name="//apple_ref/swift/Method/latestBlockHeight()" class="dashAnchor"></a>
<a class="token" href="#/s:19ZcashLightClientKit0B13WalletServiceP17latestBlockHeightSiyKF">latestBlockHeight()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Return the latest block height known to the service.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">latestBlockHeight</span><span class="p">()</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Typealiases.html#/s:19ZcashLightClientKit11BlockHeighta">BlockHeight</a></span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>result</em>
</code>
</td>
<td>
<div>
<p>a result containing the height or an Error</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:19ZcashLightClientKit0B13WalletServiceP10blockRange_6resultySNySiG_ys6ResultOySayAA0A12CompactBlockVGAA0beF5ErrorOGctF"></a>
<a name="//apple_ref/swift/Method/blockRange(_:result:)" class="dashAnchor"></a>
<a class="token" href="#/s:19ZcashLightClientKit0B13WalletServiceP10blockRange_6resultySNySiG_ys6ResultOySayAA0A12CompactBlockVGAA0beF5ErrorOGctF">blockRange(_:result:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Return the given range of blocks.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">blockRange</span><span class="p">(</span><span class="n">_</span> <span class="nv">range</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:19ZcashLightClientKit17CompactBlockRangea">CompactBlockRange</a></span><span class="p">,</span> <span class="nv">result</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(</span><span class="kt">Result</span><span class="o">&lt;</span><span class="p">[</span><span class="kt"><a href="../Structs/ZcashCompactBlock.html">ZcashCompactBlock</a></span><span class="p">],</span> <span class="kt"><a href="../Enums/LightWalletServiceError.html">LightWalletServiceError</a></span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>range</em>
</code>
</td>
<td>
<div>
<p>the inclusive range to fetch.
For instance if 1..5 is given, then every block in that will be fetched, including 1 and 5.
Non blocking</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:19ZcashLightClientKit0B13WalletServiceP10blockRangeySayAA0A12CompactBlockVGSNySiGKF"></a>
<a name="//apple_ref/swift/Method/blockRange(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:19ZcashLightClientKit0B13WalletServiceP10blockRangeySayAA0A12CompactBlockVGSNySiGKF">blockRange(_:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<pre class="highlight swift"><code> <span class="kt">Return</span> <span class="n">the</span> <span class="n">given</span> <span class="n">range</span> <span class="n">of</span> <span class="n">blocks</span><span class="o">.</span>
<span class="o">-</span> <span class="kt">Parameter</span> <span class="nv">range</span><span class="p">:</span> <span class="n">the</span> <span class="n">inclusive</span> <span class="n">range</span> <span class="n">to</span> <span class="n">fetch</span><span class="o">.</span>
</code></pre>
<p>For instance if 1..5 is given, then every block in that will be fetched, including 1 and 5.
blocking</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">blockRange</span><span class="p">(</span><span class="n">_</span> <span class="nv">range</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:19ZcashLightClientKit17CompactBlockRangea">CompactBlockRange</a></span><span class="p">)</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="p">[</span><span class="kt"><a href="../Structs/ZcashCompactBlock.html">ZcashCompactBlock</a></span><span class="p">]</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:19ZcashLightClientKit0B13WalletServiceP6submit16spendTransaction6resulty10Foundation4DataV_ys6ResultOyAA0beF8Response_pAA0beF5ErrorOGctF"></a>
<a name="//apple_ref/swift/Method/submit(spendTransaction:result:)" class="dashAnchor"></a>
<a class="token" href="#/s:19ZcashLightClientKit0B13WalletServiceP6submit16spendTransaction6resulty10Foundation4DataV_ys6ResultOyAA0beF8Response_pAA0beF5ErrorOGctF">submit(spendTransaction:result:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Submits a raw transaction over lightwalletd. Non-Blocking</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">submit</span><span class="p">(</span><span class="nv">spendTransaction</span><span class="p">:</span> <span class="kt">Data</span><span class="p">,</span> <span class="nv">result</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(</span><span class="kt">Result</span><span class="o">&lt;</span><span class="kt"><a href="../Protocols/LightWalletServiceResponse.html">LightWalletServiceResponse</a></span><span class="p">,</span> <span class="kt"><a href="../Enums/LightWalletServiceError.html">LightWalletServiceError</a></span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>spendTransaction</em>
</code>
</td>
<td>
<div>
<p>data representing the transaction to be sent</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>result</em>
</code>
</td>
<td>
<div>
<p>escaping closure that takes a result containing either LightWalletServiceResponse or LightWalletServiceError</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:19ZcashLightClientKit0B13WalletServiceP6submit16spendTransactionAA0beF8Response_p10Foundation4DataV_tKF"></a>
<a name="//apple_ref/swift/Method/submit(spendTransaction:)" class="dashAnchor"></a>
<a class="token" href="#/s:19ZcashLightClientKit0B13WalletServiceP6submit16spendTransactionAA0beF8Response_p10Foundation4DataV_tKF">submit(spendTransaction:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Submits a raw transaction over lightwalletd. Blocking</p>
<div class="aside aside-throws">
<p class="aside-title">Throws</p>
LightWalletServiceError
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">submit</span><span class="p">(</span><span class="nv">spendTransaction</span><span class="p">:</span> <span class="kt">Data</span><span class="p">)</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Protocols/LightWalletServiceResponse.html">LightWalletServiceResponse</a></span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>spendTransaction</em>
</code>
</td>
<td>
<div>
<p>data representing the transaction to be sent</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>LightWalletServiceResponse</p>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2020 <a class="link" href="https://github.com/zcash/ZcashLightClientKit" target="_blank" rel="external">Francisco Gindre and Jack Grigg</a>. All rights reserved. (Last updated: 2020-04-06)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.1</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>