developers/zcash-zf-dag.html

779 lines
56 KiB
HTML
Raw Normal View History

<!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="871pt" height="2197pt"
viewBox="0.00 0.00 871.00 2197.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 2193)">
<polygon fill="white" stroke="transparent" points="-4,4 -4,-2193 867,-2193 867,4 -4,4"/>
<!-- ZcashFoundation/zebra#6981 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#6981</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6981" xlink:title="ZcashFoundation/zebra#6981&#10;Ignore repeated inbound&#10;connections from the same&#10;IP" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-68 24.5,-68 24.5,0 255.5,0 255.5,-68"/>
<text text-anchor="middle" x="140" y="-52.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6981</text>
<text text-anchor="middle" x="140" y="-37.8" font-family="Times,serif" font-size="14.00">Ignore repeated inbound</text>
<text text-anchor="middle" x="140" y="-22.8" font-family="Times,serif" font-size="14.00">connections from the same</text>
<text text-anchor="middle" x="140" y="-7.8" font-family="Times,serif" font-size="14.00">IP</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node2"><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="863,-247.5 632,-247.5 632,-194.5 863,-194.5 863,-247.5"/>
<text text-anchor="middle" x="747.5" y="-232.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="747.5" y="-217.3" font-family="Times,serif" font-size="14.00">Add metrics for chain</text>
<text text-anchor="middle" x="747.5" y="-202.3" font-family="Times,serif" font-size="14.00">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1135 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#1135</title>
<g id="a_node3"><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,-270 24.5,-270 24.5,-202 255.5,-202 255.5,-270"/>
<text text-anchor="middle" x="140" y="-254.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#1135</text>
<text text-anchor="middle" x="140" y="-239.8" font-family="Times,serif" font-size="14.00">Refactor Network and</text>
<text text-anchor="middle" x="140" y="-224.8" font-family="Times,serif" font-size="14.00">NetworkUpgrade enums into</text>
<text text-anchor="middle" x="140" y="-209.8" font-family="Times,serif" font-size="14.00">structs and a trait</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1011 -->
<g id="node4" class="node closed">
<title>ZcashFoundation/zebra#1011</title>
<g id="a_node4"><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,-270 340.5,-270 340.5,-202 571.5,-202 571.5,-270"/>
<text text-anchor="middle" x="456" y="-254.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#1011</text>
<text text-anchor="middle" x="456" y="-239.8" font-family="Times,serif" font-size="14.00">Re&#45;enable the</text>
<text text-anchor="middle" x="456" y="-224.8" font-family="Times,serif" font-size="14.00">BlockVerifier continuous_</text>
<text text-anchor="middle" x="456" y="-209.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,-236C279.95,-236 305.65,-236 330.25,-236"/>
<polygon fill="black" stroke="black" points="330.35,-239.5 340.35,-236 330.35,-232.5 330.35,-239.5"/>
</g>
<!-- ZcashFoundation/zebra#5472 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#5472</title>
<g id="a_node5"><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,-356 24.5,-356 24.5,-288 255.5,-288 255.5,-356"/>
<text text-anchor="middle" x="140" y="-340.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="140" y="-325.8" font-family="Times,serif" font-size="14.00">Support shielded coinbase</text>
<text text-anchor="middle" x="140" y="-310.8" font-family="Times,serif" font-size="14.00">in `getblocktemplate` for</text>
<text text-anchor="middle" x="140" y="-295.8" font-family="Times,serif" font-size="14.00">Sapling addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5929 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#5929</title>
<g id="a_node6"><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,-356 340.5,-356 340.5,-288 571.5,-288 571.5,-356"/>
<text text-anchor="middle" x="456" y="-340.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5929</text>
<text text-anchor="middle" x="456" y="-325.8" font-family="Times,serif" font-size="14.00">Support shielded coinbase</text>
<text text-anchor="middle" x="456" y="-310.8" font-family="Times,serif" font-size="14.00">in `getblocktemplate` for</text>
<text text-anchor="middle" x="456" y="-295.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,-322C279.95,-322 305.65,-322 330.25,-322"/>
<polygon fill="black" stroke="black" points="330.35,-325.5 340.35,-322 330.35,-318.5 330.35,-325.5"/>
</g>
<!-- ZcashFoundation/zebra#7109 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#7109</title>
<g id="a_node7"><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" points="571.5,-169 340.5,-169 340.5,-101 571.5,-101 571.5,-169"/>
<text text-anchor="middle" x="456" y="-153.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7109</text>
<text text-anchor="middle" x="456" y="-138.8" font-family="Times,serif" font-size="14.00">Store cumulative work in</text>
<text text-anchor="middle" x="456" y="-123.8" font-family="Times,serif" font-size="14.00">the finalized state for</text>
<text text-anchor="middle" x="456" y="-108.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="M571.83,-169.11C596.92,-176.57 623.26,-184.39 647.66,-191.64"/>
<polygon fill="black" stroke="black" points="646.68,-195 657.26,-194.49 648.67,-188.29 646.68,-195"/>
</g>
<!-- ZcashFoundation/zebra#6688 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#6688</title>
<g id="a_node8"><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="863,-176.5 632,-176.5 632,-93.5 863,-93.5 863,-176.5"/>
<text text-anchor="middle" x="747.5" y="-161.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6688</text>
<text text-anchor="middle" x="747.5" y="-146.3" font-family="Times,serif" font-size="14.00">`getnetworksolps` &amp;</text>
<text text-anchor="middle" x="747.5" y="-131.3" font-family="Times,serif" font-size="14.00">`getnetworkhashps` RPCs</text>
<text text-anchor="middle" x="747.5" y="-116.3" font-family="Times,serif" font-size="14.00">hang with large</text>
<text text-anchor="middle" x="747.5" y="-101.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="M571.83,-135C588.18,-135 605.05,-135 621.57,-135"/>
<polygon fill="black" stroke="black" points="621.81,-138.5 631.81,-135 621.81,-131.5 621.81,-138.5"/>
</g>
<!-- ZcashFoundation/zebra#7110 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#7110</title>
<g id="a_node9"><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="863,-75 632,-75 632,-7 863,-7 863,-75"/>
<text text-anchor="middle" x="747.5" y="-59.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7110</text>
<text text-anchor="middle" x="747.5" y="-44.8" font-family="Times,serif" font-size="14.00">Show the full chain work</text>
<text text-anchor="middle" x="747.5" y="-29.8" font-family="Times,serif" font-size="14.00">in the chain fork</text>
<text text-anchor="middle" x="747.5" y="-14.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="M561.93,-100.93C584.58,-93.58 608.65,-85.76 631.66,-78.29"/>
<polygon fill="black" stroke="black" points="633.02,-81.53 641.45,-75.11 630.86,-74.87 633.02,-81.53"/>
</g>
<!-- ZcashFoundation/zebra#7133 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#7133</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7133" xlink:title="ZcashFoundation/zebra#7133&#10;warning: package&#10;`x25519&#45;dalek&#10;v2.0.0&#45;rc.2` in&#10;Cargo.lock is yanked" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-457.5 24.5,-457.5 24.5,-374.5 255.5,-374.5 255.5,-457.5"/>
<text text-anchor="middle" x="140" y="-442.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7133</text>
<text text-anchor="middle" x="140" y="-427.3" font-family="Times,serif" font-size="14.00">warning: package</text>
<text text-anchor="middle" x="140" y="-412.3" font-family="Times,serif" font-size="14.00">`x25519&#45;dalek</text>
<text text-anchor="middle" x="140" y="-397.3" font-family="Times,serif" font-size="14.00">v2.0.0&#45;rc.2` in</text>
<text text-anchor="middle" x="140" y="-382.3" font-family="Times,serif" font-size="14.00">Cargo.lock is yanked</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7136 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#7136</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/7136" xlink:title="ZcashFoundation/zebra#7136&#10;Publish next Zebra&#10;release: 1.1.0" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-442.5 340.5,-442.5 340.5,-389.5 571.5,-389.5 571.5,-442.5"/>
<text text-anchor="middle" x="456" y="-427.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7136</text>
<text text-anchor="middle" x="456" y="-412.3" font-family="Times,serif" font-size="14.00">Publish next Zebra</text>
<text text-anchor="middle" x="456" y="-397.3" font-family="Times,serif" font-size="14.00">release: 1.1.0</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7133&#45;&gt;ZcashFoundation/zebra#7136 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#7133&#45;&gt;ZcashFoundation/zebra#7136</title>
<path fill="none" stroke="black" d="M255.69,-416C279.95,-416 305.65,-416 330.25,-416"/>
<polygon fill="black" stroke="black" points="330.35,-419.5 340.35,-416 330.35,-412.5 330.35,-419.5"/>
</g>
<!-- ZcashFoundation/zebra#7175 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#7175</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/7175" xlink:title="ZcashFoundation/zebra#7175&#10;fix(Docker): Pass build&#10;args to `runtime` images" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-528.5 24.5,-528.5 24.5,-524.5 20.5,-524.5 20.5,-520.5 24.5,-520.5 24.5,-483.5 20.5,-483.5 20.5,-479.5 24.5,-479.5 24.5,-475.5 255.5,-475.5 255.5,-528.5"/>
<polyline fill="none" stroke="black" stroke-width="2" points="24.5,-524.5 28.5,-524.5 28.5,-520.5 24.5,-520.5 "/>
<polyline fill="none" stroke="black" stroke-width="2" points="24.5,-483.5 28.5,-483.5 28.5,-479.5 24.5,-479.5 "/>
<text text-anchor="middle" x="140" y="-513.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7175</text>
<text text-anchor="middle" x="140" y="-498.3" font-family="Times,serif" font-size="14.00">fix(Docker): Pass build</text>
<text text-anchor="middle" x="140" y="-483.3" font-family="Times,serif" font-size="14.00">args to `runtime` images</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7179 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#7179</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/7179" xlink:title="ZcashFoundation/zebra#7179&#10;add(Docker): &#160;Docs for&#10;mining with Docker" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-528.5 340.5,-528.5 340.5,-524.5 336.5,-524.5 336.5,-520.5 340.5,-520.5 340.5,-483.5 336.5,-483.5 336.5,-479.5 340.5,-479.5 340.5,-475.5 571.5,-475.5 571.5,-528.5"/>
<polyline fill="none" stroke="black" points="340.5,-524.5 344.5,-524.5 344.5,-520.5 340.5,-520.5 "/>
<polyline fill="none" stroke="black" points="340.5,-483.5 344.5,-483.5 344.5,-479.5 340.5,-479.5 "/>
<text text-anchor="middle" x="456" y="-513.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7179</text>
<text text-anchor="middle" x="456" y="-498.3" font-family="Times,serif" font-size="14.00">add(Docker): &#160;Docs for</text>
<text text-anchor="middle" x="456" y="-483.3" font-family="Times,serif" font-size="14.00">mining with Docker</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7175&#45;&gt;ZcashFoundation/zebra#7179 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#7175&#45;&gt;ZcashFoundation/zebra#7179</title>
<path fill="none" stroke="black" d="M255.69,-502C279.95,-502 305.65,-502 330.25,-502"/>
<polygon fill="black" stroke="black" points="330.35,-505.5 340.35,-502 330.35,-498.5 330.35,-505.5"/>
</g>
<!-- ZcashFoundation/zebra#6037 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#6037</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6037" xlink:title="ZcashFoundation/zebra#6037&#10;Don&#39;t return from long&#10;polling if the block&#10;template is an invalid&#10;block proposal" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-672.5 24.5,-672.5 24.5,-589.5 255.5,-589.5 255.5,-672.5"/>
<text text-anchor="middle" x="140" y="-657.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6037</text>
<text text-anchor="middle" x="140" y="-642.3" font-family="Times,serif" font-size="14.00">Don&#39;t return from long</text>
<text text-anchor="middle" x="140" y="-627.3" font-family="Times,serif" font-size="14.00">polling if the block</text>
<text text-anchor="middle" x="140" y="-612.3" font-family="Times,serif" font-size="14.00">template is an invalid</text>
<text text-anchor="middle" x="140" y="-597.3" font-family="Times,serif" font-size="14.00">block proposal</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6047 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#6047</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6047" xlink:title="ZcashFoundation/zebra#6047&#10;Verify proposals are&#10;valid after sending them&#10;to miners" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-716 340.5,-716 340.5,-648 571.5,-648 571.5,-716"/>
<text text-anchor="middle" x="456" y="-700.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6047</text>
<text text-anchor="middle" x="456" y="-685.8" font-family="Times,serif" font-size="14.00">Verify proposals are</text>
<text text-anchor="middle" x="456" y="-670.8" font-family="Times,serif" font-size="14.00">valid after sending them</text>
<text text-anchor="middle" x="456" y="-655.8" font-family="Times,serif" font-size="14.00">to miners</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#6047 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#6047</title>
<path fill="none" stroke="black" d="M255.69,-649.63C279.95,-653.57 305.65,-657.74 330.25,-661.74"/>
<polygon fill="black" stroke="black" points="329.92,-665.23 340.35,-663.38 331.04,-658.32 329.92,-665.23"/>
</g>
<!-- ZcashFoundation/zebra#5604 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#5604</title>
<g id="a_node16"><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" points="571.5,-629.5 340.5,-629.5 340.5,-546.5 571.5,-546.5 571.5,-629.5"/>
<text text-anchor="middle" x="456" y="-614.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5604</text>
<text text-anchor="middle" x="456" y="-599.3" font-family="Times,serif" font-size="14.00">Send the same</text>
<text text-anchor="middle" x="456" y="-584.3" font-family="Times,serif" font-size="14.00">getblocktemplate RPC</text>
<text text-anchor="middle" x="456" y="-569.3" font-family="Times,serif" font-size="14.00">response until the</text>
<text text-anchor="middle" x="456" y="-554.3" font-family="Times,serif" font-size="14.00">template would change</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#5604 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#5604</title>
<path fill="none" stroke="black" d="M255.69,-615.29C279.95,-611.97 305.65,-608.45 330.25,-605.08"/>
<polygon fill="black" stroke="black" points="330.92,-608.52 340.35,-603.7 329.97,-601.59 330.92,-608.52"/>
</g>
<!-- ZcashFoundation/zebra#7031 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#7031</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/7031" xlink:title="ZcashFoundation/zebra#7031&#10;change(state): Prepare&#10;for in&#45;place database&#10;format upgrades, but&#10;don&#39;t make any format&#10;changes yet" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-184 24.5,-184 24.5,-180 20.5,-180 20.5,-176 24.5,-176 24.5,-94 20.5,-94 20.5,-90 24.5,-90 24.5,-86 255.5,-86 255.5,-184"/>
<polyline fill="none" stroke="black" stroke-width="2" points="24.5,-180 28.5,-180 28.5,-176 24.5,-176 "/>
<polyline fill="none" stroke="black" stroke-width="2" points="24.5,-94 28.5,-94 28.5,-90 24.5,-90 "/>
<text text-anchor="middle" x="140" y="-168.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#7031</text>
<text text-anchor="middle" x="140" y="-153.8" font-family="Times,serif" font-size="14.00">change(state): Prepare</text>
<text text-anchor="middle" x="140" y="-138.8" font-family="Times,serif" font-size="14.00">for in&#45;place database</text>
<text text-anchor="middle" x="140" y="-123.8" font-family="Times,serif" font-size="14.00">format upgrades, but</text>
<text text-anchor="middle" x="140" y="-108.8" font-family="Times,serif" font-size="14.00">don&#39;t make any format</text>
<text text-anchor="middle" x="140" y="-93.8" font-family="Times,serif" font-size="14.00">changes yet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#7031&#45;&gt;ZcashFoundation/zebra#7109 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#7031&#45;&gt;ZcashFoundation/zebra#7109</title>
<path fill="none" stroke="black" d="M255.69,-135C279.95,-135 305.65,-135 330.25,-135"/>
<polygon fill="black" stroke="black" points="330.35,-138.5 340.35,-135 330.35,-131.5 330.35,-138.5"/>
</g>
<!-- ZcashFoundation/zebra#6025 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#6025</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6025" xlink:title="ZcashFoundation/zebra#6025&#10;Add a manually&#45;triggered&#10;workflow for mining a&#10;block on testnet" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-809 340.5,-809 340.5,-741 571.5,-741 571.5,-809"/>
<text text-anchor="middle" x="456" y="-793.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6025</text>
<text text-anchor="middle" x="456" y="-778.8" font-family="Times,serif" font-size="14.00">Add a manually&#45;triggered</text>
<text text-anchor="middle" x="456" y="-763.8" font-family="Times,serif" font-size="14.00">workflow for mining a</text>
<text text-anchor="middle" x="456" y="-748.8" font-family="Times,serif" font-size="14.00">block on testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5911 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#5911</title>
<g id="a_node19"><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,-903 24.5,-903 24.5,-835 255.5,-835 255.5,-903"/>
<text text-anchor="middle" x="140" y="-887.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5911</text>
<text text-anchor="middle" x="140" y="-872.8" font-family="Times,serif" font-size="14.00">Store the serialized</text>
<text text-anchor="middle" x="140" y="-857.8" font-family="Times,serif" font-size="14.00">block size in the</text>
<text text-anchor="middle" x="140" y="-842.8" font-family="Times,serif" font-size="14.00">database</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6118 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#6118</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6118" xlink:title="ZcashFoundation/zebra#6118&#10;Create a Docker images&#10;and docker&#45;compose for&#10;mining with Zebra on&#10;Testnet" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-816.5 24.5,-816.5 24.5,-733.5 255.5,-733.5 255.5,-816.5"/>
<text text-anchor="middle" x="140" y="-801.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6118</text>
<text text-anchor="middle" x="140" y="-786.3" font-family="Times,serif" font-size="14.00">Create a Docker images</text>
<text text-anchor="middle" x="140" y="-771.3" font-family="Times,serif" font-size="14.00">and docker&#45;compose for</text>
<text text-anchor="middle" x="140" y="-756.3" font-family="Times,serif" font-size="14.00">mining with Zebra on</text>
<text text-anchor="middle" x="140" y="-741.3" font-family="Times,serif" font-size="14.00">Testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6118&#45;&gt;ZcashFoundation/zebra#6025 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#6118&#45;&gt;ZcashFoundation/zebra#6025</title>
<path fill="none" stroke="black" d="M255.69,-775C279.95,-775 305.65,-775 330.25,-775"/>
<polygon fill="black" stroke="black" points="330.35,-778.5 340.35,-775 330.35,-771.5 330.35,-778.5"/>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node21" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node21"><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,-1039.5 340.5,-1039.5 340.5,-986.5 571.5,-986.5 571.5,-1039.5"/>
<text text-anchor="middle" x="456" y="-1024.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="456" y="-1009.3" font-family="Times,serif" font-size="14.00">Improve note commitment</text>
<text text-anchor="middle" x="456" y="-994.3" font-family="Times,serif" font-size="14.00">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4784 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#4784</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4784" xlink:title="ZcashFoundation/zebra#4784&#10;Store only the first tree&#10;state in each identical&#10;series of tree states" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-1192 340.5,-1192 340.5,-1124 571.5,-1124 571.5,-1192"/>
<text text-anchor="middle" x="456" y="-1176.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4784</text>
<text text-anchor="middle" x="456" y="-1161.8" font-family="Times,serif" font-size="14.00">Store only the first tree</text>
<text text-anchor="middle" x="456" y="-1146.8" font-family="Times,serif" font-size="14.00">state in each identical</text>
<text text-anchor="middle" x="456" y="-1131.8" font-family="Times,serif" font-size="14.00">series of tree states</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6642 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#6642</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6642" xlink:title="ZcashFoundation/zebra#6642&#10;Tracking: Update&#10;`lightwalletd` RPCs for&#10;&quot;fast spendability&quot;&#10;algorithm" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="863,-1199.5 632,-1199.5 632,-1116.5 863,-1116.5 863,-1199.5"/>
<text text-anchor="middle" x="747.5" y="-1184.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6642</text>
<text text-anchor="middle" x="747.5" y="-1169.3" font-family="Times,serif" font-size="14.00">Tracking: Update</text>
<text text-anchor="middle" x="747.5" y="-1154.3" font-family="Times,serif" font-size="14.00">`lightwalletd` RPCs for</text>
<text text-anchor="middle" x="747.5" y="-1139.3" font-family="Times,serif" font-size="14.00">&quot;fast spendability&quot;</text>
<text text-anchor="middle" x="747.5" y="-1124.3" font-family="Times,serif" font-size="14.00">algorithm</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4784&#45;&gt;ZcashFoundation/zebra#6642 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#4784&#45;&gt;ZcashFoundation/zebra#6642</title>
<path fill="none" stroke="black" d="M571.83,-1158C588.18,-1158 605.05,-1158 621.57,-1158"/>
<polygon fill="black" stroke="black" points="621.81,-1161.5 631.81,-1158 621.81,-1154.5 621.81,-1161.5"/>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node24"><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,-1308 24.5,-1308 24.5,-1210 255.5,-1210 255.5,-1308"/>
<text text-anchor="middle" x="140" y="-1292.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="140" y="-1277.8" font-family="Times,serif" font-size="14.00">Improve</text>
<text text-anchor="middle" x="140" y="-1262.8" font-family="Times,serif" font-size="14.00">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="140" y="-1247.8" font-family="Times,serif" font-size="14.00">typing, so we don&#39;t</text>
<text text-anchor="middle" x="140" y="-1232.8" font-family="Times,serif" font-size="14.00">accidentally break syncer</text>
<text text-anchor="middle" x="140" y="-1217.8" font-family="Times,serif" font-size="14.00">error handling</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5487 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#5487</title>
<g id="a_node25"><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="#c2e0c6" stroke="black" points="571.5,-1293 340.5,-1293 340.5,-1225 571.5,-1225 571.5,-1293"/>
<text text-anchor="middle" x="456" y="-1277.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="456" y="-1262.8" font-family="Times,serif" font-size="14.00">Return detailed errors</text>
<text text-anchor="middle" x="456" y="-1247.8" font-family="Times,serif" font-size="14.00">from the `submitblock`</text>
<text text-anchor="middle" x="456" y="-1232.8" font-family="Times,serif" font-size="14.00">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#5487 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#5487</title>
<path fill="none" stroke="black" d="M255.69,-1259C279.95,-1259 305.65,-1259 330.25,-1259"/>
<polygon fill="black" stroke="black" points="330.35,-1262.5 340.35,-1259 330.35,-1255.5 330.35,-1262.5"/>
</g>
<!-- ZcashFoundation/zebra#5709 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#5709</title>
<g id="a_node26"><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,-1394 24.5,-1394 24.5,-1326 255.5,-1326 255.5,-1394"/>
<text text-anchor="middle" x="140" y="-1378.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5709</text>
<text text-anchor="middle" x="140" y="-1363.8" font-family="Times,serif" font-size="14.00">Fix repeated block</text>
<text text-anchor="middle" x="140" y="-1348.8" font-family="Times,serif" font-size="14.00">timeouts during initial</text>
<text text-anchor="middle" x="140" y="-1333.8" font-family="Times,serif" font-size="14.00">sync</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5425 -->
<g id="node27" class="node closed">
<title>ZcashFoundation/zebra#5425</title>
<g id="a_node27"><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,-1394 340.5,-1394 340.5,-1326 571.5,-1326 571.5,-1394"/>
<text text-anchor="middle" x="456" y="-1378.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5425</text>
<text text-anchor="middle" x="456" y="-1363.8" font-family="Times,serif" font-size="14.00">Parallelise note</text>
<text text-anchor="middle" x="456" y="-1348.8" font-family="Times,serif" font-size="14.00">commitment tree point</text>
<text text-anchor="middle" x="456" y="-1333.8" font-family="Times,serif" font-size="14.00">conversions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425</title>
<path fill="none" stroke="black" d="M255.69,-1360C279.95,-1360 305.65,-1360 330.25,-1360"/>
<polygon fill="black" stroke="black" points="330.35,-1363.5 340.35,-1360 330.35,-1356.5 330.35,-1363.5"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node28"><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,-1105.5 24.5,-1105.5 24.5,-1022.5 255.5,-1022.5 255.5,-1105.5"/>
<text text-anchor="middle" x="140" y="-1090.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="140" y="-1075.3" font-family="Times,serif" font-size="14.00">Add an NU5 block test</text>
<text text-anchor="middle" x="140" y="-1060.3" font-family="Times,serif" font-size="14.00">vector that contains many</text>
<text text-anchor="middle" x="140" y="-1045.3" font-family="Times,serif" font-size="14.00">shielded Orchard</text>
<text text-anchor="middle" x="140" y="-1030.3" font-family="Times,serif" font-size="14.00">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="black" d="M255.69,-1045.4C279.95,-1041.4 305.65,-1037.3 330.25,-1033.3"/>
<polygon fill="black" stroke="black" points="331.07,-1036.71 340.35,-1031.6 329.91,-1029.81 331.07,-1036.71"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node29"><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,-1004.5 24.5,-1004.5 24.5,-921.5 255.5,-921.5 255.5,-1004.5"/>
<text text-anchor="middle" x="140" y="-989.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="140" y="-974.3" font-family="Times,serif" font-size="14.00">Add an NU5 block test</text>
<text text-anchor="middle" x="140" y="-959.3" font-family="Times,serif" font-size="14.00">vector that contains many</text>
<text text-anchor="middle" x="140" y="-944.3" font-family="Times,serif" font-size="14.00">shielded Sapling</text>
<text text-anchor="middle" x="140" y="-929.3" font-family="Times,serif" font-size="14.00">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="black" d="M255.69,-981.26C279.95,-985.13 305.65,-989.22 330.25,-993.14"/>
<polygon fill="black" stroke="black" points="329.93,-996.63 340.35,-994.74 331.02,-989.72 329.93,-996.63"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node30"><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,-1495.5 24.5,-1495.5 24.5,-1412.5 255.5,-1412.5 255.5,-1495.5"/>
<text text-anchor="middle" x="140" y="-1480.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="140" y="-1465.3" font-family="Times,serif" font-size="14.00">benchmarks: create a</text>
<text text-anchor="middle" x="140" y="-1450.3" font-family="Times,serif" font-size="14.00">ticket if zebrad mainnet</text>
<text text-anchor="middle" x="140" y="-1435.3" font-family="Times,serif" font-size="14.00">sync time increases</text>
<text text-anchor="middle" x="140" y="-1420.3" font-family="Times,serif" font-size="14.00">significantly</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node31"><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,-1596.5 24.5,-1596.5 24.5,-1513.5 255.5,-1513.5 255.5,-1596.5"/>
<text text-anchor="middle" x="140" y="-1581.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="140" y="-1566.3" font-family="Times,serif" font-size="14.00">Start disconnecting from</text>
<text text-anchor="middle" x="140" y="-1551.3" font-family="Times,serif" font-size="14.00">outdated peers before</text>
<text text-anchor="middle" x="140" y="-1536.3" font-family="Times,serif" font-size="14.00">network upgrade</text>
<text text-anchor="middle" x="140" y="-1521.3" font-family="Times,serif" font-size="14.00">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node32" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node32"><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,-1589 340.5,-1589 340.5,-1521 571.5,-1521 571.5,-1589"/>
<text text-anchor="middle" x="456" y="-1573.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="456" y="-1558.8" font-family="Times,serif" font-size="14.00">Prefer faster peers, but</text>
<text text-anchor="middle" x="456" y="-1543.8" font-family="Times,serif" font-size="14.00">if all peers are slow,</text>
<text text-anchor="middle" x="456" y="-1528.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="edge17" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="black" d="M255.69,-1555C279.95,-1555 305.65,-1555 330.25,-1555"/>
<polygon fill="black" stroke="black" points="330.35,-1558.5 340.35,-1555 330.35,-1551.5 330.35,-1558.5"/>
</g>
<!-- ZcashFoundation/zebra#6611 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#6611</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6611" xlink:title="ZcashFoundation/zebra#6611&#10;Document how to switch&#10;from Testnet to Mainnet&#10;in Docker images" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-1683 24.5,-1683 24.5,-1615 255.5,-1615 255.5,-1683"/>
<text text-anchor="middle" x="140" y="-1667.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6611</text>
<text text-anchor="middle" x="140" y="-1652.8" font-family="Times,serif" font-size="14.00">Document how to switch</text>
<text text-anchor="middle" x="140" y="-1637.8" font-family="Times,serif" font-size="14.00">from Testnet to Mainnet</text>
<text text-anchor="middle" x="140" y="-1622.8" font-family="Times,serif" font-size="14.00">in Docker images</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6159 -->
<g id="node34" class="node closed">
<title>ZcashFoundation/zebra#6159</title>
<g id="a_node34"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6159" xlink:title="ZcashFoundation/zebra#6159&#10;Documentation: Write a&#10;blog post to share how we&#10;used Zebra and s&#45;nomp to&#10;mine on testnet" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="571.5,-1690.5 340.5,-1690.5 340.5,-1607.5 571.5,-1607.5 571.5,-1690.5"/>
<text text-anchor="middle" x="456" y="-1675.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6159</text>
<text text-anchor="middle" x="456" y="-1660.3" font-family="Times,serif" font-size="14.00">Documentation: Write a</text>
<text text-anchor="middle" x="456" y="-1645.3" font-family="Times,serif" font-size="14.00">blog post to share how we</text>
<text text-anchor="middle" x="456" y="-1630.3" font-family="Times,serif" font-size="14.00">used Zebra and s&#45;nomp to</text>
<text text-anchor="middle" x="456" y="-1615.3" font-family="Times,serif" font-size="14.00">mine on testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6611&#45;&gt;ZcashFoundation/zebra#6159 -->
<g id="edge18" class="edge">
<title>ZcashFoundation/zebra#6611&#45;&gt;ZcashFoundation/zebra#6159</title>
<path fill="none" stroke="black" d="M255.69,-1649C279.95,-1649 305.65,-1649 330.25,-1649"/>
<polygon fill="black" stroke="black" points="330.35,-1652.5 340.35,-1649 330.35,-1645.5 330.35,-1652.5"/>
</g>
<!-- ZcashFoundation/zebra#6388 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#6388</title>
<g id="a_node35"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6388" xlink:title="ZcashFoundation/zebra#6388&#10;can_fork_chain_at()&#10;should ignore blocks&#10;below the finalized tip" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-1848 24.5,-1848 24.5,-1780 255.5,-1780 255.5,-1848"/>
<text text-anchor="middle" x="140" y="-1832.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6388</text>
<text text-anchor="middle" x="140" y="-1817.8" font-family="Times,serif" font-size="14.00">can_fork_chain_at()</text>
<text text-anchor="middle" x="140" y="-1802.8" font-family="Times,serif" font-size="14.00">should ignore blocks</text>
<text text-anchor="middle" x="140" y="-1787.8" font-family="Times,serif" font-size="14.00">below the finalized tip</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6681 -->
<g id="node36" class="node closed">
<title>ZcashFoundation/zebra#6681</title>
<g id="a_node36"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6681" xlink:title="ZcashFoundation/zebra#6681&#10;Update documentation to&#10;clarify terminology&#10;around block verification" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="863,-1839 632,-1839 632,-1771 863,-1771 863,-1839"/>
<text text-anchor="middle" x="747.5" y="-1823.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6681</text>
<text text-anchor="middle" x="747.5" y="-1808.8" font-family="Times,serif" font-size="14.00">Update documentation to</text>
<text text-anchor="middle" x="747.5" y="-1793.8" font-family="Times,serif" font-size="14.00">clarify terminology</text>
<text text-anchor="middle" x="747.5" y="-1778.8" font-family="Times,serif" font-size="14.00">around block verification</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6388&#45;&gt;ZcashFoundation/zebra#6681 -->
<g id="edge19" class="edge">
<title>ZcashFoundation/zebra#6388&#45;&gt;ZcashFoundation/zebra#6681</title>
<path fill="none" stroke="black" d="M255.58,-1846.3C275.57,-1850.8 296.28,-1854.6 316,-1857 439.54,-1872 473.27,-1877.6 596,-1857 615.24,-1853.8 635.31,-1848.4 654.29,-1842.2"/>
<polygon fill="black" stroke="black" points="655.39,-1845.52 663.81,-1839.1 653.22,-1838.87 655.39,-1845.52"/>
</g>
<!-- ZcashFoundation/zebra#5125 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#5125</title>
<g id="a_node37"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5125" xlink:title="ZcashFoundation/zebra#5125&#10;Avoid temporary failures&#10;verifying the first non&#45;&#10;finalized block" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-1848 340.5,-1848 340.5,-1780 571.5,-1780 571.5,-1848"/>
<text text-anchor="middle" x="456" y="-1832.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5125</text>
<text text-anchor="middle" x="456" y="-1817.8" font-family="Times,serif" font-size="14.00">Avoid temporary failures</text>
<text text-anchor="middle" x="456" y="-1802.8" font-family="Times,serif" font-size="14.00">verifying the first non&#45;</text>
<text text-anchor="middle" x="456" y="-1787.8" font-family="Times,serif" font-size="14.00">finalized block</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6388&#45;&gt;ZcashFoundation/zebra#5125 -->
<g id="edge20" class="edge">
<title>ZcashFoundation/zebra#6388&#45;&gt;ZcashFoundation/zebra#5125</title>
<path fill="none" stroke="black" d="M255.69,-1814C279.95,-1814 305.65,-1814 330.25,-1814"/>
<polygon fill="black" stroke="black" points="330.35,-1817.5 340.35,-1814 330.35,-1810.5 330.35,-1817.5"/>
</g>
<!-- ZcashFoundation/zebra#6793 -->
<g id="node38" class="node closed">
<title>ZcashFoundation/zebra#6793</title>
<g id="a_node38"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6793" xlink:title="ZcashFoundation/zebra#6793&#10;Do the state renames that&#10;were not done in #6762" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="571.5,-1761.5 340.5,-1761.5 340.5,-1708.5 571.5,-1708.5 571.5,-1761.5"/>
<text text-anchor="middle" x="456" y="-1746.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6793</text>
<text text-anchor="middle" x="456" y="-1731.3" font-family="Times,serif" font-size="14.00">Do the state renames that</text>
<text text-anchor="middle" x="456" y="-1716.3" font-family="Times,serif" font-size="14.00">were not done in #6762</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6388&#45;&gt;ZcashFoundation/zebra#6793 -->
<g id="edge21" class="edge">
<title>ZcashFoundation/zebra#6388&#45;&gt;ZcashFoundation/zebra#6793</title>
<path fill="none" stroke="black" d="M255.69,-1785.1C283,-1778.3 312.15,-1770.9 339.49,-1764.1"/>
<polygon fill="black" stroke="black" points="340.68,-1767.41 349.48,-1761.5 338.92,-1760.63 340.68,-1767.41"/>
</g>
<!-- ZcashFoundation/zebra#6793&#45;&gt;ZcashFoundation/zebra#6681 -->
<g id="edge22" class="edge">
<title>ZcashFoundation/zebra#6793&#45;&gt;ZcashFoundation/zebra#6681</title>
<path fill="none" stroke="black" d="M566.86,-1761.6C584.89,-1765.9 603.69,-1770.5 622.05,-1774.9"/>
<polygon fill="black" stroke="black" points="621.36,-1778.33 631.9,-1777.3 623.01,-1771.53 621.36,-1778.33"/>
</g>
<!-- ZcashFoundation/zebra#6812 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#6812</title>
<g id="a_node39"><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,-1957 24.5,-1957 24.5,-1889 255.5,-1889 255.5,-1957"/>
<text text-anchor="middle" x="140" y="-1941.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6812</text>
<text text-anchor="middle" x="140" y="-1926.8" font-family="Times,serif" font-size="14.00">Process abort in state</text>
<text text-anchor="middle" x="140" y="-1911.8" font-family="Times,serif" font-size="14.00">tests on some macOS</text>
<text text-anchor="middle" x="140" y="-1896.8" font-family="Times,serif" font-size="14.00">versions with Rust 1.70</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6824 -->
<g id="node40" class="node closed">
<title>ZcashFoundation/zebra#6824</title>
<g id="a_node40"><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,-1942 340.5,-1942 340.5,-1904 571.5,-1904 571.5,-1942"/>
<text text-anchor="middle" x="456" y="-1926.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6824</text>
<text text-anchor="middle" x="456" y="-1911.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="edge23" class="edge">
<title>ZcashFoundation/zebra#6812&#45;&gt;ZcashFoundation/zebra#6824</title>
<path fill="none" stroke="black" d="M255.69,-1923C279.95,-1923 305.65,-1923 330.25,-1923"/>
<polygon fill="black" stroke="black" points="330.35,-1926.5 340.35,-1923 330.35,-1919.5 330.35,-1926.5"/>
</g>
<!-- ZcashFoundation/zebra#6859 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#6859</title>
<g id="a_node41"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6859" xlink:title="ZcashFoundation/zebra#6859&#10;Tracking: Upgrade shared&#10;ECC dependencies and&#10;zcash_script for zcashd&#10;5.6.0" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-2080.5 24.5,-2080.5 24.5,-1997.5 255.5,-1997.5 255.5,-2080.5"/>
<text text-anchor="middle" x="140" y="-2065.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6859</text>
<text text-anchor="middle" x="140" y="-2050.3" font-family="Times,serif" font-size="14.00">Tracking: Upgrade shared</text>
<text text-anchor="middle" x="140" y="-2035.3" font-family="Times,serif" font-size="14.00">ECC dependencies and</text>
<text text-anchor="middle" x="140" y="-2020.3" font-family="Times,serif" font-size="14.00">zcash_script for zcashd</text>
<text text-anchor="middle" x="140" y="-2005.3" font-family="Times,serif" font-size="14.00">5.6.0</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6952 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#6952</title>
<g id="a_node42"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6952" xlink:title="ZcashFoundation/zebra#6952&#10;Add note tree size fields&#10;to the `getblock` RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-2099.5 340.5,-2099.5 340.5,-2046.5 571.5,-2046.5 571.5,-2099.5"/>
<text text-anchor="middle" x="456" y="-2084.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6952</text>
<text text-anchor="middle" x="456" y="-2069.3" font-family="Times,serif" font-size="14.00">Add note tree size fields</text>
<text text-anchor="middle" x="456" y="-2054.3" font-family="Times,serif" font-size="14.00">to the `getblock` RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6859&#45;&gt;ZcashFoundation/zebra#6952 -->
<g id="edge24" class="edge">
<title>ZcashFoundation/zebra#6859&#45;&gt;ZcashFoundation/zebra#6952</title>
<path fill="none" stroke="black" d="M255.69,-2051.4C279.95,-2054 305.65,-2056.8 330.25,-2059.5"/>
<polygon fill="black" stroke="black" points="330.03,-2063 340.35,-2060.6 330.79,-2056.04 330.03,-2063"/>
</g>
<!-- ZcashFoundation/zebra#6953 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#6953</title>
<g id="a_node43"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6953" xlink:title="ZcashFoundation/zebra#6953&#10;Add note subtree indexes&#10;to the finalized and non&#45;&#10;finalized state" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-2028 340.5,-2028 340.5,-1960 571.5,-1960 571.5,-2028"/>
<text text-anchor="middle" x="456" y="-2012.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6953</text>
<text text-anchor="middle" x="456" y="-1997.8" font-family="Times,serif" font-size="14.00">Add note subtree indexes</text>
<text text-anchor="middle" x="456" y="-1982.8" font-family="Times,serif" font-size="14.00">to the finalized and non&#45;</text>
<text text-anchor="middle" x="456" y="-1967.8" font-family="Times,serif" font-size="14.00">finalized state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6859&#45;&gt;ZcashFoundation/zebra#6953 -->
<g id="edge25" class="edge">
<title>ZcashFoundation/zebra#6859&#45;&gt;ZcashFoundation/zebra#6953</title>
<path fill="none" stroke="black" d="M255.69,-2022.6C279.95,-2019.1 305.65,-2015.4 330.25,-2011.9"/>
<polygon fill="black" stroke="black" points="330.97,-2015.33 340.35,-2010.4 329.94,-2008.41 330.97,-2015.33"/>
</g>
<!-- ZcashFoundation/zebra#6954 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#6954</title>
<g id="a_node44"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6954" xlink:title="ZcashFoundation/zebra#6954&#10;Implement&#10;`z_getsubtreesbyindex`&#10;RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="863,-2028 632,-2028 632,-1960 863,-1960 863,-2028"/>
<text text-anchor="middle" x="747.5" y="-2012.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6954</text>
<text text-anchor="middle" x="747.5" y="-1997.8" font-family="Times,serif" font-size="14.00">Implement</text>
<text text-anchor="middle" x="747.5" y="-1982.8" font-family="Times,serif" font-size="14.00">`z_getsubtreesbyindex`</text>
<text text-anchor="middle" x="747.5" y="-1967.8" font-family="Times,serif" font-size="14.00">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6953&#45;&gt;ZcashFoundation/zebra#6954 -->
<g id="edge26" class="edge">
<title>ZcashFoundation/zebra#6953&#45;&gt;ZcashFoundation/zebra#6954</title>
<path fill="none" stroke="black" d="M571.83,-1994C588.18,-1994 605.05,-1994 621.57,-1994"/>
<polygon fill="black" stroke="black" points="621.81,-1997.5 631.81,-1994 621.81,-1990.5 621.81,-1997.5"/>
</g>
<!-- ZcashFoundation/zebra#6955 -->
<g id="node45" class="node open">
<title>ZcashFoundation/zebra#6955</title>
<g id="a_node45"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6955" xlink:title="ZcashFoundation/zebra#6955&#10;Create an empty database&#10;format update task and&#10;format update tests" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-1192 24.5,-1192 24.5,-1124 255.5,-1124 255.5,-1192"/>
<text text-anchor="middle" x="140" y="-1176.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6955</text>
<text text-anchor="middle" x="140" y="-1161.8" font-family="Times,serif" font-size="14.00">Create an empty database</text>
<text text-anchor="middle" x="140" y="-1146.8" font-family="Times,serif" font-size="14.00">format update task and</text>
<text text-anchor="middle" x="140" y="-1131.8" font-family="Times,serif" font-size="14.00">format update tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6955&#45;&gt;ZcashFoundation/zebra#4784 -->
<g id="edge27" class="edge">
<title>ZcashFoundation/zebra#6955&#45;&gt;ZcashFoundation/zebra#4784</title>
<path fill="none" stroke="black" d="M255.69,-1158C279.95,-1158 305.65,-1158 330.25,-1158"/>
<polygon fill="black" stroke="black" points="330.35,-1161.5 340.35,-1158 330.35,-1154.5 330.35,-1161.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,-2189 0,-2189 0,-2121 280,-2121 280,-2189"/>
<text text-anchor="middle" x="140" y="-2173.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/ed25519&#45;zebra#77</text>
<text text-anchor="middle" x="140" y="-2158.8" font-family="Times,serif" font-size="14.00">Add instructions to the</text>
<text text-anchor="middle" x="140" y="-2143.8" font-family="Times,serif" font-size="14.00">README for updating this</text>
<text text-anchor="middle" x="140" y="-2128.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,-2181.5 316,-2181.5 316,-2128.5 596,-2128.5 596,-2181.5"/>
<text text-anchor="middle" x="456" y="-2166.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/ed25519&#45;zebra#79</text>
<text text-anchor="middle" x="456" y="-2151.3" font-family="Times,serif" font-size="14.00">Tag a new &#160;ed25519&#45;zebra</text>
<text text-anchor="middle" x="456" y="-2136.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="edge28" class="edge">
<title>ZcashFoundation/ed25519&#45;zebra#77&#45;&gt;ZcashFoundation/ed25519&#45;zebra#79</title>
<path fill="none" stroke="black" d="M280.1,-2155C288.49,-2155 296.96,-2155 305.4,-2155"/>
<polygon fill="black" stroke="black" points="305.67,-2158.5 315.67,-2155 305.67,-2151.5 305.67,-2158.5"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>