developers/zcash-zf-dag.html

921 lines
67 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="781pt" height="2910pt"
viewBox="0.00 0.00 781.00 2910.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2906)">
<polygon fill="white" stroke="transparent" points="-4,4 -4,-2906 777,-2906 777,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="blue" points="0,0 0,-164 247,-164 247,0 0,0"/>
<text text-anchor="middle" x="123.5" y="-148.8" font-family="Times,serif" font-size="14.00">Epic: NU6</text>
</g>
<!-- ZcashFoundation/zebra#7958 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#7958</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7958" xlink:title="ZcashFoundation/zebra#7958&#10;Add NU6 network upgrade&#10;variant" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-132.5 8,-132.5 8,-79.5 239,-79.5 239,-132.5"/>
<text text-anchor="middle" x="123.5" y="-117.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7958</text>
<text text-anchor="middle" x="123.5" y="-102.3" font-family="Times,serif" font-size="14.00">Add NU6 network upgrade</text>
<text text-anchor="middle" x="123.5" y="-87.3" font-family="Times,serif" font-size="14.00">variant</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7959 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#7959</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7959" xlink:title="ZcashFoundation/zebra#7959&#10;Add a v6 transaction&#10;format with no changes" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-61.5 8,-61.5 8,-8.5 239,-8.5 239,-61.5"/>
<text text-anchor="middle" x="123.5" y="-46.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7959</text>
<text text-anchor="middle" x="123.5" y="-31.3" font-family="Times,serif" font-size="14.00">Add a v6 transaction</text>
<text text-anchor="middle" x="123.5" y="-16.3" font-family="Times,serif" font-size="14.00">format with no changes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7968 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#7968</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7968" xlink:title="ZcashFoundation/zebra#7968&#10;Add an empty&#10;`NetworkParameters`&#10;struct to&#10;`Network::Testnet`" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-255.5 8,-255.5 8,-172.5 239,-172.5 239,-255.5"/>
<text text-anchor="middle" x="123.5" y="-240.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7968</text>
<text text-anchor="middle" x="123.5" y="-225.3" font-family="Times,serif" font-size="14.00">Add an empty</text>
<text text-anchor="middle" x="123.5" y="-210.3" font-family="Times,serif" font-size="14.00">`NetworkParameters`</text>
<text text-anchor="middle" x="123.5" y="-195.3" font-family="Times,serif" font-size="14.00">struct to</text>
<text text-anchor="middle" x="123.5" y="-180.3" font-family="Times,serif" font-size="14.00">`Network::Testnet`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7970 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#7970</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7970" xlink:title="ZcashFoundation/zebra#7970&#10;Add a field for the&#10;network upgrade&#10;activation heights to&#10;`NetworkParameters`" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-255.5 275,-255.5 275,-172.5 506,-172.5 506,-255.5"/>
<text text-anchor="middle" x="390.5" y="-240.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7970</text>
<text text-anchor="middle" x="390.5" y="-225.3" font-family="Times,serif" font-size="14.00">Add a field for the</text>
<text text-anchor="middle" x="390.5" y="-210.3" font-family="Times,serif" font-size="14.00">network upgrade</text>
<text text-anchor="middle" x="390.5" y="-195.3" font-family="Times,serif" font-size="14.00">activation heights to</text>
<text text-anchor="middle" x="390.5" y="-180.3" font-family="Times,serif" font-size="14.00">`NetworkParameters`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7968&#45;&gt;ZcashFoundation/zebra#7970 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#7968&#45;&gt;ZcashFoundation/zebra#7970</title>
<path fill="none" stroke="black" d="M239.19,-214C247.55,-214 255.99,-214 264.4,-214"/>
<polygon fill="black" stroke="black" points="264.63,-217.5 274.63,-214 264.63,-210.5 264.63,-217.5"/>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node5"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5297" xlink:title="ZcashFoundation/zebra#5297&#10;Add metrics for chain&#10;fork work and lengths" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-514.5 275,-514.5 275,-461.5 506,-461.5 506,-514.5"/>
<text text-anchor="middle" x="390.5" y="-499.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="390.5" y="-484.3" font-family="Times,serif" font-size="14.00">Add metrics for chain</text>
<text text-anchor="middle" x="390.5" y="-469.3" font-family="Times,serif" font-size="14.00">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1875 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#1875</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1875" xlink:title="ZcashFoundation/zebra#1875&#10;Zebra attempts new peer&#10;connections in a fixed,&#10;predictable order" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-522 8,-522 8,-454 239,-454 239,-522"/>
<text text-anchor="middle" x="123.5" y="-506.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#1875</text>
<text text-anchor="middle" x="123.5" y="-491.8" font-family="Times,serif" font-size="14.00">Zebra attempts new peer</text>
<text text-anchor="middle" x="123.5" y="-476.8" font-family="Times,serif" font-size="14.00">connections in a fixed,</text>
<text text-anchor="middle" x="123.5" y="-461.8" font-family="Times,serif" font-size="14.00">predictable order</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5472 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#5472</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5472" xlink:title="ZcashFoundation/zebra#5472&#10;Support shielded coinbase&#10;in `getblocktemplate` for&#10;Sapling addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-608 8,-608 8,-540 239,-540 239,-608"/>
<text text-anchor="middle" x="123.5" y="-592.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="123.5" y="-577.8" font-family="Times,serif" font-size="14.00">Support shielded coinbase</text>
<text text-anchor="middle" x="123.5" y="-562.8" font-family="Times,serif" font-size="14.00">in `getblocktemplate` for</text>
<text text-anchor="middle" x="123.5" y="-547.8" font-family="Times,serif" font-size="14.00">Sapling addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5929 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#5929</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5929" xlink:title="ZcashFoundation/zebra#5929&#10;Support shielded coinbase&#10;in `getblocktemplate` for&#10;Orchard Unified addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-608 275,-608 275,-540 506,-540 506,-608"/>
<text text-anchor="middle" x="390.5" y="-592.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5929</text>
<text text-anchor="middle" x="390.5" y="-577.8" font-family="Times,serif" font-size="14.00">Support shielded coinbase</text>
<text text-anchor="middle" x="390.5" y="-562.8" font-family="Times,serif" font-size="14.00">in `getblocktemplate` for</text>
<text text-anchor="middle" x="390.5" y="-547.8" font-family="Times,serif" font-size="14.00">Orchard Unified addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5472&#45;&gt;ZcashFoundation/zebra#5929 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#5472&#45;&gt;ZcashFoundation/zebra#5929</title>
<path fill="none" stroke="black" d="M239.19,-574C247.55,-574 255.99,-574 264.4,-574"/>
<polygon fill="black" stroke="black" points="264.63,-577.5 274.63,-574 264.63,-570.5 264.63,-577.5"/>
</g>
<!-- ZcashFoundation/zebra#7109 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#7109</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7109" xlink:title="ZcashFoundation/zebra#7109&#10;Store cumulative work in&#10;the finalized state for&#10;each height" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-436 8,-436 8,-368 239,-368 239,-436"/>
<text text-anchor="middle" x="123.5" y="-420.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7109</text>
<text text-anchor="middle" x="123.5" y="-405.8" font-family="Times,serif" font-size="14.00">Store cumulative work in</text>
<text text-anchor="middle" x="123.5" y="-390.8" font-family="Times,serif" font-size="14.00">the finalized state for</text>
<text text-anchor="middle" x="123.5" y="-375.8" font-family="Times,serif" font-size="14.00">each height</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7109&#45;&gt;ZcashFoundation/zebra#5297 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#7109&#45;&gt;ZcashFoundation/zebra#5297</title>
<path fill="none" stroke="black" d="M226.43,-436.11C242.66,-441.47 259.28,-446.92 275,-452 281.39,-454.07 287.99,-456.18 294.65,-458.31"/>
<polygon fill="black" stroke="black" points="293.83,-461.72 304.42,-461.42 295.95,-455.05 293.83,-461.72"/>
</g>
<!-- ZcashFoundation/zebra#6688 -->
<g id="node10" class="node closed">
<title>ZcashFoundation/zebra#6688</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6688" xlink:title="ZcashFoundation/zebra#6688&#10;`getnetworksolps` &amp;&#10;`getnetworkhashps` RPCs&#10;hang with large&#10;num_blocks" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="506,-443.5 275,-443.5 275,-360.5 506,-360.5 506,-443.5"/>
<text text-anchor="middle" x="390.5" y="-428.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6688</text>
<text text-anchor="middle" x="390.5" y="-413.3" font-family="Times,serif" font-size="14.00">`getnetworksolps` &amp;</text>
<text text-anchor="middle" x="390.5" y="-398.3" font-family="Times,serif" font-size="14.00">`getnetworkhashps` RPCs</text>
<text text-anchor="middle" x="390.5" y="-383.3" font-family="Times,serif" font-size="14.00">hang with large</text>
<text text-anchor="middle" x="390.5" y="-368.3" font-family="Times,serif" font-size="14.00">num_blocks</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7109&#45;&gt;ZcashFoundation/zebra#6688 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#7109&#45;&gt;ZcashFoundation/zebra#6688</title>
<path fill="none" stroke="black" d="M239.19,-402C247.55,-402 255.99,-402 264.4,-402"/>
<polygon fill="black" stroke="black" points="264.63,-405.5 274.63,-402 264.63,-398.5 264.63,-405.5"/>
</g>
<!-- ZcashFoundation/zebra#7110 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#7110</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7110" xlink:title="ZcashFoundation/zebra#7110&#10;Show the full chain work&#10;in the chain fork&#10;progress bars" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-342 275,-342 275,-274 506,-274 506,-342"/>
<text text-anchor="middle" x="390.5" y="-326.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7110</text>
<text text-anchor="middle" x="390.5" y="-311.8" font-family="Times,serif" font-size="14.00">Show the full chain work</text>
<text text-anchor="middle" x="390.5" y="-296.8" font-family="Times,serif" font-size="14.00">in the chain fork</text>
<text text-anchor="middle" x="390.5" y="-281.8" font-family="Times,serif" font-size="14.00">progress bars</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7109&#45;&gt;ZcashFoundation/zebra#7110 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#7109&#45;&gt;ZcashFoundation/zebra#7110</title>
<path fill="none" stroke="black" d="M220.55,-367.93C241.1,-360.64 262.92,-352.9 283.81,-345.49"/>
<polygon fill="black" stroke="black" points="285.09,-348.75 293.34,-342.11 282.75,-342.15 285.09,-348.75"/>
</g>
<!-- ZcashFoundation/zebra#7403 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#7403</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7403" xlink:title="ZcashFoundation/zebra#7403&#10;Make `getnetworksolps` &amp;&#10;`getnetworkhashps` RPCs&#10;more efficient by caching&#10;difficulties and times" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="773,-443.5 542,-443.5 542,-360.5 773,-360.5 773,-443.5"/>
<text text-anchor="middle" x="657.5" y="-428.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7403</text>
<text text-anchor="middle" x="657.5" y="-413.3" font-family="Times,serif" font-size="14.00">Make `getnetworksolps` &amp;</text>
<text text-anchor="middle" x="657.5" y="-398.3" font-family="Times,serif" font-size="14.00">`getnetworkhashps` RPCs</text>
<text text-anchor="middle" x="657.5" y="-383.3" font-family="Times,serif" font-size="14.00">more efficient by caching</text>
<text text-anchor="middle" x="657.5" y="-368.3" font-family="Times,serif" font-size="14.00">difficulties and times</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6688&#45;&gt;ZcashFoundation/zebra#7403 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#6688&#45;&gt;ZcashFoundation/zebra#7403</title>
<path fill="none" stroke="black" d="M506.19,-402C514.55,-402 522.99,-402 531.4,-402"/>
<polygon fill="black" stroke="black" points="531.63,-405.5 541.63,-402 531.63,-398.5 531.63,-405.5"/>
</g>
<!-- ZcashFoundation/zebra#5604 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#5604</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5604" xlink:title="ZcashFoundation/zebra#5604&#10;Send the same&#10;getblocktemplate RPC&#10;response until the&#10;template would change" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-709.5 8,-709.5 8,-626.5 239,-626.5 239,-709.5"/>
<text text-anchor="middle" x="123.5" y="-694.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5604</text>
<text text-anchor="middle" x="123.5" y="-679.3" font-family="Times,serif" font-size="14.00">Send the same</text>
<text text-anchor="middle" x="123.5" y="-664.3" font-family="Times,serif" font-size="14.00">getblocktemplate RPC</text>
<text text-anchor="middle" x="123.5" y="-649.3" font-family="Times,serif" font-size="14.00">response until the</text>
<text text-anchor="middle" x="123.5" y="-634.3" font-family="Times,serif" font-size="14.00">template would change</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5911 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#5911</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5911" xlink:title="ZcashFoundation/zebra#5911&#10;Store the serialized&#10;block size in the&#10;database" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-796 8,-796 8,-728 239,-728 239,-796"/>
<text text-anchor="middle" x="123.5" y="-780.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5911</text>
<text text-anchor="middle" x="123.5" y="-765.8" font-family="Times,serif" font-size="14.00">Store the serialized</text>
<text text-anchor="middle" x="123.5" y="-750.8" font-family="Times,serif" font-size="14.00">block size in the</text>
<text text-anchor="middle" x="123.5" y="-735.8" font-family="Times,serif" font-size="14.00">database</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#8037 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#8037</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/8037" xlink:title="ZcashFoundation/zebra#8037&#10;Run Zebra&#39;s unit tests&#10;with the scanner enabled" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-867.5 8,-867.5 8,-814.5 239,-814.5 239,-867.5"/>
<text text-anchor="middle" x="123.5" y="-852.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#8037</text>
<text text-anchor="middle" x="123.5" y="-837.3" font-family="Times,serif" font-size="14.00">Run Zebra&#39;s unit tests</text>
<text text-anchor="middle" x="123.5" y="-822.3" font-family="Times,serif" font-size="14.00">with the scanner enabled</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#8069 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#8069</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/8069" xlink:title="ZcashFoundation/zebra#8069&#10;test: Add database&#10;conflict and ephemeral&#10;tests for the scanner&#10;database" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-882.5 275,-882.5 275,-799.5 506,-799.5 506,-882.5"/>
<text text-anchor="middle" x="390.5" y="-867.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#8069</text>
<text text-anchor="middle" x="390.5" y="-852.3" font-family="Times,serif" font-size="14.00">test: Add database</text>
<text text-anchor="middle" x="390.5" y="-837.3" font-family="Times,serif" font-size="14.00">conflict and ephemeral</text>
<text text-anchor="middle" x="390.5" y="-822.3" font-family="Times,serif" font-size="14.00">tests for the scanner</text>
<text text-anchor="middle" x="390.5" y="-807.3" font-family="Times,serif" font-size="14.00">database</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#8037&#45;&gt;ZcashFoundation/zebra#8069 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#8037&#45;&gt;ZcashFoundation/zebra#8069</title>
<path fill="none" stroke="black" d="M239.19,-841C247.55,-841 255.99,-841 264.4,-841"/>
<polygon fill="black" stroke="black" points="264.63,-844.5 274.63,-841 264.63,-837.5 264.63,-844.5"/>
</g>
<!-- ZcashFoundation/zebra#8050 -->
<g id="node17" class="node closed">
<title>ZcashFoundation/zebra#8050</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/8050" xlink:title="ZcashFoundation/zebra#8050&#10;Change scanner database&#10;format so it is easier&#10;for users to query for&#10;transaction IDs" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="506,-983.5 275,-983.5 275,-900.5 506,-900.5 506,-983.5"/>
<text text-anchor="middle" x="390.5" y="-968.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#8050</text>
<text text-anchor="middle" x="390.5" y="-953.3" font-family="Times,serif" font-size="14.00">Change scanner database</text>
<text text-anchor="middle" x="390.5" y="-938.3" font-family="Times,serif" font-size="14.00">format so it is easier</text>
<text text-anchor="middle" x="390.5" y="-923.3" font-family="Times,serif" font-size="14.00">for users to query for</text>
<text text-anchor="middle" x="390.5" y="-908.3" font-family="Times,serif" font-size="14.00">transaction IDs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7813 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#7813</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7813" xlink:title="ZcashFoundation/zebra#7813&#10;test(scan): Scan blocks&#10;containing ZECpages&#10;transactions with the&#10;ZECpages shielded key" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="773,-983.5 542,-983.5 542,-900.5 773,-900.5 773,-983.5"/>
<text text-anchor="middle" x="657.5" y="-968.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7813</text>
<text text-anchor="middle" x="657.5" y="-953.3" font-family="Times,serif" font-size="14.00">test(scan): Scan blocks</text>
<text text-anchor="middle" x="657.5" y="-938.3" font-family="Times,serif" font-size="14.00">containing ZECpages</text>
<text text-anchor="middle" x="657.5" y="-923.3" font-family="Times,serif" font-size="14.00">transactions with the</text>
<text text-anchor="middle" x="657.5" y="-908.3" font-family="Times,serif" font-size="14.00">ZECpages shielded key</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#8050&#45;&gt;ZcashFoundation/zebra#7813 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#8050&#45;&gt;ZcashFoundation/zebra#7813</title>
<path fill="none" stroke="black" d="M506.19,-942C514.55,-942 522.99,-942 531.4,-942"/>
<polygon fill="black" stroke="black" points="531.63,-945.5 541.63,-942 531.63,-938.5 531.63,-945.5"/>
</g>
<!-- ZcashFoundation/zebra#8046 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#8046</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/8046" xlink:title="ZcashFoundation/zebra#8046&#10;Document how to run and&#10;query the results of the&#10;blockchain scanning MVP" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-976 8,-976 8,-908 239,-908 239,-976"/>
<text text-anchor="middle" x="123.5" y="-960.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#8046</text>
<text text-anchor="middle" x="123.5" y="-945.8" font-family="Times,serif" font-size="14.00">Document how to run and</text>
<text text-anchor="middle" x="123.5" y="-930.8" font-family="Times,serif" font-size="14.00">query the results of the</text>
<text text-anchor="middle" x="123.5" y="-915.8" font-family="Times,serif" font-size="14.00">blockchain scanning MVP</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#8046&#45;&gt;ZcashFoundation/zebra#8050 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#8046&#45;&gt;ZcashFoundation/zebra#8050</title>
<path fill="none" stroke="black" d="M239.19,-942C247.55,-942 255.99,-942 264.4,-942"/>
<polygon fill="black" stroke="black" points="264.63,-945.5 274.63,-942 264.63,-938.5 264.63,-945.5"/>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node20" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4841" xlink:title="ZcashFoundation/zebra#4841&#10;Improve note commitment&#10;tree append performance" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="506,-1112.5 275,-1112.5 275,-1059.5 506,-1059.5 506,-1112.5"/>
<text text-anchor="middle" x="390.5" y="-1097.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="390.5" y="-1082.3" font-family="Times,serif" font-size="14.00">Improve note commitment</text>
<text text-anchor="middle" x="390.5" y="-1067.3" font-family="Times,serif" font-size="14.00">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node21"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2908" xlink:title="ZcashFoundation/zebra#2908&#10;Improve&#10;VerifyBlockError::Commit&#10;typing, so we don&#39;t&#10;accidentally break syncer&#10;error handling" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-1295 8,-1295 8,-1197 239,-1197 239,-1295"/>
<text text-anchor="middle" x="123.5" y="-1279.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="123.5" y="-1264.8" font-family="Times,serif" font-size="14.00">Improve</text>
<text text-anchor="middle" x="123.5" y="-1249.8" font-family="Times,serif" font-size="14.00">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="123.5" y="-1234.8" font-family="Times,serif" font-size="14.00">typing, so we don&#39;t</text>
<text text-anchor="middle" x="123.5" y="-1219.8" font-family="Times,serif" font-size="14.00">accidentally break syncer</text>
<text text-anchor="middle" x="123.5" y="-1204.8" font-family="Times,serif" font-size="14.00">error handling</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5487 -->
<g id="node22" class="node closed">
<title>ZcashFoundation/zebra#5487</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5487" xlink:title="ZcashFoundation/zebra#5487&#10;Return detailed errors&#10;from the `submitblock`&#10;RPC" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="506,-1280 275,-1280 275,-1212 506,-1212 506,-1280"/>
<text text-anchor="middle" x="390.5" y="-1264.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="390.5" y="-1249.8" font-family="Times,serif" font-size="14.00">Return detailed errors</text>
<text text-anchor="middle" x="390.5" y="-1234.8" font-family="Times,serif" font-size="14.00">from the `submitblock`</text>
<text text-anchor="middle" x="390.5" y="-1219.8" font-family="Times,serif" font-size="14.00">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#5487 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#5487</title>
<path fill="none" stroke="black" d="M239.19,-1246C247.55,-1246 255.99,-1246 264.4,-1246"/>
<polygon fill="black" stroke="black" points="264.63,-1249.5 274.63,-1246 264.63,-1242.5 264.63,-1249.5"/>
</g>
<!-- ZcashFoundation/zebra#5709 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#5709</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5709" xlink:title="ZcashFoundation/zebra#5709&#10;Fix repeated block&#10;timeouts during initial&#10;sync" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-1381 8,-1381 8,-1313 239,-1313 239,-1381"/>
<text text-anchor="middle" x="123.5" y="-1365.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5709</text>
<text text-anchor="middle" x="123.5" y="-1350.8" font-family="Times,serif" font-size="14.00">Fix repeated block</text>
<text text-anchor="middle" x="123.5" y="-1335.8" font-family="Times,serif" font-size="14.00">timeouts during initial</text>
<text text-anchor="middle" x="123.5" y="-1320.8" font-family="Times,serif" font-size="14.00">sync</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5425 -->
<g id="node24" class="node closed">
<title>ZcashFoundation/zebra#5425</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5425" xlink:title="ZcashFoundation/zebra#5425&#10;Parallelise note&#10;commitment tree point&#10;conversions" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="506,-1381 275,-1381 275,-1313 506,-1313 506,-1381"/>
<text text-anchor="middle" x="390.5" y="-1365.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5425</text>
<text text-anchor="middle" x="390.5" y="-1350.8" font-family="Times,serif" font-size="14.00">Parallelise note</text>
<text text-anchor="middle" x="390.5" y="-1335.8" font-family="Times,serif" font-size="14.00">commitment tree point</text>
<text text-anchor="middle" x="390.5" y="-1320.8" font-family="Times,serif" font-size="14.00">conversions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425</title>
<path fill="none" stroke="black" d="M239.19,-1347C247.55,-1347 255.99,-1347 264.4,-1347"/>
<polygon fill="black" stroke="black" points="264.63,-1350.5 274.63,-1347 264.63,-1343.5 264.63,-1350.5"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4774" xlink:title="ZcashFoundation/zebra#4774&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Orchard&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-1178.5 8,-1178.5 8,-1095.5 239,-1095.5 239,-1178.5"/>
<text text-anchor="middle" x="123.5" y="-1163.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="123.5" y="-1148.3" font-family="Times,serif" font-size="14.00">Add an NU5 block test</text>
<text text-anchor="middle" x="123.5" y="-1133.3" font-family="Times,serif" font-size="14.00">vector that contains many</text>
<text text-anchor="middle" x="123.5" y="-1118.3" font-family="Times,serif" font-size="14.00">shielded Orchard</text>
<text text-anchor="middle" x="123.5" y="-1103.3" font-family="Times,serif" font-size="14.00">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="black" d="M239.19,-1114.9C247.64,-1113.3 256.18,-1111.7 264.68,-1110"/>
<polygon fill="black" stroke="black" points="265.46,-1113.41 274.63,-1108.1 264.15,-1106.54 265.46,-1113.41"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4775" xlink:title="ZcashFoundation/zebra#4775&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Sapling&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-1077.5 8,-1077.5 8,-994.5 239,-994.5 239,-1077.5"/>
<text text-anchor="middle" x="123.5" y="-1062.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="123.5" y="-1047.3" font-family="Times,serif" font-size="14.00">Add an NU5 block test</text>
<text text-anchor="middle" x="123.5" y="-1032.3" font-family="Times,serif" font-size="14.00">vector that contains many</text>
<text text-anchor="middle" x="123.5" y="-1017.3" font-family="Times,serif" font-size="14.00">shielded Sapling</text>
<text text-anchor="middle" x="123.5" y="-1002.3" font-family="Times,serif" font-size="14.00">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="black" d="M239.19,-1057.6C247.64,-1059.2 256.18,-1060.8 264.68,-1062.4"/>
<polygon fill="black" stroke="black" points="264.15,-1065.86 274.63,-1064.3 265.46,-1058.99 264.15,-1065.86"/>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4545" xlink:title="ZcashFoundation/zebra#4545&#10;Start disconnecting from&#10;outdated peers a few days&#10;before network upgrade&#10;activation" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-1489.5 275,-1489.5 275,-1406.5 506,-1406.5 506,-1489.5"/>
<text text-anchor="middle" x="390.5" y="-1474.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="390.5" y="-1459.3" font-family="Times,serif" font-size="14.00">Start disconnecting from</text>
<text text-anchor="middle" x="390.5" y="-1444.3" font-family="Times,serif" font-size="14.00">outdated peers a few days</text>
<text text-anchor="middle" x="390.5" y="-1429.3" font-family="Times,serif" font-size="14.00">before network upgrade</text>
<text text-anchor="middle" x="390.5" y="-1414.3" font-family="Times,serif" font-size="14.00">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node28" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4226" xlink:title="ZcashFoundation/zebra#4226&#10;Prefer faster peers, but&#10;if all peers are slow,&#10;still connect to them" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="773,-1482 542,-1482 542,-1414 773,-1414 773,-1482"/>
<text text-anchor="middle" x="657.5" y="-1466.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="657.5" y="-1451.8" font-family="Times,serif" font-size="14.00">Prefer faster peers, but</text>
<text text-anchor="middle" x="657.5" y="-1436.8" font-family="Times,serif" font-size="14.00">if all peers are slow,</text>
<text text-anchor="middle" x="657.5" y="-1421.8" font-family="Times,serif" font-size="14.00">still connect to them</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="black" d="M506.19,-1448C514.55,-1448 522.99,-1448 531.4,-1448"/>
<polygon fill="black" stroke="black" points="531.63,-1451.5 541.63,-1448 531.63,-1444.5 531.63,-1451.5"/>
</g>
<!-- ZcashFoundation/zebra#7617 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#7617</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/7617" xlink:title="ZcashFoundation/zebra#7617&#10;ref(docker): use cache&#10;mounts for build cache" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-1568.5 8,-1568.5 8,-1564.5 4,-1564.5 4,-1560.5 8,-1560.5 8,-1523.5 4,-1523.5 4,-1519.5 8,-1519.5 8,-1515.5 239,-1515.5 239,-1568.5"/>
<polyline fill="none" stroke="black" stroke-width="2" points="8,-1564.5 12,-1564.5 12,-1560.5 8,-1560.5 "/>
<polyline fill="none" stroke="black" stroke-width="2" points="8,-1523.5 12,-1523.5 12,-1519.5 8,-1519.5 "/>
<text text-anchor="middle" x="123.5" y="-1553.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7617</text>
<text text-anchor="middle" x="123.5" y="-1538.3" font-family="Times,serif" font-size="14.00">ref(docker): use cache</text>
<text text-anchor="middle" x="123.5" y="-1523.3" font-family="Times,serif" font-size="14.00">mounts for build cache</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6894 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#6894</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6894" xlink:title="ZcashFoundation/zebra#6894&#10;Use cached state for&#10;continuous deployment&#10;instances" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-1655 8,-1655 8,-1587 239,-1587 239,-1655"/>
<text text-anchor="middle" x="123.5" y="-1639.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6894</text>
<text text-anchor="middle" x="123.5" y="-1624.8" font-family="Times,serif" font-size="14.00">Use cached state for</text>
<text text-anchor="middle" x="123.5" y="-1609.8" font-family="Times,serif" font-size="14.00">continuous deployment</text>
<text text-anchor="middle" x="123.5" y="-1594.8" font-family="Times,serif" font-size="14.00">instances</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7738 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#7738</title>
<g id="a_node31"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7738" xlink:title="ZcashFoundation/zebra#7738&#10;docs: Add ticket&#10;templates for RPC methods&#10;and state format upgrades" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-1734 275,-1734 275,-1666 506,-1666 506,-1734"/>
<text text-anchor="middle" x="390.5" y="-1718.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7738</text>
<text text-anchor="middle" x="390.5" y="-1703.8" font-family="Times,serif" font-size="14.00">docs: Add ticket</text>
<text text-anchor="middle" x="390.5" y="-1688.8" font-family="Times,serif" font-size="14.00">templates for RPC methods</text>
<text text-anchor="middle" x="390.5" y="-1673.8" font-family="Times,serif" font-size="14.00">and state format upgrades</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7833 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#7833</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7833" xlink:title="ZcashFoundation/zebra#7833&#10;Document how to design&#10;RPCs and state queries" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-1726.5 8,-1726.5 8,-1673.5 239,-1673.5 239,-1726.5"/>
<text text-anchor="middle" x="123.5" y="-1711.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7833</text>
<text text-anchor="middle" x="123.5" y="-1696.3" font-family="Times,serif" font-size="14.00">Document how to design</text>
<text text-anchor="middle" x="123.5" y="-1681.3" font-family="Times,serif" font-size="14.00">RPCs and state queries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7833&#45;&gt;ZcashFoundation/zebra#7738 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#7833&#45;&gt;ZcashFoundation/zebra#7738</title>
<path fill="none" stroke="black" d="M239.19,-1700C247.55,-1700 255.99,-1700 264.4,-1700"/>
<polygon fill="black" stroke="black" points="264.63,-1703.5 274.63,-1700 264.63,-1696.5 264.63,-1703.5"/>
</g>
<!-- ZcashFoundation/zebra#7383 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#7383</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7383" xlink:title="ZcashFoundation/zebra#7383&#10;(De)Serialize&#10;`NoteCommitmentTree`s&#10;using supported&#10;serialization format&#10;instead of `bincode`" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-1843 8,-1843 8,-1745 239,-1745 239,-1843"/>
<text text-anchor="middle" x="123.5" y="-1827.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7383</text>
<text text-anchor="middle" x="123.5" y="-1812.8" font-family="Times,serif" font-size="14.00">(De)Serialize</text>
<text text-anchor="middle" x="123.5" y="-1797.8" font-family="Times,serif" font-size="14.00">`NoteCommitmentTree`s</text>
<text text-anchor="middle" x="123.5" y="-1782.8" font-family="Times,serif" font-size="14.00">using supported</text>
<text text-anchor="middle" x="123.5" y="-1767.8" font-family="Times,serif" font-size="14.00">serialization format</text>
<text text-anchor="middle" x="123.5" y="-1752.8" font-family="Times,serif" font-size="14.00">instead of `bincode`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7416 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#7416</title>
<g id="a_node34"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7416" xlink:title="ZcashFoundation/zebra#7416&#10;diagnostic: Log column&#10;family and database size&#10;on startup and shutdown" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-1929 8,-1929 8,-1861 239,-1861 239,-1929"/>
<text text-anchor="middle" x="123.5" y="-1913.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7416</text>
<text text-anchor="middle" x="123.5" y="-1898.8" font-family="Times,serif" font-size="14.00">diagnostic: Log column</text>
<text text-anchor="middle" x="123.5" y="-1883.8" font-family="Times,serif" font-size="14.00">family and database size</text>
<text text-anchor="middle" x="123.5" y="-1868.8" font-family="Times,serif" font-size="14.00">on startup and shutdown</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5718 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#5718</title>
<g id="a_node35"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5718" xlink:title="ZcashFoundation/zebra#5718&#10;Reduce Zebra disk usage&#10;for mining pools" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-1921.5 275,-1921.5 275,-1868.5 506,-1868.5 506,-1921.5"/>
<text text-anchor="middle" x="390.5" y="-1906.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5718</text>
<text text-anchor="middle" x="390.5" y="-1891.3" font-family="Times,serif" font-size="14.00">Reduce Zebra disk usage</text>
<text text-anchor="middle" x="390.5" y="-1876.3" font-family="Times,serif" font-size="14.00">for mining pools</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7416&#45;&gt;ZcashFoundation/zebra#5718 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#7416&#45;&gt;ZcashFoundation/zebra#5718</title>
<path fill="none" stroke="black" d="M239.19,-1895C247.55,-1895 255.99,-1895 264.4,-1895"/>
<polygon fill="black" stroke="black" points="264.63,-1898.5 274.63,-1895 264.63,-1891.5 264.63,-1898.5"/>
</g>
<!-- ZcashFoundation/zebra#7558 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#7558</title>
<g id="a_node36"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7558" xlink:title="ZcashFoundation/zebra#7558&#10;dev docs: Document how to&#10;fix cached state issues" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-2000.5 275,-2000.5 275,-1947.5 506,-1947.5 506,-2000.5"/>
<text text-anchor="middle" x="390.5" y="-1985.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7558</text>
<text text-anchor="middle" x="390.5" y="-1970.3" font-family="Times,serif" font-size="14.00">dev docs: Document how to</text>
<text text-anchor="middle" x="390.5" y="-1955.3" font-family="Times,serif" font-size="14.00">fix cached state issues</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7785 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#7785</title>
<g id="a_node37"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7785" xlink:title="ZcashFoundation/zebra#7785&#10;change: Support hiding&#10;specific progress bars in&#10;summary mode" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-2087 8,-2087 8,-2019 239,-2019 239,-2087"/>
<text text-anchor="middle" x="123.5" y="-2071.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7785</text>
<text text-anchor="middle" x="123.5" y="-2056.8" font-family="Times,serif" font-size="14.00">change: Support hiding</text>
<text text-anchor="middle" x="123.5" y="-2041.8" font-family="Times,serif" font-size="14.00">specific progress bars in</text>
<text text-anchor="middle" x="123.5" y="-2026.8" font-family="Times,serif" font-size="14.00">summary mode</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7648 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#7648</title>
<g id="a_node38"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7648" xlink:title="ZcashFoundation/zebra#7648&#10;Allow logging to terminal&#10;when progress bars are&#10;enabled" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-2087 275,-2087 275,-2019 506,-2019 506,-2087"/>
<text text-anchor="middle" x="390.5" y="-2071.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7648</text>
<text text-anchor="middle" x="390.5" y="-2056.8" font-family="Times,serif" font-size="14.00">Allow logging to terminal</text>
<text text-anchor="middle" x="390.5" y="-2041.8" font-family="Times,serif" font-size="14.00">when progress bars are</text>
<text text-anchor="middle" x="390.5" y="-2026.8" font-family="Times,serif" font-size="14.00">enabled</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7785&#45;&gt;ZcashFoundation/zebra#7648 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#7785&#45;&gt;ZcashFoundation/zebra#7648</title>
<path fill="none" stroke="black" d="M239.19,-2053C247.55,-2053 255.99,-2053 264.4,-2053"/>
<polygon fill="black" stroke="black" points="264.63,-2056.5 274.63,-2053 264.63,-2049.5 264.63,-2056.5"/>
</g>
<!-- ZcashFoundation/zebra#7533 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#7533</title>
<g id="a_node39"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7533" xlink:title="ZcashFoundation/zebra#7533&#10;Document how to rebuild&#10;cached states" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-2000.5 8,-2000.5 8,-1947.5 239,-1947.5 239,-2000.5"/>
<text text-anchor="middle" x="123.5" y="-1985.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7533</text>
<text text-anchor="middle" x="123.5" y="-1970.3" font-family="Times,serif" font-size="14.00">Document how to rebuild</text>
<text text-anchor="middle" x="123.5" y="-1955.3" font-family="Times,serif" font-size="14.00">cached states</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7533&#45;&gt;ZcashFoundation/zebra#7558 -->
<g id="edge18" class="edge">
<title>ZcashFoundation/zebra#7533&#45;&gt;ZcashFoundation/zebra#7558</title>
<path fill="none" stroke="black" d="M239.19,-1974C247.55,-1974 255.99,-1974 264.4,-1974"/>
<polygon fill="black" stroke="black" points="264.63,-1977.5 274.63,-1974 264.63,-1970.5 264.63,-1977.5"/>
</g>
<!-- ZcashFoundation/zebra#7119 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#7119</title>
<g id="a_node40"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7119" xlink:title="ZcashFoundation/zebra#7119&#10;Tracking: Add regtest&#10;network" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-2158.5 8,-2158.5 8,-2105.5 239,-2105.5 239,-2158.5"/>
<text text-anchor="middle" x="123.5" y="-2143.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7119</text>
<text text-anchor="middle" x="123.5" y="-2128.3" font-family="Times,serif" font-size="14.00">Tracking: Add regtest</text>
<text text-anchor="middle" x="123.5" y="-2113.3" font-family="Times,serif" font-size="14.00">network</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7534 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#7534</title>
<g id="a_node41"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7534" xlink:title="ZcashFoundation/zebra#7534&#10;Make it possible to run&#10;CI tests locally for&#10;developers" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-2245 8,-2245 8,-2177 239,-2177 239,-2245"/>
<text text-anchor="middle" x="123.5" y="-2229.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7534</text>
<text text-anchor="middle" x="123.5" y="-2214.8" font-family="Times,serif" font-size="14.00">Make it possible to run</text>
<text text-anchor="middle" x="123.5" y="-2199.8" font-family="Times,serif" font-size="14.00">CI tests locally for</text>
<text text-anchor="middle" x="123.5" y="-2184.8" font-family="Times,serif" font-size="14.00">developers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4464 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#4464</title>
<g id="a_node42"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4464" xlink:title="ZcashFoundation/zebra#4464&#10;ci: create documentation&#10;on how to run tests&#10;locally for development&#10;purposes" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-2252.5 275,-2252.5 275,-2169.5 506,-2169.5 506,-2252.5"/>
<text text-anchor="middle" x="390.5" y="-2237.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4464</text>
<text text-anchor="middle" x="390.5" y="-2222.3" font-family="Times,serif" font-size="14.00">ci: create documentation</text>
<text text-anchor="middle" x="390.5" y="-2207.3" font-family="Times,serif" font-size="14.00">on how to run tests</text>
<text text-anchor="middle" x="390.5" y="-2192.3" font-family="Times,serif" font-size="14.00">locally for development</text>
<text text-anchor="middle" x="390.5" y="-2177.3" font-family="Times,serif" font-size="14.00">purposes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7534&#45;&gt;ZcashFoundation/zebra#4464 -->
<g id="edge19" class="edge">
<title>ZcashFoundation/zebra#7534&#45;&gt;ZcashFoundation/zebra#4464</title>
<path fill="none" stroke="black" d="M239.19,-2211C247.55,-2211 255.99,-2211 264.4,-2211"/>
<polygon fill="black" stroke="black" points="264.63,-2214.5 274.63,-2211 264.63,-2207.5 264.63,-2214.5"/>
</g>
<!-- ZcashFoundation/zebra#7845 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#7845</title>
<g id="a_node43"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7845" xlink:title="ZcashFoundation/zebra#7845&#10;Tracking: Add parameters&#10;to `Network::Testnet`&#10;variant" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-2331 8,-2331 8,-2263 239,-2263 239,-2331"/>
<text text-anchor="middle" x="123.5" y="-2315.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7845</text>
<text text-anchor="middle" x="123.5" y="-2300.8" font-family="Times,serif" font-size="14.00">Tracking: Add parameters</text>
<text text-anchor="middle" x="123.5" y="-2285.8" font-family="Times,serif" font-size="14.00">to `Network::Testnet`</text>
<text text-anchor="middle" x="123.5" y="-2270.8" font-family="Times,serif" font-size="14.00">variant</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7839 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#7839</title>
<g id="a_node44"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7839" xlink:title="ZcashFoundation/zebra#7839&#10;Add a `Regtest` constant&#10;of `Network::Testnet`" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-2323.5 275,-2323.5 275,-2270.5 506,-2270.5 506,-2323.5"/>
<text text-anchor="middle" x="390.5" y="-2308.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7839</text>
<text text-anchor="middle" x="390.5" y="-2293.3" font-family="Times,serif" font-size="14.00">Add a `Regtest` constant</text>
<text text-anchor="middle" x="390.5" y="-2278.3" font-family="Times,serif" font-size="14.00">of `Network::Testnet`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7845&#45;&gt;ZcashFoundation/zebra#7839 -->
<g id="edge20" class="edge">
<title>ZcashFoundation/zebra#7845&#45;&gt;ZcashFoundation/zebra#7839</title>
<path fill="none" stroke="black" d="M239.19,-2297C247.55,-2297 255.99,-2297 264.4,-2297"/>
<polygon fill="black" stroke="black" points="264.63,-2300.5 274.63,-2297 264.63,-2293.5 264.63,-2300.5"/>
</g>
<!-- ZcashFoundation/zebra#7847 -->
<g id="node45" class="node open">
<title>ZcashFoundation/zebra#7847</title>
<g id="a_node45"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7847" xlink:title="ZcashFoundation/zebra#7847&#10;Reconnect to peers after&#10;arbitrarily long&#10;disconnections with&#10;randomized exponential&#10;backoff" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-2447 8,-2447 8,-2349 239,-2349 239,-2447"/>
<text text-anchor="middle" x="123.5" y="-2431.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7847</text>
<text text-anchor="middle" x="123.5" y="-2416.8" font-family="Times,serif" font-size="14.00">Reconnect to peers after</text>
<text text-anchor="middle" x="123.5" y="-2401.8" font-family="Times,serif" font-size="14.00">arbitrarily long</text>
<text text-anchor="middle" x="123.5" y="-2386.8" font-family="Times,serif" font-size="14.00">disconnections with</text>
<text text-anchor="middle" x="123.5" y="-2371.8" font-family="Times,serif" font-size="14.00">randomized exponential</text>
<text text-anchor="middle" x="123.5" y="-2356.8" font-family="Times,serif" font-size="14.00">backoff</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3117 -->
<g id="node46" class="node open">
<title>ZcashFoundation/zebra#3117</title>
<g id="a_node46"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3117" xlink:title="ZcashFoundation/zebra#3117&#10;Stop using private IP&#10;addresses by default" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-2518.5 8,-2518.5 8,-2465.5 239,-2465.5 239,-2518.5"/>
<text text-anchor="middle" x="123.5" y="-2503.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#3117</text>
<text text-anchor="middle" x="123.5" y="-2488.3" font-family="Times,serif" font-size="14.00">Stop using private IP</text>
<text text-anchor="middle" x="123.5" y="-2473.3" font-family="Times,serif" font-size="14.00">addresses by default</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1890 -->
<g id="node47" class="node open">
<title>ZcashFoundation/zebra#1890</title>
<g id="a_node47"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1890" xlink:title="ZcashFoundation/zebra#1890&#10;Zebra should support&#10;separate local bind and&#10;external advertise&#10;addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-2533.5 275,-2533.5 275,-2450.5 506,-2450.5 506,-2533.5"/>
<text text-anchor="middle" x="390.5" y="-2518.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#1890</text>
<text text-anchor="middle" x="390.5" y="-2503.3" font-family="Times,serif" font-size="14.00">Zebra should support</text>
<text text-anchor="middle" x="390.5" y="-2488.3" font-family="Times,serif" font-size="14.00">separate local bind and</text>
<text text-anchor="middle" x="390.5" y="-2473.3" font-family="Times,serif" font-size="14.00">external advertise</text>
<text text-anchor="middle" x="390.5" y="-2458.3" font-family="Times,serif" font-size="14.00">addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3117&#45;&gt;ZcashFoundation/zebra#1890 -->
<g id="edge21" class="edge">
<title>ZcashFoundation/zebra#3117&#45;&gt;ZcashFoundation/zebra#1890</title>
<path fill="none" stroke="black" d="M239.19,-2492C247.55,-2492 255.99,-2492 264.4,-2492"/>
<polygon fill="black" stroke="black" points="264.63,-2495.5 274.63,-2492 264.63,-2488.5 264.63,-2495.5"/>
</g>
<!-- ZcashFoundation/zebra#7822 -->
<g id="node48" class="node open">
<title>ZcashFoundation/zebra#7822</title>
<g id="a_node48"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7822" xlink:title="ZcashFoundation/zebra#7822&#10;Tracking: security: Limit&#10;ability of synthetic&#10;nodes to take up&#10;connection slots. Credit:&#10;Ziggurat Team" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-1497 8,-1497 8,-1399 239,-1399 239,-1497"/>
<text text-anchor="middle" x="123.5" y="-1481.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7822</text>
<text text-anchor="middle" x="123.5" y="-1466.8" font-family="Times,serif" font-size="14.00">Tracking: security: Limit</text>
<text text-anchor="middle" x="123.5" y="-1451.8" font-family="Times,serif" font-size="14.00">ability of synthetic</text>
<text text-anchor="middle" x="123.5" y="-1436.8" font-family="Times,serif" font-size="14.00">nodes to take up</text>
<text text-anchor="middle" x="123.5" y="-1421.8" font-family="Times,serif" font-size="14.00">connection slots. Credit:</text>
<text text-anchor="middle" x="123.5" y="-1406.8" font-family="Times,serif" font-size="14.00">Ziggurat Team</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7822&#45;&gt;ZcashFoundation/zebra#4545 -->
<g id="edge22" class="edge">
<title>ZcashFoundation/zebra#7822&#45;&gt;ZcashFoundation/zebra#4545</title>
<path fill="none" stroke="black" d="M239.19,-1448C247.55,-1448 255.99,-1448 264.4,-1448"/>
<polygon fill="black" stroke="black" points="264.63,-1451.5 274.63,-1448 264.63,-1444.5 264.63,-1451.5"/>
</g>
<!-- ZcashFoundation/zebra#7680 -->
<g id="node49" class="node open">
<title>ZcashFoundation/zebra#7680</title>
<g id="a_node49"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7680" xlink:title="ZcashFoundation/zebra#7680&#10;Automatically open an&#10;issue when main branch&#10;release&#45;related merges&#10;fail" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-2627.5 8,-2627.5 8,-2544.5 239,-2544.5 239,-2627.5"/>
<text text-anchor="middle" x="123.5" y="-2612.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7680</text>
<text text-anchor="middle" x="123.5" y="-2597.3" font-family="Times,serif" font-size="14.00">Automatically open an</text>
<text text-anchor="middle" x="123.5" y="-2582.3" font-family="Times,serif" font-size="14.00">issue when main branch</text>
<text text-anchor="middle" x="123.5" y="-2567.3" font-family="Times,serif" font-size="14.00">release&#45;related merges</text>
<text text-anchor="middle" x="123.5" y="-2552.3" font-family="Times,serif" font-size="14.00">fail</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7891 -->
<g id="node50" class="node open">
<title>ZcashFoundation/zebra#7891</title>
<g id="a_node50"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7891" xlink:title="ZcashFoundation/zebra#7891&#10;change(docker): Publish&#10;fewer Zebra docker tags,&#10;and standardise names" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-2620 275,-2620 275,-2552 506,-2552 506,-2620"/>
<text text-anchor="middle" x="390.5" y="-2604.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7891</text>
<text text-anchor="middle" x="390.5" y="-2589.8" font-family="Times,serif" font-size="14.00">change(docker): Publish</text>
<text text-anchor="middle" x="390.5" y="-2574.8" font-family="Times,serif" font-size="14.00">fewer Zebra docker tags,</text>
<text text-anchor="middle" x="390.5" y="-2559.8" font-family="Times,serif" font-size="14.00">and standardise names</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7680&#45;&gt;ZcashFoundation/zebra#7891 -->
<g id="edge23" class="edge">
<title>ZcashFoundation/zebra#7680&#45;&gt;ZcashFoundation/zebra#7891</title>
<path fill="none" stroke="black" d="M239.19,-2586C247.55,-2586 255.99,-2586 264.4,-2586"/>
<polygon fill="black" stroke="black" points="264.63,-2589.5 274.63,-2586 264.63,-2582.5 264.63,-2589.5"/>
</g>
<!-- ZcashFoundation/zebra#7892 -->
<g id="node51" class="node open">
<title>ZcashFoundation/zebra#7892</title>
<g id="a_node51"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7892" xlink:title="ZcashFoundation/zebra#7892&#10;change(release): Enable&#10;all user features in the&#10;`experimental` build" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="773,-2620 542,-2620 542,-2552 773,-2552 773,-2620"/>
<text text-anchor="middle" x="657.5" y="-2604.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7892</text>
<text text-anchor="middle" x="657.5" y="-2589.8" font-family="Times,serif" font-size="14.00">change(release): Enable</text>
<text text-anchor="middle" x="657.5" y="-2574.8" font-family="Times,serif" font-size="14.00">all user features in the</text>
<text text-anchor="middle" x="657.5" y="-2559.8" font-family="Times,serif" font-size="14.00">`experimental` build</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7891&#45;&gt;ZcashFoundation/zebra#7892 -->
<g id="edge24" class="edge">
<title>ZcashFoundation/zebra#7891&#45;&gt;ZcashFoundation/zebra#7892</title>
<path fill="none" stroke="black" d="M506.19,-2586C514.55,-2586 522.99,-2586 531.4,-2586"/>
<polygon fill="black" stroke="black" points="531.63,-2589.5 541.63,-2586 531.63,-2582.5 531.63,-2589.5"/>
</g>
<!-- ZcashFoundation/zebra#7905 -->
<g id="node52" class="node open">
<title>ZcashFoundation/zebra#7905</title>
<g id="a_node52"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7905" xlink:title="ZcashFoundation/zebra#7905&#10;feat(zebra&#45;scan):&#10;Immediately scan newly&#10;verified blocks" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-2714 8,-2714 8,-2646 239,-2646 239,-2714"/>
<text text-anchor="middle" x="123.5" y="-2698.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7905</text>
<text text-anchor="middle" x="123.5" y="-2683.8" font-family="Times,serif" font-size="14.00">feat(zebra&#45;scan):</text>
<text text-anchor="middle" x="123.5" y="-2668.8" font-family="Times,serif" font-size="14.00">Immediately scan newly</text>
<text text-anchor="middle" x="123.5" y="-2653.8" font-family="Times,serif" font-size="14.00">verified blocks</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7907 -->
<g id="node53" class="node closed">
<title>ZcashFoundation/zebra#7907</title>
<g id="a_node53"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7907" xlink:title="ZcashFoundation/zebra#7907&#10;feat(zebra&#45;scan): Make&#10;the scanner send data to&#10;the results channel" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="506,-2714 275,-2714 275,-2646 506,-2646 506,-2714"/>
<text text-anchor="middle" x="390.5" y="-2698.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7907</text>
<text text-anchor="middle" x="390.5" y="-2683.8" font-family="Times,serif" font-size="14.00">feat(zebra&#45;scan): Make</text>
<text text-anchor="middle" x="390.5" y="-2668.8" font-family="Times,serif" font-size="14.00">the scanner send data to</text>
<text text-anchor="middle" x="390.5" y="-2653.8" font-family="Times,serif" font-size="14.00">the results channel</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7905&#45;&gt;ZcashFoundation/zebra#7907 -->
<g id="edge25" class="edge">
<title>ZcashFoundation/zebra#7905&#45;&gt;ZcashFoundation/zebra#7907</title>
<path fill="none" stroke="black" d="M239.19,-2680C247.55,-2680 255.99,-2680 264.4,-2680"/>
<polygon fill="black" stroke="black" points="264.63,-2683.5 274.63,-2680 264.63,-2676.5 264.63,-2683.5"/>
</g>
<!-- ZcashFoundation/zebra#7927 -->
<g id="node54" class="node open">
<title>ZcashFoundation/zebra#7927</title>
<g id="a_node54"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7927" xlink:title="ZcashFoundation/zebra#7927&#10;feat(zebra&#45;state): Send a&#10;reference to latest non&#45;&#10;finalized state in&#10;TipAction::Reset" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="506,-2815.5 275,-2815.5 275,-2732.5 506,-2732.5 506,-2815.5"/>
<text text-anchor="middle" x="390.5" y="-2800.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7927</text>
<text text-anchor="middle" x="390.5" y="-2785.3" font-family="Times,serif" font-size="14.00">feat(zebra&#45;state): Send a</text>
<text text-anchor="middle" x="390.5" y="-2770.3" font-family="Times,serif" font-size="14.00">reference to latest non&#45;</text>
<text text-anchor="middle" x="390.5" y="-2755.3" font-family="Times,serif" font-size="14.00">finalized state in</text>
<text text-anchor="middle" x="390.5" y="-2740.3" font-family="Times,serif" font-size="14.00">TipAction::Reset</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7935 -->
<g id="node55" class="node closed">
<title>ZcashFoundation/zebra#7935</title>
<g id="a_node55"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/7935" xlink:title="ZcashFoundation/zebra#7935&#10;feat(zebra&#45;state): Adds a&#10;method to ChainTipChange&#10;for getting unseen blocks&#10;when the best chain&#10;changes" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="773,-2823 542,-2823 542,-2819 538,-2819 538,-2815 542,-2815 542,-2733 538,-2733 538,-2729 542,-2729 542,-2725 773,-2725 773,-2823"/>
<polyline fill="none" stroke="black" points="542,-2819 546,-2819 546,-2815 542,-2815 "/>
<polyline fill="none" stroke="black" points="542,-2733 546,-2733 546,-2729 542,-2729 "/>
<text text-anchor="middle" x="657.5" y="-2807.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7935</text>
<text text-anchor="middle" x="657.5" y="-2792.8" font-family="Times,serif" font-size="14.00">feat(zebra&#45;state): Adds a</text>
<text text-anchor="middle" x="657.5" y="-2777.8" font-family="Times,serif" font-size="14.00">method to ChainTipChange</text>
<text text-anchor="middle" x="657.5" y="-2762.8" font-family="Times,serif" font-size="14.00">for getting unseen blocks</text>
<text text-anchor="middle" x="657.5" y="-2747.8" font-family="Times,serif" font-size="14.00">when the best chain</text>
<text text-anchor="middle" x="657.5" y="-2732.8" font-family="Times,serif" font-size="14.00">changes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7927&#45;&gt;ZcashFoundation/zebra#7935 -->
<g id="edge26" class="edge">
<title>ZcashFoundation/zebra#7927&#45;&gt;ZcashFoundation/zebra#7935</title>
<path fill="none" stroke="black" d="M506.19,-2774C514.55,-2774 522.99,-2774 531.4,-2774"/>
<polygon fill="black" stroke="black" points="531.63,-2777.5 541.63,-2774 531.63,-2770.5 531.63,-2777.5"/>
</g>
<!-- ZcashFoundation/zebra#7928 -->
<g id="node56" class="node closed">
<title>ZcashFoundation/zebra#7928</title>
<g id="a_node56"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7928" xlink:title="ZcashFoundation/zebra#7928&#10;feat(zebra&#45;scan): Make&#10;the key storage database&#10;persistent" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="506,-2902 275,-2902 275,-2834 506,-2834 506,-2902"/>
<text text-anchor="middle" x="390.5" y="-2886.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7928</text>
<text text-anchor="middle" x="390.5" y="-2871.8" font-family="Times,serif" font-size="14.00">feat(zebra&#45;scan): Make</text>
<text text-anchor="middle" x="390.5" y="-2856.8" font-family="Times,serif" font-size="14.00">the key storage database</text>
<text text-anchor="middle" x="390.5" y="-2841.8" font-family="Times,serif" font-size="14.00">persistent</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7926 -->
<g id="node57" class="node open">
<title>ZcashFoundation/zebra#7926</title>
<g id="a_node57"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7926" xlink:title="ZcashFoundation/zebra#7926&#10;feat(zebra&#45;db): Split low&#10;level database code&#10;inside `zebra&#45;state`" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-2902 8,-2902 8,-2834 239,-2834 239,-2902"/>
<text text-anchor="middle" x="123.5" y="-2886.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7926</text>
<text text-anchor="middle" x="123.5" y="-2871.8" font-family="Times,serif" font-size="14.00">feat(zebra&#45;db): Split low</text>
<text text-anchor="middle" x="123.5" y="-2856.8" font-family="Times,serif" font-size="14.00">level database code</text>
<text text-anchor="middle" x="123.5" y="-2841.8" font-family="Times,serif" font-size="14.00">inside `zebra&#45;state`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7926&#45;&gt;ZcashFoundation/zebra#7928 -->
<g id="edge27" class="edge">
<title>ZcashFoundation/zebra#7926&#45;&gt;ZcashFoundation/zebra#7928</title>
<path fill="none" stroke="black" d="M239.19,-2868C247.55,-2868 255.99,-2868 264.4,-2868"/>
<polygon fill="black" stroke="black" points="264.63,-2871.5 274.63,-2868 264.63,-2864.5 264.63,-2871.5"/>
</g>
<!-- ZcashFoundation/zebra#7934 -->
<g id="node58" class="node open">
<title>ZcashFoundation/zebra#7934</title>
<g id="a_node58"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7934" xlink:title="ZcashFoundation/zebra#7934&#10;change(zebra&#45;state): When&#10;the best chain changes,&#10;scan all the blocks in&#10;the best chain fork" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="239,-2815.5 8,-2815.5 8,-2732.5 239,-2732.5 239,-2815.5"/>
<text text-anchor="middle" x="123.5" y="-2800.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7934</text>
<text text-anchor="middle" x="123.5" y="-2785.3" font-family="Times,serif" font-size="14.00">change(zebra&#45;state): When</text>
<text text-anchor="middle" x="123.5" y="-2770.3" font-family="Times,serif" font-size="14.00">the best chain changes,</text>
<text text-anchor="middle" x="123.5" y="-2755.3" font-family="Times,serif" font-size="14.00">scan all the blocks in</text>
<text text-anchor="middle" x="123.5" y="-2740.3" font-family="Times,serif" font-size="14.00">the best chain fork</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7934&#45;&gt;ZcashFoundation/zebra#7927 -->
<g id="edge28" class="edge">
<title>ZcashFoundation/zebra#7934&#45;&gt;ZcashFoundation/zebra#7927</title>
<path fill="none" stroke="black" d="M239.19,-2774C247.55,-2774 255.99,-2774 264.4,-2774"/>
<polygon fill="black" stroke="black" points="264.63,-2777.5 274.63,-2774 264.63,-2770.5 264.63,-2777.5"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>