developers/zcash-zf-dag.html

800 lines
58 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="1138pt" height="2455pt"
viewBox="0.00 0.00 1138.00 2455.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 2451)">
<polygon fill="white" stroke="transparent" points="-4,4 -4,-2451 1134,-2451 1134,4 -4,4"/>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node1"><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="571.5,-240.5 340.5,-240.5 340.5,-187.5 571.5,-187.5 571.5,-240.5"/>
<text text-anchor="middle" x="456" y="-225.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="456" y="-210.3" font-family="Times,serif" font-size="14.00">Add metrics for chain</text>
<text text-anchor="middle" x="456" y="-195.3" font-family="Times,serif" font-size="14.00">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1135 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#1135</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1135" xlink:title="ZcashFoundation/zebra#1135&#10;Refactor Network and&#10;NetworkUpgrade enums into&#10;structs and a trait" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-327 24.5,-327 24.5,-259 255.5,-259 255.5,-327"/>
<text text-anchor="middle" x="140" y="-311.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#1135</text>
<text text-anchor="middle" x="140" y="-296.8" font-family="Times,serif" font-size="14.00">Refactor Network and</text>
<text text-anchor="middle" x="140" y="-281.8" font-family="Times,serif" font-size="14.00">NetworkUpgrade enums into</text>
<text text-anchor="middle" x="140" y="-266.8" font-family="Times,serif" font-size="14.00">structs and a trait</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1011 -->
<g id="node3" class="node closed">
<title>ZcashFoundation/zebra#1011</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1011" xlink:title="ZcashFoundation/zebra#1011&#10;Re&#45;enable the&#10;BlockVerifier continuous_&#10;blockchain_test" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="571.5,-327 340.5,-327 340.5,-259 571.5,-259 571.5,-327"/>
<text text-anchor="middle" x="456" y="-311.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#1011</text>
<text text-anchor="middle" x="456" y="-296.8" font-family="Times,serif" font-size="14.00">Re&#45;enable the</text>
<text text-anchor="middle" x="456" y="-281.8" font-family="Times,serif" font-size="14.00">BlockVerifier continuous_</text>
<text text-anchor="middle" x="456" y="-266.8" font-family="Times,serif" font-size="14.00">blockchain_test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1135&#45;&gt;ZcashFoundation/zebra#1011 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#1135&#45;&gt;ZcashFoundation/zebra#1011</title>
<path fill="none" stroke="black" d="M255.69,-293C279.95,-293 305.65,-293 330.25,-293"/>
<polygon fill="black" stroke="black" points="330.35,-296.5 340.35,-293 330.35,-289.5 330.35,-296.5"/>
</g>
<!-- ZcashFoundation/zebra#5472 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#5472</title>
<g id="a_node4"><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="255.5,-413 24.5,-413 24.5,-345 255.5,-345 255.5,-413"/>
<text text-anchor="middle" x="140" y="-397.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="140" y="-382.8" font-family="Times,serif" font-size="14.00">Support shielded coinbase</text>
<text text-anchor="middle" x="140" y="-367.8" font-family="Times,serif" font-size="14.00">in `getblocktemplate` for</text>
<text text-anchor="middle" x="140" y="-352.8" font-family="Times,serif" font-size="14.00">Sapling addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5929 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#5929</title>
<g id="a_node5"><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="571.5,-413 340.5,-413 340.5,-345 571.5,-345 571.5,-413"/>
<text text-anchor="middle" x="456" y="-397.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5929</text>
<text text-anchor="middle" x="456" y="-382.8" font-family="Times,serif" font-size="14.00">Support shielded coinbase</text>
<text text-anchor="middle" x="456" y="-367.8" font-family="Times,serif" font-size="14.00">in `getblocktemplate` for</text>
<text text-anchor="middle" x="456" y="-352.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="M255.69,-379C279.95,-379 305.65,-379 330.25,-379"/>
<polygon fill="black" stroke="black" points="330.35,-382.5 340.35,-379 330.35,-375.5 330.35,-382.5"/>
</g>
<!-- ZcashFoundation/zebra#7109 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#7109</title>
<g id="a_node6"><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="255.5,-162 24.5,-162 24.5,-94 255.5,-94 255.5,-162"/>
<text text-anchor="middle" x="140" y="-146.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7109</text>
<text text-anchor="middle" x="140" y="-131.8" font-family="Times,serif" font-size="14.00">Store cumulative work in</text>
<text text-anchor="middle" x="140" y="-116.8" font-family="Times,serif" font-size="14.00">the finalized state for</text>
<text text-anchor="middle" x="140" y="-101.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="M255.73,-161.22C275.79,-166.91 296.49,-172.69 316,-178 324.3,-180.26 332.89,-182.57 341.54,-184.86"/>
<polygon fill="black" stroke="black" points="340.76,-188.27 351.32,-187.45 342.55,-181.51 340.76,-188.27"/>
</g>
<!-- ZcashFoundation/zebra#6688 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#6688</title>
<g id="a_node7"><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="#c2e0c6" stroke="black" points="571.5,-169.5 340.5,-169.5 340.5,-86.5 571.5,-86.5 571.5,-169.5"/>
<text text-anchor="middle" x="456" y="-154.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6688</text>
<text text-anchor="middle" x="456" y="-139.3" font-family="Times,serif" font-size="14.00">`getnetworksolps` &amp;</text>
<text text-anchor="middle" x="456" y="-124.3" font-family="Times,serif" font-size="14.00">`getnetworkhashps` RPCs</text>
<text text-anchor="middle" x="456" y="-109.3" font-family="Times,serif" font-size="14.00">hang with large</text>
<text text-anchor="middle" x="456" y="-94.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="M255.69,-128C279.95,-128 305.65,-128 330.25,-128"/>
<polygon fill="black" stroke="black" points="330.35,-131.5 340.35,-128 330.35,-124.5 330.35,-131.5"/>
</g>
<!-- ZcashFoundation/zebra#7110 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#7110</title>
<g id="a_node8"><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="571.5,-68 340.5,-68 340.5,0 571.5,0 571.5,-68"/>
<text text-anchor="middle" x="456" y="-52.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7110</text>
<text text-anchor="middle" x="456" y="-37.8" font-family="Times,serif" font-size="14.00">Show the full chain work</text>
<text text-anchor="middle" x="456" y="-22.8" font-family="Times,serif" font-size="14.00">in the chain fork</text>
<text text-anchor="middle" x="456" y="-7.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="M254.81,-93.93C279.78,-86.45 306.34,-78.5 331.68,-70.92"/>
<polygon fill="black" stroke="black" points="332.74,-74.25 341.32,-68.03 330.74,-67.55 332.74,-74.25"/>
</g>
<!-- ZcashFoundation/zebra#7403 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#7403</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7403" xlink:title="ZcashFoundation/zebra#7403&#10;Make `getnetworksolps` &amp;&#10;`getnetworkhashps` RPCs&#10;support the full height&#10;range" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="863,-169.5 632,-169.5 632,-86.5 863,-86.5 863,-169.5"/>
<text text-anchor="middle" x="747.5" y="-154.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7403</text>
<text text-anchor="middle" x="747.5" y="-139.3" font-family="Times,serif" font-size="14.00">Make `getnetworksolps` &amp;</text>
<text text-anchor="middle" x="747.5" y="-124.3" font-family="Times,serif" font-size="14.00">`getnetworkhashps` RPCs</text>
<text text-anchor="middle" x="747.5" y="-109.3" font-family="Times,serif" font-size="14.00">support the full height</text>
<text text-anchor="middle" x="747.5" y="-94.3" font-family="Times,serif" font-size="14.00">range</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="M571.83,-128C588.18,-128 605.05,-128 621.57,-128"/>
<polygon fill="black" stroke="black" points="621.81,-131.5 631.81,-128 621.81,-124.5 621.81,-131.5"/>
</g>
<!-- ZcashFoundation/zebra#5604 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#5604</title>
<g id="a_node10"><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="255.5,-514.5 24.5,-514.5 24.5,-431.5 255.5,-431.5 255.5,-514.5"/>
<text text-anchor="middle" x="140" y="-499.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5604</text>
<text text-anchor="middle" x="140" y="-484.3" font-family="Times,serif" font-size="14.00">Send the same</text>
<text text-anchor="middle" x="140" y="-469.3" font-family="Times,serif" font-size="14.00">getblocktemplate RPC</text>
<text text-anchor="middle" x="140" y="-454.3" font-family="Times,serif" font-size="14.00">response until the</text>
<text text-anchor="middle" x="140" y="-439.3" font-family="Times,serif" font-size="14.00">template would change</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5911 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#5911</title>
<g id="a_node11"><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="255.5,-601 24.5,-601 24.5,-533 255.5,-533 255.5,-601"/>
<text text-anchor="middle" x="140" y="-585.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5911</text>
<text text-anchor="middle" x="140" y="-570.8" font-family="Times,serif" font-size="14.00">Store the serialized</text>
<text text-anchor="middle" x="140" y="-555.8" font-family="Times,serif" font-size="14.00">block size in the</text>
<text text-anchor="middle" x="140" y="-540.8" font-family="Times,serif" font-size="14.00">database</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node12" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node12"><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="571.5,-737.5 340.5,-737.5 340.5,-684.5 571.5,-684.5 571.5,-737.5"/>
<text text-anchor="middle" x="456" y="-722.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="456" y="-707.3" font-family="Times,serif" font-size="14.00">Improve note commitment</text>
<text text-anchor="middle" x="456" y="-692.3" font-family="Times,serif" font-size="14.00">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node13"><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="255.5,-920 24.5,-920 24.5,-822 255.5,-822 255.5,-920"/>
<text text-anchor="middle" x="140" y="-904.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="140" y="-889.8" font-family="Times,serif" font-size="14.00">Improve</text>
<text text-anchor="middle" x="140" y="-874.8" font-family="Times,serif" font-size="14.00">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="140" y="-859.8" font-family="Times,serif" font-size="14.00">typing, so we don&#39;t</text>
<text text-anchor="middle" x="140" y="-844.8" font-family="Times,serif" font-size="14.00">accidentally break syncer</text>
<text text-anchor="middle" x="140" y="-829.8" font-family="Times,serif" font-size="14.00">error handling</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5487 -->
<g id="node14" class="node closed">
<title>ZcashFoundation/zebra#5487</title>
<g id="a_node14"><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="571.5,-905 340.5,-905 340.5,-837 571.5,-837 571.5,-905"/>
<text text-anchor="middle" x="456" y="-889.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="456" y="-874.8" font-family="Times,serif" font-size="14.00">Return detailed errors</text>
<text text-anchor="middle" x="456" y="-859.8" font-family="Times,serif" font-size="14.00">from the `submitblock`</text>
<text text-anchor="middle" x="456" y="-844.8" font-family="Times,serif" font-size="14.00">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#5487 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#5487</title>
<path fill="none" stroke="black" d="M255.69,-871C279.95,-871 305.65,-871 330.25,-871"/>
<polygon fill="black" stroke="black" points="330.35,-874.5 340.35,-871 330.35,-867.5 330.35,-874.5"/>
</g>
<!-- ZcashFoundation/zebra#5709 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#5709</title>
<g id="a_node15"><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="255.5,-1006 24.5,-1006 24.5,-938 255.5,-938 255.5,-1006"/>
<text text-anchor="middle" x="140" y="-990.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5709</text>
<text text-anchor="middle" x="140" y="-975.8" font-family="Times,serif" font-size="14.00">Fix repeated block</text>
<text text-anchor="middle" x="140" y="-960.8" font-family="Times,serif" font-size="14.00">timeouts during initial</text>
<text text-anchor="middle" x="140" y="-945.8" font-family="Times,serif" font-size="14.00">sync</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5425 -->
<g id="node16" class="node closed">
<title>ZcashFoundation/zebra#5425</title>
<g id="a_node16"><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="571.5,-1006 340.5,-1006 340.5,-938 571.5,-938 571.5,-1006"/>
<text text-anchor="middle" x="456" y="-990.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5425</text>
<text text-anchor="middle" x="456" y="-975.8" font-family="Times,serif" font-size="14.00">Parallelise note</text>
<text text-anchor="middle" x="456" y="-960.8" font-family="Times,serif" font-size="14.00">commitment tree point</text>
<text text-anchor="middle" x="456" y="-945.8" font-family="Times,serif" font-size="14.00">conversions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425</title>
<path fill="none" stroke="black" d="M255.69,-972C279.95,-972 305.65,-972 330.25,-972"/>
<polygon fill="black" stroke="black" points="330.35,-975.5 340.35,-972 330.35,-968.5 330.35,-975.5"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node17"><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="255.5,-803.5 24.5,-803.5 24.5,-720.5 255.5,-720.5 255.5,-803.5"/>
<text text-anchor="middle" x="140" y="-788.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="140" y="-773.3" font-family="Times,serif" font-size="14.00">Add an NU5 block test</text>
<text text-anchor="middle" x="140" y="-758.3" font-family="Times,serif" font-size="14.00">vector that contains many</text>
<text text-anchor="middle" x="140" y="-743.3" font-family="Times,serif" font-size="14.00">shielded Orchard</text>
<text text-anchor="middle" x="140" y="-728.3" font-family="Times,serif" font-size="14.00">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="black" d="M255.69,-743.37C279.95,-739.43 305.65,-735.26 330.25,-731.26"/>
<polygon fill="black" stroke="black" points="331.04,-734.68 340.35,-729.62 329.92,-727.77 331.04,-734.68"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node18"><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="255.5,-702.5 24.5,-702.5 24.5,-619.5 255.5,-619.5 255.5,-702.5"/>
<text text-anchor="middle" x="140" y="-687.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="140" y="-672.3" font-family="Times,serif" font-size="14.00">Add an NU5 block test</text>
<text text-anchor="middle" x="140" y="-657.3" font-family="Times,serif" font-size="14.00">vector that contains many</text>
<text text-anchor="middle" x="140" y="-642.3" font-family="Times,serif" font-size="14.00">shielded Sapling</text>
<text text-anchor="middle" x="140" y="-627.3" font-family="Times,serif" font-size="14.00">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="black" d="M255.69,-679.26C279.95,-683.13 305.65,-687.22 330.25,-691.14"/>
<polygon fill="black" stroke="black" points="329.93,-694.63 340.35,-692.74 331.02,-687.72 329.93,-694.63"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4554" xlink:title="ZcashFoundation/zebra#4554&#10;benchmarks: create a&#10;ticket if zebrad mainnet&#10;sync time increases&#10;significantly" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-1107.5 24.5,-1107.5 24.5,-1024.5 255.5,-1024.5 255.5,-1107.5"/>
<text text-anchor="middle" x="140" y="-1092.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="140" y="-1077.3" font-family="Times,serif" font-size="14.00">benchmarks: create a</text>
<text text-anchor="middle" x="140" y="-1062.3" font-family="Times,serif" font-size="14.00">ticket if zebrad mainnet</text>
<text text-anchor="middle" x="140" y="-1047.3" font-family="Times,serif" font-size="14.00">sync time increases</text>
<text text-anchor="middle" x="140" y="-1032.3" font-family="Times,serif" font-size="14.00">significantly</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4545" xlink:title="ZcashFoundation/zebra#4545&#10;Start disconnecting from&#10;outdated peers before&#10;network upgrade&#10;activation" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-1208.5 24.5,-1208.5 24.5,-1125.5 255.5,-1125.5 255.5,-1208.5"/>
<text text-anchor="middle" x="140" y="-1193.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="140" y="-1178.3" font-family="Times,serif" font-size="14.00">Start disconnecting from</text>
<text text-anchor="middle" x="140" y="-1163.3" font-family="Times,serif" font-size="14.00">outdated peers before</text>
<text text-anchor="middle" x="140" y="-1148.3" font-family="Times,serif" font-size="14.00">network upgrade</text>
<text text-anchor="middle" x="140" y="-1133.3" font-family="Times,serif" font-size="14.00">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node21" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node21"><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="571.5,-1201 340.5,-1201 340.5,-1133 571.5,-1133 571.5,-1201"/>
<text text-anchor="middle" x="456" y="-1185.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="456" y="-1170.8" font-family="Times,serif" font-size="14.00">Prefer faster peers, but</text>
<text text-anchor="middle" x="456" y="-1155.8" font-family="Times,serif" font-size="14.00">if all peers are slow,</text>
<text text-anchor="middle" x="456" y="-1140.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="edge11" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="black" d="M255.69,-1167C279.95,-1167 305.65,-1167 330.25,-1167"/>
<polygon fill="black" stroke="black" points="330.35,-1170.5 340.35,-1167 330.35,-1163.5 330.35,-1170.5"/>
</g>
<!-- ZcashFoundation/zebra#7450 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#7450</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7450" xlink:title="ZcashFoundation/zebra#7450&#10;Manually test&#10;`z_getsubtreesbyindex`&#10;using `zcash&#45;rpc&#45;diff`" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-1432 24.5,-1432 24.5,-1364 255.5,-1364 255.5,-1432"/>
<text text-anchor="middle" x="140" y="-1416.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7450</text>
<text text-anchor="middle" x="140" y="-1401.8" font-family="Times,serif" font-size="14.00">Manually test</text>
<text text-anchor="middle" x="140" y="-1386.8" font-family="Times,serif" font-size="14.00">`z_getsubtreesbyindex`</text>
<text text-anchor="middle" x="140" y="-1371.8" font-family="Times,serif" font-size="14.00">using `zcash&#45;rpc&#45;diff`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7449 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#7449</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7449" xlink:title="ZcashFoundation/zebra#7449&#10;Test the&#10;`z_getsubtreesbyindex`&#10;RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="571.5,-1749 340.5,-1749 340.5,-1681 571.5,-1681 571.5,-1749"/>
<text text-anchor="middle" x="456" y="-1733.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7449</text>
<text text-anchor="middle" x="456" y="-1718.8" font-family="Times,serif" font-size="14.00">Test the</text>
<text text-anchor="middle" x="456" y="-1703.8" font-family="Times,serif" font-size="14.00">`z_getsubtreesbyindex`</text>
<text text-anchor="middle" x="456" y="-1688.8" font-family="Times,serif" font-size="14.00">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7463 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#7463</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7463" xlink:title="ZcashFoundation/zebra#7463&#10;Rename subtree methods&#10;and types to &quot;subtree&#10;root&quot;" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="863,-1608 632,-1608 632,-1540 863,-1540 863,-1608"/>
<text text-anchor="middle" x="747.5" y="-1592.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7463</text>
<text text-anchor="middle" x="747.5" y="-1577.8" font-family="Times,serif" font-size="14.00">Rename subtree methods</text>
<text text-anchor="middle" x="747.5" y="-1562.8" font-family="Times,serif" font-size="14.00">and types to &quot;subtree</text>
<text text-anchor="middle" x="747.5" y="-1547.8" font-family="Times,serif" font-size="14.00">root&quot;</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7449&#45;&gt;ZcashFoundation/zebra#7463 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#7449&#45;&gt;ZcashFoundation/zebra#7463</title>
<path fill="none" stroke="black" d="M571.73,-1681.4C580.04,-1678.1 588.21,-1674.7 596,-1671 629.52,-1655.2 664.45,-1633.1 692.21,-1614"/>
<polygon fill="black" stroke="black" points="694.35,-1616.77 700.58,-1608.2 690.37,-1611.02 694.35,-1616.77"/>
</g>
<!-- ZcashFoundation/zebra#7451 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#7451</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7451" xlink:title="ZcashFoundation/zebra#7451&#10;Test&#10;`z_getsubtreesbyindex`&#10;using a `lightwalletd`&#10;gRPC request" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-1662.5 340.5,-1662.5 340.5,-1579.5 571.5,-1579.5 571.5,-1662.5"/>
<text text-anchor="middle" x="456" y="-1647.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7451</text>
<text text-anchor="middle" x="456" y="-1632.3" font-family="Times,serif" font-size="14.00">Test</text>
<text text-anchor="middle" x="456" y="-1617.3" font-family="Times,serif" font-size="14.00">`z_getsubtreesbyindex`</text>
<text text-anchor="middle" x="456" y="-1602.3" font-family="Times,serif" font-size="14.00">using a `lightwalletd`</text>
<text text-anchor="middle" x="456" y="-1587.3" font-family="Times,serif" font-size="14.00">gRPC request</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7451&#45;&gt;ZcashFoundation/zebra#7463 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#7451&#45;&gt;ZcashFoundation/zebra#7463</title>
<path fill="none" stroke="black" d="M571.83,-1602.4C588.18,-1599.7 605.05,-1597 621.57,-1594.3"/>
<polygon fill="black" stroke="black" points="622.52,-1597.69 631.81,-1592.6 621.37,-1590.79 622.52,-1597.69"/>
</g>
<!-- ZcashFoundation/zebra#7446 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#7446</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7446" xlink:title="ZcashFoundation/zebra#7446&#10;Add format checks with&#10;fixed subtree values from&#10;`zcashd`" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="571.5,-1389 340.5,-1389 340.5,-1321 571.5,-1321 571.5,-1389"/>
<text text-anchor="middle" x="456" y="-1373.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7446</text>
<text text-anchor="middle" x="456" y="-1358.8" font-family="Times,serif" font-size="14.00">Add format checks with</text>
<text text-anchor="middle" x="456" y="-1343.8" font-family="Times,serif" font-size="14.00">fixed subtree values from</text>
<text text-anchor="middle" x="456" y="-1328.8" font-family="Times,serif" font-size="14.00">`zcashd`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7377 -->
<g id="node27" class="node closed">
<title>ZcashFoundation/zebra#7377</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/7377" xlink:title="ZcashFoundation/zebra#7377&#10;change(state): Move&#10;format upgrades to&#10;separate modules" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="1130,-1389 899,-1389 899,-1385 895,-1385 895,-1381 899,-1381 899,-1329 895,-1329 895,-1325 899,-1325 899,-1321 1130,-1321 1130,-1389"/>
<polyline fill="none" stroke="black" points="899,-1385 903,-1385 903,-1381 899,-1381 "/>
<polyline fill="none" stroke="black" points="899,-1329 903,-1329 903,-1325 899,-1325 "/>
<text text-anchor="middle" x="1014.5" y="-1373.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7377</text>
<text text-anchor="middle" x="1014.5" y="-1358.8" font-family="Times,serif" font-size="14.00">change(state): Move</text>
<text text-anchor="middle" x="1014.5" y="-1343.8" font-family="Times,serif" font-size="14.00">format upgrades to</text>
<text text-anchor="middle" x="1014.5" y="-1328.8" font-family="Times,serif" font-size="14.00">separate modules</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7446&#45;&gt;ZcashFoundation/zebra#7377 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#7446&#45;&gt;ZcashFoundation/zebra#7377</title>
<path fill="none" stroke="black" d="M567.31,-1389.1C593.82,-1396.7 618.39,-1403.1 632,-1405 733.67,-1419.2 761.65,-1421.4 863,-1405 880.77,-1402.1 899.29,-1397.5 917,-1392.1"/>
<polygon fill="black" stroke="black" points="918.22,-1395.39 926.75,-1389.1 916.16,-1388.7 918.22,-1395.39"/>
</g>
<!-- ZcashFoundation/zebra#7441 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#7441</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7441" xlink:title="ZcashFoundation/zebra#7441&#10;Decide if we need to&#10;speed up adding subtrees&#10;for existing database&#10;blocks" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="863,-1396.5 632,-1396.5 632,-1313.5 863,-1313.5 863,-1396.5"/>
<text text-anchor="middle" x="747.5" y="-1381.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7441</text>
<text text-anchor="middle" x="747.5" y="-1366.3" font-family="Times,serif" font-size="14.00">Decide if we need to</text>
<text text-anchor="middle" x="747.5" y="-1351.3" font-family="Times,serif" font-size="14.00">speed up adding subtrees</text>
<text text-anchor="middle" x="747.5" y="-1336.3" font-family="Times,serif" font-size="14.00">for existing database</text>
<text text-anchor="middle" x="747.5" y="-1321.3" font-family="Times,serif" font-size="14.00">blocks</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7446&#45;&gt;ZcashFoundation/zebra#7441 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#7446&#45;&gt;ZcashFoundation/zebra#7441</title>
<path fill="none" stroke="black" d="M571.83,-1355C588.18,-1355 605.05,-1355 621.57,-1355"/>
<polygon fill="black" stroke="black" points="621.81,-1358.5 631.81,-1355 621.81,-1351.5 621.81,-1358.5"/>
</g>
<!-- ZcashFoundation/zebra#7441&#45;&gt;ZcashFoundation/zebra#7377 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#7441&#45;&gt;ZcashFoundation/zebra#7377</title>
<path fill="none" stroke="black" d="M863.19,-1355C871.55,-1355 879.99,-1355 888.4,-1355"/>
<polygon fill="black" stroke="black" points="888.63,-1358.5 898.63,-1355 888.63,-1351.5 888.63,-1358.5"/>
</g>
<!-- ZcashFoundation/zebra#7444 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#7444</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7444" xlink:title="ZcashFoundation/zebra#7444&#10;Correctly populate&#10;subtree values in ZebraDb&#10;::note_commitment_trees()" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="571.5,-1561 340.5,-1561 340.5,-1493 571.5,-1493 571.5,-1561"/>
<text text-anchor="middle" x="456" y="-1545.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7444</text>
<text text-anchor="middle" x="456" y="-1530.8" font-family="Times,serif" font-size="14.00">Correctly populate</text>
<text text-anchor="middle" x="456" y="-1515.8" font-family="Times,serif" font-size="14.00">subtree values in ZebraDb</text>
<text text-anchor="middle" x="456" y="-1500.8" font-family="Times,serif" font-size="14.00">::note_commitment_trees()</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7444&#45;&gt;ZcashFoundation/zebra#7463 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#7444&#45;&gt;ZcashFoundation/zebra#7463</title>
<path fill="none" stroke="black" d="M571.83,-1545.6C588.18,-1548.3 605.05,-1551 621.57,-1553.7"/>
<polygon fill="black" stroke="black" points="621.37,-1557.21 631.81,-1555.4 622.52,-1550.31 621.37,-1557.21"/>
</g>
<!-- ZcashFoundation/zebra#7443 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#7443</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7443" xlink:title="ZcashFoundation/zebra#7443&#10;Fix proptest coverage of&#10;note commitment subtree&#10;serialization" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="571.5,-1835 340.5,-1835 340.5,-1767 571.5,-1767 571.5,-1835"/>
<text text-anchor="middle" x="456" y="-1819.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7443</text>
<text text-anchor="middle" x="456" y="-1804.8" font-family="Times,serif" font-size="14.00">Fix proptest coverage of</text>
<text text-anchor="middle" x="456" y="-1789.8" font-family="Times,serif" font-size="14.00">note commitment subtree</text>
<text text-anchor="middle" x="456" y="-1774.8" font-family="Times,serif" font-size="14.00">serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7443&#45;&gt;ZcashFoundation/zebra#7463 -->
<g id="edge18" class="edge">
<title>ZcashFoundation/zebra#7443&#45;&gt;ZcashFoundation/zebra#7463</title>
<path fill="none" stroke="black" d="M571.81,-1771.6C580.29,-1767.6 588.46,-1763.1 596,-1758 650.65,-1721.2 695.67,-1658.7 721.81,-1616.9"/>
<polygon fill="black" stroke="black" points="724.84,-1618.65 727.1,-1608.3 718.88,-1614.98 724.84,-1618.65"/>
</g>
<!-- ZcashFoundation/zebra#7447 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#7447</title>
<g id="a_node31"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7447" xlink:title="ZcashFoundation/zebra#7447&#10;Compare subtree roots in&#10;non&#45;finalized chains when&#10;evaluating chain equality" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="571.5,-1475 340.5,-1475 340.5,-1407 571.5,-1407 571.5,-1475"/>
<text text-anchor="middle" x="456" y="-1459.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7447</text>
<text text-anchor="middle" x="456" y="-1444.8" font-family="Times,serif" font-size="14.00">Compare subtree roots in</text>
<text text-anchor="middle" x="456" y="-1429.8" font-family="Times,serif" font-size="14.00">non&#45;finalized chains when</text>
<text text-anchor="middle" x="456" y="-1414.8" font-family="Times,serif" font-size="14.00">evaluating chain equality</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7447&#45;&gt;ZcashFoundation/zebra#7463 -->
<g id="edge19" class="edge">
<title>ZcashFoundation/zebra#7447&#45;&gt;ZcashFoundation/zebra#7463</title>
<path fill="none" stroke="black" d="M571.6,-1474C579.94,-1477.2 588.16,-1480.5 596,-1484 627.49,-1498 660.57,-1517.3 687.67,-1534.4"/>
<polygon fill="black" stroke="black" points="685.92,-1537.44 696.25,-1539.8 689.65,-1531.51 685.92,-1537.44"/>
</g>
<!-- ZcashFoundation/zebra#7447&#45;&gt;ZcashFoundation/zebra#7441 -->
<g id="edge20" class="edge">
<title>ZcashFoundation/zebra#7447&#45;&gt;ZcashFoundation/zebra#7441</title>
<path fill="none" stroke="black" d="M571.83,-1406.9C588.33,-1402 605.37,-1396.9 622.04,-1392"/>
<polygon fill="black" stroke="black" points="623.22,-1395.3 631.81,-1389.1 621.23,-1388.59 623.22,-1395.3"/>
</g>
<!-- ZcashFoundation/zebra#7407 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#7407</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7407" xlink:title="ZcashFoundation/zebra#7407&#10;Make subtree index&#10;upgrade compatible with&#10;lightwalletd back&#45;&#10;tracking algorithm" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="571.5,-1302.5 340.5,-1302.5 340.5,-1219.5 571.5,-1219.5 571.5,-1302.5"/>
<text text-anchor="middle" x="456" y="-1287.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7407</text>
<text text-anchor="middle" x="456" y="-1272.3" font-family="Times,serif" font-size="14.00">Make subtree index</text>
<text text-anchor="middle" x="456" y="-1257.3" font-family="Times,serif" font-size="14.00">upgrade compatible with</text>
<text text-anchor="middle" x="456" y="-1242.3" font-family="Times,serif" font-size="14.00">lightwalletd back&#45;</text>
<text text-anchor="middle" x="456" y="-1227.3" font-family="Times,serif" font-size="14.00">tracking algorithm</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7407&#45;&gt;ZcashFoundation/zebra#7463 -->
<g id="edge21" class="edge">
<title>ZcashFoundation/zebra#7407&#45;&gt;ZcashFoundation/zebra#7463</title>
<path fill="none" stroke="black" d="M571.55,-1293.5C580.44,-1298.8 588.76,-1304.9 596,-1312 627.62,-1343.1 611.44,-1365.7 632,-1405 655.8,-1450.4 689.28,-1498.5 713.9,-1531.7"/>
<polygon fill="black" stroke="black" points="711.16,-1533.88 719.95,-1539.8 716.77,-1529.69 711.16,-1533.88"/>
</g>
<!-- ZcashFoundation/zebra#7407&#45;&gt;ZcashFoundation/zebra#7377 -->
<g id="edge22" class="edge">
<title>ZcashFoundation/zebra#7407&#45;&gt;ZcashFoundation/zebra#7377</title>
<path fill="none" stroke="black" d="M571.83,-1266.4C653.74,-1271.9 766.08,-1282.7 863,-1304 879.67,-1307.7 897.07,-1312.5 913.87,-1317.8"/>
<polygon fill="black" stroke="black" points="913.1,-1321.23 923.69,-1321 915.27,-1314.57 913.1,-1321.23"/>
</g>
<!-- ZcashFoundation/zebra#7407&#45;&gt;ZcashFoundation/zebra#7441 -->
<g id="edge23" class="edge">
<title>ZcashFoundation/zebra#7407&#45;&gt;ZcashFoundation/zebra#7441</title>
<path fill="none" stroke="black" d="M571.83,-1298.3C588.33,-1303.6 605.37,-1309.2 622.04,-1314.6"/>
<polygon fill="black" stroke="black" points="621.22,-1318.01 631.81,-1317.8 623.4,-1311.36 621.22,-1318.01"/>
</g>
<!-- ZcashFoundation/zebra#7263 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#7263</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7263" xlink:title="ZcashFoundation/zebra#7263&#10;Return errors instead of&#10;panicking in methods for&#10;`Height`s" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="863,-1257 632,-1257 632,-1189 863,-1189 863,-1257"/>
<text text-anchor="middle" x="747.5" y="-1241.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7263</text>
<text text-anchor="middle" x="747.5" y="-1226.8" font-family="Times,serif" font-size="14.00">Return errors instead of</text>
<text text-anchor="middle" x="747.5" y="-1211.8" font-family="Times,serif" font-size="14.00">panicking in methods for</text>
<text text-anchor="middle" x="747.5" y="-1196.8" font-family="Times,serif" font-size="14.00">`Height`s</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7407&#45;&gt;ZcashFoundation/zebra#7263 -->
<g id="edge24" class="edge">
<title>ZcashFoundation/zebra#7407&#45;&gt;ZcashFoundation/zebra#7263</title>
<path fill="none" stroke="black" d="M571.83,-1245.9C588.18,-1243.8 605.05,-1241.6 621.57,-1239.4"/>
<polygon fill="black" stroke="black" points="622.33,-1242.83 631.81,-1238.1 621.45,-1235.89 622.33,-1242.83"/>
</g>
<!-- ZcashFoundation/zebra#7383 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#7383</title>
<g id="a_node34"><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" points="863,-1171 632,-1171 632,-1073 863,-1073 863,-1171"/>
<text text-anchor="middle" x="747.5" y="-1155.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7383</text>
<text text-anchor="middle" x="747.5" y="-1140.8" font-family="Times,serif" font-size="14.00">(De)Serialize</text>
<text text-anchor="middle" x="747.5" y="-1125.8" font-family="Times,serif" font-size="14.00">`NoteCommitmentTree`s</text>
<text text-anchor="middle" x="747.5" y="-1110.8" font-family="Times,serif" font-size="14.00">using supported</text>
<text text-anchor="middle" x="747.5" y="-1095.8" font-family="Times,serif" font-size="14.00">serialization format</text>
<text text-anchor="middle" x="747.5" y="-1080.8" font-family="Times,serif" font-size="14.00">instead of `bincode`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7407&#45;&gt;ZcashFoundation/zebra#7383 -->
<g id="edge25" class="edge">
<title>ZcashFoundation/zebra#7407&#45;&gt;ZcashFoundation/zebra#7383</title>
<path fill="none" stroke="black" d="M571.85,-1222.5C580.18,-1218.6 588.32,-1214.4 596,-1210 614.04,-1199.6 614.6,-1191.4 632,-1180 633.71,-1178.9 635.45,-1177.8 637.2,-1176.6"/>
<polygon fill="black" stroke="black" points="639.46,-1179.32 646.14,-1171.1 635.79,-1173.36 639.46,-1179.32"/>
</g>
<!-- ZcashFoundation/zebra#7361 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#7361</title>
<g id="a_node35"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7361" xlink:title="ZcashFoundation/zebra#7361&#10;Make getblocktemplate&#45;&#10;rpcs a default feature" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-1948.5 24.5,-1948.5 24.5,-1895.5 255.5,-1895.5 255.5,-1948.5"/>
<text text-anchor="middle" x="140" y="-1933.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7361</text>
<text text-anchor="middle" x="140" y="-1918.3" font-family="Times,serif" font-size="14.00">Make getblocktemplate&#45;</text>
<text text-anchor="middle" x="140" y="-1903.3" font-family="Times,serif" font-size="14.00">rpcs a default feature</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7415 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#7415</title>
<g id="a_node36"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7415" xlink:title="ZcashFoundation/zebra#7415&#10;devops: Remove redundant&#10;tags in Docker Hub" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-1992.5 340.5,-1992.5 340.5,-1939.5 571.5,-1939.5 571.5,-1992.5"/>
<text text-anchor="middle" x="456" y="-1977.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7415</text>
<text text-anchor="middle" x="456" y="-1962.3" font-family="Times,serif" font-size="14.00">devops: Remove redundant</text>
<text text-anchor="middle" x="456" y="-1947.3" font-family="Times,serif" font-size="14.00">tags in Docker Hub</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7361&#45;&gt;ZcashFoundation/zebra#7415 -->
<g id="edge26" class="edge">
<title>ZcashFoundation/zebra#7361&#45;&gt;ZcashFoundation/zebra#7415</title>
<path fill="none" stroke="black" d="M255.69,-1938.1C279.95,-1941.5 305.65,-1945.1 330.25,-1948.5"/>
<polygon fill="black" stroke="black" points="329.96,-1951.99 340.35,-1949.9 330.93,-1945.06 329.96,-1951.99"/>
</g>
<!-- ZcashFoundation/zebra#7362 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#7362</title>
<g id="a_node37"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7362" xlink:title="ZcashFoundation/zebra#7362&#10;Remove extra tests for&#10;getblocktemplate&#45;rpcs&#10;feature" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-1921 340.5,-1921 340.5,-1853 571.5,-1853 571.5,-1921"/>
<text text-anchor="middle" x="456" y="-1905.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7362</text>
<text text-anchor="middle" x="456" y="-1890.8" font-family="Times,serif" font-size="14.00">Remove extra tests for</text>
<text text-anchor="middle" x="456" y="-1875.8" font-family="Times,serif" font-size="14.00">getblocktemplate&#45;rpcs</text>
<text text-anchor="middle" x="456" y="-1860.8" font-family="Times,serif" font-size="14.00">feature</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7361&#45;&gt;ZcashFoundation/zebra#7362 -->
<g id="edge27" class="edge">
<title>ZcashFoundation/zebra#7361&#45;&gt;ZcashFoundation/zebra#7362</title>
<path fill="none" stroke="black" d="M255.69,-1909.2C279.95,-1906.5 305.65,-1903.6 330.25,-1900.9"/>
<polygon fill="black" stroke="black" points="330.79,-1904.36 340.35,-1899.8 330.03,-1897.4 330.79,-1904.36"/>
</g>
<!-- ZcashFoundation/zebra#7416 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#7416</title>
<g id="a_node38"><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="255.5,-2071 24.5,-2071 24.5,-2003 255.5,-2003 255.5,-2071"/>
<text text-anchor="middle" x="140" y="-2055.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7416</text>
<text text-anchor="middle" x="140" y="-2040.8" font-family="Times,serif" font-size="14.00">diagnostic: Log column</text>
<text text-anchor="middle" x="140" y="-2025.8" font-family="Times,serif" font-size="14.00">family and database size</text>
<text text-anchor="middle" x="140" y="-2010.8" font-family="Times,serif" font-size="14.00">on startup and shutdown</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5718 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#5718</title>
<g id="a_node39"><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="571.5,-2063.5 340.5,-2063.5 340.5,-2010.5 571.5,-2010.5 571.5,-2063.5"/>
<text text-anchor="middle" x="456" y="-2048.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5718</text>
<text text-anchor="middle" x="456" y="-2033.3" font-family="Times,serif" font-size="14.00">Reduce Zebra disk usage</text>
<text text-anchor="middle" x="456" y="-2018.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="edge28" class="edge">
<title>ZcashFoundation/zebra#7416&#45;&gt;ZcashFoundation/zebra#5718</title>
<path fill="none" stroke="black" d="M255.69,-2037C279.95,-2037 305.65,-2037 330.25,-2037"/>
<polygon fill="black" stroke="black" points="330.35,-2040.5 340.35,-2037 330.35,-2033.5 330.35,-2040.5"/>
</g>
<!-- ZcashFoundation/zebra#6642 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#6642</title>
<g id="a_node40"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6642" xlink:title="ZcashFoundation/zebra#6642&#10;Tracking: Update&#10;`lightwalletd` RPCs for&#10;&quot;spend before sync&quot;&#10;algorithm" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-2172.5 24.5,-2172.5 24.5,-2089.5 255.5,-2089.5 255.5,-2172.5"/>
<text text-anchor="middle" x="140" y="-2157.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6642</text>
<text text-anchor="middle" x="140" y="-2142.3" font-family="Times,serif" font-size="14.00">Tracking: Update</text>
<text text-anchor="middle" x="140" y="-2127.3" font-family="Times,serif" font-size="14.00">`lightwalletd` RPCs for</text>
<text text-anchor="middle" x="140" y="-2112.3" font-family="Times,serif" font-size="14.00">&quot;spend before sync&quot;</text>
<text text-anchor="middle" x="140" y="-2097.3" font-family="Times,serif" font-size="14.00">algorithm</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7335 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#7335</title>
<g id="a_node41"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7335" xlink:title="ZcashFoundation/zebra#7335&#10;Fix lightwalletd sync&#10;finish detection code in&#10;tests" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-1655 24.5,-1655 24.5,-1587 255.5,-1587 255.5,-1655"/>
<text text-anchor="middle" x="140" y="-1639.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7335</text>
<text text-anchor="middle" x="140" y="-1624.8" font-family="Times,serif" font-size="14.00">Fix lightwalletd sync</text>
<text text-anchor="middle" x="140" y="-1609.8" font-family="Times,serif" font-size="14.00">finish detection code in</text>
<text text-anchor="middle" x="140" y="-1594.8" font-family="Times,serif" font-size="14.00">tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7335&#45;&gt;ZcashFoundation/zebra#7451 -->
<g id="edge29" class="edge">
<title>ZcashFoundation/zebra#7335&#45;&gt;ZcashFoundation/zebra#7451</title>
<path fill="none" stroke="black" d="M255.69,-1621C279.95,-1621 305.65,-1621 330.25,-1621"/>
<polygon fill="black" stroke="black" points="330.35,-1624.5 340.35,-1621 330.35,-1617.5 330.35,-1624.5"/>
</g>
<!-- ZcashFoundation/zebra#6812 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#6812</title>
<g id="a_node42"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6812" xlink:title="ZcashFoundation/zebra#6812&#10;Process abort in state&#10;tests on some macOS&#10;versions with Rust 1.70" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-2259 24.5,-2259 24.5,-2191 255.5,-2191 255.5,-2259"/>
<text text-anchor="middle" x="140" y="-2243.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6812</text>
<text text-anchor="middle" x="140" y="-2228.8" font-family="Times,serif" font-size="14.00">Process abort in state</text>
<text text-anchor="middle" x="140" y="-2213.8" font-family="Times,serif" font-size="14.00">tests on some macOS</text>
<text text-anchor="middle" x="140" y="-2198.8" font-family="Times,serif" font-size="14.00">versions with Rust 1.70</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6824 -->
<g id="node43" class="node closed">
<title>ZcashFoundation/zebra#6824</title>
<g id="a_node43"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6824" xlink:title="ZcashFoundation/zebra#6824&#10;Restore macOS tests" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="571.5,-2244 340.5,-2244 340.5,-2206 571.5,-2206 571.5,-2244"/>
<text text-anchor="middle" x="456" y="-2228.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6824</text>
<text text-anchor="middle" x="456" y="-2213.8" font-family="Times,serif" font-size="14.00">Restore macOS tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6812&#45;&gt;ZcashFoundation/zebra#6824 -->
<g id="edge30" class="edge">
<title>ZcashFoundation/zebra#6812&#45;&gt;ZcashFoundation/zebra#6824</title>
<path fill="none" stroke="black" d="M255.69,-2225C279.95,-2225 305.65,-2225 330.25,-2225"/>
<polygon fill="black" stroke="black" points="330.35,-2228.5 340.35,-2225 330.35,-2221.5 330.35,-2228.5"/>
</g>
<!-- ZcashFoundation/zebra#7363 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#7363</title>
<g id="a_node44"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7363" xlink:title="ZcashFoundation/zebra#7363&#10;Make a config for&#10;progress bars, rather&#10;than having the feature&#10;activate them by default" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-2360.5 24.5,-2360.5 24.5,-2277.5 255.5,-2277.5 255.5,-2360.5"/>
<text text-anchor="middle" x="140" y="-2345.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7363</text>
<text text-anchor="middle" x="140" y="-2330.3" font-family="Times,serif" font-size="14.00">Make a config for</text>
<text text-anchor="middle" x="140" y="-2315.3" font-family="Times,serif" font-size="14.00">progress bars, rather</text>
<text text-anchor="middle" x="140" y="-2300.3" font-family="Times,serif" font-size="14.00">than having the feature</text>
<text text-anchor="middle" x="140" y="-2285.3" font-family="Times,serif" font-size="14.00">activate them by default</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7364 -->
<g id="node45" class="node open">
<title>ZcashFoundation/zebra#7364</title>
<g id="a_node45"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7364" xlink:title="ZcashFoundation/zebra#7364&#10;Make progress&#45;bars a&#10;default feature" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-2345.5 340.5,-2345.5 340.5,-2292.5 571.5,-2292.5 571.5,-2345.5"/>
<text text-anchor="middle" x="456" y="-2330.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7364</text>
<text text-anchor="middle" x="456" y="-2315.3" font-family="Times,serif" font-size="14.00">Make progress&#45;bars a</text>
<text text-anchor="middle" x="456" y="-2300.3" font-family="Times,serif" font-size="14.00">default feature</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7363&#45;&gt;ZcashFoundation/zebra#7364 -->
<g id="edge31" class="edge">
<title>ZcashFoundation/zebra#7363&#45;&gt;ZcashFoundation/zebra#7364</title>
<path fill="none" stroke="black" d="M255.69,-2319C279.95,-2319 305.65,-2319 330.25,-2319"/>
<polygon fill="black" stroke="black" points="330.35,-2322.5 340.35,-2319 330.35,-2315.5 330.35,-2322.5"/>
</g>
<!-- ZcashFoundation/ed25519&#45;zebra#77 -->
<g id="node46" class="node open">
<title>ZcashFoundation/ed25519&#45;zebra#77</title>
<g id="a_node46"><a xlink:href="https://github.com/ZcashFoundation/ed25519-zebra/issues/77" xlink:title="ZcashFoundation/ed25519&#45;zebra#77&#10;Add instructions to the&#10;README for updating this&#10;crate" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="280,-2447 0,-2447 0,-2379 280,-2379 280,-2447"/>
<text text-anchor="middle" x="140" y="-2431.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/ed25519&#45;zebra#77</text>
<text text-anchor="middle" x="140" y="-2416.8" font-family="Times,serif" font-size="14.00">Add instructions to the</text>
<text text-anchor="middle" x="140" y="-2401.8" font-family="Times,serif" font-size="14.00">README for updating this</text>
<text text-anchor="middle" x="140" y="-2386.8" font-family="Times,serif" font-size="14.00">crate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/ed25519&#45;zebra#79 -->
<g id="node47" class="node closed">
<title>ZcashFoundation/ed25519&#45;zebra#79</title>
<g id="a_node47"><a xlink:href="https://github.com/ZcashFoundation/ed25519-zebra/issues/79" xlink:title="ZcashFoundation/ed25519&#45;zebra#79&#10;Tag a new &#160;ed25519&#45;zebra&#10;release" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="596,-2439.5 316,-2439.5 316,-2386.5 596,-2386.5 596,-2439.5"/>
<text text-anchor="middle" x="456" y="-2424.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/ed25519&#45;zebra#79</text>
<text text-anchor="middle" x="456" y="-2409.3" font-family="Times,serif" font-size="14.00">Tag a new &#160;ed25519&#45;zebra</text>
<text text-anchor="middle" x="456" y="-2394.3" font-family="Times,serif" font-size="14.00">release</text>
</a>
</g>
</g>
<!-- ZcashFoundation/ed25519&#45;zebra#77&#45;&gt;ZcashFoundation/ed25519&#45;zebra#79 -->
<g id="edge32" class="edge">
<title>ZcashFoundation/ed25519&#45;zebra#77&#45;&gt;ZcashFoundation/ed25519&#45;zebra#79</title>
<path fill="none" stroke="black" d="M280.1,-2413C288.49,-2413 296.96,-2413 305.4,-2413"/>
<polygon fill="black" stroke="black" points="305.67,-2416.5 315.67,-2413 305.67,-2409.5 305.67,-2416.5"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>